PPCast: A Peer-to-Peer based Video broadcast solution Presented by Shi Lu Feb. 28, 2006.

Slides:



Advertisements
Similar presentations
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Advertisements

Cooperative Overlay Networking for Streaming Media Content Feng Wang 1, Jiangchuan Liu 1, Kui Wu 2 1 School of Computing Science, Simon Fraser University.
Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming Mea Wang, Baochun Li Department of Electrical and Computer Engineering University.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
Suphakit Awiphan, Takeshi Muto, Yu Wang, Zhou Su, Jiro Katto
LightFlood: An Optimal Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
CStream: Neighborhood Bandwidth Aggregation For Better Video Streaming Thangam Vedagiri Seenivasan Advisor: Mark Claypool Reader: Robert Kinicki 1 M.S.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
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,
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.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
1 A Framework for Lazy Replication in P2P VoD Bin Cheng 1, Lex Stein 2, Hai Jin 1, Zheng Zhang 2 1 Huazhong University of Science & Technology (HUST) 2.
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.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
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.
Understanding Mesh-based Peer-to-Peer Streaming Nazanin Magharei Reza Rejaie.
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
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.
Peter Parnes, CDT1/22 Media Scaling of IP-Multicast Streams in Heterogeneous Networks Peter Parnes LTU-CDT/Marratech Roxy Workshop Media Scaling.
GnuStream: a P2P Media Streaming Prototype Xuxian Jiang, Yu Dong, Dongyan Xu, and Bharat Bhargava.
Peer-to-peer Multimedia Streaming and Caching Service by Won J. Jeon and Klara Nahrstedt University of Illinois at Urbana-Champaign, Urbana, USA.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
Department of Computer Science & Engineering The Chinese University of Hong Kong Constructing Robust and Resilient Framework for Cooperative Video Streaming.
Locality-Aware Content Distribution Danny Bickson, Dahlia Malkhi, David Rabinowitz.
# Idowu Samuel O. # Kashif Shahzad # Arif Kamal M7001E - Multimedia systems [ltu.se] ©2011.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Receiver-driven Layered Multicast Paper by- Steven McCanne, Van Jacobson and Martin Vetterli – ACM SIGCOMM 1996 Presented By – Manoj Sivakumar.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
Cluster and Grid Computing Lab, Huazhong University of Science and Technology, Wuhan, China Supporting VCR Functions in P2P VoD Services Using Ring-Assisted.
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
Developing Analytical Framework to Measure Robustness of Peer-to-Peer Networks Niloy Ganguly.
 Introduction  VoIP  P2P Systems  Skype  SIP  Skype - SIP Similarities and Differences  Conclusion.
1 P2P Computing. 2 What is P2P? Server-Client model.
End-to-end QoE Optimization Through Overlay Network Deployment Bart De Vleeschauwer, Filip De Turck, Bart Dhoedt and Piet Demeester Ghent University -
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.
1 Towards Cinematic Internet Video-on-Demand Bin Cheng, Lex Stein, Hai Jin and Zheng Zhang HUST and MSRA Huazhong University of Science & Technology Microsoft.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
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.
Tsunami: Maintaining High Bandwidth Under Dynamic Network Conditions Dejan Kostić, Ryan Braud, Charles Killian, Eric Vandekieft, James W. Anderson, Alex.
A Routing Underlay for Overlay Networks Akihiro Nakao Larry Peterson Andy Bavier SIGCOMM’03 Reviewer: Jing lu.
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
Othman Othman M.M., Koji Okamura Kyushu University 1.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
Multicast instant channel change in IPTV systems 1.
On the Optimal Scheduling for Media Streaming in Data-driven Overlay Networks Meng ZHANG with Yongqiang XIONG, Qian ZHANG, Shiqiang YANG Globecom 2006.
A Simple Model for Analyzing P2P Streaming Protocols Zhou Yipeng Chiu DahMing John, C.S. Lui The Chinese University of Hong Kong.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
A P2P-Based Architecture for Secure Software Delivery Using Volunteer Assistance Purvi Shah, Jehan-François Pâris, Jeffrey Morgan and John Schettino IEEE.
Peer-to-Peer Result Dissemination in High-Volume Data Filtering Shariq Rizvi and Paul Burstein CS 294-4: Peer-to-Peer Systems.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
CoopNet: Cooperative Networking
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
SHADOWSTREAM: PERFORMANCE EVALUATION AS A CAPABILITY IN PRODUCTION INTERNET LIVE STREAM NETWORK ACM SIGCOMM CING-YU CHU.
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Inside the New Coolstreaming: Principles, Measurements and Performance Implications Bo Li, Susu Xie, Yang Qu, Gabriel Y. Keung, Chuang Lin, Jiangchuan.
1 FairOM: Enforcing Proportional Contributions among Peers in Internet-Scale Distributed Systems Yijun Lu †, Hong Jiang †, and Dan Feng * † University.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Accelerating Peer-to-Peer Networks for Video Streaming
An example of peer-to-peer application
Ying Qiao Carleton University Project Presentation at the class:
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

PPCast: A Peer-to-Peer based Video broadcast solution Presented by Shi Lu Feb. 28, 2006

2 Outline Introduction Motivation Related work Challenges Our contributions The p2p streaming framework Overview Peer control overlay Data transfer protocol Peer local optimization Topology optimization The streaming framework: design and implementation Receiving peer software components The look-up service Deployment Experiments Empirical experience in CUHK Experiments on PlanetLab Conclusion

3 Motivation Video over Internet is pervasive today New challenge: on-line TV broadcasting fails on traditional client-server architecture  500Kbps, theoretical limitation for a 100Mbps Server is 200 concurrent users Is there any efficient way to support video broadcasting to a large group of network users?

4 Why Client/Server fail Traditional client/server solution is not scalable 3 bottlenecks  Server load The server bandwidth is the major bottleneck  Edge capacity One connection to one client The connection may degrade  End to end bandwidth Scalability?

5 Related work Peer-to-Peer file sharing system  BitTorrent, eMule, DC++  Peer collaborate with each other  Without (or with very little) need to dictated resource Why not suitable for video broadcasting?  Without in-bound rate requirement  Without real-time requirement

6 Related work Content Distribution Network (CDN)  Install a lot of dictated servers on the edge of the internet  Requests are directed to the best server  Very high cost on purchasing servers Tree based overlay  Coopnet, NICE  Rigid structure, not robust to node-failure and network condition changes Other Mesh-based systems  CoolStreaming, pplive, ppStream

7 Challenges Bandwidth  In-bound data bandwidth no less than the video rate  In-bound bandwidth should not have large fluctuation Network dynamics  Network bandwidth and latency may change  Peer nodes may leave and join at any time  Peer nodes may fail or shut down Real-time requirement  All media packets must be fetched before its playback deadline

8 Goals For each peer:  Provide satisfying in-bound bandwidth  Assign its traffic in a balanced and fair manner For the whole network:  Keep it as one-piece while peer may fail/leave  Keep the shape of the overlay from degrading  Keep the radius small

9 Outline Introduction Motivation Related work Challenges Our contributions The p2p streaming framework Overview Peer control overlay Data transfer protocol Peer local optimization Topology optimization The streaming framework: design and implementation Source peer Receiving peer software components The look-up service Deployment Experiments Empirical experience in CUHK Experiments on PlanetLab Conclusion

10 P2P based solution: Overview Collaboration between client peers Source server alleviated Better scalability Better reliability

11 Infrastructure Video source  Windows media encoder, RealProducer …  Source peer Takes content from the video streaming server and feed it to the p2p network Wrap packets, add seq no. Look-up service (tracker)  Track the peers viewing each channel  Help new peers to join the broadcast Participant peers (organized into a random graph)  Schedule and dispatch the video packets  Adapt to the network condition  Optimize the performance  Support the local video player

12 Peer join Peer join: Obtain a peer list Establish connections  Neighborhood selection Random ip matching History info Peer depth Peer performance Register its own service

13 The connection pool “ No one is reliable ”  A peer tries his best for better performance  A peer maintains a pool of active connections to peers  A peer keeps trying new peers when the incoming bandwidth is not reached  A peer keeps trying new connections after that, but in a slower manner.  Update peer list  Others may establish new connection

14 Connection pool maintenance For each connection, define connection utility  Recent bandwidth (I/O)  Recent latency  Peer depth  Peer recent progress When connections are more than  Drop several bad connections Out-rate bound Peer depth (distance to source)

15 The peer control overlay Random-graph shape  Evolving with time  Radius: will not degrade since all peers are trying to minimize its depth  Integrity: will not be broken into pieces Data transfer  The data transfer path is determined from the control overlay  Each data packet is transferred along a tree  Determined just-in-time from the control overlay

16 Data transfer protocol Receiver driven  While exchanging data, data availability information is also exchanged  The data receiver determine which block from which neighbor Driven by data distribution information  Peer knows where the missing data is  Peer issues data request to neighbors Peer synchronization  Content fetching progress

17 Data transfer protocol Data status bitmap (DSB)  Describe the data packet availability information  (1 available, 0 absent)  Foreign data status For each peer, it holds a connection to each neighbors DSB of the neighbors are embedded with the connection DSB of neighbors are frequently updated

18 Data transfer protocol Data transfer load scheduling Several factors:  Latency  Bandwidth  Data availability Connection status (busy, standby)  Data request issued (->busy)  Data arrived (->standby) Scheduling time: on data arrival  Get a packet that is recent available  Estimate the latency  The playback deadline is before the expected latency

19 Data transfer protocol Data transfer load scheduling Packet local status  Critical packet  The data packets still unavailable  The remaining time is less than t When in-bound bandwidth is ok  Check critical packet  Issue request to the fastest link When in-bound bandwidth is not ok  Do not check critical packet

20 Data transfer protocol Connection status Busy standby Data request issued data arrived When data arrive:  Measure the latency of the previous packet  Get a weighted delay  Find the packet whose playback deadline is ok for that delay  Issue request (  busy) Critical packet

21 Data transfer protocol Multicast tree  Each data packet would not go by a peer twice  For each data packet, a multicast tree is constructed  The tree is built just-in-time To adapt to the transient properties of the network links  Each data packet may have different trees

22 Neighborhood management Performance monitoring:  Measured once in every interval (e.g. 10 sec.)  Avg. in-bound data rate  Avg. out-bound data rate  Avg. data packet latency Neighborhood goodness Neighborhood number  Lower bound of Nb  Upper bound of Nb

23 Peer control protocol Data and performance While in-bound data rate is not enough While neighbor number is lower than lower bound  Establish new connections While neighbor number is higher than upper bound  Discard the worst connection  The benefit is two fold: both side release something bad.

24 Local media player support When incoming rate is satisfying Media buffer size Enough buffered data When packet not ready  Break and continue  Lose some quality  Up to the video codec Data smoothness  For one peer, in an interval  The ratio of packets that can be fetched before its deadline

25 Overlay integrity Peers may leave or fail Normal leave: notify neighbors and look-up service Abnormal leave: other will know when time-out  If one neighbor quits, a peer can still get content from other connections in the connection pool  Establish new connections if the incoming bandwidth is less than expected  Buffer size

26 Overlay integrity Peers may leave or fail The overlay shall not be broken into pieces Maintain the connectivity of the overlay Solution: Peers try to connect to neighbors with lower depth Since each peer tries to lower its depth, so the probability for (articulation) critical points to occur becomes small …… Source peer, depth = 0 depth_i = \min_{j \in neightbor_i} depth_j +1

27 Overlay integrity Playback progress difference:  Higher depth difference  higher playback progress difference  The attempt to reduce local peer depth may reduce that progress difference

28 Behind-NAT problem Some peers are running behind NAT(Network Address Translation) Other peers may not be able to actively connect to it Port mapping (need to be set by the router admin) Behind-NAT peers need some restrictions  Can only connect to peers whose depth is higher  Need to actively connect to other peers  Actively help others after its performance is ok Direct communication between behind-NAT peers?

29 Outline Introduction Motivation Related work Challenges Our contributions The p2p streaming framework Overview Peer control overlay Data transfer protocol Peer local optimization Topology optimization The streaming framework: design and implementation Receiving peer software components The look-up service Deployment Experiments Empirical experience in CUHK Experiments on PlanetLab Conclusion

30 Receiving peer software components

31 The look-up service Centralized server Register new video channels Register new peers Receive peer reports from time to time Provide peer list to new peers

32 Deployment LAN deployment  Pure java-based software  Video broadcast source (windows media encoder)  Client software on each participant machine  Look-up service  Source peer Experiment  Successfully deployed in the CSE department LAN  Planet-lab experiment

33 Benefits Low cost:  Without any extra hardware expenditure  Pure software solution Scalable: can support theoretically infinite number of users Reliable and resilient to user join/leave  Multiple connections  Intelligent content scheduling between peers  Quick adapt to the change of network conditions Solution for:  Low-cost large scale live broadcast

34 Limitations Upstream capability  Peers need to have some upstream ability to support each other  ADSL (upload power is a problem)  LAN users are just fine  Solution: higher ratio of LAN users Backbone stress  The traffic may result in stress on back bones  Example Source in China peer connections from China to US Backbone need to support connections  Solution: Traffic localization 1 stream from China to US US peers support each other

35 Outline Introduction Motivation Related work Challenges Our contributions The p2p streaming framework Overview Peer control overlay Data transfer protocol Peer local optimization Topology optimization The streaming framework: design and implementation Receiving peer software components The look-up service Deployment Experiments Empirical experience in CUHK Experiments on PlanetLab Conclusion

36 Experiments Planet-Lab  300+ nodes deployed worldwide Performance test  450kb/s streaming  Data packets: 32KB each  Static performance Start-up latency Data smoothness  Dynamic experiment Peer sojourn time is exponential distributed (unstable) All peers are unstable Overlay size:  50, 80, 120, 150, 180 ……

37 Experiments Data smoothness  The ratio of the data packets that can be fetched before its playback deadline  Determines the quality of the video playing on each client peer Influence  Peer buffer size  Peer stability

38 Static performance The impact of overlay size and peer buffer size

39 Dynamic performance The impact of peer stability The peers ’ mean sojourn time is exponentially distributed The larger the mean time is, the more stable the peers are

40 Observations More users, better performance Resilient in dynamic network environment Robust to peer join-leave More stable, better performance Bigger buffer increases performance

41 Conclusion In this presentation, we have:  Introduced the challenges in the p2p streaming system  Defined several goals that a p2p system to support real-time video broadcast  Proposed a solution for large scale p2pvideo streaming service  Discussed the design, implementation and experiments of the system Future work  Distributed look-up service  Content copyright protection (Identity authentication, data encryption)  Overlay topology control (Traffic localization)  Possible VOD system based on this infrastructure  Deal with firewalls

42 Q & A Thank you!