Network Coding Theory: Tutorial: Avishek Nag
Network Coding Theory: Tutorial: Avishek Nag
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
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
The canonical example (I)
• Without network coding
– Simple store and forward
– Multicast rate of 1.5 bits per time unit
11/26/2008 Page 5
The canonical example (II)
11/26/2008 Page 6
NC and wireless communications
(b) (c)
b2 b1 b2
C C
A B A B
11/26/2008 Page 7
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; the current understanding of multi-source
network coding is quite far from being complete
11/26/2008 Page 8
Single-Source Network Coding
• Network is acyclic.
• The message x, a -dimensional row vector in a
finite field F, is generated at the source node.
• A symbol in F can be sent on each channel.
11/26/2008 Page 9
Definition of a Field
• A field is a set together with two operations, usually
called addition (+) and multiplication (·), such that the
following axioms hold:
• Closure of F under addition and multiplication
– For all a, b in F, both a + b and a · b are in F (or
more formally, + and · are binary operations on F).
• Associativity of addition and multiplication
– For all a, b, and c in F, the following equalities hold:
a + (b + c) = (a + b) + c and a · (b · c) = (a · b) · c.
• Commutativity of addition and multiplication
– For all a and b in F, the following equalities hold: a +
b = b + a and a · b = b · a.
11/26/2008 Page 10
Definition of a Field
• Additive and multiplicative identity
– There exists an element of F, called the additive identity
element and denoted by 0, such that for all a in F, a + 0 = a.
– Similarly, the multiplicative identity element denoted by 1,
such that for all a in F, a · 1 = a.
• Additive and multiplicative inverses
– For every a in F, there exists an element −a in F, such that a
+ (−a) = 0.
– Similarly, for any a in F other than 0, there exists an element
a−1 in F, such that a · a−1 = 1.
• Distributivity of multiplication over addition
– For all a, b and c in F, the following equality holds: a · (b +
c) = (a · b) + (a · c).
11/26/2008 Page 11
Example: Binary Field
11/26/2008 Page 12
Local Description of Network Code
• Let a pair of channels (d, e) be called an adjacent pair
when there exists a node T with d In(T ) and e Out (T )
• Let F be a finite field and a positive integer. An
-dimensional F-valued linear network code on an acyclic
communication network consists of a scalar kd ,e , called
the local encoding kernel, for every adjacent pair (d, e)
• The local encoding kernel at the node T means the |In(T)|
× |Out(T)| matrix
KT kd ,e dIn (T ),eOut (T )
11/26/2008 Page 13
Global Description of Network Code
• Let F be a finite field and a positive integer. An
-dimensional F-valued linear network code on an acyclic
communication network consists of a scalar kd ,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
d In (T )
kd ,e f d , where e Out (T )
11/26/2008 Page 14
Local Description vs. Global Description
11/26/2008 Page 15
An Example
11/26/2008 Page 16
d e
message x 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 non-
source 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
Desirable Properties of a Linear Network
Code
• The network topology, the dimension , 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
Linear Multicast
11/26/2008 Page 20
Linear Broadcast
11/26/2008 Page 21
Linear Dispersion
• For every collection of nodes P,
– If maxflow(P) , the message x can be received.
– If maxflow(P) < , maxflow(P) dimensions of the
message x can be recovered.
• Linear Dispersion Linear Broadcast
Linear Mulicast
• For a linear dispersion, a new comer who wants to
receive the message x can do so by accessing a
collection of nodes P such that maxflow(P) , where
each individual node u in P may have maxflow(u) < .
11/26/2008 Page 22
Code Constructions
11/26/2008 Page 24
Static Network Codes
• Convention: A configuration of a network is a mapping
from the set of channels in the network to the set {0,1}
• (e) =0 for any link e signifies that the link e is absent
due to link failure
11/26/2008 Page 27
Static Network Codes
• Let F be a finite field and a positive integer. An
-dimensional F-valued linear network code on an acyclic
communication network consists of a scalar kd ,e for
every adjacent pair (d, e) in the network. The -global
encoding kernel for the channel e, denoted by f e , is
-dimensional column vector calculated recursively in an
upstream-to-downstream order by
11/26/2008 Page 28
Static Codes
• The adjective “static” in the terms above stresses the
fact that, while the configuration 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
Example
11/26/2008 Page 30
Cyclic Networks
• The local encoding kernels doesn’t give an unique solution for the global
encoding kernels
11/26/2008 Page 32
Convolutional Codes for Cyclic Networks
• Corresponding to a physical node X, there is a sequence of
nodes X(0), X(1), X(2), . . . in the trellis network
• A channel in the trellis network represents a physical channel
e only for a particular time slot t > 0, and is thereby identified
by the pair (e, t)
• When e is from the node X to the node Y , the channel (e, 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
References
11/26/2008 Page 35
Thank You!
11/26/2008 Page 36