Patent ID: 7421502

Claim:
A method for managing resources in a storage system being accessed by servers based on server resource usage, said method comprising: allocating a command window to each of said servers accessing said resources, wherein said command window defines a limit on the number of outstanding storage requests that each server may maintain against said resources; achieving an equilibrium state that balances the size of each server's command window and the amount of free resources available in said resources; and maintaining said equilibrium state by continually adjusting the size of each command window depending upon an amount of free resources available in said resources: wherein said achieving of said equilibrium state comprises operating in an equilibrium achievement mode that increases the size of each server's command window at a first rate as each of said servers completes a successful storage operation; and wherein said maintaining of said equilibrium state comprises changing to an equilibrium maintenance mode when a storage request is unsuccessful, said equilibrium maintenance mode comprising: decreasing the size of each command window by a reduction factor; and increasing the size of each server's command window at a second rate less than said first rate as each of said servers completes a successful storage operation; reverting to said equilibrium achievement mode when the level of free resources rises above an upper limit; and repeating said changing and reverting processes; wherein said repeating process acquires and maintains an equilibrium balance between the size of each command window and the amount of free resources.