1 Enabling near-VoD via P2P Networks Siddhartha Annapureddy Saikat Guha, Dinan Gunawardena Christos Gkantsidis, Pablo Rodriguez World Wide Web, 2007.

Slides:



Advertisements
Similar presentations
Rarest First and Choke Algorithms are Enough Arnaud LEGOUT INRIA, Sophia Antipolis France G. Urvoy-Keller and P. Michiardi Institut Eurecom France.
Advertisements

The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Bram Cohen.
X stream Project proposal. Project goals: Students Students: Academic Supervisor Academic Supervisor: Advisors: Developing and Implementing a large scale.
On Large-Scale Peer-to-Peer Streaming Systems with Network Coding Chen Feng, Baochun Li Dept. of Electrical and Computer Engineering University of Toronto.
Kangaroo: Video Seeking in P2P Systems Xiaoyuan Yang †, Minas Gjoka ¶, Parminder Chhabra †, Athina Markopoulou ¶, Pablo Rodriguez † † Telefonica Research.
Peer-assisted On-demand Streaming of Stored Media using BitTorrent-like Protocols Authors: Niklas Carlsson & Derek L. Eager Published in: Proc. IFIP/TC6.
Lava: A Reality Check of Network Coding in Peer-to-Peer Live Streaming Mea Wang, Baochun Li Department of Electrical and Computer Engineering University.
Esma Yildirim Department of Computer Engineering Fatih University Istanbul, Turkey DATACLOUD 2013.
1 Nazanin Magharei, Reza Rejaie University of Oregon INFOCOM 2007 PRIME: P2P Receiver-drIven MEsh based Streaming.
Network Coding in Peer-to-Peer Networks Presented by Chu Chun Ngai
A Server-less Architecture for Building Scalable, Reliable, and Cost-Effective Video-on-demand Systems Jack Lee Yiu-bun, Raymond Leung Wai Tak Department.
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
CStream: Neighborhood Bandwidth Aggregation For Better Video Streaming Thangam Vedagiri Seenivasan Advisor: Mark Claypool Reader: Robert Kinicki 1 M.S.
A New Approach for the Construction of ALM Trees using Layered Coding Yohei Okada, Masato Oguro, Jiro Katto Sakae Okubo International Conference on Autonomic.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Scalable and Continuous Media Streaming on Peer-to-Peer Networks M. Sasabe, N. Wakamiya, M. Murata, H. Miyahara Osaka University, Japan Presented By Tsz.
Analysis of Using Broadcast and Proxy for Streaming Layered Encoded Videos Wilson, Wing-Fai Poon and Kwok-Tung Lo.
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.
Peer-Assisted Content Distribution Networks: Techniques and Challenges Pei Cao Stanford University.
Service Differentiated Peer Selection An Incentive Mechanism for Peer-to-Peer Media Streaming Ahsan Habib, Member, IEEE, and John Chuang, Member, IEEE.
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.
Prefix Caching assisted Periodic Broadcast for Streaming Popular Videos Yang Guo, Subhabrata Sen, and Don Towsley.
Issues in Offering Live P2P Streaming Service to Residential Users Nazanin Magharei, *Yang Guo, and Reza Rejaie Dept. of Computer and Information Science.
Exploiting Content Localities for Efficient Search in P2P Systems Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang 1 1 College of William and Mary,
Quality-Aware Segment Transmission Scheduling in Peer-to-Peer Streaming Systems Cheng-Hsin Hsu Senior Research Scientist Deutsche Telekom R&D Lab USA Los.
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.
A Row-Permutated Data Reorganization Algorithm for Growing Server-less VoD Systems Presented by Ho Tsz Kin.
A Real-Time Video Multicast Architecture for Assured Forwarding Services Ashraf Matrawy, Ioannis Lambadaris IEEE TRANSACTIONS ON MULTIMEDIA, AUGUST 2005.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
A Server-less Architecture for Building Scalable, Reliable, and Cost-Effective Video-on-demand Systems Presented by: Raymond Leung Wai Tak Supervisor:
Performance Evaluation of Peer-to-Peer Video Streaming Systems Wilson, W.F. Poon The Chinese University of Hong Kong.
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.
Tradeoffs in CDN Designs for Throughput Oriented Traffic Minlan Yu University of Southern California 1 Joint work with Wenjie Jiang, Haoyuan Li, and Ion.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 34 – Media Server (Part 3) Klara Nahrstedt Spring 2012.
# Idowu Samuel O. # Kashif Shahzad # Arif Kamal M7001E - Multimedia systems [ltu.se] ©2011.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 24 – P2P Streaming Klara Nahrstedt Ramsés Morales.
Can Internet Video-on-Demand Be Profitable? SIGCOMM 2007 Cheng Huang (Microsoft Research), Jin Li (Microsoft Research), Keith W. Ross (Polytechnic University)
Peer-To-Peer Multimedia Streaming Using BitTorrent Purvi Shah, Jehan-François Pâris University of Houston Houston, TX.
Architectures for Peer-to-Peer Content Distribution Christos Gkantsidis Microsoft Research, Cambridge, UK Joint work with: Pablo Rodriguez, John Miller,
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
1 Cache Me If You Can. NUS.SOC.CS5248 OOI WEI TSANG 2 You Are Here Network Encoder Sender Middlebox Receiver Decoder.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
DELAYED CHAINING: A PRACTICAL P2P SOLUTION FOR VIDEO-ON-DEMAND Speaker : 童耀民 MA1G Authors: Paris, J.-F.Paris, J.-F. ; Amer, A. Computer.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
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.
Scheduling P2P Multimedia Streams: Can We Achieve Performance and Robustness? Luca Abeni, Csaba Kiraly, Renato Lo Cigno DISI – University of Trento, Italy.
Epidemic Dissemination & Efficient Broadcasting in Peer-to-Peer Systems Laurent Massoulié Thomson, Paris Research Lab Based on joint work with: Bruce Hajek,
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
Peer-Assisted Content Distribution Pablo Rodriguez Christos Gkantsidis.
On the Optimal Scheduling for Media Streaming in Data-driven Overlay Networks Meng ZHANG with Yongqiang XIONG, Qian ZHANG, Shiqiang YANG Globecom 2006.
Efficient P2P Search by Exploiting Localities in Peer Community and Individual Peers A DISC’04 paper Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
On Reducing Mesh Delay for Peer- to-Peer Live Streaming Dongni Ren, Y.-T. Hillman Li, S.-H. Gary Chan Department of Computer Science and Engineering The.
NUS.SOC.CS5248 Ooi Wei Tsang 1 Proxy Caching for Streaming Media.
A simple model for analyzing P2P streaming protocols. Seminar on advanced Internet applications and systems Amit Farkash. 1.
Simulation case studies J.-F. Pâris University of Houston.
Peer-to-Peer Video Systems: Storage Management CS587x Lecture Department of Computer Science Iowa State University.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 27 – Media Server (Part 2) Klara Nahrstedt Spring 2009.
Proxy Caching for Streaming Media
Video On Demand.
Peer-to-Peer Streaming: An Hierarchical Approach
The BitTorrent Protocol
Balancing Throughput, Robustness, and In-Order Delivery in P2P VoD
Presentation transcript:

1 Enabling near-VoD via P2P Networks Siddhartha Annapureddy Saikat Guha, Dinan Gunawardena Christos Gkantsidis, Pablo Rodriguez World Wide Web, 2007

2 Motivation Growing demand for distribution of videos Distribution of home-grown videos BBC wants to make its documentaries public People like sharing movies (in spite of RIAA) Video distribution on Internet very popular About 35% of the traffic What we want? (Near) Video-on-Demand (VoD) User waits a little, and starts watching the video

3 First Generation Approaches Multicast support in network Hasn’t taken off yet  Research yielded good ideas Pyramid schemes Dedicated Infrastructure Akamai will do Costs big bucks

4 Recent Approaches BitTorrent Model P2P mesh-based system Video divided into blocks Blocks fetched at random Preference for rare blocks + High throughput through cooperation - Cannot watch until entire video fetched

5 Current Approaches Distribute from a server farm YouTube, Google Video - Scalability problems Bandwidth costs very high - Poor quality to support high demand - Censor-ship constraints  Not all videos welcome at Google video  Costs to run server farm prohibitive

6 Live Streaming Approaches - Provides a different functionality User arriving in middle of a movie cannot watch from the beginning Live Streaming All users interested in same part of video Narada, Splitstream, PPLive, CoolStreaming P2P system caching windows of relevant chunks

7 Challenges for VoD Near VoD Small setup time to play videos High sustainable goodput Largest slope osculating the block arrival curve Highest video encoding rate system can support Goal: Do block scheduling to achieve low setup time and high goodput Given this motivation for VoD, what are the challenges?

8 System Design – Principles Keep bw load on server to a minimum Server connects and gives data only to few users Leverage participants to distribute to other users Maintenance overhead with users to be kept low Keep bw load on users to minimum Each node knows only a small subset of user population (called neighbourhood) Bitmaps of blocks

9 System Design – Outline Components based on BitTorrent Central server (tracker + seed) Users interested in the data Central server Maintains a list of nodes Each node finds neighbours Contacts the server for this Another option – Use gossip protocols Exchange data with neighbours Connections are bi-directional

10 Overlay-based Solutions Tree-based approach Use existing research for IP Multicast Complexity in maintaining structure Mesh-based approach Simple structure of random graphs Robust to churn

11 Simulator – Outline All nodes have unit bandwidth capacity 500 nodes in most of our experiments Heterogeneous nodes not described in talk Each node has 4-6 neighbours Simulator is round-based Block exchanges done at each round System moves as a whole to the next round File divided into 250 blocks Segment is a set of consecutive blocks Segment size = 10 Maximum possible goodput – 1 block/round

12 Why 95 th percentile? (x, y) y nodes have a goodput which is at least x. Red line at top shows 95 th percentile 95 th percentile a good indicator of goodput Most nodes have at least that goodput Nodes Goodput (in blocks/round)

13 Feasibility of VoD – What does block/round mean? 0.6 blocks/round with 35 rounds setup time Two independent parameters 1 round  10 seconds 1 block/round  512 kbps Consider 35 rounds a good setup time 35 rounds  6 min Goodput = 0.6 blocks/round Size of video = 250 / 0.6  70 min Max encoding rate = 0.6 * 512 > 300 kbps

14 Naïve Scheduling Policies Random Sequential Segment-Random Segment-Random Policy Divide file into segments Fetch blocks in random order inside same segment Download segments in order.

15 Naïve Approaches – Random Each node fetches a block at random Throughput – High as nodes fetch disjoint blocks More opportunities for block exchanges Goodput – Low as nodes don’t get blocks in order 0 blocks/round Setup Time (in rounds) Goodput (blocks/round)

16 Naïve Approaches – Sequential Each node fetches blocks in order of playback Throughput – Low as fewer opportunities for exchange Increase this Sequential Random Setup Time (in rounds) Goodput (blocks/round) < 0.25 blocks/round

17 Naïve Approaches – Segment-Random Policy Segment-random Fetch random block from the segment the earliest block falls in Increases the number of blocks in progress Segment-Random Sequential Random Setup Time (in rounds) Goodput (blocks/round) < 0.50 blocks/round

18 Peaks and Valleys Throughput could be improved at two places – Reduce time: To obtain last blocks of current segment For initial blocks of segment to propagate Throughput is number of block exchanges system-wide Period between two valleys corresponds to a segment Throughput (in blocks) Time (in rounds)

19 Mountains and Valleys Local rarest Fetch the rarest block in the current segment System progress improves 7% ( to ) Segment-Random Local-rarest Progress (in blocks) Time (in rounds)

20 Naïve Approaches – Rarest-client How can we improve this further? Pre-fetching Improve availability of blocks from next segment Segment-Random Local-rarest Goodput (blocks/round) Setup Time (in rounds)

21 Pre-fetching Random Sequential Segment-Random Pre-fetching Fetch blocks from the next segment with a small probability Creates seeds for blocks ahead of time Trade-off: block is not immediately useful for playback

22 Pre-fetching Pre-fetching with probability 0.2 Throughput: 9% improvement to Get better with Network Coding!!! Goodput (blocks/round) Setup Time (in rounds) Local-rarest Segment-Random

23 NetCoding – How it Helps? A has blocks 1 and 2 B gets 1 or 2 with equal prob. from A C gets 1 in parallel If B downloaded 1 Link B-C becomes useless Network coding routinely sends 1  2

24 Network Coding – Mechanics Coding over blocks B1, B2, …, Bn Choose coefficients c1, c2, …, cn from finite field Generate encoded block: E1 =  i=1..n ci.Bi Without n coded blocks, decoding cannot be done Setup time a t least the time to fetch a segment

25 Benefits of NetCoding Throughput: 39% improvement with NC with pre- fetching and no NC initial Pre-fetching segments moderately beneficial Goodput (blocks/round) Setup Time (in rounds) Netcoding Netcoding-segment-random 80-20

26 Implementation With the above insights, built a C# prototype 25K lines of code Rest of talk Identify problems when nodes arrive at different times, nodes with heterogeneous capacities Address these issues with improvements to the basic Netcoding scheme Note – All evaluation done with the prototype

27 Segment Scheduling NetCoding good for fetching blocks in a segment, but cannot be used across segments Because decoding requires all encoded blocks Problem: How to schedule fetching of segments? Until now, sequential segment scheduling Segment pre-fetching beneficial Results in rare segments when nodes arrive at different times Segment scheduling algorithm to avoid rare segments

28 Segment Scheduling A has 75% of the file Flash crowd of 20 Bs join with empty caches Server shared between A and Bs Throughput to A decreases, as server is busy serving Bs Initial segments served repeatedly Throughput of Bs low because the same segments are fetched from server Server BB B A

29 Server A Bs Popularities Segment # Segment Scheduling – Problem 8 segments in the video; A has 75% = 6 segments, Bs have none Green is popularity 2, Red is popularity 1 Popularity = # full copies in the system

30 Server A Bs Popularities Segment # Server A Bs Popularities Segment # Segment Scheduling – Problem Instead of serving A …

31 Segment Scheduling – Problem The server gives segments to Bs Server A Bs Popularities Segment #

32 Segment Scheduling – Problem A’s goodput plummets Get the best of both worlds – Improve A and Bs Idea: Each node serves only rarest segments in system A Bs

33 Segment Scheduling – Algorithm When dst node connects to the src node … Here, dst is B, src is Server Server A Bs Popularities Segment #

34 Segment Scheduling – Algorithm src node sorts segments in order of popularity Segments 7, 8 least popular at 1 Segments 1-6 equally popular at 2 Server A Bs Popularities Segment #

35 Segment Scheduling – Algorithm src considers segments in sorted order one-by-one, and serves dst Either completely available at src, or First segment required by dst Server A Bs Popularities Segment #

36 Server A Bs Popularities Segment # Segment Scheduling – Algorithm Server injects segment needed by A into system Avoids wasting bandwidth in serving initial segments multiple times

37 Segment Scheduling – Popularities How does src figure out popularities? Centrally available at the server Our implementation uses this technique Each node maintains popularities for segments Could use a gossiping protocol for aggregation

38 Segment Scheduling Note that goodput of both A and Bs improves

39 Topology Management A has 75% of the file Flash crowd of 20 Bs join with empty caches Limitations of segment scheduling Bs do not benefit from server, as they get blocks for A A delayed too because of re-routing of blocks from Bs Server BB B A Present an algorithm that avoids these problems

40 Topology Management – Algorithm Cluster nodes interested in the same part of the video Retain connections which have high goodput When dst approaches src, src serves dst only if src has spare capacity, or dst is interested in the worst-seeded segment per src’s estimate If so, kick a neighbour with low goodput Server BB B A

41 Topology Management – Algorithm When Bs approach server… Server does NOT have spare capacity B is NOT interested in the worst-seeded segment per server’s estimate (segment 7) Server BB B A When dst approaches src, src serves dst only if src has spare capacity, or dst is interested in the worst-seeded segment per src’s estimate If so, kick a neighbour with low goodput

42 Topology Management Note that both A and the Bs see increased goodput

43 Heterogeneous Capacities Above algorithms do not work well with heterogeneous nodes A is a slow node Flash crowd of 20 fast Bs Bs get choked because A is slow Server BB B A

44 Heterogeneous Capacities Server refuses to give initial segments to Bs Popularity calculation takes A to be a source Adjust segment popularity with weight proportional to the capacity of the node Initial segments have < 2 popularity, rounded to 1 Server then gives to Bs Fast Slow

45 Heterogeneous Capacities Note the improvement in the fast/slow nodes Fast Slow

46 Conclusions System designed to support near-VoD using peer-to-peer networks Hitherto, only large file distribution possible Three techniques to achieve low setup time and sustainable goodput NetCoding – Improves throughput Segment scheduling – Prevent rare blocks Topology management – Cluster “similar” nodes

47 Questions?