550 likes | 671 Views
Cross-Layer Approach to Wireless Collisions. Dina Katabi. 802.11 devices are increasingly prevalent. office. Home. City mesh. distributed and bursty access. Two devices access medium together Collision. Job of the MAC: Avoid Collisions!. And when they happen?. Be in denial!.
E N D
Cross-Layer Approach to Wireless Collisions Dina Katabi
802.11 devices are increasingly prevalent office Home City mesh distributed and bursty access Two devices access medium together Collision
Job of the MAC: Avoid Collisions! And when they happen? Be in denial!
In This Talk • Collisions are not harmful • We can decode colliding packets as efficiently as if they were sent separately • Collisions are beneficial • We can exploit strategic collisions to increase throughput Analog Network Coding
The Hidden Terminals Problem Collision! Bob Alice
The Hidden Terminals Problem Retransmissions More Collisions! Bob Alice Can’t get any useful traffic!
Can we take two collisions and produce the two packets? Pa Pa Pb Pb Yes, we can!
∆2 ZigZag Exploits 802.11’s behavior • Retransmissions Same packets collide again • Senders use random jitters Collisions start with interference-free bits ∆1 Pa Pa Pb Pb Interference-free Bits
∆2 How Does ZigZag Work? 1 1 ∆1 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 1 1 ∆1 2 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 3 1 ∆1 2 2 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 3 3 1 ∆1 2 4 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 5 3 1 ∆1 4 2 4 ∆1 ≠∆2 Find a chunk that is interference-free in one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 5 3 5 1 ∆1 2 6 4 ∆1 ≠∆2 Find a chunk that is interference-freein one collisions and has interferencein the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 7 5 3 1 ∆1 6 2 6 4 ∆1 ≠∆2 Find a chunk that is interference-freein one collisions and has interference in the other Decode and subtract from the other collision
∆2 How Does ZigZag Work? 7 5 3 7 1 ∆1 2 8 6 4 • Delivered 2 packets in 2 timeslots • As if packets didn’t collide • Low-complexity linear decoder • No need for synchronization ∆1 ≠∆2 Find a chunk that is interference-freein one collisions and has interference in the other Decode and subtract from the other collision
AP received a collision signal How does the AP know it is a collision and where the second packet starts? Time ∆
Detecting Collisions and the Value of ∆ AP received signal Correlate Time Packets start with known preamble AP correlates known preamble with signal • Preamble Correlation • Detect collision and the value of ∆ • Works despite interference because correlation with an independent signal is zero ∆ Correlation Time
How Does the AP Subtract the Signal? • Channel’s attenuation or phase may change between collisions • Can’t simply subtract a chunk across collisions Alice’ s signal in first collision Alice’ s signal in second collision
Subtracting a Chunk • Decode chunk into bits • Removes effects of channel during first collision • Re-modulate bits to get channel-free signal • Apply effect of channel during second collision • Use correlation to estimate channel despite interference • Now, can subtract!
∆1 What if AP Makes a Mistake? Bad News: Errors can propagate 3 1 1 ∆2 2 2 Can we deal with these errors?
∆1 What if AP Makes a Mistake? Good News: Temporal Diversity A bit is unlikely to be affected by noise in both collisions ∆2 Get two independent decodings
∆2 ∆1 AP Decodes Backwards as well as Forwards 2 2 3 1 1 Errors propagate differently in the two decodings Which decoded value should the AP pick? For each bit, AP picks the decoding that has a higher PHY confidence [JB07, WKSK07]
ZigZag Generalizes • Flipped order ∆2 1 1 2 2 ∆1
∆1 ZigZag Generalizes • Flipped order • Different packet sizes 1 1 2 2 ∆2
ZigZag Generalizes 1 1 1 2 2 2 3 3 3 • Flipped order • Different packet sizes • Multiple colliding packets 1 1 1 2 2 2 3 3 3
ZigZag Generalizes • Flipped order • Different packet sizes • Multiple colliding packets • Capture effect Pa1 Pa2 Pb Pb 3 packets in 2 timeslots better than no collisions
Implementation • USRP Hardware • GNURadio software • Carrier Freq: 2.4-2.48GHz • BPSK modulation
Testbed USRPs • 10% HT, 10% partial HT, 80% perfectly sense each other • Each run randomly picks an AP and two clients • Co-located 802.11a nodes that measure HTs. The USRPs use the same collision patterns as 802.11 802.11a
Throughput Comparison CDF of concurrent flow pairs Throughput
Throughput Comparison Perfectly Sense Partial Hidden Terminals Hidden Terminals CDF of concurrent flow pairs 802.11 Throughput
Throughput Comparison Hidden Terminals get high throughput CDF of concurrent flow pairs ZigZag 802.11 Throughput
Throughput Comparison ZigZag Exploits Capture Effect CDF of concurrent flow pairs ZigZag 802.11 Throughput ZigZag improved average Throughput by 25%
Throughput Comparison Hidden Terminals CDF of concurrent flow pairs ZigZag 802.11 Throughput Improved hidden terminals loss rate from 72% to 0.7%
Is ZigZag as efficient as if the colliding packets were sent in separate slots? • For every SNR, Check that ZigZag can match the BER of collision-free receptions
Is ZigZag as efficient as if packets were collision-free Receptions? Bit Error Rate (BER) SNR in dB
Is ZigZag as efficient as if packets were collision-free Receptions? Collision-Free Receptions Bit Error Rate (BER) SNR in dB
Is ZigZag as efficient as if packets were collision-free Receptions? Collision-Free Receptions Bit Error Rate (BER) ZigZag-Decoded Collisions ZigZag is as efficient as if the colliding packets were sent separately SNR in dB
But can collisions be beneficial? ZigZag makes collisions harmless
Current Wireless Bob Alice
Current Wireless Bob Alice Current approach requires 4time slots Can we do better?
Naive Application of ZigZag Collision! Bob Alice
Naive Application of ZigZag Decode Collisions Bob Alice Naïvely applying ZigZag requires 4time slots Decoding collisions at AP doesn’t reduce timeslots But the AP doesn’t need to decode!
What if the AP doesn’t decode? Collision! Bob Alice Alice and Bob transmit simultaneously
What if the AP doesn’t decode? Collision! Bob Alice Alice and Bob transmit simultaneously AP amplifies and broadcasts the collision
What if the AP doesn’t decode? Bob Alice Bob’s pkt 1 1 Alice’s pkt 1 1 1fhj 1fhj Alice and Bob transmit simultaneously AP amplifies and broadcasts the collision Alice subtracts her packet from the collision 2 time slots instead of 4 Throughput Gain of 2x
Extends Network Coding to Signals • Traditional network coding: nodes forward linear combinations of received packets • New approach: channel naturally creates linear combinations of signals Analog Network Coding (ANC)!