410 likes | 511 Views
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:
E N D
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: • 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 Sender Receiver
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 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
Erasure-Correcting Codes • E.g., Reed-Solomon
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 that 2t+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. Sender Receiver
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
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
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 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
Cyclic networks • In certain settings, cycles are necessary
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
Quiz • Sometimes, if the network has cycles
Quiz • These networks are not really cyclic:
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
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
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
Convolution Codes • Recovery at terminal t1