(57)【特許請求の範囲】
【請求項１】
ゲートウェイ装置にＵＳＢを用いて接続されるデバイスが、該ゲートウェイ装置を介してサーバと通信を行うデータ通信システムにおいて、
前記サーバは、
前記ＵＳＢの通信に関するデータ単位を示すＵＲＢの集約を行うかどうかを示す情報を含む設定ファイルを設定する設定手段を具備し、
前記サーバおよび前記ゲートウェイ装置の少なくともどちらか一方は、
前記サーバと前記ゲートウェイ装置との間の通信の際、前記設定ファイルを参照して、前記デバイスと前記サーバとの間の仮想通信路を示すエンドポイントごとに前記ＵＲＢの集約を制御する制御手段、を具備するデータ通信システム。
【請求項２】
前記設定手段は、デバイスごとに、各エンドポイントについて集約を行うかどうかを示すエンドポイント情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、
前記制御手段は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立前に、該第１デバイスに該当する前記エンドポイント情報および前記集約設定値に基づいて、前記エンドポイントにおける集約対象となるＵＲＢを決定する請求項１に記載のデータ通信システム。
【請求項３】
前記設定手段は、前記デバイスのデータ転送方式およびデータ送信方向の組み合わせごとに集約を行うかどうかを示す集約情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、
前記制御手段は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立後に、前記集約情報および前記集約設定値に基づいて、該当するエンドポイントにおける集約対象となるＵＲＢを決定する請求項１に記載のデータ通信システム。
【請求項４】
ゲートウェイ装置にＵＳＢを用いて接続されるデバイスが、該ゲートウェイ装置を介してサーバと通信を行うデータ通信システムにおけるデータ通信方法であって、
前記サーバは、
前記ＵＳＢの通信に関するデータ単位を示すＵＲＢの集約を行うかどうかを示す情報を含む設定ファイルを設定し、
前記サーバおよび前記ゲートウェイ装置の少なくともどちらか一方は、
前記サーバと前記ゲートウェイ装置との間の通信の際、前記設定ファイルを参照して、前記デバイスと前記サーバとの間の仮想通信路を示すエンドポイントごとに前記ＵＲＢの集約を制御するデータ通信方法。
【請求項５】
前記サーバは、デバイスごとに、各エンドポイントについて集約を行うかどうかを示すエンドポイント情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、
前記サーバおよび前記ゲートウェイ装置の少なくともどちらか一方は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立前に、該第１デバイスに該当する前記エンドポイント情報および前記集約設定値に基づいて、前記エンドポイントにおける集約対象となるＵＲＢを決定する請求項４に記載のデータ通信方法。
【請求項６】
前記サーバは、前記デバイスのデータ転送方式およびデータ送信方向の組み合わせごとに集約を行うかどうかを示す集約情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、
前記サーバおよび前記ゲートウェイ装置の少なくともどちらか一方は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立後に、前記集約情報および前記集約設定値に基づいて、該当するエンドポイントにおける集約対象となるＵＲＢを決定する請求項４に記載のデータ通信方法。
【請求項７】
コンピュータを、請求項１から請求項３のいずれか１項に記載のデータ通信システムの各手段として実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＵＳＢデバイスの仮想化通信で用いるデータ通信システム、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、仮想化技術の進展に伴い、装置に接続される周辺機器を仮想化するＩ／Ｏ仮想化技術が普及している。Ｉ／Ｏ仮想化技術の一例として、装置に接続されたＵＳＢデバイスをネットワーク上の別の装置にＴＣＰ／ＩＰを用いて仮想的に接続する技術（ＯＳＳ）であるＵＳＢ／ＩＰ方式が挙げられる（例えば、非特許文献１および非特許文献２参照）。  
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“USB/IP PROJECT”、sourceforge.net、［Online］、インターネット＜URL:http://usbip.sourceforge.net/＞
【非特許文献２】“kernel/git/next/linux-next.git”、Linux Next Group、[online]、<URL:http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/usb/usbip/usbip_protocol.txt>
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＵＳＢ／ＩＰ方式では、ＵＳＢの通信におけるデータ単位であるＵＲＢがそのままＴＣＰ／ＩＰでカプセル化され、ＩＰパケットとなる。ＵＲＢのデータ量は、一般的なＩＰネットワークのデータ量と比較して小さいものの、ＩＰパケットの数は変わらないため、ＵＳＢデバイスが接続されたゲートウェイＧＷ装置とサーバとの間でＵＳＢ／ＩＰ方式を適用すると、ゲートウェイ装置とサーバとの間におけるネットワークの負荷が増大する。特に、ゲートウェイ装置の数が増えると、ネットワークの負荷が顕著に増大することになる。
【０００５】
この発明は上記事情に着目してなされたもので、その目的とするところは、ネットワーク負荷を減少させつつ効率的な通信を行うことができるデータ通信システム、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためにこの発明の一つの観点に係るデータ通信システムは、デバイス、ゲートウェイ装置およびサーバを含み、ゲートウェイ装置にＵＳＢを用いて接続されるデバイスが、該ゲートウェイ装置を介してサーバと通信を行う。前記サーバは、前記ＵＳＢの通信に関するデータ単位を示すＵＲＢの集約を行うかどうかを示す情報を含む設定ファイルを設定する設定手段を具備し、前記サーバおよび前記ゲートウェイ装置の少なくともどちらか一方は、前記サーバと前記ゲートウェイ装置との間の通信の際、前記設定ファイルを参照して、前記デバイスと前記サーバとの間の仮想通信路を示すエンドポイントごとに前記ＵＲＢの集約を制御する制御手段を具備することを特徴とする。
【０００７】
さらに、一つの観点に係るデータ通信システムは、前記設定手段は、デバイスごとに、各エンドポイントについて集約を行うかどうかを示すエンドポイント情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、前記制御手段は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立前に、該第１デバイスに該当する前記エンドポイント情報および前記集約設定値に基づいて、前記エンドポイントにおける集約対象となるＵＲＢを決定することを特徴とする。
【０００８】
さらに、一つの観点に係るデータ通信システムは、前記設定手段は、前記デバイスのデータ転送方式およびデータ送信方向の組み合わせごとに集約を行うかどうかを示す集約情報と前記集約の度合いを示す集約設定値との対応関係を含む前記設定ファイルを生成し、前記制御手段は、前記ゲートウェイ装置に接続される第１デバイスのＵＳＢ／ＩＰ接続確立後に、前記集約情報および前記集約設定値に基づいて、該当するエンドポイントにおける集約対象となるＵＲＢを決定することを特徴とする。
【発明の効果】
【０００９】
すなわちこの発明によれば、ネットワーク負荷を減少させつつ効率的な通信を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るデータ通信システムの概略図。
【図２】第１の実施形態に係るサーバの詳細を示すブロック図。
【図３】第１の実施形態に係るゲートウェイ装置の詳細を示すブロック図。
【図４】第１の実施形態に係る設定ファイルの一例を示す図。
【図５】第１の実施形態にかかるデータ通信システムの通信制御処理を示すシーケンス図。
【図６】第２の実施形態に係る設定ファイルの一例を示す図。
【図７】第２の実施形態にかかるデータ通信システムの通信制御処理を示すシーケンス図。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本開示の一実施形態に係るデータ通信システム、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。  
（第１の実施形態）  
本実施形態におけるデータ通信システムについて図１の概略図を参照して説明する。  
図１に示すデータ通信システム１００は、ＵＳＢデバイス１１０、ゲートウェイ（ＧＷ）装置１３０およびサーバ１２０を含む。
【００１２】
本実施形態に係るデータ通信は、ゲートウェイ装置１３０にＵＳＢを用いて接続されるＵＳＢデバイス１１０が、ＩＰネットワーク１４０上でＵＳＢ／ＩＰ方式を用いて、ゲートウェイ装置１３０を介してサーバ１２０と通信を行う、いわゆるＵＳＢ仮想化通信を想定する。なお、ＵＳＢ／ＩＰ方式のＵＳＢ仮想化通信については、一般的な手法を用いればよく、ここでの説明は省略する。
【００１３】
次に、第１の実施形態に係るサーバ１２０の詳細について図２のブロック図を参照して説明する。  
図２に示すサーバ１２０は、設定部２０１、設定格納部２０２、通信制御部２０３、送受信部２０４および分離部２０５を含む。  
設定部２０１は、接続されるＵＳＢデバイス１１０ごとに、ＵＳＢの通信に関するデータ単位を示すＵＲＢの集約を行うかどうかを示す情報を含む設定ファイルを設定する。第１の実施形態では、設定ファイルとして、ＵＳＢデバイス１１０ごとの、各エンドポイントについて集約を行うかどうかを示すエンドポイント情報と集約の度合いを示す集約設定値との対応関係を含む場合を想定する。エンドポイントは、ＵＳＢデバイス１１０とサーバ１２０との間の仮想通信路を示す。
【００１４】
設定格納部２０２は、設定部２０１から設定ファイルを受け取って格納する。また、設定格納部２０２は、後述の通信制御部２０３により決定された集約エンドポイント情報を格納してもよい。  
通信制御部２０３は、サーバ１２０とゲートウェイ装置１３０との間の通信の際、設定格納部２０２に格納される設定ファイルを参照して、エンドポイントの種別ごとに、ＵＳＢの通信に関するデータ単位を示すＵＲＢの集約を制御する。また、通信制御部２０３は、ＵＳＢ／ＩＰの初期接続時（接続確立前）に、設定格納部２０２に格納される設定ファイルから、ゲートウェイ装置１３０に接続されたＵＳＢデバイス１１０に関するエンドポイント情報部分を抽出して、集約エンドポイント情報を生成し、集約エンドポイント情報および対応する集約設定値に基づいて、エンドポイントにおける集約対象となるＵＲＢを決定してもよい。
【００１５】
送受信部２０４は、通信制御部２０３から単一のＵＲＢまたは集約されたＵＲＢを受け取る。送受信部２０４は、単一のＵＲＢまたは集約されたＵＲＢをペイロードとするＴＣＰ／ＩＰパケット（以下、単にパケットともいう）を生成し、ＴＣＰ／ＩＰ方式で、パケットをＩＰネットワーク１４０を介してゲートウェイ装置１３０に送信する。また送受信部２０４はゲートウェイ装置１３０からＴＣＰ／ＩＰ方式で単一のＵＲＢまたは集約されたＵＲＢを受け取る。
【００１６】
分離部２０５は、送受信部２０４から複数のＵＲＢが集約されたパケットを受け取り、パケットから複数のＵＲＢをそれぞれ分離する。分離する手法については、通信における一般的な分離方法を用いればよいため、ここでの説明は省略する。
【００１７】
次に、第１の実施形態に係るゲートウェイ装置１３０の詳細について図３のブロック図を参照して説明する。  
図３に示すゲートウェイ装置１３０は、送受信部３０１、設定格納部３０２、通信制御部３０３および分離部３０４を含む。  
送受信部３０１は、ゲートウェイ装置１３０に接続されるＵＳＢデバイス１１０からはＵＳＢ通信によりＵＲＢを受け取り、サーバ１２０からはＴＣＰ／ＩＰ方式によりパケットを受け取る。また送受信部３０１は、後述の通信制御部３０３からＵＲＢを受け取り、ＵＲＢをＵＳＢ通信によりＵＳＢデバイス１１０に送信するか、または、単一のＵＲＢまたは集約されたＵＲＢをペイロードとするパケットを生成し、パケットをＩＰネットワーク１４０を介してサーバ１２０に送信する。
【００１８】
設定格納部３０２は、送受信部３０１から、サーバ１２０により生成される集約エンドポイント情報および集約設定値を受け取って格納する。なお、サーバ１２０から設定ファイルが送信される場合は、設定ファイルそのものを受け取って格納してもよい。
【００１９】
通信制御部３０３は、サーバ１２０とゲートウェイ装置１３０との間の通信の際、設定格納部３０２に格納される集約エンドポイント情報および集約設定値を参照して、エンドポイント情報に該当するエンドポイントごとにＵＲＢの集約を制御する。通信制御部３０３は、エンドポイント情報および対応する集約設定値に基づいて、エンドポイントにおける集約対象となるＵＲＢを決定してもよい。
【００２０】
分離部３０４は、送受信部３０１から複数のＵＲＢが集約されたパケットを受け取り、ＵＳＢデバイス１１０にＵＲＢを送信する際は、パケットから複数のＵＲＢをそれぞれ分離する。
【００２１】
なお、集約されたＵＲＢをペイロードとするパケットを生成する処理は、送受信部３０１および送受信部２０４でそれぞれ行うとしたが、通信制御部３０３および通信制御部２０３でそれぞれ行われてもよい。
【００２２】
次に、第１の実施形態にかかる設定ファイルの一例について図４を参照して説明する。  
設定ファイル４００は、接続が想定される各デバイスについて、エンドポイントごとに、エンドポイント情報と集約設定値とがそれぞれ対応付けられる。ここでは設定ファイルは箇条書き形式であるが、テーブル形式など、対応関係が把握できればどのような形式でもよい。エンドポイント情報は、ユーザにより設定されてもよいし、外部にエンドポイント情報に関する抽出可能な情報源（図示せず）があれば、設定部２０１が情報源にアクセスすることでエンドポイント情報を取得して設定してもよい。なお、エンドポイント情報は、必要に応じて更新されてもよい。
【００２３】
集約設定値は、例えば、ＵＲＢ数（ＵＲＢｓ）、タイムアウト（ＴＯ）、データサイズ（Ｓｉｚｅ）を想定するが、このうちの少なくとも１つを集約設定値としてもよいし、さらにその他の情報を追加したものを集約設定値としてもよい。  
ＵＲＢ数は、１つのパケットに搭載（ペイロード）するＵＲＢの個数の上限値である。タイムアウトは、ＵＲＢの集約を終了させるタイムアウト値である。データサイズは、集約されるＵＲＢのデータ合計サイズの上限値である。
【００２４】
具体的に、図４の例では、デバイスＡについて、エンドポイント０（ＥＰ０）の場合は、「集約なし」が対応付けられる。「集約なし」に設定されるエンドポイントは、例えば、リアルタイム性が要求されるＵＲＢの通信に関するエンドポイントが挙げられる。一方、エンドポイント１（ＥＰ１）の場合は、「集約あり」、「ＵＲＢｓ：３」、「ＴＯ：１０００」、「Ｓｉｚｅ：１０００」がそれぞれ対応付けられる。
【００２５】
次に、第１の実施形態にかかるデータ通信システム１００の通信制御処理について図５のシーケンス図を参照して説明する。  
ＵＳＢデバイス１１０、ゲートウェイ装置１３０、サーバ１２０のそれぞれでの処理が時系列で示される。ＵＳＢデバイス１１０とゲートウェイ装置１３０との間は、シリアルバスで接続される。ゲートウェイ装置１３０とサーバ１２０との間は、ＩＰネットワークで接続される。
【００２６】
ステップＳ５０１では、サーバ１２０の設定部２０１が、設定ファイルを設定する。  
ステップＳ５０２では、ＵＳＢデバイス１１０がゲートウェイ装置１３０に挿入される。ＵＳＢデバイス１１０がゲートウェイ装置１３０に挿入されると、ＵＳＢ初期化シーケンスが行われる。  
ＵＳＢ初期化シーケンス中のステップＳ５０３では、ゲートウェイ装置１３０が、設定情報要求をＵＳＢデバイス１１０に送信する。
【００２７】
ＵＳＢ初期化シーケンス中のステップＳ５０４では、ＵＳＢデバイス１１０が、設定情報要求をゲートウェイ装置１３０から受け取り、設定情報要求に対する応答である設定情報応答をゲートウェイ装置１３０に送信する。設定情報応答にはＵＳＢデバイス情報が含まれる。具体的には、ＵＳＢデバイス情報は、製品番号を示すＰｒｏｄｕｃｔＩＤとベンダーの情報を示すＶｅｎｄｏｒＩＤとを含むが、これに限らず、ＵＳＢデバイス１１０を識別することができる情報をさらに含んでもよい。  
ステップＳ５０５では、サーバ１２０が、ＵＳＢ／ＩＰ接続要求をゲートウェイ装置１３０に送信する。
【００２８】
ステップＳ５０６では、ゲートウェイ装置１３０が、ＵＳＢ／ＩＰ接続要求をサーバ１２０から受け取り、ＵＳＢ／ＩＰ接続要求に対する応答であるＵＳＢ／ＩＰ接続応答をサーバ１２０に送信する。ＵＳＢ／ＩＰ接続応答は、前述のＵＳＢデバイス情報を含む。  
ステップＳ５０７では、サーバ１２０の通信制御部２０３が、設定部２０１に格納される設定ファイルとＰｒｏｄｕｃｔＩＤとＶｅｎｄｏｒＩＤとを参照して、ＰｒｏｄｕｃｔＩＤとＶｅｎｄｏｒＩＤとで特定されるＵＳＢデバイスのエンドポイント情報を抽出し、集約エンドポイント情報として設定する。
【００２９】
ステップＳ５０８では、サーバ１２０が、集約エンドポイント情報と対応する集約設定値をゲートウェイ装置１３０に通知する。  
ステップＳ５０９では、ゲートウェイ装置１３０の設定格納部３０２が、集約エンドポイント情報と集約設定値とを格納する。以上のＵＳＢ／ＩＰ接続時の処理により、ＵＳＢデバイス１１０とサーバ１２０とのゲートウェイ装置１３０を介したＵＳＢ／ＩＰ接続が確立する。
【００３０】
続いて、ＵＳＢ／ＩＰ接続中（ＵＳＢ／ＩＰ接続確立後）の処理に移行する。  
ＵＳＢ／ＩＰ接続確立後、ＵＳＢデバイス１１０とサーバ１２０との間でＵＳＢ初期化シーケンスが行われる。
【００３１】
ＵＳＢ初期化シーケンス中のステップＳ５１０では、サーバ１２０が、ＵＳＢ／ＩＰ接続による通信（ＵＳＢ／ＩＰ通信ともいう）により、設定情報要求をゲートウェイ装置１３０に送信する。ゲートウェイ装置１３０は、ＵＳＢ通信により、受け取った設定情報要求をＵＳＢデバイス１１０に送信する。  
ＵＳＢ初期化シーケンス中のステップＳ５１１では、ＵＳＢデバイス１１０が、ＵＳＢ通信により、受け取った設定情報要求に対する応答である設定情報応答をゲートウェイ装置１３０に送信する。ゲートウェイ装置１３０は、ＵＳＢ／ＩＰ通信により、設定情報応答をサーバ１２０に送信する。
【００３２】
ステップＳ５１２では、サーバ１２０が、ＵＲＢをＵＳＢデバイス１１０に送信しようと試みる。ここで、集約エンドポイント情報が図４に示す例のようであり、ＵＳＢデバイス１１０が「デバイスＡ」であり、エンドポイントが「ＥＰ１」である場合、エンドポイント「ＥＰ１」におけるＵＲＢについて集約が行われる。集約を行う際は、サーバ１２０の通信制御部２０３が、例えば、サーバ１２０に設けられるバッファ（図示せず）にＵＲＢを蓄積し、集約設定値のいずれかの上限値に達したときに集約を停止し、この時点でバッファに蓄積されたＵＲＢを１つのパケットのペイロードとして集約を行えばよい。
【００３３】
具体的に、以下では、図４の設定ファイルを参照すると想定する。サーバ１２０の通信制御部２０３は、エンドポイント「ＥＰ１」のＵＲＢ数が「２」であるので、上限値である２つのＵＲＢの集約を行う。サーバ１２０の送受信部２０４では、集約されたＵＲＢを、１つのパケットのペイロードとしてゲートウェイ装置１３０に送信する。複数のＵＲＢが１つのパケットに含まれるよう集約を行うことで、複数のＵＲＢが個別にＩＰネットワーク上で送信されるよりも、ＩＰネットワーク上の通信量を削減することができ、結果としてＩＰネットワークの負荷を低減することができる。
【００３４】
ステップＳ５１３では、ゲートウェイ装置１３０の分離部３０４が、サーバ１２０から受信した１つのパケットのペイロードから２つのＵＲＢを分離する。  
ステップＳ５１４では、ゲートウェイ装置１３０が、ＵＳＢ通信により、分離された２つのＵＲＢをＵＳＢデバイス１１０に送信する。  
ステップＳ５１５では、ＵＳＢデバイス１１０が、ＵＳＢ通信により、ＵＲＢをゲートウェイ装置１３０に送信する。ここで、ゲートウェイ装置１３０に送信されたＵＲＢのエンドポイントが「ＥＰ０」である場合を想定する。
【００３５】
ステップＳ５１６では、ゲートウェイ装置１３０の通信制御部３０３が、設定格納部３０２を参照して、取得したＵＲＢのエンドポイントを判定する。ここでＵＲＢのエンドポイントは「ＥＰ０」であると判定されるので、ＵＲＢは集約されない。ゲートウェイ装置１３０は、集約を行わずに、ＵＲＢをそのままサーバ１２０に送信する。
【００３６】
なお、上述したゲートウェイ装置１３０およびサーバ１２０では、互いにＵＲＢの集約を行う例を示すが、少なくともどちらか一方がＵＲＢの集約を行うようにしてもよい。例えば、サーバ１２０が通信制御部２０３を含み、ゲートウェイ装置１３０が通信制御部３０３を含まない場合でもよく、サーバ１２０側からのＵＲＢの送信についてのみ集約が行われるようにしてもよい。
【００３７】
また、図５の例では図示していないが、複数のＵＲＢが集約されたパケットがゲートウェイ装置１３０からサーバ１２０に送信される場合でも同様に処理すればよい。すなわち、サーバ１２０の分離部２０５が、ゲートウェイ装置１３０から受信した１つのパケットのペイロードから、複数のＵＲＢを分離すればよい。
【００３８】
以上に示した第１の実施形態によれば、エンドポイントの種別ごとにＵＲＢの集約を行うかどうかを設定することで、集約を行う場合は、パケットの数を減らすことができ、ネットワークの通信量を削減することができる。また、リアルタイム応答が要求されるようなエンドポイントのＵＲＢについては集約しないと設定することで、該当するＵＲＢは集約されずに送信され、ＵＲＢの種別を考慮せずにある設定条件に該当するＵＲＢを全て集約することでシステムが意図しない動作を行うといったリスクを回避することができる。結果として、ネットワーク負荷を減少させつつ効率的なデータ通信を行うことができる。
【００３９】
（第２の実施形態）  
第２の実施形態では、設定ファイルが、エンドポイントの種別に応じて設定されるのではなく、ＵＳＢ通信のデータ転送方式（転送方式）およびデータ送信方向に応じて設定される点が第１の実施形態と異なる。
【００４０】
第２の実施形態に係るデータ通信システムに含まれるゲートウェイ装置１３０およびサーバ１２０は、第１の実施形態とほぼ同様であるが、サーバ１２０の設定部２０１および通信制御部２０３とゲートウェイ装置１３０の通信制御部３０３との動作が異なる。  
サーバ１２０の設定部２０１は、転送方式とデータ送信方向との組み合わせごとに、集約を行うかどうかを示す集約情報と、集約設定値とを対応付けて設定する。  
サーバ１２０の通信制御部２０３およびゲートウェイ装置１３０の通信制御部３０３は、サーバ１２０とゲートウェイ装置１３０との間の通信の際、ＵＳＢデバイス１１０のＵＳＢ／ＩＰ接続中（ＵＳＢ／ＩＰ接続確立後）において、集約情報および集約設定値に基づいて、該当するエンドポイントごとに、ＵＲＢの集約を制御する。エンドポイントごとのＵＲＢの集約処理については、第１の実施形態と同様である。
【００４１】
次に、第２の実施形態にかかる設定ファイルの一例について図６を参照して説明する。  
図６に示す設定ファイル６００は、転送方式とデータ送信方向との組み合わせごとに、集約情報と集約設定値とが対応付けられる。なお、転送方式とデータ送信方向とが組み合わせられないものは除く。図４の場合と同様に、設定ファイルは箇条書き形式であるが、テーブル形式など、対応関係が把握できればどのような形式でもよい。
【００４２】
ＵＳＢデバイス１１０の転送方式は、「コントロール転送」、「バルク転送」、「インタラプト転送」および「アイソクロナス転送」の４方式である。データ送信方向は、「上り」、「下り」および「双方向」の３つである。
【００４３】
具体的には、例えば、「コントロール転送」と「双方向」との組み合わせに対して「集約なし」が対応付けられる。また、「バルク転送」と「上り」との組み合わせ、「集約あり」、および「ＵＲＢｓ：２、ＴＯ：１０００、Ｓｉｚｅ：１０００」が対応付けられる。
【００４４】
次に、第２の実施形態にかかるデータ通信システムの通信制御処理について図７のシーケンス図を参照して説明する。  
ステップＳ５０２からステップＳ５０６まで、ステップＳ５０８、ステップＳ５０９、ステップＳ５１２からステップＳ５１６までの動作については、図５に示す動作と同様であるので説明を省略する。
【００４５】
ステップＳ７０１では、サーバ１２０の設定部２０１が、図６に示すような設定ファイルを設定する。
【００４６】
ステップＳ７０２では、ＵＳＢ／ＩＰ接続が確立後、ＵＳＢ／ＩＰ接続中の処理におけるＵＳＢ初期化シーケンスとして、サーバ１２０が、設定情報要求をゲートウェイ装置１３０に送信し、ゲートウェイ装置１３０が、設定情報要求をＵＳＢデバイス１１０に送信する。
【００４７】
ステップＳ７０３では、ＵＳＢデバイス１１０が、設定情報要求に対する応答であるエンドポイント情報を含む設定情報応答をゲートウェイ装置１３０に送信し、ゲートウェイ装置１３０が、設定情報応答をサーバ１２０に送信する。エンドポイント情報は、ここでは、エンドポイント番号、データ送信方向、および転送方式を含む情報を想定するが、その他の情報を含んでもよい。
【００４８】
ステップＳ７０４では、サーバ１２０の設定部２０１が、設定ファイルを参照し、エンドポイントの転送方式およびデータ送信方向が一致する集約情報を決定し、集約エンドポイント情報を設定する。
【００４９】
具体的には、例えば図６の設定ファイルを参照して、エンドポイントが「バルク転送」と「上り」との組み合わせであれば、「集約あり」であるので、該当するエンドポイントで通信されるＵＲＢについて集約設定値に基づいて集約が行われる。
【００５０】
以上に示した第２の実施形態によれば、転送方式およびデータ送信方向の組み合わせごとに集約設定値を事前に設定し、ＵＳＢ／ＩＰ接続中に設定ファイルを読み込み、集約エンドポイントを設定することで、第１の実施形態と同様に、リアルタイム性を要求するデータ通信に関しては集約を行わないことで、ＵＳＢ通信の正常動作を保ちつつ、ネットワーク負荷を減少させつつ効率的なデータ通信を行うことができる。
【００５１】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００５２】
１００・・・データ通信システム
１１０・・・ＵＳＢデバイス
１２０・・・サーバ
１３０・・・ゲートウェイ装置
１４０・・・ＩＰネットワーク
２０１・・・設定部
２０２，３０２・・・設定格納部
２０３，３０３・・・通信制御部
２０４，３０１・・・送受信部
２０５，３０４・・・分離部
４００，６００・・・設定ファイル。
【図１】
0006298804.tif 000002
【図２】
0006298804.tif 000003
【図３】
0006298804.tif 000004
【図４】
0006298804.tif 000005
【図５】
0006298804.tif 000006
【図６】
0006298804.tif 000007
【図７】
0006298804.tif 000008