Radio Consultative Committee (CCIR) calls for a 216 mbps bandwidth for video objects. A video object based on the HDTV (High Definition Television) quality images requires approximately a 836 mbps bandwidth. Compare these bandwidth requirements with the typical 15 mbps bandwidth of a magnetic disk drive2, which is not expected to increase significantly in the near future [PGK88].
The solution proposed in this paper is to decluster the disk drives so that the aggregate bandwidth compensates the high bandwidth requirements of the multimedia devices. Theoretically, the clustering of d disk drives with a bandwidth requirement of Bdisk each, could give a bandwidth of d ? Bdisk. For example, if we have a video following the NTSC standard (bandwidth requirement of 45 mbps) and the disk drives bandwidth is 15 mbps, we decluster the disk drives in groups of 3. In reality, we have to consider the activation, seek and latency time when computing the aggregate bandwidth. In fact, they increase as the size of the cluster increase (more devices need to be activated and more heads need to be repositioned).
Assuming that all the disk drives in the system are identical, and a database consisting of objects that belong to a single media type with bandwidth requirement BDisplay, we utilize the aggregate bandwidth of d disk drives to support a continuous display of an object. This is achieved as follows. First, the D disk drives in the system are partitioned into R disk clusters where R = bDd c. Next, each object in the database (say X) is stripped [SGM86] into n equi-sized subobjects3
(X1,X2,...,Xn). Each subobject Xi represents a contiguous portion of X . When X is materialized from the tertiary storage device, its subobjects are assigned to the disk clusters in a round-robin manner, starting with an available cluster. In a cluster, a subobject is declustered [RE78, LKB87, GD90] into d pieces (termed fragments), with each fragment assigned to a different disk drive in the cluster.
Assuming that the bandwidth of each disk cluster is high enough that it can be multiplexed between UCluster requests, the available memory is partitioned into R? (UCluster + 1) frames. To ensure a continuous display of an object, the system maintains a time cycle for each cluster. A time cycle consists of UCluster time intervals (also termed slots). A time interval is the time required for a cluster to reposition its disk heads and transfer a subobject into a memory frame. The duration of a time cycle corresponds to the display time of a subobject. Given a request for an object X that consists of n subobjects, the system reserves n time intervals on behalf of this request, one per time cycle of the system. Each reserved time slot occupies the same slot per time cycle. Relative in time, the distance between any two time slots reserved on behalf of a request is UCluster ? 1. The cluster employed in the first time cycle is the one containing X1 (say Ci). The display of X starts once X1 is staged in memory. In the second cycle, cluster Ci+1 mod R is
2The concepts described in this paper are applicable to other secondary storage devices.
3Xn is an exception to this statement