Design and implementation of a service oriented architecture for peer-assisted video-on-demand
Abstract
Compared with the traditional client/server streaming model, peer-assisted video streaming has been shown to provide better scalability with lower infrastructure cost. In this paper, we describe how peer-assisted video streaming can be implemented through real-time service oriented architecture. The first part of the paper presents an overall design of the Peer-Assisted ContenT Service (PACTS). We discuss the motivation, principles and service oriented architecture of PACTS modules and specify the workflow among them. By organizing elements of traditional video streaming and peer-to-peer computing into loosely-coupled composable middleware services and distributing them among participating entities, PACTS enables high-quality low-cost video streaming at a large scale and in real time. The second part of the paper describes an implementation of PACTS using existing off-the-shelf software followed by a performance evaluation based on practical environment settings. We illustrate the challenges and our approaches in designing distributed and highly efficient algorithms. In particular, the algorithms for performing peering-selection and incentive-driven pre-fetching are studied in detail. These designs are extensively evaluated by packet-level simulations. We show that our implementation of PACTS effectively offload server's bandwidth demand without sacrificing the service quality. This benefit is further verified in dynamic settings with system churns. The simulation results show that the incentive mechanism from our service level agreement efficiently stabilizes the server bandwidth utilization with less than 4.5% control traffic overhead. © Springer-Verlag London Limited 2009.