Network Coding for Efficient Communication in Wireless Networks Jörg Widmer
[email protected] DoCoMo Euro-Labs, Munich, Germany (Collaborators: Christina Fragouli and Jean-Yves Le Boudec, EPFL, Switzerland)
Charles University, Prague November 20, 2006 DoCoMo Communications Europe GmbH Landsbergerstr. 312 80687 Munich Germany
Mobile Adventure
DoCoMo Euro-Lab Overview
Established: 10 November 2000 Location: Munich, Bavaria, Germany Employees: ~45 (35 Researchers) Mission: 4G Research, EU Research Projects, University Collaborations, Standardization
Future Networking Lab (FNL) Security Technology Lab (STL)
•Service Platform & Middleware •Evolutionary Systems •Self-organized Ambient Networking •Security Technology (Network and Application Level)
Wireless Solusion Lab (WSL)
•Broadband Radio Access •Signal Processing & Channel Coding •Radio Propagation
Standardization Group (SG)
•Coordination of Euro-Labs and DoCoMo Japan activities •6FP, 3GPP/ETSI-SCP, ITU-T activities © by DoCoMo Communications Laboratories Europe GmbH 2
Mobile Adventure
NTT DoCoMo’s R&D DoCoMo USA Labs
Nov. 1999
DoCoMo China Labs Nov. 2003
YRP R&D Center Mar. 1998 DoCoMo Euro Labs Nov. 2000
YRP: Yokosuka Research Park © by DoCoMo Communications Laboratories Europe GmbH 3
Mobile Adventure
z
z
z
Outline
Introduction to Network Coding −
Basics of finite field arithmetic
−
Possible applications of network coding
Network coding in wireless networks −
Forwarding algorithm
−
Theoretical analysis
−
Practical considerations
−
Some simulation results
Conclusions
© by DoCoMo Communications Laboratories Europe GmbH 4
Mobile Adventure
Network Coding Revisited
Network Coding z
z
z
Main idea: allow interior nodes of the network to process incoming information −
“Network information flow” (Ahlswede, Cai, Li, Yeung, 2000)
−
Linear operations are sufficient
Example: a node receives packets A and B and sends out A xor B In practice: addition and multiplication over finite field (e.g., F256 for 8 bit symbols)
© by DoCoMo Communications Laboratories Europe GmbH 5
Mobile Adventure
z
z
z
Finite Field Arithmetic
Operations over a binary finite field F2m Interpret field elements as polynomials: 0x07 = (z2 + z + 1) Addition in F corresponds to binary xor Example: (z3 + z2 + 1) + (z2 + z + 1) = (z3 + z) Multiplication in F using an irreducible polynomial Example using f(z) = (z4 + z + 1) for F16 (z3 + z2 + 1) · (z2 + z + 1) = (z5 + z + 1) and
(z5 + z + 1) mod (z4 + z + 1) = (z2 + 1)
E.g., Rijndael’s representation of F256 uses z8 + z 4 + z3 + z + 1
© by DoCoMo Communications Laboratories Europe GmbH 6
Mobile Adventure
z z
Coding and Decoding
xi : original data symbol from source node i Each information vector y is associated with an encoding vector g such that y = g1 x1 + g2 x2 + ... + gn xn e.g., y = 2x1+ x2 with g = (2,1)
x1
x2 y = 2x1+x2
© by DoCoMo Communications Laboratories Europe GmbH 7
Mobile Adventure
z z
Coding and Decoding
xi : original data symbol from source node i Each information vector y is associated with an encoding vector g such that y = g1 x1 + g2 x2 + ... + gn xn
z
Decoding example:
y3 = 2x1+x2
y2 = 5x1+2x2+2x3
y1 = 4x3
Dest.
© by DoCoMo Communications Laboratories Europe GmbH 8
Mobile Adventure
z z
Coding and Decoding
xi : original data symbol from source node i Each information vector y is associated with an encoding vector g such that y = g1 x1 + g2 x2 + ... + gn xn
z
Decoding example: A packet that increases the rank of the matrix is called innovative
y3 = 2x1+x2
y2 = 5x1+2x2+2x3
Decoding matrix at destination:
0 0 4 5 2 2 2 1 0 y1 = 4x3
Dest.
y1 y2 y3
1 0 0 0 1 0 0 0 1
x1 x2 x3 © by DoCoMo Communications Laboratories Europe GmbH 9
Mobile Adventure
Benefits
Network Coding can be used to z
z z
z
z
Maximize throughput (e.g., Ahlswede, Cai, Li, Yeung, 2000) Minimize delay (e.g., Jain, Chou, 2004) Minimize energy per bit (e.g., Lun, Medard, Ho, Koetter, 2004) Reduce routing complexity (e.g., Lun, Ratnakar, Koetter, Medard, Ahmed, Lee, 2005) Increase robustness in wireless networks (e.g., Widmer, Le Boudec, 2005)
© by DoCoMo Communications Laboratories Europe GmbH 10
Mobile Adventure
Possible Applications
z
Live Broadcasting
z
P2P File Distribution
z
Messaging
z
Distributed Storage
z
Wireless Communication
z
Sensor Networks
z
Network Security
z
…
© by DoCoMo Communications Laboratories Europe GmbH 11
Mobile Adventure
Broadcast in Wireless Networks
Consider an ad-hoc wireless network, where z
all nodes are sources,
z
every node needs to receive all sources, and
z
each node can broadcast information to its closest neighbors Performance metric: energy efficiency (number of transmissions per information unit)
Application: Discovery mechanisms at the network or application layer, etc. © by DoCoMo Communications Laboratories Europe GmbH 12
Mobile Adventure
Canonical Configurations
Circular Network
Square Grid
x1
x2
x8
x3
x7
x6
x4 x5
© by DoCoMo Communications Laboratories Europe GmbH 13
Broadcast in Circular Network with Flooding
Mobile Adventure
• For N nodes, we need at least (N1)/2 transmissions per information unit.
x1 x1
x1
• Flooding reaches one new neighbor per transmission and requires N-2 transmissions.
x1
x1
© by DoCoMo Communications Laboratories Europe GmbH 14
Broadcast in Circular Network with Network Coding
Mobile Adventure
• At node 1: x1
x3
x1
x1
x1
• At node 2: x1 , x3
x7
x3
x7
x3
x7 x5
x5
x5
© by DoCoMo Communications Laboratories Europe GmbH 15
Broadcast in Circular Network with Network Coding
Mobile Adventure
• At node 1: x1 , x3 , x7
x1
x1 + x3
x1
x7x1 + x7 x7
x3
x5 + x3x3
• At node 2: x1 , x3
x5
x5
x5
x7x + x 5 7
© by DoCoMo Communications Laboratories Europe GmbH 16
Broadcast in Circular Network with Network Coding
Mobile Adventure
• At node 1: x1 , x3 , x7
x3 + x7 x1 + x3
x1 + x7
x7
x1 + x5 x3
x5 + x3
• At node 2: x1 , x3 , x7 , x5
x1 + x5
x5 + x7 x5 x3 + x7 © by DoCoMo Communications Laboratories Europe GmbH 17
Broadcast in Circular Network with Network Coding
Mobile Adventure
• At node 1: x1 , x3 , x7
x3 + x7 x1 + x3
• At node 2: x1 , x3 , x7 , x5
x1 + x7
x1 + x5
• Round i brings the information from the 2 neighbors at distance i
x1 + x5
x5 + x7
x5 + x3 x3 + x7
© by DoCoMo Communications Laboratories Europe GmbH 18
Mobile Adventure
Energy Efficiency
Transmissions per node: z z
Flooding
T = N-2
Network Coding T = (N-1)/2 (if N is even, only half of the nodes transmit in the last round)
No coordination and N unknown: z
Flooding
T = N-1
z
Network Coding T = ⎡N/2⎤
© by DoCoMo Communications Laboratories Europe GmbH 19
How is this useful in practice?
Mobile Adventure
z
Bi-directional traffic in wireless networks [Wu, Chou, and Kung; MSR TR 2004]
x43 + y32
x21 + y54
x65 X
Y x54 + y21
z z
z
y65
x32 + y43
Intermediate nodes buffer packets Always send xor of 2 packets, one for each direction (Packets may double as implicit ACKs)
© by DoCoMo Communications Laboratories Europe GmbH 20
Mobile Adventure
Canonical Configurations
Circular Network
Square Grid
x1
x2
x8
x3
x7
x6
x4 x5
© by DoCoMo Communications Laboratories Europe GmbH 21
Mobile Adventure
Square Grid with Flooding • Simple flooding: N transmissions
© by DoCoMo Communications Laboratories Europe GmbH 22
Mobile Adventure
Square Grid with Flooding • Simple flooding: N transmissions • Intelligent flooding: N/3 + 2/3 √N transmissions
© by DoCoMo Communications Laboratories Europe GmbH 23
Mobile Adventure
Square Grid with Network Coding Schedule for Network Coding: • Each neighbor transmits its own information vector ➜ allows to decode 1 hop-neighbors
© by DoCoMo Communications Laboratories Europe GmbH 24
Mobile Adventure
Square Grid with Network Coding Schedule for Network Coding: • Each neighbor transmits its own information vector ➜ allows to decode 1 hop-neighbors • Each neighbor transmits two vectors from its sub-space ➜ allows to decode 2 hop-neighbors
© by DoCoMo Communications Laboratories Europe GmbH 25
Mobile Adventure
Square Grid with Network Coding Schedule for Network Coding: • Each neighbor transmits its own information vector ➜ allows to decode 1 hop-neighbors • Each neighbor transmits two vectors from its sub-space ➜ allows to decode 2 hop-neighbors • Each neighbor transmits three vectors from its sub-space ➜ allows to decode 3 hop-neighbors
© by DoCoMo Communications Laboratories Europe GmbH 26
Mobile Adventure
Square Grid with Network Coding
General algorithm needs to account for "wrap around" • Step 1: Each node transmits its own information vector • Step k, 1 < k ≤ √N/2: Each node transmits ⎡M(k)/4⎤ information vectors from the subspace spanned by the M(k-1) information vectors received in step k-1 After step k, each node received M(k) vectors and can decode all of its k-hop neighbors. Number of neighbors (for N even): Step
Number of neighbors
k=0
M(k) = 1
1 ≤ k < √N/2
M(k) = 4k
k = √N/2
M(k) = 4k – 2
√N/2 < k < √N
M(k) = 4(√N – k)
k = √N
M(k) = 1 © by DoCoMo Communications Laboratories Europe GmbH 27
Mobile Adventure
Energy Efficiency
Transmissions per node: z
Flooding
T=N
z
Intelligent flooding
T = N/3 + 2/3 √N
z
Network Coding
T = N/4
Network coding requires ¼ of the transmissions of flooding and ¾ of the transmissions of intelligent flooding.
© by DoCoMo Communications Laboratories Europe GmbH 28
Mobile Adventure
Distributed Algorithm
A simple distributed algorithm achieves the same performance in the square grid (but does not necessarily allow to decode after each step) z z
z
z
Each node sends its own information vector Each node sends a vector from its complete sub-space whenever n packets are received (where n is the number of direct neighbors) Use a random schedule for the nodes that are allowed to transmit at the same time Works for arbitrary transmission ranges
© by DoCoMo Communications Laboratories Europe GmbH 29
Mobile Adventure
z
How is this useful in practice?
Efficient broadcast in random networks −
Required for example for route discovery in adhoc routing protocols (AODV, DSR, …)
−
Provides a very high level of robustness (communication in networks with very high mobility, loss rates, fraction of sleeping nodes, …)
−
Efficient alternative to probabilistic routing (re-broadcast packets with probability p) z z
Epidemic routing (Vahdat, Becker 2000) Gossip-based routing (Haas, Halpern, Li 2002) © by DoCoMo Communications Laboratories Europe GmbH 30
Mobile Adventure
From Theory to Practice
z
When should a node send a packet?
z
How should it do the coding? −
No (or very limited) knowledge about the network
−
Symbols grouped into packets
−
Asynchronous transmissions, delay
−
Transmissions errors, interference
−
Variable transmit rate
© by DoCoMo Communications Laboratories Europe GmbH 31
Mobile Adventure
Network Coding-Based Protocol
When to send a packet: z
z
Forwarding factor d (similar to probabilistic routing) −
If d < 1, for each received innovative packet, a new packet is generated and sent with probability d
−
If d ≥ 1, generate and send out d such vectors
−
Each source i always sends out its original packet xi at least once
On average, a node sends out N × d packets (if there are N original packets in the network)
© by DoCoMo Communications Laboratories Europe GmbH 32
Mobile Adventure
z
z
Network Coding-Based Protocol
Use random Network Coding (no global knowledge required) −
To send, vectors are generated from the decoding matrix by multiplying a random vector with the matrix
−
Very high probability that a node who has new information will send an innovative packet (randomly generated vectors are linearly independent with very high probability)
Include encoding vector in the packet header
2 1 0
y3
© by DoCoMo Communications Laboratories Europe GmbH 33
Mobile Adventure
z
z
Maintain decoding matrix −
Add incoming vector to matrix if it is innovative (i.e., it increases the rank of the matrix )
−
Store decoding matrix in reduced row echelon form (for early decoding)
When the matrix has full rank, all packets can be decoded −
z
Network Coding-Based Protocol
N innovative packets are sufficient
Main benefit: which linear combinations a node receives is not important, only how many innovative packets it receives −
Robustness due to the large number of different linear combinations © by DoCoMo Communications Laboratories Europe GmbH 34
Mobile Adventure
z
z
Simulations
Simple time-based network simulator −
Physical layer broadcast
−
Unit-disc propagation model
−
Idealized version of CSMA-CA (IEEE 802.11) → random schedule
−
Fixed transmission slots
Each node has a packet to broadcast to all other nodes
© by DoCoMo Communications Laboratories Europe GmbH 35
Mobile Adventure
z
Regular Grid
144 nodes, area 1500m×1500m, 12 neighbors per node
© by DoCoMo Communications Laboratories Europe GmbH 36
Mobile Adventure
PDR in Dense Network
100 nodes z random placement z on avg. 12 neighbors z
(d)
© by DoCoMo Communications Laboratories Europe GmbH 37
Mobile Adventure
Decoding Delay
(d)
© by DoCoMo Communications Laboratories Europe GmbH 38
Mobile Adventure
Overhead
(d)
© by DoCoMo Communications Laboratories Europe GmbH 39
Mobile Adventure
PDR with Random Waypoint Mobility
0 pause time z 2 m/s to 10 m/s z
(d)
© by DoCoMo Communications Laboratories Europe GmbH 40
Mobile Adventure
Sparse Network (Mobile)
(d)
© by DoCoMo Communications Laboratories Europe GmbH 41
Mobile Adventure
z
Practical Issues with Network Coding
CPU requirements −
Number and complexity of finite field operations depends on the size of the decoding matrix and the symbol size
−
Use efficient implementation of multiplication
© by DoCoMo Communications Laboratories Europe GmbH 42
Mobile Adventure
Efficient Multiplication
Implementation of multiplication using discrete logarithm z
z
z
z
Special element α, called generator (α = 0x03 = z + 1 is a generator in Rijndael’s representation of F256) Any non-zero x ∈ F256 can be written in a unique way as x = αl(x); l(x) is called the logarithm x·y = exp(l(xy)) = exp(l(x) + l(y)) −
Multiplication using 3 table lookups and 1 xor
−
Lookup table for F256 has a size of 256 byte (so both tables take up 512 bytes of memory)
Very efficient for small field sizes −
Use bitshift and xor for larger fields © by DoCoMo Communications Laboratories Europe GmbH 43
Mobile Adventure
z
z
z
Practical Issues (cont.)
Limited node memory → need to restrict maximum size of decoding matrix Only packets of the same generation can be combined −
For a new packet, a node randomly picks a generation from the generations it knows of
−
If the size of this generation is larger than a threshold, the node starts a new generation (and inserts the packet into the new generation)
−
Threshold value determines the number of concurrent generations in the network
Purely local decision, no need to coordinate © by DoCoMo Communications Laboratories Europe GmbH 44
Mobile Adventure
Impact of Generation Size
(d)
© by DoCoMo Communications Laboratories Europe GmbH 45
Mobile Adventure
z
z
Header Overhead
Overhead for coding coefficients negligible with large packets But: packets might be small (for example in sensor networks)
For packets of 128 bytes:
Generation size Relative overhead Matrix size (bytes)
4 8 6.25% 12.5% 516 1032
16 25% 2064
32 50% 4128
© by DoCoMo Communications Laboratories Europe GmbH 46
Mobile Adventure
PDR with Large Packets
Packet size: 1000 bytes
(d)
© by DoCoMo Communications Laboratories Europe GmbH 47
Mobile Adventure
Same with Small Packet Size
Packet size: 128 bytes
Can we use deterministic network coding to avoid the header overhead?
(d)
© by DoCoMo Communications Laboratories Europe GmbH 48
Mobile Adventure
Extreme Conditions Sparse network z RWP mobility z 20% packet loss z Sleep time z
© by DoCoMo Communications Laboratories Europe GmbH 49
Mobile Adventure
z
z
Adaptive Forwarding Factor
Adaptive forwarding factor necessary for networks with heterogeneous density −
Optimal forwarding factor depends on the topology (node density, number of neighbors)
−
Using d = 1/n only works for the canonical examples (n = number of neighbors)
How should a node adapt the forwarding factor in random topologies?
© by DoCoMo Communications Laboratories Europe GmbH 50
Mobile Adventure
Approximate Analysis
Flooding:
v
z
Should node v rebroadcast the packet? −
What's the "optimum" number of transmissions per neighborhood?
−
Intersection of v's coverage area with union of randomly placed circles
© by DoCoMo Communications Laboratories Europe GmbH 51
Mobile Adventure
Approximate Analysis
Flooding:
v
z
Should node v rebroadcast the packet? −
What's the "optimum" number of transmissions per neighborhood?
−
Intersection of v's coverage area with union of randomly placed circles
© by DoCoMo Communications Laboratories Europe GmbH 52
Mobile Adventure
Approximate Analysis
Network Coding: z
z
Assume node v and all but one of its neighbors (v') have all g information vectors What's the probability that after k·g transmissions, a packet from v is innovative for v'
Note:
© by DoCoMo Communications Laboratories Europe GmbH 53
Mobile Adventure
Approximate Analysis
Network Coding:
© by DoCoMo Communications Laboratories Europe GmbH 54
Mobile Adventure
Approximate Analysis
Network Coding: z Assume node v and all but one of its neighbors (v ') have all g information vectors z
What's the probability that after k·g transmissions, a packet from v is innovative for v'
Heuristic 1: z
Set
(forwarding factor inversely proportional to number of neighbors )
But: not all of the neighbors have innovative packets! Heuristic 2: z
Set (forwarding factor inversely proportional to minimum number of neighbors of each of the neighbors) © by DoCoMo Communications Laboratories Europe GmbH 55
Mobile Adventure
z
Simulations with Dynamic Forwarding Factor
Heuristic 1: forwarding factor inversely proportional to number of neighbors Network Coding
Flooding
© by DoCoMo Communications Laboratories Europe GmbH 56
Mobile Adventure
z
Simulations with Dynamic Forwarding Factor
Heuristic 2: forwarding factor inversely proportional to minimum number of neighbors of the neighbors Network Coding
Flooding
© by DoCoMo Communications Laboratories Europe GmbH 57
Mobile Adventure
Many more issues…
z
Node mobility / node failure
z
Generation management
z
−
Adaptive generation size
−
Local generations
−
Generations of "similar" packets
…
© by DoCoMo Communications Laboratories Europe GmbH 58
Mobile Adventure
z
z
Conclusions
Network coding significantly improves forwarding performance in challenging wireless networks −
Much more robust
−
Higher throughput
−
Lower delay
Very new area of research −
Many interesting open issues remain
−
Many more potential uses for network coding which have not yet been explored
© by DoCoMo Communications Laboratories Europe GmbH 59
Mobile Adventure
z z
Intelligent generation management Make use of encounter/movement information if available −
z
z
z
Ongoing Work
Use movement data from measurement studies (heavy tailed distribution of encounters)
Deterministic coding to save encoding vector overhead Network coding for unicast / multicast delivery in wireless networks Data collection networks: nodes do not have to be able to decode © by DoCoMo Communications Laboratories Europe GmbH 60
Mobile Adventure
Danke schön!
© by DoCoMo Communications Laboratories Europe GmbH 61
Mobile Adventure
z
z
z
z
References
Jörg Widmer, Christina Fragouli, and Jean-Yves Le Boudec Low-complexity energy-efficient broadcasting in wireless ad-hoc networks using network coding. NetCod, April 2005 Jörg Widmer and Jean-Yves Le Boudec Network coding for Efficient Communication in Extreme Networks. WDTN, August 2005 Christina Fragouli, Jean-Yves Le Boudec, and Jörg Widmer. Network coding: An instant primer. ACM Computer Communication Review, December 2005. Christina Fragouli, Jörg Widmer, and Jean-Yves Le Boudec. A network coding approach to energy efficient broadcasting: from theory to practice. IEEE Infocom, April 2006
© by DoCoMo Communications Laboratories Europe GmbH 62
Mobile Adventure
Seminar Part II
© by DoCoMo Communications Laboratories Europe GmbH 63
Mobile Adventure
Recall: Distributed Algorithm
A simple distributed algorithm achieves the same performance in the square grid (but does not necessarily allow to decode after each step) z z
Each node sends its own information vector Each node sends a vector from its complete sub-space whenever n packets are received (where n is the number of direct neighbors)
© by DoCoMo Communications Laboratories Europe GmbH 64
Mobile Adventure
Distributed Algorithm
The distributed algorithm operates in where at iteration , each node z
z
z
z
z
iterations,
Transmits a vector from the vector space spanned by the coding vectors the node received at iterations Receives four vectors, from his four closest neighbors, and increases the dimension of his vector space by four
number of linearly independent combinations that a node has received up to the end of iteration vector space spanned by the coding vectors at node , with union of the vector spaces spanned by a set of nodes © by DoCoMo Communications Laboratories Europe GmbH 65
Mobile Adventure
z
z
Distributed Algorithm: Proof
Initially each node has its own source symbol, and thus It is sufficient to show that for each node at the end of iteration :
© by DoCoMo Communications Laboratories Europe GmbH 66
Mobile Adventure
Distributed Algorithm: Proof (2)
© by DoCoMo Communications Laboratories Europe GmbH 67
Mobile Adventure
Distributed Algorithm: Proof (3)
Proof in: R. Koetter and M. Medard, “Beyond routing: an algebraic approach to network coding,” in IEEE Infocom, June 2002. © by DoCoMo Communications Laboratories Europe GmbH 68
Mobile Adventure
Distributed Algorithm: Proof (4)
© by DoCoMo Communications Laboratories Europe GmbH 69
Mobile Adventure
Distributed Algorithm: Proof (5)
© by DoCoMo Communications Laboratories Europe GmbH 70
Mobile Adventure
Distributed Algorithm: Proof (6)
© by DoCoMo Communications Laboratories Europe GmbH 71
Mobile Adventure
Homework
© by DoCoMo Communications Laboratories Europe GmbH 72
Mobile Adventure
z
z
z
Homework 1
Assume nodes can adjust their transmit power to have a larger/smaller (circular) coverage area Received power decays with distance due to path loss (typical values are
as )
A node can receive a packet if the received power is larger than some threshold
© by DoCoMo Communications Laboratories Europe GmbH 73
Mobile Adventure
Homework 1
Consider network coding in 1) the circular network and 2) the square grid: What is the tradeoff between energy expenditure at a specific node (i.e., number of transmissions × transmit power) and the number of nodes that have to transmit to disseminate information (all-to-all, as in slide 11) ? z
For which path loss values should the nodes use a large (respectively small) transmission range to minimize overall energy consumption in the network (i.e., total number of transmissions × transmit power) ? z
How can this be used to maximize the lifetime of a network of wireless devices which are battery powered and where initial available energy differs from node to node ? z
© by DoCoMo Communications Laboratories Europe GmbH 74
Mobile Adventure
Homework 2
z
Consider the ring network from slide 14
z
Assume −
nodes are mobile, such that at each step, a node has two random neighbors (i.e., nodes randomly exchange positions on the circle)
−
nodes do not know what information their neighbors possess
−
network coded packets are generated from the complete subspace that's available at the node
What is the expected number of nodes that have received all information after m iterations with flooding? How many iterations are necessary to disseminate all information with network coding ? © by DoCoMo Communications Laboratories Europe GmbH 75