Device server, network system, device server control method, and program
The device server stabilizes USB device communication by managing operation modes to fit within available bandwidth, addressing excessive network usage and ensuring stable connectivity.
Patent Information
- Application Number
- JP2022138269
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-31
- Publication Date
- 2025-07-31
- Estimated Expiration
- 2042-08-31
AI Technical Summary
Existing technologies for connecting USB devices to host devices via a network can lead to excessive network bandwidth usage, resulting in unstable communication.
A device server that includes a first communication interface for USB devices, a second communication interface for host devices, and a control unit to manage operation modes, determining and updating bandwidth usage to ensure stable communication by adjusting USB device operation modes based on available bandwidth.
The device server ensures stable communication by managing USB device operation modes to fit within available bandwidth, maintaining normal operation and reducing network bandwidth usage.
Smart Images

Figure 0007716107000001 
Figure 0007716107000002 
Figure 0007716107000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a device server, a network system, a device server control method, and a program. [Background technology]
[0002] For example, Patent Document 1 discloses a technology in which a peripheral device (device apparatus) that is compatible with multiple device classes displays on a display a list of device classes that are determined to be connectable to a computer (host apparatus) that has host functions for multiple device classes, and performs data communication using a device class selected by the user. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-003470 Summary of the Invention [Problem to be solved by the invention]
[0004] However, with the technology described in Patent Document 1, for example, when using a device locally connected to a device server via a network from a host device, a large amount of network bandwidth may be used.
[0005] The present invention has been made to solve the above problems, and aims to provide a device server or the like that can achieve stable communication when a host device uses a USB device via the device server. [Means for solving the problem]
[0006] To solve the above problems, a device server according to one aspect of the present invention connects to a USB (Universal Serial Bus) device and includes a first communication interface that performs data communication of at least one of audio and video with the USB device, a second communication interface that connects to a host device, an acquisition unit that acquires mode information indicating a plurality of operation modes of the USB device, and based on the mode information acquired by the acquisition unit, for each of the plurality of operation modes, calculates a first communication bandwidth used for communication between the USB device and the first communication interface when the USB device operates in the operation mode, and calculates a second communication bandwidth available for communication between the host device and the second communication interface; a determination unit that determines whether each of the plurality of first communication bandwidths calculated by the calculation unit exceeds the second communication bandwidth; an update unit that updates the mode information by deleting the operation mode determined by the determination unit to exceed the second communication bandwidth among the plurality of operation modes; and an output unit that outputs the mode information updated by the update unit to the host device via the second communication interface.
[0007] According to this, the device server can acquire the mode information of the USB device and output to the host device the updated mode information in which the operation mode exceeding the second communication bandwidth available for communication with the host device among the plurality of first communication bandwidths used for communication with the USB device when the USB device operates in each of the plurality of operation modes is deleted. Since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the updated mode information, it is possible to secure the communication bandwidth used for controlling the operation of the USB device in the second communication bandwidth. Thereby, the device server contributes to operating the USB device in an appropriate operation mode. In this way, the device server can achieve stable communication when the host device uses the USB device via the device server.
[0008] Further, when the determination unit is operating in the operation mode selected by the host device based on the updated mode information of the USB device, the determination unit determines whether the first communication band calculated for the operation mode exceeds the second communication band. When the determination unit determines that the first communication band exceeds the second communication band, the update unit deletes the operation mode for which the first communication band calculated for the operation mode exceeds the second communication band from among the plurality of operation modes indicated by the updated mode information, thereby re-updating the updated mode information. When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device, and when the first communication interface reconnects to the USB device, the output unit may output the mode information re-updated by the update unit to the host device via the second communication interface.
[0009] According to this, when the first communication band used for communication with the USB device exceeds the second communication band while the USB device is operating, the device server can appropriately update the mode information according to the change in the communication state in order to re-update the updated mode information. Further, when the device server re-updates the updated mode information, it temporarily disconnects the communication connection with the USB device and then reconnects to the USB device, and then outputs the re-updated mode information to the host device. Therefore, the host device can select the operation mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information, so that the communication band used for controlling the operation of the USB device can be ensured in the second communication band. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, the device server can achieve stable communication when the host device is using the USB device via the device server.
[0010] Further, when the calculation unit receives an instruction for the host device to secure a predetermined communication band in the second communication band, the calculation unit calculates a differential communication band obtained by subtracting the predetermined communication band from the second communication band. The determination unit determines whether each of the plurality of first communication bands calculated by the calculation unit exceeds the differential communication band. The update unit may update the mode information by deleting the operation mode determined by the determination unit to be such that the first communication band calculated for the operation mode among the plurality of operation modes exceeds the differential communication band.
[0011] According to this, when an instruction to secure a predetermined communication band for another communication is received in the second communication band, the device server deletes, from among the plurality of operation modes indicated by the mode information, the operation mode in which the first communication band used for communication with the USB device when the USB device is operated in each of the plurality of operation modes exceeds the differential communication band obtained by subtracting the predetermined communication band from the second communication band, and can output the updated mode information to the host device. Since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the updated mode information, it is possible to secure the communication band used for controlling the operation of the USB device while securing the predetermined communication band in the second communication band. Thereby, the device server contributes to operating the USB device in an appropriate operation mode. In this way, when the host device uses the USB device via the device server, the device server can achieve stable communication while securing a predetermined communication band.
[0012] Further, when the determination unit is operating in the operation mode selected by the host device based on the updated mode information of the USB device, the determination unit determines whether the first communication bandwidth calculated for the operation mode exceeds the differential communication bandwidth. When the determination unit determines that the first communication bandwidth exceeds the differential communication bandwidth, the update unit deletes the operation mode for which it is determined by the determination unit that the first communication bandwidth calculated for the operation mode exceeds the differential communication bandwidth from among the plurality of operation modes indicated by the updated mode information, thereby re-updating the updated mode information. When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device, and when the first communication interface reconnects to the USB device, the output unit may output the mode information re-updated by the update unit to the host device via the second communication interface.
[0013] According to this, when the first communication bandwidth used for communication with the USB device exceeds the differential communication bandwidth while the USB device is operating, the device server can appropriately update the mode information according to the change in the communication state in order to re-update the updated mode information. Further, when the device server re-updates the updated mode information, it temporarily disconnects the communication connection with the USB device and then reconnects to the USB device, and then outputs the re-updated mode information to the host device. Therefore, the host device can select the operation mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information, so that in the second communication bandwidth, while ensuring a predetermined communication bandwidth, it is possible to ensure the communication bandwidth used for controlling the operation of the USB device. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, the device server can achieve stable communication while ensuring a predetermined communication bandwidth when the host device uses the USB device via the device server.
[0014] Further, the USB device may transmit data of at least one of video and audio to the first communication interface.
[0015] According to this, the device server can transmit data of at least one of video and audio transmitted from the USB device to the host device via the second communication interface. Thereby, the device server can relay data communication of at least one of video and audio between the host device and the USB device.
[0016] In addition, a network system according to an aspect of the present invention includes a device server according to an aspect of the present invention. The host device transmits a signal requesting data transmission to the USB device. In the device server, when the number of times the signal is transmitted from the host device within a predetermined time is equal to or greater than a threshold value, the determination unit determines that the first communication band exceeds the second communication band. The update unit deletes the operation mode determined by the determination unit that the first communication band calculated for the operation mode exceeds the second communication band among the plurality of operation modes indicated by the updated mode information, and re-updates the updated mode information. When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device. When the first communication interface reconnects to the USB device, the output unit may output the mode information re-updated by the update unit to the host device via the second communication interface.
[0017] According to this, when the number of times a signal requesting data transmission to the USB device is transmitted from the host device within a predetermined time is equal to or greater than a threshold value, the network system determines that the first communication band exceeds the second communication band, so that fluctuations in the communication state can be monitored. Further, in the network system, when the USB device is operated in each of the plurality of operation modes indicated by the updated mode information, among the plurality of first communication bands used for communication between the device server and the USB device, the device server outputs to the host device the re-updated mode information obtained by deleting the operation modes that exceed the second communication band that can be used for communication between the device server and the host device. Since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information, when the host device is using the USB device via the device server, it is possible to secure the communication band used for controlling the operation of the USB device in the second communication band. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, the network system can achieve stable communication when using the USB device via the device server from the host device. Note that the above updated mode information may be the mode information obtained when the device server starts connecting to the USB device. In this case, the above re-updated mode information is the updated mode information.
[0018] In addition, a method for controlling a device server according to an aspect of the present invention includes: a first communication step of connecting to a USB device and performing data communication of at least one of audio and video with the USB device; a second communication step of connecting to a host device; an acquisition step of acquiring mode information indicating a plurality of operation modes of the USB device; a calculation step of calculating, for each of the plurality of operation modes, a first communication band used for communication with the USB device when the USB device operates in the operation mode based on the mode information acquired in the acquisition step, and calculating a second communication band available for communication with the host device; a determination step of determining whether or not a plurality of the first communication bands calculated in the calculation step exceed the second communication band; an update step of updating the mode information by deleting the operation mode determined in the determination step in which the first communication band calculated for the operation mode exceeds the second communication band among the plurality of operation modes; and an output step of outputting the mode information updated in the update step to the host device.
[0019] According to this, the same effect as that of the above device server is achieved.
[0020] In addition, a program according to an aspect of the present invention is a program that causes a computer to execute the above-provided method.
[0021] The same effect as that of the above device server is achieved.
[0022] Note that the present invention can be realized not only as an apparatus, but also as a method having processing means constituting the apparatus as steps, as a program causing a computer to execute those steps, as a recording medium such as a computer-readable CD-ROM recording the program, or as information, data, or a signal indicating the program. And those programs, information, data, and signals may be distributed via a communication network such as the Internet.
Effects of the Invention
[0023] According to the present invention, when the device server uses a USB device via the device server from a host device, stable communication can be realized.
Brief Description of Drawings
[0024]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Embodiments for Carrying Out the Invention
[0025] Hereinafter, embodiments will be specifically described with reference to the drawings.
[0026] The embodiments described below all show preferred specific examples of the present invention. The numerical values, shapes, materials, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples and are not intended to limit the present invention. Among the components in the following embodiments, the components not described in the independent claims indicating the highest concept of the present invention are described as optional components constituting a more preferred form. Note that the same reference numerals are given to the same components, and the description may be omitted in some cases.
[0027] (Embodiment) In the present embodiment, a network system, a device server, etc. that can achieve stable communication when using a USB device from a host device via a device server will be described.
[0028] First, the network system according to the present embodiment will be described with reference to FIG. 1. FIG. 1 is a schematic diagram showing the configuration of the network system and the device server according to the present embodiment.
[0029] As shown in FIG. 1, the network system 1 includes, for example, a device server 10 and a host device 20. The device server 10 is a device that connects to the host device 20 and the USB device 30, and is a USB device server that enables the host device 20 to use the USB device 30 via a network. The USB device 30 is a device that performs data communication of at least one of video and audio with the host device 20 via the device server 10. For example, it is a USB Video Class (hereinafter referred to as UVC) type WEB camera or a USB Audio Class (UAC) type WEB audio device (for example, a microphone or a speaker). The host device 20 is a device that a user operates to perform various settings for connecting to the USB device 30 via the device server 10. The host device 20 is realized by, for example, an information terminal such as a personal computer, a smartphone, or a tablet terminal. The host device 20 is realized, for example, by installing a predetermined application program in a general-purpose information terminal. Here, the predetermined application program is an application for connecting to the device server 10 via a network and enabling the use of the USB device 30. More specifically, it is a management tool for managing the connection and disconnection between the host device 20 and the USB device.
[0030] In the example of FIG. 1, the device server 10 and the host device 20 are directly communicatively connected without passing through a repeater such as a router, but they may be connected via a repeater (not shown) such as a router. For example, when the device server 10 and the host device 20 are connected via a repeater, they may be connected via a wireless access point device by wireless communication such as Wi-Fi (registered trademark), or may be connected via an L2 switch or an L3 switch or the like by wired communication such as Ethernet (registered trademark). Also, for example, when the device server 10 and the host device 20 are connected via a repeater, the communication between the host device 20 and the repeater and the communication between the repeater and the device server 10 may be the same communication method or different communication methods.
[0031] In the example of FIG. 1, the host device 20 and the USB device 30 are each connected to the device server 10 one by one, but this is not limited to this example, and a plurality of them may be connected. That is, a plurality of host devices 20 and a plurality of USB devices 30 may each be connected to the device server 10. Note that the communication method between the device server 10 and the USB device 30 is USB communication.
[0032] Subsequently, with reference to FIG. 1 again, each configuration of the device server 10 will be described. The device server 10 includes, for example, a first communication interface 11 (the first communication IF in the figure), a second communication interface 12 (the second communication IF in the figure), a control unit 13, and a storage unit 14.
[0033] The first communication interface 11 is a communication circuit (or communication module) that connects to the USB device 30 and performs data communication of at least one of audio and video with the USB device 30. The first communication interface 11 communicates with the USB device 30 via, for example, USB communication or a local communication network. The communication performed by the first communication interface 11 may be wireless communication or wired communication.
[0034] The second communication interface 12 is a communication circuit (or communication module) that connects to the host device 20. The second communication interface 12 may communicate with the host device 20 via, for example, a wide - area communication network or a local communication network, or may communicate with the host device 20 via both a wide - area communication network and a local communication network. In the latter case, the second communication interface 12 is connected to the host device 20 via a repeater (not shown). Note that the communication method performed by the second communication interface 12 is not particularly limited.
[0035] The control unit 13 performs various information processes related to the device server 10. The control unit 13 is realized by, for example, a microcomputer, but may also be realized by a processor or a dedicated circuit. The functions of the control unit 13 are realized by hardware such as a microcomputer or a processor constituting the control unit 13 executing a computer program (software) stored in the storage unit 14.
[0036] Functionally, the control unit 13 includes an acquisition unit 13a, a calculation unit 13b, a determination unit 13c, an update unit 13d, and an output unit 13e. Specific processes performed by the acquisition unit 13a, the calculation unit 13b, the determination unit 13c, the update unit 13d, and the output unit 13e will be described later.
[0037] The storage unit 14 is a storage device that stores computer programs and the like executed by the control unit 13. Further, the storage unit 14 can temporarily store information that needs to be stored by information processes performed by the first communication interface 11, the second communication interface 12, and the control unit 13. The storage unit 14 is realized by, for example, an HDD (Hard Disk Drive), but may also be realized by a semiconductor memory.
[0038] Subsequently, an example of the process executed by the device server 10 according to the present embodiment will be described with reference to FIGS. 2, 3, and 4. FIG. 2 is a flowchart showing an example of the process executed by the device server 10 according to the present embodiment. FIG. 3 is a flowchart showing the detailed flow of steps S06 and S07 in FIG. 2. FIG. 4 is a diagram showing an example of mode information indicating a plurality of operation modes in which the USB device 30 can operate and that are stored in advance.
[0039] As shown in FIG. 2, in step S01, the second communication interface 12 is connected to the host device 20. Although not shown, for example, when the device server 10 receives a connection command with the host device 20 from a predetermined application of the host device 20 operated by the user, the device server 10 transmits a response signal to the host device 20 and connects to the host device 20 via the second communication interface 12.
[0040] In step S02, the first communication interface 11 is connected to the USB device 30. Although not shown, when the device server 10 receives a connection command with the USB device from a predetermined application of the host device 20, the device server 10 transmits a signal (hereinafter also referred to as a connection request) requesting connection to the USB device 30. Then, when the device server 10 receives a response signal to the connection request from the USB device 30, the device server 10 connects to the USB device 30 via the first communication interface 11.
[0041] In step S03, the acquisition unit 13a acquires mode information indicating a plurality of operation modes of the USB device 30 from the USB device 30. In other words, more specifically, the mode information is information indicating a plurality of operation modes in which the USB device 30 can operate and is stored in advance by the USB device 30. For example, when the USB device 30 is a WEB camera, the mode information includes a plurality of combinations of resolution, frame rate, and bit rate. Further, the mode information may include format information, color information, and the like. Also, for example, when the WEB camera is equipped with a microphone or a speaker, the mode information includes information indicating a plurality of operation modes of the microphone or the speaker. Note that the acquisition unit 13a may acquire the mode information from the USB device 30 at an arbitrary timing. For example, the acquisition of the mode information may be performed according to initial settings and user instructions. Also, for example, the acquisition unit 13a may acquire the mode information from the USB device 30 at the timing when the device server 10 starts connecting to the USB device 30 after the USB device 30 is powered on, or may acquire the mode information at regular intervals (a certain time) after the connection.
[0042] Here, while referring to FIG. 4, the mode information indicating a plurality of operation modes of the USB device 30 will be described in detail.
[0043] As shown in FIG. 4, the plurality of operation modes A to E each include information such as different resolutions and bitrates. For example, operation mode A includes a resolution of 640×480 pixels and a bitrate ranging from a minimum of 3.72 MB / s to a maximum of 18.432 MB / s, and it is shown that operation mode B includes a resolution of 160×120 pixels and a bitrate ranging from a minimum of 192 KB / s to a maximum of 1.152 MB / s. The host device 20 selects one operation mode (for example, operation mode B) to be executed by the USB device 30 based on the mode information (for example, including operation modes A to E) obtained via the device server 10, and transmits an instruction to execute the selected operation mode (for example, operation mode B) to the USB device 30 via the device server 10. Thereby, the host device 20 can control the operation of the USB device 30 (that is, use the USB device 30) via the device server 10 while securing a communication bandwidth corresponding to the selected operation mode (for example, the communication bandwidth capable of communication in operation mode B).
[0044] Referring to FIG. 2 again. In step S04 of FIG. 2, based on the mode information acquired by the acquisition unit 13a, the calculation unit 13b calculates, for each of the plurality of operation modes, the first communication bandwidth used for communication between the USB device 30 and the first communication interface 11 when the USB device 30 operates in that operation mode. For example, based on the mode information indicating the plurality of operation modes of the USB device 30 acquired by the acquisition unit 13a, the calculation unit 13b calculates, for each operation mode (for example, a resolution of 640×480 pixels and a frame rate of 30 fps, etc.), the first communication bandwidth used when communication is performed between the USB device 30 and the first communication interface 11.
[0045] In step S05, the calculation unit 13b calculates a second communication band available for communication between the host device 20 and the second communication interface 12. Unlike the calculation of the first communication band, the calculation of the second communication band is performed by actual measurement. For example, the calculation unit 13b transmits communication packets to the second communication interface 12 at a predetermined communication rate, and calculates the available second communication band by actually measuring the communication packets that can be received by the host device 20.
[0046] In step S06, the determination unit 13c determines whether each of the plurality of first communication bands calculated by the calculation unit 13b exceeds the second communication band. According to this determination, for example, when it is determined that the first communication band calculated by the calculation unit 13b exceeds the second communication band, it means that the first communication band required to utilize the corresponding operation mode cannot be ensured in the communication through the second communication interface.
[0047] In step S07, the update unit 13d deletes the operation mode for which it is determined by the determination unit 13c that the first communication band calculated for the operation mode among the plurality of operation modes exceeds the second communication band, and updates the mode information so that the USB device 30 can be appropriately controlled in the second communication band.
[0048] Here, steps S06 and S07 will be described more specifically with reference to FIG. 3.
[0049] As shown in FIG. 3, in step S11, the determination unit 13c starts loop processing for each operation mode for the plurality of operation modes.
[0050] In step S12, the determination unit 13c determines whether the first communication band when the USB device 30 operates in the operation mode is larger than the second communication band. If it is determined by the determination unit 13c that the first communication band is larger than the second communication band (Yes in step S12), the update unit 13d deletes the operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S13). On the other hand, if it is determined by the determination unit 13c that the first communication band is not larger than the second communication band (No in step S12), the update unit 13d does not delete the operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S14).
[0051] Although not shown in FIG. 3, after step S13 or S14, the determination unit 13c determines whether the loop process has ended for all of the plurality of operation modes. If it is determined that the loop process has ended, the loop process for each operation mode ends (step S15).
[0052] Referring to FIG. 2 again. In step S08 of FIG. 2, the output unit 13e outputs the mode information updated by the update unit 13d to the host device 20 via the second communication interface 12. Thereby, the host device 20 can stably communicate with the USB device 30 via the device server 10.
[0053] Note that in FIG. 2, the processes of steps S03 to S05 do not necessarily have to be performed in this order. For example, after step S02, they may be performed in the order of steps S05, S03, S04, or in the order of steps S03, S05, S04. Also, the processes of steps S03 to S05 may be performed in parallel and simultaneously.
[0054] Although not shown in the figure, the host device 20 selects an operation mode to be executed by the USB device 30 based on the mode information output from the device server 10, and transmits an instruction to execute the selected operation mode to the USB device 30 via the device server 10. Thereby, the host device 20 can control the operation of the USB device 30 via the device server 10.
[0055] Note that when the USB device 30 is operating according to an instruction from the host device 20, a process flow in which the device server 10 re-updates the mode information according to the communication state and controls the operation of the USB device 30 based on the re-updated mode information will be described later as another example of the process executed by the network system 1.
[0056] Subsequently, another example of the process executed by the device server 10 according to the present embodiment will be described with reference to FIGS. 5 and 6. FIG. 5 is a flowchart showing another example of the process executed by the device server 10 according to the present embodiment. FIG. 6 is a flowchart showing a detailed flow of steps S23 and S24 in FIG. 5.
[0057] Note that steps S01 to S05 shown in FIG. 5 are the same processes as steps S01 to S05 in FIG. 2, respectively, and thus the description thereof will be omitted here.
[0058] In one example of the above process, the flow until the host device 20 connects to the USB device via the device server 10 and acquires the mode information updated by the device server 10 was described. In another example of the process, a process example will be described when the device server 10 receives an instruction from the host device 20 to secure a predetermined communication band for other communications among the second communication bands available for communication between the host device 20 and the device server 10 (more specifically, the second communication interface 12). Note that the instruction to secure a predetermined communication band among the second communication bands is applied when there is another communication (for example, securing the second communication band for another host device 20, etc.) that wants to be used preferentially other than the communication with the USB device 30 among the second communication bands.
[0059] Although not shown in FIG. 5, when the host device 20 receives an instruction to secure a predetermined communication band in the second communication band, the host device 20 transmits the instruction to the device server 10.
[0060] In step S21, the second communication interface 12 receives an instruction to secure a predetermined communication band from the host device 20. At this time, the second communication interface 12 notifies the calculation unit 13b of the instruction (not shown).
[0061] In step S22, the calculation unit 13b calculates a differential communication band, which is the remainder obtained by subtracting the predetermined communication band from the second communication band.
[0062] In step S23, the determination unit 13c determines whether each of the plurality of first communication bands calculated by the calculation unit 13b in step S04 exceeds the differential communication band.
[0063] In step S24, the update unit 13d updates the mode information by deleting the operation mode for which it is determined by the determination unit 13c that the first communication band calculated for the operation mode exceeds the differential communication band among the plurality of operation modes.
[0064] Here, steps S23 and S24 will be described in more detail with reference to FIG. 6.
[0065] As shown in FIG. 6, in step S31, the determination unit 13c starts loop processing for each operation mode for the plurality of operation modes.
[0066] In step S32, the determination unit 13c determines whether the first communication band when the USB device 30 operates in the operation mode is larger than the differential communication band. When it is determined by the determination unit 13c that the first communication band is larger than the differential communication band (Yes in step S32), the update unit 13d deletes the operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S33). On the other hand, when it is determined by the determination unit 13c that the first communication band is not larger than the differential communication band (No in step S32), the update unit 13d does not delete the operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S34).
[0067] Although not shown in FIG. 6, after step S33 or S34, the determination unit 13c determines whether the loop process has ended for all of the plurality of operation modes, and if it is determined that the loop process has ended, the loop process for each operation mode ends (step S35).
[0068] Referring to FIG. 5 again. In step S25 of FIG. 5, the output unit 13e outputs the mode information updated by the update unit 13d to the host device 20 via the second communication interface 12. Thereby, the host device 20 can stably communicate with the USB device 30 via the device server 10 while securing a predetermined communication band designated by the user in the second communication band.
[0069] Although not shown, the host device 20 selects an operation mode to be executed by the USB device 30 based on the mode information output from the device server 10, and transmits an instruction to execute the selected operation mode to the USB device 30 via the device server 10. Thereby, the host device 20 can control the operation of the USB device 30 via the device server 10 (that is, use the USB device 30) while securing a predetermined communication band.
[0070] When the USB device 30 is operating according to an instruction from the host device 20, regarding the flow of processing in which the device server 10 re-updates mode information according to the communication state and controls the operation of the USB device 30 based on the re-updated mode information, the "second communication band" described in other examples of the processing executed by the network system 1 shall be read as "differential communication band".
[0071] Subsequently, an example of the processing executed by the network system 1 according to the present embodiment will be described with reference to FIG. 7. FIG. 7 is a sequence diagram showing an example of the processing executed by the network system 1 according to the present embodiment. Here, an example of the processing in which the host device 20 starts a connection with the USB device 30 via the device server 10 and controls the operation of the USB device 30 will be described.
[0072] As shown in FIG. 7, when the host device 20 receives a connection instruction to the device server 10 input by the user, it starts a connection with the device server 10. More specifically, when the host device 20 transmits the connection instruction to the device server 10 and receives a response signal from the device server 10, it starts a connection with the device server 10.
[0073] When the host device 20 receives a connection instruction to the USB device 30 input by the user (step S41), it transmits the connection instruction to the device server 10 (step S42).
[0074] When the device server 10 receives a connection instruction from the host device 20 to the USB device 30, it transmits a connection request to the USB device 30 (step S43).
[0075] When the USB device 30 receives a connection request from the device server 10, it transmits a response signal (step S44). At this time, the USB device 30 transmits mode information together with the response signal.
[0076] The acquisition unit 13a of the device server 10 acquires mode information together with a response signal from the USB device 30 (step S45), and stores the acquired mode information in the storage unit 14 (not shown in FIG. 7). At this time, the device server 10 transmits a response signal to the host device 20 via the second communication interface 12 (step S46).
[0077] When the host device 20 receives a response signal from the device server 10, it starts a virtual USB connection (step S47). More specifically, the host device 20 performs a process of recognizing that the USB device 30 can be driven via the device server 10 by the USB device driver provided in the device server 10. By this process, the host device 20 can use the USB device 30 connected to the device server 10 as if it were directly connected to the host device 20.
[0078] The calculation unit 13b of the device server 10 calculates the second communication bandwidth in the communication between the host device 20 and the device server 10 (more specifically, the second communication interface 12) by actual measurement (step S48).
[0079] The calculation unit 13b of the device server 10 reads out the mode information stored in the storage unit 14 (not shown in FIG. 7). Then, based on the mode information, the calculation unit 13b calculates the first communication bandwidth used in the communication between the USB device 30 and the device server 10 (more specifically, the first communication interface 11) when the USB device 30 operates in each of the plurality of operation modes (step S49).
[0080] The determination unit 13c of the device server 10 determines whether each of the plurality of first communication bandwidths calculated by the calculation unit 13b exceeds the second communication bandwidth (step S50).
[0081] When the update unit 13d of the device server 10 determines that the first communication band calculated for the operation mode exceeds the second communication band among a plurality of operation modes, the update unit 13d deletes the operation mode determined by the determination unit 13c, thereby updating the mode information acquired by the acquisition unit 13a in step S45 (step S51). Then, the update unit 13d stores the updated mode information in the storage unit 14 (not shown in FIG. 7).
[0082] When the virtual USB connection is started (step S47), the host device 20 transmits a signal for requesting mode information (hereinafter referred to as a mode information request) to the device server 10 (step S52).
[0083] When the output unit 13e of the device server 10 receives the mode information request, the output unit 13e reads the updated mode information from the storage unit 14 (not shown in FIG. 7), and outputs the updated mode information to the host device 20 via the second communication interface 12 (step S53).
[0084] When the host device 20 acquires the updated mode information (step S54), the host device 20 determines an operation mode to be executed by the USB device 30 from among the plurality of operation modes indicated by the updated mode information (step S55).
[0085] The host device 20 transmits an instruction (hereinafter referred to as an execution instruction) for causing the USB device 30 to execute the determined operation mode to the device server 10 (step S56).
[0086] When the device server 10 receives the execution instruction from the host device 20 (not shown in FIG. 7), the device server 10 transmits the execution instruction to the USB device 30 (step S57).
[0087] When the USB device 30 receives the execution instruction (not shown in FIG. 7), the USB device 30 starts operating in the operation mode determined by the host device 20 in step S55 (step S58).
[0088] Through a series of processes shown in FIG. 7, the network system 1 can update the mode information so as to secure a communication band available for controlling the USB device 30 in a second communication band available for communication between the host device 20 and the device server 10 before using the USB device 30 from the host device 20 via the device server 10. Thereby, when the network system 1 uses the USB device 30 from the host device 20 via the device server 10, it contributes to operating the USB device in an appropriate operation mode, and thus stable communication can be realized.
[0089] As described with reference to FIG. 5, when the host device 20 receives an instruction in advance to secure a predetermined communication band for another communication, the above-described second communication band is a differential communication band obtained by subtracting the predetermined communication band from the second communication band, and a series of processes shown in FIG. 7 are performed. Thereby, the network system 1 can realize stable communication while securing a predetermined communication band.
[0090] Subsequently, another example of the process executed by the network system 1 according to the present embodiment will be described with reference to FIG. 8. FIG. 8 is a sequence diagram showing another example of the process executed by the network system 1 according to the present embodiment. Here, an example of the process when it is determined that the first communication band exceeds the second communication band as a result of calculating the second communication band after the host device 20 starts connecting to the USB device 30 via the device server 10 according to the sequence shown in FIG. 7 will be described.
[0091] In step S58 of FIG. 7, when the USB device 30 starts operating in the operation mode determined by the host device 20, the USB device 30 transmits data of at least one of video and audio, and the host device 20 acquires these data transmitted from the USB device 30 via the device server 10 (not shown in FIGS. 7 and 8).
[0092] The host device 20 is assumed to hold a predetermined amount of data (for example, the amount of data required for playback for several hundred milliseconds to several seconds) in a storage device (also referred to as a buffer) in order to appropriately play back at least one of video and audio using the acquired data. When the amount of data held by the host device 20 is insufficient (not shown in FIG. 8), the host device 20 transmits a signal (hereinafter referred to as a data request) requesting transmission of the insufficient amount of data to the USB device 30 (step S60 in FIG. 8).
[0093] When the device server 10 receives the data request transmitted from the host device 20 (not shown in FIG. 8), the device server 10 transmits the data request to the USB device 30 (step S61).
[0094] When the USB device 30 receives the data request transmitted from the device server 10 (not shown in FIG. 8), the USB device 30 transmits data to the device server 10 (step S62), and the device server 10 transmits the data acquired from the USB device 30 to the host device 20 (step S63). Note that steps S60 to S63 are repeatedly executed.
[0095] The determination unit 13c of the device server 10 determines whether the first communication band used for communication between the USB device 30 and the device server 10 (here, data transmission from the USB device 30 to the device server 10) exceeds the second communication band available for communication between the device server 10 and the host device 20. The above determination may be performed for each predetermined number of communications, with steps S60 to S63 regarded as one communication. For example, when the number of times a signal requesting data transmission to the USB device 30 is transmitted from the host device 20 within a predetermined time is equal to or greater than a threshold value, the determination unit 13c determines that the first communication band exceeds the second communication band. That is, when the number of times a signal requesting data transmission from the host device 20 is equal to or greater than the threshold value, the determination unit 13c recognizes that a change has occurred in the communication band (so-called second communication band) between the device server 10 and the host device 20, resulting in an increase in the number of times the signal is transmitted within a predetermined time. Thereby, the determination unit 13c determines that the first communication band exceeds the second communication band and notifies the update unit 13d to that effect. The above threshold value may be set, for example, to 1.1 to 1.5 times the number of times a signal requesting data transmission to the USB device 30 is transmitted from the host device 20 within a predetermined time when the communication band between the host device 20 and the device server 10 is sufficient.
[0096] When the determination unit 13c of the device server 10 determines that the first communication band exceeds the second communication band (step S64), the update unit 13d of the device server 10 re-updates the mode information updated in step S51 of FIG. 7 (step S65). Note that when the determination unit 13c of the device server 10 determines that the first communication band does not exceed the second communication band, the processing after step S64 is not performed.
[0097] The determination unit 13c of the device server 10 determines that the first communication band exceeds the second communication band, for example, in the following cases.
[0098] For example, the determination unit 13c determines that the first communication band exceeds the second communication band by determining whether data can be transmitted in response to a data request received from the host device 20.
[0099] The data request transmitted by the host device 20 includes, for example, a specified time and a specified data amount. The specified time and the specified data amount included in the data request mean that the data request requests the transmission of data of the specified data amount within the specified time. In this case, when the device server 10 receives a data request, it attempts to transmit data of the specified data amount within the specified time. However, if the communication band between the host device 20 and the device server 10 is insufficient, it cannot transmit data of the specified data amount within the specified time. Therefore, when the determination unit 13c determines that it cannot transmit data of the specified data amount to the host device 20 within the specified time included in the data request, it determines that the first communication band exceeds the second communication band.
[0100] Also, for example, the determination unit 13c determines whether the first communication band exceeds the second communication band by using the change in the reception interval of data requests received from the host device 20.
[0101] In this case, when the communication band between the host device 20 and the device server 10 is sufficient, it is assumed that the transmission interval of data requests is equally spaced (also referred to as the normal interval). However, when the communication band is insufficient, the transmission interval of data requests becomes shorter than the normal interval. Therefore, when the determination unit 13c determines that the reception interval of data requests received from the host device 20 is shorter than the normal interval, it determines that the first communication band exceeds the second communication band.
[0102] In this case, the update unit 13d of the device server 10 deletes the operation mode determined by the determination unit 13c that the first communication band calculated for the operation mode exceeds the second communication band at the current time among the plurality of operation modes indicated by the mode information updated by the update unit 13d in step S51 of FIG. 7, thereby re-updating the updated mode information (step S65). At this time, the update unit 13d stores the re-updated mode information in the storage unit 14 (not shown in FIG. 8).
[0103] After that, the device server 10 transmits a disconnection command to the USB device 30 (step S66).
[0104] When the USB device 30 receives the disconnection command transmitted from the device server 10 (not shown in FIG. 8), it transmits a response signal to the device server 10 (step S67).
[0105] When the first communication interface 11 of the device server 10 receives the response signal from the USB device 30 (not shown in FIG. 8), it disconnects the connection with the USB device 30 (step S68).
[0106] The second communication interface 12 of the device server 10 transmits a disconnection notification notifying that the connection with the USB device 30 has been disconnected to the host device 20 (step S69).
[0107] When the host device 20 receives the disconnection notification transmitted from the device server 10, it recognizes the disconnection of the connection with the USB device 30 and disconnects the connection with the USB device 30 (step S70).
[0108] The first communication interface 11 of the device server 10 transmits a signal (connection request) requesting a connection with the USB device 30 (step S71).
[0109] When the USB device 3 receives the connection request transmitted from the device server 10, it transmits a response signal (step S72).
[0110] When the device server 10 receives the response signal transmitted from the USB device 30, it resumes the connection with the USB device 30 (step S73), and transmits a connection notification notifying that the connection with the USB device 30 has been resumed to the host device 20 (step S74).
[0111] When the host device 20 receives the connection notification transmitted from the device server 10, it transmits a response signal to the device server 10 (step S75) and starts a virtual USB connection (step S76).
[0112] The host device 20 transmits a signal requesting mode information (so-called, request for mode information) (step S77).
[0113] When the output unit 13e of the device server 10 receives the request for mode information from the host device 20, it reads out the mode information re-updated in step S65 from the storage unit 14 (not shown in FIG. 8), and outputs the mode information re-updated in step S65 to the host device 20 via the second communication interface 12 (step S78).
[0114] When the host device 20 acquires the re-updated mode information output from the device server 10 (step S79), it determines the operation mode to be executed by the USB device 30 from the plurality of operation modes indicated by the re-updated mode information (step S80).
[0115] The host device 20 transmits an instruction (so-called, execution instruction) for causing the USB device 30 to execute the determined operation mode to the device server 10 (step S81).
[0116] When the device server 10 receives the execution instruction from the host device 20 (not shown in FIG. 8), it transmits the execution instruction to the USB device 30 (step S82).
[0117] When the USB device 30 receives an execution instruction (not shown in FIG. 8), it starts operating in the operation mode determined by the host device 20 in step S80 (step S83).
[0118] Through the series of processes shown in FIG. 8, when the network system 1 is using the USB device 30 via the device server 10 from the host device 20 (in other words, controlling the operation of the USB device 30), data can be transmitted from the USB device 30 in an operation mode corresponding to the available bandwidth in the second communication band available for communication between the host device 20 and the device server 10. Thereby, since the network system 1 can maintain the normal operation mode of the USB device 30 when using the USB device 30 via the device server 10 from the host device 20, stable communication can be realized.
[0119] When an instruction to secure a predetermined communication band is received in advance by the host device 20, the above-described second communication band is the differential communication band which is the remainder after subtracting the predetermined communication band from the second communication band, and the series of processes shown in FIG. 8 is performed. Thereby, the network system 1 can realize stable communication while securing a predetermined communication band.
[0120] As described above, the device server according to the present embodiment can obtain the mode information of the USB device, and among the plurality of first communication bands used for communication with the USB device when the USB device is operated in each of the plurality of operation modes, output to the host device the updated mode information obtained by deleting the operation modes that exceed the second communication band available for communication with the host device. Since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the updated mode information, it is possible to secure the communication band used for controlling the operation of the USB device in the second communication band. Thereby, the device server contributes to operating the USB device in an appropriate operation mode. In this way, the device server can achieve stable communication when the host device uses the USB device via the device server.
[0121] Further, when the first communication band used for communication with the USB device exceeds the second communication band while the USB device is operating, the device server can appropriately update the mode information according to the change in the communication state in order to re-update the updated mode information. Also, when the device server re-updates the updated mode information, it temporarily disconnects the communication connection with the USB device, reconnects with the USB device, and then outputs the re-updated mode information to the host device. Therefore, after resetting the communication state, the host device can select the operation mode. More specifically, since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information after resetting the communication state, it is possible to secure the communication band used for controlling the operation of the USB device in the second communication band. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, the device server can achieve stable communication when the host device is using the USB device via the device server.
[0122] Also, when the device server receives an instruction to secure a predetermined communication band in the second communication band, among the plurality of first communication bands used for communication with the USB device when the USB device is operated in each of the plurality of operation modes indicated by the mode information, the device server can output to the host device the updated mode information with the operation modes that exceed the differential communication band obtained by subtracting the predetermined communication band from the second communication band removed. Since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the updated mode information, in the second communication band, while securing the predetermined communication band, it is possible to secure the communication band used for controlling the operation of the USB device. Thereby, the device server contributes to operating the USB device in an appropriate operation mode. In this way, when the host device uses the USB device via the device server, the device server can achieve stable communication while securing a predetermined communication band.
[0123] Also, when the first communication band used for communication with the USB device when the USB device is operating exceeds the differential communication band, the device server can appropriately update the mode information according to fluctuations in the communication state in order to re-update the updated mode information. Further, when the device server re-updates the updated mode information, it temporarily disconnects the communication connection with the USB device and then reconnects to the USB device, and then outputs the re-updated mode information to the host device. Therefore, after resetting the communication state, the host device can select the operation mode. More specifically, after resetting the communication state, since the host device can select the operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information, in the second communication band, while securing the predetermined communication band, it is possible to secure the communication band used for controlling the operation of the USB device. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, when the host device is using the USB device via the device server, the device server can achieve stable communication while securing a predetermined communication band.
[0124] In addition, the device server can transmit at least one of video and audio data transmitted from the USB device to the host device via the second communication interface. Thereby, the device server can relay at least one of video and audio data communication between the host device and the USB device.
[0125] In addition, when the number of times a signal requesting data transmission to the USB device is transmitted from the host device within a predetermined time is equal to or greater than a threshold value, the network system determines that the first communication band exceeds the second communication band, so it can monitor fluctuations in the communication state. Also, in the network system, the device server deletes an operation mode that exceeds the second communication band that can be used for communication between the device server and the host device among the plurality of first communication bands used for communication between the device server and the USB device when the USB device is operated in each of the plurality of operation modes indicated by the updated mode information, and can output the re-updated mode information to the host device. Since the host device can select an operation mode to be executed by the USB device from among the plurality of operation modes indicated by the re-updated mode information, when the host device uses the USB device via the device server, it can secure a communication band used for controlling the operation of the USB device in the second communication band. Thereby, the network system contributes to maintaining the normal operation of the USB device. In this way, the network system can achieve stable communication when the host device uses the USB device via the device server. Note that the updated mode information described above may be the mode information acquired when the device server starts connecting to the USB device. In this case, the re-updated mode information described above is the updated mode information.
[0126] Note that the present invention can be realized not only as an apparatus, but also as a method in which the processing means constituting the apparatus are steps, or as a program that causes a computer to execute those steps, or as a recording medium such as a computer-readable CD-ROM recording the program, or as information, data, or a signal indicating the program. And those programs, information, data, and signals may be distributed via a communication network such as the Internet.
[0127] As described above, the device server, network system, control method of the device server, and program of the present invention have been described based on the embodiments. However, the present invention is not limited to these embodiments. As long as it does not depart from the gist of the present invention, various modifications conceived by those skilled in the art applied to these embodiments, or forms constructed by combining components in different embodiments are also included in the scope of the present invention.
Industrial Applicability
[0128] The present invention can be used for a device server or the like that realizes stable communication when using a USB device via a device server from a host device.
Explanation of Reference Numerals
[0129] 1 Network system 10 Device server 11 First communication interface 12 Second communication interface 13 Control unit 13a Acquisition unit 13b Calculation unit 13c Determination unit 13d Update unit 13e Output unit 14 Storage unit 20 Host device 30 USB device
Claims
1. A first communication interface that connects to a USB (Universal Serial Bus) device and performs data communication of at least one of audio and video with the USB device; A second communication interface that connects to a host device; An acquisition unit that acquires mode information indicating a plurality of operation modes of the USB device; Based on the mode information acquired by the acquisition unit, for each of the plurality of operation modes, calculate a first communication bandwidth used for communication between the USB device and the first communication interface when the USB device operates in the operation mode, and calculate a second communication bandwidth available for communication between the host device and the second communication interface; A determination unit that determines whether each of the plurality of first communication bandwidths calculated by the calculation unit exceeds the second communication bandwidth; An update unit that updates the mode information by deleting an operation mode for which the calculated first communication bandwidth exceeds the second communication bandwidth as determined by the determination unit among the plurality of operation modes; An output unit that outputs the mode information updated by the update unit to the host device via the second communication interface; Comprising A device server.
2. When the determination unit determines that the USB device is operating in the operation mode selected by the host device based on the updated mode information, the determination unit determines whether the calculated first communication bandwidth for the operation mode exceeds the second communication bandwidth; When the determination unit determines that the first communication bandwidth exceeds the second communication bandwidth, the update unit re-updates the updated mode information by deleting the operation mode for which the calculated first communication bandwidth exceeds the second communication bandwidth as determined by the determination unit among the plurality of operation modes indicated by the updated mode information; When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device; When the first communication interface reconnects to the USB device, the output unit outputs the mode information re-updated by the update unit to the host device via the second communication interface. The device server according to claim 1.
3. When the calculation unit receives an instruction from the host device to secure a predetermined communication band within the second communication band, the calculation unit calculates a differential communication band obtained by subtracting the predetermined communication band from the second communication band. The determination unit determines whether each of the plurality of first communication bands calculated by the calculation unit exceeds the differential communication band. The update unit updates the mode information by deleting, among the plurality of operation modes, the operation mode determined by the determination unit to be such that the first communication band calculated for the operation mode exceeds the differential communication band. The device server according to claim 1.
4. When the determination unit determines that the USB device is operating in an operation mode selected by the host device based on the updated mode information, the determination unit determines whether the first communication band calculated for the operation mode exceeds the differential communication band. When the determination unit determines that the first communication band exceeds the differential communication band, the update unit re-updates the updated mode information by deleting, among the plurality of operation modes indicated by the updated mode information, the operation mode determined by the determination unit to be such that the first communication band calculated for the operation mode exceeds the differential communication band. When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device. When the first communication interface reconnects to the USB device, the output unit outputs the mode information re-updated by the update unit to the host device via the second communication interface. The device server according to claim 3.
5. The USB device transmits data of at least one of video and audio to the first communication interface. The device server according to any one of claims 1 to 4.
6. Comprising the device server according to claim 1, The host device transmits a signal requesting transmission of data to the USB device. In the device server, When the number of times the signal is transmitted from the host device within a predetermined time is equal to or greater than a threshold value, the determination unit determines that the first communication band exceeds the second communication band. When the first communication band calculated for the operation mode among the plurality of operation modes indicated by the updated mode information exceeds the second communication band, the update unit deletes the operation mode determined by the determination unit, thereby re-updating the updated mode information. When the updated mode information is re-updated, the first communication interface disconnects the connection with the USB device. When the first communication interface reconnects to the USB device, the output unit outputs the mode information re-updated by the update unit to the host device via the second communication interface. Network system.
7. A first communication step of connecting to a USB device and performing data communication of at least one of audio and video with the USB device. A second communication step of connecting to a host device. An acquisition step of acquiring mode information indicating a plurality of operation modes of the USB device. Based on the mode information acquired in the acquisition step, for each of the plurality of operation modes, calculate a first communication band used for communication with the USB device when the USB device operates in the operation mode, and calculate a second communication band available for communication with the host device. A calculation step. A determination step of determining whether or not a plurality of the first communication bands calculated in the calculation step exceed the second communication band. An update step of updating the mode information by deleting the operation mode determined in the determination step when the first communication band calculated for the operation mode among the plurality of operation modes exceeds the second communication band. An output step of outputting the mode information updated in the update step to the host device. Including A control method for a device server.
8. A program that causes a computer to execute the control method for a device server according to claim 7. Program.
Citation Information
Patent Citations
Communication method and device equipment
JP2012003470A
Communication device
JP2012044508A
USB device server
JP2015135630A
Device information display apparatus, device server, device information display system, device information display method, and program
JP2015138526A
Repeating device performing communication band control
JP2016213541A