(57)【要約】【課題】ホストとデバイスとの間の無線接続処理時間を効率的にする。【解決手段】本発明はホストコンピュータとコンピュータ周辺機器との間で無線接続させる無線通信システムであり、ホストコンピュータに接続するホスト側無線通信装置が、ホストコンピュータからのデータ転送要求に対して、コンピュータ周辺機器に代わって応答をするホスト側接続制御手段を有し、コンピュータ周辺機器に接続するデバイス側無線通信装置が、ホストコンピュータからのデータ転送要求を受信し、ホストコンピュータに代わってコンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段を有し、ホスト側無線通信装置及びデバイス側無線通信装置のそれぞれは、データ転送モードに応じた単位長のデータを格納するデータ格納手段と、データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを有する。【選択図】      図１
2007088775.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムにおいて、
上記ホストコンピュータに接続するホスト側無線通信装置が、上記ホストコンピュータからのデータ転送要求に対して、上記コンピュータ周辺機器に代わって応答をするホスト側接続制御手段を有し、
上記コンピュータ周辺機器に接続するデバイス側無線通信装置が、上記ホストコンピュータからのデータ転送要求を無線受信すると、上記ホストコンピュータに代わって上記コンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段を有し、
上記ホスト側無線通信装置及び上記デバイス側無線通信装置のそれぞれは、
データ転送モードに応じた単位長のデータを格納するデータ格納手段と、
上記データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを有する
ことを特徴とする無線通信システム。
【請求項２】
上記コンピュータ周辺機器の接続初期設定の際、
上記デバイス側接続制御手段は、上記コンピュータ周辺機器の接続を検出すると、上記コンピュータ周辺機器から取得した接続初期情報を接続必要情報として登録すると共に、上記接続初期情報を無線通信させ、
上記ホスト側接続制御手段は、無線受信した上記接続初期情報を上記接続必要情報として登録すると共に、上記接続初期情報を上記ホストコンピュータに与える
ことを特徴とする請求項１に記載の無線通信システム。
【請求項３】
上記ホストコンピュータからデータ転送要求があった場合、
上記ホスト側接続制御手段又は上記デバイス側接続制御手段は、上記接続初期情報の登録の際、上記コンピュータ周辺機器の許容転送データサイズを把握し、その許容転送データサイズを単位長として上記データ格納手段にデータを格納させることを特徴とする請求項１又は２に記載の無線通信システム。
【請求項４】
上記ホストコンピュータから設定情報のセットアップ要求があった場合、
上記ホスト側接続制御手段又は上記デバイス側接続制御手段は、上記ホストコンピュータが要求したデータサイズを単位長として上記データ格納手段にデータを格納させることを特徴とする請求項１又は２に記載の無線通信システム。
【請求項５】
上記ホストコンピュータからリアルタイム性を要するデータ転送要求又は割り込みを許容するデータ転送要求があった場合、
上記ホスト側接続制御手段又は上記デバイス側接続制御手段は、上記接続初期情報の登録の際、上記コンピュータ周辺機器の許容転送データサイズを把握し、その許容転送データサイズを単位長として上記データ格納手段にデータを格納させ、
上記ホスト側接続制御手段は、上記ホストコンピュータから最初の要求に対してはダミーデータで応答し、その後の要求に対しては上記データ格納手段に格納されているデータで応答させることを特徴とする請求項１又は２に記載の無線通信システム。
【請求項６】
ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムを構成する無線通信装置において、
上記ホストコンピュータに接続するものであって、上記ホストコンピュータからのデータ転送要求に対して、上記コンピュータ周辺機器に代わって応答をするホスト側接続制御手段と、
データ転送モードに応じた単位長のデータを格納するデータ格納手段と、
上記データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段と
を備えることを特徴とする無線通信装置。
【請求項７】
ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムを構成する無線通信装置において、
上記コンピュータ周辺機器に接続するものであって、上記ホストコンピュータからのデータ転送要求を無線受信すると、上記ホストコンピュータに代わって上記コンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段と、
データ転送モードに応じた単位長のデータを格納するデータ格納手段と、
上記データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段と
を備えることを特徴とする無線通信装置。
【請求項８】
ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信方法において、
上記ホストコンピュータに接続するホスト側無線通信装置と、上記コンピュータ周辺機器に接続するデバイス側無線通信装置とを備え、
上記ホスト側無線通信装置が、上記ホストコンピュータからのデータ転送要求に対して、上記コンピュータ周辺機器に代わって応答をするホスト側接続制御工程と、
上記デバイス側無線通信装置が、上記ホストコンピュータからのデータ転送要求を無線受信すると、上記ホストコンピュータに代わって上記コンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御工程と、
上記ホスト側無線通信装置又は上記デバイス側無線通信装置が、データ転送モード応じた単位長のデータを複数個含む無線パケットを生成して無線通信する無線通信工程と
を有することを特徴とする無線通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信システム、無線通信装置及び方法に関し、例えば、ホストコンピュータに接続するＵＳＢ（ユニバーサル・シリアル・バス）デバイスを無線化した無線接続を実現する無線通信システム、無線通信装置及び方法に適用し得る。
【背景技術】
【０００２】
例えば、特許文献１にはＵＳＢデバイスとコンピュータ本体との無線接続方法が開示されている。図２は、特許文献１の図５に開示されている接続シーケンスを示す。
【０００３】
図２を参照して、例えば、ＵＳＢ転送がＩＮトランザクション３２ｂｙｔｅのフルスピード（１２Ｍｂｐｓ）であるとし、また無線方式としてＩＥＥＥ８０２．１１ａ（５４Ｍｂｐｓ）を適用した場合における、特許文献１に提案の無線接続方法による処理時間を概算してみると次のようになる。
【０００４】
ＳＴＥＰ１では、ホスト（コンピュータ）が有線接続する第１無線装置に対してＩＮトークンパケットを転送する場合であり、ＩＮトークンパケットが８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ）＝３５ｂｉｔであるから、３５ｂｉｔ／１２Ｍｂｐｓ≒２．９μｓとなる。
【０００５】
ＳＴＥＰ２では、第１無線装置が無線接続する第２無線装置に対して無線パケットを転送する場合である。このとき、無線パケットは、ＳＹＮＣとＥＯＰを除いた２４ｂｉｔと１６μｓ分のプリアンブル（無線同期用）と、さらにＣＳＭＡ／ＣＡ方式のＤＩＦＳ時間が１６μｓとすると、１６μｓ（ＤＩＦＳ）＋１６μｓ（プリアンブル）＋２４ｂｉｔ／５４Ｍｂｐｓ≒３２．４μｓとなる。
【０００６】
ＳＴＥＰ３では、第２無線装置が有線接続するデバイス（ＵＳＢデバイス）に対してＩＮトークンパケットを転送する場合であり、ＩＮトークンパケットが８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ）＝３５ｂｉｔであるから、３５ｂｉｔ／１２Ｍｂｐｓ≒２．９μｓとなる。
【０００７】
ＳＴＥＰ４では、デバイスが有線接続する第２無線装置に対してＤＡＴＡ０パケットを転送する場合であり、ＤＡＴＡ０パケットが８ｂｉｔ（ＳＹＮＣ）＋２８０ｂｉｔ（ＤＡＴＡ０）＋３ｂｉｔ（ＥＯＰ）＝２９１ｂｉｔであるから、２９１ｂｉｔ／１２Ｍｂｐｓ≒２４．３μｓである。
【０００８】
ＳＴＥＰ５では、第２無線装置が無線接続する第１無線装置に対してＤＡＴＡ０に転送する場合であり、このとき、１６μｓ（ＤＩＦＳ）＋１６μｓ（プリアンブル）＋２８０ｂｉｔ／５４Ｍｂｐｓ≒３７．２μｓとなる。
【０００９】
ＳＴＥＰ６では、第１無線装置が有線接続するホスト（コンピュータ）に対して、ＩＮトークンパケットが８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ）＝３５ｂｉｔであるから、３５ｂｉｔ／１２Ｍｂｐｓ≒２．９μｓとなる。
【００１０】
ＳＴＥＰ７では、第１無線装置が有線接続するホストに対して、ＤＡＴＡ０パケットを転送する場合であり、ＤＡＴＡ０パケットが８ｂｉｔ（ＳＹＮＣ）＋２８０ｂｉｔ（ＤＡＴＡ０）＋３ｂｉｔ（ＥＯＰ）＝２９１ｂｉｔであるから、２９１ｂｉｔ／１２Ｍｂｐｓ≒２４．３μｓとなる。
【００１１】
ＳＴＥＰ８では、第１無線装置が有線接続するホストに対して、ハンドシェイクパケットが８ｂｉｔ（ＳＹＮＣ）＋８ｂｉｔ（ＡＣＫ）＋３ｂｉｔ（ＥＯＰ）＝１９ｂｉｔであるから、１９ｂｉｔ／１２Ｍｂｐｓ≒１．６μｓとなる。
【００１２】
以上より、ＳＴＥＰ１〜ＳＴＥＰ８までの処理時間を合算すると、２．９＋３２．４＋２．９＋２４．３＋３７．２＋２．９＋２４．３＋１．６＝１２８．５μｓとなる。
【００１３】
一方、有線のＵＳＢの処理時間に相当する時間はＳＴＥＰ６〜ＳＴＥＰ８であるので、この処理時間を合算すると、２．９＋２４．３＋１．６＝２８．８μｓとなる。
【００１４】
両者を比較すると、ＵＳＢの無線接続とすることにより約４．５倍の処理時間を要す。
【００１５】
【特許文献１】特許第３０４５９８５号
【特許文献２】特開２００１−３２６６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上述したＵＳＢ無線接続方法による処理時間の中で、無線パケット送信時に必要な無線同期用のプリアンブル時間と衝突防止のＣＳＭＡ／ＣＡ方式のＤＩＦＳ時間とが約５０％を占めている。
【００１７】
ＵＳＢパケットは、ＤＡＴＡパケット以外では小さなパケットが多いため、ＵＳＢパケット単位で無線パケットに変換してしまうと、プリアンブル時間、ＤＩＦＳ時間をその都度必要とするので、無線接続化に係る処理時間が長くなり、非常に効率が悪くなるという問題がある。
【００１８】
そのため、無線通信処理に係るプリアンブル時間とＤＩＦＳ時間との影響を少なくし、効率的な無線通信を実現することができる無線通信システム、無線通信装置及び方法が求められている。
【課題を解決するための手段】
【００１９】
かかる課題を解決するために、第１の本発明の無線通信システムは、ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムにおいて、（１）ホストコンピュータに接続するホスト側無線通信装置が、ホストコンピュータからのデータ転送要求に対して、コンピュータ周辺機器に代わって応答をするホスト側接続制御手段を有し、（２）コンピュータ周辺機器に接続するデバイス側無線通信装置が、ホストコンピュータからのデータ転送要求を無線受信すると、ホストコンピュータに代わってコンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段を有し、ホスト側無線通信装置及びデバイス側無線通信装置のそれぞれは、（３）データ転送モードに応じた単位長のデータを格納するデータ格納手段と、（４）データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを有することを特徴とする。
【００２０】
第２の本発明の無線通信装置は、ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムを構成する無線通信装置において、ホストコンピュータに接続するものであって、ホストコンピュータのデータ転送要求に対して、コンピュータ周辺機器に代わって応答をするホスト側接続制御手段と、データ転送モードに応じた単位長のデータを格納するデータ格納手段と、データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを備えることを特徴とする。
【００２１】
第３の本発明の無線通信装置は、ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムを構成する無線通信装置において、コンピュータ周辺機器に接続するものであって、ホストコンピュータからのデータ転送要求を無線受信すると、ホストコンピュータに代わってコンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段と、データ転送モードに応じた単位長のデータを格納するデータ格納手段と、データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを備えることを特徴とする。
【００２２】
第４の本発明の無線通信方法は、ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信方法において、ホストコンピュータに接続するホスト側無線通信装置と、コンピュータ周辺機器に接続するデバイス側無線通信装置とを備え、（１）ホスト側無線通信装置が、ホストコンピュータからのデータ転送要求に対して、コンピュータ周辺機器に代わって応答をするホスト側接続制御工程と、（２）デバイス側無線通信装置が、ホストコンピュータからのデータ転送要求を無線受信すると、ホストコンピュータに代わってコンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御工程と、（３）ホスト側無線通信装置又はデバイス側無線通信装置が、データ転送モード応じた単位長のデータを複数個含む無線パケットを生成して無線通信する無線通信工程とを有することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、ホストコンピュータとコンピュータ周辺機器との間を無線接続でデータを授受させる無線通信システムにおいて、ホストコンピュータに接続するホスト側無線通信装置が、ホストコンピュータからのデータ転送要求に対して、コンピュータ周辺機器に代わって応答をするホスト側接続制御手段を有し、コンピュータ周辺機器に接続するデバイス側無線通信装置が、ホストコンピュータからのデータ転送要求を無線受信すると、ホストコンピュータに代わってコンピュータ周辺機器に対してデータ転送要求を行なうデバイス側接続制御手段を有し、ホスト側無線通信装置及びデバイス側無線通信装置のそれぞれは、データ転送モードに応じた単位長のデータを格納するデータ格納手段と、データ格納手段に格納されている複数個のデータを含む無線パケットを生成して無線通信する無線通信手段とを有することにより、無線通信処理に係るプリアンブル期間とＤＩＦＳ時間との影響を少なくし、効率的な無線通信を実現することができる。
【発明を実施するための最良の形態】
【００２４】
（Ａ）第１の実施形態
以下、本発明の無線通信システム、無線通信装置及び方法について、図面を参照して説明する。
【００２５】
（Ａ−１）第１の実施形態の構成
図１は、本実施形態に係るＵＳＢデバイスとホスト（ホストコンピュータ）との間での無線接続関係を示すシステム構成図である。
【００２６】
なお、ＵＳＢ規格のハイスピード（４８０Ｍｂｐｓ）については、最新の無線技術でも５４Ｍｂｐｓで速度差がありすぎるので今回の検討対象にはしない。
【００２７】
図１において、本実施形態のシステム１００は、ホスト１、ホスト１に接続する第１無線装置２、ＵＳＢデバイス４、ＵＳＢデバイス４に接続する第２無線装置３を有して構成される。
【００２８】
ホスト１は、ＵＳＢデバイス４に対してホストとして機能する制御部であり、例えば、パーソナルコンピュータやＰＤＡなどが搭載するものである。また、ＵＳＢデバイス４は、ホスト１とＵＳＢ接続をするコンピュータ周辺機器などが該当する。
【００２９】
また、図１に示すように、ホスト１及びＵＳＢデバイス４は、それぞれ第１又は第２無線装置２、３と接続するためのコネクタ１２又は４２と、ＵＳＢ接続機能を司るＵＳＢコントローラ１１又は４１を有する。
【００３０】
第１無線装置２は、ホスト１に接続し、ホスト１から受け取ったデータを所定パケットに変換し、所定の無線通信方式に従って第２無線装置３に対して無線通信するものであり、また第２無線装置３から所定の無線通信方式に従って無線パケットを受信し、無線パケットからデータを取り出してホスト１に与えるものである。
【００３１】
また、第１無線装置２は、ＵＳＢデバイス４の接続後、ＵＳＢデバイス４の仕様や態様等を示すデバイス情報やコンフィグレーション情報などを登録し、その後は、登録した情報に基づいてＵＳＢデバイス４の代理としてホスト１からリクエストに応じるものである。
【００３２】
第２無線装置３は、ＵＳＢデバイス４に接続し、ＵＳＢデバイス４から受け取ったデータを所定パケットに変換し、所定の無線通信方式に従って第１無線装置２に対して無線通信するものであり、また第１無線装置２から所定の無線通信方式に従って無線パケットを受信し、無線パケットからデータを取り出してＵＳＢデバイス４に与えるものである。
【００３３】
また、第２無線装置３は、ＵＳＢデバイス４の接続後、ＵＳＢデバイス４の仕様や態様等を示すデバイス情報やコンフィグレーション情報などを登録する。そして、第２無線装置３は、無線受信したホスト１からのリクエストに従って、ホスト１の代理としてＵＳＢデバイス４にリクエストを与えるものである。
【００３４】
また、第１無線装置２及び第２無線装置は、ＵＳＢトランザクションで取引されるデータ長を１データの単位長とし、それら複数個のデータを１つにまとめた無線パケットを生成する。これにより、無線通信処理の際のプリアンブル時間及びＤＩＦＳ時間を少なくすることができるので、無線接続に係る処理時間を短くすることができる。なお、無線パケットを構成するデータの単位長は後述するように転送モードに応じて異なるものとして良い。
【００３５】
第１及び第２無線装置２、３の内部構成は、図１に示すように、ＵＳＢインタフェースユニット２１及び３１、制御部２２及び３２、無線部２３及び３３、データ格納部２４及び３４を有する。
【００３６】
ＵＳＢインタフェースユニット２１及び３１は、ホスト１又はＵＳＢデバイス４が有するコネクタと接続するためのインタフェースである。
【００３７】
無線部２３及び３３は、制御部２２及び３２の制御の下、所定の無線通信方式に従って無線パケットの送受信を行なうものである。本実施形態では、例えばＩＥＥＥ８０２．１１ａに規定されている無線方式を採用するものとして説明するが、他の無線方式を採用してもよい。
【００３８】
制御部２２及び３２は、第１及び第２無線装置２、３が実現する機能を司るものであり、例えば、ＣＰＵや、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ等の記憶部等を有して構成されるものである。そして、例えば、ＣＰＵが、ＲＡＭをワーキングエリアとし、ＲＯＭに格納されている固定データやＲＡＭに格納されているテンポラリーデータを用いて、ＲＯＭに予め格納されている処理プログラムを実行することで、第１無線装置２及び第２無線装置３の機能を実現する。
【００３９】
データ格納部２４及び３４は、制御部２２及び３２の制御の下、ホストコンピュータ１又はＵＳＢデバイス４から受け取ったＵＳＢデータを一時的に格納するものであり、例えばバッファが該当する。データ格納部２４及び３４が格納するデータのデータ長は、上述したように、ＵＳＢトランザクションに係るデータ長を単位長とする。
【００４０】
（Ａ−２）第１の実施形態の動作
次に、本実施形態のＵＳＢ無線接続の動作について図面を参照して説明する。ここで、ＵＳＢのデータ転送プロトコルは、データ転送タイプとしてアイソクロナス転送、インターラプト転送、バルク転送、コントロール転送の４種類の転送タイプがある。
【００４１】
以下では、全てのＵＳＢデバイスでサポートする必要があるコントロール転送と、ＵＳＢ転送において最も多く使用されるバルク転送のシーケンスを説明する。
【００４２】
また、特にコントロール転送についてはデバイス接続直後のデバイス／コンフィグ情報取得のためのコントロール転送シーケンスと、それ以外のコントロール転送シーケンスについて提案する。
【００４３】
なお、コントロール転送は、例えばＵＳＢデバイス４の認識を行なうデータ転送であり、バルク転送は、例えばモデムなどにエラー訂正ができるデータ転送である。
【００４４】
（Ａ−２−１）デバイス／コンフィグ情報取得のコントロール転送シーケンス
図３及び図４は、デバイス／コンフィグ情報取得のためのコントロール転送シーケンスを示す。
【００４５】
まず、ＵＳＢデバイス４は、第２無線装置３に接続される（ＳＴＥＰ１０１）。なお、第２無線装置３におけるＵＳＢデバイス４の接続検出は通常のＵＳＢ規約に従うものであり、ここではその詳細な説明は省略する。
【００４６】
第２無線装置３がＵＳＢデバイス４の接続検出をすると、第２無線装置３は、ＵＳＢデバイス４にセットアップ命令を与えて、ＵＳＢデバイス４のデバイスＤｅｓｃｒｉｐｔｏｒ情報取得を要求する（ＳＴＥＰ１０２〜１０４）。
【００４７】
このセットアップトランザクションは、有線接続の場合にはホストコンピュータとＵＳＢデバイスとの間で最初に行なわれる処理であり、デバイスＤｅｓｃｒｉｐｔｏｒ情報の取得は、ＵＳＢデバイスの接続直後に必ず行なわれる。ここで、デバイスＤｅｓｃｒｉｐｔｏｒ情報とは、ＵＳＢデバイス４の標準出力を識別させるための情報である。
【００４８】
ここで、通常のＰＣであれば、まずＳｅｔＡｄｄｒｅｓｓリクエストによりアドレス設定を行なってから、設定アドレスにて実施するリクエストであるが、ホスト１よりアドレス情報を取得していないので、第２の無線装置はアドレス０にてリクエストを実施する。また、このとき、要求するデータ長は１８ｂｙｔｅとする。ＵＳＢの規約でデバイスＤｅｓｃｒｉｐｔｏｒ情報のフォーマットは規定されており、１８ｂｙｔｅと決まっているためである。
【００４９】
ＵＳＢデバイス４が第２無線装置３からＧｅｔＤｅｓｃｒｉｐｔｏｒリクエストを受信すると、ＵＳＢデバイス４は１８ｂｙｔｅのデバイスＤｅｓｃｒｉｐｔｏｒ情報を第２無線装置３に与える（ＳＴＥＰ１０５〜１０７）。
【００５０】
なお、ＳＴＥＰ１０６において、ＵＳＢデバイス４が１８ｂｙｔｅを１回で与えられない場合には、第２無線装置３は、ＳＴＥＰ１０５〜ＳＴＥＰ１０７を繰り返し行ない１８ｂｙｔｅ読み出す必要がある。
【００５１】
ＵＳＢデバイス４からデバイスＤｅｓｃｒｉｐｔｏｒ情報を正常に受信すると、第２無線装置３は、ＤＡＴＡサイズ０のＯＵＴトランザクションにより受信成功をＵＳＢデバイス４に通知する（ＳＴＥＰ１０８〜１１０）。
【００５２】
以上のＳＴＥＰ１０２〜ＳＴＥＰ１１０で１つのコントロール転送が完結し、第２無線装置３は、ＵＳＢデバイス４のデバイスＤｅｓｃｒｉｐｔｏｒ情報を保持する。
【００５３】
続いて、第２無線装置３は、ＵＳＢデバイス４からコンフィグＤｅｓｃｒｉｐｔｏｒ情報を取得するため、ＧｅｔＤｅｓｃｒｉｐｔｏｒコンフィグリクエストをＵＳＢデバイス４に与える（ＳＴＥＰ１１１〜１１３）。
【００５４】
このとき、コンフィグＤｅｓｃｒｉｐｔｏｒ情報のデータ長は決まっていないためデバイスによって変わる。そのため、まずコンフィグＤｅｓｃｒｉｐｔｏｒ情報のデータ長を知るために、第２無線装置３は、コンフィグＤｅｓｃｒｉｐｔｏｒ情報のデータ長４ｂｙｔｅ以上となる情報を要求するＧｅｔＤｅｓｃｒｉｐｔｏｒコンフィグリクエストをＵＳＢデバイス４に与える。
【００５５】
ここで、要求したコンフィグＤｅｓｃｒｉｐｔｏｒ情報のデータ長を４ｂｙｔｅ以上としたのは、コンフィグＤｅｓｃｒｉｐｔｏｒ情報のトータルのデータ長に関する情報は３ｂｙｔｅ目と４ｂｙｔｅ目に格納されていることが規約により決められているからである。
【００５６】
第２無線装置３からＧｅｔＤｅｓｃｒｉｐｔｏｒリクエストを受け取ると、ＵＳＢデバイス４はＤＡＴＡ１パケットの要求されたデータ長を第２無線装置３に与え、第２無線装置３はＤＡＴＡ１パケットの３ｂｙｔｅ目と４ｂｙｔｅ目により、コンフィグＤｅｓｃｒｉｐｔｏｒのトータルデータ長を取得する（ＳＴＥＰ１１４〜１１６）。
【００５７】
ＵＳＢデバイス４からコンフィグＤｅｓｃｒｉｐｔｏｒ情報を正常に受信することができると、第２無線装置３は、ＤＡＴＡサイズ０のＯＵＴトランザクションにより受信成功をデバイスに通知する（ＳＴＥＰ１１７〜１１９）。
【００５８】
以上、ＳＴＥＰ１１１〜ＳＴＥＰ１１９により１つのコントロール転送が完結する。
【００５９】
続いて、第２無線装置３は、ＳＴＥＰ１５で取得したコンフィグＤｅｓｃｒｉｐｔｏｒ情報のトータルデータ長でＧｅｔＤｅｓｃｒｉｐｔｏｒコンフィグリクエストをＵＳＢデバイス４に与える（ＳＴＥＰ１２０〜１２２）。
【００６０】
第２無線装置３はコンフィグＤｅｓｃｒｉｐｔｏｒ情報のトータルデータ長を取得しているので、その長さに応じたＩＮトランザクションを実施し、第２無線装置３は、ＵＳＢデバイス４から全てのコンフィグＤｅｓｃｒｉｐｔｏｒ情報を取得する（ＳＴＥＰ１２３〜１２５）
なお、ＵＳＢデバイス４によって１回の転送で全てのコンフィグＤｅｓｃｒｉｐｔｏｒ情報を読み出せるわけではないので、第２無線装置３はＳＴＥＰ１２３〜ＳＴＥＰ１２５を繰り返し全てのコンフィグＤｅｓｃｒｉｐｔｏｒ情報を読み出す。
【００６１】
第２無線装置３がＵＳＢデバイス４からコンフィグＤｅｓｃｒｉｐｔｏｒ情報を全て正常に受信すると、第２の無線装置３はＤＡＴＡサイズ０のＯＵＴトランザクションにより受信成功をデバイスに通知する（ＳＴＥＰ１２６〜１２８）。
【００６２】
以上のＳＴＥＰ１２０〜ＳＴＥＰ１２８で１つのコントロール転送が完結し、第２無線装置３はコンフィグＤｅｓｃｒｉｐｔｏｒ情報を保持する。
【００６３】
ここで、第２の無線装置３は、ＳＴＥＰ１０６で取得したデバイスＤｅｓｃｒｉｐｔｏｒ情報を解析し、接続するＵＳＢデバイス４が複数のコンフィグＤｅｓｃｒｉｐｔｏｒ情報を持っていた場合、ＳＴＥＰ１１１〜ＳＴＥＰ１２８を繰り返して他のコンフィグＤｅｓｃｒｉｐｔｏｒ情報を取得し保持する。
【００６４】
第２無線装置３は、全てのコンフィグＤｅｓｃｒｉｐｔｏｒ情報を読み込んでから、次のＳＴＥＰ１２９へ移行する。
【００６５】
なお、ＳＴＥＰ１１１〜ＳＴＥＰ１２８は１回目のＧｅｔＤｅｓｃｒｉｐｔｏｒコンフィグリクエストの要求データ長を十分大きくすることで１回にすることもできる。大きなデータ長で要求してもＵＳＢデバイス４側に送るべきデータがなければその時点でデバイスは有効データを返さないので、第２無線装置３は要求したデータ長に到達していなくてもデバイスのデータの終わりを知ることができるため、その時点でデータステージを終了し、受け取ったデータを改めて解析し無線ポケットにすべきデータ長を確認しても良いからである。
【００６６】
次に、第２無線装置３が、ＵＳＢデバイス４からデバイスＤｅｓｃｒｉｐｔｏｒ情報と全てのコンフィグＤｅｓｃｒｉｐｔｏｒ情報を取得すると、第２無線装置３は、第１無線装置に対して、無線接続要求パケットを送信する（ＳＴＥＰ１２９）。
【００６７】
第２無線装置３からの無線接続要求パケットを受信すると、第１無線装置２は接続許可できる状態であれば、第２無線装置３に対して接続許可パケットを送信するとともに、初期情報要求パケットを送信する（ＳＴＥＰ１３０）。このとき、接続許可パケットすなわち初期情報要求パケットとすれば、初期情報要求パケットは省略しても良い。
【００６８】
第１無線装置２から初期情報要求パケット（初期情報要求パケットを省略した場合、接続許可パケット）を受信すると、第２無線装置３は、初期情報としてＵＳＢデバイス４から読み出したデバイスＤｅｓｃｒｉｐｔｏｒ情報とコンフィグＤｅｓｃｒｉｐｔｏｒ情報を、第１無線装置２に送信する（ＳＴＥＰ１３１）。
【００６９】
第２無線装置３から初期情報受信に成功した第１無線装置２は、ホスト１に対してＵＳＢデバイス４が接続されたことを通知する（ＳＴＥＰ１３２）。
【００７０】
このとき、第１無線装置２がＵＳＢのＨＵＢ機能をエミュレーションする機能を持っている場合、ホスト１のＨＵＢポート状態のポーリングに対する有効応答であるし、ＵＳＢデバイス４をエミュレーションする機能を持つならば、ホスト１と接続されたＵＳＢバスのＤ±信号のプルアップ抵抗を有効にする。また、初期情報正常受信パケットを受信した第２無線装置３はアドレスセットパケット受信待ち状態にて待機する。
【００７１】
第１無線装置２によるデバイス接続状態を検出したホスト１は、第１無線装置に対してＳｅｔＡｄｄｒｅｓｓリクエストを与え、ＵＳＢデバイス４のアドレス設定を実施する（ＳＴＥＰ１３３、１３４）。また、ＳｅｔＡｄｒｅｓｓリクエストを受け取った第１無線装置２は、アドレスセットパケットを第２無線装置に送信する（ＳＴＥＰ１３５）。
【００７２】
ＳＴＥＰ１３６〜１３８では、ホスト１からＳｅｔＡｄｄｒｅｓｓリクエストを受け取ると、第１無線装置２は、ＮＡＫ応答する。また、第１無線装置２は、第２無線装置３を通じてＵＳＢデバイス４からのアドレスセット完了パケットの受信を待機する。なお、ＮＡＫ応答を受けたホストはＤＡＴＡ１応答が返るまでステータスステージをリトライする。
【００７３】
また、第１無線装置２からアドレスセットパケットが与えられると、第２無線装置３は、ＵＳＢデバイス４に対してＳｅｔＡｄｄｒｅｓｓリクエストを発行する。
【００７４】
ＵＳＢデバイス４は、第２無線装置３からＳｅｔＡｄｄｒｅｓｓリクエストを受信し、そのステータスステージの応答として、ＤＡＴＡ１を第２無線装置３に与える。ＵＳＢデバイス４からＤＡＴＡ１を受信すると、第２無線装置３は、アドレスセット完了を確認する（ＳＴＥＰ１３９〜１４１）。このとき、ＵＳＢデバイス４によっては、直ぐにＤＡＴＡ１が返らず、ＮＡＫ応答する場合もあるが、そのときはホスト１と同様にステータスステージをリトライする。
【００７５】
ＵＳＢデバイス４からＤＡＴＡ１を受信し、アドレスセット完了の確認をすると、第２無線装置３は、第１無線装置２に対してアドレスセット完了パケットを送信する（ＳＴＥＰ１４２）。
【００７６】
第２無線装置からアドレスセット完了パケットを受信すると、第１無線装置は、ホスト１のステータスステージに対してＤＡＴＡ１応答し、アドレスセットが完了したことをホスト１に伝える。
【００７７】
また、ホスト１はＤＡＴＡ１応答によってアドレスセットを確認して、ＳＴＥＰ３３から始まったＳｅｔＡｄｄｒｅｓｓリクエストのコントロール転送を終了する（ＳＴＥＰ１４２〜１４４）。
【００７８】
その後、ＳＴＥＰ１４５〜１７１では、ホスト１によるＧｅｔＤｅｓｃｒｉｐｔｏｒデバイス／コンフィグ情報取得のためのコントロール転送が行なわれる。このＳＴＥＰ１４５〜１７１の処理は、ＳＴＥＰ１０２〜１２８で、第２無線装置が行った処理に対応する。
【００７９】
なお、第１無線装置２は第２無線装置３から受信した初期情報に基づいて、ＵＳＢデバイス４の代わりにホスト１のリクエストに応答する。
【００８０】
以上のＵＳＢデバイス４の接続直後のデバイス情報取得のためのコントロール転送シーケンスは、ＵＳＢデバイス４の接続直後に１回だけ行なわれるものであるから、スループット向上に直接的に影響を与えるわけではないが、以後説明する転送方式毎に変換シーケンスを変更するためには、第１無線装置２及び第２無線装置３共に接続されたデバイスがどのような転送方式を持つエンドポイントを持っているか知らなければならず、そのためにエンドポイント情報を含んでいるコンフィグＤｅｓｃｒｉｐｔｏｒ情報を、第１無線装置２及び第２無線装置３は解析する機能を必要とし、その情報によって以後どのようなシーケンスでパケット変換を行うのかの動作が決定される。
【００８１】
（Ａ−２−２）デバイス／コンフィグ情報取得以外のコントロール転送シーケンス（リード）
図５は、デバイス／コンフィグ情報取得以外のコントロール転送（リード）のシーケンス図である。
【００８２】
ホスト１は、第１無線装置２にセットアップトークンを与える。第１無線装置２は、ホスト１からのセットアップトランザクションによりＤＡＴＡ０を解析し、ＧｅｔＤｅｓｃｒｉｐｔｏｒリクエスト（デバイス情報）／ＧｅｔＤｅｓｃｒｉｐｔｏｒリクエスト（コンフィグ情報）以外のリード系リクエストである場合、ＤＡＴＡ０の情報を無線パケット化したコントロールリードリクエストパケットを第２無線装置３に送信する（ＳＴＥＰ２０１〜２０３）。
【００８３】
このとき、コントロールリードリクエストに必要な情報はリクエストの種別と要求データ長ＸＸｂｙｔｅという情報であるが、その情報はＳＴＥＰ２０２で取得したＤＡＴＡ０に全て含まれるので、そのまま無線パケット化すれば良い。
【００８４】
なお、第１無線装置２は、第２無線装置３からコントロールリードアクノリッジが与えられるまで、ホスト１からのデータステージのＩＮトークンに対してＮＡＫ応答する（ＳＴＥＰ２０４〜２１１）。
【００８５】
また、ＳＴＥＰ２０３において第１無線装置２からコントロールリードリクエストを受信すると、第２無線装置３は、ホスト１の代理となって、ＵＳＢデバイス４に対してセットアップトランザクションを発行する。ここで、ＳＴＥＰ２０５のＤＡＴＡ０はＳＴＥＰ２０２でホスト１が発行したＤＡＴＡ０と同じ内容である。また、第２無線装置３は、ＤＡＴＡ０の内容から、要求データ長を読みとり、ＵＳＢデバイス４から読みとらなければならないデータ長ＸＸｂｙｔｅを把握しておく（ＳＴＥＰ２０４〜２０６）。
【００８６】
第２無線装置３は、ＳＴＥＰ２０４〜２０６に対応したデータステージを発行して、ＵＳＢデバイス４からデータを受け取る。このとき、何回データステージのＩＮトランザクションが発生するかは、データ長ＸＸｂｙｔｅとＵＳＢデバイス４のバッファ容量による（ＳＴＥＰ２０７〜２１１）。なお、本実施形態では、２回のＩＮトランザクション発生としている。
【００８７】
また、要求したデータ長ＸＸｂｙｔｅをＵＳＢデバイス４から受け取った第２無線装置３は、受け取ったデータをコントロールリードアクノリッジパケットにして、第１無線装置２に送信する（ＳＴＥＰ２１２）。
【００８８】
なお、ＸＸｂｙｔｅのデータ要求に対してＵＳＢデバイス４側がＸＸｂｙｔｅ以下のデータしか持たない場合、ＵＳＢの規約により、ＵＳＢデバイス４は持っているデータだけ返し、その後の要求に対してデータサイズ０のＤＡＴＡ０パケットで応答することになっているので、データサイズ０のＤＡＴＡＯパケットを受け取った第２無線装置３は、要求データのＸＸｂｙｔｅに満たない場合でも、必要なデータを受け取ったものとして、ＳＴＥＰ２１２を実行する。
【００８９】
コントロールリードアクノリッジパケットは、要求データＸＸｂｙｔｅより少ない可能性もあるので、デバイスより受け取ったデータ長ＹＹｂｙｔｅを情報として含むようにする。
【００９０】
第２無線装置３は、ＳＴＥＰ２１３〜２１５でステータスステージをＵＳＢデバイス４に発行して、ＳＴＥＰ２１４〜２１５のコントロール転送を終了する。
【００９１】
第２無線装置３からコントロールリードアクノリッジパケットを受信した第１無線装置２は、ホスト１のデータステージに対して、ＵＳＢデバイス４より受け取ったデータ長ＹＹｂｙｔｅで応答する。
【００９２】
（Ａ−２−３）テバイス／コンフィグ情報取得以外のコントロール転送シーケンス（ライト）
図６は、デバイス／コンフィグ情報取得以外のコントロール転送（ライト）のシーケンス図である。
【００９３】
ホスト１からのセットアップトランザクションにより、第１無線装置２は、ＤＡＴＡ０を解析し、ライト系リクエストである場合、次のデータステージの受け取り準備に入る（ＳＴＥＰ３０１〜３０３）。
【００９４】
第１無線装置２は、ホスト１からのデータステージのデータＸＸｂｙｔｅを読みとり、ＳＴＥＰ３０２で受け取ったＤＡＴＡ０と受け取ったデータＸＸｂｙｔｅを合わせて、コントロールライトリクエストパケットを生成し、第２無線装置３に送信する（ＳＴＥＰ３０４〜３０９）。
【００９５】
なお、ライト系リクエストの場合、データステージがないリクエストも存在する。ＳＴＥＰ３０２のＤＡＴＡ０を解析し、データ長０のリクエストである場合、ＳＴＥＰ３０４〜ＳＴＥＰ３０９のホストからのデータステージは存在しないので第１無線装置２は、ＳＴＥＰ３０２のＤＡＴＡ０だけでコントロールライトリクエストパケットを作成し、第２無線装置３に送信する。
【００９６】
第１無線装置２は、第２無線装置３からＳＴＥＰ２０のコントロールライトアクノリッジを受信するまで、ホストのステータスステージＩＮトランザクションに対しＮＡＫ応答する（ＳＴＥＰ３１０〜３１９）。
【００９７】
また、第１無線装置２からコントロールライトリクエストパケットを受信すると、第２無線装置３は、ホスト１の代理でＵＳＢデバイス４に対して、コントロールライト転送を発行する（ＳＴＥＰ３１０）。
【００９８】
これに対して、ＵＳＢデバイス４が第２無線装置３からのリクエストをサポートしていてＳＴＥＰ３１８〜３２０のデータステージまで正常に応答すれば（ＳＴＥＰ３１１〜３２０）、第２無線装置３は、ＡＣＫ応答でコントロールライトアクノリッジパケットを第１無線装置２に送信する（ＳＴＥＰ３２０）。
【００９９】
なお、もしＵＳＢデバイス４がデータステージかステータスステージでＳＴＡＬＬ応答した場合、ＵＳＢデバイス４はこのリクエストをサポートしていないので、第２無線装置３はＳＴＡＬＬ応答でコントロールライトアクノリッジパケットを第１無線装置２に送信する（ＳＴＥＰ３２０）。
【０１００】
第２無線装置３からのコントロールライトアクノリッジを受信すると、第１無線装置２は、その結果でホスト１に対して応答する（ＳＴＥＰ３２１）。
【０１０１】
本実施形態では、ＳＴＥＰ３２１で、正常処理のＤＡＴＡ０応答となっているが、もしＳＴＥＰ３２０でコントロールライトアクノリッジがＳＴＡＬＬ応答だった場合、ＳＴＥＰ３２１はＳＴＡＬＬ応答になり、ＳＴＥＰ３２２は存在しない。
【０１０２】
（Ａ−２−４）バルク転送シーケンス（リード）
続いて、バルク転送について図７のシーケンス図を参照して説明する。
【０１０３】
バルク転送の場合、コントロール転送の場合と異なり、ホスト１がＵＳＢデバイス４に対して要求するデータ長はデバイスドライバやアプリケーションにより異なる。そのため、第１無線装置２及び第２無線装置３は正確に転送量を予測することはできない。
【０１０４】
しかし、ＵＳＢシステムのほとんどのＵＳＢデバイス４はホスト１からのデータ要求に対して、要求に応じて返すべきデータが存在する場合にはそのデータ送り、要求に対して送るべきデータが存在しない場合にはデータサイズ０のＤＡＴＡパケットで応答する。
【０１０５】
そこで、本実施形態では、ＵＳＢデバイス４が、ホスト１からの要求に応じて応答する点に着目し、以下のようなシーケンスを提案する。
【０１０６】
なお、本実施形態では、３つのＩＮトランザクション単位でデータをまとめることとする。
【０１０７】
まず、ホスト１はバルク転送のＩＮトークンを第１無線装置２に与える（ＳＴＥＰ４０１）。
【０１０８】
このとき、第１無線装置２及び第２無線装置３は、上述したコントロール転送の際に取得したコンフィグＤｅｓｃｒｉｐｔｏｒ情報に基づいて、ホスト１とＵＳＢデバイス４とのエンドポイント情報を把握しているため、このＩＮトークンがＵＳＢデバイス４宛てのバルク転送のＩＮトークンであることを把握する。
【０１０９】
ホスト１からバルク転送のＩＮトークンを受信すると、第１無線装置２は、第２無線装置３に対してバルクリードリクエストパケットを送信する（ＳＴＥＰ４０２）。
【０１１０】
また、第１無線装置２は、ホスト１に対してＮＡＫ応答する（ＳＴＥＰ４０２）。なお、第１無線装置２は、第２無線装置３からバルクリードアクノリッジパケットが返るまでこの動作を繰り返す（ＳＴＥＰ４０２〜４１０）。
【０１１１】
次に、第１無線装置２からバルクリードリクエストパケットを受信すると、第２無線装置３は、ホスト１の代理として機能し、ＵＳＢデバイス４に対してバルクリードトランザクションを行なう（ＳＴＥＰ４０３〜４１０）。
【０１１２】
ここで、本実施形態では、第２無線装置３は、ＵＳＢデバイス４から３回分のデータを読み出すこととする。なお、第２無線装置３によるバルクリードトランザクションの回数は特に限定されない。
【０１１３】
この場合、第２無線装置３は、コントロール転送の際のコンフィグＤｅｓｃｒｉｐｔｏｒ情報に基づいて、バルク転送に係るＤＡＴＡ０／１パケットのペイロード（データサイズ）を把握している。そこで、第２無線装置３は、ＳＴＥＰ４０４、ＳＴＥＰ４０７、ＳＴＥＰ４１０で読み出したパケットのデータサイズを確認しながら、ＵＳＢデバイス４からパケットデータを取得する。なお、ＵＳＢデバイス４から取得するデータサイズが、ペイロードサイズ以下になった場合の動作については後述する。
【０１１４】
第２無線装置３がＵＳＢデバイス４から３回分のデータを取得すると、第２無線装置３は、それら３回分のデータに基づいてバルクリードアクノリッジパケットを生成する。そして、その生成したバルクリードアクノリッジパケットを、第２無線装置３は第１無線装置２に送信する（ＳＴＥＰ４１１）。
【０１１５】
すなわち、第２無線装置３において、ＵＳＢデバイス４からＵＳＢデータを受信すると、制御部３２の制御の下、受信したＵＳＢデータをデータ格納部３４に保存する。そして、３回のバルクリードトランザクションが終了した後に、制御部３２の制御の下、これら３個のＵＳＢデータに基づいてバルクリードトランザクションパケットを生成し、送信するようにする。
【０１１６】
これにより、複数のＵＳＢパケットをまとめて無線通信することができるので、ＵＳＢパケット単位で無線パケットに変換して無線通信する場合よりも効率的に無線ＵＳＢパケットを転送することができる。
【０１１７】
なお、バルクリードアクノリッジパケットには、ＵＳＢデバイス４から取得したデータのデータ長の情報が含まれているものとする。これにより、ＵＳＢデータ長を、ホスト１側に伝えることができる。
【０１１８】
第２無線装置３からバルクリードアクノリッジパケットが与えられると、第１無線装置２は、ＵＳＢデバイス４の代理として機能し、ホスト１のＩＮトランザクションに対して、第２無線装置３から受信したデータで応答する（ＳＴＥＰ４１２〜４１９）。
【０１１９】
そして、必要なデータ転送が終了していないならば、ホスト１は続けてＩＮトランザクションを発生する（ＳＴＥＰ４２０）。
【０１２０】
すなわち、第１無線装置２において、制御部２２の制御の下、第２無線装置３から受信したバルクリードアクノリッジパケットに含まれているＵＳＢデータを分離し、分離したＵＳＢデータをそれぞれデータ格納部２４に保存させる。そして、ホスト１がＩＮトランザクションを発生すると、制御部２２の制御の下、応答データとしてデータ格納部２４のそれぞれのデータを順にホスト１に送信するようにする。
【０１２１】
このとき、ホスト１が第２無線装置３から受信したデータを全て送る前にＩＮトランザクション発生せずに何か別のトランザクションを発生した場合、ホスト１は第２無線装置３が予想したデータ量を必要としていないので、第１無線装置２は第２無線装置３から受信したデータを廃棄して、新たに発生したトランザクションに応じた対応をする。
【０１２２】
第１無線装置２は第２無線装置３から受信したデータを全てホスト１に送信してしまったので、第１無線装置２は、ＳＴＥＰ４０２と同様に、第２無線装置３に対してバルクリードリクエストパケットを送信する（ＳＴＥＰ４２２）。
【０１２３】
そして、第２無線装置３は、ＳＴＥＰ４０３〜ＳＴＥＰ４１０と同様にして、ＵＳＢデバイス４からデータを取得し、バルクリードアクノリッジパケットを作成し、第１無線装置２に送信する（ＳＴＥＰ４２３〜４２８）。
【０１２４】
なお、ここでは、ＵＳＢデバイス４から取得するデータパケットがペイロードサイズ以下である場合について説明する。
【０１２５】
データパケットのサイズがペイロードサイズ以下である場合、そのデータパケットはＵＳＢデバイス４からの最後のデータパケットの可能性が高い。そこで、第２無線装置３は、ＵＳＢデバイス４から受信したパケットが今回のバルク転送に係る最後のパケットであると判断すると、その時点で予定していた３回分のデータの取得が完了してない場合でも、次のトランザクションを中止し、それまでに受信したデータに基づいてバルクリードアクノリッジパケットを作成し、第１無線装置２に送信する。
【０１２６】
なお、バルクリードアクノリッジパケットにＵＳＢデバイス４から取得したデータのデータ長が含まれている理由は、このように、パケットに含まれるデータ長が変わり異なる場合があるためである。
【０１２７】
なお、ＳＴＥＰ４２９〜４３４の動作はＳＴＥＰ４１２〜４１９の動作に対応するので省略する。
【０１２８】
（Ａ−２−５）バルク転送シーケンス（ライト）
次に、図８を参照して、本実施形態に係るバルクライト転送について説明する。なお、バルクライト転送は、データの方向が違うだけで、基本的な考え方はバルクリード転送と同様の考えである。
【０１２９】
なお、本実施形態では、バルクライトトランザクションの回数を３回として説明するが、その回数は特に限定されない。
【０１３０】
まず、ホスト１は、第１無線装置２にＯＵＴトークンを送信し（ＳＴＥＰ５０１）、３回のＯＵＴトランザクションで、データを第１無線装置２に与える（ＳＴＥＰ５０２〜５０８）。
【０１３１】
なお、第１無線装置２は、ホスト１からのデータサイズが、コンフィグＤｅｓｃｒｉｐｔｏｒ情報によるペイロードサイズ以下であるか否かの確認を行なう。
【０１３２】
第１無線装置２は、ホスト１からデータを取得すると、それらデータに基づいてバルクライトリクエストパケットを作成し、その作成したバルクライトパケットを第２無線装置３に送信する（ＳＴＥＰ５０９）。なお、このパケットにはデータ長情報が含まれている。
【０１３３】
また、第１無線装置２は３番目のデータに対してのＮＡＫ応答にする（ＳＴＥＰ５０９）。これは、ＵＳＢデバイス４がこの転送に対してＳＴＡＬＬ応答する可能性があるからである。さらに、第１無線装置２はバルクライトアクノリッジが返るまでＮＡＫ応答を繰り返す（ＳＴＥＰ５１０〜５１８）。
【０１３４】
次に、第１無線装置２からバルクライトリクエストを受信すると、第２無線装置３は、ホスト１の代理として機能し、ＵＳＢデバイス４に対してＯＵＴトランザクションを行なう（ＳＴＥＰ５１０〜５１８）。このとき、デバイスからの応答がＳＴＡＬＬであったときは、トランザクションの実行を中止してＳＴＥＰ５１９の処理に移行する。
【０１３５】
第２無線装置３は、ＳＴＥＰ５１０〜ＳＴＥＰ５１８の処理結果をバルクライトアクノリッジパケットで第１無線装置２に送信する（ＳＴＥＰ５１９）。
【０１３６】
第２無線装置３からバルクライトアクノリッジパケットを受信すると、第１無線装置２は、ＵＳＢデバイス４の代理として機能し、ホスト１からのＯＵＴトランザクションに対する応答として、バルクライトアクノリッジパケットに含まれるデータで応答する（ＳＴＥＰ５２０〜５２４）。
【０１３７】
ＳＴＥＰ５２０において、ＤＡＴＡ０は既に第２無線装置３に送信したデータなので廃棄され、バルクライトアクノリッジパケットの結果がＳＴＡＬＬであればＳＴＥＰ５２１はＳＴＡＬＬ応答となる。この場合ホスト１側ではアプリケーションエラーになるので次のＳＴＥＰは実行されない。
【０１３８】
ホスト１おいて、まだＵＳＢデバイス４に送信したいデータがある場合、ホスト１は次のＯＵＴトランザクションを発生し（ＳＴＥＰ５２５）、第１無線装置２は、ホスト１からの複数のデータをまとめて受け取り、バルクライトリクエストパケットを作成し、第２無線装置２に送信する（ＳＴＥＰ５２６）。
【０１３９】
なお、ＳＴＥＰ５２６で、ホスト１からのデータサイズがペイロードサイズ以下である場合には、第１無線装置２はこのパケットデータが最終パケットであると判断した時点で、３回のＯＵＴトランザクションが完了していない場合でも、次のトランザクションを中止して次のＳＴＥＰへ移行する。
【０１４０】
また、ちょうどペイロードと同じサイズでデータ転送が終了してしまう場合が考えられる。このケースでホスト１の動きとして予想できるのは２つのケースである。１つは、しばらく何もすることが無くて何もトランザクションが来なくなる場合である。この場合、第１無線装置で監視タイマを持ちタイムアウトでデータ転送終了と判断し次のケースヘ移行する。２つは、別のトランザクション（他のデバイスに対するものを含む）が発生する場合である。この場合ただちにデータ取得を中止して次のＳＴＥＰへ移行する。いずれの場合も既にＡＣＫ応答しているため既に受け取ったデータを速やかに処理する必要がある。
【０１４１】
なお、ＳＴＥＰ５２７〜５３７の動作は、ＳＴＥＰ５０９〜５２１に動作に対応するので説明を省略する。
【０１４２】
（Ａ−２−６）バルク転送（リード）における処理時間
図９は、例えば、図７で説明したバルク転送（リード）におけるトランザクションで３回分のデータをまとめた場合のシーケンスであり、図９を基にして無線通信する場合の処理時間の概算を求める。
【０１４３】
ＳＴＥＰ６０１では、ＩＮトークンパケットのデータ長が８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ）＝３５ｂｉｔであるから、３５ｂｉｔ／１２Ｍｂｐｓ≒２．９μｓとなる。
【０１４４】
ＳＴＥＰ６０２では、１６μｓ（ＤＩＦＳ）＋１６μｓ（プリアンブル）＋（２４）ｂｉｔ／５４Ｍｂｐｓ≒３２．４μｓとなる。
【０１４５】
ＳＴＥＰ６０３〜６１０では、ＩＮトークンパケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ））×３＝１０５ｂｉｔであり、ＤＡＴＡ０パケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋２８０ｂｉｔ（ＤＡＴＡ０）＋３ｂｉｔ（ＥＯＰ））×３＝８７３ｂｉｔであり、ＡＣＫパケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋８ｂｉｔ（ＡＣＫ）＋３ｂｉｔ（ＥＯＰ））×２＝３８ｂｉｔであるから、（１０５＋８７３＋３８）ｂｉｔ／１２Ｍｂｐｓ≒８４．７μｓとなる。
【０１４６】
ＳＴＥＰ６１１では、１６μｓ（ＤＩＦＳ）＋１６μｓ（プリアンブル）＋８７３ｂｉｔ／５４Ｍｂｐｓ≒４８．２μｓとなる。
【０１４７】
ＳＴＥＰ６１２〜６２１では、ＩＮトークンパケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋２４ｂｉｔ（ＩＮトークン）＋３ｂｉｔ（ＥＯＰ））×３＝１０５ｂｉｔであり、ＤＡＴＡ０パケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋２８０ｂｉｔ（ＤＡＴＡ０）＋３ｂｉｔ（ＥＯＰ））×３＝８７３ｂｉｔであり、ＡＣＫパケットのデータ長が（８ｂｉｔ（ＳＹＮＣ）＋８ｂｉｔ（ＡＣＫ）＋３ｂｉｔ（ＥＯＰ））×３＝５７ｂｉｔであるから、（１０５＋８７３＋５７）ｂｉｔ／１２Ｍｂｐｓ≒８６．３μｓとなる。
【０１４８】
以上より、ＳＴＥＰ６０１〜６２１までの処理時間の概算は、２．９＋３２．４＋８４．７＋４８．２＋８６．３＝２５４．９μｓとなる。
【０１４９】
これに対して、有線の場合の処理時間は、図９のＳＴＥＰ１２〜ＳＴＥＰ２１に相当するので、８６．３μｓとなる。
【０１５０】
従って、無線化することにより約２．９倍となり、１パケットずつ変換する場合の４．５倍に比べてかなり改善されることが分かる。なお、処理時間はバルク転送（リード）におけるシーケンスに基づいて算出するが、そのほかのシーケンスに改善が期待できる。
【０１５１】
また、図１０は、トランザクションのまとめ数を変え、上記と同じ計算した結果を示す図である。なお、図１０において、横軸はトランザクション数、縦軸は有線のパケット処理時間に対する無線化の処理時間の増加率である。
【０１５２】
図１０において、まとめるトランザクション数を増やせば無線通信部分のプリアンブル、ＤＩＦＳ時間の影響が少なくなり、２倍に向かって収束していく（無線部の処理時間が０でも有線１と有線２で２回データのやりとりがあるので２倍以下にはならない）。必要以上にまとめても無線装置のバッファメモリ（データ格納部）の無駄遣いになるのでまとめる量は５トランザクション以内が適当と言える。
【０１５３】
（Ａ−３）第１の実施形態の効果
以上、本実施形態によれば、複数のデータをまとめた無線パケットを作成し、その無線パケットを通信することにより、プリアンブル、ＤＩＦＳ時間の影響を少なくして、無線ＵＳＢの転送効率を上げることができる。
【０１５４】
（Ｂ）第２の実施形態
続いて、第１の実施形態で説明した機能構成を備える無線通信システムで、ホスト１とＵＳＢデバイス４との間でアイソクロナス転送を行なう場合について説明する。
【０１５５】
なお、以下の説明では、アイソクロナス転送のリード処理とライト処理とのシーケンスに分けて説明する。
【０１５６】
（Ｂ−１）アイソクロナス転送（リード）のシーケンス
図１１は、アイソクロナス転送（リード）の場合のシーケンスである。なお、アイソクロナス転送は、例えば音や映像などリアルタイムで送る必要があるデータ転送である。
【０１５７】
まず、ホスト１は、ＳＯＦを第１無線装置２に与える（ＳＴＥＰ７０１）。
【０１５８】
ここで、ＳＯＦは、ホスト１が１ｍｓ毎に発行するフレームの最初であることを示すパケットである。そして、アイソクロナス転送は、リアルタイム性を保持する必要があり優先度が高いのでＳＯＦの直後にすぐ発行される。
【０１５９】
すなわち、ＳＴＥＰ７０１でＳＯＦが発行された後、ホスト１はＩＮトークンを第１無線装置２に与える（ＳＴＥＰ７０２）。
【０１６０】
ホスト１からＩＮトークンを受信すると、第１無線装置２は、第２無線装置３に対してアイソＩＮパケットを送信すると共に、ホスト１に対してバッファリングデータを返信する（ＳＴＥＰ７０３）。なお、第１無線装置２は、ホスト１から最初に要求された場合には、バッファリングデータを保持していないので、ダミーデータを送信する。
【０１６１】
続いて、第１無線装置２からアイソＩＮパケットを受信すると、第２無線装置３は、ホスト１の代理として機能し、アイソクロナス転送のＩＮトランザクションを発生し（ＳＴＥＰ７０４）、ＵＳＢデバイス４からＤＡＴＡ０（Ｎｏ１）を取得する（ＳＴＥＰ７０５）。
【０１６２】
ＵＳＢデバイス４からＤＡＴＡ０（Ｎｏ１）を取得すると、第２無線装置３は、その取得したＤＡＴＡ０（Ｎｏ１）に基づいてＤＡＴＡ０（Ｎｏ１）パケットを生成し、第１無線装置２に送信する（ＳＴＥＰ７０６）。
【０１６３】
このとき、第１無線装置２は、第２無線装置３からＤＡＴＡ０（Ｎｏ１）が与えられると、そのＤＡＴＡ０（Ｎｏ１）をバッファリングする。すなわち、第１無線装置２において、制御部２２の制御の下、ＤＡＴＡ０（Ｎｏ１）は、データ格納部２４にバッファリングされ、ホスト１からアイソクロナス転送によるデータ転送要求を受信するまで、データは保存される。
【０１６４】
そして、ホスト１からＳＯＦ及びＩＮトークンを受信すると、第１無線装置２は、バッファリングしているＤＡＴＡ０（Ｎｏ１）をホスト１に返信する（ＳＴＥＰ７０７〜７０９）。
【０１６５】
なお、ＳＴＥＰ７０９〜ＳＴＥＰ７１８以降のステップは、ＳＴＥＰ７０１〜７０６の処理に相当し、繰り返し行なわれる。
【０１６６】
（Ｂ−２）アイソクロナス転送（ライト）のシーケンス
図１２は、アイソクロナス転送（ライト）のシーケンスを示す。
【０１６７】
まず、ホスト１は、ＳＯＦを第１無線装置２に与え（ＳＴＥＰ８０１）、またその直後、ＩＮトークンを第１無線装置２に与える（ＳＴＥＰ８０２）。
【０１６８】
ホスト１はＤＡＴＡ０（Ｎｏ１）を第１無線装置２に与える（ＳＴＥＰ８０３）。第１無線装置２は、ホスト１からＤＡＴＡ０（Ｎｏ１）を受信すると、そのＤＡＴＡ０（Ｎｏ１）に基づいて、アイソＯＵＴパケットを生成し、第２無線装置３に送信する（ＳＴＥＰ８０４）。
【０１６９】
第１無線装置２からアイソＯＵＴパケットを受信すると、第２無線装置３は、ホスト１の代理として機能し、アイソクロナス転送のＯＵＴトランザクションを発生させ、ＤＡＴＡ０（Ｎｏ１）をＵＳＢデバイス４に送信する（ＳＴＥＰ８０５、８０６）
なお、ＳＴＥＰ８０７〜８１２のステップは、ＳＴＥＰ８０１〜８０６の処理に相当し、繰り返し行なわれる。
【０１７０】
（Ｃ）第３の実施形態
次に、第１の実施形態で説明した機能構成を備える無線通信システムで、ホスト１とＵＳＢデバイス４との間でインターラプト転送を行なう場合について説明する。
【０１７１】
なお、インターラプト転送は、例えばキーボードやマウスなど割り込みを必要とするときのデータ転送である。そのため、ライト処理はほとんどないので、以下では、インターラプト転送のリード処理のシーケンスについて説明する。
【０１７２】
インターラプト転送はデータ量が少ないので、参考文献の方法でも問題ないように思えるが、インターラプト転送の特徴として、ＵＳＢデバイスからのＮＡＫ応答の転送準備ができていないという意味ではなく、送るべきデータがないと言う意味であるため、無線装置でＮＡＫ応答した場合、ホストでのリトライ動作は行なわれない。
【０１７３】
図１３は、インターラプト転送（リード）のシーケンスである。
【０１７４】
ホスト１は、ＳＯＦを第１無線装置２に与える（ＳＴＥＰ９０１）。インターラプト転送は、ＳＯＦの８回の送信に１回の程度のアクセス頻度となり、アイソクロナス転送の次に優先度が高い。
【０１７５】
そのため、アイソクロナスデバイスが他になければ、ＳＯＦの直後にホスト１はすぐにＩＮトークンを第１無線装置２に送信する（ＳＴＥＰ９０２）。
【０１７６】
ホスト１からＩＮトークンを受信すると、第１無線装置２は、第２無線装置３に対してイントＩＮパケットを送信すると共に、ホスト１に対してバッファリングデータを返信する（ＳＴＥＰ９０３）。このとき、ホスト１から最初の要求に対しては、バッファリングデータがないので変化がないという意味のＮＡＫ応答となる。
【０１７７】
次に、第１無線装置２からイントＩＮパケットを受信すると、第２無線装置３は、ホスト１の代理として機能し、インターラプト転送のＩＮトランザクションを発生し、ＵＳＢデバイス４からＤＡＴＡ０（Ｎｏ１）を取得する（ＳＴＥＰ９０４、９０５）。
【０１７８】
このとき、ＵＳＢデバイス４側において、変化情報がない場合には、ＵＳＢデバイス４は、第２無線装置３に対してＮＡＫ応答を行ない、ＳＴＥＰ９０６で説明するＡＣＫ応答は存在しない。
【０１７９】
ＵＳＢデバイス４からＤＡＴＡ０（Ｎｏ１）を受信すると、第２無線装置３は、そのＤＡＴＡ０（Ｎｏ１）に基づいて、イントＤＡＴＡ０（Ｎｏ１）パケットを生成し、第１無線装置２に送信する（ＳＴＥＰ９０６）。
【０１８０】
このとき、第１無線装置２は、受信したＤＡＴＡ０（Ｎｏ１）をバッファリングし、ホスト１からのデータ転送要求を待つ。
【０１８１】
その後、ＳＴＥＰ９０１〜９０６の処理を繰り返し、ホスト１からインターラプト転送の要求を受けると、第１無線装置２は、バッファリングしているＤＡＴＡ０（Ｎｏ１）をホスト１に送信する（ＳＴＥＰ９０７〜９０９）。
【０１８２】
ＳＴＥＰ９０９〜９２１のステップは、ＳＴＥＰ９０１〜９０６の処理に相当し、繰り返し行なわれる。
【０１８３】
なお、ＳＴＥＰ９１７では、ＵＳＢデバイス４において、変化情報がない場合の処理を示し、ＵＳＢデバイス４は第２無線装置３に対してＮＡＫ応答し、それを受信した第２無線装置３がイントアクノリッジ応答を第１無線装置２に送信し、第１無線装置２がホスト１に対してＮＡＫ応答するシーケンスである。
【図面の簡単な説明】
【０１８４】
【図１】第１の実施形態のシステム構成図である。
【図２】従来の無線接続方法のシーケンスである。
【図３】第１の実施形態のデバイス／コンフィグ情報取得のためのコントロール転送シーケンスである（１）。
【図４】第１の実施形態のデバイス／コンフィグ情報取得のためのコントロール転送シーケンスである（２）。
【図５】第１の実施形態のデバイス／コンフィグ情報取得以外のコントロール転送（リード）シーケンスである。
【図６】第１の実施形態のデバイス／コンフィグ情報取得以外のコントロール転送（ライト）シーケンスである。
【図７】第１の実施形態のバルク転送（リード）シーケンスである。
【図８】第１の実施形態のバルク転送（ライト）シーケンスである。
【図９】第１の実施形態のバルク転送（リード）シーケンスである。
【図１０】第１の実施形態のバルク転送におけるトランザクション数と処理時間との関係を示す図である。
【図１１】第２の実施形態のアイソクロナス転送（リード）シーケンスである。
【図１２】第２の実施形態のアイソクロナス転送（ライト）シーケンスである。
【図１３】第３の実施形態のインターラプト転送（リード）シーケンスである。
【符号の説明】
【０１８５】
１００…無線通信システム、１…ホストコンピュータ、２…第１無線通信装置、３…第２無線通信装置、２１及び３１…ＵＳＢインタフェースユニット、２２及び３２…制御部、２３及び３３…無線部、２４及び３４…データ格納部、４…ＵＳＢデバイス。
【図１】
2007088775.tif 000003
【図２】
2007088775.tif 000004
【図３】
2007088775.tif 000005
【図４】
2007088775.tif 000006
【図５】
2007088775.tif 000007
【図６】
2007088775.tif 000008
【図７】
2007088775.tif 000009
【図８】
2007088775.tif 000010
【図９】
2007088775.tif 000011
【図１０】
2007088775.tif 000012
【図１１】
2007088775.tif 000013
【図１２】
2007088775.tif 000014
【図１３】
2007088775.tif 000015