Browse Prior Art Database

Method for arbitrating bandwidth allocations among peer functions of a USB composite device

IP.com Disclosure Number: IPCOM000008313D
Publication Date: 2002-Jun-04
Document File: 2 page(s) / 29K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for arbitrating bandwidth allocations among peer functions of a Universal Serial Bus (USB) device. Benefits include improved performance.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Method for arbitrating bandwidth allocations among peer functions of a USB composite device

Disclosed is a method for arbitrating bandwidth allocations among peer functions of a Universal Serial Bus (USB) device. Benefits include improved performance.

Background

              USB devices compete for limited USB bandwidth in order to perform their functions. This implies that a device can deprive other devices of USB bandwidth, blocking their operations as a consequence of sharing a limited resource.

General description

              The disclosed method is a cooperative algorithm that arbitrates USB allocations between its audio and video drivers.

Advantages

              The disclosed method prevents peer drivers for a composite device from monopolizing bandwidth and blocking each other. 

Detailed description

              The disclosed method includes a policy manager and an algorithm for allocating bandwidth for a composite device.

Driver architecture

              A composite device has multiple functions. A discrete driver can be created for each function. These drivers must communicate their bandwidth requirements to avoid starving each other of bandwidth. A separate policy manager can be created to facilitate communications amongst the various drivers (see Figure 1).

The algorithm

              Each driver must communicate its bandwidth requirement to its peer drivers. Each driver must then take the requirements of its peers into consideration when requesting USB bandwidth from the operating system. In this algorithm, the communication of these requirements is done through the policy manager. The policy manager implements the following primitives for communicating bandwidth requirements:

·        USB-Bandwidth-Reservation(MaxPacketSizeInBytes): This function informs the policy driver of the driver’s USB bandwidth requirement if it were to stream. When the driver is in streaming mode, it should update its USB bandwidth reservation to zero. At the termination of streaming, the driver should when again make the appropriate bandwidth ...