1 Introduction1.1 Overview
1.2 Multimedia Streaming and Cloud Computing
1.3 The Essence of this Book
1.4 Characteristics of the Multimedia Streaming Cloud (MSC)
1.4.1 Quality of Experience (QoE) in the MSC Platform
1.4.2 Robustness of the MSC Platform
1.4.3 Function-as-a-Service and Serverless Computing in the MSC Platform
1.5 A Bird-Eye View of the Multimedia Streaming Cloud (MSC)
Platform
References
2 Demystifying Multimedia StreamingWorkflow
2.1 Overview
2.2 Video Streaming Types
2.3 Video Transcoding
2.3.1 Bit Rate
2.3.2 Resolution
2.3.3 Frame Rate
2.3.4 Codec
2.4 Video Delivery
2.4.1 Packaging
2.4.2 Encryption
2.4.3 Streaming Protocols
2.5 Content Delivery Network (CDN)
2.6 Video Playback
2.7 Summary
References
xi
xii Contents
3 Multimedia Cloud: Designing a Special-Purpose Cloud platform for
Interactive Multimedia Streaming
3.1 Overview
3.2 Characterizing the Multimedia Streaming Cloud (MSC) Environment
3.2.1 Stakeholders of MSC
3.2.2 Characteristics of Multimedia Streaming Tasks
3.2.3 Uncertainty
3.3 Architecture of the Multimedia Streaming Cloud (MSC) Platform
3.3.1 Object-as-a-Service (OaaS) Abstraction in the MSC Platform
3.3.2 Enabling Object-as-a-Service (OaaS) Abstraction in the MSC Platform
3.3.3 Enabling Live Object Migration
3.3.4 Single Pane of Glass to Objects in MSC
3.4 Summary
References
4 Applications of Multimedia Clouds
4.1 Overview
4.2 Multimedia Streaming Types
4.2.1 On-Demand Multimedia Streaming
4.2.2 Live Multimedia Streaming
4.2.3 Live-to-VOD Streaming
4.2.4 Differences in Processing Live and VOD Streaming
4.3 Basic Services Offered by MSC
4.3.1 Multimedia Content Transcoding
4.3.2 Video Packaging
4.3.3 Analytical Services of Multimedia Streaming
4.4 Advanced Services Offered by MSC
4.4.1 Smart (AI-based) Multimedia Streaming Services
4.4.2 Augmented Reality (AR) and Virtual Reality (VR) Streaming
4.4.3 Holographic Multimedia Streaming
4.4.4 360_ Multimedia Streaming
4.5 Summary
References
5 Computing Infrastructure for Multimedia Streaming Clouds (MSC)
5.1 Overview
5.2 Virtualization Platforms for MSC
5.2.1 Case-Study: Appropriate Virtualization Platform for Multimedia Processing Using FFmpeg
5.3 Heterogeneous Computing for Multimedia Streaming Clouds (MSC)
5.3.1 Heterogeneous Resource Provisioning in MSC
5.3.2 Case-Study: Performance Analysis of Video Transcoding Operations on Heterogeneous Cloud VMs
Contents xiii
5.4 Performance-Cost Trade-Off of Multimedia Processing on Heterogeneous Cloud VMs
5.4.1 Modeling Performance versus Cost Trade-Off of Transcoding Tasks on Heterogeneous VMs
5.4.2 Case Study of the Cost Performance Trade-Off Model
5.5 Scheduling of Multimedia Segments on Heterogeneous Machines
in MSC 81
5.5.1 QoS-Aware Multimedia Task Scheduler
5.5.2 Self-Configurable Heterogeneous VM Provisioner
5.6 Case-Study: Making use of Heterogeneous Computing in Live-Streaming Industry
5.7 Summary
References
6 Service Reuse in Multimedia Clouds
6.1 Overview
6.2 Is Function Aggregation (Merging) Beneficial? A Case-Study on Video Transcoding
6.2.1 Introducing Video Benchmark Dataset
6.2.2 Case-Study: Benchmarking Execution-Time of Video Transcoding Tasks
6.2.3 Analyzing the Impact of Merging Video Tasks
6.3 Predicting the Execution-Time Saving of Aggregating Functions
6.3.1 A Model to Predict Execution-Time Saving
6.3.2 Gradient Boosting Decision Tree (GBDT) to Predict the Execution-Time Saving
6.3.3 Performance Evaluation of the Execution-Time Saving Predictor
6.4 Function Aggregation in the Admission Control Unit of MSC
6.5 Task Similarity Detection
6.5.1 Categories of Mergeable Tasks
6.5.2 Detecting Tasks of Similar Functions
6.6 Identifying Merging Appropriateness
6.6.1 Overview
6.6.2 Evaluating the Impact of Merging
6.6.3 Positioning Aggregated Tasks in the Scheduling Queue
6.7 Adapting Merging based on the Oversubscription Level
6.7.1 Overview
6.7.2 Quantifying Oversubscription in the MSC Platform
6.7.3 Adaptive Task Merging Aggressiveness
6.8 Summary and Discussion
References
xiv Contents
7 Low-Latency Delivery Networks for Multimedia Streaming
7.1 Overview
7.2 Content Delivery Networks (CDN)
7.3 Peer to Peer (P2P) Networks
7.4 Fog Delivery Networks (FDN) versus Content Delivery Networks (CDN)
7.4.1 Federated Fog Delivery Networks (F-FDN)
7.4.2 Efficient Operation of F-FDN
7.4.3 Introducing Different Streaming Delivery Methods for Evaluation
7.4.4 Evaluation of Stream Delivery Methods
7.5 Streaming Protocols
7.6 Case-Study: Low-Latency Streaming in Practice
7.7 Summary
References
8 Other Aspects of Multimedia Clouds
8.1 Domain-Specific Billing
8.2 Networking of the Multimedia Streaming Clouds
8.3 Security of Multimedia Streaming
8.3.1 Privacy
8.3.2 Digital Rights Management
8.4 Storage Service for Multimedia Contents
8.4.1 Cloud Storage for Multimedia Streaming
8.5 Summary
References
9 Prototype Implementation of the MSC Platform
9.1 Overview
9.2 Serverless Computing Paradigm in Practice
9.3 A Use Case for the MSC Platform
9.4 Characteristics of Multimedia Stream Processing
9.5 Architecture of the MSC Prototype Implementation
9.5.1 Media Repository
9.5.2 Service Repository
9.5.3 Request Ingestion
9.5.4 Task Admission Control
9.5.5 Task Queue
9.5.6 Task Scheduler
9.5.7 Task Execution Time Estimator
9.5.8 Execution Engine
9.5.9 Provisioning Manager and Elasticity Manager
9.5.10 Stream Manager
9.5.11 Media Caching
9.6 Performance Evaluation
Contents xv
9.6.1 Experimental setup
9.6.2 Evaluating Task Execution Unit Configurations
9.6.3 Evaluating Scheduling Policy
9.7 Summary
References
10 Future of Multimedia Streaming and Cloud Technology
10.1 Overview
10.2 Application-Specific Integrated Circuits (ASICs) in Domain-Specific Clouds
10.3 Efficient Scheduling of Functions on Heterogeneous Machines
10.4 Supporting both Live and On-Demand Multimedia Streaming on the same Underlying Resources
10.5 Blockchain Technology for Multimedia Streaming
10.6 Reuse and Approximate Computing of Functions in Multimedia Clouds and other Domain-Specific Clouds
10.7 Machine Learning for Multimedia Processing
10.8 Avoiding Bias in MSC and Other Domain-Specific Clouds
10.9 Dependability of Cloud-based Multimedia Streaming
References