JP2010251854A - Communication system, terminal, program, and communication method - Google Patents
Communication system, terminal, program, and communication method Download PDFInfo
- 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
Links
Images
Abstract
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
非特許文献1に記載の技術は、USBを介して端末に接続されたデバイスを、ネットワークにあるリモート計算機で利用することができるようにしているが、ネットワークの混雑状況によりデバイスへの接続状況が左右され、例えば、複数のデバイスの中で利用者が重要と考えているデバイスが使用できない場合や、このようなデバイスでの処理が遅延する場合がある。
The technology described in Non-Patent
そこで、本発明は、端末に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は、本発明の一実施形態である通信システム100の概略図である。図示するように、通信システム100は、サーバ110と、端末130と、端末130に接続されたUSBデバイス160と、を備え、サーバ110及び端末130は、ネットワーク170を介して相互に情報の送受信を行うことができるようにされており、サーバ110は、ネットワーク170を介して、端末130に接続されたUSBデバイス160を利用することができるようにされている。
FIG. 1 is a schematic diagram of a
図2は、サーバ110の概略図である。図示するように、サーバ110は、記憶部111と、制御部115と、通信部127と、を備える。
FIG. 2 is a schematic diagram of the
記憶部111は、USBデバイス情報記憶領域112と、通信管理情報記憶領域113と、を備える。
The
USBデバイス情報記憶領域112には、USBデバイス160から送られてくるデバイスの属性を特定するUSBデバイス情報が記憶される。例えば、本実施形態においては、エニュメレーションによって得られたUSBデバイス160の属性を特定する情報が、USBデバイス160毎に記憶される。
In the USB device
通信管理情報記憶領域113には、サーバ110と端末130との間で確立される通信路の優先度と、各々の通信路において各々のUSBデバイス160に割り当てる帯域と、を特定する通信管理情報が記憶される。なお、通信管理情報の詳細については、図14を用いて詳細に説明する。
In the communication management
制御部115は、全体制御部116と、アプリ処理部117と、通信管理部118と、クラスドライバ処理部119と、リモート通信部120と、TCP/IPスタック処理部126と、を備える。
The
全体制御部116は、サーバ110での処理の全体を制御する。
The
アプリ処理部117は、サーバ110で動作するアプリケーションを制御する。
The
通信管理部118は、サーバ110で行う通信処理を制御する。
The
例えば、本実施形態においては、後述するように、図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
さらに、通信管理部118は、通信管理情報記憶領域113に記憶されている通信管理情報に従って、USBデバイス160との間の通信の通信管理を行う。
Furthermore, the
クラスドライバ処理部119は、アプリ処理部117で制御されているアプリケーションとUSBデバイス160との間の情報の送受信を制御する。
The class
リモート通信部120は、USBデバイス160の属性に応じて、端末130との間で確立された四つの通信路から、使用する通信路を選択し、当該通信路を使用するUSBデバイス160間の優先度に応じた帯域で、通信を行う処理を制御する。
The
TCP/IPスタック処理部126は、トランスポートプロトコル(TCPやUDP)及びソケットプログラム(プログラムとトランスポートプロトコル)等、通信部127を介して情報をネットワーク170に送受信する処理を制御する。
The TCP / IP
通信部127は、ネットワーク170を介した情報の送受信を行う。
The
以上に記載したサーバ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
例えば、記憶部111は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部115は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、通信部127は、CPU901が通信装置908を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
The predetermined program is downloaded from the
図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
記憶部131は、USBデバイス情報記憶領域132と、通信管理情報記憶領域133と、サーバ接続情報記憶領域134と、を備える。
The
USBデバイス情報記憶領域132には、USBデバイス160から送られてくるデバイスの属性を特定するUSBデバイス情報が記憶される。例えば、本実施形態においては、エニュメレーションによって得られたUSBデバイス160の属性を特定する情報が、USBデバイス160毎に記憶される。
In the USB device
通信管理情報記憶領域133には、サーバ110と端末130との間で確立される通信路の優先度と、各々の通信路において各々のUSBデバイス160に割り当てる帯域と、を特定する通信管理情報が記憶される。なお、通信管理情報の詳細については、図15を用いて詳細に説明する。
In the communication management
サーバ接続情報記憶領域134には、サーバ110との間で四つの通信路を確立するための接続情報が格納される。例えば、サーバ110のIPアドレス、サーバ110のリモート通信部120が通信に利用するポート番号、等が記憶される。
The server connection
制御部136は、全体制御部137と、端末管理アプリ処理部138と、切替制御部139と、通信管理部140と、クラスドライバ処理部141と、USBシステム制御部142と、ローカル通信部143と、TCP/IPスタック処理部149と、を備える。
The
全体制御部137は、端末130での処理の全体を制御する。
The
端末管理アプリ処理部138は、端末130で動作するアプリケーションを制御する。
The terminal management
切替制御部139は、USBデバイス160を、サーバ110で利用するか、端末130で利用するか、を切り替える処理を行う。例えば、本実施形態においては、USBデバイス160を用いた処理で使用する情報を、USBシステム制御部142とクラスドライバ処理部141との間で送受信するか、USBシステム制御部142とローカル通信部143との間で送受信するか、を切り替える。
The switching
通信管理部140は、端末130で行う通信処理を制御する。
The
例えば、本実施形態においては、サーバ110より送信されてくる通信管理情報を通信管理情報記憶領域133に記憶し、通信管理情報記憶領域113に記憶されている通信管理情報に従って、サーバ110との間の通信の通信管理を行う。
For example, in the present embodiment, the communication management information transmitted from the
クラスドライバ処理部141は、端末管理アプリ処理部138で制御されるアプリケーションと、USBデバイス160と、の間の情報の送受信を制御する。
The class
USBシステム制御部142は、後述するI/F部152に接続されているUSBデバイス160を制御する。
The USB
ローカル通信部143は、USBデバイス160の属性に応じて、サーバ110との間で確立された四つの通信路から、使用する通信路を選択し、当該通信路を使用するUSBデバイス160間の優先度に応じた帯域で、通信を行う処理を制御する。
The
TCP/IPスタック処理部149は、トランスポートプロトコル(TCPやUDP)及びソケットプログラム(プログラムとトランスポートプロトコル)等に従って、通信部151を介して情報をネットワーク170に送受信する処理を制御する。
The TCP / IP
以上に記載した端末130は、例えば、図3に示すような一般的なコンピュータ900で実現できる。
The terminal 130 described above can be realized by, for example, a
例えば、記憶部131は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部136は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、通信部151は、CPU901が通信装置908を利用することで実現可能であり、I/F部152は、CPU901がUSBインタフェース909を利用することで実現可能である。
For example, the
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、通信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
The predetermined program is downloaded from the
図1に戻り、USBデバイス160は、例えば、監視カメラ161、通帳繰越記帳機162、静脈認証デバイス163、モニタ164、マウス165及びキーボード166等が含まれるがこのような態様に限定されるものではない。
Returning to FIG. 1, the
図5は、リモート通信部120及びローカル通信部143を介してUSBデバイス160を利用する際の情報の流れを示す概略図である。
FIG. 5 is a schematic diagram illustrating a flow of information when the
リモート通信部120及びローカル通信部143は、TCP/IPスタック処理部126及びTCP/IPスタック処理部149を用いて、クラスドライバ処理部119と、USBシステム制御部142と、の間の情報の送受信を中継する機能を備える。
The
まず、クラスドライバ処理部119及びUSBシステム制御部142は、USBドライバインタフェースにより決められたURB(USB Request Block)という構造体を用いて情報を送受信する。
First, the class
URBは、クラスドライバ処理部119がUSBデバイス160とやり取りする情報を格納し、USBシステム制御部142は、URB内の情報の転送を実行する。
The URB stores information that the class
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
エンドポイントは、エンドポイントとクラスドライバ処理部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
(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
リモート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
また、リモートURB振分部121は、Cont通信路リモート制御部122、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125から受け取ったURBをクラスドライバ処理部119に出力する。
In addition, the remote
Cont通信路リモート制御部122は、後述するローカル通信部143のCont通信路ローカル制御部145との間でCont通信路171を用いて、情報の送受信を行う。
The Cont communication channel
Int通信路リモート制御部123は、後述するローカル通信部143のInt通信路ローカル制御部146との間でInt通信路172を用いて、情報の送受信を行う。
The Int communication path
Iso通信路リモート制御部124は、後述するローカル通信部143のIso通信路ローカル制御部147との間でIso通信路173を用いて、情報の送受信を行う。
The Iso communication channel
Bulk通信路リモート制御部125は、後述するローカル通信部143のBulk通信路ローカル制御部148との間でBulk通信路174を用いて、情報の送受信を行う。
The Bulk communication path
なお、Cont通信路リモート制御部122、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125の詳細は、図6〜9を用いて説明する。
Details of the Cont channel
ローカル通信部143は、ローカルURB振分部144と、Cont通信路ローカル制御部145と、Int通信路ローカル制御部146と、Iso通信路ローカル制御部147と、Bulk通信路ローカル制御部148と、を備える。
The
ローカル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
また、ローカルURB振分部144は、Cont通信路ローカル制御部145、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148から受け取ったURBをUSBシステム制御部142に出力する。
In addition, the local
Cont通信路ローカル制御部145は、リモート通信部120のCont通信路リモート制御部122との間でCont通信路171を用いて、情報の送受信を行う。
The Cont communication path
Int通信路ローカル制御部146は、リモート通信部120のInt通信路リモート制御部123との間でInt通信路172を用いて、情報の送受信を行う。
The Int communication path
Iso通信路ローカル制御部147は、リモート通信部120のIso通信路リモート制御部124との間でIso通信路173を用いて、情報の送受信を行う。
The Iso communication path
Bulk通信路ローカル制御部148は、リモート通信部120のBulk通信路リモート制御部125との間でBulk通信路174を用いて、情報の送受信を行う。
The Bulk communication path
なお、Cont通信路ローカル制御部145、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148の詳細は、図6〜9を用いて説明する。
Details of the Cont channel
図6は、Cont通信路リモート制御部122と、Cont通信路ローカル制御部145と、の間で情報の送受信を行う際の流れを示す概略図である。
FIG. 6 is a schematic diagram illustrating a flow when information is transmitted / received between the Cont channel
Cont通信路リモート制御部122は、URB受信部122aと、送信バッファ122bと、データパケット送信部122cと、データパケット受信部122dと、受信バッファ122eと、URB送信部122fと、通信管理情報中継部122gと、を備える。
The Cont channel
URB受信部122aは、リモートURB振分部121よりCont通信路171を介して送信するURBを受信し、URBに含まれる情報を分割して図10(PDU190の概略図)に示すようなPDU(Program Data Unit)190を生成し、送信バッファ122bに出力する。
The
ここで、PDUは、URBをIPのネットワーク170に送信する際に、URBをキャップセルするための構造体である。
Here, the PDU is a structure for capcelling the URB when transmitting the URB to the
図10に示すようにPDUは、データ格納領域190aと、データサイズ格納領域190bと、PDUシーケンス格納領域190cと、URBシーケンス格納領域190dと、を有する。
As shown in FIG. 10, the PDU has a
データ格納領域190aには、送信するURB又は送信するURBを分割したデータが格納される。
In the
データサイズ格納領域190bには、データ格納領域190aに格納した情報のデータサイズが格納される。なお、PDU全体サイズは、1460バイト以外の値でもよい。
The data
PDUシーケンス格納領域190cには、データ格納領域190aに格納された分割されたデータが、送信するURBの中の何番目のデータであるか(何番目のPDUであるか)を特定する情報が格納される。
The PDU
URBシーケンス格納領域190dには、PDUが転送するURBを識別するための識別情報を特定する情報が格納される。
In the URB
なお、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
データパケット送信部122cは、送信バッファ122bに格納されているPDUを予め定められた順番で読み出し、Cont通信路171を介して送信する。
The data
データパケット受信部122dは、Cont通信路171を介して送信されたPDUを受信し、受信バッファ122eに格納する処理を行う。
The data packet reception unit 122d performs a process of receiving the PDU transmitted via the
受信バッファ122eは、データパケット受信部122dから受け取ったPDUを一時的に格納する。
The
URB送信部122fは、受信バッファ122eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。
The
通信管理情報中継部122gは、通信管理部118が生成した端末用の通信管理情報を、Cont通信路171を介して送信する。
The communication management
Cont通信路ローカル制御部145は、URB受信部145aと、送信バッファ145bと、データパケット送信部145cと、データパケット受信部145dと、受信バッファ145eと、URB送信部145fと、通信管理情報中継部145gと、を備える。
The Cont channel
URB受信部145aは、ローカルURB振分部144よりCont通信路171を介して送信するURBを受信し、URBに含まれる情報を分割して図10に示すようなPDU190を生成し、送信バッファ145bに出力する。
The
送信バッファ145bは、URB受信部145aで生成されたPDUを一時的に格納する。
The
データパケット送信部145cは、送信バッファ145bに格納されているPDUを予め定められた順番で読み出し、Cont通信路171を介して送信する。
The data packet transmission unit 145c reads out the PDUs stored in the
データパケット受信部145dは、Cont通信路171を介して送信されたPDUを受信し、受信バッファ145eに格納する処理を行う。
The data
データパケット受信部145dは、Cont通信路171を介して受信した情報が端末用の通信管理情報である場合には、通信管理情報中継部145gに出力する。
When the information received via the
受信バッファ145eは、データパケット受信部145dから受け取ったPDUを一時的に格納する。
The
URB送信部145fは、受信バッファ145eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。
The
通信管理情報中継部145gは、リモート通信部120から送られてきた端末用の通信管理情報や通信管理情報の変更通知を受信し、通信管理部140に出力する。
The communication management
なお、Cont通信路171は、サーバ110と、端末130と、の間に張る一つのTCP(Transmission Control Protocol)セッションである。
The
図7は、Int通信路リモート制御部123と、Int通信路ローカル制御部146と、の間で情報の送受信を行う際の流れを示す概略図である。
FIG. 7 is a schematic diagram illustrating a flow when information is transmitted / received between the Int communication path
Int通信路リモート制御部123は、URB受信部123aと、送信バッファ123bと、データパケット送信部123cと、データパケット受信部123dと、受信バッファ123eと、URB送信部123fと、通信路間協調部123gと、再送部123hと、を備える。
Int communication channel
URB受信部123aは、リモートURB振分部121よりInt通信路172を介して送信するURBを受信し、URBに含まれる情報を(必要な場合には分割して)図10に示すようなPDU190を生成し、送信バッファ123bに出力する。
The
なお、URB受信部123aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ123bの記憶領域に当該URBから生成されたPDUを格納する。
The
送信バッファ123bは、URB受信部123aで生成されたPDUを一時的に格納する。
The
また、送信バッファ123bは、データパケット送信部123cが読み出したPDUパケットを、再送部123hからの削除指示があるまで格納し続ける。
Further, the
データパケット送信部123cは、送信バッファ123bに格納されているPDUを予め定められた順番で読み出し、Int通信路172を介して送信する。
The data
ここで、データパケット送信部123cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部123cは、通信路間協調部123gの指示により、Int通信路172に送信するデータの送信レートを調節する。
In addition, the data
さらに、データパケット送信部123cは、再送部123hからの再送指示に応じて、再送指示の対象となるPDUを送信バッファ123bから読み出し、Int通信路172を介して送信する。
Further, the data
データパケット受信部123dは、Int通信路172を介して送信されたPDUを受信し、受信バッファ123eに格納する処理を行う。
The data
また、データパケット受信部123dは、Int通信路172を介して受信した再送要求又は受領通知を再送部123hに出力する。
Further, the data
受信バッファ123eは、データパケット受信部123dから受け取ったPDUを一時的に格納する。
The
URB送信部123fは、受信バッファ123eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。
The
通信路間協調部123gは、Iso通信路リモート制御部124及びBulk通信路リモート制御部125と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部123cから出力する情報の送信レートを定める。
The inter-communication
再送部123hは、受信バッファ123eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照し、PDUシーケンスに欠落がある場合には、当該PDUシーケンスを特定した再送要求を、Int通信路172を介して送信する。
The
また、再送部123hは、受信バッファ123eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているPDUシーケンス及びURBシーケンスを特定した受領通知を、Int通信路172を介して送信する。
Also, the
さらに、再送部123hは、Intローカル制御部146の再送部146hから送信されてきた受領通知に含まれているPDUシーケンス及びURBシーケンスに対応するPDUを送信バッファ123bから削除する。
Further, the
Int通信路ローカル制御部146は、URB受信部146aと、送信バッファ146bと、データパケット送信部146cと、データパケット受信部146dと、受信バッファ146eと、URB送信部146fと、通信路間協調部146gと、再送部146hと、を備える。
Int communication path
URB受信部146aは、ローカルURB振分部144よりInt通信路172を介して送信するURBを受信し、URBに含まれる情報を分割して図10に示すようなPDU190を生成し、送信バッファ146bに出力する。
The
なお、URB受信部146aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ146bの記憶領域に当該URBから生成されたPDUを格納する。
The
送信バッファ146bは、URB受信部146aで生成されたPDUを一時的に格納する。
The
なお、送信バッファ146bは、データパケット送信部146cが読み出したPDUパケットを、再送部146hからの削除指示があるまで格納し続ける。
The
データパケット送信部146cは、送信バッファ146bに格納されているPDUを予め定められた順番で読み出し、Int通信路172を介して送信する。
The data
ここで、データパケット送信部146cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部146cは、通信路間協調部146gの指示により、Int通信路172に送信するデータの送信レートを調節する。
Further, the data
さらに、データパケット送信部146cは、再送部146hからの再送指示に応じて、再送指示の対象となるPDUを送信バッファ146bから読み出し、Int通信路172を介して送信する。
Further, the data
データパケット受信部146dは、Int通信路172を介して送信されたPDUを受信し、受信バッファ146eに格納する処理を行う。
The data
また、データパケット受信部146dは、Int通信路172を介して受信した再送要求又は受領通知を再送部146hに出力する。
In addition, the data
受信バッファ146eは、データパケット受信部146dから受け取ったPDUを一時的に格納する。
The
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
通信路間協調部146gは、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部146cから出力する情報の送信レートを定める。
The inter-communication
再送部146hは、受信バッファ146eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照し、PDUシーケンスに欠落がある場合には、当該PDUシーケンスを特定した再送要求を、Int通信路172を介して送信する。
The
また、再送部146hは、受信バッファ146eに格納されたPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているPDUシーケンス及びURBシーケンスを特定した受領通知を、Int通信路172を介して送信する。
Also, the
さらに、再送部146hは、Intリモート制御部123の再送部123hから送信されてきた受領通知に含まれているPDUシーケンス及びURBシーケンスに対応するPDUを送信バッファ146bから削除する。
Further, the
なお、Int通信路172は、サーバ110の一つのUDP(User Datagram Protocol)ポートと、端末130の一つのUDPポートと、の間でUDPパケットを送受信する通信路である。
The
図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
Iso通信路リモート制御部124は、URB受信部124aと、送信バッファ124bと、データパケット送信部124cと、データパケット受信部124dと、受信バッファ124eと、URB送信部124fと、通信路間協調部124gと、レート通信部124hと、を備える。
The Iso communication channel
URB受信部124aは、リモートURB振分部121よりIso通信路173を介して送信するURBを受信し、URBに含まれる情報を(場合によっては分割して)図10に示すようなPDU190を生成し、送信バッファ124bに出力する。
The
なお、URB受信部124aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ124bの記憶領域に当該URBから生成されたPDUを格納する。
The
送信バッファ124bは、URB受信部124aで生成されたPDUを一時的に格納する。
The
データパケット送信部124cは、送信バッファ124bに格納されているPDUを予め定められた順番で読み出し、Iso通信路173を介して送信する。
The data
ここで、データパケット送信部124cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部124cは、通信路間協調部124gの指示により、Iso通信路173に送信するデータの送信レートを調節する。
Further, the data
データパケット受信部124dは、Iso通信路173を介して送信されたPDUを受信し、受信バッファ124eに格納する処理を行う。
The data
また、データパケット受信部124dは、Iso通信路173を介して受信した送信レートを特定するレート情報をレート通信部124hに出力する。
In addition, the data
受信バッファ124eは、データパケット受信部124dから受け取ったPDUを一時的に格納する。
The
URB送信部124fは、受信バッファ124eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。
The
通信路間協調部124gは、Int通信路リモート制御部123及びBulk通信路リモート制御部125と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部124cから出力する情報の送信レートを定める。
The inter-communication
レート通信部124hは、Iso通信路ローカル制御部147のレート通信部147hとの間で、送信レート及び受信レートを特定するレート情報を送受信する。
The
Iso通信路ローカル制御部147は、URB受信部147aと、送信バッファ147bと、データパケット送信部147cと、データパケット受信部147dと、受信バッファ147eと、URB送信部147fと、通信路間協調部147gと、レート通信部147hと、を備える。
The Iso communication path
URB受信部147aは、ローカルURB振分部144よりIso通信路173を介して送信するURBを受信し、URBに含まれる情報を(場合によって分割して)図10に示すようなPDU190を生成し、送信バッファ147bに出力する。
The URB receiving unit 147a receives the URB transmitted from the local
なお、URB受信部147aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ147bの記憶領域に当該URBから生成されたPDUを格納する。
The URB reception unit 147a identifies the
送信バッファ147bは、URB受信部147aで生成されたPDUを一時的に格納する。
The
データパケット送信部147cは、送信バッファ147bに格納されているPDUを予め定められた順番で読み出し、Iso通信路173を介して送信する。
The data
ここで、データパケット送信部147cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部147cは、通信路間協調部147gの指示により、Iso通信路173に送信するデータの送信レートを調節する。
In addition, the data
データパケット受信部147dは、Iso通信路173を介して送信されたPDUを受信し、受信バッファ147eに格納する処理を行う。
The data
また、データパケット受信部147dは、Iso通信路173を介して受信した送信レートを特定するレート情報をレート通信部147hに出力する。
Further, the data
受信バッファ147eは、データパケット受信部147dから受け取ったPDUを一時的に格納する。
The reception buffer 147e temporarily stores the PDU received from the data
URB送信部147fは、受信バッファ147eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、ローカルURB振分部144に出力する。
The
通信路間協調部147gは、Int通信路ローカル制御部146及びBulk通信路ローカル制御部148と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部147cから出力する情報の送信レートを定める。
The inter-communication channel cooperation unit 147g cooperates with the Int communication channel
レート通信部147hは、Iso通信路リモート制御部124のレート通信部124hとの間で、送信レート及び受信レートを特定するレート情報を送受信する。
The
なお、Iso通信路173は、サーバ110の一つのUDPポート(Int通信路で使用されるものとは異なるUDPポート)と、端末130の一つのUDPポート(Int通信路で使用されるものとは異なるUDPポート)と、の間でUDPパケットを送受信する通信路である。
Note that the
図9は、Bulk通信路リモート制御部125と、Bulk通信路ローカル制御部148と、の間で情報の送受信を行う際の流れを示す概略図である。
FIG. 9 is a schematic diagram showing a flow when information is transmitted / received between the Bulk communication channel
Bulk通信路リモート制御部125は、URB受信部125aと、送信バッファ125bと、データパケット送信部125cと、データパケット受信部125dと、受信バッファ125eと、URB送信部125fと、通信路間協調部125gと、を備える。
The Bulk communication path
URB受信部125aは、リモートURB振分部121よりBulk通信路174を介して送信するURBを受信し、URBに含まれる情報を(場合により分割して)図10に示すようなPDU190を生成し、送信バッファ125bに出力する。
The
なお、URB受信部125aは、リモートURB振分部121より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ125bの記憶領域に当該URBから生成されたPDUを格納する。
The
送信バッファ125bは、URB受信部125aで生成されたPDUを一時的に格納する。
The
データパケット送信部125cは、送信バッファ125bに格納されているPDUを予め定められた順番で読み出し、Bulk通信路174を介して送信する。
The data
ここで、データパケット送信部125cは、通信管理情報記憶領域113に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部125cは、通信路間協調部125gの指示により、Bulk通信路174に送信するデータの送信レートを調節する。
In addition, the data
データパケット受信部125dは、Bulk通信路174を介して送信されたPDUを受信し、受信バッファ125eに格納する処理を行う。
The data
受信バッファ125eは、データパケット受信部125dから受け取ったPDUを一時的に格納する。
The
URB送信部125fは、受信バッファ125eに格納されているPDUのPDUシーケンス格納領域190c及びURBシーケンス格納領域190dに格納されているデータを参照することで、URBを結合し、リモートURB振分部121に出力する。
The URB transmission unit 125f refers to the data stored in the PDU
通信路間協調部125gは、Int通信路リモート制御部123及びIso通信路リモート制御部124と協調して、通信管理情報記憶領域113に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部125cから出力する情報の送信レートを定める。
The inter-communication
Bulk通信路ローカル制御部148は、URB受信部148aと、送信バッファ148bと、データパケット送信部148cと、データパケット受信部148dと、受信バッファ148eと、URB送信部148fと、通信路間協調部148gと、を備える。
The Bulk communication channel
URB受信部148aは、ローカルURB振分部144よりBulk通信路174を介して送信するURBを受信し、URBに含まれる情報を(場合によって分割して)図10に示すようなPDU190を生成し、送信バッファ148bに出力する。
The
なお、URB受信部148aは、ローカルURB振分部144より受信したURBから、情報を送信するUSBデバイス160を特定し、特定したUSBデバイス160に対応する送信バッファ148bの記憶領域に当該URBから生成されたPDUを格納する。
The
送信バッファ148bは、URB受信部148aで生成されたPDUを一時的に格納する。
The
データパケット送信部148cは、送信バッファ148bに格納されているPDUを予め定められた順番で読み出し、Bulk通信路174を介して送信する。
The data
ここで、データパケット送信部148cは、通信管理情報記憶領域133に記憶されている通信管理情報で特定されるUSBデバイス160の優先度に応じた比率で、当該USBデバイス160毎に分けられた記憶領域からPDUを読み出す。
Here, the data
また、データパケット送信部148cは、通信路間協調部148gの指示により、Bulk通信路174に送信するデータの送信レートを調節する。
Further, the data
データパケット受信部148dは、Bulk通信路174を介して送信されたPDUを受信し、受信バッファ148eに格納する処理を行う。
The data
受信バッファ148eは、データパケット受信部148dから受け取ったPDUを一時的に格納する。
The
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
通信路間協調部148gは、Int通信路ローカル制御部146及びIso通信路ローカル制御部147と協調して、通信管理情報記憶領域133に記憶されている通信管理情報で特定される通信路間の優先順位に応じて、データパケット送信部148cから出力する情報の送信レートを定める。
The inter-communication
なお、Bulk通信路174は、サーバ110と、端末130と、の間に張る一つのTCPセッション(Cont通信路171とは異なるセッション)である。
The
図11は、通信システム100において、サーバ110が端末130に接続されているUSBデバイス160を利用する際の全体的な処理を示すフローチャートである。
FIG. 11 is a flowchart illustrating overall processing when the
まず、サーバ110の全体制御部116は、サーバ110のオペレータよりサーバ110の電源の投入を受け付ける(S10)。
First, the
次に、サーバ110の全体制御部116は、サーバ110を起動して(S11)、Cont通信路171のためのTCP通信ポート、Bulk通信路174のためのTCP通信ポート、Int通信路172のためのUDP通信ポート及びIso通信路173のためのUDP通信ポートでそれぞれデータを待ち受ける(S12)。そして、通信管理部118での処理を開始する。
Next, the
一方、端末130の全体制御部137は、端末130のオペレータより端末130の電源の投入を受け付ける(S13)。なお、端末130のオペレータは、サーバ110がステップS12の接続待ちとなったことを確認してから、電源を入力するものとする。
On the other hand, the
次に、端末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
そして、端末130のオペレータは、USBデバイス160を操作して、端末管理アプリ処理部138に対してログオンを行う(S16)。
Then, the operator of the terminal 130 operates the
端末管理アプリ処理部138は、オペレータのログオンが成功すると切替制御部139にUSBシステム制御部142とローカル通信部143とを接続するように命令する(S17)。
When the operator logs on successfully, the terminal management
次に、端末130のローカル通信部143が、サーバ接続情報記憶領域134に記憶されているサーバ接続情報を利用して、四つの通信路を設置する(S18)。例えば、ローカル通信部143は、Cont通信路171が利用するTCPセッション及びBulk通信路174が利用する各々のTCPセッションを、サーバ110との間に確立し、また、Int通信路172及びIso通信路173において、UDPを利用してデータの送受信を行うため、Int通信路ローカル制御部146及びIso通信路ローカル制御部147が、UDPパケットを送受信するための各々のソケットを作成する。
Next, the
次に、端末130のUSBシステム制御部142は、ローカル通信部143及びリモート通信部120を経由して、サーバ110のクラスドライバ処理部119にUSBデバイス160の設定情報を送信する(S19)。
Next, the USB
次に、サーバ110のクラスドライバ処理部119は、USBデバイス160を制御するためのリソース確保や、USBデバイス160を動作可能な状態に設定する(S20)。ステップS20の処理が完了することにより、端末130にUSBケーブルで接続されたUSBデバイス160がサーバ110で制御することができるようになる。
Next, the class
次に、サーバ110及び端末130では、端末130のオペレータより、通信路間の優先順位及びUSBデバイス160の優先度の設定を行う(S21)。ステップS21での処理については、図12を用いて詳細に説明する。
Next, in the
次に、端末130のオペレータが、USBデバイス160を使って、サーバ110のアプリ処理部117が提供するアプリケーションを利用して処理を実行する(S22)。ステップS22での処理については、図16を用いて詳細に説明する。
Next, the operator of the terminal 130 executes processing using the application provided by the
そして、端末130のオペレータが、リモートUSB切断指示の入力を行うと、端末130の通信管理部140が、サーバ110のリモート通信部120に対して、端末130からの接続を切断するように要求する(S23)。
When the operator of the terminal 130 inputs a remote USB disconnection instruction, the
次に、サーバ110のリモート通信部120が4つの通信路(171、172、173、174)におけるデータの送信を停止し、Cont通信路171とBulk通信路174が利用する二つのTCPセッションを切断する(S24)。
Next, the
そして、端末130の切替制御部139が、Cont通信路171とBulk通信路174のTCPセッションの切断を検知し、USBデバイス160の制御をクラスドライバ処理部141に切り替える(S25)。
Then, the switching
次に、端末130の全体制御部137は、端末130のオペレータより電源断の入力を受け付け(S26)、端末130を停止する(S27)。
Next, the
一方、サーバ110では、ステップS24でCont通信路171とBulk通信路174が利用する二つのTCPセッションを切断した後に、再び端末130から接続を待つ状態にもどる(S28)。
On the other hand, after disconnecting the two TCP sessions used by the
そして、サーバ110の全体制御部116は、サーバ110のオペレータより、サーバ110の電源断の入力を受け付ける(S29)。サーバ110のオペレータは、サーバ110が接続待ち状態にあることを確認してから、電源断の入力を行う。
Then, the
次に、サーバ110のリモート通信部120は、接続待ちのためのソケットが利用する資源を解放し(S30)、サーバ110を停止する(S31)。
Next, the
図12は、通信路間の優先順位及びUSBデバイス160の優先度の調整処理を示すシーケンス図である。
FIG. 12 is a sequence diagram illustrating a process for adjusting the priority between communication paths and the priority of the
まず、サーバ110の通信管理部118は、クラスドライバ処理部119が管理しているUSBデバイス160のリストを取得する(S40)。
First, the
次に、通信管理部118は、図13(通信管理画面191の概略図)に示すような通信管理画面191を生成し、USBデバイス160のモニタ164に出力する(S41)。
Next, the
図13に示すように、通信管理画面191は、リモートUSB切断指示入力領域191aと、端末からサーバ方向への優先情報入力領域191bと、サーバから端末方向への優先情報入力領域191hと、を有する。
As shown in FIG. 13, the
リモートUSB切断指示入力領域191aを指定した実行指示が入力されると、サーバ110及び端末130の間に確立された四つの通信路が切断される。
When an execution instruction specifying the remote USB disconnection
端末からサーバ方向への優先情報入力領域191bは、転送タイプ間優先順位の選択入力領域191cと、USBデバイスごとの利用帯域の割合の設定入力領域191dと、を有する。
The priority information input area 191b from the terminal to the server has a
転送タイプ間優先順位の選択入力領域191cでは、端末130からサーバ110に対して送信する情報の転送タイプ間の優先順位として、優先順位A又は優先順位Bの選択の入力を受け付ける。
The transfer type priority
ここで、優先順位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
例えば、本実施形態においては、USBデバイスごとの利用帯域の割合の設定入力領域191dに、Int入力領域191eと、Iso入力領域191fと、Bul入力領域191gと、が設けられている。
For example, in the present embodiment, an Int input area 191e, an
Int入力領域191eには、インタラプト転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the Int input area 191e, information (in this case, the device name) for specifying the
Iso入力領域191fには、アイソクロナス転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the
Bul入力領域191gには、バルク転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the
サーバから端末方向への優先情報入力領域191hは、転送タイプ間優先順位の選択入力領域191iと、USBデバイスごとの利用帯域の割合の設定入力領域191jと、を有する。
The priority
転送タイプ間優先順位の選択入力領域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
ここで、優先順位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入力領域191kには、インタラプト転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the
Iso入力領域191lには、アイソクロナス転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the Iso input area 191l, information (here, the device name) for specifying the
Bul入力領域191mには、バルク転送のエンドポイントを持つUSBデバイス160を特定する情報(ここでは、デバイス名)が表示されており、このUSBデバイス160を特定する情報に隣接した位置に設けられているパーセント入力領域に各々のデバイスに割り当てる帯域のパーセント(割合)の入力を受け付ける。
In the
図12に戻り、端末130の通信管理部140は、USBデバイス160のマウス165及びキーボード166の少なくとも何れか一方を介して、端末130のオペレータより、通信管理画面191において、優先情報の入力を受け付ける(S42)。
Returning to FIG. 12, the
なお、ステップS42においては、通信管理部118は、端末からサーバ方向への優先情報入力領域191b、および、サーバから端末方向への優先情報入力領域191h、で入力を受け付ける項目の初期値を次のように設定しておく。なお、利用者が優先情報の入力を行わない場合は初期値が適用される。
In step S42, the
(1)転送タイプ間優先順位の選択入力領域191c及び転送タイプ間優先順位の選択入力領域191iでは、初期値として優先順位Aが選択される。
(1) In the transfer type priority
(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,
そして、通信管理画面191を介して入力された優先度を特定する情報は、サーバ110の通信管理部118が取得する(S43)。
And the information which specifies the priority input via the
次に、サーバ110の通信管理部118は、通信管理画面191のサーバから端末方向への優先情報入力領域191hに入力された情報からサーバ110用の通信管理情報を生成し、通信管理情報記憶領域113に記憶する(S44)。
Next, the
例えば、通信管理部118は、図14(サーバ110用の通信管理情報テーブル113aの概略図)に示すような通信管理情報テーブル113aを生成する。
For example, the
図示するように、サーバ110用の通信管理情報テーブル113aは、グループ優先順位特定領域113bと、Intグループ内優先度特定領域113cと、Isoグループ内優先度特定領域113dと、Bulkグループ内優先度特定領域113eと、を有する。
As illustrated, the communication management information table 113a for the
グループ優先順位特定領域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
Intグループ内優先度特定領域113cには、USBデバイスごとの利用帯域の割合の設定入力領域191jのInt入力領域191kに入力された情報が格納される。
In the Int group
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
図12に戻り、サーバ110の通信管理部118は、通信管理画面191の端末からサーバへの優先度入力領域191bに入力された情報から端末130用の通信管理情報を生成し、リモート通信部120に出力する(S45)。
Returning to FIG. 12, the
例えば、通信管理部118は、図15(端末130用の通信管理情報テーブル133aの概略図)に示すような通信管理情報テーブル133aを生成する。
For example, the
図示するように、端末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
グループ優先順位特定領域133bには、サーバ方向への優先度入力領域191bの転送タイプ間優先順位の選択入力領域191cで選択された転送タイプ間の優先順位を特定する情報が格納される。
In the group priority order specifying area 133b, information for specifying the priority order between the transfer types selected in the
Intグループ内優先度特定領域133cには、USBデバイスごとの利用帯域の割合の設定入力領域191dのInt入力領域191eに入力された情報が格納される。
In the Int group
Isoグループ内優先度特定領域133dには、USBデバイスごとの利用帯域の割合の設定入力領域191dのIso入力領域191fに入力された情報が格納される。
In the Iso group
Bulkグループ内優先度特定領域133eには、USBデバイスごとの利用帯域の割合の設定入力領域191dのBul入力領域191gに入力された情報が格納される。
In the Bulk group
図12に戻り、次に、リモート通信部120は、通信管理部118が生成した端末130用の通信管理情報を、Cont通信路171を介して端末130に送信する(S46)。
Returning to FIG. 12, next, the
このような端末130用の通信管理情報を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶する(S47)。
The
図16は、端末130に接続されたUSBデバイス160を使って、サーバ110のアプリ処理部117がアプリケーションによる処理を実行する際の情報の流れを示すシーケンス図である。
FIG. 16 is a sequence diagram illustrating a flow of information when the
まず、端末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
次に、USBシステム制御部142が、受信したUSBデータをURB構造体に作り直し、切替制御部139経由でローカル通信部143へ出力する(S51)。
Next, the USB
次に、ローカル通信部143のローカルURB振分部144が、USBシステム制御部142から受信したURBを各通信路の制御部に振り分ける(S52)。
Next, the local
例えば、ローカルURB振分部144は、コントロール転送のURBをCont通信路ローカル制御部145へ、インタラプト転送のURBをInt通信路ローカル制御部146へ、アイソクロナス転送のURBをIso通信路ローカル制御部147へ、バルク転送のURBをBulk通信路ローカル制御部148へ振り分ける。
For example, the local
そして、ローカル通信部143は、各通信路171〜174を用いて、情報をサーバ110に送信する(S53)。なお、各通信路171〜174での通信は並列(独立)に行われる。
Then, the
例えば、図6に示すようなCont通信路171では、URB受信部145aが、ローカルURB振分部144から受信したURB(コントロール転送のURB)をPDUに分割し、送信バッファ145bに格納する。
For example, in the
そして、データパケット送信部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
データパケット受信部122dはCont通信路171からPDUを受信し、受信バッファ122eに格納する。
The data packet receiving unit 122d receives the PDU from the
そして、URB送信部122fが、受信バッファ122eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。
Then, the
また、図7に示すようなInt通信路172では、Int通信路ローカル制御部146のURB受信部146aが、ローカルURB振分部144から受信したURB(インタラプト転送のURB)をPDUに分割し、送信バッファ146bに格納する。
In the
そして、データパケット送信部146cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのIntグループ内優先度特定領域133cに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ146bの中のPDUを取り出し、Int通信路172に送信する。
Then, the data
また、データパケット受信部123dは、Int通信路172からPDUを受信し、受信バッファ123eに格納する。
The data
そして、URB送信部123fが、受信バッファ123eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。
Then, the
なお、再送部123hは、受信バッファ123eに格納されているPDUのPDUシーケンス及びURBシーケンスを確認し、受信したPDUのPDUシーケンス及びURBシーケンスを特定した受信確認を、Int通信路172を介して、Int通信路ローカル制御部146に送信する。
Note that the
一方、再送部123hは、受信バッファ123eに格納されているPDUのPDUシーケンス及びURBシーケンスを確認し、特定のURBシーケンスにおけるPDUシーケンスに抜けがある場合には、抜けているPDUシーケンス及びURBシーケンスを特定した再送要求を、Int通信路172を介して、Int通信路ローカル制御部146に送信する。
On the other hand, the
また、図8に示すようなIso通信路173では、Iso通信路ローカル制御部147のURB受信部147aが、ローカルURB振分部144から受信したURB(アイソクロナス転送のURB)をPDUに分割し、送信バッファ147bに格納する。
In the
そして、データパケット送信部147cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのIsoグループ内優先度特定領域133dに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ147bの中のPDUを取り出し、Iso通信路173に送信する。
Then, the data
なお、レート通信部147hは、データパケット送信部147cが、予め定められた個数(例えば、10個)のパケットを送信するごとに、この個数のパケットの平均転送レートを計算し、レート情報としてIso通信路173を介してIso通信路リモート制御部124に送信する。
The
データパケット受信部124dは、Iso通信路173からPDUを受信し、受信バッファ124eに格納する。
The data
また、データパケット受信部124dは、Iso通信路173から受信したレート情報を、レート通信部124hに出力する。
Further, the data
そして、URB送信部124fが、受信バッファ124eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。
Then, the
なお、Iso通信路173は、UDPを利用してデータを送受信するため、送信中のデータの損失が発生する可能性がある。つまり、データパケット送信部147cが送信したPDUがデータパケット受信部124dに到着しないことがあるが、Iso通信路173では再送を行わない。
Since the
また、図9に示すようなBulk通信路174では、Bulk通信路ローカル制御部148のURB受信部148aが、ローカルURB振分部144から受信したURB(バルク転送のURB)をPDUに分割し、送信バッファ148bに格納する。
Further, in the
そして、データパケット送信部148cが、通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aのBulkグループ内優先度特定領域133eに格納されている各USBデバイス160の帯域割合に応じて、送信バッファ148bの中のPDUを取り出し、Bulk通信路174に送信する。
Then, the data
また、データパケット受信部125dは、Bulk通信路174からPDUを受信し、受信バッファ125eに格納する。
Further, the data
そして、URB送信部125fが、受信バッファ125eからPDUを取り出し、URBを構築し、リモートURB振分部121へ送信する。
Then, the URB transmission unit 125f extracts the PDU from the
図16に戻り、リモート通信部120の各通信路におけるURB送信部122f、123f、124f、125fが、各通信路から受信したPDUを結合してURBを生成し(S54)、クラスドライバ処理部119に送信する(S55)。そして、クラスドライバ処理部119は、受信したURBをアプリ処理部117に出力して、アプリ処理部117での処理を実行する。
Returning to FIG. 16, the
一方、アプリ処理部117での処理に応じて、クラスドライバ処理部119が、USBデバイス160へデータを送信する場合、まず、クラスドライバ処理部119が、URBをリモート通信部120に送信する(S56)。
On the other hand, when the class
リモート通信部120のリモートURB振分部121は、受信したURBを各通信路の制御部へ振り分ける(S57)。
The remote
例えば、コントロール転送のURBをCont通信路リモート制御部122へ、インタラプト転送のURBをInt通信路リモート制御部123へ、アイソクロナス転送のURBをIso通信路リモート制御部124へ、バルク転送のURBをBulk通信路リモート制御部125へ振り分ける。
For example, control transfer URB to Cont channel
そして、リモート通信部120は、各通信路171〜174を用いて、情報を端末130に送信する(S58)。なお、各通信路171〜174での通信は並列(独立)に行われる。
And the
ローカル通信部143の各通信路におけるURB送信部145f、146f、147f、148fが、各通信路から受信したPDUを結合してURBを生成し(S59)、USBシステム制御部142に送信する(S60)。そして、USBシステム制御部142は、受信したURBからUSBデータを生成し、対象となるUSBデバイス160に出力する(S61)。
The
図17は、Int通信路ローカル制御部146のデータパケット送信部146cでの処理を示すフローチャートである。
FIG. 17 is a flowchart showing processing in the data
まず、データパケット送信部146cは、送信バッファ146bに未送信のPDUがあるか否かを確認する(S70)。そして、未送信PDUがない場合は(ステップS70でNo)、ステップS70を繰り返す。一方、未送信PDUがある場合は(ステップS70でYes)、ステップS71に進む。
First, the data
ステップS71では、データパケット送信部146cは、通信路間協調部146gから送信レートの値を取得する。
In step S71, the data
次に、データパケット送信部146cが、送信タイミングになるまで待機し(S72)、送信タイミングになった場合には(S72でYes)、ステップS73に進む。
Next, the data
なお、ステップS72では、データパケット送信部146cは、下記の(1)式に示すL秒間待機する。
In step S72, the data
ここで、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
また、処理の開始以降送信したPDUがない場合は、L=0とする。つまり、データパケット送信部146cは送信レートがR又はそれ以下になるようにPDUの送信間隔を伸ばすことになる。
If no PDU has been transmitted since the start of processing, L = 0. That is, the data
ステップS73では、データパケット送信部146cは、送信バッファ146bの中の未送信のPDUを一つ選ぶ。ここで、PDUの選び方は次のようになる。
In step S73, the
送信対象となる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
次に、データパケット送信部146cは、ステップS73で選択されたPDUをInt通信路172に送信する(S74)。
Next, the data
次に、データパケット送信部146cは、ステップS74で送信したPDUの送信したタイミング及びサイズを記憶し(S75)、ステップS70に戻る。
Next, the data
なお、図17のフローチャートは、Int通信路ローカル制御部146のデータパケット送信部146cでの処理で説明したが、Int通信路リモート制御部123のデータパケット送信部123c、Bulk通信路ローカル制御部148のデータパケット送信部148c及びBulk通信路リモート制御部125のデータパケット送信部125cでも同様の処理が行われる。
In the flowchart of FIG. 17, the processing in the data
図18は、Iso通信路ローカル制御部147のデータパケット送信部147cでの処理を示すフローチャートである。
FIG. 18 is a flowchart showing processing in the data
まず、データパケット送信部147cは、送信バッファ147bに未送信のPDUがあるか否かを確認する(S80)。そして、未送信PDUがない場合は(ステップS80でNo)、ステップS80を繰り返す。一方、未送信PDUがある場合は(ステップS80でYes)、ステップS81に進む。
First, the data
ステップS81では、データパケット送信部147cは、通信路間協調部147gから送信レートの値を取得する。
In step S81, the data
次に、データパケット送信部147cは、送信バッファ147bの中の未送信のPDUを一つ選ぶ(S82)。ここで、PDUの選び方は図17のステップS73と同様である。
Next, the data
次に、データパケット送信部147cが、送信タイミングであるか否かを確認し(S83)、送信タイミングである場合には(ステップS83でYes)ステップS84に進み、送信タイミングではない場合には(ステップS83でNo)ステップS86に進む。
Next, the data
ここで、データパケット送信部147cは、下記の(2)式を計算し、算出した値Lが「0」以下の場合には送信タイミングであると判断し(ステップS83でYes)、算出した値Lが「0」よりも大きい場合には送信タイミングではないと判断する(ステップS83でNo)。
Here, the data
ここで、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
次に、データパケット送信部147cは、ステップS84で送信したPDUの送信したタイミング及びサイズを記憶し(S85)、ステップS80に戻る。
Next, the data
一方、ステップS86では、データパケット送信部147cは、ステップS82で選択されたPDUを廃棄して、ステップS80に戻る。
On the other hand, in step S86, the data
なお、図18は、Iso通信路ローカル制御部147のデータパケット送信部147cでの処理として説明したが、Iso通信路リモート制御部124のデータパケット送信部124cでも同様の処理となる。
18 has been described as processing in the data
図19は、端末130用の通信管理情報テーブル133aにおいて、優先順位Aが選択されている際のローカル通信部143での処理を示すシーケンス図である。
FIG. 19 is a sequence diagram illustrating processing in the
まず、優先度が最も高い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
このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S92)。
The inter-communication
そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S93)。
Then, the inter-communication
なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S94)。
The data
例えば、データパケット送信部148cは、一つのPDUを送信するたびに、送信レート上限値を、UB/K(Mbps)だけ増加させる。ここで、UBはステップS92で半減された直後の送信レートの上限値であり、Kは予め定められた整数である。つまり、K個のPDUを送信する間に、Bulk通信路の上限値がステップS92を実施する直前の値に戻ることになる。
For example, the data
次に、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
このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S97)。
The inter-communication
そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S98)。
Then, the inter-communication
なお、データの送信レートを下げたデータパケット送信部148cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S98)。
The data
例えば、データパケット送信部148cは、一つのPDUを送信するたびに、送信レート上限値を、(UB/K)+(UB’/K)(Mbps)だけ増加させる。ここで、UB’はステップS98で半減された直後の送信レートの上限値であり、Kは予め定められた整数である。即ち、PDUを送信する毎に、送信レートの上限値に、低下させた送信レートを整数Kで除算した値だけ加算するようにする(以下でも同様)。
For example, every time one PDU is transmitted, the data
次に、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
このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cでの送信レートが下げてしまうと、予め定められた閾値以下となってしまう場合には、送信レートを下げることができないと判断し(S102)、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げることができないとInt通信路ローカル制御部146の通信路間協調部146gに通知する(S103)。
The inter-communication
なお、データパケット送信部148cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S104)。
The data
そして、ステップS103において、送信レートを下げることができないとの通知を受けたInt通信路ローカル制御部146では、優先度が次に低いIsoローカル制御部147の通信路間協調部147gに帯域要求を行う(S105)。
In step S103, the Int communication channel
このような帯域要求を受信したIsoローカル制御部147の通信路間協調部147gは、データパケット送信部147cでの送信レートが下げてしまうと、予め定められた閾値以下となってしまう場合には、送信レートを下げることができないと判断し(S106)、Isoローカル制御部147の通信路間協調部147gは、データの送信レートを下げることができないとInt通信路ローカル制御部146の通信路間協調部146gに通知する(S107)。
The inter-communication path cooperation unit 147g of the Iso
一方、ステップS106において、Isoローカル制御部147の通信路間協調部147gは、データパケット送信部147cでの送信レートが下げても予め定められた閾値以下とならない場合には、ステップS92及びステップS93と同様の処理を行う。
On the other hand, in step S106, the inter-communication path cooperation unit 147g of the Iso
なお、データパケット送信部147cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S108)。
The
そして、ステップS107において、送信レートを下げることができないとの通知を受けたInt通信路ローカル制御部146では、通信路間協調部146gが、データパケット送信部146cに対して、に送信レートを下げるように指示し、データパケット送信部146cは、データの送信レートを半分に設定する(S109)。
In Step S107, the Int communication channel
そして、データの送信レートを下げたデータパケット送信部146cは、上述のステップS94と同様にして、送信レートを徐々に上げる(S110)。
Then, the data
なお、図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
さらに、端末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
図20は、端末130用の通信管理情報テーブル133aにおいて、優先順位Bが選択されている際のローカル通信部143での処理を示すシーケンス図である。
FIG. 20 is a sequence diagram illustrating processing in the
まず、優先度が最も高いInt通信路ローカル制御部146においてパケット損失を検知すると(S111)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S112)。
First, when a packet loss is detected in the Int communication channel
このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S113)。
The inter-communication
そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S114)。
The inter-communication
なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S115)。ここでは、図19のステップS94と同様の処理を行う。
The data
次に、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
このような帯域要求を受信したIntローカル制御部147の通信路間協調部147gは、データパケット送信部147cに送信レートを下げるように指示し、データパケット送信部147cは、データの送信レートを半分に設定する(S118)。
Upon receiving such a bandwidth request, the inter-channel coordination unit 147g of the Int
そして、Isoローカル制御部147の通信路間協調部147gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S119)。
Then, the inter-communication path cooperation unit 147g of the Iso
なお、データの送信レートを下げたデータパケット送信部147cは、上述のステップS114と同様にして、送信レートを徐々に上げる(S120)。
The data
次に、Int通信路ローカル制御部146において、再びパケット損失を検知すると(S121)、Int通信路ローカル制御部146の通信路間協調部146gは、優先度が低いBulkローカル制御部148の通信路間協調部148gに帯域要求を行う(S122)。
Next, when the Int communication path
このような帯域要求を受信したBulkローカル制御部148の通信路間協調部148gは、データパケット送信部148cに送信レートを下げるように指示し、データパケット送信部148cは、データの送信レートを半分に設定する(S123)。
The inter-communication
そして、Bulkローカル制御部148の通信路間協調部148gは、データの送信レートを下げたことをInt通信路ローカル制御部146の通信路間協調部146gに通知する(S124)。
The inter-communication
なお、データの送信レートを下げたデータパケット送信部148cは、送信レートを徐々に上げる(S125)。ここでは、ステップS115と同様の処理を行う。
The data
なお、図20では、Int通信路ローカル制御部146、Iso通信路ローカル制御部147及びBulk通信路ローカル制御部148での処理を説明したが、Int通信路リモート制御部123、Iso通信路リモート制御部124及びBulk通信路リモート制御部125での処理も同様である。
In FIG. 20, the processing in the Int communication channel
また、図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
まず、新しいUSBデバイス160が端末130に接続されると(S130)、端末130のUSBシステム制御部142において、新しいUSBデバイス160が端末130に接続されたことを検知して、USBシステム制御部142が、新しいUSBデバイス160のエニュメレーションを行う(S131)。
First, when a
そして、USBシステム制御部142は、ローカル通信部143及びリモート通信部120経由で新しいUSBデバイス160の設定情報(USBデバイス情報)を、サーバ110のクラスドライバ処理部119に送信する(S132)。
Then, the USB
このような設定情報を受信したクラスドライバ処理部119は、USBデバイス160の設定を行い、新しく接続されたUSBデバイス160を使えるようにする(S133)。
Receiving such setting information, the class
次に、クラスドライバ処理部119は、通信管理部118に新しいUSBデバイス160が接続されたことを通知する(S134)。
Next, the class
次に、通信管理部118は、通信管理情報記憶領域113に記憶されているサーバ110用の通信管理情報テーブル113aに、ステップS132で送信されてきた設定情報に基づいて、新たに接続されたUSBデバイス160が属する転送タイプに応じて、Intグループ内優先度特定領域113c、Isoグループ内優先度特定領域113d又はBulkグループ内優先度特定領域113eの何れかに、新たに接続されたUSBデバイス160を識別するための識別情報を格納し、予め定められた方法で当該USBデバイス160に帯域を割り当てる。
Next, the
なお、新しいUSBデバイス160への帯域の割り当てについては、次のように設定する。
Note that the bandwidth allocation to the
新しい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.
ここで、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).
ここで、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
そして、リモート通信部120は、変更通知を、Cont通信路171を介して端末130に送信する(S137)。
Then, the
このような変更通知を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aを更新する(S138)。なお、この更新方法については、ステップS135での処理と同様である。
The
図22は、通信システム100の稼働中(図11のステップS22を実行中)に、端末130に接続されているUSBデバイス160が取り外された場合の処理を示すシーケンス図である。
FIG. 22 is a sequence diagram showing processing when the
まず、USBデバイス160が端末130から取り外されると(S140)、端末130のUSBシステム制御部142において、USBデバイス160が端末130から取り外されたことを検知する(S141)。
First, when the
そして、USBシステム制御部142は、ローカル通信部143及びリモート通信部120経由でUSBデバイス160が取り外されたことを、サーバ110のクラスドライバ処理部119に通知する(S142)。通知を受けたクラスドライバ処理部119は、取り外されたUSBデバイス160を利用するためのリソースを開放し(S143)、通信管理部118に対してデバイスリストの変更を通知する(S144)。
Then, the USB
次に、通信管理部118は、通信管理情報記憶領域113に記憶されているサーバ110用の通信管理情報テーブル113aのIntグループ内優先度特定領域113c、Isoグループ内優先度特定領域113d又はBulkグループ内優先度特定領域113eから、ステップS142で通知されたUSBデバイス160を削除して、削除したUSBデバイス160の帯域を、他のUSBデバイス160に割り当てる(S145)。
Next, the
なお、他のUSBデバイス160への割当(s)は、(5)式で求められる。
Note that the allocation (s) to the
ここで、s’は、他のUSBデバイス160の割当前の帯域の割合であり、fは、USBデバイス160を削除する前のUSBデバイス160の数である。
Here, s ′ is the ratio of the bandwidth before the
但し、f=1の場合には、(5)式による計算を行わない。 However, when f = 1, the calculation according to the equation (5) is not performed.
次に、通信管理部118は、取り外されたUSBデバイス160の設定情報を含む変更通知をリモート通信部120に出力する(S146)。
Next, the
そして、リモート通信部120は、変更通知を、Cont通信路171を介して端末130に送信する(S147)。
Then, the
このような変更通知を受信した端末130のローカル通信部143は、受信した通信管理情報を通信管理部140に出力し、通信管理部140が通信管理情報記憶領域133に記憶されている通信管理情報テーブル133aを更新する(S148)。なお、この更新方法については、ステップS145での処理と同様である。
The
図23は、通信システム100の稼働中(図11のステップS22を実行中)に、ネットワーク170が切断された場合の処理を示すシーケンス図である。
FIG. 23 is a sequence diagram showing processing when the
まず、リモート通信部120とローカル通信部143との間のネットワーク170が切断されると、サーバ110のリモート通信部120及び端末130のローカル通信部143が、Cont通信路171のTCPセッションが切断されたことを検知する(S150)。
First, when the
Cont通信路171のTCPセッションが切断されたことを検知したローカル通信部143は、切替制御部139にUSBデバイス160の制御を端末130のクラスドライバ処理部141に切り替えるように指示する(S151)。
The
クラスドライバ処理部141は、切替制御部139経由で、USBシステム制御部142からのUSBデバイス160の情報を受信して(S152)、USbデバイス160を制御し(S153)、端末管理アプリ処理部138に処理を行うように通知する(S154)。
The class
そして、端末管理アプリ処理部138が、ログオン画面をモニタ164に表示することでサーバ110への接続が切断されることを利用者へ通知する(S155)。
Then, the terminal management
一方、Cont通信路171のTCPセッションが切断されたことを検知したリモート通信部121は、USBデバイス160が利用不可になったことをクラスドライバ処理部119に通知する(S156)。
On the other hand, the
そして、リモート通信部121は、Cont通信路171のためのTCP通信ポート、Bulk通信路174のためのTCP通信ポート、Int通信路172のためのUDP通信ポート及びIso通信路173のためのUDP通信ポートでそれぞれデータを待ち受ける(S157)。
The
そして、クラスドライバ処理部119は、すべてのUSBデバイス160を制御するためのリソースを解放し(S158)、USBデバイス160を制御できなくなったこと通信管理部118に通知する(S159)。
Then, the class
そして、通知を受けた通信管理部118は、次の接続が来るまで待機する(S160)。
Upon receiving the notification, the
以上のように、本実施形態においては、サーバ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
また、端末130のオペレータが、通信管理画面191で優先して利用したいUSBデバイス160を他のUSBデバイス160より多く帯域を割り当てることが可能である。
Further, the operator of the terminal 130 can allocate more bandwidth to the
さらに、本実施形態によれば、サーバ110及び端末130間のネットワーク170の帯域が不十分な場合でも、優先的にデータが転送されるインタラプト転送を利用しているHiDデバイス(例えばマウス、キーボードなど)を他のUSBデバイス160に優先して利用することができる。
Furthermore, according to the present embodiment, even when the bandwidth of the
また、本実施形態によれば、端末130のオペレータが優先して利用したいUSBデバイス160のデータが高い確率で選択されて転送されるため、これらのUSBデバイス160の動作が他のUSBデバイス160により妨げられることがない。
Further, according to the present embodiment, the data of the
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
Claims (16)
前記サーバの制御部及び前記端末の制御部は、前記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.
前記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.
前記複数の通信路には、優先順位を定めることができるようにされており、
前記サーバの制御部及び前記端末の制御部は、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とする通信システム。 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.
前記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.
前記コントロール転送に対応する通信路は、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デバイスの属性に対応する通信路を選択して、送受信する処理と、
を行うこと、
を特徴とする端末。 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.
前記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.
前記複数の通信路には、優先順位を定めることができるようにされており、
前記制御部は、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とする端末。 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.
前記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.
前記コントロール転送に対応する通信路は、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デバイスの属性に対応する通信路を選択して、送受信する処理と、
を行う制御手段として機能させること、
を特徴とするプログラム。 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
前記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
前記複数の通信路には、優先順位を定めることができるようにされており、
前記制御手段に、前記優先順位の高い通信路で送受信する情報を優先して送受信する際には、前記優先順位の低い通信路の通信レートを低下させること、
を特徴とするプログラム。 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
前記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
前記コントロール転送に対応する通信路は、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デバイスの属性に対応する通信路を選択して、送受信する処理を行う過程と、を有すること、
を特徴とする通信方法。 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.
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)
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 |
-
2009
- 2009-04-10 JP JP2009096240A patent/JP2010251854A/en active Pending
Cited By (6)
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 |