Continuous media streaming systems will shape the future of information infrastructure. The challenge is to design systems and networks capable of supporting millions of concurrent users. Key to this is the integration of fault-tolerant mechanisms to prevent individual component failures from disrupting systems operations. These are just some of the hurdles that need to be overcome before large-scale continuous media services such as video-on-demand can be deployed with maximum efficiency. The author places the subject in context, drawing together findings from the past decade of research whilst examining the technology's present status and its future potential. The approach adopted is comprehensive, covering topics - notably the scalability and fault-tolerance issues - that previously have not been treated in depth. Provides an accessible introduction to the technology, presenting the basic principles for media streaming system design, focusing on the need for the correct and timely delivery of data. Explores the use of parallel server architectures to tackle the two key challenges of scalability and fault-tolerance.Investigates the use of network multicast streaming algorithms to further increase the scalability of very-large-scale media streaming systems. Illustrates all findings using real-world examples and case studies gleaned from cutting-edge worldwide research. Combining theory and practice, this book will appeal to industry specialists working in content distribution in general and continuous media streaming in particular. The introductory materials and basic building blocks complemented by amply illustrated, more advanced coverage provide essential reading for senior undergraduates, postgraduates and researchers in these fields.
Contents. Preface. Acknowledgements. Part IIntroduction. 1.1 Elements of a Multimedia System. 1.2 Media Data. 1.3 Media Delivery. 1.4 Streaming versus Download. 1.5 Challenges in Building Continuous Media Streaming Systems. 1.6 Engineering Trade-offs. 1.7 Performance Guarantee. 1.8 Admission Control. 1.9 Summary. References. 2. Media Compression. 2.1 Introduction. 2.2 Media Multiplexing. 2.3 Temporal Dependencies in Compressed Video. 2.4 Bit-rate Variations. 2.5 Media Adaptation. 2.6 Summary. References. 3. Continuous Media Storage and Retrieval. 3.1 Structure and Model of Hard Disk. 3.2 Disk Scheduling. 3.3. Improving Disk Throughput. 3.4 Grouped Sweeping Scheme. 3.5 Multi-Disk Storage and Retrieval. 3.6 Disk Zoning. 3.7 Summary. References. 4. Soft Scheduling. 4.1 Introduction. 4.2 Statistical Capacity Dimensioning. 4.3 Dual-round Scheduling. 4.4. Early-Admission Scheduling. 4.5 Overflow Management. 4.6 Performance Evaluation. 4.7 Related Work. 4.8 Summary. References. 5. Reliable and Fault-Tolerant Storage Systems. 5.1 Introduction. 5.2 Background. 5.3 System Model. 5.4 Automatic Data Rebuild. 5.5. Track-Based Rebuild. 5.6 Pipelined Rebuild. 5.7 Performance Evaluation. 5.8 Summary. References. 6. Media Data Streaming. 6.1 Streaming over TCP/UDP. 6.2 Specialized Streaming Protocols. 6.3 Summary. References. 7. Streaming Variable Bit-Rate Media Streams. 7.1 Introduction. 7.2 Streaming in Mixed-Traffic Networks. 7.3 Monotonic Decreasing Rate Scheduler. 7.4 Performance Evaluation. 7.5 Aggregated Monotonic Decreasing Rate Scheduler. 7.6 Summary. Appendix. References. 8. Adaptive Media Streaming. 8.1 Introduction. 8.2 Related Work. 8.3 System Model. 8.4 Client Buffer Occupancy and Network Bandwidth Estimation. 8.5 Rate Adaptation. 8.6 Performance Evaluation. 8.7 Summary. Note. References. Part II: Parallel Server Architectures. 9. Taxonomy and Architectural Alternatives. 9.1 Introduction. 9.2 Parallel Video Distribution Architectures. 9.3 Server Striping Policies. 9.4 Parallel Video Delivery Protocols. 9.5 Summary. References. 10. A Concurrent-Push Parallel Server Architecture. 10.1 Introduction. 10.2 System Architecture. 10.3 Analysis of the Concurrent-Push Algorithm. 10.4 Asynchronous Grouped Sweeping Scheme. 10.5 Sub-Schedule Striping Scheme. 10.6 Performance Evaluation. 10.7 Summary. Appendices. References. 11. Fault-Tolerant Algorithms for the Concurrent-Push Architecture. 11.1 Redundancy Management. 11.2 Forward Erasure Correction. 11.3 Progressive Redundancy Transmission (PRT). 11.4 Analysis of Forward Erasure Correction. 11.5 Analysis of Progressive Redundancy Transmission. 11.6 Redundant Server Scheme. 11.7 Numerical Results. 11.8 Summary. Appendices. References. 12. A Staggered-Push Parallel Server Architecture. 12.1 Introduction. 12.2 System Architecture. 12.3 Schedule Assignment. 12.4 Traffic Overlapping. 12.5 Buffer Management. 12.6 Performance Evaluation. 12.7 Network Resource Reservations. 12.8 Summary. Appendices. References. 13. FEC versus PRT. 13.1 Introduction. 13.2 System Model. 13.3 Forward Erasure Correction. 13.4 Progressive Redundancy Transmission (PRT). 13.5 Performance Evaluation. 13.6 Summary. References. 14. Algorithms for Server Rebuild. 14.1 Introduction. 14.2 Disk Migration. 14.3 Reloading Data from Back-up. 14.4 Baseline Rebuild. 14.5 Distributed Rebuild. 14.6 Mixed Distributed Baseline rebuild. 14.7 Numerical Results. 14.8 Summary. References. 15. Algorithms for System Expansion. 15.1 Introduction. 15.2 Related Work. 15.3 Row-Permutated Data Reorganization. 15.4 Sequential Redundant Data Update. 15.5. Multiple Redundant Nodes Update. 15.6 Summary. References. Part III: Multicast Streaming Architectures. 16. Overview of Multicast Streaming. 16.1 Introduction. 16.2 Operational Issues. 16.3 Multicast Media Streaming. 16.4 Techniques for On-Demand Multicast Streaming. 16.5 Summary. References. 17. Closed-Loop Algorithms. 17.1 Introduction. 17.2 Batching. 17.3 Patching. 17.4 Caching. 17.5 Piggybacking. 17.6 Summary. References. 18. Open-Loop Architecture. 18.1 Introduction. 18.2 A Taxonomy. 18.3 Performance Bounds. 18.4 A Generalized Consonant Broadcasting Algorithm. 18.5 Performance Comparisons. 18.6 Grouped Consonant Broadcasting. 18.7 Implementation and Benchmarking. 18.8 Summary. References. 19. A Hybrid Architecture. 19.1 A Super-Scalar Architecture. 19.2 Interactive Controls. 19.3 Performance Modeling. 19.4 Performance Evaluation. 19.5 Implementation and Benchmarking. 19.6 Summary. Appendix. References. 20. Efficient Server Design for Hybrid Multicast Streaming. 20.1 Introduction. 20.2 Background. 20.3 A GSS-Based Server Design. 20.4 An Efficient Server Design. 20.5 Performance Evaluation. 20.6 Summary. References. Index.