In video-on-demand (VOD) systems, as the size of the buffer allocated to user requests increases, initial latency and memory requirements increase. Hence, the buffer size must be minimized. The existing static buffer allocation scheme, however, determines the buffer size based on the assumption that the system is in the fully loaded state. Thus, when the system is in a partially loaded state, the scheme allocates a buffer larger than necessary to a user request. This paper proposes a dynamic buffer allocation scheme that allocates to user requests buffers of the minimum size in a partially loaded state, as well as in the fully loaded state. The inherent difficulty in determining the buffer size in the dynamic buffer allocation scheme is that the size of the buffer currently being allocated is dependent on the number of and the sizes of the buffers to be allocated in the next service period. We solve this problem by the predict-and-enforce strategy, where we predict the number and the sizes of future buffers based on inertia assumptions and enforce these assumptions at runtime. Any violation of these assumptions is resolved by deferring service to the violating new user request until the assumptions are satisfied. Since the size of the current buffer is dependent on the sizes of the future buffers, it is represented by a recurrence equation. We provide a solution to this equation, which can be computed at the system initialization time for runtime efficiency. We have performed extensive analysis and simulation. The results show that the dynamic buffer allocation scheme reduces initial latency (averaged over the number of user requests in service from one to the maximum capacity) to 1/29.4 /spl sim/ 1/11.0 of that for the static one and, by reducing the memory requirement, increases the number of concurrent user requests to 2.36 /spl sim/ 3.25 times that of the static one when averaged over the amount of system memory available. These results demonstrate that the dynamic buffer allocation scheme significantly improves the performance and capacity of VOD systems.
[1]
Raymond T. Ng,et al.
Schemes for Implementing Buffer Sharing in Continuous-Media Systems
,
1995,
Inf. Syst..
[2]
Philip S. Yu,et al.
Grouped sweeping scheduling for DASD-based multimedia storage management
,
1993,
Multimedia Systems.
[3]
Asit Dan,et al.
Scheduling policies for an on-demand video server with batching
,
1994,
MULTIMEDIA '94.
[4]
Edward Y. Chang,et al.
Cost-based media server design
,
1998,
Proceedings Eighth International Workshop on Research Issues in Data Engineering. Continuous-Media Databases and Applications.
[5]
Sang Ho Lee,et al.
DyBASe: A buffer allocation scheme for reducing average initial latency in video-on-demand systems
,
2001,
Inf. Sci..
[6]
Edward Y. Chang,et al.
Effective Memory Use in a Media Server
,
1997,
VLDB.
[7]
Aurel A. Lazar,et al.
A buffer-inventory-based dynamic scheduling algorithm for multimedia-on-demand servers
,
1998,
Multimedia Systems.
[8]
Donald F. Towsley,et al.
Providing VCR capabilities in large-scale video servers
,
1994,
MULTIMEDIA '94.
[9]
Shahram Ghandeharizadeh,et al.
Staggered striping in multimedia information systems
,
1994,
SIGMOD '94.
[10]
Philip S. Yu,et al.
Disk load balancing for video-on-demand systems
,
1997,
Multimedia Systems.
[11]
Babak Hamidzadeh,et al.
Dynamic real-time scheduling strategies for interactive continuous media servers
,
1999,
Multimedia Systems.
[12]
Sang Ho Lee,et al.
Dynamic buffer allocation in video-on-demand systems
,
2001,
SIGMOD '01.
[13]
John Wilkes,et al.
An introduction to disk drive modeling
,
1994,
Computer.
[14]
Edward Y. Chang,et al.
BubbleUp: low latency fast-scan for media servers
,
1997,
MULTIMEDIA '97.