Network Coding and its Applications in Communication Networks

40
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering Texas A&M University

description

Network Coding and its Applications in Communication Networks. Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering Texas A&M University. Recap: Finite Fields. A Field F is a set F = {0,F’} such that: - PowerPoint PPT Presentation

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

Decoding

We conclude thatfor

Thus, we obtain the data by performing a linear transform operation

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

Sometimes, if the network has cycles

t1 t2

a

a

a

b

b

b

t1 t2

a b

a

a b

ba

aÅb

aÅb

aÅbaÅb

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

Convolution Codes

Recovery at terminal t1

t1

x

a

Å

otherwise

1 if

1

1

ii

i ya

iax

a1

ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ

otherwise...

even is if...

123321

1234321

abababa

ibabababax

iiii

iiii

i

1 2 3 4

a2

b1

a3 a4

b2 b3

5

a5

b4