Post on 20-Dec-2015
Network Coding
Project presentation
Communication TheoryCommunication Theory16:332:54516:332:545
Amith Vikram Atin Kumar Jasvinder Singh Vinoo Ganesan
Outline Introduction
Network coding concept Literature Survey Terminology and Notation
Study and Implementation Solvability in Multicast Networks Algorithm and Pseudo-code Low Complexity Network Codes Network Recovery and Management
Scope for future work
Network Coding Concept GoalGoal: To transfer data
at the maximum achievable throughput in a network.
IdeaIdea: Process incoming data at nodes in the network
IntroductionIntroduction
V1
V2V3
V4 V5
b1 b2
b1
V6
V7
b1 b2
b2
b2b1
b1 b2b1 b2
b1+b2
b1+b2b1+b2
Literature Survey Network Information Flow - Ahlswede, Cai, Li, Yeung, 2000
Characterized the admissible coding rate region for multicast networks Proved that maximum throughput in a network can be achieved using ‘coding’coding’
Linear network Coding – Li, Yeung, Cai, 2003 Coding at nodes treated as linear transformation of incoming data Showed that individual maxflow bounds of each receiver can be achieved but
over a time period of the LCM of the maxflow bounds Algebraic Approach – Koetter and Medard, 2002
Proposed algebraic framework to study networks and capacity Necessary and sufficient conditions for coding to be acheivable Necessary and sufficient conditions for robustness to link failures
Network Management – Ho, Koetter and Medard,2002 Quantify Network Management information required to affect link failure
recovery Low complexity Network Codes – Jaggi, Kamal Jain, Philip Chou,2003
Field size and thus arithmetic complexity is small; link usage is lower
IntroductionIntroduction
Terminology and Notation Network denoted as a graph G=(V,E)
V ----- Set of vertices (nodes) E ----- Set of Edges (line joining
pairs of vertices) Input vector at source ’s’ x = [x1,x2,
…,xn] Information on each outgoing link ‘e’
of source
IntroductionIntroduction
Tnnee xxeY ]...][...[)( 1,1,
Terminology and Notation Information on outgoing link e* on intermediate
node
where ‘m’ is the number of incoming edges on the node e* ‘ye’ is the incoming information on the incoming link e
Output vector at the destination (sink) node z = [z1,…,zn]
Teeeeee mmyyeY ]...][...[*)(
1*
1* ,,
T
eeieiei kkyyz ]...][...[
11 ,,
IntroductionIntroduction
Terminology and Notation Output vector ‘z’ is z = x * M where ‘M’ is the system transfer matrix
M = A * G * B where A is [αi,j] is a n * k matrix where ‘k’ is total
number of edges in the network. G = (I-F)-1 is the k * k adjacency matrix B is [εi,j] is a k * n matrix
IntroductionIntroduction
Terminology and Notation
y
t2
s
x
t1
z
w
CutCut:: A partition of vertex set into 2 classes, S containing source and S’ containing the sink.
Value of the cutValue of the cut::
where ‘C(e)’ is the rate constraint of each link
Min-Cut Max-Flow Lemma:Min-Cut Max-Flow Lemma:
Let ‘G’ be a graph with source node ‘s’ and sink nodes ‘t1’ and ‘t2’, and rate constraints ‘R’ .Then for l=1,2, the maxflowmaxflow from s to tl is the value of the min-cut between s and tl and is denoted by maxflow(s,tmaxflow(s,tll))
'
)(efromStoS
eC
IntroductionIntroduction
Study and Implementation Finding a network code for a given multicast
problem
Solvability conditions Single source single sink : det (M) ≠ 0 Single source multiple sink : ∏ det (Mi) ≠ 0
Multiple source multiple sink : det (Mii) ≠ 0
det (Mii) = 0
i
Study and Implementation
Algorithm for finding network codes
Given polynomial F(F(xx)), find aa such that
F(F(aa) ) ≠ 0≠ 0
Find maximal degree ‘∂’ of F in any variable xi and choose smallest ‘i’ such that
2i > ∂
Study and Implementation
Algorithm for finding network codes
Find an element ‘at’ in F2i such that
F(x) ≠≠ 0 and F F(x)
If t = n then halt, else t t+1, goto previous step
‘a’ is the solution to the above problem
xt=at xt=at
Study and Implementation
Bound on Field size There exists a solution to the single source
multicast network coding problem in a finite field 2m with
Study and Implementation
)1(log2 NRm
Simulation Steps Generate a random network (single source
multicast) Find the network capacity using maxflow
algorithm Generate matrices A,G, B from the network
topology Solve for the network parameters
Study and Implementation
Coding vs Routing Is coding really required? How to check if routing achieves capacity? Routing is a special case of coding with
constraints on codes Put constraints on codes and solve to see if
routing is feasible
Study and Implementation
Simulation results
b2
V1
V2V3
V4 V5
b1+b2 b2
b1+b2
b1 b2
b2b1+b2
b1 b2 b1 b2
b2
V1
V2V3
V4 V5
b1 b2
b1
b1 b2
b2b1
b1 b2 b1 b2
Study and Implementation
Simulation resultsAT=
Study and Implementation
Simulation results
Study and Implementation
Low Complexity Network Codes Gives a solution to the single source multicast
network coding problem in a finite field 2m with
Uses only union of edge-disjoint paths to each receiver thus avoiding ‘flooding’
)(log2 Nm
Study and Implementation
Network Recovery and Management
Nodes need to change their ‘behavior’ for recovery from link failures
Network management involves switching between appropriate codes for recovery from link failures
Management requirement can be quantified by the number of different codes needed
Study and Implementation
Network Recovery and Management Two formulations of quantification
Centralized formulation Network behavior described by an overall code Network management requirement quantified by
logarithm of the number of codes needed Node based formulation
Network behavior described by the number of nodes which change behavior
Quantified by the sum of the logarithm of the number of different behaviors of each node
Study and Implementation
Network Recovery and Management
TheoremTheorem: For a single receiver network with r processes and a minimum capacity of C, tight bounds on the number of codes needed for the no-failure scenario and all single link failures, assuming they are recoverable are :
To be included in the final report Faster implementation of the code-
generating algorithm
Comparison of Routing vs Coding on large number of random networks
Future direction of research Joint source-channel-network coding