330 likes | 435 Views
Exploiting Opportunism in Wireless Networks. Aruna Balasubramanian Guest Lecture, CS 653 (Some slides borrowed from the ExOr and MORE presentations at SigComm 05 and 07). Broadcast medium makes the design of a wireless MAC protocol challenging. 802.11 MAC uses CSMA/CA
E N D
Exploiting Opportunism in Wireless Networks Aruna Balasubramanian Guest Lecture, CS 653 (Some slides borrowed from the ExOr and MORE presentations at SigComm 05 and 07)
Broadcast medium makes the design of a wireless MAC protocol challenging • 802.11 MAC uses CSMA/CA • RTS/CTS used to avoid hidden terminals. • RTS/CTS does not always work • Cannot always stop collisions • Can stop transmissions even if will not cause collisions
But, the broadcast medium also provides an opportunity 1 3 Intended next hop 4 2 How to exploit overheard packets opportunistically? Why, How and When? Multiple nodes overhear a packet. Any one of them can forward the packet to the next hop
ExOR: Opportunistic routing for mesh networks Roofnet 1 kilometer Dense 802.11-based mesh Goal is maximize high-throughput Minimize the number of transmissions
Why is exploiting opportunism useful? (1 of 2) N1 25% 100% N2 25% 100% src dst 100% 25% N3 100% 25% N4 Assumption: Receiving probabilities are independent Traditional routing: 1/0.25 + 1 = 5 transmissions ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions
Why is exploiting opportunism useful? (2 of 2) src N1 N2 N3 N4 N5 dst 75% 50% 25% • Best traditional route over 50% hops: 3(1/0.5) = 6 tx • Exploit opportunism to leverage lucky long receptions Assumption: Probability falls off gradually with distance
ExOR design N2 N4 src dst N1 N3 • Goal: The closest node to the destination that overhears a packet, should forward the packet • Questions • What is “closest”? • When does a node decide to forward? • When should a node stop transmitting?
ExOR questions Delivery rate 0.6 ETX = 1.6 N2 N4 src dst N1 N3 Delivery rate 0.4 ETX = 2.5 • When should a node forward an overheard packet? • Source decides on a forwarding list • Each node in the forwarding list has a timer to start forwarding • Packets are batched to amortize overhead of coordination • What is “closest”? • Using an ETX-like metric
rx: 0 rx: 57 rx: 0 rx: 88 rx: 23 When to forward? rx: 45 tx:0 N2 N4 rx: 18 tx:100 tx:57 -23 34 tx:12 src dst N1 N3 tx: 31 tx:23 • Source estimates ETX between each node and the destination • Source decides on a list of forwarders and prioritizes the list. Let the list be (dst, N4, N3, N2, N1) • Node closest to the dst sends the overheard packet first • Other nodes listen, send remaining packets in turn
When should a node stop transmitting A batch map is sent with each packet, marking nodes that have overheard the packet Packet 1: N1, N4 Packet 2: N1, N3 . . Packet 100: N1 If all packets in a batch are heard by some higher priority nodes, the node stops sending
RoofNet results: 25 node-pairs with highest throughput 3 Traditional Hops 2.3x 2 Traditional Hops 1.7x 1 Traditional Hop 1.14x 1000 ExOR TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair
ExOR challenges Uses a structured scheduler with tight coupling between MAC and routing can hurt performance Does not work well when delay is a metric. Does not work well when the path loss may vary rapidly
Problems with structured scheduler Hurts performance by disallowing spatial reuse Global coordination (by overhearing) is bound to cause errors Cannot easily extend to other traffic
MORE: Network coding P1 R1 αP1+ßP2 P2 src dst P1 R2 γP1+δP2 P2 Similar to ExOR, except no tight coupling between MAC and routing Each router routes a random combination of packets
How network coding works • Use matrix inversion to retrieve the packets • To decode k packets, you need k linear combinations Linear algebra
src A B dst P1 P2 P3 4 a 0 + 2 + 1 + b + c + 1 + 3 = = = P1 P1 P1 P2 P2 P2 P3 P3 P3 a,b,c 0,2,1 4,1,3 MORE protocol • Source sends packets in batches • Forwarders keep all heard packets in a buffer • Nodes transmit linear combinations of buffered packets 0,2,1 4,1,3 4,1,3 0,2,1
src A B dst P1 P2 P3 a + b + c = P1 P2 P3 a,b,c 2 2 + 1 + 1 = = 4,1,3 4,1,3 8,4,7 16,6,13 8,4,7 0,2,1 MORE • Source sends packets in batches • Forwarders keep all heard packets in a buffer • Nodes transmit linear combinations of buffered packets 0,2,1 4,1,3 4,1,3 8,4,7 0,2,1 8,4,7 16,6,13 16,6,13
MORE details • When should a node stop forwarding? • Goal: limit the expected number of transmissions • When at least one node closer to the destination (in terms of ETX) receives
Testbed • 20-node testbed over three floors Avg. loss 27%
Does MORE Improve Wireless Throughput? Avg. Throughput over 180 src-dst pairs [pkts/s] MORE 80 ExOR Current 40 • MORE’s throughput is • 2x better than current routing • 22% better than ExOR
When does ExOR not work? (revisited) • When tight coupling between MAC and routing can hurt performance • MORE solves this problem • When delay is a metric. • When path loss values may change frequently.
Next step • Can we exploit opportunism • when delay is important and applications cannot tolerate batching • when loss rates can change rapidly • ViFi: Link level handoff protocol that exploits opportunism • Improves performance of interactive, delay-sensitive applications such as VoIP and TCP • Can be used for vehicular networks with rapidly changing loss rates
ViFi: Target environment Internet • Challenge: • Packet loss between vehicle and the AP can change rapidly. • It is difficult to predict when to handoff
Handoff policies Today’s 802.11 Exploiting opportunism
Why today’s handoff is bad Disruption 802.11 handoff Ideal opportunism experiment AP quality can change in short periods of time
Leveraging overhearing in a decentralized environment Internet ViFi solution: Use probabilistic relaying • Goal 1: Few relays • Since bandwidth may be limited • To reduce collision • Goal 2: Fast and effective coordination
ViFi protocol set up • Vehicle chooses anchor AP • Anchor responsible for vehicle’s packets • Vehicle chooses a set of APs in range to be auxiliaries • e.g., B, C and D can be chosen as auxiliaries • If B, C, or D overhears the packet, it will probabilistically forward to A • ViFi needs to coordinate between B, C and D A Internet B C D
ViFi protocol • Source transmits a packet • If destination receives, it transmits an ack • If auxiliary overhears packet but not ack, it probabilistically relays to destination • If destination received relay, it transmits an ack • If no ack within retransmission interval, source retransmits Source Dest Downstream: Anchor to vehicle A A Dest B B D C D Source C Upstream: Vehicle to anchor
Estimating relaying probabilities A Source Dest B C Tradeoff between Having too many relays : overload the network Having too few relays: No relaying
Guidelines for probability computation • The probability should not be too high, because then there will be collisions • The probability should not be too low, because then opportunism will not be exploited • Probability computation should take into account the decisions made by other nodes • Goal: Make a collective relaying decision such that the sum expected number of relays by all auxiliaries is 1 • How to make a collective decision without coordination?
How does B compute its relaying probability RB? • Step 1: • (a) Estimate prob that A is considering relaying • CA = P(A heard the packet) . P(A did not hear ack) • (b) Expected relays: E(A) = CA. RA • Step 2: • Solve the equation E(X) = 1, for all neighbors • Step 3: • Set Rx proportional to P(X can deliver the packet) CA.RA + CB.RB + Cc.RC = 1 where RA, RB are Rc unknowns
VanLAN results: ViFi improves VoIP performance • Workload: G.729 codec. 20-byte packet every 20 ms > 100% ViFi Today’s WiFi Metric: Average length of call before disruption (sec)