Network Coding for Efficient Communication in ... - Semantic Scholar

4 downloads 0 Views 2MB Size Report
Nov 20, 2006 - Mobile Adventure. © by DoCoMo ... Mobile Adventure. © by DoCoMo ..... (communication in networks with very high mobility, loss rates, fraction ...
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