On-Demand P2P Video Streaming System
Funding:
Award Number: 0435228,
Title: On-Demand P2P Video Streaming: Integration of Video Coding and Network Application Design
Start Date: September 1, 2004
Overview:
In this project, we consider the design of a video streaming network (VSN) that enables users to search and view on-demand enormous libraries of video content stored in the Internet. Today¨s VSNs deploy a dedicated set of servers to store and distribute content to clients. Such infrastructure-based VSNs are extremely costly, both in terms of server cost and Internet-connection cost. We propose to develop peer-driven VSNs, in which users's computers (called peers, typically, PCs, Macs and workstations) who ordinarily act as streaming clients also act as streaming servers. Peers store and stream the video to the requesting clients. With such an architecture, the cost of servers and the Internet access would be borne by the users.
In a peer-to-peer (P2P) network, nodes may disconnect from the system at anytime without warning. One of the major challenges with a P2P VSN is the distribution of high quality video without glitches when the serving peers can disconnect from the Internet without notice. Another important challenge relates to the relatively low uplink capacity of many of the peers.
Our approach to P2P VSN is to encode each video into multiple sub-streams and to place each sub-stream on a different server. When a client wants to see a video, multiple peers act as servers, each sending a different sub-stream of the video to the client. After a short initial delay, the client combines, decodes, and displays the video as the multiple sub-streams are being delivered. When a serving peer disconnects in the middle of a streaming session, the system will look for a replacement peer which is storing the same video sub-stream and which has sufficient uplink bandwidth. The server selection and replacement can be done in either a centralized manner (for example, by a central server governing all peers in the system) or decentralized manner (for example, by the requesting client).
The figure below illustrates the proposed system architecture. In this illustrative example, nodes 4 and 5 are each receiving a video. Initially, node 4 receives sub-streams from nodes 2 and 3, and node 5 receives from nodes 4 and 1. Then node 2 goes down, and the system recovers by assigning node 6 as a replacement. The video coding, sub-stream placement, server selection and replacement, and sub-stream delivery are designed so that visual quality at node 4 is only slightly degraded while the system is locating a replacement after node 2 goes down.

By coding a video into multiple sub-streams and distributing the sub-streams from separate peers has many benefits. First, the disconnect of a server peer only causes temporary loss of a single sub-stream, which has limited impact on received video quality. Secondly, each sub-stream has a rate much lower than the total rate of the video, thus reducing the required uplink capacity at each peer. Thirdly, streaming from multiple peers helps balance the load among the serving peers. Finally, from the video publisher¨s perspective, it is not desirable to store an entire video on any one peer, to prevent the peer from having illegal access to the video.
We will study two classes of systems: systems which use multiple description coding (MDC) in which all sub-streams (called descriptions) have equal importance; and systems which use layered coding, in which the sub-streams (called layers) have varying importance. The design of both classes of systems has five interacting components: 1) video coding; 2) sub-stream placement; 3) admission control; 4) sub-stream server selection; and 5) sub-stream delivery. These components must be designed jointly to maximize the number of streaming sessions that can be supported simultaneously while guaranteeing the video quality at each receiving client is above a certain target.
People:
Faculty
Students
Zhengye Liu
Naoum Naoumov
Yanming Shen
Publications:
Y. Shen, Z. Liu, S. P. Panwar, K. W. Ross and Y. Wang, Streaming Layered Encoded Video using Peers, IEEE International Conference on Multimedia and Expo (ICME), July, 2005
X. Xu, Y. Wang, S. P. Panwar and K. W. Ross, A Peer-to-Peer Video-on-Demand System using Multiple Description Coding and Server Diversity, IEEE International Conference on Image Processing (ICIP), Oct. 2004
Last modified by 06/01/2005