Energy-Aware Routing Protocol for Ad Hoc Wireless Sensor Networks

Wireless ad hoc sensor networks differ from wireless ad hoc networks from the following perspectives: low energy, lightweight routing protocols, and adaptive communication patterns. This paper proposes an energy-aware routing protocol (EARP) suitable for ad hoc wireless sensor networks and presents an analysis for its energy consumption in various phases of route discovery and maintenance. Based on the energy consumption associated with route request processing, EARP advocates the minimization of route requests by allocating dynamic route expiry times. This paper introduces a unique mechanism for estimation of route expiry time based on the probability of route validity, which is a function of time, number of hops, and mobility parameters. In contrast to AODV, EARP reduces the repeated flooding of route requests by maintaining valid routes for longer durations.


INTRODUCTION
Wireless sensors are small devices with limited energy without energy backup; they are more of one-time-use sensors. Therefore, an energy-efficient routing mechanism would mean longer sensor lifetime and higher network efficiency. Active research is going on in the field of routing in ad hoc sensor networks. A lot of development has been seen in ad hoc routing since the introduction of highly dynamic destination-sequenced distance-vector routing (DSDV) [1]. Ad hoc on-demand distance-vector routing (AODV) [2] and dynamic source routing (DSR) [3] have been very popular and widely accepted ad hoc routing protocols. Variations of DSR and AODV have been suggested in the literature; one such approach can be found in [4]. An enhancement to AODV is also presented in self-learning ad hoc routing protocol (SARP) [5] which adds the route caching capabil-This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
ity of DSR to AODV to achieve higher efficiency. This paper presents an energy-aware routing protocol (EARP) based on AODV. In particular, this paper addresses the problem of frequent route expiry and suggests a criterion to statistically estimate the route validity time. This criterion results in the reduction of route requests and consequently improves energy efficiency.

Node communication pattern
A typical sensor network consists of two types of nodes called sensor nodes (referred to as sensors) and data gathering nodes (referred to as nodes). Sensors are small wireless devices that are capable of sensing the environment and transmitting the data they collect. They have unidirectional wireless links and can only receive control signals from data gathering nodes. They have two modes of operation: energy saving mode and active mode. Data gathering nodes are relatively more powerful wireless nodes as compared to sensors. They have larger energy backup and possess data computation, aggregation, and processing abilities. They are responsible for collecting data from all the sensors in their vicinity then aggregate and process the data before transmitting to other nodes. The links between these nodes are bidirectional; hence they have the capability to transmit and receive data. Data gathering nodes play the crucial role of removing overlapping data collected from sensors and transmitting only the useful and required data to various other nodes in the network. The entire routing functionality is built only in the data gathering nodes. This mechanism is quite similar to the cluster head approach discussed in [6,7], the major difference being in the classification of nodes based on their functionality. In most of the cluster-head-based protocols, the cluster head is chosen based on the various parameters like energy backup. In this node communication pattern, the energy consumption in election process is avoided by separating the two types of nodes based on their hardware. In Figure 1, each smaller circle denotes the vicinity of each data gathering node, that is, the region in which all the sensors are controlled by one particular node. The radius of this circle is called the sensing radius and is denoted by "r." The bigger circle is the communication radius "R" of that particular node and it can directly communicate with all the nodes in this range, form neighbors, and exchange data.
Node to sensor communication is controlled by the node; it can turn on the transmitters of all the sensors in its vicinity by sending the required control signals. On receiving these control signals, the sensors switch from energy saving mode to active mode and transmit the collected data to the corresponding node. The transmitters of sensors would revert to energy saving mode after sending data to the node. The computation is reduced at the sensors by enforcing the sleep mechanism [8] on all the sensors.
Node-to-node communication is very similar to the method described in [9]. Every node looks for all other nodes willing to exchange data in its communication range. After exchanging the start-up messages and verifying the signalto-noise (SNR) levels, nodes establish neighbors and allocate one time division multiple access (TDMA) [10] slot within a frame to each neighbor. As shown in Figure 2, if the entire TDMA frame is of t seconds and the slot allocated to each neighbor is t c , then the number of neighbors a node can have is t/t c . The ratio t/t c will be later used to explain the energy savings in EARP.

Energy estimation
The energy consumption estimates given in [11] are used in this paper to calculate the total energy consumption in the route discovery procedure using route request (RREQ) and route reply (RREP) [2]. The energy required to transmit r 0 bits is given by where d(s 1 , s 2 ) denotes the distance between nodes s 1 and s 2 in meters, and α 1 and α 2 are communication constants. The value of n depends on signal propagation. The above equation can be rewritten by replacing r 0 with B * t, where B is the total link capacity between one-hop neighbors in kbps and t is the total frame size in seconds: In the above expression, d represents the average distance between two neighbors in the network. The path loss exponent n [12] depends on the environment and the approximate value of n in a shadowed urban area lying between 3 to 5. Therefore, for all the computations in this paper, the value of n is taken as 4. Thus, P 1 gives the energy consumed in transmitting one frame from a node to its neighbors. Similarly, the estimate for the energy consumed in receiving r i (= t c * B) bits of data given in [11] is rewritten as follows: In this expression, α r is the communication constant with typical value of 135 nJ/b [11] and t c is the duration of single time slot allocated to each neighbor in seconds. Thus, P 2 gives the total energy spent by one neighbor in receiving its share out of the total frame transmitted by the source.

Link availability
Link availability addresses the problem of prediction of the status of a link between two nodes after time t based on network parameters. The probability of link availability discussed in [13] is used with some modifications as a base for operation of EARP. In [13], the authors proposed a random ad hoc mobility model and computed the probability of link availability (A m,n (t)) between nodes m and n after time t as where Φ(a, b, z) is the Kummer-confluent hypergeometric function, 1 R eq is the effective communication radius, t is the time, σ 2 i and µ i are the variance and mean speed of node i during each epoch, 2 and 1/λ i is mean epoch length for node i.
This equation for link availability is modified using the following assumptions. (1) All nodes have equal mean speed and variance during each epoch over the time period t, represented by µ and σ. Hence µ and σ are defined as network parameters instead of being node parameters. (2) Mean epoch length is uniform over the network and is given by λ. Therefore, λ is also a network parameter. Based on these assumptions, (4) can be rewritten as follows: In the next section, the proposed energy-aware routing protocol (EARP) is presented and its energy efficiency is compared with that of the ad hoc on-demand distancevector (AODV) routing protocol.

ENERGY-AWARE ROUTING PROTOCOL
In energy-efficient routing protocol (EARP), the route discovery process is exactly the same as in AODV; the source S floods an RREQ to its neighbors and the neighbors flood RREQ further to their neighbors till it reaches an intermediate node I which knows the route to the destination or it reaches the destination D. In addition to the above procedure, EARP will also maintain a table of routes that have less probability of expiring till the next communication between the same set of nodes (S and D). The criterion to select the routes eligible to be added to the routing table is based on 1 The confluent hypergeometric function has a hypergeometric series 2 Mobility epoch is the duration in the motion of a node during which its speed and direction remain constant. the network parameters and the probability of route validity (P route-valid ).
In AODV, once a transmission is completed the route is declared invalid after a fixed route expiry time (10 seconds) and cleared from the routing table, which results in frequent initiation of route discovery process. The EARP scheme advocates saving the routes discovered in the route discovery process in a route table based on the route selection criterion. In order to accomplish this, we define a new control packet called route check request (RCR) in EARP. If after a certain interval of time, some data needs to be transferred between the same set of source (S) and destination (D), S will first issue an RCR control packet to verify the validity of that route saved in the route table. RCR is a dummy packet which is sent across all the nodes that appear in the route to D. If any nodes between S and D have moved out of range in this route, a route error (RERR) is transmitted back to S. On receiving this RERR, the source S initiates a route discovery for the destination D and removes the expired route from routing table.
The success rate of RCR will typically depend on the mobility pattern of the nodes in the sensor network. Saving all routes in the routing table results in higher energy consumption due to excessive RCR transmissions. This problem is addressed in EARP with the route selection criterion which allows only those routes with larger probability of route validity to be saved. For each route, an appropriate route validity time is computed based on the network parameters.

Criterion for selecting routes for saving in the routing table
In this subsection, a criterion is derived for selection of routes. This derivation is based on the three major parameters: probability of link validity (P link-valid ), probability of route validity (P route-valid ), and threshold for probability of route validity (P route-valid-threshold ). In addition, the derivation also requires estimates for the energy consumption in various phases of routing.

Probability of link validity (P link-valid )
This is defined as the probability of any link which is valid at t = 0, will remain valid at t = T (T > 0), and is given by A m,n (t). As a convention, it is referred to as P link-valid , so from (6) we get where Φ(a, b, z) is the Kummer-Confluent hypergeometric function [13].

Probability of route validity (P route-valid )
This is the probability that the route discovered using the RREQ flooding at t = 0 and which will be valid after time T. The expression for this probability is given by A route with h hops will have h such links. Thus, the probability of route validity is [P link-valid ] h . The parameter h acts as a decay factor since the probability of route validity reduces as the number of hops in the route increases.

Threshold for probability of route validity
The threshold for the probability of route validity is the value of P route-valid at which the energy consumption in AODV is equal to the energy consumption in EARP. Beyond this threshold value, EARP outperforms AODV in terms of energy efficiency. Hence, any route with probability of route validity higher than its threshold would save energy if reused within the route validity time.

Energy consumption in routing
The following subsections discuss the energy estimates required to compute P route-valid-threshold . A set-up of typical source S and destination D that are h hops away is assumed in the following discussion.

Energy estimation in route discovery
In this scenario, the source S is trying to look for the destination D and an RREQ is being flooded to every neighbor to get to D. The nodes S and D are h hops away and N is the number of nodes in the entire sensor network. E 1 (energy consumed at S to flood an RREQ packet) = [α 1 + α 2 d 4 ] * B * t = P 1 . E 2 (energy consumed at neighbor to receive an RREQ packet) = α r * t c * B = P 2 . E 3 (energy consumed at neighbor to flood an RREQ packet) = P 1 . E 4 (energy consumed at D to receive an RREQ packet) As the RREQ packet is flooded in the entire network, the number of intermediate nodes will be (N − 2), that is, all the nodes in the network except S and D. Therefore, E 5 (energy consumed at D to transmit an RREP packet) Here, t c is being used because RREP is not flooded as the links between all the nodes are bidirectional and RREP has to follow the discovered path backwards. E 6 (energy consumed at neighbor to receive RREP) = P 2 . E 7 (energy consumed at neighbor to transmit RREP) = P 3 . E 8 (energy consumed at S to receive RREP) = P 2 . E p (the energy consumed in transmitting RREP from D to S) = E 5 + (E 6 + E 7 ) * (number of intermediate nodes) +E 8 .
As RREP follows the path discovered by RREQ, it only travels through the route of h hops: The total energy consumed in the route discovery process (E rd ) is the sum of E q and E p and is given by the following expression:

Energy estimate for route table maintenance
EARP suggests saving those routes which do not expire within twice the AODV route expiry time. Once the route is discovered in EARP, each packet stores the entire route. Hence, computation overhead is only at the source node S. Route entry is made by RREQ flooding and the size of route entry depends on the number of hops between S and D. All estimates in this section assume h hops between S and D. The energy consumed by CPU in route lookup depends on the size of routing table. As there are N nodes in the network, the maximum size of the routing table could be (N − 1). During route fetch, two basic operations are performed by the source node. First, it has to compare each destination in routing table to the destination D. Later, it loads the route given for D in its cache. The associated overhead for each of the above functions can be estimated in terms of b i (energy consumed in a memory fetch) and b j (energy consumed in an arithmetic operation), quite similar to the approach used in [14]. E 9 (energy consumed in route lookup) = (b i +b j )·(N−1). E 10 (energy consumed in loading route to cache) = b i · h.

Energy estimate for an RCR Request
For consistency, the size of RCR packet is assumed to be equal to that of RREQ/RREP packet, though it can be much smaller with just an "RCR bit" set. RCR is a one-way request, and if no route error (RERR) is received within RCR expiry time, the route is declared valid and data transmission is carried out. E 11 (energy consumed at S to transmit RCR to the next hop) = [α 1 + α 2 d 4 ] * B * t c = P 3 . E 12 (energy consumed at each hop to receive and transmit RCR to the next hop) = α r * t c * B +[α 1 +α 2 d 4 ] * B * t c = P 2 + P 3 . E 13 (energy consumed at D to receive RCR) = P 2 . E 14 (total energy consumed in route checking) = E 11 + E 12 * h+E 13 = P 3 +(P 2 +P 3 ) * h+P 2 = (P 2 +P 3 ) * (h+1). Additional computational overhead due to route-table lookup (E 9 ) and loading of route to cache (E 10 ) need to be added. Thus, the total energy E RCR consumed in RCR mechanism is given by E RCR = E 14 + E 9 + E 10 = P 2 + P 3 * (h + 1) Proposition 1. (criterion for saving a route). All routes that satisfy P route-valid>Proute-valid-threshold should be saved in the routing table as they have a high probability of staying valid after time interval T. An implementation of this criterion would require an estimation of the threshold for the probability of route validity. Based on the energy consumption comparison between EARP and AODV, this estimation is given by the following lemma.

Lemma 1. The value of threshold for the probability of route validity is given by
where

energy consumed in a single memory fetch, b j = energy consumed in a single arithmetic operation, and N = number of nodes in the network.
The value of P route-valid at which the energy consumption in EARP equals the energy consumption in AODV is defined as the threshold value of the probability of route validity P route-valid-threshold . In order to estimate P route-valid-threshold , the total energy associated with routing in both AODV and EARP is compared assuming that there are M repeated transmissions between S and D. These repeated transmissions have time interval greater than the AODV route expiry time. P route-valid gives the ratio of the number of successful transmissions out of M before the route from S to D becomes invalid.
Let A denote the total energy consumed using AODV for M route discoveries. Similarly, let B denote the total energy consumed using the RCR mechanism for M transmissions. A and B are given by the following expressions: The threshold value for P route-valid is obtained by equating A and B and solving for P route-valid . By simplifying, the threshold value of the probability of route validity given in (13) is obtained.
Proposition 1 suggests the duration for route validity, that is, how long a route should be saved in the routing table (t route-valid ). Energy savings are possible if for all saved routes the probability of route validity stays above the probability of route validity threshold. It can be interpreted that as long as P route-valid is greater than P route-valid-threshold , the route should be kept in the routing table. Using this principle in conjunction with Proposition 1, an estimate for t route-valid is derived in Proposition 2.

Proposition 2. The time for which any route is valid is given by
Proof. According to Proposition 1, energy savings can be expected, if all routes in the routing table satisfy P route-valid > P route-valid-threshold . As P route-valid reduces with time, the above inequality fails after a certain time interval (t route-valid ). This time interval can be estimated by equating the P route-valid to its threshold as follows: (16) Expanding the Kummer confluent hypergeometric series to obtain expression for P route-valid , we get Taking an approximation of the series till the second term, we get Substituting α = 4T/λ(σ 2 + µ 2 ), Replacing T by t route-valid , we get This is the maximum value of t for which the criterion described in Proposition 1 is satisfied. This time t route-valid is set in the time field of routing table for each route. As soon as t route-valid expires, the route is removed from the routing table. Based on the two propositions, we would now present a quantitative analysis of energy savings obtained in EARP.

Quantitative analysis
In this section, a quantitative analysis based on a practical scenario is presented. A network with the typical values for all the defined parameters is assumed for this analysis; these values are listed in Table 1.
Using the values in Table 1 and the expressions derived in earlier sections, the following values of energy consumption in various phases are obtained: P 1 = 34.94 J, P 2 = 1.728 * 10 −5 J, P 3 = 4.99 J. To give a practical interpretation to the criterion of route selection, the values of P route-valid and P route-valid-threshold for different values of h are estimated using (8) and (13), respectively. Table 2 lists the values of P route-valid and P route-valid-threshold for 1 to 8 hops. In these estimations, the time T is taken to be 5 minutes.
The values in Table 2 clearly show that the value of P route-valid is greater than P route-valid-threshold for routes with less than or equal to 6 hops. So, nodes will save all routes with less than or equal to 6 hops in their routing table. An estimate of the expiry time based on (20) for all saved routes corresponding to the number of hops is also shown. By substituting the values into the expressions derived in the previous sections, 42.58% energy savings are obtained with EARP over AODV, if a route of hop count 1 is used 10 times. If the route that is used repeatedly has a hop count 6, the energy savings drop to 0.006%. These results are further strengthened by the simulation results discussed below.

Simulation results
In order to compare the performance of EARP with AODV, a network with forty nodes uniformly positioned over an area of 2000 * 2000 meters and mobility based on random walk model was simulated in Glomosim network simulator [15]. Implementation of dynamic route expiry for EARP required modifications in the AODV implementation of Glomosim. AODV is implemented in Glomosim using aodv.pc and aodv.h files. The aodv.pc file was modified to allocate the route expiry times dynamically based on the route hop count. The simulation code was not programmed to calculate the route expiry values based on network paramaters; instead the scenarios were created and route expiry times for each hop count were estimated manually. The simulation code was modified to allocate these values to each newly added route based on its hop count.
The changes made it possible to simulate the effect of dynamic route expiry time on the number of route requests and control packets. The evaluation and comparison of EARP with AODV was done by simulating various scenarios. Three major scenarios are discussed below based on the node mobility characteristics as it was found that mobility had maximum effect on the number of route requests.

Scenario I-high mobility
The mobility parameters in config.in Glomosim file were changed to simulate high-mobility scenarios. The mobility model used was a random waypoint mobility model, the maximum node speed was set to 10 m/s, and minimum node speed was zero with a zero pause time. As in high mobility, the links between nodes would expire quickly so EARP would not be able to keep routes for much longer in the route cache. The energy savings in this case would be minimum. The graph in Figure 3 compares the RREQs generated by both protocols under these conditions. For most nodes EARP saved some RREQs over AODV but in aggregate for all 40 nodes, EARP generated 3.6% less RREQs than AODV.
The graph in Figure 4 shows the comparison of RREPs generated by each node from 0 to 39 for both EARP and AODV.
The graph in Figure 5 shows the aggregate control packets generated for each node by both protocols. EARP generated 3.49% less control packets than AODV. The 3.49% may look like a small figure, but the total control packets generated by EARP for the period of simulation were 1748 packets less Control-EARP Control-AODV than AODV. If each packet is as small as 60 bytes, transmitting it over a 64 kbps link for a distance of 100 meters approximately needs 0.1 joules of energy. Therefore, in such a worst case scenario, EARP was able to save around 175 joules of energy over AODV.

Scenario II-medium mobility
As the node mobility decreases, the link availability increases.
In scenarios with higher link availability, EARP is more effective due to dynamic route caching. Medium mobility was simulated by decreasing the mean speed of nodes in the random waypoint mobility model. The maximum speed was set to 3 m/s and minimum speed was set to zero with a pause time of zero. The graph in Figure 6 compares the RREQs generated by both protocols under these conditions. In aggregate for all 40 nodes, EARP generated 22.12% less RREQs than AODV. The graph in Figure 7 shows the comparison of RREPs generated by each node from 0 to 39 for both EARP and AODV. In aggregate EARP generated 19.79% less RREPs than AODV. The graph in Figure 8 shows the aggregate control packets generated for each node by both protocols. EARP  generated 21.01% less control packets than AODV. The total control packets generated by EARP for the period of simulation were 12 335 packets less than AODV. Based on the similar packet size, this amounts to energy savings of approximately 1233 joules.

Scenario III-low mobility
Low mobility was simulated to represent close to a best case scenario, where the nodes do not lose links very frequently. This case can be used to demonstrate an upper bound on energy savings in an ad hoc wireless environment. Low mobility was simulated by increasing the pause time of nodes in the random waypoint mobility model. The maximum speed was set to 3 m/s and minimum speed was set to zero with a pause time of 1000 seconds. The graph in Figure 9 compares the RREQs generated by both protocols under these conditions. In aggregate for all 40 nodes, EARP generated 48.05% less RREQs than AODV. The graph in Figure 10 shows the comparison of RREPs generated by each node from 0 to 39 for both EARP and AODV. In aggregate EARP generated 51.08% less RREPs than AODV. The graph in Figure 11 shows the aggregate control packets generated for each node by both protocols. EARP generated 49.20% less control packets than AODV. The total control packets generated by EARP for the period of simulation were 34 874 packets less than AODV. Based on the similar packet size, this amounts to energy savings of over 3 kilojoules.

CONCLUSIONS
This paper provides a quantitative analysis of energy consumption estimates in flooding and directed broadcast methods. The difference between these methods is used to prove the efficiency of EARP over AODV. EARP includes mobility and number of hops as parameters in estimating the lifetime of a route and suggests a unique way to accurately estimate the validity period of a route, thus reducing the repeated transmission of route requests. The major disadvantage of AODV is its overhead due to the high number of route discoveries previously discussed in [16], and EARP defines a technique to reduce these route discoveries, which is the most critical part of ad hoc wireless sensor networks. EARP is well suited for sensor networks due to its ability to adapt to the environment and make routing decisions based on the Control-EARP Control-AODV communication patterns. Relative mobility between sensor nodes is frequently demonstrated in the common sensor network applications. In our future work, relative mobility will be included in the model to estimate the route expiry time.

ACKNOWLEDGMENT
This work was carried out under the research Grant "A Low-Energy Wireless Ad Hoc Sensor Networks Test-bed" sponsored by Kansas NSF EPSCoR.