Title: Multicast with Network Coding in Application-Layer Overlay Networks
1Multicast 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
2Network Coding
a or b?
How to send 2 pieces of data a and b to nodes Y
and Z simultaneously?
3Basics 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.
4Main Resultsof Network Coding
- If the capacity of any sink Ri C, then
multicast rate of C is achievable, generally with
network coding.
5Linear 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.
6Preliminaries
- k-redundant multicast graph (DAG)
- Intermediate nodes have indegree k
- Receiver nodes have indegree k
- Nodes of indegree k have maxflow k
7Algorithm
- Rudimentary graph
- Relatively densely connected
- Rudimentary tree
- Multicast graph
8Build 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
9Construct Multicast Graph
- Basics
- Leaf intermediate node
- All children are receiver nodes
- Saturation
- Intermediate node degree(v) ?
- Leaf intermediate node degree(v) ?-1
? 4
10Construct Multicast Graph
- Basics
- Leaf intermediate node
- All children are receiver nodes
- Saturation
- Intermediate node degree(v) ?
- Leaf intermediate node degree(v) ?-1
? 4
11Construct 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
12Construct Multicast Graph
S
13Construct Multicast Graph
S
14Construct Multicast Graph
S
15Construct Multicast Graph
S
16Construct Multicast Graph
S
17Linear Coding Multicast (LCM)
- Node with 1 input
- Simple forwarding
- Node with 2 inputs
- Receive X, Y from left, right inputs,
respectively - Compute C X Yv1 v2T
- Send C out along all outputs
- How to assign (v1, v2) to each node so as to
guarantee reception?
18Linear Coding Multicast (LCM)
- Output of any node
- C X Yv1 v2T a bp qT, because X, Y are
linear combinations of a and b. - X a bpx qxT and Y a bpy qyT (same
logic)
X
Y
v1, v2
a bp qT
C X Yv1 v2T
19Performance Evaluation
- INET topology generator (University of Michigan)
- Comparison
- DVMRP
- IP layer multicast protocol
- Narada
- Application layer multicast protocol
20Performance Evaluation
21Performance Evaluation
22Conclusions
- Propose a practical network coding scheme to
exploit existing theoretical bounds - Demonstrate throughput advantage of network
coding, compared to existing application layer
multicast