ExOR: Opportunistic Multi-Hop Routing for Wireless Networks Sanjit Biswas and Robert Morris M.I.T....

Preview:

Citation preview

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

• Dense 802.11b-based mesh, all sorts of loss rates

• Goal is efficiency and high-throughput

Gateways

2km

2km

Gateway

packetpacket

packet

The Traditional View

• Identify a route, forward over links• Use link level retransmissions

src

A B

dst

C

packetpacket

How Radios Actually Work

• Every packet is broadcast

src

A B

dst

C

123456123 63 51 42345612 456

No such thing as a link

packet

packetpacketpacketpacketpacket

ExOR: Exploiting the Insight

src

A B

dst

C

packetpacketpacket

• Figure out which nodes rx’d broadcast

• Node closest to destination forwards

packet

packetpacketpacketpacketpacket

ExOR: Exploiting the Insight

src

A B

dst

C

packetpacketpacket

• Figure out which nodes rx’d broadcast

• Node closest to destination forwards

ExOR’s Assumptions

1. Many receivers hear every broadcast

2. Gradual distance-vs-reception tradeoff

3. Receiver losses are uncorrelated

src

A B

dst

C

1. Multiple Receivers per Transmission

• Broadcast tests on rooftop network– Source sends

packets at max rate– Receivers record

delivery ratios

• Omni-directional antennas

• Multiple nodes in “radio range”

1km

S

100%75%50%25%0%

2. Gradual Distance vs. Reception Tradeoff

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

Distance (meters)

Deliv

ery

Rati

o

Same Source

3. Receiver Losses are Uncorrelated

• Two 50% links don’t lose the same 50% of packets• Losses not due to common source of interference

Example Broadcast trace:

Receiver 1 (38%):

Receiver 2 (40%):

Receiver 3 (74%):

Receiver 4 (12%):

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

• Let’s not get eaten alive by overheads

N1 N3 N5 N7N6N2 N4 N8S 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

Traditional routing: 1/0.25 + 1 = 5 transmissions

ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions

Assumes independent losses

N1

src dst

N2

N3

N4

25%

25%

25%

25%

100%

100%

100%

100%

How ExOR might provide more throughput (contd..)

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

ExOR: Protocol

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 node’s 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 sender’s batch map, containing the sender’s 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 node’s 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 destination’s 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?

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

payload ACK

payload ACK1cand1

src dest

cand2 cand3src ACK2 ACK3

src cand1 cand2 cand3

src dest

Standard unicast 802.11 frame with ACK:

ExOR frame with slotted ACKs:

Slotted ACK Example

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

payloadD C BA

A D

ACK

C

ACK

B

A B C D

X

Agreeing on the Best Candidate

A: Sends frame with (D, C, B) as candidate set

A B C D

C: Broadcasts ACK “C” in second slot (not rx’d by D)

D: Broadcasts ACK “D” in first slot (not rx’d by C, A)

B: Broadcasts ACK “D” in third slot

Node D is now responsible for forwarding the packet

XXX

ExOR: Packet Format

-HdrLen & PayloadLen indicate size of ExOR header and payload respectively

-PktNum is current packet’s offset in the batch, corresponding to the current batch-map entry

-FragSz is size of currently sending node’s fragment (in packets)

-FragNum is current packet’s offset within the fragment

-FwdListSise is is number of forwarders in list

-ForwarderNum is current sender’s offset within the list

-Forwarder List is copy of sender’s local forwarder list

-Batch Map is copy of sending node’s 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

1 kilometer

65 Roofnet node pairs

Throughput (Kbits/sec)

1.0

0.8

0.6

0.4

0.2

00 200 400 600 800C

um

ula

tive F

ract

ion o

f N

ode P

air

s

ExORTraditional

ExOR: 2x Improvement in throughput

Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional

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.

25 Highest throughput pairs

Node Pair

Thro

ughput

(Kbit

s/se

c)

0

200

400

600

800

1000 ExORTraditional Routing

1 Traditional Hop

1.14x

2 Traditional Hops1.7x

3 Traditional Hops2.3x

For single hop pairs ExOR provides the advantage of lower probability of source resending packets, as there’s higher probability of source receiving the destination’s 10 batch-map packets

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.

25 Lowest throughput pairs

Node Pair

4 Traditional Hops3.3x

Longer Routes

Thro

ughput

(Kbit

s/se

c)

0

200

400

600

800

1000 ExORTraditional Routing

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

Figure 12: Distance traveled towards N24 in ETX space by each transmission. The X axis indicates the di®erence 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).

Max. distance traveled by hops in traditional routing

Distance traveled by transmissions in ExOR

Big chunk of transmission, in traditional routing, takes place over shorter distances

Number of packets carried over individual long distance links is small

But cumulative transmission is substantial

ExOR moves packets farther

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

Fract

ion o

f Tra

nsm

issi

ons

0

0.1

0.2

0.6 ExORTraditional Routing

0 100 200 300 400 500 600 700 800 900 1000

Distance (meters)

25% of ExOR transmissions

58% of Traditional Routing transmissions

ExOR uses links in parallel

Traditional Routing3 forwarders

4 links

ExOR7 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

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

S

A

B

C

D

EX

Dense Networks

More Critical AnalysisYao 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 TrafficYao 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)– Don’t 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 UNIVERSITÄT 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

Recommended