380 likes | 390 Views
Explore on-demand multicast, periodic broadcast, application-layer multicast, and peer-to-peer video services for efficient and affordable video streaming. Learn about patching, double patching, and the client-centric approach.
E N D
Large-Scale and Cost-Effective Video Services CS587x Lecture Department of Computer Science Iowa State University
Contents • On-demand Multicast • Periodic Broadcast • Application-Layer Multicast • Peer-to-Peer Video Services
What to Cover Today • On-demand Multicast • Patching • Double Patching • Periodic Broadcast • Client Centric Approach
Server Channels • Videos are delivered to clients as a continuous stream. • Server bandwidth determines the number of video streams can be supported simultaneously. • Server bandwidth can be organized and managed as a collection of logical channels. • These channels can be scheduled to deliver various videos.
Using Dedicated Channel Video Server Dedicated stream Client Client Client Client TooExpensive!
Video Server Multicast stream Client Client Client Client Batching • Make requests wait and then serve together • Drawbacks: • If the waiting is too long, many requests may renege • If the waiting is too short, each multicast can serve only one request
Adaptive Piggybacking • Video streams are merged by adjusting their playback rates new arrivals -5% +5% C B A departures • Drawbacks: • The adjustment of playback rate must be small • Adjusting playback rate needs specialized hardware
Research Challenge • Each request should be served immediately • Each multicast should serve a large number of requests
Motivation Example video multicast A
Motivation Example skew point video t multicast video player buffer A B
Motivation Example skew point video t regular stream patching stream multicast video player buffer A B
Motivation Example regular stream video 2t multicast video player buffer A B
Proposed: Patching time patching window patching window r p p p r p p A B C D E F G Multicast group Multicast group
Optimal Patching Window D • Server Bandwidth Requirement = • Candidates of optimal patching window : W
Limitation of Patching Performance • Patching cost increases as the time gap enlarges regular stream A 0 t t+1 t+2 patching stream B 0 t patching stream C 0 t t+1 • Serving B and C takes 2t+1 time units of data
Motivation Example regular stream A 0 t t+1 t+2 t+3 long patching stream B 0 t t+1 t+2 short patching stream C 0 • Serving B and C takes only t+3 time units of data • About 50% improvement when t is large!
Observation regular stream A long patching stream B T short patching stream C short patching stream D T / 2 T • A patching stream is shareable in the next time units if it delivers extra T time units of data 2
Proposed: Double Patching time multicast window Multi… patching window patching window Patch… r sp sp sp lp sp sp r sp A B C D E F G H I
Performance Optimization • The data delivered during one multicast window • by the regular stream: • by the long patching streams: • by the short patching streams:
Effect of Inter-Arrival Time 70 60 50 Standard Patching Double Patching Mean Server Bandwidth Requirement (Mbit/s) 40 30 20 10 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 Mean inter-arrival time (seconds)
Periodic Strategy • Conventional Periodic Broadcasting [Dan94, Dan96] • Broadcast period is reduced to • Research Challenge • Reduce the broadcast period to ?
Motivation Example • Design Parameters : ( K = 4, C = 2 ) • Video Segmentation : [ 1, 2, 2, 4 ] video length D1 D2 D3 D4 Group 1: D1 D2 Group 2: D3 D4
Motivation Example (con’t) • Broadcast schedule D1 D1 D1 D1 D1 D1 D1 D1 Channel 1 Group 1 D2 D2 D2 D2 Channel 2 D3 D3 D3 D3 Channel 3 Group 2 D4 D4 Channel 4
Motivation Example (con’t) • Clients download segments group by group a D1 Channel 1 Group 1 D2 Channel 2 D3 Channel 3 Group 2 D4 Channel 4
Motivation Example (con’t) • Clients download segments group by group a b D1 Channel 1 Group 1 D2 Channel 2 D3 Channel 3 Group 2 D4 Channel 4
Motivation Example (con’t) • Continuity within group • Continuity across group boundary D1 D1 Group 1 D2 D2 D2 Channel 2 D3 Channel 3
Download Bandwidth vs. Access Latency #Channels 1 2 3 4* Segmentation [ 1, 1, 1, 1 ] [ 1, 2, 2, 4 ] [ 1, 2, 4, 4 ] [ 1, 2, 4, 8 ] Latency
Proposed: Client-Centric Approach • Design Parameters • K broadcast channels and C download channels Video Segmentation 1 2 .. C Group 1 2 : K C g =
Significance and Impact of CCA • CCA is the first generalized technique to leverage receiving bandwidth for more efficient broadcast • CCA can be modified to support receivers with different downloading bandwidth [Hua02, Hua03]
What is the limit? • The first segment determines the broadcast period • How to make this segment as small as possible under the condition that playback continuity is guaranteed • Continuity within group • Continuity across group boundary D1 D1 Group 1 D2 D2 D2 Channel 2 D3 Channel 3
Question L1 Lj Li+c-1 • What is the maximum size of Si+c? • Depend on which loader is used to download
Segmentation Rule L1 Lj Li+c-1 • If Lj is used to download, Si+c can be any size as long as • It is a multiple of Sj • It is no larger than Sj+Sj+1+Si+c-1
Download Schedules (C=2) Schedule 1 Group 1 Group 2 Group 3 L1 S1, 1 S2, 1 S2, 1 S1, 2 S2, 2 S2, 2 L2 Broadcast series: 1, 2, 3, 4, 6, 8, 16 …. Schedule 2 Group 1 Group 2 Group 3 L1 S1, 1 S2, 1 S2, 1 S1, 2 S2, 2 S2, 2 L2 Broadcast series: 1, 2, 2, 5, 5, 12, 12, 25, 25 …
Client-Centric Broadcast (CCB) Assuming C-channel receiving capability, we have C! different download schedules For each download schedule, we have one broadcast series Among C! broadcast series, choose the fastest one
Segmentation Implementation Si in Group g is download by loader L[i]