Multimedia & Internetworking Research Group
University of Oreg
on





PALS: Adaptive Receiver-Driven Streaming from Multiple Senders


Overview


Audio/video streaming applications are becoming increasingly popular over Peer-to-Peer (P2P) networks. Supporting streaming applications over P2P networks is challenging for several reasons including: 1) heterogeneous and asymmetric bandwidth connectivity among participating peers, and 2) lack of support for QoS over today's Internet. In this project, we design and develop a comprehensive framework to support streaming application over P2P networks, called P2P Adaptive Layered Streaming (PALS), that can achieve the above design goals. PALS is receiver-driven, it allows each receiver to independently determine "how to join a session" and "how to deliver the desired stream" from other peers in the session. PALS can support a spectrum of non-interactive streaming application ranging from (lecture-mode) live to playback session.


Projects:


Bandwidth-Aware Overlay Construction Mechanism

A common approach to content delivery in P2P networks is to form an overlay. Most of the existing solution s adopted some variants of application-level multicast, where peers form a single (or multiple), topologically-aware (or delay-aware) tree structure(s) to cooperatively distribute a content. These solutions accommodate scalability by minimizing network load across the tree. However, they are unable to maximize delivered quality to individual peers because of the inherent limitation of delivered bandwidth through a tree-structure overlay of peers with heterogeneous and asymmetric bandwidth. Extending these solutions to multiple tree does not address this fundamental limitation either.

PALS abandons this approach and tackles this problem from a new angle. In PALS each peer is allowed to connect to the overlay at multiple points (or receive content from multiple other peers). More importantly, each peer independently learns about other peers in the overlay, selfishly determines the best way to connect to the overlay in order to maximize its own quality, and dynamically adjusts its connections to the overlay as network or overlay condition change. Therefore, competing peers form an unstructured, bandwidth-aware overlay that maximize delivered quality to each peer. Furthermore, such an overlay can gracefully accommodate dynamics of peer participation. We are currently developing this overlay construction strategy, and will post further details in a near future.


Adaptive Multi-Source Streaming

One key issue is to simultaneously stream a single video/audio content from multiple senders. This is challenging because all the pair-wise connections between peers must be congestion controlled, and thus the available bandwidth from each sender has potentially wide variations during delivery. This implies that the delivery mechanism should be quality adaptive. To accommodate bandwidth heterogeneity, we assume that content has layered structure (e.g. either layer or multiple description encoded streams).

Existing solutions for multi-sender delivery are unable to accommodate streaming from multiple congestion control senders. These solutions either ignore the need for congestion control, or assume that available bandwidth is sufficient to deliver maximum quality stream. Note that the commonly suggested, static approach of delivering a single layer from each sender is not able to cope with bandwidth variation, nor able to use the available bandwidth from heterogeneous sender peers, efficiently. For example, if a sender peer can provide half a layer, or two layers, this approach can not use the available bandwidth properly.

We develop a novel receiver-driven coordination mechanism for multi-sender streaming where a receiver directly orchestrates what segments of the stream should be delivered by each sender. This approach can not only utilize available bandwidth from each sender, but also dynamically adapt delivered quality based on aggregate bandwidth from all senders. We are currently developing and testing this coordination mechanism and will post our scheme in a near future.    


Distributed Multimedia Caching

To seamlessly support asynchronous peers who join a session with different delays, PALS incorporates a distributed caching mechanism. Each peer contributes an arbitrary amount of cache space, and the collection of all participating peers form a distributed and heterogeneous cache space. Each stream should be partially cached at different peers in order to enable multi-sender delivery while achieving high caching efficiency for the distributed cache space. The key challenge is how to manage this distributed cache space efficiently in order to maximize both delivered quality to asynchronous clients and efficiency of distributed cache space.

Existing caching mechanisms for multimedia streams are unable to accommodate this distributed environment. These solution try to maximize performance of a single (proxy) cache, rather than a distributed cache space. We are developing a scalable, distributed caching mechanism that dynamically adjusts partially cached content at each peer based on its locally observed popularity.

Papers & Presentations:



People:



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.