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
2km

Gateway

Gateway
s

2km
Dense 802.11b-based mesh, all sorts of loss rates
Goal is efficiency and high-throughput
The Traditional View
packet packet

A B

packet src dst

Identify a route, forward over links


Use link level retransmissions
How Radios Actually Work

A B

1 2 33 4455
56
66 src dst

Every packet is broadcast

No such thing as a link


ExOR: Exploiting the Insight

A B

src dst
packet

C
packet

Figure out which nodes rxd broadcast


Node closest to destination forwards
ExOR: Exploiting the Insight
packet

A B

src dst
packet

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

A B

src dst

C
1. Multiple Receivers per
Transmission
100%
Broadcast tests on
1km 75%
50%
rooftop network
25%
0%
Source sends
packets at max rate
Receivers record
delivery ratios
S
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

S N1 N2 N3 N4 N5 N6 N7 N8 D

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 dst
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:
src dest payload ACK

src dest

ExOR frame with slotted ACKs:


src cand1 cand2 cand3 payload ACK1 ACK2 ACK3

src cand1 cand2 cand3

Slotting prevents collisions (802.11 ACKs are synchronous)


Only 2% overhead per candidate, assuming 1500 byte
frames
Slotted ACK Example
X

A B C D

A D C B payload ACK ACK

A D C B

Packet to be forwarded by Node C


But if ACKs are lost, causes confusion
Agreeing on the Best Candidate

A B C D

XX
X
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

Strengths
ExOR is nimble
Efficient in total number of packet transmissions

Weaknesses
Requires (partial) link-state graph
Candidate selection is tricky
Requires changes to MAC
65 Roofnet node pairs

1 kilometer
ExOR: 2x Improvement in throughput
1.0

Cumulative Fraction of Node Pairs 0.8

0.6

0.4

0.2
ExOR
Traditional
0
0 200 400 600 800
Throughput (Kbits/sec)

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 Traditional Hops 1 Traditional Hop
2.3x 1.7x 1.14x

1000 ExOR
Throughput (Kbits/sec)

800 Traditional Routing

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
1000 ExOR
Throughput (Kbits/sec)

4 Traditional Hops
800 Traditional Routing
3.3x
600

400

200

0
Node Pair
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 Max. distance traveled by


traditional routing, takes place hops in traditional routing
over shorter distances
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

0.6 ExOR
Fraction of Transmissions

Traditional Routing

0.2 25% of ExOR transmissions

0.1

0
0 100 200 300 400 500 600 700 800 900 1000
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 ExOR


3 forwarders 7 forwarders
4 links 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
Static

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

A C

S
X E

B D
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 ?


Questions?
Acknowledgements
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

You might also like