US 7,587,536 B2
Method and apparatus for distributing USB hub functions across a network
John Alexander McLeod, Surrey (Canada)
Assigned to Icron Technologies Corporation, Burnaby, British Columbia (Canada)
Filed on Jul. 28, 2006, as Appl. No. 11/460,963.
Prior Publication US 2008/0028120 A1, Jan. 31, 2008
Int. Cl. G06F 13/12 (2006.01)
U.S. Cl. 710—65  [710/315; 370/401] 14 Claims
OG exemplary drawing
 
1. A method for transmitting data between a host computer and one or a plurality of USB peripheral devices, wherein said USB peripheral devices are distributed around a data communications network and wherein the transmission delay across said network is greater than that normally allowed by the USB specification, said method comprising connecting a host computer to a local extender device, connecting said local extender device to one or a plurality of remote extender devices through a data communication network, and connecting said remote extender devices to one or a plurality of USB peripheral devices, wherein signals between said host computer and said USB peripheral devices are saved, collected, absorbed, or otherwise processed in the local extender and/or the remote extenders so as to allow the host computer and the USB peripheral devices to operate in the presence of a round trip delay greater than that normally allowed in the USB specification, and
wherein said method includes the ability to detect the attachment of a USB peripheral device to the system, to detect the detachment of a USB peripheral device, or includes the ability to determine the network address of a USB function wherein said USB function may be a USB hub or a USB peripheral device, and
wherein said method provides for transmitting a USB command from a host computer, through a local extender, to a unique network address on a data communications network, which method comprises:
a) receiving at a local extender a USB command from a host computer;
b) extracting a first USB address from said USB command;
c) using said first USB address to access a first data record within a table of similar records;
d) determining whether said first data record contains a valid network address;
e) extracting from said first data record a second USB address identifying the upstream USB hub through which said first USB address may be accessed;
f) repeating steps (c) through (e) until a valid network address is found;
g) encapsulating said USB command in a network packet;
h) addressing said network packet to said valid network address; and
i) transmitting said addressed network packet to said data communications network.