Local area network incorporating universal serial bus protocol
First Claim
1. A computer network comprising:
- a LAN hub;
at least one network device connected to the LAN hub;
at least one outer hub device connected to the LAN hub via a respective LAN link; and
, at least one USB device or at least one LAN computer connected to the outer hub device via a respective USB link;
wherein the USB device or the LAN computer communicates with the outer hub device using a USB protocol;
wherein the outer hub device communicates with the LAN hub using a LAN protocol;
wherein the network device communicates with the LAN hub using the LAN protocol or a network protocol;
wherein, for asynchronous communications, the outer hub device examines USB packets from the USB device or the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the outer hub device buffers data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an Out token packet within the USB time limit prescribed by the USB protocol;
and wherein the outer hub device buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the LAN computer.
10 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to local area networks typically comprising a LAN hub, a plurality of outer hub devices connected to the LAN hub via a respective plurality of LAN links and a plurality of USB devices and/or LAN computers connected to the plurality of outer hub devices via a respective plurality of USB links. The outer end hubs communicate with the USB devices and LAN computers using USB protocol having time sensitive aspects. To satisfy the requirements of the USB protocol, the outer hub devices perform the time sensitive aspects of the USB protocol. The outer end hubs communicate with the LAN hub using a LAN protocol which permits the outer hub device to be further than 5 meters from the LAN hub. The LAN protocol is typically a variant of the USB protocol.
-
Citations
57 Claims
-
1. A computer network comprising:
-
a LAN hub;
at least one network device connected to the LAN hub;
at least one outer hub device connected to the LAN hub via a respective LAN link; and
,at least one USB device or at least one LAN computer connected to the outer hub device via a respective USB link;
wherein the USB device or the LAN computer communicates with the outer hub device using a USB protocol;
wherein the outer hub device communicates with the LAN hub using a LAN protocol;
wherein the network device communicates with the LAN hub using the LAN protocol or a network protocol;
wherein, for asynchronous communications, the outer hub device examines USB packets from the USB device or the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the outer hub device buffers data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an Out token packet within the USB time limit prescribed by the USB protocol;
and wherein the outer hub device buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the LAN computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer network comprising:
-
a LAN hub;
a first outer hub device connected to the LAN hub via a respective LAN link;
a second hub device connected to the LAN hub via a respective LAN link;
at least one USB device or at least one LAN computer connected to the first outer hub device via a respective USB link; and
,at least one other LAN computer connected to the second outer hub device via a respective USB link;
wherein the USB device and the LAN computer communicates with the first outer hub device using a USB protocol;
wherein the other LAN computer communicates with the second outer hub device using a USB protocol;
wherein the first outer hub device and the second outer hub device communicates with the LAN hub using a LAN protocol;
wherein, for asynchronous communications, the first outer hub device examines USB packets from the USB device or the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the first outer hub device buffers data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an Out token packet within the USB time limit prescribed by the USB protocol;
wherein the first outer hub device buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the LAN computer;
wherein, for asynchronous communications, the second outer hub device examines USB packets from the other LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within the USB time limit prescribed by the USB protocol after receiving the USB packets;
and wherein the second outer hub device buffers data received from the LAN hub to be sent to the other LAN computer in a data packet and ensures that the data packet is sent to the other LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the other LAN computer. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. An end hub for use in a computer network in which the end hub communicates with at least one USB device using a USB protocol and in which the end hub communicates with a LAN hub using a LAN protocol, said end hub comprising:
-
LAN hub communication means for communicating with the LAN hub;
USB device communication means for communicating with the USB device; and
,control logic means connected to the LAN hub communication means and to the USB device communication means;
wherein, for asynchronous communications, the control logic means examines USB packets from the USB device, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
and wherein the control logic means buffers data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an Out token packet within the USB time limit prescribed by the USB protocol. - View Dependent Claims (32, 33)
an end hub control unit connected to the LAN transceiver;
a token and data buffer connected to the end hub control unit, to the LAN transceiver and to the USB transceiver;
a CRC check unit connected to the end hub control unit;
a data and handshake buffer connected to the end hub control unit, to the CRC check unit, to the LAN transceiver and to the USB transceiver; and
,a hub control unit connected to the end hub control unit and to the hub repeater.
-
-
34. An attachment unit for use in a computer network in which the attachment unit communicates with at least one LAN computer using a USB protocol and in which the attachment unit communicates with a LAN hub using a LAN protocol, said attachment unit comprising:
-
LAN hub communication means for communicating with the LAN hub;
USB computer communication means for communicating with the LAN computer; and
,control logic means connected to the LAN hub communication means and to the USB computer communication means;
wherein, for asynchronous communications, the control logic means examines US Packets from the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
and wherein the control logic means buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token from the LAN computer. - View Dependent Claims (35, 36)
an attachment control unit connected to the LAN transceiver and to the USB transceiver;
endpoint 0 and 2 buffers connected to the LAN transceiver, to the USB transceiver and to the attachment control unit;
a CRC check unit connected to the attachment control unit;
A token check unit connected to the attachment control unit;
Endpoint 0 and 1 buffers connected to the LAN transceiver, to the USB transceiver, to the CRC check unit, to the token check unit and to the attachment control unit; and
,an address register connected to the attachment control unit.
-
-
37. An enhanced attachment unit for use in a computer network in which the enhanced attachment unit communicates with at least one LAN computer using a USB protocol and in which the attachment unit communicates with a LAN hub using a LAN protocol, said attachment unit comprising:
-
LAN hub communication means for communicating with the LAN hub;
USB computer communication means for communicating with the LAN computer; and
,Control logic means connected to the LAN hub communication means and to the USB computer communication means;
wherein the control logic means contains logic to virtually connect at least one USB device;
wherein, for asynchronous communications, the control logic means examines USB packets from the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
and wherein the control logic means buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the LAN computer. - View Dependent Claims (38, 39)
a micro controller connected to the LAN transceiver and to the USB transceiver;
a RAM unit connected to the micro controller; and
,a ROM unit connected to the micro controller.
-
-
40. A composite end hub for use in a computer network in which the composite end hub communicates with a LAN computer and with at least one USB device using USB protocol and in which an attachment unit communicates with a LAN hub using a LAN protocol, said composite end hub comprising:
-
LAN hub communication means for communicating with the LAN hub;
USB device communication means for communicating with the at least one USB device;
USB computer communication means for communicating with the LAN computer; and
,Control logic means connected to the LAN hub communication means, to the USB device communication means and to the USB computer communication means;
wherein, for asynchronous communications, the control logic means examines USB packets from the USB device or the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the control logic means buffers data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an Out token packet within the USB time limit prescribed by the USB protocol;
and wherein the control logic means buffers data received from the LAN hub to be sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet. - View Dependent Claims (41, 42)
a micro controller connected to the LAN transceiver, to the first USB transceiver and to the second USB transceiver;
a RAM unit connected to the micro controller;
a ROM unit connected to the micro controller; and
,a hub control unit connected to the micro controller and to the hub repeater.
-
-
43. A virtual modem bridge for use with a first USB host device and a second USB host device in which the virtual modem bridge communicates with the first USB host device and the second USB host device using a USB protocol, said virtual modem bridge comprising:
-
first USB host device communication means for communicating with the first USB host device;
second USB host device communication means for communicating with the second USB host device; and
,control logic means connected to the first USB host device communication means and to the second USB host device communication means;
wherein, for asynchronous communications, the control logic means examines USB packets from the first USB host device or the second USB host device, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the control logic means buffers data received from the first USB host device to be sent to the second USB host device in a data packet and ensures that the data packet is sent to the second USB host device within the USB time limit prescribed by the USB protocol after receiving an In token packet from the second USB host device;
and wherein the control logic means buffers data received from the second USB host device to be sent to the first USB host device in a data packet and ensures that the data packet is sent to the first USB host device within the USB time limit prescribed by the USB protocol after receiving an In token packet from the first USB host device. - View Dependent Claims (44, 45)
wherein the network device communicate with the LAN hub using the LAN protocol or a network protocol;
wherein, for asynchronous communications, the outer hub device examines USB packets from the USB device or the LAN computer, generates handshake packets in response to the USB packets according to the USB protocol and ensures that the handshake packets are generated within a USB time limit prescribed by the USB protocol after receiving the USB packets;
wherein the outer hub device buffer data received from the LAN hub to be sent to the USB device in a data packet and ensures that the data packet follows an out token packet within the USB time limit prescribed by the USB protocol;
and wherein the outer hub device buffers data received from the LAN hub to the sent to the LAN computer in a data packet and ensures that the data packet is sent to the LAN computer within the USB time limit prescribed by the USB protocol after receiving an In token packet from the LAN computer, wherein said computer network includes at least one end hub as the at least one outer hub device, and said virtual modem bridge is connected to the end hub, and a computer connected to the virtual modem bridge wherein the end hub and the computer communicates with the virtual modem bridge using the USB protocol.
-
-
46. A method of increasing the distance between a host computer and a USB device where the host computer communicates with the USB device using a USB protocol, said method for sending data from the host computer to the USB device comprising:
-
(A) Transmitting an Out token packet and a data packet (collectively the “
USB packets”
) from the host computer to a first outer hub device using the USB protocol;
(B) For asynchronous communications, examining the USB packets at the first outer hub device, generating an appropriate handshake packet at the first outer hub device according to the USB protocol and transmitting the handshake packet from the first outer hub device to the host computer within a USB time limit prescribed by the USB protocol after receiving the USB packets;
(C) For asynchronous communications, re-transmitting the USB packets from the host computer to the first outer hub device using the USB protocol if a NAK handshake packet is received by the host computer or if no handshake packet was received by the host computer within the USB time limit prescribed by the USB protocol;
(D) Converting the USB packets into at least one LAN packet according to a LAN protocol at the first outer hub device;
(E) Transmitting the LAN packet from the first outer hub device to a second outer hub device using the LAN protocol;
(F) Reconstructing the USB packets from the LAN packet at the second outer hub device;
(G) Transmitting the USB packets from the second outer hub device to the USB device using the USB protocol ensuring that the data packet follows the token packet within the USB time limit prescribed by the USB protocol;
(H) For asynchronous communications, examining the USB packets at the USB device, generating an appropriate handshake packet at the USB device according to the USB protocol and transmitting the handshake packet from the USB device to the second outer hub device within the USB time limit prescribed by the USB protocol after receiving the USB packets;
(I) For asynchronous communications, re-transmitting the USB packets using the USB protocol from the second outer hub device to the USB device ensuring that the data packet follows the token packet within the USB time limit prescribed by the USB protocol if a NAK handshake packet is received by the second outer hub device or if no handshake packet was received by the second outer hub device within the USB time limit prescribed by the USB protocol;
And said method for obtaining data from the USB device for the host computer comprising; (A) Transmitting an In token packet from the host computer to the first outer hub device using the USB protocol;
(B) If the first outer hub device has data responsive to the In token packet performing the following steps;
(a) Transmitting a data packet from the first outer hub device to the host computer using the USB protocol; and
(b) For asynchronous communications, examining the USB data packet at the host according to the USB protocol, generating an appropriate handshake packet at the host computer according to the USB protocol and transmitting the handshake packet from the host computer to the first outer hub device using the USB protocol within a USB time limit prescribed by the USB protocol after receiving the USB data packet;
(C) If the first outer hub device does not have data response to the In token packet, transmitting a NAK handshake packet from the first outer hub device to the host computer;
(D) If the first outer hub device has received a LAN packet indicating a stall, transmitting a stall handshake packet from the first outer hub device to the host computer;
(E) Converting the In packet into at least one LAN packet according to the LAN protocol at the first outer hub device;
(F) Transmitting the LAN packet from the first outer hub device to a second outer hub device using the LAN protocol;
(G) Reconstructing the In token packet from the LAN packet at the second outer hub device;
(H) Transmitting the In token packet from the second outer hub device to the USB device using the USB protocol;
(I) If the USB device has data responsive to the In token packet, performing the following steps;
(a) transmitting the data in a data packet from the USB device to the second outer hub device using the USB protocol;
(b) For asynchronous communications, examining the data packet at the second outer hub device, generating an appropriate handshake packet at the second outer hub device according to the USB protocol and transmitting the handshake packet from the second outer hub device to the USB device using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the data USB packet; and
,(c) Converting the data packet to at least one LAN packet according to the LAN protocol at the second outer hub device;
(J) If the USB device does not have data responsive to the IN token packet, transmitting a NAK handshake packet from the USB device to the second outer hub device using the USB protocol and converting the NAK handshake packet into at least one LAN packet according to the LAN protocol;
(K) If the USB device is in a stalled condition, transmitting a Stall handshake packet from the USB device to the second outer hub device using the USB protocol and converting the Stall handshake packet into at least one LAN packet according to the LAN protocol;
(L) Transmitting the LAN packet from the second outer hub device to the first outer hub device using the LAN protocol;
(M) Reconstructing the data packet, the NAK handshake packet or the Stall handshake packet from the LAN packet at the first outer hub device; and
,(N) Storing the data packet, the NAK handshake packet or the stall handshake packet in the first outer hub device. - View Dependent Claims (47, 48)
-
-
49. A method of increasing the distances in a computer network between a host computer and a USB device where the host computer communicates with the USB device using USB protocol, said method for sending data from the host computer to the USB device comprising:
-
(A) Transmitting an Out token packet and a data packet (collectively the “
USB packets”
) from the host computer to a first outer hub device using the USB protocol;
(B) For asynchronous communications, examining the USB packets at the first outer hub device, generating an appropriate handshake packet at the first outer hub device according to the USB protocol and transmitting the handshake packet from the first outer hub device to the host computer using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the USB packets;
(C) For asynchronous communications, re-transmitting the USB packets from the host computer to the first outer hub device using the USB protocol if a NAK handshake packet is received by the host computer or if no handshake packet was received by the host computer within the USB time limit prescribed by the USB protocol;
(D) Converting the USB packets into at least one LAN packet according to a LAN protocol at the first outer hub device;
(E) Transmitting the LAN packet from the first outer hub device to a LAN hub using the LAN protocol;
(F) Re-transmitting the LAN packet from the LAN hub to a second outer hub device using the LAN protocol;
(G) Reconstructing the USB packets from the LAN packet at the second outer hub device;
(H) Transmitting the USB packets from the second outer hub device to the USB device using the USB protocol ensuring that the data packet follows the Out token packet within the USB time limit prescribed by the USB protocol;
(I) For asynchronous communications, examining the USB packets at the USB device, generating an appropriate handshake packet at the USB device according to the USB protocol and transmitting the handshake packet from the USB device to the second outer hub device using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the USB packets; and
,(J) For asynchronous communications, retransmitting the USB packets from the second outer hub device to the USB device using the USB protocol ensuring that the data packet follows the token packet within the USB time limit prescribed by the USB protocol if a NAK handshake packet is received by the second outer hub device or if no handshake packet was received by the second outer hub device within the USB time limit prescribed by the USB protocol;
And said method for obtaining data from the USB device for the host computer comprising; (A) Transmitting an In token packet from the host computer to the first outer hub device using the USB protocol;
(B) If the first outer hub device has data responsive to the In token packet performing the following steps;
(a) Transmitting a data packet from the first outer hub device to the host computer using the USB protocol; and
(b) For asynchronous communications, examining the USB data packet at the host computer, generating an appropriate handshake packet at the host computer according to the USB protocol and transmitting the handshake packet from the host computer to the first outer hub device using the USB protocol within a USB time limit prescribed by the USB protocol after receiving the USB data packet;
(C) Converting the In token packet into at least one LAN packet according to the LAN protocol at the first outer hub device;
(D) Transmitting the LAN packet from the first outer hub device to the LAN hub using the LAN protocol;
(E) Re-transmitting the LAN packet from the LAN hub to the second outer hub device using the LAN protocol;
(F) Reconstructing the In token packet from the LAN packet at the second outer hub device;
(G) Transmitting the In token packet from the second outer hub device to the USB device using the USB packet;
(H) If the USB device has data responsive to the In token packet, performing the following steps;
(a) transmitting the data in a data packet from the USB device to the second outer hub device using the USB protocol;
(b) For asynchronous communications, examining the data packet at the second outer hub device, generating an appropriate handshake packet at the second outer hub device according to the USB protocol and transmitting the handshake packet from the second outer hub device to the USB device using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the data USB packet; and
,(c) Converting the data packet to at least one LAN packet at the second outer hub device;
(I) If the USB device does not have data responsive to the IN token packet, transmitting a NAK handshake packet from the USB device to the second outer hub device using the USB protocol and converting the NAK handshake packet into at least one LAN packet according to the LAN protocol;
(J) If the USB device is in a stalled condition, transmitting a Stall handshake packet from the USB device to the second outer hub device using the USB protocol and converting the Stall handshake packet into at least one LAN packet according to the LAN protocol;
(K) Transmitting the LAN packet from the second outer hub device to the LAN hub using the LAN protocol;
(L) Re-transmitting the LAN packet from the LAN hub to the first outer hub device using the LAN protocol;
(M) Reconstructing the data packet, the NAK handshake packet or the Stall handshake packet from the LAN packet at the first outer hub device; and
,(N) Storing the data packet, the NAK handshake packet or the stall handshake packet in the first outer hub device. - View Dependent Claims (50, 51)
-
-
52. A method of increasing the distances in a computer network between a first host computer and a second host computer where the first host computer communicates with the second host computer using a USB protocol, said method for sending data from the first host computer to the second host computer comprising:
-
(A) Transmitting a token packet and a data packet (collectively the “
USB packets”
) from the first host computer to a first outer hub device using the USB protocol;
(B) For asynchronous communications, examining the USB packets at the first outer hub device, generating an appropriate handshake packet at the first outer hub device according to the USB protocol and transmitting the handshake packet from the first outer hub device to the first host computer using the USB protocol within a USB time limit prescribed by the USB protocol after receiving the USB packets;
(C) For asynchronous communications, re-transmitting the USB packets from the first host computer to the first outer hub device using the USB protocol if a NAK handshake packet is received by the first host computer or if no handshake packet was received by the first host computer within the USB time limit prescribed by the USB protocol;
(D) Converting the USB packets into at least one LAN packet according to a LAN protocol at the first outer hub device;
(E) Transmitting the LAN packet from the first outer hub device to a LAN hub using the LAN protocol;
(F) Re-transmitting the LAN packet from the LAN hub to a second outer hub device using the LAN protocol;
(G) Reconstructing the USB packets from the LAN packet at the second outer hub device;
(H) In response to an In token packet sent from the second host computer to the second outer hub device using the USB protocol, transmitting the USB data packet from the second outer hub device to the second host computer using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the In token packet; and
,(I) For asynchronous communications, examining the USB data packet at the second host computer, generating an appropriate handshake packet at the second host computer according to the USB protocol and transmitting the handshake packet from the second host computer to the second outer hub device using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the USB data packet. - View Dependent Claims (53, 54)
-
-
55. A method for allowing a first USB host device and a second USB host device to communicate with each other using USB protocol, said method for sending data from the first USB host device to the second USB host device comprising:
-
(A) Transmitting a token packet and a data packet (collectively the “
USB packets”
) from the first USB host device to a virtual modem bridge using the USB protocol;
(B) For asynchronous communications, examining the USB packets at the virtual modem bridge, generating an appropriate handshake packet at the virtual modem bridge according to the USB protocol and transmitting the handshake packet from the virtual modem bridge to the first USB host device using the USB protocol within a USB time limit prescribed by the USB protocol after receiving the USB packets;
(C) For asynchronous communications, re-transmitting the USB packets from the first USB host computer to the virtual modem bridge using the USB protocol if a NAK handshake packet is received by the first USB host device or if no handshake packet was received by the first USB host device within the USB time limit prescribed by the USB protocol;
(D) In response to an In token packet sent from the second USB host device to the virtual modem bridge using the USB protocol, transmitting the USB data packet from the virtual modem bridge to the second USB host device using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the In token packet; and
,(E) For asynchronous communications, examining the USB data packet at the second USB host device, generating an appropriate handshake packet at the second USB host device according to the USB protocol and transmitting the handshake packet from the second USB host device to the virtual modem bridge using the USB protocol within the USB time limit prescribed by the USB protocol after receiving the USB data packet. - View Dependent Claims (56, 57)
-
Specification