Design and Implementation of OverLay Multicast Tree Protocol Jeonghun Noh Eric Setton Professor Bernd Girod
Outline Paper Survey Protocol design Conclusion JOIN LEAVE HELLO PARENT UNGRACEFUL LEAVE Protocol State diagram for a single tree Conclusion
Paper survey Survey of the existing research work Work by CMU, Microsoft, U. of Maryland, Etc. Architectural overview of OLM protocol Control plane Membership management : JOIN, LEAVE Data delivery Video distribution paths Identification of issues in designing OLM protocol scalability | robustness | efficiency | convergence speed
Join Protocol - philosophy Centralized vs. Distributed Algorithm Whether a server controls data distribution construction Subtle meaning of ‘distributed’ Who should a new host contact? A server or, Some hosts (using Distributed Hash Table) How to maintain a membership list Examples Microsoft : a dedicated server Others : distributed algorithm
Server in the multicast session Decides the distribution tree counts 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 best to keep it updated with smallest effort Reacts to host join Distributes video to its direct children
Receiver in the multicast session Active peer (client in server-client model) To join/leave a session To detect parent leave and react To send hello messages to parents Passive peer To react to hello messages To forward video on attachment request To discard a child if no more hello messages arrive Note : more burden on receivers than on server Common in high-performance clients
Join Protocol – Design phase [SENDER] On JoinRequest from a host How many candidates? too many : traffic overhead, long latency in joining too small : low efficiency, higher failure rate to join at one time Whom to choose? [RECEIVER] Which parent to choose? referred to as ‘parent selection algorithm’ Several metrics : depth ( from a server ) RTT ( from a server or a parent ) available bandwidth Join each tree INDEPENDENLY or in a COUPLED way
Join Protocol – 6 way Handshaking JOIN REQUEST PROBE ATTACH SERVER PARENT CANDIDATES PARENT New Host
Leave Protocol – Explicit Leave SERVER Parent Leaving Host Child Child
Leave Protocol – What to do SERVER Discards a leaving host from the list Parent Discards the child from forwarding Table Sends ‘Leave message’ to its children ‘Recursively’ Rejoin ( to the server) Child
Hello Protocol - overview Why we need this? Hosts may leave ungracefully ( UNGRACEFUL LEAVE ) Need to keep track of neighbors to check if alive Two Design Approaches [Approach 1] To every neighbor First approach we took More complex Different handling of its parent and children [Approach 2] To its parent only for each tree. Less traffic Still needs a response from its parent (why?)
Hello Protocol APPROACH 2 < Tree 0 > Parent Hello Hello Reply Child Child
Hello Protocol – timer mechanism TIMER at CHILD : 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
On Parent Ungraceful Leave Host 0 will… Parent 1 Hello Report ‘Parent Leave’ to the Server Join Request to the other Parents ‘Leave notice’ to Child No Reply Host 0 Parent 2 Child Child
Overall Protocol Architecture (single tree) User command Timer expires Natural flow JOIN Join Command PROBE OFFLINE LEAVE command ONLINE ATTACH HELLO
NAM Snapshot
Simulation Setup - server Preencoded video stream (H.264 with SP/SI frames) Resides in the middle of the network Uplink bitrate : Parent candidate counts : Tree counts : ( kbps per tree) Eric, when does the server start sending video?
Simulation Setup - receiver Resides on the edge of the network Restricted to lower uplink bitrate ( kbps supporting streams) Downlink bitrate : Uplink bitrate : Heterogeneous access networks : DSL, modem, LAN.. Repeat of Join and ungraceful leave (scheduled for each receiver) Receiver Resides on the edge of the network Restricted to lower uplink bitrate ( kbps supporting streams) Downlink bitrate : Uplink bitrate : Heterogeneous access networks : DSL, modem, LAN.. Repeat of Join and ungraceful leave : High join rate (1 / sec) On Off Low leave rate(20/sec)
Conclusion Design and implementation of Future work Building and maintaining of multiple trees JOIN & LEAVE & HELLO protocol Parent leave detection & rejoin procedure Heterogeneous receiver setup based on real statistics Detection of edge nodes in the network topology Future work Extension to multiple trees protocol Integration of video data scheduling with tree construction algorithm Optimize the timer expiration interval for each protocol state Subtree information update algorithm to support Aggregate Rate-Distortion optimized scheduling at each host Analysis of the effect of a mesh-style control plane