* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Multicast with Network Coding in Application
Survey
Document related concepts
Computer network wikipedia , lookup
Network tap wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Airborne Networking wikipedia , lookup
Dijkstra's algorithm wikipedia , lookup
Transcript
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 Network Coding S a T S b a b a U T W b a b a U T b a a a or b? Z Y b U W b a X Y b a W a b S a+b Z b a+b Y X a+b Z How to send 2 pieces of data a and b to nodes Y and Z simultaneously? 2 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. 3 Main Results of Network Coding • If the capacity of any sink Ri ≥ C, then multicast rate of C is achievable, generally with network coding. S Network R1 R2 R3 R4 R5 4 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. 5 Preliminaries • k-redundant multicast graph (DAG) – Intermediate nodes have indegree ≤ k – Receiver nodes have indegree = k – Nodes of indegree k have maxflow = k S R1 R2 R3 R4 6 Algorithm • Rudimentary graph – Relatively densely connected • Rudimentary tree • Multicast graph 7 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 8 Construct Multicast Graph • Basics – Leaf intermediate node S • All children are receiver nodes – Saturation • Intermediate node R1 degree(v) = Δ • Leaf intermediate node degree(v) = Δ-1 R2 R3 R4 Δ=4 9 Construct Multicast Graph • Basics – Leaf intermediate node S • All children are receiver nodes – Saturation • Intermediate node R1 degree(v) = Δ • Leaf intermediate node degree(v) = Δ-1 R2 R3 R4 Δ=4 10 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 11 Construct Multicast Graph • Second path ps S 12 Construct Multicast Graph • Second path ps S 13 Construct Multicast Graph • Second path ps S 14 Construct Multicast Graph • Second path ps S 15 Construct Multicast Graph • Second path ps S 16 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? 17 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) v1 px v 2 qx 1 py p qy q X Y [v1, v2] [a b][p q]T C = [X Y][v1 v2]T 18 Performance Evaluation • INET topology generator (University of Michigan) • Comparison – DVMRP • IP layer multicast protocol – Narada • Application layer multicast protocol 19 Performance Evaluation 20 Performance Evaluation 21 Conclusions • Propose a practical network coding scheme to exploit existing theoretical bounds • Demonstrate throughput advantage of network coding, compared to existing application layer multicast 22