Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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
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