1 / 19

Jeonghun Noh Eric Setton Professor Bernd Girod

Design and Implementation of OverLay Multicast Tree Protocol. Jeonghun Noh Eric Setton Professor Bernd Girod. Outline. Paper Survey Protocol design JOIN LEAVE HELLO PARENT UNGRACEFUL LEAVE Protocol State diagram for a single tree Conclusion. Paper survey.

Download Presentation

Jeonghun Noh Eric Setton Professor Bernd Girod

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design and Implementation of OverLay Multicast Tree Protocol Jeonghun Noh Eric Setton Professor Bernd Girod

  2. Outline • Paper Survey • Protocol design • JOIN • LEAVE • HELLO • PARENT UNGRACEFUL LEAVE • Protocol State diagram for a single tree • Conclusion

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Join Protocol – 6 way Handshaking JOIN REQUEST PROBE ATTACH SERVER PARENT CANDIDATES PARENT New Host

  9. Leave Protocol – Explicit Leave SERVER Parent Leaving Host Child Child

  10. Leave 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 ( to the server) Child

  11. 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?)

  12. Hello Protocol APPROACH 2 < Tree 0 > Parent Hello Hello Reply Child Child

  13. 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

  14. On Parent Ungraceful Leave Parent 0 Parent 1 Host 0 will… Hello No Reply • Report ‘Parent Leave’ to the Server • Join Request to the other Parents • ‘Leave notice’ to Child Host 0 Parent 2 Child Child

  15. Overall Protocol Architecture (single tree) User command Timer expires Natural flow JOIN Join Command PROBE OFFLINE LEAVE command ONLINE ATTACH HELLO

  16. NAM Snapshot

  17. Simulation Setup - server • 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?

  18. Simulation Setup - 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 : • 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) High join rate (1 / sec) Off On Low leave rate(20/sec)

  19. Conclusion • Design and implementation of • 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

More Related