Design, analysis, and implementation of an agent driven pull-based distributed video-on-demand system

The problem of employing multiple servers to serve a pool of clients on a network based multimedia service is addressed. We have designed and practically implemented a prototype system employing multiple servers to render a long duration movie to the customers. We have employed a multiple server retrieval strategy proposed in the literature [39] to realize this system. In the system, server coordination, client behavior and service facilities are completely controlled by an Agent based approach in which we have used the recent Jini technology. Several issues, ranging from data retrieval from individual server, behavior of the underlying network infrastructure, to client management and resource (client buffers) management, are considered in this implementation. We describe in detail our experiences in this complete design process of every module in the software architecture, its purpose, and working style. Further, the system is shown to be robust amidst unpredictable failures, i.e., in the event of server crashes. The load balancing capability is built-in as a safe guard measure to assure a continuous presentation. We present a comprehensive discussion on the software architecture to realize this working system and present our experiences. A system comprising a series of Pentium III PCs on a fast Ethernet network is built as a test-bed. Through this prototype, a wider scope of research challenges ahead are highlighted as possible extensions.

[1]  Kien A. Hua,et al.  Virtual Batching: A New Scheduling Technique for Video-on-Demand Servers , 1997, DASFAA.

[2]  Bharadwaj Veeravalli,et al.  Access Time Minimization for Distributed Multimedia Applications , 2000, Multimedia Tools and Applications.

[3]  Chatschik Bisdikian,et al.  Cost-Based Program Allocation for Distributed Multimedia-on-Demand Systems , 1996, IEEE Multim..

[4]  James P. G. Sterbenz,et al.  Networking Requirements for Interactive Video on Demand , 1995, IEEE J. Sel. Areas Commun..

[5]  Kang G. Shin,et al.  Multicast Video-on-Demand services , 2002, CCRV.

[6]  Donald F. Towsley,et al.  Catching and selective catching: efficient latency reduction techniques for delivering continuous multimedia streams , 1999, MULTIMEDIA '99.

[7]  P. Bruce Berra,et al.  Techniques for Increasing the Stream Capacity of A High-Performance Multimedia Server , 1999, IEEE Trans. Knowl. Data Eng..

[8]  Jack Y. B. Lee Concurrent push-A scheduling algorithm for push-based parallel video servers , 1999, IEEE Trans. Circuits Syst. Video Technol..

[9]  Jack Y. B. Lee Parallel Video Servers: A Tutorial , 1998, IEEE Multim..

[10]  John C. S. Lui,et al.  Reducing I/O demand in video-on-demand storage servers , 1995, SIGMETRICS '95/PERFORMANCE '95.

[11]  P. Venkat Rangan,et al.  Multimedia Information Caching for Personalized Video-on-Demand , 1995, Comput. Commun..

[12]  Louise E. Moser,et al.  A CORBA framework for managing real-time distributed multimedia applications , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[13]  Jaideep Srivastava,et al.  Strategic Replication of Video Files in a Distributed Environment , 1999, Multimedia Tools and Applications.

[14]  Philip S. Yu,et al.  Design and analysis of permutation-based pyramid broadcasting , 1999, Multimedia Systems.

[15]  Tomasz Imielinski,et al.  Metropolitan area video-on-demand service using pyramid broadcasting , 1996, Multimedia Systems.

[16]  Harrick M. Vin,et al.  Algorithms for Designing Multimedia Servers , 1995, Comput. Commun..

[17]  Doug Shepherd,et al.  Scalable storage servers for digital audio and video , 1994 .

[18]  Kien A. Hua,et al.  Chaining: a generalized batching technique for video-on-demand systems , 1997, Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[19]  Arif Ghafoor,et al.  Dynamic Resource Allocation for Multimedia Document Retrieval over High Speed LANs , 2004, Multimedia Tools and Applications.

[20]  P. Venkat Rangan,et al.  Pipelined disk arrays for digital movie retrieval , 1995, Proceedings of the International Conference on Multimedia Computing and Systems.

[21]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[22]  Debasish Ghose,et al.  Scheduling Video Streams in Video-on-Demand Systems: A Survey , 2004, Multimedia Tools and Applications.

[23]  Jack Y. B. Lee,et al.  A server array approach for video-on-demand service on local area networks , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[24]  Jack Y. B. Lee,et al.  Performance Analysis of a Pull-Based Parallel Video Server , 2000, IEEE Trans. Parallel Distributed Syst..

[25]  Asit Dan,et al.  Multimedia Caching Strategies for Heterogeneous Application and Server Environments , 2004, Multimedia Tools and Applications.

[26]  Jack Y. B. Lee On a unified architecture for video-on-demand services , 2002, IEEE Trans. Multim..

[27]  Christoph Bernhardt A Scalable Video Server : Architecture , Design , and Implementation November 1994 , 1994 .

[28]  Kien A. Hua,et al.  Skyscraper broadcasting: a new broadcasting scheme for metropolitan video-on-demand systems , 1997, SIGCOMM '97.

[29]  Harrick M. Goyal Algorithms for Designing Large-Scale Multimedia Servers , 1995 .

[30]  Banu Özden,et al.  A Disk-Based Storage Architecture for Movie on Demand Servers , 1995, Inf. Syst..

[31]  Aravind Srinivasan,et al.  Retrieval scheduling for collaborative multimedia presentations , 2000, Multimedia Systems.

[32]  Sakir Yucel,et al.  An architecture for realizing CORBA audio/video stream specification over IP technologies , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[33]  Philip S. Yu,et al.  On optimal batching policies for video-on-demand storage servers , 1996, Proceedings of the Third IEEE International Conference on Multimedia Computing and Systems.

[34]  P. Venkat Rangan,et al.  Efficient Storage Techniques for Digital Continuous Multimedia , 1993, IEEE Trans. Knowl. Data Eng..

[35]  Jaideep Srivastava,et al.  ${\cal SMDP}$: minimizing buffer requirements for continuous media servers , 2000, Multimedia Systems.

[36]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[37]  Ying Cai,et al.  Optimizing patching performance , 1998, Electronic Imaging.

[38]  Bharadwaj Veeravalli,et al.  Efficient Movie Retrieval Strategies for Movie-on-Demand Multimedia Services on Distributed Networks , 2004, Multimedia Tools and Applications.

[39]  A. Prasad Sistla,et al.  Efficient distributed recovery using message logging , 1989, PODC '89.

[40]  Sunyoung Han,et al.  Object-oriented real-time CORBA naming service an distributed environment , 1998, Proceedings Twelfth International Conference on Information Networking (ICOIN-12).

[41]  Kien A. Hua,et al.  An adaptive hybrid technique for video multicast , 1998, Proceedings 7th International Conference on Computer Communications and Networks (Cat. No.98EX226).