P2P Streaming - Part-1: Native Multicast,


Published on

  • Be the first to comment

  • Be the first to like this

P2P Streaming - Part-1: Native Multicast,

  1. 1. P2P Streaming - Part-1: Native Multicast, End-System Multicast, and intro to P2P-Streaming CS 7270 Networked Applications & Services Lecture-12
  2. 2. Reading-1 <ul><li>“ Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast” by J. Liu et al. </li></ul><ul><li>Very nicely written tutorial </li></ul><ul><li>To appear at IEEE Proceedings this year </li></ul><ul><li>Based on (highly influential) ESM project from Hui Zhang’s group at CMU </li></ul><ul><li>Hui’s slides: http:// www.cs.cmu.edu/~hzhang/Talks/ESMPrinceton.pdf </li></ul>
  3. 3. Reading-2 <ul><li>“ Insights into PPLive: A Measurement Study of a LargeScale P2P IPTV System” by X. Hei et al. </li></ul><ul><li>PPLive: one of the most popular P2Pstreaming systems, mostly used for Chinese TV shows </li></ul><ul><li>Very little known about system architecture </li></ul><ul><li>The paper attempts a measurement-based reverse engineering study </li></ul>
  4. 4. Basics <ul><li>PPLive: free P2P-based IPTV </li></ul><ul><li>As of January 2006, the PPLive network provided 200+ channels with 400,000 daily users on average. </li></ul><ul><li>The bit rates of video programs mainly range from 250 Kbps to 400 Kbps with a few channels as high as 800 Kbps. </li></ul><ul><li>The video content is mostly feeds from TV channels in Mandarin. </li></ul><ul><li>The channels are encoded in two video formats: Window Media Video (WMV) or Real Video (RMVB). </li></ul><ul><li>The encoded video content is divided into chunks and distributed to users through the PPLive P2P network. </li></ul>
  5. 5. System architecture
  6. 6. <ul><li>Cached contents can be uploaded to other peers watching the same channel. </li></ul><ul><li>This peer may also upload cached video chunks to multiple peers. </li></ul><ul><li>Received video chunks are reassembled in order and buffered in queue of PPLive TV engine, forming local streaming file in memory. </li></ul><ul><li>When the streaming file length crosses a predefined threshold, the PPLive TV engine launches media player, which downloads video content from local HTTP streaming server. </li></ul><ul><li>After the buffer of the media player fills up to required level, the actual video playback starts. </li></ul><ul><li>When PPLive starts, the PPLive TV engine downloads media content from peers aggressively to minimize playback start-up delay. </li></ul><ul><li>When the media player receives enough content and starts to play the media, streaming process gradually stabilizes. </li></ul><ul><li>The PPLive TV engine streams data to the media player at media playback rate. </li></ul>
  7. 7. Measurement setup <ul><li>One residential and one campus PC “watched” channel CCTV3 </li></ul><ul><li>The other residential and campus PC “watched” channel CCTV10 </li></ul><ul><li>Each of these four traces lasted about 2 hours. </li></ul><ul><li>From the PPLive web site, CCTV3 is a popular channel with a 5-star popularity grade and CCTV10 is less popular with a 3-star popularity grade. </li></ul>
  8. 8. Session durations <ul><li>Signaling versus video sessions </li></ul><ul><li>All sessions are TCP based </li></ul><ul><li>The median video session is about 20 seconds and about 10% of video sessions last for over 15 minutes or more. </li></ul>
  9. 9. Video traffic breakdown among sessions
  10. 10. Start-up delays <ul><li>Two types of start-up delay: </li></ul><ul><ul><li>the delay from when one channel is selected until the streaming player pops up; </li></ul></ul><ul><ul><li>the delay from when the player pops up until the playback actually starts. </li></ul></ul><ul><li>The player pop-updelay is in general 10-15 seconds and the player buffering delay is around 10-15 seconds. </li></ul><ul><li>Therefore, the total start-up delay is around 20 30 seconds. </li></ul><ul><li>Nevertheless, some less popular channels have a total start-up delays of up to 2 minutes. </li></ul>
  11. 11. Upload-download rates
  12. 12. Upload-download rates (cont)
  13. 13. Estimating the redundancy ratio <ul><li>It is possible to download same video blocks more than once </li></ul><ul><li>Excluding TCP/IP headers, determine total streaming payload for the downloaded traffic. </li></ul><ul><li>Utilizing video traffic filtering heuristic rule (packet size > 1200B) extract video traffic. </li></ul><ul><li>Given playback interval and the media playback speed, obtain a rough estimate of the media segment size. </li></ul><ul><li>Compute the redundant traffic by the difference between the total received video traffic and the estimated media segment size. </li></ul><ul><li>Define redundancy ratio as ratio between redundant traffic and estimated media segment size. </li></ul>
  14. 14. Dynamics of video participants
  15. 15. Peer arrivals & departures
  16. 16. Geographic distribution of peers