Queuing architecture including a plurality of queues and associated method for scheduling disk access requests for video content
First Claim
1. A queuing architecture for scheduling disk drive access requests in an information server, comprising, for each disk drive associated with said information server:
- a first queue for disk access requests from users currently receiving information provided by the information server;
a second queue for all other disk access requests; and
a queue selector for selecting requests from said first and second queues and forwarding said requests to a disk drive associated with the information server.
4 Assignments
0 Petitions
Accused Products
Abstract
A queuing architecture and method for scheduling disk drive access requests in a video server. The queuing architecture employs at least two access request queues for each disk drive within a disk drive array, and a queue selector for selecting the first and second queues. The first queue is for disk access requests by steady-state users requesting new data streams who are currently viewing a program from the video server. The second queue is for all other types of disk access requests, including requests by new users, requests for loading content, disk maintenance, meta-data synchronizing, and the like. Steady-state disk access requests are serviced in order of ascending time deadlines. The queue selector gives highest priority to requests in the first queue, and requests from the second queue are serviced only upon a guarantee that all of the steady-state requests in the first queue will meet their time deadlines in the worst case access times for the disk drives. The second queue may comprise multiple queues to provide a queuing hierarchy including a third queue. Non-steady-state disk access requests are serviced on a first-in-first-out basis. The queue selector establishes priority in response to the location of the data upon a disk in a disk drive, and data may be stored in a disk drive based upon the queuing priority. The selecting and forwarding of the access requests to a disk drive may be performed repeatedly while an internet queue within a disk drive is not full, and there are outstanding access requests for that disk drive.
122 Citations
22 Claims
-
1. A queuing architecture for scheduling disk drive access requests in an information server, comprising, for each disk drive associated with said information server:
-
a first queue for disk access requests from users currently receiving information provided by the information server;
a second queue for all other disk access requests; and
a queue selector for selecting requests from said first and second queues and forwarding said requests to a disk drive associated with the information server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A queuing architecture for scheduling disk drive access requests in an information server, comprising, for each disk drive associated with said information server:
-
a first queue for disk access requests from users currently receiving information provided by the information server;
a second queue for all disk access requests from users requesting new data streams;
a third queue for all other disk access requests; and
a queue selector for selecting requests from said first, second, and third queues and forwarding said requests to a disk drive associated with the information server. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A method of scheduling access requests for a disk drive in an information server, said method comprising the steps of:
-
(a) providing at least two queues, 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 an access request from said second queue, 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 one of the steady-state access requests; and
(d) forwarding the selected request to said disk drive. - View Dependent Claims (15, 16, 17)
-
-
18. A method of scheduling access requests for a plurality of disk drives associated with a video server, said method comprising the steps of:
-
ordering said disk drives by earliest time deadline of steady-state access requests for each of said plurality of disk drives; and
for each of said plurality of disk drives, providing three queues, where a first queue contains steady state access requests from users being supplied a program from the video server, a second queue contains new programming access requests and a third queue for all other types of access requests;
selecting a next new programming access request, if such selection does not cause any steady-state access request to miss its associated time deadline within which that steady-state access request must be completed, to ensure that the program being viewed is not interrupted;
otherwise, selecting a next other access request, if such selection does not cause any steady-state access request to miss its associated time deadline within which that steady-state access request must be completed, to ensure that the program being viewed is not interrupted;
otherwise, selecting a steady-state access request with the earliest associated time deadline within which that steady-state access request must be completed, to ensure that the program being viewed is not interrupted; and
forwarding the selected request to a disk drive of said plurality of disk drives that is associated with the selected request. - View Dependent Claims (19)
-
-
20. A method of scheduling access requests for a plurality of disk drives associated with a video server, said method comprising the steps of:
-
providing, for each of the disk drives associated with said plurality of disk drives, three queues, where a first queue contains steady-state access requests from users being supplied a program from the video server, a second queue contains new programming access requests and a third queue for all other types of access requests;
determining which of said disk drives has completed a command;
ordering said disk drives that have completed a command by earliest time deadline of steady-state access requests for said disk drives; and
for each of said disk drives that has completed a command, selecting the next new programming request, if such selection does not cause any steady-state access request to miss its associated time deadline within which that steady-state access request must be completed, to ensure that the program being viewed is not interrupted;
otherwise, selecting a next other type access request, if such selection does not cause any steady-state access request to miss its associated time deadline within which that steady-state access request must be completed, to ensure that the program being viewed is not interrupted;
otherwise, selecting the steady-state access request with the earliest associated time deadline; and
forwarding the selected request to a disk drive of said plurality of disk drives that is associated with the selected request. - View Dependent Claims (21, 22)
-
Specification