Data sharing in interactive continuous media servers

Shahran Ghandeharizadeh, Weifeng Shi · 1998

In a continuous media server that supports the display of audio or video clips (e.g., a video-on-demand server), requests from different clients are independent of each other and may arrive at random time. Commercial systems may strive to support hundreds, if not thousands of clients. Assigning an individual disk stream for each client may require very high disk bandwidth from a server. This makes the disk bandwidth a bottleneck resource, restricting the number of concurrent displays. One solution is to introduce additional disk drives into the server, however, this might result in a significant system cost that would render the system economically inviable. In this dissertation, we propose novel data sharing techniques to resolve the disk bandwidth bottleneck while making the overall system more cost-effective. We investigate two approaches: buffer sharing and batching. With buffer sharing, if one display of a clip lags another display of the same clip by a short time interval, then the portion between the two is retained in buffers to allow the lagging display to read data from buffers with no disk access. We propose a buffer sharing scheme that strikes a balance in trading memory for disk bandwidth to prevent system bottlenecks (either memory or disk bandwidth). Moreover, this scheme minimizes the system cost to meet a prespecified performance objective. With batching, requests are delayed in the hope of being merged with other requests for the same clip. These merged requests then form a batch and consume only one disk stream. We investigate environments that equip the client with local storage device (e.g., rewritable DVD) to achieve data sharing among batches and support VCR operations. The local client storage reduces the disk bandwidth requirement at server side dramatically, however, it requires more resource (both disk bandwidth and memory) at client side which may diminish the cost-effectiveness of the environment. When compared with each other, batching with local storage distributes resources into each client, whereas buffer sharing centralizes resources in the server. This dissertation demonstrates that buffer sharing is a more cost-effective solution.

Read the paper · More papers on PaperTik