Pushing the Limits of Wireless Networks Prof. Dina Katabi Jan 9, 2006
But, wireless still struggle with bandwidth scarcity Need a breakthrough! The future is wireless
Current Approach Bob Alice Router Alice’s packet Bob’s packet Alice’s packet Requires 4 transmissions Can we do it in 3 transmissions?
A Network Coding Approach Bob Alice Router Alice’s packet Bob’s packet Alice’s packet 3 transmissions instead of 4 Save bandwidth Increase Throughput XOR = =
Network Coding Routers mix bits in packets, potentially from different flows
How to apply network coding? Multicast S R R R Given Sender & Receivers Given Flow Rate & Capacities State-of-the Art Min-Cost Flow Optimization Find the routing, which dictates the encoding
How to apply network coding? Multicast Given Sender & Receivers Given flow rate & capacities State-of-the Art Min-Cost Flow Optimization Find the routing, which dictates the encoding Unicast Many Unknown Changing Sender & Receivers Unknown and bursty traffic In Practice ?
How to apply network coding? Multicast Given Sender & Receivers Given flow rate & capacities State-of-the Art Min-Cost Flow Optimization Find the routing, which dictates the encoding In Practice Opportunism Unicast Many Unknown Changing Sender & Receivers Unknown and bursty traffic
Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time
Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time D A B
Opportunism (1) Opportunistic Listening: o Every node listens to all packets o It stores all heard packets for a limited time o Node sends Reception Reports to tell its neighbors what packets it heard Reports are annotations to packets If no packets to send, periodically send reports
Opportunism (2) Opportunistic Coding: o To send packet p to neighbor A, XOR p with packets already known to A Thus, A can decode o But how to benefit multiple neighbors from a single transmission?
Efficient Coding Arrows show next-hop D A B C
Efficient Coding Arrows show next-hop D A B C Bad Coding C will get RED pkt but A can’t get BLUE pkt
Efficient Coding Arrows show next-hop D A B C Better Coding Both A & C get a packet
Efficient Coding Arrows show next-hop D A B C Best Coding A, B, and C, each gets a packet To XOR n packets, each next-hop should have the n-1 packets encoded with the packet it wants
But how does a node know what packets a neighbor has? Reception Reports But reception reports may get lost or arrive too late Use Guessing o If I receive a packet I assume all nodes closer to sender have received it o Yes, error might happen and you recover by encoding and retransmitting
Putting It Together D A B C
D A B C
D A B C
Opportunism Flows arrive and leave at any time Follow any path No Scheduling O G N A C K M E F B D C K
Performance
Simulation Emstar Simulator 100 nodes 800mx800m Senders and receivers are chosen randomly Metric: Total Throughput of the Network
No Coding Our Scheme Network Throughput (KB/s) No. of Flows No Coding Opportunistic Coding vs. Current (Simulation Results)
No Coding Our Scheme Network Throughput (KB/s) No. of Flows Opportunistic Coding No Coding Orders of magnitude higher throughput in dense networks
Now, we also have a prototype implementation Rerun the Alice-and-Bob experiment using our Implementation on 3 Linux PCs
Preliminary Implementation Results Linux Kernel Roofnet test-bed Alice Relay Bob 3 transmissions instead of 4 25% throughput increase
Preliminary Results of our Prototype Implementation (Alice and Bob Experiment) Ratio of Throughput with Coding to No-Coding Opportunistic Coding Doubles the Throughput
Why More than 25%? MAC is fair 1/3 BW for each node Without coding, relay needs twice as much bandwidth as Alice or Bob With coding, all nodes need equal bandwidth Alice Relay Bob
Conclusion Introduced an opportunistic approach to Network Coding Drastic throughput improvement in dense networks First implementation of network coding in a wireless network Simple, Practical, and It Works!
Ongoing and Future Work A practical approach to Network Coding in wireless networks, including: Reduce bandwidth consumption Reduce power consumption Security Mobility
Questions? No Coding Our Scheme No. of Flows Opportunistic Coding No Coding Drastic throughput increase in dense networks Network Throughput (KB/s)