Ex OR Opportunistic MultiHop Routing for Wireless Networks

  • Slides: 22
Download presentation
Ex. OR: Opportunistic Multi-Hop Routing for Wireless Networks Sigcomm 2005 Sanjit Biswas and Robert

Ex. OR: Opportunistic Multi-Hop Routing for Wireless Networks Sigcomm 2005 Sanjit Biswas and Robert Morris MIT Computer Science and Artificial Intelligence Laboratory Presented by Sungwon Yang 2009. 05. 12

What is Ex. OR? Extremely Opportunistic Routing in multi-hop wireless networks Cross-Layer Protocol: Routing

What is Ex. OR? Extremely Opportunistic Routing in multi-hop wireless networks Cross-Layer Protocol: Routing + MAC Aims to increase throughput of large unicast transfers Based on cooperative diversity routing

Motivation Traditional routing protocols were designed for wired networks Identify a route, forward over

Motivation Traditional routing protocols were designed for wired networks Identify a route, forward over links packet A packet B src dst C These protocols don’t take into account underlying wireless dynamics at MAC and PHY layer

Motivation Radio is not wired A 1 2 33 4455 56 66 B src

Motivation Radio is not wired A 1 2 33 4455 56 66 B src dst C Every packet is broadcast Reception is probabilistic

Basic concept of Ex. OR exploiting probabilistic broadcast packet A B dst packet src

Basic concept of Ex. OR exploiting probabilistic broadcast packet A B dst packet src C Decide who forwards after reception Goal: only closest receiver should forward

Why Ex. OR might increase throughput (1) src N 1 N 2 N 3

Why Ex. OR might increase throughput (1) src N 1 N 2 N 3 N 4 N 5 dst 75% 50% 25% Best traditional route over 50% hops: 3(1/0. 5) = 6 tx Throughput 1/# transmissions Ex. OR exploits lucky long receptions Assumes probability falls off gradually with distance

Why Ex. OR might increase throughput (2) N 1 % 5 2 src 25%

Why Ex. OR might increase throughput (2) N 1 % 5 2 src 25% 25 N 2 N 3 10 0% 100% % 0 0 1 % N 4 Traditional routing: 1/0. 25 + 1 = 5 tx Ex. OR: 1/(1 – 0. 25)4) + 1 = 2. 5 transmissions Assumes independent losses dst

Ex. OR Design Challenges How to determine which nodes have received a packet? What

Ex. OR Design Challenges How to determine which nodes have received a packet? What node (of the receivers) should forward a packet? Need for a metric which decides the node which is closest to the destination Minimize communication cost of coordination Agreement amongst the nodes which received each packet Not too many nodes should be potential forwarders Minimize collisions

Ex. OR Mechanism: Source’s Behavior Collects enough packets of the same destination to form

Ex. OR Mechanism: Source’s Behavior Collects enough packets of the same destination to form a batch Ex. OR operates on batches of packets for efficiency Source gathers batch of packets to same destination Selects a set of nodes to be candidate forwarders, and includes the prioritized list in the header of every packet Potential forwarders are prioritized by estimated cost to destination (by sender) ETX (Expected Transmission Count) Forwarding in order of priority

What is ETX (1) Expected Transmission Count Proposed by the MIT AI Lab in

What is ETX (1) Expected Transmission Count Proposed by the MIT AI Lab in Mobi. Com 2003 Predict the number of transmission(including retransmission) Designed for finding the high-throughput path in DSDV & DSR routing protocols Using periodical probe packets

What is ETX (2) Forward list: ECDBA Broadcast in this order

What is ETX (2) Forward list: ECDBA Broadcast in this order

Ex. OR Mechanism: Intermediate nodes’ Behavior (1) Q: How can a node know whether

Ex. OR Mechanism: Intermediate nodes’ Behavior (1) Q: How can a node know whether it is one of the forwarders or not? A: Check the forwarder list in the header of the received packet If the node finds itself in the list, buffer the packet and keep state of this batch If no, discard the packet

Ex. OR Mechanism: Intermediate nodes’ Behavior (2) Q: How can a node know whether

Ex. OR Mechanism: Intermediate nodes’ Behavior (2) Q: How can a node know whether the packet it receives has also been received by a node with higher priority or not? A: Ex. OR uses “Batch Map” Acts as a gossip mechanism to carry reception information-- from high priority nodes to low Included in every transmission so that node’s local batch maps will converge Low priority node unlikely to forward a packet received by high-priority node

Ex. OR Mechanism: Intermediate nodes’ Behavior (3) Q: How can a node know when

Ex. OR Mechanism: Intermediate nodes’ Behavior (3) Q: How can a node know when it should send packets? A: Ex. OR uses “Forwarding Timer” Initially set long-enough A node adjusts the timer when it hear other nodes’ packets “Transmission Tracker” keeps track of the remaining number of packets needed to be sent

Ex. OR Mechanism: Destination’s Behavior Actually destination is the last intermediate node and has

Ex. OR Mechanism: Destination’s Behavior Actually destination is the last intermediate node and has the highest priority. After the finish of src’s transmission. Destination sends out packets only including the batch map, to inform other nodes about the packets it has received Upon >90% of batch reception in batch map, packet is not forwarded further -- finish using traditional mechanisms

Evaluation Does Ex. OR increase throughput? When/why does it work well? • Roofnet: 38

Evaluation Does Ex. OR increase throughput? When/why does it work well? • Roofnet: 38 nodes • Ex. OR implemented on Linux with 802. 11 b • 65 node pairs randomly chosen • 1. 0 MByte file transfer • 1 Mbit/s 802. 11 bit rate • 1 KByte packets • 9 iterations 1 kilometer Traditional Routing Ex. OR 802. 11 unicast with linklevel retransmissions 802. 11 broadcasts 100 packet batch size

Results (1) Median Throughput 240 Kbits/sec for Ex. OR 121 Kbits/sec for Traditional Cumulative

Results (1) Median Throughput 240 Kbits/sec for Ex. OR 121 Kbits/sec for Traditional Cumulative Fraction of Node Pairs 1. 0 0. 8 0. 6 0. 4 0. 2 Ex. OR Traditional 0 0 200 400 600 Throughput (Kbits/sec) 800

Results (2) 25 Highest throughput pairs Throughput (Kbits/sec) 3 Traditional Hops 2. 3 x

Results (2) 25 Highest throughput pairs Throughput (Kbits/sec) 3 Traditional Hops 2. 3 x 1000 800 2 Traditional Hops 1 Traditional Hop 1. 7 x 1. 14 x Ex. OR Traditional Routing 600 400 200 0 Node Pair

Results (3) 25 Lowest throughput pairs Throughput (Kbits/sec) 1000 800 Ex. OR Traditional Routing

Results (3) 25 Lowest throughput pairs Throughput (Kbits/sec) 1000 800 Ex. OR Traditional Routing 4 Traditional Hops 3. 3 x 600 400 200 0 Node Pair Longer Routes

Results (4) Ex. OR moves packets farther Fraction of Transmissions 58% of Traditional Routing

Results (4) Ex. OR moves packets farther Fraction of Transmissions 58% of Traditional Routing transmissions 0. 6 Ex. OR Traditional Routing 0. 2 25% of Ex. OR transmissions 0. 1 0 0 100 200 300 400 500 600 Distance (meters) 700 800 900 1000

Conclusion & Secret Sauce Exploits radio properties, instead of hiding them Benefit from long

Conclusion & Secret Sauce Exploits radio properties, instead of hiding them Benefit from long and lossy link Also work well on one-hop link Ex. OR achieves 2 x throughput improvement Real implementation and experiments Clearly-defined primary goal Achieve high throughput in large unicast transfer

Thank you

Thank you