9/3/08 1

502 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
502
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

9/3/08 1

  1. 1. 9/3/08 P2P Video Streaming Towards an open and unified solution name: Jan David Mol date: September 8, 2008 event: IEEE P2P 2008 Tutorial Types of Streaming File Sharing Common (Off-line) Downloading Generate, then download, then view Video-on-Demand Generate, then download & view Video Streaming Live Video Streaming Generate & download & view 2 Why is streaming hard? - Real-time constraints: •  Data needed in a specific order and on time. - Bandwidth constraints: •  Download speed >= Video speed. - High user expectations: •  Users spoiled with low start-up time and no loss. •  P2P is young. - Many codecs •  Specialised codec hard to maintain. •  Desire to stay codec-agnostic (need video bitrate only). •  Not all codecs allow mid-stream hook-in (live). 3 1
  2. 2. 9/3/08 Peers on the Internet - Churn •  Network constantly changes (>100 arrivals/sec) •  Many short sessions (<1 minute) - Asymmetrical connections •  Limited upload speed •  Download speed thus often also limited (!down=!up) •  Incentive needed for uploading - Side traffic •  Unpredictable upload speed - Firewalls/NATs •  Limited connectivity 4 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms 5 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms 6 2
  3. 3. 9/3/08 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms VoD: Chaining [She97] 7 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms Live: Narada [Chu00] Scribe [Cas02] NICE [Ban03] ZigZag [Tra03] 8 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms Live: CoopNet [Pad03] SplitStream [Cas03] Orchard [Mol07] 9 3
  4. 4. 9/3/08 History 1985: IP Multicast 1997: Chaining 2000: Trees 2002: Multiple trees 2005: Swarms Live: Chainsaw [Pai05] BAR Gossip [Li06] 10 VoD: BASS [Dan05] BiToS [Vla06] (nameless) [Ann07] Give-to-Get [Mol08] BitTorrent (BT) - Meta data - Download policy - Upload policy 11 BT: Meta data Torrent file: - Generated from data - Distributed separately - Contains: •  File name, size •  Piece size •  Hash of every piece •  Location of tracker 12 4
  5. 5. 9/3/08 BT: Download policy - Need all data, order does not matter - Download rarest pieces first •  It’s what others need •  Increases data availability - Download pieces in parallel - Verify data using hashes •  Included in torrent file 13 BT: Upload policy - Unchoking: allow someone to download •  TFT-like: unchoke those who upload to you •  Unchoke top-4 fastest uploaders 14 Video-on-Demand (VoD) - Meta data - Download policy - Upload policy - Playback policy 15 5
  6. 6. 9/3/08 VoD: Meta data Torrent file: - Generated from data - Distributed separately - Contains: •  File name, size •  Piece size •  Hash of every piece •  Location of tracker •  Bitrate of video 16 VoD: Download policy - Need all data, in order order does not matter - Download rarest pieces first New policy •  It’s what others need •  Increases data availability - Download pieces in parallel - Verify data using hashes •  Included in torrent file 17 VoD: Download policy changes - Add priorities to pieces - High prio: in-order - Mid/low prio: rarest-first - Effect: •  dl speed = video speed: peer stays in high/mid priority sets •  dl speed > video speed: peer is often in low priority set 18 6
  7. 7. 9/3/08 VoD: Upload policy - Unchoking: allow someone to download - TFT-like: unchoke those who upload to you No TFT: data flows in one direction! - Unchoke top-4 fastest uploaders 19 VoD: Upload policy changes •  Serve best 4 uploaders •  Use feedback information (-- >) •  Promotes uploading •  Bad uploaders get only excess bandwidth 20 VoD: Playback policy •  Data loss not always handled well by player/codec •  Data stays available in network (assumption) •  Simple policy: stall if data not available 21 7
  8. 8. 9/3/08 Live Video Streaming - Meta data - Download policy - Upload policy - Playback policy 22 Live: Meta data Torrent file: - Generated from data dummy data - Distributed separately - Contains: •  File name, size •  Piece size •  Dummy hashes Hash of every piece •  Location of tracker 23 Live: Meta data changes - Hashes required for data verification - Hashes not known beforehand - Solution: Source signs each piece - Include public key in torrent - Sign: •  Piece data •  Piece number •  Timestamp 24 8
  9. 9. 9/3/08 Live: Download policy - Need all data, in order order does not matter - Download rarest pieces first New policy •  It’s what others need •  Increases data availability - Download pieces in parallel - Verify data using signatures hashes •  Included in torrent file pieces 25 Live: Download policy changes - Sliding window of 15 minutes, @ video speed - Download policy: •  Rarest first 26 Live: Upload policy - Unchoking: allow someone to download - TFT-like: unchoke those who upload to you - Unchoke top-4 fastest uploaders TFT works: everyone needs the same data 27 9
  10. 10. 9/3/08 Live: Playback policy •  Don’t drop always: " Neighbourhood changes " Peers may need to sync with neighbours " Sync by stalling •  Don’t stall always: " Keep offset small. " Data disappears from network. •  Mixed policy: " Stall when buffer is <50% " Drop when buffer is >50% •  Specific video format needed (MPEGTS) " To handle data loss 28 " To handle hook-in mid-stream Performance? •  Implemented in Tribler (open source) •  Global trial, 2 weeks, >7000 users •  512 Kbps live stream 29 Measured Performance •  Data loss concentrated on few peers: " Average: 6.6% " Median: 0.0% •  Peers start playing early: " Median: 3.6 s •  Others measured different trade-offs [Hei06,Xie07,Aga08] 10
  11. 11. 9/3/08 Swarm-based Algorithms Algorithm Type Cooperative BitTorrent Key feature network extension Extended BitTorrent Live - + BT integration Chainsaw [Pai05] Live + - Fast & simple BAR Gossip [Li06] Live - - Network police Give-to-Get [Mol08] VoD - + G2G Incentive BASS [Dan05] VoD + + Hybrid C-S/P2P BiToS [Vla06] VoD - + Fast & simple (nameless) [Aga08] VoD + - Highly tuned 31 Presented here Questions? 32 References (1) [Aga08] S. Agarwal, J. P. Singh, A. Mavlankar, P. Baccichet, and B. Girod. Performance and Quality-of-Service Analysis of a Live P2P Video Multicast Session on the Internet. In Proc. of the 16th IEEE Int. Workshop on Quality of Service (IwQoS), 2008. [Ann07] S. Annapureddy, S. Guha, and C. Gkantsidis. Is High-Quality VoD Feasible using P2P Swarming? In Proc. of the 16th Int. World Wide Web Conference, pages 903–911, 2007. [Ban03] S. Banerjee, S. Lee, B. Bhattacharjee, and A. Srinivasan. Resilient Multicast using Overlays. In Proc. of ACM SIGMETRICS, pages 102–113, 2003. [Cas02] M. Castro, P. Druschel, A.-M. Kermarrec, and A. Rowstron. Scribe: a large-scale and decentralized application-level multicast infrastructure. IEEE Journal on Selected Areas in Communications, 20(8):1489– 1499, 2002. [Cas03] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and A. Singh. SplitStream: High- bandwidth multicast in a cooperative environment. In Proc. of the 19th ACM Symposium on Operating Systems Principles (SOSP), pages 298–313, 2003. [Chu00] Y. Chu, S. Rao, and H. Zhang. A Case for End System Multicast. In Proc. of ACM SIGMETRICS, pages 1–12, 2000. [Dan05] C. Dana, D. Li, D. Harrison, and C.-N. Chuah. BASS: BitTorrent Assisted Streaming System for Video-on-Demand. In Proc. of the 7th Int. Workshop on Multimedia Signal Processing, pages 1–4, 2005. [Hei06] X. Hei, C. Liang, J. Liang, Y. Liu, and K. W. Ross. Insights into PPLive: A Measurement Study of a Large-scale P2P IPTV System. In Workshop on Internet Protocol TV (IPTV) Services over World Wide Web, 2006. 11
  12. 12. 9/3/08 References (2) [Hua98] K. Hua, Y. Cai, and S. Sheu. Patching: a multicast technique for true video-on-demand services. In Proc. of the 6th ACM Int. Conf. on Multimedia, pages 191–200, 1998. [Li06] H. Li, A. Clement, E. Wong, J. Napper, I. Roy, L. Alvisi, and M. Dahlin. BAR Gossip. In Proc. of the 7th USENIX Operating Systems Design and Implementation (OSDI), pages 191–206, 2006. [Mol07] J. Mol, D. Epema, and H. Sips. The Orchard Algorithm: Building Multicast Trees for P2P Video Multicasting Without Free-riding. IEEE Transactions on Multimedia, 9(8):1593–1604, 2007. [Mol08] J. Mol, J. Pouwelse, M. Meulpolder, D. Epema, and H. Sips. Give-to-Get: Free-riding-resilient Video- on-Demand in P2P Systems. In Proc. of SPIE, Multimedia Computing and Networking Conference (MMCN), volume 6818, Article 681804, 2008. [Pad03] V. Padmanabhan, H. Wang, and P. Chou. Resilient Peer-to-Peer Streaming. In Proc. of the 11th IEEE Int. Conf. on Network Protocols (ICNP), pages 16–27, 2003. [Pai05] V. Pai, K. Kumar, K. Tamilmani, V. Sambamurthy, and A. Mohr. Chainsaw: Eliminating Trees from Overlay Multicast. In Proc. of the 4th Int. Workshop on Peer-To-Peer Systems (IPTPS), pages 127–140, 2005. [She97] S. Sheu, K. Hua, and W. Tavanapong. Chaining: A Generalizing Batching Technique for Video-On- Demand Systems. In Proc. of the Int. Conf. on Multimedia Computing and Systems, pages 110–117, 1997. [Tra03] D. Tran, K. Hua, and T. Do. ZIGZAG: An Efficient Peer-to-Peer Scheme for Media Streaming. In Proc. of the 22nd IEEE INFOCOM, pages 1283–1292, 2003. [Vla06] A. Vlavianos, M. Iliofotou, and M. Faloutsos. BiToS: Enhancing BitTorrent for Supporting Streaming Applications. In IEEE Global Internet Symposium, 2006. [Xie07] S. Xie, G. Y. Keung, and B. Li. A Measurement of a Large-Scale Peer-to-Peer Live Video Streaming System. In Proc. of the IEEE Intl. Conf. on Parallel Processing Workshops, page 57, 2007. 12

×