Wireless Network Coding

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

description

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. The Butterfly Example. Link capacity is 1 message/second. - PowerPoint PPT Presentation

Transcript of Wireless Network Coding

Page 1: Wireless Network  Coding

Wireless Network Coding

Sachin KattiAssistant Professor

EE & CS, Stanford University

Page 2: Wireless Network  Coding

What is Network Coding?Generalization of store and forward networks

Routers mix/code packets’ content before forwarding

Page 3: Wireless Network  Coding

The Butterfly ExampleSource wants to multicasts a and b to both

destinations

src

dst1 dst2

a b

a

a

a

a

b

b?

a a b

Link capacity is 1 message/second

Page 4: Wireless Network  Coding

The Butterfly ExampleSource wants to multicasts a and b to both

destinations

src

dst1 dst2

a b

a

a

a

a

b

b?

src

dst1 dst2

a b

a

a

a

a

b

b?

+b

a+b +b

a a b a a bb

XOR

Link capacity is 1 message/second

a XOR (a XOR b) = b

This multicast connection is impossible without network coding

Page 5: Wireless Network  Coding

What is Network Coding Good for?

Throughput

Page 6: Wireless Network  Coding

Improves Multicast Throughput

src

dst1 dst2

a b

a

a

a

a

b

b?

src

dst1 dst2

a b

a

a

a

a

b

b

+b

a+b +b

Without network coding, multicast throughput is 1.5

With network coding, multicast throughput is 2

XOR

Page 7: Wireless Network  Coding

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

s2

d2

s1

d1

a b

Page 8: Wireless Network  Coding

Improves Unicast Throughput

s2

d2

s1

d1

a

a

a

a

b

b

+b

a+b +b

s1 wants to send a to d1, and s2 wants to send b to d2

Without net-coding, avg. per flow throughput is 0.5With net-coding, avg. per-flow throughput is 1

XOR

Page 9: Wireless Network  Coding

What is Network Coding Good for?

ThroughputRobustness

Page 10: Wireless Network  Coding

Robustness to Packet Loss

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- ε)

dstsrc Rε

Each link has a loss rate of ε Virtual link Delivery Prob. = (1- ε)(1- ε)ε

Page 11: Wireless Network  Coding

Robustness to Packet Loss

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

dstsrc Rε ε

Each link has a loss rate of εDelivery = (1- ε) Delivery = (1- ε)

Page 12: Wireless Network  Coding

Coupon Collector ProblemProblem: n unique coupons; a collector samples

randomlyWithout coding

Need a sample size of about nlog(n) to collect all unique coupons

With random codingNeed n samples to collect all unique coupons e.g., 3 coupons c1, c2 and c3

Robustness to Randomness

Y2 = 5 c1 + c2 + 7c3 Y1 = c1 + 3 c2 + 4 c3

Y3 = c1 + c2

Page 13: Wireless Network  Coding

• Codes packets across connections

• Mainly Unicast

Inter-flow

Two Types of Network Coding

• Increases Throughput

• Codes packets within a connection

• Mainly multicast

Intra-flow

• Robustness to packet loss

Page 14: Wireless Network  Coding

COPE An Example of Inter-flow Network

Coding

Page 15: Wireless Network  Coding

City-wide Network

Increased Demands for Wireless Networks Digital Home

Emergency Networks

Page 16: Wireless Network  Coding

But, wireless networks struggle with low throughput, particularly in dense deployments

Can network coding help?

Page 17: Wireless Network  Coding

Current Approach

Router

Current Approach Requires 4 transmissionsBut can we do better?

Alice Bob

Page 18: Wireless Network  Coding

COPE

Router

Network Coding 3 transmissions instead of 4

XOR =

XOR = XOR =

Network Coding Increases Throughput

Alice Bob

Page 19: Wireless Network  Coding

Beyond Duplex Communications

S1 S2

D1D2

Two communications that intersect at a router

Router

Page 20: Wireless Network  Coding

Beyond Duplex Communications

S1 S2

D1D2

Router

D2 overhears packet

D1 overhears packet

Page 21: Wireless Network  Coding

Beyond Duplex Communications

S1 S2

D1D2

Router

XOR =

XOR = XOR =

3 transmissions instead of 4 Higher Throughput

Page 22: Wireless Network  Coding

Generalizes to arbitrary networks

Page 23: Wireless Network  Coding

Generalizes to arbitrary networks

Page 24: Wireless Network  Coding

Differences from Traditional Wireless Networks

Embrace the broadcast nature of wirelessDispose of the point-to-point abstraction

Routers mix bytes across packets, then forward them Network Coding

Page 25: Wireless Network  Coding

Nodes snoop on all packetsA node stores all heard packets for a limited time

Exploit Broadcast - Snoop

Page 26: Wireless Network  Coding

Nodes snoop on all packetsA node stores all heard packets for a limited time

Exploit Broadcast - Snoop

Storage

Tx Queue

Page 27: Wireless Network  Coding

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?

Page 28: Wireless Network  Coding

Which Packets to Code Together?

Arrows show next-hop

CD

A

B

Page 29: Wireless Network  Coding

CD

A

B

XORXOR

XOR =

=

Bad CodingOnly one neighbor benefits from one

transmission

Which Packets to Code Together?

Page 30: Wireless Network  Coding

CD

A

B

XOR =

XOR =

XOR =

Good CodingTwo neighbors benefit from one

transmission!

Which Packets to Code Together?

Page 31: Wireless Network  Coding

CD

A

B

XOR =XORXOR =XOR

XOR XOR =

XOR =XOR

Best CodingThree neighbors benefit from one

transmission!

Which Packets to Code Together?

Page 32: Wireless Network  Coding

CD

A

B

XOR =XORXOR =XOR

XOR XOR =

XOR =XOR

XOR n packets together iff the next hop of each packet already has the other n-1 packets apart from the one it wants

Which Packets to Code Together?

Page 33: Wireless Network  Coding

Problem Formalization

Router has n packets, each node has a different subset of these packets and needs a specific subsetMinimize number of transmissions subject to coding constraints

Router

AB

C

Page 34: Wireless Network  Coding

Solution IntuitionVirtual graph: Each packet is a vertex, edge if corresponding packets can be coded together

Router

ABC

COPE coding problem Virtual Graph

Page 35: Wireless Network  Coding

Solution IntuitionVirtual graph: Each packet is a vertex, edge if corresponding packets can be coded together

Router

ABC

Coded packet Clique in virtual graph

COPE coding problem Virtual Graph

Minimizing no. of transmissions Clique partitioning in virtual

graph

Page 36: Wireless Network  Coding

Solution IntuitionCOPE’s coding problem Clique partitioning in virtual graphClique partitioning Graph coloring in complementary graphNP hard, heuristic solution in paper

Coding in COPE

Graph coloring

Network capacity with network coding

Page 37: Wireless Network  Coding

COPE’ s CharacteristicsCOPE is a forwarding mechanismIt sits transparently between IP and MACRouting is unmodified (i.e., shortest path)

Opportunistic Code packets if possible, if not forward without coding

Does not delay packets

Page 38: Wireless Network  Coding

Performance

Page 39: Wireless Network  Coding

COPE is implemented in Linux

Page 40: Wireless Network  Coding

Alice-and-Bob Experiment

Router

3 transmissions instead of 4 Throughput gain is 4/3 = 1.33

Alice Bob

Page 41: Wireless Network  Coding

Results of the Alice-and-Bob

11.11.21.31.41.51.61.71.81.92

1 2 5.5 11

COPE almost doubles the throughput

Ratio of Throughput with COPE to Current Approach

802.11b bit rate

Page 42: Wireless Network  Coding

Why More Gain than 1.33?

802.11 MAC is fair 1/3 capacity for each nodeWithout COPE, router needs to send twice as much as George or Willy Router drops packetsWith COPE, all nodes need equal rateCOPE alleviates the mismatch between

MAC’s capacity allocation and the congestion at a node

Router

Alice Bob

Page 43: Wireless Network  Coding

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

Why More Than 1.33?

COPE alleviates the mismatch between MAC’s allocation and the congestion at a

node

1/3 1/3

1/3

Page 44: Wireless Network  Coding

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

Coding Gain Coding+MAC Gain

Coding gain is bounded by 2

Coding+MAC gain can be infinite

Can show that

Nodes not backlogged Nodes backlogged

Page 45: Wireless Network  Coding

Extension: Coding-Aware Routing [SRB07]

No coding opportunities since flows take different routes

A

B C D

EF Red Flow: A DGreen Flow: D F

6 transmissions to send two packets

Page 46: Wireless Network  Coding

Extension: Coding-Aware Routing [SRB07]

A

B C D

EF Red Flow: A DGreen Flow: D F

Pick routes that enable coding5 transmissions instead of 6

C & E can now code packets

Modified routing that maximizes throughput given coding

Page 47: Wireless Network  Coding

Can We Do Better?

How about 2 time slots?Network coding requires 3 time slotsCurrent approach requires 4 time slots

Router

Page 48: Wireless Network  Coding

Analog Network Coding

Instead of router mixing packets…

Exploit that the wireless channel naturally mixes signals when packets interfere!

Page 49: Wireless Network  Coding

Analog Network Coding

Page 50: Wireless Network  Coding

Analog Network Coding

• 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

Collision

- =

Page 51: Wireless Network  Coding

ChallengesInterfered signal is not really the sum

Channel distort signalTwo signals are never synchronizedIt is not A(t) + B(t) but f1( A(t) ) + f2( B(t-T) )

Page 52: Wireless Network  Coding

Solution: The Bliss of Asynchrony

Alice uses non-interfering bits from her signal to estimate her channelAlice compensates for her interfering signalBob runs the same algorithm backward

Time

SignalNo Interference No Interference

We exploit the lack of synchronization!

Page 53: Wireless Network  Coding

Design & ImplementationANC works with any modulation scheme

Accurate channel, frequency & sampling offset estimationIterative algorithms to deal with interference

Linear decoding complexityImplemented in software radios

(GMSK, BPSK, QPSK, …)

Page 54: Wireless Network  Coding

Primer on Modulation• Digital version of wireless signals Complex samples

• Focus on GMSK (Gaussian Minimum Shift Keying)

N2 lags N1 by 90 degrees Bit “0”N2

N1

N2N1

N2 leads N1 by 90 degrees Bit “1”

Page 55: Wireless Network  Coding

Primer on Channel Effects• Attenuation

N2 and N1 are attenuated by the same amount

Channel

N2

N1

N2

N1

Page 56: Wireless Network  Coding

Primer on Channel Effects• Attenuation• Rotation

Channel

N2

N1

N2

N1

Page 57: Wireless Network  Coding

Primer on Channel Effects• Attenuation• Rotation

Angle between complex numbers is preserved

ChannelN2

N1

N2

N1

To decode, compute angle between received complex numbers Angle (N2, N1) = 90 degrees

Bit “1” was transmitted

Page 58: Wireless Network  Coding

So, How Does Alice Decode?

Time

SignalNo

Interference

No Interferen

ce

Alice’s Signal

Bob’s Signal

Page 59: Wireless Network  Coding

Time

Signal

• Small uninterfered part at the start• Decodes uninterfered part via standard GMSK

demod• Once interference starts, Alice changes decoding

algorithm

Interference

No Interferen

ce

No Interferen

ce

So, How Does Alice Decode?

Page 60: Wireless Network  Coding

• What did Alice send?

N1

N2

Page 61: Wireless Network  Coding

• What did Alice send?• What did Bob send?

N1

N2

B1

B2

Page 62: Wireless Network  Coding

B1

N1

B2N2

• What did Alice send?• What did Bob send?

Page 63: Wireless Network  Coding

• What is Interference Complex addition

B1

N1X1

X2B2

N2

Page 64: Wireless Network  Coding

N2

N1

• What does Alice know?

B1

N1X1

X2B2

N2

Page 65: Wireless Network  Coding

N2

N1

• What does Alice know?

Amplitude of his Samples α

Amplitude of Bob’s Samples β

No Interferen

ce

αβ

X1

X2

Page 66: Wireless Network  Coding

Solutions for interfered complex sample

Lemma:“If X is an interfered complex number satisfying the

above equation, then the pair takes one of the following two values:

where ))DjααD(X(β

))DjββD(X(αθ2

2

1

1

arg

arg

2

222

|| XD

jj eeX

],[

Interfered complex no:

Page 67: Wireless Network  Coding

N1

N2

• Alice finds solutions for X1 and X2

• What does Alice know?

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

Two solutions for each interfered complex sample!

Page 68: Wireless Network  Coding

N1

N2

Alice finds solutions for X1 and X2

• What does Alice know?

Four possible angles!

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

Page 69: Wireless Network  Coding

N1

N2

Alice finds solutions for X1 and X2

• What does Alice know?

Four possible angles!

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

Page 70: Wireless Network  Coding

N1

N2

Alice finds solutions for X1 and X2

• What does Alice know?

Four possible angles!

B1

X1

X2B2

N2

B1’N1’

N2’

B2’

N1

Page 71: Wireless Network  Coding

N1

N2

Alice finds solutions for X1 and X2

• What does Alice know?

Four possible angles!

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

Page 72: Wireless Network  Coding

N1

N2

Alice finds solutions for X1 and X2

• What does Alice know?

Four possible angles!

B1

N1X1

X2B2

N2

B1’

N2’

B2’

N1’

Page 73: Wireless Network  Coding

N1

N2• What does Alice know?

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

Pick the correct angle +90 degrees

Page 74: Wireless Network  Coding

• What does Alice know?

B1

N1X1

X2B2

N2

B1’N1’

N2’

B2’

N1

N2

Pick the correct angle +90 degrees

Page 75: Wireless Network  Coding

• What does Alice know?

B1

N1X1

X2 B2N2

B1’N1’

N2’

B2’

N1

N2

Dictates solution for Bob’s complex samples!

Page 76: Wireless Network  Coding

• What does Alice know?

B1

N1X1

X2 B2N2

B1’N1’

N2’

B2’

N1

N2

• Alice finds angle between B1 and B2 and decodes

Page 77: Wireless Network  Coding

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

Page 78: Wireless Network  Coding

Generalizes to other topologies

Chain (even with single flow)

Cross

Other COPE topologies

CS CR1 CR2 CD

S1 B2

D1D2

R

Page 79: Wireless Network  Coding

SummaryNetwork coding allows routers to mix packet content before forwarding

Inter-flow network coding mixes packets across flows

Exploits broadcastProvides in-network compressionExploits strategic collisions

Prototypes that yield large throughput increases