(57)【要約】【課題】高パフォーマンスを実現しつつ既存のＵＳＢ機器を簡単にＣ−ＷＵＳＢ化することができる通信アダプタ及びそのデータ転送方法を提供すること。【解決手段】通信アダプタ２は、自身にＵＳＢ接続された接続デバイスとやり取りするＤｏｗｎＰｏｒｔ部３０と、接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有し、外部の無線通信装置と通信するＵｐＰｏｒｔ部１０と、無線通信装置からのデータを接続デバイス用のデータに変換するＷＵＳＢ−ＵＳＢ変換部２０とを有し、無線通信装置と接続デバイスとの間のデータ転送を行なう。【選択図】図２
2008257419.tif 000002
【特許請求の範囲】
【請求項１】
自身にＵＳＢ接続された接続デバイスとやり取りするホストコントローラと、
前記接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有し、外部の無線通信装置と通信する無線通信部と、
前記無線通信装置からのデータを前記接続デバイスへのデータに変換し、前記接続デバイスからのデータを前記無線通信装置へのデータに変換するデータ変換部とを有し、
前記無線通信装置と前記接続デバイスとの間のデータ転送を行なう、通信アダプタ。
【請求項２】
前記無線通信部は、前記接続デバイスのエンドポイント数以上のエンドポイント数を有し、エニュメレーション中に取得した前記接続デバイスの構成情報に基づきエンドポイント構成を設定する
ことを特徴とする請求項１記載の通信アダプタ。
【請求項３】
前記無線通信部は、転送タイプ及び転送方向が定められた所定のエンドポイント構成を有し、エニュメレーション中に取得した前記接続デバイスの構成情報に基づき、前記接続デバイスのエンドポイント構成に対応するようエンドポイント構成を設定する
ことを特徴とする請求項１記載の通信アダプタ。
【請求項４】
前記接続デバイスは予め定められた特定のＵＳＢデバイスであって、
前記無線通信部は、前記特定のＵＳＢデバイスと同一のエンドポイント構成を有する
ことを特徴とする請求項１記載の通信アダプタ。
【請求項５】
前記無線通信部は、エンドポイントを制御するエンドポイントコントローラを有し、
前記エンドポイントコントローラは、前記接続デバイスへの要求を処理するリクエスト処理部を有し、
前記リクエスト処理部は前記外部の無線通信装置からのリクエストを前記データ変換部を介して前記接続デバイスへ入力する
ことを特徴とする請求項１乃至３のいずれか１項記載の通信アダプタ。
【請求項６】
前記データ変換部は、前記無線通信装置からのワイヤレスＵＳＢデータを前記接続デバイスへのＵＳＢデータに変換し、前記接続デバイスからのＵＳＢデータを前記無線通信装置へのワイヤレスＵＳＢデータに変換するワイヤレスＵＳＢ−ＵＳＢ変換部である
ことを特徴とする請求項１乃至５のいずれか１項記載の通信アダプタ。
【請求項７】
前記データ変換部は、
ワイヤレスＵＳＢ通信を制御するワイヤレスＵＳＢ制御部と、
ＵＳＢ通信を制御するＵＳＢ制御部と、
ワイヤレスＵＳＢプロトコルとＵＳＢプロトコルとを相互に変換するプロトコル変換部と、
エンドポイント情報を格納するエンドポイント情報部とを有する
ことを特徴とする請求項１乃至５のいずれか１項記載の通信アダプタ。
【請求項８】
前記データ変換部は、前記接続デバイスの構成情報からクラス情報を抽出するクラス情報部を更に有する
ことを特徴とする請求項７項記載の通信アダプタ。
【請求項９】
前記データ変換部は、前記無線通信装置からのコマンドをデコードするクラス制御部を有する
ことを特徴とする請求項７又は８項記載の通信アダプタ。
【請求項１０】
外部のＵＳＢホストと通信するＵＳＢ通信部を更に有する
ことを特徴とする請求項１乃至９のいずれか１項記載の通信アダプタ。
【請求項１１】
前記無線通信部は、エニュメレーション中に取得した前記接続デバイスの構成情報からデバイス・クラス情報を抽出し、当該デバイス・クラスに基づき転送処理を実行する
ことを特徴とする請求項１乃至１０のいずれか１項記載の通信アダプタ。
【請求項１２】
自身にＵＳＢ接続された接続デバイスと、外部の無線通信装置との間のデータ転送を行なう通信アダプタのデータ転送方法であって、
接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有する無線通信部により外部の無線通信装置から送信要求を受け、
前記接続デバイスに対してＩＮトークンを発行して、当該接続デバイスからデータを受信し、
前記無線通信装置へ前記接続デバイスからのデータを転送する、通信アダプタのデータ転送方法。
【請求項１３】
自身に接続されたＵＳＢデバイスと、外部の無線通信装置との間のデータ転送を行なうアダプタのデータ転送方法であって、
接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有する無線通信部により外部の無線通信装置からＩＮトークンを受ける又は受けないに拘わらず、前記接続デバイスへＩＮトークンを発行してデータを取得し、
前記無線通信部が前記無線装置からのＩＮトークンを受けた後に前記接続デバイスから取得したデータを転送する、通信アダプタのデータ転送方法。
【請求項１４】
前記外部の無線通信装置と接続処理を実施後、
前記無線通信装置とセキュリティに関するリクエスト処理を実施して認証を行い、
前記無線通信装置と前記接続デバイスとの間で通信アダプタを介して接続デバイスに対するエニュメレーションを行なって前記接続デバイスの構成情報を取得し、
前記構成情報からデバイス・クラスを抽出し、当該デバイス・クラスに基づきデバイス動作を実行する、請求項１２又は１３記載の通信アダプタのデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵｐＰｏｒｔにＣｅｒｔｉｆｉｅｄ  Ｗｉｒｅｌｅｓｓ  ＵＳＢホスト、ＤｏｗｎＰｏｒｔにＷｉｒｅｄ  ＵＳＢデバイスを接続して両者の間のデータ転送を行なわせる通信アダプタ及び通信アダプタのデータ転送方法に関する。
【背景技術】
【０００２】
従来、プリンタ装置やディジタル複合機など特定種のデバイスに接続されると、その特定種のデバイスを外部の無線通信装置から利用できるようにする通信装置の無線通信に関する設定を簡単に行なうことを目的とした通信装置の設定方法が開示されている（例えば特許文献１参照）。
【０００３】
この通信装置の設定方法では、無線装置は特定種のデバイスとしてのディジタル複合機と、ストレージ装置とを電気的に接続するＵＳＢインターフェースを備え、ＵＳＢインターフェースに対するストレージ装置の接続を検知すると、ＵＳＢインターフェースに接続されたストレージ装置に無線通信に関する設定の内容を表す設定情報が記憶されているか否かを判断し、ストレージ装置に設定情報ファイルが記憶されていると判断するとストレージ装置が記憶する設定情報ファイルを読み出し、その設定ファイルの内容に従って各無線動作パラメータの値を変更して無線通信に関する設定を行なうものである。
【０００４】
ところで、ＵＳＢ互換を目指した無線通信方式にＣｅｒｔｉｆｉｅｄ  Ｗｉｒｅｌｅｓｓ  ＵＳＢ（以下、Ｃ−ＷＵＳＢという。）がある。Ｃ−ＷＵＳＢの特長として、「パソコンと周辺機器を接続するような約３ｍの距離でのデータ転送速度は理論値最大４８０Ｍｂｐｓ」と既存のＵＳＢ２．０と同等の性能を実現することが挙げられる。Ｃ−ＷＵＳＢの技術により、プリンタ、外付けストレージなど、高速で大容量なデータ転送を必要とする機器の設置が楽になり、携帯型ＨＤＤプレーヤやデジタルカメラといった携帯機器のデータをパソコンに転送するためケーブルを持ち歩く必要がなくなる。
【０００５】
また、Ｃ−ＷＵＳＢ規格は従来のＵＳＢ規格と共通部分が多く、既存システムからの移行には、Ｃ−ＷＵＳＢ規格準拠のモジュールを内蔵または外付けにアタッチすることで、既存システムをＣ−ＷＵＳＢに対応させることができる。そのため、パソコンなどでは既存のドライバをそのまま使用することができる。
【０００６】
さらに、ＷｉＭｅｄｉａ準拠ＵＷＢ方式を採用することで、高速なワイヤレス通信に加え、送受信回路の低消費電力化を実現することが可能となる。また、パソコンや周辺機器が複数存在する場合、Ｃ−ＷＵＳＢでの通信は、多対多の通信を想定した無線システムとは異なり、「ホスト（パソコンやゲーム機、など）」と「デバイス（周辺機器）」といった主従関係をあらかじめ機器間で決めておき、通信するネットワーク接続形態を１対多に限定することで回路規模の低減を実現している。さらに、ＲＦ処理部にもＣＭＯＳ技術を活用できるため、既存の生産ラインを流用可能で、生産コストを抑えることができるほか、将来のインテグレーションにも対応が容易である。
【０００７】
さらにまた、Ｃ−ＷＵＳＢに対応したホスト・デバイスは、特別な設定なしに相互に通信が可能である。反面、セキュリティの設定をしないと、電波の届く範囲では誰でもデータを受信できるため、ユーザが意識しない間にデータが盗まれたり、書き換えられる問題があり、あらかじめ対策が必要な状況となっている。Ｃ−ＷＵＳＢでは、有線並みのセキュリティを確保するために、ホストとデバイス間で特別な手順を経る仕組みを使用する。以下では、この手順をアソシエーションという。
【０００８】
ここで、既存のＵＳＢホスト（パソコン）やＵＳＢデバイスをワイヤレス通信で接続できるようにするため、Ｃ−ＷＵＳＢでは２つの新しいワイヤ・アダプタというデバイス・クラスを定義している。ワイヤ・アダプタ・デバイスを用いることで、既存のパソコンをアップグレードして、Ｃ−ＷＵＳＢをサポートできるようになる。１つは、ＨＷＡ（host wire adapter）であり、アップストリームに有線のＵＳＢ２．０を持ったデバイスである。ＨＷＡは、ダウンストリームのＣ−ＷＵＳＢデバイスのホストとして動作する。
【０００９】
もう１つはＤＷＡ（device wire adapter）であり、アップストリーム接続にＣ−ＷＵＳＢを用いるＵＳＢデバイスである。ＤＷＡは，そのダウンストリーム・ポートに接続されたデバイスに対してＵＳＢ２．０（有線）のホストとして動作する。
【００１０】
図１５は、ＤＷＡを示すブロック図である。Ｃ−ＷＵＳＢ  ＤＷＡ部は、Ｃ−ＷＵＳＢとしてのＵｐＰｏｒｔ部１１０である物理層のＵＷＢ  ＰＨＹ１１１、ＭＡＣ部１１２、及びＣ−ＷＵＳＢデータの送受信バッファとなるエンドポイント（ＥＰ）コントローラ１１３と、接続デバイスのアドレス、ＥＰ情報、転送方式などの情報を蓄える機構＝Ｒｅｍｏｔｅ Ｐｉｐｅ（ＲＰｉｐｅ）を制御するためのリモートパイプ（Remote Pipe）コントローラ１２０と、ＵＳＢ２．０ＤｏｗｎＰｏｒｔ部１３０としてのＵＳＢ２．０Ｈｏｓｔコントローラ１３１及び物理層のＵＳＢ２．０ＰＨＹ１３２とを有する（非特許文献１参照）。
【特許文献１】特開２００６−１４８３１１号公報
【非特許文献１】Wireless USB Specification Revision 1.0、Chapter 8、p195-p202、[online]、[平成１９年１月２３日検索]、インターネット＜ＵＲＬ：http://www.usb.org/developers/wusb/＞
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ＤＷＡは、接続するデバイスを選ばないという点から汎用性に優れ、ＵｐＰｏｒｔがＣ−ＷＵＳＢでＤｏｗｎＰｏｒｔがＷｉｒｅｄＵＳＢのＷｉｒｅｌｅｓｓＨＵＢという位置づけでは既存のＵＳＢ機器を簡単にＣ−ＷＵＳＢ化できるというメリットがある。
【００１２】
しかしながら、ＤＷＡは、エンドポイント以外にリモートパイプ（接続デバイスのアドレス、ＥＰ番号、転送方式などの情報を蓄える機構）という概念を有し、それを制御するコントローラ（リモートパイプコントローラ）が必要である。また、ＤＷＡは、基本的にＵＳＢ２．０ＤｏｗｎＰｏｒｔに接続するデバイスを制限できないため、ＵＳＢ２．０Ｈｏｓｔ部を簡略化することができず、さらにはダウンポートがマルチポート対応となるとその分アナログ部（物理層）が大きくなり、回路規模が大きいというデメリットがある。
【００１３】
また、その汎用性のため、プロトコルとしてのオーバヘッドが大きくスループット（実行速度）が低いという問題点もある。すなわち、ＤＷＡは、転送単位で必ず、転送要求（Transfer Request）受信、転送結果（Transfer Result）送信が必要であり、Ｎａｔｉｖｅ  Ｄｅｖｉｃｅ（ＮＤ）と比べてＣ−ＷＵＳＢでのトランザクションが２つ余分に必要なため、データ転送速度が遅いという問題点がある。一方、ＮＤは、スループット及び回路規模という点では、ＤＷＡより優れているが、Ｃ−ＷＵＳＢ制御はシステムバスに大きく依存し、簡単にＷｉｒｅｄ  ＵＳＢをＣ−ＷＵＳＢ化することができないという問題点がある。
【課題を解決するための手段】
【００１４】
本発明に係る通信アダプタは、自身にＵＳＢ接続された接続デバイスとやり取りするホストコントローラと、前記接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有し、外部の無線通信装置と通信する無線通信部と、前記無線通信装置からのデータを前記接続デバイスへのデータに変換し、前記接続デバイスからのデータを前記無線通信装置へのデータに変換するデータ変換部とを有し、前記無線通信装置と前記接続デバイスとの間のデータ転送を行なうものである。
【００１５】
本発明においては、接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有する無線通信部を備えるため、外部の無線通信装置が接続デバイスを例えばワイヤレスＵＳＢと見なしデータ転送を行なうことができる。よって、プロトコルのオーバヘッドが小さく、転送速度を高速化することができる。
【００１６】
本発明に係る通信アダプタのデータ転送方法は、自身にＵＳＢ接続された接続デバイスと、外部の無線通信装置との間のデータ転送を行なう通信アダプタのデータ転送方法であって、接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有する無線通信部により外部の無線通信装置から送信要求を受け、前記接続デバイスに対してＩＮトークンを発行して、当該接続デバイスからデータを受信し、前記無線通信装置へ前記接続デバイスからのデータを転送するものである。
【００１７】
本発明においては、無線通信装置から送信要求（以下、ＵＳＢと合わせてＩＮトークンという。）を受信したら転送要求や転送結果を送受信することなく、接続デバイスからデータを受信することができ、データ転送を高速化することができる。
【００１８】
本発明にかかる通信アダプタのデータ転送方法は、自身に接続されたＵＳＢデバイスと、外部の無線通信装置との間のデータ転送を行なうアダプタのデータ転送方法であって、接続デバイスのエンドポイント構成と１対１に対応したエンドポイント構成を有する無線通信部により外部の無線通信装置からＩＮトークンを受ける又は受けないに拘わらず、前記接続デバイスへＩＮトークンを発行してデータを取得し、前記無線通信部が前記無線装置からのＩＮトークンを受信した後に前記接続デバイスからのデータを転送するものである。
【００１９】
本発明においては、無線通信装置からＩＮトークンを受ける又は受けないに拘わらず、接続デバイスからデータを取得することも可能であり、データ転送を更に高速化することができる。
【発明の効果】
【００２０】
本発明によれば、高パフォーマンスを実現しつつ既存のＵＳＢ機器を簡単にＣ−ＷＵＳＢ化することができる通信アダプタ及びそのデータ転送方法を提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本実施の形態は、本発明を、Ｃ−ＷＵＳＢ  ＮＤと簡易的なＷｉｒｅｄ  ＵＳＢホスト部とを組み合せることで、ＤＷＡとは異なりプロトコルオーバヘッドが少なく高速化を実現することができる通信アダプタに適用したものである。
【００２２】
実施の形態１．
図１は、本実施の形態にかかる通信システムを示す図である。本実施の形態にかかる通信アダプタ２は、ＵｐＰｏｒｔにＣ−ＷＵＳＢホスト１が接続され、ＤｏｗｎＰｏｒｔにＷｉｒｅｄ  ＵＳＢ（ＵＳＢ２．０デバイス）３が接続されている。図１（ａ）に示すように、周辺機器４に通信アダプタ２及びＵＳＢ２．０デバイス３を組み込むことで、高速性が望まれるＵＳＢデバイスへの組み込み用途に用いることができる。または、図１（ｂ）に示すように通信アダプタ２をＵＳＢ２．０デバイス３の外付けタイプとしてもよい。
【００２３】
本実施の形態にかかる通信アダプタは、既存のＷｉｒｅｄ  ＵＳＢデバイスを、Ｃ−ＷＵＳＢデバイスとして機能するＮａｔｉｖｅＤｅｖｉｃｅ（ＮＤ）化するものである。以下の説明においては、適宜、ＤＷＡと比較して説明する。なお、ＤＷＡもＷｉｒｅｄ  ＵＳＢをＣ−ＷＵＳＢと接続するためのアダプタであるが、ハブとしての機能を有しており、また多数の接続デバイスを接続可能な反面、回路規模が大きく高速性に欠ける点で本実施の形態にかかる通信アダプタと異なる。なお、以下では、主に高スループットが必要となるＢｕｌｋ転送用のエンドポイントを有するＵＳＢデバイスをサポートするものとして説明する。また、動作説明においてはＢｕｌｋ転送を例に説明する。
【００２４】
図２は、本実施の形態にかかる通信アダプタを示すブロック図である。通信アダプタ２は、Ｃ−ＷＵＳＢデバイスとしてのＵｐＰｏｒｔ部（Ｃ−ＷＵＳＢ  ＮＤ部）１０、データ変換部としてのＷＵＳＢ−ＵＳＢ変換部２０、及びＤｏｗｎＰｏｒｔ部（簡易ＵＳＢ２．０ホスト部）３０を有する。ＵｐＰｏｒｔ部１０は、物理層のＵＷＢ  ＰＨＹ１１、ＭＡＣ部１２、及びＣ−ＷＵＳＢデータの送受信バッファとなるエンドポイント（ＥＰ）コントローラ１３を有し、ＤｏｗｎＰｏｒｔ部３０は、ＵＳＢ２．０Ｈｏｓｔコントローラ３１及び物理層のＵＳＢ２．０ＰＨＹ３２を有する。ＵｐＰｏｒｔ部１０は、外部のＣ−ＷＵＳＢデバイスと通信する部分であり、図１５に示すＵｐＰｏｒｔ部１１０とはエンドポイントコントローラの構成が一部異なる。その他の構成は同じである。また、詳細は後述するが通信アダプタ２のエンドポイントコントローラ１３は、接続デバイス３のエンドポイント構成と１対１に対応したエンドポイント構成を有する。エンドポイントコントローラ１３は、従来のＤＷＡと比較すると、エンドポイント構成がターゲットデバイスに依存したものとなる。また、転送要求、転送結果制御を行なう必要がないため、それらの制御部も削除することができる。
【００２５】
ホストコントローラ３１は、通信アダプタ２にＵＳＢ接続された接続デバイス３とやり取りする。ＤｏｗｎＰｏｒｔ部３０は、ＤＷＡに比して余分なポート制御部を削除でき、エンドポイント数の制限が可能であり、ハブ接続制御が不要であること等からＤＷＡのホストコントローラの一部を削除した簡略化したものとすることができる。また、ＵＳＢ２．０ＰＨＹ３２も余分なトランシーバを削除でき、１ポートのみでよいなど、ＤＷＡに比してその構成の一部を削除して簡略化することができる。
【００２６】
ＷＵＳＢ−ＵＳＢ変換部２０は、Ｃ−ＷＵＳＢホスト１からのワイヤレスＵＳＢデータを接続デバイス３用のデータに変換し、接続デバイスであるＵＳＢ２．０からのＵＳＢデータをＣ−ＷＵＳＢホスト１へのワイヤレスＵＳＢデータに変換するデータ変換部である。この通信アダプタ２により、Ｃ−ＷＵＳＢホスト１とＵＳＢ２．０デバイス（接続デバイス）３との間のデータ転送を行なわせる。
【００２７】
本実施の形態にかかる通信アダプタは、高パフォーマンスを実現しつつ、既存のＵＳＢ機器をＣ−ＷＵＳＢ化するものである。回路規模をＤＷＡより小さくすることができるため、消費電力の削減、コストの低減を図ることができる。また、接続可能なデバイスは制限されるものの、接続対象となるデバイス・クラスに適した処理でスループットをより向上させることができる。さらに、後述するように、ＵＳＢ２．０デバイス部を設け、簡易ＵＳＢ２．０ホスト部の組み合わせにより、Ｃ−ＷＵＳＢ通信のセキュリティ方式であるケーブルアソシエーションに対応しながらそのまま有線ＵＳＢ（既存のＵＳＢ機器）としての動作も可能となる。
【００２８】
ここで、ＵｐＰｏｒｔ部１０及びＷＵＳＢ−ＵＳＢ変換部２０は無線ＵＳＢ、ＤｏｗｎＰｏｒｔ部３０は有線ＵＳＢの変換アダプタとして機能する。この通信アダプタ２は、見た目は１ｐｏｒｔのＤＷＡと同一であるが、Ｃ−ＷＵＳＢホストからは、通信アダプタ２及び接続デバイス３は、１つのＣ−ＷＵＳＢデバイスとして認識される。なお、ＤＷＡの場合は、ハブ（ＤＷＡ）を介してＵＳＢ接続デバイスが接続されていると認識される。
【００２９】
さらに、本通信アダプタ２は、セキュリティ関係や、Ｃ−ＷＵＳＢで追加されたリクエスト処理等のＣ−ＷＵＳＢ特有の動作はＵｐＰｏｒｔ部１０で処理を閉じるが、ＵｐＰｏｒｔ部１０及びＤｏｗｎＰｏｒｔ部３０で共有する動作は、ＵｐＰｏｒｔ部１０とＤｏｗｎＰｏｒｔ部３０との間でＷＵＳＢ−ＵＳＢ変換部２０により必要な変換処理を行なう。なお、エンドポイント構成は、接続デバイス３とＵｐＰｏｒｔ部１０とで同一とし、接続デバイスのデバイスアドレスは、ＵｐＰｏｒｔ部１０に割り当てられたアドレスをそのまま用いる。
【００３０】
図３は、エンドポイントコントローラの詳細を示す図である。なお、本例は、エンドポイントコントローラの一例であって、図中、あるブロックに含まれているブロックを他のブロックに含まれるように構成することも可能である。例えば、ＷＵＳＢ−ＵＳＢ変換部は、エンドポイントコントローラ１３の外部に設けるものとして説明するが、エンドポイントコントローラ１３内にあってもよい。
【００３１】
エンドポイントコントローラ１３は、ＷＵＳＢプロトコルを制御するＷＵＳＢ制御部４０、ＷＵＳＢデバイスエンドポイントを制御するエンドポイント制御部５０、及びＷＵＳＢデータを制御するデータ制御部６０を有する。
【００３２】
ＷＵＳＢ制御部４０は、ＷＵＳＢホストから送られるInformation Elements（ＩＥ）を制御する情報要素制御部４１、ＷＵＳＢホストに送るDevice Notificationを制御するデバイス通知制御部４２、接続ホストＩＤ、接続デバイスＩＤ、及び接続キー等無線のセキュリティ関連情報を管理・制御するセキュリティ制御部４３、並びにＷＵＳＢデバイスステートを制御するＷＵＳＢステート制御部４４を有する。
【００３３】
データ制御部６０は、ヘッダ部の削除等、ＭＡＣ１２が受信したデータを制御する受信データ制御部６１、ヘッダ部を付加等、ＭＡＣ１２に送信するデータを制御する送信データ制御部６２、及びデータを格納するデータバッファ６３を有する。
【００３４】
エンドポイント制御部５０は、ＷＵＳＢ標準リクエストを処理するＷＵＳＢ標準リクエスト制御部５１、ＵＳＢ２．０にないリクエストであってＷＵＳＢ特有のリクエストを処理するＷＵＳＢ特有部５２、ＵＳＢ２．０と共有のリクエストを処理するＵＳＢ２．０共通部５３、ＥＰ番号、転送タイプ、方向などは可変であって、接続デバイスと１対１で対応するように設定されるＰＩＰＥ１制御部５４、ＰＩＰＥ２制御部５５、ＰＩＰＥ３制御部５６を有する。ここで、詳細は後述するが、これら可変のエンドポイントは、接続デバイスとのエニュメレーション中に接続デバイスの構成情報を取得しそのＥＰ情報からＥＰ構成、すなわち、転送タイプ、ＩＮ、ＯＵＴの転送方向、ＥＰ番号などを設定する。
【００３５】
なお、本実施の形態においては、可変のエンドポイントを３つとして説明するが、エンドポイント数は、接続デバイスのＥＰ構成に依存し、例えば４つ以上であってもよい。さらに、ＵＳＢ２．０共通部は、ＤＷＡとは異なり、ＷＵＳＢ−ＵＳＢ変換の処理が必要である。
【００３６】
また、本実施の形態にかかる通信アダプタ２は、ＷＵＳＢ−ＵＳＢ変換処理を行なうＷＵＳＢ−ＵＳＢ変換部２０を有している。なお、本実施の形態においては、ＷＵＳＢ−ＵＳＢ変換部２０は、ハードウェア構成として記載するが、ＣＰＵを内蔵してソフトウェア構成とすることも可能である。
【００３７】
ここで、Ｃ−ＷＵＳＢホスト情報の取得、アドレスの設定、及び動作設定などのＣ−ＷＵＳＢ標準リクエスト処理については、ＤＷＡは、図４（ｂ）に示すように、Ｃ−ＷＵＳＢ標準リクエストを受信すると（ステップＳ１３１）、ＤＷＡでリクエストを処理する（ステップＳ１３２）。すなわち、ＤＷＡの場合は、処理はＤＷＡ内部で閉じられる。
【００３８】
これに対し、本実施の形態にかかる通信アダプタにおいては、ＷＵＳＢ標準リクエストを受信すると（ステップＳ３１）、ＷＵＳＢ標準リクエスト制御部５１は、ＷＵＳＢ特有リクエストか否かを判定し（ステップＳ３２）、ＷＵＳＢ特有リクエストである場合には、ＷＵＳＢ特有部５２にてリクエストを処理する（ステップＳ３３）。一方、ＷＵＳＢ特有リクエストではない場合、リクエスト処理はＵｐＰｏｒｔ部１０のみならずＤｏｗｎＰｏｒｔ部３０でも処理される。ＵＳＢ２．０共通リクエストであっても、ＵＳＢ２．０から拡張されたリクエストがある。また、デバイスからの情報に一部データ付加や一部値の変更が必要なリクエストもあり、ＷＵＳＢ−ＵＳＢ変換部２０でリクエストデータの変換処理を実施する（ステップＳ３４）。
【００３９】
つまり、Ｃ−ＷＵＳＢホストからは、通信アダプタのＤｏｗｎＰｏｒｔに接続された接続デバイスがＣ−ＷＵＳＢデバイスのように見せる必要がある。このため、例えばセキュリティ関連などのＣ−ＷＵＳＢデバイスに特化したリクエストであるＵｐＰｏｒｔ部１０で閉じられるリクエストと、ＤｏｗｎＰｏｒｔに接続された接続デバイスを含めて処理すべきリクエストを区別し適切に処理する必要がある。なお、ここで、ＤｏｗｎＰｏｒｔとのやり取りは決められた手順で行なわれるため自動化することが可能であり、ハードウェアで構成することが可能である。なお、ファームウェアで実現してもよいことは勿論である。
【００４０】
図５は、ＷＵＳＢ−ＵＳＢ変換部２０の詳細を示すブロック図である。ＷＵＳＢ−ＵＳＢ変換部２０は、ＵＳＢ制御部２１、ＷＵＳＢ制御部２２、プロトコル変換部２３、ＥＰ情報部２４、クラス情報部２５、及びクラス制御部２６を有する。ＷＵＳＢ制御部２１は、ＵｐＰｏｒｔ部のＮＤ（ＥＰＣ）を制御する。ＵＳＢ制御部２２はＤｏｗｎＰｏｒｔのＵＳＢホストコントローラ３１を制御する。プロトコル変換部２３は、ＷＵＳＢ−ＵＳＢ規格の差異を吸収する。また、ＷＵＳＢ／ＵＳＢデータ転送制御も実施する。ＥＰ情報部２４は、接続デバイスの構成情報からＥＰ情報（転送タイプ、転送方向、Max Packet Sizeなど）を抽出する。ＥＰ情報はＮＤ（ＥＰＣ）のＰＩＰＥ属性設定の基になる情報である。更に、本実施の形態においては、さらなるスループットの向上のためクラス情報部２５及びクラス制御部２６を備える。これらのブロックはオプションで追加することができる。クラス情報部２５は、接続デバイスの構成情報からクラス情報を抽出する。クラス制御で最適化処理を実施することができる。クラス制御部２６は、クラスに特化した制御を行う。例えばＵＳＢマスストレージ・クラスでのＢｕｌｋＯｎｌｙプロトコル（以下、マスストレージ・クラスという。）の場合は、ＣＢＷをデコードして方向及びサイズから最適な処理を実施する。
【００４１】
次に、図６を参照して本実施の形態にかかる通信アダプタの動作について説明する。本実施の形態にかかる通信アダプタの動作の理解のため、ＤＷＡの動作と比較しながら説明する。以下の動作の前にアソシエーション処理は終了しているものとする。なお、ＤＷＡの場合は、ＤＷＡに接続デバイスが最初から接続されていても、ＤＷＡのエニュメレーションが終わってから接続されてもよい。
【００４２】
アソシエーションが終了したら、図６（ｂ）に示すように、接続要求（ＤＮ）制御、接続許可（ＩＥ）制御を実行して無線接続処理をする（ステップＳ１０１）。すなわち、ＤＷＡはＣ−ＷＵＳＢホストに対して接続要求を送信し、それに対して接続許可を受信する。次に、セキュリティに関するリクエスト処理を実施して認証する（ステップＳ１０２）。
【００４３】
次いで、ＤＷＡとＣ−ＷＵＳＢホストとの間でＤＷＡエニュメレーションを行なう（ステップＳ１０３）。この後、接続デバイスと接続されている場合は、そのまま接続デバイスエニュメレーションを行なう（ステップＳ１０４）。接続されていない場合は接続後にエニュメレーションを行なう。接続デバイスエニュメレーションは、ＤＷＡと接続デバイスとの間、接続デバイスとＣ−ＷＵＳＢとの間で情報の交換を行なう。そして、エニュメレーションが終わるとデバイス動作を実行する（ステップＳ１０５）。このデバイス動作についての詳細は後述する。
【００４４】
一方、図６（ａ）に示すように、本実施の形態にかかる通信アダプタ２は、ＤＷＡとはエニュメレーション動作が異なる。先ず、ＤｏｗｎＰｏｒｔ部にＵＳＢデバイスを接続する。本実施の形態にかかる通信アダプタは、ＤＷＡとは異なり、接続デバイスと接続した状態でない場合は、ステップＳ１の動作が開始しない。このとき、ＤｏｗｎＰｏｒｔ部３０にてＵＳＢデバイスにＵＳＢリセットを発行する。次に、ＷＵＳＢホストとの間で無線接続処理を実施する（ステップＳ１）。この無線接続処理は、ＤＷＡと同様であり、ＵｐＰｏｒｔ部１０のみで行なう。
【００４５】
次に認証（ステップＳ２）、接続デバイスエニュメレーション（ステップＳ３）を行うが、これらはＷＵＳＢ標準リクエストで処理される。ＷＵＳＢ標準リクエストは、図４のＷＵＳＢ標準リクエスト制御部でデコードされＷＵＳＢステート制御部４４と連携し適切に処理される。ここでは、ＵＳＢ２．０と共通なリクエスト処理であって、主なリクエスト処理についてのみ説明を行う。
【００４６】
GetDescriptorリクエスト処理では、ＷＵＳＢ標準リクエスト制御部５１がデバイス構成情報を送信する必要があるが、先ず、ＵｐＰｏｒｔ部１０がGet Descriptorを受信し、ＤｏｗｎＰｏｒｔ部３０がGet Descriptorを発行する。次いで、ＷＵＳＢホストからのＩＮデータ要求に対してＵｐＰｏｒｔ部１０はＮＡＫ応答し、ＤｏｗｎＰｏｒｔ部３０がＩＮトークンを発行する。ＤｏｗｎＰｏｒｔ部３０がＵＳＢデバイスからＩＮデータ（構成情報）を受信し、構成情報を保持する。ＷＵＳＢホストのＩＮデータ要求に対してＵｐＰｏｒｔ部１０が構成情報を送信する。
【００４７】
次にSet Addressリクエスト処理（Addressステート移行時）について説明する。本リクエストにより、デバイスのアドレス設定をＵｐＰｏｒｔ部１０、ＤｏｗｎＰｏｒｔ部３０にて実施する。この処理では、先ず、ＵｐＰｏｒｔ部１０でSet Addressを受信し、ＤｏｗｎＰｏｒｔ部３０がSet Addressを発行しアドレス値を保持する。そして、ＷＵＳＢホストからのＩＮ−ＡＣＫ要求に対してＵｐＰｏｒｔ部１０はＮＡＫ応答をする。ＤｏｗｎＰｏｒｔ部３０は、ＩＮトークンを発行する。ＤｏｗｎＰｏｒｔ部３０がＵＳＢデバイスからＩＮで０長データを受信（デバイスのアドレス設定完了を意味）し、ＷＵＳＢホストへＩＮ−ＡＣＫを送信し、ＵｐＰｏｒｔ部１０およびＤｏｗｎＰｏｒｔ部３０が管理するアドレスを上述の保持しているアドレス値に変更する。
【００４８】
次にSet Configurationリクエスト処理（Configuredステート移行時）について説明する。本リクエストにより、デバイスの構成を設定する。この処理では、先ず、ＵｐＰｏｒｔ部１０でSet Configurationを受信し、ＤｏｗｎＰｏｒｔ部３０がSet Configurationを発行する。そしてＷＵＳＢホストからのＩＮ−ＡＣＫ要求に対してＮＤはＮＡＫ応答し、ＤｏｗｎＰｏｒｔ部３０がＩＮトークンを発行する。次に、ＤｏｗｎＰｏｒｔ部がＵＳＢデバイスからＩＮで０長データを受信（デバイスの構成設定完了を意味）し、ＷＵＳＢホストへＩＮ−ＡＣＫを送信する。本リクエストを完了するまでに、ＵｐＰｏｒｔ部１０のＥＰ構成を上記のGet Descriptorリクエスト処理で入手した構成情報を元に設定する。
【００４９】
ここで、上記の保持した構成情報のＥＰ情報から、エンドポイント制御部５０のＰＩＰＥ１制御部５４、ＰＩＰＥ２制御部５５、ＰＩＰＥ３制御部５６のＥＰ設定を行なうことが可能である。デバイスのＥＰ構成（およびアドレス）がＵｐＰｏｒｔ部１０と接続デバイスの間で同一に設定されることでＣ−ＷＵＳＢ通信が可能となる。このように、エンドポイントの設定を可変にしておき、エニュメレーション中に設定を行なうことで、接続デバイスのＥＰ構成と１対１に対応させることができる。なお、この場合、エンドポイント制御部５０におけるエンドポイント数≧接続デバイスのエンドポイント数とすることで確実にＣ−ＷＵＳＢ化することできるが、例えばマルチファンクションプリンタのプリンタ機能のみ無線化するなどＥＰ数の大小が逆な場合でも、接続デバイスの機能の一部を制限することでＣ−ＷＵＳＢ化することが可能である。
【００５０】
なお、本実施の形態においては、エンドポイント構成を可変としてエニュメレーション中に設定するものとして説明したが、例えば方向と転送方法を規定した複数のＥＰを用意しておき、ＤｏｗｎＰｏｒｔに接続される接続デバイスのＥＰ構成と１対１に対応するようＥＰ番号などのＥＰ構成を決定してもよい。この場合、変換テーブル等を用意しておき、エニュメレーション中に取得したＥＰ構成と、接続デバイスのＥＰ構成とが１対１で対応するようＥＰ構成を決定する。さらには、予め接続デバイスを特定しておき、その接続デバイスのＥＰ構成に予め設定しておくことも可能である。この場合は、予めＥＰ構成が１対１に対応しているため、属性の設定や、対応テーブルを用意する必要がなく、例えば組み込みタイプの場合などに好適であり、極めて簡単な方法である。
【００５１】
その後、ＷＵＳＢ標準リクエスト制御部５１からホストコントローラ３１に対し各ＰＩＰＥ１制御部５４等を経由して接続デバイス動作を実行する。この場合、ＷＵＳＢ−ＵＳＢ変換部２０を通し、Ｃ−ＷＵＳＢ及びＵＳＢ２．０通信を実施する。
【００５２】
次に、ステップＳ４のデバイス動作について説明する。図７（ａ）は、ＩＮデータ転送処理を示すフローチャートである。図７（ｂ）には比較のためＤＷＡのＩＮデータ転送処理動作を示す。
【００５３】
Ｃ−ＷＵＳＢや既存のＵＳＢでは規格として転送に関するスケジューリングは、全てホストが行うことになっている。デバイスは送信したいデータがあっても勝手に送信することはできない。つまり、ホストからＩＮトークン（送信要求）があってはじめて送信が可能となる。ＯＵＴの場合はＯＵＴトークン（受信要求）に引き続きＯＵＴデータがホストから送られる。
【００５４】
本実施の形態においては、ＵｐＰｏｒｔがＣ−ＷＵＳＢホストに接続されＤｏｗｎＰｏｒｔがＷｉｒｅｄ  ＵＳＢに接続されている。ＤｏｗｎＰｏｒｔのＷｉｒｅｄ  ＵＳＢ動作としてもＵｐＰｏｒｔに接続されたＣ−ＷＵＳＢホストの指示に従った動作をする必要がある。これは、例えばＩＮ→ＯＵＴの順番が狂うだけで通信として成り立たなくなる可能性があるためである。ＯＵＴの場合は、ホストから送られてきたトークン、データをＤｏｗｎＰｏｒｔ側に単純に流せばよいが、ＩＮの場合は、Ｃ−ＷＵＳＢホストにデータを送るためには、ＤｏｗｎＰｏｒｔのＷｉｒｅｄ  ＵＳＢ側にＩＮトークンを発行してデータを取得する必要がある。そのための手段として以下の２つの方法が考えられる。
【００５５】
先ず、第１に、Ｃ−ＷＵＳＢホストからＩＮトークンを受信後に、Ｗｉｒｅｄ  ＵＳＢのホストとしてＩＮトークンを発行してデータを取得する方法である。この場合、Ｃ−ＷＵＳＢホストには必ず１回はＮＡＫ応答する。この方法は、制御が簡単で確実であるというメリットがある。また、どんなデバイス・クラスにも対応が可能である。ただし、必ずＮＡＫ応答するためスループットがやや低下する。
【００５６】
第２としては、Ｃ−ＷＵＳＢホストからＩＮトークンを受信する前に、Ｗｉｒｅｄ  ＵＳＢのホストとしてＩＮトークンを発行してデータを予め取得しておく方法である。この方法は、データを先読みしておくため、スループットがよいというメリットがある。ただし、ＩＮ、ＯＵＴの順番などを予めわかっておく必要あり、コマンド解析などが必要となる（ステップＳ１１）。したがって、デバイス・クラスが限定される。例えば、マスストレージ・クラスは最初のＯＵＴデータの中身を解析すれば、次がＩＮデータ処理かどうか判断することが可能である。デバイス・クラス情報を取得することで、詳細を後述するように、最適なデータ転送処理を選択して実行させることが可能となる。すなわち、本実施の形態においては、最初に接続デバイスを特化せずに、高いパフォーマンスを維持しつつ複数デバイス・クラスへの対応も可能となる。
【００５７】
また、上記２つの方法を組み合わせて、最初にＣ−ＷＵＳＢホストからＩＮトークンを受信後に、接続デバイスからショートパケットを受信するまでＷｉｒｅｄ  ＵＳＢ側でＩＮ転送処理を繰り返す方法とすることも可能である。
【００５８】
次に、ＤｏｗｎＰｏｒｔ部３０が接続されたＵＳＢデバイスに対してＩＮトークンを発行し、接続デバイスからデータを受信する（ステップＳ１２）。
【００５９】
最後に、Ｃ−ＷＵＳＢホストがＵｐＰｏｒｔ部１０の対象エンドポイントに対してＩＮ−ＤＡＴＡの転送要求をする。このＩＮ要求に対し、ステップＳ１２でＤｏｗｎＰｏｒｔ部３０が受信したＩＮ−ＤＡＴＡをＷ−ＵＳＢホストに送信する。転送方式はステップＳ１２と同一となる。
【００６０】
これに対し、ＤＷＡの場合は、図７（ｂ）に示すように、先ずＤＷＡの受信用エンドポイントにてＣ−ＷＵＳＢホストからの転送要求（Transfer Request）を受信する（ステップＳ１１１）。このときの転送方式はＢｕｌｋＯＵＴである。次に、転送要求で指定されたＲＰｉｐｅ（アドレス、ＥＰ番号、転送方式等の情報）を基に、ＩＮ転送を実行する。これにより、接続デバイス（ＵＳＢ２．０）からのデータを受信する（ステップＳ１１２）。次いで、Ｃ−ＷＵＳＢホストが送信用エンドポイントに対してＩＮ転送を要求する。このＩＮ要求に対してＤＷＡは転送結果を送信する（ステップＳ１１３）。このときの転送方式はＢｕｌｋＩＮである。最後に、Ｃ−ＷＵＳＢホストが送信用エンドポイントに対してＩＮ−ＤＡＴＡの転送を要求する。このＩＮ要求に対し、ステップＳ１１２にて受信したＩＮ−ＤＡＴＡをＤＷＡからＣ−ＷＵＳＢホストへ送信する。転送方式はＢｕｌｋＩＮ転送である。このように、ＤＷＡでは転送要求を受け取り、転送結果を送信するため、転送処理に時間がかかる。
【００６１】
次にＯＵＴデータ転送処理について説明する。図８（ａ）は、本実施の形態にかかる通信アダプタのＯＵＴデータ転送方法を示すフローチャートである。図８（ｂ）に比較のため、ＤＷＡのＯＵＴ転送方法を示す。ＯＵＴデータ転送の場合は、本実施の形態にかかる通信アダプタ２においては、ＵｐＰｏｒｔ部１０の対象エンドポイントにＣ−ＷＵＳＢホストからＯＵＴ−ＤＡＴＡを受信する（ステップＳ２１）。そして、ＤｏｗｎＰｏｒｔ部３０が、接続デバイスの対象となるＵｐＰｏｒｔ部１０と同じエンドポイントに対してＯＵＴトークンを発行する。そして、ステップＳ２１でＵｐＰｏｒｔ部１０が受信したデータを接続デバイスに送信する（ステップＳ２２）。転送方式は、ステップＳ２１と同一となる。
【００６２】
一方、ＤＷＡの場合は、ＵｐＰｏｒｔ部の受信用エンドポイントに転送要求（Transfer request）を受信する（ステップＳ１２１）。転送方式はＢｕｌｋ  ＯＵＴ転送となる。次に、ＤＷＡの受信用エンドポイントにてＣ−ＷＵＳＢホストからのＯＵＴ−ＤＡＴＡを受信する（ステップＳ１２２）。そして、転送要求で指定されたＲＰｉｐｅ（アドレス、ＥＰ番号、転送方式等の情報）を基にＯＵＴ転送を実行する。つまり、ステップＳ１２２で受信したデータを接続デバイスに送信する（ステップＳ１２３）。最後に、Ｃ−ＷＵＳＢホストが送信用エンドポイントに対してＩＮ転送を要求する。このＩＮ要求に対して転送結果を送信する。転送方式はＢｕｌｋ  ＩＮ転送である。このように、ＤＷＡでは、ＯＵＴ転送においても転送要求及び転送結果の送信を行なう必要があり、スループットが低下する。
【００６３】
次にＩＮ転送処理の詳細について説明する。図９及び図１０は、ＩＮ転送処理の詳細を示すフローチャートである。図９に示すように、先ず、通信アダプタのＵｐＰｏｒｔ部１０がＣ−ＷＵＳＢホストからＩＮトークンを受信すると（ステップＳ３１）、ＤｏｗｎＰｏｒｔ部３０が接続デバイスに対してＩＮトークンを発行する（ステップＳ３２）。これに応じて接続デバイスからＩＮデータが送信され、それをＤｏｗｎＰｏｒｔ部３０が受信する（ステップＳ３３）。次に、この受信データをＤｏｗｎＰｏｒｔ３０からＵｐＰｏｒｔ部１０へ転送する（ステップＳ３４）。そして、ＵｐＰｏｒｔ部１０にて転送データが最終データ又は最大パケットサイズであるか否かが判断され、最終データ又は最大パケットサイズでない場合は、ステップＳ３２からの処理を繰り返す。最終データ又は最大パケットサイズである場合は、ＵｐＰｏｒｔ１０からＣ−ＷＵＳＢホストに対するＩＮデータ送信の準備が完了となる（ステップＳ３５）。このＩＮ転送方法はデバイス・クラスに関係なく行なうことができる。ここで、通信アダプタがＩＮトークンを発行してＩＮデータ送信準備が完了するまでをＩＮ−ＤＡＴＡ処理（１）とする。
【００６４】
次に、マスストレージ・クラスの場合のＩＮ転送処理方法について説明する。マスストレージ・クラスの場合は、図１０に示すように、ＵｐＰｏｒｔ１０がＣＢＷ（Command Block Wrapper）処理としてコマンド解析を行い（ステップＳ４１）、総データ長が０か否かの判定を行い（ステップＳ４２）、総データ長が０でなければ、データ処理の転送方向（direction：ＤＩＲ）がＩＮであるか否かを判定する（ステップＳ４３）。そして、総データ長が０でなく転送方向がＩＮである場合は、ＵｐＰｏｒｔ１０は送信バッファに空があるか否かを判定する（ステップＳ４４）。送信バッファに空がある場合は、ＤｏｗｎＰｏｒｔ部３０及びＵｐＰｏｒｔ１０は上述のＩＮ−ＤＡＴＡ処理（１）を実施する（ステップＳ４５）。そして、ＵｐＰｏｒｔ１０が総データ長の転送完了を確認したら（ステップＳ４６：Ｙｅｓ）、ステップＳ４４及びステップＳ４５からなるＩＮ−ＤＡＴＡ処理（２）を再度実施する（ステップＳ４７）。このＩＮ−ＤＡＴＡ処理（２）は、ＣＳＷ（Command Status Wrapper）処理である。
【００６５】
一方、ＵｐＰｏｒｔ１０のＣＢＷ解析において総データ長が０と判定した場合（ステップＳ４２：Ｎｏ）、ステップＳ４７のＩＮ−ＤＡＴＡ処理（２）を実施して終了する。また、ＵｐＰｏｒｔ１０が、総データ長が０でなく、転送方向がＩＮではないと判断した場合は（ステップＳ４３：Ｎｏ）、ＵｐＰｏｒｔ１０及びＤｏｗｎＰｏｒｔ部３０は、後述するＯＵＴ−ＤＡＴＡ処理（１）を実施し（ステップＳ４８）、その後、ステップＳ４７のＩＮ−ＤＡＴＡ処理（２）を実施して終了する。
【００６６】
次に、ＯＵＴ転送処理の詳細について説明する。図１１及び図１２は、ＯＵＴ転送処理の詳細を示すフローチャートである。図１１に示すように、先ず、ＵｐＰｏｒｔ部１０がＯＵＴデータを受信すると（ステップＳ５１）、ＵｐＰｏｒｔ部１０が受信データ長を取得する（ステップＳ５２）。次に、受信データをＵｐＰｏｒｔ部１０がＣ−ＷＵＳＢホストから受信し、ＤｏｗｎＰｏｒｔ部３０へ転送する（ステップＳ５３）。次に、ＤｏｗｎＰｏｒｔ部３０がＯＵＴトークンを接続デバイスに発行し（ステップＳ５４）、接続デバイスに対してＤｏｗｎＰｏｒｔ部３０がＯＵＴデータを送信する。ＵｐＰｏｒｔ部１０が受信データ長の転送完了を確認すると処理が終了する（ステップＳ５６）。受信データ長の転送が完了していない場合は、ステップＳ５３からの処理を繰り返す。ここで、ステップＳ５１からステップＳ５６までの一連の処理をＯＵＴ−ＤＡＴＡ処理（１）とし、ステップＳ５３からステップＳ５５までの一連の処理をＯＵＴ−ＤＡＴＡ処理（２）とする。
【００６７】
次に、マスストレージ・クラスの場合のＯＵＴ転送処理方法について説明する。マスストレージ・クラスの場合は、図１２に示すように、ＵｐＰｏｒｔ部１０がＯＵＴデータを受信すると（ステップＳ６１）、上述と同様にＵｐＰｏｒｔ部１０が受信データ長を取得する（ステップＳ６２）。そして、ＵｐＰｏｒｔ部１０は、受信データ長が３１バイトであるかを確認し（ステップＳ６３）、次に、ＵｐＰｏｒｔ部１０は、受信データがＣＢＷであるかを確認し（ステップＳ６４）、ＣＢＷである場合は、ＵｐＰｏｒｔ部１０が転送方向（ＤＩＲ）、総データ長を取得する（ステップＳ６５）。その後、上述のＯＵＴ−ＤＡＴＡ処理（２）を実施する。ここで、ステップＳ６１からステップＳ６６までの一連の処理をＣＢＷ処理とする。このＣＢＷ処理により、次の転送処理がＩＮであるかＯＵＴであるかを判断でき、ＩＮである場合には、データを先読みすることで転送速度を向上する。
【００６８】
図１３は、本実施の形態にかかる効果を説明する図であって、通信アダプタを使用する場合のドライバ構成を示す図である。図１３に示すように、本実施の形態にかかる通信アダプタ及びＤＷＡのいずれもＵＳＢアプリケーション７１、１７１、ＵＳＢクラス・ドライバ７２、１７２、ＵＳＢドライバ・インターフェース７３、１７３が必要である。これらＵＳＢアプリケーション、ＵＳＢクラス・ドライバ、ＵＳＢドライバ・インターフェースは既存のＵＳＢ２．０の資産をそのまま流用することができる。
【００６９】
ここで、ＤＷＡではさらに、ＵＳＢドライバ１７４、ＤＷＡドライバ１７６、ＷＵＳＢホスト・コントローラ・ドライバ１７５が必要なのに対し、本実施の形態にかかる通信アダプタでは、ＵＳＢドライバ７４とＣ−ＷＵＳＢホスト・コントローラ・ドライバ７５のみが必要で、ＤＷＡドライバは不要である。
【００７０】
この結果、Ｃ−ＷＵＳＢホスト・コントローラ・ドライバは必要になるものの、セットメーカは、デバイス開発に、より注力することができ、コスト面でも低減を図ることができる。
【００７１】
ＤＷＡは、接続デバイスを限定せず、複数のダウンポートにハブを含むＵＳＢデバイス接続が可能であるなどの汎用性のため、プロトコルのオーバヘッドが大きい。ＤＷＡは転送単位で必ず転送要求受信、転送結果送信を行なう必要があり、ＮＤと比較するとトランザクションが２つ余分となる。これに対し、本実施の形態においては、Ｃ−ＷＵＳＢ  ＮＤとしてのプロトコルに従うため、ＤＷＡと比較してプロトコルに依存したオーバヘッドが少ない。また、例えばマスストレージ・クラスのように、ＣＢＷの解析でＷｉｒｅｄ  ＵＳＢのＩＮの先読みが可能であることなどから、接続デバイスに特化して最適な処理を実施することができる。このことにより、上述したように、２乃至３倍のスループットを達成し、高速性を確保することができる。
【００７２】
また、ＤＷＡで必要であったリモートパイプコントローラなどを削除することができる。すなわち、本実施の形態においては、接続デバイスのエンドポイントと１対１に対応したエンドポイントを制御すればよい。さらに、１ポートに限定することができ、ＥＰ数を限定することができ、さらにハブ接続をなくし、ＨＳ／ＦＳ対応限定など、ホストとしての機能を大幅に簡略化することができ、ダウンポート数が１ポート限定なのでその分アナログ部（物理層）を小さくすることができる。このことにより、ＤＷＡより大幅に回路規模を削減することができる。
【００７３】
実施の形態２．
図１４は、本発明の実施の形態２にかかる通信アダプタを示すブロック図である。本実施の形態にかかる通信アダプタ８２は、実施の形態１にかかる通信アダプタ２に対し、ＵＳＢ２．０デバイス部９０を追加したものである。ＵＳＢ２．０デバイス部９０は、アップポート側に接続されるＵＳＢ２．０物理層９１と、アップポート側に接続されるＵＳＢ２．０のエンドポイントをコントロールするエンドポイントコントローラ９２を有する。
【００７４】
ＵＳＢ２．０デバイス部９０とＤｏｗｎＰｏｒｔ部３０の組み合わせにより、Ｃ−ＷＵＳＢ通信のセキュリティ方式であるケーブルアソシエーションに対応しながらそのまま有線ＵＳＢデバイスとしての動作を可能にすることができる。ＵＳＢ２．０デバイス部９０により、Ｃ−ＷＵＳＢでのセキュリティ関連の機能を実装することができる。しかも、既存のＵＳＢデバイスとしても動作可能であり、エンドユーザが無線又は有線動作を選択することができる。ＵＳＢデバイスからＵＳＢホストへの変換動作は接続されるＵＳＢデバイスにとっては関係なく、通常のＵＳＢケーブルにしか見えないため、Ｃ−ＷＵＳＢに必要なケーブル動作時の制御を本実施の形態にかかる回路内で閉じることができるため、既存ＵＳＢバスに接続するだけでＣ−ＷＵＳＢ化が可能となる。
【００７５】
なお、本実施の形態においては、ＵＳＢ２．０デバイス部９０を追加する構成とするものとしたが、ＵＳＢ２．０デバイス部９０とＤｏｗｎＰｏｒｔ部３０のみから通信アダプタを構成してもよい。すなわちＵｐＰｏｒｔにＷｉｒｅｄ  ＵＳＢを接続する構成としてもよい。
【００７６】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【００７７】
また、ＤＷＡに、実施の形態１、２にかかる通信アダプタを搭載し、ＤＷＡと実施形態にかかる通信アダプタをスイッチにより切り替えられるようにしてもよい。この場合、接続デバイスに制限はあるが高速アダプタ（実施の形態１、２）として使用するモードと、接続デバイスに制限はないが、低・中速アダプタ（ＤＷＡ）として使用するモードとをユーザの必要に応じて適宜切り替えて使用することが可能となる。また、複数のＤｏｗｎポートの１ポートのみを本実施の形態に割り当てることも可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施の形態にかかる通信システムを示す図である。
【図２】本発明の実施の形態１にかかる通信アダプタを示すブロック図である。
【図３】本発明の実施の形態１にかかる通信アダプタにおけるエンドポイントコントローラの詳細を示す図である。
【図４】（ａ）及び（ｂ）はそれぞれ本発明の実施の形態１及びＤＷＡにおけるＷＳＵＢ標準リクエスト処理を示すフローチャートである。
【図５】本発明の実施の形態１にかかる通信アダプタにおけるＷＵＳＢ−ＵＳＢ変換部の詳細を示すブロック図である。
【図６】（ａ）及び（ｂ）は、それぞれ本発明の実施の形態１にかかる通信アダプタ及びＤＷＡの動作を示すフローチャートである。
【図７】（ａ）及び（ｂ）は、それぞれ本発明の実施の形態１にかかる通信アダプタ及びＤＷＡのデバイス動作におけるＩＮデータ転送処理を示すフローチャートである。
【図８】（ａ）及び（ｂ）は、それぞれ本発明の実施の形態１にかかる通信アダプタ及びＤＷＡのデバイス動作におけるＯＵＴデータ転送処理を示すフローチャートである。
【図９】本発明の実施の形態１にかかる通信アダプタにおけるＩＮデータ転送処理の詳細を示すフローチャートである。
【図１０】同じく、本発明の実施の形態１にかかる通信アダプタにおけるＩＮデータ転送処理の詳細を示す図であって、マスストレージ・クラスにおけるＩＮデータ転送処理を示すフローチャートである。
【図１１】本発明の実施の形態１にかかる通信アダプタにおけるＯＵＴデータ転送処理の詳細を示すフローチャートである。
【図１２】同じく、本発明の実施の形態１にかかる通信アダプタにおけるＯＵＴデータ転送処理の詳細を示す図であって、マスストレージ・クラスにおけるＯＵＴデータ転送処理を示すフローチャートである。
【図１３】本発明の実施の形態１にかかる通信アダプタを使用する場合のドライバ構成を示す図である。
【図１４】本発明の実施の形態２にかかる通信アダプタを示すブロック図である。
【図１５】ＤＷＡを示すブロック図である。
【符号の説明】
【００７９】
２、８２  通信アダプタ
３  接続デバイス
４  周辺機器
１０  ＵｐＰｏｒｔ部
１１  ＵＷＢ  ＰＨＹ
１２  ＭＡＣ部
１３  エンドポイントコントローラ
２０  ＷＵＳＢ−ＵＳＢ変換部
２１  ＵＳＢ制御部
２２  ＷＵＳＢ制御部
２３  プロトコル変換部
２４  ＥＰ情報部
２５  クラス情報部
２６  クラス制御部
３０  ＤｏｗｎＰｏｒｔ部
３１  ホストコントローラ
４０  ＷＵＳＢ制御部
４１  情報要素制御部
４２  デバイス通知制御部
４３  セキュリティ制御部
４４  ステート制御部
５０  エンドポイント制御部
５１  標準リクエスト制御部
５２  ＷＵＳＢ特有部
５３  ＵＳＢ２．０共通部
５４  ＰＩＰＥ１制御
５５  ＰＩＰＥ２制御
５６  ＰＩＰＥ３制御
６０  データ制御部
６１  受信データ制御部
６２  送信データ制御部
６３  データバッファ
７１  ＵＳＢアプリケーション
７２  ＵＳＢクラス・ドライバ
７３  ドライバ・インターフェース
７４  ＵＳＢドライバ
７５  Ｃ−ＷＵＳＢホスト・コントローラ・ドライバ
９０  ＵＳＢ２．０デバイス部
９１  ＵＳＢ２．０物理層
９２  エンドポイントコントローラ
【図１】
2008257419.tif 000003
【図２】
2008257419.tif 000004
【図３】
2008257419.tif 000005
【図４】
2008257419.tif 000006
【図５】
2008257419.tif 000007
【図６】
2008257419.tif 000008
【図７】
2008257419.tif 000009
【図８】
2008257419.tif 000010
【図９】
2008257419.tif 000011
【図１０】
2008257419.tif 000012
【図１１】
2008257419.tif 000013
【図１２】
2008257419.tif 000014
【図１３】
2008257419.tif 000015
【図１４】
2008257419.tif 000016
【図１５】
2008257419.tif 000017