Title: Network Coding for the Internet and Wireless Networks
1Network Coding for the Internet and Wireless
Networks
- Philip A. Chouwith Yunnan Wu and Kamal
JainMicrosoft Researchand thanks to many
others - University of MichiganMarch 28, 2006
2Outline
- Introduction to Network Coding
- Basic theory
- Practical Network Coding
- Packet format
- Buffering
- Internet and Wireless Applications
- Live Broadcasting, File Downloading, Storage,
Messaging, Interactive Communication, Sensor
Networks
3IntroductionRouting vs Network Coding
y1
f1(y1,y2,y3)
y2
f2(y1,y2,y3)
y3
4Network Coding can Increase Throughput
sender s1rate r1
receiver t2
receiver t1
sender s2rate r2
5Single Session Unicast Case
Value ofs-t cut
- 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
6Single Session Broadcast Case
Given
Directed graph (V,E)
Sender s
Receiver set(all other nodes in V)
- rate(s,V) minv?V MinCut(s,v)
- Edmonds (1972)
- minv?V MinCut(s,v) is achievable (broadcast
capacity)by packing edge-disjoint directed
spanning trees
7Single Session Multicast Case
Given
Directed graph (V,E)
Sender s
Receiver set T (subset of V)
- rate(s,T) mint?T MinCut(s,t)
- mint?T MinCut(s,t) is NOT always achievableby
packing edge-disjoint Steiner (multicast) trees
8Network CodingAchieves Multicast Capacity
a,b
optimal routingthroughput 1
network codingthroughput 2
- Alswede, Cai, Li, Yeung (2000)
- mint?T MinCut(s,t) is alwaysachievable by
network coding - h mint?T MinCut(s,t)is multicast capacity
sender
receiver
coding node
9Linear Network Codingis Sufficient
- Li, Yeung, Cai (2003) IT Best Paper Award
2006Koetter and Médard (2003) - Linear network coding is sufficient (to achieve
multicast capacity) - Jaggi, Chou, Jain, Effros Sanders, et al.
(2003)Erez, Feder (2005) - Polynomial time algorithm for finding coefficients
y1
a1y1 a2y2 a3y3
y2
ß1y1 ß2y2 ß3y3
y3
10Network CodingMinimizes Delay
optimal routingdelay 3
network codingdelay 2
11Network CodingMinimizes Energy (per bit)
a
a,b
a
a
a
b
a,b
b,a
optimal routingenergy per bit 5
network codingenergy per bit 4.5
- Wu et al. (2003) Wu, Chou, Kung (2004)
- Lun, Médard, Ho, Koetter (2004)
12Network Codingapplicable to real networks?
- Internet
- IP Layer
- Routers (e.g., ISP)
- Application Layer
- Infrastructure (e.g., CDN)
- Ad hoc (e.g., P2P)
- Wireless
- Mobile / multihop ad hoc wireless networks
- Stationary wireless (residential) mesh networks
- Sensor networks
13Network 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
14Making Network Coding Practical
- Packetization
- Header removes need for centralized knowledge of
graph topology and encoding/decoding functions - Buffering
- 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
15Algebraic Framework
- Graph (V,E) having unit capacity edges
- Sender s in V, set of receivers Tt, in V
- Multicast capacity h mint?T MaxFlow(s,t)
- y(e) ?e be(e) y(e)
- b(e) be(e)e is local encoding vector
16Global Encoding Vectors
- By induction y(e) ?hi1 gi(e) xi
- g(e) g1(e),,gh(e) is global encoding vector
- Receiver t can recover x1,,xh from
17Invertibility 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 28then Gt will be
invertible w.p. 1-2-8 0.996
Ho, Koetter, Médard, Karger, and Effros ISIT
2003 Jaggi, Sanders, Chou, Effros, Egner, Jain,
and Tolhuizen Trans IT 2005
18Packetization
- Internet MTU size typically 1400 bytes
- y(e) ?e be(e) y(e) ?hi1 gi(e) xi s.t.
19Packet Header
- Include within each packet on edge eg(e) ?e
be(e) g(e) y(e) ?e be(e) y(e) - Can be accomplished by prefixing i th unit vector
to i th source vector xi, i1,,h - Then global encoding vectors needed to invert the
code at any receiver can be found in the received
packets themselves!
20Header 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
21Asynchronous Communication
- In real networks
- Packets on unit capacity edges between each
pair of nodes are grouped and 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
22Buffering
edge
Transmission opportunity generate packet
random combination
arriving packets (jitter, loss, variable rate)
edge
edge
buffer
asynchronous transmission
asynchronous reception
edge
node
23Decoding
- 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
24Simulations
- 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) - Multicast 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)
25(No Transcript)
26Throughput Decoding Delay
Chou, Wu, and Jain Allerton 2003
27Network Coding for Internet and Wireless
Applications
File download
wireless
Interactive Communication
(conferencing, gaming)
Instant Messaging
Live broadcast
Download from peer
Coded download
Parallel download
Internet
AkamaiRBN
Infra-structure (CDN)
ALM
CoopNetCoolStream
Digital Fountain
Gnutella Kazaa
BitTorrent
PeerNetMessenger
Skype Messenger
XboxLive
Ad Hoc (P2P)
28Live Broadcast
- State-of-the-art Application Layer Multicast
(ALM) trees with disjoint edges (e.g., CoopNet,
SplitStream) - FEC/MDC striped across trees
- Up/download bandwidths equalized
a failed node
Padmanabhan, Wang, Chou, and Sripanidkulchai
NOSSDAV 2002 ICNP 2003 Castro, Druschel,
Kermarrec, Nandi, Rowstron, and Singh IPTPS 2003
29Live Broadcast (2)
- Network Coding sends mix of parents to each child
- Losses/failures not propagated beyond child
- ALM/CoopNet average throughput (1e)depth
sending rateNetwork Coding average throughput
(1e) sending rate
failed node
affected nodes(maxflow ht ? ht 1)
unaffected nodes(maxflow unchanged)
Jain, Lovász, and Chou J. Distrib. Computing
2005
30File 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
31File Download (2)
Courtesy of Gkantsidis and Rodruiguez INFOCOM
2005
32Distributed Storage
k
c ln k
k
nak
ß1
ß2
Data (sensor) nodes
ß3
Storage nodes
Dimakis, Prabhakaran, and Ramchandran Asilomar
2004 IPSN 2005 Acedanski, Deb, Médard, and
Koetter NetCod 2005
33Instant 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
34Interactive 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 - Minimizes delay without having to find minimum
delay route - Can also minimize energy ( transmissions)
35Physical Piggybacking
s
t
- Information sent from t to s can be piggybacked
on information sent from s to t
Wu, Chou, and Kung MSR TR 2004
36Physical Piggybacking
t2
a overheard
b overheard
s1
t1
s2
- Information sent from s2 to t2 can be piggybacked
on information sent from s1 to t1 (at the
crossing point)
Katti, Katabi, Hu, Rahul, and Médard Allerton
2005
37Opportunistic Network Coding for Unicast in
Wireless Meshes
- Each potential relay node maintains queue of
packets p1, p2, , pn, destined for recipients
r1, r2, , rn, - Can transmit first n packets in queue with a
single XOR, if each recipient ri has all n1
packets pi for j?i - Who has what info can be piggybacked on data
packets, or inferred from ACKs
Katti, Katabi, Hu, Rahul, and Médard Allerton
2005
38Total Network Throughputvs Density of Flows
- Emsim simulation results. Flows picked as random
pairs from 100 nodes randomly placed in 800m x
800m area 200 mW power per node using 802.11 MAC
at 11 Mbps, transmitting UDP as fast as MAC
allows.
Courtesy of Katti, Katabi, Hu, Rahul, and
Médard Allerton 2005
39Sensor Networks
Airplane Skin
Smart Surfaces
Communication Backplane
Real-time Health Monitoring
Courtesy of Petrovic, Ramchandran, and Rabaey
NetCod 2005
40Untuned Radios
- Sensor networks use narrowband radios to maximize
SNR - Replacing crystal oscillatorPLL by on-chip LC
reduces size, energy - Manufacturing variations randomize carrier
frequency
Can a reliable communication network be made out
of such unreliable radios?
Yes, if there is enough density
Courtesy of Petrovic, Ramchandran, and Rabaey
NetCod 2005
41Communication Method
- 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
to some Rx radio - Use L Rx radios per node to listen reliably to
L/e nodes on average
t
s
Courtesy of Petrovic, Ramchandran, and Rabaey
NetCod 2005
42Random Graph Representation
- Result 1 For all ßMaxFlow(s,t) ßNwith high probability as N ? 8,
as long as logH(N)/N ? 0 - Result 2 Routing gives constant throughput(does
not grow with N) for H linear in N.
Courtesy of Petrovic, Ramchandran, and Rabaey
NetCod 2005
43Summary
- Network Coding theory is rich
- E.g., multi-session capacity still an open
problem - Network Coding is Practical
- Packet Format
- Buffering
- Network Coding can improve performance
- in IP or wireless networks
- for live broadcast, file download, storage,
messaging, interactive communication - by improving throughput, robustness, delay,
energy consumption, manageability - even for broadcast and unicast communication
44Backup Slides
45Erasure Protection
- Removals, failures, losses, poor random encoding
may reduce capacity below h - Basic form of erasure protectionsend redundant
packets, e.g.,last h-k packets of x1,, xh are
known zero
46Priority Encoding Transmission unequal error
protection
- More sophisticated form partition data into
layers of importance, vary redundancy by layer - Received rank k ? recover k layers
Albanese, Blömer, Edmonds, Luby, and Sudan
Trans IT 1996
47Avalanche
File
Gkantsidis and Rodruiguez INFOCOM 2005
48Avalanche in the Press
- The Register, 6/16/05
- Enter Avalanche P2P filesharing from Microsoft
- Slashdot, 6/17/05
- Microsoft Wants P2P Avalanche to Crush BitTorrent
- John C. Dvorak, PC Magazine, 6/20/05
- The Scheme to Discredit BitTorrent
- Bram Cohen, Blog, 6/20/05
- First of all, I'd like to clarify that Avalanche
is vaporware. The 'experiments' they've done are
simulations I think that paper is complete
garbage. Unfortunately it's actually one of the
better academic papers on BitTorrent I'd comment
on academic papers more, but generally they're so
bad that evaluating them does little more than go
over epistemological problems with their
methodology, and is honestly a waste of time.
49Physical Piggybacking
s
t
- Information sent from t to s can be piggybacked
on information sent from s to t - Network coding helps even with point-to-point
(unicast) interactive communication - throughput
- delay
- energy per bit
Wu, Chou, and Kung MSR TR 2004
50Network Coding in Residential Mesh Network
(simulation)
51Energy-Efficient Broadcastingin Wireless Ad-hoc
Networks
- transmissions for broadcasting with network
coding -
- ½ transmissions needed w/o network coding
Courtesy of Widmer, Fragouli, and Le Boudec
NetCod 2005
52Energy-Efficient Broadcastingin Wireless Ad-hoc
Networks
transmissions for broadcasting with network
coding ¾ transmissions needed w/o network
coding
Courtesy of Widmer, Fragouli, and Le Boudec
NetCod 2005
53Simulation Results
- 1500m x 1500m, 144 nodes randomly placed
- 250m radio range
- Idealized MAC each time slot, create schedule
pick random node, transmit if all neighbors are
idle, repeat until full - Count transmissions needed per node to reach
certain packet delivery ratio - Compare Network Coding, Flooding, Ideal Flooding
Widmer, Fragouli, and Le Boudec NetCod 2005
54Flooding Algorithm
- Each information unit originating at node is
transmitted - A new packet received is retransmitted with
probability d - For ideal flooding, packet is not retransmitted
if all neighbors have already received it
(omniscient)
Widmer, Fragouli, and Le Boudec NetCod 2005
55Network Coding Algorithm
- Each node maintains send counter s
(transmissions it is allowed to make) - Initially, s 0
- Each information unit originating at node
increments s by 1 - Each innovative packet received increments s by
fraction d - Each transmission decrements s by 1
- Cant transmit anything if s
Widmer, Fragouli, and Le Boudec NetCod 2005
56Transmissionsvs Packet delivery ratio
Courtesy of Widmer, Fragouli, and Le Boudec
NetCod 2005
57Packet delivery ratiovs Packet drop rate
Courtesy of Widmer, Fragouli, and Le Boudec
NetCod 2005