large-scale and cost-effective video services cs587x lecture department of computer science iowa...
DESCRIPTION
On-demand Multicast –Patching –Double Patching Periodic Broadcast –Client Centric Approach What to Cover TodayTRANSCRIPT
Large-Scale and Cost-Effective Video Services
CS587x LectureDepartment of Computer Science
Iowa State University
• On-demand Multicast
• Periodic Broadcast
• Application-Layer Multicast
• Peer-to-Peer Video Services
Contents
• On-demand Multicast– Patching
– Double Patching
• Periodic Broadcast– Client Centric Approach
What to Cover Today
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
Client
Too Expensive !Client
Client
Client
Dedicated stream
Batching
• Make requests wait and then serve together
Video Server
Client
Client
Client
Client
Multicast stream
• 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
departures
+5% -5%C B A
• 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
A
multicast
Motivation Example
video player bufferB
videot
skew point
A
multicast
Motivation Example
videot
patching stream
skew point
regular stream
video player bufferB
A
multicast
Motivation Example
video2t
regular stream
video player bufferB
A
multicast
Proposed: Patching
A
r
B
p
C
p
D
p
E
r
F
p
G
ppatching window patching window
Multicast group Multicast group
time
Optimal Patching Window
• Server Bandwidth Requirement =
• Candidates of optimal patching window :
D W
Limitation of Patching Performance
• Patching cost increases as the time gap enlarges
regular streamA t+1t t+20
t0
t0 t+1
patching stream
patching stream
B
C
• Serving B and C takes 2t+1 time units of data
Motivation Example
• Serving B and C takes only t+3 time units of data• About 50% improvement when t is large!
regular streamt+1t t+20
t0
0
long patching stream
short patching stream
t+1 t+2
t+3A
B
C
Observation
• A patching stream is shareable in the next time units if it delivers extra T time units of data
T
regular streamlong patching stream
short patching streamshort patching stream
A
B
C
D
T 2
T / 2
Proposed: Double Patching
r sp sp sp lp sp sp r sp
multicast window
time
patching window patching window
A B C D E F G H I
Multi…
Patch…
• The data delivered during one multicast window– by the regular stream: – by the long patching streams:
– by the short patching streams:
Performance Optimization
10
20
30
40
50
60
70
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
Mea
n Se
rver
Ban
dwid
th R
equi
rem
ent (
Mbi
t/s)
Mean inter-arrival time (seconds)
Standard Patching
Double Patching
Effect of Inter-Arrival Time
Periodic Strategy
• Conventional Periodic Broadcasting [Dan94, Dan96]
– Broadcast period is reduced to
• Research Challenge
– Reduce the broadcast period to ?
Motivation Example
D1 D2 D3 D4
video length
• Design Parameters : ( K = 4, C = 2 )
• Video Segmentation : [ 1, 2, 2, 4 ]
Group 1: D1 D2
Group 2: D3 D4
Motivation Example (con’t)
• Broadcast schedule
Channel 1
Channel 2
Channel 3
Channel 4
D1 D1 D1 D1 D1 D1 D1 D1
D2 D2 D2 D2
D3 D3 D3 D3
D4 D4
Group 1
Group 2
Motivation Example (con’t)
• Clients download segments group by group
Channel 1
Channel 2
Channel 3
Channel 4
a
D1
D2
D3
D4
Group 1
Group 2
Motivation Example (con’t)
• Clients download segments group by group
Channel 1
Channel 2
Channel 3
Channel 4
a
D1
D2
D3
D4
Group 1
Group 2
b
• Continuity within group
• Continuity across group boundary
D2Group 1
D1 D1
D3
Channel 2D2
Channel 3
Motivation Example (con’t)
D2
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
Group
Video Segmentation1 2 .. C
1
2
:K
Cg =
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
1. Continuity within group
2. Continuity across group boundary
D2Group 1
D1 D1
D3
Channel 2D2
Channel 3
D2
Question
• What is the maximum size of Si+c?
• Depend on which loader is used to download
L1
Lj
Li+c-1
Segmentation Rule
If Lj is used to download, Si+c can be any size as long as
1) It is a multiple of Sj
2) It is no larger than Sj+Sj+1+Si+c-1
L1
Lj
Li+c-1
There are only three possible alignments
There are only three possible alignments
There are only three possible alignments
Download Schedules (C=2)
S1, 1
S1, 2
S2, 1
S2, 2
Schedule 1Group 1 Group 2
S2, 1
S2, 2
Group 3
L1
L2
S1, 1
S1, 2
S2, 1
S2, 2
Group 1 Group 2
S2, 1
S2, 2
Group 3
L1
L2
Schedule 2
Broadcast series: 1, 2, 3, 4, 6, 8, 16 ….
Broadcast series: 1, 2, 2, 5, 5, 12, 12, 25, 25 …
Client-Centric Broadcast (CCB)
1. Assuming C-channel receiving capability, we have C! different download schedules
2. For each download schedule, we have one broadcast series
3. Among C! broadcast series, choose the fastest one
Segmentation Implementation
Si in Group g is download by loader L[i]