# Network Coding Theory: Tutorial

Presented by

Avishek Nag
Networks Research Lab UC Davis

Page 1

Outline
 Introduction  Classifications  Single-Source Network Coding

± Global and Local Descriptions of a Network Code ± Linear Multicast, Broadcast, and Dispersion ± Static codes ± Network Coding for Cyclic Networks

11/26/2008

Page 2

Introduction
 DEFINITION: Network coding is a particular in-network data processing technique that exploits the characteristics of the broadcast communication channel in order to increase the capacity or the throughput of the network

11/26/2008

Page 3

Communication networks TERMINOLOGY  Communication network = finite directed graph  Acyclic communication network = network without any directed cycle  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 11/26/2008 Page 4 .

5 bits per time unit 11/26/2008 Page 5 .The canonical example (I)  Without network coding ± Simple store and forward ± Multicast rate of 1.

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 11/26/2008 Page 6 .

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. only 3 transmissions are needed b1 (a) A r C B (c) (b) b2 b1 b2 A 11/26/2008 C B A C B Page 7 . With network coding.

the current understanding of multi-source network coding is quite far from being complete 11/26/2008 Page 8 .Network Coding Classifications  Based on Topology ± Acyclic Network Coding ± Cyclic Network Coding  Based on number of nodes sourcing information ± Single Source Network Coding: Simple Algebraic Notion ± Multi Source Network Coding: Probabilistic Notion.

a [-dimensional row vector in a finite field F.Single-Source Network Coding  Network is acyclic. 11/26/2008 Page 9 . is generated at the source node.  A symbol in F can be sent on each channel.  The message x.

and c in F.  Commutativity of addition and multiplication ± For all a and b in F. 11/26/2008 Page 10 .  Associativity of addition and multiplication ± For all a. the following equalities hold: a + b = b + a and a · b = b · a. the following equalities hold: a + (b + c) = (a + b) + c and a · (b · c) = (a · b) · c. + and · are binary operations on F). both a + b and a · b are in F (or more formally. usually called addition (+) and multiplication (·). b in F. b.Definition of a Field  A field is a set together with two operations. such that the following axioms hold:  Closure of F under addition and multiplication ± For all a.

there exists an element aí1 in F.Definition of a Field  Additive and multiplicative identity ± There exists an element of F. 11/26/2008 Page 11 . ± Similarly. the following equality holds: a · (b + c) = (a · b) + (a · c). a · 1 = a. there exists an element ía in F. such that for all a in F. a + 0 = a. the multiplicative identity element denoted by 1.  Distributivity of multiplication over addition ± For all a. b and c in F. called the additive identity element and denoted by 0. such that a · aí1 = 1. such that for all a in F. such that a + (ía) = 0. for any a in F other than 0.  Additive and multiplicative inverses ± For every a in F. ± Similarly.

3 bits is a 3-dimensional row vector in GF(2) 11/26/2008 Page 12 .Example: Binary Field  A field with finite number of elements: finite field or Galois Field  A binary field with elements 0 and 1 and operations XOR and AND is a GF(2)  A message consisting of 1¶s and 0¶s and containing say.

called the local encoding kernel. e . e) be called an adjacent pair when there exists a node T with d  In(T ) and e  ut( )  Let F be a finite field and [ a positive integer.e » dIn( ­ ½ ).Local Description of Network Code  Let a pair of channels (d. for every adjacent pair (d. An [ dimensional F-valued linear network code on an acyclic communication network consists of a scalar k d . e)  The local encoding kernel at the node T means the |In(T)| × |Out(T)| matrix K ! «kd .e ut ( ) 11/26/2008 Page 13 .

here e  ut ( ) d In ( ) (2)The vectors fe or the [ imaginary channels e  In(S ) orm the natural basis o the vector space [  The vector f e is called the global encoding kernel for the channel e 11/26/2008 Page 14 .Global Description of Network Code  Let F be a finite field and [ a positive integer. e for every adjacent pair (d. e) in the network as well as an [ -dimensional column vector f e for every channel e such that (1) f e ! § kd . An [ dimensional F-valued linear network code on an acyclic communication network consists of a scalar k d .e f d .

Local Description vs. the global encoding kernels can be calculated recursively in any upstream-to-downstream order by (1). Global Description  Given the local encoding kernels for all channels in an acyclic network. while (2) provides the boundary conditions  The global description and the local description are the two sides of a coin: ± They are equivalent. ± Both can describe the most general form of a (block) linear network code 11/26/2008 Page 15 .

An Example 11/26/2008 Page 16 .

d message x e T 11/26/2008 Page 17 .

Desirable Properties of a Linear Network Code  Law of information conservation: the content of information sent out from any group of non-source nodes must be derived from the accumulated information received by the group from outside  maxflow(T): the maximum flow from S to a nonsource node T  maxflow(P): the maximum flow from S to a collection P of non-source nodes  Max-flow Min-cut Theorem: the information rate received by the node T cannot exceed maxflow(T) 11/26/2008 Page 18 .

and the coding scheme determines achievability of the upper bound  Three special classes of linear network codes are defined below by the achievement of this bound to three different extents ± Linear Dispersion ± Linear Broadcast ± Linear Multicast  Each notion is strictly weaker than the previous notion! 11/26/2008 Page 19 . the dimension [ .Desirable Properties of a Linear Network Code  The network topology.

if maxflow(v) u [. then the message x can be recovered. 11/26/2008 Page 20 .Linear Multicast  For each node v.

± If maxflow(v) u [.  Linear Broadcast   Linear Multicast 11/26/2008 Page 21 . maxflow(v) dimensions of the message x can be recovered.Linear Broadcast  For every node v. the message x can be received. ± If maxflow(v) < [.

the message x can be received. where each individual node u in P may have maxflow(u) < [. ± If maxflow(P) u [. a new comer who wants to receive the message x can do so by accessing a collection of nodes P such that maxflow(P) u [. maxflow(P) dimensions of the message x can be recovered. ± If maxflow(P) < [.  Linear Dispersion   Linear Broadcast   Linear Mulicast  For a linear dispersion.Linear Dispersion  For every collection of nodes P. 11/26/2008 Page 22 .

the vectors fe1. fen are linearly independent provided that £{fd: d  In(vj)}³  £{fek: k { j}³ for 1 e j e n 11/26/2008 Page 23 . where n e [ and ej  Out(vj). « .Code Constructions  Construction of multicast/broadcast/dispersion: consider a linear network code in which every collection of global encoding kernels that can possibly be linearly independent is linearly independent  This motivates the following concept of a generic linear network code: A linear network code is said to be generic if: For every set of channels {e1. en}. e2. fe2. « .

 A linear dispersion. a polynomial time algorithm for constructing a linear multicast has been reported independently by Sanders et al.Code Constructions  A generic network code exists for all sufficiently large F and can be constructed by the Li-YeungCai (LYC) algorithm. 11/26/2008 Page 24 . and Jaggi et al.  In particular. and a linear multicast can potentially be constructed with decreasing complexity since they satisfy a set of properties of decreasing strength. a linear broadcast.

11/26/2008 Page 25 .

11/26/2008 Page 26 .

Static Network Codes  Convention: A configuration I of a network is a mapping from the set of channels in the network to the set {0.1}  I(e) =0 for any link e signifies that the link e is absent due to link failure 11/26/2008 Page 27 .

I is [ dimensional column vector calculated recursively in an upstream-to-downstream order by (1) f e. e for every adjacent pair (d.Static Network Codes  Let F be a finite field and [ a positive integer. where e  Out (T ) (2)The I -global encoding kernals for the [ imaginary channels are independent of I and form the natural basis of the space F [ 11/26/2008 Page 28 . denoted by f e . The I -global encoding kernel for the channel e. An [ dimensional F-valued linear network code on an acyclic communication network consists of a scalar k d .e f d .I ! I (e) § dIn (T ) kd . e) in the network.

while the configuration I varies. the local encoding kernels remain unchanged  The advantage of using a static network code in case of link failure is that the local operation at any node in the network is affected only at the minimum level 11/26/2008 Page 29 .Static Codes  The adjective ³static´ in the terms above stresses the fact that.

Example 11/26/2008 Page 30 .

operation at all nodes synchronized  Cyclic: the global encoding kernels simultaneously implemented under the ideal assumption of delayfree communications (unrealistic)  The time dimension is an essential part of the consideration in network coding  Non-equivalence between local and global descriptions 11/26/2008 Page 31 .Cyclic Networks  Networks with at least one directed cycle  Acyclic: the network coding problem independent of the propagation delay.

Non-Equivalence Example  The local encoding kernels doesn¶t give an unique solution for the global encoding kernels 11/26/2008 Page 32 .

in the trellis network  A channel in the trellis network represents a physical channel e only for a particular time slot t > 0. X(2). . and is thereby identified by the pair (e. . X(1). the channel (e. t)  When e is from the node X to the node Y . . there is a sequence of nodes X(0).Convolutional Codes for Cyclic Networks  Corresponding to a physical node X. t) is then from the node X(t) to the node Y(t+1) 11/26/2008 Page 33 .

Convolutional Codes for Cyclic Networks 11/26/2008 Page 34 .

Li. ³Network Coding Theory.References  R. Cai and Z. ³Wireless Systems Lecture: Network Coding Techniques. S. N. Zhang. 2006. R.  Elena Fasolo. W. Y.´ Now Publishers Inc.´ March 2004 11/26/2008 Page 35 .. Yeung.

Thank You! 11/26/2008 Page 36 .