Revisiting the Contract Between Layers Sachin Katti Dina Katabi, Hari Balakrishnan, Muriel Medard
Mesh Networks Borrowed the Internet Contract Conflicts with wireless mesh characteristics PHY + LLDeliver correct packets NetworkForward correct packets to destination Current contract builds reliability on a link by link basis Spatial diversity more naturally provides reliability across multiple links
S R1 R2 D 99% (10 -3 BER) Wireless Naturally Provides Reliability Across Links 0% Even 1 bit in 1000 incorrect Packet loss of 99%
S R1 R2 D 99% (10 -3 BER) Wireless Naturally Provides Reliability Across Links 0% Current contract Link by link reliability 50 transmissions Loss
S R1 R2 D 99% (10 -3 BER) Wireless Naturally Provides Reliability Across Links 0% Spatial diversity: Even if no correct packets, every bit is likely received correctly at some node Exploit wireless characteristics 3 transmissions Current contract 50 tx Low throughput Exploit wireless characteristics 3 tx High throughput
Useful with High Quality Links? R1 R2 R3 R4 SaSa PbPb DbDb DaDa SbSb PbPb PaPa PaPa PaPa PbPb 1% 2% 1% 3% 0% Loss
Useful with High Quality Links? R1 R2 R3 R4 SaSa PbPb DbDb DaDa SbSb PbPb PaPa PaPa PaPa PbPb 1% 2% 1% 3% 0% Current contract Inhibits concurrency Exploit wireless characteristics Enables high concurrency
Current Contract Limits throughput, inhibits concurrency PHY + LLDeliver correct symbols to higher layer NetworkForward correct symbols to destination PHY + LLDeliver correct packets NetworkForward correct packets to destination High throughput, high concurrency New Contract Exploiting Wireless Characteristics
MIXIT New contract between layers to harness wireless characteristics Novel symbol-level network code that scalably routes correct symbols High concurrency MAC Implementation and evaluation 3-4x gain over shortest path routing 2-3x gain over packet-level opp. routing
How does a Router Identify Correct Symbols? PHY already estimates a confidence for every decoded symbol [JB07] PHY + LL delivers high confidence symbols to network layer PHY Confidence Packet PHY + LLDeliver correct symbols to higher layer NetworkForward correct symbols to destination
What Should Each Router Forward? R1 R2 D S P1 P2 P1 P2 P1 P2
What Should Each Router Forward? R1 R2 D S P1 P2 But overlap in correctly received symbols Potential solutions 1)Forward everything Inefficient 2)Coordinate Unscalable P1 P2 P1 P2 P1 P2 P1 P2
Forward random combinations of correct symbols R1 R2 D S P1 P2 MIXIT Prevents Duplicates using Symbol Level Network Coding P1 P2 P1 P2
… … R1 R2 D … … … Routers create random combinations of correct symbols … MIXIT Prevents Duplicates using Symbol Level Network Coding
R1 R2 D … … Solve 2 equations Destination decodes by solving linear equations Randomness prevents duplicates without co-ordination MIXIT Prevents Duplicates using Symbol Level Network Coding
… … R1 R2 D … … … Routers create random combinations of correct symbols … MIXIT Prevents Duplicates using Symbol Level Network Coding
R1 R2 D … … Solve 2 equations Destination decodes by solving linear equations Symbol Level Network Coding No duplicates Efficient No coordination Scalable Symbol Level Network Coding No duplicates Efficient No coordination Scalable MIXIT Prevents Duplicates using Symbol Level Network Coding
Destination needs to know which combinations it received (if both symbols were correct) (if only s 1 was correct) (if only s 2 was correct) Nothing (if neither symbol was correct)
Destination needs to know which combinations it received Use run length encoding Original Packets Coded Packet
Original Packets Coded Packet Use run length encoding Destination needs to know which combinations it received
Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding
Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding
Run length encoding efficiently expresses combinations Destination needs to know which combinations it received Use run length encoding
Symbol-level Network Coding Original Packets Coded Packet R1 Forward random combinations of correct symbols
Original Packets Coded Packet Symbol-level Network Coding R1 Forward random combinations of correct symbols
Original Packets Coded Packet Symbol-level Network Coding R1 Forward random combinations of correct symbols
Original Packets Coded Packet Symbol-level Network Coding R1 Forward random combinations of correct symbols
Use run length encoding to efficiently expresses combinations in header Symbol-level Network Coding R1 Forward random combinations of correct symbols
R1 R2 D Solve 2 equations Destination decodes by solving linear equations MIXIT: Efficient and Scalable Symbol-level Opportunistic Routing Original Symbols Symbol Level Network Coding No duplicates Efficient No coordination Scalable Symbol Level Network Coding No duplicates Efficient No coordination Scalable
Routers May Forward Erroneous Bits Despite High Confidence MIXIT has E2E error correction capability! Symbol-Level Network Coding ECC Data MIXIT’s Error Correcting Code (ECC) 1.Routers are oblivious to ECC 2.Optimal error correction capability 3.Rateless Decode ECC Data PHY + LLDeliver correct symbols to higher layer NetworkForward correct symbols to destination Source Destination
High Concurrency MAC Each node maintains a map of conflicting transmissions Map is based on empirical measurements and built in distributed, online manner w & x NO! w & u YES! x u w
Evaluation Implementation on GNURadio SDR and USRP Zigbee (IEEE ) link layer 25 node indoor testbed, random flows Compared to: 1.Shortest path routing based on ETX 2.MORE: Packet-level opportunistic routing
Throughput (Kbps) CDF Throughput increase: 3x over SPR, 2x over MORE Throughput Comparison 2.1x 3x Shortest Path MORE MIXIT
Throughput (Kbps) CDF Where do the gains come from? Shortest Path MORE MIXIT Take concurrency away from MIXIT
Where do the gains come from? 1.5x Without concurrency, 1.5x gain over MORE Throughput (Kbps) CDF Shortest Path MORE MIXIT without concurrency Take concurrency away from MIXIT
Where do the gains come from? Throughput (Kbps) CDF MIXIT Gains come from both moving to the symbol level and high concurrency Shortest Path MORE MIXIT without concurrency
Where do the gains come from? Higher Concurrency? 1.4x MORE, enhanced with higher concurrency is only 1.4x better Throughput (Kbps) CDF
Where do the gains come from? Throughput (Kbps) CDF 2.1x 1.5x Higher concurrency MAC fully exploits symbol-level diversity Higher concurrency MAC fully exploits symbol-level diversity
Multiple Flows Shortest Path MORE MIXIT No. of concurrent flows Avg. Network Throughput (Kbps) MORE/SPR: Higher congestion Lower concurrency MIXIT: Higher congestion High concurrency MORE/SPR: Higher congestion Lower concurrency MIXIT: Higher congestion High concurrency
Related Work Opportunistic Routing EXOR [BM05], MORE [CJKK07], Coop-diversity[LWT04] Soft information SoftPHY [JB07], SOFT [WKK07], SOVA[HH89] Increasing wireless concurrency CMAPS[VJB08], Conflict maps[JPPQ03], Interference modeling [RMRWZ06] Network Coding Linear codes[ACLY00], MRD [G:85, SKK:08, KK:07]
Conclusion MIXIT New contract harnesses wireless characteristics Symbol-level network coding to scalably route correct symbols High concurrency Implementation and evaluation demonstrating 3-4x over shortest path, 2-3x gains over MORE