ABSTRACT

Video on demand (VOD) is a key technology for many important applications such as home entertainment, digital libraries, electronic commerce, and distance learning. A VOD system allows geographically distributed users to play back any video from a large collection stored on one or more servers. Such a system may also support VCR-like interactions such as fast forward, fast rewind, jump forward, jump backward, and pause. To accept a client request, the VOD server must allocate enough resources to guarantee a jitter-free playback of the video. Such resources include storage and network I/O bandwidth. Sufficient storage bandwidth must be available for continuous transfer of data from storage to the network interface card (NIC), which in turn needs enough bandwidth to forward the stream to remote clients. Due to the high bandwidth requirement of video streams (e.g., 4 megabits/second for MPEG-2 videos), server bandwidth determines the number of clients the server is able to support simultaneously [18]. The simplest VOD system dedicates one video stream for each user (Unicast). Obviously, this approach is very expensive and not scalable.