vCache: Supporting Cost-Efficient Adaptive Bitrate Streaming via NFV-Based Virtual Caching
Adaptive bitrate (ABR) streaming is widely adopted to tackle the diversity of user devices and varying network conditions. With ABR, each video must be transcoded into multiple representations in different bitrates and resolutions. It consumes tremendous resources for transcoding and caching videos, yet only a small percentage of video chunks are frequently requested. This raises the question: is it necessary to pre-transcode each video and keep the video chunks of all representations in storage? To answer it, we design a NFV-based virtual cache (vCache) for ABR. In vCache, video chunks have two mutually-exclusive caching states: physically cached or virtually cached. A physically cached video chunk can be read from storage directly, and it consumes storage resources. A virtually cached video chunk will be transcoded on the fly when being requested, and it consumes computing resources. Leveraging NFV infrastructure, vCache can dynamically manages the caching states of each video chunk to achieve overall cost-efficiency, and dynamically provision computing resources for transcoding to guarantee transcoding delays are within an acceptable range. Experiment results demonstrate that vCache can greatly reduce the operational cost for ABR.