JP2010251854A - Communication system, terminal, program, and communication method - Google Patents

Communication system, terminal, program, and communication method Download PDF

Info

Publication number
JP2010251854A
JP2010251854A JP2009096240A JP2009096240A JP2010251854A JP 2010251854 A JP2010251854 A JP 2010251854A JP 2009096240 A JP2009096240 A JP 2009096240A JP 2009096240 A JP2009096240 A JP 2009096240A JP 2010251854 A JP2010251854 A JP 2010251854A
Authority
JP
Japan
Prior art keywords
communication path
communication
unit
usb device
terminal
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.)
Pending
Application number
JP2009096240A
Other languages
Japanese (ja)
Inventor
Le Thanh Man Cao
レタンマン カオ
Hiromi Isogawa
弘実 礒川
Makoto Kayashima
信 萱島
Masaya Umemura
雅也 梅村
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009096240A priority Critical patent/JP2010251854A/en
Publication of JP2010251854A publication Critical patent/JP2010251854A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for comfortably remotely controlling devices connected to a terminal using a USB via a network, depending on the importance of the devices. <P>SOLUTION: A plurality of communication channels are provided on a network in which a server 110 and a terminal 130 are connected to each other, and the server 110 transmits and receives information for controlling each of the USB devices 160 connected to the terminal 130 via a communication channel selected in accordance with the attributes of the USB device 160. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

USBを介して端末に接続されたデバイスを、ネットワークを介してサーバで制御する技術に関する。   The present invention relates to a technology for controlling a device connected to a terminal via USB by a server via a network.

電子計算機等の端末に様々な周辺機器(以下、デバイスという)を接続して情報処理が行われている。そして、デバイスを端末に接続する方法としては、USB(Universal Serial Bus)を利用する方法等がある。   Information processing is performed by connecting various peripheral devices (hereinafter referred to as devices) to a terminal such as an electronic computer. As a method for connecting the device to the terminal, there is a method using USB (Universal Serial Bus).

また、ネットワーク技術の向上により、ネットワークを用いて、USBを介して端末に接続されたデバイスを離れた場所にあるリモート計算機から接続する技術がある。例えば、非特許文献1では、USBを介して端末に接続されたデバイスを、ネットワーク上にあるリモート計算機で利用する技術が開示されている。   In addition, there is a technique for connecting a device connected to a terminal via a USB from a remote computer at a remote location by using a network due to an improvement in network technology. For example, Non-Patent Document 1 discloses a technique for using a device connected to a terminal via USB with a remote computer on a network.

“USB/IP : A Transparent Device Sharing Technology over IP Network”、 Hirofuchi Takahiro、 社団法人情報処理学会 情報処理学会論文誌 Vol.46、 No.SIG_12 (ACS_11) (20050815) pp. 349−361“USB / IP: A Transparent Device Sharing Technology over IP Network”, Hirofuchi Takahiro, Information Processing Society of Japan Information Processing Society of Japan Vol.46, No.SIG_12 (ACS_11) (20050815) pp. 349-361

非特許文献1に記載の技術は、USBを介して端末に接続されたデバイスを、ネットワークにあるリモート計算機で利用することができるようにしているが、ネットワークの混雑状況によりデバイスへの接続状況が左右され、例えば、複数のデバイスの中で利用者が重要と考えているデバイスが使用できない場合や、このようなデバイスでの処理が遅延する場合がある。   The technology described in Non-Patent Document 1 enables a device connected to a terminal via a USB to be used by a remote computer in the network. However, the connection status to the device depends on the network congestion status. For example, a device that is considered important by a user among a plurality of devices cannot be used, or processing on such a device may be delayed.

そこで、本発明は、端末にUSBを利用して接続されたデバイスを、デバイスの重要度に応じて、ネットワークを介して快適に遠隔操作する技術を提供することを目的とする。   Therefore, an object of the present invention is to provide a technology for comfortably remotely operating a device connected to a terminal using USB according to the importance of the device via a network.

以上の課題を解決するため、本発明は、端末とサーバとの間に複数の通信路を設けておき、USBデバイスを制御する情報を、当該USBデバイスの属性に対応して選択された通信路を用いて通信する。   In order to solve the above problems, the present invention provides a plurality of communication paths between a terminal and a server, and selects a communication path that selects information for controlling a USB device in accordance with the attribute of the USB device. Communicate using.

例えば、本発明は、USBデバイスが接続された端末と、当該端末とネットワークを介して通信を行うサーバと、を備え、前記サーバが、前記端末に接続された前記USBデバイスの制御を行う通信システムであって、前記サーバの制御部及び前記端末の制御部は、前記USBデバイスの属性に応じて、前記端末と前記サーバとの間に複数の通信路を設け、前記サーバの制御部及び前記端末の制御部は、前記USBデバイスの制御に用いる情報を、前記USBデバイスの属性に対応する通信路を選択して、送受信すること、を特徴とする。   For example, the present invention includes a terminal to which a USB device is connected and a server that communicates with the terminal via a network, and the server controls the USB device connected to the terminal. The control unit of the server and the control unit of the terminal provide a plurality of communication paths between the terminal and the server according to the attribute of the USB device, and the control unit of the server and the terminal The control unit selects and transmits information used for controlling the USB device by selecting a communication path corresponding to the attribute of the USB device.

以上のように、本発明によれば、本発明は、端末にUSBを利用して接続されたデバイスを、デバイスの重要度に応じて、ネットワークを介して快適に遠隔操作する技術を提供することができる。   As described above, according to the present invention, the present invention provides a technique for comfortably remotely operating a device connected to a terminal using USB according to the importance of the device via a network. Can do.

通信システムの概略図。1 is a schematic diagram of a communication system. サーバの概略図。Schematic diagram of the server. コンピュータの概略図。Schematic diagram of a computer. 端末の概略図。Schematic diagram of the terminal. リモート通信部及びローカル通信部を介してUSBデバイスを利用する際の情報の流れを示す概略図。Schematic which shows the flow of the information at the time of utilizing a USB device via a remote communication part and a local communication part. Cont通信路リモート制御部と、Cont通信路ローカル制御部と、の間で情報の送受信を行う際の流れを示す概略図。Schematic which shows the flow at the time of performing transmission / reception of information between a Cont channel remote control part and a Cont channel local control part. Int通信路リモート制御部と、Int通信路ローカル制御部と、の間で情報の送受信を行う際の流れを示す概略図。Schematic which shows the flow at the time of transmitting / receiving information between an Int communication path remote control part and an Int communication path local control part. Iso通信路リモート制御部と、Iso通信路ローカル制御部と、の間で情報の送受信を行う際の流れを示す概略図。Schematic which shows the flow at the time of performing transmission / reception of information between an Iso communication path remote control part and an Iso communication path local control part. Bulk通信路リモート制御部と、Bulk通信路ローカル制御部と、の間で情報の送受信を行う際の流れを示す概略図。Schematic which shows the flow at the time of performing transmission / reception of information between a Bulk communication path remote control part and a Bulk communication path local control part. PDUの概略図。Schematic of PDU. 通信システムにおいて、サーバが端末に接続されているUSBデバイスを利用する際の全体的な処理を示すフローチャート。5 is a flowchart showing overall processing when a server uses a USB device connected to a terminal in a communication system. 通信路間の優先順位及びUSBデバイスの優先度の調整処理を示すシーケンス図。The sequence diagram which shows the adjustment process of the priority between communication paths and the priority of a USB device. 通信管理画面の概略図。Schematic of a communication management screen. サーバ用の通信管理情報テーブルの概略図。Schematic of the communication management information table for servers. 端末用の通信管理情報テーブルの概略図。Schematic of the communication management information table for terminals. 端末に接続されたUSBデバイスを使って、サーバのアプリ処理部がアプリケーションによる処理を実行する際の情報の流れを示すシーケンス図。The sequence diagram which shows the flow of information when the application process part of a server performs the process by an application using the USB device connected to the terminal. Int通信路ローカル制御部のデータパケット送信部での処理を示すフローチャート。The flowchart which shows the process in the data packet transmission part of an Int communication path local control part. Iso通信路ローカル制御部のデータパケット送信部での処理を示すフローチャート。The flowchart which shows the process in the data packet transmission part of an Iso communication path local control part. 端末用の通信管理情報テーブルにおいて、優先順位Aが選択されている際のローカル通信部での処理を示すシーケンス図。The sequence diagram which shows the process in the local communication part when the priority A is selected in the communication management information table for terminals. 端末用の通信管理情報テーブルにおいて、優先順位Bが選択されている際のローカル通信部での処理を示すシーケンス図。The sequence diagram which shows the process in the local communication part when the priority order B is selected in the communication management information table for terminals. 通信システムの稼働中に、新しいUSBデバイスが端末に接続された場合の処理を示すシーケンス図。The sequence diagram which shows a process when a new USB device is connected to the terminal during the operation of the communication system. 通信システムの稼働中に、端末に接続されているUSBデバイスが取り外された場合の処理を示すシーケンス図。The sequence diagram which shows a process when the USB device connected to the terminal is removed during operation | movement of a communication system. 通信システムの稼働中に、ネットワークが切断された場合の処理を示すシーケンス図。The sequence diagram which shows a process when a network is cut | disconnected during operation | movement of a communication system.

図1は、本発明の一実施形態である通信システム100の概略図である。図示するように、通信システム100は、サーバ110と、端末130と、端末130に接続されたUSBデバイス160と、を備え、サーバ110及び端末130は、ネットワーク170を介して相互に情報の送受信を行うことができるようにされており、サーバ110は、ネットワーク170を介して、端末130に接続されたUSBデバイス160を利用することができるようにされている。   FIG. 1 is a schematic diagram of a communication system 100 according to an embodiment of the present invention. As illustrated, the communication system 100 includes a server 110, a terminal 130, and a USB device 160 connected to the terminal 130. The server 110 and the terminal 130 transmit and receive information to and from each other via a network 170. The server 110 can use the USB device 160 connected to the terminal 130 via the network 170.

図2は、サーバ110の概略図である。図示するように、サーバ110は、記憶部111と、制御部115と、通信部127と、を備える。   FIG. 2 is a schematic diagram of the server 110. As illustrated, the server 110 includes a storage unit 111, a control unit 115, and a communication unit 127.

記憶部111は、USBデバイス情報記憶領域112と、通信管理情報記憶領域113と、を備える。   The storage unit 111 includes a USB device information storage area 112 and a communication management information storage area 113.

USBデバイス情報記憶領域112には、USBデバイス160から送られてくるデバイスの属性を特定するUSBデバイス情報が記憶される。例えば、本実施形態においては、エニュメレーションによって得られたUSBデバイス160の属性を特定する情報が、USBデバイス160毎に記憶される。   In the USB device information storage area 112, USB device information that specifies device attributes sent from the USB device 160 is stored. For example, in the present embodiment, information specifying the attribute of the USB device 160 obtained by enumeration is stored for each USB device 160.

通信管理情報記憶領域113には、サーバ110と端末130との間で確立される通信路の優先度と、各々の通信路において各々のUSBデバイス160に割り当てる帯域と、を特定する通信管理情報が記憶される。なお、通信管理情報の詳細については、図14を用いて詳細に説明する。   In the communication management information storage area 113, communication management information specifying the priority of the communication path established between the server 110 and the terminal 130 and the bandwidth allocated to each USB device 160 in each communication path. Remembered. Details of the communication management information will be described in detail with reference to FIG.

制御部115は、全体制御部116と、アプリ処理部117と、通信管理部118と、クラスドライバ処理部119と、リモート通信部120と、TCP/IPスタック処理部126と、を備える。   The control unit 115 includes an overall control unit 116, an application processing unit 117, a communication management unit 118, a class driver processing unit 119, a remote communication unit 120, and a TCP / IP stack processing unit 126.

全体制御部116は、サーバ110での処理の全体を制御する。   The overall control unit 116 controls the entire processing in the server 110.

アプリ処理部117は、サーバ110で動作するアプリケーションを制御する。   The application processing unit 117 controls applications that run on the server 110.

通信管理部118は、サーバ110で行う通信処理を制御する。   The communication management unit 118 controls communication processing performed by the server 110.

例えば、本実施形態においては、後述するように、図13に示すような通信管理画面を端末130に送信し、端末130との間の通信路の優先順位と、USBデバイス160の優先度と、の入力を受け付け、入力を受け付けた優先度に応じて、サーバ110用の通信管理情報と、端末130用の通信管理情報と、を生成し、サーバ110用の通信管理情報は通信管理情報記憶領域113に記憶し、端末130用の通信管理情報は端末130に送信する処理を行う。   For example, in the present embodiment, as will be described later, a communication management screen as shown in FIG. 13 is transmitted to the terminal 130, the priority of the communication path with the terminal 130, the priority of the USB device 160, And the communication management information for the server 110 and the communication management information for the terminal 130 are generated according to the priority of the received input. The communication management information for the server 110 is a communication management information storage area. 113, the communication management information for the terminal 130 is transmitted to the terminal 130.

さらに、通信管理部118は、通信管理情報記憶領域113に記憶されている通信管理情報に従って、USBデバイス160との間の通信の通信管理を行う。   Furthermore, the communication management unit 118 performs communication management of communication with the USB device 160 according to the communication management information stored in the communication management information storage area 113.

クラスドライバ処理部119は、アプリ処理部117で制御されているアプリケーションとUSBデバイス160との間の情報の送受信を制御する。   The class driver processing unit 119 controls transmission / reception of information between the application controlled by the application processing unit 117 and the USB device 160.

リモート通信部120は、USBデバイス160の属性に応じて、端末130との間で確立された四つの通信路から、使用する通信路を選択し、当該通信路を使用するUSBデバイス160間の優先度に応じた帯域で、通信を行う処理を制御する。   The remote communication unit 120 selects a communication path to be used from the four communication paths established with the terminal 130 according to the attribute of the USB device 160, and gives priority to the USB devices 160 that use the communication path. Controls communication processing in a band according to the degree.

TCP/IPスタック処理部126は、トランスポートプロトコル(TCPやUDP)及びソケットプログラム(プログラムとトランスポートプロトコル)等、通信部127を介して情報をネットワーク170に送受信する処理を制御する。   The TCP / IP stack processing unit 126 controls processing for transmitting and receiving information to and from the network 170 via the communication unit 127, such as a transport protocol (TCP or UDP) and a socket program (program and transport protocol).

通信部127は、ネットワーク170を介した情報の送受信を行う。   The communication unit 127 transmits and receives information via the network 170.

以上に記載したサーバ110は、例えば、図3(コンピュータ900の概略図)に示すような、CPU(Central Processing Unit)901と、メモリ902と、HDD(Hard Disk Drive)等の外部記憶装置903と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体904に対して情報を読み書きする読書装置905と、キーボードやマウスなどの入力装置906と、ディスプレイなどの出力装置907と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置908と、を備えた一般的なコンピュータ900で実現できる。   The server 110 described above includes, for example, a CPU (Central Processing Unit) 901, a memory 902, and an external storage device 903 such as an HDD (Hard Disk Drive) as shown in FIG. 3 (schematic diagram of the computer 900). , A reading device 905 for reading / writing information from / to a portable storage medium 904 such as a CD (Compact Disk) or a DVD (Digital Versatile Disk), an input device 906 such as a keyboard or a mouse, and an output device 907 such as a display. And a general computer 900 including a communication device 908 such as a NIC (Network Interface Card) for connecting to a communication network.

例えば、記憶部111は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部115は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、通信部127は、CPU901が通信装置908を利用することで実現可能である。   For example, the storage unit 111 can be realized by the CPU 901 using the memory 902 or the external storage device 903, and the control unit 115 loads a predetermined program stored in the external storage device 903 into the memory 902. The communication unit 127 can be realized by the CPU 901 using the communication device 908.

この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。   The predetermined program is downloaded from the storage medium 904 via the reading device 905 or from the network via the communication device 908 to the external storage device 903, and then loaded onto the memory 902 and executed by the CPU 901. You may do it. Alternatively, the program may be directly loaded on the memory 902 from the storage medium 904 via the reading device 905 or from the network via the communication device 908 and executed by the CPU 901.

図4は、端末130の概略図である。図示するように、端末130は、記憶部131と、制御部136と、通信部151と、I/F部152と、を備える。   FIG. 4 is a schematic diagram of the terminal 130. As illustrated, the terminal 130 includes a storage unit 131, a control unit 136, a communication unit 151, and an I / F unit 152.

記憶部131は、USBデバイス情報記憶領域132と、通信管理情報記憶領域133と、サーバ接続情報記憶領域134と、を備える。   The storage unit 131 includes a USB device information storage area 132, a communication management information storage area 133, and a server connection information storage area 134.

USBデバイス情報記憶領域132には、USBデバイス160から送られてくるデバイスの属性を特定するUSBデバイス情報が記憶される。例えば、本実施形態においては、エニュメレーションによって得られたUSBデバイス160の属性を特定する情報が、USBデバイス160毎に記憶される。   In the USB device information storage area 132, USB device information that specifies device attributes sent from the USB device 160 is stored. For example, in the present embodiment, information specifying the attribute of the USB device 160 obtained by enumeration is stored for each USB device 160.

通信管理情報記憶領域133には、サーバ110と端末130との間で確立される通信路の優先度と、各々の通信路において各々のUSBデバイス160に割り当てる帯域と、を特定する通信管理情報が記憶される。なお、通信管理情報の詳細については、図15を用いて詳細に説明する。   In the communication management information storage area 133, communication management information specifying the priority of the communication path established between the server 110 and the terminal 130 and the bandwidth allocated to each USB device 160 in each communication path. Remembered. Details of the communication management information will be described in detail with reference to FIG.

サーバ接続情報記憶領域134には、サーバ110との間で四つの通信路を確立するための接続情報が格納される。例えば、サーバ110のIPアドレス、サーバ110のリモート通信部120が通信に利用するポート番号、等が記憶される。   The server connection information storage area 134 stores connection information for establishing four communication paths with the server 110. For example, the IP address of the server 110, the port number used by the remote communication unit 120 of the server 110 for communication, and the like are stored.

制御部136は、全体制御部137と、端末管理アプリ処理部138と、切替制御部139と、通信管理部140と、クラスドライバ処理部141と、USBシステム制御部142と、ローカル通信部143と、TCP/IPスタック処理部149と、を備える。   The control unit 136 includes an overall control unit 137, a terminal management application processing unit 138, a switching control unit 139, a communication management unit 140, a class driver processing unit 141, a USB system control unit 142, and a local communication unit 143. And a TCP / IP stack processing unit 149.

全体制御部137は、端末130での処理の全体を制御する。   The overall control unit 137 controls the entire processing at the terminal 130.

端末管理アプリ処理部138は、端末130で動作するアプリケーションを制御する。   The terminal management application processing unit 138 controls applications that run on the terminal 130.

切替制御部139は、USBデバイス160を、サーバ110で利用するか、端末130で利用するか、を切り替える処理を行う。例えば、本実施形態においては、USBデバイス160を用いた処理で使用する情報を、USBシステム制御部142とクラスドライバ処理部141との間で送受信するか、USBシステム制御部142とローカル通信部143との間で送受信するか、を切り替える。   The switching control unit 139 performs processing for switching whether the USB device 160 is used by the server 110 or the terminal 130. For example, in this embodiment, information used in processing using the USB device 160 is transmitted and received between the USB system control unit 142 and the class driver processing unit 141, or the USB system control unit 142 and the local communication unit 143 are transmitted. Switch between sending and receiving.

通信管理部140は、端末130で行う通信処理を制御する。   The communication management unit 140 controls communication processing performed by the terminal 130.

例えば、本実施形態においては、サーバ110より送信されてくる通信管理情報を通信管理情報記憶領域133に記憶し、通信管理情報記憶領域113に記憶されている通信管理情報に従って、サーバ110との間の通信の通信管理を行う。   For example, in the present embodiment, the communication management information transmitted from the server 110 is stored in the communication management information storage area 133, and the communication with the server 110 is performed according to the communication management information stored in the communication management information storage area 113. Management of communication of.

クラスドライバ処理部141は、端末管理アプリ処理部138で制御されるアプリケーションと、USBデバイス160と、の間の情報の送受信を制御する。   The class driver processing unit 141 controls transmission / reception of information between the application controlled by the terminal management application processing unit 138 and the USB device 160.

USBシステム制御部142は、後述するI/F部152に接続されているUSBデバイス160を制御する。   The USB system control unit 142 controls the USB device 160 connected to the I / F unit 152 described later.

ローカル通信部143は、USBデバイス160の属性に応じて、サーバ110との間で確立された四つの通信路から、使用する通信路を選択し、当該通信路を使用するUSBデバイス160間の優先度に応じた帯域で、通信を行う処理を制御する。   The local communication unit 143 selects a communication path to be used from the four communication paths established with the server 110 according to the attributes of the USB device 160, and gives priority to the USB devices 160 that use the communication path. Controls communication processing in a band according to the degree.

TCP/IPスタック処理部149は、トランスポートプロトコル(TCPやUDP)及びソケットプログラム(プログラムとトランスポートプロトコル)等に従って、通信部151を介して情報をネットワーク170に送受信する処理を制御する。   The TCP / IP stack processing unit 149 controls processing for transmitting and receiving information to and from the network 170 via the communication unit 151 in accordance with a transport protocol (TCP or UDP), a socket program (program and transport protocol), and the like.

以上に記載した端末130は、例えば、図3に示すような一般的なコンピュータ900で実現できる。   The terminal 130 described above can be realized by, for example, a general computer 900 as shown in FIG.

例えば、記憶部131は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部136は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、通信部151は、CPU901が通信装置908を利用することで実現可能であり、I/F部152は、CPU901がUSBインタフェース909を利用することで実現可能である。   For example, the storage unit 131 can be realized by the CPU 901 using the memory 902 or the external storage device 903, and the control unit 136 loads a predetermined program stored in the external storage device 903 into the memory 902. The communication unit 151 can be realized by using the communication device 908 by the CPU 901, and the I / F unit 152 can be realized by using the USB interface 909 by the CPU 901. It is.

この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。   The predetermined program is downloaded from the storage medium 904 via the reading device 905 or from the network via the communication device 908 to the external storage device 903, and then loaded onto the memory 902 and executed by the CPU 901. You may do it. Alternatively, the program may be directly loaded on the memory 902 from the storage medium 904 via the reading device 905 or from the network via the communication device 908 and executed by the CPU 901.

図1に戻り、USBデバイス160は、例えば、監視カメラ161、通帳繰越記帳機162、静脈認証デバイス163、モニタ164、マウス165及びキーボード166等が含まれるがこのような態様に限定されるものではない。   Returning to FIG. 1, the USB device 160 includes, for example, a monitoring camera 161, a passbook carry-over book machine 162, a vein authentication device 163, a monitor 164, a mouse 165, a keyboard 166, etc., but is not limited to such a mode. Absent.

図5は、リモート通信部120及びローカル通信部143を介してUSBデバイス160を利用する際の情報の流れを示す概略図である。   FIG. 5 is a schematic diagram illustrating a flow of information when the USB device 160 is used via the remote communication unit 120 and the local communication unit 143.

リモート通信部120及びローカル通信部143は、TCP/IPスタック処理部126及びTCP/IPスタック処理部149を用いて、クラスドライバ処理部119と、USBシステム制御部142と、の間の情報の送受信を中継する機能を備える。   The remote communication unit 120 and the local communication unit 143 use the TCP / IP stack processing unit 126 and the TCP / IP stack processing unit 149 to transmit and receive information between the class driver processing unit 119 and the USB system control unit 142. It has a function to relay.

まず、クラスドライバ処理部119及びUSBシステム制御部142は、USBドライバインタフェースにより決められたURB(USB Request Block)という構造体を用いて情報を送受信する。   First, the class driver processing unit 119 and the USB system control unit 142 transmit and receive information using a structure called URB (USB Request Block) determined by the USB driver interface.

URBは、クラスドライバ処理部119がUSBデバイス160とやり取りする情報を格納し、USBシステム制御部142は、URB内の情報の転送を実行する。   The URB stores information that the class driver processing unit 119 exchanges with the USB device 160, and the USB system control unit 142 executes transfer of information in the URB.

URBには、クラスドライバ処理部119と情報のやり取りを行うUSBデバイス160のID及びUSBデバイス160のエンドポイントに関する情報が含まれる。USBデバイス160のIDとは、各々のUSBデバイス160を区別するためにUSBシステム制御部142がそれぞれのUSBデバイス160に割り当てる番号である。また、エンドポイントは、USBデバイス160との間でやりとりを行う情報のためバッファのことである。   The URB includes information regarding the ID of the USB device 160 that exchanges information with the class driver processing unit 119 and the endpoint of the USB device 160. The ID of the USB device 160 is a number assigned to each USB device 160 by the USB system control unit 142 to distinguish each USB device 160. The end point is a buffer for information exchanged with the USB device 160.

エンドポイントは、エンドポイントとクラスドライバ処理部119の間で送受信する方法により、次の4つのタイプに分別される。   The endpoints are classified into the following four types according to the method of transmitting and receiving between the endpoints and the class driver processing unit 119.

(1)コントロール転送(Control transfer):デバイスセットアップ、設定パラメータの転送に用いられる。各々のデバイスに一つのコントロール転送用のエンドポイントが存在する。   (1) Control transfer: used for device setup and setting parameter transfer. There is one control transfer endpoint for each device.

(2)インタラプト転送(Interrupt transfer):緊急度の高い小容量データの定周期な転送に用いられる。マウスやキーボードなどのHiDに使われる。   (2) Interrupt transfer: Used for periodic transfer of small data with high urgency. Used for HiD such as mouse and keyboard.

(3)アイソクロナス転送(Isochronous transfer):一定時間内のデータ量が保証された転送で、音声などのリアルタイムな転送に使われる。データが転送中に損失しても再送を行わない特徴がある。   (3) Isochronous transfer: A transfer in which the amount of data within a certain time is guaranteed, and is used for real-time transfer of voice and the like. There is a feature that retransmission is not performed even if data is lost during transfer.

(4)バルク転送(Bulk transfer):大容量データの一括高信頼転送で、記憶装置、スキャナなどの大容量高速データの転送に用いられる。   (4) Bulk transfer: Bulk high-reliability transfer of large-capacity data, which is used for transfer of large-capacity high-speed data such as storage devices and scanners.

そして、リモート通信部120は、リモートURB振分部121と、Cont通信路リモート制御部122と、Int通信路リモート制御部123と、Iso通信路リモート制御部124と、Bulk通信路リモート制御部125と、を備える。   The remote communication unit 120 includes a remote URB distribution unit 121, a Cont channel remote control unit 122, an Int channel remote control unit 123, an Iso channel remote control unit 124, and a Bulk channel remote control unit 125. And comprising.

リモートURB振分部121は、クラスドライバ処理部119から受け取ったURBに含まれるエンドポイントを特定する情報に従って、コントロール転送のURBはCont通信路リモート制御部122に、インタラプト転送のURBはInt通信路リモート制御部123に、アイソクロナス転送のURBはIso通信路リモート制御部124に、バルク転送のURBはBulk通信路リモート制御部125に、出力する。   In accordance with the information specifying the endpoint included in the URB received from the class driver processing unit 119, the remote URB distribution unit 121 sends the control transfer URB to the Cont communication path remote control unit 122, and the interrupt transfer URB sets the Int communication path. The remote control unit 123 outputs the isochronous transfer URB to the Iso communication channel remote control unit 124 and the bulk transfer URB to the Bulk communication channel remote control unit 125.

また、リモートURB振分部121は、Cont通信路リモート制御部122、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125から受け取ったURBをクラスドライバ処理部119に出力する。   In addition, the remote URB distribution unit 121 is a class driver processing unit that receives the URBs received from the Cont channel remote control unit 122, the Int channel remote control unit 123, the Iso channel remote control unit 124, and the Bulk channel remote control unit 125. It outputs to 119.

Cont通信路リモート制御部122は、後述するローカル通信部143のCont通信路ローカル制御部145との間でCont通信路171を用いて、情報の送受信を行う。   The Cont communication channel remote control unit 122 transmits and receives information to and from the Cont communication channel local control unit 145 of the local communication unit 143 to be described later using the Cont communication channel 171.

Int通信路リモート制御部123は、後述するローカル通信部143のInt通信路ローカル制御部146との間でInt通信路172を用いて、情報の送受信を行う。   The Int communication path remote control unit 123 transmits and receives information to and from the Int communication path local control unit 146 of the local communication unit 143 described later using the Int communication path 172.

Iso通信路リモート制御部124は、後述するローカル通信部143のIso通信路ローカル制御部147との間でIso通信路173を用いて、情報の送受信を行う。   The Iso communication channel remote control unit 124 transmits / receives information to / from the Iso communication channel local control unit 147 of the local communication unit 143 described later using the Iso communication channel 173.

Bulk通信路リモート制御部125は、後述するローカル通信部143のBulk通信路ローカル制御部148との間でBulk通信路174を用いて、情報の送受信を行う。   The Bulk communication path remote control unit 125 transmits and receives information to and from the Bulk communication path local control unit 148 of the local communication unit 143 described later using the Bulk communication path 174.

なお、Cont通信路リモート制御部122、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125の詳細は、図6〜9を用いて説明する。   Details of the Cont channel remote controller 122, the Int channel remote controller 123, the Iso channel remote controller 124, and the Bulk channel remote controller 125 will be described with reference to FIGS.

ローカル通信部143は、ローカルURB振分部144と、Cont通信路ローカル制御部145と、Int通信路ローカル制御部146と、Iso通信路ローカル制御部147と、Bulk通信路ローカル制御部148と、を備える。   The local communication unit 143 includes a local URB distribution unit 144, a Cont communication channel local control unit 145, an Int communication channel local control unit 146, an Iso communication channel local control unit 147, a Bulk communication channel local control unit 148, Is provided.

ローカルURB振分部144は、USBシステム制御部142から受け取ったURBに含まれるエンドポイントを特定する情報に従って、コントロール転送のURBはCont通信路ローカル制御部145に、インタラプト転送のURBはInt通信路ローカル制御部146に、アイソクロナス転送のURBはIso通信路ローカル制御部147に、バルク転送のURBはBulk通信路ローカル制御部148に、出力する。   In accordance with the information specifying the endpoint included in the URB received from the USB system control unit 142, the local URB allocating unit 144 sends the control transfer URB to the Cont communication path local control unit 145, and the interrupt transfer URB sets the Int communication path. The local control unit 146 outputs the isochronous transfer URB to the Iso communication channel local control unit 147 and the bulk transfer URB to the Bulk communication channel local control unit 148.

また、ローカルURB振分部144は、Cont通信路ローカル制御部145、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148から受け取ったURBをUSBシステム制御部142に出力する。   In addition, the local URB distribution unit 144 is a USB system control unit that receives the URBs received from the Cont channel local controller 145, the Int channel local controller 146, the Iso channel local controller 147, and the Bulk channel local controller 148. 142.

Cont通信路ローカル制御部145は、リモート通信部120のCont通信路リモート制御部122との間でCont通信路171を用いて、情報の送受信を行う。   The Cont communication path local control unit 145 transmits and receives information to and from the Cont communication path remote control unit 122 of the remote communication unit 120 using the Cont communication path 171.

Int通信路ローカル制御部146は、リモート通信部120のInt通信路リモート制御部123との間でInt通信路172を用いて、情報の送受信を行う。   The Int communication path local control unit 146 transmits and receives information to and from the Int communication path remote control unit 123 of the remote communication unit 120 using the Int communication path 172.

Iso通信路ローカル制御部147は、リモート通信部120のIso通信路リモート制御部124との間でIso通信路173を用いて、情報の送受信を行う。   The Iso communication path local control unit 147 transmits and receives information to and from the Iso communication path remote control unit 124 of the remote communication unit 120 using the Iso communication path 173.

Bulk通信路ローカル制御部148は、リモート通信部120のBulk通信路リモート制御部125との間でBulk通信路174を用いて、情報の送受信を行う。   The Bulk communication path local control unit 148 transmits and receives information to and from the Bulk communication path remote control unit 125 of the remote communication unit 120 using the Bulk communication path 174.

なお、Cont通信路ローカル制御部145、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148の詳細は、図6〜9を用いて説明する。   Details of the Cont channel local controller 145, the Int channel local controller 146, the Iso channel local controller 147, and the Bulk channel local controller 148 will be described with reference to FIGS.

図6は、Cont通信路リモート制御部122と、Cont通信路ローカル制御部145と、の間で情報の送受信を行う際の流れを示す概略図である。   FIG. 6 is a schematic diagram illustrating a flow when information is transmitted / received between the Cont channel remote control unit 122 and the Cont channel local control unit 145.

Cont通信路リモート制御部122は、URB受信部122aと、送信バッファ122bと、データパケット送信部122cと、データパケット受信部122dと、受信バッファ122eと、URB送信部122fと、通信管理情報中継部122gと、を備える。   The Cont channel remote control unit 122 includes a URB reception unit 122a, a transmission buffer 122b, a data packet transmission unit 122c, a data packet reception unit 122d, a reception buffer 122e, a URB transmission unit 122f, and a communication management information relay unit. 122g.

URB受信部122aは、リモートURB振分部121よりCont通信路171を介して送信するURBを受信し、URBに含まれる情報を分割して図10(PDU190の概略図)に示すようなPDU(Program Data Unit)190を生成し、送信バッファ122bに出力する。   The URB receiving unit 122a receives the URB transmitted from the remote URB allocating unit 121 via the Cont communication path 171 and divides the information included in the URB to PDU (schematic diagram of the PDU 190) as shown in FIG. Program Data Unit) 190 is generated and output to the transmission buffer 122b.

ここで、PDUは、URBをIPのネットワーク170に送信する際に、URBをキャップセルするための構造体である。   Here, the PDU is a structure for capcelling the URB when transmitting the URB to the IP network 170.

図10に示すようにPDUは、データ格納領域190aと、データサイズ格納領域190bと、PDUシーケンス格納領域190cと、URBシーケンス格納領域190dと、を有する。   As shown in FIG. 10, the PDU has a data storage area 190a, a data size storage area 190b, a PDU sequence storage area 190c, and a URB sequence storage area 190d.

データ格納領域190aには、送信するURB又は送信するURBを分割したデータが格納される。   In the data storage area 190a, the URB to be transmitted or the data obtained by dividing the URB to be transmitted is stored.

データサイズ格納領域190bには、データ格納領域190aに格納した情報のデータサイズが格納される。なお、PDU全体サイズは、1460バイト以外の値でもよい。   The data size storage area 190b stores the data size of the information stored in the data storage area 190a. Note that the PDU overall size may be a value other than 1460 bytes.

PDUシーケンス格納領域190cには、データ格納領域190aに格納された分割されたデータが、送信するURBの中の何番目のデータであるか(何番目のPDUであるか)を特定する情報が格納される。   The PDU sequence storage area 190c stores information for specifying what number of data in the URB to be transmitted (which number of PDUs) the divided data stored in the data storage area 190a stores. Is done.

URBシーケンス格納領域190dには、PDUが転送するURBを識別するための識別情報を特定する情報が格納される。   In the URB sequence storage area 190d, information specifying identification information for identifying the URB transferred by the PDU is stored.

なお、PDU全体のサイズはLAN(ローカルエリアネットワーク)で送信する場合でもフラグメンテーションが起こらないように1460バイトとする。ただし、URBの容量が少なく、PDUのサイズが1460バイトに達しない場合はURBの容量に合わせてPDUを作成すればよい。   Note that the size of the entire PDU is 1460 bytes so that fragmentation does not occur even when transmitted over a LAN (local area network). However, if the URB capacity is small and the PDU size does not reach 1460 bytes, the PDU may be created in accordance with the URB capacity.

送信バッファ122bは、URB受信部122aで生成されたPDUを一時的に格納する。   The transmission buffer 122b temporarily stores the PDU generated by the URB reception unit 122a.

データパケット送信部122cは、送信バッファ122bに格納されているPDUを予め定められた順番で読み出し、Cont通信路171を介して送信する。   The data packet transmission unit 122c reads out the PDUs stored in the transmission buffer 122b in a predetermined order and transmits the PDUs via the Cont communication path 171.

データパケット受信部122dは、Cont通信路171を介して送信されたPDUを受信し、受信バッファ122eに格納する処理を行う。   The data packet reception unit 122d performs a process of receiving the PDU transmitted via the Cont communication path 171 and storing it in the reception buffer 122e.

受信バッファ122eは、データパケット受信部122dから受け取ったPDUを一時的に格納する。   The reception buffer 122e temporarily stores the PDU received from the data packet reception unit 122d.

URB送信部122fは、受信バッファ122eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。   The URB transmission unit 122f combines the URB by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 122e, and the remote URB distribution unit 121 Output to.

通信管理情報中継部122gは、通信管理部118が生成した端末用の通信管理情報を、Cont通信路171を介して送信する。   The communication management information relay unit 122g transmits the communication management information for the terminal generated by the communication management unit 118 via the Cont communication path 171.

Cont通信路ローカル制御部145は、URB受信部145aと、送信バッファ145bと、データパケット送信部145cと、データパケット受信部145dと、受信バッファ145eと、URB送信部145fと、通信管理情報中継部145gと、を備える。   The Cont channel local control unit 145 includes a URB reception unit 145a, a transmission buffer 145b, a data packet transmission unit 145c, a data packet reception unit 145d, a reception buffer 145e, a URB transmission unit 145f, and a communication management information relay unit. 145g.

URB受信部145aは、ローカルURB振分部144よりCont通信路171を介して送信するURBを受信し、URBに含まれる情報を分割して図10に示すようなPDU190を生成し、送信バッファ145bに出力する。   The URB receiving unit 145a receives the URB to be transmitted from the local URB allocating unit 144 via the Cont communication path 171 and divides the information included in the URB to generate the PDU 190 as shown in FIG. 10, and the transmission buffer 145b. Output to.

送信バッファ145bは、URB受信部145aで生成されたPDUを一時的に格納する。   The transmission buffer 145b temporarily stores the PDU generated by the URB reception unit 145a.

データパケット送信部145cは、送信バッファ145bに格納されているPDUを予め定められた順番で読み出し、Cont通信路171を介して送信する。   The data packet transmission unit 145c reads out the PDUs stored in the transmission buffer 145b in a predetermined order and transmits the PDUs via the Cont communication path 171.

データパケット受信部145dは、Cont通信路171を介して送信されたPDUを受信し、受信バッファ145eに格納する処理を行う。   The data packet receiving unit 145d receives the PDU transmitted via the Cont communication path 171 and stores it in the reception buffer 145e.

データパケット受信部145dは、Cont通信路171を介して受信した情報が端末用の通信管理情報である場合には、通信管理情報中継部145gに出力する。   When the information received via the Cont communication path 171 is the communication management information for the terminal, the data packet receiving unit 145d outputs the data packet receiving unit 145d to the communication management information relay unit 145g.

受信バッファ145eは、データパケット受信部145dから受け取ったPDUを一時的に格納する。   The reception buffer 145e temporarily stores the PDU received from the data packet reception unit 145d.

URB送信部145fは、受信バッファ145eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。   The URB transmission unit 145f combines the URBs by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 145e, and the local URB distribution unit 144 Output to.

通信管理情報中継部145gは、リモート通信部120から送られてきた端末用の通信管理情報や通信管理情報の変更通知を受信し、通信管理部140に出力する。   The communication management information relay unit 145g receives the communication management information for the terminal and the change notification of the communication management information sent from the remote communication unit 120, and outputs them to the communication management unit 140.

なお、Cont通信路171は、サーバ110と、端末130と、の間に張る一つのTCP(Transmission Control Protocol)セッションである。   The Cont communication path 171 is one TCP (Transmission Control Protocol) session established between the server 110 and the terminal 130.

図7は、Int通信路リモート制御部123と、Int通信路ローカル制御部146と、の間で情報の送受信を行う際の流れを示す概略図である。   FIG. 7 is a schematic diagram illustrating a flow when information is transmitted / received between the Int communication path remote control unit 123 and the Int communication path local control unit 146.

Int通信路リモート制御部123は、URB受信部123aと、送信バッファ123bと、データパケット送信部123cと、データパケット受信部123dと、受信バッファ123eと、URB送信部123fと、通信路間協調部123gと、再送部123hと、を備える。   Int communication channel remote control unit 123 includes URB reception unit 123a, transmission buffer 123b, data packet transmission unit 123c, data packet reception unit 123d, reception buffer 123e, URB transmission unit 123f, and inter-channel coordination unit 123g and a retransmission unit 123h.

URB受信部123aは、リモートURB振分部121よりInt通信路172を介して送信するURBを受信し、URBに含まれる情報を(必要な場合には分割して)図10に示すようなPDU190を生成し、送信バッファ123bに出力する。   The URB receiving unit 123a receives the URB transmitted from the remote URB allocating unit 121 via the Int communication path 172, and divides the information included in the URB (divided when necessary) as shown in FIG. And output to the transmission buffer 123b.

なお、URB受信部123aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ123bの記憶領域に当該URBから生成されたPDUを格納する。   The URB reception unit 123a identifies the USB device 160 that transmits information from the URB received from the remote URB distribution unit 121, and generates the URB in the storage area of the transmission buffer 123b corresponding to the identified USB device 160. Stored PDUs.

送信バッファ123bは、URB受信部123aで生成されたPDUを一時的に格納する。   The transmission buffer 123b temporarily stores the PDU generated by the URB reception unit 123a.

また、送信バッファ123bは、データパケット送信部123cが読み出したPDUパケットを、再送部123hからの削除指示があるまで格納し続ける。   Further, the transmission buffer 123b continues to store the PDU packet read by the data packet transmission unit 123c until a deletion instruction is received from the retransmission unit 123h.

データパケット送信部123cは、送信バッファ123bに格納されているPDUを予め定められた順番で読み出し、Int通信路172を介して送信する。   The data packet transmission unit 123c reads out the PDUs stored in the transmission buffer 123b in a predetermined order and transmits the PDUs via the Int communication path 172.

ここで、データパケット送信部123cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 123c stores the data divided for each USB device 160 at a ratio according to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 113. Read the PDU from the region.

また、データパケット送信部123cは、通信路間協調部123gの指示により、Int通信路172に送信するデータの送信レートを調節する。   In addition, the data packet transmission unit 123c adjusts the transmission rate of data transmitted to the Int communication path 172 according to an instruction from the inter-communication path cooperation unit 123g.

さらに、データパケット送信部123cは、再送部123hからの再送指示に応じて、再送指示の対象となるPDUを送信バッファ123bから読み出し、Int通信路172を介して送信する。   Further, the data packet transmission unit 123c reads out the PDU that is the target of the retransmission instruction from the transmission buffer 123b in response to the retransmission instruction from the retransmission unit 123h, and transmits the PDU via the Int communication path 172.

データパケット受信部123dは、Int通信路172を介して送信されたPDUを受信し、受信バッファ123eに格納する処理を行う。   The data packet receiving unit 123d performs processing of receiving the PDU transmitted via the Int communication path 172 and storing it in the reception buffer 123e.

また、データパケット受信部123dは、Int通信路172を介して受信した再送要求又は受領通知を再送部123hに出力する。   Further, the data packet receiving unit 123d outputs the retransmission request or the reception notification received via the Int communication path 172 to the retransmission unit 123h.

受信バッファ123eは、データパケット受信部123dから受け取ったPDUを一時的に格納する。   The reception buffer 123e temporarily stores the PDU received from the data packet reception unit 123d.

URB送信部123fは、受信バッファ123eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。   The URB transmission unit 123f combines the URB by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 123e, and the remote URB distribution unit 121 Output to.

通信路間協調部123gは、Iso通信路リモート制御部124及びBulk通信路リモート制御部125と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部123cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 123g cooperates with the Iso communication channel remote control unit 124 and the Bulk communication channel remote control unit 125, and communicates between communication channels specified by the communication management information stored in the communication management information storage area 113. The transmission rate of the information output from the data packet transmission unit 123c is determined according to the priority order.

再送部123hは、受信バッファ123eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照し、PDUシーケンスに欠落がある場合には、当該PDUシーケンスを特定した再送要求を、Int通信路172を介して送信する。   The retransmission unit 123h refers to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 123e, and if there is a missing PDU sequence, identifies the PDU sequence. The retransmission request is transmitted via the Int communication path 172.

また、再送部123hは、受信バッファ123eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているPDUシーケンス及びURBシーケンスを特定した受領通知を、Int通信路172を介して送信する。   Also, the retransmission unit 123h sends a receipt notification specifying the PDU sequence and the URB sequence stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 123e via the Int communication path 172. To send.

さらに、再送部123hは、Intローカル制御部146の再送部146hから送信されてきた受領通知に含まれているPDUシーケンス及びURBシーケンスに対応するPDUを送信バッファ123bから削除する。   Further, the retransmission unit 123h deletes the PDU corresponding to the PDU sequence and the URB sequence included in the reception notification transmitted from the retransmission unit 146h of the Int local control unit 146 from the transmission buffer 123b.

Int通信路ローカル制御部146は、URB受信部146aと、送信バッファ146bと、データパケット送信部146cと、データパケット受信部146dと、受信バッファ146eと、URB送信部146fと、通信路間協調部146gと、再送部146hと、を備える。   Int communication path local control unit 146 includes URB reception unit 146a, transmission buffer 146b, data packet transmission unit 146c, data packet reception unit 146d, reception buffer 146e, URB transmission unit 146f, and inter-channel cooperation unit. 146g and a retransmission unit 146h.

URB受信部146aは、ローカルURB振分部144よりInt通信路172を介して送信するURBを受信し、URBに含まれる情報を分割して図10に示すようなPDU190を生成し、送信バッファ146bに出力する。   The URB reception unit 146a receives the URB transmitted from the local URB distribution unit 144 via the Int communication path 172, divides the information included in the URB, generates a PDU 190 as shown in FIG. 10, and transmits the transmission buffer 146b. Output to.

なお、URB受信部146aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ146bの記憶領域に当該URBから生成されたPDUを格納する。   The URB reception unit 146a identifies the USB device 160 that transmits information from the URB received from the local URB distribution unit 144, and generates the URB in the storage area of the transmission buffer 146b corresponding to the identified USB device 160. Stored PDUs are stored.

送信バッファ146bは、URB受信部146aで生成されたPDUを一時的に格納する。   The transmission buffer 146b temporarily stores the PDU generated by the URB reception unit 146a.

なお、送信バッファ146bは、データパケット送信部146cが読み出したPDUパケットを、再送部146hからの削除指示があるまで格納し続ける。   The transmission buffer 146b continues to store the PDU packet read by the data packet transmission unit 146c until there is a deletion instruction from the retransmission unit 146h.

データパケット送信部146cは、送信バッファ146bに格納されているPDUを予め定められた順番で読み出し、Int通信路172を介して送信する。   The data packet transmission unit 146c reads out the PDUs stored in the transmission buffer 146b in a predetermined order and transmits the PDUs via the Int communication path 172.

ここで、データパケット送信部146cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 146c stores the data divided for each USB device 160 at a ratio according to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 133. Read the PDU from the region.

また、データパケット送信部146cは、通信路間協調部146gの指示により、Int通信路172に送信するデータの送信レートを調節する。   Further, the data packet transmission unit 146c adjusts the transmission rate of data transmitted to the Int communication path 172 according to an instruction from the inter-communication path cooperation unit 146g.

さらに、データパケット送信部146cは、再送部146hからの再送指示に応じて、再送指示の対象となるPDUを送信バッファ146bから読み出し、Int通信路172を介して送信する。   Further, the data packet transmission unit 146 c reads out the PDU to be subjected to the retransmission instruction from the transmission buffer 146 b in response to the retransmission instruction from the retransmission unit 146 h and transmits the PDU via the Int communication path 172.

データパケット受信部146dは、Int通信路172を介して送信されたPDUを受信し、受信バッファ146eに格納する処理を行う。   The data packet receiving unit 146d performs processing of receiving the PDU transmitted via the Int communication path 172 and storing it in the reception buffer 146e.

また、データパケット受信部146dは、Int通信路172を介して受信した再送要求又は受領通知を再送部146hに出力する。   In addition, the data packet receiving unit 146d outputs the retransmission request or receipt notification received via the Int communication path 172 to the retransmission unit 146h.

受信バッファ146eは、データパケット受信部146dから受け取ったPDUを一時的に格納する。   The reception buffer 146e temporarily stores the PDU received from the data packet reception unit 146d.

URB送信部146fは、受信バッファ146eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。   The URB transmission unit 146f combines the URBs by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 146e, and the local URB distribution unit 144 Output to.

通信路間協調部146gは、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部146cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 146g cooperates with the Iso communication channel local control unit 147 and the Bulk communication channel local control unit 148, and communicates between communication channels specified by the communication management information stored in the communication management information storage area 133. The transmission rate of information output from the data packet transmission unit 146c is determined according to the priority order.

再送部146hは、受信バッファ146eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照し、PDUシーケンスに欠落がある場合には、当該PDUシーケンスを特定した再送要求を、Int通信路172を介して送信する。   The retransmission unit 146h refers to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 146e, and if there is a missing PDU sequence, identifies the PDU sequence. The retransmission request is transmitted via the Int communication path 172.

また、再送部146hは、受信バッファ146eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているPDUシーケンス及びURBシーケンスを特定した受領通知を、Int通信路172を介して送信する。   Also, the retransmission unit 146h sends a receipt notification specifying the PDU sequence and the URB sequence stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 146e via the Int communication path 172. To send.

さらに、再送部146hは、Intリモート制御部123の再送部123hから送信されてきた受領通知に含まれているPDUシーケンス及びURBシーケンスに対応するPDUを送信バッファ146bから削除する。   Further, the retransmission unit 146h deletes the PDU corresponding to the PDU sequence and the URB sequence included in the reception notification transmitted from the retransmission unit 123h of the Int remote control unit 123 from the transmission buffer 146b.

なお、Int通信路172は、サーバ110の一つのUDP(User Datagram Protocol)ポートと、端末130の一つのUDPポートと、の間でUDPパケットを送受信する通信路である。   The Int communication path 172 is a communication path for transmitting and receiving UDP packets between one UDP (User Datagram Protocol) port of the server 110 and one UDP port of the terminal 130.

図8は、Iso通信路リモート制御部124と、Iso通信路ローカル制御部147と、の間で情報の送受信を行う際の流れを示す概略図である。   FIG. 8 is a schematic diagram illustrating a flow when information is transmitted and received between the Iso communication path remote control unit 124 and the Iso communication path local control unit 147.

Iso通信路リモート制御部124は、URB受信部124aと、送信バッファ124bと、データパケット送信部124cと、データパケット受信部124dと、受信バッファ124eと、URB送信部124fと、通信路間協調部124gと、レート通信部124hと、を備える。   The Iso communication channel remote control unit 124 includes a URB reception unit 124a, a transmission buffer 124b, a data packet transmission unit 124c, a data packet reception unit 124d, a reception buffer 124e, a URB transmission unit 124f, and an inter-communication channel cooperation unit. 124g and a rate communication unit 124h.

URB受信部124aは、リモートURB振分部121よりIso通信路173を介して送信するURBを受信し、URBに含まれる情報を(場合によっては分割して)図10に示すようなPDU190を生成し、送信バッファ124bに出力する。   The URB reception unit 124a receives the URB transmitted from the remote URB distribution unit 121 via the Iso communication path 173, and generates the PDU 190 as shown in FIG. 10 by dividing (in some cases, dividing) the information included in the URB. And output to the transmission buffer 124b.

なお、URB受信部124aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ124bの記憶領域に当該URBから生成されたPDUを格納する。   The URB reception unit 124a identifies the USB device 160 that transmits information from the URB received from the remote URB distribution unit 121, and generates the URB in the storage area of the transmission buffer 124b corresponding to the identified USB device 160. Stored PDUs are stored.

送信バッファ124bは、URB受信部124aで生成されたPDUを一時的に格納する。   The transmission buffer 124b temporarily stores the PDU generated by the URB reception unit 124a.

データパケット送信部124cは、送信バッファ124bに格納されているPDUを予め定められた順番で読み出し、Iso通信路173を介して送信する。   The data packet transmission unit 124 c reads out the PDUs stored in the transmission buffer 124 b in a predetermined order and transmits the PDUs via the Iso communication path 173.

ここで、データパケット送信部124cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 124 c stores the memory divided for each USB device 160 at a ratio according to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 113. Read the PDU from the region.

また、データパケット送信部124cは、通信路間協調部124gの指示により、Iso通信路173に送信するデータの送信レートを調節する。   Further, the data packet transmission unit 124c adjusts the transmission rate of data to be transmitted to the Iso communication path 173 according to an instruction from the inter-communication path cooperation unit 124g.

データパケット受信部124dは、Iso通信路173を介して送信されたPDUを受信し、受信バッファ124eに格納する処理を行う。   The data packet receiving unit 124d performs a process of receiving the PDU transmitted via the Iso communication path 173 and storing it in the reception buffer 124e.

また、データパケット受信部124dは、Iso通信路173を介して受信した送信レートを特定するレート情報をレート通信部124hに出力する。   In addition, the data packet receiving unit 124d outputs rate information specifying the transmission rate received via the Iso communication path 173 to the rate communication unit 124h.

受信バッファ124eは、データパケット受信部124dから受け取ったPDUを一時的に格納する。   The reception buffer 124e temporarily stores the PDU received from the data packet reception unit 124d.

URB送信部124fは、受信バッファ124eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。   The URB transmission unit 124f combines the URBs by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 124e, and the remote URB distribution unit 121 Output to.

通信路間協調部124gは、Int通信路リモート制御部123及びBulk通信路リモート制御部125と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部124cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 124g cooperates with the Int communication channel remote control unit 123 and the Bulk communication channel remote control unit 125, and communicates between communication channels specified by the communication management information stored in the communication management information storage area 113. The transmission rate of information output from the data packet transmission unit 124c is determined according to the priority order.

レート通信部124hは、Iso通信路ローカル制御部147のレート通信部147hとの間で、送信レート及び受信レートを特定するレート情報を送受信する。   The rate communication unit 124h transmits and receives rate information specifying the transmission rate and the reception rate to and from the rate communication unit 147h of the Iso communication path local control unit 147.

Iso通信路ローカル制御部147は、URB受信部147aと、送信バッファ147bと、データパケット送信部147cと、データパケット受信部147dと、受信バッファ147eと、URB送信部147fと、通信路間協調部147gと、レート通信部147hと、を備える。   The Iso communication path local control unit 147 includes a URB reception unit 147a, a transmission buffer 147b, a data packet transmission unit 147c, a data packet reception unit 147d, a reception buffer 147e, a URB transmission unit 147f, and an inter-communication path cooperation unit. 147g and a rate communication unit 147h.

URB受信部147aは、ローカルURB振分部144よりIso通信路173を介して送信するURBを受信し、URBに含まれる情報を(場合によって分割して)図10に示すようなPDU190を生成し、送信バッファ147bに出力する。   The URB receiving unit 147a receives the URB transmitted from the local URB allocating unit 144 via the Iso communication path 173, and generates the PDU 190 as shown in FIG. 10 (divided in some cases). And output to the transmission buffer 147b.

なお、URB受信部147aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ147bの記憶領域に当該URBから生成されたPDUを格納する。   The URB reception unit 147a identifies the USB device 160 that transmits information from the URB received from the local URB distribution unit 144, and generates the URB in the storage area of the transmission buffer 147b corresponding to the identified USB device 160. Stored PDUs are stored.

送信バッファ147bは、URB受信部147aで生成されたPDUを一時的に格納する。   The transmission buffer 147b temporarily stores the PDU generated by the URB reception unit 147a.

データパケット送信部147cは、送信バッファ147bに格納されているPDUを予め定められた順番で読み出し、Iso通信路173を介して送信する。   The data packet transmission unit 147c reads out the PDUs stored in the transmission buffer 147b in a predetermined order and transmits the PDUs via the Iso communication path 173.

ここで、データパケット送信部147cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 147 c stores the memory divided for each USB device 160 at a ratio according to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 133. Read the PDU from the region.

また、データパケット送信部147cは、通信路間協調部147gの指示により、Iso通信路173に送信するデータの送信レートを調節する。   In addition, the data packet transmission unit 147c adjusts the transmission rate of data to be transmitted to the Iso communication path 173 according to an instruction from the inter-communication path cooperation unit 147g.

データパケット受信部147dは、Iso通信路173を介して送信されたPDUを受信し、受信バッファ147eに格納する処理を行う。   The data packet receiving unit 147d receives the PDU transmitted via the Iso communication path 173, and stores it in the reception buffer 147e.

また、データパケット受信部147dは、Iso通信路173を介して受信した送信レートを特定するレート情報をレート通信部147hに出力する。   Further, the data packet receiving unit 147d outputs rate information specifying the transmission rate received via the Iso communication path 173 to the rate communication unit 147h.

受信バッファ147eは、データパケット受信部147dから受け取ったPDUを一時的に格納する。   The reception buffer 147e temporarily stores the PDU received from the data packet reception unit 147d.

URB送信部147fは、受信バッファ147eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。   The URB transmission unit 147f combines the URBs by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 147e, and the local URB distribution unit 144 Output to.

通信路間協調部147gは、Int通信路ローカル制御部146及びBulk通信路ローカル制御部148と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部147cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 147g cooperates with the Int communication channel local control unit 146 and the Bulk communication channel local control unit 148 to link between communication channels specified by the communication management information stored in the communication management information storage area 133. The transmission rate of the information output from the data packet transmission unit 147c is determined according to the priority order.

レート通信部147hは、Iso通信路リモート制御部124のレート通信部124hとの間で、送信レート及び受信レートを特定するレート情報を送受信する。   The rate communication unit 147h transmits and receives rate information specifying the transmission rate and the reception rate to and from the rate communication unit 124h of the Iso communication path remote control unit 124.

なお、Iso通信路173は、サーバ110の一つのUDPポート(Int通信路で使用されるものとは異なるUDPポート)と、端末130の一つのUDPポート(Int通信路で使用されるものとは異なるUDPポート)と、の間でUDPパケットを送受信する通信路である。   Note that the Iso communication path 173 includes one UDP port of the server 110 (a UDP port different from that used in the Int communication path) and one UDP port of the terminal 130 (used in the Int communication path). A communication path for transmitting and receiving UDP packets between different UDP ports.

図9は、Bulk通信路リモート制御部125と、Bulk通信路ローカル制御部148と、の間で情報の送受信を行う際の流れを示す概略図である。   FIG. 9 is a schematic diagram showing a flow when information is transmitted / received between the Bulk communication channel remote control unit 125 and the Bulk communication channel local control unit 148.

Bulk通信路リモート制御部125は、URB受信部125aと、送信バッファ125bと、データパケット送信部125cと、データパケット受信部125dと、受信バッファ125eと、URB送信部125fと、通信路間協調部125gと、を備える。   The Bulk communication path remote control unit 125 includes a URB reception unit 125a, a transmission buffer 125b, a data packet transmission unit 125c, a data packet reception unit 125d, a reception buffer 125e, a URB transmission unit 125f, and an inter-communication channel cooperation unit. 125g.

URB受信部125aは、リモートURB振分部121よりBulk通信路174を介して送信するURBを受信し、URBに含まれる情報を(場合により分割して)図10に示すようなPDU190を生成し、送信バッファ125bに出力する。   The URB receiving unit 125a receives the URB transmitted from the remote URB allocating unit 121 via the Bulk communication path 174, and generates the PDU 190 as shown in FIG. 10 by dividing the information included in the URB (depending on the case). And output to the transmission buffer 125b.

なお、URB受信部125aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ125bの記憶領域に当該URBから生成されたPDUを格納する。   The URB receiving unit 125a identifies the USB device 160 that transmits information from the URB received from the remote URB sorting unit 121, and generates the URB in the storage area of the transmission buffer 125b corresponding to the identified USB device 160. Stored PDUs are stored.

送信バッファ125bは、URB受信部125aで生成されたPDUを一時的に格納する。   The transmission buffer 125b temporarily stores the PDU generated by the URB reception unit 125a.

データパケット送信部125cは、送信バッファ125bに格納されているPDUを予め定められた順番で読み出し、Bulk通信路174を介して送信する。   The data packet transmission unit 125c reads out the PDUs stored in the transmission buffer 125b in a predetermined order and transmits the PDUs via the Bulk communication path 174.

ここで、データパケット送信部125cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 125c stores the data divided for each USB device 160 at a ratio corresponding to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 113. Read the PDU from the region.

また、データパケット送信部125cは、通信路間協調部125gの指示により、Bulk通信路174に送信するデータの送信レートを調節する。   In addition, the data packet transmission unit 125c adjusts the transmission rate of data to be transmitted to the Bulk communication path 174 according to an instruction from the inter-communication path cooperation unit 125g.

データパケット受信部125dは、Bulk通信路174を介して送信されたPDUを受信し、受信バッファ125eに格納する処理を行う。   The data packet receiving unit 125d performs processing of receiving the PDU transmitted via the Bulk communication path 174 and storing it in the reception buffer 125e.

受信バッファ125eは、データパケット受信部125dから受け取ったPDUを一時的に格納する。   The reception buffer 125e temporarily stores the PDU received from the data packet reception unit 125d.

URB送信部125fは、受信バッファ125eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。   The URB transmission unit 125f refers to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 125e, combines the URBs, and the remote URB distribution unit 121 Output to.

通信路間協調部125gは、Int通信路リモート制御部123及びIso通信路リモート制御部124と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部125cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 125g cooperates with the Int communication channel remote control unit 123 and the Iso communication channel remote control unit 124, and communicates between communication channels specified by the communication management information stored in the communication management information storage area 113. The transmission rate of information output from the data packet transmission unit 125c is determined according to the priority order.

Bulk通信路ローカル制御部148は、URB受信部148aと、送信バッファ148bと、データパケット送信部148cと、データパケット受信部148dと、受信バッファ148eと、URB送信部148fと、通信路間協調部148gと、を備える。   The Bulk communication channel local control unit 148 includes a URB receiving unit 148a, a transmission buffer 148b, a data packet transmitting unit 148c, a data packet receiving unit 148d, a receiving buffer 148e, a URB transmitting unit 148f, and an inter-communication channel coordinating unit. 148g.

URB受信部148aは、ローカルURB振分部144よりBulk通信路174を介して送信するURBを受信し、URBに含まれる情報を(場合によって分割して)図10に示すようなPDU190を生成し、送信バッファ148bに出力する。   The URB receiving unit 148a receives the URB transmitted from the local URB allocating unit 144 via the Bulk communication path 174, and generates the PDU 190 as shown in FIG. 10 by dividing the information included in the URB (depending on the case). And output to the transmission buffer 148b.

なお、URB受信部148aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ148bの記憶領域に当該URBから生成されたPDUを格納する。   The URB reception unit 148a identifies the USB device 160 that transmits information from the URB received from the local URB distribution unit 144, and generates the URB in the storage area of the transmission buffer 148b corresponding to the identified USB device 160. Stored PDUs are stored.

送信バッファ148bは、URB受信部148aで生成されたPDUを一時的に格納する。   The transmission buffer 148b temporarily stores the PDU generated by the URB reception unit 148a.

データパケット送信部148cは、送信バッファ148bに格納されているPDUを予め定められた順番で読み出し、Bulk通信路174を介して送信する。   The data packet transmission unit 148c reads out the PDUs stored in the transmission buffer 148b in a predetermined order and transmits the PDUs via the Bulk communication path 174.

ここで、データパケット送信部148cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。   Here, the data packet transmission unit 148c stores the memory divided for each USB device 160 at a ratio according to the priority of the USB device 160 specified by the communication management information stored in the communication management information storage area 133. Read the PDU from the region.

また、データパケット送信部148cは、通信路間協調部148gの指示により、Bulk通信路174に送信するデータの送信レートを調節する。   Further, the data packet transmission unit 148c adjusts the transmission rate of data to be transmitted to the Bulk communication path 174 according to an instruction from the inter-communication path cooperation unit 148g.

データパケット受信部148dは、Bulk通信路174を介して送信されたPDUを受信し、受信バッファ148eに格納する処理を行う。   The data packet receiving unit 148d performs a process of receiving the PDU transmitted via the Bulk communication path 174 and storing it in the reception buffer 148e.

受信バッファ148eは、データパケット受信部148dから受け取ったPDUを一時的に格納する。   The reception buffer 148e temporarily stores the PDU received from the data packet reception unit 148d.

URB送信部148fは、受信バッファ148eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。   The URB transmission unit 148f combines the URBs by referring to the data stored in the PDU sequence storage area 190c and the URB sequence storage area 190d of the PDU stored in the reception buffer 148e, and the local URB distribution unit 144 Output to.

通信路間協調部148gは、Int通信路ローカル制御部146及びIso通信路ローカル制御部147と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部148cから出力する情報の送信レートを定める。   The inter-communication channel cooperation unit 148g cooperates with the Int communication channel local control unit 146 and the Iso communication channel local control unit 147, and communicates between the communication channels specified by the communication management information stored in the communication management information storage area 133. The transmission rate of information output from the data packet transmission unit 148c is determined according to the priority order.

なお、Bulk通信路174は、サーバ110と、端末130と、の間に張る一つのTCPセッション(Cont通信路171とは異なるセッション)である。   The Bulk communication path 174 is a single TCP session (a session different from the Cont communication path 171) between the server 110 and the terminal 130.

図11は、通信システム100において、サーバ110が端末130に接続されているUSBデバイス160を利用する際の全体的な処理を示すフローチャートである。   FIG. 11 is a flowchart illustrating overall processing when the server 110 uses the USB device 160 connected to the terminal 130 in the communication system 100.

まず、サーバ110の全体制御部116は、サーバ110のオペレータよりサーバ110の電源の投入を受け付ける(S10)。   First, the overall control unit 116 of the server 110 receives power-on of the server 110 from an operator of the server 110 (S10).

次に、サーバ110の全体制御部116は、サーバ110を起動して(S11)、Cont通信路171のためのTCP通信ポート、Bulk通信路174のためのTCP通信ポート、Int通信路172のためのUDP通信ポート及びIso通信路173のためのUDP通信ポートでそれぞれデータを待ち受ける(S12)。そして、通信管理部118での処理を開始する。   Next, the overall control unit 116 of the server 110 activates the server 110 (S11), for the TCP communication port for the Cont communication path 171, the TCP communication port for the Bulk communication path 174, and the Int communication path 172. The UDP communication port and the UDP communication port for the Iso communication path 173 wait for data respectively (S12). And the process in the communication management part 118 is started.

一方、端末130の全体制御部137は、端末130のオペレータより端末130の電源の投入を受け付ける(S13)。なお、端末130のオペレータは、サーバ110がステップS12の接続待ちとなったことを確認してから、電源を入力するものとする。   On the other hand, the overall control unit 137 of the terminal 130 receives power-on of the terminal 130 from the operator of the terminal 130 (S13). It is assumed that the operator of the terminal 130 inputs power after confirming that the server 110 is waiting for connection in step S12.

次に、端末130の全体制御部137は、端末130を起動して(S14)、USBケーブルで接続されているUSBデバイス160のエニュメレーションを行う(S15)。エニュメレーションはUSBシステム制御部142が行う処理であり、接続されたUSBデバイス160を識別し、デバイスID(アドレス)を指定し、USBデバイス情報(ディスクリプタ情報)をUSBデバイス160から受信する。そして、USBシステム制御部142が、エニュメレーションの結果を切替制御部139経由でクラスドライバ処理部141へ送信することで(切替制御部139の初期設定ではUSBシステム制御部142とクラスドライバ処理部141とをつなげることとなっているため)、クラスドライバ処理部141がUSBデバイス160を制御できるようになる。   Next, the overall control unit 137 of the terminal 130 activates the terminal 130 (S14), and enumerates the USB device 160 connected by the USB cable (S15). The enumeration is processing performed by the USB system control unit 142, identifies the connected USB device 160, designates a device ID (address), and receives USB device information (descriptor information) from the USB device 160. Then, the USB system control unit 142 transmits the enumeration result to the class driver processing unit 141 via the switching control unit 139 (in the initial setting of the switching control unit 139, the USB system control unit 142 and the class driver processing unit 141), the class driver processing unit 141 can control the USB device 160.

そして、端末130のオペレータは、USBデバイス160を操作して、端末管理アプリ処理部138に対してログオンを行う(S16)。   Then, the operator of the terminal 130 operates the USB device 160 to log on to the terminal management application processing unit 138 (S16).

端末管理アプリ処理部138は、オペレータのログオンが成功すると切替制御部139にUSBシステム制御部142とローカル通信部143とを接続するように命令する(S17)。   When the operator logs on successfully, the terminal management application processing unit 138 instructs the switching control unit 139 to connect the USB system control unit 142 and the local communication unit 143 (S17).

次に、端末130のローカル通信部143が、サーバ接続情報記憶領域134に記憶されているサーバ接続情報を利用して、四つの通信路を設置する(S18)。例えば、ローカル通信部143は、Cont通信路171が利用するTCPセッション及びBulk通信路174が利用する各々のTCPセッションを、サーバ110との間に確立し、また、Int通信路172及びIso通信路173において、UDPを利用してデータの送受信を行うため、Int通信路ローカル制御部146及びIso通信路ローカル制御部147が、UDPパケットを送受信するための各々のソケットを作成する。   Next, the local communication unit 143 of the terminal 130 installs four communication paths using the server connection information stored in the server connection information storage area 134 (S18). For example, the local communication unit 143 establishes a TCP session used by the Cont communication path 171 and each TCP session used by the Bulk communication path 174 with the server 110, and the Int communication path 172 and the Iso communication path In 173, in order to transmit and receive data using UDP, the Int communication path local control unit 146 and the Iso communication path local control unit 147 create sockets for transmitting and receiving UDP packets.

次に、端末130のUSBシステム制御部142は、ローカル通信部143及びリモート通信部120を経由して、サーバ110のクラスドライバ処理部119にUSBデバイス160の設定情報を送信する(S19)。   Next, the USB system control unit 142 of the terminal 130 transmits the setting information of the USB device 160 to the class driver processing unit 119 of the server 110 via the local communication unit 143 and the remote communication unit 120 (S19).

次に、サーバ110のクラスドライバ処理部119は、USBデバイス160を制御するためのリソース確保や、USBデバイス160を動作可能な状態に設定する(S20)。ステップS20の処理が完了することにより、端末130にUSBケーブルで接続されたUSBデバイス160がサーバ110で制御することができるようになる。   Next, the class driver processing unit 119 of the server 110 secures resources for controlling the USB device 160 and sets the USB device 160 to an operable state (S20). When the process of step S20 is completed, the USB device 160 connected to the terminal 130 with the USB cable can be controlled by the server 110.

次に、サーバ110及び端末130では、端末130のオペレータより、通信路間の優先順位及びUSBデバイス160の優先度の設定を行う(S21)。ステップS21での処理については、図12を用いて詳細に説明する。   Next, in the server 110 and the terminal 130, the priority of the communication paths and the priority of the USB device 160 are set by the operator of the terminal 130 (S21). The process in step S21 will be described in detail with reference to FIG.

次に、端末130のオペレータが、USBデバイス160を使って、サーバ110のアプリ処理部117が提供するアプリケーションを利用して処理を実行する(S22)。ステップS22での処理については、図16を用いて詳細に説明する。   Next, the operator of the terminal 130 executes processing using the application provided by the application processing unit 117 of the server 110 using the USB device 160 (S22). The process in step S22 will be described in detail with reference to FIG.

そして、端末130のオペレータが、リモートUSB切断指示の入力を行うと、端末130の通信管理部140が、サーバ110のリモート通信部120に対して、端末130からの接続を切断するように要求する(S23)。   When the operator of the terminal 130 inputs a remote USB disconnection instruction, the communication management unit 140 of the terminal 130 requests the remote communication unit 120 of the server 110 to disconnect the connection from the terminal 130. (S23).

次に、サーバ110のリモート通信部120が4つの通信路(171、172、173、174)におけるデータの送信を停止し、Cont通信路171とBulk通信路174が利用する二つのTCPセッションを切断する(S24)。   Next, the remote communication unit 120 of the server 110 stops data transmission on the four communication paths (171, 172, 173, 174), and disconnects the two TCP sessions used by the Cont communication path 171 and the Bulk communication path 174. (S24).

そして、端末130の切替制御部139が、Cont通信路171とBulk通信路174のTCPセッションの切断を検知し、USBデバイス160の制御をクラスドライバ処理部141に切り替える(S25)。   Then, the switching control unit 139 of the terminal 130 detects disconnection of the TCP session of the Cont communication path 171 and the Bulk communication path 174, and switches the control of the USB device 160 to the class driver processing unit 141 (S25).

次に、端末130の全体制御部137は、端末130のオペレータより電源断の入力を受け付け(S26)、端末130を停止する(S27)。   Next, the overall control unit 137 of the terminal 130 receives an input of power-off from the operator of the terminal 130 (S26), and stops the terminal 130 (S27).

一方、サーバ110では、ステップS24でCont通信路171とBulk通信路174が利用する二つのTCPセッションを切断した後に、再び端末130から接続を待つ状態にもどる(S28)。   On the other hand, after disconnecting the two TCP sessions used by the Cont communication path 171 and the Bulk communication path 174 in step S24, the server 110 returns to the state of waiting for connection from the terminal 130 again (S28).

そして、サーバ110の全体制御部116は、サーバ110のオペレータより、サーバ110の電源断の入力を受け付ける(S29)。サーバ110のオペレータは、サーバ110が接続待ち状態にあることを確認してから、電源断の入力を行う。   Then, the overall control unit 116 of the server 110 receives an input of power-off of the server 110 from the operator of the server 110 (S29). After confirming that the server 110 is in a connection waiting state, the operator of the server 110 inputs power off.

次に、サーバ110のリモート通信部120は、接続待ちのためのソケットが利用する資源を解放し(S30)、サーバ110を停止する(S31)。   Next, the remote communication unit 120 of the server 110 releases resources used by the socket for waiting for connection (S30), and stops the server 110 (S31).

図12は、通信路間の優先順位及びUSBデバイス160の優先度の調整処理を示すシーケンス図である。   FIG. 12 is a sequence diagram illustrating a process for adjusting the priority between communication paths and the priority of the USB device 160.

まず、サーバ110の通信管理部118は、クラスドライバ処理部119が管理しているUSBデバイス160のリストを取得する(S40)。   First, the communication management unit 118 of the server 110 acquires a list of USB devices 160 managed by the class driver processing unit 119 (S40).

次に、通信管理部118は、図13(通信管理画面191の概略図)に示すような通信管理画面191を生成し、USBデバイス160のモニタ164に出力する(S41)。   Next, the communication management unit 118 generates a communication management screen 191 as shown in FIG. 13 (schematic diagram of the communication management screen 191), and outputs it to the monitor 164 of the USB device 160 (S41).

図13に示すように、通信管理画面191は、リモートUSB切断指示入力領域191aと、端末からサーバ方向への優先情報入力領域191bと、サーバから端末方向への優先情報入力領域191hと、を有する。   As shown in FIG. 13, the communication management screen 191 has a remote USB disconnection instruction input area 191a, a priority information input area 191b from the terminal to the server direction, and a priority information input area 191h from the server to the terminal direction. .

リモートUSB切断指示入力領域191aを指定した実行指示が入力されると、サーバ110及び端末130の間に確立された四つの通信路が切断される。   When an execution instruction specifying the remote USB disconnection instruction input area 191a is input, the four communication paths established between the server 110 and the terminal 130 are disconnected.

端末からサーバ方向への優先情報入力領域191bは、転送タイプ間優先順位の選択入力領域191cと、USBデバイスごとの利用帯域の割合の設定入力領域191dと、を有する。   The priority information input area 191b from the terminal to the server has a selection input area 191c for the priority order between transfer types and a setting input area 191d for the proportion of the used bandwidth for each USB device.

転送タイプ間優先順位の選択入力領域191cでは、端末130からサーバ110に対して送信する情報の転送タイプ間の優先順位として、優先順位A又は優先順位Bの選択の入力を受け付ける。   The transfer type priority selection input area 191c accepts input of selection of priority A or priority B as the priority between the transfer types of information transmitted from the terminal 130 to the server 110.

ここで、優先順位Aが選択されると、データ転送の際の優先順位が、インタラプト転送のエンドポイントを持つUSBデバイス、アイソクロナス転送エンドポイントを持つUSBデバイス、バルク転送エンドポイントを持つUSBデバイスの順となる。   Here, when priority order A is selected, the priority order during data transfer is the order of USB device having an interrupt transfer endpoint, USB device having an isochronous transfer endpoint, and USB device having a bulk transfer endpoint. It becomes.

一方、優先順位Bが選択されると、インタラプト転送のエンドポイントを持つUSBデバイスは優先されているが、アイソクロナス転送のエンドポイントを持つUSBデバイスとバルク転送のエンドポイントを持つUSBデバイスとは同じ優先順位となる。   On the other hand, when priority order B is selected, USB devices with interrupt transfer endpoints have priority, but USB devices with isochronous transfer endpoints and USB devices with bulk transfer endpoints have the same priority. Rank.

USBデバイスごとの利用帯域の割合の設定入力領域191dでは、各転送タイプに含まれる各々のUSBデバイスに割り当てる帯域の割合を特定する情報の入力を受け付ける。   In the setting input area 191d for the proportion of the used bandwidth for each USB device, input of information specifying the proportion of the bandwidth allocated to each USB device included in each transfer type is accepted.

例えば、本実施形態においては、USBデバイスごとの利用帯域の割合の設定入力領域191dに、Int入力領域191eと、Iso入力領域191fと、Bul入力領域191gと、が設けられている。   For example, in the present embodiment, an Int input area 191e, an Iso input area 191f, and a Bul input area 191g are provided in the setting input area 191d for the proportion of the used bandwidth for each USB device.

Int入力領域191eには、インタラプト転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Int input area 191e, information (in this case, the device name) for specifying the USB device 160 having the interrupt transfer endpoint is displayed, and is provided at a position adjacent to the information for specifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

Iso入力領域191fには、アイソクロナス転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Iso input area 191f, information (in this case, a device name) for identifying the USB device 160 having the isochronous transfer endpoint is displayed, and is provided at a position adjacent to the information for identifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

Bul入力領域191gには、バルク転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Bull input area 191g, information (in this case, the device name) for specifying the USB device 160 having the bulk transfer endpoint is displayed, and is provided at a position adjacent to the information for specifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

サーバから端末方向への優先情報入力領域191hは、転送タイプ間優先順位の選択入力領域191iと、USBデバイスごとの利用帯域の割合の設定入力領域191jと、を有する。   The priority information input area 191h in the direction from the server to the terminal includes a selection input area 191i for the priority order between transfer types and a setting input area 191j for the ratio of the used bandwidth for each USB device.

転送タイプ間優先順位の選択入力領域191iでは、サーバ110から端末130に対して送信する情報の転送タイプ間の優先順位として、優先順位A又は優先順位Bの選択の入力を受け付ける。   In the selection input area 191i of the transfer order priority between the transfer types, an input of selection of the priority order A or the priority order B is accepted as the priority order between the transfer types of information transmitted from the server 110 to the terminal 130.

ここで、優先順位Aが選択されると、データ転送際の優先順位が、インタラプト転送のエンドポイントを持つUSBデバイス、アイソクロナス転送エンドポイントを持つUSBデバイス、バルク転送エンドポイントを持つUSBデバイスの順となる。   Here, when priority order A is selected, the priority order during data transfer is as follows: a USB device having an interrupt transfer endpoint, a USB device having an isochronous transfer endpoint, and a USB device having a bulk transfer endpoint. Become.

一方、優先順位Bが選択されると、インタラプト転送のエンドポイントを持つUSBデバイスは優先されているが、アイソクロナス転送のエンドポイントを持つUSBデバイスとバルク転送のエンドポイントを持つUSBデバイスとは同じ優先順位となる。   On the other hand, when priority order B is selected, USB devices with interrupt transfer endpoints have priority, but USB devices with isochronous transfer endpoints and USB devices with bulk transfer endpoints have the same priority. Rank.

USBデバイスごとの利用帯域の割合の設定入力領域191jでは、各転送タイプに含まれる各々のUSBデバイスに割り当てる帯域の割合を特定する情報の入力を受け付ける。   In the setting input area 191j for the proportion of the used bandwidth for each USB device, input of information specifying the proportion of the bandwidth allocated to each USB device included in each transfer type is accepted.

例えば、本実施形態においては、USBデバイスごとの利用帯域の割合の設定入力領域191jに、Int入力領域191kと、Iso入力領域191lと、Bul入力領域191mと、が設けられている。   For example, in the present embodiment, an Int input area 191k, an Iso input area 191l, and a Bul input area 191m are provided in the setting input area 191j of the usage band ratio for each USB device.

Int入力領域191kには、インタラプト転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Int input area 191k, information (in this case, the device name) for specifying the USB device 160 having the interrupt transfer endpoint is displayed, and is provided at a position adjacent to the information for specifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

Iso入力領域191lには、アイソクロナス転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Iso input area 191l, information (here, the device name) for specifying the USB device 160 having the isochronous transfer end point is displayed, and is provided at a position adjacent to the information for specifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

Bul入力領域191mには、バルク転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。   In the Bull input area 191m, information (here, the device name) for specifying the USB device 160 having the bulk transfer end point is displayed, and is provided at a position adjacent to the information for specifying the USB device 160. The input of the percentage (ratio) of the bandwidth allocated to each device in the percentage input area.

図12に戻り、端末130の通信管理部140は、USBデバイス160のマウス165及びキーボード166の少なくとも何れか一方を介して、端末130のオペレータより、通信管理画面191において、優先情報の入力を受け付ける(S42)。   Returning to FIG. 12, the communication management unit 140 of the terminal 130 receives input of priority information on the communication management screen 191 from the operator of the terminal 130 via at least one of the mouse 165 and the keyboard 166 of the USB device 160. (S42).

なお、ステップS42においては、通信管理部118は、端末からサーバ方向への優先情報入力領域191b、および、サーバから端末方向への優先情報入力領域191h、で入力を受け付ける項目の初期値を次のように設定しておく。なお、利用者が優先情報の入力を行わない場合は初期値が適用される。   In step S42, the communication management unit 118 sets initial values of items to be input in the priority information input area 191b from the terminal to the server direction and the priority information input area 191h from the server to the terminal direction as follows. Set as follows. The initial value is applied when the user does not input priority information.

(1)転送タイプ間優先順位の選択入力領域191c及び転送タイプ間優先順位の選択入力領域191iでは、初期値として優先順位Aが選択される。   (1) In the transfer type priority selection input area 191c and the transfer type priority selection input area 191i, the priority A is selected as an initial value.

(2)Int入力領域191e、Iso入力領域191f、Bul入力領域191g、Int入力領域191k、Iso入力領域191l、および、Bul入力領域191mには、各々の入力領域に含まれるUSBデバイス160の数がnとすると、各々のUSBデバイス160に対して1/nの割合が初期値として入力される。つまり、同じ転送グループ内のUSBデバイス160の帯域の割合を均一とする。   (2) Int input area 191e, Iso input area 191f, Bul input area 191g, Int input area 191k, Iso input area 191l, and Bul input area 191m include the number of USB devices 160 included in each input area. Assuming n, a ratio of 1 / n is input as an initial value for each USB device 160. That is, the band ratio of the USB devices 160 in the same transfer group is made uniform.

そして、通信管理画面191を介して入力された優先度を特定する情報は、サーバ110の通信管理部118が取得する(S43)。   And the information which specifies the priority input via the communication management screen 191 is acquired by the communication management unit 118 of the server 110 (S43).

次に、サーバ110の通信管理部118は、通信管理画面191のサーバから端末方向への優先情報入力領域191hに入力された情報からサーバ110用の通信管理情報を生成し、通信管理情報記憶領域113に記憶する(S44)。   Next, the communication management unit 118 of the server 110 generates communication management information for the server 110 from the information input to the priority information input area 191h from the server to the terminal on the communication management screen 191, and the communication management information storage area It memorize | stores in 113 (S44).

例えば、通信管理部118は、図14(サーバ110用の通信管理情報テーブル113aの概略図)に示すような通信管理情報テーブル113aを生成する。   For example, the communication management unit 118 generates a communication management information table 113a as shown in FIG. 14 (schematic diagram of the communication management information table 113a for the server 110).

図示するように、サーバ110用の通信管理情報テーブル113aは、グループ優先順位特定領域113bと、Intグループ内優先度特定領域113cと、Isoグループ内優先度特定領域113dと、Bulkグループ内優先度特定領域113eと、を有する。   As illustrated, the communication management information table 113a for the server 110 includes a group priority order specifying area 113b, an Int group priority specifying area 113c, an Iso group priority specifying area 113d, and a Bulk group priority specifying. Region 113e.

グループ優先順位特定領域113bには、端末方向への優先度入力領域191hの転送タイプ間優先順位の選択入力領域191iで選択された転送タイプ間の優先順位を特定する情報が格納される。   The group priority order specifying area 113b stores information for specifying the priority order between the transfer types selected in the transfer type priority selection input area 191i of the priority input area 191h in the terminal direction.

Intグループ内優先度特定領域113cには、USBデバイスごとの利用帯域の割合の設定入力領域191jのInt入力領域191kに入力された情報が格納される。   In the Int group priority specifying area 113c, information input to the Int input area 191k of the setting input area 191j of the ratio of the used bandwidth for each USB device is stored.

Isoグループ内優先度特定領域113dには、USBデバイスごとの利用帯域の割合の設定入力領域191jのIso入力領域191lに入力された情報が格納される。   In the Iso group priority specifying area 113d, information input to the Iso input area 191l of the setting input area 191j of the usage band ratio for each USB device is stored.

Bulkグループ内優先度特定領域113eには、USBデバイスごとの利用帯域の割合の設定入力領域191jのBul入力領域191mに入力された情報が格納される。   In the Bulk group priority specifying area 113e, information input to the Bulk input area 191m of the setting input area 191j of the ratio of the used bandwidth for each USB device is stored.

図12に戻り、サーバ110の通信管理部118は、通信管理画面191の端末からサーバへの優先度入力領域191bに入力された情報から端末130用の通信管理情報を生成し、リモート通信部120に出力する(S45)。   Returning to FIG. 12, the communication management unit 118 of the server 110 generates communication management information for the terminal 130 from the information input in the priority input area 191 b from the terminal to the server on the communication management screen 191, and the remote communication unit 120. (S45).

例えば、通信管理部118は、図15(端末130用の通信管理情報テーブル133aの概略図)に示すような通信管理情報テーブル133aを生成する。   For example, the communication management unit 118 generates a communication management information table 133a as shown in FIG. 15 (schematic diagram of the communication management information table 133a for the terminal 130).

図示するように、端末130用の通信管理情報テーブル133aは、グループ優先順位特定領域133bと、Intグループ内優先度特定領域133cと、Isoグループ内優先度特定領域133dと、Bulkグループ内優先度特定領域133eと、を有する。   As shown in the figure, the communication management information table 133a for the terminal 130 includes a group priority order specifying area 133b, an Int group priority specifying area 133c, an Iso group priority specifying area 133d, and a Bulk group priority specifying. And a region 133e.

グループ優先順位特定領域133bには、サーバ方向への優先度入力領域191bの転送タイプ間優先順位の選択入力領域191cで選択された転送タイプ間の優先順位を特定する情報が格納される。   In the group priority order specifying area 133b, information for specifying the priority order between the transfer types selected in the selection input area 191c of the transfer type priority order in the priority input area 191b in the server direction is stored.

Intグループ内優先度特定領域133cには、USBデバイスごとの利用帯域の割合の設定入力領域191dのInt入力領域191eに入力された情報が格納される。   In the Int group priority specifying area 133c, information input to the Int input area 191e of the setting input area 191d of the ratio of the used bandwidth for each USB device is stored.

Isoグループ内優先度特定領域133dには、USBデバイスごとの利用帯域の割合の設定入力領域191dのIso入力領域191fに入力された情報が格納される。   In the Iso group priority specifying area 133d, information input to the Iso input area 191f of the setting input area 191d of the ratio of the used bandwidth for each USB device is stored.

Bulkグループ内優先度特定領域133eには、USBデバイスごとの利用帯域の割合の設定入力領域191dのBul入力領域191gに入力された情報が格納される。   In the Bulk group priority specifying area 133e, information input to the Bulk input area 191g of the setting input area 191d of the ratio of the used bandwidth for each USB device is stored.

図12に戻り、次に、リモート通信部120は、通信管理部118が生成した端末130用の通信管理情報を、Cont通信路171を介して端末130に送信する(S46)。   Returning to FIG. 12, next, the remote communication unit 120 transmits the communication management information for the terminal 130 generated by the communication management unit 118 to the terminal 130 via the Cont communication path 171 (S46).

このような端末130用の通信管理情報を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶する(S47)。   The local communication unit 143 of the terminal 130 that has received the communication management information for the terminal 130 outputs the received communication management information to the communication management unit 140, and the communication management unit 140 stores the communication management information 140 in the communication management information storage area 133. (S47).

図16は、端末130に接続されたUSBデバイス160を使って、サーバ110のアプリ処理部117がアプリケーションによる処理を実行する際の情報の流れを示すシーケンス図である。   FIG. 16 is a sequence diagram illustrating a flow of information when the application processing unit 117 of the server 110 executes processing by an application using the USB device 160 connected to the terminal 130.

まず、端末130のオペレータが、端末130に接続されているUSBデバイス160を利用してサーバ110のアプリ処理部117が制御しているアプリケーションを操作すると(例えば、オペレータがキーボード166に入力するなど)、USBデバイス160はUSBデータを生成し、USBケーブル経由で端末130のUSBシステム制御部142に送信する(S50)。   First, when the operator of the terminal 130 operates an application controlled by the application processing unit 117 of the server 110 using the USB device 160 connected to the terminal 130 (for example, the operator inputs to the keyboard 166). The USB device 160 generates USB data and transmits it to the USB system control unit 142 of the terminal 130 via the USB cable (S50).

次に、USBシステム制御部142が、受信したUSBデータをURB構造体に作り直し、切替制御部139経由でローカル通信部143へ出力する(S51)。   Next, the USB system control unit 142 recreates the received USB data into a URB structure, and outputs it to the local communication unit 143 via the switching control unit 139 (S51).

次に、ローカル通信部143のローカルURB振分部144が、USBシステム制御部142から受信したURBを各通信路の制御部に振り分ける(S52)。   Next, the local URB distribution unit 144 of the local communication unit 143 distributes the URB received from the USB system control unit 142 to the control unit of each communication path (S52).

例えば、ローカルURB振分部144は、コントロール転送のURBをCont通信路ローカル制御部145へ、インタラプト転送のURBをInt通信路ローカル制御部146へ、アイソクロナス転送のURBをIso通信路ローカル制御部147へ、バルク転送のURBをBulk通信路ローカル制御部148へ振り分ける。   For example, the local URB allocating unit 144 transfers the control transfer URB to the Cont channel local control unit 145, the interrupt transfer URB to the Int channel local control unit 146, and the isochronous transfer URB to the Iso channel local control unit 147. The bulk transfer URB is distributed to the Bulk communication path local control unit 148.

そして、ローカル通信部143は、各通信路171〜174を用いて、情報をサーバ110に送信する(S53)。なお、各通信路171〜174での通信は並列(独立)に行われる。   Then, the local communication unit 143 transmits information to the server 110 using the communication paths 171 to 174 (S53). Note that communication on each of the communication paths 171 to 174 is performed in parallel (independently).

例えば、図6に示すようなCont通信路171では、URB受信部145aが、ローカルURB振分部144から受信したURB(コントロール転送のURB)をPDUに分割し、送信バッファ145bに格納する。   For example, in the Cont communication path 171 as shown in FIG. 6, the URB reception unit 145a divides the URB (control transfer URB) received from the local URB distribution unit 144 into PDUs and stores them in the transmission buffer 145b.

そして、データパケット送信部145cが送信バッファの中のPDUを取り出し、Cont通信路171に送信する。Cont通信路171は、TCPセッションを利用してデータ送受信するため、データパケット送信部145cが送信したデータがすべてデータパケット受信部122dへ到着することが保証される。   Then, the data packet transmission unit 145 c extracts the PDU from the transmission buffer and transmits it to the Cont communication path 171. Since the Cont communication path 171 transmits and receives data using a TCP session, it is guaranteed that all data transmitted by the data packet transmission unit 145c arrives at the data packet reception unit 122d.

データパケット受信部122dはCont通信路171からPDUを受信し、受信バッファ122eに格納する。   The data packet receiving unit 122d receives the PDU from the Cont communication path 171 and stores it in the reception buffer 122e.

そして、URB送信部122fが、受信バッファ122eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。   Then, the URB transmission unit 122f extracts the PDU from the reception buffer 122e, constructs a URB, and transmits the URB to the remote URB distribution unit 121.

また、図7に示すようなInt通信路172では、Int通信路ローカル制御部146のURB受信部146aが、ローカルURB振分部144から受信したURB(インタラプト転送のURB)をPDUに分割し、送信バッファ146bに格納する。   In the Int communication path 172 as shown in FIG. 7, the URB receiving unit 146a of the Int communication path local control unit 146 divides the URB (URB for interrupt transfer) received from the local URB distributing unit 144 into PDUs, Store in the transmission buffer 146b.

そして、データパケット送信部146cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのIntグループ内優先度特定領域133cに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ146bの中のPDUを取り出し、Int通信路172に送信する。   Then, the data packet transmission unit 146c determines according to the bandwidth ratio of each USB device 160 stored in the Int group priority specifying area 133c of the communication management information table 133a stored in the communication management information storage area 133. The PDU in the transmission buffer 146b is taken out and transmitted to the Int communication path 172.

また、データパケット受信部123dは、Int通信路172からPDUを受信し、受信バッファ123eに格納する。   The data packet receiving unit 123d receives the PDU from the Int communication path 172 and stores it in the reception buffer 123e.

そして、URB送信部123fが、受信バッファ123eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。   Then, the URB transmission unit 123f extracts the PDU from the reception buffer 123e, constructs the URB, and transmits it to the remote URB distribution unit 121.

なお、再送部123hは、受信バッファ123eに格納されているPDUのPDUシーケンス及びURBシーケンスを確認し、受信したPDUのPDUシーケンス及びURBシーケンスを特定した受信確認を、Int通信路172を介して、Int通信路ローカル制御部146に送信する。   Note that the retransmission unit 123h confirms the PDU sequence and URB sequence of the PDU stored in the reception buffer 123e, and confirms the reception confirmation specifying the PDU sequence and URB sequence of the received PDU via the Int communication path 172. Transmit to the Int communication path local control unit 146.

一方、再送部123hは、受信バッファ123eに格納されているPDUのPDUシーケンス及びURBシーケンスを確認し、特定のURBシーケンスにおけるPDUシーケンスに抜けがある場合には、抜けているPDUシーケンス及びURBシーケンスを特定した再送要求を、Int通信路172を介して、Int通信路ローカル制御部146に送信する。   On the other hand, the retransmission unit 123h confirms the PDU sequence and URB sequence of the PDU stored in the reception buffer 123e. If there is a missing PDU sequence in a specific URB sequence, the retransmission unit 123h displays the missing PDU sequence and URB sequence. The identified retransmission request is transmitted to the Int communication path local control unit 146 via the Int communication path 172.

また、図8に示すようなIso通信路173では、Iso通信路ローカル制御部147のURB受信部147aが、ローカルURB振分部144から受信したURB(アイソクロナス転送のURB)をPDUに分割し、送信バッファ147bに格納する。   In the Iso communication path 173 as shown in FIG. 8, the URB receiving unit 147a of the Iso communication path local control unit 147 divides the URB (URB of isochronous transfer) received from the local URB distribution unit 144 into PDUs, Store in the transmission buffer 147b.

そして、データパケット送信部147cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのIsoグループ内優先度特定領域133dに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ147bの中のPDUを取り出し、Iso通信路173に送信する。   Then, the data packet transmission unit 147c determines according to the bandwidth ratio of each USB device 160 stored in the Iso group priority specifying area 133d of the communication management information table 133a stored in the communication management information storage area 133. The PDU in the transmission buffer 147b is taken out and transmitted to the Iso communication path 173.

なお、レート通信部147hは、データパケット送信部147cが、予め定められた個数(例えば、10個)のパケットを送信するごとに、この個数のパケットの平均転送レートを計算し、レート情報としてIso通信路173を介してIso通信路リモート制御部124に送信する。   The rate communication unit 147h calculates the average transfer rate of this number of packets every time the data packet transmission unit 147c transmits a predetermined number (for example, 10) of packets, and uses the Iso as rate information. The data is transmitted to the Iso communication path remote control unit 124 via the communication path 173.

データパケット受信部124dは、Iso通信路173からPDUを受信し、受信バッファ124eに格納する。   The data packet receiving unit 124d receives the PDU from the Iso communication path 173 and stores it in the reception buffer 124e.

また、データパケット受信部124dは、Iso通信路173から受信したレート情報を、レート通信部124hに出力する。   Further, the data packet receiving unit 124d outputs the rate information received from the Iso communication path 173 to the rate communication unit 124h.

そして、URB送信部124fが、受信バッファ124eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。   Then, the URB transmission unit 124f extracts the PDU from the reception buffer 124e, constructs the URB, and transmits it to the remote URB distribution unit 121.

なお、Iso通信路173は、UDPを利用してデータを送受信するため、送信中のデータの損失が発生する可能性がある。つまり、データパケット送信部147cが送信したPDUがデータパケット受信部124dに到着しないことがあるが、Iso通信路173では再送を行わない。   Since the Iso communication path 173 transmits and receives data using UDP, there is a possibility of loss of data being transmitted. That is, the PDU transmitted by the data packet transmission unit 147c may not arrive at the data packet reception unit 124d, but is not retransmitted on the Iso communication path 173.

また、図9に示すようなBulk通信路174では、Bulk通信路ローカル制御部148のURB受信部148aが、ローカルURB振分部144から受信したURB(バルク転送のURB)をPDUに分割し、送信バッファ148bに格納する。   Further, in the Bulk communication path 174 as shown in FIG. 9, the URB reception unit 148a of the Bulk communication path local control unit 148 divides the URB (URB for bulk transfer) received from the local URB distribution unit 144 into PDUs, Store in the transmission buffer 148b.

そして、データパケット送信部148cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのBulkグループ内優先度特定領域133eに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ148bの中のPDUを取り出し、Bulk通信路174に送信する。   Then, the data packet transmission unit 148c determines the bandwidth ratio of each USB device 160 stored in the intra-Bulk group priority specifying area 133e of the communication management information table 133a stored in the communication management information storage area 133. The PDU in the transmission buffer 148 b is taken out and transmitted to the Bulk communication path 174.

また、データパケット受信部125dは、Bulk通信路174からPDUを受信し、受信バッファ125eに格納する。   Further, the data packet receiving unit 125d receives the PDU from the Bulk communication path 174 and stores it in the reception buffer 125e.

そして、URB送信部125fが、受信バッファ125eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。   Then, the URB transmission unit 125f extracts the PDU from the reception buffer 125e, constructs the URB, and transmits the URB to the remote URB distribution unit 121.

図16に戻り、リモート通信部120の各通信路におけるURB送信部122f、123f、124f、125fが、各通信路から受信したPDUを結合してURBを生成し(S54)、クラスドライバ処理部119に送信する(S55)。そして、クラスドライバ処理部119は、受信したURBをアプリ処理部117に出力して、アプリ処理部117での処理を実行する。   Returning to FIG. 16, the URB transmission units 122f, 123f, 124f, and 125f in each communication path of the remote communication unit 120 combine the PDUs received from the respective communication paths to generate a URB (S54), and the class driver processing unit 119. (S55). Then, the class driver processing unit 119 outputs the received URB to the application processing unit 117, and executes processing in the application processing unit 117.

一方、アプリ処理部117での処理に応じて、クラスドライバ処理部119が、USBデバイス160へデータを送信する場合、まず、クラスドライバ処理部119が、URBをリモート通信部120に送信する(S56)。   On the other hand, when the class driver processing unit 119 transmits data to the USB device 160 according to the processing in the application processing unit 117, first, the class driver processing unit 119 transmits the URB to the remote communication unit 120 (S56). ).

リモート通信部120のリモートURB振分部121は、受信したURBを各通信路の制御部へ振り分ける(S57)。   The remote URB distribution unit 121 of the remote communication unit 120 distributes the received URB to the control unit of each communication path (S57).

例えば、コントロール転送のURBをCont通信路リモート制御部122へ、インタラプト転送のURBをInt通信路リモート制御部123へ、アイソクロナス転送のURBをIso通信路リモート制御部124へ、バルク転送のURBをBulk通信路リモート制御部125へ振り分ける。   For example, control transfer URB to Cont channel remote control unit 122, interrupt transfer URB to Int channel remote control unit 123, isochronous transfer URB to Iso channel remote control unit 124, bulk transfer URB to Bulk Sort to the communication path remote control unit 125.

そして、リモート通信部120は、各通信路171〜174を用いて、情報を端末130に送信する(S58)。なお、各通信路171〜174での通信は並列(独立)に行われる。   And the remote communication part 120 transmits information to the terminal 130 using each communication channel 171-174 (S58). Note that communication on each of the communication paths 171 to 174 is performed in parallel (independently).

ローカル通信部143の各通信路におけるURB送信部145f、146f、147f、148fが、各通信路から受信したPDUを結合してURBを生成し(S59)、USBシステム制御部142に送信する(S60)。そして、USBシステム制御部142は、受信したURBからUSBデータを生成し、対象となるUSBデバイス160に出力する(S61)。   The URB transmission units 145f, 146f, 147f, and 148f in each communication path of the local communication unit 143 combine the PDUs received from the respective communication paths to generate a URB (S59) and transmit it to the USB system control unit 142 (S60). ). Then, the USB system control unit 142 generates USB data from the received URB and outputs the USB data to the target USB device 160 (S61).

図17は、Int通信路ローカル制御部146のデータパケット送信部146cでの処理を示すフローチャートである。   FIG. 17 is a flowchart showing processing in the data packet transmission unit 146c of the Int communication path local control unit 146.

まず、データパケット送信部146cは、送信バッファ146bに未送信のPDUがあるか否かを確認する(S70)。そして、未送信PDUがない場合は(ステップS70でNo)、ステップS70を繰り返す。一方、未送信PDUがある場合は(ステップS70でYes)、ステップS71に進む。   First, the data packet transmission unit 146c checks whether or not there is an untransmitted PDU in the transmission buffer 146b (S70). If there is no unsent PDU (No in step S70), step S70 is repeated. On the other hand, if there is an unsent PDU (Yes in step S70), the process proceeds to step S71.

ステップS71では、データパケット送信部146cは、通信路間協調部146gから送信レートの値を取得する。   In step S71, the data packet transmission unit 146c acquires the value of the transmission rate from the inter-communication path cooperation unit 146g.

次に、データパケット送信部146cが、送信タイミングになるまで待機し(S72)、送信タイミングになった場合には(S72でYes)、ステップS73に進む。   Next, the data packet transmission unit 146c waits until the transmission timing is reached (S72), and when the transmission timing is reached (Yes in S72), the process proceeds to step S73.

なお、ステップS72では、データパケット送信部146cは、下記の(1)式に示すL秒間待機する。   In step S72, the data packet transmission unit 146c waits for L seconds shown in the following equation (1).

Figure 2010251854
Figure 2010251854

ここで、Rは直前に送信したPDUのサイズ、Sは通信路間協調部146gが設定した送信レート、Tは直前のPDUを送信してから経過した時間である。   Here, R is the size of the PDU transmitted immediately before, S is the transmission rate set by the inter-communication channel cooperation unit 146g, and T is the time elapsed since the transmission of the immediately preceding PDU.

また、処理の開始以降送信したPDUがない場合は、L=0とする。つまり、データパケット送信部146cは送信レートがR又はそれ以下になるようにPDUの送信間隔を伸ばすことになる。   If no PDU has been transmitted since the start of processing, L = 0. That is, the data packet transmission unit 146c extends the transmission interval of PDUs so that the transmission rate is R or less.

ステップS73では、データパケット送信部146cは、送信バッファ146bの中の未送信のPDUを一つ選ぶ。ここで、PDUの選び方は次のようになる。   In step S73, the data packet transmitter 146c selects one untransmitted PDU in the transmission buffer 146b. Here, how to select a PDU is as follows.

送信対象となるPDUの送信元であるUSBデバイス160(ここでは、デバイスDという)の未送信PDUが選択される確率はd/Qとなる。ここで、dはデバイスDのIntグループ内の優先度(通信管理情報テーブル133aのIntグループ内優先度特定領域133cに格納された値)であり、Qは送信バッファ146bの中に未送信のPDUがあるすべてのデバイスのIntグループ内優先度の和である。   The probability that the untransmitted PDU of the USB device 160 (herein referred to as device D) that is the transmission source of the PDU to be transmitted is selected is d / Q. Here, d is the priority within the Int group of the device D (value stored in the Int group priority specifying area 133c of the communication management information table 133a), and Q is an untransmitted PDU in the transmission buffer 146b. Is the sum of Int group priorities of all devices.

次に、データパケット送信部146cは、ステップS73で選択されたPDUをInt通信路172に送信する(S74)。   Next, the data packet transmission unit 146c transmits the PDU selected in step S73 to the Int communication path 172 (S74).

次に、データパケット送信部146cは、ステップS74で送信したPDUの送信したタイミング及びサイズを記憶し(S75)、ステップS70に戻る。   Next, the data packet transmission unit 146c stores the transmission timing and size of the PDU transmitted in step S74 (S75), and returns to step S70.

なお、図17のフローチャートは、Int通信路ローカル制御部146のデータパケット送信部146cでの処理で説明したが、Int通信路リモート制御部123のデータパケット送信部123c、Bulk通信路ローカル制御部148のデータパケット送信部148c及びBulk通信路リモート制御部125のデータパケット送信部125cでも同様の処理が行われる。   In the flowchart of FIG. 17, the processing in the data packet transmission unit 146c of the Int communication path local control unit 146 has been described. However, the data packet transmission unit 123c of the Int communication path remote control unit 123, the Bulk communication path local control unit 148 The same processing is also performed in the data packet transmission unit 148 c of FIG.

図18は、Iso通信路ローカル制御部147のデータパケット送信部147cでの処理を示すフローチャートである。   FIG. 18 is a flowchart showing processing in the data packet transmission unit 147c of the Iso communication path local control unit 147.

まず、データパケット送信部147cは、送信バッファ147bに未送信のPDUがあるか否かを確認する(S80)。そして、未送信PDUがない場合は(ステップS80でNo)、ステップS80を繰り返す。一方、未送信PDUがある場合は(ステップS80でYes)、ステップS81に進む。   First, the data packet transmission unit 147c checks whether or not there is an untransmitted PDU in the transmission buffer 147b (S80). If there is no unsent PDU (No in step S80), step S80 is repeated. On the other hand, if there is an unsent PDU (Yes in step S80), the process proceeds to step S81.

ステップS81では、データパケット送信部147cは、通信路間協調部147gから送信レートの値を取得する。   In step S81, the data packet transmission unit 147c acquires a transmission rate value from the inter-communication path cooperation unit 147g.

次に、データパケット送信部147cは、送信バッファ147bの中の未送信のPDUを一つ選ぶ(S82)。ここで、PDUの選び方は図17のステップS73と同様である。   Next, the data packet transmission unit 147c selects one untransmitted PDU in the transmission buffer 147b (S82). Here, how to select the PDU is the same as that in step S73 in FIG.

次に、データパケット送信部147cが、送信タイミングであるか否かを確認し(S83)、送信タイミングである場合には(ステップS83でYes)ステップS84に進み、送信タイミングではない場合には(ステップS83でNo)ステップS86に進む。   Next, the data packet transmission unit 147c checks whether or not it is a transmission timing (S83). If it is the transmission timing (Yes in Step S83), the process proceeds to Step S84, and if it is not the transmission timing ( No in step S83) The process proceeds to step S86.

ここで、データパケット送信部147cは、下記の(2)式を計算し、算出した値Lが「0」以下の場合には送信タイミングであると判断し(ステップS83でYes)、算出した値Lが「0」よりも大きい場合には送信タイミングではないと判断する(ステップS83でNo)。   Here, the data packet transmission unit 147c calculates the following equation (2), and determines that it is the transmission timing when the calculated value L is “0” or less (Yes in step S83), and calculates the calculated value. If L is larger than “0”, it is determined that the transmission timing is not reached (No in step S83).

Figure 2010251854
Figure 2010251854

ここで、Rは直前に送信したPDUのサイズ、Sは通信路間協調部147gが設定した送信レート、Tは直前のPDUを送信してから経過した時間である。また、開始以降送信したPDUがない場合は、L=0とする。   Here, R is the size of the PDU transmitted immediately before, S is the transmission rate set by the inter-communication channel cooperation unit 147g, and T is the time elapsed since the transmission of the previous PDU. If there is no PDU transmitted after the start, L = 0.

ステップS84では、データパケット送信部147cは、ステップS82で選択されたPDUをIso通信路173に送信する。   In step S84, the data packet transmission unit 147c transmits the PDU selected in step S82 to the Iso communication path 173.

次に、データパケット送信部147cは、ステップS84で送信したPDUの送信したタイミング及びサイズを記憶し(S85)、ステップS80に戻る。   Next, the data packet transmission unit 147c stores the transmission timing and size of the PDU transmitted in step S84 (S85), and returns to step S80.

一方、ステップS86では、データパケット送信部147cは、ステップS82で選択されたPDUを廃棄して、ステップS80に戻る。   On the other hand, in step S86, the data packet transmission unit 147c discards the PDU selected in step S82 and returns to step S80.

なお、図18は、Iso通信路ローカル制御部147のデータパケット送信部147cでの処理として説明したが、Iso通信路リモート制御部124のデータパケット送信部124cでも同様の処理となる。   18 has been described as processing in the data packet transmission unit 147c of the Iso communication path local control unit 147, the same processing is performed in the data packet transmission unit 124c of the Iso communication path remote control unit 124.

図19は、端末130用の通信管理情報テーブル133aにおいて、優先順位Aが選択されている際のローカル通信部143での処理を示すシーケンス図である。   FIG. 19 is a sequence diagram illustrating processing in the local communication unit 143 when priority A is selected in the communication management information table 133a for the terminal 130.

まず、優先度が最も高いInt通信路ローカル制御部146においてパケット損失が検知されると(S90)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が最も低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S91)。例えば、Int通信路ローカル制御部146は、再送部146hが再送要求を受信すると、パケット損失が発生したものとする。   First, when a packet loss is detected in the Int communication channel local control unit 146 having the highest priority (S90), the inter-communication channel coordination unit 146g of the Int communication channel local control unit 146 performs the Bulk local control having the lowest priority. A bandwidth request is made to the inter-communication path cooperation unit 148g of the unit 148 (S91). For example, the Int communication path local control unit 146 assumes that packet loss has occurred when the retransmission unit 146h receives a retransmission request.

このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S92)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 that has received such a bandwidth request instructs the data packet transmission unit 148c to reduce the transmission rate, and the data packet transmission unit 148c halves the data transmission rate. (S92).

そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S93)。   Then, the inter-communication channel cooperation unit 148g of the Bulk local control unit 148 notifies the inter-communication channel cooperation unit 146g of the Int communication channel local control unit 146 that the data transmission rate has been lowered (S93).

なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S94)。   The data packet transmission unit 148c having lowered the data transmission rate gradually increases the transmission rate (S94).

例えば、データパケット送信部148cは、一つのPDUを送信するたびに、送信レート上限値を、UB/K(Mbps)だけ増加させる。ここで、UBはステップS92で半減された直後の送信レートの上限値であり、Kは予め定められた整数である。つまり、K個のPDUを送信する間に、Bulk通信路の上限値がステップS92を実施する直前の値に戻ることになる。   For example, the data packet transmission unit 148c increases the transmission rate upper limit value by UB / K (Mbps) every time one PDU is transmitted. Here, UB is the upper limit value of the transmission rate immediately after being halved in step S92, and K is a predetermined integer. That is, while transmitting K PDUs, the upper limit value of the Bulk communication path returns to the value immediately before performing step S92.

次に、Int通信路ローカル制御部146において、再びパケット損失を検知すると(S95)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が最も低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S96)。   Next, when the packet loss is detected again in the Int communication channel local control unit 146 (S95), the inter-communication channel coordination unit 146g of the Int communication channel local control unit 146 communicates with the Bulk local control unit 148 having the lowest priority. A bandwidth request is made to the road coordination unit 148g (S96).

このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S97)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 that has received such a bandwidth request instructs the data packet transmission unit 148c to reduce the transmission rate, and the data packet transmission unit 148c halves the data transmission rate. (S97).

そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S98)。   Then, the inter-communication channel cooperation unit 148g of the Bulk local control unit 148 notifies the inter-communication channel cooperation unit 146g of the Int communication channel local control unit 146 that the data transmission rate has been lowered (S98).

なお、データの送信レートを下げたデータパケット送信部148cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S98)。   The data packet transmission unit 148c having lowered the data transmission rate gradually increases the transmission rate in the same manner as in step S94 described above (S98).

例えば、データパケット送信部148cは、一つのPDUを送信するたびに、送信レート上限値を、(UB/K)+(UB’/K)(Mbps)だけ増加させる。ここで、UB’はステップS98で半減された直後の送信レートの上限値であり、Kは予め定められた整数である。即ち、PDUを送信する毎に、送信レートの上限値に、低下させた送信レートを整数Kで除算した値だけ加算するようにする(以下でも同様)。   For example, every time one PDU is transmitted, the data packet transmission unit 148c increases the transmission rate upper limit value by (UB / K) + (UB ′ / K) (Mbps). Here, UB 'is the upper limit value of the transmission rate immediately after being halved in step S98, and K is a predetermined integer. That is, every time a PDU is transmitted, only the value obtained by dividing the reduced transmission rate by the integer K is added to the upper limit value of the transmission rate (the same applies hereinafter).

次に、Int通信路ローカル制御部146において、再びパケット損失を検知すると(S100)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が最も低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S101)。   Next, when the packet loss is detected again in the Int communication path local control unit 146 (S100), the inter-communication path cooperation unit 146g of the Int communication path local control unit 146 communicates with the Bulk local control unit 148 having the lowest priority. A bandwidth request is made to the inter-road cooperation unit 148g (S101).

このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cでの送信レートが下げてしまうと、予め定められた閾値以下となってしまう場合には、送信レートを下げることができないと判断し(S102)、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げることができないとInt通信路ローカル制御部146の通信路間協調部146gに通知する(S103)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 that has received such a bandwidth request, when the transmission rate at the data packet transmission unit 148c is reduced, becomes less than a predetermined threshold. If the transmission rate of the Int communication path local control unit 146 cannot be decreased, the inter-communication path cooperation unit 148g of the Bulk local control unit 148 determines that the transmission rate cannot be decreased (S102). The cooperation unit 146g is notified (S103).

なお、データパケット送信部148cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S104)。   The data packet transmission unit 148c gradually increases the transmission rate in the same manner as in step S94 described above (S104).

そして、ステップS103において、送信レートを下げることができないとの通知を受けたInt通信路ローカル制御部146では、優先度が次に低いIsoローカル制御部147の通信路間協調部147gに帯域要求を行う(S105)。   In step S103, the Int communication channel local control unit 146 that has received the notification that the transmission rate cannot be lowered, sends a bandwidth request to the inter-communication channel cooperation unit 147g of the Iso local control unit 147 having the second lowest priority. It performs (S105).

このような帯域要求を受信したIsoローカル制御部147の通信路間協調部147gは、データパケット送信部147cでの送信レートが下げてしまうと、予め定められた閾値以下となってしまう場合には、送信レートを下げることができないと判断し(S106)、Isoローカル制御部147の通信路間協調部147gは、データの送信レートを下げることができないとInt通信路ローカル制御部146の通信路間協調部146gに通知する(S107)。   The inter-communication path cooperation unit 147g of the Iso local control unit 147 that has received such a bandwidth request is less than or equal to a predetermined threshold when the transmission rate at the data packet transmission unit 147c decreases. If the transmission rate of the Int communication path local control unit 146 cannot be decreased, the inter-communication path coordination unit 147g of the Iso local control unit 147 determines that the transmission rate cannot be decreased (S106). The cooperation unit 146g is notified (S107).

一方、ステップS106において、Isoローカル制御部147の通信路間協調部147gは、データパケット送信部147cでの送信レートが下げても予め定められた閾値以下とならない場合には、ステップS92及びステップS93と同様の処理を行う。   On the other hand, in step S106, the inter-communication path cooperation unit 147g of the Iso local control unit 147 does not fall below the predetermined threshold even when the transmission rate in the data packet transmission unit 147c is lowered. The same processing is performed.

なお、データパケット送信部147cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S108)。   The data packet transmitter 147c gradually increases the transmission rate in the same manner as in step S94 described above (S108).

そして、ステップS107において、送信レートを下げることができないとの通知を受けたInt通信路ローカル制御部146では、通信路間協調部146gが、データパケット送信部146cに対して、に送信レートを下げるように指示し、データパケット送信部146cは、データの送信レートを半分に設定する(S109)。   In Step S107, the Int communication channel local control unit 146 that has received the notification that the transmission rate cannot be reduced, the inter-communication channel cooperation unit 146g reduces the transmission rate to the data packet transmission unit 146c. The data packet transmitter 146c sets the data transmission rate to half (S109).

そして、データの送信レートを下げたデータパケット送信部146cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S110)。   Then, the data packet transmission unit 146c having lowered the data transmission rate gradually increases the transmission rate in the same manner as in step S94 described above (S110).

なお、図19のステップS92、S97、S108では、送信レートを半減させているが、このような態様に限定されるものではなく、例えば、特定の割合や、特定の値で送信レートを低下させてもよい。   In steps S92, S97, and S108 in FIG. 19, the transmission rate is halved. However, the present invention is not limited to such a mode. For example, the transmission rate is decreased by a specific ratio or a specific value. May be.

また、図19では、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148での処理を説明したが、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125での処理も同様である。   In FIG. 19, the processing in the Int communication path local control unit 146, the Iso communication path local control unit 147, and the Bulk communication path local control unit 148 has been described. However, the Int communication path remote control unit 123, the Iso communication path remote control The processing in the unit 124 and Bulk communication channel remote control unit 125 is the same.

さらに、端末130用の通信管理情報テーブル133aにおいて、優先順位Aが選択されている際に、Iso通信路ローカル制御部147又はIso通信路リモート制御部124でパケット損失を検知した場合(例えば、相手方から通知された送信レートと自己で計測した受信レートとの差が所定の閾値を超えた場合)、図19での処理と同様に、Bulk通信路ローカル制御部148又はBulk通信路リモート制御部125に対して帯域要求を行うことが可能である。   Further, in the communication management information table 133a for the terminal 130, when the priority order A is selected, the packet loss is detected by the Iso communication path local control unit 147 or the Iso communication path remote control unit 124 (for example, the other party When the difference between the transmission rate notified from the received rate and the reception rate measured by itself exceeds a predetermined threshold value), the Bulk channel local control unit 148 or the Bulk channel remote control unit 125 is the same as the processing in FIG. It is possible to make a bandwidth request to

図20は、端末130用の通信管理情報テーブル133aにおいて、優先順位Bが選択されている際のローカル通信部143での処理を示すシーケンス図である。   FIG. 20 is a sequence diagram illustrating processing in the local communication unit 143 when priority order B is selected in the communication management information table 133a for the terminal 130.

まず、優先度が最も高いInt通信路ローカル制御部146においてパケット損失を検知すると(S111)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S112)。   First, when a packet loss is detected in the Int communication channel local control unit 146 having the highest priority (S111), the inter-communication channel coordinating unit 146g of the Int communication channel local control unit 146 sets the Bulk local control unit 148 having the lower priority. A bandwidth request is made to the inter-communication channel cooperation unit 148g (S112).

このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S113)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 that has received such a bandwidth request instructs the data packet transmission unit 148c to reduce the transmission rate, and the data packet transmission unit 148c halves the data transmission rate. (S113).

そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S114)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 notifies the inter-communication channel cooperation unit 146g of the Int communication channel local control unit 146 that the data transmission rate has been lowered (S114).

なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S115)。ここでは、図19のステップS94と同様の処理を行う。   The data packet transmission unit 148c having lowered the data transmission rate gradually increases the transmission rate (S115). Here, the same processing as step S94 of FIG. 19 is performed.

次に、Int通信路ローカル制御部146において、再びパケット損失を検知すると(S116)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が低いIsoローカル制御部147の通信路間協調部147gに帯域要求を行う(S117)。   Next, when the packet loss is detected again in the Int communication path local control unit 146 (S116), the inter-communication path cooperation unit 146g of the Int communication path local control unit 146 determines the communication path of the Iso local control unit 147 having a low priority. A bandwidth request is made to the inter-cooperation unit 147g (S117).

このような帯域要求を受信したIntローカル制御部147の通信路間協調部147gは、データパケット送信部147cに送信レートを下げるように指示し、データパケット送信部147cは、データの送信レートを半分に設定する(S118)。   Upon receiving such a bandwidth request, the inter-channel coordination unit 147g of the Int local control unit 147 instructs the data packet transmission unit 147c to lower the transmission rate, and the data packet transmission unit 147c halves the data transmission rate. (S118).

そして、Isoローカル制御部147の通信路間協調部147gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S119)。   Then, the inter-communication path cooperation unit 147g of the Iso local control unit 147 notifies the inter-communication path cooperation unit 146g of the Int communication path local control unit 146 that the data transmission rate has been lowered (S119).

なお、データの送信レートを下げたデータパケット送信部147cは、上述のステップS114と同様にして、送信レートを徐々に上げる(S120)。   The data packet transmission unit 147c having lowered the data transmission rate gradually increases the transmission rate in the same manner as in step S114 described above (S120).

次に、Int通信路ローカル制御部146において、再びパケット損失を検知すると(S121)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S122)。   Next, when the Int communication path local control unit 146 detects the packet loss again (S121), the inter-communication path cooperation unit 146g of the Int communication path local control unit 146 determines the communication path of the Bulk local control unit 148 having a low priority. A bandwidth request is made to the inter-cooperation unit 148g (S122).

このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S123)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 that has received such a bandwidth request instructs the data packet transmission unit 148c to reduce the transmission rate, and the data packet transmission unit 148c halves the data transmission rate. (S123).

そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S124)。   The inter-communication channel cooperation unit 148g of the Bulk local control unit 148 notifies the inter-communication channel cooperation unit 146g of the Int communication channel local control unit 146 that the data transmission rate has been lowered (S124).

なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S125)。ここでは、ステップS115と同様の処理を行う。   The data packet transmission unit 148c having lowered the data transmission rate gradually increases the transmission rate (S125). Here, the same processing as step S115 is performed.

なお、図20では、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148での処理を説明したが、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125での処理も同様である。   In FIG. 20, the processing in the Int communication channel local control unit 146, the Iso communication channel local control unit 147, and the Bulk communication channel local control unit 148 has been described. However, the Int communication channel remote control unit 123, the Iso communication channel remote control. The processing in the unit 124 and Bulk communication channel remote control unit 125 is the same.

また、図20のステップS113、S118、S123では、送信レートを半減させているが、このような態様に限定されるものではなく、例えば、特定の割合や、特定の値で送信レートを低下させてもよい。   In addition, in steps S113, S118, and S123 in FIG. 20, the transmission rate is halved. However, the transmission rate is not limited to such a mode. For example, the transmission rate is decreased by a specific ratio or a specific value. May be.

図21は、通信システム100の稼働中(図11のステップS22を実行中)に、新しいUSBデバイス160が端末130に接続された場合の処理を示すシーケンス図である。   FIG. 21 is a sequence diagram illustrating processing when the new USB device 160 is connected to the terminal 130 while the communication system 100 is operating (step S22 of FIG. 11 is being executed).

まず、新しいUSBデバイス160が端末130に接続されると(S130)、端末130のUSBシステム制御部142において、新しいUSBデバイス160が端末130に接続されたことを検知して、USBシステム制御部142が、新しいUSBデバイス160のエニュメレーションを行う(S131)。   First, when a new USB device 160 is connected to the terminal 130 (S130), the USB system control unit 142 of the terminal 130 detects that the new USB device 160 is connected to the terminal 130, and then the USB system control unit 142. Enumerates the new USB device 160 (S131).

そして、USBシステム制御部142は、ローカル通信部143及びリモート通信部120経由で新しいUSBデバイス160の設定情報(USBデバイス情報)を、サーバ110のクラスドライバ処理部119に送信する(S132)。   Then, the USB system control unit 142 transmits the setting information (USB device information) of the new USB device 160 to the class driver processing unit 119 of the server 110 via the local communication unit 143 and the remote communication unit 120 (S132).

このような設定情報を受信したクラスドライバ処理部119は、USBデバイス160の設定を行い、新しく接続されたUSBデバイス160を使えるようにする(S133)。   Receiving such setting information, the class driver processing unit 119 sets the USB device 160 so that the newly connected USB device 160 can be used (S133).

次に、クラスドライバ処理部119は、通信管理部118に新しいUSBデバイス160が接続されたことを通知する(S134)。   Next, the class driver processing unit 119 notifies the communication management unit 118 that the new USB device 160 has been connected (S134).

次に、通信管理部118は、通信管理情報記憶領域113に記憶されているサーバ110用の通信管理情報テーブル113aに、ステップS132で送信されてきた設定情報に基づいて、新たに接続されたUSBデバイス160が属する転送タイプに応じて、Intグループ内優先度特定領域113c、Isoグループ内優先度特定領域113d又はBulkグループ内優先度特定領域113eの何れかに、新たに接続されたUSBデバイス160を識別するための識別情報を格納し、予め定められた方法で当該USBデバイス160に帯域を割り当てる。   Next, the communication management unit 118 adds the newly connected USB to the communication management information table 113a for the server 110 stored in the communication management information storage area 113 based on the setting information transmitted in step S132. Depending on the transfer type to which the device 160 belongs, the newly connected USB device 160 is placed in any one of the Int group priority specifying area 113c, the Iso group priority specifying area 113d, or the Bulk group priority specifying area 113e. Identification information for identification is stored, and a band is allocated to the USB device 160 by a predetermined method.

なお、新しいUSBデバイス160への帯域の割り当てについては、次のように設定する。   Note that the bandwidth allocation to the new USB device 160 is set as follows.

新しいUSBデバイス160(ここでは、デバイスRという)が、デバイスRが属する転送タイプ(ここでは、グループGという)に追加された場合、デバイスRのグループGにおける帯域の割合(g)は、下記の(3)式により求められる。   When a new USB device 160 (herein referred to as device R) is added to the transfer type to which device R belongs (herein referred to as group G), the proportion (g) of bandwidth in group G of device R is as follows: It is calculated | required by (3) Formula.

Figure 2010251854
Figure 2010251854

ここで、pは、グループGの既存のデバイス数である。また、グループGの既存のUSBデバイス160(ここでは、デバイスHとする)の帯域の割合(h)は、次の(4)により求められる。   Here, p is the number of existing devices in group G. Further, the bandwidth ratio (h) of the existing USB devices 160 (here, referred to as device H) of the group G is obtained by the following (4).

Figure 2010251854
Figure 2010251854

ここで、h’は、デバイスRがグループGに追加される前の、デバイスHの帯域の割合である。   Here, h ′ is a ratio of the band of the device H before the device R is added to the group G.

次に、通信管理部118は、新たに接続されたUSBデバイス160の設定情報を含む変更通知をリモート通信部120に出力する(S136)。   Next, the communication management unit 118 outputs a change notification including setting information of the newly connected USB device 160 to the remote communication unit 120 (S136).

そして、リモート通信部120は、変更通知を、Cont通信路171を介して端末130に送信する(S137)。   Then, the remote communication unit 120 transmits a change notification to the terminal 130 via the Cont communication path 171 (S137).

このような変更通知を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aを更新する(S138)。なお、この更新方法については、ステップS135での処理と同様である。   The local communication unit 143 of the terminal 130 that has received such a change notification outputs the received communication management information to the communication management unit 140, and the communication management information stored in the communication management information storage area 133 by the communication management unit 140. The table 133a is updated (S138). This update method is the same as the process in step S135.

図22は、通信システム100の稼働中(図11のステップS22を実行中)に、端末130に接続されているUSBデバイス160が取り外された場合の処理を示すシーケンス図である。   FIG. 22 is a sequence diagram showing processing when the USB device 160 connected to the terminal 130 is removed while the communication system 100 is operating (step S22 of FIG. 11 is being executed).

まず、USBデバイス160が端末130から取り外されると(S140)、端末130のUSBシステム制御部142において、USBデバイス160が端末130から取り外されたことを検知する(S141)。   First, when the USB device 160 is removed from the terminal 130 (S140), the USB system control unit 142 of the terminal 130 detects that the USB device 160 has been removed from the terminal 130 (S141).

そして、USBシステム制御部142は、ローカル通信部143及びリモート通信部120経由でUSBデバイス160が取り外されたことを、サーバ110のクラスドライバ処理部119に通知する(S142)。通知を受けたクラスドライバ処理部119は、取り外されたUSBデバイス160を利用するためのリソースを開放し(S143)、通信管理部118に対してデバイスリストの変更を通知する(S144)。   Then, the USB system control unit 142 notifies the class driver processing unit 119 of the server 110 that the USB device 160 has been removed via the local communication unit 143 and the remote communication unit 120 (S142). Upon receiving the notification, the class driver processing unit 119 releases resources for using the removed USB device 160 (S143), and notifies the communication management unit 118 of a change in the device list (S144).

次に、通信管理部118は、通信管理情報記憶領域113に記憶されているサーバ110用の通信管理情報テーブル113aのIntグループ内優先度特定領域113c、Isoグループ内優先度特定領域113d又はBulkグループ内優先度特定領域113eから、ステップS142で通知されたUSBデバイス160を削除して、削除したUSBデバイス160の帯域を、他のUSBデバイス160に割り当てる(S145)。   Next, the communication management unit 118 uses the Int group priority specifying area 113c, the Iso group priority specifying area 113d, or the Bulk group of the communication management information table 113a for the server 110 stored in the communication management information storage area 113. The USB device 160 notified in step S142 is deleted from the inner priority specifying area 113e, and the band of the deleted USB device 160 is allocated to another USB device 160 (S145).

なお、他のUSBデバイス160への割当(s)は、(5)式で求められる。   Note that the allocation (s) to the other USB devices 160 can be obtained by equation (5).

Figure 2010251854
Figure 2010251854

ここで、s’は、他のUSBデバイス160の割当前の帯域の割合であり、fは、USBデバイス160を削除する前のUSBデバイス160の数である。   Here, s ′ is the ratio of the bandwidth before the other USB devices 160 are allocated, and f is the number of USB devices 160 before the USB devices 160 are deleted.

但し、f=1の場合には、(5)式による計算を行わない。   However, when f = 1, the calculation according to the equation (5) is not performed.

次に、通信管理部118は、取り外されたUSBデバイス160の設定情報を含む変更通知をリモート通信部120に出力する(S146)。   Next, the communication management unit 118 outputs a change notification including the setting information of the removed USB device 160 to the remote communication unit 120 (S146).

そして、リモート通信部120は、変更通知を、Cont通信路171を介して端末130に送信する(S147)。   Then, the remote communication unit 120 transmits a change notification to the terminal 130 via the Cont communication path 171 (S147).

このような変更通知を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aを更新する(S148)。なお、この更新方法については、ステップS145での処理と同様である。   The local communication unit 143 of the terminal 130 that has received such a change notification outputs the received communication management information to the communication management unit 140, and the communication management information stored in the communication management information storage area 133 by the communication management unit 140. The table 133a is updated (S148). This update method is the same as the process in step S145.

図23は、通信システム100の稼働中(図11のステップS22を実行中)に、ネットワーク170が切断された場合の処理を示すシーケンス図である。   FIG. 23 is a sequence diagram showing processing when the network 170 is disconnected while the communication system 100 is in operation (during step S22 of FIG. 11).

まず、リモート通信部120とローカル通信部143との間のネットワーク170が切断されると、サーバ110のリモート通信部120及び端末130のローカル通信部143が、Cont通信路171のTCPセッションが切断されたことを検知する(S150)。   First, when the network 170 between the remote communication unit 120 and the local communication unit 143 is disconnected, the remote communication unit 120 of the server 110 and the local communication unit 143 of the terminal 130 are disconnected from the TCP session of the Cont communication path 171. (S150).

Cont通信路171のTCPセッションが切断されたことを検知したローカル通信部143は、切替制御部139にUSBデバイス160の制御を端末130のクラスドライバ処理部141に切り替えるように指示する(S151)。   The local communication unit 143 that has detected that the TCP session of the Cont communication path 171 has been disconnected instructs the switching control unit 139 to switch the control of the USB device 160 to the class driver processing unit 141 of the terminal 130 (S151).

クラスドライバ処理部141は、切替制御部139経由で、USBシステム制御部142からのUSBデバイス160の情報を受信して(S152)、USbデバイス160を制御し(S153)、端末管理アプリ処理部138に処理を行うように通知する(S154)。   The class driver processing unit 141 receives the information of the USB device 160 from the USB system control unit 142 via the switching control unit 139 (S152), controls the USb device 160 (S153), and the terminal management application processing unit 138. (S154).

そして、端末管理アプリ処理部138が、ログオン画面をモニタ164に表示することでサーバ110への接続が切断されることを利用者へ通知する(S155)。   Then, the terminal management application processing unit 138 notifies the user that the connection to the server 110 is disconnected by displaying the logon screen on the monitor 164 (S155).

一方、Cont通信路171のTCPセッションが切断されたことを検知したリモート通信部121は、USBデバイス160が利用不可になったことをクラスドライバ処理部119に通知する(S156)。   On the other hand, the remote communication unit 121 that has detected that the TCP session of the Cont communication path 171 has been disconnected notifies the class driver processing unit 119 that the USB device 160 has become unavailable (S156).

そして、リモート通信部121は、Cont通信路171のためのTCP通信ポート、Bulk通信路174のためのTCP通信ポート、Int通信路172のためのUDP通信ポート及びIso通信路173のためのUDP通信ポートでそれぞれデータを待ち受ける(S157)。   The remote communication unit 121 then transmits a TCP communication port for the Cont communication path 171, a TCP communication port for the Bulk communication path 174, a UDP communication port for the Int communication path 172, and a UDP communication for the Iso communication path 173. Each port waits for data (S157).

そして、クラスドライバ処理部119は、すべてのUSBデバイス160を制御するためのリソースを解放し(S158)、USBデバイス160を制御できなくなったこと通信管理部118に通知する(S159)。   Then, the class driver processing unit 119 releases resources for controlling all the USB devices 160 (S158), and notifies the communication management unit 118 that the USB devices 160 cannot be controlled (S159).

そして、通知を受けた通信管理部118は、次の接続が来るまで待機する(S160)。   Upon receiving the notification, the communication management unit 118 waits until the next connection comes (S160).

以上のように、本実施形態においては、サーバ110及び端末130間のネットワーク170の帯域が不十分な場合、各通信路172、173、174の制御部が協調して送信レートを制御するため、Bulk通信路174及びIso通信路173の転送が、Int通信路172を妨げることがなく、Int通信路172上の転送が円滑に行われる。   As described above, in this embodiment, when the bandwidth of the network 170 between the server 110 and the terminal 130 is insufficient, the control units of the communication paths 172, 173, and 174 cooperate to control the transmission rate. The transfer on the Bulk communication path 174 and the Iso communication path 173 does not interfere with the Int communication path 172, and the transfer on the Int communication path 172 is performed smoothly.

また、端末130のオペレータが、通信管理画面191で優先して利用したいUSBデバイス160を他のUSBデバイス160より多く帯域を割り当てることが可能である。   Further, the operator of the terminal 130 can allocate more bandwidth to the USB device 160 that the operator wants to use preferentially on the communication management screen 191 than the other USB devices 160.

さらに、本実施形態によれば、サーバ110及び端末130間のネットワーク170の帯域が不十分な場合でも、優先的にデータが転送されるインタラプト転送を利用しているHiDデバイス(例えばマウス、キーボードなど)を他のUSBデバイス160に優先して利用することができる。   Furthermore, according to the present embodiment, even when the bandwidth of the network 170 between the server 110 and the terminal 130 is insufficient, a HiD device (for example, a mouse, a keyboard, etc.) that uses interrupt transfer that preferentially transfers data. ) Can be used with priority over other USB devices 160.

また、本実施形態によれば、端末130のオペレータが優先して利用したいUSBデバイス160のデータが高い確率で選択されて転送されるため、これらのUSBデバイス160の動作が他のUSBデバイス160により妨げられることがない。   Further, according to the present embodiment, the data of the USB device 160 that the operator of the terminal 130 wants to use preferentially is selected and transferred with a high probability, so that the operation of these USB devices 160 is performed by other USB devices 160. There is no hindrance.

100 通信システム
110 サーバ
111 記憶部
112 USBデバイス情報記憶領域
113 通信管理情報記憶領域
115 制御部
116 全体制御部
117 アプリ処理部
118 通信管理部
119 クラスドライバ処理部
120 リモート通信部
126 TCP/IPスタック処理部
127 通信部
130 端末
131 記憶部
132 USBデバイス情報記憶領域
133 通信管理情報記憶領域
134 サーバ接続情報記憶領域
136 制御部
137 全体制御部
138 端末管理アプリ処理部
139 切替制御部
140 通信管理部
141 クラスドライバ処理部
142 USBシステム制御部
143 ローカル通信部
149 TCP/IPスタック処理部
151 通信部
152 I/F部
160 USBデバイス
100 communication system 110 server 111 storage unit 112 USB device information storage area 113 communication management information storage area 115 control unit 116 overall control unit 117 application processing unit 118 communication management unit 119 class driver processing unit 120 remote communication unit 126 TCP / IP stack processing Unit 127 communication unit 130 terminal 131 storage unit 132 USB device information storage region 133 communication management information storage region 134 server connection information storage region 136 control unit 137 overall control unit 138 terminal management application processing unit 139 switching control unit 140 communication management unit 141 class Driver processing unit 142 USB system control unit 143 Local communication unit 149 TCP / IP stack processing unit 151 Communication unit 152 I / F unit 160 USB device

Claims (16)

USBデバイスが接続された端末と、当該端末とネットワークを介して通信を行うサーバと、を備え、前記サーバが、前記端末に接続された前記USBデバイスの制御を行う通信システムであって、
前記サーバの制御部及び前記端末の制御部は、前記USBデバイスの属性に応じて、前記端末と前記サーバとの間に複数の通信路を設け、
前記サーバの制御部及び前記端末の制御部は、前記USBデバイスの制御に用いる情報を、前記USBデバイスの属性に対応する通信路を選択して、送受信すること、
を特徴とする通信システム。
A communication system comprising: a terminal connected to a USB device; and a server that communicates with the terminal via a network, wherein the server controls the USB device connected to the terminal,
The control unit of the server and the control unit of the terminal provide a plurality of communication paths between the terminal and the server according to the attribute of the USB device,
The control unit of the server and the control unit of the terminal transmit and receive information used for controlling the USB device by selecting a communication path corresponding to the attribute of the USB device;
A communication system characterized by the above.
請求項1に記載の通信システムであって、
前記USBデバイスの属性は、前記USBデバイスの転送特性であり、
前記サーバの制御部及び前記端末の制御部は、前記端末と前記サーバとの間に、コントロール転送に対応する通信路と、インタラプト転送に対応する通信路と、アイソクロナス転送を行う通信路と、バルク転送を行う通信路と、を設けること、
を特徴とする通信システム。
The communication system according to claim 1,
The attribute of the USB device is a transfer characteristic of the USB device,
The control unit of the server and the control unit of the terminal include a communication path corresponding to control transfer, a communication path corresponding to interrupt transfer, a communication path performing isochronous transfer, and a bulk between the terminal and the server. Providing a communication path for transferring,
A communication system characterized by the above.
請求項2に記載の通信システムであって、
前記複数の通信路には、優先順位を定めることができるようにされており、
前記サーバの制御部及び前記端末の制御部は、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とする通信システム。
A communication system according to claim 2,
The plurality of communication paths can be prioritized,
When the control unit of the server and the control unit of the terminal preferentially transmit / receive information transmitted / received through the communication path with a high priority, the communication rate of the communication path with the low priority is reduced,
A communication system characterized by the above.
請求項2又は3に記載の通信システムであって、
前記USBデバイスには、前記通信路毎に、前記通信路内における優先度を定めることができるようにされており、
前記サーバの制御部及び前記端末の制御部は、前記通信路毎に、前記通信路内における優先度に対応する帯域を前記USBデバイスに割り当てて、前記USBデバイスの制御に用いる情報を、前記USBデバイスに割り当てられた帯域で送受信すること、
を特徴とする通信システム。
The communication system according to claim 2 or 3,
In the USB device, for each communication path, priority in the communication path can be determined,
The control unit of the server and the control unit of the terminal allocate a band corresponding to a priority in the communication path to the USB device for each communication path, and use information for controlling the USB device as the USB device. Sending and receiving in the bandwidth allocated to the device,
A communication system characterized by the above.
請求項2から4の何れか一項に記載の通信システムであって、
前記コントロール転送に対応する通信路は、TCPに従った通信路であり、前記インタラプト転送に対応する通信路は、UDPに従った通信路であり、前記アイソクロナス転送を行う通信路は、UDPに従った通信路であり、前記バルク転送を行う通信路は、TCPに従った通信路であること、
を特徴とする通信システム。
A communication system according to any one of claims 2 to 4,
The communication path corresponding to the control transfer is a communication path according to TCP, the communication path corresponding to the interrupt transfer is a communication path according to UDP, and the communication path for performing the isochronous transfer is according to UDP. A communication path that performs the bulk transfer is a communication path according to TCP,
A communication system characterized by the above.
ネットワークを介して通信を行うサーバにより、接続されたUSBデバイスの制御を行わせる端末であって、
制御部が、
前記USBデバイスの属性に応じて、前記サーバとの間に複数の通信路を設ける処理と、
前記USBデバイスの制御に用いる情報を、前記USBデバイスの属性に対応する通信路を選択して、送受信する処理と、
を行うこと、
を特徴とする端末。
A terminal that controls a connected USB device by a server that communicates via a network,
The control unit
A process of providing a plurality of communication paths with the server according to the attribute of the USB device;
Processing for transmitting and receiving information used for controlling the USB device by selecting a communication path corresponding to the attribute of the USB device;
To do the
A terminal characterized by.
請求項6に記載の端末であって、
前記USBデバイスの属性は、前記USBデバイスの転送特性であり、
前記制御部は、前記サーバとの間に、コントロール転送に対応する通信路と、インタラプト転送に対応する通信路と、アイソクロナス転送を行う通信路と、バルク転送を行う通信路と、を設けること、
を特徴とする端末。
The terminal according to claim 6, wherein
The attribute of the USB device is a transfer characteristic of the USB device,
The control unit is provided with a communication path for control transfer, a communication path for interrupt transfer, a communication path for isochronous transfer, and a communication path for bulk transfer with the server.
A terminal characterized by.
請求項7に記載の端末であって、
前記複数の通信路には、優先順位を定めることができるようにされており、
前記制御部は、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とする端末。
The terminal according to claim 7, wherein
The plurality of communication paths can be prioritized,
When the control unit preferentially transmits and receives information to be transmitted and received on the communication path with the higher priority, the control unit reduces the communication rate of the communication path with the lower priority.
A terminal characterized by.
請求項7又は8に記載の端末であって、
前記USBデバイスには、前記通信路毎に、前記通信路内における優先度を定めることができるようにされており、
前記制御部は、前記通信路毎に、前記通信路内における優先度に対応する帯域を前記USBデバイスに割り当てて、前記USBデバイスの制御に用いる情報を、前記USBデバイスに割り当てられた帯域で送受信すること、
を特徴とする端末。
The terminal according to claim 7 or 8, wherein
In the USB device, for each communication path, priority in the communication path can be determined,
For each communication path, the control unit allocates a band corresponding to a priority in the communication path to the USB device, and transmits and receives information used for controlling the USB device in the band allocated to the USB device. To do,
A terminal characterized by.
請求項7から9の何れか一項に記載の端末であって、
前記コントロール転送に対応する通信路は、TCPに従った通信路であり、前記インタラプト転送に対応する通信路は、UDPに従った通信路であり、前記アイソクロナス転送を行う通信路は、UDPに従った通信路であり、前記バルク転送を行う通信路は、TCPに従った通信路であること、
を特徴とする端末。
A terminal according to any one of claims 7 to 9,
The communication path corresponding to the control transfer is a communication path according to TCP, the communication path corresponding to the interrupt transfer is a communication path according to UDP, and the communication path for performing the isochronous transfer is according to UDP. A communication path that performs the bulk transfer is a communication path according to TCP,
A terminal characterized by.
コンピュータを、ネットワークを介して通信を行うサーバにより、接続されたUSBデバイスの制御を行わせる端末として機能させるプログラムであって、
前記コンピュータを、
前記USBデバイスの属性に応じて、前記サーバとの間に複数の通信路を設ける処理と、
前記USBデバイスの制御に用いる情報を、前記USBデバイスの属性に対応する通信路を選択して、送受信する処理と、
を行う制御手段として機能させること、
を特徴とするプログラム。
A program that causes a computer to function as a terminal that controls a connected USB device by a server that communicates via a network,
The computer,
A process of providing a plurality of communication paths with the server according to the attribute of the USB device;
Processing for transmitting and receiving information used for controlling the USB device by selecting a communication path corresponding to the attribute of the USB device;
Functioning as a control means for performing
A program characterized by
請求項11に記載のプログラムであって、
前記USBデバイスの属性は、前記USBデバイスの転送特性であり、
前記制御手段に、前記サーバとの間に、コントロール転送に対応する通信路と、インタラプト転送に対応する通信路と、アイソクロナス転送を行う通信路と、バルク転送を行う通信路と、を設けさせること、
を特徴とするプログラム。
The program according to claim 11,
The attribute of the USB device is a transfer characteristic of the USB device,
The control means is provided with a communication path corresponding to control transfer, a communication path corresponding to interrupt transfer, a communication path performing isochronous transfer, and a communication path performing bulk transfer with the server. ,
A program characterized by
請求項12に記載のプログラムであって、
前記複数の通信路には、優先順位を定めることができるようにされており、
前記制御手段に、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とするプログラム。
A program according to claim 12,
The plurality of communication paths can be prioritized,
When preferentially transmitting / receiving information transmitted / received through the communication path with a high priority to the control means, reducing the communication rate of the communication path with a low priority;
A program characterized by
請求項12又は13に記載のプログラムであって、
前記USBデバイスには、前記通信路毎に、前記通信路内における優先度を定めることができるようにされており、
前記制御手段に、前記通信路毎に、前記通信路内における優先度に対応する帯域を前記USBデバイスに割り当てて、前記USBデバイスの制御に用いる情報を、前記USBデバイスに割り当てられた帯域で送受信させること、
を特徴とするプログラム。
A program according to claim 12 or 13,
In the USB device, for each communication path, priority within the communication path can be determined,
For each communication path, a bandwidth corresponding to the priority in the communication path is allocated to the USB device, and information used for controlling the USB device is transmitted and received in the bandwidth allocated to the USB device. Letting
A program characterized by
請求項12から14の何れか一項に記載のプログラムであって、
前記コントロール転送に対応する通信路は、TCPに従った通信路であり、前記インタラプト転送に対応する通信路は、UDPに従った通信路であり、前記アイソクロナス転送を行う通信路は、UDPに従った通信路であり、前記バルク転送を行う通信路は、TCPに従った通信路であること、
を特徴とするプログラム。
The program according to any one of claims 12 to 14,
The communication path corresponding to the control transfer is a communication path according to TCP, the communication path corresponding to the interrupt transfer is a communication path according to UDP, and the communication path for performing the isochronous transfer is according to UDP. A communication path that performs the bulk transfer is a communication path according to TCP,
A program characterized by
USBデバイスが接続された端末と、当該端末とネットワークを介して通信を行うサーバと、を備え、前記サーバが、前記端末に接続された前記USBデバイスの制御を行う通信システムで行われる通信方法であって、
前記サーバの制御部及び前記端末の制御部が、前記USBデバイスの属性に応じて、前記端末と前記サーバとの間に複数の通信路を設ける処理を行う過程と、
前記サーバの制御部及び前記端末の制御部が、前記USBデバイスの制御に用いる情報を、前記USBデバイスの属性に対応する通信路を選択して、送受信する処理を行う過程と、を有すること、
を特徴とする通信方法。
A communication method performed in a communication system that includes a terminal to which a USB device is connected and a server that communicates with the terminal via a network, wherein the server controls the USB device connected to the terminal. There,
A process in which the control unit of the server and the control unit of the terminal perform a process of providing a plurality of communication paths between the terminal and the server according to the attribute of the USB device;
A process in which the control unit of the server and the control unit of the terminal select and transmit / receive information used for control of the USB device by selecting a communication path corresponding to the attribute of the USB device;
A communication method characterized by the above.
JP2009096240A 2009-04-10 2009-04-10 Communication system, terminal, program, and communication method Pending JP2010251854A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009096240A JP2010251854A (en) 2009-04-10 2009-04-10 Communication system, terminal, program, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009096240A JP2010251854A (en) 2009-04-10 2009-04-10 Communication system, terminal, program, and communication method

Publications (1)

Publication Number Publication Date
JP2010251854A true JP2010251854A (en) 2010-11-04

Family

ID=43313737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009096240A Pending JP2010251854A (en) 2009-04-10 2009-04-10 Communication system, terminal, program, and communication method

Country Status (1)

Country Link
JP (1) JP2010251854A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089012A (en) * 2010-10-21 2012-05-10 Buffalo Inc Connection device and method for transmitting packet
EP2453063A2 (en) 2010-11-10 2012-05-16 Kobelco Construction Machinery Co. Ltd. Upper frame for a construction machine
JP2012226523A (en) * 2011-04-19 2012-11-15 Fujitsu Ltd Storage device, control device, and control method
JP2016529569A (en) * 2013-05-16 2016-09-23 インテル コーポレイション Apparatus, system, and method for supporting streaming over protocol adaptation layer (PAL)
JP2017092758A (en) * 2015-11-12 2017-05-25 日本電信電話株式会社 Data communication system, method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089012A (en) * 2010-10-21 2012-05-10 Buffalo Inc Connection device and method for transmitting packet
EP2453063A2 (en) 2010-11-10 2012-05-16 Kobelco Construction Machinery Co. Ltd. Upper frame for a construction machine
JP2012226523A (en) * 2011-04-19 2012-11-15 Fujitsu Ltd Storage device, control device, and control method
JP2016529569A (en) * 2013-05-16 2016-09-23 インテル コーポレイション Apparatus, system, and method for supporting streaming over protocol adaptation layer (PAL)
US9923935B2 (en) 2013-05-16 2018-03-20 Intel Corporation Apparatus, system and method of supporting streaming over a protocol adaptation layer (PAL)
JP2017092758A (en) * 2015-11-12 2017-05-25 日本電信電話株式会社 Data communication system, method, and program

Similar Documents

Publication Publication Date Title
JP5640649B2 (en) Data communication method and information processing apparatus
US8738820B2 (en) Method and apparatus for wireless network communication wherein a universal serial bus request block (URB) is generated that will vary parameters that controls wireless transmission commands between devices
JP5882353B2 (en) Method and system for multi-connection in a file system session
CN102316589B (en) Method and apparatus for managing the usage of data link resources
CN101383732B (en) Intelligent failback in a load-balanced networking environment
US20030108031A1 (en) Relay connection management program, relay connection management method, relay connection management apparatus and recording medium which stores relay connection management program
CN101321085B (en) Intelligent failover in a load-balanced networking environment
US20170034270A1 (en) Methods and systems for efficiently moving data between nodes in a cluster
US9203890B2 (en) Relay device, relay system, and relay method
JP2010251854A (en) Communication system, terminal, program, and communication method
MXPA02010535A (en) A method and apparatus for peer to peer communication over an inherently master slave interface.
WO2010028571A1 (en) Large data object transmission method, transmission system, transmitting device and receiving device
CN1997028A (en) Information processing apparatus, information processing method, and program
US8239548B2 (en) Endpoint discriminator in network transport protocol startup packets
KR100881538B1 (en) Method to configure a bluetooth logical link control and adaptation protocol channel
EP1511273B1 (en) Packet receiving method for use in a mobile terminal
US7796531B2 (en) Method, a device and a system for transferring data
EP1263175B1 (en) Wireless device, information processing apparatus, and device driver load method
CN107222379A (en) A kind of method and apparatus of serial communication
EP2670104B1 (en) Method and device for transferring data via more than one communications interface
CN106714294B (en) Multi-channel TCP/IP header compression synchronization method applied to smart power grid
US6965570B2 (en) Communication controller and computer product
CN102217282A (en) Method and device for dynamically closing/opening function of SCTP socket listening connection
CN1756261B (en) Buffer area managing method based on SCTP end-point
US20230144294A1 (en) Method for data transmission of audio and video in end-to-end system