Peer-to-Peer mesh-based 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

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.

OMR: Overlay Monitoring and Repair in Swarm-based Peer-to-Peer Streaming

In Swarm-based Peer-to-Peer Streamiing (SPS) mechanisms, participating peers form a randomly connected mesh over which they incorporate swarm-like content delivery. In practice, a subset of participating peers may form clusters in the overlay due to various reasons such as localization of connectivity within edge ISPs. Despite the commonly held assumptions, the appearance of such clusters could significantly degrade the delivered quality to participating peers in SPS mechanisms.

This project examines the effect of overlay clustering on the performance of SPS mechanisms for live content. Leveraging the notion of two-phase content delivery in SPS mechanisms, we illustrate the effect of overlay clustering on content delivery. We propose the Overlay Monitoring and Repair (OMR) mechanism as a distributed and scalable approach to maintain proper overlay connectivity in SPS mechanisms. The key idea is to use delivered quality to individual peers as an indication of poor connectivity from other regions of the overlay. OMR employs a probabilistic approach to ensure an adequate number of properly-positioned peers reacts to detected clustering in the overlay without any coordination. Reacting peers rewire a small number of carefully-selected connections in the overlay to significantly improve the performance of content delivery.

ISP-Friendly Swarm-based Peer-to-Peer Streaming

P2P streaming applications have been widely used for scalable streaming of live multimedia over the Internet. Their high bandwidth demand potentially can result in generating a significant amount of network traffic. P2P applications build a random overlay among peers and often ignore the underlying network topology. This imposes a significant amount of costly traffic on ISPs. For this reason, ISPs try to reduce the costly inter-ISP traffic by various means and thus, localized the P2P traffic. Localization can significantly degrades the performance of live P2P streaming applications. In a localized P2P overlay, there may not be adequate shortcuts throughout the varous parts of the overlay to ensure the diversity of content in each neighborhood. Thus, localization may results in decreasing the diversity of content in each peer's neighborhood and stretching the shape of the random P2P overlay. We propose the first ISP-friendly Swarm-based P2P streaming mechanism with the goal of maintaining the P2P streaming application performance while reducing inter-ISPs traffic. In essence, we design an ISP-friendly block scheduling algorithm that considers the localized topology of the P2P overlay for smart block scheduling. Our evaluation results demonstrate that through the proposed ISP-friendly mechanism, the delivered quality to individual peers in a localized overlay is comparable to the peers' quality in a random overlay.

Papers and Presentations

Team Members

Relevant Projects

Acknowledgements 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.