Resource sharing with sliding constraints
First Claim
1. A method of sharing at least one 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, in accordance with a moving average resource allocation to each of said respective 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 at least one resource to one of said applications whose request has been queued longest in a highest priority one of said queues, and in response to said one of said applications relinquishing said resource;
then iv) repeating steps i) to iii).
29 Assignments
0 Petitions
Accused Products
Abstract
The resource sharing system according to the present invention dynamically adjusts the priorities at which requests from applications in different request classes (or classes of service) for a shared resource, are processed. The dynamic priority of a request class is based in part on the average resource allocation to requests in this request class, and in part on settings for the minimum and maximum allocations to the request class. The average resource allocation is the proportion of time the shared resource has been assigned to requests of this class relative to other classes. The dynamic adjustment of priorities uses “sliding constraints” whereby the priorities are caused to “slide” with the average resource allocation, and the priority imposes a constraint on when the requests of a resource class can be satisfied: namely, when there are no other requests from higher-priority request classes waiting for the resource.
80 Citations
7 Claims
-
1. A method of sharing at least one 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, in accordance with a moving average resource allocation to each of said respective 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 at least one resource to one of said applications whose request has been queued longest in a highest priority one of said queues, and in response to said one of said applications relinquishing said resource;
theniv) repeating steps i) to iii). - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification