1. Introduction
Utility-based routing is a special type of routing approach using a composite utility metric when making routing decisions in ad hoc and sensor networks [1]. The concept of utility is commonly used in microecnomics and refers to the level of satisfaction the decision-taker recieves as a result of its actions. When used in ad hoc and sensor networks, it is defined as the benefit minus the cost, where the benefit is the reward for successful delivery of a packet and the cost is the energy cosumption incurred by the packet delivery. Since the actual benefit or energy cost cannot be obtained before making the routing decisions, expected utility (EU) is used as the metric instead, which equals the expected benefit minus the expected cost. The utility-based routing has the following major advanteges. First, the utility metric takes the reliability and transmission cost into account at the same time, so that the reliablity can be flexibly weighed against the transmission cost depending on the value of the packet. Second, this type of routing can be implemented in a distributed manner while achieving global optimum of the expected utility.
For nodes in ad hoc and sensor networks, the underlying scarce resourse is energy. In fact, reliable transmission relies on the energy resource trading. Specifically, a more reliable path largely counts on higher transmit power of the forwarding nodes or more retries when there are transmission failures, which is usually more costly. A less reliable path is the opposite and is usually less costly. Intuitively, a flexible allocation of transmit power and retry limit may offer more choices in routing decisions. Previous studies on the utility-based routing all assume fixed retry limit which makes the utility optimization less efficient. Also they use a very simple distance related energy model which cannot well capture the correlation of the transmit power, the retry limit, the link reliability and the energy cost. Furthermore, the power levels of real nodes are discrete and they do not correspond to certain communication radius precisely. In this paper, we refine the uitlity model by incorporating the node’s transmit power and retry limit into the optimization framework. The objective of the routing decsion is to maximize the expected utility of packet delivery with optimized transmit power and retry limit allocation.
The remainder of the paper is organized as follows. Section 2 discusses existing related work on utility-based routing and points out some limitations. Section 3 first overviews the original utility model and then elaborates on our refinement and extensions to the model and finally formulates the problem. Section 4 proposes a new algorithm to implement the routing based on the extended model and analyzes its time complexity. Simulations are conducted in Section 5 to evaluate the performance and show the comparison with other routing algorithms. Finally, Section 6 concludes the paper.
2. Related Work
Various existing routing protocols [2, 3, 4, 5] pursue the minimum expected transmission count (ETX) or minimum cost. However, these metrics are not necessary ideal when the packets are of different importance. Specifically, packets of greater importance, e.g., alarm messages, should better be sent along a more reliable path even at the expense of more energy cost. On the contrary, periodic packets of less importance can be sent along a less reliable but energy efficient path. Fortunately, a special type of routing based on composite utility is tailored to meet the above requirement.
The concept of utility-based routing is first proposed in [1] to balance the reliability and transmission cost of the message delivery in ad hoc networks. A simple analogy that relates to utility-based routing is the postal service: a high value package usually uses registered mail for reliability at a higher premium cost. An ordinary package is usually mailed through a regular service. The utility model proposed in [1] is then extended to be used in designs of various type of routings, e.g., opportunistic routing [6, 7], data gathering tree [8], routing for duty-cycle [9, 10] and delay-tolerant sensor networks [11]. However, the utility models in these work have several drawbacks. Firstly, a very simple distance related cost model is used in previous utility models, which does not agree with the practice that the power levels of real nodes are discrete and they do not correspond to certain communication radius precisely. Secondly, they consider the per-hop packet reception rate (PRR) as a random number in the range of [0,1] in the simulation. Actually, the PRR is correlated to the distance, the transmit power and the retry limit. A simple random PRR model cannot capture these correlations. Thirdly, fixed retry limit is used in all previous utility models which may confine the optimization of the expected utility. As a matter of fact, it has been investigaed in [12] that retry limit adaptation depending on the channel condition and the priority of packets can greatly improve the network efficiency. Therefore, in this paper, we refine the uitlity model by incorporating the node’s transmit power and retry limit into the optimization framework. The objective is to find an utility-maximum path with optimized transmit power and retry limit allocation in intermediate nodes.
3. System Model and Problem Formulation
3.1 Network and Link Model
The network is modeled as an undirected graph G(V, E), in which V={1, 2, ..., N} denotes the set of N nodes, and E is the set of edges in the network. There is an edge between two nodes i and j if and only if the link packet reception rate (PRR) pi,j (without retry) is no less than a given threshold pt, namely, (i, j)∈E if and only if pi,j ≥ pt,. For any pair of nodes i and j, pi,j is a function of the distance di,j between i and j, and the transmit power Ti node i adopts, namely, pi,j=F(di,j, Ti). We assume symmetric links, which implies that if i and j adopt the same transmit power, pi,j=pj,i. In the following, we will derive the explicit expression of pi,j. Assuming all possible bit errors in a packet can be detected, the PRR of a single transmission of a packet from i to j with payload of l bits and ACK la bits is given by:
where pb is the channel bit error rate (BER), which mainly depends on different modulation schemes and the signal-to-noise ratio (SNR) at the receiver. Table 1 shows the expressions of pb according to different modulation schemes, where γ is the SNR at the receiver, BN is the noise bandwidth, R is the data rate, and Q(·) is the tail integral of a unit Gaussian probability density function, i.e., .
Table 1.Expressions of BER according to different modulation schemes
In wireless ad hoc and sensor neworks, the communication attempts of multiple nodes are controlled through the MAC layer solutions. Generally, these MAC protocols limit the simultaneous communication effects so that the interference from different nodes is minimized. Hence, co-channel interference can be neglected. Similarly, adjacent-channel interference can be regarded as random and, hence, modeled as additional noise. Accordingly, a simplified representation of SNR at the receiver is as follows:
where PL(d0) is the path loss at the reference distance d0 (usually 1m) in dBm and η is the path-loss exponent, Pn is the noise floor in dBm. By combining Eq.(1), Eq.(2) and one of the expressions in Table 1, we can obtain the expression of pi,j in term of the distance di,j and the transmit power Ti. Taking the modulation scheme PSK binary for example, the expression of pi,j is:
Fig. 1 illustrates Eq. (3) and we can clearly see how PRR varies with the increase of the output power and the distance between the transiver and the receiver.
Fig. 1.An illustration of how PRR correlates with the output power and distance
3.2 Utility Model
3.2.1 Basic Utility model
In utility-based routing [1], a source s intends to send packets to a destination d. First, we consider s and d are within a single link. The packet is assigned a benefit value, v. The transmission cost and link PRR from s to d are denoted as cs,d and ps,d, respectively. If the transmission is successful, s will obtain benefit v, incur cost cs,d, and its utility is v−cs,d. Otherwise, its utility is 0−cs,d. Since the link PRR from s to d is ps,d, the failure probability is 1−ps,d, then the expected utility is:
Second, consider a multi-hop path R, , the corresponding expected utility is as follows:
It has been proved in [1] that Eq. (5) can be derived from Eq. (4) recursively in a backward fashion. For example, in Fig. 2, two paths exist: r1: <1, 3>, r2: <1, 2, 3>. Each link is labeled with its associated reliability/cost. The benefit value v=20. Consider path r2, by applying Eq.(5), we have U=p1,2*p2,3*v-(c1,2+c2,3*p1,2)=0.9*0.8*20-(2+3*0.9)=9.7. In a backward fashion, we can view node 2 as the virtual source and apply Eq. (4) to link (2, 3) and obtain: u2=p2,3*v-c2,3=0.8*20−3=13, where ui is used to represent the residual expected utility (REU) of node i because node i is not the real source. Then, we apply Eq. (4) to link (1, 2) and obtain: U=u1=p1,2*u2-c1,2=0.9*13−2=9.7. In general, for any node i in a multi-hop path R=, the recursive expression of ui is as follows:
Fig. 2.An example illustrating basic utility model
By applying Eq.(6) recursively from the destination to the source, we can get the final utility U=us. which is proved equal to the result obtained by Eq.(5).
3.2.2 Extended Utility Model
In the above basic utility model, there is no correlation between the reliability and the cost. Previous work all assume the PRR indicating the reliablity is independent and simulate it as a random variable in the range of [0, 1], which in our view is unrealisc in practical. As we have shown in Section 3.1, the link PRR is correlated to the output power and the distance between the transiver and the receiver. So in this section, we refine the basic utility model by applying the link model introduced in Section 3.1 and further incorporate the retransmission scheme.
Higher output power and more retransmissions can increase link reliability, but they also introduce additional energy cost. It is an interesting problem to investigate how high the output power and how many retransmission is optimal. Suppose the retry limit of link is Ki,j, the basic utility model only deals with a special case with Ki,j=0. In general, the expected successful rate with Ki,j retry limit, denoted by Pi,j, is as follows:
The expected number of transmissions from node i to node j under the condition of successful delivery, denoted by χi,j, is as follows:
Since we have the following equation:
Eq. (8) can be further written as:
With Eq.(7) and Eq.(10), we rewrite the recursive expression of Eq.(6) as follows:
Note that if the retry limit is zero, i.e., Ki,i+1=0, Eq. (11) can be reduced to Eq. (6). If the retry limit is unlimited, i.e., Ki,i+1 →∞, Eq. (8) can be reduced to:
The problem is reduced to the expected least cost path problem [5].
In the following, we illustrate how the extended utility model is used for resource allocation in routing decisions. As shown in Fig. 3, two paths exist just as in Fig. 2: r1: <1, 3>, r2: <1, 2, 3>. Different from the example in Fig. 2, each node in Fig. 3 can select two power levels, which is labeled with associated reliability/cost upon the link. Obviously, a node selecting a higher power level obtains a more reliable link but incurs higher energy cost. The detailed correlation between the reliability and the cost can be refered to Eq.(3). For the sake of simplicity, we directly give the options of the PRR and the coresponding cost of each link in this example. Due to limited power supply of each node, we assume that the retry limit can take the values from 0 to 5. The objective of our problem based on the extended utility model is to find an optimal power level and retry limit for each intermediate node so as to achieve a maximized utility of packet delivery.
Fig. 3.An example illustrating extended utility model
We consider two different benefit values v=4 and v=60. By applying Eq. (11), the utilities under different power levels and retry limits are calculated and listed in Table 2. If the benefit v=4, the maximal utility is 2.0363 and the optimal path is <1,3>, with node 1 taking the power level 1 and retry limit 4, but if v=60, the maximal utility is 57.2787 and the optimal path is <1,2,3>, with both node 1 and node 2 taking the power level 1 and retry limit 5.
Table 2.The utilities for different benifits under different power levels and retry limits
3.3 Problem Formulation
The calculation of the expected utility starts from the destination with the initial expected utility equal to the per packet benefit. The residual expected utility (REU) will be reduced at each intermediate node backward from the destination to the source according to the cost and stability of the links, where the source is the endpoint. The problem can be described as finding a routing path from the destination d to the source s, and the best transimit power and retry limit for each intermidiate node, to achieve the maximal residual expected utility us at the source. Consequently, our optimization problem becomes:
where T and K denote the set of discrete values that each node’s transmit power and retry limit can take from, respectivly. In the next section, we give solutions to the above optimization problem.
4. The Solution
4.1 The Centralized Algorithm
In this section, we propose a expected utility maximization with power and retry limit allocation algorithm, maxEU-PRA, where the maximum expected utility us can be achieved by choosing an optimal routing path with optimal power and retry limit allocated to intermediate nodes. Based on the fact that Eq. (11) is an iterative formula and the values each node’s transmit power and retry limit can take are discrete and finite, each node can compute its own optimal REU value when it knows the optimal expected utility values of the neighboring nodes. Therefore, a backward derivation algorithm calculating the optimal expected utility of each node can be designed. Accordingly, the optimal delivery path with allocation of the transmit power and retry limit can also be determined. The detailed process of maxEU-PRA algorithm is presented in Algorithm 1. A few additional notations used in maxEU-PRA algorithm are listed as follows:
The centralized algorithm (Algorithm 1) assumes that the reliability and transmission cost of each link in the network are known a priori. Step 1 makes an initialization, in which the REU of all nodes except d are set to -∞ and d’s REU is set to v. In the beginning, d’s REU is the highest, thus, d is fetched and put into Q, corresponding to Steps 3-5. Then, the neighboring nodes of d with maximum transmit power are fetched and the REU of each neighbor is calculated according to Eq.(11) under different values of transmit power and retry limit, and each time the larger value of REU is saved, correspingding to Steps 6-17. Then each node in the neighborhood of d records its optimal REU with respective transmit power and retry limit in this round, and sets its next hop Next(i) to be d, corresponding to Steps 18. UM-PRA algorithm repeatedly removes the node with the highest REU from V, inserts it into Q and calculates the optimal REU of its neighbors, until node s is inserted. In Step 4, if ui≤0, we stop the current computation since the message delivery cannot achieve a positive utility. It is worth noting that the backward method has been successfully implemented in solving various routing problems based on the respective utility models [1, 6-11] and proof of its correctness is given in [1]. Accordingly, similar proof can be made for our proposed maxEU-PRA algorithm. To avoid duplication, we omit the proof here.
4.2 Complexity Analysis
In this subsection, we analyze the complexity of the algorithm, which is measured by the number of operations such as comparisons, calculations, etc. In Algorithm 1, the execution time of line 3 is O(N), where N is the number of nodes in the network. Lines 6-19 corresponds to a process of iterative search, which costs at most O(|T||K|Dmax) time, where |T| and |K| are the number of discrete values that the transmission power the retry limit can take, respectively, and Dmax is the largest vertex degree of the network. The outer while loop executes at most O(N) times. Therefore, UM-PRA algorithm can be implemented in O(N(N+|T||K|N Dmax))≤O(DmaxN2) time, since |T| and |K| are usually fixed values.
4.3 Distributed Implementation
For pratical implementation, the above proposed algorithm is costly since it has to know the utility information of the all the nodes in the network. We thus propose a distributed solution in this subsection. The distributed implementation can be gracefully integrated into a reactive routing protocol, such as AODV [13] or DSR [14], where two phases are used. In the route discovery phase, the source broadcasts a RREQ (route request) to its neighbors. The RREQ is propagated in the network until it arrives at the destination, which initiates a RREP (route reply) containing relevant information following the reverse link leading to the source. The detailed process of distributed implementation is as follows.
Step 1: The source broadcasts a RREQ to inform of its benefit.
Step 2: Each intermediate node forwards the message upon receiving the first request until the message arrives at the destination.
Step 3: The destination broadcasts a RREP with its expected utility to initialize a route discovery phase that will form a global directed flooding tree rooted at the destination.
Step 4: Each node, including the source, sets a timer on receiving the first expected utilities. Before timeout, it selects the node from which it receives the maximum expected utility to be its forwarder.
Step 5: After timeout, each intermediate node computes its REU based on the maximum expected utility it receives under different values of transmit power and retry limit. Then it sends out the maximum REU to all neighbors and records the transmit power and retry limit pair corresponding to the maximum REU.
It is worth noting that the initial value of the timer reflects the expected utility of the node. The higher the expected utility it receives, the shorter time node will backoff before it broadcasts its own REU. Whenever a node receives a new expected utility that improves its original one, it will reduce the remaining backoff time accordingly. If there is no transmission delay, the node with maximum REU will broadcast the RREP first. This will enable the distributed implementation to find the optimal route. However, due to transmission delay, the node with larger expected utility is not necessarily the node that broadcasts earlier. If the backoff time for a node is up while the RREP that can improve its REU is still on the way, the REU of the node cannot be maximized.
5. Performance Evaluation
In this section, we evaluate the performance of our algorithm by extensive simulations. We also implement two other algorithms for comparison: minETX and minEC. MinETX lets messages be delivered along the path which has the minimum expected transmission count (ETX). MinEC delivers messages along the path with the least expected cost (EC). Both algorithms determine the paths by Dijkstra algorithm [15].
5.1 Simulation Environment
All approaches are simulated on our customized C++ simulator. Nodes are uniformly distributed in a 100m×100m field. We fix the position of the source s and the destination d at locations (5m, 5m) and (95m, 95m), respectively. In the simulation, concerning the cost, we only consider the transmission cost for simplicity. Other cost, e.g., idle listening and receiving cost, is correlated positively to the transmission count which determines the transmission cost. Therefore, ignoring idle listening and receiving cost will merely affect the absolute values of energy cost but will not affect the comparison results. The transmission cost, denoted by Ctx, is computed as follows:
where Itx is the current consumption, Vt is the voltage, which is assumed a constant value, ttx is the transmission time which is simply the length of the packet l divided by the data rate R. The current consumption Itx is correlated to the transmission power. For Telosb with CC2420 radio module [16], typical current consumptions under different transmision powers are shown in Table 3. Without loss of generality, we choose -10dBm, -3dBm and 0dBm as tunable transmission powers in the simulation. The respective link reliability is calculated by Eq.(3). To avoid too larger delay and even buffer overflow, we restrain the maximum retry limit to be 4 in the simulation, i.e., the intermediate nodes can adaptively take the retry limit from 1~4. For the baseline algorithms minETX and minEC, the retry limit is fixed to 4, but the transmit power can be adapted to reach the optimal performance. We vary the number of nodes from 150 to 420. For each fixed number of nodes, 100 different topologies are generated and 1000 packets are supposed to be sent from the source. We use the average value of the results to evaluate the performance. Other parameters used in the simulation are summarized in Table 4.
Table 3.Current consumptions of CC2420 under different transmit powers
Table 4.Parameter settings in the simulation
The major metrics in our simulations are the average utility, the average total delivery cost, the average end-to-end delivery ratio and the average per-packet cost, where the average per-packet cost is defined as the total energy cost divided by the number of successful deliveries.
5.2 Simulation Results
In the first set of simulations, we evaluate the optimal routes obtained by minETX, minEC and our proposed maxEU-PRA. The initial benefit is set to 50 and the path loss exponent is set to 3. We vary the number of nodes from 150 to 420 in increments of 30. Fig. 4(a) shows that the average utility generally increases with the increment of the number of nodes and the route computed by our maxEU-PRA algorithm has the best performance in terms of the average utility. From Fig. 4(b), we can see that the delivery cost decreases with the increment of the number of nodes and the maxEU-PRA route’s performance is second to best in terms of average total delivery cost. Fig. 4(c) shows that maxEU-PRA achieves better or similar performance with minETX in terms of the average end-to-end delivery ratio. Since the delivery ratios of the three algorithms are different, it is unfair to only compare the average total delivery cost. In order to make the comparison fair, we take the metric of the average per-packet cost. From Fig. 4(d), we can see that our maxEU-PRA has the least per-packet cost. The results show that utility is a good metric in making routing decisions and our maxEU-PRA algorithm can achieve a good trade-off between cost and reliability.
Fig. 4.Performance comparison of minETX, minEC and maxEU_PRA, benefit=50, η=3
In the second set of simulations, we increase the path loss exponent to 3.2, which means the number of reachable neighbors of each node is getting smaller. It can be assumed that the delivery is getting “difficult”. The initial benefit is increased to 65 to ensure that most deliveries have positive utilities. Obviously the energy cost needed to make the delivery increases as shown in Fig. 5(b) and Fig. 5(d). Nevertheless, the performance tendency is very similar to that shown in Fig. 5. We can still draw the conclusion that our maxEU-PRA algorithm can achieve a good trade-off between cost and reliability. It is worth noting that minETX and minEC are not sensitive to the value of benefit. So whatever the value of the benefit is, their performances will remain unchanged if other settings are the same.
Fig. 5.Performance comparison of minETX, minEC and maxEU_PRA, benefit=65, η=3.2
We also evaluate how the value of benefit v impacts on the computation of the optimal route. First, we fix the number of nodes to be 360 and vary the initial benifit from 44 to 56 in increments of 1. Fig. 6(a) shows that the average utility generally increases with the increment of the benefit. Fig. 6(b) shows the cost of the selected routes with the increase in the benefit, while Fig. 6(c) shows the path delivery ratio of the selected paths. Generally speaking, a source with larger benefit is more likely to select a more reliable but more costly route, and on the contrary, a source with smaller benefit is more likely to select a low cost but less reliable route. The object of our maxEU-PRA algorithm is to find the optimal route under a given benefit. Fig. 6(b) and Fig. 6(c) have verified this analysis. It is worth mentioning that when the benefit is too small, the algorithm may not find a route with positive utility. On the contrary, when the benefit is large enough, the improvement space of the optimal path becomes quite limited and thus the cost of the delivery is tending towards a converged value, as shown in Fig. 6(b) and Fig. 6(d).
Fig. 6.Performance comparison with increased benefit and fixed number of nodes, N=360, η=3.2
We further evaluate the performance of optimal routes with increased number of nodes under different benefit values, as shown in Fig. 7. The number of nodes is varied from 150 to 420 in increments of 30. Three different benefit values are taken in the simulation. Fig. 7(a) shows that the average utility generally increases with the increment of the number of nodes. From Fig. 7(b) and Fig. 7(d), we can see that both the total and the per-packet delivery cost decrease with the increment of the number of nodes. As aforementioned, when the benefit is too small, the algorithm may not find a route with positive utility. This explains the absence of results when the number of nodes is 150~240 with the benefit equal to 45. We also notice that when the number of nodes is large, e.g., 300~420 and the benefit equals 50 and 55, the cost and reliability performances are quite similar. This may be caused by the fact that the route decision is not sensitive to small changes of the benefit when the number of nodes is large. For certain range of benefit values, the optimal route may remain the same.
Fig. 7.Performance comparison with increased number of nodes under different benefit values, η=3.2
6. Conclusion
In this paper, a utility-based routing algorithm with adaptive transmit power and retry limit allocation is proposed. With this algorithm, packets with different priorities will automatically receive utility-optimal delivery. The design of this algorithm is based on the observation that for a given benefit, there exists a utility-maximum route with optimal transmit power and retry limit allocated to intermediate forwarding nodes. Delivery along the utility-optimal route makes a good balance between the energy cost and the reliability according to the value of the packets. Both centralized algorithm and distributed implementations are discussed. Simulations prove the superior performance of the proposed algorithm.