Redundant array of inexpensive servers (RAIS) for on-demand multimedia services
P.C. Wong, Y.B. Lee · 2002
Previously, we considered the design and implementation of a server array system for delivering video-on-demand service on a computer network. Data blocks are striped across an array of autonomous servers, and each client station contacts the servers one by one to retrieve blocks for constructing its own video stream. The server array approach has the benefits of (1) scalable storage capacity and throughput, and (2) load sharing across the servers. In this paper, we study fault-tolerance issues in a server array system and propose the notion of redundant array of inexpensive servers (RAIS), which is a server-level counterpart to redundant array of inexpensive disks (RAID). While some concepts from RAID may be applicable, we show that RAIS faces new challenges as failure detection and recovery are handled by network protocols, subjecting to error, loss, non-deterministic delay, and bandwidth limitation. Through an implementation of RAIS for delivering multimedia world-wide-web services, we show that (1) server-level fault tolerance can be achieved, (2) continuous playback of video and audio can be maintained in spite of server failures, and (3) graceful service degradation can be implemented using our object striping scheme.