Patent ID: 7496928

Claim:
A computer-readable medium having computer-executable instructions for performing steps for processing Input/Output (“I/O”) requests, comprising: receiving an I/O request from an application thread; performing an I/O operation in response to the I/O request; and upon completion of the I/O operation, determining whether to boost a priority of the application thread according to criteria based on, future I/O operations to be performed for the application thread or whether a period of time since a last time the priority of the application thread was boosted has reached a threshold length wherein the criteria for determining whether to boost the priority of the application thread includes an analysis of the number of I/O operations to be performed in the future for the application thread and if the number is below a threshold, refraining from increasing the priority of the application thread until the I/O operations are complete; wherein the application thread posts a data buffer in connection with the I/O request, and the step of performing the I/O operation includes copying data into the I/O buffer.