A Scalable Video-On-Demand System Using Multi-Batch Buffering Techniques Cyrus C. Y. Choi and Mounir Hamdi, Member, IEEE IEEE ‘03 Transactions on Broadcasting
Outline Introduction Introduction The Multi-Batch Buffer (MBB) system The Multi-Batch Buffer (MBB) system Normal playback request Normal playback request VCR-like interaction request VCR-like interaction request Simulation results Simulation results
Introduction The current research focus on VoD system is on how to lower their cost and make them more scalable. The current research focus on VoD system is on how to lower their cost and make them more scalable. Services providing is essential to both normal playback and VCR-like interaction requests. Services providing is essential to both normal playback and VCR-like interaction requests.
Previous works Batching Batching Same video stream serves multiple users through multicast Same video stream serves multiple users through multicast Resource sharing (video stream, bandwidth) Resource sharing (video stream, bandwidth) Poor VCR-like interactions Poor VCR-like interactions Split and merge (SAM) Split and merge (SAM) Based on batching Based on batching Uses the synch buffer to handle interaction requests Uses the synch buffer to handle interaction requests Demands a high I/O power in the access node Demands a high I/O power in the access node
Multi-Bach Buffer (MBB) Server Server Store video frames in the disk Store video frames in the disk Local server Local server Be used to create virtual video streams (VVS) Be used to create virtual video streams (VVS) Set top box (STB) Set top box (STB) Located at the customers ’ side, can be either a hard disk or RAM Located at the customers ’ side, can be either a hard disk or RAM Real video streams (RVS) Real video streams (RVS) The video streams create by fetching video frames stored in the disks of the video server The video streams create by fetching video frames stored in the disks of the video server Virtual video streams (VVS) Virtual video streams (VVS) The video streams construct by prefetching RVSs or VVSs at the local servers ’ buffer The video streams construct by prefetching RVSs or VVSs at the local servers ’ buffer STB-VVS STB-VVS The virtual video stream created from set top box (STB) buffer The virtual video stream created from set top box (STB) buffer
Multi-Batch Buffer (MBB) Buffer of set top box Broadcast RVSs Create VVSs
Multi-Batch Buffer (MBB) Based on a hierarchy of storage devices Based on a hierarchy of storage devices Ensure multiples of batch time (T b ) between the start time of any two video streams Ensure multiples of batch time (T b ) between the start time of any two video streams
Introduction Introduction The Multi-Batch Buffer (MBB) system The Multi-Batch Buffer (MBB) system Normal playback request Normal playback request VCR-like interaction request VCR-like interaction request Simulation results Simulation results
Handling of video requests Reserve state Reserve state A video stream is waiting for the requests A video stream is waiting for the requests Operation state Operation state A video stream is serving the customers A video stream is serving the customers Potential video stream (PVS) Potential video stream (PVS) A video stream possible to be the source video stream A video stream possible to be the source video stream
Video start requests (VSR) Case i) A PVS exists in the reserve state Case ii) A PVS exists in the operation state Case iii) No PVS exists request a new RVS add to the batch group
Video interaction requests (VIR) Case i) T diff <= T stbbuffer T diff buffering SVS STB Interaction stream Interaction request
Video interaction requests (VIR) Case ii) T stbbuffer < T diff <= T b STB buffer time T vvsdiff buffering VVS STB Interaction stream Interaction request SVS-L Local S
Compared with SAM Video streams always start at i * Tb (i: integer) Video streams always start at i * Tb (i: integer) Easier to find a virtual video stream Easier to find a virtual video stream Supplies the buffer closer to the customers Supplies the buffer closer to the customers Reduces bandwidth consumption of the local server Reduces bandwidth consumption of the local server
Variation of MBB MI MI 1) Improves video start requests (VSR) with VVRs 1) Improves video start requests (VSR) with VVRs 2) Extends buffer size of STB and local server to T b (two times the size of origin) 2) Extends buffer size of STB and local server to T b (two times the size of origin)
Simulation (1) Video population distribution Video population distribution Zipf distribution: S * log (i) Zipf distribution: S * log (i) Video interaction modeling Video interaction modeling Probability of p for interaction requests Probability of p for interaction requests Number of RVSs and IVSs Number of RVSs and IVSs 50~300 and 25~200 resp. 50~300 and 25~200 resp. VSR arrival rate VSR arrival rate 60, 80, 120, 180, 360, 1200 req./hr 60, 80, 120, 180, 360, 1200 req./hr Video length Video length 2 hr. 2 hr. Basic resources Basic resources Include RVS, VVS, STB-VVS, … Include RVS, VVS, STB-VVS, …
Result (1) SAM vs. MBB: arrival rate & resources requirement S=1: 100/20 (100% of customers select the top 20% of the videos) S=4: 80/20 S=10: 50/20 High low video probabilities distribution
Result (1) SAM vs. MBB: Effective Batch time SAM vs. MBB: Average number of VSRs handled by a RVS
Result (2) Interaction handling of SAM and MBB system
Result (2) The reasons why the VIRs are not handled by VVS in the SAM and MBB system
Result (3) MBB vs. MI: arrival rate & resources requirement Percentage of VSRs handled by VVSs in MI system with zero blocking probabilities