network coding techniques l.
Skip this Video
Loading SlideShow in 5 Seconds..
Network coding techniques PowerPoint Presentation
Download Presentation
Network coding techniques

Loading in 2 Seconds...

play fullscreen
1 / 27

Network coding techniques - PowerPoint PPT Presentation

  • Uploaded on

Wireless Systems - Lecture. Network coding techniques. Elena Fasolo PhD Student - SIGNET Group March, 7 th 2004. Definition of network coding (NC).

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Network coding techniques

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
network coding techniques

Wireless Systems - Lecture

Network coding techniques

Elena Fasolo

PhD Student - SIGNET Group

March, 7th 2004

definition of network coding nc
Definition of network coding (NC)
  • 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


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

communication networks
Communication networks


  • 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
The canonical example (I)
  • Without network coding
    • Simple store and forward
    • Multicast rate of 1.5 bits per time unit
the canonical example ii
The canonical example (II)
  • With network coding
    • 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






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












linear network coding
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

[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
Theoretical model for linear NC
  • Graph (V,E) having unit capacity edges
  • Sender s in V, set of receivers T={t,…} in V

Source node of

h symbols

Intermediate node

Destination node

linear coding phase
Linear coding phase

Transmitted symbol

Local encoding vector

Global encoding vector

decoding phase


Decoding phase

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

inverting g t
Inverting Gt
  • Gtwill 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 Gtwill be invertible with probability ≥ 1−2−8 = 0.996

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

theory vs practice
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
  • 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
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
    • Nodes stores within their buffers the received packets
      • Buffering: Allows asynchronous packets arrivals & departures with arbitrarily varying rates, delay, loss

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

practical algorithm
Practical Algorithm
  • Each node receives packets which are a linear combinations of source packets and it stores them into a matrix
  • Each nodes sends out packets obtained as a random linear combination of packets stored in its buffer
  • 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
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
Need to synchronize

All packets related to same source vectors x1,…, xhare 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.

packet format
Packet Format

At source nodes

At the intermediated



Transmission opportunity:

generate packet







Arriving packets (jitter, loss, variable rate)

Asynchronous transmission



observations about the decoding phase



Observations about the decoding phase
  • Block decoding:
    • Collect h or more packets, hope to invert Gt
  • Early decoding (recommended):
    • Perform Gaussian elimination after each RX packet
    • At every node, detect & discard non-innovative packets
    • Gttends to be lower triangular, so it is typically possible to decode x1,…,xkwith fewer more than k packets
    • Much shorter decoding delay than block decoding
      • Approximately constant, independent of block length h

It can be decoded

costs and benefits
Costs and benefits
  • Cost:
    • Overhead of transmitting h extra symbols per packet
      • Example:

h = 50 and field size = 28 overhead ≈ 50/1400 ≈ 3%

  • 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
Energy efficient broadcasting with NC [5]


  • All nodes are senders; all nodes are receivers
  • Tnc = # transmissions needed to broadcast with network coding
  • Tw = # transmissions without network coding
  • Lemma: Tnc/Tw ≥ ½
    • 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, “Low–complexity energy–efficient broadcasting in wireless ad–hoc networks usign network coding”, in Proc.IEEE Information Theory Workshop, Oct. 2004.

energy efficient broadcasting with nc
Energy efficient broadcasting with NC


  • Consider grid network (toroidal)
    • n = m2 nodes
  • Lemma: Tnc/Tw ≥ ¾
    • Without NC = Tw ≥ n2 / 3
    • With NC = Tnc ≥ n2 / 4
  • Achievable by physical piggybacking
broadcasting in random networks 6
Broadcasting in random networks [6]
  • At each node v in the graph is associated a forwarding factor, dv.
  • Source nodev 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
    • int(dv) times
    • And TX a further copy with probability p = dv – int(dv) if p > 0
  • Two heuristics:
    • dv = k / |N(v)|
    • dv = k / min |N2(v)| where N2(v) are the number of 2-hops neighbors

[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
Simulation results

All to all communication scenario

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 can be used in practice
    • Packetization
    • Buffering
    • Generation
  • Network Coding is being applied to
    • Internet, Live broadcast, storage, messaging, peer2peer file sharing (“eMULE of the future”), …
  • Wireless ad hoc, mobile, and sensor networks
    • Many open issues