Network Coding and its Applications in Communication Networks
-
Upload
leah-oneill -
Category
Documents
-
view
16 -
download
0
description
Transcript of Network Coding and its Applications in Communication Networks
1
Network Coding and its Applications in Communication
Networks
Alex Sprintson
Computer Engineering GroupDepartment of Electrical and
Computer EngineeringTexas A&M University
Recap: Finite Fields
A Field F is a set F = {0,F’} such that: F forms an Abelian group under an addition
operation `+', with 0 being the identity; Abelian means all elements commute, i.e., satisfy a + b =
b + a.] F’ forms an Abelian group under a multiplication
operation `*’; multiplication of any element by 0 yields 0;
These operations satisfy the distributive rule (a+b)*c = a*c+b*c.
Recap: Finite Fields
A Galois field GF(q) is a field with a finite number of elements q.
We will use Galois fields for q=2m
Each packet is an element of the finite field
Each packet can be represented as a binary string of m bits
Can perform operations (multiplications and additions)
Recap: Finite Fields
An element with order (q-1) in GF(q) is called a primitive element in GF(q).
Every field GF(q) contains at least one primitive element.All nonzero elements in GF(q) can be represented as (q-1) consecutive powers of a primitive element
Some facts about GF(2m)
Addition corresponds to bit-by-bit XOR operations
The additive inverse of a member b Is b itself Is unique i.e., b+b=0 for any bGF(2m)
Diversity Coding
Used for self-healing and fault-tolerance in digital communication networks
Instantaneous recovery from failures
Problem of link failures is treated as an erasure channel problem
1-for-N Diversity Coding
N data lines that transmit binary data
{di} – set of information-bearing bits 1≤i ≤N
SenderReceiver
Review of Linear Coding
Operations are performed over GF(2m)
Linearity is desired Design, analysis, and implementation are
easier
m>1 is needed More encoding possibilities Harder to implement
Review of Linear Coding
Given a vector d=(d1,d2,…,dN) with N consecutive m-bit data symbols d1,d2,…,dN
Generate the channel codeword e=(e1,e2,…,eK) from d, where ei is a m-bit symbol, K>N
Vector e is transmitted over the channel, which is received as
The decoder performs an inverse operation to generate e~
Erasure-Correcting Codes
E.g., Reed-Solomon
...
Need to send k packets over a lossy channel
...
Sending n packets with encoded data
Some of them are erased (at most n-k)
...
k (or more) remaining packets are sufficient to reconstruct the original data
...
Linear block codes
e=dG G is NxK matrix of rank N
With entries from GF(2m) Referred to as a generator matrix In a systematic code
The channel symbolsare referred to the parity symbols
c=dP
The basic bound
M – the number of parity symbols In order to correct t errors and s
erasures it must hold that2t+s≤M
Codes that satisfy this bound are called maximum distance separable or MDS.
M-for-N Diversity coding
Would like to protect M simultaneous line failures by providing M m-bit parity symbols1≤M ≤N.
SenderReceiver
M-for-N Diversity coding
The encoding is linear
Multiplication and summation are performed in GF(2m)
P=
Decoding
Consider the case in which n of N data lines fail
Let k1,k2,…,kn be the indices of the links that failed
We generate signals
Note that
jc~
Decoding
The data symbolscan be recovered fromvia inverse linear transform, provided that the column vectorsfor and are linearly independent
This can be checked by considering the determinant of
Decoding
The data symbolscan be recovered fromvia inverse linear transform, provided that the column vectorsfor are linearly independent
This can be checked by considering the determinant of the matrix
Vandermode matrix
A matrix with a geometric progression in each row, i.e.,
The determinant of a Vandermonde matrix can be expressed as:
Decoding
Letwhere a is a primitive element of GF(2m),
We note that is a Vandermonde matrix
Thus
None of the entries can be zero since in GF(2m) it holds that
General case
Simultaneous failure of up to n≤m data and parity signals.
It can be proven that if the field GF(2m) is large enough, then the corresponding matrix must be nonsingular.
General case
The codes described above belong to the class of Reed-Solomon Codes
By using extended Reed-Solomon codes we can use a field of size
Practical Implementation
Links are physically diverse and have different length Need to synchronize the data
Delay equalization Insert buffers to equalize the
delay from all sources.
Connection to Network Coding
MDS codes can be used for h=2 (two, packets, multiple terminals)
In general, the networks with h>2 cannot use MDS codes
Special case: h=2
In acyclic networks, MDS codes can be used in the case of h=2
Any packet sent over the network is a codeword of the MDS code
Step 1: Obtain a minimum network Remove links from the network, one at a time,
until it becomes minimal Removing additional links will violate the min-
cut condition
Special case: h=2 (cont.)
Lemma: In a minimal network the in-degree of any node is at most 2
Proof: Suppose, by the way of contradiction, there
exists a node v whose in-degree is more than 2. Consider the global encoding vectors that
correspond to the incoming links of v Removing one of its links will not violate the min-
cut condition (why ?) Contradicts the minimality of the network
Special case: h=2 (cont.)
Step 2: Divide nodes into two parts: Forwarding nodes- nodes of in-degree 1 Encoding nodes – nodes of in-degree 2 or
more Forwarding node – just forwards incoming
messages Construct a network code that satisfies the
following condition: Any two different packets are linearly
independent If not, perform linear scaling
Any two different packets are sufficient for decoding the two original packets
Limitation of MDS codes
For h≥3, MDS codes are insufficient
Consider the network on the left The network is minimal P1, P2, P3 should be distinct If they are symbols of the
MDS code, they are sufficient to restore the original data
Then, node v knows a,b, and c.
A contradiction, because the min-cut between s and v is at most 2
s
t1 t2
ab
c
P1 P2
P3
v
NP-hardness result
Lemma (Rasala et. al. 2003). Deciding whether there exists a linear network code with alphabet size q for a multicast network coding instance is NP-hard when q is a prime power.
NP-hardness result Chromatic number of a graph – the minimal
number of colors needed to color the vertices of the graph of so that no two adjacent vertices share the same color
Finding minimum chromatic number is an NP-hard problem
NP-hardness result
Proof: Reduction from the chromatic number problem
s
s1 s2 s3 s4
T3T1T4 T5T2
S1
S2 S3
S4
qmin= least prime power > X(G)-1
y
x+1*y
yx y
x+y S1
S2
S4
S3
x+0*y
Cyclic networks
In certain settings, cycles are necessary
s s
t1 t2
Acyclic Network Networks with Cycles
t1 t2
s
t1 t2
Quiz
Given a network (G,s,T) with minimum cut h, is it possible to transmit h packets to all T terminals if each link can only transmit one packet?
Always yes, if the network is acyclics
a b
a
a
b
aÅb
t1 t2
Quiz
These networks are not really cyclic:
t1 t2
s
a b
a
a b
ba
aÅb
aÅb
aÅbaÅb
v
t1 t2
s
a b
a
a b
ba
aÅb
aÅb
aÅb
aÅb
v
Quiz
A example of a “truly” cyclic network We prove: it is impossible to send two
packets in one round to all destinations
t1 t2
s
a b
a
a b
bx y
x
xy
y
Proof: By way of contradiction
Quiz
Let e be the first link of the cycle v1->v2->v3->v4->v1 that transmits a packet.
Case study. If e=(v1,v2) then t1 gets no information about b
t1 t2
s
a b
a
a b
bx y
x
xy
y
v1
v2
v3
v4
Solution
We have shown that it is not possible to send two packets in one round to both terminals
However, it is possible to send 2n packets in n+1 rounds
Asymptotically, the rate is two packets per round
Use convolution codes
Convolution Codes
Idea: mix messages from different rounds
t1 t2
s
a b
a
a b
bx y
x
xy
xi=aiÅyi-1=aiÅbi-1Åxi-2=aiÅbi-1Åai-2Åyi-3=aiÅbi-1Åai-2Åbi-3 . . . Åa2Åb1
yi=biÅxi-1=biÅai-1Åyi-2=biÅai-1Åbi-2Åxi-3=biÅai-1Åbi-2Åai-3 . . . Åb2Åa1
Å
otherwise
1 if
1
1
ii
i ya
iax
Å
otherwise
1 if
1
1
ii
i xb
iby