480 likes | 500 Views
Explore video streaming solutions like unicast and multicast to cater to client requests efficiently with minimal latency and optimal bandwidth utilization.
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)