Title: Mobile, Multimedia and Beyond
1Design and Implementation of Overlay Multicast
Tree Protocol
Jeonghun Noh Eric Setton Professor Bernd Girod
2Outline
- Introduction
- Internet multicast
- Peer-to-peer multicast
- Our overlay multicast system
- Cross layer approach
- An overall system architecture
- Operation of the protocol
- Simulation setup results
- Conclusion future work
3Internet multicast
- What is multicast?
- Involves more than two communicating hosts
- Two categories
- One sender to multiple receivers
- Multiple senders to multiple receivers
- Example
- TCP, UDP are unicast protocol
- DVMRP, MOSPF were widely used multicast protocol
- Mbone (multicast testbed) was born in 1992
- Stands for Multicast backbone
- Tunnel-based overlay network on the IP internet
- About 1500 subnets in 1995 (less than 3 of the
Internet)
4Why IP multicast isnt popular?
- Its too slow
- One shared backbone network
- Restricted scalability in terms of the number of
sessions - Router equipment venders were skeptical
- A proven need of multicast apps is lacking
- Routers may become a bottleneck due to state
maintenance - Passive network is more robust than active
network - Alternatives get more popular
- Server-Client model (one-to-one connection) is
successful - Contents delivery network (ex. Akamai)
5A new approach emerges
- Peer-to-peer file delivery works very well
- Napster, Gnutella, Edonkey, Usenet, and so on
- A wider bandwidth of access network
- From 56k Modem to xDSL, cable modem (a few Mbps
of downlink) - Abundant unused network resource
- Multicast paradigm shift
- What we have
- enough resource and powerful end-user PCs
- Rely on networks ----gt Do everything on edge
hosts
6Existing peer-to-peer multicast
- (Reliable) Distributed systems
- NICE (Univ. of Maryland)
- To construct a single efficient tree structure
- Pastry (Microsoft) and Tapestry (UC Berkeley)
- Scalable resource lookup using Distributed Hash
Table - Multimedia distribution
- End System Multicast (CMU)
- CoopNet (MicroSoft)
7Outline
- Introduction
- Internet multicast
- Peer-to-peer multicast
- Our overlay multicast system
- Cross layer approach
- An overall system architecture
- Operation of the protocol
- Simulation setup results
- Conclusion future work
8Cross layer design
- Most existing literature is not aware of video
application characteristics - Retransmission is important
- One missing packet can result in severe damage to
many peers - ESM relies on TCP retransmission (quick time
player uses HTTP) - MS CoopNet adapts to local congestion based on
packet loss - Both use multiple trees and MDC for robustness
- Our goal is to integrate
- Path Diversity
- CoDiO packet scheduling
- Encoding method tailored to network situation
- Identification of issues in designing a new
protocol - scalability robustness efficiency user
experience
9An overall system architecture
Source peer
(ordinary) peer
- As a passive peer (like a server)
- Respond to Hello
- Forward video on attachment request
- Detect child leave and discard it
- Decides the number of trees
- Distributes video to its direct peer
- Maintains a member list (not accurate)
- Moderate effort to keep the list updated
- Responds to peer join request
- As an active peer (like a client)
- Join / leave a session
- Detect parent leave and react
- Send hello messages to parents
- Note
- Load balance between source and other peers
- Common in high-performance end users
10Protocol network architecture
VIDEO RECEIVERS
VIDEO SOURCE
Video player
Video Encoder
buffer
Overlay Multicast Layer
Overlay Multicast Layer
UDP
UDP
IP
IP
11Protocol state diagram
User command Timer expires state flow
JOIN
PROBE
OFFLINE
LEAVE
REJOIN
ONLINE
ATTACH
HELLO
12Join procedure design phase
- Source On Join request from a new peer
- How many parent candidates?
- too many traffic overhead, (negative) impact on
other peers - too small low efficiency, higher failure rate
to join at one time - Our decision N number of trees (N is obtained
empirically) - Whom to choose?
- Recent first, or random selection (our choice)
- New peer Which parent to choose?
- Several metrics
- Available bandwidth
- Diversity
- RTT ( from a parent peer or source peer )
- Number of hops ( from a source peer )
- Join each tree INDEPENDENTLY or in a COUPLED way
13Join procedure 6 way handshaking
JOIN REQUEST
PROBE
ATTACH
SOURCE
PARENT CANDIDATES
PARENT
NEW PEER
14Leave procedure Explicit leave
SERVER
Parent
Leaving Host
Child
Child
15Hello protocol - overview
- Why do we need this?
- Hosts may leave ungracefully
- Need to keep track of neighbors to check if alive
- Two design approaches
- Approach 1 To every neighbor
- Used in mobile ad Hoc network
- More complex
- Different handling of its parent and children
- Approach 2 To its parent only for each tree
- Less traffic
- Still needs to be bidirectional (expects parent
response)
16Hello protocol timer mechanism
Parent leave detection
Timer expiration points
CHILD say hello to parent
1st no reply
2nd no reply
Time flow
Notice of parent leave
Time flow
PARENT respond to child
Parent leaves ungracefully
17Parent ungraceful leave
Host 0 will
Parent 0
- Detect the leave via hello
- When the leave is detected
- 1. Ask other parents for rejoin
- (can use extra control plane)
- 2. ask for retransmission of
- missing video packets
- 3. If things dont work well, rejoin through
server. - -gt explicit leave message to
- host 0s children
Parent 1
Host 0
Parent 2
Child
Child
18Local retransmission
When
A video packet is lost
A parent host leaves
I am happy.
I missed a packet. Lets choose a parent to ask
for it
19Outline
- Introduction
- Internet multicast
- Peer-to-peer multicast
- Our overlay multicast system
- Cross layer approach
- An overall system architecture
- Operation of the protocol
- Simulation setup results
- Conclusion future work
20Simulation setup - source
- Video source peer
- video stream (encoded by H.264 with SP/SI frames)
- Video rate 676Kbps
- Parent candidate list size 5 number of trees
( tentative ) - Number of trees gt 1 ( equal bit rate per tree )
- Starts streaming on simulation beginning
- Distributes video packet to trees in round robin
- Host characteristics
- Resides in the middle of the network
- Uplink bandwidth 5Mbps (support 7 children in
case of one tree)
21Simulation setup - receiver
- Video receiver
- Resides on the edge of the network
- Uplink bandwidth 1Mbps 4Mbps (access bw
distribution) - Downlink bandwidth uplink bandwidth 3
- Heterogeneous access networks DSL, dialup/cable
modem, LAN - Repeat of join and ungraceful leave
(scheduled for each receiver)
High join rate (1 / sec)
Off
On
Low leave rate(0.03/sec)
22NAM Snapshot (100 nodes)
23Performance evaluation
- Protocol states
- Join time, first tree min 0.2 s , max 0.4 s
- Leave detection min 1.8 s , max 2.1 s
- Re-join time min 1.0 s , max 1.2 s
- (since last video packet received)
Simulations over ns-2 Number of hosts
40 Playout deadline 1 sec Number of trees
4 Average bandwidth 2video Minimum online
length 10s
24Influence of the bandwidth
- Average bandwidth
- 1.1 Mbps
Average bandwidth 1.3 Mbps
Average bandwidth 1.5 Mbps
Sequence rate 676 kbps Playout deadline 1
sec Number of hosts 40 Length of simulation 60s
25Average tree heights (active peers only)
26Simulation overhead (CPU usage)
27Protocol overhead (additional traffic)
28Video quality over all peers
29Video quality vs the number of trees
30Conclusion Future work
- Design and implementation of
- Building and maintaining of variable multiple
trees - Parent / child leave detection rejoin procedure
- Implementation of a simple retransmission
functionality - Heterogeneous receiver setup based on real
statistics - Testbed design tool
- Future work
- Design more realistic simulations
- Optimization of the timer expiration interval for
each protocol state - Improve retransmission mechanism
- Distortion optimized scheduling
- Comparison with other schemes
31Acknowledgement
- Work done as an independent study with Prof.
Bernd Girod - I thank Prof. Bernd Girod for
- introducing such an interesting topic and
- a feedback on the first stage report
- I thank Eric Setton for
- his valuable collaboration on code integration
and - uncountable discussions on simulation results and
project progress - Thank all of you for attending the meeting for
this talk
32Additional Slides
- Mbone map
- End System Multicast Mechanism
- CoopNet Mechanism
- Local retransmission details
- Simulation Setup edge link bandwidth
- Etc.
33The topology of the Mbone
May, 1994
34Mbone map (as of July 1993)
Existing research based on peer-to-peer
35End System Multicast
Unicast (server-client)
- Developed at CMU (Proceedings of ACM SIGMETRICS,
2000) - NARADA protocol
- Single tree, on top of mesh topology
- Simulation and internet experiment are performed
- We can download their client program at
http//esm.cs.cmu.edu/
Overlay multicast
36CoopNet (MS)
- Centralized tree construction
37Source peer
- Decides the number of distribution trees
- Keeps a member list (potentially not accurate)
- Member list updates when
- A new host reports attachment
- A host informs of explicit leave
- A child of a parent leaving ungracefully reports
the leave - Server does its best to keep it updated with
smallest effort - Responds to host join request
- Distributes video to its direct children
38Other peers
- As an active peer ( client in server-client model
) - Join / leave a session
- Detect parent leave and react
- Send hello messages to parents
- As a passive peer ( like a server )
- React to hello messages
- Forward video on attachment request
- Discard a child if no more hello messages arrive
- Note
- More burden on receivers than on server
- Common in high-performance clients
39Join procedure - philosophy
- Centralized vs. Distributed Algorithm
- Whether a server maintains a tree topology
- Subtle meaning of distributed
- Who should a new host contact?
- Hybrid p2p server
- Pure p2p peers
- How to maintain a membership list
- Examples
- Microsoft a dedicated server (e.g. Napster)
- CMU bootstrapping (e.g. Gnutella)
- Our choice
- Distributed tree construction with video source
for initial contact
40Leave Protocol What to do
SERVER
Discards a leaving host from the list
Discards the child from forwarding Table
Parent
- Sends Leave message to its children
Recursively - Rejoin
Child
41Local Retransmission
- Request Generation
- Requestee Selection
- Sending Scheduling of request packet
- Request Processing
- Request Reply Processing
42Hello protocol
APPROACH 2
lt Tree 0 gt
Parent
Hello
Hello Reply
Child
Child
43Simulation Setup edge link bandwidth
44Hello packet interarrival (sample trace)
45Simulation topics
- (X)PSNR vs tree count
- (O)PSNR vs peers
- (X)Tree height vs PSNR
- (X)Video packet interarrival Time
- (O) peers vs average tree height
- (O)PSNR vs tree count 118 (for a group of 300
nodes only) - (X)Hello packet interarrival over simulation time
- (O)CPU time vs peers
- (O) abundant group vs starving group
- (planned) comparison of jitter w/ packetization
- (O)Control overhead
46Algorithms evaluation via Simulation
- Member selection Algorithm (for server) on join
request - Parent candidates selection Algorithm (for
receiver) - Jointly (for initial join) , individually
- Multiple tree counts selection Algorithm (for
server) - Factors topology type, RTT distribution,
session group size - Rejoin Algorithm (for receiver)
- Retransmission Request / Reply routine