Design of an Interactive
Video-on-Demand System
Yiu-Wing Leung, Tony K. C. Chan
IEEE Transactions on Multimedia,
March 2003
Outline
Introduction
System Design
Broadcast Delivery Schemes
Interactive Operations
Design Consideration
Examples
Conclusion
2
Introduction
An interactive VOD system retrieves video
programs from its storage and delivers them
to the customers through an information
network.
The customers can select and watch video
programs at their convenient time and place.
They can interact with the programs via
interactive operations such as pause, fast-
forward, and rewind.
3
Introduction (Cont.)
Client-Server Design
It maintains a dedicated video stream for each
ongoing customer.
When the customer performs an interactive
operation, the system retrieves and delivers the
corresponding video for him.
Broadcasting Design
It broadcasts multiple streams of the same video
program at staggered times periodically.
To watch a video program, a customer waits
until a new video stream for this program is
broadcast and then he receives this stream.
4
Introduction (cont.)
A New Design
Between the VOD warehouse and the
customers, we adopt a client-server paradigm to
provide an interactive service.
Within the VOD warehouse, we adopt a
broadcast delivery paradigm to support many
concurrent customers.
Small access delay (30 s)
Each video stream requires a small buffer size.
5
System Design
Basic System Architecture
A user requests via a low bit rate
The VOD delivers the requested video to
this customer via a high bit-rate channel.
Scalability
To serve more concurrent users, we add
more proxies.
To provide more video programs, we add
storage and optical fibers.
6
System Design (cont.)
Fig. 1. VOD system architecture.
7
System Design (cont.)
(a)
(b)
Fig. 2. Multiple optical fibers can be used to provide a large number of video
programs. (a) Every proxy is tapped to one of the optical fibers. (b) Every
proxy is tapped to any one of the optical fibers via a directional coupler. 8
Broadcast Delivery Schemes
Basic Broadcast Delivery
Interleaved Broadcast Delivery
9
Basic Broadcast Delivery
Delivery Schedule
We let Rc the bit rate of each optical channel and
Rv be the video playback rate.
Time is divided into cycles where all the pages
are broadcast once in a cycle.
The proxy tunes its receiver to channel 1, and
waits until the beginning of the coming cycle.
Then it retrieves page 1 from channel 1, and at
the same time delivers this page to the customer
at the video playback rate Rv through an
information network.
10
Basic Broadcast Delivery (cont.)
(b)
(a)
Fig. 4. (a) Proxy retrieves the shaded pages. (b) Proxy delivers the retrieved
11
pages to the customer.
Basic Broadcast Delivery (cont.)
Buffer Size
The maximum buffer occupancy is equal to [(retrieval
rate – delivery rate) x duration of a slot] = RvTc.
Tuning Time
The maximum permissible tuning time is Tc seconds.
Slot duration
The slot duration depends on Tc , Rc and Rv .
A cycle has p slots and it duration is Tc.
A page contains RcTc / p bits.
The proxy delivers this page to the customer in p + 1 slots
at rate Rv , so a page contains Rv (p+1)Tc / p .
P = (Rc - Rv) / Rv .
The duration of a slot is equal to Tc / p = Tc Rv / (Rc - Rv).
12
Basic Broadcast Delivery (cont.)
(c)
Fig. 4. (c) Buffer occupancy in the proxy versus time. The buffer
13
size required by the proxy is RvTc
Interleaved Broadcast Delivery
Delivery Schedule
Interleaving was proposed to reduce the buffer
size for VOD storage systems.
Divide each page into m minipages
Interleave them in a cycle so that each proxy is
only required store at more one minipage at any
time.
A minipage is broadcast in one minislot in a
channel.
To ensure continuous video delivery, a page
must last for one cycle and one minislot
(Tc + Tc / pm)
14
Interleaved Broadcast Delivery
(cont.)
(a)
15
Fig. 6. (a) Proxy retrieves the shaded pages
Interleaved Broadcast Delivery
(cont.)
(b)
Fig. 6. (b) Proxy delivers the retrieved pages to the customer.
16
Interleaved Broadcast Delivery
(cont.)
The buffer size required by the proxy
In the first minislot, buffer occupancy x1 is
[(retrieval rate – delivery rate) x duration of a minislot]
=RvTc(1+1/mp – 1/p) / m
The buffer occupancy y1 is decreasing with time until the end
of the third minislot. The buffer y1 is
[x1– delivery rate x duration of two minislot] = RvTc / m2p
x2 is [y1 + (retrieval rate – delivery rate) x duration of a minislot]
= RvTc(1 + 2/mp – 1/p) / m
y2 is [x2– delivery rate x duration of two minislot] = 2RvTc / m2p
x3 is [y2 + (retrieval rate – delivery rate) x duration of a minislot]
= RvTc / m
17
Interleaved Broadcast Delivery
(cont.)
Fig. 6. (c) the buffer size
required by the proxy is
equal to x3 = RvTc / m
18
(c)
Interleaved Broadcast Delivery
(cont.)
Tuning Time
The maximum permissible tuning time is Tc / m
second.
Minislot Duration
m minipages contain a total of RcTc / p bits
The proxy delivers these m minipages to the
customer in mp + 1 minislots at rate Rv
So m minipages contain Rv (mp +1) Tc / mp bits
p = Rc / Rv - 1/m
The minislot duration is Tc / mp = TcRc / (mRc - Rv)
19
Broadcast Delivery
Comparison
TABLE I. Basic Broadcast Delivery versus Interleaved Broadcast Delivery
20
Interactive Operations
Pause
When the customer issues a pause command, the
playout point of the video program is “frozen”.
Fast Forward (FF)
When the customer issues a fast forward command,
the video program is played at a faster and constant
rate.
Fast Rewind (FR)
When the customer issues a fast rewind command,
the video program is played in reverse order at a fast
and constant rate.
21
Pause Operation
When a customer issues a pause command
to the proxy at time t,
the proxy stops retrieval/delivery temporarily.
When the user issues a resume command
at time t',
the proxy resumes retrieval/delivery at the
playout point where it is pause.
The proxy resumes retrieval/delivery at time
nTc + t where n is an integer .
such that (n – 1)Tc + t < t' ≤ nTc + t .
22
Pause Operation (cont.)
(a) (b)
Fig. 7. (a) Ideal pause operation. (b) Approximate pause operation.
23
Fast Forward Operation
The approximate FF operation, it plays a
small portion of video at normal rate, then
skips a portion, then plays a small portion,
and then skips a portion, etc.
If the cycle duration is shorter, the
approximation is closer to the ideal one.
The realization at the minipage level is
better then that at the page level because a
minipage lasts for a short duration.
24
Fast Forward Operation (cont.)
(a) (b)
Fig. 8. (a) Idea fast forward operation. (b) Approximate fast forward operation.
25
Fast Forward Operation (cont.)
(a)
(b)
Fig. 9. Realization of approximate fast forward operation: the proxy only
retrieves and delivers the shaded pages. (a) Realization at the page level.
(b) Realization at the minipage level. 26
Fast Forward Operation (cont.)
4RvTc /3
2-times fast forward
27
Fast Rewind Operation
The approximate FR operation, it plays a
small portion of video at the normal rate,
then skips a previous portion, then plays a
small portion, and then skips a previous
portion, etc.
If the cycle duration is shorter, the
approximation is closer to the ideal one.
The realization at the minipage level is
better than that at the page level because a
minipage lasts for a shorter duration.
28
Fast Rewind Operation (cont.)
(a) (b)
Fig. 10. (a) Idea fast rewind operation. (b) Approximate fast rewind operation.
29
Fast Rewind Operation (cont.)
(a)
(b)
Fig. 11. Realization of approximate fast rewind operation: the proxy only
retrieves and delivers the shaded pages. (a) Realization at the page level.
(b) Realization at the minipage level. 30
Design Issues
Proxy:
Each proxy is a simple logical unit for reception and transmission.
It receives one page per cycle and therefore its receiver is
utilized in only one of the p slots in each cycle.
Cost-effectiveness:
To serve one additional concurrent customer, it is only necessary
to add one proxy and it is not necessary to add the other
resources.
Optical bandwidth:
The proposed system uses an optical fiber within the VOD
warehouse.
An optical fiber is cheap, and its current price is about U.S. $0.2
per yard.
Each channel is operated at the OC-1 rate 50Mbps/channel, an
optical fiber can still provide a capacity of 100x50 Mbps = 5 Gbps.
31
Design Issues (cont.)
I/O bandwidth:
Given a broadcast delivery schemes, the pages or minipages can be
stored in such a way that are read sequentially from the storage for
broadcasting, the I/O bottleneck can be avoided.
I/O speed and channel bit rate:
We can match the I/O speed of a disk with the bit rate of an optical
channel
The system can simply read from a disk for broadcasting over an optical
channel.
MPEG Video:
Within the VOD warehouse, each minipage contains an integral number
of groups,
and its size is larger than the average size of these groups by a specified
percentage margin in order to accommodate their variable sizes.
Video playback rate and duration:
Different video programs can occupy different number of optical channel.
It can accommodate video programs with different playback rate (e.g. 1.5
Mbps for MPEG-1 and Mbps for MPEG-2)and different duration (e.g. 90
min and 120 min).
32
Selection of Design Parameters
Cycle Duration Tc :
If Tc is larger, a smaller number of optical fibers is needed.
If Tc is larger, the mean access delay is longer.
Number of Optical Fibers NF :
The number of optical fibers required NF depends on
number of video programs, the durations of these
programs, and the cycle duration.
Each optical channel can broadcast RcTc bit in a cycle.
If the ith video program has a duration of Ti s , it has RvTi
bits and hence it requires Ci channels where
RT
T
Ci v ii 1≤i≤M. (1)
RcTc
Each video program is broadcast in one optical filber.
When C1 + C2 +…+ CM < Nc , an optical fiber can already
broadcast all the video programs and hence NF = 1.
33
Selection of Design Parameters
(cont.)
Number of Proxies S:
The server provider can specify an acceptable blocking
probability PB*
Assume the arrivals of requests of new VOD sessions follow a
Poisson process with rate λ,
Let 1/μ be the mean duration of a VOD session.
The system of S proxies can be modeled as an M/G/S/S queue.
S
1
S!
PB k (2)
S
1
k!
k 0
Number of Minipages Per Page m:
The actual tuning time must be equal to or smaller than the
maximum permissible tuning time Tc /m.
Each minipage may have to contain at least a certain number of
frames.
34
Example 1
Simulate and test the proposed system using
OPNET.
One user requesting a new VOD session in every
second on average (ie., λ= 1 request/s).
The mean duration of a VOD session is 100
minutes (ie., 1/μ=100 min).
Video is compressed by MPEG with nine frames
per group,
Each minipage contains at last two groups of
frames with 10% margin.
35
Example 1 (cont.)
TABLE II. Specification for Example 1
36
Example 1 (cont.)
Given T* = 30 s, we choose the cycle duration to be Tc = 2 T* = 60 s
Each video program requires
(1.5x106x90x60x1.1)/(50x106x60) = 3 channels
The system requires two optical fibers (50 x 3 =150).
To fulfill the given requirement PB*, the number of proxies S must satisfy
1
1 60 100S
S! 0.01
S
k! 1 60 100
1 k
k 0
The minimal S satisfying the above inequality can be found to be 6003.
Tuning time cannot be larger than Tc / m, 10x10-3 ≤ 60/m or m ≤ 6000 ,
Tc ≥ m({2 x 9} / 30) or m ≤ 100.
Choose m =100, the buffer size required by each proxy is
B = RvTc / m = 109.9 Kbytes.
37
Example 2
This example is the same as Example 1, except
that the acceptable mean access delay T* is 5 s.
the cycle duration to be Tc = 2x5 =10 s
The each video program requires 18 optical
channels.
The system requires ten optical fibers.
Each optical fiber accommodates five video
programs.
It uses shorter access delay and provides better
interactive operations.
The expenses of using more optical fibers.
38
Conclusions
The system can easily be scaled up to serve
more concurrent users and provide more
video programs.
The system can provide interactive
operation which are approximations of the
ideal ones.
The system only involves point-to-point
communication between the VOD
warehouse and each customer.
39
Conclusions (cont.)
The system does not involve any
network control.
The access delay is small.
Each video stream only requires a
small buffer size for temporary storage.
40