A method for rebalancing bandwidth allocations to peripheral and other devices,
particularly for isochronous communications, connected to a computer system via
a bus in order to accommodate bandwidth requirements of a newly added device or
newly launched application is described. The method is particularly useful in the
context of buses such as the Universal Serial Bus (USB) and the IEEE 1394 bus (FireWire)
which allow a plurality of devices to be connected to a computer system and even
be powered by the bus. The method utilizes a Policy to identify preferred configurations
and, furthermore, extends the USB and other standards to specify devices that can
dynamically respond to commands to change their bandwidth to another setting.