Symbol Level Network Coding By Sachin Katti, Dina Katabi, Hari Balakrishnan, Muriel Medard Sigcomm 2008 Mesh Networks Borrowed the Internet Contract PHY + LL Deliver correct packets Network Forward correct packets to destination Conflicts with wireless mesh characteristics Current contract builds Spatial diversity more reliability on a link by naturally provides reliability link basis across multiple links Wireless Naturally Provides Reliability Across Links R1 D S R2 Even 1 bit in 1000 incorrect Packet loss of 99% Wireless Naturally Provides Reliability Across Links R1 Loss D S Loss R2 Current contract Link by link reliability 50 transmissions Wireless Naturally Provides Reliability Across Links R1 D S R2 Spatial diversity: Even if no every bit is likely Current contract correct 50 tx packets, Low throughput received correctly at some Exploit wireless characteristics 3 tx node High throughput Exploit wireless characteristics 3 transmissions Useful with High Quality Links? R1 Sa Pa Pa Loss Da R2 Pa Loss R3 Pb Loss Sb Pb R4 Pb Loss Db Useful with High Quality Links? R1 Sa Pa Pa Da R2 Pa R3 Pb Db Sb Current contract Inhibits concurrency R4 P Exploit bwireless characteristics Enables high concurrency Pb Current Contract PHY + LL Deliver correct packets Network Forward correct packets to destination Limits throughput, inhibits concurrency New Contract Exploiting Wireless Characteristics PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination High throughput, high concurrency MIXIT • New contract between layers to harness wireless characteristics • Novel symbol-level network code that scalably routes correct symbols • High concurrency MAC 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 + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination What Should Each Router Forward? S P1 P2 R1 P1 P2 D R2 P1 P2 What Should Each Router Forward? S P1 P2 R1 D P1 P2 R2 P1 P2 But overlap in correctly received symbols Potential solutions 1) Forward everything Inefficient 2) Coordinate Unscalable MIXIT Prevents Duplicates using Symbol Level Network Coding S P1 P2 R1 D P1 P2 R2 P1 P2 Forward random combinations of correct symbols MIXIT Prevents Duplicates using Symbol Level Network Coding R1 2s1 7s 2 2 … 7 s1 … s2 … D R2 5s1 9s 2 … 5 s1 … 9 s2 … Routers create random combinations of correct symbols MIXIT Prevents Duplicates using Symbol Level Network Coding R1 2s1 7s 2 … D R2 5s1 9s 2 … Solve 2 equations s1, s 2 Randomness co-ordination Destination prevents decodes duplicates by solving without linear equations MIXIT Prevents Duplicates using Symbol Level Network Coding R1 2s1 7s 2 2 … 7 s1 … s2 … D R2 5s1 … 5 s1 … 0 s2 … Routers create random combinations of correct symbols MIXIT Prevents Duplicates using Symbol Level Network Coding R1 2s1 7s 2 … D R2 5s1 … Solve 2 equations Symbol Level Network Coding s1, s 2 • No duplicates Efficient decodes byScalable solving linear equations • Destination No coordination Destination needs to know which combinations it received 5s1 9s2 (if both symbols were correct) 5s1 0s2 (if only s1 was correct) 0s1 9s2 (if only s2 was correct) Nothing (if neither symbol was correct) Destination needs to know which combinations it received Use run length encoding 5 9 Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding 0 9 Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding 5 9 Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding 5 0 Original Packets Coded Packet Destination needs to know which combinations it received Use run length encoding Run length encoding efficiently expresses combinations Routers May Forward Erroneous Bits Despite High Confidence MIXIT has E2E error correction capability Data ECC Symbol-Level Network Coding Decode ECC Source Data Destination MIXIT’s Error Correcting Code (ECC) 1. Routers are oblivious to ECC 2. Optimal error correction capability 3. Rateless PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination High Concurrency MAC u x w w & x NO! w & u YES! • Each node maintains a map of conflicting transmissions • Map is based on empirical measurements and built in distributed, online manner Evaluation • • • • Implementation on GNURadio SDR and USRP Zigbee (IEEE 802.15.4) link layer 25 node indoor testbed, random flows Compared to: 1. 2. Shortest path routing based on ETX MORE: Packet-level opportunistic routing Throughput Comparison 1 CDF 0.8 0.6 2.1x 3x 0.4 0.2 MIXIT MORE Shortest Path 0 0 20 40 60 Throughput (Kbps) 80 100 Throughput increase: 3x over SPR, 2x over MORE Where do the gains come from? 1 CDF 0.8 0.6 MIXIT MORE Shortest Path 0.4 0.2 0 0 20 40 60 Throughput (Kbps) 80 100 Take concurrency away from MIXIT Where do the gains come from? 1 CDF 0.8 0.6 MIXIT without concurrency 1.5x 0.4 MORE Shortest Path 0.2 0 0 20 40 60 Throughput (Kbps) 80 100 Without Takeconcurrency, concurrency1.5x awaygain from over MIXIT MORE Where do the gains come from? 1 CDF 0.8 0.6 0.4 0.2 MIXIT MIXIT without concurrency MORE Shortest Path 0 Gains 0 come20from both 40 moving 60 to the 80 symbol 100 Throughput (Kbps) level and high concurrency Where do the gains come from? Higher Concurrency? 1 0.8 CDF 0.6 MIXIT 1.4x 0.4 MORE with concurrency 0.2 MORE 0 0 20 40 60 Throughput (Kbps) 80 100 MORE, enhanced with higher concurrency is only 1.4x better Where do the gains come from? 1 CDF 0.8 1.5x 0.6 2.1x 0.4 MIXIT MIXIT without concurrency 0.2 MORE 0 0 20 40 60 80 Throughput (Kbps) Higher concurrency MAC fully exploits symbol-level diversity 100 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