USB transmission system, device, program and method

The USB transmission system allows remote USB communication by simulating USB connections using pseudo-devices, eliminating the need for local computers and server software, thus enhancing data transmission efficiency.

JP7747049B2Active Publication Date: 2025-10-01NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023544931
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-03
Publication Date
2025-10-01
Estimated Expiration
2041-09-03

AI Technical Summary

Technical Problem

Existing systems require a computer to be installed near USB devices and new software on the server side for USB communication, limiting remote data collection and analysis.

Method used

A USB transmission system comprising a host pseudo-device and a device pseudo-device that simulate USB connections over a network, enabling direct communication between remote locations without local computers or server-side software.

Benefits of technology

Enables USB communication between remote locations without the need for local computers or server-side software, facilitating efficient data transmission and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007747049000001
    Figure 0007747049000001
  • Figure 0007747049000002
    Figure 0007747049000002
  • Figure 0007747049000003
    Figure 0007747049000003
Patent Text Reader

Abstract

The purpose of this disclosure is to enable a USB communication connection between remote locations, without requiring installation of a computer near a USB device or installation of new software on the server side. This USB transfer system and this USB transfer method are configured so that a host simulation apparatus connected by a USB cable to a USB device and a device simulation apparatus connected by a USB cable to a USB host are connected by a communication network in the USB transfer system. When a USB device is connected, the host simulation apparatus performs, between the USB device and the host simulation apparatus, a connection sequence prescribed by the USB. The host simulation apparatus transmits, to the device simulation apparatus, device information acquired through the connection sequence. On the basis of the device information acquired from the host simulation device, the device simulation apparatus simulates the USB device, performs the connection sequence with the USB host, and connects to the USB host.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to systems, devices, programs, and methods for transmitting USB communications to remote locations. [Background technology]

[0002] With the spread of 5G / IoT (Internet of Things), data-centric computing is being promoted, in which various USB (Universal Serial Bus) devices such as USB sensors and USB cameras are widely installed in remote locations, and data generated from the USB devices is collected on a server for analysis. To advance this initiative, it is necessary to build a system that can collect information from USB devices in remote locations.

[0003] Generally, to realize this system, a computer is installed near the USB camera, the USB communication is terminated on the computer, and software that sends and receives data between the computer and the server is run to realize a data collection system. However, when using this method, the following problems arise. First issue: The computer must be placed near the USB device, which requires computer management. Second challenge: Data reception software installed on the server side must be linked to the analysis application. Therefore, it is desirable to provide only a transmission device for remote transmission between the USB device and the server, and to adopt a configuration in which a direct USB connection is made.

[0004] A technology has been proposed that transmits USB physical signals over optical signals (see, for example, Non-Patent Document 2). This technology transmits USB physical signals as they are, making it possible to create the appearance of a remote USB device being directly connected to a server. Furthermore, because no software processing is involved, high-speed USB data communication can be exchanged without slowing down.

[0005] Also, a technology called USB / IP (Internet Protocol) has been disclosed that enables a server to use a USB device connected to a remote computer (see, for example, Non-Patent Document 1). Non-Patent Document 1 describes how USB / IP terminates USB communication in USB / IP client software, extracts data (USB Request Block), and transmits it to a remote USB / IP host, where the USB / IP host uses the transmitted data to simulate a USB device. Using this technology, it becomes possible to create the appearance that a remote USB device is directly connected to the server.

[0006] In USB 3.0 and later, there is a timer called Pending_HP_Timer in the link layer, and although the value of this timer differs depending on the device, it is a very small value of around 10 μs. This method, which extends the USB physical layer, can only transmit data over a distance of around 1 km, considering the speed of light.

[0007] Although it is possible to connect USB communications between remote locations, the USB / IP software must run on both the computer and the server, which means that the computer installed near the USB device must be managed, and the data reception software installed on the server must be linked with the analysis application, which are issues explained in the background section. [Prior art documents] [Non-patent literature]

[0008] [Non-Patent Document 1] USB 3.0 Extender Spectra3022, http: / / bayt.co.jp / products / branded / usb_extender / usb3 / spectra3022.html [Non-patent document 2] Takahiro Hirofuchi, Eiji Kawai, Kazutoshi Fujikawa, and Hideki Sunahara, “USB / IP - a Peripheral Bus Extension for Device Sharing over IP Network”, FREENIX Track: 2005 USENIX Annual Technical Conference.https: / / www.usenix.org / legacy / events / usenix05 / tech / freenix / hirofuchi / hirofuchi.pdf Summary of the Invention [Problem to be solved by the invention]

[0009] Therefore, an object of the present disclosure is to enable USB communication between remote locations without the need to install a computer near the USB device or new software on the server side. [Means for solving the problem]

[0010] The USB transmission system of the present disclosure comprises: a host pseudo-device connected to the USB device via a USB cable; a device pseudo-device connected to a USB host via a USB cable; A USB transmission system in which When a USB device is connected, the host pseudo-device performs a connection sequence defined by USB with the USB device, the host pseudo-device transmits the device information acquired through the connection sequence to the device pseudo-device; The device pseudo-device simulates a USB device based on the device information acquired from the host pseudo-device, performs the connection sequence with the USB host, and connects to the USB host.

[0011] The USB transmission method of the present disclosure is a USB transmission method executed by a USB transmission system. The USB transmission device of the present disclosure also functions as the host pseudo-device or the device pseudo-device provided in the USB transmission system. [Effects of the Invention]

[0012] According to the present disclosure, USB communication can be established between remote locations without the need to install a computer near the USB device or new software on the server side. [Brief explanation of the drawings]

[0013] [Figure 1] 1 shows an outline of a system configuration of the present disclosure. [Figure 2] 1 shows an overview of the layer structure of the system of the present disclosure. [Figure 3] 1 shows an outline of a system configuration of this embodiment. [Figure 4] 1 shows an example of a system configuration according to the present embodiment. [Figure 5] 10 shows an example of a destination device pseudo device record table. [Figure 6] 10 shows an example of an initial connection flow. [Figure 7] An example of IN communication flow is shown below. [Figure 8] An example of an OUT communication flow is shown below. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Note that the present disclosure is not limited to the embodiments shown below. These implementation examples are merely illustrative, and the present disclosure can be implemented in various forms with various modifications and improvements based on the knowledge of those skilled in the art. Note that components with the same reference numerals in this specification and drawings indicate the same components.

[0015] 1 shows an outline of the system configuration of the present disclosure. The system of the present disclosure is a USB transmission system including a USB device 91 and a USB host 93, and further includes a device pseudo-device 92 that simulates the operation of the USB device 91 and a host pseudo-device 94 that simulates the operation of the USB host 93. The device pseudo-device 92 and the USB host 93 function as the USB transmission device of the present disclosure.

[0016] The USB transmission device of the present disclosure can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided over a network. The program of the present disclosure is a program for causing a computer to realize each functional unit of the USB transmission device of the present disclosure, and is a program for causing a computer to execute each step of a method executed by the USB transmission device of the present disclosure.

[0017] The USB device 91 is any device that can be connected to a computer using USB, such as a USB camera or a USB sensor. The USB device 91 includes a USB device controller driver 11 and a class / bus driver 12 for transmitting and receiving data to and from a USB host 93, and an application 13.

[0018] The USB host 93 is a device, such as a server, that collects data generated by the USB device 91. The USB host 93 includes a USB host controller driver 31 and a USB core driver 32 for transmitting and receiving data to and from the USB device 91, and an application 33.

[0019] When the USB device 91 is connected to the USB host 93, the USB host 93 and the USB device 91 perform a connection sequence defined by USB. This allows the USB host 93 to perform USB communication with the USB device 91 without going through the communication network 81. Here, the connection sequence is a series of data exchanges that occur after the USB device is connected until it is recognized by the OS (such as Windows), and is, for example, an enumeration sequence.

[0020] When transmitting and receiving data such as an enumeration sequence, the USB device controller driver 11 and the USB host controller driver 31 perform processing up to the physical layer, link layer, and protocol layer, as shown in Fig. 2. When transmitting and receiving data such as an enumeration sequence, the class / bus driver 12 and the USB core driver 32 perform processing in layers above the protocol layer, as shown in Fig. 2.

[0021] The host pseudo-device 94 includes a USB host controller driver 41 having the same functions as the USB host controller driver 31, and a pseudo USB core driver 42 having the same functions as the USB core driver 32. This allows the host pseudo-device 94 to perform USB communication with the USB device 91 in place of the USB host 93.

[0022] The device pseudo-device 92 includes a USB device controller driver 21 having the same functions as the USB device controller driver 11, and a pseudo class / bus driver 22 having the same functions as the class / bus driver 12. This allows the device pseudo-device 92 to acquire device information about the USB device 91 and perform USB communication with the USB host 93 on behalf of the USB device 91.

[0023] The device pseudo-device 92 has a transmission function 43 for communicating with the host pseudo-device 94. The host pseudo-device 94 has a transmission function 23 for communicating with the device pseudo-device 92.

[0024] The system of the present disclosure performs the following connection sequence. When the USB device 91 is connected, the host pseudo-device 94 performs an enumeration sequence with the USB device 91 and connects to the USB device 91. As a result, the host pseudo-device 94 obtains device information from the USB device 91 for device simulation.

[0025] Here, the following can be exemplified as device information for simulating a device. Device Descriptor BOS (Binary Device Object Store) descriptor Configuration Descriptor

[0026] The host pseudo-device 94 uses the transmission function 43 to transmit the device information acquired when the host pseudo-device 94 is connected to the USB device 91 to the device pseudo-device 92 . The device pseudo-device 92 receives device information from the host pseudo-device 94 using the transmission function 23. Based on the acquired device information, the device pseudo-device 92 simulates a USB device 91, performs an enumeration sequence with the USB host 93, and connects to the USB host 93.

[0027] In the case of IN communication in which data is transmitted from the USB device 91 to the USB host 93, the system of this embodiment performs the following data transmission. The host pseudo-device 94 transmits data obtained as a result of USB communication with the USB device 91 to one or more device pseudo-devices 92. The device pseudo-device 92 transmits the received data to the USB host 93 via USB communication with the USB host 93. At this time, the device information received from the host pseudo-device 94 is used to perform the USB communication.

[0028] Here, the host pseudo-device 94 may transmit device information to multiple device pseudo-devices 92. In this case, each device pseudo-device 92 that receives the device information behaves as the same USB device 91, and can transmit data from one USB device 91 to different USB hosts 93.

[0029] In the case of OUT communication in which data is transmitted from the USB host 93 to the USB device 91, the system of this embodiment performs the following data transmission. The device pseudo-device 92 transmits data obtained as a result of USB communication with the USB host 93 to one host pseudo-device 94 . The host pseudo-device 94 transmits the received data to the USB device 91 via USB communication with the USB device 91.

[0030] The present disclosure enables a remote connection to a USB device 91 without modifying the USB host 93. Furthermore, the present disclosure enables data obtained from one USB device 91 to be transmitted to multiple USB hosts 93.

[0031] 3 shows an example of a system configuration of this embodiment. For ease of understanding, this embodiment shows an example in which the USB hosts 93 are two servers 193 and the USB device 91 is one USB camera 191. Note that there can be any number of USB devices 91 and USB hosts 93, one or more. A device pseudo-device 92 is provided for each server 193. In this embodiment, when there are two servers 193, device pseudo-devices 92#A and 92#B are provided. Also, this embodiment shows an example in which the communication network 81 is an IP network 181.

[0032] Fig. 4 shows an example of the system configuration of this embodiment. The host pseudo-device 94 has a destination device pseudo-device record table 44. The destination device pseudo-device record table 44 lists the device pseudo-devices 92 to which the host pseudo-device 94 connects. Fig. 5 shows an example of the destination device pseudo-device record table.

[0033] For example, when the USB camera 191 is connected to the server 193#A, the device pseudo-device #A is entered as the destination device pseudo-device information in the destination device pseudo-device record table provided in the host pseudo-device 94 connected to the USB camera 191. Note that there may be multiple devices entered in the destination device pseudo-device information.

[0034] FIG. 6 shows an example of the initial connection flow. The USB camera 191 and the host pseudo-device 94 are connected via a cable 95 (S11). Then, the USB camera 191 and the host pseudo-device 94 perform bus enumeration (S12). Here, bus enumeration is a predetermined procedure when a USB device is connected, and the same procedure as the normal operation when the USB device 91 and the USB host 93 are connected can be used.

[0035] When bus enumeration (S12) is complete, the host pseudo device 94 makes a connection request to the device pseudo device 92 (S13). At this time, the host pseudo device 94 makes the connection request to the device pseudo device 92 listed in the destination device pseudo device record table 44. In this embodiment, since device pseudo device #A is listed as the destination device pseudo device information, the host pseudo device 94 makes the connection request to the device pseudo device 92#A.

[0036] When the device pseudo device 92#A receives a connection request from the host pseudo device 94, it returns a connection request OK. Here, the device pseudo device 92#A determines whether it is connected to a host pseudo device 94 other than the host pseudo device 94 that sent the connection request, and returns the connection request OK if it is not connected to any other host pseudo device (S14). When the host pseudo device 94 receives the connection request OK, it sends device information to the device pseudo device 92#A (S15).

[0037] Upon receiving the device information, the device pseudo-device 92#A activates the connection with the server 193 via the USB cable 95 (S16). Then, the device pseudo-device 92#A and the server 193 perform bus enumeration (S17). At this time, the device pseudo-device 92#A uses the received device information to behave as the USB camera 191 and establish a connection with the server 193.

[0038] FIG. 7 shows an example of an IN communication flow. The host pseudo device 94 sends an ACK to the USB camera 191 to start sending data (S21). The transmission function 43 of the host pseudo device 94 transmits the URB data obtained from the pseudo USB core driver 42 to the device pseudo device 92#A (S22). The device pseudo-device 92#A uses the received URB data to transmit data to the server 193 (S23). At this time, in the device pseudo-device 92#A, the transmission function 23 passes the received URB data to the pseudo-class / bus driver 22, and the pseudo-class / bus driver 22 uses this data to transmit the data.

[0039] FIG. 8 shows an example of an OUT communication flow. The server 193 sends data to the device pseudo device 92#A (S31). The device pseudo device 92#A transmits the data received from the server 193 to the host pseudo device 94 (S32). At this time, the transmission function 23 of the device pseudo device 92#A transmits the URB data obtained from the pseudo class / bus driver 22 to the host pseudo device 94. The host pseudo-device 94 transmits the data received from the device pseudo-device 92#A to the USB camera 191 (S33). At this time, the transmission function 43 of the host pseudo-device 94 passes the URB data received from the device pseudo-device 92#A to the pseudo USB core driver 42, and the pseudo USB core driver 42 uses this to transmit the data to the USB camera 191.

[0040] The transmission methods of the transmission functions 23 and 43 are arbitrary. For example, a connection can be established and data can be transmitted using IP packets. Here, the method for establishing a connection is arbitrary, and examples include establishing a TCP connection in the case of TCP (Transmission Control Protocol), establishing an IPsec connection in the case of IPsec (Security Architecture for Internet Protocol), and establishing a UDP socket and exchanging test packets in the case of UDP. [Industrial Applicability]

[0041] The present disclosure can be applied to the information and communications industry. [Explanation of symbols]

[0042] 11: USB device controller driver 12: Class / bus driver 13: Application 21: USB device controller driver 22: Pseudo-class / bus driver 23, 43: Transmission function 31: USB host controller driver 32: USB core driver 33: Application 41: USB host controller driver 42: Pseudo USB core driver 44: Connection destination device pseudo device record table 91: USB device 92: Device pseudo-device 93: USB host 95: USB cable 94: Host pseudo device 191: USB camera 193: Server

Claims

1. a host pseudo-device connected to the USB device via a USB cable; a device pseudo device connected to a USB host via a USB cable; A USB transmission system in which the host pseudo-device includes a USB host controller driver that performs a connection sequence with a USB device; the device pseudo-device includes a USB device controller driver that performs a connection sequence with a USB host; When a USB device is connected, the host pseudo-device uses the USB host controller driver to perform a connection sequence defined by USB with the USB device; the host pseudo-device transmits the device information acquired through the connection sequence to the device pseudo-device; the device pseudo-device performs the connection sequence with the USB host using the USB device controller driver based on the device information acquired from the host pseudo-device, and connects to the USB host; USB transmission system.

2. The host pseudo-device transmits data obtained as a result of USB communication with the USB device to one or more device pseudo-devices; the device pseudo-device transmits the data received from the host pseudo-device to the USB host via USB communication based on the device information; 2. The USB transmission system according to claim 1.

3. the device pseudo-device transmits data obtained as a result of USB communication with the USB host to one host pseudo-device; the host pseudo-device transmits the data received from the device pseudo-device to the USB device via USB communication based on the device information; 2. The USB transmission system according to claim 1.

4. A USB transmission device that functions as a host pseudo-device connected to a USB device via a USB cable, A device pseudo-device connected to a USB host via a USB cable is connected through a communication network. a USB host controller driver that performs a connection sequence with a USB device; When a USB device is connected, the USB host controller driver is used to perform a connection sequence defined by USB with the USB device, transmitting the device information acquired by the connection sequence to one or more of the device pseudo devices; USB transmission device.

5. A USB transmission device that functions as a device pseudo device connected to a USB host via a USB cable, A host pseudo-device connected to a USB device via a USB cable is connected through a communication network. the device pseudo-device includes a USB device controller driver that performs a connection sequence with a USB host; receiving device information from the host pseudo-device obtained by performing a connection sequence defined by USB with a USB device; performing the connection sequence with the USB host using the USB device controller driver based on the device information acquired from the host pseudo-device, and connecting to the USB host; USB transmission device.

6. A program for causing a computer to implement each of the functional units of the USB transmission device according to claim 4 or 5.

7. a host pseudo-device connected to the USB device via a USB cable; a device pseudo device connected to a USB host via a USB cable; A USB transmission method executed by a USB transmission system in which a plurality of devices are connected via a communication network, comprising: the host pseudo-device includes a USB host controller driver that performs a connection sequence with a USB device; the device pseudo-device includes a USB device controller driver that performs a connection sequence with a USB host; When a USB device is connected, the host pseudo-device uses the USB host controller driver to perform a connection sequence defined by USB with the USB device; the host pseudo-device transmits the device information acquired through the connection sequence to the device pseudo-device; the device pseudo-device performs the connection sequence with the USB host using the USB device controller driver based on the device information acquired from the host pseudo-device, and connects to the USB host; USB transmission method.

Citation Information

Patent Citations

  • Device for connecting usb device

    JP2002342255A

  • USB communication method

    JP2004246750A

  • Radio communication system, device, and method

    JP2007088775A

  • Method and apparatus for USB signaling via intermediate transport

    JP2015528163A