Patent ID: 8676976

Claim:
A system for controlling the allocation of shared resources, the system comprising: a next request priority module connected to a shared resource and to a plurality of requestors identified by requestor identifiers, the next request priority module comprising: a pending request mechanism prioritizing one or more pending requests for the shared resource from one or more of the plurality of requestors in a request queue, wherein the request queue receives pending requests for the shared resource from each of the plurality of requestors, each pending request including an associated requestor identifier, and one of the pending requests designated as a next pending request with an associated next requestor identifier, the one or more requestors comprising virtual servers, and the associated requestor identifier comprising an identifier representing the virtual server, and preventing the virtual server from occupying more than a predefined portion of the shared resource for limiting an amount of the shared resource consumable by the virtual server; a logging mechanism logging requestor identifiers associated with previous requests granted priority to the shared resource in a previous requestor queue comprising a plurality of logged requestor identifiers; and the next request priority module accessing the next pending request and the next requestor identifier, determining that the next pending request is the only pending request in the request queue, determining that the next requestor identifier matches at least one of the plurality of logged requestor identifiers in the previous requestor queue, and transmitting no request to the shared resource during a next cycle based on the next pending request being the only pending request in the request queue and based on the next requestor identifier matching at least one of the plurality of logged requestor identifiers in the previous requestor queue.