Optimizations for tunneling between a bus and a network
First Claim
Patent Images
1. A method for transferring information from a bus device coupled to a bus over a network, the method comprising:
- capturing one or more bus events corresponding to a split transaction generated by the bus device and sending an indication or response to the bus device that the transaction has been completed using a network interface;
encapsulating the captured bus events into packets associated with a network protocol using the network interface after sending the indication or response; and
sending the packets over the network to a remote site, where the one or more bus events encapsulated in the packets are decapsulated in order to recreate the one or more bus events.
6 Assignments
0 Petitions
Accused Products
Abstract
A system is described having a network, a bus and an interface coupling the network to the bus. A host is coupled to the network and executes software to generate packets for communication on the network. A bus device is coupled to the bus. The interface and host coordinate to transport bus device packets between the host and the bus device via tunneling over the network.
-
Citations
79 Claims
-
1. A method for transferring information from a bus device coupled to a bus over a network, the method comprising:
-
capturing one or more bus events corresponding to a split transaction generated by the bus device and sending an indication or response to the bus device that the transaction has been completed using a network interface; encapsulating the captured bus events into packets associated with a network protocol using the network interface after sending the indication or response; and sending the packets over the network to a remote site, where the one or more bus events encapsulated in the packets are decapsulated in order to recreate the one or more bus events. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a network; a bus; a bus device coupled to the bus, wherein the bus generates a split transaction on the bus as one or more bus events; an interface coupling the network to the bus, the interface tunneling bus events over the network from the bus device by capturing the bus events, sending an indication or response to the bus device that the transaction has been completed, and then encapsulating bus events generated by the bus device into packets and transferring the packets over the network. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of transferring information between a device on a bus to a destination comprising:
-
an interface receiving a write request generated by a serial bus device; generating a write response to the write request before sending the write request to a network host; the interface receiving an acknowledged completion indication from the serial bus device to inform the interface that the write response was received; the interface encapsulating the serial bus write request into one or more packets with the tunneling header; transmitting the one or more packets over the network; and receiving a response that write request data has been delivered to the network host. - View Dependent Claims (12)
-
-
13. An apparatus for transferring information between a device on a bus to a destination comprising:
-
means for receiving a write request from the device and generating a write response to the write request before sending the write request to a network host; means for receiving an acknowledged completion indication from the device to inform the interface that the write response was received; means for encapsulating the serial bus write request into one or more packets with the tunneling header; means for transmitting the one or more packets over the network; and means for receiving a response that write request data has been delivered to the network host. - View Dependent Claims (14)
-
-
15. A computer readable medium having a plurality of executable instructions, which, when executed by a processing device, cause at least one processing device to transfer information between a device on a bus to a destination by:
-
receiving a write request from the device; generating a write response to the write request before sending the write request to a network host; sending an acknowledged completion indication to inform that the write response was received; encapsulating the serial bus write request into one or more packets with the tunneling header; transmitting the one or more packets over the network; and receiving a response that write request data has been delivered to the network host. - View Dependent Claims (16)
-
-
17. A method of transferring information between a device on a bus to a destination comprising:
-
an interface receiving a write request from a serial bus device; the interface generating an acknowledge complete indication to indicate to the serial bus device that the transaction is complete; the interface encapsulating the serial bus write request into one or more packets, and with a tunneling header; transmitting the one or more packets over the network; and receiving a response that write request data has been delivered to a network host. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. An apparatus for transferring information between a device on a bus to a destination comprising:
-
means for receiving a write request from the device; means for generating an acknowledge complete indication to indicate to the serial bus device that the transaction is complete; means for encapsulating the serial bus write request into one or more packets, and with a tunneling header; means for transmitting the one or more packets over the network; and means for receiving a response that write request data has been delivered to a network host. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A computer readable medium having a plurality of executable instructions, which, when executed by a processing device, cause at least one processing device to transfer information between a device on a bus to a destination by:
-
receiving a write request from the device; generating an acknowledge complete indication to indicate to the serial bus device that the transaction is complete; encapsulating the serial bus write request into a packets, and with a tunneling header; transmitting the one or more packets over the network; and receiving a response that write request data has been delivered to a network host.
-
-
29. A method of transferring information between a device on a bus to a destination comprising:
-
an interface receiving a write request from a serial bus device; the interface generating an acknowledge pending indication to indicate to the serial bus device that the transaction is pending and awaiting confirmation; the interface immediately sending a serial bus write response to the serial bus device indicating that the transaction has been completed; the interface receiving an acknowledge completion indication from the serial bus device informing the interface that the write response was received; the interface encapsulating the serial bus write request into a packet with the tunneling header; transmitting the packet over the network; and receiving a response write request data has been delivered to a network host. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. An apparatus for transferring information between a device on a bus to a destination comprising:
-
means for receiving a write request from a serial bus device and generating an acknowledge pending indication to indicate to the serial bus device that the transaction is pending and awaiting confirmation; means for immediately sending a serial bus write response to the serial bus device indicating that the transaction has been completed; means for receiving an acknowledge completion indication from the serial bus device informing that the write response was received; means for encapsulating the serial bus write request into a packet with the tunneling header and transmitting the packet over the network; and means for receiving a response write request data has been delivered to a network host. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A computer readable medium having a plurality of executable instructions, which, when executed by a processing device, cause at least one processing device to transfer information between a device on a bus to a destination by:
-
receiving a write request from a serial bus device; generating an acknowledge pending indication to indicate to the serial bus device that the transaction is pending and awaiting confirmation; immediately sending a serial bus write response to the serial bus device indicating that the transaction has been completed; receiving an acknowledge completion indication from the serial bus device informing the interface that the write response was received; encapsulating the serial bus write request into a packet with the tunneling header; transmitting the packet over the network; and receiving a response write request data has been delivered to a network host.
-
-
42. A system comprising:
-
a network; a bus; a bus device coupled to the bus; an interface coupling the network to the bus, the interface tunneling bus events over the network to and from the bus device by encapsulating bus events generated by the bus device into packets and transferring the encapsulated bus events over the network for subsequent decapsulation to recreate the bus events, and further wherein the interface sends an announcement packet over the network that encapsulates bus events corresponding to a bus reconfiguration process for the bus. - View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A method of transferring information across a network comprising:
-
capturing bus events corresponding to a bus configuration process generated on a bus; encapsulating the captured bus events into at least one packet associated with a network protocol using an interface; sending the at least one packet over the network so that the capsulated bus event may be decapsulated to recreate the bus events at a remote site. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. An apparatus for transferring information across a network comprising:
-
means for capturing bus events corresponding to a bus configuration process generated on a bus; means for encapsulating the captured bus events into at least one packet associated with a network protocol using an interface; means for sending the at least one packet over the network so that the capsulated bus event may be decapsulated to recreate the bus events at a remote site.
-
-
55. A system comprising:
-
a network; a bus; a Universal Serial Bus (USB) device coupled to the bus; and an interface coupling the network to the bus, the interface tunneling URB requests over the network to and from the bus device by encapsulating the URB requests into network protocols and transferring the encapsulated the URB requests over the network for subsequent decapsulation to recreate USB bus events.
-
-
56. A method of transferring information across the network comprising:
-
capturing bus events generated on a bus; encapsulating URB requests that are based on the captured bus events into packets associated with a network protocol using an interface; and sending the encapsulated bus events for subsequent decapsulation at a remote site. - View Dependent Claims (57)
-
-
58. A system comprising:
-
an asynchronous network; a bus; a bus device coupled to the bus, wherein the bus device generates isochronous data; an interface coupling the network to the bus, the interface tunneling bus events over the network by encapsulating bus events into network protocols, transferring the encapsulated bus events over the network, and subsequently decapsulating the bus events to recreate the bus events, and further wherein the interface buffers isochronous data to manage network latencies. - View Dependent Claims (59, 60, 61, 62, 63, 64, 65)
-
-
66. A method of transferring information across a network comprising:
-
a network host encapsulating bus events representing isochronous data into packets associated with a network protocol; sending the packets over the network; decapsulating the encapsulated bus events and recreating them at a remote site using an interface; the interface sending a data confirmation packet over the network after transmission of the bus events on a bus coupled to the interface; and the network host processing the data confirmation packet and determining whether to continue sending isochronous data.
-
-
67. A system comprising:
-
a network having a host coupled thereto, the host generates packets for communication on the network; a bus with a bus device coupled thereto; an interface coupling the network to the bus, the interface and host coordinating to tunnel bus events over the network between the host and the bus device by encapsulating bus events into network protocols, transferring the encapsulated bus events over the network, and subsequently decapsulating the bus events to recreate the bus events, wherein the interface sends a data confirmation packet to the host after transmission on the bus of bus events representing isochronous data tunneled over the network from the host, the host receiving the data confirmation packet and, based on its contents, determines whether to continue sending isochronous data.
-
-
68. A method of controlling devices across the network comprising:
-
capturing bus events; encapsulating the captured bus events into packets associated with a network protocol, where at least one of the packets comprises an ownership tunneling packet to manage network ownership of a bus device; sending the packets on the network; decapsulating the encapsulated bus event and recreating them at a remote site. - View Dependent Claims (69, 70, 71, 72, 73)
-
-
74. An apparatus for controlling devices across the network comprising:
-
means for capturing bus events generated on a bus; means for encapsulating the captured bus events into packets associated with a network protocol using an interface, where at least one of the packets comprises an ownership tunneling packet to manage network ownership of a bus device; and means for decapsulating the capsulated bus event and recreating them at a remote site. - View Dependent Claims (75, 76, 77, 78, 79)
-
Specification