Patent ID: 7277984

Claim:
A method for scheduling storage access requests, said method comprising: determining, by reference to Service Level Agreement (SLA)-based revenues achievable for processing storage access requests, a revenue-maximizing processing sequence for a plurality of storage access requests; and ordering the plurality of storage access requests in a schedule corresponding to the determined revenue-maximizing sequence, wherein said determining comprises evaluating a revenue function with reference to an estimated latency for each of the plurality of storage access requests, wherein said revenue function is dependent only on said estimated latency and a non-unity weight associated with said storage access requests such that said revenue function is non-increasing with an increase in latency of said storage access requests, wherein said latency of a particular storage access request is dependent on a location of a previous service storage access request, wherein the latency for each request is estimated using an estimate of seek time for moving a read/write head of a disk drive to a disk track corresponding to a data location of a respective storage access request, wherein the seek time is estimated from characteristics of a respective disk drive, a current read/write head position, and a required read/write head position for performing a requested storage access operation, wherein the latency for each request is estimated by combining the estimate of seek time with an estimated data transfer time, the data transfer time being determined according to a data size of each request and the disk drive characteristics, wherein the latency for each request is estimated by combining the estimate of seek time and data transfer time with an estimated rotational delay for rotating a disk sector, required by the data access request, into a position required for operation of the read/write head, and wherein said determining comprises: for each of a set of candidate processing sequences, evaluating a latency-dependent revenue function to determine a latency-dependent loss of revenue for each request as compared with a maximum achievable revenue; and identifying a sequence within the set of candidate processing sequences having a minimum accumulated loss of revenue for the plurality of requests.