750 likes | 762 Views
It is not Beauty I Demand – George Darley. Video on Demand. One video server Many video data Many clients Client want to watch at any time. Assumptions. Constant bitrate stream Perfect network transport. Unicast Solution. One channel per client No start-up latency No client buffer
E N D
Video on Demand • One video server • Many video data • Many clients • Client want to watch at any time NUS.SOC.CS5248 OOI WEI TSANG
Assumptions • Constant bitrate stream • Perfect network transport NUS.SOC.CS5248 OOI WEI TSANG
Unicast Solution • One channel per client • No start-up latency • No client buffer • Low client bandwidth • Large server bandwidth • Not scalable NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • aggregate client requests • serve using multicast • clients have to wait • No client buffer • Low client bandwidth “Scheduling Policies for an On-Demand Video Server with Batching” Dan, Sitaram, Shahabuddin, IBM NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • User-centered approach • Scheduling data based on user requests • Data-centered approach • Don’t care about user • Just broadcast popular video NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • Staggered Broadcast NUS.SOC.CS5248 OOI WEI TSANG
Staggered Broadcast Video C0 C1 C2 : NUS.SOC.CS5248 OOI WEI TSANG
Staggered Broadcast • 2 hour video • 5 minutes waiting time • Number of channels = 2 x 60 / 5 = 24 • Required bandwidth = 1.5Mbps x 24 = 36Mbps NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • Staggered Broadcast • clients have to wait • No client buffer • Low client bandwidth • Huge server bandwidth NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • Staggered Broadcast • Periodic Broadcast NUS.SOC.CS5248 OOI WEI TSANG
Periodic Broadcast Video C0 C1 C2 : NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Broadcast Video C0 C1 C2 : NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Broadcast Video 1 Video 2 C0 C1 C2 : NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Broadcast Video C0 C1 C2 : NUS.SOC.CS5248 OOI WEI TSANG
Analysis of Pyramid Broadcast • Notations • B : Total available bandwidth • Bv : Bandwidth of video • Tv : Total length of each video • K : Number of segments per video • Ti : Length of segment i • : Factor in geometric series NUS.SOC.CS5248 OOI WEI TSANG
Channel Bandwidth playback time = Ti i i+1 i+1 D’oh! Just miss it! download time = Ti+1Bv/Bi Download time for Ti+1 needs to be smaller than Ti for segment i+1 to arrive in time. NUS.SOC.CS5248 OOI WEI TSANG
Channel Bandwidth NUS.SOC.CS5248 OOI WEI TSANG
= 2 NUS.SOC.CS5248 OOI WEI TSANG
Start-up Latency • Worst case waiting time = T1 NUS.SOC.CS5248 OOI WEI TSANG
Optimal T1 2.5 NUS.SOC.CS5248 OOI WEI TSANG
Storage Requirements ~ (TK + TK-1)Bv NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Broadcast • Large client bandwidth (KBv) • Huge client buffer (70–80% Tv) NUS.SOC.CS5248 OOI WEI TSANG
Permutation-based Pyramid Broadcast C0 C1 C2 NUS.SOC.CS5248 OOI WEI TSANG
Channel Bandwidth playback time = Ti i i+1 i+1 i+1 i+1 D’oh! Just miss it! download time = Ti+1Bv/Bi X X needs to be smaller than Ti for segment i+1 to arrive in time. NUS.SOC.CS5248 OOI WEI TSANG
Channel Bandwidth p : number of sub-channels per segments NUS.SOC.CS5248 OOI WEI TSANG
Client Latency Just T1/p NUS.SOC.CS5248 OOI WEI TSANG
Storage Requirement • One channel at a time • Can pause and wait NUS.SOC.CS5248 OOI WEI TSANG
Storage Requirement pause k-1 k-1 k resume k Within time X, better not consume all data in buffer. X NUS.SOC.CS5248 OOI WEI TSANG
Storage Requirement Let buffer content be of size M Time to consume the buffer = M/Bv NUS.SOC.CS5248 OOI WEI TSANG
Comparisons Carter, Long and Paris “Video on Demand Broadcasting Protocols” NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Broadcasting NUS.SOC.CS5248 OOI WEI TSANG
Skyscraper Broadcasting • Observations: • storage requirement is affected by size of the largest chunk So, let’s limit the size of the largest chunk! NUS.SOC.CS5248 OOI WEI TSANG
Pyramid Skyscraper NUS.SOC.CS5248 OOI WEI TSANG
Skyscraper Broadcasting • Uses series 1 2 2 5 5 12 12 25 25 52 52 … W W W NUS.SOC.CS5248 OOI WEI TSANG
Skyscraper Example NUS.SOC.CS5248 OOI WEI TSANG
Skyscraper Example NUS.SOC.CS5248 OOI WEI TSANG
Comparisons Carter, Long and Paris “Video on Demand Broadcasting Protocols” NUS.SOC.CS5248 OOI WEI TSANG
Other schemes • Pagoda Broadcasting1 3 5 15 25 75 125 … • Harmonic Broadcasting Equal segment size, varies bandwidth instead! NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • Staggered Broadcast • Periodic Broadcast • Sending rate ≥ playback rate • May need multiple channels • Need additional client buffer • Need to wait NUS.SOC.CS5248 OOI WEI TSANG
Multicast Solution • Batching • Staggered Broadcast • Periodic Broadcast • Patching NUS.SOC.CS5248 OOI WEI TSANG
Patching Time mcast unicast Client Request NUS.SOC.CS5248 OOI WEI TSANG
Patching Patching Window: W Time mcast mcast Client Request NUS.SOC.CS5248 OOI WEI TSANG
Grace Patching ifW < B client buffer video[W .. end] unicast video[0 .. W] else mcast video[0 .. end] NUS.SOC.CS5248 OOI WEI TSANG
Example • 30 minutes video • 15 minutes buffer • One request per minute NUS.SOC.CS5248 OOI WEI TSANG 465.271.225
Example • What if patching window = 5 min? NUS.SOC.CS5248 OOI WEI TSANG
Supporting VCR Operations • Pause • Fast Forward • Rewind • Forward Search • Backward Search • Slow Mo NUS.SOC.CS5248 OOI WEI TSANG
Two Types of Operations • Continuous (all) • Discrete Time (pause,ff,rwd) NUS.SOC.CS5248 OOI WEI TSANG
Discrete Time • Easier to implement • Simple in staggered broadcasting NUS.SOC.CS5248 OOI WEI TSANG
Continuous Time • Requires buffering of future frames and previous frames Abram-Profeta and K.G. Shin, "Providing Unrestricted VCR Functions in Multicast Video-on-Demand Servers," NUS.SOC.CS5248 OOI WEI TSANG