Title: Application-Layer Multicast -presented by William Wong
1Application-Layer Multicast-presented by William
Wong
2Outline
- Introduction
- Multicast Tree Formation
- Performance Metrics
- Protocol Examples
- Conclusion
3Outline
- Introduction
- IP Multicast vs. Application-Layer Multicast
- Limitations of IP Multicast
- Advantages of application-Layer Multicast
- Multicast Tree Formation
- Performance Metrics
- Protocol Examples
- Conclusion
4IP Multicast vs. Application-Layer Multicast
5Limitations of IP Multicast
- Difficult to support high level functionalities
on upper layer - E.g. congestion control, reliability
- Network and receiver heterogeneities
- Routers need maintain per-group state
- Limited multicast addresses ( class D only)
6Advantages of Application-Layer Multicast
- Easy to support high level functionalities
- Make use of end-host resource (e.g. memory,
process power) to make a more sophisticated
decision - Make use of the existing solutions for unicast
congestion control and reliability - Able to modify the content of data
- Does not need router support
- Unlimited multicast addresses
7Outline
- Introduction
- Multicast Tree Formation
- Tree-first approach
- Mesh-first approach
- Others
- Performance Metrics
- Protocol Examples
- Conclusion
8Tree-first Approach
- Constructs a multicast tree directly.
- Members explicitly select their parents.
- Single multicast tree constructed.
9Tree-first Approach Components
- Initial join
- Learn other members locations
- Multicast tree formation
- Loop avoidance and partition avoidance
- Multicast tree maintaince
- Adaptive to network dynamics
10Tree-first Approach Examples
- Overcast
- Build a single source multicast tree that
maximize the bandwidth from the source to the
receivers - Yoid
- A tree is constructed for data delivery, while a
mesh is constructed for control messages
exchanging. - Jungle Monkey
- Build a single source multicast tree for file
transferring - ALMI
- Build a single source multicast tree in single
server and then distributes it.
11Mesh-first Approach
- Members are connected to form a richer connected
graph, termed a mesh - Members exchange information on the mesh
- Construct shortest path spanning trees of the
mesh with routing protocols e.g. DVMRP
12Mesh-first Approach Components
- Initial join
- Learns other members locations
- Mesh formation
- Partition avoidance
- Mesh maintaince
- Adaptive to network dynamics
- Improve the mesh quality
- Multicast tree formation
- Constructs per-source spanning tree with routing
protocol
13Other Mesh-first Examples
- Narada
- Creates a mesh and then build multicast trees
with DVMRP algorithm. - Scattercast
- Proxy servers are placed at strategic location.
These proxy servers self-organize into multicast
trees.
14Other Approaches
- Completely ignores the network-layer
infrastructure. - Example
- Application-layer Multicast with Delaunay
Triangulations - Each nodes route multicast packet based on their
geometric coordination only.
15Outline
- Introduction
- Protocol Examples
- Performance Metrics
- Application perspectives
- Network perspectives
- Adaptiveness to network dynamics
- Failure Tolerance
- Scalability
- Conclusion
16Application Perspectives
- Directly affect the performance of application
- Examples
- Bandwidth and latency
- Startup time
- End-host resource usages
17Bandwidth and Latency
- Measure the mean and the standard deviation
versus rank
- Examples
- Experiment 1
- 1200, 1200, 1000, 800.
- Experiment 2
- 1400, 1400, 600, 400.
- Experiment 3
- 1000, 800, 800, 600
- Means
- 1200, 1133, 800, 600
18Startup Time
- Time required to stabilize the multicast tree
Stabilized
19End-host Resource Usages
- Memory
- Disk Storage
- Computation Power
20Network perspectives
- Affect other network user indirectly
- Examples
- Resource usages
- Stresses of physical links
- Protocol overhead
21Resource Usages
- Sum of the costs (e.g. delay) of the overlay
links
1
2
27
1
1
25
A
B
2
2
1
1
4
3
Resource Usages 2 27 2 31
22Stresses of Physical Links
- Number of identical copies of a packet traverse a
physical link
Stress of physical link 1-A is 2
23Protocol overhead
- Protocol overhead Total non-data traffic /
total data traffic - Non-data traffic
- Control messages
- Network measurement messages
24Adaptiveness to Network Dynamics
- When some of the nodes/links are failure, the
time required to discover, react and repair that
25Discover, React and Repair Time
- Discover
- Duration from nodes/links failure to detection of
link degradation. - React
- Duration from detection of link degradation to
the first change of multicast tree - Repair
- Duration from the first change of multicast tree
to the change which fully recover the multicast
tree quality
Link failure
Detected
First attempt
Last attempt
Discover Time
React Time
Repair Time
26Failure Tolerance
- Single point of failure
- E.g. rendezvous point (RP)
- Impact of large number of nodes/links failure
- The fraction of hosts that correctly receive the
data packets sent from the source
27Scalability
- Time and resources used to construct a large
multicast tree - Scalability maybe limited by
- Routing algorithm
- Control message size
- Protocol overhead
28Outline
- Introduction
- Multicast Tree Formation Protocols
- Performance Metrics
- Existing Protocols
- Overcast
- Narada
- Conclusion
29Overcast Jannotti 88
- It is motivated by real-world problems faced by
content providers. - Characteristics of the target applications
- Millions of users
- Requires high bandwidth
- Not latency sensitive
30OvercastMulticast Tree Formation
- Single Source, which located at root
- Always contact the root of multicast tree first
- Use bandwidth as link-cost metric only.
- Move the newly joined node as far way from the
root as possible without sacrificing bandwidth to
the root
31OvercastNodes repositioning
- Periodically reevaluates its position in the
tree. - Measure the network condition actively
E send 10KB data to D (sibling), B (parent) and
R (grandparent) to find the best parent.
32OvercastNodes repositioning
- Each node keep their ancestor list. These
ancestors serve as backup parents.
33OvercastLoop avoidance
- Keeps an ancestor list to avoid loop formation
Reject any connection request from nodes in the
ancestor list R,B,E
34OvercastPerformance
- Application prespectives
- High bandwidth, long latency
- Network prespectives
- High protocol overhead due to active measure.
- Not adaptive to network dynamic well
- Node moves locally.
- Low failure tolerance
- Single Point of failure
- High scalability
- Only local information need
35Narada Yang-hua Chu 2000
- It is motivated by real-world problems faced by
conferencing applications - Characteristics of the target applications
- Small number of users
- Require high bandwidth
- Latency sensitive
36NaradaMesh Formation
- No rendezvous point
- Contact anyone of group member to join
- Learn the location of our member by exchanging
control messages - Randomly select a few group members to be its
neighbor.
37NaradaMesh Maintance
- Measure the network condition actively and
passively
The bandwidth and latency are measured actively.
Sent data through the link to determine its
bandwidth and latency
The bandwidth and latency are measured passively
by monitoring the data flow along them.
38NaradaMesh Maintaince
- A mesh is a richer connected graph, such that it
includes all members with cycles. - The quality of mesh keep improving by adding
useful link and drop not useful link.
The link E-G is not very useful, not much
packets would route though it It will be dropped
C
B
D
A
E
The link A-G would be added. It improve the
delay from A/B/C to E/F/G
F
G
39NaradaUtility of a link
- The degree of improvement to tree latency
- Algorithm
- Utility 0
- For each member m (m not i) begin
- CL current latency between i and m along mesh
- NL new latency between I and m along mesh if
edge i-j were added - If (NL lt CL) then begin
- utility ( CL NL) / CL
- End
- End
- Return utility
40NaradaConsensus Cost of a link
- Frequency of being used
- Formal definition
- Cost i-j number of members for which i uses j
as next hopt for forwarding packets. - Cost j-i number of members for which j uses i
as next hop for forwarding packets. - Cost max(cost i-j, cost j-i)
41NaradaMulticast Tree Formation
- Runs a distance vector protocol on top of the mesh
42NaradaMulticast Tree Formation
- Runs a distance vector protocol on top of the
mesh - The per-source trees are constructed from the
reverse shortest paths between each recipient and
the source.
43NaradaLink Cost
- Use bandwidth and latency as link-cost metric at
the same time - Shortest widest path algorithm used
- Pick the widest paths to every other member
- Then choose the shortest path among all widest
path
This path is selected
44NaradaPerformance
- Application prespectives
- High bandwidth, short latency
- Network prespectives
- Low resource usage, low stress of physical link
- Adaptiveness to network dynamics
- Depends on the probing frequency
- Low scalability
- A global information is need for the routing
algorithm - High failure tolerance
- No single-point of failure
45Outline
- Introduction
- Multicast Tree Formation Protocols
- Performance Metrics
- Existing Protocols
- Conclusion
46Conclusion
- Two multicast tree formation approaches
- Tree-first approach
- Mesh-first approach
- Five performance metrics
- Application perspectives
- Network perspectives
- Adaptiveness to network dynamics
- Failure Tolerance
- Scalability
47QA