Patent ID: 8805899

Claim:
In a multi-user computing system in which a plurality of users are accessing a data storage channel, a method for managing channel utilization for each of the plurality of users, the method comprising: an act of receiving a first file-level I/O request; an act of evaluating an I/O history of a first requester corresponding to the first file-level I/O request, the I/O history of the first requester including one or more previous requests by the first requester; an act of determining that the first file-level I/O request should be delayed from entering a file system stack based on a result of the act of evaluating the I/O history of the first requester; an act of causing the first file-level I/O request to be delayed by a component by queuing the first file-level I/O request for later processing by the file system stack, including: calculating a priority for the first requester, the priority being based at least in part on the I/O history of the first requester; and placing the first file-level I/O request in a queue and assigning the first file-level I/O request a priority within the queue based on the priority of the first requester; after the delay, an act of allowing the first file-level I/O request to be passed to the file system stack; an act of receiving a second file-level I/O request; an act of evaluating an I/O history of a second requester corresponding to the second file-level I/O request, the I/O history of the second requester including one or more previous requests by the second requester; an act of determining that the second file-level I/O request should not be delayed from entering the file system stack based on a result of the act of evaluating the I/O history of the second requester; and an act of allowing the second file-level I/O request to be passed to the file system stack without being delayed by the component, by bypassing the queue.