Dynamic bus-based virtual channel multiplexing device driver architecture
AssigneeSierra Wireless, Inc.
InventorsTilakraj Roychoudhury, Richard Thomas Kavanaugh
Life of this patent
Estimating the term…
Abstract
Dynamic bus-based virtual channel multiplexing may be accomplished by establishing one or more virtual channels with a multiplexing device function driver and a multifunction device coupled to a bus, determining one or more functions to be activated on the device, and for each activated function, launching a second-tier function driver to handle operation of the activated function. The second-tier function driver has a function driver type. Establishment of the one or more virtual channels is accomplished using a multiplexing protocol and multiplexing device function driver with the multifunction device via a bus driver coupled to the bus.
Claims29
An apparatus for dynamic bus-based virtual channel multiplexing, comprising:
- a bus;
- a bus driver coupled to the bus;
- a multifunction device coupled to the bus and configured with a plurality of functions;
- and
- a Multiplex Device Function Driver (MDFD) coupled to the bus driver and configured to:
- establish one or more virtual channels with the device using a peer-to-peer multiplexing protocol between the MDFD and the device via the bus driver, wherein the bus driver and the device have equal responsibility for initiating, maintaining, and terminating the one or more virtual channels;
- determine one or more of the plurality of functions to be activated on the device, each activated function associated with one or more established virtual channels;
- and
- for each activated function, launch a second-tier function driver to handle operation of the activated function, the second-tier function driver having a function driver type.
A computer implemented method for dynamic bus-based virtual channel multiplexing, comprising:
- by a Multiplex Device Function Driver (MDFD), establishing one or more virtual channels with a multifunction device coupled to a bus and configured with a plurality of functions, the establishing using a peer-to-peer multiplexing protocol and the multiplexing device function driver with the device via a bus driver coupled to the bus, wherein the bus driver and the device have equal responsibility for initiating, maintaining, and terminating the one or more virtual channels;
- determining one or more of the plurality of functions to be activated on the device, each activated function associated with one or more established virtual channels;
- and
- for each activated function, launching a second-tier function driver to handle operation of the activated function, the second-tier function driver having a function driver type.
A nontransitory program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method for dynamic bus-based virtual channel multiplexing, the method comprising:
- by a Multiplex Device Function Driver (MDFD), establishing one or more virtual channels with a multifunction device coupled to a bus and configured with a plurality of functions, the establishing using a peer-to-peer multiplexing protocol and the multiplexing device function driver with the device via a bus driver coupled to the bus, wherein the bus driver and the device have equal responsibility for initiating, maintaining, and terminating the one or more virtual channels;
- determining one or more of the plurality of functions to be activated on the device, each activated function associated with one or more established virtual channels;
- and
- for each activated function, launching a second-tier function driver to handle operation of
- the activated function, the second-tier function driver having a function driver type.
Dependencies are inferred from the claim text.