Multimedia & Internetworking Research Group
University of Oreg
on





Peer-to-Peer Streaming


Overview


Peer-to-Peer (P2P) streaming has become an increasing popular approach for one-to-many multimedia streaming applications, mainly because it does not require any special support (e.g. IP multicast or any content distribution infrastructure) from the network.  A common theme in P2P streaming systems is that participating peers form an overlay where each peer receives content from one (or multiple) parent peer(s) in a session.
Any P2P streaming system consists of two distinct but related components:

  • Overlay Construction  : A mechanism that organizes participating peers into an overlay structure with certain properties.
  • Content Delivery : Determines how the multimedia content should be streamed to each participating peer through the overlay.
Goals of a live P2P streaming mechanism are maximizing the delivered quality to individual peers in a scalable fashion while utilizing the contributed resources (namely outgoing bandwidth) of all participating peers. In order to design such a mechanism with those goals challenges are:

  •    accommodating the heterogeneity and asymmetry of access link bandwidth
  •    coping with dynamics in peer participation.
A well known approach to P2P streaming is to organize participating peers into multiple, diverse tree-shaped overlays where each specific sub-stream of the live content is pushed through a particular tree from source to all interested peers e.g. Coopnet. This approach has the following potential limitations:
  1. in the presence of churn, maintaining multiple diverse trees could be very challenging.
  2. the rate of content delivery to each peer through individual trees is limited by the minimum throughput among the upstream connections.
  3. the outgoing bandwidth of those peers that do not have a sufficient number of child peers or an adequate amount of new content can not be effectively utilized. This in turn limits the scalability of the tree-based approaches.
An alternative approach to P2P streaming is mesh-based P2P streaming. In this approach participating peers form a mesh-shaped overlay and incorporate swarming (or pull) content delivery. File swarming mechanisms e.g. Bittorrent, leverage the elastic nature and the availability of the entire file at the source to distribute different pieces of a file among participating peers, enabling them to actively contribute their outgoing bandwidth through swarming. However, incorporating swarming content delivery into mesh-based P2P streaming mechanisms for ``live'' content is challenging for two reasons:
  1. Accommodating the streaming constraint of in-time delivery for individual packets is difficult, and
  2. Since the content is progressively generated by a live source, the limited availability of future content limits the diversity of available pieces among participating peers which in turn degrades the utilization of their outgoing bandwidth.

Projects:

PALS: Adaptive Receiver-Driven Streaming from Multiple Senders

In this project we design and evaluate an adaptive streaming mechanism from multiple senders to a single receiver in Peer-to-Peer (P2P) networks, called P2P Adaptive Layered Streaming, or PALS. PALS is a receiver-driven mechanism. It enables a receiver peer to orchestrate quality adaptive streaming of a single, layer-encoded video stream from multiple congestion controlled senders, and is able to support a spectrum of non-interactive streaming applications. The primary challenge in the design of a streaming mechanism from multiple senders is that available bandwidth from individual peers is not known a priori, and could significantly change during delivery. In PALS, the receiver periodically performs quality adaptation based on the aggregate bandwidth from all senders to determine: (i) the overall quality (i.e. number of layers) that can be collectively delivered by all senders, and more importantly (ii) the specific subset of packets that should be delivered by individual senders in order to gracefully cope with any sudden change in their bandwidth. Our detailed simulation-based evaluations illustrate that PALS can effectively cope with several angles of dynamics in the system including: bandwidth variations, peer participation, and partially available content at different peers. We also demonstrate the importance of coordination among senders and examine key design tradeoffs for the PALS mechanism.

Papers & Presentations




Receiver-Driven Mesh-based Peer-to-Peer Streaming



PRIME :  Peer-to-Peer Receiver-drIven MEsh-based Streaming

The success of swarming content delivery has motivated a new approach to live Peer-to-Peer (P2P) streaming that we call mesh-based streaming. In this approach, participating peers form a random mesh and incorporate swarming content delivery to stream live content. Despite the growing popularity of this approach, neither the design tradeoffs nor the basic performance bottlenecks in mesh-based P2P streaming are well understood. We designed PRIME, the first mesh-based P2P streaming for live content that effectively incorporates swarming content delivery. We identify two performance bottlenecks in a mesh-based P2P streaming, namely bandwidth bottleneck and content bottleneck. We derive proper peer connectivity to minimize bandwidth bottleneck as well as an efficient pattern of delivery for live content over a random mesh to minimize content bottleneck. We show that the pattern of delivery can be divided into diffusion and swarming phases and then identify proper packet scheduling algorithm at individual peers. Using ns simulations, we examine key characteristics, design tradeoffs and the relationship between main system parameters.


Contribution-Awareness in Mesh-based Peer-to-Peer Streaming Mechanisms

Peer-to-Peer streaming overlays consist of peers with heterogeneous, asymmetric and limited bandwidth. A reasonable approach to maximize the delivered quality to individual peers in such an environment is to ensure that delivered quality to each peer is proportional to its contribution. In essence the delivered quality in a resource-constraint P2P streaming system should be contribution aware. The contribution-aware paradigm not only promotes the fairness among peers, but also serves as an effective means to encourage peers to contribute. Incorporating contribution-awareness into P2P streaming is challenging. In this project, the contribution awareness mechanism is incorporated into a mesh-based P2P live streaming, and its performance is extensively studied. Our mail goal is to deliver a persistent quality to individual peers proportional to their contribution while maximizing the utilization of the resources in the system. Through extensive evaluation we show that the contribution-awareness mechanism in a mesh-based P2P streaming is achievable, i.e. peers received quality is proportional to their contribution while resources in the system is fully utilized.


Mesh or Multiple-Tree?

Existing approaches to P2P streaming can be divided into two general classes: (i) tree-based approaches use push-based content delivery over multiple tree-shaped overlays, and (ii) mesh-based approaches use swarming content delivery over a randomly connected mesh. Previous studies have often focused on a particular P2P streaming mechanism and no comparison between these two classes has been conducted. In this project, we compare and contrast the performance of representative protocols from each class using simulations. We identify the similarities and differences between these two approaches. Furthermore, we separately examine the behavior of content delivery and overlay construction mechanisms for both approaches in static and dynamic scenarios. Our results indicate that the mesh-based approach consistently exhibits a superior performance over the tree-based approach. We also show that the main factors attributing in the inferior performance of the tree-based approach are (i) the static mapping of content to a particular tree, and (ii) the placement of each peer as an internal node in one tree and as a leaf in all other trees.


Evaluating Mesh-based P2P Streaming Protocol with Residential Users

The behavior of Peer-to-Peer (P2P) streaming mechanism in sessions where a large fraction of peers are residential peers have not been examined. Several characteristics of residential users could affect the behavior of P2P streaming sessions including (i) the heterogeneity of access link bandwidth, (ii) the limitation of available resources due to asymmetric nature of access link bandwidth (for DSL and cable modem), and (iii) the participation of free-loaders. In this project, we examine the effect of these three characteristics of residential users on the performance of P2P streaming mechanisms using ns simulations. We show that these characteristics could adversely affect the performance of P2P streaming mechanisms as follows; First, the delivered quality to individual users is not correlated with their contributed resource to the system. Second, the presence of free-loaders could dramatically degrade the delivered quality to participating peers even when the amount of available resources in the system are adequate. Our findings suggest that P2P streaming should be able to address these issues in order to be successfully deployed among residential users.


Dissecting the Performance of Live Mesh-based Peer-to-Peer Streaming

Mesh-based Peer-to-Peer streaming mechanisms incorporate swarming content delivery and thus are able to support scalable streaming of live content. Their key component is a packet scheduling scheme at each peer that determines pulled packet from neighbors while accommodating in-time arrival and diversity of delivered packets. Besides packet scheduling scheme, the overall performance of a mesh-based P2P streaming mechanism also depends on the availability of excess resources in the system. Recently proposed mesh-based P2P streaming mechanisms have been evaluated in a scenario-rich setting. Thus, neither their performance in a resource constraint scenario nor the separate effect of packet scheduling and available resources on their performance is known. In this project, we dissect the performance of mesh-based P2P streaming mechanism and investigate the effect of packet scheduling and available resource on their performance. We argue that the global pattern of content delivery primarily determines behavior of a mesh-based P2P streaming system. We present a new evaluation methodology that properly captures this pattern. Using our evaluation methodology, we examine the performance of representative scheduling schemes and the role of available resources. Our findings provide useful insights in design and evaluation of mesh-based P2P streaming mechanisms.



Papers & Presentations

People:


Relevant Projects:

Acknowledgment and Disclaimer


This material is based upon work supported by the National Science Foundation under Grant No. 0448639. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.