Claims
- 1. A queuing architecture for scheduling disk drive access requests in an information server having a plurality of disk drives arranged in a disk loop, comprising:
a plurality of first queues for disk access requests from users currently receiving information provided by the information server, where each of the first queues are coupled to a disk drive; a plurality of second queues for all other disk access requests, where each of the second queues are coupled to a disk drive; and a queue selector for selecting a particular first queue or a particular second queue for enqueueing a request for data, where said selection is defined by a controlled admission policy.
- 2. The queuing architecture of claim 1, where said controlled admission policy ensures that fulfillment of a request is not excessively delayed.
- 3. The queuing architecture of claim 1, where said controlled admission policy defines a critical time period within which a new user request must be fulfilled, if said new user request can be fulfilled within the critical period, the particular request is enqueued in a particular second queue; otherwise, the controlled admission policy enqueues the request in a second queue of another disk drive.
- 3. The queuing architecture of claim 1, where said queue selector gives highest priority to requests in said first queue and lower priority to requests in said second queue.
- 4. The queuing architecture of claim 1, wherein said information server is a video server and said information is a video program.
- 5. A method of scheduling access requests for a plurality of disk drives in an information server, said method comprising the steps of:
(a) providing at least two queues for each disk drive, where a first queue contains steady state access requests from users being supplied information from the information server and a second queue for all other types of access requests; (b) selecting a particular second queue to enqueue a new user access request for a particular disk drive, if such selection does not cause a steady-state access request to miss a time deadline within which the steady-state access request must be completed to ensure that the information being viewed is not interrupted; (c) otherwise, selecting another second queue to enqueue the new user access request.
- 6. The method of claim 5 further comprising the step of enqueuing each steady-state access request in the first queues as the steady-state access requests arrive.
- 7. A method of accessing data in a disk array comprising:
receiving a new user access request; assigning the new user access request to disk d; determining when new user access request will be processed, if the new user access request will be processed within a predefined period of time, placing the new user access request into a new user queue for disk d; otherwise, assigning the new user access request to another disk.
- 8. The method of claim 7 wherein said another disk is up to three disks distant from disk d.
- 9. The method of claim 7 wherein, if said new user cannot be assigned to another disk, waiting a predefined period of time; and
assigning the new user access request to disk d.
- 10. In a video on demand system comprising a plurality of disk drives, where video information is striped across the plurality of disk drives, a method of accessing the video information comprising:
receiving a user access request for a next portion of video information required by said user to present a streaming video sequence to the user; assigning a user to a disk d that contains the next portion of video information; determining when the user access request will be processed, if the user access request will be processed within a predefined period of time, placing the user access request into a new user queue for disk d; otherwise, assigning the user access request to another disk.
- 11. The method of claim 10 wherein said another disk is up to three disks distant from disk d.
- 12. The method of claim 10 wherein, if said user cannot be assigned to another disk, waiting a predefined period of time; and
assigning the user access request to disk d.
Parent Case Info
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/268,512, filed Mar. 12, 1999, entitled “STATISTICAL DISK SCHEDULING FOR VIDEO SERVERS”, which is herein incorporated by reference and claims benefit of U.S. provisional application serial No. 60/220,776, filed Jul. 25, 2000 which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60220776 |
Jul 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09268512 |
Mar 1999 |
US |
Child |
09801021 |
Mar 2001 |
US |