Wireless Network Coding

Slides:



Advertisements
Similar presentations
Architecture and Algorithms for an IEEE 802
Advertisements

A DISTRIBUTED CSMA ALGORITHM FOR THROUGHPUT AND UTILITY MAXIMIZATION IN WIRELESS NETWORKS.
Impact of Interference on Multi-hop Wireless Network Performance
Doc.: IEEE /0111r0 Zhanji Wu, et. Al. December 2012 Submission A Physical-layer Network Coding Relay scheme for IEEE Date: Authors:
Wireless Networks Should Spread Spectrum On Demand Ramki Gummadi (MIT) Joint work with Hari Balakrishnan.
Interference Cancellation in Two-Path Successive Relay System with Network Coding Chunbo Luo, Dr. Yu Gong & Prof. Fuchun Zheng School of Systems Engineering.
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
ROUTING IN INTERMITTENTLY CONNECTED MOBILE AD HOC NETWORKS AND DELAY TOLERANT NETWORKS: OVERVIEW AND CHALLENGES ZHENSHENG ZHANG.
Multicasting in Mobile Ad hoc Networks By XIE Jiawei.
Impact of Interference on Multi-hop Wireless Network Performance Kamal Jain, Jitu Padhye, Venkat Padmanabhan and Lili Qiu Microsoft Research Redmond.
Capacity of wireless ad-hoc networks By Kumar Manvendra October 31,2002.
Mobility Increase the Capacity of Ad-hoc Wireless Network Matthias Gossglauser / David Tse Infocom 2001.
The strength of routing Schemes. Main issues Eliminating the buzz: Are there real differences between forwarding schemes: OSPF vs. MPLS? Can we quantify.
Flashback: A New Control Plane for Wireless Networks Asaf Cidon (Stanford), Kanthi Nagaraj (UCLA), Pramod Viswanath (UIUC), Sachin Katti (Stanford) Stanford.
* Distributed Algorithms in Multi-channel Wireless Ad Hoc Networks under the SINR Model Dongxiao Yu Department of Computer Science The University of Hong.
Wide Area Wi-Fi Sam Bhoot. Wide Area Wi-Fi  Definition: Wi-Fi (Wireless Fidelity) n. – popular term for high frequency wireless local area networks operating.
Hidden Terminal Problem and Exposed Terminal Problem in Wireless MAC Protocols.
Network Coding for Wireless Networks
XORs in The Air: Practical Wireless Network Coding
Analog Network Coding Sachin Katti Shyamnath Gollakota and Dina Katabi.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Chapter 2 Fundamentals of Data and Signals
Network Coding Testbed Using Software-Defined Radio Abstract In current generation networks, network nodes operate by replicating and forwarding the packets.
1 A Framework for Joint Network Coding and Transmission Rate Control in Wireless Networks Tae-Suk Kim*, Serdar Vural*, Ioannis Broustis*, Dimitris Syrivelis.
XORs in the air: Practical Wireless Network Coding Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft SIGCOMM ‘06 Presented.
Wireless Mesh Networks 1. Architecture 2 Wireless Mesh Network A wireless mesh network (WMN) is a multi-hop wireless network that consists of mesh clients.
CS Dept, City Univ.1 Low Latency Broadcast in Multi-Rate Wireless Mesh Networks LUO Hongbo.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Mobile Ad Hoc Networks Network Coding and Xors in the Air 7th Week.
Cool Topics in Networking CS144 Review Session 8 November 20, 2009 Samir Selman.
Network coding for multicasting and unicasting in MANETs Muriel Médard LIDS Massachusetts Institute of Technology.
1 How Many Packets Can We Encode? - An Analysis of Practical Wireless Network Coding Jerry Le, John C.S. Lui, Dah Ming Chiu Chinese University of Hong.
1 Algorithms for Bandwidth Efficient Multicast Routing in Multi-channel Multi-radio Wireless Mesh Networks Hoang Lan Nguyen and Uyen Trang Nguyen Presenter:
Yanyan Yang, Yunhuai Liu, and Lionel M. Ni Department of Computer Science and Engineering, Hong Kong University of Science and Technology IEEE MASS 2009.
SourceSync: A Distributed Architecture for Sender Diversity Hariharan Rahul Haitham Hassanieh Dina Katabi.
Overcoming the Antennas-Per-AP Throughput Limit in MIMO Shyamnath Gollakota Samuel David Perli and Dina Katabi.
Special Topics on Algorithmic Aspects of Wireless Networking Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central.
Chapter 4: Managing LAN Traffic
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee.
Multihop wireless networks Geographical Routing Karp, B. and Kung, H.T., Greedy Perimeter Stateless Routing for Wireless Networks, in MobiCom Using.
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee.
Wireless Network Coding Martin Xu. Outline Introduction New Solutions – COPE – ANC Conclusions.
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
User Cooperation via Rateless Coding Mahyar Shirvanimoghaddam, Yonghui Li, and Branka Vucetic The University of Sydney, Australia IEEE GLOBECOM 2012 &
Copyright: S.Krishnamurthy, UCR Power Controlled Medium Access Control in Wireless Networks – The story continues.
Pushing the Limits of Wireless Networks Prof. Dina Katabi Jan 9, 2006.
Practical Network Coding for Wireless Mesh Networks Wenjun Hu Joint work with Sachin Katti, Hariharan Rahul, Dina Katabi, Jon Crowcroft and Muriel Médard.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
15-744: Computer Networking L-12 Wireless Broadcast.
1 - CS7701 – Fall 2004 Review of: Detecting Network Intrusions via Sampling: A Game Theoretic Approach Paper by: – Murali Kodialam (Bell Labs) – T.V. Lakshman.
Cross-Layer Approach to Wireless Collisions Dina Katabi.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
Optimization Problems in Wireless Coding Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
Energy-Efficient Protocol for Cooperative Networks.
Trading Structure for Randomness in Wireless Opportunistic Routing Szymon Chachulski, Michael Jennings, Sachin Katti and Dina Katabi MIT CSAIL SIGCOMM.
Information Theory for Mobile Ad-Hoc Networks (ITMANET): The FLoWS Project Collision Helps! Algebraic Collision Recovery for Wireless Erasure Networks.
March 18, 2005 Network Coding in Interference Networks Brian Smith and Sriram Vishwanath University of Texas at Austin March 18 th, 2005 Conference on.
The Importance of Being Opportunistic Sachin Katti Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard.
Embracing Wireless Interference : Analog Network Coding By Sachin Katti, Shyamnath Gollakota, and Dina Katabi Shyamala Villupuram Sundararaman.
Impact of Interference on Multi-hop Wireless Network Performance
OSI Protocol Stack Given the post man exemple.
Xors in the air Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, Jon Crowcroft.
15-744: Computer Networking
ECE 544 Protocol Design Project 2016
CS223 Advanced Data Structures and Algorithms
Network Coding Testbed
Hidden Terminal Decoding and Mesh Network Capacity
Network Coding Testbed
Pradeep Kyasanur Nitin H. Vaidya Presented by Chen, Chun-cheng
Information Theory for Mobile Ad-Hoc Networks (ITMANET): The FLoWS Project Collision Helps! Algebraic Collision Recovery for Wireless Erasure Networks.
Presentation transcript:

Wireless Network Coding Sachin Katti Assistant Professor EE & CS, Stanford University

What is Network Coding? Generalization of store and forward networks Routers mix/code packets’ content before forwarding So, what is network coding? NC is any extension of typical store and forward networks. Today, routers receive packets, store them and forward them. In network coding, routers still store and forward packets, but they mix or code the content of these packets before forwarding.

The Butterfly Example ? a b a b b a a a a a b Source wants to multicasts a and b to both destinations Link capacity is 1 message/second src a b a b ? b a a To see why such coding might make sense, let us take an example. The source wants to multicast two messages a and b, to both destinations. Each link has a capacity of one message per time unit. How can you do it? a dst1 dst2 a a b

The Butterfly Example ? ? a XOR (a XOR b) = b Source wants to multicasts a and b to both destinations Link capacity is 1 message/second src src a b a b a b a b ? ? XOR a XOR (a XOR b) = b b b a a a a +b a a+b a +b This multicast connection is impossible without network coding dst1 dst2 dst1 dst2 a a b a b a b

What is Network Coding Good for? Throughput

Improves Multicast Throughput src src a b a b a b a b ? XOR b b a a a a +b a a+b a +b dst1 dst2 dst1 dst2 Without network coding, multicast throughput is 1.5 With network coding, multicast throughput is 2

Improves Unicast Throughput s1 wants to send a to d1, and s2 wants to send b to d2 a b s1 s2 d2 d1

Improves Unicast Throughput s1 wants to send a to d1, and s2 wants to send b to d2 s1 s2 a b XOR b a a +b a+b a +b d2 d1 Without net-coding, avg. per flow throughput is 0.5 With net-coding, avg. per-flow throughput is 1

What is Network Coding Good for? Throughput Robustness

Robustness to Packet Loss Each link has a loss rate of ε Virtual link Delivery Prob. = (1- ε)(1- ε) src R dst ε ε With source coding, the maximum rate is (1- ε)(1- ε) E.g., ε=0.05; of each 100 packets 10% should be redundancy  data rate = 0.9 With network coding, the maximum rate is (1- ε) Put a virtual link; remind them of digital fountain

Robustness to Packet Loss Each link has a loss rate of ε Delivery = (1- ε) Delivery = (1- ε) src R dst ε ε With source coding, the maximum rate is (1- ε)(1- ε) E.g., ε=0.05; of each 100 packets 10% should be redundancy  data rate = 0.9 With network coding, the maximum rate is (1- ε) E.g., ε= 0.05; of each 100 packets only 5% should be redundancy data rate =0.95 Put a virtual link; remind them of digital fountain

Coupon Collector Problem Robustness to Randomness Coupon Collector Problem Problem: n unique coupons; a collector samples randomly Without coding Need a sample size of about nlog(n) to collect all unique coupons With random coding Need n samples to collect all unique coupons e.g., 3 coupons c1, c2 and c3 Waiting time to collect the r unique element given r-1 unique is 1/p_r P_r = 1-(r-1/N) Total waiting time is Sum of these waiting times from 1 until N Y1 = c1 + 3 c2 + 4 c3 Y2 = 5 c1 + c2 + 7c3 Y3 = c1 + c2

Two Types of Network Coding Inter-flow Intra-flow Codes packets within a connection Codes packets across connections Increases Throughput Robustness to packet loss Mainly Unicast Mainly multicast

COPE An Example of Inter-flow Network Coding

Increased Demands for Wireless Networks City-wide Network Digital Home Emergency Networks

But, wireless networks struggle with low throughput, particularly in dense deployments Can network coding help?

Current Approach Current Approach  Requires 4 transmissions Bob Alice Router Current Approach  Requires 4 transmissions But can we do better?

Network Coding Increases Throughput COPE XOR = Bob Alice Router XOR = XOR = Network Coding  3 transmissions instead of 4 Network Coding Increases Throughput

Beyond Duplex Communications Router Two communications that intersect at a router

Beyond Duplex Communications Router D2 D1 D2 overhears packet D1 overhears packet

Beyond Duplex Communications Router XOR = D2 D1 = XOR = XOR 3 transmissions instead of 4  Higher Throughput

Generalizes to arbitrary networks

Generalizes to arbitrary networks

Differences from Traditional Wireless Networks Embrace the broadcast nature of wireless Dispose of the point-to-point abstraction Routers mix bytes across packets, then forward them  Network Coding

Exploit Broadcast - Snoop Nodes snoop on all packets A node stores all heard packets for a limited time

Exploit Broadcast - Snoop Nodes snoop on all packets A node stores all heard packets for a limited time Tx Queue Storage

Routers Code Packets To send packet p to neighbor A, XOR p with packets already known to A Thus, A can decode But how can multiple neighbors benefit from a single transmission?

Which Packets to Code Together? B Arrows show next-hop

Which Packets to Code Together? XOR ? XOR = A XOR = D C B Bad Coding Only one neighbor benefits from one transmission

Which Packets to Code Together? XOR = XOR = A XOR = D C B Good Coding Two neighbors benefit from one transmission!

Which Packets to Code Together? XOR XOR = XOR = XOR A = XOR XOR D C = XOR XOR B Best Coding Three neighbors benefit from one transmission!

Which Packets to Code Together? XOR XOR = XOR = XOR A = XOR XOR D C = XOR XOR B XOR n packets together iff the next hop of each packet already has the other n-1 packets apart from the one it wants

Problem Formalization Router C A B Router has n packets, each node has a different subset of these packets and needs a specific subset Minimize number of transmissions subject to coding constraints

Solution Intuition COPE coding problem Virtual Graph Router C A B Virtual graph: Each packet is a vertex, edge if corresponding packets can be coded together COPE coding problem Virtual Graph Router A B C

Minimizing no. of transmissions  Clique partitioning in virtual graph Solution Intuition Virtual graph: Each packet is a vertex, edge if corresponding packets can be coded together COPE coding problem Virtual Graph Router A B C Coded packet  Clique in virtual graph Minimizing no. of transmissions  Clique partitioning in virtual graph

Solution Intuition Graph coloring Coding in COPE COPE’s coding problem  Clique partitioning in virtual graph Clique partitioning  Graph coloring in complementary graph NP hard, heuristic solution in paper Graph coloring Coding in COPE Network capacity with network coding

COPE’ s Characteristics COPE is a forwarding mechanism It sits transparently between IP and MAC Routing is unmodified (i.e., shortest path) Opportunistic  Code packets if possible, if not forward without coding Does not delay packets

Performance

COPE is implemented in Linux

Alice-and-Bob Experiment Router Bob Alice 3 transmissions instead of 4  Throughput gain is 4/3 = 1.33

Results of the Alice-and-Bob Ratio of Throughput with COPE to Current Approach 802.11b bit rate COPE almost doubles the throughput

Why More Gain than 1.33? Router Bob Alice COPE alleviates the mismatch between MAC’s capacity allocation and the congestion at a node 802.11 MAC is fair  1/3 capacity for each node Without COPE, router needs to send twice as much as George or Willy  Router drops packets With COPE, all nodes need equal rate

Why More Than 1.33? 802.11 is fair  1/3 for each node COPE alleviates the mismatch between MAC’s allocation and the congestion at a node 802.11 is fair  1/3 for each node Without COPE router needs to send twice as much With COPE, all nodes need equal rate

Can show that Coding Gain Coding+MAC Gain Reduction in #Transmissions Improvement of Draining Rate at Bottlenecks In Alice-Bob scenario, Coding Gain is 4/3 = 1.33 In Alice-Bob scenario, Coding+MAC Gain is 2 Nodes not backlogged Nodes backlogged Coding gain is bounded by 2 Coding+MAC gain can be infinite Can show that

Extension: Coding-Aware Routing [SRB07] F E Red Flow: A D Green Flow: D F 6 transmissions to send two packets No coding opportunities since flows take different routes

Extension: Coding-Aware Routing [SRB07] C & E can now code packets A F E Red Flow: A D Green Flow: D F Pick routes that enable coding 5 transmissions instead of 6 Modified routing that maximizes throughput given coding

Can We Do Better? How about 2 time slots? Router Current approach requires 4 time slots Network coding requires 3 time slots How about 2 time slots?

Analog Network Coding Instead of router mixing packets… Exploit that the wireless channel naturally mixes signals when packets interfere! Analog Network Coding

Analog Network Coding

2 Time Slots  Even Higher Throughput Analog Network Coding Collision - = - = Alice and Bob send simultaneously Router receives the sum of the two signals (plus time and phase shifts) Router amplifies and forwards Alice subtracts her transmission from received signal 2 Time Slots  Even Higher Throughput

Challenges Interfered signal is not really the sum Channel distort signal Two signals are never synchronized It is not A(t) + B(t) but f1( A(t) ) + f2( B(t-T) )

Solution: The Bliss of Asynchrony Time Signal No Interference Alice uses non-interfering bits from her signal to estimate her channel Alice compensates for her interfering signal Bob runs the same algorithm backward We exploit the lack of synchronization!

Design & Implementation ANC works with any modulation scheme Accurate channel, frequency & sampling offset estimation Iterative algorithms to deal with interference Linear decoding complexity Implemented in software radios (GMSK, BPSK, QPSK, …)

Primer on Modulation Digital version of wireless signals  Complex samples Focus on GMSK (Gaussian Minimum Shift Keying) N2 leads N1 by 90 degrees  Bit “1” N2 lags N1 by 90 degrees  Bit “0” N2 N1 N2 N1

Primer on Channel Effects Attenuation N2 N2 Channel N1 N1 N2 and N1 are attenuated by the same amount

Primer on Channel Effects Attenuation Rotation N2 N2 Channel N1 N1

Primer on Channel Effects Attenuation Rotation N2 N1 Channel N2 N1 To decode, compute angle between received complex numbers Angle (N2, N1) = 90 degrees Bit “1” was transmitted Angle between complex numbers is preserved

So, How Does Alice Decode? Time Signal No Interference No Interference Alice’s Signal Bob’s Signal

So, How Does Alice Decode? Time Signal No Interference No Interference Interference Small uninterfered part at the start Decodes uninterfered part via standard GMSK demod Once interference starts, Alice changes decoding algorithm

What did Alice send? N2 N1

What did Alice send? What did Bob send? B1 N1 N2 B2

What did Alice send? What did Bob send? N1 B1 N2 B2

What is Interference  Complex addition B1 N2 B2 X2

What does Alice know? X1 N2 N1 B1 N2 N1 B2 X2

What does Alice know? X1 N2 β α N1 X2 Amplitude of Bob’s Samples  β No Interference Amplitude of Bob’s Samples  β Amplitude of his Samples  α

Solutions for interfered complex sample Interfered complex no: Lemma: “If X is an interfered complex number satisfying the above equation, then the pair takes one of the following two values: where

Two solutions for each interfered complex sample! What does Alice know? X1 N2 N1 N1’ B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Two solutions for each interfered complex sample!

Two solutions for each interfered complex sample! What does Alice know? N2 X1 N1 N1’ B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Two solutions for each interfered complex sample!

Alice finds solutions for X1 and X2 What does Alice know? X1 N2 N1 N1’ B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Four possible angles!

N1 N2 What does Alice know? Alice finds solutions for X1 and X2 B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Four possible angles!

N1 N2’ What does Alice know? Alice finds solutions for X1 and X2 B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Four possible angles!

N1’ N2 What does Alice know? Alice finds solutions for X1 and X2 B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Four possible angles!

N1’ N2’ What does Alice know? Alice finds solutions for X1 and X2 B1’ B2’ B1 N2 N1 B2 X2 N2’ Alice finds solutions for X1 and X2 Four possible angles!

Pick the correct angle  +90 degrees What does Alice know? N2 X1 N1 N1’ B1’ B2’ B1 N1 N2 B2 X2 N2’ Pick the correct angle  +90 degrees

Pick the correct angle  +90 degrees What does Alice know? N2 X1 N1 N1’ B1’ B2’ B1 N1 N2 B2 X2 N2’ Pick the correct angle  +90 degrees

Dictates solution for Bob’s complex samples! What does Alice know? N2 X1 N1 N1’ B1’ B1 B2’ N1 N2 B2 X2 N2’ Dictates solution for Bob’s complex samples!

N2 N1 B1 N1 N2 B2 What does Alice know? X1 N1 N1’ B1’ B1 B2’ N1 N2 B2 X2 N2’ Alice finds angle between B1 and B2 and decodes

Decoding Algorithm – Decoding interference Time Signal Interference Decode rest of the interfered part using this algorithm Decode final uninterfered part from Bob via standard GMSK demodulation Bob runs the same algorithm backwards

Generalizes to other topologies Chain (even with single flow) Cross Other COPE topologies C S R1 R2 D S1 B2 D1 D2 R

Summary Network coding allows routers to mix packet content before forwarding Inter-flow network coding mixes packets across flows Exploits broadcast Provides in-network compression Exploits strategic collisions Prototypes that yield large throughput increases