Multicast with Network Coding in Application-Layer Overlay Networks Y. Zhu, B. Li, and J. Guo University of Toronto Present by Cheng Huang
2 Network Coding S TU W YZ ab a a a b b b ab a a b b a or b? S TU W YZ X S TU W YZ X ab a a b b a+b How to send 2 pieces of data a and b to nodes Y and Z simultaneously?
3 Basics of Network Coding Conventional network nodes –Route or duplicate traffic Network nodes with coding capability –Perform operations on incoming traffics Basic operations encoding/decoding Linear operations Linear Network Coding Network coding can increase multicast capacity –“ Network Information Flow, ” IEEE Trans. Information Theory, 46(4), 2000.
4 Main Results of Network Coding If the capacity of any sink R i ≥ C, then multicast rate of C is achievable, generally with network coding. S R2R5R3R1R4 Network
5 Linear Network Coding Network nodes only perform LINEAR operations on incoming traffics –Any node can retrieve information at a rate equal to its capacity Example: –Source multicasts 12 pieces of data –Node of capacity 4 retrieves all data in 3 seconds –Node of capacity 3 in 4 seconds and of capacity 1 in 12 seconds –Sufficient condition: network is acyclic. –“ Linear Network Coding, ” IEEE Trans. Information Theory, 49(2), 2003.
6 Preliminaries k-redundant multicast graph (DAG) –Intermediate nodes have indegree ≤ k –Receiver nodes have indegree = k –Nodes of indegree k have maxflow = k S R1R3R2R4
7 Algorithm Rudimentary graph –Relatively densely connected Rudimentary tree Multicast graph
8 Build Rudimentary Graph/Tree Node maintains a list of neighbors and exchanges with other nodes Edge e has a weight w(e) = (β,λ) Path p consists of edges –Preferable path: large bandwidth or low delay Add/remove edges dynamically –Δ-constraint Rudimentary tree –Z. Wang and J. Crowcroft (1996) –Distributed algorithm to find shortest widest paths
9 Construct Multicast Graph Basics –Leaf intermediate node All children are receiver nodes –Saturation Intermediate node degree(v) = Δ Leaf intermediate node degree(v) = Δ-1 S R1R3R2R4 Δ = 4
10 Construct Multicast Graph Basics –Leaf intermediate node All children are receiver nodes –Saturation Intermediate node degree(v) = Δ Leaf intermediate node degree(v) = Δ-1 S R1R3R2R4 Δ = 4
11 Construct Multicast Graph First path p f –Unsaturated neighbors exist Selects the best path among these neighbors –All neighbors saturated Find (breath-first) k unsaturated nodes from source node s Select the best path
12 Construct Multicast Graph Second path p s S
13 Construct Multicast Graph Second path p s S
14 Construct Multicast Graph Second path p s S
15 Construct Multicast Graph Second path p s S
16 Construct Multicast Graph Second path p s S
17 Linear Coding Multicast (LCM) Node with 1 input –Simple forwarding Node with 2 inputs –Receive X, Y from left, right inputs, respectively –Compute C = [X Y][v 1 v 2 ] T –Send C out along all outputs How to assign (v 1, v 2 ) to each node so as to guarantee reception?
18 Linear Coding Multicast (LCM) Output of any node –C = [X Y][v 1 v 2 ] T = [a b][p q] T, because X, Y are linear combinations of a and b. –X = [a b][p x q x ] T and Y = [a b][p y q y ] T (same logic) XY C = [X Y][v 1 v 2 ] T [v 1, v 2 ] [a b][p q] T
19 Performance Evaluation INET topology generator (University of Michigan) Comparison –DVMRP IP layer multicast protocol –Narada Application layer multicast protocol
20 Performance Evaluation
21 Performance Evaluation
22 Conclusions Propose a practical network coding scheme to exploit existing theoretical bounds Demonstrate throughput advantage of network coding, compared to existing application layer multicast