Distributed VoD (Video-on-Demand) System



Research Goals

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.








Last modified -- October 2006,  angeles@ac.uma.es