System and method for application influence of I/O service order post I/O request
First Claim
Patent Images
1. A method for scheduling at least one I/O request, comprising the steps of:
- issuing said I/O request to a device driver;
placing said I/O request in an I/O request holding queue; and
under control of the entity issuing said I/O request to said device driver, selectively canceling or moving said I/O request to a service pending queue for execution.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for scheduling I/O requests in a multi-tasking data processing environment. An I/O request issued by an application is placed in an I/O request holding queue. Under control of the requesting application (or, alternatively, the operating system), the I/O request is selectively canceled or moved to a service pending queue for execution. Requests can be moved either by the application or by the Operating system when an I/O completes (and hence the service pending queue has room for another IO).
-
Citations
15 Claims
-
1. A method for scheduling at least one I/O request, comprising the steps of:
-
issuing said I/O request to a device driver;
placing said I/O request in an I/O request holding queue; and
under control of the entity issuing said I/O request to said device driver, selectively canceling or moving said I/O request to a service pending queue for execution. - View Dependent Claims (2, 3, 4)
serving to said entity information regarding contents of said request holding queue and selectively of said service pending queue; and
operating said entity responsive to said information to influence the order of execution of I/O requests in said holding queue.
-
-
3. The method of claim 2, said entity residing at the application level of a data processing system.
-
4. The method of claim 2, said entity residing at the operating system level of a data processing system.
-
5. A method for operating a device driver for scheduling input/output requests, comprising the steps of:
-
receiving a plurality of I/O requests into a holding queue;
responsive to user request, selectively either canceling or moving specific I/O request from said holding queue to a service queue; and
executing I/O requests in said service queue.
-
-
6. A method for scheduling input/output requests, comprising the steps of:
-
queuing scheduled requests; and
responsive to events subsequent to said queuing step, selectively either canceling or moving a queued to a service queue for execution. - View Dependent Claims (7, 8, 9, 10)
operating a user application to monitor said events and to initiate said either canceling or moving step.
-
-
8. The method of claim 7, further comprising the steps of:
-
queuing newly scheduled requests in a holding queue;
upon said user application initiating said either canceling or moving step for a selected request, moving said selected request from said holding queue to a service queue.
-
-
9. The method of claim 6, further comprising the step of:
further responsive to events subsequent to said queuing step, selectively canceling a queued request.
-
10. The method of claim 8, further comprising the step of:
removing I/O requests from said holding queue and scheduling them to said service queue when the count of outstanding I/O requests falls below a specified threshold.
-
11. A system for scheduling an I/O request, comprising:
-
a device driver;
an input/output interface for issuing said I/O request to said device driver;
an I/O request holding queue for holding said I/O request upon being issued to said device driver;
until selectively either canceled or moved to a service pending queue;
said service pending queue, responsive to a command from an entity issuing said I/O request to said device driver, for selectively canceling or receiving said I/O request from said holding queue for execution.
-
-
12. A system for scheduling input/output requests for a user application, comprising:
-
a holding queue for receiving a plurality of scheduled I/O requests;
said application selectively either canceling or moving said I/O requests from said holding queue to a service queue;
said service queue for executing I/O requests moved from said holding queue responsive to a command from said user application.
-
-
13. A system for scheduling input/output requests, comprising:
-
means for queuing scheduled requests; and
means responsive to events subsequent to said queuing step for selectively either canceling or moving said requests from said queuing means to a service queue for executing queued requests.
-
-
14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for scheduling at least one I/O request, said method steps comprising:
-
issuing said I/O request to a device driver;
placing said I/O request in an I/O request holding queue; and
under control of the entity issuing said I/O request to said device driver, selectively either canceling or moving said I/O request to a service pending queue for execution.
-
-
15. An article of manufacture comprising:
-
a computer useable medium having computer readable program code means embodied therein for scheduling I/O requests, the computer readable program means in said article of manufacture comprising;
computer readable program code means for causing a computer to effect issuing said I/O request to a device driver;
computer readable program code means for causing a computer to effect placing said I/O request in an I/O request holding queue; and
computer readable program code means for causing a computer to effect under control of the entity issuing said I/O request to said device driver, selectively either canceling or moving said I/O request to a service pending queue for execution.
-
Specification