0% found this document useful (0 votes)
282 views27 pages

Network Coding

Network coding is a technique that exploits the characteristics of the wireless medium. It can be used to increase the capacity or the throughput of the network. Network coding can be implemented at low computational cost.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
282 views27 pages

Network Coding

Network coding is a technique that exploits the characteristics of the wireless medium. It can be used to increase the capacity or the throughput of the network. Network coding can be implemented at low computational cost.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Wireless Systems - Lecture

Network coding techniques

Elena Fasolo
Network coding techniques Elena Fasolo

PhD Student - SIGNET Group [email protected]

March, 7th 2004

Definition of network coding (NC)


DEFINITION Network coding is a particular in-network data processing technique that exploits the characteristics of the wireless medium (in particular, the broadcast communication channel) in order to increase the capacity or the throughput of the network

Network coding techniques Elena Fasolo

Pioneering work: [1] R. Ahlswede, N. Cai, S.-Y. R. Li, and R.W. Yeung, Network information flow, IEEE Trans. on Information Theory, vol. 46, no. 4, July 2000.
Improves the performance in data broadcasting Most suitable setting: all to all communications

Communication networks
TERMINOLOGY

Network coding techniques Elena Fasolo

Communication network = finite directed graph Acyclic communication network = network without any direct cyclic Source node = node without any incoming edges (square) Channel = noiseless communication link for the transmission of a data unit per unit time (edge)

WX has capacity equal to 2

The canonical example (I)

Without network coding


Simple store and forward Multicast rate of 1.5 bits per time unit

Network coding techniques Elena Fasolo

The canonical example (II)

With network coding

Network coding techniques Elena Fasolo

X-OR is one of the simplest form of data coding Multicast rate of 2 bits per time unit Disadvantages

Coding/decoding scheme has to be agreed upon beforehand

NC and wireless communications

Problem: send b1 from A to B and b2 from B to A using node C as a relay A and B are not in communication range (r) Without network coding, 4 transmissions are required. With network coding, only 3 transmissions are needed

b1

(a)

r b1

(b)
Network coding techniques Elena Fasolo

b2

b2

(c)

Linear network coding

When we refer to linear network coding [2], we intend that: The output flow at a given node is obtained as a linear combination of its input flows. The coefficients of the combination are, by definition, selected from a finite field

Coding can be implemented at low computational cost

Moreover, the information traversing a non source node has the following property: The content of any information flowing out of a set of non source nodes can be derived from the accumulated information that has flown into the set of nodes

Network coding techniques Elena Fasolo

[2] S.-Y. R. Li, R. W. Yeung, and N. Cai, Linear network Coding, IEEE Trans. on Information Theory, vol. 49, no. 2, Feb. 2003.

Theoretical model for linear NC


Graph (V,E) having unit capacity edges Sender s in V, set of receivers T={t,} in V

Network coding techniques Elena Fasolo

Source node of h symbols

Intermediate node

Destination node

Linear coding phase

Transmitted symbol

Local encoding vector

Network coding techniques Elena Fasolo

Global encoding vector

Decoding phase

Network coding techniques Elena Fasolo

Node t can recover the source symbols x1, . . . , xh as long as the matrix Gt, formed by the global encoding vectors, has (full) rank h.
-1

Inverting Gt

Gt will be invertible with high probability if local encoding vectors are random and the field size is sufficiently large [3]

P = 1 - |F| (where |F| is the cardinality of the finite field of coefficients)


Example: If field size = 216 and |E| = 28 then Gt will be invertible with probability 128 = 0.996

Network coding techniques Elena Fasolo

[3] R. Koetter,M.Medard, An algebraic approach to network coding, IEEE/ACM Trans. on Networking, Nov.2003

Theory vs. Practice

Theory:

Symbols flow synchronously throughout network Edges have unit (or known integer) capacities Centralized and full knowledge of topology, which is used to compute encoding and decoding functions

Network coding techniques Elena Fasolo

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 for simple solutions, applicable in practice

Practical Random NC

Main idea [4]:

Select the linear coefficients in a finite field of opportune size in a random way Send the encoding vector within the same packet

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

Network coding techniques Elena Fasolo

Nodes stores within their buffers the received packets

[4] P. A. Chou, T.Wu, and K. Jain, Practical network coding, in 51st Allerton Conf. Communication, Control and Computing, Oct. 2003.

Practical Algorithm

Each nodes sends out packets obtained as a random linear combination of packets stored in its buffer

Each node receives packets which are a linear combinations of source packets and it stores them into a matrix

Network coding techniques Elena Fasolo

If the matrix of a node has full rank (h) or a submatrix with full rank (r < h) exists, the node can decode h (or r) packets at the same time

Innovative packets or not

When a node receives a packet, it decides whether to store the packet or discard it
Innovative packet: it increases the current rank of the matrix Non innovative packet: it does not increase the rank of the matrix. It means that the packet contains redundant information and it is not needed to decode the source packets Hence, non innovative packets are dropped

Network coding techniques Elena Fasolo

Generations

Need to synchronize
All packets related to same source vectors x1,, xh are said to be in the same generation; h is the generation size All packets in same generation are tagged with same generation number (one byte - mod 256 - is sufficient) Generations are useful to take into account the differences in data types, generation instants, priorities, etc.

Network coding techniques Elena Fasolo

Packet Format

At source nodes

Network coding techniques Elena Fasolo

At the intermediated nodes

Summarizing
Transmission opportunity: generate packet

Random Combination

edge

edge

Network coding techniques Elena Fasolo

Arriving packets (jitter, loss, variable rate)

Buffer

Asynchronous transmission

NODE

Observations about the decoding phase

Block decoding:

Collect h or more packets, hope to invert Gt

Early decoding (recommended):

Network coding techniques Elena Fasolo

Perform Gaussian elimination after each RX packet At every node, detect & discard non-innovative packets Gt tends to be lower triangular, so it is typically possible to decode x1,,xk with fewer more than k packets

aij

It can be decoded

Much shorter decoding delay than block decoding


Approximately constant, independent of block length h

Costs and benefits

Cost:

Overhead of transmitting h extra symbols per packet


Example: h = 50 and field size = 28 overhead 50/1400 3%

Network coding techniques Elena Fasolo

Benefits:

Receivers can decode even if


Network topology & encoding functions are unknown Nodes & edges added & removed in ad hoc manner Packet loss, node & link failures with unknown locations Local encoding vectors are time-varying & random

Energy efficient broadcasting with NC [5]


RING NETWORK

All nodes are senders; all nodes are receivers Tnc = # transmissions needed to broadcast with network coding Tw = # transmissions without network coding Lemma: Tnc/Tw

Network coding techniques Elena Fasolo

Without NC = 6 transmissions (Tw n - 2 ) With NC = Tnc (n 1)/ 2

Achievable by physical piggybacking

[5] J. Widmer, C. Fragouli, and J.-Y. L. Boudec, Lowcomplexity energyefficient broadcasting in wireless adhoc networks usign network coding, in Proc.IEEE Information Theory Workshop, Oct. 2004.

Energy efficient broadcasting with NC


GRID NETWORK

Consider grid network (toroidal)

n = m2 nodes Without NC = Tw n2 / 3 With NC = Tnc n2 / 4

Network coding techniques Elena Fasolo

Lemma: Tnc/Tw

Achievable by physical piggybacking

Broadcasting in random networks [6]

At each node v in the graph is associated a forwarding factor, dv. Source node v transmits its source symbols (or packets)

max{ 1, | dv | } times. An additional time with probability p = dv - max{ 1, | dv | } if p > 0.

When a node receives an innovative symbol (packet), it broadcasts a linear combination over the span of the received coding vectors

Network coding techniques Elena Fasolo

int(dv) times And TX a further copy with probability p = dv int(dv) if p > 0 dv = k / |N(v)| dv = k / min |N2(v)| where N2(v) are the number of 2-hops neighbors

Two heuristics:

[6] C. Fragouli, J. Widmer, and J.-Y. L. Boudec, A network coding approach to energy efficient broadcasting, Proceedings of INFOCOM06, April 2006.

Simulation results
All to all communication scenario

Network coding techniques Elena Fasolo

Energy consumption: number of transmissions and receptions needed to gather all the required packets

Delay: number of time units needed to decode all the required packets

Network coding techniques Elena Fasolo

NC in multicast communications

Summary

Network Coding can be used in practice


Packetization Buffering Generation

Network coding techniques Elena Fasolo

Network Coding is being applied to

Internet, Live broadcast, storage, messaging, peer2peer file sharing (eMULE of the future), Many open issues

Wireless ad hoc, mobile, and sensor networks

Network coding techniques Elena Fasolo

Wireless Systems - Lecture

Thank you!

You might also like