Patent ID: 7587536

Claim:
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.