I2ts10 - University of Houston

An Analysis of
Chaining Protocols for
Video-on-Demand
J.-F. Pâris
University of Houston
Thomas Schwarz, S. J.
Universidad Católica del Uruguay
Introduction

Video-on-demand lets
Different customers watch
 Different videos at
 Different times


Very high bandwidth requirements
Solutions (I)

Distributing server workload among
several sites
Content-delivery networks
 Local caches, …


Letting the server broadcast same
video data to all customers watching
the same video

Not possible on today's Internet
Solutions (II)

Let customers participate in the video
distribution
P2P solution
 Available distribution bandwidth grows
linearly with the demand
 Cheap and easy to deploy
 Requires everyone to cooperate
• Must penalize selfish customers

Chaining

One of the oldest VOD solutions


S. Sheu, K. A. Hua, and W.
Tavanapong. Chaining: A Generalized
Batching Technique for Video-onDemand Systems. Proc. ICMS
Conference, June 1997.
Involves clients in video distribution
process
Assumptions
Customers have enough upstream
bandwidth to forward the video to the
next client
 Customer buffer sizes do not allow
them to store entire videos


Can only store last β minutes
• A reasonable assumption in 1997
Basic chaining

Customer requests form a chain
First customer in the chain receives its
data from the server
 Subsequent customers receive their
data from their immediate
predecessor


Chain is broken each time two
consecutive requests are more than β
minutes apart
An example
Stream from server
Customer A
Stream from customer A
Customer B
b
Customer C
Stream from server
b
Expanded chaining

Assumes that

Customers have enough buffer space
to cache the whole contents of the
video
• Helps with rewind command

Customers will disconnect once they
have finished playing the video
• A realistic assumption
How it works
Customer A
From server
Customer B
From server
From A
From server
Dt
Customer C
SERVER
From B
Dt’
To A
To B
To C
Server bandwidth
requirements (2-hour video)
8
Server bandwidth (channels)
Expanded chaining
7
Chaining with a 6 minute buffer
Chaining with a 15 minute buffer
6
Chaining with a 30 minute buffer
5
Chaining with a one-hour buffer
4
3
2
1
0
1
10
100
Requests/hour
1000
Accelerated chaining

Has clients forward their video data to
the next client in the chain at a
slightly higher rate than the video
consumption

Acceleration factor will vary between
1.01 and 1.1
How it works
Customer A
From server
Customer B
From A
Dt
Customer C
SERVER
From server
From server
From B
Dt’
To A
To
B
To C
Server bandwidth
requirements (2-hour video)
Server bandwidth (channels)
1.2
1
Expanded chaining
1% acceleration
2% acceleration
5% acceleration
10% acceleration
0.8
0.6
0.4
0.2
0
1
10
100
Requests/hour
1000
Motivation for further work

All these results were obtained
through discrete simulation


Mere numerical values
Could we not use analytical methods?
Would get algebraic solutions
 Could derive maxima/minima

Our assumptions
D is video duration
 β is buffer size
 λ is customer arrival rate
 f is video acceleration rate
 Time between arrivals is governed by
the exponential distribution with
probability density function

p(t) = λ e-λt
Basic chaining (I)

Two cases to consider
Interarrival time is less than β
• Previous customer forwards the video
• No server workload
 Interarrival time is more than β
• Server transmits whole video

Basic chaining (II)

Average server workload per video is
w

b
0 0.e
 De

 t

dt   De
b
 b
Average server bandwidth is
B  w  De
b
 t
dt
Expanded chaining (I)

Two cases to consider
Interarrival time Δt is less than D
• Previous customer forwards part of
the video (D – Δt)
• Server transmits remaining part
(Δt)
 Interarrival time Δt is more than D
• Server transmits whole video

Expanded chaining (II)
Customer A
From server
First case:
Customer B
Dt
From A
Second case:
Customer C
From server
Dt’ > D
Expanded chaining (III)

Average server workload per video is
w

D

0 te

1

 t
(1  e

dt   De
D
 D
)
Average server bandwidth is
B  w  1  e
D
 t
dt
Accelerated chaining (I)

Two cases to consider

Interarrival time Δt is less than D
• Previous customer forwards part of
the video:
min(D, f (D – Δt))
• Server transmits remaining part
 Interarrival time Δt is more than D
• Server transmits whole video
Accelerated chaining (II)

Result is a fairly complicated
expression
B 
exp( D )(exp(  D )  1)
with ρ = 1/f

Comparing analytical results
with simulation results (I)
8
Server bandwidth (channels)
Expanded chaining
7
Chaining with a 6 minute buffer
6
Chaining with a 15 minute buffer
Chaining with a 30 minute buffer
5
Chaining with a one-hour buffer
4
3
2
1
0
1
10
100
Requests/hour
1000
Comparing analytical results
with simulation results (II)
Server bandwidth (channels)
1.2
1
Expanded chaining
0.8
One percent faster
Two percent faster
0.6
Five percent faster
Ten percent faster
0.4
0.2
0
1
10
100
Requests/hour
1000
Conclusion

Very good agreement between
analytical and simulation results


Two techniques validate each other
Analytical results provide a better
investigation tool than simulation
results

Can compute bandwidth maxima, …
Future work

Add an incentive mechanism

To penalize freeloaders

Investigate how mechanism interacts
with protocol

Implement fast forward/jump

Develop a test bed implementation
Handling early termination:
Original schedule
Customer A
From server
From server
Customer B
From A
From server
Dt
Customer C
SERVER
From B
Dt’
To A
To B
To C
Handling early termination:
After customer B leaves
Customer A
From server
Was from B
Customer B
Already played
Dt
Customer C
SERVER
From A
Dt’
To A
To C
From server