reference: https://ieeexplore.ieee.org/document/7999149
growing demand for video traffic
low quality of viewing experiences
Each video is transcoded into multiple representations and then cached in streaming servers.
A media presentation description (MPD) file is required to manifest the available representations for a video.
When starting a video session, the video player
Transcoding
Caching multiple representations
Is it necessary to pre-transcode each video and cache all video chunks?
the video chunk is cached ➜ can be directly read from storage
only the metadata of the video chunk is cached
metadata contains
The MPD files are cached in streaming servers to manifest the available representations of each video.
When starting a new session, the video player
The streaming server will
read the requested video chunks in vCache
(dynamically cached / transcoded on the fly).
vCache manages video chunks dynamically
1. dynamically provision resources
transcoding delays <= acceptable range
2. strike a tradeoff between storage and computing costs
➜ reduce the operational costs of ABR streaming
receives a request ➜ locates the video chunk
analyzes the request information
dynamically determines whether a video chunk should be physically or virtually cached
Goal: reduce the overall cost
A virtually cached video chunk will be transcoded on the fly when being requested ➜ delays
dynamically provisions resources
transcoding workload is time varying
ensure that transcoding delays <= an acceptable range
vCache receives a request for a video chunk
➜ looks up the requested video chunk
➜ reads and delivered / sends a transcoding request
The dispatcher equally dispatches transcoding requests among the active virtual machines (VMs) for load balancing.
A transcoding server will transcode the requested video chunk on the fly when receiving a request.