Method and apparatus for host controller operations over a network
OwnerEric Welchinventor
Life of this patent
Estimating the term…
Abstract
A remote host controller includes USB ports and a network interface. A processing device in the remote host controller supports an IP stack in communication with a network and drivers in communication with a Universal Serial Bus attached to the USB ports. The remote host controller registers with hosts on the network. Registered hosts are sent communications regarding attachment and detachment of peripheral devices to/from the remote host controller. The registered hosts are selectively configured to be able to communicate with one or more of the peripheral devices. Communications between applications and the peripherals are transparent in that they operate as if directly attached to a USB port on the host computer.
Claims80
A stand alone host controller, comprising:
- a network interface;
- a bus and at least one external port coupled to the bus;
- and
- a processor coupled to the bus and the network interface and configured to process communications passed between the network interface and the bus.
A method of operating a host computer, comprising the steps of:
- identifying placement of a remote host controller on a network;
- registering the remote host controller with the host computer;
- and
- registering the host computer with the remote host controller.
A method, comprising the steps of:
- listening, with a host computer to a well known UDP port for broadcast host controller identification messages;
- retrieving a TCP port # and a sending IP address of the remote host from a message broadcast from the well known UDP port;
- establishing a TCP session with the remote host using the TCP port # and IP address.
A method of operating a remote host device, comprising the steps of:
- detecting connection of a network to the remote host device;
- and
- broadcasting a message on the network identifying presence of the remote host including an identification of the remote host.
A method of operating a remote host, comprising the steps of:
- detecting attachment of a peripheral device to the remote host;
- and
- narrowcasting a message over a network to a predetermined set of host devices announcing the detection of the peripheral device.
A stand alone host controller, comprising:
- a network port;
- at least one USB port;
- and
- a transaction server, comprising,
- a login thread configured to accept login requests received over the network port from a plurality of individual host computers, wherein the login thread verifies a password, and upon verification of the password, sends a login response to the successfully logged in host computer that includes a list of all devices attached to the at least one USB port, and
- an operational thread configured to process messages between a successfully logged in host computer and one of the attached devices selected by the logged in host computer.
A stand alone USB host controller, comprising:
- at least one USB port;
- a network port;
- and
- a transaction server configured to register a device attached to the USB ports to a plurality of host computers coupled to the network port via a network;
- wherein the transaction server comprises a conflicts mechanism configured to send a USB detach message to a host computer that attempts to communicate with an attached device when it is in use with another host computer.
A computer readable media having a set of instruction stored thereon, that, when loaded into a processing device of a stand alone host controller, cause the stand alone host controller to perform the steps of:
- receiving USB messages packaged as a network message and received on a network port of the stand alone host controller;
- and
- administering the USB messages to a selected USB device attached to the stand alone host controller.
A computer readable media having a set of instruction stored thereon, that, when loaded into a processing device of a stand alone host controller, cause the stand alone host controller to perform the steps of:
- registering a plurality of host computers;
- sending a list of devices attached to the standalone host controller to each of the registered host computers;
- and
- coordinating communications between each of the registered host computers and attached devices selected by the host computers.
A method, comprising the steps of:
- receiving data from a USB stack on a host computer for a USB device logically installed on the host computer but physically installed on a remote stand alone host controller;
- appending a header for the remote stand alone host controller onto the received data;
- sending the received data and header to the remote stand alone host controller via a network.
A device driver, comprising:
- a send data manager, comprising,
- a capture mechanism configured to capture Application data associated with a USB device logically registered on a Host computer and physically located on a remote host controller,
- a header mechanism configured to append a header identifying the USB device, and
- a forwarding mechanism configured to forward the captured application data and appended header to a network stack.
A data package, comprising:
- application data associated with a USB device logically registered on a Host computer but physically located on a remote host controller;
- and
- remote host controller header data prepended to the application data and identifying the USB device.
A data encapsulation scheme for use in a system for passing USB data from an application on a host computer to a USB device attached to a host controller coupled to the host computer via a network, the data encapsulation scheme comprising:
- a USB data packet to be delivered to a specific USB device;
- a first set of header data attached to the USB data packet that identifies the specific USB device;
- and
- a second set of header data attached to the first set of header data that comprises network routing information corresponding to the host controller to which the specific USB device is attached.
Dependencies are inferred from the claim text.