Redundant array of inexpensive disks has become widely accepted in recent years. Similar to RAID disks, the streaming RAID was proposed to serve multimedia streams. The objective of streaming RAID is to increase reliability and availability of multimedia data. The approach to achieve these objectives
is by storing redundant information (Cohen & Burkhard, 1996; Tobagi, Pang,
Baird, & Gang, 1993). Performance of multimedia streams is maintained by using multiple disks like the striping methods. A disadvantage of streaming RAID is that even more data are stored on the storage system.
Multimedia data are large, and each stream accesses data of an object for a long time. Thus, the disk containing the accessed object will become busy for a long period of time. When other streams try to access other objects residing on the same disk, the disk becomes too busy to serve them. As a result, new request streams will not be served until the disk becomes free. This disk out- age problem limits the storage system’s ability to serve multimedia streams without degrading their quality.
Streaming RAID is an interdisk, strip-based method. In the streaming RAID method, every data object is divided into a number of blocks. Each block is a
fixed number of bytes, and the data blocks are stored on multiple disks. One
bit from every block in the group. The parity information is created as the redundant information. This parity information is then stored onto a separate parity disk (Tobagi et al., 1993).
For example, an object X is stored on three disks. Block X is divided into many blocks. X3i is the 3ith block of X and it is stored on disk 1. X3i+1 is the 3i+1th block of X, and it is stored on disk 2. X3i+2 is the 3i+2th block of X, and it is stored on disk 3. Pi is the ith parity block. Then, the jth bit of the parity block, Pi,j is found as:
j i j i j i j i X X X P, = 3, ⊕ 3+1, ⊕ 3+2, ,
where X3i,j , X3i+1,j , X3i+2,j are respectively the jth bit of the 3ith block, 3i+1th block, and 3i+2th block of object X.
Multiple data disks are used as a disk array, and the disks serve requests in parallel. When data are accessed, each disk is issued a request. All the requests are then served simultaneously. Each request retrieves a data block from the disk. If one of the disks is not available, or some data on the disk are corrupted, the redundant information on the parity disk is accessed. The unavailable or corrupted block is then reconstructed from the data from other data disks and the parity disk.
For example, a data block, X3i+2, is unavailable when the object X is being accessed. This block can be recovered from the data blocks X3i+2, X3i+2, and the parity block Pi. The jth bit of the missing block, X3i+2,j, can be recalculated using the equation:
j i j i j i j i X X P X3+2, = 3, ⊕ 3, ⊕ , .
The streaming RAID method is designed to increase the reliability of multi- media streams by storing redundant information. It also enhances the storage disk performance through controlling the storage location of objects. The streaming RAID method is similar to the RAID-3 level disk in keeping the parity information on separate parity disks. This is suitable for large data
transfers but not efficient for small data transfer. Since multimedia objects
are large and a large amount of data are transferred each time, the streaming
A limitation of streaming RAID is its lack of control on the placement of multimedia data in storage. Hence, the data bandwidth cannot be effectively controlled, and large variations in data bandwidth require more read-ahead buffer.
A disadvantage of streaming RAID is that it increases the data storage us- age. Since multimedia objects are large in size, storage of the objects’ data already exhausts many storage systems. The creation of redundant informa- tion increases the burden on the storage system.
Storing redundant information obviously increases the security of data during disk failure. Although the security of multimedia data should not be neglected, proper backing up and archiving data can also achieve the data security. Since
most multimedia data are not frequently modified and storing the redundant
information would reduce the available user data bandwidth, it would be nice to consider redundant codes when surplus bandwidth is available or other means to provide data security are not available.
Replication.to.Reduce.Network.Load
Multimedia objects are large in size. The workload to deliver multimedia objects across the networks is heavy. Objects may be stored on storage servers that are distributed over a wide geographic area network. It would be nice if some objects can be fetched from neighbouring storage servers that have stored the object. Thus, data replication is one of the approaches to distribute objects across the network in order to reduce the network load.
In the Lancaster continuous media storage server, object files are replicated according to their distance from the originating site (Lougher, Shepherd, & Pegler, 1994). If an object’s originating site is far from the local media storage server, the object has a higher priority of being replicated in the local server. If an object’s originating site is close, the object has a low priority of being replicated. The Lancaster storage server provides a method to differentiate the priority of objects being replicated in the local server. This method provides a mechanism to evenly spread the objects across a number of servers over a geographical area. The most important advantage of the Lancaster server design is that network load can be reduced. This is similar to reduce network load using proxy servers.
Replication.to.Reduce.Start-Up.Latency
When multimedia streams are initiated, the storage server delivers the first
part of the object to the clients. The client program uses these initial data to
fill up the memory buffer. Before enough data are received to fill the buf- fers, the client program cannot start to display the stream. Thus, the client program needs to wait for the delivery of the initial part of the objects. This waiting time is the start-up latency. The start-up latency is a delay time that is directly observed by the user. When multimedia objects are being accessed
over a high delay network, the start-up latency may be significant.
Data replication is one of the approaches to reduce the start-up latency. Ghan- deharizadeh, Kim, Shi, and Zimmermann (1997) proposed to migrate requests with data replication across disk clusters in order to reduce start-up latency. Chang and Molina (1997) replicated the leaders of multimedia objects on a separate disk to reduce start up latency in constraint allocation methods. A limitation of the leader replication is that this method only reduces the start-up latency. After a stream is started, the leader in storage does not make additional contributions in the delivery of the object. More methods to reduce start-up latency will be discussed in the cache replacement policies.