Outline Network Coding - Department of Computer Scienceyzchen/papers/papers/network_coding/... ·...

29
1 Network Coding Philip A. Chou and Yunnan Wu Microsoft Research Presented at INFOCOM 2007 and SIGMETRICS 2007 Outline Part I: Network coding for multicasting Part II: Network coding for wireless networks Part III: Advanced topics Part I Outline Introduction to Network Coding Basic theory Practical Network Coding Packet format Buffering Applications Live Broadcasting, File Downloading, Storage, Messaging, Interactive Communication, Sensor Networks Introduction: Routing vs Network Coding y 1 y 2 y 3 f 1 (y 1 ,y 2 ,y 3 ) f 2 (y 1 ,y 2 ,y 3 ) Network Coding can Increase Throughput

Transcript of Outline Network Coding - Department of Computer Scienceyzchen/papers/papers/network_coding/... ·...

1

Network Coding

Philip A. Chou and Yunnan Wu Microsoft Research

Presented at INFOCOM 2007 and SIGMETRICS 2007

Outline

Part I: Network coding for multicasting Part II: Network coding for wireless networks

Part III: Advanced topics

Part I

Outline

Introduction to Network CodingBasic theory

Practical Network CodingPacket format

Buffering

ApplicationsLive Broadcasting, File Downloading, Storage, Messaging, Interactive Communication, Sensor Networks

Introduction:Routing vs Network Coding

y1

y2

y3

f1(y1,y2,y3)

f2(y1,y2,y3)

Network Coding can Increase Throughput

Network Coding can Increase Throughput

sender s1

rate r1

sender s2

rate r2

receiver t2

receiver t1

r2

r1

Routing only:

Capacity region?

r2

r1

Network Coding:

a

b

b

a

XOR

XOR

XOR

a+b

Single Session Communication

Unicast case

Broadcast case

Multicast case

Single SessionUnicast Case

rate(s,t) MinCut(s,t)

Menger (1927):MinCut(s,t) is achievable, i.e., MaxFlow(s,t) = MinCut(s,t),by packing edge-disjoint directed paths

s

t

Value ofs-t cut

Single SessionBroadcast Case

rate(s,V) minv V MinCut(s,v)

Edmonds (1972):minv V MinCut(s,v)by packing edge-disjoint directed spanning trees

Sender s

Receiver set(all other nodes in V)

Directed graph (V,E)

Given:

Single SessionBroadcast Case

rate(s,V) minv V MinCut(s,v)

Edmonds (1972):minv V MinCut(s,v)by packing edge-disjoint directed spanning trees

Sender s

Receiver set(all other nodes in V)

Directed graph (V,E)

Given:

Single SessionMulticast Case

rate(s,T) mint T MinCut(s,t)

mint T MinCut(s,t) is NOT always achievableby packing edge-disjoint multicast (Steiner) trees

Sender s

Directed graph (V,E)

Given:

Receiver set T

(subset of V)

Single SessionMulticast Case

rate(s,T) mint T MinCut(s,t)

mint T MinCut(s,t) is NOT always achievableby packing edge-disjoint multicast (Steiner) trees

Sender s

Directed graph (V,E)

Given:

Receiver set T

(subset of V)

Network CodingAchieves Multicast Capacity

Alswede, Cai, Li, Yeung (2000):mint T MinCut(s,t) is alwaysachievable by network coding

h = mint T MinCut(s,t)

sender

receiver

optimal routingthroughput = 1

network codingthroughput = 2

coding node

a,b

a

a

a

a

bb

b

b

a+b a+b

a+b

,a

,b

Linear Network Codingis Sufficient

Li, Yeung, Cai (2003) IT Best Paper Award 2006Koetter and Médard (2003)

Linear network coding is sufficient (to achieve multicastcapacity)

Jaggi, Chou, Jain, Effros; Sanders, et al. (2003)Erez, Feder (2005)

Polynomial time algorithm for finding coefficients

y1

y2

y3

1y1+ 2y2+ 3y3

1y1+ 2y2+ 3y3

b

b

a+b

a+b

a

a

b

b

b

a

a

a

Network CodingMinimizes Delay

Jain, Chou (2004)

optimal routingdelay = 3

network codingdelay = 2

a+b a+b

ba

ba

a

a

b

b

a

aa

a

a a

Network CodingMinimizes Energy (per bit)

Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)

optimal routingenergy per bit = 5

network codingenergy per bit = 4.5

a

a a,b

a a ba,b b,a

Network Codingapplicable to real networks?

InternetIP Layer

Routers (e.g., ISP)

Application LayerInfrastructure (e.g., CDN)

Ad hoc (e.g., P2P)

WirelessMobile / multihop ad hoc wireless networks

Stationary wireless (residential) mesh networks

Sensor networks

Network CodingTheory vs. Practice

Theory:Symbols flow synchronously throughout network

Edges have unit (or known integer) capacities

Centralized knowledge of topology assumedto compute encoding and decoding functions

Practice:Information travels asynchronously in packets

Packets subject to random delays and losses

Edge capacities often unknown, time-varying

Difficult to obtain centralized knowledge,or to arrange reliable broadcast of functions

Need simple technology, applicable in practice

Making Network Coding Practical

PacketizationHeader removes need for centralized knowledge of graph topology and encoding/decoding functions

BufferingAllows asynchronous packet arrivals & departures with arbitrarily varying rates, delay, loss

[Chou, Wu, and Jain; Allerton 2003][Ho, Koetter, Médard, Karger, and Effros, ISIT 2003]

Finite Fields

Field: a set F Addition, multiplication

Subtraction, division

Commutative, associative, distributive

E.g., R, Q, C, {0,1}, Zp p-1}, GF(pm) = {a0+a1x am-1x

m-1} mod p(x)

Not Z, F [x], matrices, etc.

Operations can be done by table lookup

Invertibility of Gt

Gt will be invertible with high probabilityif local encoding vectors are randomand field size is sufficiently large

If field size = 216 and |E| = 28

then Gt will be invertible w.p. = 0.996

[Ho, Koetter, Médard, Karger, and Effros; ISIT 2003][Jaggi, Sanders, Chou, Effros, Egner, Jain, and Tolhuizen; Trans IT 2005]

Header Cost vs. Benefit

Cost:Overhead of transmitting h extra symbolsper packet; if h = 50 and field size = 28,then overhead 50/1400 3%

Benefit:Receivers can decode even if

Network topology & encoding functions unknown

Nodes & edges added & removed in ad hoc way

Packet loss, node & link failures w/ unknown locations

Local encoding vectors are time-varying & random

Asynchronous Communication

In real networks

of nodes are grouped and carried sequentiallySeparate edges separate prop & queuing delaysNumber of packets per unit time on edge varies

Loss, congestion, competing traffic, rounding

Need to synchronizeAll packets related to same source vectors x1 xh are in same generation; h is generation sizeAll packets in same generation tagged with same generation number; one byte (mod 256) sufficient

Buffering

random combination

Transmission opportunity: generate packet

buffer

node

arriving packets (jitter, loss, variable rate)

asynchronous transmission

asynchronous reception

edgeedge

At an Intermediate Node

buffer

randomcombination

randomly

generated

local

encoding

vector

5,9,6 global encoding vector

1,5,4 2,2,1

At the Source Node

buffer

randomcombination

randomly

generated

local

encoding

vector

2,3,0 global encoding vector

x3

x1x2

0,1,0 1,0,0

(x1) * 2

+ (x2) * 3

= (2x1 + 3x2)

At a Terminal Node

buffer

1,5,4 2,2,1

2x1 + 3x2

2x1 + 2x2 + x3

x1 + 5x2 + 4x3

Decoding

Block decoding:Collect h or more packets, hope to invert Gt

Earliest decoding (recommended):Perform Gaussian elimination after each packet

At every node, detect & discard non-informative packets

Gt tends to be lower triangular, so can typically decode x1 xk with fewer more than k packets

Much lower decoding delay than block decodingApproximately constant, independent of block length h

Simulations

Implemented event-driven simulator in C++

Six ISP graphs from Rocketfuel project (UW)SprintLink: 89 nodes, 972 bidirectional edges

Edge latencies: speed of light x distance

Sender: Seattle; Receivers: 20 arbitrary (5 shown)Maxflows: 450 Mbps; Max 833 Mbps

Union of maxflows: 89 nodes, 207 edges

Send 20000 packets in each experiment, measure:received rank, throughput, throughput loss, decoding delay vs.sendingRate(450), fieldSize(216), genSize(100), intLen(100)

Throughput & Decoding Delay

400 450 500 550 600 650 700 750 800 850400

450

500

550

600

650

700

750

800

850

Sending rate (Mbps)

Thr

ough

put (

Mbp

s)

Chicago (450 Mbps)Pearl Harbor (525 Mbps)Anaheim (625 Mbps)Boston (733 Mbps)SanJose (833 Mbps)

20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

200

Generation Size

Pac

ket d

ela

y (m

s)

Pkt delay w/ blk decodingPkt delay w/ earliest decoding

[Chou, Wu, and Jain; Allerton 2003]

Network Coding Game

You are a node; Form a network by picking two neighbors to whom you will send packets

I will send a two-packet message, e.g.,1 0 6 5 5 4

0 1 2 5 5 6

These are elements in Z7 = {0,1,2,3,4,5,6}

Decode the message if you can

When you receive a packet from a neighbor, add it to your buffer, generate a random packet, and send it to one of your neighbors

Key: 0 1 2 3 4 5 6

_ A B C D E F

Example

3 * [1 0 6 5 5 4] = [3 0 4 1 1 5]

4 * [0 1 2 5 5 6] = [0 4 1 6 6 3]

send [3 4 5 0 0 2]

Network Coding for Internet and Wireless Applications

Akamai

Bit

Torr

ent

PeerN

et

Mess

enger

CO

PEAd Hoc

(P2P)

Infra-structure

(CDN)

wireless

Internet

CoopN

et

PPLi

ve

MSN

Mesh

Joost

Sky

pe

Mess

enger

Oce

anSto

re

File Download

State-of-the-Art: BitTorrent

Scheduling transmission of pieces:

Efficiency (avg download rate)decreases under certain conditions

e.g., bottleneck at seed

Network Coding: Avalanche

s

x1=[x1,1,x1,2, ,x1,N]

...

x2=[x2,1,x2,2, ,x2,N]

xh=[xh,1,xh,2, ,xh,N]

v

y( )

te

...

...

y(e1)

y(e2)

y(eh)

y(e)=[y1(e),y2(e), ,yN(e)]

Pieces

[Gkantsidis and Rodruiguez; INFOCOM 2005]

Generate random linear combination and send

No scheduling is necessary

When to send a mixture packet

A node generates the coding vector of a random mixture (but not the packet).

Network Codingvs Local Rarest

Mean Max

LR Free 124.2 161

LR TFT 126.1 185

FEC Free 123.6 159

FEC TFT 127.1 182

NC Free 117.0 136

NC TFT 117.2 139

Courtesy of [Gkantsidis and Rodruiguez; INFOCOM 2005]

Distributed Storage

State-of-the-Art: OceanStoreFiles are stored across large number of hostsHosts are often offline; redundancy is neededFiles are divided into k equal data fragmentsThese are coded into n code fragments and sprinkled among hosts (n=32, k=16 is typical)Recover file by reading from any k hostsData on permanently failed hosts must be replaced

Requires new host to read k fragments of size M/k each (M = filesize)

Erasure Codes

source

M/k

M/k

M/k

M/k

M/k

k data fragments

n code fragments

n hosts sinks

Sinks can recoverfile of size Mfrom k hostsif and only iffor every sink t,MinCut(s,t) = M

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/k

Erasure Codes

source

M/k

M/k

M/k

M/k

M/k

k data fragments

n code fragments

n hosts sinks

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/kM/k

M/k

M/k

M/k

Need to download size M

Regenerating Codes

source

M/k

M/k

M/k

M/k

M/k

k data fragments

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/k

M/kM/k

M/k2

[Dimakis, Godfrey, Wainwright, and Ramchandran; INFOCOM 2007]

M/k2

M/k2

Need to download size M/k

<2

fcarrier

P(f

carr

ier)

Can a reliable communication network be made out of such unreliable radios?

Yes, if there is enough density(and you use network coding)

Replace crystal oscillator+PLL by on-chip LC reduces size, energy

Manufacturing variations randomize carrier frequency

Untuned Radios

Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]

Each Tx and Rx radio randomly chooses one of N channels

Adjust transmission range to include N nodes

Communicate through H stages of N nodes each

Approx 1/e (37%) Txs communicate collision-free on some channel

Use L Rx radios per node to listen reliably to L/e nodes on average

Communication Method

1 2 3 H

DestinationSource

Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]

s t

Random Graph Representation1

2

N

1 2 3 H

1

L

...

1

L

...

1

L

...

1

L

...

1

L

...

1

L

...

1

L

...

1

L

...

1

L

...

Result 1: For all <1/e, there exists L s.t. MaxFlow(s,t) > Nwith high probability as N , as long as log[H(N)]/N 0

Result 2: Routing gives constant throughput(does not grow with N) for H linear in N.

Courtesy of [Petrovi , Ramchandran, and Rabaey; NetCod 2005]

Summary

Network Coding theory is richMulti-session capacity still an open problem

Network Coding is practicalPacket Format

Buffering

Network Coding can improve performancein IP or wireless networks

for file download, live broadcast, video on demand, storage, messaging, real time communication, data communication

by improving throughput, delay, energy consumption, robustness, manageability

even for broadcast and unicast communication

Part II: Network Coding

for Wireless Networks

56

Outline

Introduction

Network coding for end-to-end multicasting

Network coding in the link layer

Network coding in the physical layer

57

a+b a+b

ba

ba

a

a

b

b

a

aa

a

a a

Network Coding

Minimizes Energy (per bit)

Wu et al. (2003); Wu, Chou, Kung (2004)

Lun, Médard, Ho, Koetter (2004)

optimal routingenergy per bit = 5

network codingenergy per bit = 4.5

a

a a,b

a a ba,b b,a

Outline

Network coding for end-to-end multicasting

Network coding in the link layer

Network coding in the physical layer

61

At an Intermediate Node

buffer

randomcombination randomly

generated local

encoding vector

5,9,6 global encoding vector

1,5,4 2,2,1

Some Practical Protocols

Widmer, Fragouli, Boudec, NetCod 2005

Fragouli, Widmer, Boudec, INFOCOM 2006

Chachulski, Jennings, Katti, Katabi, SIGCOMM

2007

Park, Gerla, Lun, Yi, Medard

WirelessCommunications, 2006

65

A Broadcasting ProtocolWidmer, Fragouli, Boudec, NetCod 2005

A new source packet is broadcast uncoded

Each node maintains a send counter s; initially s=0

Each time it receives an innovative packet: s:=s+d

Broadcast a mixture packet when s>0

Each time it broadcasts a packet: s:=s-1

An extension (Fragouli, Widmer, Boudec, INFOCOM

2006): Each node v has a forwarding factor dv, which

is adjusted heuristically based on the local (2-hop)

density information.

66

A Multicasting ProtocolChachulski, Jennings, Katti, Katabi, SIGCOMM 2007

Nodes are labeled with distances to the destinations.

Only nodes closer to the destination than the source may

participate in the session

When receiving an innovative packet from an upstream node,

increase its credit by an amount determined by the loss

probabilities in the network.

When the MAC allows to transmit a packet,

generate a mixture when the credit counter is positive

broadcast it

decrement the credit counter by one

67

Advantages of Network Coding

based MulticastingWith network coding, mixture packets automatically weave its way if there exists. Hence network coding based solution is attractive because it:

Is as distributed, robust, and adaptive as flooding

Minimizes delay without having to find minimum delay route

Can also minimize energy (# transmissions)

Particularly suitable for networks with mobility, sensor networks where nodes sleep most of the time to conserve energy

Zhang, G. Neglia, J. Kurose, D. Towsley, NetCod 2006

Lee, Park, Yeh, Pau, Gerla MobiShare 2006

Park, Lee, Oh, Gerla, Lun, VANET 2006

Outline

Network coding for end-to-end multicasting

Network coding in the link layer

Network coding in the physical layer

69

Local Mixing

Important feature: Mixture packet can be

immediately decoded by the neighbors.

Advantages of local mixing and demixing:

A node may mix two packets passing through it,

which belong to two end-to-end sessions.

Sessions need not know about local

mixing/demixing.

A node need not buffer any mixture packet

75

Local Mixing as a Link Layer

Enhancement

Each node snoops on the medium and buffers packets over-heard

Nodes exchange

Examine output queue and opportunistically mix packets

MAC/PHY (802.11x)

NETWORK (IP)

Local Mixing

TRANSPORT (TCP/UDP)

Katti, Rahul, Hu, Katabi, Médard, and Crowcroft SIGCOMM 2006

Local Mixing

77

v0

v4

v2v1

v3

Has: x1 , x3

Wants: x4

Has: x1 , x4

Wants: x3

Has: x2, x3, x4

Wants: x1, x5

Has: x1 , x5

Wants: x2

the buffer to reduce the transmissions in the air.

Greedy Solution: x1+x2, x3+x4, x5

78

v0

v4

v2v1

v3

Has: x1 , x3

Wants: x4

Has: x1 , x4

Wants: x3

Has: x2, x3, x4

Wants: x1, x5

Has: x1, x5

Wants: x2

A Better Solution: x1+x3+x4, x2+x5

79

v0

v4

v2v1

v3

Has: x1 , x3

Wants: x4

Has: x1 , x4

Wants: x3

Has: x2, x3, x4

Wants: x1, x5

Has: x1, x5

Wants: x2

Theoretical Results for Optimized

Local Mixing (Wu et al. ITA 2006)

Optimal mixing under pollution-free decoding

Constraint 1: Each node decodes using only its received symbols that are functions of sources that it has or wants.

e.g., a node v has {x1}, wants {x2, x3}. A symbol y=x2+x4+x5 is pollution to v; node v will discard this symbol.

Degree of freedom in adding recipients

Constraint 2: Each node decodes using only its received symbols that are functions of sources that it will recover.

e.g., a node v has {x1}, wants {x2, x3}. A node is allowed to use y=x2+x4+x5 for decoding, if it recovers x4 and x5.

80

Total Network Throughput

vs Density of Flows

81Courtesy of [Katti, Rahul, Hu, Katabi, Médard, and Crowcroft SIGCOMM 2006]

Local Mixing Aware Routing

Want routing decisions that are aware of

mixing and can better exploit it!

Practical solution: Wu, Das, Chandra INFOCOM

Minisymposium 2007

Theoretical model: Sengupta, Rayanchu,

Barnerjee, INFOCOM 2007

MAC/PHY (802.11x)

NETWORK (IP)

Local Mixing

v1 v2 v3

v4 v5 v6

v7 v8 v9

v1 v2 v3

v4 v5 v6

v7 v8 v9

A A,B B

A+B

Sharing a ride in the air

MMSR: Markovian Metric Source Routing

Node measures link quality (quality defined by

metric), and conditional link costs

Exchanges this information network-wide

Source of packet finds a optimal route by

running algorithm over a dot graph

that represents the conditional and

unconditional link costs

-

A Specific Conditional MetricERC (Expected Resource Consumption)

Determine the resource consumed by each mixture

packet, say $1.

Local mixing allows multiple (k) packets to share a

ride. So charge $1/k to each packet.

v1 v2 v3

v4 v5 v6

v7 v8 v9

A A,B

B

A+B

Performance

Wu, Das, Chandra INFOCOM Minisymposium 2007

Outline

Network coding for end-to-end multicasting

Network coding in the link layer

Network coding in the physical layer

89

Technique: Nested Coding

v2 knows b a priori; hence it only needs to distinguish between 4 points

Nested coding (theory): e.g., Yang and A. Høst-Madsen, Asilomar 2005

Practical design of nested coding via XOR in the channel code: Xiao et al.

CISS, Mar. 2006

92

000

001

010011

100

101

110

111

m1=a1;m2=a2;m3=b1;

Mixing + Nested Coding

v2 knows b a priori; hence it only needs to

distinguish between 4 points to recover m1

and m2

95

000

001

010011

100

101

110

111

m1=a1+b1;m2=a2+b2;

m3=b3;

Summary

Network coding for end-to-end multicasting

Practical network coding protocols: Random linear coding+packet

tagging+buffering+output pacing

Network coding in the link layer

Local mixing

Local mixing aware routing

Network coding in the physical layer

Broadcasting when receivers know some messages a priori

Cancellation of known interference

101

Part III: Advanced Topics

Security: Preventing the pollution attack

Resource optimization: Centralized and

distributed algorithms

Joint network coding and distributed source

coding

Multi-session network coding

102

Advanced Topics:

Security: Preventing the Pollution Attack

103

Advanced Topic:

Resource Optimization: Centralized and Distributed

Algorithms

109

Minimum-Energy Multicasting

110

Most energy-efficient routing solution:

5 transmissions/ 1 message

Finding the minimum energy routing

solution is NP-hard.

Network coding solution:

9 transmissions/ 2 message

Finding the optimal network

coding solution is solvable in

polynomial time.

a b

e

c d

t1 t2

s a b

e

c d

t1 t2

s

=+

Wu et al. (2003); Wu, Chou, Kung (2004)Lun, Médard, Ho, Koetter (2004)

111

Integer linear program:

1 hour

Linear program -- 2 min

2% power saving

Minimum energy routing solutionMinimum energy network

coding solution

Why NP-hard vs. P?

Minimum energy unicasting

Minimum cost flow (LP)

Minimum energy multicasting with routing

Minimum Steiner tree (NP-hard)

Minimum energy multicasting with network

coding

Minimum cost MAX of flow (LP)

112

Min-Cut = Max-Flow (Graph Theory)

113

a b

c

u

s

t1 t2

1

1 1

1

1

1

0

0

0

Two Ways of Saying

There exists {ft} such that

MAX of flows

115

1

a b

c

u

s

t1 t2

1

1

1

1

1

0

0

0

a b

c

u

s

t1 t2

1

0 1

1

0

0

1

1

1

a b

c

u

s

t1 t2

1

1 1

1

1

1

1

1

1

117

Overview of Problems and Solutions

Real-world Problem: Distributed resource allocation

Formulate as a utility maximization

Primal algorithms:Li, Li, Lau. INFOCOM 2005

Wu, Chiang, Kung. NetCod 2005

Dual algorithms: Lun et al. T-IT, 2006

Bhadra, Shakkottai, and Gupta T-IT 2006

Wu, Kung, JSAC, 2006

In a nutshell,

Primal algorithms use sub-gradients of the multicast capacity expression

Dual algorithms are based on the MAX of flows characterization

s t flow: unicast

s T MAX of Flows: multicast

118

Backup Slides

119

Primal approach

Objective function is a concave function

However, it is non-differentiable

Use subgradient iterations.

120

Utility maximization

A primal approach based on critical cutsWu, Chiang, Kung, NetCod 2005

121

g can provide rate r

122

Equivalent formulation

Objective function is a concave function

However, it is non-differentiable

Use subgradient iterations.

Begin Short Detour

123

Subgradient Algorithm

Not an ascent method; moves closer to the optimal point

Need diminishing step size for convergenceWith constant step size, converge to a local neighborhood of the optimal solution

Size of the neighborhood depends on the subgradient

124

Subgradient of a concave (non-

differentiable) function

125

Subgradient calculus:

Point-wise minimum rule

127

Subgradient of

A critical cut is a minimum s-t cut with capacity

s t

131

Subproblem 2: Efficiently Finding An s-

T Critical Cut

Distributed algorithm

-Push

algorithm for every destination t, to find an s-t

min cut

Can be more efficient!

First find a critical destination t*

This can be done essentially for free in the practical

network coding system.

Then find an s-t* mincut

132

Algebraically Find A Critical Destination

Suppose there are two destinations {t1, t2}

s-t1 mincut = 10;

s-t2 mincut = 12;

If we send information at rate 10, rank(t1)=rank(t2)= 10

If we send information at rate 11, rank(t1)=10, rank(t2)=11.

But how can t1 recover the information?

Treat as if there are 11 source packets where x11=0

133

ISP (Exodus) topology from Rocketfuel with 79

nodes and 294 links

1 source node at New York, 8 destination

nodes

134

Summary of Primal Algorithm

Primary subgradient approach based on critical cutsIn each step, find the critical cut and adjust resource allocation

Efficiently finding the critical cut by leveraging the algebraic properties of random linear network coding

Find a critical destination first

Then find a minimum cut

135

Dual Approach

A dual approach based on min-cost flows Lun et al. INFOCOM2005A dual approach based on shortest paths Wu, Kung, JSAC2006Bhadra, Shakkottai, and Gupta T-IT 2006

g can provide rate r

Dual approach

136

Dual approach

Introduce Lagrangian multiplier

137

138

Dual Algorithm based on Shortest Paths

Lagrangian multipliers are link prices

Given link prices, find shortest paths from

source to each destination (mature

technology)

Adjust link prices along a subgradient of

Lagrangian dual function (locally computable)

139

Simulation

ISP (Exodus) topology from Rocketfuel with 79

nodes and 294 links

1 source node at New York, 8 destination

nodes

140

Primal vs. Dual Approach

Pros of Primal:

Can handle strictly concave utility function as well as linear easily

Generalizes to multi-source case easily

Can still be applied when the utility function is not concave

Pros of Dual:

Lower complexity in each step (finding a shortest path is easier than finding a min-cut)

Requires additional techniques to recover the primal when the utility function is not (sufficiently) strictly concave

Or, introduce curvature (make it strictly concave)

Requires additional techniques for multi-source case

Advanced Topic:

Joint Network Coding and Distributed Source Coding

141

Distributed Compression

142

H(X|Y) H(Y|X)

I(X;Y)

R1 R2

Slepian--Wolf Theorem (1973)

143

H(X|Y) H(Y|X)

Red and blue together fills up

the middle region.

Traffic demand can be fulfilled

iff

Coding scheme for Binary Symmetric Correlation

(Slepian-Wolf 1974)

144

x y=101001111

xQ y

wQ

w

Syndrome

decoding

w=y-x= 000100001

wQ is linear compression of w

from which we can recover w

with high probability.

Linear compression

(Elias 1955, Slepian--Wolf 1974)

Discrete memoryless binary source:

Compress w (n bits) into wQ (n-k bits)

Fact 1: For a sufficiently large n, there exist Q such that

w can be decompressed from wQ with probability close to 1.

(n-k)/n entropy H(W)

Fact 2: If Pr(W=0) is within certain range, for some

carefully designed Q (e.g., Q is sparse), there are low

complexity algorithms that can decompress wQ.

145

Multicasting correlated sources

146

A network of lossless channels

LA Chicago Seattle Miami

2004

147

H(X|Y) H(Y|X)

Traffic demand can be fulfilled

by (V,E,c) iff

A Low-Complexity Scheme

G1 is used to multicast xQ

and yQ to all receivers with

network coding

G2 is used to multicast

random linear combinations

of x and y to all receivers

with network coding

G=G1+G2

wQ

w

xQ yQ

xA+yB

x,yw,xQ

Syndrome

decoding

Solving linear

equations

Low complexity solution

150

Since each edge has

capacity 0.5, A, B, H

all have

0.5n columns

has rank n

has rank n

has rank n

0.5 0.50.5

Advanced Topic:

Multi-Session Network Coding

151

152

Outline

Introduction

Review of single source multicasting

Related work on multi-source problems

Why is multi-source problem so hard?

Can we identify some easy multi-source

problems?

How to handle general problems?

Two enhancement techniques

153

Multicast Capacity

Ahlswede, Cai, Li, and Yeung IT2000:

-cut separating s

isolation, it can serve all receivers

155

Related Work On Multi-Source

Problems

The problem is really hard

Linear coding is not sufficient (Dougherty, Freiling, Zeger 05)

Need non-Shannon type information inequalities for converse (Dougherty, Freiling, Zeger 06)

Optimal solutions for special cases

2 unicast sessions with the same source node (Erez and Feder 03; Ngai and Yeung 04)

A cycle (Kramer and Savari 04; Harvey et al. 06)

Okamura-Seymour graph (Kramer and Savari 06; Harvey et al. 06; Jain et al. 06)

Capacity region for acyclic graph recently known (Yan et al. 07)

Converse

Song et al 03; Harvey et al. 06; Jain et al 06; Yan et al. 06; Harvey et al. 07

Constructive approaches

Medard et al 03; Koetter et al. 03; Lun et al. 04; Wu et al. 06

Apology for missing references

157

What if there happens to be no

pollution?

Pollution-free coding lemma: Random mixing is optimal in a pollution-free network.

algebraic approach.

158

Watershed in Network Coding

-- Rockafellar

In fact the great watershed in network coding

sources, but pollution-free and not pollution-free.

New way of thinking: Turn the problem into a pollution-free problem

159

Outline

Pollution makes multi-source problems hard

Pollution-free problems are easy

A pollution treatment approach

Two enhancement techniques

160

Pollution Treatment (Wu ISIT 2006)

flowing in this pipe is a function of x1, x3

Pineapple, coconut, liquor

23-1=7 possible tagged pipes

p

pcl

c

l

pc

pl

cl

164

Pollution Treatment

The network of tagged pipes is pollution free by

construction

So, random mixing in the network of tagged pipes.

A linear program

165

Outline

Introduction

Pollution-free problems are easy

The baseline pollution treatment approach

Two enhancement techniques

167

Degree of Freedom in Adding

Receivers

Baseline approach does not solve the butterfly problem.

If t2 agrees to recover x1 and t1 agrees to recover x2, problem solved.

a

b

t2 t1

s1 s2

168

Modeling the Degree of Freedom in

Adding Receivers

A session from s to T is said to have type <s,T>

Get a stronger achievability theorem, which is

characterized by a system of linear inequalities.

171

Helpers in Acyclic Graph

Show that the roles of the helpers can be replaced by decoders

Consider the nodes in the topological order

The first decoder cannot receive help; thus its

The second decoder can only receive help from

Result is a stronger achievability result for acyclic graphs, characterized by a system of linear inequalities.

172

Summary

Pollution makes multi-source problems hard

Pollution-free problems are easy

Turn a general problem into a pollution-free

problem (pollution treatment)

Two enhancement techniques

Allowing a node to recover more sources.

173

Thank you!

Piña Colada

- 2 oz Light Rum

- 5 oz Pineapple Juice

- 2 oz Coconut Cream

- 1 cup Crushed Ice