Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7716107B2 - Device server, network system, device server control method, and program - Google Patents
[go: Go Back, main page]

JP7716107B2 - Device server, network system, device server control method, and program - Google Patents

Device server, network system, device server control method, and program

Info

Publication number
JP7716107B2
JP7716107B2 JP2022138269A JP2022138269A JP7716107B2 JP 7716107 B2 JP7716107 B2 JP 7716107B2 JP 2022138269 A JP2022138269 A JP 2022138269A JP 2022138269 A JP2022138269 A JP 2022138269A JP 7716107 B2 JP7716107 B2 JP 7716107B2
Authority
JP
Japan
Prior art keywords
communication
mode information
usb device
updated
host device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022138269A
Other languages
Japanese (ja)
Other versions
JP2024034188A (en
Inventor
栄植 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silex Technology Inc
Original Assignee
Silex Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silex Technology Inc filed Critical Silex Technology Inc
Priority to JP2022138269A priority Critical patent/JP7716107B2/en
Publication of JP2024034188A publication Critical patent/JP2024034188A/en
Application granted granted Critical
Publication of JP7716107B2 publication Critical patent/JP7716107B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、デバイスサーバ、ネットワークシステム、デバイスサーバの制御方法、および、プログラムに関する。 The present invention relates to a device server, a network system, a device server control method, and a program.

例えば、特許文献1には、複数のデバイスクラスに対応している周辺機器(デバイス装置)が複数のデバイスクラスについてホスト機能を有するコンピュータ(ホスト装置)と接続可能と判断されたデバイスクラスの一覧を表示部に表示し、ユーザにより選択されたデバイスクラスでデータ通信を行う技術が開示されている。 For example, Patent Document 1 discloses a technology in which a peripheral device (device) that supports multiple device classes displays on a display a list of device classes that are determined to be connectable to a computer (host device) that has host functionality for multiple device classes, and performs data communication using a device class selected by the user.

特開2012-003470号公報JP 2012-003470 A

しかしながら、特許文献1に記載の技術では、例えば、ホスト装置からネットワークを介してデバイスサーバにローカル接続されたデバイス装置を使用する場合、ネットワーク帯域を多く使用してしまうことがある。 However, the technology described in Patent Document 1 can use a large amount of network bandwidth, for example, when using a device that is locally connected to a device server via a network from a host device.

本発明は、上記問題を解決するためになされたものであり、ホスト装置がデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現することができるデバイスサーバなどを提供することを目的とする。 The present invention was made to solve the above problem, 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.

上記課題を解決するために、本発明の一態様に係るデバイスサーバは、USB(Universal Serial Bus)デバイスに接続し、前記USBデバイスと音声および映像の少なくとも一方のデータ通信を行う第一通信インタフェースと、ホスト装置に接続する第二通信インタフェースと、前記USBデバイスの複数の動作モードを示すモード情報を取得する取得部と、前記取得部により取得された前記モード情報に基づいて、前記複数の動作モードのそれぞれについて、当該動作モードで前記USBデバイスが動作するときに前記USBデバイスと前記第一通信インタフェースとの間の通信に使用される第一通信帯域を算出し、かつ、前記ホスト装置と前記第二通信インタフェースとの間の通信に使用可能な第二通信帯域を算出する算出部と、前記算出部により算出された複数の前記第一通信帯域がそれぞれ前記第二通信帯域を超えるか否かを判定する判定部と、前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、前記モード情報を更新する更新部と、前記更新部により更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力する出力部と、を備えるデバイスサーバである。 In order to solve the above problem, a device server according to one aspect of the present invention is a device server that supports USB (Universal Serial a first communication interface connected to a USB (Universal Serial Bus) device and performing at least one of audio and video data communication with the USB device; a second communication interface connected to a host device; an acquisition unit that acquires mode information indicating multiple operating modes of the USB device; a calculation unit that calculates, for each of the multiple operating modes based on the mode information acquired by the acquisition unit, a first communication bandwidth used for communication between the USB device and the first communication interface when the USB device operates in that operating mode, and calculates a second communication bandwidth that can be used for communication between the host device and the second communication interface; a determination unit that determines whether each of the multiple first communication bandwidths calculated by the calculation unit exceeds the second communication bandwidth; an update unit that updates the mode information by deleting an operating mode from the multiple operating modes for which the determination unit determines that the calculated first communication bandwidth for that operating mode exceeds the second communication bandwidth; and an output unit that outputs the mode information updated by the update unit to the host device via the second communication interface.

これによれば、デバイスサーバは、USBデバイスのモード情報を取得して、複数の動作モードのそれぞれでUSBデバイスを動作させたときにUSBデバイスとの通信に使用される複数の第一通信帯域のうち、ホスト装置との通信に使用可能な第二通信帯域を超える動作モードを削除した更新後のモード情報をホスト装置に出力することができる。ホスト装置は、更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、デバイスサーバは、USBデバイスを適切な動作モードで動作させることに寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現することができる。 With this, the device server can acquire mode information for the USB device and output updated mode information to the host device in which, from among multiple first communication bands used for communication with the USB device when the USB device is operated in each of multiple operating modes, any operating mode that exceeds the second communication band usable for communication with the host device is deleted. The host device can select an operating mode to be executed by the USB device from the multiple operating modes indicated by the updated mode information, thereby securing a communication band in the second communication band to be used for controlling the operation of the USB device. This allows the device server to operate the USB device in an appropriate operating mode. In this way, the device server can achieve stable communication when the host device uses the USB device via the device server.

また、前記判定部は、前記USBデバイスが更新された前記モード情報に基づいて前記ホスト装置により選択された動作モードで動作しているときに、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えるか否かを判定し、前記更新部は、前記判定部により前記第一通信帯域が前記第二通信帯域を超えると判定された場合、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力してもよい。 Furthermore, when the USB device is operating in an operating mode selected by the host device based on the updated mode information, the determination unit may determine whether the first communication bandwidth calculated for that operating mode exceeds the second communication bandwidth. If 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, from among the multiple operating modes indicated by the updated mode information, an operating mode for which the determination unit determines that the first communication bandwidth calculated for that operating mode exceeds the second communication bandwidth. When the updated mode information is re-updated, the first communication interface may disconnect from 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.

これによれば、デバイスサーバは、USBデバイスが動作しているときにUSBデバイスとの通信に使用される第一通信帯域が第二通信帯域を超える場合、更新後のモード情報を再更新するため、通信状態の変動に応じて適切にモード情報を更新することができる。また、デバイスサーバは、更新後のモード情報を再更新すると、USBデバイスとの通信接続を一旦切断して、USBデバイスと再接続した後に、再更新後のモード情報をホスト装置に出力するため、ホスト装置は、通信状態をリセットした後に、動作モードを選択することができる。より具体的には、ホスト装置は、通信状態をリセットした後に、再更新されたモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、安定した通信を実現することができる。 According to this, if the first communication bandwidth used for communication with the USB device exceeds the second communication bandwidth while the USB device is operating, the device server re-updates the updated mode information, allowing the mode information to be updated appropriately in response to fluctuations in communication conditions. Furthermore, after re-updating the updated mode information, the device server temporarily disconnects the communication connection with the USB device, reconnects to the USB device, and then outputs the re-updated mode information to the host device. This allows the host device to select an operating mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select an operating mode to be executed by the USB device from among the multiple operating modes indicated by the re-updated mode information, thereby securing a communication bandwidth in the second communication bandwidth used to control the operation of the USB device. This allows the network system to maintain 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.

また、前記算出部は、前記ホスト装置が前記第二通信帯域のうち所定の通信帯域を確保する指示を受け付けた場合、前記第二通信帯域から前記所定の通信帯域を差し引いた差分通信帯域を算出し、前記判定部は、前記算出部により算出された複数の前記第一通信帯域がそれぞれ前記差分通信帯域を超えるか否かを判定し、前記更新部は、前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えると前記判定部により判定された動作モードを削除することで、前記モード情報を更新してもよい。 Furthermore, when the host device receives an instruction to secure a predetermined communication bandwidth from the second communication bandwidth, the calculation unit may calculate a difference in communication bandwidth by subtracting the predetermined communication bandwidth from the second communication bandwidth, the determination unit may determine whether each of the multiple first communication bandwidths calculated by the calculation unit exceeds the difference in communication bandwidth, and the update unit may update the mode information by deleting an operating mode from the multiple operating modes for which the determination unit determines that the calculated first communication bandwidth for that operating mode exceeds the difference in communication bandwidth.

これによれば、デバイスサーバは、第二通信帯域において、別の通信のため所定の通信帯域を確保する指示が受け付けられた場合に、モード情報が示す複数の動作モードのそれぞれでUSBデバイスを動作させたときにUSBデバイスとの通信に使用される複数の第一通信帯域のうち、第二通信帯域から所定の通信帯域を差し引いた差分通信帯域を超える動作モードを削除した更新後のモード情報をホスト装置に出力することができる。ホスト装置は、更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、所定の通信帯域を確保しつつ、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、デバイスサーバは、USBデバイスを適切な動作モードで動作させることに寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用する場合に、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 When the device server receives an instruction to reserve a specified communication bandwidth for another communication in the second communication bandwidth, it can output updated mode information to the host device that deletes, from the multiple first communication bandwidths used for communication with the USB device when the USB device is operated in each of the multiple operation modes indicated in the mode information, any operation mode that exceeds the differential communication bandwidth obtained by subtracting the specified communication bandwidth from the second communication bandwidth. The host device can select an operation mode to be executed by the USB device from the multiple operation modes indicated by the updated mode information, thereby securing the specified communication bandwidth in the second communication bandwidth while also securing the communication bandwidth used to control the operation of the USB device. This allows the device server to operate the USB device in an appropriate operation mode. In this way, the device server can achieve stable communication while securing the specified communication bandwidth when the host device uses the USB device via the device server.

また、前記判定部は、前記USBデバイスが更新された前記モード情報に基づいて前記ホスト装置により選択された動作モードで動作しているときに、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えるか否かを判定し、前記更新部は、前記判定部により前記第一通信帯域が前記差分通信帯域を超えると判定された場合、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力してもよい。 Furthermore, when the USB device is operating in an operating mode selected by the host device based on the updated mode information, the determination unit determines whether the first communication bandwidth calculated for that operating mode exceeds the differential communication bandwidth. When the determination unit determines that the first communication bandwidth exceeds the differential communication bandwidth, the update unit re-updates the updated mode information by deleting, from among the multiple operating modes indicated by the updated mode information, an operating mode for which the determination unit determines that the first communication bandwidth calculated for that operating mode exceeds the differential communication bandwidth. When the updated mode information is re-updated, the first communication interface may disconnect from 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.

これによれば、デバイスサーバは、USBデバイスが動作しているときにUSBデバイスとの通信に使用される第一通信帯域が差分通信帯域を超える場合、更新後のモード情報を再更新するため、通信状態の変動に応じて適切にモード情報を更新することができる。また、デバイスサーバは、更新後のモード情報を再更新すると、USBデバイスとの通信接続を一旦切断して、USBデバイスと再接続した後に、再更新後のモード情報をホスト装置に出力するため、ホスト装置は、通信状態をリセットした後に、動作モードを選択することができる。より具体的には、ホスト装置は、通信状態をリセットした後に、再更新されたモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、所定の通信帯域を確保しつつ、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 According to this, if 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 re-updates the updated mode information, allowing the mode information to be updated appropriately in response to fluctuations in the communication state. Furthermore, after re-updating the updated mode information, the device server temporarily disconnects the communication connection with the USB device, reconnects to the USB device, and then outputs the re-updated mode information to the host device. This allows the host device to select an operating mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select an operating mode to be executed by the USB device from among the multiple operating modes indicated by the re-updated mode information. This allows the second communication bandwidth to be secured while also securing the communication bandwidth used to control the operation of the USB device. This allows the network system to maintain normal operation of the USB device. In this way, the device server can achieve stable communication while securing the specified communication bandwidth when the host device is using the USB device via the device server.

また、前記USBデバイスは、映像および音声の少なくとも一方のデータを前記第一通信インタフェースへ送信してもよい。 The USB device may also transmit at least one of video and audio data to the first communication interface.

これによれば、デバイスサーバは、USBデバイスから送信された映像および音声の少なくとも一方のデータを、第二通信インタフェースを介して、ホスト装置に送信することができる。これにより、デバイスサーバは、ホスト装置とUSBデバイスとの間の映像および音声の少なくとも一方のデータ通信を中継することができる。 This allows the device server to transmit at least one of the video and audio data sent from the USB device to the host device via the second communication interface. This allows the device server to relay at least one of the video and audio data communications between the host device and the USB device.

また、本発明の一態様に係るネットワークシステムは、本発明の一態様に係るデバイスサーバを備え、前記ホスト装置は、前記USBデバイスにデータの送信を要求する信号を送信し、前記デバイスサーバにおいて、前記判定部は、前記信号が前記ホスト装置から所定時間内に送信される回数が閾値以上である場合、前記第一通信帯域が前記第二通信帯域を超えていると判定し、前記更新部は、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力してもよい。 A network system according to one aspect of the present invention includes a device server according to another aspect of the present invention, wherein the host device transmits a signal to the USB device requesting data transmission; in the device server, the determination unit determines that the first communication bandwidth exceeds the second communication bandwidth when the number of times the signal is transmitted from the host device within a predetermined time period is equal to or greater than a threshold; the update unit re-updates the updated mode information by deleting an operating mode, from among multiple operating modes indicated by the updated mode information, for which the determination unit determines that the calculated first communication bandwidth for that operating mode exceeds the second communication bandwidth; the first communication interface disconnects from the USB device when the updated mode information is re-updated; and the output unit outputs the mode information re-updated by the update unit to the host device via the second communication interface when the first communication interface reconnects to the USB device.

これによれば、ネットワークシステムは、USBデバイスにデータの送信を要求する信号が前記ホスト装置から所定時間内に送信される回数が閾値以上である場合、第一通信帯域が第二通信帯域を超えたと判定するため、通信状態の変動を監視することができる。また、ネットワークシステムでは、デバイスサーバは、更新後のモード情報が示す複数の動作モードのそれぞれでUSBデバイスを動作させたときにデバイスサーバとUSBデバイスとの間の通信に使用される複数の第一通信帯域のうち、デバイスサーバとホスト装置との間の通信に使用可能な第二通信帯域を超える動作モードを削除した再更新後のモード情報をホスト装置に出力することができる。ホスト装置は、再更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、ネットワークシステムは、ホスト装置からデバイスサーバ経由でUSBデバイスを使用しているときに、安定した通信を実現することができる。なお、上記の更新されたモード情報は、デバイスサーバがUSBデバイスに接続を開始したときに取得されたモード情報であってもよい。この場合、上記の再更新後のモード情報は、更新後のモード情報である。 According to this, the network system determines that the first communication bandwidth has exceeded the second communication bandwidth when the number of times the host device transmits a signal requesting data transmission to the USB device within a predetermined time period is equal to or exceeds a threshold, thereby enabling monitoring of fluctuations in communication conditions. Furthermore, in the network system, the device server can output updated mode information to the host device, deleting, from among the multiple first communication bandwidths used for communication between the device server and the USB device when the USB device is operated in each of the multiple operating modes indicated in the updated mode information, any operating modes that exceed the second communication bandwidth available for communication between the device server and the host device. Since the host device can select an operating mode to be executed by the USB device from the multiple operating modes indicated by the updated mode information, when the host device is using the USB device via the device server, it can secure a communication bandwidth in the second communication bandwidth used to control the operation of the USB device. This contributes to maintaining the normal operation of the USB device. In this way, the network system can achieve stable communication when the host device is using the USB device via the device server. Note that the updated mode information may be mode information acquired when the device server initiates connection to the USB device. In this case, the above-mentioned re-updated mode information is the updated mode information.

また、本発明の一態様に係るデバイスサーバの制御方法は、USBデバイスへ接続し、前記USBデバイスと音声および映像の少なくとも一方のデータ通信を行う第一通信ステップと、ホスト装置に接続する第二通信ステップと、前記USBデバイスの複数の動作モードを示すモード情報を取得する取得ステップと、前記取得ステップで取得された前記モード情報に基づいて、前記複数の動作モードのそれぞれについて、当該動作モードで前記USBデバイスが動作するときに前記USBデバイスとの通信に使用される第一通信帯域を算出し、かつ、前記ホスト装置との通信に使用可能な第二通信帯域を算出する算出ステップと、前記算出ステップで算出された複数の前記第一通信帯域が前記第二通信帯域を超えるか否かを判定する判定ステップと、前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定ステップで判定された動作モードを削除することで、前記モード情報を更新する更新ステップと、前記更新ステップで更新された前記モード情報を前記ホスト装置へ出力する出力ステップと、を含むデバイスサーバの制御方法である。 In accordance with another aspect of the present invention, a device server control method includes: a first communication step of connecting to a USB device and performing at least one of audio and video data communication with the USB device; a second communication step of connecting to a host device; an acquisition step of acquiring mode information indicating multiple operating modes of the USB device; a calculation step of calculating, for each of the multiple operating modes based on the mode information acquired in the acquisition step, a first communication bandwidth to be used for communication with the USB device when the USB device operates in that operating mode, and calculating a second communication bandwidth usable for communication with the host device; a determination step of determining whether the multiple first communication bandwidths calculated in the calculation step exceed the second communication bandwidth; an update step of updating the mode information by deleting an operating mode from the multiple operating modes for which it is determined in the determination step that the calculated first communication bandwidth for that operating mode exceeds the second communication bandwidth; and an output step of outputting the mode information updated in the update step to the host device.

これによれば、上記デバイスサーバと同様の効果を奏する。 This achieves the same effect as the device server described above.

また、本発明の一態様に係るプログラムは、上記の提供方法をコンピュータに実行させるプログラムである。 Furthermore, one aspect of the present invention is a program that causes a computer to execute the above-mentioned provision method.

上記デバイスサーバと同様の効果を奏する。 It has the same effect as the device server above.

なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、インターネット等の通信ネットワークを介して配信してもよい。 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, as a program that causes a computer to execute those steps, as a computer-readable recording medium such as a CD-ROM on which the program is recorded, or as information, data, or signals that represent the program. These programs, information, data, and signals may also be distributed via a communications network such as the Internet.

本発明により、デバイスサーバは、ホスト装置からデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現することができる。 This invention enables a device server to achieve stable communication when a USB device is used from a host device via the device server.

図1は、実施の形態に係るネットワークシステムおよびデバイスサーバの構成を示す模式図である。FIG. 1 is a schematic diagram showing the configuration of a network system and a device server according to an embodiment. 図2は、実施の形態に係るデバイスサーバが実行する処理の一例を示すフロー図である。FIG. 2 is a flowchart illustrating an example of processing executed by the device server according to the embodiment. 図3は、図2のステップS06およびS07の詳細なフローを示すフロー図である。FIG. 3 is a flowchart showing the detailed flow of steps S06 and S07 in FIG. 図4は、USBデバイスにより予め記憶された、自機が動作可能な複数の動作モードを示すモード情報の一例を示す図である。FIG. 4 is a diagram showing an example of mode information that is stored in advance in a USB device and indicates a plurality of operation modes in which the device can operate. 図5は、実施の形態に係るデバイスサーバが実行する処理の他の例を示すフロー図である。FIG. 5 is a flowchart illustrating another example of the process executed by the device server according to the embodiment. 図6は、図5のステップS23およびS24の詳細なフローを示すフロー図である。FIG. 6 is a flowchart showing the detailed flow of steps S23 and S24 in FIG. 図7は、実施の形態に係るネットワークシステムが実行する処理の一例を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating an example of processing executed by the network system according to the embodiment. 図8は、実施の形態に係るネットワークシステムが実行する処理の他の例を示すシーケンス図である。FIG. 8 is a sequence diagram illustrating another example of the process executed by the network system according to the embodiment.

以下、実施の形態について、図面を参照しながら具体的に説明する。 The following describes the embodiments in detail, with reference to the drawings.

以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。 The embodiments described below each represent a preferred specific example of the present invention. The numerical values, shapes, materials, components, component placement and connection configurations, steps, and step order shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not recited in the independent claims that represent the highest concept of the present invention will be described as optional components that constitute a more preferred embodiment. Note that identical components will be assigned the same reference numerals, and descriptions may be omitted.

(実施の形態)
本実施の形態において、ホスト装置からデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現することができるネットワークシステムおよびデバイスサーバなどについて説明する。
(Embodiment)
In this embodiment, a network system and a device server that can realize stable communication when a USB device is used from a host device via the device server will be described.

まず、本実施の形態に係るネットワークシステムについて図1を参照しながら説明する。図1は、本実施の形態に係るネットワークシステムおよびデバイスサーバの構成を示す模式図である。 First, the network system according to this embodiment will be described with reference to Figure 1. Figure 1 is a schematic diagram showing the configuration of the network system and device server according to this embodiment.

図1に示されるように、ネットワークシステム1は、例えば、デバイスサーバ10と、ホスト装置20とを備える。デバイスサーバ10は、ホスト装置20と、USBデバイス30とに接続する装置であり、ホスト装置20からネットワークを介してUSBデバイス30を利用可能とするUSBデバイスサーバである。USBデバイス30は、デバイスサーバ10経由で、ホスト装置20と映像および音声の少なくとも一方のデータ通信を行う機器であり、例えば、USB Video Class(以下、UVC)型のWEBカメラ、または、USB Audio Class(UAC)型のWEBオーディオ機器(例えば、マイクまたはスピーカ)などである。ホスト装置20は、デバイスサーバ10を介してUSBデバイス30と接続するための各種設定を行うためにユーザが操作する装置である。ホスト装置20は、例えば、パーソナルコンピュータ、スマートフォン、または、タブレット端末などの情報端末によって実現される。ホスト装置20は、例えば、汎用の情報端末に所定のアプリケーションプログラムがインストールされることで実現される。ここで、所定のアプリケーションプログラムとは、デバイスサーバ10にネットワークを介して接続しUSBデバイス30を利用可能とするためのアプリケーションであり、より具体的にはホスト装置20とUSBデバイスの接続および切断などを管理する管理ツールである。 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 a USB device 30 and is a USB device server that makes the USB device 30 available to the host device 20 via the network. The USB device 30 is a device that communicates at least one of video and audio data with the host device 20 via the device server 10, such as a USB Video Class (UVC) web camera or a USB Audio Class (UAC) web audio device (e.g., a microphone or speaker). The host device 20 is a device operated by a user to configure various settings for connecting to the USB device 30 via the device server 10. The host device 20 is implemented, for example, as an information terminal such as a personal computer, smartphone, or tablet terminal. The host device 20 is realized, for example, by installing a specific application program on a general-purpose information terminal. Here, the specific application program is an application that connects to the device server 10 via a network and makes the USB device 30 available, and more specifically, is a management tool that manages the connection and disconnection between the host device 20 and the USB device.

なお、図1の例では、デバイスサーバ10とホスト装置20とは、ルータなどの中継器を介さずに、直接、通信接続されているが、ルータなどの中継器(不図示)を介して接続されてもよい。例えば、デバイスサーバ10とホスト装置20とが、中継器を介する場合、Wi-Fi(登録商標)などの無線通信で無線アクセスポイント装置を経由して接続されてもよいし、Ethernet(登録商標)などの有線通信でL2スイッチまたはL3スイッチ等を経由して接続されてもよい。また、例えば、デバイスサーバ10とホスト装置20とが中継器を介して接続される場合、ホスト装置20と中継器との間の通信と、中継器とデバイスサーバ10との間の通信とが同じ通信方式であってもよいし、異なる通信方式であってもよい。 In the example of FIG. 1, the device server 10 and the host device 20 are directly connected for communication without going through a repeater such as a router, but they may also be connected through a repeater such as a router (not shown). For example, when the device server 10 and the host device 20 are connected through a repeater, they may be connected via a wireless access point device using wireless communication such as Wi-Fi (registered trademark), or via an L2 switch or L3 switch using wired communication such as Ethernet (registered trademark). Also, for example, when the device server 10 and the host device 20 are connected through a repeater, the communication between the host device 20 and the repeater and the communication between the repeater and the device server 10 may use the same communication method, or they may use different communication methods.

なお、図1の例では、ホスト装置20およびUSBデバイス30は、それぞれ、デバイスサーバ10と1つずつ接続されるが、この例に限定されず、複数接続されてもよい。すなわち、複数のホスト装置20および複数のUSBデバイス30は、それぞれ、デバイスサーバ10に接続されていてもよい。なお、デバイスサーバ10とUSBデバイス30との間の通信方式は、USB通信である。 In the example of FIG. 1, each of the host devices 20 and USB devices 30 is connected to the device server 10, but this is not limiting and multiple connections may be possible. In other words, multiple host devices 20 and multiple USB devices 30 may each be connected to the device server 10. The communication method between the device server 10 and the USB devices 30 is USB communication.

続いて、図1を再び参照しながら、デバイスサーバ10の各構成について説明する。デバイスサーバ10は、例えば、第一通信インタフェース11(図中の第一通信IF)と、第二通信インタフェース12(図中の第二通信IF)と、制御部13と、記憶部14とを備える。 Next, referring back to Figure 1, the components of the device server 10 will be described. The device server 10 includes, for example, a first communication interface 11 (first communication IF in the figure), a second communication interface 12 (second communication IF in the figure), a control unit 13, and a memory unit 14.

第一通信インタフェース11は、USBデバイス30に接続し、USBデバイス30と音声および映像の少なくとも一方のデータ通信を行う通信回路(または、通信モジュール)である。第一通信インタフェース11は、例えば、USB通信または局所通信ネットワークを介してUSBデバイス30と通信を行う。第一通信インタフェース11が行う通信は、無線通信であってもよいし、有線通信であってもよい。 The first communication interface 11 is a communication circuit (or communication module) that connects to the USB device 30 and performs audio and/or video data communication with the USB device 30. The first communication interface 11 communicates with the USB device 30 via USB communication or a local communication network, for example. The communication performed by the first communication interface 11 may be wireless or wired.

第二通信インタフェース12は、ホスト装置20に接続する通信回路(または、通信モジュール)である。第二通信インタフェース12は、例えば、広域通信ネットワークまたは局所通信ネットワークを介してホスト装置20と通信を行ってもよいし、広域通信ネットワークおよび局所通信ネットワークの両方を介してホスト装置20と通信を行ってもよい。後者の場合、第二通信インタフェース12は、中継器(不図示)を介してホスト装置20と接続される。なお、第二通信インタフェース12が行う通信方式は、特に限定されない。 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 area communication network, or may communicate with the host device 20 via both a wide area communication network and a local area 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 there are no particular limitations on the communication method used by the second communication interface 12.

制御部13は、デバイスサーバ10に関する各種情報処理を行う。制御部13は、例えば、マイクロコンピュータによって実現されるが、プロセッサまたは専用回路によって実現されてもよい。制御部13の機能は、制御部13を構成するマイクロコンピュータまたはプロセッサなどのハードウェアが記憶部14に記憶されたコンピュータプログラム(ソフトウェア)を実行することによって実現される。 The control unit 13 performs various information processing related to the device server 10. The control unit 13 is realized, for example, by a microcomputer, but may also be realized by a processor or dedicated circuit. The functions of the control unit 13 are realized when hardware such as a microcomputer or processor that constitutes the control unit 13 executes a computer program (software) stored in the memory unit 14.

制御部13は、機能的な構成要素として、取得部13aと、算出部13bと、判定部13cと、更新部13dと、出力部13eとを備える。取得部13a、算出部13b、判定部13c、更新部13d、および、出力部13eが行う具体的な処理については、後述する。 The control unit 13 includes, as functional components, an acquisition unit 13a, a calculation unit 13b, a determination unit 13c, an update unit 13d, and an output unit 13e. Specific processing performed by the acquisition unit 13a, calculation unit 13b, determination unit 13c, update unit 13d, and output unit 13e will be described later.

記憶部14は、制御部13が実行するコンピュータプログラムなどが記憶される記憶装置である。また、記憶部14は、第一通信インタフェース11、第二通信インタフェース12、および制御部13で行われる情報処理により記憶する必要が生じた情報を一時的に記憶できる。記憶部14は、例えば、HDD(Hard Disk Drive)によって実現されるが、半導体メモリによって実現されてもよい。 The memory unit 14 is a storage device that stores computer programs executed by the control unit 13. The memory unit 14 can also temporarily store information that needs to be stored due to information processing performed by the first communication interface 11, the second communication interface 12, and the control unit 13. The memory unit 14 is realized, for example, by an HDD (Hard Disk Drive), but may also be realized by semiconductor memory.

続いて、本実施の形態に係るデバイスサーバ10が実行する処理の一例について図2、図3、および図4を参照しながら説明する。図2は、本実施の形態に係るデバイスサーバ10が実行する処理の一例を示すフロー図である。図3は、図2のステップS06およびS07の詳細なフローを示すフロー図である。図4は、USBデバイス30が予め記憶された、自機が動作可能な複数の動作モードを示すモード情報の一例を示す図である。 Next, an example of processing executed by the device server 10 according to this embodiment will be described with reference to Figures 2, 3, and 4. Figure 2 is a flow diagram showing an example of processing executed by the device server 10 according to this embodiment. Figure 3 is a flow diagram showing the detailed flow of steps S06 and S07 in Figure 2. Figure 4 is a diagram showing an example of mode information stored in advance in the USB device 30, indicating multiple operating modes in which the device can operate.

図2に示されるように、ステップS01において、第二通信インタフェース12は、ホスト装置20に接続する。図示していないが、例えば、デバイスサーバ10は、ユーザが操作するホスト装置20の所定のアプリケーションからホスト装置20との接続命令を受信すると、ホスト装置20に応答信号を送信し、第二通信インタフェース12を介してホスト装置20に接続する。 As shown in FIG. 2, in step S01, the second communication interface 12 connects to the host device 20. Although not shown, for example, when the device server 10 receives a command to connect to the host device 20 from a specific application on the host device 20 operated by a user, it transmits a response signal to the host device 20 and connects to the host device 20 via the second communication interface 12.

ステップS02において、第一通信インタフェース11は、USBデバイス30に接続する。図示していないが、デバイスサーバ10は、ホスト装置20の所定のアプリケーションからUSBデバイスとの接続命令を受信すると、USBデバイス30に接続を要求する信号(以下、接続要求ともいう)を送信する。そして、デバイスサーバ10は、USBデバイス30から接続要求に対する応答信号を受信すると、第一通信インタフェース11を介してUSBデバイス30に接続する。 In step S02, the first communication interface 11 connects to the USB device 30. Although not shown, when the device server 10 receives a command to connect to the USB device from a specific application in the host device 20, it sends a signal requesting connection (hereinafter also referred to as a connection request) to the USB device 30. Then, when the device server 10 receives a response signal to the connection request from the USB device 30, it connects to the USB device 30 via the first communication interface 11.

ステップS03において、取得部13aは、USBデバイス30の複数の動作モードを示すモード情報をUSBデバイス30から取得する。言い換えると、モード情報は、より詳細には、USBデバイス30により予め記憶された、自機が動作可能な複数の動作モードを示す情報である。例えば、USBデバイス30がWEBカメラである場合、モード情報は、解像度と、フレームレートと、ビットレートとの組み合わせを複数含む。さらに、モード情報は、フォーマット情報、および、色情報などを含んでもよい。また、例えば、当該WEBカメラがマイクまたはスピーカを搭載している場合、モード情報は、マイクまたはスピーカの複数の動作モードを示す情報を含む。なお、取得部13aは、任意のタイミングでUSBデバイス30からモード情報を取得してもよい。例えば、モード情報の取得は、初期設定およびユーザの指示により行われてもよい。また、例えば、取得部13aは、USBデバイス30の電源投入後、デバイスサーバ10がUSBデバイス30に接続を開始したタイミングでUSBデバイス30からモード情報を取得してもよいし、接続後も一定期間(一定時間)経過ごとにモード情報を取得してもよい。 In step S03, the acquisition unit 13a acquires mode information indicating multiple operating modes of the USB device 30 from the USB device 30. In other words, the mode information is, more specifically, information pre-stored by the USB device 30 that indicates multiple operating modes in which the device itself can operate. For example, if the USB device 30 is a web camera, the mode information includes multiple combinations of resolution, frame rate, and bit rate. The mode information may also include format information, color information, and the like. Also, for example, if the web camera is equipped with a microphone or speaker, the mode information includes information indicating multiple operating modes of the microphone or speaker. The acquisition unit 13a may acquire the mode information from the USB device 30 at any timing. For example, the acquisition of the mode information may be performed by initial setting or by user instruction. Furthermore, for example, the acquisition unit 13a may acquire mode information from the USB device 30 when the device server 10 starts connecting to the USB device 30 after the USB device 30 is powered on, or may acquire mode information every time a certain period (a certain amount of time) has elapsed after the connection.

ここで、図4を参照しながら、USBデバイス30の複数の動作モードを示すモード情報について、詳細に説明する。 Now, with reference to Figure 4, we will explain in detail the mode information that indicates the multiple operating modes of the USB device 30.

図4に示されるように、複数の動作モードAからEには、それぞれ異なる解像度およびビットレートなどの情報が含まれている。例えば、動作モードAは、解像度が640×480ピクセルおよびビットレートが最小3.72MB/sから最大18.432MB/sまでが含まれ、動作モードBは、解像度が160×120ピクセルおよびビットレートが最小192KB/sから最大1.152MB/sまでが含まれることが示されている。ホスト装置20は、デバイスサーバ10経由で得た当該モード情報(例えば動作モードAからEを含む)に基づいて、USBデバイス30に実行させる動作モードを1つ(例えば動作モードB)選択し、選択された動作モード(例えば動作モードB)を実行する指示を、デバイスサーバ10を介して、USBデバイス30に送信する。これにより、ホスト装置20は、選択された動作モードに応じた通信帯域(例えば動作モードBで通信可能な通信帯域)を確保しつつ、デバイスサーバ10経由でUSBデバイス30の動作を制御する(つまり、USBデバイス30を使用する)ことができる。 As shown in FIG. 4, each of the multiple operating modes A through E includes information such as different resolutions and bit rates. For example, operating mode A includes a resolution of 640 x 480 pixels and a bit rate ranging from a minimum of 3.72 MB/s to a maximum of 18.432 MB/s, while operating mode B includes a resolution of 160 x 120 pixels and a bit rate ranging from a minimum of 192 KB/s to a maximum of 1.152 MB/s. Based on the mode information (e.g., operating modes A through E) obtained via the device server 10, the host device 20 selects one operating mode (e.g., operating mode B) to be executed by the USB device 30 and transmits an instruction to execute the selected operating mode (e.g., operating mode B) to the USB device 30 via the device server 10. This allows the host device 20 to control the operation of the USB device 30 (i.e., use the USB device 30) via the device server 10 while securing a communication bandwidth appropriate for the selected operating mode (e.g., a communication bandwidth available for communication in operating mode B).

再び図2を参照する。図2のステップS04において、算出部13bは、取得部13aにより取得されたモード情報に基づいて、複数の動作モードのそれぞれについて、当該動作モードでUSBデバイス30が動作するときにUSBデバイス30と第一通信インタフェース11との間の通信に使用される第一通信帯域を算出する。例えば、算出部13bは、取得部13aにより取得されたUSBデバイス30の複数の動作モードを示すモード情報をもとに、それぞれの動作モード(例えば、解像度が640×480ピクセルでフレームレートが30fpsなど)でUSBデバイス30と第一通信インタフェース11との間で通信が行われた場合に使用される第一通信帯域をそれぞれの動作モードについて算出する。 Referring again to FIG. 2. In step S04 of FIG. 2, the calculation unit 13b calculates, for each of a 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, based on the mode information acquired by the acquisition unit 13a. 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, the first communication bandwidth used when communication is performed between the USB device 30 and the first communication interface 11 in that operation mode (e.g., a resolution of 640 x 480 pixels and a frame rate of 30 fps).

ステップS05において、算出部13bは、ホスト装置20と第二通信インタフェース12との間の通信に使用可能な第二通信帯域を算出する。第二通信帯域の算出は、第一通信帯域の算出と異なり、実測定により行う。例えば、算出部13bは、予め定められた通信レートで第二通信インタフェース12に通信パケットを送信し、ホスト装置20が受信できる通信パケットを実測定することで、使用可能な第二通信帯域を算出する。 In step S05, the calculation unit 13b calculates the second communication bandwidth available for communication between the host device 20 and the second communication interface 12. Unlike the calculation of the first communication bandwidth, the calculation of the second communication bandwidth is performed by actual measurement. For example, the calculation unit 13b calculates the available second communication bandwidth by sending communication packets to the second communication interface 12 at a predetermined communication rate and actually measuring the communication packets that the host device 20 can receive.

ステップS06において、判定部13cは、算出部13bにより算出された複数の第一通信帯域がそれぞれ第二通信帯域を超えるか否かを判定する。この判定によれば、例えば、算出部13bにより算出された第一通信帯域が第二通信帯域を超えると判定された場合、該当する動作モードを利用するために必要とされる第一通信帯域が、第二通信インタフェースにおける通信で確保できないことを意味する。 In step S06, the determination unit 13c determines whether each of the multiple first communication bands calculated by the calculation unit 13b exceeds the second communication band. According to this determination, for example, if it is determined that the first communication band calculated by the calculation unit 13b exceeds the second communication band, this means that the first communication band required to use the corresponding operating mode cannot be secured for communication via the second communication interface.

ステップS07において、更新部13dは、複数の動作モードのうち、当該動作モードについて算出された第一通信帯域が第二通信帯域を超えると判定部13cにより判定された動作モードを削除することで、第二通信帯域で適切にUSBデバイス30を制御できるモード情報に更新する。 In step S07, the update unit 13d deletes any of the multiple operation modes for which the determination unit 13c has determined that the first communication band calculated for that operation mode exceeds the second communication band, thereby updating the mode information to one that can appropriately control the USB device 30 over the second communication band.

ここで、図3を参照しながら、ステップS06およびS07についてより具体的に説明する。 Now, steps S06 and S07 will be explained in more detail with reference to Figure 3.

図3に示されるように、ステップS11において、判定部13cは、複数の動作モードについて、動作モード毎のループ処理を開始する。 As shown in FIG. 3, in step S11, the determination unit 13c starts loop processing for each of the multiple operation modes.

ステップS12において、判定部13cは、当該動作モードでUSBデバイス30が動作するときの第一通信帯域が第二通信帯域よりも大きいか否かを判定する。第一通信帯域が第二通信帯域よりも大きいと判定部13cにより判定された場合(ステップS12でYes)、更新部13dは、ステップS03で取得部13aにより取得されたモード情報から当該動作モードを削除する(ステップS13)。一方、第一通信帯域が第二通信帯域よりも大きくないと判定部13cにより判定された場合(ステップS12でNo)、更新部13dは、ステップS03で取得部13aにより取得されたモード情報から当該動作モードを削除しない(ステップS14)。 In step S12, the determination unit 13c determines whether the first communication band when the USB device 30 operates in that operating mode is longer than the second communication band. If the determination unit 13c determines that the first communication band is longer than the second communication band (Yes in step S12), the update unit 13d deletes that operating mode from the mode information acquired by the acquisition unit 13a in step S03 (step S13). On the other hand, if the determination unit 13c determines that the first communication band is not longer than the second communication band (No in step S12), the update unit 13d does not delete that operating mode from the mode information acquired by the acquisition unit 13a in step S03 (step S14).

図3に示されていないが、ステップS13またはS14の後、判定部13cは、全ての複数の動作モードについてループ処理が終了したか否かを判定し、ループ処理が終了したと判定した場合、動作モード毎のループ処理を終了する(ステップS15)。 Although not shown in FIG. 3, after step S13 or S14, the determination unit 13c determines whether the loop processing has ended for all of the multiple operating modes, and if it determines that the loop processing has ended, ends the loop processing for each operating mode (step S15).

再び図2を参照する。図2のステップS08において、出力部13eは、更新部13dにより更新されたモード情報を、第二通信インタフェース12を介してホスト装置20へ出力する。これにより、ホスト装置20は、デバイスサーバ10を介してUSBデバイス30との通信を安定して行うことが可能となる。 Referring again to FIG. 2, 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. This enables the host device 20 to stably communicate with the USB device 30 via the device server 10.

なお、図2において、ステップS03~S05の処理は、必ずしもこの順に行われなくてもよい。例えば、ステップS02の後に、ステップS05、S03、S04の順に行われてもよいし、ステップS03、S05、S04の順に行われてもよい。また、ステップS03~S05の処理は並行して同時に行われてもよい。 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, steps S05, S03, and S04 may be performed in this order, or steps S03, S05, and S04 may be performed in this order. Furthermore, the processes of steps S03 to S05 may be performed simultaneously in parallel.

なお、図示していないが、ホスト装置20は、デバイスサーバ10から出力されたモード情報に基づいて、USBデバイス30に実行させる動作モードを選択し、選択された動作モードを実行する指示を、デバイスサーバ10を介して、USBデバイス30に送信する。これにより、ホスト装置20は、デバイスサーバ10経由でUSBデバイス30の動作を制御することができる。 Although not shown, the host device 20 selects the operation mode to be executed by the USB device 30 based on the mode information output from the device server 10, and sends an instruction to execute the selected operation mode to the USB device 30 via the device server 10. This allows the host device 20 to control the operation of the USB device 30 via the device server 10.

なお、USBデバイス30がホスト装置20による指示に従って動作しているときに、デバイスサーバ10が通信状態に応じてモード情報を再更新し、再更新されたモード情報に基づいてUSBデバイス30の動作を制御する処理の流れについては、ネットワークシステム1が実行する処理の他の例で後述する。 Note that when the USB device 30 is operating in accordance with instructions from the host device 20, the device server 10 re-updates the mode information in accordance with the communication state, and the process flow for controlling the operation of the USB device 30 based on the re-updated mode information will be described later in another example of processing executed by the network system 1.

続いて、本実施の形態に係るデバイスサーバ10が実行する処理の他の例について図5および図6を参照しながら説明する。図5は、本実施の形態に係るデバイスサーバ10が実行する処理の他の例を示すフロー図である。図6は、図5のステップS23およびS24の詳細なフローを示すフロー図である。 Next, another example of processing executed by the device server 10 according to this embodiment will be described with reference to Figures 5 and 6. Figure 5 is a flow diagram showing another example of processing executed by the device server 10 according to this embodiment. Figure 6 is a flow diagram showing the detailed flow of steps S23 and S24 in Figure 5.

なお、図5に示されるステップS01~S05は、それぞれ、図2のステップS01~S05と同じ処理であるため、ここでの説明を省略する。 Note that steps S01 to S05 shown in Figure 5 are the same processes as steps S01 to S05 in Figure 2, and therefore will not be described here.

上記の処理の一例では、ホスト装置20がデバイスサーバ10を介してUSBデバイスと接続して、デバイスサーバ10により更新されたモード情報を取得するまでの流れを説明した。処理の他の例では、デバイスサーバ10が、ホスト装置20とデバイスサーバ10(より具体的には、第二通信インタフェース12)との間の通信に使用可能な第二通信帯域のうち、他の通信のために所定の通信帯域を確保する指示をホスト装置20から受信した場合の処理例について説明する。なお、第二通信帯域のうち所定の通信帯域を確保する指示は、第二通信帯域のうちUSBデバイス30との通信以外に優先して使用したい他の通信(例えば、第二通信帯域を他のホスト装置20のために確保するなど)がある場合などに適用される。 In the above example of processing, the flow from the host device 20 connecting to the USB device via the device server 10 to obtaining mode information updated by the device server 10 was described. In another example of processing, a processing example will be described in which the device server 10 receives from the host device 20 an instruction to reserve a specified communication band for other communication within the second communication band that can be used for communication between the host device 20 and the device server 10 (more specifically, the second communication interface 12). Note that the instruction to reserve a specified communication band within the second communication band is applied in cases where there is another communication within the second communication band that is desired to be used preferentially in addition to communication with the USB device 30 (for example, reserving the second communication band for another host device 20).

図5に示されていないが、ホスト装置20が第二通信帯域のうち所定の通信帯域を確保する指示を受け付けると、当該指示をデバイスサーバ10に送信する。 Although not shown in Figure 5, when the host device 20 receives an instruction to reserve a specified communication band within the second communication band, it sends the instruction to the device server 10.

ステップS21において、第二通信インタフェース12は、所定の通信帯域を確保する指示をホスト装置20から受信する。このとき、第二通信インタフェース12は、当該指示を算出部13bに通知する(不図示)。 In step S21, the second communication interface 12 receives an instruction to reserve a specified communication bandwidth from the host device 20. At this time, the second communication interface 12 notifies the calculation unit 13b of the instruction (not shown).

ステップS22において、算出部13bは、第二通信帯域から所定の通信帯域を差し引いた残りである差分通信帯域を算出する。 In step S22, the calculation unit 13b calculates the differential communication bandwidth, which is the remainder after subtracting the specified communication bandwidth from the second communication bandwidth.

ステップS23において、判定部13cは、ステップS04で算出部13bにより算出された複数の第一通信帯域がそれぞれ差分通信帯域を超えるか否かを判定する。 In step S23, the determination unit 13c determines whether each of the multiple first communication bands calculated by the calculation unit 13b in step S04 exceeds the differential communication band.

ステップS24において、更新部13dは、複数の動作モードのうち、当該動作モードについて算出された第一通信帯域が差分通信帯域を超えると判定部13cにより判定された動作モードを削除することで、モード情報を更新する。 In step S24, the update unit 13d updates the mode information by deleting, from among the multiple operation modes, an operation mode for which the determination unit 13c has determined that the calculated first communication bandwidth for that operation mode exceeds the differential communication bandwidth.

ここで、図6を参照しながら、ステップS23およびS24についてより具体的に説明する。 Now, steps S23 and S24 will be explained in more detail with reference to Figure 6.

図6に示されるように、ステップS31において、判定部13cは、複数の動作モードについて、動作モード毎のループ処理を開始する。 As shown in FIG. 6, in step S31, the determination unit 13c starts loop processing for each of the multiple operation modes.

ステップS32において、判定部13cは、当該動作モードでUSBデバイス30が動作するときの第一通信帯域が差分通信帯域よりも大きいか否かを判定する。第一通信帯域が差分通信帯域よりも大きいと判定部13cにより判定された場合(ステップS32でYes)、更新部13dは、ステップS03で取得部13aにより取得されたモード情報から当該動作モードを削除する(ステップS33)。一方、第一通信帯域が差分通信帯域よりも大きくないと判定部13cにより判定された場合(ステップS32でNo)、更新部13dは、ステップS03で取得部13aにより取得されたモード情報から当該動作モードを削除しない(ステップS34)。 In step S32, the determination unit 13c determines whether the first communication bandwidth when the USB device 30 operates in that operation mode is greater than the differential communication bandwidth. If the determination unit 13c determines that the first communication bandwidth is greater than the differential communication bandwidth (Yes in step S32), the update unit 13d deletes that operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S33). On the other hand, if the determination unit 13c determines that the first communication bandwidth is not greater than the differential communication bandwidth (No in step S32), the update unit 13d does not delete that operation mode from the mode information acquired by the acquisition unit 13a in step S03 (step S34).

図6に示されていないが、ステップS33またはS34の後、判定部13cは、全ての複数の動作モードについてループ処理が終了したか否かを判定し、ループ処理が終了したと判定した場合、動作モード毎のループ処理を終了する(ステップS35)。 Although not shown in FIG. 6, after step S33 or S34, the determination unit 13c determines whether the loop processing has ended for all of the multiple operating modes, and if it determines that the loop processing has ended, ends the loop processing for each operating mode (step S35).

再び図5を参照する。図5のステップS25において、出力部13eは、更新部13dにより更新されたモード情報を、第二通信インタフェース12を介してホスト装置20へ出力する。これにより、ホスト装置20は、第二通信帯域のうち、ユーザに指定された所定の通信帯域を確保しながら、デバイスサーバ10を介してUSBデバイス30との通信を安定して行うことが可能となる。 Referring again to FIG. 5, 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. This allows the host device 20 to stably communicate with the USB device 30 via the device server 10 while securing a specific communication band within the second communication band designated by the user.

なお、図示していないが、ホスト装置20は、デバイスサーバ10から出力されたモード情報に基づいて、USBデバイス30に実行させる動作モードを選択し、選択された動作モードを実行する指示を、デバイスサーバ10を介して、USBデバイス30に送信する。これにより、ホスト装置20は、所定の通信帯域を確保しつつ、デバイスサーバ10経由でUSBデバイス30の動作を制御する(つまり、USBデバイス30を使用する)ことができる。 Although not shown, the host device 20 selects the operation mode to be executed by the USB device 30 based on the mode information output from the device server 10, and sends an instruction to execute the selected operation mode to the USB device 30 via the device server 10. This allows the host device 20 to control the operation of the USB device 30 (i.e., use the USB device 30) via the device server 10 while securing a predetermined communication bandwidth.

なお、USBデバイス30がホスト装置20による指示に従って動作しているときに、デバイスサーバ10が通信状態に応じてモード情報を再更新し、再更新されたモード情報に基づいてUSBデバイス30の動作を制御する処理の流れについては、ネットワークシステム1が実行する処理の他の例に記載の「第二通信帯域」を「差分通信帯域」と読み替えるものとする。 Note that, when the USB device 30 is operating in accordance with instructions from the host device 20, 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. In this process, the "second communication bandwidth" described in other examples of processing executed by the network system 1 should be read as "differential communication bandwidth."

続いて、本実施の形態に係るネットワークシステム1が実行する処理の一例について図7を参照しながら説明する。図7は、本実施の形態に係るネットワークシステム1が実行する処理の一例を示すシーケンス図である。ここでは、ホスト装置20がデバイスサーバ10を介してUSBデバイス30と接続を開始し、USBデバイス30の動作を制御する処理例を説明する。 Next, an example of processing executed by the network system 1 according to this embodiment will be described with reference to FIG. 7. FIG. 7 is a sequence diagram showing an example of processing executed by the network system 1 according to this embodiment. Here, an example of processing will be described in which the host device 20 initiates a connection with the USB device 30 via the device server 10 and controls the operation of the USB device 30.

図7に示されているとおり、ホスト装置20はユーザにより入力されたデバイスサーバ10への接続命令を受け付けると、デバイスサーバ10との接続を開始する。より具体的には、ホスト装置20は、接続命令をデバイスサーバ10に送信し、デバイスサーバ10から応答信号を受信すると、デバイスサーバ10との接続を開始する。 As shown in FIG. 7, when the host device 20 receives a connection command to the device server 10 input by the user, it initiates a connection with the device server 10. More specifically, the host device 20 sends a connection command to the device server 10, and when it receives a response signal from the device server 10, it initiates a connection with the device server 10.

ホスト装置20がユーザにより入力されたUSBデバイス30への接続命令を受け付けると(ステップS41)、デバイスサーバ10に接続命令を送信する(ステップS42)。 When the host device 20 receives a connection command to the USB device 30 input by the user (step S41), it sends the connection command to the device server 10 (step S42).

デバイスサーバ10は、ホスト装置20からUSBデバイス30への接続命令を受信すると、USBデバイス30へ接続要求を送信する(ステップS43)。 When the device server 10 receives a connection command to the USB device 30 from the host device 20, it sends a connection request to the USB device 30 (step S43).

USBデバイス30は、デバイスサーバ10から接続要求を受信すると、応答信号を送信する(ステップS44)。このとき、USBデバイス30は、応答信号と共にモード情報を送信する。 When the USB device 30 receives the connection request from the device server 10, it transmits a response signal (step S44). At this time, the USB device 30 transmits mode information along with the response signal.

デバイスサーバ10の取得部13aは、USBデバイス30から応答信号と共にモード情報を取得し(ステップS45)、取得したモード情報を記憶部14に格納する(図7で不図示)。このとき、デバイスサーバ10は、第二通信インタフェース12を介して、ホスト装置20に応答信号を送信する(ステップS46)。 The acquisition unit 13a of the device server 10 acquires the mode information along with the response signal from the USB device 30 (step S45) and stores the acquired mode information in the memory unit 14 (not shown in Figure 7). At this time, the device server 10 transmits the response signal to the host device 20 via the second communication interface 12 (step S46).

ホスト装置20は、デバイスサーバ10から応答信号を受信すると、仮想USB接続を開始する(ステップS47)。より具体的には、ホスト装置20は、デバイスサーバ10が備えるUSBデバイスドライバによってUSBデバイス30を、デバイスサーバ10を介して駆動できるように認識する処理を行う。当該処理により、ホスト装置20は、デバイスサーバ10に接続されたUSBデバイス30を、あたかもホスト装置20に直接接続されたかのように利用可能となる。 When the host device 20 receives the response signal from the device server 10, it initiates a virtual USB connection (step S47). More specifically, the host device 20 performs processing to recognize the USB device 30 as being able to be driven via the device server 10 using a USB device driver provided by the device server 10. This processing allows the host device 20 to use the USB device 30 connected to the device server 10 as if it were directly connected to the host device 20.

デバイスサーバ10の算出部13bは、ホスト装置20とデバイスサーバ10(より具体的には、第二通信インタフェース12)との間の通信における第二通信帯域を実測定により算出する(ステップS48)。 The calculation unit 13b of the device server 10 calculates the second communication bandwidth for communication between the host device 20 and the device server 10 (more specifically, the second communication interface 12) through actual measurement (step S48).

デバイスサーバ10の算出部13bは、記憶部14に格納されたモード情報を読み出す(図7にて不図示)。そして、算出部13bは、モード情報に基づいて、複数の動作モードのそれぞれについて、当該動作モードでUSBデバイス30が動作するときにUSBデバイス30とデバイスサーバ10(より具体的には、第一通信インタフェース11)との間の通信に使用される第一通信帯域を算出する(ステップS49)。 The calculation unit 13b of the device server 10 reads the mode information stored in the memory unit 14 (not shown in Figure 7). Then, based on the mode information, the calculation unit 13b calculates, for each of a plurality of operating modes, the first communication bandwidth to be used for 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 that operating mode (step S49).

デバイスサーバ10の判定部13cは、算出部13bにより算出された複数の第一通信帯域がそれぞれ第二通信帯域を超えるか否かを判定する(ステップS50)。 The determination unit 13c of the device server 10 determines whether each of the multiple first communication bands calculated by the calculation unit 13b exceeds the second communication band (step S50).

デバイスサーバ10の更新部13dは、複数の動作モードのうち、当該動作モードについて算出された第一通信帯域が第二通信帯域を超えると判定部13cにより判定された動作モードを削除することで、ステップS45で取得部13aにより取得されたモード情報を更新する(ステップS51)。そして、更新部13dは、更新されたモード情報を記憶部14に格納する(図7で不図示)。 The update unit 13d of the device server 10 updates the mode information acquired by the acquisition unit 13a in step S45 by deleting any operation mode for which the determination unit 13c has determined that the calculated first communication band for that operation mode exceeds the second communication band (step S51). The update unit 13d then stores the updated mode information in the memory unit 14 (not shown in FIG. 7).

ホスト装置20は、仮想USB接続が開始されると(ステップS47)、デバイスサーバ10にモード情報を要求する信号(以下、モード情報の要求という)を送信する(ステップS52)。 When the virtual USB connection is initiated (step S47), the host device 20 sends a signal requesting mode information (hereinafter referred to as a mode information request) to the device server 10 (step S52).

デバイスサーバ10の出力部13eは、モード情報の要求を受信すると、更新されたモード情報を記憶部14から読み出し(図7で不図示)、更新されたモード情報を、第二通信インタフェース12を介して、ホスト装置20に出力する(ステップS53)。 When the output unit 13e of the device server 10 receives the request for mode information, it reads the updated mode information from the memory unit 14 (not shown in Figure 7) and outputs the updated mode information to the host device 20 via the second communication interface 12 (step S53).

ホスト装置20は、更新されたモード情報を取得すると(ステップS54)、更新されたモード情報が示す複数の動作モードからUSBデバイス30に実行させる動作モードを決定する(ステップS55)。 When the host device 20 acquires the updated mode information (step S54), it determines the operating mode to be executed by the USB device 30 from the multiple operating modes indicated by the updated mode information (step S55).

ホスト装置20は、決定された動作モードをUSBデバイス30に実行させる命令(以下、実行命令という)をデバイスサーバ10に送信する(ステップS56)。 The host device 20 sends a command (hereinafter referred to as an execution command) to the device server 10 to cause the USB device 30 to execute the determined operating mode (step S56).

デバイスサーバ10は、ホスト装置20から実行命令を受信すると(図7で不図示)、実行命令をUSBデバイス30に送信する(ステップS57)。 When the device server 10 receives an execution command from the host device 20 (not shown in Figure 7), it sends the execution command to the USB device 30 (step S57).

USBデバイス30は、実行命令を受信すると(図7で不図示)、ステップS55でホスト装置20により決定された動作モードで動作を開始する(ステップS58)。 When the USB device 30 receives the execution command (not shown in Figure 7), it begins operation in the operating mode determined by the host device 20 in step S55 (step S58).

図7に示される一連の処理により、ネットワークシステム1は、ホスト装置20からデバイスサーバ10経由でUSBデバイス30を使用する前に、ホスト装置20とデバイスサーバ10との間の通信に使用可能な第二通信帯域において、USBデバイス30の制御に使用可能な通信帯域を確保できるようにモード情報を更新することができる。これにより、ネットワークシステム1は、ホスト装置20からデバイスサーバ10経由でUSBデバイス30を使用する場合に、USBデバイスを適切な動作モードで動作させることに寄与するため、安定した通信を実現することができる。 By performing the series of processes shown in FIG. 7, the network system 1 can update the mode information so that a communication band usable for controlling the USB device 30 is secured in the second communication band usable 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. This allows the network system 1 to operate the USB device in an appropriate operating mode when using the USB device 30 from the host device 20 via the device server 10, thereby achieving stable communication.

なお、図5で説明したように、ホスト装置20により予め所定の通信帯域を別通信のために確保する指示が受け付けられた場合、上記の第二通信帯域は、第二通信帯域から所定の通信帯域を差し引いた差分通信帯域であるとして、図7に示される一連の処理を行う。これにより、ネットワークシステム1は、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 As explained in FIG. 5, when the host device 20 receives an instruction to reserve a predetermined communication bandwidth for another communication, the second communication bandwidth is set to the differential communication bandwidth obtained by subtracting the predetermined communication bandwidth from the second communication bandwidth, and the series of processes shown in FIG. 7 are performed. This allows the network system 1 to achieve stable communication while reserving the predetermined communication bandwidth.

続いて、本実施の形態に係るネットワークシステム1が実行する処理の他の例について図8を参照しながら説明する。図8は、本実施の形態に係るネットワークシステム1が実行する処理の他の例を示すシーケンス図である。ここでは、図7に示したシーケンスにより、ホスト装置20がデバイスサーバ10を介してUSBデバイス30と接続を開始した後に第二通信帯域を算出した結果、第一通信帯域が第二通信帯域を超えると判定された場合の処理例を説明する。 Next, another example of processing executed by the network system 1 according to this embodiment will be described with reference to FIG. 8. FIG. 8 is a sequence diagram showing another example of processing executed by the network system 1 according to this embodiment. Here, an example of processing will be described in which, after the host device 20 starts a connection with the USB device 30 via the device server 10 according to the sequence shown in FIG. 7, the second communication bandwidth is calculated and it is determined that the first communication bandwidth exceeds the second communication bandwidth.

図7のステップS58において、USBデバイス30がホスト装置20により決定された動作モードで動作を開始すると、USBデバイス30は映像および音声の少なくとも一方のデータを送信し、ホスト装置20は、デバイスサーバ10を介して、USBデバイス30から送信されたこれらのデータを取得する(図7および図8で不図示)。 In step S58 of FIG. 7, when the USB device 30 begins operating in the operating mode determined by the host device 20, the USB device 30 transmits at least one of video and audio data, and the host device 20 acquires this data transmitted from the USB device 30 via the device server 10 (not shown in FIGS. 7 and 8).

ホスト装置20は、取得した上記データを用いて映像および音声の少なくとも一方を適切に再生するために、所定のデータ量(例えば、数100ミリ秒~数秒間の再生に必要なデータ量)を記憶装置(バッファともいう)に保持していることが想定される。ホスト装置20は、保持しているデータ量が不足すると(図8で不図示)、不足した分のデータの送信を要求する信号(以下、データ要求という)をUSBデバイス30に送信する(図8のステップS60)。 The host device 20 is expected to store a predetermined amount of data (e.g., the amount of data required for playback of several hundred milliseconds to several seconds) in a storage device (also called a buffer) in order to properly play back at least one of the video and audio using the acquired data. When the amount of data stored by the host device 20 is insufficient (not shown in Figure 8), the host device 20 sends a signal (hereinafter referred to as a data request) to the USB device 30 requesting the transmission of the missing data (step S60 in Figure 8).

デバイスサーバ10は、ホスト装置20から送信されたデータ要求を受信すると(図8で不図示)、データ要求をUSBデバイス30に送信する(ステップS61)。 When the device server 10 receives a data request sent from the host device 20 (not shown in Figure 8), it sends the data request to the USB device 30 (step S61).

USBデバイス30は、デバイスサーバ10から送信されたデータ要求を受信すると(図8で不図示)、デバイスサーバ10にデータを送信し(ステップS62)、デバイスサーバ10は、USBデバイス30から取得したデータをホスト装置20に送信する(ステップS63)。なお、ステップS60~S63は、繰り返し実行される。 When the USB device 30 receives a data request sent from the device server 10 (not shown in Figure 8), it sends the data to the device server 10 (step S62), and the device server 10 sends the data obtained from the USB device 30 to the host device 20 (step S63). Note that steps S60 to S63 are executed repeatedly.

デバイスサーバ10の判定部13cは、USBデバイス30とデバイスサーバ10との間の通信(ここでは、USBデバイス30からデバイスサーバ10へのデータの送信)に使用される第一通信帯域が、デバイスサーバ10とホスト装置20との間の通信に使用可能な第二通信帯域を超えるか否かを判定する。上記判定は、ステップS60~S63を1回の通信として、所定の通信回数毎に実施されてもよい。例えば、判定部13cは、USBデバイス30にデータの送信を要求する信号がホスト装置20から所定時間内に送信される回数が閾値以上である場合、第一通信帯域が第二通信帯域を超えていると判定する。つまり、判定部13cは、ホスト装置20からデータの送信を要求する信号の送信回数が閾値以上であることにより、デバイスサーバ10とホスト装置20との間の通信帯域(いわゆる、第二通信帯域)に変化が生じたことによって、当該信号が所定時間内に送信される回数が増加したと認識する。これにより、判定部13cは、第一通信帯域が第二通信帯域を超えていると判定し、更新部13dにその旨を通知する。上記閾値は、例えば、ホスト装置20とデバイスサーバ10との間の通信帯域が十分である場合においてUSBデバイス30にデータの送信を要求する信号がホスト装置20から所定時間内に送信される回数の1.1倍~1.5倍などと定められてもよい。 The determination unit 13c of the device server 10 determines whether the first communication bandwidth 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 bandwidth available for communication between the device server 10 and the host device 20. This determination may be performed for a predetermined number of communications, with steps S60 to S63 counted as one communication. For example, the determination unit 13c determines that the first communication bandwidth exceeds the second communication bandwidth if the number of times a signal requesting data transmission from the host device 20 to the USB device 30 is transmitted from the host device 20 within a predetermined period of time is equal to or exceeds a threshold. In other words, the determination unit 13c recognizes that a change in the communication bandwidth between the device server 10 and the host device 20 (the so-called second communication bandwidth) has occurred, resulting in an increase in the number of times the signal is transmitted within a predetermined period of time, due to the number of times the signal is transmitted from the host device 20 requesting data transmission being equal to or exceeds the threshold. As a result, the determination unit 13c determines that the first communication bandwidth exceeds the second communication bandwidth and notifies the update unit 13d of this fact. The threshold value may be set, for example, to 1.1 to 1.5 times the number of times that the host device 20 sends a signal requesting data transmission to the USB device 30 within a specified period of time when the communication bandwidth between the host device 20 and the device server 10 is sufficient.

デバイスサーバ10の更新部13dは、判定部13cにより第一通信帯域が第二通信帯域を超えると判定された場合(ステップS64)、図7のステップS51で更新されたモード情報を再更新する(ステップS65)。なお、第一通信帯域が第二通信帯域を超えないと、デバイスサーバ10の判定部13cが判定した場合には、ステップS64以降の処理は行われない。 If the determination unit 13c 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 if the determination unit 13c of the device server 10 determines that the first communication band does not exceed the second communication band, the processing from step S64 onwards is not performed.

デバイスサーバ10の判定部13cが、第一通信帯域が第二通信帯域を超えると判定するのは、例えば、以下の場合である。 The determination unit 13c of the device server 10 determines that the first communication band exceeds the second communication band in the following cases, for example:

例えば、判定部13cは、ホスト装置20から受信するデータ要求に応じて、データを送信できているか否かを判定することで、第一通信帯域が第二通信帯域を超えると判定する。 For example, the determination unit 13c determines that the first communication bandwidth exceeds the second communication bandwidth by determining whether data can be transmitted in response to a data request received from the host device 20.

ホスト装置20が送信するデータ要求には、例えば、指定時間と指定データ量とが含まれる。データ要求に含まれている指定時間と指定データ量とは、当該データ要求が、当該指定時間内に当該指定データ量のデータの送信を要求することを意味している。この場合、デバイスサーバ10は、データ要求を受けた場合に、指定時間内に指定データ量のデータを送信しようとするが、ホスト装置20とデバイスサーバ10との間の通信帯域が不足している場合には、上記指定時間内に上記指定データ量のデータを送信することができない。そこで、判定部13cは、データ要求に含まれる指定時間内に指定データ量のデータを、ホスト装置20に送信できていないと判定した場合に、第一通信帯域が第二通信帯域を超えたと判定する。 A data request sent by the host device 20 includes, for example, a specified time and a specified data amount. The specified time and specified data amount included in the data request mean that the data request requests the transmission of the specified amount of data within the specified time. In this case, when the device server 10 receives a data request, it attempts to transmit the specified amount of data within the specified time, but if the communication bandwidth between the host device 20 and the device server 10 is insufficient, it will not be able to transmit the specified amount of data within the specified time. Therefore, if the determination unit 13c determines that the specified amount of data cannot be transmitted to the host device 20 within the specified time included in the data request, it determines that the first communication bandwidth has exceeded the second communication bandwidth.

また、例えば、判定部13cは、ホスト装置20から受信するデータ要求の受信間隔の変化を用いて、第一通信帯域が第二通信帯域を超えたか否かを判定する。 Furthermore, for example, the determination unit 13c determines whether the first communication bandwidth has exceeded the second communication bandwidth using changes in the reception interval of data requests received from the host device 20.

この場合、ホスト装置20とデバイスサーバ10との間の通信帯域が十分である場合には、データ要求の送信間隔が等間隔になる(通常間隔ともいう)ことが想定されるが、上記通信帯域が不足している場合には、データ要求の送信間隔が通常間隔より短くなる。そこで、判定部13cは、ホスト装置20から受信するデータ要求の受信間隔が通常間隔より短いと判定した場合に、第一通信帯域が第二通信帯域を超えたと判定する。 In this case, if the communication bandwidth between the host device 20 and the device server 10 is sufficient, it is expected that the data request transmission intervals will be equal (also called normal intervals). However, if the communication bandwidth is insufficient, the data request transmission intervals will be shorter than the normal intervals. Therefore, if the determination unit 13c determines that the reception intervals of data requests received from the host device 20 are shorter than the normal intervals, it determines that the first communication bandwidth has exceeded the second communication bandwidth.

この場合、デバイスサーバ10の更新部13dは、図7のステップS51で更新部13dにより更新されたモード情報が示す複数の動作モードのうち、当該動作モードについて算出された第一通信帯域が現時点での第二通信帯域を超えると判定部13cにより判定された動作モードを削除することで、更新されたモード情報を再更新する(ステップS65)。このとき、更新部13dは、再更新されたモード情報を記憶部14に格納する(図8で不図示)。 In this case, the update unit 13d of the device server 10 re-updates the updated mode information by deleting, from among the multiple operation modes indicated in the mode information updated by the update unit 13d in step S51 of FIG. 7, an operation mode for which the determination unit 13c has determined that the calculated first communication bandwidth for that operation mode exceeds the current second communication bandwidth (step S65). At this time, the update unit 13d stores the re-updated mode information in the memory unit 14 (not shown in FIG. 8).

その後、デバイスサーバ10は、USBデバイス30に切断命令を送信する(ステップS66)。 The device server 10 then sends a disconnection command to the USB device 30 (step S66).

USBデバイス30は、デバイスサーバ10から送信された切断命令を受信すると(図8で不図示)、デバイスサーバ10に応答信号を送信する(ステップS67)。 When the USB device 30 receives the disconnection command sent from the device server 10 (not shown in Figure 8), it sends a response signal to the device server 10 (step S67).

デバイスサーバ10の第一通信インタフェース11は、USBデバイス30から応答信号を受信すると(図8で不図示)、USBデバイス30との接続を切断する(ステップS68)。 When the first communication interface 11 of the device server 10 receives a response signal from the USB device 30 (not shown in Figure 8), it disconnects from the USB device 30 (step S68).

デバイスサーバ10の第二通信インタフェース12は、USBデバイス30との接続を切断したことを通知する切断通知をホスト装置20に送信する(ステップS69)。 The second communication interface 12 of the device server 10 sends a disconnection notification to the host device 20 notifying that the connection with the USB device 30 has been disconnected (step S69).

ホスト装置20は、デバイスサーバ10から送信された切断通知を受信すると、USBデバイス30との接続の切断を認識し、USBデバイス30との接続を切断する(ステップS70)。 When the host device 20 receives the disconnection notification sent from the device server 10, it recognizes that the connection with the USB device 30 has been disconnected and disconnects the connection with the USB device 30 (step S70).

デバイスサーバ10の第一通信インタフェース11は、USBデバイス30との接続を要求する信号(接続要求)を送信する(ステップS71)。 The first communication interface 11 of the device server 10 transmits a signal (connection request) requesting connection with the USB device 30 (step S71).

USBデバイス30は、デバイスサーバ10から送信された接続要求を受信すると、応答信号を送信する(ステップS72)。 When the USB device 30 receives the connection request sent from the device server 10, it sends a response signal (step S72).

デバイスサーバ10は、USBデバイス30から送信された応答信号を受信すると、USBデバイス30との接続を再開し(ステップS73)、USBデバイス30との接続が再開したことを通知する接続通知をホスト装置20に送信する(ステップS74)。 When the device server 10 receives the response signal sent from the USB device 30, it resumes the connection with the USB device 30 (step S73) and sends a connection notification to the host device 20 notifying it that the connection with the USB device 30 has resumed (step S74).

ホスト装置20は、デバイスサーバ10から送信された接続通知を受信すると、デバイスサーバ10に応答信号を送信し(ステップS75)、仮想USB接続を開始する(ステップS76)。 When the host device 20 receives the connection notification sent from the device server 10, it sends a response signal to the device server 10 (step S75) and initiates a virtual USB connection (step S76).

ホスト装置20は、モード情報を要求する信号(いわゆる、モード情報の要求)を送信する(ステップS77)。 The host device 20 transmits a signal requesting mode information (so-called a mode information request) (step S77).

デバイスサーバ10の出力部13eは、ホスト装置20からモード情報の要求を受信すると、ステップS65で再更新されたモード情報を記憶部14から読み出し(図8で不図示)、ステップS65で再更新されたモード情報を、第二通信インタフェース12を介して、ホスト装置20に出力する(ステップS78)。 When the output unit 13e of the device server 10 receives a request for mode information from the host device 20, it reads the mode information re-updated in step S65 from the memory unit 14 (not shown in Figure 8), and outputs the mode information re-updated in step S65 to the host device 20 via the second communication interface 12 (step S78).

ホスト装置20は、デバイスサーバ10から出力された再更新されたモード情報を取得すると(ステップS79)、再更新されたモード情報が示す複数の動作モードからUSBデバイス30に実行させる動作モードを決定する(ステップS80)。 When the host device 20 receives the updated mode information output from the device server 10 (step S79), it determines the operating mode to be executed by the USB device 30 from the multiple operating modes indicated by the updated mode information (step S80).

ホスト装置20は、決定された動作モードをUSBデバイス30に実行させる命令(いわゆる、実行命令)をデバイスサーバ10に送信する(ステップS81)。 The host device 20 sends a command (so-called execution command) to the device server 10 to cause the USB device 30 to execute the determined operating mode (step S81).

デバイスサーバ10は、ホスト装置20から実行命令を受信すると(図8で不図示)、実行命令をUSBデバイス30に送信する(ステップS82)。 When the device server 10 receives an execution command from the host device 20 (not shown in Figure 8), it sends the execution command to the USB device 30 (step S82).

USBデバイス30は、実行命令を受信すると(図8で不図示)、ステップS80でホスト装置20により決定された動作モードで動作を開始する(ステップS83)。 When the USB device 30 receives the execution command (not shown in Figure 8), it begins operation in the operating mode determined by the host device 20 in step S80 (step S83).

図8に示される一連の処理により、ネットワークシステム1は、ホスト装置20からデバイスサーバ10経由でUSBデバイス30を使用している(言い換えると、USBデバイス30の動作を制御している)ときに、ホスト装置20とデバイスサーバ10との間の通信で使用可能な第二通信帯域において使用可能な帯域に見合った動作モードでUSBデバイス30からデータを送信させることができる。これにより、ネットワークシステム1は、ホスト装置20からデバイスサーバ10経由でUSBデバイス30を使用しているときに、USBデバイス30の正常な動作モードを維持することができるため、安定した通信を実現することができる。 By performing the series of processes shown in FIG. 8, when the network system 1 is using the USB device 30 from the host device 20 via the device server 10 (in other words, when it is controlling the operation of the USB device 30), it can cause the USB device 30 to transmit data in an operating mode that matches the available bandwidth in the second communication band that can be used for communication between the host device 20 and the device server 10. As a result, when the USB device 30 is being used from the host device 20 via the device server 10, the network system 1 can maintain the normal operating mode of the USB device 30, thereby achieving stable communication.

なお、ホスト装置20により予め所定の通信帯域を確保する指示が受け付けられた場合、上記の第二通信帯域は、第二通信帯域から所定の通信帯域を差し引いた残りである差分通信帯域であるとして、図8に示される一連の処理を行う。これにより、ネットワークシステム1は、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 If the host device 20 receives an instruction to reserve a predetermined communication bandwidth in advance, the second communication bandwidth is treated as the difference communication bandwidth, which is the remainder obtained by subtracting the predetermined communication bandwidth from the second communication bandwidth, and the series of processes shown in Figure 8 are performed. This allows the network system 1 to achieve stable communication while reserving the predetermined communication bandwidth.

以上のように、本実施の形態のデバイスサーバは、USBデバイスのモード情報を取得して、複数の動作モードのそれぞれでUSBデバイスを動作させたときにUSBデバイスとの通信に使用される複数の第一通信帯域のうち、ホスト装置との通信に使用可能な第二通信帯域を超える動作モードを削除した更新後のモード情報をホスト装置に出力することができる。ホスト装置は、更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、デバイスサーバは、USBデバイスを適切な動作モードで動作させることに寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現することができる。 As described above, the device server of this embodiment can acquire mode information for a USB device and output updated mode information to the host device in which, from among multiple first communication bands used for communication with the USB device when the USB device is operated in each of multiple operating modes, any operating mode that exceeds the second communication band usable for communication with the host device is deleted. The host device can select an operating mode to be executed by the USB device from the multiple operating modes indicated by the updated mode information, thereby securing a communication band in the second communication band to be used for controlling the operation of the USB device. This allows the device server to operate the USB device in an appropriate operating mode. In this way, the device server can achieve stable communication when the host device uses the USB device via the device server.

また、デバイスサーバは、USBデバイスが動作しているときにUSBデバイスとの通信に使用される第一通信帯域が第二通信帯域を超える場合、更新後のモード情報を再更新するため、通信状態の変動に応じて適切にモード情報を更新することができる。また、デバイスサーバは、更新後のモード情報を再更新すると、USBデバイスとの通信接続を一旦切断して、USBデバイスと再接続した後に、再更新後のモード情報をホスト装置に出力するため、ホスト装置は、通信状態をリセットした後に、動作モードを選択することができる。より具体的には、ホスト装置は、通信状態をリセットした後に、再更新されたモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、安定した通信を実現することができる。 Furthermore, if 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 re-updates the updated mode information, allowing the mode information to be updated appropriately in response to fluctuations in communication conditions. Furthermore, after re-updating the updated mode information, the device server temporarily disconnects the communication connection with the USB device, reconnects to the USB device, and then outputs the re-updated mode information to the host device. This allows the host device to select an operating mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select an operating mode to be executed by the USB device from among the multiple operating modes indicated by the re-updated mode information, thereby securing a communication band in the second communication band used to control the operation of the USB device. This allows the network system to maintain 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.

また、デバイスサーバは、第二通信帯域において所定の通信帯域を確保する指示が受け付けられた場合に、モード情報が示す複数の動作モードのそれぞれでUSBデバイスを動作させたときにUSBデバイスとの通信に使用される複数の第一通信帯域のうち、第二通信帯域から所定の通信帯域を差し引いた差分通信帯域を超える動作モードを削除した更新後のモード情報をホスト装置に出力することができる。ホスト装置は、更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、所定の通信帯域を確保しつつ、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、デバイスサーバは、USBデバイスを適切な動作モードで動作させることに寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用する場合に、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 Furthermore, when an instruction to secure a specified communication bandwidth in the second communication bandwidth is received, the device server can output updated mode information to the host device that deletes, from the multiple first communication bandwidths used for communication with the USB device when the USB device is operated in each of the multiple operation modes indicated by the mode information, any operation mode that exceeds the differential communication bandwidth obtained by subtracting the specified communication bandwidth from the second communication bandwidth. The host device can select an operation mode to be executed by the USB device from the multiple operation modes indicated by the updated mode information, and can therefore secure the communication bandwidth used to control the operation of the USB device while securing the specified communication bandwidth in the second communication bandwidth. This allows the device server to operate 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 the specified communication bandwidth.

また、デバイスサーバは、USBデバイスが動作しているときにUSBデバイスとの通信に使用される第一通信帯域が差分通信帯域を超える場合、更新後のモード情報を再更新するため、通信状態の変動に応じて適切にモード情報を更新することができる。また、デバイスサーバは、更新後のモード情報を再更新すると、USBデバイスとの通信接続を一旦切断して、USBデバイスと再接続した後に、再更新後のモード情報をホスト装置に出力するため、ホスト装置は、通信状態をリセットした後に、動作モードを選択することができる。より具体的には、ホスト装置は、通信状態をリセットした後に、再更新されたモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、第二通信帯域において、所定の通信帯域を確保しつつ、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、デバイスサーバは、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、所定の通信帯域を確保しつつ、安定した通信を実現することができる。 Furthermore, if 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 re-updates the updated mode information, thereby enabling the mode information to be updated appropriately in response to fluctuations in the communication state. Furthermore, after re-updating the updated mode information, the device server temporarily disconnects the communication connection with the USB device, reconnects to the USB device, and then outputs the re-updated mode information to the host device. This allows the host device to select an operating mode after resetting the communication state. More specifically, after resetting the communication state, the host device can select an operating mode to be executed by the USB device from among the multiple operating modes indicated by the re-updated mode information. This allows the second communication bandwidth to be secured while also securing the communication bandwidth used to control the operation of the USB device. This allows the network system to maintain normal operation of the USB device. In this way, the device server can achieve stable communication while securing the specified communication bandwidth when the host device is using the USB device via the device server.

また、デバイスサーバは、USBデバイスから送信された映像および音声の少なくとも一方のデータを、第二通信インタフェースを介して、ホスト装置に送信することができる。これにより、デバイスサーバは、ホスト装置とUSBデバイスとの間の映像および音声の少なくとも一方のデータ通信を中継することができる。 The device server can also transmit at least one of the video and audio data sent from the USB device to the host device via the second communication interface. This allows the device server to relay at least one of the video and audio data communications between the host device and the USB device.

また、ネットワークシステムは、USBデバイスにデータの送信を要求する信号がホスト装置から所定時間内に送信される回数が閾値以上である場合、第一通信帯域が第二通信帯域を超えたと判定するため、通信状態の変動を監視することができる。また、ネットワークシステムでは、デバイスサーバは、更新後のモード情報が示す複数の動作モードのそれぞれでUSBデバイスを動作させたときにデバイスサーバとUSBデバイスとの間の通信に使用される複数の第一通信帯域のうち、デバイスサーバとホスト装置との間の通信に使用可能な第二通信帯域を超える動作モードを削除した再更新後のモード情報をホスト装置に出力することができる。ホスト装置は、再更新後のモード情報が示す複数の動作モードの中からUSBデバイスに実行させる動作モードを選択することができるため、ホスト装置がデバイスサーバ経由でUSBデバイスを使用しているときに、第二通信帯域において、USBデバイスの動作の制御に使用される通信帯域を確保することができる。これにより、ネットワークシステムは、USBデバイスの正常な動作の維持に寄与する。このように、ネットワークシステムは、ホスト装置からデバイスサーバ経由でUSBデバイスを使用しているときに、安定した通信を実現することができる。なお、上記の更新されたモード情報は、デバイスサーバがUSBデバイスに接続を開始したときに取得されたモード情報であってもよい。この場合、上記の再更新後のモード情報は、更新後のモード情報である。 The network system can monitor fluctuations in communication conditions by determining that the first communication bandwidth has exceeded the second communication bandwidth when the number of times a signal requesting data transmission from the host device to the USB device within a specified time period is equal to or exceeds a threshold. In the network system, the device server can output updated mode information to the host device, deleting any of the first communication bandwidths used for communication between the device server and the USB device when the USB device is operated in each of the multiple operating modes indicated in the updated mode information that exceed the second communication bandwidth available for communication between the device server and the host device. The host device can select an operating mode to be executed by the USB device from the multiple operating modes indicated in the updated mode information, thereby ensuring a communication bandwidth in the second communication bandwidth used to control the operation of the USB device when the host device is using the USB device via the device server. This contributes to maintaining normal operation of the USB device. In this way, the network system can achieve stable communication when the host device is using the USB device via the device server. The updated mode information may be mode information acquired when the device server initiates connection to the USB device. In this case, the above-mentioned re-updated mode information is the updated mode information.

なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、インターネット等の通信ネットワークを介して配信してもよい。 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, as a program that causes a computer to execute those steps, as a computer-readable recording medium such as a CD-ROM on which the program is recorded, or as information, data, or signals that represent the program. These programs, information, data, and signals may also be distributed via a communications network such as the Internet.

以上、本発明のデバイスサーバ、ネットワークシステム、デバイスサーバの制御方法およびプログラムについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。 The device server, network system, device server control method, and program of the present invention have been described above based on an embodiment, but the present invention is not limited to this embodiment. Various modifications conceivable by those skilled in the art to this embodiment, as well as configurations constructed by combining components from different embodiments, are also included within the scope of the present invention, as long as they do not deviate from the spirit of the present invention.

本発明は、ホスト装置からデバイスサーバ経由でUSBデバイスを使用する場合に、安定した通信を実現するデバイスサーバ等に利用可能である。 This invention can be used in device servers and other devices that enable stable communication when using USB devices from a host device via a device server.

1 ネットワークシステム
10 デバイスサーバ
11 第一通信インタフェース
12 第二通信インタフェース
13 制御部
13a 取得部
13b 算出部
13c 判定部
13d 更新部
13e 出力部
14 記憶部
20 ホスト装置
30 USBデバイス
REFERENCE SIGNS LIST 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 (8)

USB(Universal Serial Bus)デバイスに接続し、前記USBデバイスと音声および映像の少なくとも一方のデータ通信を行う第一通信インタフェースと、
ホスト装置に接続する第二通信インタフェースと、
前記USBデバイスの複数の動作モードを示すモード情報を取得する取得部と、
前記取得部により取得された前記モード情報に基づいて、前記複数の動作モードのそれぞれについて、当該動作モードで前記USBデバイスが動作するときに前記USBデバイスと前記第一通信インタフェースとの間の通信に使用される第一通信帯域を算出し、かつ、前記ホスト装置と前記第二通信インタフェースとの間の通信に使用可能な第二通信帯域を算出する算出部と、
前記算出部により算出された複数の前記第一通信帯域がそれぞれ前記第二通信帯域を超えるか否かを判定する判定部と、
前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、前記モード情報を更新する更新部と、
前記更新部により更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力する出力部と、
を備える、
デバイスサーバ。
a first communication interface that is connected to a USB (Universal Serial Bus) device and that performs at least one of audio and video data communication with the USB device;
a second communication interface for connecting to a host device;
an acquisition unit that acquires mode information indicating a plurality of operation modes of the USB device;
a calculation unit that calculates, for each of the plurality of operation modes based on the mode information acquired by the acquisition unit, a first communication bandwidth that is used for communication between the USB device and the first communication interface when the USB device operates in that operation mode, and calculates a second communication bandwidth that is usable for communication between the host device and the second communication interface;
a determination unit that determines whether each of the plurality of first communication bands calculated by the calculation unit exceeds the second communication band;
an update unit that updates the mode information by deleting an operation mode, among the plurality of operation modes, for which it has been determined by the determination unit that the first communication band calculated for that operation mode exceeds the second communication band;
an output unit that outputs the mode information updated by the update unit to the host device via the second communication interface;
Equipped with
Device server.
前記判定部は、前記USBデバイスが更新された前記モード情報に基づいて前記ホスト装置により選択された動作モードで動作しているときに、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えるか否かを判定し、
前記更新部は、前記判定部により前記第一通信帯域が前記第二通信帯域を超えると判定された場合、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、
前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、
前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力する、
請求項1に記載のデバイスサーバ。
the determination unit determines, when the USB device is operating in an operation mode selected by the host device based on the updated mode information, whether the first communication bandwidth calculated for the operation mode exceeds the second communication bandwidth;
when the determination unit determines that the first communication band exceeds the second communication band, the update unit re-updates the updated mode information by deleting an operation mode, from among the plurality of operation modes indicated by the updated mode information, for which the determination unit determines that the first communication band calculated for that operation mode exceeds the second communication band;
When the updated mode information is updated again, the first communication interface disconnects the connection with the USB device;
When the first communication interface is connected to the USB device again, 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 of claim 1 .
前記算出部は、前記ホスト装置が前記第二通信帯域のうち所定の通信帯域を確保する指示を受け付けた場合、前記第二通信帯域から前記所定の通信帯域を差し引いた差分通信帯域を算出し、
前記判定部は、前記算出部により算出された複数の前記第一通信帯域がそれぞれ前記差分通信帯域を超えるか否かを判定し、
前記更新部は、前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えると前記判定部により判定された動作モードを削除することで、前記モード情報を更新する、
請求項1に記載のデバイスサーバ。
the calculation unit, when the host device receives an instruction to reserve a predetermined communication bandwidth from the second communication bandwidth, calculates a difference communication bandwidth by subtracting the predetermined communication bandwidth from the second communication bandwidth;
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 an operation mode, among the plurality of operation modes, for which the determination unit has determined that the first communication bandwidth calculated for that operation mode exceeds the differential communication bandwidth.
The device server of claim 1 .
前記判定部は、前記USBデバイスが更新された前記モード情報に基づいて前記ホスト装置により選択された動作モードで動作しているときに、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えるか否かを判定し、
前記更新部は、前記判定部により前記第一通信帯域が前記差分通信帯域を超えると判定された場合、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記差分通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、
前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、
前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力する、
請求項3に記載のデバイスサーバ。
the determination unit determines, when the USB device is operating in an operation mode selected by the host device based on the updated mode information, whether or not the first communication bandwidth calculated for the operation mode exceeds the differential communication bandwidth;
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 an operation mode, from among the plurality of operation modes indicated by the updated mode information, for which the determination unit determines that the first communication band calculated for that operation mode exceeds the differential communication band;
When the updated mode information is updated again, the first communication interface disconnects the connection with the USB device;
When the first communication interface is connected to the USB device again, 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 of claim 3 .
前記USBデバイスは、映像および音声の少なくとも一方のデータを前記第一通信インタフェースへ送信する、
請求項1~4のいずれか1項に記載のデバイスサーバ。
the USB device transmits at least one of video and audio data to the first communication interface;
The device server according to any one of claims 1 to 4.
請求項1に記載のデバイスサーバを備え、
前記ホスト装置は、前記USBデバイスにデータの送信を要求する信号を送信し、
前記デバイスサーバにおいて、
前記判定部は、前記信号が前記ホスト装置から所定時間内に送信される回数が閾値以上である場合、前記第一通信帯域が前記第二通信帯域を超えていると判定し、
前記更新部は、更新された前記モード情報が示す複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定部により判定された動作モードを削除することで、更新された前記モード情報を再更新し、
前記第一通信インタフェースは、更新された前記モード情報が再更新されると、前記USBデバイスとの接続を切断し、
前記出力部は、前記第一通信インタフェースが前記USBデバイスに再び接続すると、前記更新部により再更新された前記モード情報を、前記第二通信インタフェースを介して前記ホスト装置へ出力する、
ネットワークシステム。
The device server according to claim 1,
The host device transmits a signal to the USB device requesting the transmission of data;
In the device server,
the determination unit determines that the first communication band exceeds the second communication band 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 update unit re-updates the updated mode information by deleting an operation mode, from among the plurality of operation modes indicated by the updated mode information, for which it has been determined by the determination unit that the first communication band calculated for that operation mode exceeds the second communication band;
When the updated mode information is updated again, the first communication interface disconnects the connection with the USB device;
When the first communication interface is connected to the USB device again, the output unit outputs the mode information re-updated by the update unit to the host device via the second communication interface.
Network system.
USBデバイスへ接続し、前記USBデバイスと音声および映像の少なくとも一方のデータ通信を行う第一通信ステップと、
ホスト装置に接続する第二通信ステップと、
前記USBデバイスの複数の動作モードを示すモード情報を取得する取得ステップと、
前記取得ステップで取得された前記モード情報に基づいて、前記複数の動作モードのそれぞれについて、当該動作モードで前記USBデバイスが動作するときに前記USBデバイスとの通信に使用される第一通信帯域を算出し、かつ、前記ホスト装置との通信に使用可能な第二通信帯域を算出する算出ステップと、
前記算出ステップで算出された複数の前記第一通信帯域が前記第二通信帯域を超えるか否かを判定する判定ステップと、
前記複数の動作モードのうち、当該動作モードについて算出された前記第一通信帯域が前記第二通信帯域を超えると前記判定ステップで判定された動作モードを削除することで、前記モード情報を更新する更新ステップと、
前記更新ステップで更新された前記モード情報を前記ホスト装置へ出力する出力ステップと、
を含む、
デバイスサーバの制御方法。
a first communication step of connecting to a USB device and performing at least one of audio and video data communication 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 based on the mode information acquired in the acquisition step, a first communication bandwidth to be used for communication with the USB device when the USB device operates in that operation mode, and calculating a second communication bandwidth that can be used for communication with the host device;
a determination step of determining whether the plurality of first communication bands calculated in the calculation step exceed the second communication band;
an updating step of updating the mode information by deleting an operation mode, among the plurality of operation modes, for which it has been determined in the determining step that the first communication band calculated for that operation mode exceeds the second communication band;
an output step of outputting the mode information updated in the update step to the host device;
Including,
A method for controlling a device server.
請求項7に記載のデバイスサーバの制御方法をコンピュータに実行させる
プログラム。
A program that causes a computer to execute the device server control method according to claim 7.
JP2022138269A 2022-08-31 2022-08-31 Device server, network system, device server control method, and program Active JP7716107B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022138269A JP7716107B2 (en) 2022-08-31 2022-08-31 Device server, network system, device server control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022138269A JP7716107B2 (en) 2022-08-31 2022-08-31 Device server, network system, device server control method, and program

Publications (2)

Publication Number Publication Date
JP2024034188A JP2024034188A (en) 2024-03-13
JP7716107B2 true JP7716107B2 (en) 2025-07-31

Family

ID=90193776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022138269A Active JP7716107B2 (en) 2022-08-31 2022-08-31 Device server, network system, device server control method, and program

Country Status (1)

Country Link
JP (1) JP7716107B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044508A (en) 2010-08-20 2012-03-01 Alpine Electronics Inc Communication device
US20130254263A1 (en) 2012-03-22 2013-09-26 Electronics And Telecommunications Research Institute Method of transmitting data of usb device to server, and client terminal performing the method
JP2015135630A (en) 2014-01-17 2015-07-27 サイレックス・テクノロジー株式会社 USB device server
JP2015138526A (en) 2014-01-24 2015-07-30 サイレックス・テクノロジー株式会社 DEVICE INFORMATION DISPLAY DEVICE, DEVICE SERVER, DEVICE INFORMATION DISPLAY SYSTEM, DEVICE INFORMATION DISPLAY METHOD, AND PROGRAM
JP2016213541A (en) 2015-04-30 2016-12-15 サイレックス・テクノロジー株式会社 Repeating device performing communication band control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044508A (en) 2010-08-20 2012-03-01 Alpine Electronics Inc Communication device
US20130254263A1 (en) 2012-03-22 2013-09-26 Electronics And Telecommunications Research Institute Method of transmitting data of usb device to server, and client terminal performing the method
JP2015135630A (en) 2014-01-17 2015-07-27 サイレックス・テクノロジー株式会社 USB device server
JP2015138526A (en) 2014-01-24 2015-07-30 サイレックス・テクノロジー株式会社 DEVICE INFORMATION DISPLAY DEVICE, DEVICE SERVER, DEVICE INFORMATION DISPLAY SYSTEM, DEVICE INFORMATION DISPLAY METHOD, AND PROGRAM
JP2016213541A (en) 2015-04-30 2016-12-15 サイレックス・テクノロジー株式会社 Repeating device performing communication band control

Also Published As

Publication number Publication date
JP2024034188A (en) 2024-03-13

Similar Documents

Publication Publication Date Title
JP4211529B2 (en) Channel selection method and radio station and program used therefor
JP6107228B2 (en) Information processing apparatus, conference system, and program
EP4344259B1 (en) Session binding relationship processing method and apparatus, electronic device, and readable medium
CN118784474A (en) Baud rate adjustment method, device, equipment and storage medium
JP7716107B2 (en) Device server, network system, device server control method, and program
JPH08328970A (en) Log possessing system for equipment to be managed
JP2007172160A (en) USB communication device and method for switching communication speed
JP6969410B2 (en) In-vehicle relay device, relay method, information processing system, and vehicle
CN113821342B (en) Method, device, equipment and readable medium for balancing cluster websocket service load
US10284898B2 (en) Data distribution device and imaging apparatus
JP4715802B2 (en) Communications system
CN111614526A (en) A kind of HINOC link fast maintenance method, device, storage medium and terminal
JP2024007335A (en) Base station management system and method
JP2005223496A (en) Congestion control device, congestion control method and program
JP2008283373A (en) Facsimile machine
TW202038672A (en) Terminal device, communication system and communication method
JP2021129192A (en) Communication device, communication method, and program
CN116846791A (en) Connection switching method, device, electronic equipment and storage medium
KR200422878Y1 (en) Multi-hop based DWR multi access device
JP2005223545A (en) Data transmission equipment management device
JP6544468B2 (en) Wireless communication device
JP4086563B2 (en) Data transfer device
JP2006074279A (en) Communication method, and wireless apparatus and communication method utilizing the method
CN116866279A (en) A Shovel-based RabbitMQ queue horizontal expansion method and system
JP6662124B2 (en) Communication device, history information management method, and history information management program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250526

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20250526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250711

R150 Certificate of patent or registration of utility model

Ref document number: 7716107

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150