Patent ID: 8392627

Claim:
A method implemented at least in part by a computer, the method comprising: using a processing unit, measuring a first throughput of a computer system over a first time period, the first throughput is a number of concurrent operations that occurred during the first time period; using the processing unit, measuring a second throughput of the computer system over a second time period, the second throughput is a number of concurrent operations that occurred during the second time period; using the processing unit, determining a new maximum value for a semaphore based on the first and second throughputs, wherein determining the new maximum value for the semaphore comprises: determining the new maximum value that is greater than a current maximum value if the first value indicates that the current maximum value is greater than a previous maximum value and the second throughput is greater than the first throughput; determining the new maximum value that is less than the current maximum value if the first value indicates that the current maximum value is greater than the previous maximum value and the second throughput is less than the first throughput; determining the new maximum value that is different than the current maximum value if the first throughput is equal to the second throughput regardless of whether the first value indicates that the current maximum value is greater than, equal to, or less than the previous maximum value; and setting the current maximum value for the semaphore to the new maximum value.