IP Library Granted Patent US 6,898,654
Granted Patent B1
US 6,898,654 · App. 09/364,220 · Granted May 24, 2005

Method and system for managing bandwidth on a master-slave bus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,898,654
App. No.
09/364,220
Granted
May 24, 2005
Kind
B1
Abstract

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.

Claims (17)

1. 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.

2. The method of claim 1 where the bus is a Universal Serial Bus (USB).

3. The method of claim 2 wherein a hub driver corresponding to a hub connected to the USB intercepts the failure of the first device's request.

4. The method of claim 2 wherein a host controller intercepts the failure of the first device's request.

5. The method of claim 2 wherein the policy is based, at least in part, on a preference for a latest device connected to the USB.

6. The method of claim 1 where the bus is a “FireWire” bus.

7. The method of claim 1 wherein rebalancing requires no input from a user and is transparent to the user.

8. The method of claim 1 wherein the method is implemented using a user-mode application and a user-mode to kernel-mode interface.

9. The method of claim 8 wherein the interface between the user-mode and the kernel-mode is a “WMI” interface.

10. The method of claim 1 wherein the policy is based, at least in part, on a preference set by a user of the computer system.

11. A computer readable medium having computer-executable instructions for performing 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 form 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.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2020
From: CALLAHAN CELLULAR L.L.C.
To: INTELLECTUAL VENTURES ASSETS 158 LLC
Reel/Frame 051727/0155 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2020
From: INTELLECTUAL VENTURES ASSETS 158 LLC
To: HANGER SOLUTIONS, LLC
Reel/Frame 051486/0425 →
MERGER Recorded Jan 13, 2016
From: OSTRASSE KRALL GMBH., LLC
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037515/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2009
From: MICROSOFT CORPORATION
To: OSTRASSE KRALL GMBH., LLC.
Reel/Frame 022645/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 1999
From: SENIOR, JAY; DUNN, JOHN C.; HOLAN, DORON J.; RAY, KENNETH D.; CARPENTER, BRADLEY L.
To: MICROSOFT CORPORATION
Reel/Frame 010142/0348 →