Patent ID: 8612990

Claim:
A method, performed by a computing device, comprising: maintaining, by the computing device, queues for a plurality of storage devices and for a plurality of users; receiving, by the computing device and in the queues, operations for a storage device of the plurality of storage devices, from the plurality of users associated with a plurality of priorities; monitoring, by the computing device, usage levels of the storage device for the plurality of users; determining, by the computing device, scores for the plurality of users, the scores including a score for a particular user of the plurality of users, the monitored usage levels including a usage level of the particular user, and the score being based on the usage level of the particular user, a target usage level for the particular user that defines an allotted usage level of the storage device for the particular user, a maximum allowed usage level for the particular user, and a priority of the particular user; receiving, by the computing device, an updated maximum allowed usage level for the particular user, the updated maximum allowed usage level for the particular user being equal to one of: the target usage level for the particular user, or an average of the usage level of the particular user and a standard deviation of the usage level of the particular user; using, by the computing device, the updated maximum allowed usage level to determine a new score for the particular user; selecting, by the computing device and from the queues, one of the received operations based on the new score; and transmitting, by the device, the one of the received operations to the storage device.