On Feasibility of P2P On-Demand Streaming via Empirical VoD User ...


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Mentions PPLive server saving
  • 96.5%
  • May 12, 2008. A total of 182544 peers are recorded. The average rate of a peer downloading from the server is 32Kbps and 352Kbps from the neighbor peers. On the other hand, the average upload rate of a peer is about 368Kbps. The average server loading during this one-day measurement period is about 8.3%.
  • Permanent connection
  • Why BitTorrent has less saving than window-based? Client-server thread kicks in
  • In our testbed, there are lots of ISPs. In a normal situation, we should expect lower redundancy.
  • On Feasibility of P2P On-Demand Streaming via Empirical VoD User ...

    1. 1. Bo Liu, Bin Chang, Ben Gotow, Yi Cui, Yuan Xue V anderbilt A dvanced Net work and S ystems Group Vanderbilt University, USA Presenter: Bin Chang, YouTube Inc. BitTube: Case Study of a Web-based Peer-Assisted Video-on-Demand (VoD) System
    2. 2. Outline <ul><li>Motivation </li></ul><ul><ul><li>Internet Video </li></ul></ul><ul><ul><li>Can P2P Help? </li></ul></ul><ul><ul><li>On-demand P2P Streaming </li></ul></ul><ul><li>BitTube Design </li></ul><ul><li>BitTube Implementation </li></ul><ul><li>Results </li></ul>
    3. 3. Motivation <ul><li>Internet Video </li></ul><ul><ul><li>Video streams served increased 38.8% in 2006 to 24.92 billion (Source: AccuStream iMedia Research) </li></ul></ul><ul><ul><li>53 web-video startup in 2006 (US), $521M VC funding (Source: DowJones VentureOne) </li></ul></ul><ul><ul><li>Major studio goes into Web Video </li></ul></ul><ul><ul><li>$410M video ads revenue in 2006 and grow by 89% in 2007 (0.6% of $74B TV ad market, Internet ads $16.4B in 2006, expect to grow 19% in 2007) [source: Emarketer] </li></ul></ul><ul><li>Operating Cost </li></ul><ul><ul><li>Hosting, storage, infrastructure, management… </li></ul></ul><ul><ul><li>Bandwidth Subscription </li></ul></ul>
    4. 4. Can P2P Help? <ul><li>Successful Track Record in Broadcasting and Live Streaming </li></ul><ul><li>Challenges in On-demand Streaming </li></ul><ul><ul><li>Peer Aggregation : a number of peers access the same media file simultaneously </li></ul></ul><ul><ul><li>Key Factors Enabling Peer Aggregation </li></ul></ul><ul><ul><ul><li>High Access Rate </li></ul></ul></ul><ul><ul><ul><ul><li>Skewed File Popularity </li></ul></ul></ul></ul><ul><ul><ul><li>Short Inter-arrival Time </li></ul></ul></ul><ul><ul><ul><ul><li>Concentrated Requests </li></ul></ul></ul></ul><ul><ul><ul><li>Long Online Duration </li></ul></ul></ul><ul><ul><ul><ul><li>Sustained Peer Mass </li></ul></ul></ul></ul>
    5. 5. On-demand P2P Streaming <ul><li>Theoretical Study </li></ul> request rate T Movie Length S Playback Time W Buffer Length Request interarrival time = Buffer Length Request Interarrival Time = Buffer Length Yi Cui, Baochun Li, and Klara Nahrstedt, oStream: Asynchronous Streaming Multicast in Application-Layer Overlay Networks, IEEE Journal on Selected Areas in Communications, Special Issue on Recent Advances in Service Overlays, 2004. Sequential Access Random Access
    6. 6. On-demand P2P Streaming <ul><li>Trace Study </li></ul><ul><ul><li>Traces from the on-demand service of MSN Video </li></ul></ul><ul><ul><ul><li>9-month period: April – December 2006 </li></ul></ul></ul><ul><ul><ul><li>520M streaming requests </li></ul></ul></ul><ul><ul><ul><li>59,000 unique videos </li></ul></ul></ul><ul><ul><li>With the aid of P2P streaming (greedy prefetch policy) </li></ul></ul><ul><ul><ul><li>Server Bandwidth Reduction from 2.20Gbps to 79 Mbps on December 2006 </li></ul></ul></ul><ul><ul><li>Studio Produced Content </li></ul></ul><ul><ul><ul><li>Bitrate: 200 kbps in April 2006, 320 kbps in December 2006 </li></ul></ul></ul><ul><ul><ul><li>Duration: 5 to 60 minutes </li></ul></ul></ul>Cheng Huang, Jin Li, and Keith Ross, Can Internet Video-on-Demand Be Profitable?, ACM SIGCOMM, August 2007, Kyoto, Japan
    7. 7. Peer-Assisted On-demand P2P Streaming <ul><li>P2P solutions can greatly reduce server load, hence the bandwidth subscription budget </li></ul><ul><ul><li>Proved by theoretical analysis and trace study </li></ul></ul><ul><ul><li>Commercial Deployment: PPLive </li></ul></ul><ul><ul><ul><li>Server load reduction 91.7% on May 12, 2008 </li></ul></ul></ul><ul><li>However, P2P cannot replace server, but only complement it </li></ul><ul><ul><li>Skewed Video Popularity </li></ul></ul><ul><ul><ul><li>Unpopular videos are more likely to be only possessed by the server </li></ul></ul></ul><ul><ul><li>Peer Population Fluctuation </li></ul></ul><ul><ul><ul><li>At the beginning, a new video is only available the server, then distributed to peers one by one </li></ul></ul></ul><ul><ul><li>Alternative Viewpoint </li></ul></ul><ul><ul><ul><li>Server can be regarded as super peer or seed </li></ul></ul></ul>
    8. 8. Outline <ul><li>Motivation </li></ul><ul><li>BitTube Design </li></ul><ul><ul><li>Design Rationales </li></ul></ul><ul><ul><li>Architecture </li></ul></ul><ul><ul><li>User Request Flow </li></ul></ul><ul><li>BitTube Implemetation </li></ul><ul><li>Results </li></ul>
    9. 9. Design Rationales <ul><li>Minimum Interruption to Current Internet Video Infrastructure </li></ul><ul><ul><li>Web-based platform should stay uninterrupted </li></ul></ul><ul><ul><ul><li>Massive Video Archive </li></ul></ul></ul><ul><ul><li>Adopt the most commonly-accepted P2P Technique </li></ul></ul><ul><ul><ul><li>Our choice: BitTorrent </li></ul></ul></ul><ul><ul><li>Retain usability of the current Internet video service </li></ul></ul><ul><ul><ul><li>Click-to-view </li></ul></ul></ul>
    10. 10. BitTube Architecture Server User Web Browser Video Server Flash Player video Request video Tracker BitTube Desktop BitTorrent Tracker Local HTTP Module Downloading Stub P2P Module Client/Server Module Peer List video Other Peers Request
    11. 11. Request and Data Flow Downloading stub Other Peers Web Browser Flash Player Local HTTP Module P2P Module Client/Server Module BitTorrent Tracker Video Server Request is formatted as http://localhost/ video URL/ torrent URL video URL torrent URL peer list request peer list HTTP/1.1 content-range entity-header feature enables it to request a particular piece of the file piece request video Local HTTP process reassembles the collected pieces into the complete video file
    12. 12. Service Confederation <ul><li>Required changes to existing video service </li></ul><ul><ul><li>Video URL Modification </li></ul></ul><ul><ul><li>Torrent File Creation </li></ul></ul>P2P Network BitTorrent Tracker
    13. 13. Screen Shot
    14. 14. Outline <ul><li>Motivation </li></ul><ul><li>BitTube Design </li></ul><ul><li>BitTube Implementation </li></ul><ul><ul><li>BitTorrent Overview </li></ul></ul><ul><ul><li>From BitTorrent to BitTube </li></ul></ul><ul><ul><ul><li>Locality-awareness </li></ul></ul></ul><ul><ul><ul><li>Window-based Approach </li></ul></ul></ul><ul><li>Results </li></ul>
    15. 15. BitTorrent Protocol <ul><li>De facto Protocol for P2P File Downloading </li></ul><ul><li>First software BitTorrent </li></ul><ul><ul><li>Author: Bram Cohen </li></ul></ul><ul><ul><li>Development Time: Summer 2002 </li></ul></ul><ul><ul><li>Released as open source </li></ul></ul><ul><li>Many BitTorrent-compliant Softwares </li></ul><ul><li>Writing BitTorrent-compliant Software </li></ul><ul><ul><li>Stable open source code </li></ul></ul><ul><ul><li>Interoperability with existing P2P Softwares </li></ul></ul><ul><ul><li>No overlay structure needed </li></ul></ul><ul><ul><ul><li>Highly dynamic P2P group </li></ul></ul></ul><ul><ul><ul><ul><li>Many Abandoned Sessions </li></ul></ul></ul></ul><ul><ul><ul><li>Distribution of small files </li></ul></ul></ul>
    16. 16. BitTorrent Overview <ul><li>A File is divided into pieces </li></ul><ul><ul><li>Torrent </li></ul></ul><ul><ul><li>Tracker </li></ul></ul><ul><ul><li>Swarm </li></ul></ul><ul><li>Key Functions </li></ul><ul><ul><li>Tracker </li></ul></ul><ul><ul><ul><li>Neighbor selection </li></ul></ul></ul><ul><ul><li>Choker </li></ul></ul><ul><ul><ul><li>Optimistic Unchoking </li></ul></ul></ul><ul><ul><li>Piece Picker </li></ul></ul><ul><ul><ul><li>Rarest-First Policy </li></ul></ul></ul>
    17. 17. BitTorrent: Piece Picker <ul><li>Rarest-first Policy </li></ul><ul><ul><li>Executed among unchoked peers </li></ul></ul><ul><ul><li>Piece with the minimum interest value is chosen </li></ul></ul><ul><ul><ul><li>Interest value: the number of peers possessing this piece </li></ul></ul></ul><ul><ul><ul><li>Tie is broken arbitrarily if multiple pieces with the minimum interest value exist </li></ul></ul></ul><ul><ul><li>Distribute the rarest pieces </li></ul></ul><ul><ul><ul><li>Help promote the piece diversity of all peers </li></ul></ul></ul>1 2 1 3 4 2 1 3 2 Downloaded piece Undownloaded piece Piece chosen by the policy 1 Interest value Video File
    18. 18. BitTorrent to BitTube <ul><li>BitTorrent Limitations </li></ul><ul><ul><li>Lack of Locality-awareness </li></ul></ul><ul><ul><ul><li>Excessive amount of inter-ISP traffic </li></ul></ul></ul><ul><ul><ul><ul><li>A main reason why many ISPs block or throttle BitTorrent traffic </li></ul></ul></ul></ul><ul><ul><ul><li>Unnecessary Long-haul end-to-end connections </li></ul></ul></ul><ul><ul><ul><ul><li>Certain pieces can often be retrieved from near-by peers </li></ul></ul></ul></ul><ul><ul><li>No Support for Video Streaming </li></ul></ul><ul><ul><ul><li>Rarest-first policy disregards positions of pieces in video playback </li></ul></ul></ul><ul><li>BitTube implementations </li></ul><ul><ul><li>Embedding locality-awareness into key operations of BitTorrent </li></ul></ul><ul><ul><ul><li>Tracker, choker, and piece picker </li></ul></ul></ul><ul><ul><li>A window-based approach to support “viewing-while-downloading” feature </li></ul></ul><ul><ul><ul><li>Bitos, BASS, Toast, BitTorrent DNA </li></ul></ul></ul>
    19. 19. Can BitTube Run Inside a Browser? <ul><li>BitTube as a standalone software </li></ul><ul><ul><li>Language: C++ </li></ul></ul><ul><ul><li>Binary code: 70 KB </li></ul></ul><ul><ul><li>Lifetime: as long as the user does not close it </li></ul></ul><ul><li>BitTube embedded in browsers </li></ul><ul><ul><li>Firefox Extension </li></ul></ul><ul><ul><ul><li>Lifetime: as long as the browser runs </li></ul></ul></ul><ul><ul><li>Other Options </li></ul></ul><ul><ul><ul><li>Active X </li></ul></ul></ul><ul><ul><ul><ul><li>User Confirmation Required </li></ul></ul></ul></ul><ul><ul><ul><li>Java Applet </li></ul></ul></ul><ul><ul><ul><ul><li>Redeveloping with Java </li></ul></ul></ul></ul><ul><ul><ul><li>Lifetime: as long as the user stays in the website </li></ul></ul></ul><ul><ul><ul><ul><li>Invisible Frame: A trick to make BitTube run longer inside a browser </li></ul></ul></ul></ul>
    20. 20. Piece Picker Locality <ul><li>Locality-first Policy </li></ul><ul><ul><li>Piece with the minimum distance value is chosen </li></ul></ul><ul><ul><ul><li>Distance value: the average distance of all peers possessing this piece </li></ul></ul></ul><ul><ul><ul><li>Distance value is passed down in the peer list from the tracker </li></ul></ul></ul><ul><ul><ul><li>Tie is broken arbitrarily </li></ul></ul></ul>2 1 3 3 1 1 2 3 1 Downloaded piece Undownloaded piece Piece chosen by the policy 2 Distance value Video File
    21. 21. Window-based Piece Picker <ul><li>Adapting BitTorrent to video streaming </li></ul><ul><ul><li>Piece selection restrained within the playback window </li></ul></ul><ul><ul><li>Enable Viewing while downloading </li></ul></ul><ul><ul><li>How to advance the playback window </li></ul></ul><ul><ul><ul><li>Automatically pushed forward when the leftmost piece is downloaded </li></ul></ul></ul><ul><ul><ul><li>If the advancement falls behind the playback </li></ul></ul></ul><ul><ul><ul><ul><li>The left-most piece is downloaded by the client-server thread </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Streaming rate information is needed </li></ul></ul></ul></ul>2 1 3 3 1 1 2 3 Downloaded piece Undownloaded piece Piece chosen by the policy 2 Distance value Video File Playback Window 1 Interest value 1 2 1 3 4 2 1 3 Video File Playback Window
    22. 22. Outline <ul><li>Motivation </li></ul><ul><li>BitTube Design </li></ul><ul><li>BitTorrent Implementation </li></ul><ul><li>Results </li></ul><ul><ul><li>Experimental Setup </li></ul></ul><ul><ul><li>Server load reduction </li></ul></ul><ul><ul><li>User Experience </li></ul></ul><ul><ul><li>Locality-Related Results </li></ul></ul><ul><ul><li>Impact to ISPs </li></ul></ul>
    23. 23. Experimental Setup <ul><li>PlanetLab testbed </li></ul><ul><ul><li>BitTube deployed on 200 nodes </li></ul></ul><ul><ul><li>Two PC machines at VANETS lab </li></ul></ul><ul><ul><ul><li>video server and tracker </li></ul></ul></ul><ul><ul><ul><li>Intel Xeon 2.80GHz CPU, RedHat Linux </li></ul></ul></ul><ul><ul><li>10 minutes seeding time </li></ul></ul><ul><ul><li>Piece-level traces recorded at each PlanetLab node </li></ul></ul><ul><ul><ul><li>Sequence number, receiving time, IP of source peer </li></ul></ul></ul><ul><li>Test Video File </li></ul><ul><ul><li>Flash File downloaded from YouTube </li></ul></ul><ul><ul><li>Requested 53165 times from 18:18:33 to 22:31:59 on September 5, 2007 </li></ul></ul><ul><ul><ul><li>Average 1.5 requests per second </li></ul></ul></ul><ul><ul><li>59MBytes and lasts 28 minutes 28 seconds </li></ul></ul><ul><ul><ul><li>Original file is 7.5 Mbytes and lasts 3 minues 10 seconds </li></ul></ul></ul>
    24. 24. Experimental Setup <ul><li>What results do we want to obtain? </li></ul><ul><ul><li>Server Load </li></ul></ul><ul><ul><li>User Experience </li></ul></ul><ul><ul><li>Impact on ISPs </li></ul></ul><ul><ul><li>Peer Contributions </li></ul></ul><ul><li>Interplaying of Design Goals </li></ul><ul><ul><li>Original design goals in BitTorrent </li></ul></ul><ul><ul><li>Locality-awareness </li></ul></ul><ul><ul><li>Window-based </li></ul></ul>
    25. 25. Server Load <ul><li>Server Load Reduction </li></ul><ul><ul><li>Average time length per piece </li></ul></ul><ul><ul><ul><li>4.25 seconds </li></ul></ul></ul><ul><ul><li>BitTorrent (unlimited window size) </li></ul></ul><ul><ul><ul><li>91.8% </li></ul></ul></ul><ul><ul><li>Window-based approach (window size = 20 pieces) </li></ul></ul><ul><ul><ul><li>Rarest-first policy </li></ul></ul></ul><ul><ul><ul><ul><li>94.5% </li></ul></ul></ul></ul><ul><ul><ul><li>Piece-picker Locality </li></ul></ul></ul><ul><ul><ul><ul><li>89.6% </li></ul></ul></ul></ul><ul><ul><ul><li>Choker Locality </li></ul></ul></ul><ul><ul><ul><ul><li>85.3% </li></ul></ul></ul></ul><ul><ul><ul><li>Tracker Locality </li></ul></ul></ul><ul><ul><ul><ul><li>83.5% </li></ul></ul></ul></ul>
    26. 26. Server Load per Peer Piece picker locality (window size = 20 pieces) BitTorrent (unlimited window size) Rarest-first Policy (window size = 20 pieces) <ul><li>The more self-supporting peers, the greater the server load reduction </li></ul>
    27. 27. User Experience: Interruption <ul><li>Aggregate Interruption Time </li></ul><ul><ul><li>Interruption stage is triggered if any piece is missing in playback </li></ul></ul><ul><ul><li>Aggregate interruption time is the summation of time lengths of all interruptions experienced by the peer </li></ul></ul><ul><li>80% peers have no interruptions </li></ul><ul><li>10% peers have interruptions less than 100 seconds </li></ul>BitTorrent (unlimited window size) Choker Locality (window size = 20 pieces) Picker Locality (window size = 20 pieces) Tracker Locality (window size = 20 pieces)
    28. 28. Locality-Related Results <ul><li>Minimum AS Hop Strategy </li></ul><ul><ul><li>Each peer finds from previously-joined peers the one with the minimum AS hop as its parent </li></ul></ul><ul><ul><ul><li>Result: a minimum spanning tree without degree constraint </li></ul></ul></ul><ul><ul><li>Optimal P2P Strategy to minimize the total number of AS hops </li></ul></ul><ul><ul><li>Serve as the baseline strategy against which other realistic strategies are evaluated </li></ul></ul>ISP A ISP B ISP C 1 5 2 3 4 6 8 7
    29. 29. AS Hop Count BitTorrent (unlimited window size) Choker Locality (window size = 20 pieces) Picker Locality (window size = 20 pieces) Tracker Locality (window size = 20 pieces) Minimum AS Hop <ul><li>Average AS Hop Count </li></ul><ul><ul><li>Average value of AS hop counts traveled by all pieces download by each peer </li></ul></ul><ul><li>Minimum AS Hop Strategy </li></ul><ul><ul><li>Half the peers cause 0 AS hop count </li></ul></ul><ul><li>Tracker Locality has the shortest AS hop count </li></ul>
    30. 30. Redundancy <ul><li>Redundancy </li></ul><ul><ul><li>Number of times a piece has to enter an ISP until all peers in the ISP finish their downloading </li></ul></ul><ul><ul><li>Lowest value is 1 </li></ul></ul><ul><ul><li>Highest value is the number of peers in the ISP </li></ul></ul><ul><li>Normalized Redundancy </li></ul><ul><ul><li>Redundancy normalized by number of peers </li></ul></ul><ul><li>Less than 80 ISPs are involved </li></ul>BitTorrent (unlimited window size) Choker Locality (window size = 20 pieces) Picker Locality (window size = 20 pieces) Tracker Locality (window size = 20 pieces) Minimum AS Hop
    31. 31. Peer Contribution BitTorrent (unlimited window size) Choker Locality (window size = 20 pieces) Picker Locality (window size = 20 pieces) Tracker Locality (window size = 20 pieces) Minimum AS Hop <ul><li>Sorted list of peers based on the number of bytes they have uploaded during the experiment </li></ul><ul><li>Tracker Locality has the most uneven distribution of peer contribution </li></ul><ul><li>Original BitTorrent and choker locality give the most even distribution of peer contribution </li></ul><ul><li>Minimum AS hop strategy only makes a few peers contribute </li></ul><ul><li>Unevenness of peer contribution is obvious across all policies </li></ul>
    32. 32. Number of Supplying Peers <ul><li>Sorted list of peers based on the number of supplying peers they have got pieces from during the downloading </li></ul><ul><li>Tracker Locality allows the least number of supplying peers </li></ul><ul><li>Original BitTorrent allows the most number of supplying peers </li></ul><ul><li>Minimum AS hop always allow only one supplying peer </li></ul>BitTorrent (unlimited window size) Choker Locality (window size = 20 pieces) Picker Locality (window size = 20 pieces) Tracker Locality (window size = 20 pieces)
    33. 33. Summary <ul><li>A P2P solution to complement the current Internet video service </li></ul><ul><ul><li>Motivation: saving bandwidth cost </li></ul></ul><ul><ul><li>Design Considerations: Minimum interruption to existing infrastructure </li></ul></ul><ul><ul><li>PlanetLab experiment shows great server load reduction without sacrificing user experience </li></ul></ul><ul><li>Accommodating BitTorrent to locality-awareness and streaming applications </li></ul><ul><ul><li>Less randomness are likely to shrink server load saving and cause more uneven peer contribution </li></ul></ul><ul><ul><li>But the cost saving is still significant </li></ul></ul><ul><ul><ul><li>Worst performance: 83.5% saving (tracker locality) </li></ul></ul></ul><ul><ul><ul><li>Best performance: 94.5% saving (window-based rarest-first policy) </li></ul></ul></ul>