{xiaoning,dingling,mlli,mwu}@sjtu.edu.cn. Abstract. This paper ..... [1] Akyildiz, I.F., Wang, X., Wang, W.: Wireless mesh networks: A survey. Computer. Networks ...
Geographic Probabilistic Routing Protocol for Wireless Mesh Network Ning Xiao, Ling Ding, Minglu Li, and Minyou Wu Computer Science Department, Shanghai Jiao Tong University, Shanghai 200240, China {xiaoning,dingling,mlli,mwu}@sjtu.edu.cn
Abstract. This paper presents GPR (Geographic Probabilistic Routing protocol), an opportunistic routing protocol worked between mesh routers in WMNs (Wireless Mesh Networks). In GPR, nodes detect the link condition by probe packets. In order to send a packet, the sender selects a candidate subset. The nodes who successfully received the packet send ACK according to their priority. If there are no ACKs from other candidates, instead of sending ACK immediately, the candidate broadcasts ACK and transmits the packet at transmission-probability. The extensive simulation results show that GPR is promising to achieve higher throughput and better scalability compared to the reference method.
1 Introduction Wireless Mesh Networks (WMNs) are multi-hop wireless networks. An optimal routing protocol for WMNs should select a multi-hop path quickly, avoid traffic congestion, and work well as the network scale increases [1]. The traditional approach to route traffic in WMNs is to adopt shortest path routing schemes which are similar to the methods used in wired networks. While these schemes are effective in wired networks, where a transmission link is either successful or failed; they can not cope with the unreliable or unpredicted medium of wireless networks. Opportunistic routing [2, 3, 4, 5] is a novel research area for wireless networks to deal with the trustless medium. Opportunistic routing broadcasts packets firstly and then chooses the next hop receiver based on which neighbor has successfully received them. One of the key challenges in opportunistic routing is to maximize the distance a packet advanced in one transmission without causing much duplicate transmissions or incurring significant coordination overhead [3]. A lot of researches make efforts to get over this challenge. Most of these methods piggyback the information about the receiver information to the data packet and diffuse them in the networks [3, 4, 5]. MORE [2] induce network encoding into opportunistic routing to renew packets so there are no duplicate transmissions. Most of the previous works do not provide an opportunistic routing to work in large scale networks. The reason is that the coordination overhead increases as the network scale does. This paper proposes Geographic Probabilistic Routing (GPR), a novel opportunistic routing works well in large scale networks. Instead of preventing ACK lost, GPR reckons that missing ACK message is inevitable in wireless networks and estimates the probability at which this situation would happen. GPR is based on M. Xu et al. (Eds.): APPT 2007, LNCS 4847, pp. 477–486, 2007. © Springer-Verlag Berlin Heidelberg 2007
478
N. Xiao et al.
the geographic routing [13, 14, 15] since the geographic distance a packet moved forward can be simply and clearly weighed. We evaluate GPR through NS-2 simulations with diverse network topologies and make the following findings: • GPR provides a way for node to decide whether a packet should be forwarded when it does not know which nodes had also received the packet. In simulations, GPR’s throughput increases more than 50% at the expense that the duplicate transmissions fluctuate in the range of 0.57~1.36. The throughput declines slowly as the number of simultaneous flows increases while the duplicate transmissions keep in the same area. • GPR performs well as the network scale grows. Since the coordination overhead does not increase significantly as the network scale grows, GPR can work properly in large scale networks. In our simulations, when averagely packets come through 3 relay nodes to get to the destination, GPR deliveries more than 50% of the total packets successfully. The rest of the paper is organized as follows. In section 2 we present the related works. We give a simple motivation example in section 3 and describe GPR in details in section 4. We illustrate our simulations and the results in section 5. The conclusion is given in section 6.
2 Related Works In opportunistic routing, there is an intuitive tradeoff between duplicate transmissions and coordination overhead. We can increase the communication between the sender and receivers to decrease duplicate transmissions, or communicate as little as possible at the expense of multiple retransmissions. Researchers have brought out their way to achieve these purposes. ExOR [4][5] is the first completely opportunistic routing protocol. In 2003, S. Biswas advanced the primal scheme of ExOR [5] which we called as ExOR-1. In this scheme, candidates send ACK messages in turns and decide whether to forward the packet according to the ACKs it has received. ExOR-1 does not give an effective way to constrained duplicated transmission when the ACKs are not received correctly. In 2005, S. Biswas brought forward another scheme of ExOR [4] that we named as ExOR-2. It strictly schedules the routers’ access to the medium before a batch of packets (10-100 packets per batch) is broadcast by the initial sender. ExOR-2 uses the batch map to record which packets each node has received and diffuses it with the data packets; every relay node only forwards the packets that have not been acknowledged by nodes closer to destination. ExOR-2 effectively decreases duplicated transmissions and provides significant throughput improvement. However, supporting multiple simultaneous flows is still an open question in ExOR-2. SOAR [3] introduced the priority-based forwarding mechanism to prohibit duplicate transmissions. It spreads ACK message in the network in a cheap way to constrain duplications and improves the throughput significantly. In SOAR, there must be more intra-flow interference for the relay nodes when there are multiple packets transmitted between the same source-destination pair.
Geographic Probabilistic Routing Protocol for Wireless Mesh Network
479
MORE [2] combines network encoding and opportunistic routing to support multiple simultaneous flows. Using this method, source node creates random linear combinations of packets and broadcasts the coded packets continually. The relay nodes combine the independent packets and forward them. The destination sends ACK message to source along the shortest path when it can decode the independent packets. Cooperation network coding into opportunistic routing is a novel idea in this area.
3 Motivation Example In the part, we explain the motivation of GPR. As shown in Fig.1, source S has a packet for destination D. Three nodes relay the packet for S, and does it in this turn: node 1, node 2 and node 3. The direction of links shows the transmission direction and the transmission reliabilities are labeled above them. Every node knows their forward reliability and backward reliability with its neighbors. S sends the packet containing the candidate subset and the corresponding forwarding reliabilities. Received the packet, nodes 1-3 send ACK messages along the following process: (1) Node 1 receives the packet successfully, it sends ACK message and forward the packet; other nodes drop the packet if they receive the ACK message. (2) Node 2 receives the packet and waits for node 1’s ACK message. If it does not hear the ACK, node 2 need to decide whether to send ACK itself. There are mainly two reasons that node 2 does not receive ACK message from node 1: first, node 1 does not receive the data packet, the probability this situation happens is: 1 0.3 = 0.7; secondly, node 1 successfully receives the packet and sends ACK, but node 2 missed it and this happens at the probability: 0.3×(1 0.7) = 0.09. So node 2 send ACK at probability: 0.7 / (0.7+0.09) = 0.886. (3) Node 3 waits for the other two nodes’ messages to decide whether to forward the packet. Like node 2, it calculates the probability to send ACK if no message have been heard. Node 3 transmits the packet when it does not hear any message from other nodes at probability: (0.7+0.5) / (0.7+0.12+0.5+0.25) = 0.764. If source S heard ACK message from any of the candidates, it drop the duplicate for the packet. We will explain GPR including nodes in detains in the next section.
-
0. 7
6 0.
0.5
Fig. 1. The motivation example of GPR
-
480
N. Xiao et al.
4 Geographic Probabilistic Routing Protocol As explained above, in GPR the candidates estimate the probability to forward a packet if it does not hear ACK from other candidates. Since it chooses the candidate set based on the neighbors’ location information, GPR works in the following scene: At first, every node in GPR is static. This is because lots of mesh routers are deployed and not moved again in the WMNs. Secondly, the network is dense enough that each node can get the candidate nodes. Thirdly, the nodes know the topology of the network. This can be achieved by using GPS devices and so on. GPR cooperates with extended 802.11 mac protocol to achieve probabilistic forwarding. Extended 802.11 mac protocol listens to the mac layer ACKs, calculates the transmission-probability and retransmits the packets. In the following sections, we describe the GPR and extended mac protocol in detail. 4.1 Communication Condition Estimation At first, we give the definition of the forward reliability and the backward reliability; then explain how to get them. • Pij(i): the forward reliability from node i to its neighbor node j which is knew by node i; • Pji(i): the backward reliability from its neighbor node j to node i itself which is knew by node i. GPR can be divided into information gathering period and packet transmission period. After the deployment of mesh routers, nodes begin to gather the initial information about the link property. During this phase every node sends probe packet per second. The packets from node i contain the list of its neighbors and the corresponding backward reliability Pji(i) (node j is node i’s neighbor). Node j received the probe packets does two things: firstly, it updates its backward reliability Pij(j); then, if the probe packet contains the node backward reliability Pji(i), node j renews its forward reliability Pji(j) with it. Given the beaconing frequency is known, these reliabilities are measured by the number of messages received successfully in the last 10 seconds over the number of messages expected to be received during this time interval. GPR uses EWMA (Exponentially Weighted Moving Average) [3] as the link estimator. EWMA is a linear combination of infinite history with exponential weights. Let Pt be the current reliability estimation, n is the number of known missed packets, m is the number of received packets, and w is the window size. Then the reliability is updated as (1): Pt +1 = Pt × α + Pt +1 × (1 − α )
(1)
m and m and n are reset to 0 when m+n > w. m+n When node i gets its forward reliability Pij(i) and backward reliability Pji(i) with neighbor j, the ETXij (i) (Expected Transmission Times)[6] between these two nodes is:
where 0 < α < 1, Pt +1 =
Geographic Probabilistic Routing Protocol for Wireless Mesh Network
ETX ij (i) =
1 Pij (i) × Pji (i)
481
(2)
After the information gathering period, every node has constructed its neighbor table. The table contains the nodes it hears directly and the corresponding estimated link reliabilities. When the node has a packet to send, it chooses the nodes from this table to form the candidate subset. During the packets transmission period, the probe packets are still sent, so the neighbor tables contain the most recent link information. And, if a node has not been heard for a predefined time, we judge it as failed. Nodes update their neighbor tables and clear the failed neighbor’s entry, thus there would be no packet sent to it. 4.2 Candidate Subset As mentioned at the beginning of section 4, the nodes in the network keep the topology map of the network. When a node has packets to send, its can get the location of the destination and its neighbors, then uses these information to get the candidate subset. The routing algorithm will be explained in detailed using Fig. 2. In Fig.2, nodes 1-7 are the neighbors of source S. When S wants to send packets to destination D, it looks up in the neighbor table, and selects the neighbors that fall within an angle θ in the direction of D. The value of θ is picked big enough to guarantee that there are nodes fall into this area in a dense network, but must be smaller than 180°. Thus no packet is sent in the backward direction. To ensure packets do not cycle in a loop, every time the packet is forwarded, it must never be send to nodes farther than the destination. If the packet is received by a node projected beyond the direct line between source-destination pair, it is dropped. There may be a lot of nodes can be chosen as relay nodes, and some of them have very low transmission reliabilities. We choose the relay nodes by ETD (Expected Transport Distance) calculated by (3): ETDsi = Dist si * cos α / ETX si ( s )
(3)
As showed in the Fig.3, α is the relative inclination between the line from S to D and the line from S to the intermediate node i. Distsi is the distance between source S and node i. Thus Distsi*cosα is the effective forward distance from S to node i in the direction of the destination. ETD is the expected transmission distance between S and node i over a time interval. In other words, GPR chooses the relay node which can make the largest expected positive forward distance. Once get the candidate subset, S sorts the candidate nodes in the decreasing order of their effective forward distance in the direction of D. So a candidate node making the largest forward distance in direction of destination D sends ACK firstly. The i-th forwarding node in the list sending their ACK messages after (i-1)×δ. δ is the time to listens to ACK message from a higher prior node. To limit the delay variance and reduce overhead, we limit the maximum number of forwarding nodes to 4.
482
N. Xiao et al.
Fig. 2. A simple topology
Fig. 3. Example of ETD
4.3 Probabilistic Forwarding In Fig.2, nodes 4-7 compose the candidate subset for the packet. Source S adds the forwarding list contains nodes’ id and the forward reliabilities Psi(s) (i = 4…7) in the packet header. The priority of the forwarding nodes is demonstrated by their position in the list. When a node receives this packet, first of all, it checks if it is in the forwarding list: the nodes do not be contained in the list just drop the packet; the nodes in it send ACK message orderly. As the example in section 3, if a node receives the ACK messages from the others, it drops the packet. Otherwise it estimates the transmissionprobability. If the low priority node does not receive ACK from the high priority ones, there are two major reasons: the high priority nodes do not receive the packet; or the high priority ones receive the packet and send ACK, but it has missed them. Since the low priority node sends back ACK only if the high priority ones had missed the packet, the low priority node sends ACK in accordance with (4): ⎧T j = 1 ⎪ j −1 ⎪⎪ (1 − Psi ( s)) ∑ ⎨ i =1 ⎪T j = j −1 ⎪ ((1 − Psi ( s)) + Psi ( s )(1 − Pij ( j ))) ∑ ⎪⎩ i =1
(j = 1) (j > 1)
(4)
Tj is the transmission-probability of node j for the packet. When a node does not receive any ACK message, instead of transmitting the packet immediately, it broadcasts ACK and sends the packet at the possibility calculated by (4). In the lossy wireless network, there could be no candidates received the packet thus no ACK was heard by the sender. In these cases, GPR uses mac layer retransmission to send the packet again. In order to be compliant with 802.11 mac protocol, the maximum retransmission times is set to 4. 4.4 Decreasing Duplicated Transmission Because of the unreliable wireless medium, the following undesired situation would happen. One of the relay candidates sends ACK message and forwards the packet. While the other candidate receives this ACK and drops the packet, just the sender misses it and retransmits the packet in vain. This is a major reason for duplicates. In order to decrease this kind of duplications, every relay node remembers the packet it has processed. If it receives a packet more than once, the node only sends the ACK to
Geographic Probabilistic Routing Protocol for Wireless Mesh Network
483
inform the others that it received the packet. Instead of forwarding it once again, the relay candidate just drops the packet quietly.
5 Simulation and Evaluation We simulated our protocol using NS-2 [10] and compared it with the SOAR [3]. In this part we describe the simulation results and evaluation in particular. 5.1 Simulation Environment Data Link Layer Model: We extended IEEE 802.11 mac protocol and disabled the RTS/CTS to cooperate with GPR. As the baseline comparison, SOAR works with IEEE 802.11 disabled the RTS/CTS [3] as well. In the simulation, we think the transmission reliability only changes with distance. The transmission range of mesh router changes between 70m to 300m randomly in the simulation environment. Table.1 is the transmission reliability at different distances: Table 1. The transmission reliability at different distances
Distance Transmission Reliability Distance Transmission Reliability Distance Transmission Reliability
70m
80m
90m
100m
110m
120m
130m
140m
1.000
0.883
0.785
0.701
0.628
0.565
0.508
0.457
150m
160m
170m
180m
190m
200m
210m
220m
0.412
0.370
0.311
0.296
0.263
0.233
0.205
0.178
230m
240m
250m
260m
270m
280m
290m
300m
0.153
0.130
0.107
0.086
0.066
0.047
0.029
0.012
Link Estimation: We use EWMA (Exponential Weighted Moving Average) to estimate the link condition with α = 0.8, w = 1. To simplify the calculation, we calculate the transmission reliabilities based on the received packet in the last 10 seconds. Network Topologies: Firstly, for simple evaluation of GPR and SOAR work in a multiple flows wireless network, we simulate GPR and SOAR on the 3×3 and 5×5 grid topologies with two flows. Then we run simulations on various random topologies to verify that GPR works well as the network scale increases. To compare the performance of GPR and SOAR, we choose the following metrics: • Throughput or Packet Delivery Ratio: This is defined as the ratio of the number of packets received by the destination, to the number of packets originated by the source. • Delay: The average duration takes from a packet is initially sent by the source to it is successfully received at the destination for the first time. • Path Length: Path length is defined as the number of hops a packet takes to reach its destination.
484
N. Xiao et al.
5.2 Results and Evaluations In grid topologies, we generated 2 CBR flows send data at the rate of 6Mbps, using the diagonal nodes as source-destination pairs. The smallest distance between any two neighbored nodes is 70m. The elementary results are showed by Table.2 and Table.3. From these two tables, we see that the throughput decrease in wireless network as the path length grows. In the 3×3 grid topology, GPR takes advantage of the sourcedestination pairs are within the largest transmission range of each other. GPR increases the throughput by 22.41%, decreases the delay by 86.17% compare to SOAR. In the 5×5 grid topology, we see the throughput decreases with path length grows. Table.3 shows that GPR’s throughput decrease slower than SOAR’s, but the delay increases obviously. This is because some of the packet’s holding and waiting time in relay nodes increases significantly than the others.Table.3 shows the throughput of GPR increases about 211% than that of SOAR. Table 2. The elementary results for a 3×3 grid topology with 2 flows
Routing Protocol GPR SOAR
Throughput 95.44% 78.04%
Average Delay 0.013 0.094
Path Length 2.050 2.267
Table 3. The elementary results for a 5×5 grid topology with 2 flows
Routing Protocol GPR SOAR
Throughput 46.67% 15.02%
Average Delay 1.173 0.437
Path Length 4.135 5.023
Next, we run simulations on networks with 20-60 nodes placed randomly in different square areas. In each scene we selected 2, 3, 5 pair of nodes at random and generate CBR traffic with 6 Mbps data rate. Fig.4 shows the throughput in different network scales with different number of flows. We see that the throughput decreases as the network scale increases, but GPR’s decreases slowly than SOAR’s. When 20 nodes uniformly distributed on a 250m×250m square, GPR can output SOAR from 54.08% to 312.07% as the network load increases. When the scale of network reaches 60 nodes in area of 450m×450m square, SOAR can not work at all while GPR still works properly. Fig.5 plots the average delay of GPR and SOAR in different network scales and varied flow conditions. As the network scale reaches 60 nodes, SOAR can not work properly and Fig.5 shows this as delay reaches the maximum. In all kinds of network conditions, GPR outputs SOAR from 6.5% to as much as 35 times. Fig. 6 shows the average path length the packets come through in diversity network conditions. It also shows SOAR does not work at all using the maximum value when the network scale reaches 60 nodes. We see that GPR decreases the average path length compared to SOAR. This verifies that GPR makes every transmission as long as possible to get the largest distance a packet can advance.
Geographic Probabilistic Routing Protocol for Wireless Mesh Network
485
Fig. 4. The throughput of GPR and SOAR with different flow numbers in different network scales
Fig. 5. The average delay of GPR and SOAR with different flow numbers in different network scales
Fig. 6. The average path length of GPR and SOAR with different flow numbers in different network scales
6 Conclusion In this paper, we present a novel opportunistic routing protocol, called GPR. It uses the geographic information of source-destination pair to get candidate subset. The relay nodes listen to the ACK messages from other candidates before their turn to send ACK and transmit the packet. If there was no ACK messages have been received, the nodes acknowledge the packet and relay it at the transmission-probability. In this way, the duplicate transmissions decreases with little coordinate overhead. GPR cooperates with the mac layer to prevent duplicate transmission or packet loss because nodes make the transmission decision incorrectly. We use simulations prove that the throughput of GPR can increase over 300% than reference method. The simulations also verify that GPR is scalable as the network scale increases.
Acknowledgement This research was supported by the National Basic Research Program of China (973 Program) under grant No. 2006CB303000, National Natural Science Foundation of China under Grant No. 60473092 and No. 90612018.
486
N. Xiao et al.
References [1] Akyildiz, I.F., Wang, X., Wang, W.: Wireless mesh networks: A survey. Computer Networks Journal (2005) [2] Chachulski, S., Jennings, M., Katti, S., Katabi, D.: Trading Structure for Randomness in Wireless Opportunistic Routing. In: Proc. of ACM SIGCOMM, ACM Press, New York (August 2007) [3] Rozner, E., Seshadri, J., Mehta, Y., Qiu, L.: Simple Opportunistic Routing Protocol for Wireless Mesh Networks. In: Proc of the 2nd IEEE Workshop on WiMesh, IEEE Computer Society Press, Los Alamitos (2006) [4] Biswas, S., Morris, R.: ExOR: Opportunistic multi-hop routing for wireless networks. In: Proc. of ACM SIGCOMM, ACM Press, New York (August 2005) [5] Biswas, S., Morris, R.: Opportunistic routing in multi hop wireless networks. In: ACM HotNets (August 2003) [6] Couto, D.D., Aguayo, D., Bicket, J., Morris, R.: A high-throughput path metric for multihop wireless routing. In: Proc. of ACM MOBICOM, ACM Press, New York (September 2003) [7] Draves, R., Padhye, J., Zill, B.: Comparison of routing metrics for multi-hop wireless networks. In: Proc. of ACM SIGCOMM, ACM Press, New York (August 2004) [8] Jain, S., Das, S.: Exploiting path diversity in the link layer in wireless ad hoc networks. In: Proc. of the 6th IEEE WoWMoM Symposium, IEEE Computer Society Press, Los Alamitos (June 2005) [9] Johnson, D.B., Maltz, D.A., Broch, J.: DSR: The dynamic source routing protocol for multihop wireless ad hoc networks. In: Ad Hoc Networking (2001) [10] The network simulator – ns-2, http://www.isi.edu/nsnam/ns/ [11] Perkins, C.E., Bhagwat, P.: Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers. In: Proc. of ACM SIGCOMM, ACM Press, New York (1994) [12] Perkins, C.E., Royer, E.M.: Ad hoc on-demand distance vector routing. In: Proc. of the 2nd IEEE Workshop on Mobile Computing Systems and Applications, IEEE Computer Society Press, Los Alamitos (February 1999) [13] Mauve, M., Widmer, J., Hartenstein, H.: A Survey on Position Based Routing in Mobile Ad-hoc Networks. IEEE Network Magazine 15(6), 30–39 (2001) [14] Basagni, S., et al.: A Distance Routing Effect Algorithm for Mobility (Dream). In: Proc. 4th Annual ACM/IEEE Int. Conf. Mobile Computing and Networking, MOBICOM, IEEE Computer Society Press, Los Alamitos (1998) [15] Kranakis, E., Singh, H., Urrutia, J.: Compass Routing on Geometric Networks. In: Proc. 11th Canadian Conf. Comp. Geo., Vancouver (1999)