1. Introduction
There are several types of wireless networks such as Mobile Ad-hoc Networks (MANETs) and wireless sensor networks (WSNs). In these networks, there is no infrastructure where the network is a set of multiple hop wireless nodes that communicate with other nodes without any centralized administrator. MANETs and mobile sensor networks permit self-organized connectivity [
1] and each node communicates with other nodes directly or indirectly through intermediate nodes. In this regard, several issues should be considered such as multi-node routing, resources availability, and topology change. Therefore, a routing protocol in mobile networks must meet all these challenges to fulfill a high-performance requirement needed to achieve efficient data communication [
2]. There are two main approaches for routing protocols: proactive and reactive protocols. In proactive protocols, mobile nodes must complete their routing tables by exchanging information about the network topology among the nodes. Proactive routing is also recognized by a table-driven routing because it manages routes to the final destination whether these routes are required or not [
3]. Therefore, when there is a need for a route to a receiver, the path information is promptly available. In this proactive category, sending data will consume an obvious amount of energy while updated information is sent out unnecessarily when there is no data transmission. Accordingly, mobile nodes have inadequate power and their lifetime diminishes. On the other hand, in the reactive or on-demand routing approach, it has less routing overhead because it is not required a route management when there is no data transmission. In this case, routing data are reduced which in turn would minimize the traffic problems and cost.
Frequent node mobility is one of the challenges where the route may be broken and the end-to-end communication is terminated. In this case of node movement, the network will entirely get interrupted and consume more of the remaining energy. Additionally, having overload traffic requires an excessive amount of energy and also would diminish the network performance in terms of quality-of-service parameters. Reactive protocols consume less power; however, in case of route loss, these protocols start a new discovery process to search for an alternative route. Link failure also increases the load in the network and leads to a wastethe energy during the route discovery process. These all will result in a degradation of the network performance through increasing the load, reducing the throughput and hence the packet delivery ratio. Therefore, it is desired to develop a mechanism that uses less amount of energy and accordingly improves the performance. For efficient energy utilization at mobile nodes, the intensive study took place particularly to extend the lifetime of the network [
4,
5].
Ad-hoc on-demand multi-path distance vector (AOMDV) is a well-known routing protocol that selects routes based on the minimum number of hops. AOMDV provides alternative routes in case of nodes failure or channels disconnection and as a result, it is not needed to go through the route discovery phase and hence this would reduce the latency and maximize the throughput. On the contrary, if the route is broken for a node or a link defect in case of a single path routing approach, the data communication will be aborted and finding another route process should be triggered [
6] and this, in turn, degrades the network performance. However, the AOMDV algorithm does not consider the availability of the node’s energy. In other words, a node might lose the power of its battery during a data communication which would consequently interrupt and this should switch to another available route. Routing algorithms based on saving energy were considered in separate studies where the cost was the main concern in [
7] while in [
8] the solution is complex and takes extended processing time.
In this paper, we propose an energy-efficient multi-path algorithm called genetic algorithm-based AOMDV (GA-AOMDV). Fitness function (FF) selects the route with nodes that maintains the least consumed energy utilizing routes selected by the AOMDV routing protocol. In other words, AOMDV returns multiple paths with the minimum number of hops. Next, FF is applied on the AOMDV routes to optimize the route going through nodes with the greatest residual energy. Our algorithm is a multi-path so, in case of nodes failure, alternative routes are available.
2. Related Work
There are various routing methods were proposed to enhance the network performance. The author in [
9] developed a dynamic energy ad-hoc on-demand distance vector routing protocol (DE-AODV) to minimize the packet delay, maximize the network lifetime, and reduce energy consumption. The DE-AODV protocol is used to select the shortest route from the source to the destination with nodes that are energy-efficient. The early protocols proposed for proactive routing in ad hoc networks were destination sequenced distance vector (DSDV) [
10] based on the Distributed Bellman-Ford (DBF) algorithm and the Optimized Link State Routing protocol (OLSR) [
11]. In Link State schemes and when the network activity is low while the topology changes frequently, the amount of traffic can still be significant which would consume more energy. In [
11], the authors introduced a routing mechanism where the residual energy together with the QoS metrics were considered. In this protocol, information about the network topology should be shared with the whole network. This would overwhelm the network with information that is not always necessary for all nodes and this, in turn, would degrade the performance of the network and lead to traffic problems such as data congestion especially in the case of dense networks. Another approach is the proactive path-finding algorithms. This approach combines features of the Distance Vector and Link State approaches and every node in the network constructs a Minimum Spanning Tree (MST). The Path Finding algorithm reduces both the amount of control data and also the possibility of temporary routing loops and this, in turn, would minimize the traffic problems. An example of this type of routing mechanism is the Wireless Routing Protocol (WRP) [
12]. The main concern when applying the proactive approach to the WSN environment is the fact that as the network constantly changes, the cost of updating the topological information would be unduly high.
On the other hand, there are reactive routing protocols based on some type of request/reply scheme. A reactive mechanism seeks a process to find a route to the sink. Examples of reactive or on-demand protocols include the Ad hoc On-Demand Distance Vector (AODV) [
13], the Dynamic Source Routing (DSR) [
14] and the Temporally Ordered Routing Algorithm (TORA) [
15]. In these reactive methods, the route discovery procedure is commonly used to find the best route. Mostly, shortest distance, the minimum number of hops, shortest latency, and least bandwidth usage may be used as the optimization conditions. These criteria are utilized to overcome main challenges in the network such as the low signal and attenuation, unreliable channels, higher delay, nodes mobility, and random packet loss.
In the case of nodes with high mobility speed, the network entirely might get interrupted and the remaining energy will be quickly depleted. In this case, AODV has to find another path as single-path reactive category protocols do. In TORA, route replies use controlled flooding to distribute the routing information through a form of a Directed Acyclic Graph (DAG) [
16]. AODV and DSR protocols use unicast communication to direct the reply to the sender of the routing request. In AODV, the route information is stored at the next hop within the nodes on the path. The reversed path is engraved into the request packet as an accumulated route in the DSR and is used for source routing. AOMDV [
17] is another reactive protocol based on AODV. AOMDV finds several alternative routes (multi-path) during the route discovery phase. As a result, AOMDV is an enhanced version of the AOMD where the network can adapt to one of the alternative paths during the failure of the current route and the transmission time is saved as no need to go often through the route discovery procedure for the established data communication session.
A genetic algorithm (GA) is a heuristic search algorithm based on natural selection and genetics. GA is an excellent approach to solving a problem for which little is known. Even if it is based on a random search, GA is able to provide a high-quality solution [
18]. GA uses the principles of selection and evolution to produce multiple solutions to a given problem [
19,
20]. Challenges in wireless networks such as nodes mobility, fading, congestion, collision, etc. have no negative impact on the GA and this is one of its main characteristics. In [
21], the authors proposed a GA-based routing algorithm for flying ad-hoc networks (FANETs). The proposed FF considers several parameters including the maximum link bandwidth, the highest network link stability, and the most residual power of the nodes. These parameters are more crucial in FANETs than in other types of ad-hoc networks. However, having several components in the fitness function will negatively impact the convergence speed of the algorithm to select the efficient route. Similarly, in [
22] several fitness function components are proposed which will slow down the route selection process. In [
23], the authors introduced a FF that is calculated using the shortest route length in addition to the parameters measured in the route discovery phase including the delay for getting the shortest route and the number of available routes. This method consumes an excessive amount of processing time and energy. In [
24], authors proposed at FF that suits those applications that have an excessive amount of data transmission and therefore data congestion is a key that should be considered. There are other methods such as in [
25] where the proposed FF is complex and the route selection takes an extended time. In [
26,
27,
28], it was introduced GA-based methods which require lengthy processing and memory in the source node as every possible route would be involved in the GA regardless of its fitness level. In [
29], the authors proposed a routing protocol that considers the network as a directed graph optimizing routes based on the quality of links between every two nodes using a genetic algorithm. In this regard, the link status might be impacted by several factors such as noise. Therefore, with a small change in a link status, the routing protocol should go through the regeneration of routes based on the modified graph.
Among the various maximum lifetime routing protocols, one type is called Efficient Power Aware Routing Protocol (EPAR) [
30] which is the extension of the DSR protocol. EPAR selects the path that has the largest packet capacity at the smallest consumed packet transmission energy. Due to the mobility of the nodes in sensor networks, EPAR is proposed to find multi-path routes so the delay is taken to discover a new route will not consume time in case of the failure of the current route [
17]. Alternatively, if a single intermediate node goes out of the coverage area, then the whole communication can be disturbed owing to topological change which would enlarge the data loss. This would result in an excessive amount of bandwidth usage and this, in turn, increases the number of packet retransmissions representing a low performance. Accordingly, EPAR using Breadth-First Search (BFS) was introduced to select the route with the minimum energy consumption. However, EPAR-BFS faces problems when the size of the network size increases.
In this paper, we propose a solution for selecting the energy-efficient route which enhances the mobile node’s lifetime.
4. Methodology
In
Figure 1, WSN is shown where sensor nodes are connected wirelessly. Nodes may move randomly and this, in turn, would lead to channel breakage and topology change. Accordingly, another route should be discovered. We propose an algorithm that can provide an alternative efficient route if the primary one is disconnected.
Here, we explain the mechanism of our proposed GA-AOMDV method. This protocol generates a scores matrix representing a set of optimum routes between the source and the destination. AOMDV produces an array of alternative routes based on the minimum number of nodes. GA algorithm is applied on these routes devoted by AOMDV to generate more routes where the consumed energy at nodes is minimal.
In our algorithm, we assume all nodes have the same initial energy. GA has six steps explained below:
Initialization: In this step, we set our assumptions for the needed parameters:
- ➢
Genes: This is the number of sensor nodes in a path before any data communication takes place,
- ➢
PopSize: This is the population size which is a set of all available routes between two end nodes,
- ➢
Pc: This is the probability where a couple of routes may be crossed over,
- ➢
Pm: This is the probability where a node in one route may be mutated,
- ➢
SurvivorSel: This is the survivor selection rule where a route can be considered as an accepted alternative based on its fitness score,
- ➢
GensNochange: This is the termination of the route search process where the array of available routes is sorted descendingly using the fitness values. At this stage, the optimized array has no further change.
Fitness: We apply this function twice. Firstly, all routes returned by AOMDV are evaluated through the fitness function in Equation (1). Secondly, other routes generated through crossover and mutation phases are examined through this function to assess its efficiency as potential accepted route.
Selection: Using the FF values, some of the AOMDV generated routes will be excluded to save the processing time needed for the next crossover and mutation. In doing this, the elitism method [
32] is used where routes with small fitness scores will be removed from the selected routes pool. In other words, a route where its nodes have low energy will be excluded from the population of the parent routes where the crossover and mutation phases are applied. Therefore, the population will only represent elites which are the available routes with the minimum number of nodes and highest residual energy.
Crossover: In this step, every couple of routes are paired and crossed over using the probability P
c. Nodes are switched between each pair of routes with high fitness scores. The range of P
c is between 0.45 and 1 [
32]. P
c is selected to be 0.5 in our simulation as it was indicated in [
33] that it works perfectly with a large population size.
Mutation: This phase is applied on the routes generated by AOMDV and crossover. In this step, the node order is altered in the same route using the probability P
m. The range of P
m is between 0.001 and 0.5 [
33]. In our simulation, P
m is selected to be 0.1 as it is commonly used by researchers [
33]. New routes generated by crossover and mutation are assessed in the survivor select phase.
Survivor selection: Each route generated by crossover and mutation phases is considered as a new child. If the fitness of the child is greater than the scores of its parents, then this child route will be added to the array of potential efficient routes; otherwise, this child route will be dropped. Optimized routes array is accordingly sorted and the route selected is the one with the highest fitness level. Other routes are alternatives that will be likely used whenever the selected route’s nodes become faulty or move out of the network area.
Figure 2 shows the steps that our routing protocol goes through to generate and select routes for data packets forwarding.
In Algorithm 1, E is the efficient routes array produced by the survivor selection process. The output routes generated by both crossover and mutation phases are C and M, respectively. POP_F is the population of the routes generated by AOMDV out of the PopSize where the elitism method is applied. FM, FP, and FO are the fitness scores F for the following: the child route generated by the mutation M process and the parents P and O generated by the AOMDV mechanism and/or crossover process. We summarize the steps of the GA-AOMDV algorithm as:
AOMDV protocol returns an array of routes (PopSize) based on the minimum number of hops (Genes). PopSize is the set of the parent routes where the GA will be applied to generate new child routes as explained below,
FF based on the minimum consumed energy of nodes involved in the PopSize is evaluated. Using the elitism method, routes with low fitness levels are dropped and only consider remaining routes as parents to be used in the GA,
Employ the crossover process over the elitism parent routes to generate new child routes through using Pc.
Employ mutation process on the parent and child routes using Pm,
Employ the FF again on every child route that can be considered as a potential route if its fitness score is higher than its parent routes fitness and this is the SurvivorSel in this step,
Store all the potential parent and child routes in an efficient routes array E,
Sort entries of array E in descending manner where the efficient route is the one with the highest fitness. Other routes in E will be utilized when the selected route fails because of channel disconnection or faulty nodes.
Algorithm 1 Routing Protocol Algorithm |
1: INPUT: size of the network |
2: OUTPUT: Efficient array of routes |
3: Assumptions: |
4: Size: number of nodes |
5: Efficient_Paths: E [] |
6: Pc = 0.5 |
7: Pm =0.1 |
8: Presnt_route = P, Old_route = O, New_route = N |
9: F(x) = Fitness Function (Min of energy consumption) for all nodes of each route x |
10: PopSize: Population of routes xs returned by AOMDV |
11: POP_F = Apply F(x) on routes of PoSize |
12: while (POP_F) |
13: Crossover (P, O, Pc) |
14: Mutation (P, O, C, Pm) |
15: if (FM ≥ FP)&(FM ≥ FO) then |
16: E [] = x |
17: else |
18: Drop x |
19: end if |
20: end while |
21: return routes array in E [] |
To better understand the algorithm, we consider the network shown in
Figure 3 We assume the source node is S and the destination node is D. S will go through the route discovery phase using the AOMDV method. AOMDV will not select the route (S, H, I, J, K, D) because it does not have the least number of hops. AOMDV returns three routes including R1, R2, and R3 who have the minimum number of hops:
R1: S, C, E, F, D
R2: S, B, E, A, D
R3: S, G, E, A, D
We assume that the FF scores are 9.4, 9.1 and 4.7 for R1, R2, and R3, respectively. Using the elitism method, R3 will be dropped and only R1 and R2 will be considered for the GA application. Based on the crossover and mutation process, generated offspring are as follows:
R4: S, C, E, A, D
R5: S, B, E, F, D
The offspring will be checked by the FF evaluation where their scores are 9.6 and 9.8 for R4 and R5, respectively, so they will be added to the population. R5 has the highest score and this will be selected as the optimum route. If any failure occurred to R5 links or nodes during the data communication, R4 will replace R5.
5. Simulation, Parameters and Metrics
Our implementation is carried out using the NS2.35. It is a discrete-time event network simulator. In our simulation, we wrote an Object-Oriented Tool Command Language (OTcl) script to design the network in terms of its parameters and topologies such as traffic source, used routing algorithms, simulation time, the total number of nodes, sensors mobility speed and other parameters. NS2.35 provides a wide range of modules to employ in the simulation network such as different models of physical layer, different access control modules, transport layer protocols and applications [
34]. Two files are produced when the simulation runs: Network AniMator (NAM) used to visualize the network and trace files which include a vestige of various events that happen during the simulation time. In
Table 1, we assume the default network parameter values. We used a MAC based on IEEE 802.11 where Wireless Multimedia Sensor Networks (WMSNs) [
35] and WSN [
26] utilizing this standard in mesh networks are efficient solutions in various applications including security and ehealth [
36] systems. The Xgraph program draws a graph on an X display given data read from either data files or from standard input if no files are specified. Xgraph in NS2 is used to plot the network parameter characteristics like throughput, delay, packet delivery ratio, latency, etc. We used Intel Dual-core 2.5 GHz with 2 GB RAM. In
Table 1, we present our assumptions for the network configuration.
To evaluate the performance of routing protocols quantitative metrics are practiced [
37]. We use the below performance metrics to evaluate our routing protocol.
(1) Throughput: This is the measure of how fast we can send packets through the network. The number of packets delivered to the receiver provides the throughput of the network. The throughput is defined as the total amount of data a receiver receives from the sender divided by the time it takes for the receiver to get the last packet. The throughput is calculated as:
where
G is the throughput,
Br is the total number of received bytes, and
T is the simulation time.
(2) Energy Consumption: Battery energy consumption refers to the power spent in calculations that take place in the nodes for routing and other decisions. It is the power consumed in processing the packets per time unit. The energy is calculated as:
where
E is the total energy consumption for all nodes
m,
Ii is the initial energy at node
i and
Ei is the energy at the end of the simulation process at node
i.
(3) Packet Delivery Ratio: The ratio of the data packets delivered to the destinations to those generated by the constant bit rate (CBR) sources. It is the fraction of received packets by destination to the generated packets by source. Packet delivery ratio is calculated as:
where
Nd represents the number of delivered packets and
Ns represents the number of sent packets.
(4) Round Trip-Time (RTT): This is the time measured from sending a route request packet (RREQ) until receiving a route reply packet (RREP). Having a long RTT indicates a slow data transmission and hence the throughput is low. To measure the RTT, we use a time stamp in the header option of the RREQ and RREP messages.
(5) Gain: To better understand the gain that GA-AOMDV can achieve compared to other protocols, including GA-AODV, LEACH-GA, EPAR, DSR, EPAR-BFS, AODV, we calculate the gain as:
where
is the performance value of the calculated metric for our protocol,
is the performance value of the calculated metric for other protocols,
∑ is the summation over the range from i = 1 to the number of x-axis points of the metric y.
The metrics we evaluate are packet delivery ratio, energy consumption, throughput, and RTT. If Equation (5) produces a positive value, this indicates the gain that our method can achieve; otherwise, if the output is negative, it indicates the saving which would happen in the case of energy consumption and RTT.
(6) Average End-to-End delay: It denotes the average time required that a data packet delivers to the destination end.
where
represents the simulation time in which the data packet ith delivered.
denotes the simulation time when the packet ith sent.
and n is the number of data packets delivered.