510 likes | 670 Views
Video On Demand. 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 Low client bandwidth
E N D
Video on Demand • One video server • Many video data • Many clients • Client want to watch at any time NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Assumptions • Constant bitrate stream • Perfect network transport NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Solution • Batching • Staggered Broadcast NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Staggered Broadcast Video C0 C1 C2 : NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Solution • Batching • Staggered Broadcast • clients have to wait • No client buffer • Low client bandwidth • Huge server bandwidth NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Solution • Batching • Staggered Broadcast • Periodic Broadcast NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Periodic Broadcast Video C0 C1 C2 : NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pyramid Broadcast Video C0 C1 C2 : NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pyramid Broadcast Video C0 C1 C2 : NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by 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 segment i+1 needs to be smaller than Ti for it to arrive in time. NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Channel Bandwidth NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
= 2 NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Start-up Latency • Worst case waiting time = NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Optimal T1 2.5 NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Storage Requirements NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pyramid Broadcast • Large client bandwidth (KBv) • Huge client buffer (70–80% Tv) NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Permutation-based Pyramid Broadcast C0 C1 C2 NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Channel Bandwidth NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Client Latency NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Storage Requirement • One channel at a time • Can pause and wait NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Storage Requirement pause k-1 k-1 k k resume Within time X, better not consume all data in buffer. X NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Storage Requirement NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Comparisons Carter, Long and Paris “Video on Demand Broadcasting Protocols” NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pyramid Broadcasting NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pyramid Skyscraper NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Skyscraper Broadcasting • Uses series 1 2 2 5 5 12 12 25 25 52 52 … W W W NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Skyscraper Example NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Skyscraper Example NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Comparisons Carter, Long and Paris “Video on Demand Broadcasting Protocols” NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Other schemes • Pagoda Broadcasting1 3 5 15 25 75 125 … • Harmonic Broadcasting Equal segment size, varies bandwidth instead! NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by 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-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Solution • Batching • Staggered Broadcast • Periodic Broadcast • Patching NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Patching Time mcast unicast Client Request NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Patching Patching Window: W Time mcast mcast Client Request NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Grace Patching ifW < B client buffer video[W .. end] • 30 minutes video • 1 client arrival per minute • Total data delivered = NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Scenario 1: B = 15mins • 30 minutes video • 1 client arrival per minute • Total data delivered = NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Scenario 2: B = 5mins • 30 minutes video • 1 client arrival per minute • Total data delivered = NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Scenario 3: B = 2mins • 30 minutes video • 1 client arrival per minute • Total data delivered = NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Summary • Batching (User Centered) • Staggered Broadcast (Data Centered) • Periodic Broadcast (Data Centered) • Patching (True VOD) NUS.SOC.CS5248-2010 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)