network coding and its applications in communication networks n.
Skip this Video
Loading SlideShow in 5 Seconds..
Network Coding and its Applications in Communication Networks PowerPoint Presentation
Download Presentation
Network Coding and its Applications in Communication Networks

Network Coding and its Applications in Communication Networks

78 Vues Download Presentation
Télécharger la présentation

Network Coding and its Applications in Communication Networks

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. 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.

  3. 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)

  4. 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

  5. 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 bGF(2m)

  6. 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

  7. 1-for-N Diversity Coding • N data lines that transmit binary data • {di} – set of information-bearing bits 1≤i ≤N Sender Receiver

  8. 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

  9. 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 eiis 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

  10. Erasure-Correcting Codes • E.g., Reed-Solomon

  11. 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

  12. The basic bound • M – the number of parity symbols • In order to correct t errors and s erasures it must hold that 2t+s≤M • Codes that satisfy this bound are called maximum distance separable or MDS.

  13. M-for-N Diversity coding • Would like to protect M simultaneous line failures by providing M m-bit parity symbols1≤M ≤N. Sender Receiver

  14. M-for-N Diversity coding • The encoding is linear Multiplication and summation are performed in GF(2m) P=

  15. 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

  16. 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

  17. 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

  18. Vandermode matrix • A matrix with a geometric progression in each row, i.e., • The determinant of a Vandermonde matrix can be expressed as:

  19. 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

  20. Decoding • We conclude thatfor • Thus, we obtain the data by performing a linear transform operation

  21. 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.

  22. 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

  23. 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.

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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.

  30. 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

  31. NP-hardness result • Proof: Reduction from the chromatic number problem s y S1 x+y S1 y x y s1 s2 s3 s4 x+0*y S2 S2 S3 S3 x+1*y S4 T4 T5 S4 T1 T2 T3 qmin= least prime power > X(G)-1

  32. Cyclic networks • In certain settings, cycles are necessary

  33. 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 acyclic

  34. Quiz • Sometimes, if the network has cycles

  35. Quiz • These networks are not really cyclic:

  36. Quiz • A example of a “truly” cyclic network • We prove: it is impossible to send two packets in one round to all destinations Proof: By way of contradiction

  37. 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

  38. 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

  39. Convolution Codes • Idea: mix messages from different rounds

  40. Convolution Codes • Recovery at terminal t1