Patent ID: 6898654

Claim:
A method for rebalancing an existing bandwidth allocation to a plurality of devices connected to a computer system via a bus, the method comprising: intercepting a failure of a request by a first device to obtain bandwidth; rebalancing the existing bandwidth allocation to the plurality of devices connected to the bus by requesting that a second device change its bandwidth allocation in accord with a policy, wherein the policy is based, at least in part, on a preference for allocating bandwidth to one device over another, where the preference includes one or more rules selected from a group of rules comprising (1) a rule preferencing a currently running application, (2) a rule preferencing an application running in a foreground, (3) a rule preferencing most recently used application, and (4) a rule preferencing a most frequently running application; and if the second device fails to change its bandwidth allocation, then resetting the second device to release the second device's entire bandwidth allocation.