Patent ID: 7783797

Claim:
A method for issuing input/output (I/O) requests to manage bandwidth allocation between an application and an I/O device, the method comprising: receiving an I/O operation request from the application, wherein the I/O operation request includes a request to perform either a read operation from the I/O device to the application or a write operation from the application to the I/O device; obtaining throughput statistics that includes data related to past I/O operations executed between the application and the I/O device; generating an actual I/O request, wherein the actual request includes a duration that is based on the throughput statistics; determining that an unexecuted shadow request related to the application is present in a queue of pending I/O requests associated with the I/O device, wherein the unexecuted shadow request reserves a position in the queue for a future I/O operation request from the application; and replacing the unexecuted shadow request with the actual I/O request.