Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 1 Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation.

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Peer-to-Peer Streaming.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
MMCN 19 Jan 2005 Ooi Wei Tsang Peer-to-Peer Streaming.
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Multicasting in Mobile Ad-Hoc Networks (MANET)
CStream: Neighborhood Bandwidth Aggregation For Better Video Streaming Thangam Vedagiri Seenivasan Advisor: Mark Claypool Reader: Robert Kinicki 1 M.S.
Rate Distortion Optimized Streaming Maryam Hamidirad CMPT 820 Simon Fraser Univerity 1.
ZIGZAG A Peer-to-Peer Architecture for Media Streaming By Duc A. Tran, Kien A. Hua and Tai T. Do Appear on “Journal On Selected Areas in Communications,
A New Approach for the Construction of ALM Trees using Layered Coding Yohei Okada, Masato Oguro, Jiro Katto Sakae Okubo International Conference on Autonomic.
Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast J. Liu, S. G. Rao, B. Li and H. Zhang Proc. of The IEEE, 2008 Presented by: Yan Ding.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Congestion-Distortion Optimized Peer-to-Peer Video Streaming Eric Setton*, Jeonghun Noh and Bernd Girod Information Systems Laboratory Stanford University.
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Scalable Application Layer Multicast Suman Banerjee Bobby Bhattacharjee Christopher Kommareddy ACM SIGCOMM Computer Communication Review, Proceedings of.
Congestion-Aware Video Streaming over Peer-to-Peer Networks Eric Setton Information Systems Laboratory Stanford University.
CoolStreaming/DONet: A Data- driven Overlay Network for Peer- to-Peer Live Media Streaming INFOCOM 2005 Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak- Shing.
OSMOSIS Final Presentation. Introduction Osmosis System Scalable, distributed system. Many-to-many publisher-subscriber real time sensor data streams,
Application Layer Multicast
1March -05 Jiangchuan Liu with Xinyan Zhang, Bo Li, and T.S.P.Yum Infocom 2005 CoolStreaming/DONet: A Data-Driven Overlay Network for Peer-to-Peer Live.
Kyushu University Graduate School of Information Science and Electrical Engineering Department of Advanced Information Technology Supervisor: Professor.
A Real-Time Video Multicast Architecture for Assured Forwarding Services Ashraf Matrawy, Ioannis Lambadaris IEEE TRANSACTIONS ON MULTIMEDIA, AUGUST 2005.
1 An Overlay Scheme for Streaming Media Distribution Using Minimum Spanning Tree Properties Journal of Internet Technology Volume 5(2004) No.4 Reporter.
Scalable Live Video Streaming to Cooperative Clients Using Time Shifting and Video Patching Meng Guo and Mostafa H. Ammar INFOCOM 2004.
Streaming Video Gabriel Nell UC Berkeley. Outline Scalable MPEG-4 video – Layered coding method – Integrated transport-decoder buffer model RAP streaming.
Resilient Multicast Support for Continuous-Media Applications X. Xu, A. Myers, H. Zhang and R. Yavatkar CMU and Intel Corp NOSSDAV, 1997.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
P2P File Sharing Systems
Study of the Relationship between Peer to Peer Systems and IP Multicasting From IEEE Communication Magazine January 2003 學號 :M 姓名 : 邱 秀 純.
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
Introduction Widespread unstructured P2P network
Ming-Yu Jiang and Wanjiun Liao,IEEE ICC 2002 Family ACK Tree (FAT): A New Reliable Multicast Protocol for Mobile Ad Hoc Networks. Speaker : Wilson Lai.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Advanced Network Architecture Research Group 2001/11/149 th International Conference on Network Protocols Scalable Socket Buffer Tuning for High-Performance.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
ON DESIGING END-USER MULTICAST FOR MULTIPLE VIDEO SOURCES Y.Nakamura, H.Yamaguchi, A.Hiromori, K.Yasumoto †, T.Higashino and K.Taniguchi Osaka University.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Resilient Peer-to-Peer Streaming Presented by: Yun Teng.
Streaming over Subscription Overlay Networks Department of Computer Science Iowa State University.
TOMA: A Viable Solution for Large- Scale Multicast Service Support Li Lao, Jun-Hong Cui, and Mario Gerla UCLA and University of Connecticut Networking.
Impact of Topology on Overlay Multicast Suat Mercan.
Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash.
Othman Othman M.M., Koji Okamura Kyushu University 1.
Advanced Network Architecture Research Group 2001/11/74 th Asia-Pacific Symposium on Information and Telecommunication Technologies Design and Implementation.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
1 Measuring Congestion Responsiveness of Windows Streaming Media James Nichols Advisors: Prof. Mark Claypool Prof. Bob Kinicki Reader: Prof. David Finkel.
KAIS T High-throughput multicast routing metrics in wireless mesh networks Sabyasachi Roy, Dimitrios Koutsonikolas, Saumitra Das, and Y. Charlie Hu ICDCS.
A Membership Management Protocol for Mobile P2P Networks Mohamed Karim SBAI, Emna SALHI, Chadi BARAKAT.
NUS.SOC.CS5248 Ooi Wei Tsang Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang Deadlines 11 Oct: Survey Paper Due 18 Oct: Paper Reviews Due.
Peer-to-Peer Media Streaming ZIGZAG - Ye Lin PROMISE – Chanjun Yang SASABE - Kung-En Lin.
Peer to Peer Network Design Discovery and Routing algorithms
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Multicast Communications
A Comparison of RaDiO and CoDiO over IEEE WLANs May 25 th Jeonghun Noh Deepesh Jain A Comparison of RaDiO and CoDiO over IEEE WLANs.
1 FairOM: Enforcing Proportional Contributions among Peers in Internet-Scale Distributed Systems Yijun Lu †, Hong Jiang †, and Dan Feng * † University.
Accelerating Peer-to-Peer Networks for Video Streaming
Nuno Salta Supervisor: Manuel Ricardo Supervisor: Ricardo Morla
Mohammad Malli Chadi Barakat, Walid Dabbous Alcatel meeting
Host Multicast: A Framework for Delivering Multicast to End Users
Early Measurements of a Cluster-based Architecture for P2P Systems
Design and Implementation of OverLay Multicast Tree Protocol
Jeonghun Noh Sachin Deshpande* Information Systems Laboratory
Presentation transcript:

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation of Overlay Multicast Tree Protocol

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Outline 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Internet 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)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Why IP multicast isn’t popular? It’s 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)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th A 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” ----> “Do everything on edge hosts”

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Existing 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)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Outline 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Cross 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th An overall system architecture 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 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 Note : Load balance between source and other peers Common in high-performance end users

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Protocol network architecture IP UDP Overlay Multicast Layer Video Encoder Video player IP UDP Overlay Multicast Layer VIDEO SOURCE VIDEO RECEIVERS buffer

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Protocol state diagram OFFLINE JOIN PROBE ATTACH ONLINE LEAVE HELLO User command Timer expires state flow REJOIN

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Join 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Join procedure – 6 way handshaking SOURCE PARENT CANDIDATESPARENT NEW PEER JOIN REQUESTPROBE ATTACH

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Leave procedure – Explicit leave Parent Child SERVER Leaving Host

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Hello 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)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Hello protocol – timer mechanism Parent leave detection Time flow CHILD : say hello to parent PARENT : respond to child : Timer expiration points Parent leaves ungracefully Notice of parent leave 1 st no reply 2 nd no reply

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Parent ungraceful leave Parent 0 Child Hello No Reply Host 0 will… Parent 1 Parent 2 Host 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 don’t work well, rejoin through server. -> explicit leave message to host 0’s children

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Local retransmission A video packet is lost A parent host leaves When… Other Peers I missed a packet. Let’s choose a parent to ask for it I am happy.

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Outline 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Simulation 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 >= 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)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Simulation 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) OnOn Off High join rate (1 / sec) Low leave rate(0.03/sec)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th NAM Snapshot (100 nodes)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Performance evaluation Protocol states: –Join time, first tree min: 0.2 s, max: 0.4 s –Leave detectionmin: 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 secNumber of trees: 4 Average bandwidth: 2*videoMinimum online length: 10s

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Influence of the bandwidth Average bandwidth 1.1 Mbps Sequence rate: 676 kbpsPlayout deadline: 1 sec Number of hosts: 40Length of simulation: 60s Average bandwidth 1.3 Mbps Average bandwidth 1.5 Mbps

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Average tree heights (active peers only)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Simulation overhead (CPU usage)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Protocol overhead (additional traffic)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Video quality over all peers

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Video quality vs the number of trees

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Conclusion & 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Acknowledgement 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Additional Slides Mbone map End System Multicast Mechanism CoopNet Mechanism Local retransmission details Simulation Setup – edge link bandwidth Etc.

Design and Implementation of Overlay Multicast Tree Protocol June 17 th The topology of the Mbone May, 1994

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Mbone map (as of July 1993) Existing research based on peer-to-peer

Design and Implementation of Overlay Multicast Tree Protocol June 17 th End System Multicast 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 Unicast (server-client) Overlay multicast

Design and Implementation of Overlay Multicast Tree Protocol June 17 th CoopNet (MS) Centralized tree construction

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Source 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Other 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Join 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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Leave Protocol – What to do Parent Child SERVER Discards a leaving host from the list Discards the child from forwarding Table -Sends ‘Leave message’ to its children ‘Recursively’ -Rejoin

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Local Retransmission Request Generation –Requestee Selection –Sending & Scheduling of request packet Request Processing Request Reply Processing

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Hello protocol Parent Child Hello Hello Reply APPROACH 2

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Simulation Setup – edge link bandwidth

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Hello packet interarrival (sample trace)

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Simulation 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 1~18 (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

Design and Implementation of Overlay Multicast Tree Protocol June 17 th Algorithms 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