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.