Keywords

1 Introduction

The application of MANETs has gone beyond any limit starting from disaster and emergency relief to personal and industrial use as mobile conferencing to defense system. According to [1], dynamic directing is nearly the most vital issue in MANETs. For proper hierarchical architecture, clustering has been considered as the main protocol. In our research work for clustering swarm intelligence is taken as the best method which is naturally followed. In our previous papers [2,3,4] Bee-Ad Hoc-C is taken as the best method. In [3] the algorithm has been done which proposed a Stable Cluster Maintenance Scheme and focuses on minimizing the CH changing. In [4] the algorithm has been introduced where the routing has been made more systematic by making the use of BCN (Border Cluster Node) mainly for inter-cluster routing. But in these works load balancing in the cluster has not been considered. Though the energy efficiency in IBAC is more compared to BAC still it has not reached the optimum value. So in the proposed routing algorithm (LBEE-IBAC) care has been taken for the following aspects:

  • Cluster Head and other cluster members are selected based on Received Signal Strength (RSS) and residual energy of the node.

  • For cluster maintenance load-balanced re-clustering has been adopted, where there is a limit for minimum and maximum number of nodes in any cluster.

  • For avoiding delay and balancing the load data transmission has been done by the alternate router if the shortest path is busy.

2 Related Work

As MANET has become a key improvement in wireless technology so according to [710] making MANET more energy efficient has become the most prominent research area for many researchers. According to [5] Bee Sensor-C has been introduced as a scalable and energy-efficient multipath routing protocol for sensor networks. Taking the algorithm into consideration, we have introduced two routing algorithms as Bee-Ad Hoc-C (BAC) and Improvised Bee-Ad Hoc-C (IBAC) for MANETs.

2.1 Working of Bee-Ad Hoc-C MANET

In [3], we have introduced a new routing protocol as Bee-Ad Hoc-C (BAC) which has been proved to be a multipath scalable routing protocol for MANET. In this regard, bee-inspired routing along with clustering has been introduced as the best routing method. Here as in a Bee Hive the work has been distributed between the bees similarly in the network the total work of the network is divided among the dynamic nodes. According to that, in any cluster nodes have been divided as cluster head, foragers, and scouts. When an event occurs according to the received signal strength the cluster is formed and in a cluster the nodes are divided as Cluster Head, Foragers, and Scouts. The duty of the nodes is different according to the category. Once a cluster is formed and cluster members are decided the next work is to decide the path from the source to destination. In this regard, the CH takes the help of forager first to find the destination within the cluster. If the forager can find the path then the data transfer takes place within the cluster by forager alone. However, if the forager cannot find the destination then it takes the help of scouts to search the destination within the cluster or else it sends them to search the destination outside the cluster. Thus, the scouts move randomly to find a path to the destination. In this regard, care has been taken to count the number of maximum hop for the scout and whether the scout visits the same node more than once. With respect to these parameters any scout can be disabled also. Thus, once the destination is found the forward scout is converted to backward scout and sent to the CH with hop information in the cache. After the route is found the CH sends the data to the destination through the shortest route. This algorithm supports to find multiple paths from source to destination for data transfer. Along with this, in this paper, we have introduced SCMS (Stable Cluster Maintenance Scheme) algorithm which minimizes the CH selection cost by delaying the process up to the acceptable time period to make the cluster more stable. But in this process, the traffic is more and the redundancy increases as the scouts move arbitrarily outside the cluster in search of the destination. Also, the energy efficiency was reduced as the nodes are used unnecessarily. To come over this problem the next algorithm was introduced in our next work where the routing protocol has been introduced as Improvised Bee-Ad Hoc-C (IBAC).

2.2 Working of Improvised Bee-Ad Hoc-C MANET

According to [4] in the new IBAC algorithm, the BAC algorithm is improved for inter-cluster communication, where the routing is established between the clusters by the scouts at the border of two clusters known as Border Cluster Node. In this algorithm, when an event is detected and CH sends a request to the forager to search the destination if the forager cannot find the destination it takes the help of the scouts to search the destination within the cluster. If it cannot find the destination within the cluster then it sends an RERR (error) signal to the CH. In that case, the CH sends a request to the BCNs to find the destination in the attached clusters. Again the request is carried by the other CHs to search the destination in their respective clusters. Thus, once the destination is found RREP (reply) signal is sent by the respective BCN showing that the route has been found for the destination and data transfer takes place (Fig. 1).

Fig. 1
figure 1

Workflow of improvised Bee-Ad Hoc-C network

But in this regard, the main drawback is that though it is a systematic process because of the use of BCNs, the routing time has increased. Also in this paper care has not been taken to balance the load with respect to the number of cluster members or availability of shortest path with fewer loads and no alternate routing is introduced. Also, energy efficiency of the system has not been considered with respect to the residual energy of the nodes. In the proposed routing algorithm utmost care has been taken to still improve the routing by considering mainly three modules:

  • Cluster head selection based on residual energy and RSS.

  • Cluster Maintenance by load-balanced re-clustering.

  • Data Transmission via alternate routers if the shortest path is busy.

Finally, the performance comparison has been done for both proposed LBEE-IBAC and IBAC.

3 Algorithm for Working of Load-Balanced Energy-Enhanced Routing for Bee-Ad Hoc-C (LBEE)

This protocol works mainly in four modules in order to make the Bee-Ad Hoc-C MANET more energy efficient, for proper load balancing and to reduce the delay time. The algorithm for working on the protocol can be summarized as

  1. 3.1

    Cluster Formation

  2. 3.2

    Cluster head and cluster member selection

  3. 3.3

    Cluster maintenance by load-balanced re-clustering

    1. 3.31

      Cluster Merging

      1. 3.311

        Cluster head selection after merging of clusters

    2. 3.32

      Cluster Split up

      1. 3.321

        Cluster head selection after cluster split up

  4. 3.4

    Data transmission via alternate router after calculation of probability value of path.

3.1 Cluster Formation

The MANET we have designed is a linear network. Initially, the area of the network is decided. For calculating the number of cluster we take X-axis as a reference where:

$${\mathbf{No}}.{\mathbf{of}}\;{\mathbf{clusters}} = \frac{{{\mathbf{val}}\left( {\mathbf{x}} \right)}}{{{\mathbf{communication}}\;{\mathbf{range}}}}$$
(1)

3.2 Cluster Head and Cluster Member Selection Based on Residual Energy and Received Strength Signal (RSS)

As the mobile nodes in a MANET are battery operated so there can be a serious problem if any of the nodes have a very low energy left. Basically, in a Clustered MANET, the maximum work is done by a CH. So it is obvious that the battery power of CH drains fast. Hence it is required to balance the energy consumption among mobile nodes to avoid node failure as any node failure in the clustered network may lead to network partition or interruption in transferring the data thus increasing the routing time.

  • Implementation: In the earlier case we have given the ID to different nodes and categorized them according to the RSS (Received Signal Strength) but in this case, the nodes are decided to be given a virtual ID not only according to the RSS but also according to the remaining Residual Energy (RE). To remain inside the cluster a minimum RSS and RE is decided for the nodes based on certain factors.

  • Deciding RSS: Here as an event occurs the first destination is decided. Then RSS is decided for the nodes depending on their distance with respect to the event. For any node: High distance indicates RSS is Low while Low distance indicates RSS is High.

  • Deciding Residual Energy: The residual energy of the nodes is also calculated. As in C++, it is inbuilt each node maintains the current energy. Thus, we have extracted the residual energy for each node using energy model.

  • Deciding Virtual ID (VID): Thus depending on RSS and RE the VID is decided for the nodes as

$${\mathbf{VID}}\left[ {{\mathbf{index}}} \right] = \left( {0.5\,*\,{\mathbf{Avgdis}}} \right) + \left( {0.5\,*\,{\mathbf{residualenergy}}} \right)$$
(2)

Here average distance takes care of RSS which is calculated according to the distance of the respective node taking into consideration the X-axis and Y-axis placing of the node. Thus the node with highest VID is decided as the CH. According to the VID, the other nodes are decided to be Foragers, Scouts. The lowest VID node is considered as BCNs. Any node when drain out more and the residual energy is below the limit (in our case 5 J) and goes out of the range of cluster making RSS very low then its VID is changed to zero and thus neglected to be a member of the cluster. If any CH drains out and makes its VID to zero, then any other member of the cluster with next highest VID is selected as the CH.

3.3 Cluster Maintenance by Load-Balanced Re-clustering

As in case of a MANET the nodes are dynamic so the number of nodes in any cluster keeps varying. Thus the MANET may not be properly balanced with respect to load. A too large cluster may put too heavy load on the cluster heads causing cluster heads to become bottleneck of a MANET and this reduces system throughput. A too small cluster can increase the no. of clusters thus increasing the length of hierarchical routes resulting in longer end-to-end delay. Thus upper limit and lower limit has been fixed on the number of mobile nodes that a cluster can deal with. In this process, if a cluster size reduces or exceeds its predetermined limit then re-clustering can take place.

Implementation: This can be done using Adaptive Multi-hop Clustering where the nodes (Foragers, Scouts, and BCNs) periodically broadcast certain information like node VID, Cluster ID and status (whether a forager, scout or BCN). The nodes are equally distributed in the cluster. Where

$${\mathbf{int}}\,{\mathbf{max}} = \frac{{{\mathbf{Total}}\,{\mathbf{no}}.{\mathbf{of}}\,{\mathbf{Nodes}}}}{{{\mathbf{initial}}\,{\mathbf{no}}.{\mathbf{of}}\,{\mathbf{Clusters}}}}$$
(3)
$${\mathbf{int}}\,{\mathbf{min}} = \frac{{{\mathbf{int}}\,{\mathbf{max}}}}{2}$$
(4)

Here two cases can take place-Cluster merging and Cluster split up.

3.3.1 Cluster Merging

If the number of nodes in the cluster goes below the minimum limit then the cluster tries to merge with other cluster, which has less number of cluster members. But here care has been taken that after merging the maximum number of cluster members should not exceed the predetermined limit. This is implemented with few steps:

  1. Step1:

    Let the number of nodes in any cluster is fixed from Nmin to Nmax

  2. Step2:

    If the number of members in a cluster Ci is less than Nmin, then the cluster Ci tries to find a cluster Cj where total number of nodes will be <= Nmax

  3. Step3:

    If the total number of nodes in Ci and Cj is greater than Nmax for all neighboring clusters then it tries to find a Cj to minimize the sum value.

Cluster Head Selection

While merging the clusters for selecting the CH two parameters are considered. One is the remaining energy of the node and the number of nodes the cluster had previously. Thus CH is decided as:

$${\mathbf{CH}}_{1} = {\mathbf{W}}_{1}\,*\,{\mathbf{ResE}}\left( {{\mathbf{CH}}_{1} } \right) + {\mathbf{W}}_{2}\,*\,{\mathbf{nodes}}\left( {{\mathbf{CH}}_{1} } \right)$$
(5)
$${\mathbf{CH}}_{2} = {\mathbf{W}}_{1}\,*\,{\mathbf{ResE}}\left( {{\mathbf{CH}}_{2} } \right) + {\mathbf{W}}_{2}\,*\,{\mathbf{nodes}}\left( {{\mathbf{CH}}_{2} } \right)$$
(6)
$${\mathbf{CH}} = {\mathbf{max}} \left( {{\mathbf{CH}}_{1} , {\mathbf{CH}}_{2} } \right)$$
(7)

where,

  • ResE (CH1)—Residual energy of current cluster head

  • Nodes (CH1)—number of nodes of current cluster head

  • ResE (CH2)—Residual energy of cluster head corresponding to joining cluster

  • Nodes (CH2)—number of nodes of cluster head corresponding to joining cluster

  • W1, W2 are the weight factors.

The cluster head that has high CH value is selected as a new cluster head.

3.3.2 Cluster Split up

  1. Step 3:

    If the total number of nodes in Ci and Cj is greater than Nmax for all neighboring clusters then it tries to find a Cj to minimize the sum value.

  2. Step 4:

    If the number of nodes in Ci alone is greater than Nmax then the cluster undergoes division mechanism.

Cluster Head Selection

Similarly while dividing the cluster in each cluster the CH is selected according to the VID of the node as

$${\mathbf{CH}} = {\mathbf{W}}_{1}\,*\,{\mathbf{RSS}}\left( {{\mathbf{node}}\,{\mathbf{i}}} \right) + {\mathbf{W}}_{2}\,*\,{\mathbf{ResE}}\left( {{\mathbf{node}}\,{\mathbf{i}}} \right)$$
(8)

CH value is calculated for every node i in the cluster. The node i that gives high CH value is selected as the cluster head.

3.4 Data Transmission via Alternate Router

At any time, if the current shortest path is busy, the alternate shortest path is utilized for data transmission to avoid delay. During data transfer from sources to destination each router maintains the traffic flow count in addition to hop count and residual energy. If router involved in any flow, that node flow count is increased. Thus waggle dance value decides the path for routing.

$${\mathbf{Waggle}}\,{\mathbf{dance}}\,{\mathbf{formula}} = \left( {{\mathbf{W}}_{1}\,*\,{\mathbf{hops}}} \right) + \left( {{\mathbf{W}}_{1}\,*\,{\mathbf{ener}}} \right) + \left( {{\mathbf{W}}_{1}\,*\,\,{\mathbf{fc}}} \right)$$
(9)

where W1 = 0.3, fc = Flow count

All weights are equal. For finding the best routing path the hop probability is calculated. For example––If source node 3 contains 3 paths (3 next hop). Then waggle dance value is calculated for 3 next hops and then the probability is calculated for the hop. Where

$$\begin{aligned} {\mathbf{Total}}\,{\mathbf{waggle}}\,{\mathbf{dance}} & = {\mathbf{nexthop}}1\,{\mathbf{Waggle}}\,{\mathbf{dance}} \\ & \quad + {\mathbf{nexthop}}2\,{\mathbf{Waggle}}\,{\mathbf{dance}} \\ & \quad + {\mathbf{nexthop}}3\,{\mathbf{Waggle}}\,{\mathbf{dance}} \\ \end{aligned}$$
(10)
$${\mathbf{Next}}\,{\mathbf{hop}}1\,{\mathbf{probability}} = \frac{{{\mathbf{nexthop}}1\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}{{{\mathbf{Total}}\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}$$
(11)
$${\mathbf{Next}}\,{\mathbf{hop}}2\,{\mathbf{probability}} = \frac{{{\mathbf{nexthop}}2\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}{{{\mathbf{Total}}\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}$$
(12)
$${\mathbf{Next}}\,{\mathbf{hop}}3\,{\mathbf{probability}} = \frac{{{\mathbf{nexthop}}3\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}{{{\mathbf{Total}}\,{\mathbf{Waggle}}\,{\mathbf{dance}}}}$$
(13)

Thus, the node which has a high probability that node is selected as a next hop.

4 Simulation Model

In MANET, nodes N are located in the network area of X * Y. X is the network width and Y is the network height. Here the area of the network is decided depending on the X-axis and Y-axis dimension. We have set: X-axis = 1000 m and Y-axis = 200 m. Each cluster is slit into 200 m communication range in the network area. Thus in our case no. of clusters = 1000/200 = 5. Thus each cluster operates over an area of 200 × 200 m2. The total number of nodes in the network is 50. Thus the minimum and maximum limit for nodes in any cluster is 5 and 10 respectively. Initially, each node has a residual energy of 10 J. The simulation has been carried for the new methodology in the certain suitable scenario as shown in Table 1.

Table 1 Simulation model

4.1 Simulation Scenario

The simulation for the proposed method is carried using Network Simulator 2.35. Various states of the simulation are mentioned below: As in Fig. 2a, nodes are dynamic in nature and seen in the simulation area where node 0 is found as the destination node. The Fig. 2b shows the scenario when the clusters are formed with a different number of nodes. Thus 5 clusters are created with different no. of cluster members. Thus the routing takes place from the source to the destination through the best-suited path which is decided according to the number of waggle dance of the foragers as shown in Fig. 2c.

Fig. 2
figure 2

a Dynamic nodes in the simulation area with identified destination b Formation of clusters c Routing from source to destination

5 Simulation Results

The simulation results are considered both for Load-Balanced Energy-Enhanced Routing (LBEE) for Bee-Ad Hoc-C which is proposed protocol and Improvised Bee-Ad Hoc-Clustered (IBAC) Routing which is the existing protocol. The output trace files for both protocols are executed and the results are compared. Different parameters are considered for comparing and finding the best routing protocol.

Energy Efficiency: The energy efficiency of the MANET is calculated according to the total energy consumed by nodes and the remaining energy of the nodes as they are dynamic and battery operated. Usually, maximum energy is consumed for the CH. Energy efficiency is decreased in both protocols while increasing the traffic load as depicted in Fig. 3a. However, energy efficiency the proposed protocol is improved than existing due to the load-balanced clustering and selection of cluster head, routers based on residual energy for data transmission in the proposed protocol (LBEE).

Fig. 3
figure 3

a Energy efficiency, b End-to-end delay, c Throughput

End-to-End Delay: End-to-End delay is the time taken for a packet to reach the destination from the source node. As in Fig. 3b, the delay is increased in both protocols while increasing the traffic load. But the rate of increase in delay in the proposed method is less compared to the previous due to the load-balanced clustering and selection of routers based on traffic load and hop count for data transmission.

Throughput: It is the amount of data successfully received at the destination per second. For y-axis visibility, value is converted to 0.01 kbps. As in Fig. 3c, throughput is increased in both protocols while increasing the traffic load. Throughput in proposed protocol is better than existing due to the load-balanced clustering.

Packet Delivery Ratio: This shows the ratio between the number of delivered packets to the destination and the generated packets in the CH.

As in Fig. 4a, PDR is decreased in both protocols while increasing the traffic load. PDR in proposed protocol is better than existing which does not change much with an increase in packet size.

Fig. 4
figure 4

a Packet Delivery Ratio, b Route discovery time in sec

Route discovery time: It is the time taken for a CH to find a route to the destination. It is found by finding the difference between sending time of forward scout and receiving time of backward scout at CH. As in Fig. 4b, route discovery time is increased in both protocols while increasing the traffic load. Route discovery time in the proposed protocol is increased than existing protocol due to the increased number of clusters while load balancing.

6 Conclusion and Future Scope

Thus a new routing protocol as LBEE-IBAC is established to make the MANET more balanced and energy efficient so that there should not be any wastage of energy by any node while searching the route to destination randomly. According to the simulation result found with respect to different parameters the performance of LBEE is found to be better to the existing protocol IBAC.

However, the protocol can be still analyzed by considering different parameters like routing overhead. The protocol can still be improved by introducing some other parameters for load balancing with respect to channel bandwidth to make the routing process more efficient.