Abstract
Proxy caching strategies, especially prefix caching and interval caching, are commonly used in video-on-demand (VOD) systems to improve both system performance and the playback experience of users. However, because these caching strategies are designed for homogeneous clients, they do not perform well in the real world where clients are heterogeneous (i.e., different available network bandwidths and different sizes of client-side buffers). This thesis investigates the problems caused by heterogeneous client-side buffers and proposes two mechanisms for performance optimization. The first mechanism is a caching strategy for minimizing the input bandwidth of individual proxy while serving heterogeneous clients. We analyze the theoretical performance of prefix caching and interval caching, and then derive cost functions to formulate the corresponding performance gains. Based on these analytical results, we propose a hybrid caching strategy that employs both prefix caching and interval caching to minimize the input bandwidth of a proxy. An optimal cache allocation algorithm is also presented to determine the best ratio of prefix caches and interval caches in a proxy. The other mechanism we proposed is cooperating proxies to construct an overlay multicast infrastructure, called Buffer-Assisted On-Demand Multicast (BAODM). In BAODM, the receivers in a multicast group can access the multicast stream asynchronously, so the server load of a VOD system can be further reduced. We prove that the time complexity to determine an optimal routing path and the corresponding buffer allocations for each request over general graph networks is NP-complete. Besides, we propose an optimal routing algorithm for fully-connected overlay networks and a heuristic routing algorithm for general graph networks, respectively. Through the simulation results, both mechanisms show that they can significantly reduce both the server load and the network bandwidth consumption of a proxy-assisted VOD system.