54
Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos Gkantsidis, and Baochun Li, et al. Globecom Tutorial, December 3, 2004

Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Embed Size (px)

Citation preview

Page 1: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Practical Network Coding for the Internet and Wireless Networks

Philip A. Chouwith thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez

Rodriguez, Christos Gkantsidis, and Baochun Li, et al.

Globecom Tutorial, December 3, 2004

Page 2: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Outline Practical Network Coding

Packetization Buffering Results for SprintLink ISP

Experimental comparisons to multicast routing

Internet and Wireless Network Applications Live Broadcasting, File Downloading, Messaging,

Interactive Communication

Page 3: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Network Coding applicable to real networks?

Internet IP Layer

Routers (e.g., ISP) Application Layer

Infrastructure (e.g., CDN) Ad hoc (e.g., P2P)

Wireless Mobile ad hoc multihop wireless networks Sensor networks Stationary wireless (residential) mesh networks

Page 4: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Theory vs. Practice Theory:

Symbols flow synchronously throughout network; edges have integral capacities

Practice: Information travels asynchronously in

packets; packets subject to random delays and losses; edge capacities often unknown, varying as competing communication processes begin/end

Page 5: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Theory vs. Practice (2) Theory:

Some centralized knowledge of topologyto compute capacity or coding functions

Practice: May be difficult to obtain centralized

knowledge, or to arrange its reliable broadcast to nodes across the very communication network being established

Page 6: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Theory vs. Practice (3) Theory:

Can design encoding to withstand failures,but decoders must know failure pattern

Practice: Difficult to communicate failure pattern

reliablyto receivers

Page 7: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Theory vs. Practice (4) Theory:

Cyclic graphs present difficulties, e.g., capacity only in limit of large blocklength

Practice: Cycles abound. If A → B then B → A.

Page 8: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Need to address practical network coding in real networks

Packets subject to random loss and delay Edges have variable capacities due to

congestion and other cross traffic Node & link failures, additions, &

deletions are common (as in P2P, Ad hoc networks)

Cycles are everywhere Broadcast capacity may be unknown No centralized knowledge of graph

topology or encoder/decoder functions Simple technology, applicable in practice

Page 9: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Approach Packet Format

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

Buffer Model Allows asynchronous packets arrivals &

departures with arbitrarily varying rates, delay, loss

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

Page 10: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Standard Framework Graph (V,E) having unit capacity edges Sender s in V, set of receivers T={t,…} in V Broadcast capacity h = mint Maxflow(s,t)

y(e) = ∑e’ e(e’) y(e’) (e) = [e(e’)]e’ is local encoding vector

s v

y(e’)

te

y(e’1) = x1

y(e’h) = xh

y(e’2) = x2

... ... ...

y(e1)

y(e2)

y(eh)

y(e)

Page 11: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Global Encoding Vectors

By induction y(e) = ∑hi=1 gi(e) xi

g(e) = [g1(e),…,gh(e)] is global encoding vector Receiver t can recover x1,…,xh from

h

t

hhhh

h

h x

x

G

x

x

egeg

egeg

ey

ey

11

1

1111

)()(

)()(

)(

)(

s v

y(e’)

te

y(e’1) = x1

y(e’h) = xh

y(e’2) = x2

... ... ...

y(e1)

y(e2)

y(eh)

y(e)

Page 12: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

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. ≥ 1−2−8 = 0.996

[Ho et al., 2003][Jaggi, Sanders, et al., 2003]

Page 13: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Packetization

Internet: MTU size typically ≈ 1400+ bytes y(e) = ∑e’ e(e’) y(e’) = ∑h

i=1 gi(e) xi s.t.

Nhhh

N

t

hNhh

N

h xxx

xxx

G

eyeyey

eyeyey

e

e

,2,1,

,12,11,1

21

112111

)()()(

)()()(

)(

)(

y

y

s

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

...

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

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

v

y(e’)

te

... ...

y(e1)

y(e2)

y(eh)

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

Page 14: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Key Idea Include within each packet on edge eg(e) = ∑e’ e(e’) g(e’); y(e) = ∑e’ e(e’) y(e’)

Can be accomplished by prefixing i th unit vector to i th source vector xi, i=1,…,h

Then global encoding vectors needed to invert the code at any receiver can be found in the received packets themselves!

Nhhhh

N

t

hNhhhhh

Nh

xxx

xxx

G

eyeyeyegeg

eyeyeyegeg

,2,,

,12,11,1

211

11211111

10

01

)()()()()(

)()()()()(

Page 15: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

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

Page 16: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Erasure Protection Removals, failures, losses, poor random

encoding may reduce capacity below h

Basic form of erasure protection:send redundant packets, e.g.,last hk packets of x1,…, xh are known zero

Nhhhh

Nhk

t

kNkkkhk

Nh

xxx

xxx

G

eyeyeyegeg

eyeyeyegeg

,2,,

,12,11,1

211

11211111

10

01

)()()()()(

)()()()()(

Page 17: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Priority Encoding Transmission (Albanese et al., IEEE Trans IT ’96)

More sophisticated form: partition data into layers of importance, vary redundancy by layer

Received rank k → recover k layers Exact capacity can be unknown1 2 3 4 5 Data layer h=6Global encoding vectors

...1 0 0 x1,10 0 0 x1,N...x1,2 x1,3 x1,4 x1,5 x1,6 x1,7 x1,8 x1,11 x1,12 Source packet 1

0 1 0 00 0 0 x2,2 x2,N...x2,3 x2,4 x2,5 x2,6 x2,7 x2,8 ... x2,11 x2,12 Source packet 2

0 0 1 0 00 0 0 x3,3 x3,N...x3,4 x3,5 x3,6 x3,7 x3,8 ... x3,11 x3,12 Source packet 3

1 0 0 0 00 0 0 00 x4,5 x4,N...x4,6 x4,7 x4,8 ... x4,11 x4,12 Source packet 4

1 0 0 0 0 0 0 00 0 0 0 0 x5,8 x5,N...x5,9 x5,10 x5,11 x5,12 ...

1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 x6,Nx6,12 ... Source packet h=6

Page 18: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Asynchronous Communication

In real networks, “unit capacity” edges grouped Packets on real edges carried sequentially Separate edges → separate prop & queuing delays Number of packets per unit time on edge varies

Loss, congestion, competing traffic, rounding Need to synchronize

All packets related to same source vectors x1,…, xh

are in same generation; h is generation size All packets in same generation tagged with same

generation number; one byte (mod 256) sufficient

Page 19: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Buffering

random combinatio

n

Transmission opportunity: generate packet

buffer

node

arriving packets (jitter, loss, variable rate)

asynchronous

transmission

asynchronous reception

edge

edgeedge

edge

Page 20: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

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 decoding Approximately constant, independent of block length h

Page 21: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Flushing Policy, Delay Spread,and Throughput loss

Policy: flush when first packet of next generation arrives on any edge Simple, robust, but leads to some

throughput loss

Time of arrival at node v

s vFastest path

Slowest path

...

...

... ...

...

...

Flushing time

X

X X X

Delay spread

Ih

(pkt/s) rate sending (s) spreaddelay

(s)duration generation

(s) spreaddelay (%) loss throughput

Page 22: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Interleaving Decomposes session into several

concurrent interleaved sessions with lower sending rates

Does not decrease overall sending rate Increases space between packets in

each session; decreases relative delay spread

0 0 0 201 1 1 1 2 2 23 3 3 3 ...

Page 23: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Simulations Implemented event-driven simulator in C++ Six ISP graphs from Rocketfuel project (UW)

SprintLink: 89 nodes, 972 bidirectional edges Edge capacities: scaled to 1 Gbps / “cost” Edge latencies: speed of light x distance

Sender: Seattle; Receivers: 20 arbitrary (5 shown) Broadcast capacity: 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)

Page 24: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos
Page 25: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Received Rank

0 20 40 60 80 100 120 140 160 180 20040

50

60

70

80

90

100

Generation number

Re

ceiv

ed

ra

nk

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

0 5 10 15 20 2540

50

60

70

80

90

100

Field size (bits)

Avg

. re

ceiv

ed

ra

nk

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

Page 26: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Throughput

400 450 500 550 600 650 700 750 800 850400

450

500

550

600

650

700

750

800

850

Sending rate (Mbps)

Th

rou

gh

pu

t (M

bp

s)

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

400 450 500 550 600 650 700 750 800 850400

450

500

550

600

650

700

750

800

850

Sending rate (Mbps)

Th

rou

gh

pu

t (M

bp

s)

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

Page 27: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Throughput Loss

20 30 40 50 60 70 80 90 1000

10

20

30

40

50

60

70

80

90

100

Generation Size

Th

rou

gh

pu

t Lo

ss (

Mb

ps)

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

0 10 20 30 40 50 60 70 80 90 1000

50

100

150

200

250

300

Interleaving Length

Th

rou

gh

pu

t Lo

ss (

Mb

ps)

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

Page 28: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Decoding Delay

20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

200

Generation Size

Pa

cke

t de

lay

(ms)

Pkt delay w/ blk decodingPkt delay w/ earliest decoding

0 10 20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

200

Interleaving Length

Pa

cke

t de

lay

(ms)

Pkt delay w/ blk decodingPkt delay w/ earliest decoding

Page 29: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Distributed Flow Algorithms

Work in progress…

Page 30: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Comparing Network Codingto Multicast Routing

Throughput Computational complexity Resource cost (efficiency) Robustness to link failure Robustness to packet loss

Page 31: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Multicast Routing

Standard multicast: union of shortest reverse paths Widest multicast: maximum rate Steiner tree Multiple multicast: Steiner tree packing

sender

receivers

Page 32: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Complexity and Throughput of Optimal Steiner Tree Packing Packing Steiner trees optimally is hard [e.g., JMS03] Network Coding has small throughput advantage

[LLJL04]:

Z. Li, B. Li, D. Jiang, and L. C. Lau, On achieving optimal end-to-end throughput in data networks: theoretical and emprirical studies, ECE Tech. Rpt., U. Toronto, Feb. 2004,

reprinted with permission.

Page 33: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Complexity and Throughput of Optimal Steiner Tree Packing (2)

Z. Li, B. Li, D. Jiang, L. C. Lau ‘04: Optimally packed Steiner trees in 1000

randomly generated networks (|E|<35) Network Coding advantage = 1.0 in every

network “The fundamental benefit of network

coding is not higher optimal throughput, but to facilitate significantly more efficient computation and implementation of strategies to achieve such optimal throughput.”

Page 34: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Complexity ofGreedy Tree Packing Find widest (max rate) distribution tree

in polynomial time [Prim]: Grow tree edge by edge Postprocess tree

Repeatedly pack widest distribution trees

Reached nodes

Non-reachednodes

Choose the edge with maximum capacity

Page 35: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Comparison of Achievable Throughput

0100200300400

500600700800

1 2 3 4 5 6

ISP#

(Mb

ps

)

Path-packing

Max-rate Steiner tree (Prim's algorithm)

Greedy tree-packing based on Prim's algorithm

Greedy tree-packing based on Lovasz's proof to Edmonds' theorem

Practical network coding

Multicast capacity [Wu, Chou, and Jain, ISIT 2004]

Page 36: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Comparison of Efficiency(#receivers * throughput / bandwidth cost)

Z. Li, B. Li, D. Jiang, and L. C. Lau, On achieving optimal end-to-end throughput in data networks: theoretical and emprirical studies, ECE Tech. Rpt., U. Toronto, Feb. 2004,

reprinted with permission.

Network codingWidest tree

Page 37: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Robustness to Link Failure Ergodic link failure: packet loss Non-ergodic link failure: G G-e

Compute throughput achievable by Network Coding

Multicast capacity of G-e Adaptive Tree Packing

Re-pack trees on G-e Fixed Tree Packing

Keep trees packed on G Delete subtrees downstream from e

[Wu, Chou, and Jain, ISIT 2004]

Page 38: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Robustness to Link Failures

Page 39: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos
Page 40: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Robustness to Packet Loss Ergodic link failure:

Routing requires link-level error control to achieve throughput 95% of sending rate

Network Coding obviates need for link-level error control

Outputs random linear combinations at intermediate nodes

Delays reconstruction until terminal nodes

5% loss 5% loss

Page 41: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Comparing Network Codingto Multicast Routing

Throughput √ Computational complexity √ Resource cost (efficiency) √ Robustness to link failure √ Robustness to packet loss √

Manageability

Page 42: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Network Coding for Internet and Wireless Applications

AkamaiRBN

ALM

Sp

litStr

ea

mC

oopN

et

Dig

ital

Fou

nta

in

Gn

ute

lla

Kaza

a

Bit

Torr

ent

Peer

Net

Win

dow

s M

ess

enge

r

Xbox

LiveAd Hoc

(P2P)

Infra-structure (CDN)

Inst

ant

Mes

sagi

ngwireles

sInterne

t Live

broa

dcas

t

Med

ia o

n

dem

and

Downl

oad

from

pee

r

Coded

downl

oad

Para

llel

downl

oad

Inte

ract

ive

Com

mun

icatio

n

(con

fere

ncin

g,

g

amin

g)

File download

Page 43: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Live Broadcast State-of-the-art: Application Layer Multicast

(ALM) trees with disjoint edges (e.g., CoopNet) FEC/MDC striped across trees

Up/download bandwidths equalizeda failed node

Page 44: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Live Broadcast (2) Network Coding [Jain, Lovász, and Chou, 2004] :

Does not propagate losses/failures beyond child

ALM/CoopNet average throughput: (1–ε)depth * sending rateNetwork Coding average throughput: (1–ε) * sending rate

failed node

affected nodes(maxflow: ht → ht – 1)

unaffected nodes(maxflow unchanged)

Page 45: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

File Download State-of-the-Art: Parallel download (e.g.,

BitTorrent) Selects parents at random Reconciles working sets Flash crowds stressful

Network Coding: Does not need to reconcile working sets Handles flash crowds similarly to live broadcast

Throughput download time Seamlessly transitions from broadcast to download mode

Page 46: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

File Download (2)

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

139C. Gkantsidis and P. Rodriguez Rodruiguez, Network Coding for large scale content

distribution, submitted to INFOCOM 2005, reprinted with permission.

Page 47: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Instant Messaging State-of-the-Art: Flooding (e.g., PeerNet)

Peer Name Resolution Protocol (distributed hash table) Maintains group as graph with 3-7 neighbors per node Messaging service: push down at source, pops up at

receivers

How? Flooding Adaptive, reliable 3-7x over-use

Network Coding: Improves network usage 3-7x (since all packets

informative) Scales naturally from short message to long flows

Page 48: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Interactive Communication in mobile ad hoc wireless networks State-of-the-Art: Route discovery and

maintenance Timeliness, reliability

Network Coding: Is as distributed, robust, and adaptive as flooding

Each node becomes collector and beacon of information Can also minimize energy

Page 49: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

a+b a+bba

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 multicast

transmissions per packet = 5

network codingtransmissions per

packet = 4.5

a

a a,b

a a ba,b b,a

Page 50: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Network Coding in Residential Mesh Network (simulation)

Page 51: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

a+b a+b

Physical Piggybacking

Information sent from t to s can be piggybacked on information sent from s to t

Network coding helps even with point-to-point interactive communication

throughput energy per bit delay

a b

s t

Page 52: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Network Coding in Residential Mesh Network (multi-session)

Page 53: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Network Coding with Cross-Layer Optimization

Network Coding has > 4x bits per Joule

Page 54: Practical Network Coding for the Internet and Wireless Networks Philip A. Chou with thanks to Yunnan Wu, Kamal Jain, Pablo Rodruiguez Rodriguez, Christos

Summary Network Coding is Practical

Packetization Buffering

Network Coding outperforms Routing on Throughput Computational complexity Resource cost (efficiency) Robustness to link failure Robustness to packet loss

Network Coding can improve performance in IP or wireless networks in infrastructure-based or P2P networks for live broadcast, file download, messaging, interactive

communication applications