The design of a distributed video-on-demand system that is suitable for large
video libraries is described. The system is designed to store 1000s of hours of
video material on tertiary storage devices. A video that a user wants to view
is loaded onto a video file server close to the users desktop from where it can
be played. The system manages the distributed cache of videos on the file servers
and schedules load requests to the tertiary storage devices. The system also includes
a metadata database, described in a companion paper, that the user can query to
locate video material of interest. This paper describes the software architecture,
storage organization, application protocols for locating and loading videos, and
distributed cache management algorithm used by the system.