(57)【要約】【課題】フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を可能とする。【解決手段】端末に接続され、フレームアグリゲーション機能を有するＮＷモジュール１４と、ＵＳＢ機器に接続されるＵＳＢモジュール１１と、ＵＳＢモジュール１１によりＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件が満たされるか否かを判定する判定部１２と、条件が満たされると判定部１２が判定した場合に、フレームアグリゲーションのための送信待ちをせずに、上記データを含むフレームをＮＷモジュール１４により端末に送信する送信制御部１６とを備える。【選択図】図１
2019134313.tif 000002
【特許請求の範囲】
【請求項１】
端末に接続され、フレームアグリゲーション機能を有する無線通信モジュールと、
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機器に接続されるＵＳＢモジュールと、
前記ＵＳＢモジュールにより前記ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件が満たされるか否かを判定する判定部と、
前記条件が満たされると前記判定部が判定した場合に、フレームアグリゲーションのための送信待ちをせずに、前記データを含むフレームを前記無線通信モジュールにより前記端末に送信する送信制御部とを備える
通信装置。
【請求項２】
前記判定部は、前記データサイズが所定値に等しいこと、又は、前記データサイズが所定値以下であること、を前記データサイズに関する条件として用いて前記判定をする
請求項１に記載の通信装置。
【請求項３】
前記判定部は、前記データについて、さらにデータ内容に関する前記条件が満たされるか否かを判定する
請求項１又は２に記載の通信装置。
【請求項４】
前記判定部は、前記データが所定の制御データを含むことを前記データ内容に関する条件として用いて前記判定をする
請求項３に記載の通信装置。
【請求項５】
前記判定部は、前記データが分割されて複数のフレームに含められる場合には、フレームに含まれている前記データの一部が、前記データの終端を含むこと、を前記データ内容に関する条件として用いて前記判定をする
請求項３に記載の通信装置。
【請求項６】
前記判定部は、さらに、
前記条件と、前記条件を満たすデータを含むフレームに付与する優先度との所定の対応付けを用いて、受信した前記データを含むフレームの優先度を設定し、
前記送信制御部は、
受信した前記データを含むフレームに前記判定部によって設定された前記優先度を、受信した前記データを含むフレームに付与してバッファに格納し、
より高い優先度が付与された１以上のフレームを優先的に前記バッファから取り出し、取り出した前記１以上のフレームをアグリゲートして、前記端末に送信する
請求項１〜５のいずれか１項に記載の通信装置。
【請求項７】
前記送信制御部は、前記バッファから取り出した前記１以上のフレームを、より高い優先度が付与されたフレームをより早く送信する順序でアグリゲートして、前記端末に送信する
請求項６に記載の通信装置。
【請求項８】
前記送信制御部は、
受信した前記データが前記条件を満たさないと前記判定部が判定した場合に、受信した前記データを含むフレームをバッファに格納し、
前記送信待ちの解除のための所定の条件が成立した場合に、前記バッファから１以上のフレームを取り出し、取り出した前記１以上のフレームをアグリゲートして、前記端末に送信する
請求項１〜７のいずれか１項に記載の通信装置。
【請求項９】
端末に接続され、フレームアグリゲーション機能を有する無線通信モジュールと、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機器に接続されるＵＳＢモジュールとを備える通信装置の制御方法であって、
前記ＵＳＢモジュールにより前記ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件が満たされるか否かを判定する判定ステップと、
前記条件が満たされると前記判定ステップで判定した場合に、フレームアグリゲーションのための送信待ちをせずに、前記データを含むフレームを前記無線通信モジュールにより前記端末に送信する送信制御ステップとを含む
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、及び、通信装置の制御方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等の端末（ホストデバイス）は、接続された周辺機器を利用し得る。例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠したＵＳＢポートを備える端末は、そのＵＳＢポートを介して、ＵＳＢコネクタを有するＵＳＢ機器又はＵＳＢケーブルで接続可能なＵＳＢ機器と、データの授受を行うことができる。ＵＳＢ機器は、例えば、マウス又はプリンタ等である。
【０００３】
従来、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークに接続された端末が、ネットワークを介してＵＳＢ機器を利用し得るように、端末とＵＳＢ機器とをネットワークを介して連結するデバイスサーバが知られている。端末とデバイスサーバとは、例えばＩＰネットワークにおいて、ＵＳＢ通信のデータがカプセル化されたＩＰパケットによる通信であるＵＳＢ／ＩＰ（ＵＳＢオーバＩＰ）通信を行う。
【０００４】
一方、高速通信が可能な無線ＬＡＮの通信規格がある。例えば、ＩＥＥＥ８０２．１１ｎ等では、フレームアグリゲーション機能により帯域利用効率を向上することで高速通信を図っている。フレームアグリゲーション機能を用いると特定のアプリケーションにおいてレスポンス低下が生じ得る。例えば、特許文献１は、通信装置内の処理によりこのレスポンス低下を抑制する技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５７０７５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
高速通信が可能な無線ＬＡＮを介して端末がデバイスサーバを利用する場合、フレームアグリゲーションによる高速通信が望まれることもあれば、応答の即時性が望まれることもある。
【０００７】
しかしながら、一律にフレームアグリゲーションによる高速通信を行うことにすれば、応答の即時性が損なわれることがあるという問題がある。例えば、上記高速通信を介してデバイスサーバを用いて端末にＵＳＢマウスを接続すると、応答の即時性が損なわれ、端末におけるマウスカーソルの動作の滑らかさが損なわれる。
【０００８】
一方、応答の即時性を確保するために一律にフレームアグリゲーション機能を用いないことにすれば、高速通信の利点が得られないという問題がある。例えば、高速通信を介さずにＵＳＢストレージを利用すると、高速通信をする場合に比べてデータ転送速度が低いという問題がある。
【０００９】
本発明は、上記問題を解決するためになされたものであり、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を可能とする通信装置等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一態様に係る通信装置は、端末に接続され、フレームアグリゲーション機能を有する無線通信モジュールと、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機器に接続されるＵＳＢモジュールと、前記ＵＳＢモジュールにより前記ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件が満たされるか否かを判定する判定部と、前記条件が満たされると前記判定部が判定した場合に、フレームアグリゲーションのための送信待ちをせずに、前記データを含むフレームを前記無線通信モジュールにより前記端末に送信する送信制御部とを備える。
【００１１】
ここで、「少なくともデータサイズに関する条件が満たされるか否かを判定する」とは、以下に述べる本発明の実施の形態の説明において、図２に示した対応表の具体的条件の一つに必ずデータサイズに関する条件が含まれ、判定部はこれに従って判定することを意味する。
【００１２】
これによれば、通信装置は、原則としてはフレームアグリゲーションによる高速通信を行う。また、通信装置は、ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件を用いて高い即時性を要するデータの通信を他から区別し、そのデータを送信待ちをせずに送信することで即時性が高い通信を実現する。このように通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を実現する。
【００１３】
また、前記判定部は、前記データサイズが所定値に等しいこと、又は、前記データサイズが所定値以下であること、を前記データサイズに関する条件として用いて前記判定をしてもよい。
【００１４】
これによれば、通信装置は、データサイズに関して、所定値に等しい、又は、所定値以下であることを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００１５】
また、前記判定部は、前記データについて、さらにデータ内容に関する前記条件が満たされるか否かを判定してもよい。
【００１６】
これによれば、通信装置は、ＵＳＢ機器から受信したデータについて、さらにデータ内容に関する条件を用いて高い即時性を要するデータの通信を他から区別し、そのデータを送信待ちをせずに送信することで即時性が高い通信を実現する。このように通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより適切に実現する。
【００１７】
また、前記判定部は、前記データが所定の制御データを含むことを前記データ内容に関する条件として用いて前記判定をしてもよい。
【００１８】
これによれば、通信装置は、データ内容に関して、データが所定の制御データを含むことを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００１９】
また、前記判定部は、前記データが分割されて複数のフレームに含められる場合には、フレームに含まれている前記データの一部が、前記データの終端を含むこと、を前記データ内容に関する条件として用いて前記判定をしてもよい。
【００２０】
これによれば、通信装置は、データ内容に関して、フレームに含まれているデータの一部が、ＵＳＢ機器から受信したデータの終端を含むことを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００２１】
また、前記判定部は、さらに、前記条件と、前記条件を満たすデータを含むフレームに付与する優先度との所定の対応付けを用いて、受信した前記データを含むフレームの優先度を設定し、前記送信制御部は、受信した前記データを含むフレームに前記判定部によって設定された前記優先度を、受信した前記データを含むフレームに付与してバッファに格納し、より高い優先度が付与された１以上のフレームを優先的に前記バッファから取り出し、取り出した前記１以上のフレームをアグリゲートして、前記端末に送信してもよい。
【００２２】
これによれば、通信装置は、当該フレームの優先度、つまり、当該フレームを端末に優先的に受信させることが望まれる度合いを考慮して、連結フレームに含めるフレームを決定する。これにより、通信装置は、優先度が高いフレームが、優先度が低いフレームより後に到着した場合に、優先度が高いフレームを早く送信することで、優先度が低いフレームより早く端末に受信させることができる。
【００２３】
また、前記送信制御部は、前記バッファから取り出した前記１以上のフレームを、より高い優先度が付与されたフレームをより早く送信する順序でアグリゲートして、前記端末に送信してもよい。
【００２４】
これによれば、通信装置は、当該フレームの優先度、つまり、当該フレームを端末に優先的に受信させることが望まれる度合いを考慮して、連結フレーム内のフレームの順序を決定する。これにより、優先度が高いフレームが、優先度が低いフレームより後に到着した場合に、優先度が高いフレームを連結フレーム内で先に送信することで、優先度が低いフレームより先に端末に受信させることができる。
【００２５】
また、前記送信制御部は、受信した前記データが前記条件を満たさないと前記判定部が判定した場合に、受信した前記データを含むフレームをバッファに格納し、前記送信待ちの解除のための所定の条件が成立した場合に、前記バッファから１以上のフレームを取り出し、取り出した前記１以上のフレームをアグリゲートして、前記端末に送信してもよい。
【００２６】
これによれば、通信装置は、高い即時性を要しないフレームを、アグリゲーション機能に基づいてアグリゲートして送信する。これにより、通信装置は、高い即時性を要しないフレームを高い帯域利用効率で送信する一方で、高い即時性を要しないフレームを高い帯域利用効率で送信することができる。
【００２７】
また、本発明の一態様に係る通信装置の制御方法は、端末に接続され、フレームアグリゲーション機能を有する無線通信モジュールと、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機器に接続されるＵＳＢモジュールとを備える通信装置の制御方法であって、前記ＵＳＢモジュールにより前記ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件が満たされるか否かを判定する判定ステップと、前記条件が満たされると前記判定ステップで判定した場合に、フレームアグリゲーションのための送信待ちをせずに、前記データを含むフレームを前記無線通信モジュールにより前記端末に送信する送信制御ステップとを含む。
【００２８】
これにより、上記通信装置と同様の効果を奏する。
【００２９】
なお、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
【発明の効果】
【００３０】
本発明に係る無線基地局装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を実現できる。
【図面の簡単な説明】
【００３１】
【図１】図１は、実施の形態１に係る通信装置を含む通信システムの構成を示す模式図である。
【図２】図２は、実施の形態１に係る判定部による判定に利用される条件を示す説明図である。
【図３】図３は、実施の形態１に係る通信装置の処理を示すフロー図である。
【図４】図４は、関連技術に係るアグリゲーションのための送信待ちをする場合の通信システムの第一のシーケンス図である。
【図５】図５は、実施の形態１に係るアグリゲーションのための送信待ちをしない場合の通信システムの第一のシーケンス図である。
【図６】図６は、関連技術に係るアグリゲーションのための送信待ちをする場合の通信システムの第二のシーケンス図である。
【図７】図７は、実施の形態１に係るアグリゲーションのための送信待ちをしない場合の通信システムの第二のシーケンス図である。
【図８】図８は、実施の形態２に係る判定部による判定に利用される条件を示す説明図である。
【図９】図９は、実施の形態２に係るアグリゲートされたフレームの構造を示す説明図である。
【図１０】図１０は、実施の形態２に係る通信装置の処理を示す第一のフロー図である。
【図１１】図１１は、実施の形態２に係る通信装置の処理を示す第二のフロー図である。
【図１２】図１２は、関連技術に係るアグリゲーションのための送信待ちをする場合の通信システムの第三のシーケンス図である。
【図１３】図１３は、実施の形態２に係るアグリゲーションのための送信待ちをしない場合の通信システムのシーケンス図である。
【発明を実施するための形態】
【００３２】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３３】
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。
【００３４】
（実施の形態１）
本実施の形態において、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を可能とする通信装置及び通信システムについて説明する。
【００３５】
図１は、本実施の形態に係る通信装置１０を含む通信システム１の構成を示す模式図である。
【００３６】
図１に示されるように、通信システム１は、通信装置１０と、端末２０と、ＵＳＢ機器３０とを備える。通信装置１０と端末２０とは、無線通信の通信リンクＬにより接続されている。通信リンクＬの通信規格は、フレームを連結するフレームアグリゲーション機能（単にアグリゲーション機能ともいう）に対応した無線通信規格であり、例えばＩＥＥＥ８０２．１１ｎ、ａｃ又はａｄである。また、通信装置１０とＵＳＢ機器３０とは、ＵＳＢケーブルＣにより接続されている。
【００３７】
端末２０は、ＵＳＢ機器３０を利用するホストデバイスである。端末２０は、通信リンクＬを通じて、通信装置１０との間で通信（例えばＩＰ通信）を行う。端末２０は、通信装置１０を介してＵＳＢ機器３０と通信するときには、ＵＳＢ機器３０との間で行うＵＳＢ通信のデータをＩＰパケットにカプセル化したＵＳＢ／ＩＰ通信を行う。端末２０は、パーソナルコンピュータ、タブレット端末、及び、スマートフォンなどである。
【００３８】
ＵＳＢ機器３０は、端末２０に利用されるＵＳＢ機器である。ＵＳＢ機器３０は、表示装置、ＨＩＤ（Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅ）（具体的にはキーボード及びマウスなど）、オーディオ装置、プリンタ及びストレージ機器などの、ＵＳＢインタフェースを有する周辺機器である。
【００３９】
通信装置１０は、端末２０がＵＳＢ機器３０を利用できるようにする通信装置である。通信装置１０は、端末２０との間で通信リンクＬを通じてＵＳＢ／ＩＰ通信を行う。また、通信装置１０は、ＵＳＢ機器３０との間でＵＳＢケーブルＣを通じてＵＳＢ通信を行う。通信装置１０は、端末２０とＵＳＢ機器３０との間で通信を中継する中継装置として機能する。
【００４０】
このように、端末２０は、直接にＵＳＢ機器３０に接続されているのではなく、通信装置１０を介してＵＳＢ機器３０に接続されている。そして、端末２０と通信装置１０との間で行うＵＳＢ／ＩＰ通信と、通信装置１０とＵＳＢ機器３０との間で行うＵＳＢ通信とを、通信装置１０が相互に変換して中継することで端末２０とＵＳＢ機器３０との通信が実現する。この通信により、端末２０が通信装置１０を介してＵＳＢ機器３０を利用できる。
【００４１】
通信装置１０の機能の詳細について説明する。
【００４２】
図１に示されるように、通信装置１０は、ＵＳＢモジュール１１と、判定部１２と、ＮＷ（Ｎｅｔｗｏｒｋ）通信部１３と、ＮＷモジュール１４と、バッファ１５と、送信制御部１６とを備える。
【００４３】
ＵＳＢモジュール１１は、ＵＳＢ通信のデータを送受信するインタフェース装置である。ＵＳＢモジュール１１は、ＵＳＢケーブルＣによりＵＳＢ機器３０に接続され、ＵＳＢ通信のデータを送受信する。ＵＳＢモジュール１１は、具体的には、ＵＳＢケーブルＣに接続されるＵＳＢコネクタ、及び、信号の送受信回路などを含む。なお、ＵＳＢ通信は、ＵＳＢケーブルＣの代わりに、電波による無線通信（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）によりなされてもよい。ＵＳＢモジュール１１が受信するデータには、「ＷＲＩＴＥ」及び「ＲＥＡＤ」のいずれかのデータ方向を示す情報が付与されている。「ＷＲＩＴＥ」のデータ方向は、端末２０からＵＳＢ機器３０へデータを書き込むための命令を送信したことに応じて、ＵＳＢ機器３０が送信するデータに付与されるデータ方向である。また、「ＲＥＡＤ」のデータ方向は、端末２０からＵＳＢ機器３０へデータを読み込むための命令を送信したことに応じて、ＵＳＢ機器３０が送信するデータに付与されるデータ方向である。
【００４４】
判定部１２は、ＵＳＢモジュール１１によりＵＳＢ機器３０から受信したデータについて、所定の条件が満たされるか否かを判定する処理部である。所定の条件は、データサイズに関する条件、又は、データ内容に関する条件などを含む。所定の条件については、後で詳しく説明する。判定部１２は、プロセッサがメモリを用いて所定のプログラムを実行することで実現されてもよいし、専用ハードウェアにより実現されてもよい。
【００４５】
ＮＷ通信部１３は、ＵＳＢ／ＩＰ通信を介して端末２０にＵＳＢ機器３０を利用させるための処理を行う処理部である。ＮＷ通信部１３は、端末２０とやりとりするＵＳＢ／ＩＰ通信のデータと、ＵＳＢ機器３０とやりとりするＵＳＢ通信のデータとを相互に中継することで、端末２０とＵＳＢ機器３０との間のデータの送受信を成立させる。
【００４６】
具体的には、ＮＷ通信部１３は、端末２０との間でＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）セッションを確立し維持する。そして、このＴＣＰセッションを通じて端末２０からＵＳＢ／ＩＰ通信のデータを受信すると、受信したデータをデカプセル化することでＵＳＢ通信のデータを取り出し、ＵＳＢ機器３０に送信する。また、ＵＳＢ機器３０からＵＳＢ通信のデータを受信すると、受信したデータをＩＰパケットにカプセル化することでＵＳＢ／ＩＰ通信のデータを生成してＴＣＰセッションを通じて端末２０に送信する。ＮＷ通信部１３は、カプセル化及びデカプセル化を用いて、ＵＳＢ／ＩＰ通信のデータとＵＳＢ通信のデータとを相互に変換しながら中継する。ＮＷ通信部１３は、プロセッサがメモリを用いて所定のプログラムを実行することで実現されてもよいし、専用ハードウェアにより実現されてもよい。
【００４７】
ＮＷモジュール１４は、端末２０と電波による無線通信を行う無線通信モジュールである。ＮＷモジュール１４は、アンテナ及び無線通信回路などを含む。ＮＷモジュール１４は、端末２０との間で無線の通信リンクＬを確立し、通信リンクＬを通じてＵＳＢ／ＩＰ通信のデータを含むフレームを送受信する。無線通信の通信規格は、アグリゲーション機能に対応した無線通信規格であり、例えばＩＥＥＥ８０２．１１ｎ、ａｃ又はａｄである。
【００４８】
バッファ１５は、ＮＷモジュール１４により送信するフレームを、その送信前に一時的に格納する送信待ちバッファであり、メモリなどの記憶装置により実現される。バッファ１５へのフレームの格納、及び、バッファ１５からのフレームの取り出しは、送信制御部１６によりなされる。
【００４９】
送信制御部１６は、ＮＷモジュール１４によるフレームの送信を制御する制御装置である。送信制御部１６は、ＵＳＢ／ＩＰ通信のデータをＮＷ通信部１３から取得すると、そのデータをフレームに含めてバッファ１５に格納する。このとき、ＵＳＢ／ＩＰ通信のデータのデータサイズが、１フレームに含められる最大サイズを超えている場合には、送信制御部１６は、ＵＳＢ／ＩＰ通信のデータを分割して複数のフレームに含めてバッファ１５に格納する。
【００５０】
また、送信制御部１６は、原則として、アグリゲーションのための送信待ちを解除する所定タイミングでバッファ１５に格納されている１以上のフレームを取り出し、取り出した１以上のフレームをアグリゲートして端末２０に送信する。
【００５１】
そして、送信制御部１６は、フレーム単位でアグリゲーション機能を適用するか、又は、適用しない（つまり適用を制限又は禁止する）か、を制御する。ここで、アグリゲーション機能とは、フレームをアグリゲートするアグリゲート機能と、アグリゲートの対象になるフレームを所定時間待つ機能である送信待ち機能とを含む。
【００５２】
ここで、アグリゲーションのための送信待ちを解除する所定タイミングとは、例えば、バッファ１５に格納されたフレームの合計のデータサイズがフレームアグリゲーション機能における連結フレームの最大サイズを超えたタイミング、及び、予め定められた周期で到来するタイミング（言い換えれば、アグリゲーションのタイムアウト時間が超過したタイミング）を含む。
【００５３】
具体的には、送信制御部１６は、ＵＳＢモジュール１１が受信したデータが所定の条件を満たすと判定部１２が判定した場合に、アグリゲーションのための送信待ちをせずに、ＮＷモジュール１４によりデータを端末２０に送信する。ここで、「アグリゲーションのための送信待ちをしない」という語は、少なくとも送信待ちをしないということを意味し、具体的には、（ａ）アグリゲーション機能を適用しないこと、又は、（ｂ）アグリゲート機能と送信待ち機能とのうちの送信待ち機能のみを適用しないことを意味する。制御の詳細については後で詳しく説明する。
【００５４】
図２は、本実施の形態に係る判定部１２による判定に利用される条件を示す説明図である。図２には、ＵＳＢ機器３０から受信するデータのデータサイズ又はデータ内容などについての条件と、条件を満たすデータを含むフレームに対して行う動作とを対応付ける対応表が示されている。
【００５５】
図２に示される条件は、データサイズ、データ方向、データ内容、ＵＳＢ機器種別、及び、同時利用機器の項目を含む。また、図２に示される動作は、アグリゲーション機能の適用の項目を含む。なお、図２において、「―」は、ワイルドカードを示しており、内容が何であってもよいことを示している。
【００５６】
データサイズは、ＵＳＢ機器３０から受信したデータのデータサイズについての条件を示す項目である。
【００５７】
データ方向は、ＵＳＢ機器３０から受信したデータに付与されたデータ方向についての条件を示す項目である。データ方向には、「ＷＲＩＴＥ」及び「ＲＥＡＤ」がある。
【００５８】
データ内容は、ＵＳＢ機器３０から受信したデータのデータ内容についての条件を示す項目である。データ内容は、例えば、ＵＳＢ機器３０の動作を制御するための制御データ（例えば「ＳＣＳＩ  ＳＴＡＴＵＳ」）であること、又は、受信したデータが分割されて複数のフレームに含められる場合における、データの終端を含むこと、などがある。
【００５９】
ＵＳＢ機器種別は、ＵＳＢ機器３０の種別についての条件を示す項目である。ＵＳＢ機器種別には、例えば、ストレージ、オーディオ又はＨＩＤなどがある。
【００６０】
同時利用機器は、ＵＳＢ機器３０からデータを受信したときに、端末２０が通信装置１０を用いて同時に利用している機器についての条件を示す項目である。同時利用機器は、例えば、ディスプレイ又はストレージなどがある。同時利用機器がないことを条件とする場合もある。
【００６１】
アグリゲーション機能の適用の項目は、ＵＳＢ機器３０から受信したデータが条件を満たす場合に、当該データを含むフレームを送信するときにアグリゲーション機能を適用するか否か、つまり、当該データを含むフレームをアグリゲートして送信するか否かを示す項目である。「有効」は、アグリゲーション機能を適用する、つまり、アグリゲートすることを示し、「無効」は、アグリゲーション機能を適用しない、つまり、アグリゲートしないことを示す。
【００６２】
例えば、図２に示される上から１番目の行は、ＵＳＢ機器３０から受信したデータのデータ方向が「ＷＲＩＴＥ」であるという条件が満たされる場合には、ＮＷモジュール１４は、当該データを含むフレームをアグリゲーション機能を適用せずに送信するという動作をすることを示している。
【００６３】
また、例えば、図２に示される上から２番目の行は、ＵＳＢ機器３０から受信したデータのデータサイズが１３ｂｙｔｅであること、データ方向が「ＲＥＡＤ」であること、データ内容が「ＳＣＳＩ  ＳＴＡＴＵＳ」であること、及び、ＵＳＢ機器種別が「ストレージ」であること、のすべての条件が満たされる場合には、ＮＷモジュール１４は、当該データを含むフレームをアグリゲーション機能を適用せずに送信するという動作をすることを示している。
【００６４】
また、例えば、図２に示される５番目の行は、ＵＳＢ機器種別が「ＨＩＤ」であること、及び、同時利用機器が「ストレージ」であること、の両方の条件が満たされる場合には、ＮＷモジュール１４が、当該データを含むフレームをアグリゲーション機能を適用して送信するという動作をすることを示している。
【００６５】
また、例えば、図２に示される９番目の行は、データ内容が、データの終端を含むという条件が満たされる場合には、ＮＷモジュール１４が、当該データを含むフレームをアグリゲーション機能を適用せずに送信するという動作をすることを示している。この条件を満たすのは、ＵＳＢモジュール１１により受信したデータが分割されて複数のフレームに含められる場合に、上記データの終端を含むフレームである。
【００６６】
なお、図２に示される対応表の条件に含まれるデータサイズ、データ方向、データ内容、ＵＳＢ機器種別などは、ユーザにより任意に動的に設定され得る。例えば、ユーザは、ＵＳＢ機器種別とデータ内容とを条件として設定することで、さまざまな規格で定められたデータ方向又はデータサイズのデータに適合する条件を作成することができる。
【００６７】
なお、図２に示される対応表には、少なくともデータサイズに関する条件が含まれることを要し、さらに、動作には、データサイズに関する条件を満たすデータを含むフレームをアグリゲーション機能を適用せずに送信するという動作が含まれることを要する。具体的には、対応表には、少なくとも２番目、３番目、４番目又は８番目のいずれかの条件及び動作が含まれることを要する。通信装置１０が、少なくともデータサイズに関する条件に基づいて高い即時性を要するデータの通信を他から区別し、アグリゲーション機能を適用せずに送信することによって、即時性が高い通信を実現するためである。なお、上記の「少なくともデータサイズに関する条件」を「即時性が高い通信を示す条件」ともいう。
【００６８】
なお、判定部１２は、即時性が高い通信を示す条件として、データサイズが所定値に等しいこと、又は、データサイズが所定値以下であること、をデータサイズに関する条件として用いて判定をしてもよい。
【００６９】
また、判定部１２は、ＵＳＢモジュール１１により受信したデータについて、さらにデータ内容に関する条件が満たされるか否かを判定してもよい。言い換えれば、判定部１２は、ＵＳＢモジュール１１により受信したデータについて、データ内容に関するさらなる追加条件が満たされるか否かを判定してもよい。
【００７０】
なお、判定部１２は、ＵＳＢモジュール１１により受信したデータが所定の制御データを含むことをデータ内容に関する条件として用いて判定をしてもよい。
【００７１】
また、判定部１２は、ＵＳＢモジュール１１により受信したデータが分割されて複数のフレームに含められる場合には、フレームに含まれているデータの一部が、データの終端を含むこと、をデータ内容に関する条件として用いて判定をしてもよい。
【００７２】
なお、判定部１２は、ＵＳＢ機器３０から受信したデータが、図２に示される複数の条件を満たすか否かを判定する際には、例えば、図２における上から下への順序で順番に判定するようにしてもよい。その際、条件を満たす場合には条件を満たした時点で判定を終えるようにし、条件を満たさない場合にはその１つ下の行の条件を満たすか否かを判定するようにする。このようにすることで、複数の条件それぞれの優先順位を考慮して判定を行うことができる利点がある。
【００７３】
以上のように構成された通信装置１０の処理について説明する。
【００７４】
図３は、本実施の形態に係る通信装置１０の処理を示すフロー図である。図３に示される処理は、ＵＳＢモジュール１１がＵＳＢ機器３０からデータを受信したときに行われる処理である。
【００７５】
ステップＳ１０１において、ＵＳＢモジュール１１は、ＵＳＢ機器３０からデータを受信する。
【００７６】
ステップＳ１０２において、判定部１２は、ステップＳ１０１でＵＳＢモジュール１１により受信したデータが、少なくともデータサイズに関する条件を満たすか否かを判定する。この条件は、即時性が高い通信を示す条件であり、具体的には、図２に示される対応表の２番目、３番目、４番目又は８番目の条件が上記条件に該当する。上記データが上記条件を満たすと判定した場合（ステップＳ１０２でＹｅｓ）にはステップＳ１０３に進み、そうでない場合（ステップＳ１０２でＮｏ）にはステップＳ１１１に進む。
【００７７】
ステップＳ１０３において、判定部１２は、ステップＳ１０１でＵＳＢモジュール１１により受信したデータをＮＷ通信部１３に提供する。ＮＷ通信部１３は、提供されたデータをＵＳＢ／ＩＰ通信のデータに変換してＮＷモジュール１４に提供する。ＮＷモジュール１４は、送信制御部１６による制御によって、ＵＳＢ／ＩＰ通信のデータを含むフレームを生成し、アグリゲーションのための送信待ちをせずに端末２０に送信する。ここで、送信待ちをせずに送信することは、図２の対応表において、即時性が高い通信を示す条件に対応する動作としてアグリゲーション機能の適用の項目が無効になっていることに応じてなされるものである。
【００７８】
ステップＳ１１１において、判定部１２は、ステップＳ１０１でＵＳＢモジュール１１により受信したデータをＮＷ通信部１３に提供する。ＮＷ通信部１３は、提供されたデータをＵＳＢ／ＩＰ通信のデータに変換してＮＷモジュール１４に提供する。ＮＷモジュール１４は、送信制御部１６による制御によって、ＵＳＢ／ＩＰ通信のデータを含むフレームを生成し、バッファ１５に一旦格納したのち、アグリゲーション機能を適用して端末２０に送信する。ここで、アグリゲーション機能を適用して送信することは、図２の対応表において、即時性が高い通信を示す条件を除く条件に対応する動作としてアグリゲーション機能の適用の項目が有効になっていることに応じてなされるものである。
【００７９】
ステップＳ１０３又はＳ１１１を終えたら、図３に示される一連の処理を終了する。
【００８０】
これにより、通信装置１０は、原則としてはフレームアグリゲーションによる高速通信を行い、即時性が高い通信が必要である場合に限り、即時性が高い通信を可能とする。
【００８１】
以降において、本実施の形態に係る通信システム１における通信を、関連技術に係る通信システムにおける通信と比較しながら説明する。ここで、関連技術とは、一律にアグリゲーション機能を適用して通信を行う通信装置を含む通信システムをいう。なお、以降のシーケンス図において、図３のフロー図に示された処理が行われるところには、図３と同じ符号が付されている。
【００８２】
図４は、関連技術に係るアグリゲーションのための送信待ちをする場合の通信システムの第一のシーケンス図である。なお、関連技術の説明では、通信装置１０と同等の機能を有する構成要素に、通信装置１０におけるものと同じ名称を用いる。以降でも同様とする。
【００８３】
図４に示されるように、通信装置がＵＳＢ機器からデータを受信すると、ＮＷ通信部は、受信したデータを含むフレームを生成しバッファに格納する。そして、アグリゲーション機能に基づく送信待ちをしたうえで、バッファから上記フレームを取り出して端末に送信する。この送信待ちの間に、ＮＷモジュール１４が送信すべき他のフレームがＮＷ通信部１３からバッファに渡された場合には、渡された他のフレームが、バッファに格納されたフレームとアグリゲートされて送信される。
【００８４】
図５は、本実施の形態に係るアグリゲーションのための送信待ちをしない場合の通信システム１の第一のシーケンス図である。図５に示されるシーケンス図は、ＵＳＢモジュール１１から受信したデータが、即時性が高い通信を示す条件を満たす場合の通信システム１の通信シーケンスを示している。
【００８５】
図５に示されるように、通信装置１０がＵＳＢ機器３０からデータを受信し（Ｓ１０１）、受信したデータが即時性が高い通信を示す条件を満たすと判定された場合（Ｓ１０２でＹｅｓ）には、送信待ちをせずに、フレームをＮＷモジュール１４により端末２０に送信する（Ｓ１０３）。
【００８６】
なお、受信したデータが即時性が高い通信を示す条件を満たさないと判定された場合（Ｓ１０２でＮｏ）には、図４に示されるシーケンスと同様になる。
【００８７】
このように、通信装置１０は、即時性が高い通信を示す条件を満たすか否かについての判定の結果に基づいて、フレームをアグリゲートするか否かを制御することによって、必要に応じて即時性の高い通信を実現する。すなわち、関連技術に係る通信装置では、送信待ちを行うために通信の即時性が損なわれるが、本実施の形態に係る通信装置１０では、高い即時性を要するデータについての送信待ちを行わないので、即時性が高い通信が実現する。
【００８８】
次に、通信装置１０がＵＳＢ機器３０から受信したデータが、連結フレームの最大サイズより大きい場合の通信についての通信シーケンスについて説明する。
【００８９】
図６は、関連技術に係る通信システムの第二のシーケンス図である。図６に示されるシーケンス図は、通信装置がＵＳＢ機器から受信したデータが、連結フレームの最大サイズより大きい場合に、上記データを複数のフレームに分割して端末に送信する場合を示している。
【００９０】
図６に示されるように、通信装置がＵＳＢ機器からデータを受信し、そのデータが連結フレームの最大サイズより大きい場合には、そのデータを分割して複数のフレームに含めて端末に送信する。この場合、一般には、ＮＷモジュールは、受信したデータを１フレームに収められるサイズに分割して複数のフレームを生成してバッファに格納する。送信制御部は、バッファの先頭から連結フレームの最大サイズの分のデータをとりだしてアグリゲートすることで連結フレームであるフレームＦ１を構成して端末に送信する。次に、送信制御部は、バッファに残っているフレームのうちの先頭から連結フレームの最大サイズの分のデータをとりだしてアグリゲートすることで連結フレームであるフレームＦ２を構成して端末に送信する。送信制御部は、その後も同じように連結フレーム（具体的にはフレームＦ５及びＦ６等）を構成して送信し、バッファに残っているフレームの合計サイズが連結フレームの最大サイズに満たない状態になる。送信制御部は、フレームＦ６の送信のあと、バッファに残っているフレームについて、送信待ちをしたうえでフレームＦ７として端末に送信する。この送信待ちの間に、ＮＷモジュールが送信すべき他のフレームがＮＷ通信部から渡された場合には、渡された他のフレームが、バッファに残っていたフレームとアグリゲートされてフレームＦ７として送信される。
【００９１】
図７は、本実施の形態に係るアグリゲーションのための送信待ちをしない場合の通信システム１の第二のシーケンス図である。図７に示されるシーケンス図は、ＵＳＢモジュール１１から受信したデータが連結フレームの最大サイズより大きい場合の通信システム１の通信シーケンスを示している。
【００９２】
図７に示されるように、通信装置１０がＵＳＢ機器３０からデータを受信すると（Ｓ１０１）、図６と同じように、連結フレームであるフレームＦ１〜Ｆ６が構成されて送信される（Ｓ１１１）。その後、送信制御部１６は、バッファに残っているフレームに、データの終端を含むフレームが含まれていることから、図２に示される対応表の９番目の条件に相当するので、連結フレームであるフレームＦ７を構成し、送信待ちをせずに端末２０に送信する（Ｓ１０３）。
【００９３】
このように、通信装置１０は、ＵＳＢ機器３０から受信したデータが連結フレームの最大サイズより大きい場合でも、即時性が高い通信を示す条件を満たすか否かについての判定の結果に基づいて、フレームをアグリゲートするか否かを制御することによって、必要に応じて即時性の高い通信を実現する。すなわち、関連技術に係る通信装置では、送信待ちを行うために通信の即時性が損なわれるが、本実施の形態に係る通信装置１０では、高い即時性を要するデータについての送信待ちを行わないので、即時性が高い通信が実現する。
【００９４】
以上のように本実施の形態の通信装置は、原則としてはフレームアグリゲーションによる高速通信を行う。また、通信装置は、ＵＳＢ機器から受信したデータについて、少なくともデータサイズに関する条件を用いて高い即時性を要するデータの通信を他から区別し、そのデータを送信待ちをせずに送信することで即時性が高い通信を実現する。このように通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を実現する。
【００９５】
また、通信装置は、データサイズに関して、所定値に等しい、又は、所定値以下であることを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００９６】
また、通信装置は、ＵＳＢ機器から受信したデータについて、さらにデータ内容に関する条件を用いて高い即時性を要するデータの通信を他から区別し、そのデータを送信待ちをせずに送信することで即時性が高い通信を実現する。このように通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより適切に実現する。
【００９７】
また、通信装置は、データ内容に関して、データが所定の制御データを含むことを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００９８】
また、通信装置は、データ内容に関して、フレームに含まれているデータの一部が、ＵＳＢ機器から受信したデータの終端を含むことを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【００９９】
また、通信装置は、高い即時性を要しないフレームを、アグリゲーション機能に基づいてアグリゲートして送信する。これにより、通信装置は、高い即時性を要しないフレームを高い帯域利用効率で送信する一方で、高い即時性を要しないフレームを高い帯域利用効率で送信することができる。
【０１００】
（実施の形態２）
本実施の形態において、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を可能とする通信装置及び通信システムについて、さらに、アグリゲーションの際にフレームの優先度を考慮して、送信順序を決定する技術を説明する。ここで、フレームの優先度とは、当該フレームを端末に優先的に受信させることが望まれる度合いをいう。
【０１０１】
本実施の形態の通信装置１０及び通信システム１の構成は、原則として実施の形態１と同様である。実施の形態１と異なる点は、判定部１２が判定に用いる条件に対応付けられる動作として、優先度を設定する動作が含まれている点である。また、判定部１２及び送信制御部１６が、設定された優先度に応じた処理を行う点である。これらの点について詳しく説明する。
【０１０２】
判定部１２は、実施の形態１における場合と同じように、ＵＳＢモジュール１１によりＵＳＢ機器３０から受信したデータについて、所定の条件が満たされるか否かを判定する。そして、判定部１２は、上記条件と、上記条件を満たすデータを含むフレームに付与する優先度との所定の対応付けを用いて、受信したデータを含むフレームに優先度を設定する。
【０１０３】
送信制御部１６は、受信したデータを含むフレームを生成する。また、送信制御部１６は、受信したデータを含むフレームに対して判定部１２が設定した優先度を当該フレームに付与してバッファに格納する。そして、送信制御部１６は、より高い優先度が付与された１以上のフレームを優先的にバッファ１５から取り出し、取り出した１以上のフレームをアグリゲートして端末２０に送信する。送信制御部１６は、アグリゲートする際には、より高い優先度が付与されたフレームを、より早く送信する順序でアグリゲートしてもよい。
【０１０４】
図８は、本実施の形態に係る判定部１２による判定に利用される条件を示す説明図である。図８には、図２と同様、ＵＳＢ機器３０から受信するデータのデータサイズ又はデータ内容などについての条件と、条件を満たすデータを含むフレームに対して行う動作とを対応付ける対応表が示されている。図２と異なる点は、条件を満たすデータに対する動作として、当該データを含むフレームに付与する優先度が追加されている点である。
【０１０５】
優先度の項目は、ＵＳＢ機器３０から受信したデータが条件を満たす場合に、当該データを含むフレームに付与する優先度を示す項目である。優先度は、例えば２段階であり、「高」及び「低」のいずれかで表現される場合を例として説明するが、これに限られず、３段階以上あってもよい。なお、優先度が高いフレームを高優先フレームともいい、優先度が低いフレームを低優先フレームともいう。
【０１０６】
図９は、実施の形態２に係るアグリゲートされたフレームの構造を示す説明図である。
【０１０７】
一般に、アグリゲーション機能では、バッファ１５に格納されたフレームは、格納された順序と同じ順序で取り出され、その順序でアグリゲートされる。
【０１０８】
図９の（ａ）は、一般的なアグリゲーション機能で送信されるフレームの構造を示す説明図である。
【０１０９】
例えば、送信制御部１６は、原則として、低優先フレーム４１、高優先フレーム４２及び低優先フレーム４３がこの順序でバッファ１５に格納された場合には、格納された順序と同様に、低優先フレーム４１、高優先フレーム４２及び低優先フレーム４３をこの順序で取り出してアグリゲートする。その後、送信制御部１６は、アグリゲートしたフレームの先頭にヘッダ部４０などを付してＮＷモジュール１４から端末２０に送信する。
【０１１０】
図９の（ｂ）は、送信制御部１６がアグリゲーション機能で送信し得るフレームの構造を示す説明図である。
【０１１１】
本実施の形態の送信制御部１６は、アグリゲートする際には、より高い優先度が付与されたフレームを、より早く送信する順序でアグリゲートしてもよい。つまり、上記の順序でバッファ１５にフレームが格納された場合に、送信制御部１６は、高優先フレーム４２、低優先フレーム４１及び低優先フレーム４３をこの順序で取り出してアグリゲートしてもよい。その後、送信制御部１６は、アグリゲートしたフレームの先頭にヘッダ部４０などを付してＮＷモジュール１４から端末２０に送信する。
【０１１２】
このようにすることで、通信装置１０は、より高い優先度が付与されたフレームをより早く端末２０に受信させることができる。
【０１１３】
図１０は、本実施の形態に係る通信装置１０の処理を示す第一のフロー図である。図１０に示される処理は、ＵＳＢモジュール１１がＵＳＢ機器３０からデータを受信したときに行われる処理である。
【０１１４】
ステップＳ２０１において、ＵＳＢモジュール１１は、ＵＳＢ機器３０からデータを受信する。
【０１１５】
ステップＳ２０２において、判定部１２は、ステップＳ２０１でＵＳＢモジュール１１により受信したデータが、少なくともデータサイズに関する条件を満たすか否かを判定する。上記データが上記条件を満たすと判定した場合（ステップＳ２０２でＹｅｓ）にはステップＳ２０３に進み、そうでない場合（ステップＳ２０２でＮｏ）にはステップＳ２１１に進む。
【０１１６】
ステップＳ２０３において、判定部１２は、データを含むフレームに付与する優先度を決定する。フレームに付与する優先度は、ステップＳ２０２でデータが満たす条件に、図８に示される対応づけによって対応付けられたものである。
【０１１７】
ステップＳ２０４において、判定部１２は、ステップＳ２０１でＵＳＢモジュール１１により受信したデータをＮＷ通信部１３に提供する。ＮＷ通信部１３は、提供されたデータを含むフレームを生成し、フレームに優先度を付与してＮＷモジュール１４に提供する。ＮＷモジュール１４は、提供されたフレームを、その優先度とともにバッファ１５に格納する。
【０１１８】
ステップＳ２１１において、判定部１２は、ステップＳ２０１でＵＳＢモジュール１１により受信したデータをＮＷ通信部１３に提供する。ＮＷ通信部１３は、提供されたデータを含むフレームを生成し、ＮＷモジュール１４に提供する。ＮＷモジュール１４は、提供されたフレームをバッファ１５に格納する。
【０１１９】
図１１は、本実施の形態に係る通信装置１０の処理を示す第二のフロー図である。図１１に示される処理は、所定時間（例えば数ミリ秒）ごとに繰り返し行われる処理である。
【０１２０】
ステップＳ３０１において、送信制御部１６は、バッファ１５にフレームが格納されているか否かを判定する。バッファ１５にフレームが格納されている場合（ステップＳ３０１でＹｅｓ）には、ステップＳ３０２に進み、そうでない場合（ステップＳ３０１でＮｏ）には、ステップＳ３０１をもう一度実行する。つまり、送信制御部１６は、バッファ１５にフレームが格納されるまで、ステップＳ３０１で待機状態をとる。なお、送信制御部１６は、所定時間（例えば数ミリ秒）ごとにステップＳ３０１を実行するよう制御する。
【０１２１】
ステップＳ３０２において、送信制御部１６は、バッファ１５に格納されているフレームに優先度が付与されているか否かを判定する。バッファ１５に複数のフレームが格納されている場合には、そのうちの少なくとも１つのフレームに優先度が付与されているか、そうでないかを判定する。優先度が付与されている場合にはステップＳ３０３に進み、そうでない場合にはステップＳ３１１に進む。
【０１２２】
ステップＳ３０３において、送信制御部１６は、バッファ１５に格納されているフレームの中から、優先度がより高いフレームを、より優先的にバッファ１５から取り出す。
【０１２３】
ステップＳ３０４において、送信制御部１６は、ステップＳ３０３でバッファ１５から取り出したフレームを、優先度がより高いフレームがより早く送信される順序でアグリゲートする。
【０１２４】
ステップＳ３０５において、送信制御部１６は、ステップＳ３０４でアグリゲートしたフレームを端末２０に送信する。この送信は、ＮＷモジュール１４により、例えばＣＳＭＡ／ＣＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ）のアクセス制御方式に基づいてなされ得る。ステップＳ３０５の処理を終えたら、ステップＳ３０１に進む。
【０１２５】
ステップＳ３１１において、送信制御部１６は、アグリゲーションのための送信待ちを解除する所定タイミングが到来したか否かを判定する。上記条件が成立した場合（ステップＳ３１１でＹｅｓ）にはステップＳ３１２に進み、そうでない場合（ステップＳ３１１でＮｏ）にはステップＳ３０１に進む。
【０１２６】
ステップＳ３１２において、送信制御部１６は、バッファ１５からフレームを取り出す。
【０１２７】
ステップＳ３１３において、送信制御部１６は、ステップＳ３１２で取り出したフレームをアグリゲートする。
【０１２８】
ステップＳ３１４において、送信制御部１６は、ステップＳ３１３でアグリゲートしたフレームを送信する。この送信は、ＮＷモジュール１４により、例えばＣＳＭＡ／ＣＡのアクセス制御方式に基づいてなされ得る。ステップＳ３１４の処理を終えたら、ステップＳ３０１に進む。
【０１２９】
このように、通信装置１０は、バッファ１５に格納されているフレームに優先度が付与されている場合には、アグリゲーションのための送信待ちをせずに、上記フレームを端末２０に送信する。
【０１３０】
図１２は、関連技術に係るアグリゲーションのための送信待ちをする場合の通信システム１の第三のシーケンス図である。図１２に示されるシーケンス図は、通信装置がＵＳＢ機器Ａからデータ１を受信し、ＵＳＢ機器Ｂからデータ２及び３を順次に受信し、これらのデータを端末に送信する場合を示している。ここで、データ１は、連結フレームの最大サイズより大きく、かつ、低優先である。また、データ２及び３は、連結フレームの最大サイズより小さく、かつ、高優先である。
【０１３１】
図１２に示されるように、通信装置がＵＳＢ機器からデータ１を受信すると、データ１を分割することで複数のデータを生成し、生成したデータを複数含むフレームＦ１１〜Ｆ１５によって端末に送信する。また、通信装置がデータ１を受信した後に、データ２及びデータ３を順次に受信すると、通信装置は、データ１の送信の後にデータ２及び３を送信する（フレームＦ１５及びＦ１６）。ここで、データ１の最後の残部のデータを含むフレームに、データ２の一部を含むフレームがアグリゲートされてもよい。また、アグリゲーション機能が有効であると、最後のフレームＦ１６は、送信待ちを行ったうえで送信される。この送信待ちの間に、ＮＷモジュールが送信すべき他のフレームがＮＷ通信部から渡された場合には、渡された他のフレームが上記フレームとアグリゲートされて送信される。
【０１３２】
図１３は、本実施の形態に係るアグリゲーションのための送信待ちをしない場合の通信システム１のシーケンス図である。図１３に示されるシーケンス図は、通信装置１０がＵＳＢ機器３０Ａからデータ１を受信し、ＵＳＢ機器３０Ｂからデータ２及び３を順次に受信し、これらのデータを端末２０に送信する場合を示している。ここで、データ１は、連結フレームの最大サイズより大きく、即時性が高い通信を示す条件を満たし、かつ、低優先であるとする。また、データ２及び３は、連結フレームの最大サイズより小さく、即時性が高い通信を示す条件を満たし、かつ、高優先であるとする。
【０１３３】
図１３に示されるように、通信装置１０がＵＳＢ機器３０Ａからデータを受信し（図１０のＳ２０１に相当する。以下、図１３の説明において記載されるステップは、図１０又は図１１におけるものである）、そのデータが即時性が高い通信を示す条件を満たすと判定された場合（Ｓ２０２でＹｅｓ）には、データを分割して複数のフレームに含め、優先度を付与してバッファに格納する（ステップＳ２０４）。
【０１３４】
そして、送信制御部１６は、バッファ１５に格納されたフレームの中から、より高い優先度が付与されたフレームを取り出す。具体的には、通信装置１０がデータ１を受信してバッファ１５に格納したすぐ後には、データ１が分割されたデータを含むフレームだけがバッファ１５内に格納されているので、送信制御部１６は、これらのフレームをアグリゲートすることで連結フレームであるフレームＦ２１を構成して端末２０に送信する。
【０１３５】
次に、通信装置１０がデータ２を受信すると、ＮＷ通信部１３がデータ２を含むフレームを生成し、高い優先度を付与してバッファ１５に格納する。送信制御部１６は、データ２を含むフレームを優先的に取り出し（Ｓ３０３）、さらに、データ２を含むフレームがより早く送信される順序で、データ１の残部を含むフレームとアグリゲートして（Ｓ３０４）、フレームＦ２２として送信する（Ｓ３０５）。
【０１３６】
以下、同様に、送信制御部１６は、データ１の一部だけを含むフレームＦ２３を送信する。通信装置１０がデータ３を受信したすぐ後には、送信制御部１６は、データ３を含むフレームと、データ１の残部を含むフレームとをアグリゲートして、フレームＦ２５として送信する。
【０１３７】
その後、送信制御部１６は、データ１の一部だけを含むフレームＦ２６を送信し、データ１の残部だけをフレームＦ２７を、送信待ちをすることなく端末２０に送信する。
【０１３８】
このように、通信装置１０は、ＵＳＢ機器３０から受信したデータが、連結フレームの最大サイズより大きい場合でも、即時性が高い通信を示す条件を満たすか否かについての判定の結果に基づいて、フレームをアグリゲートするか否かを制御することによって、必要に応じて即時性の高い通信を実現する。さらに、アグリゲートする際にも、フレームに付与された優先度に応じて、優先度が高いフレームをより優先的に端末２０に送信することができる。
【０１３９】
このような通信は、例えば、同時再生される映像データと音データとを含むコンテンツを端末２０が受信しながら再生する場合に有用である。具体的には、ＵＳＢ機器３０Ａから映像データを受信し、ＵＳＢ機器３０Ｂから音データを受信する場合、関連技術に係る通信装置であれば、映像データをすべて受信完了した後に音データを受信することになるので、音データを受信し始めるまでコンテンツの再生を開始することができない。
【０１４０】
一方、本実施の形態の通信装置１０によれば、映像データをすべて受信完了する前に音データの受信を開始することができるので、関連技術における場合よりも早くコンテンツの再生を開始することができる利点がある。
【０１４１】
なお、上記では、優先度は、アグリゲーション機能を適用しないフレームだけについて付される場合を一例として説明したが、アグリゲーション機能を適用するフレームについても優先度を付与してもよい。言い換えれば、アグリゲーション機能の適用を有効（図８参照）とする場合にも、フレームに優先度を設定するようにしてもよい。例えば、図８の対応表において、５番目及び６番目の条件に対応付ける動作として、フレームに高い優先度を付与することとし、１０番目の条件に対応付ける動作として、フレームに低い優先度を付与することとしてもよい。低優先度フレームと高優先フレームとの扱いは、上記のアグリゲーション機能の適用を無効とする場合と同様である。さらに、高優先フレームについては、アグリゲーションのための送信待ちを解除する所定タイミングが早く到来するようにしてもよい。
【０１４２】
なお、ＵＳＢのデータ転送方式（具体的には、コントロール転送、バルク転送、インタラプト転送、及び、アイソクロナス転送）を条件の項目に含めてもよい。ただし、データ転送方式だけを条件に用いることでは、本発明が解決しようとする課題は解決されない。例えば、ＵＳＢ機器３０がストレージである場合には、一般にバルク転送が用いられる。この場合、その一連のデータのうちの最初及び最後には制御のためのメッセージが含まれ、それ以外の部分にはデータが含まれる。転送方式がバルク転送である場合に一律にアグリゲーション機能を適用しないことにすれば、データの高速転送というメリットが得られない。一方、一律にアグリゲーション機能を適用することにすれば、制御のためのメッセージがアグリゲーション機能の送信待ちによって待たされ、本来不要な待ち時間が挿入される。このように、ＵＳＢのデータ転送方式だけを条件に用いるのでは、本発明が解決しようとする課題は解決されない。
【０１４３】
以上のように本実施の形態の通信装置は、通信装置は、データ内容に関して、フレームに含まれているデータの一部が、ＵＳＢ機器から受信したデータの終端を含むことを、具体的な条件として用いて高い即時性を要するデータを他から区別する。よって、通信装置は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信をより容易に実現する。
【０１４４】
また、通信装置は、当該フレームの優先度、つまり、当該フレームを端末に優先的に受信させることが望まれる度合いを考慮して、連結フレームに含めるフレームを決定する。これにより、通信装置は、優先度が高いフレームが、優先度が低いフレームより後に到着した場合に、優先度が高いフレームを早く送信することで、優先度が低いフレームより早く端末に受信させることができる。
【０１４５】
以上、本発明の通信装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０１４６】
本発明は、フレームアグリゲーションによる高速通信を行いながら、必要に応じて即時性が高い通信を可能とする通信装置に適用され得る。より具体的には、ネットワークを介して端末がＵＳＢ機器を利用できるようにするデバイスサーバなどに適用され得る。
【符号の説明】
【０１４７】
１    通信システム
１０    通信装置
１１    ＵＳＢモジュール
１２    判定部
１３    ＮＷ通信部
１４    ＮＷモジュール
１５    バッファ
１６    送信制御部
２０    端末
３０、３０Ａ、３０Ｂ、Ａ、Ｂ    ＵＳＢ機器
４０    ヘッダ部
４１、４３    低優先フレーム
４２    高優先フレーム
Ｃ    ＵＳＢケーブル
Ｆ１、Ｆ２、Ｆ５、Ｆ６、Ｆ７、Ｆ１１、Ｆ１２、Ｆ１５、Ｆ１６、Ｆ２１、Ｆ２２、Ｆ２３、Ｆ２５、Ｆ２６、Ｆ２７    フレーム
Ｌ    通信リンク
【図１】
2019134313.tif 000003
【図２】
2019134313.tif 000004
【図３】
2019134313.tif 000005
【図４】
2019134313.tif 000006
【図５】
2019134313.tif 000007
【図６】
2019134313.tif 000008
【図７】
2019134313.tif 000009
【図８】
2019134313.tif 000010
【図９】
2019134313.tif 000011
【図１０】
2019134313.tif 000012
【図１１】
2019134313.tif 000013
【図１２】
2019134313.tif 000014
【図１３】
2019134313.tif 000015