|
Project Description This research project investigates the architecture, design, analysis, and implementation of scalable and reliable
continuous media streaming systems. Continuous media refers to media data that have a time specification for correct presentation. Common examples are video data and audio data, of which both require decoding and
playing back the data at specific time instants or rates. Streaming refers to the way data are delivered from a server to a client for playback. In contrast to the download model, where a data object such as a video
file, are completely received before playback, in streaming the client software begins playback before receiving the whole data object, and keeps receiving data from the server during playback. Finally, the term
system refers to the collection of components in a complete continuous media streaming application, including the server, the network, and the client.
Building continuous media streaming systems are not difficult. The real challenge is to build systems that can scale up to support thousands or even millions of concurrent users.
Additionally, given the scale of these systems, individual component failures are inevitable. Thus, it is essential that these systems are fault tolerant, i.e., with the capability to sustain non-stop service when
there are one or more component failures. Business issues aside, these are the biggest hurdles to overcome before deploying large-scale commercial continuous-media services such as video-on-demand can become
feasible.
This research project investigates two approaches to building large-scale media streaming systems. The first approach focuses on the use of parallel-server architectures to tackle the
scalability and reliability challenges at the server end. Based on an architectural taxonomy [1], various architectural alternatives, including a pull-based architecture [2-4], the concurrent-push architecture [5],
and the staggered-push architecture [6], are then investigated and their performance analyzed. In addition, fault-tolerant mechanisims are developed to enable the streaming systems to survive disk-level and
server-level failures, and to maintain non-stop service even for existing ongoing users [7-10].
In addition to the server bottleneck, which can be addressed using the parallel-server architectures, the network itself can also become the bottleneck when the user population grows. The
second approach investigated in this research explores the use of network multicast and multicast streaming algorithms to address this challenge. In particular, three classes of multicast streaming algorithms are
investigated, namely open-loop algorithm [12], closed-loop algorithms [13], as well as hybrid algorithms [14-22]. In addition, hybrid algorithms introdue new problems in scheduling I/O in the media server which can
be addressed by a new scheduling algorithm optimized for such data transmission patterns [23].
In addition to research papers, the research results arising from this project have also been included in the research monograph titled Scalable Continuous Media Streaming Systems published by John Wiley and Sons Ltd.
Related Publications
Parallel Server Architectures
- Jack Y. B. Lee, "Parallel Video Servers – A Tutorial," IEEE Multimedia, vol.5(2), June 1998, pp.20-28.
- Jack Y. B. Lee and P. C. Wong, "A Server Array Approach for Video-on-demand Service on Local Area Networks," Proc. IEEE INFOCOM '96, California, USA, March 1996, vol.1, pp.27-34.
- Jack Y. B. Lee and P. C. Wong, "Performance Analysis of a Pull-Based Parallel Video Server," IEEE Trans. on Parallel and Distributed Systems, vol.11(12), Dec 2000, pp.217-231.
- Jack Y. B. Lee, "Buffer Management and Dimensioning for a Pull-Based Parallel Video Server," IEEE Trans. on Circuits and Systems for Video
Technology, vol.11(4), April 2001, pp.485-496.
- Jack Y. B. Lee, "Concurrent Push - A Scheduling Algorithm for Push-Based Parallel Video Servers," IEEE Trans. on Circuits and Systems for Video Technology, vol.9(3), April 1999, pp.467-477.
- Jack Y. B. Lee, "Staggered Push - A Linearly Scalable Architecture for Push-Based Parallel Video Servers," IEEE Transactions on Multimedia, vol.4(4), December 2002, pp.423-433.
- P. C. Wong and Jack Y. B. Lee, "Redundant Array of Inexpensive Servers (RAIS) for On-demand Multimedia Services," ICC'97, Montreal, Canada, June 1997, vol.2, pp.787-792.
- Jack Y. B. Lee and P. C. Wong, "Storage Rebuild for Automatic Failure Recovery in Video-on-Demand Servers," Proc. IEEE ISCE'97, Singapore, Dec 2-4, 1997, pp.258-261.
- Jack Y. B. Lee, "Supporting Server-Level Fault Tolerance in Concurrent-Push-Based Parallel Video Servers," IEEE Trans. on Circuits and Systems for Video Technology,
vol.11(1), January 2001, pp.25-39.
- Jack Y. B. Lee and John C. S. Lui, "Automatic Recovery from Disk Failure in Continuous-Media Servers," IEEE Transactions on Parallel and Distributed Systems, vol.13(5), May 2002, pp.499-515.
- Vincent C. H. Lee, Jack Y. B. Lee, "Improving UVoD System Efficiency with Batching," Proc. International Conference on Software, Telecommunications and Computer Networks –
SoftCOM, Crotia, October 2000.
Open-loop/Closed-loop Multicast Streaming Algorithm
- W. C. Liu and Jack Y. B. Lee, "Constrained Consonant Broadcasting – A Generalized Periodic Broadcasting Scheme for Large Scale Video Streaming," Proc.
IEEE International Conference on Multimedia and Expo. (ICME), Baltimore, U.S.A., July 6-9, 2003.
- Y. W. Wong and Jack Y. B. Lee, "Recursive Patching – An Efficient Technique for Multicast Video Streaming," Proc. 5th International Conference on Enterprise Information Systems (ICEIS) 2003,
Angers, France, April 23-26, 2003.
Hybrid Multicast Streaming Algorithm
- Jack Y. B. Lee, "UVoD – A Unified Architecture for Video-on-Demand Services," IEEE Communications Letters, vol.3(9), September 1999, pp.277-279.
- Vincent C. H. Lee, Jack Y. B. Lee, "Improving UVoD System Efficiency with Batching," Proc. International Conference on Software, Telecommunications and Computer Networks –
SoftCOM, Crotia, October 2000.
- Jack Y. B. Lee, "On a Unified Architecture for Video-on-Demand Services," IEEE Transactions on Multimedia, vol.4(1), March 2002, pp.38-47.
- Jack Y. B. Lee, "Optimizing Channel Allocation in a Unified Video-on-Demand System," IEEE Transactions on Circuits and Systems for Video
Technology, vol.12(10), October 2002, pp.921-933.
- Jack Y. B. Lee and C. H. Lee, "Design, Performance Analysis, and Implementation of a Super-Scalar Video-on-Demand System," IEEE Transactions on Circuits and Systems for Video Technology,
vol.12(11), November 2002, pp.983-997.
- Kong Chun Wai and Jack Y. B. Lee, "Slice-and-Patch - An Algorithm to Support VBR Video Streaming in a Multicast-based Video-on-Demand System," Proc.
2002 International Conference on Parallel and Distributed Systems, Taiwan, Dec 17-20, 2002.
- Kong Chun Wai and Jack Y. B. Lee, "Slice-and-Patch - An Algorithm to Support VBR Video Streaming in a Multicast-based Video-on-Demand System," Journal of Information Science and Engineering,
vol.19(3), May 2003, pp.517-530. (Invited Paper)
- Jack Y. B. Lee, "Channel Folding – An Algorithm to Improve Efficiency of Multicast Video-on-Demand Systems," IEEE Transactions on Multimedia, vol.7(2), April 2005, pp.366-378.
- C. W. Kong, Jack Y. B. Lee, M. Hamdi, and V. O. K. Li, "Turbo-Slice-and-Patch: An Algorithm for Metropolitan Scale VBR Video Streaming," IEEE
Transactions on Circuits and Systems for Video Technology, vol.16(3), March 2006, pp.338-353.
Media Server Design for Hybrid Multicast Streaming Algorithm
- P. H. Chan and Jack Y. B. Lee, "An Efficient Disk-Array-Based Server Design for a Multicast Video Streaming System," Proc. IEEE 14th
International Conference on Application-specific Systems, Architectures and Processors (ASAP), Hague, Netherlands, June 24-26, 2003.
|
|