Disk access method for delivering multimedia and video information on demand over wide area networks
First Claim
1. In a storage system having a plurality of sets of disks and having a plurality of data units stored therein, where each of said data units is divided into stripes stored in said plurality of sets of disks and with each stripe being sorted in only one set of said disks, a method of retrieving with a single stream controller a multiplicity of requested ones of said data units simultaneously from said plurality of sets of disks, each requested data unit being requested by a corresponding one of a plurality of I/O requests for said requested ones of said data units, said single stream controller implementing the steps of:
- a. dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a single stripe of one of said data units from said plurality of sets of disks;
b. issuing at least one read command from each of said I/O requests for which data units have not been completely retrieved; and
c. successively repeating step b until all of said data units of said I/O requests have been retrieved.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for delivering multimedia video data from a server (host processor) to a plurality of clients connected to a communications network. More specifically, with this invention, preprocessed video and multimedia data packets are striped across disks in units of fixed playback time, even if such units result in variable length stripes. To deliver multiple video or continuous media streams, the disks in the array are accessed simultaneously so that at any given instance, different disks are accessing the video or multimedia data for different streams. Access to the disks for reading the continuous media files is scheduled periodically, with the period equal to the back time of the stripes. Because each disk read command retrieves data for a fixed play back time, if the first read command for a continuous media stream request can be scheduled to complete on a disk within a playback time, all subsequent read commands are also guaranteed to not interfere with read commands of other streams. Data is delivered directly from the disk array to the communication network by a stream controller without being sent to the host system. Disk storage is utilized efficiently by allocating disk space in units of cylinders and storing the variable size stripes of video in packed format.
588 Citations
9 Claims
-
1. In a storage system having a plurality of sets of disks and having a plurality of data units stored therein, where each of said data units is divided into stripes stored in said plurality of sets of disks and with each stripe being sorted in only one set of said disks, a method of retrieving with a single stream controller a multiplicity of requested ones of said data units simultaneously from said plurality of sets of disks, each requested data unit being requested by a corresponding one of a plurality of I/O requests for said requested ones of said data units, said single stream controller implementing the steps of:
-
a. dividing each of said requests into a plurality of read commands, where each said read command is used to retrieve a single stripe of one of said data units from said plurality of sets of disks; b. issuing at least one read command from each of said I/O requests for which data units have not been completely retrieved; and c. successively repeating step b until all of said data units of said I/O requests have been retrieved. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a network having a server and a plurality of client terminals connected to said server, a method of delivering data to said clients in response to requests for said data, said method comprising:
-
a. pre-packeting and pre-formatting said data in the format of network packets prior to any request therefor and storing said pre-packetized and pre-formatted data in the server; b. upon receiving a request for said data, forming a completed network packet to be transmitted by retrieving said stored pre-packetized and pre-formatted data and completing control information in the header and/or trailer of the pre-packetized and pre-formatted data; and c. transmitting said completed network packet to said requesting client.
-
-
7. A system for delivering data to a plurality of client terminals over a communications network, said system comprising:
-
a. a plurality of disks; b. a host processor for pre-packetizing said data; c. a stream controller for receiving said pre-packetized data from said host processor and storing it on said disks, said host processor receiving client requests from said clients to retrieve said pre-packetized data stored in said disks and, in response to said client requests, for sending I/O requests to said stream controller, and said stream controller transferring said requested pre-packetized data from said disks to said network in response to said I/O request, said pre-packetized data being transferred without being sent to said host processor, said stream controller transferring said pre-packetized data in the form of network packets. - View Dependent Claims (8, 9)
-
Specification