220 likes | 398 Views
Multicast with Network Coding in Application-Layer Overlay Networks. Y. Zhu, B. Li, and J. Guo University of Toronto Present by Cheng Huang 10.30.2003. S. S. S. a. b. a. b. a. b. T. U. T. U. a. b. T. U. a. b. a. b. W. W. W. a. b. a. b. a. b. a+b. b. a. X. X.
E N D
Multicast with Network Coding in Application-Layer Overlay Networks Y. Zhu, B. Li, and J. Guo University of Toronto Present by Cheng Huang 10.30.2003
S S S a b a b a b T U T U a b T U a b a b W W W a b a b a b a+b b a X X a+b a+b Y Z Y Z Y Z Network Coding a or b? How to send 2 pieces of data a and b to nodes Y and Z simultaneously?
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.
S Network R1 R2 R3 R4 R5 Main Resultsof Network Coding • If the capacity of any sink Ri≥ C, then multicast rate of C is achievable, generally with network coding.
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.
S R1 R2 R3 R4 Preliminaries • k-redundant multicast graph (DAG) • Intermediate nodes have indegree ≤ k • Receiver nodes have indegree = k • Nodes of indegree k have maxflow = k
Algorithm • Rudimentary graph • Relatively densely connected • Rudimentary tree • Multicast graph
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
S R1 R2 R3 R4 Construct Multicast Graph • Basics • Leaf intermediate node • All children are receiver nodes • Saturation • Intermediate node degree(v) = Δ • Leaf intermediate node degree(v) = Δ-1 Δ = 4
S R1 R2 R3 R4 Construct Multicast Graph • Basics • Leaf intermediate node • All children are receiver nodes • Saturation • Intermediate node degree(v) = Δ • Leaf intermediate node degree(v) = Δ-1 Δ = 4
Construct Multicast Graph • First path pf • 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
Construct Multicast Graph • Second path ps S
Construct Multicast Graph • Second path ps S
Construct Multicast Graph • Second path ps S
Construct Multicast Graph • Second path ps S
Construct Multicast Graph • Second path ps S
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][v1 v2]T • Send C out along all outputs • How to assign (v1, v2) to each node so as to guarantee reception?
Linear Coding Multicast (LCM) • Output of any node • C = [X Y][v1 v2]T = [a b][p q]T, because X, Y are linear combinations of a and b. • X = [a b][px qx]T and Y = [a b][py qy]T (same logic) X Y [v1, v2] [a b][p q]T C = [X Y][v1 v2]T
Performance Evaluation • INET topology generator (University of Michigan) • Comparison • DVMRP • IP layer multicast protocol • Narada • Application layer multicast protocol
Conclusions • Propose a practical network coding scheme to exploit existing theoretical bounds • Demonstrate throughput advantage of network coding, compared to existing application layer multicast