Title: Network Coding Theory: Tutorial
1Network Coding Theory Tutorial
- Presented by
- Avishek Nag
- Networks Research Lab
- UC Davis
2Outline
- 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
3Introduction
- 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
4Communication 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
5The canonical example (I)
- Without network coding
- Simple store and forward
- Multicast rate of 1.5 bits per time unit
6The 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
7NC and wireless communications
(a)
- 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
(b)
(c)
b2
b2
b1
C
C
B
A
B
A
8Network 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
9Single-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.
10Definition 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.
11Definition 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).
12Example 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 1s and 0s and
containing say, 3 bits is a 3-dimensional row
vector in GF(2)
13Local Description of Network Code
- Let a pair of channels (d, e) be called an
adjacent pair when there exists a node T with
and - 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 , 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
14Global 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 for every adjacent
pair (d, e) in the network as well as an
-dimensional column vector for every channel
e such that - The vector is called the global encoding
kernel for the channel e
15Local Description vs. Global Description
- Given the local encoding kernels for all channels
in an acyclic network, the global encoding
kernels can be calculated recursively in any
upstream-to-downstream order by (1), 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
16An Example
17e
d
T
message x
18Desirable 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)
19Desirable 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! -
20Linear Multicast
- For each node v, if maxflow(v) ? ?, then the
message x can be recovered.
21Linear Broadcast
- For every node v,
- If maxflow(v) ? ?, the message x can be received.
- If maxflow(v) lt ?, maxflow(v) dimensions of the
message x can be recovered. - Linear Broadcast ? Linear Multicast
22Linear Dispersion
- For every collection of nodes P,
- If maxflow(P) ? ?, the message x can be received.
- If maxflow(P) lt ?, 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) lt ?.
23Code 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, e2, , en,
where n ? ? and ej ? Out(vj), the vectors fe1,
fe2, , fen are linearly independent provided
that - ?fd d ? In(vj)? ? ?fek k ? j? for 1 ?
j ? n
24Code Constructions
- A generic network code exists for all
sufficiently large F and can be constructed by
the Li-Yeung-Cai (LYC) algorithm. - A linear dispersion, a linear broadcast, and a
linear multicast can potentially be constructed
with decreasing complexity since they satisfy a
set of properties of decreasing strength. - In particular, a polynomial time algorithm for
constructing a linear multicast has been reported
independently by Sanders et al. and Jaggi et al.
25(No Transcript)
26(No Transcript)
27Static Network Codes
- Convention A configuration of a network is a
mapping from the set of channels in the network
to the set 0,1 - 0 for any link e signifies that the link
e is absent due to link failure
28Static 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 for every adjacent
pair (d, e) in the network. The -global
encoding kernel for the channel e, denoted by
is -dimensional column vector calculated
recursively in an upstream-to-downstream order by
29Static 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
30Example
31Cyclic Networks
- Networks with at least one directed cycle
- Acyclic the network coding problem independent
of the propagation delay, operation at all nodes
synchronized - Cyclic the global encoding kernels
simultaneously implemented under the ideal
assumption of delay-free communications
(unrealistic) - The time dimension is an essential part of the
consideration in network coding - Non-equivalence between local and global
descriptions
32Non-Equivalence Example
- The local encoding kernels doesnt give an
unique solution for the global - encoding kernels
33Convolutional 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 gt 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(t1)
34Convolutional Codes for Cyclic Networks
35References
- R. W. Yeung, S. Y. R. Li, N. Cai and Z. Zhang,
Network Coding Theory, Now Publishers Inc.,
2006. - Elena Fasolo, Wireless Systems Lecture Network
Coding Techniques, March 2004
36