In recent years there has
been a considerable
amount of interest in video on demand (VoD) systems. In such
systems the clients are allowed to choose both the video as well as
when
to play it. Eventually, the users need to interact with the server for
playback, pause and forward functions. A generic VoD system
consists in users, service providers, program providers and a network.
The users make video requests and the service providers schedule the
requests, reserve the resources, get the video from the program
provider
and serve the video through the network. A promising way to contain the
costs in such systems, is to link up several small VoD servers to a
network and allowing servers with idle retrieval bandwidth to help out
servers that are temporarily overloaded. In other words, to
build
a distributed VoD system.
However several issues
raise in such a
system. For example, the
replication of MPEG-2 videos in all the servers would require huge
storage capacity that would make the system prohibitively expensive. In
our approach we reduce the storage requirements by not allocating all
the content in all the servers. Only the most popular videos are
replicated in all the servers. We have developed an algorithm
to
efficiently share the load in such system and an analytical model that
captures the performance of this algorithm.
However, our
results have proved that a low percentage of popular videos replicated
in the system produces a high number of remote services. That
increases the usage of the network, which becomes the bottleneck. On
the other hand, since the servers in our system are small, they can
support
a low number of concurrent video streams and therefore, an efficient
utilization of the server capacity is important too.
One way of optimizing the
usage of the
network and the retrieval
capacity of a server is to attend all the requests to a video with one
stream, i.e. using a multicast approach. Among many different multicast
approaches, batching and patching are two commonly used
policies.
We have proposes two
hybrid multicast algorithms inspired by the Maximum Factored
Queue
Length (MFQL) batching scheme -used to decide which video queue will be
serviced with a multicast session- and by a Threshold-based patching
scheme -applied to control the partial streams transmission before a
threshold is reached during an ongoing multicast session. The novelty
is that our algorithms have been designed to efficiently handle the
requests in a distributed VoD system while optimizing the usage of the
sever/network resources. Precisely, one key issue in the optimization
of these resources is the computation of the threshold. We show how
that
threshold is derived. In addition, we conduct some simulation
experiments that provides us some insightful information about the
impact that our threshold based multicast algorithms have in the
average waiting time in a distributed VoD system.
We have now working in a
new delivery
strategy inspired in the
threshold multicast technique, that try to not only minimize the
overall bandwith usage in the system but also to provide a present
quality of
service for each customer. In our strategy, once a complete stream has
started, instead of serving the new incoming requests inmediately, the
requests are delayed a few seconds to form a mini-group first. The
mini-group will then be served by a partial stream in order to merge
into the complete stream. In that way, the clients batched together in
a mini-group share the same patching stream, reducing even further the
bandwith usage. A critical point in our approach is the selection of
the time of batching to form mini-gropus as well as the selection of
the
threshold to control when a complete stream is initiated. We have
developed a model to compute the parameters that minimize the required
bandwidth while provide a present quality of service for each client.
Researchers: