Patent ID: 7222345

Claim:
A computer implemented method of sharing a resource amongst a plurality of applications issuing requests in different request classes, comprising the steps of: i) dynamically assigning a priority to each of a plurality of request queues associated with respective ones of said request classes, such assigning being in accordance with a moving average resource allocation to each of said respective request classes and the prionty assigned to a respective request queue being a function of the moving average resource allocation to the associated request class, wherein, p i =1.0 if u i <=min i p i =1.0−( u i −min i )/(max i −min i ) if min i< u i <=max i p i =0.0 if u i >max i where P i is the priority assigned to the i th one of said queues associate with the i th one of said request classes, and u i is the moving average allocated to said i th one of said request classes and min i and max i are respectively the minimum and maximum allocations to said i th one of said request classes; ii) receiving and queuing said requests from said applications in said plurality of queues in accordance with said respective request classes; iii) allocating said resource to one of said applications whose request has been queued longest in a highest priority one of said queues; and iv) in response to said one of said applications relinquishing said resource, repeating steps i) to iii).