You are on page 1of 43

ExOR: Opportunistic Multi-Hop Routing for Wireless Networks

Sanjit Biswas and Robert Morris

M.I.T. Computer Science and Artificial Intelligence Laboratory

Presented by Deepak Bastakoty

With slides from : Sanjit Biswas, Robert Morris, (MIT) Saurabh Gupta (WPI) Yao Zhao (Northwestern)

Multi-Hop Wireless Networks



Gateway s


Dense 802.11b-based mesh, all sorts of loss rates Goal is efficiency and high-throughput

The Traditional View

packet packet


src C


Identify a route, forward over links Use link level retransmissions

How Radios Actually Work


123 34 45 56 6

src C


Every packet is broadcast

No such thing as a link

ExOR: Exploiting the Insight



dst C

Figure out which nodes rxd broadcast Node closest to destination forwards

ExOR: Exploiting the Insight



dst C

Figure out which nodes rxd broadcast Node closest to destination forwards

ExORs Assumptions
1. Many receivers hear every broadcast 2. Gradual distance-vs-reception tradeoff 3. Receiver losses are uncorrelated

src C


1. Multiple Receivers per Transmission

100% 75% 50% 25% 0%

Broadcast tests on rooftop network

Source sends packets at max rate Receivers record delivery ratios

Omni-directional antennas

Multiple nodes in radio range

2. Gradual Distance vs. Reception Tradeoff

Delivery Ratio

Same Source

Distance (meters)

Wide spread of ranges, delivery ratios Transmissions may get lucky and travel long distances

3. Receiver Losses are Uncorrelated

Example Broadcast trace:
Receiver 1 (38%): Receiver 2 (40%): Receiver 3 (74%): Receiver 4 (12%):

Two 50% links dont lose the same 50% of packets Losses not due to common source of interference

Extremely Opportunistic Routing (ExOR) Design Goals

Ensure only one receiver forwards the packet
The receiver closest to the destination should forward Lost agreement messages may be common Lets not get eaten alive by overheads

How ExOR might provide more throughput









Traditional Path
Traditional routing must compromise between hops to choose ones that are long enough to make good progress but short enough for low loss rate With ExOR each transmission may have more independent chances of being received and forwarded It takes advantage of transmissions that reach unexpectedly far, or fall unexpectedly short

How ExOR might provide more throughput (contd..)

N1 N2 src N3 N4
Traditional routing: 1/0.25 + 1 = 5 transmissions
ExOR: 1/(1 (1 0.25)4) + 1 = 2.5 transmissions Assumes independent losses


ExOR: Protocol
How often should ExOR run?
Per packet is expensive Use batches

Who should participate in the forwarding?

Too many participants cause large overhead

When should each participant forward?

Avoid simultaneous transmission

What should each participant forward?

Avoid duplicate transmission

How and When does the process complete?

Identify the convergence of the algorithm

Jump Ahead

Who should participate?

The source chooses the participants (forwarder list) using ETX-like metric
Only considers forward delivery rate

The source runs a simulation and selects only the nodes which transmit at least 10% of the total transmission in a batch
A background process collects ETX information via periodic link-state flooding

When should each participant forward?

Forwarders are prioritized by ETX-like metric to the destination

Receiving nodes buffer successfully received packets till the end of the batch
The highest priority forwarder transmits from its buffer when the batch ends
These transmissions are called the nodes fragment of the batch

The remaining forwarders transmit in prioritized order Question: How does each forwarder know it is its turn to transmit - Assume other higher priority nodes send for five packet durations if not hearing anything from them

What should each participant forward?

Packets it receives yet not received by higher priority forwarders
Each packet includes a copy of the senders batch map, containing the senders best guess of the highest priority node to have received each packet in the batch Question: How does a node know the set of packets received by higher priority nodes? - Using batch map

How and When does the process complete?

If a nodes batch map indicates that over 90% of the batch has been received by higher priority nodes, the node sends nothing when its turn comes
When ultimate destinations turn comes to send, it transmits 10 packets including only its batch map and no data Question: How is the remaining 10% data delivered? - Using traditional routing

Who Received the Packet?

Standard unicast 802.11 frame with ACK:




ExOR frame with slotted ACKs:

src src cand1 cand2 cand3 payload ACK1 ACK2 ACK3 cand1 cand2 cand3

Slotting prevents collisions (802.11 ACKs are synchronous) Only 2% overhead per candidate, assuming 1500 byte frames

Slotted ACK Example



payload D



Packet to be forwarded by Node C But if ACKs are lost, causes confusion

Agreeing on the Best Candidate

A: Sends frame with (D, C, B) as candidate set D: Broadcasts ACK D in first slot (not rxd by C, A) C: Broadcasts ACK C in second slot (not rxd by D) B: Broadcasts ACK D in third slot Node D is now responsible for forwarding the packet

ExOR: Packet Format

-HdrLen & PayloadLen indicate size of ExOR header and payload respectively -PktNum is current packets offset in the batch, corresponding to the current batch-map entry -FragSz is size of currently sending nodes fragment (in packets) -FragNum is current packets offset within the fragment -FwdListSise is is number of forwarders in list

-ForwarderNum is current senders offset within the list

-Forwarder List is copy of senders local forwarder list -Batch Map is copy of sending nodes batch map, where each entry is an index into Forwarder List

Transmission Timeline for an ExOR transfer

N24 not able to listen to N5.

N8 does not send

N17 might have missed some batch-maps

Preliminary Concept Evaluation

ExOR is nimble Efficient in total number of packet transmissions

Requires (partial) link-state graph Candidate selection is tricky Requires changes to MAC

65 Roofnet node pairs

1 kilometer

ExOR: 2x Improvement in throughput

Cumulative Fraction of Node Pairs 1.0 0.8 0.6 0.4 0.2
ExOR Traditional

0 0 200 400 600 Throughput (Kbits/sec) 800

Figure 8: The distribution of throughputs of ExOR and traditional routing between the 65 node pairs. The plots shows the median throughput achieved for each pair over nine experimental runs.

Median throughputs:

240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional

25 Highest throughput pairs

3 Traditional Hops 2.3x
Throughput (Kbits/sec) 1000 ExOR Traditional Routing

2 Traditional Hops 1 Traditional Hop 1.7x 1.14x

600 400 200

Node Pair
Figure 9: The 25 highest throughput pairs, sorted by traditional routing throughput. The bars show each pair's median throughput, and the error bars show the lowest and highest of the nine experiments.

For single hop pairs ExOR provides the advantage of lower probability of source resending packets, as theres higher probability of source receiving the destinations 10 batch-map packets

25 Lowest throughput pairs

Throughput (Kbits/sec)
1000 800 600 400 200 0 Node Pair ExOR Traditional Routing

4 Traditional Hops 3.3x

Longer Routes
Figure 10: The 25 lowest throughput pairs. The bars show each pair's median throughput, and the error bars show the lowest and the highest of the nine experiments. ExOR outperforms traditional routing by a factor of two or more.

As number of node pairs increases along a route, the likelihood of increased choice of forwarding nodes and multiple ways to gossip back batch-maps, increases

With greater routing length ExOR is able to take advantage of asymmetric links also

Retransmissions affected by selection of hops

Traditional routing has to select the shortest path which results in compromise on selecting drop probability, thus increasing the number of transmissions

ExOR has no limitations on number of nodes, from the forwarder list, that can forward the packet. Hence it uses both nodes closer to source and nodes closer to destination, irrespective of their drop probability

Figure 11: The number of transmissions made by each node during a 1000-packet transfer from N5 to N24. The X axis indicates the sender's ETX metric to N24. The Y axis indicates the number of packet transmissions that node performs. Bars higher than 1000 indicate nodes that had to re-send packets due to losses.

ExOR moves packets farther

Big chunk of transmission, in traditional routing, takes place over shorter distances Max. distance traveled by hops in traditional routing Distance traveled by transmissions in ExOR

But cumulative transmission is substantial

Number of packets carried over individual long distance links is small

Figure 12: Distance traveled towards N24 in ETX space by each transmission. The X axis indicates the dierence in ETX metric between the sending and receiving nodes; the receiver is the next hop for traditional routing, and the highest-priority receiving node for ExOR. The Y axis indicates the number of transmissions that travel the corresponding distance. Packets with zero progress are not received by the next hop (for traditional routing) or by any higher-priority node (for ExOR).

ExOR moves packets farther

58% of Traditional Routing transmissions

Fraction of Transmissions

ExOR Traditional Routing

0.2 0.1 0

25% of ExOR transmissions











Distance (meters)

Delivery Probability decreases with distance ExOR average: 422 meters/transmission Traditional Routing average: 205 meters/tx

ExOR uses links in parallel

Traditional Routing 3 forwarders 4 links

ExOR 7 forwarders 18 links

Batch Size

ExOr header grows with the batch size Large batches work well for low-throughput pairs due to redundant batch map transmissions Small batches work well for high throughput pairs due to lower header overhead

Critical Analysis
Static No mobility Small Scale Tens of nodes Dense network - Maybe Only Rooftop Networks File downloading application No voice, maybe not web (No reliable guarantee) No Cross Traffic

Knowing the whole topology In a mobile network, this is expensive EXT is costly Measure link states of all possible links Route change During a batch, route may change

Small Scale
Knowing the whole topology In a mobile network, this is expensive EXT is costly Measure link states of all possible links

Large overhead in ExOR packet header All the forwarders are included in ExOR header Long vain waiting of forwarding timer The larger the network, the longer the average distance between S and D, the more forwarders in the list Traditional header (24~48 -> 8 if AODV) ExOR header (44~114 for 38-node network)

Dense Networks


Dense Networks

More Critical Analysis

Yao Zhao (Northwestern)

No TCP and hence proxy Voice Jitter

Web service Is batch good? May introduce large delay

Large file download Best for ExOR

Cross Traffic
Yao Zhao (Northwestern)

Forwarding timer Give higher-priority nodes enough time to send? Assume 5 packets sent if a node cannot hear another node with higher priority hard to justify heuristic. Also, forwarders could be consistently mutually inaccessible 802.11 use CSMA/CA, competition based MAC If there is cross traffic, hard to estimate the transmission time of other nodes

Unfair Comparison ?
Yao Zhao (Northwestern)

Bad Traditional routing (DSR) Dont think about link state changing Long packet header Send the entire file to the next node before the next node starts sending Bad MAC Selection Retransmit packet if ACK is lost Why not packet train? A Paper in 2005 compared to some works before 1999 ?


Many sketches, animated-diagrams, as well as some text have been sourced from the following materials Course material on Net Centric Systems taught at TECHNISCHE UNIVERSITT DARMSTADT

Presentation on A High Throughput Route-Metric for Multi-Hop Wireless Routing by Eric Rozner of University of Texas, Austin
Presentation on ExOR: Opportunistic Multi-Hop Routing for Wireless Networks, by Sanjit Biswas and Robert Morris at Siggcomm ExOR: Opportunistic Multi-Hop Routing for Wireless Networks - Sanjit Biswas and Robert Morris Presentation on ExOR: Opportunistic Multi-Hop Routing for Wireless Networks, by Avijit of University of California, Santa Barbara Presentation on ExOR: Opportunistic Multi-Hop Routing for Wireless Networks, by Yu Sun of University of Texas, Austin Presentation on ExOR: Opportunistic Multi-Hop Routing for Wireless Networks, by Gaurav Gupta, University of Southern California Presentation on ExOR: Opportunistic Multi-Hop Routing for Wireless Networks, by Ao-Jan Su, Northwestern University