(57)【要約】【課題】ＷＵＳＢホストと有線ＵＳＢデバイスの間の通信効率を向上させること。【解決手段】本発明に係るデバイスワイヤアダプタ１１０は、上流側に無線接続されたホスト１７０と下流側に有線接続された有線デバイス１５０、１６０の間のデータ転送を行うデバイスワイヤアダプタ１１０であって、ホスト１７０と有線デバイス１５０、１６０の間のデータ転送を制御する制御部１１２と、データ転送に関する構成情報の変更が可能な第１エンドポイント２３０と、を備え、有線デバイス１５０が有するエンドポイントの構成情報に基づいて構成情報を変更した第１エンドポイント２３０を介して、ホスト１７０と有線デバイス１５０の間のデータ転送を行う。【選択図】図１
2010183408.tif 000002
【特許請求の範囲】
【請求項１】
上流側に無線接続されたホストと下流側に有線接続された有線デバイスの間のデータ転送を行うデバイスワイヤアダプタであって、
前記ホストと前記有線デバイスの間のデータ転送を制御する制御部と、
データ転送に関する構成情報の変更が可能な第１エンドポイントと、を備え、
前記有線デバイスが有するエンドポイントの構成情報に基づいて前記構成情報を変更した前記第１エンドポイントを介して、前記ホストと前記有線デバイスの間のデータ転送を行う
ことを特徴とするデバイスワイヤアダプタ。
【請求項２】
前記有線デバイスが接続される第１のポートと、
前記第１のポートに接続される前記有線デバイスが有するエンドポイントの構成情報に基づいて前記第１エンドポイントの構成情報を変更する構成情報変更手段と、を更に備え、
前記有線デバイスは、前記第１のポートに接続され、
前記制御部は、
前記構成情報変更手段により前記構成情報が変更された前記第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付け、当該対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項１に記載のデバイスワイヤアダプタ。
【請求項３】
前記有線デバイスが接続される第１のポートを更に備え、
前記制御部は、
前記有線デバイスが前記第１のポートに接続された場合に、前記有線デバイスから読み出した構成情報に基づいて前記第１エンドポイントの構成情報を変更し、前記構成情報を変更した前記第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付け、当該対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項１に記載のデバイスワイヤアダプタ。
【請求項４】
前記有線デバイスが接続される前記第１のポートとは異なる第２のポートと、
前記構成情報を変更することができない第２エンドポイント、を更に備え、
前記制御部は、
前記有線デバイスが前記第２のポートに接続された場合には、前記ホストにより指定される第１のアドレス及び前記第２エンドポイントの識別情報に基づいて、前記ホストと前記第２のポートに接続された前記有線デバイスの間のデータ転送を行い、
前記有線デバイスが前記第１のポートに接続された場合には、前記ホストにより指定される前記第１のアドレスとは異なる第２のアドレス及び前記第１エンドポイントの識別情報に基づいて、前記ホストと前記第１のポートに接続された前記有線デバイスの間のデータ転送を行う
ことを特徴とする請求項３に記載のデバイスワイヤアダプタ。
【請求項５】
前記有線デバイスが接続される第１のポートと、
前記第１のポートに接続される前記有線デバイスの構成情報に基づいて前記第１エンドポイントの構成情報を変更する構成情報変更手段と、を更に備え、
前記第１のポートに接続される有線デバイスは、所定のデバイスクラスに属する有線デバイスであり、
前記制御部は、
前記有線デバイスが前記第１のポートに接続された場合に、
前記構成情報変更手段により前記構成情報が変更された第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付け、当該対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項１に記載のデバイスワイヤアダプタ。
【請求項６】
前記所定のデバイスクラスは、ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓであり、
前記制御部は、
前記ホストにより発行される前記ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドに対して、前記有線デバイスの接続状態に応じた応答データを前記対応付けたエンドポイントを介して前記ホストに返信することで、前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項５に記載のデバイスワイヤアダプタ。
【請求項７】
前記構成情報はデータ転送に関する各種のパラメータにより構成され、
前記ホストと前記有線デバイスの間のデータ転送の転送種類と、転送方向と、前記第１エンドポイントのエンドポイントアドレスと、送受信パケットの最大パケットサイズと、最大バーストサイズと、のうち少なくとも一つのパラメータを変更することで前記構成情報の変更が可能である
ことを特徴とする請求項１乃至６いずれか１項に記載のデバイスワイヤアダプタ。
【請求項８】
前記有線デバイスが有するエンドポイントの構成情報を含むディスクリプタ情報に基づいて、前記第１エンドポイントの構成情報を変更する
ことを特徴とする請求項１乃至７いずれか１項に記載のデバイスワイヤアダプタ。
【請求項９】
前記有線デバイスは、有線ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスである
ことを特徴とする請求項１乃至８いずれか１項に記載のデバイスワイヤアダプタ。
【請求項１０】
前記ホストは、無線ＵＳＢ規格に従って前記ホストと前記デバイスワイヤアダプタの間のデータ通信を行う
ことを特徴とする請求項１乃至９いずれか１項に記載のデバイスワイヤアダプタ。
【請求項１１】
前記第１のポートに接続される前記有線デバイスは、当該有線デバイスの下流側に有線ＵＳＢデバイスが接続されるＵＳＢハブである
ことを特徴とする請求項２、３、５いずれか１項に記載のデバイスワイヤアダプタ。
【請求項１２】
上流側に無線接続されたホストと下流側に有線接続された有線デバイスの間のデータ転送を行うデバイスワイヤアダプタの通信制御方法であって、
前記有線デバイスが有するエンドポイントのデータ転送に関する構成情報に基づいて構成情報を変更した第１エンドポイントを介して、前記ホストと前記有線デバイスの間のデータ転送を行うデータ転送ステップを備える
ことを特徴とする通信制御方法。
【請求項１３】
第１のポートに前記有線デバイスが接続され、前記第１のポートに接続された前記有線デバイスのエンドポイントの構成情報に基づいて前記第１エンドポイントの構成情報を変更する構成情報変更ステップ、を更に備え、
前記データ転送ステップは、
前記構成情報変更ステップで前記構成情報が変更された前記第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付けるステップと、
前記エンドポイントを対応付けるステップで対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行うステップと、を備える
ことを特徴とする請求項１２に記載の通信制御方法。
【請求項１４】
前記データ転送ステップは、
前記有線デバイスが第１のポートに接続された場合に、前記有線デバイスから読み出した構成情報に基づいて前記第１エンドポイントの構成情報を変更するステップと、
前記構成情報を変更するステップで前記構成情報を変更した前記第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付けるステップと、
前記エンドポイントを対応付けるステップで対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行うステップと、を備える
ことを特徴とする請求項１２に記載の通信制御方法。
【請求項１５】
前記デバイスワイヤアダプタには前記構成情報を変更することができない第２エンドポイントが更に備えられ、
前記データ転送ステップは、
前記有線デバイスが前記第１のポートとは異なる第２のポートに接続された場合には、前記ホストにより指定される第１のアドレス及び前記第２エンドポイントの識別情報に基づいて、前記ホストと前記第２のポートに接続された前記有線デバイスの間のデータ転送を行い、
前記有線デバイスが前記第１のポートに接続された場合には、前記ホストにより指定される前記第１のアドレスとは異なる第２のアドレス及び前記第１エンドポイントの識別情報に基づいて、前記ホストと前記第１のポートに接続された前記有線デバイスの間のデータ転送を行う
ことを特徴とする請求項１４に記載の通信制御方法。
【請求項１６】
第１のポートに接続される有線デバイスは、所定のデバイスクラスに属する有線デバイスであり、
前記所定のデバイスクラスの構成情報に基づいて前記第１エンドポイントの構成情報を変更する構成情報変更ステップ、を更に備え、
前記データ転送ステップは、
前記有線デバイスが前記第１のポートに接続された場合に、
前記構成情報変更ステップで前記構成情報が変更された第１エンドポイントと前記有線デバイスが有するエンドポイントを１対１で対応するように対応付け、当該対応付けたエンドポイントを介して前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項１２に記載の通信制御方法。
【請求項１７】
前記所定のデバイスクラスは、ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓであり、
前記データ転送ステップは、
前記ホストにより発行される前記ＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのコマンドに対して、前記有線デバイス１５０の接続状態に応じた応答データを前記対応付けたエンドポイントを介して前記ホストに返信することで、前記ホストと前記有線デバイスが有するエンドポイントの間のデータ転送を行う
ことを特徴とする請求項１６に記載の通信制御方法。
【請求項１８】
前記構成情報はデータ転送に関する各種のパラメータにより構成され、
前記ホストと前記有線デバイスの間のデータ転送の転送種類と、転送方向と、前記第１エンドポイントのエンドポイントアドレスと、送受信パケットの最大パケットサイズと、最大バーストサイズと、のうち少なくとも一つのパラメータを変更することで前記構成情報の変更が可能である
ことを特徴とする請求項１２乃至１７いずれか１項に記載の通信制御方法。
【請求項１９】
前記有線デバイスが有するエンドポイントの構成情報を含むディスクリプタ情報に基づいて、前記第１エンドポイントの構成情報を変更する
ことを特徴とする請求項１２乃至１８いずれか１項に記載の通信制御方法。
【請求項２０】
前記有線デバイスは、有線ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスである
ことを特徴とする請求項１２乃至１９いずれか１項に記載の通信制御方法。
【請求項２１】
前記ホストは、無線ＵＳＢ規格に従って前記ホストと前記デバイスワイヤアダプタの間のデータ通信を行う
ことを特徴とする請求項１２乃至２０いずれか１項に記載の通信制御方法。
【請求項２２】
前記第１のポートに接続される前記有線デバイスは、当該有線デバイスの下流側に有線ＵＳＢデバイスが接続されるＵＳＢハブである
ことを特徴とする請求項１３、１４、１６いずれか１項に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上流側のポートにワイヤレスＵＳＢホスト、下流側のポートに有線ＵＳＢデバイスを接続して両者間のデータ転送を行うデバイスワイヤアダプタに関する。尚、以下の説明においては、ワイヤレスＵＳＢを"ＷＵＳＢ"と呼称し、有線接続を前提としたＵＳＢと区別する。
【背景技術】
【０００２】
非特許文献１には、上流側のポート（以下、アップポートと称する場合がある。）にＷＵＳＢホスト、下流側のポート（以下、ダウンポートと称する場合がある。）に有線ＵＳＢデバイスを接続して、両者の間のデータ転送を行うデバイスワイヤアダプタ（以下、ＤＷＡと称する場合がある。）が記載されている。
【０００３】
図８は、非特許文献１に記載のワイヤレスＵＳＢ通信システムにおけるＤＷＡを示すブロック図である。ＤＷＡ４１０は、ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロック４１１と、ＷＵＳＢコントローラ４１２と、ＵＳＢ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｒｅｃｅｉｖｅｒ４１９を備えている。
【０００４】
ＷＵＳＢコントローラ４１２は、ＷＵＳＢホスト４３０とＤＷＡ４１０のダウンポートに接続された有線ＵＳＢデバイス４２０＿１〜４２０＿ｎ（以下、符号４２０で総称することがある。）の間のデータ転送を制御する。このため、ＷＵＳＢコントローラ４１２は、Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐａｉｒエンドポイント（Ｂｕｌｋ−ＩＮエンドポイント４１３、Ｂｕｌｋ−ＯＵＴエンドポイント４１４）と、Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント（ＩＮＴ−ＩＮエンドポイント４１５）と、Ｃｏｎｔｒｏｌエンドポイント４１６と、Ｉｓｏｃｈｒｏｎｏｕｓエンドポイント４１７＿１〜Ｉｓｏｃｈｒｏｎｏｕｓエンドポイント４１７＿ｋ（以下、符号４１７で総称する場合がある。）と、リモートパイプ（以下、ＲＰＩＰＥと称する場合がある。）４１８を備えている。
【０００５】
ＤＷＡ４１０は、所定の無線通信プロトコルに従って、アップポートがＷＵＳＢホスト４３０と無線接続される。また、ＤＷＡ４１０は、ＷＵＳＢホスト４３０とダウンポートに接続された有線ＵＳＢデバイス４２０の間のデータ転送処理を行う。
【０００６】
有線ＵＳＢデバイス４２０が、Ｂｕｌｋ−ＩＮエンドポイントとＢｕｌｋ−ＯＵＴエンドポイントを有する有線ＵＳＢデバイス４２０である場合には、ＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０の間のデータ転送は、Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｐａｉｒエンドポイント（Ｂｕｌｋ−ＩＮエンドポイント４１３、Ｂｕｌｋ−ＯＵＴエンドポイント４１４）を介して行われる。ここで、ＤＷＡ４１０はワイヤレスＵＳＢ規格に準拠するＤＷＡであるため、ＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０の間のデータ転送の際には、全てデバイスワイヤアダプタプロトコルが適用される。
【先行技術文献】
【特許文献】
【０００７】
【非特許文献１】Wireless Universal Serial Bus Specification Revision 1.0、Chapter 8、p195-p202、[online]、ＵＲＬ：http://www.usb.org/developers/wusb/。
【特許文献１】特開２０００−２３１４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に記載されたＤＷＡ４１０は、ＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０の間のデータ転送の際に、全てデバイスワイヤアダプタプロトコルが適用されるものであるため、ＤＷＡ４１０を介して行われる有線ＵＳＢデバイス４２０とＷＵＳＢホスト４３０の間のデータ転送について、通信効率が低下するという問題点があった。特に、ストレージデバイスや画像処理デバイスなどの高いスループット（実行速度）を要求するＵＳＢデバイスに関して、通信パフォーマンスが大幅に低下するという問題点があった。
【０００９】
以下、このような課題が発生する原理について、具体的に説明する。まず、ＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０の間のデータ転送の際に適用されるデバイスワイヤアダプタプロトコルについて説明する。
【００１０】
デバイスワイヤアダプタプロトコルでは、ＤＷＡ４１０のエンドポイント４１３〜エンドポイント４１７と有線ＵＳＢデバイス４２０のエンドポイントとを対応付けたＲＰＩＰＥ４１８を指定することで、有線ＵＳＢデバイス４２０とＷＵＳＢホスト４３０の間の通信を行う。より具体的には、ＷＵＳＢホスト４３０は、ＤＷＡ４１０に接続された有線ＵＳＢデバイス４２０のエンドポイントとＲＰＩＰＥ４１８との対応付けを作成し、その作成した対応付けを参照することにより、ＤＷＡ４１０を介して有線ＵＳＢデバイス４２０との間のデータ転送を行う。
【００１１】
例えば、ＷＵＳＢホスト４３０が下り（ＯＵＴ）方向のＢｕｌｋ転送を行う場合には、まず、ＷＵＳＢホスト４３０は、ＤＷＡ４１０に対してＴｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔ（転送要求）を送信する。このとき、送信されるＴｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔにおいて、ＤＷＡ４１０のどのＲＰＩＰＥ４１８に対してデータを送信するのかが指定される。ＷＵＳＢホスト４３０は、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔの送信に続いて、ＤＷＡ４１０のＢｕｌｋ−ＯＵＴ転送用エンドポイント４１４にデータを送信する。そして、データを受信したＤＷＡ４１０は、指定されたＲＰＩＰＥ４１８を使用して、Ｂｕｌｋ−ＯＵＴ転送用エンドポイント４１４から有線ＵＳＢデバイス４２０のＢｕｌｋ転送用のエンドポイントに対してデータを転送する。
【００１２】
従って、ＷＵＳＢホスト４３０は、ＲＰＩＰＥ４１８に対して対応付けられたエンドポイント４１４を介してデータ転送を行う場合には、有線ＵＳＢデバイス４２０のエンドポイントを直接指定してデータを送信することができず、ＲＰＩＰＥ４１８の指定情報を含むＴｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔを送信する必要がある。
【００１３】
次に、ＤＷＡ４１０を介して行われるデータ転送処理について、図９及び図１０を用いて具体的に説明する。ここでは、ＤＷＡ４１０を介して行う、ＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０＿１〜４２０＿２の間のデータ転送処理について説明する。
【００１４】
尚、図９及び図１０に示す例においては、有線ＵＳＢデバイス４２０は高いスループットを必要とするＢｕｌｋ転送用のエンドポイント（以下、ＥＰと称する場合がある。）を有しており、ＤＷＡ４１０はこのような有線ＵＳＢデバイス４２０に対応するものとして説明する。このため、図９及び図１０に示す例においては、Ｂｕｌｋ転送を例に説明する。
【００１５】
また、図９及び図１０に示す例においては、ＤＷＡ４１０は、Ｂｕｌｋ−ＩＮ転送用のエンドポイントであるＤａｔａ  Ｔｒａｎｓｆｅｒエンドポイント４１３をＥＰ３、Ｂｕｌｋ−ＯＵＴ転送用のエンドポイントであるＤａｔａ  Ｔｒａｎｓｆｅｒエンドポイント４１４をＥＰ２、Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント４１５をＥＰ１、Ｃｏｎｔｒｏｌエンドポイント４１６をＥＰ０とした場合に、ＥＰ２及びＥＰ３を用いてＢｕｌｋ転送を行うものとする。
【００１６】
さらに、図９及び図１０に示す例においては、ＤＷＡ４１０がＷＵＳＢホスト４３０に対して無線接続された際に、ＷＵＳＢホスト４３０により、ＤＷＡ４１０に対してアドレス１（以下、Ａｄｒ１と称する場合がある。）が既に割り当てられ、ＤＷＡ４１０のエンドポイントの構成情報がコンフィギュレーションされているものとする。これにより、ＷＵＳＢホスト４３０は、送信するトークン・パケットにおいて、ＤＷＡ４１０のアドレスとエンドポイント番号を指定することにより、ＷＵＳＢホスト４３０とＤＷＡ４１０のエンドポイントの間の通信を行う。
【００１７】
まず、ＤＷＡ４１０を介して行う、ＷＵＳＢホスト４３０から有線ＵＳＢデバイス４２０＿１〜４２０＿２への下り（ＯＵＴ）方向のデータ転送処理について、図９を用いて具体的に説明する。
【００１８】
図９において、例えば、ＷＵＳＢホスト４３０から有線ＵＳＢデバイス４２０＿２へとＤＡＴＡ−Ａを転送する場合について説明する。まず、ＷＵＳＢホスト４３０からＤＷＡ４１０のＥＰ２に対して、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔが送信される。Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔの送信に続いて、ＷＵＳＢホスト４３０からＤＷＡ４１０に対してＤＡＴＡ−Ａが送信される。ＤＷＡ４１０は、受信したＤＡＴＡ−ＡをＥＰ２に格納する。Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔにはデータを送信するためのＲＰＩＰＥ４１８が指定されており、ＤＷＡ４１０は、ＯＵＴトークンに続いてＥＰ２に格納したＤＡＴＡ−Ａを、ＲＰＩＰＥ４１８を介して有線ＵＳＢデバイス４２０＿２に対して送信する。ＤＡＴＡ−Ａを送信したＤＷＡ４１０は、Ｔｒａｎｓｆｅｒ  Ｒｅｓｕｌｔ（転送結果）を生成して、生成したＴｒａｎｓｆｅｒ  Ｒｅｓｕｌｔを、ＥＰ３を使用してＷＵＳＢホスト４３０に対して送信する。以降、ＤＡＴＡ−Ｂ、ＤＡＴＡ−Ｃ、ＤＡＴＡ−Ｄの転送に関しても、ＤＡＴＡ−Ａを転送する場合と同様にして、繰り返し転送を行う。
【００１９】
次に、ＤＷＡ４１０を介して行う、有線ＵＳＢデバイス４２０＿１〜４２０＿２からＷＵＳＢホスト４３０への上がり（ＩＮ）方向のデータ転送処理について、図１０を用いて具体的に説明する。
【００２０】
図１０において、例えば、有線ＵＳＢデバイス４２０＿２からＷＵＳＢホスト４３０へとＤＡＴＡ−Ｅを転送する場合について説明する。まず、ＷＵＳＢホスト４３０からＤＷＡ４１０のＥＰ２に対して、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔが送信される。Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔの送信に続いて、ＤＷＡ４１０は有線ＵＳＢデバイス４２０＿２へとＩＮトークンを発行し、その後、有線ＵＳＢデバイス４２０＿２からＤＷＡ４１０に対してＤＡＴＡ−Ｅが送信される。ＤＷＡ４１０は、受信したＤＡＴＡ−Ｅを指定されたＲＰＩＰＥ４１８に格納する。また、ＤＷＡ４１０は、Ｔｒａｎｓｆｅｒ  Ｒｅｓｕｌｔを生成して、生成したＴｒａｎｓｆｅｒ  Ｒｅｓｕｌｔを、ＥＰ３を使用してＷＵＳＢホスト４３０に対して送信する。そして、ＤＷＡ４１０は、ＲＰＩＰＥ４１８に格納したＤＡＴＡ−Ｅを、ＥＰ３を使用してＷＵＳＢホスト４３０に対して送信する。以降、ＤＡＴＡ−Ｆ、ＤＡＴＡ−Ｇ、ＤＡＴＡ−Ｈの転送に関しても、ＤＡＴＡ−Ｅを転送する場合と同様にして、繰り返し転送を行う。
【００２１】
以上説明したように、ＤＷＡ４１０を介して行われるＷＵＳＢホスト４３０と有線ＵＳＢデバイス４２０の間のデータ転送の際には、ＯＵＴ方向及びＩＮ方向のいずれのデータ転送に関してもＴｒａｎｓｆｅｒ  ＲｅｑｕｅｓｔとＴｒａｎｓｆｅｒ  Ｒｅｓｕｌｔの送信を行う必要がある。このため、データ転送の際のプロトコルのオーバヘッドが大きなものとなり、通信効率が低下する。より具体的には、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔは２４バイト又は１６バイトのパケットサイズを有し、Ｔｒａｎｓｆｅｒ  Ｒｅｓｕｌｔは１６バイトのパケットサイズを有しているため、データ転送単位毎に、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔによるコマンド発行と、Ｔｒａｎｓｆｅｒ  Ｒｅｓｕｌｔによるコマンドの実行結果の確認を行うことで、これらのパケットの分だけ余分にパケットが発生し、データ転送の通信効率が低下する。
【００２２】
尚、関連する技術として、少なくとも２つのＵＳＢデバイスを搭載し、そのうち少なくとも一つのＵＳＢデバイスが他のＵＳＢデバイスの動作を制御する複合デバイス装置が特許文献１に記載されている。特許文献１に記載された複合デバイス装置は、物理的には１つのＵＳＢデバイスであるにもかかわらず、複数の機能を搭載したＵＳＢデバイスである。しかし、特許文献１に記載された複合デバイス装置は、搭載したＵＳＢデバイスの機能自体を動的に変更することができず、例えば、複合デバイス装置にＵＳＢハブの機能を追加するためには、ＵＳＢハブのハードウェアを新たに実装する必要がある。
また、特許文献１に記載された複合デバイス装置は、ＵＳＢケーブルを介して通信を行う有線ＵＳＢデバイスであるため、特許文献１に記載された複合デバイス装置をワイヤレスＵＳＢ通信システムに対して容易に適用することはできないものである。
【課題を解決するための手段】
【００２３】
本発明に係る第１の態様のデバイスワイヤアダプタは、上流側に無線接続されたホストと下流側に有線接続された有線デバイスの間のデータ転送を行うデバイスワイヤアダプタであって、前記ホストと前記有線デバイスの間のデータ転送を制御する制御部と、データ転送に関する構成情報の変更が可能な第１エンドポイントと、を備え、前記有線デバイスが有するエンドポイントの構成情報に基づいて前記構成情報を変更した前記第１エンドポイントを介して、前記ホストと前記有線デバイスの間のデータ転送を行うものである。
【００２４】
本発明に係る第２の態様の通信制御方法は、上流側に無線接続されたホストと下流側に有線接続された有線デバイスの間のデータ転送を行うデバイスワイヤアダプタの通信制御方法であって、前記有線デバイスが有するエンドポイントのデータ転送に関する構成情報に基づいて構成情報を変更した第１エンドポイントを介して、前記ホストと前記有線デバイスの間のデータ転送を行うデータ転送ステップを備えるものである。
【発明の効果】
【００２５】
本発明にかかるデバイスワイヤアダプタ及びその通信制御方法によれば、ＷＵＳＢホストと有線ＵＳＢデバイスの間でデータ転送を行う場合に、専用のエンドポイントを介してデータ転送を行うことで、通信効率を向上させることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態１に係るデバイスワイヤアダプタの構成を示すブロック図である。
【図２】本発明の実施の形態１に係るデバイスワイヤアダプタによるデータ転送処理の一例を示図である。
【図３】本発明の実施の形態１に係るデバイスワイヤアダプタによるデータ転送処理の一例を示図である。
【図４】本発明の実施の形態２に係るデバイスワイヤアダプタの構成を示すブロック図である。
【図５】本発明の実施の形態２に係るデバイスワイヤアダプタの構成を示すブロック図である。
【図６】本発明の実施の形態２に係るデバイスワイヤアダプタによるデータ転送処理の一例を示す図である。
【図７】本発明の実施の形態２に係るデバイスワイヤアダプタによるデータ転送処理の一例を示す図である。
【図８】関連するデバイスワイヤアダプタの構成を示すブロック図である。
【図９】関連するデバイスワイヤアダプタによるデータ転送処理の一例を示す図である。
【図１０】関連するデバイスワイヤアダプタによるデータ転送処理の一例を示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡潔化がなされている。各図面において同一の構成又は機能を有する構成要素及び相当部分には、同一の符号を付し、その説明を省略する。
【００２８】
実施の形態１．
図１は、本発明の実施の形態１に係るワイヤレスＵＳＢ通信システムにおけるＤＷＡの構成を示すブロック図である。ＤＷＡ１１０は、所定の無線通信プロトコルに従って、アップポートがＷＵＳＢホスト１７０と無線接続される。また、ＤＷＡ１１０は、ダウンポートに接続された有線ＵＳＢデバイス１５０、１６０＿１〜１６０＿３（以下、符号１６０で総称することがある。）に対して、ＷＵＳＢホスト１７０との間のデータ転送処理を行う。
【００２９】
ここで、本実施の形態１に係るＤＷＡ１１０は、有線ＵＳＢデバイス１５０の機能を予め特定可能とするために、下流側の特定ポートＳＰに接続された有線ＵＳＢデバイス１５０は動的に挿抜されず、固定されているものとして説明する。ＤＷＡ１１０に対して有線ＵＳＢデバイス１５０の接続を固定することで、有線ＵＳＢデバイス１５０の機能を予め特定することができる。これにより、後述するように、ＤＷＡ１１０によるエニュメレーション処理に先立ち、有線ＵＳＢデバイス１５０のディスクリプタ情報に基づいて、ＤＷＡ１１０のエンドポイントの構成情報を予め変更することができるため、ＤＷＡ１１０によるエニュメレーションでの制御処理をより容易なものにすることができる。
【００３０】
ＤＷＡ１１０は、ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロック１１１と、ＷＵＳＢコントローラ１１２と、ＵＳＢ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｒｅｃｅｉｖｅｒ１１３を備えている。
【００３１】
ＷＵＳＢコントローラ１１２は、ＷＵＳＢホスト１７０とＤＷＡ１１０のダウンポートに接続された有線ＵＳＢデバイス１５０、１６０の間のデータ転送を制御する。このため、ＷＵＳＢコントローラ１１２は、ＷＵＳＢエンドポイント１２０と、構成変更が可能なＷＵＳＢエンドポイント２３０と、ＲＰＩＰＥ１４０を備えている。ＷＵＳＢエンドポイント１２０とＷＵＳＢエンドポイント２３０は、例えば、メモリやレジスタ等の通信バッファである。
【００３２】
ＷＵＳＢエンドポイント１２０は、ＷＵＳＢホスト１７０とＤＷＡ１１０の下流側のポートＰ１〜ポートＰ３にそれぞれ接続された有線ＵＳＢデバイス１６０＿１〜１６０＿３の間のデータ転送に使用する。ＷＵＳＢエンドポイント１２０は、Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２１と、Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２２と、Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント１２３と、Ｃｏｎｔｒｏｌエンドポイント１２４を備えている。
【００３３】
各エンドポイントは、それぞれ送信用、受信用、送受信用として使用することができる。後述するように、ＤＷＡ１１０と有線ＵＳＢデバイス１５０、１６０は、ＷＵＳＢホスト１７０との接続時にＷＵＳＢホスト１７０からの要求に応じて、通信に使用可能なエンドポイントの構成情報を応答する。
【００３４】
Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２１は、Ｂｕｌｋ−ＩＮ転送用のエンドポイントである。図１においては、Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２１を、エンドポイントの番号としてＥＰ３を割り当てる。Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２１は、ＷＵＳＢホスト１７０に対して送信するデータとＴｒａｎｓｆｅｒ  Ｒｅｓｕｌｔの送信に使用する。Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２２は、Ｂｕｌｋ−ＯＵＴ転送用のエンドポイントである。図１においては、Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２２を、エンドポイントの番号としてＥＰ２を割り当てる。Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント１２２は、ＷＵＳＢホスト１７０から送信されるデータ及びＴｒａｎｓｅｒ  Ｒｅｑｕｅｓｔの受信に使用する。
【００３５】
Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント１２３は、ＷＵＳＢホスト１７０に対する転送ステータス等の定期的な通知に使用するインタラプトＩＮ（以下、ＩＮＴ−ＩＮと称する場合がある。）エンドポイントである。図１においては、Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント１２３を、エンドポイントの番号としてＥＰ１を割り当てる。
【００３６】
Ｃｏｎｔｒｏｌエンドポイント１２４は、Ｃｏｎｔｒｏｌ−ＩＮ／ＯＵＴ転送用のエンドポイントである。図１においては、Ｃｏｎｔｒｏｌエンドポイント１２４を、エンドポイントの番号としてＥＰ０を割り当てる。尚、ＵＳＢ通信システムの仕様上、エンドポイント０（ＥＰ０）はコントロール転送用のエンドポイントとして使用する。このため、Ｃｏｎｔｒｏｌエンドポイント１２４は、ＷＵＳＢ規格で定義されるリクエストコマンド又はベンダ固有のリクエストコマンドの送受信に使用することができる。
【００３７】
ＲＰＩＰＥ１４０は、ＤＷＡ１１０のＷＵＳＢエンドポイント１２０と、有線ＵＳＢデバイス１６０が有するエンドポイントとのデータ転送に使用する。ＷＵＳＢホスト１７０は、ＲＰＩＰＥ１４０を指定することにより、有線ＵＳＢデバイス１６０が有する特定のエンドポイントとの間の通信を行う。ＲＰＩＰＥ１４０は、例えば、メモリやレジスタ等の通信バッファである。
【００３８】
ＷＵＳＢエンドポイント２３０は、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送に使用する。ＷＵＳＢエンドポイント２３０は、構成変更が可能なＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿１〜Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿ｋ（以下、符号２３１で総称する場合がある。）を備えている。図１において、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿１を、エンドポイントの番号としてＥＰ４を割り当てる。また、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３２＿２を、エンドポイントの番号としてＥＰ５を割り当てる。
【００３９】
Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１は、データ転送に関する構成情報を変更可能なエンドポイントである。構成情報は、データ転送に関する各種のパラメータにより構成される。ここで、パラメータとは、転送種類（Ｃｏｎｔｒｏｌ転送、Ｂｕｌｋ転送、ＩＮＴ転送、Ｉｓｏｃｈｒｏｎｏｕｓ転送）、転送方向（ＩＮ方向、ＯＵＴ方向）、エンドポイントアドレス、Ｍａｘ  Ｐａｃｋｅｔ  Ｓｉｚｅ（最大パケットサイズ）、Ｍａｘ  Ｂｕｒｓｔ  Ｓｉｚｅ（最大バーストサイズ）などであり、これらパラメータのうち少なくとも一つのパラメータを変更することで構成情報の変更が可能である。後述するように、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント１３１は、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０が有するエンドポイントの構成情報に応じてパラメータが変更され、有線ＵＳＢデバイス１５０が有するエンドポイントと１対１で対応するように設定される。
【００４０】
ＤＷＡ１１０と有線ＵＳＢデバイス１５０、１６０は、デバイスの機能を表現するためのディスクリプタ情報を有している。ディスクリプタ情報には、デバイスが有するエンドポイントの構成情報を示すエンドポイント・ディスクリプタ情報が含まれている。エンドポイント・ディスクリプタ情報は、エンドポイント番号、転送種類、転送方向、最大パケットサイズなどのエンドポイントの構成情報を含んでいる。
【００４１】
続いて、本実施の形態１に係るＤＷＡ１１０のＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１の構成情報の変更処理について説明する。本実施の形態１に係るＤＷＡ１１０では、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１に関する構成情報の変更処理は、例えば、ＤＷＡ１１０に搭載されるＤＷＡチップの製造ベンダにより、装置の製造時において行われる。製造ベンダは、有線ＵＳＢデバイス１５０のディスクリプタ情報を参照しながら、ＤＷＡ１１０の構成情報変更手段（不図示）を使用することで、構成情報の変更を行う。
【００４２】
具体的には、有線ＵＳＢデバイス１５０のディスクリプタ情報に含まれるエンドポイント・ディスクリプタ情報から有線ＵＳＢデバイス１５０のエンドポイントの構成情報を調べ、有線ＵＳＢデバイス１５０のエンドポイントの構成情報に合わせてＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１のパラメータを変更する。
【００４３】
このような構成情報の変更処理は、ＤＷＡチップに内蔵、もしくは、外付けされたメモリ（不揮発）に格納された内容（Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１のパラメータを含む。）を変更する構成情報変更手段により行う。これにより、ＤＷＡ１１０の動作プログラム（すなわち、ＷＵＳＢコントローラ１１２。）の動作を変更する。
【００４４】
図１に示す例では、有線ＵＳＢデバイス１５０は、Ｂｕｌｋ−ＩＮ転送用のエンドポイントとＢｕｌｋ−ＯＵＴ転送用のエンドポイントを有しており、このような構成を示す有線ＵＳＢデバイス１５０のディスクリプタ情報に基づいて、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿１とＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿２の構成情報を変更している。具体的には、有線ＵＳＢデバイス１５０のＢｕｌｋ−ＯＵＴ転送用のエンドポイントの構成情報に応じてＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿１のパラメータを変更することで、Ｂｕｌｋ−ＯＵＴ転送用のエンドポイントへと構成情報を変更し、また、有線ＵＳＢデバイス１５０のＢｕｌｋ−ＩＮ転送用のエンドポイントの構成情報に応じてＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１＿２のパラメータを変更することで、Ｂｕｌｋ−ＩＮ転送用のエンドポイントへと構成情報を変更している。
【００４５】
続いて、ＷＵＳＢホスト１７０と有線ＵＳＢデバイス１５０、１６０の間の通信が開始可能な状態となるまでの処理について説明する。
【００４６】
まず、ＷＵＳＢホスト１７０は、ＤＷＡ１１０がＷＵＳＢホスト１７０に無線接続された際に、ＤＷＡ１１０との間でエニュメレーションを行う。より具体的には、ＷＵＳＢホスト１７０は、ＤＷＡ１１０に対してシステム内でユニークなアドレスを割り当て（例えば、ＤＷＡ１１０に対してＡｄｒ１を割り当てる。）、ＤＷＡ１１０のエンドポイントの構成情報をコンフィギュレーションする。
【００４７】
尚、エニュメレーションとは、ＷＵＳＢホスト１７０が、無線により接続されたＤＷＡ１１０と有線ＵＳＢデバイス１５０、１６０を認識して、通信に必要な情報を入手する一連の処理を指す。また、コンフィギュレーションとは、ＷＵＳＢホスト１７０が、ＤＷＡ１１０と有線ＵＳＢデバイス１５０、１６０のディスクリプタ情報を読み出し、読み出したディスクリプタ情報に基づいて、ドライバのロードやインタフェースの選択など所定の処理の実行を指す。
【００４８】
ＤＷＡ１１０の構成を認識したＷＵＳＢホスト１７０は、ＤＷＡ１１０との通信動作を開始する。そして、ＷＵＳＢホスト１７０は、ＤＷＡ１１０のエニュメレーションに続いて、ＤＷＡ１１０に接続された有線ＵＳＢデバイス１５０、１６０との間でエニュメレーションを行う。ＷＵＳＢホスト１７０は、有線ＵＳＢデバイス１５０、１６０の構成を認識した時点から、有線ＵＳＢデバイス１５０、１６０との通信動作を開始する。
【００４９】
このようなエニュメレーション処理を通して、ＷＵＳＢホスト１７０とＷＵＳＢエンドポイント１２０の間のパイプと、ＷＵＳＢエンドポイント１２０と有線ＵＳＢデバイス１６０が有するエンドポイントの間のパイプとが対応付けられ、ＲＰＩＰＥ１４０に設定される。これにより、ＷＵＳＢホスト１７０は、ポートＰ１〜ポートＰ３に接続された有線ＵＳＢデバイス１６０＿１〜１６０＿３との間の通信を、ＲＰＩＰＥ１４０を介して行う。
【００５０】
また、有線ＵＳＢデバイス１５０が有するエンドポイントと、構成情報が変更されたＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１とが１対１で対応するように設定され、ＷＵＳＢホスト１７０は、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０との間の通信を、エンドポイント２３０を介して行う。
【００５１】
以下、図２及び図３を参照して、本実施の形態１に係るＤＷＡ１１０を介して行われるデータ転送処理について説明する。図２に示す例では、ＤＷＡ１１０を介して行う、ＷＵＳＢホスト１７０から有線ＵＳＢデバイス１５０、１６０＿１への下り（ＯＵＴ）方向のデータ転送処理について説明する。図３に示す例では、ＤＷＡ４１０を介して行う、有線ＵＳＢデバイス１５０、１６０＿１からＷＵＳＢホスト１７０への下り（ＩＮ）方向のデータ転送処理について説明する。
【００５２】
尚、図２及び図３に示す例では、有線ＵＳＢデバイス１５０、１６０はＢｕｌｋ転送用のエンドポイントを有しており、ＤＷＡ１１０はこのような有線ＵＳＢデバイス１５０、１６０に対応するものとして説明する。このため、データ転送処理の説明においてはＢｕｌｋ転送を例に説明する。
【００５３】
また、図２及び図３に示す例では、ＤＷＡ１１０がＷＵＳＢホスト１７０に対して無線接続された際に、ＷＵＳＢホスト１７０により、ＤＷＡ１１０に対してＡｄｒ１が既に割り当てられ、ＤＷＡ１１０のエンドポイントの構成情報がコンフィギュレーションされているものとする。これにより、ＷＵＳＢホスト１７０は、トークン・パケット中にＤＷＡ１１０のアドレスとエンドポイント番号を指定することにより、ＷＵＳＢホスト１７０とＤＷＡ１１０のエンドポイントの間の通信を行う。
【００５４】
まず、ＷＵＳＢホスト１７０からポートＰ１に接続された有線ＵＳＢデバイス１６０＿１へのＯＵＴ方向のデータ転送処理について、図２を用いて具体的に説明する。ここで、ＷＵＳＢホスト１７０から有線ＵＳＢデバイス１６０＿１へのＤＡＴＡ−Ａの転送は、図９において、ＷＵＳＢホスト４３０から有線ＵＳＢデバイス４２０＿２へとＤＡＴＡ−Ａを転送する場合と同一であるため、その説明を省略する。
【００５５】
次に、ＷＵＳＢホスト１７０から特定ポートＳＰに接続された有線ＵＳＢデバイス１５０へとＤＡＴＡ−Ｂ及びＤＡＴＡ−Ｃを転送する場合について、図２を用いて具体的に説明する。最初に、ＷＵＳＢホスト１７０からＤＷＡ１１０に対してＤＡＴＡ−Ｂが送信される。ＤＷＡ１１０は受信したＤＡＴＡ−ＢをＥＰ４に格納する。そして、ＤＷＡ１１０は、ＥＰ４に格納したＤＡＴＡ−Ｂを有線ＵＳＢデバイス１５０のＢｕｌｋ転送用のエンドポイントに対して送信する。続いて、ＷＵＳＢホスト１７０からＤＷＡ１１０に対してＤＡＴＡ−Ｃが送信される。ＤＷＡ１１０は受信したＤＡＴＡ−ＣをＥＰ４に格納する。そして、ＤＷＡ１１０は、ＥＰ４に格納したＤＡＴＡ−Ｃを、有線ＵＳＢデバイス１５０のＢｕｌｋ転送用のエンドポイントに対して送信する。
【００５６】
ポートＰ１に接続された有線ＵＳＢデバイス１６０＿１からＷＵＳＢホスト１７０へのＩＮ方向のデータ転送処理について、について、図３を用いて具体的に説明する。ここで、有線ＵＳＢデバイス１６０＿１からＷＵＳＢホスト１７０へのＤＡＴＡ−Ｅの転送は、図１０において、有線ＵＳＢデバイス４２０＿２からＷＵＳＢホスト４３０へとＤＡＴＡ−Ｅを転送する場合と同一であるため、その説明を省略する。
【００５７】
次に、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０からＷＵＳＢホスト１７０へとＤＡＴＡ−Ｆ及びＤＡＴＡ−Ｇを転送する場合、すなわち、ＷＵＳＢホスト１７０が有線ＵＳＢデバイス１５０からデータを読み出す場合について、図３を用いて具体的に説明する。最初に、有線ＵＳＢデバイス１５０のＢｕｌｋ転送用のエンドポイントから、ＤＷＡ１１０に対してＤＡＴＡ−Ｆが送信される。ＤＷＡ１１０は受信したＤＡＴＡ−ＦをＥＰ５に格納する。そして、ＤＷＡ１１０は、ＥＰ５に格納したＤＡＴＡ−ＦをＷＵＳＢホスト１７０に対して送信する。続いて、有線ＵＳＢデバイス１５０のＢｕｌｋ転送用のエンドポイントから、ＤＷＡ１１０に対してＤＡＴＡ−Ｇが送信される。ＤＷＡ１１０は受信したＤＡＴＡ−ＧをＥＰ５に格納する。そして、ＤＷＡ１１０は、ＥＰ５に格納したＤＡＴＡ−ＧをＷＵＳＢホスト１７０に対して送信する。
【００５８】
このように、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０に対してデータ転送を行う場合（ＯＵＴ方向のデータ転送の場合。）、或いは、有線ＵＳＢデバイス１５０からデータ転送を行う場合（ＩＮ方向のデータ転送の場合。）には、デバイスワイヤアダプタプロトコルに従ってデータ転送が行われないため、Ｔｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔの発行とＴｒａｎｓｆｅｒ  Ｒｅｓｕｌｔの確認が不要となる。
【００５９】
従って、本実施の形態１に係るＤＷＡ１１０は、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送を、有線ＵＳＢデバイス１５０に対応付けた専用のエンドポイントを介して行うことで、デバイスワイヤアダプタプロトコルを使用せずにデータ転送を行うことができる。これにより、データ転送の際に不要なオーバヘッドが発生しないため、通信効率を向上させることができる。
【００６０】
また、本実施の形態１に係るＤＷＡ１１０は、ＷＵＳＢホスト１７０と特定ポートＳＰ以外に接続された有線ＵＳＢデバイス１６０の間のデータ転送はデバイスワイヤアダプタプロトコルに従って行い、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送は専用のエンドポイントを介して行うため、デバイスワイヤアダプタとしての機能に加えて、ＷＵＳＢ  Ｎａｔｉｖｅデバイスとしての機能をも有する複合デバイスとして動作することができる。
【００６１】
実施の形態２．
次に、本発明の実施の形態２に係るＤＷＡについて説明する。上述した実施の形態１に係るＤＷＡ１１０は、下流側の特定ポートＳＰに接続された有線ＵＳＢデバイス１５０は動的に挿抜されず、固定されているものとして説明したが、本実施の形態２に係るＤＷＡ１１０は、有線ＵＳＢデバイス１５０は動的に挿抜され、固定されていないものとして説明する。後述するように、本実施の形態２に係るＤＷＡ１１０は、有線ＵＳＢデバイス１５０が接続された時点で有線ＵＳＢデバイス１５０からディスクリプタ情報を読み出し、読み出したディスクリプタ情報に基づいて、ＤＷＡ１１０のエンドポイントの構成情報を変更する処理を行うことで、有線ＵＳＢデバイス１５０の機能が動的に変更される場合においても対応することができる。尚、以下では、実施の形態１との違いを中心に説明し、実施の形態１と同一の構成、及び処理については、その説明を省略する。
【００６２】
図４は、本発明の実施の形態２に係るワイヤレスＵＳＢ通信システムにおけるＤＷＡの構成を示すブロック図である。図４に示す例では、特定ポートＳＰに有線ＵＳＢデバイスが動的に挿抜される場合に、有線ＵＳＢデバイスが特定ポートＳＰに取り付けられていない状態を示している。ここで、特定ポートＳＰには有線ＵＳＢデバイスは取り付けられていないが、ＤＷＡ１１０の下流側のポートＰ１〜ポートＰ３には有線ＵＳＢデバイス１６０＿１〜１６０＿３が既に取り付けられている。尚、ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロック１１１と、ＵＳＢ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｒｅｃｅｉｖｅｒ１１３と、ＲＰＩＰＥ１４０と、ＷＵＳＢエンドポイント１２０は、それぞれ図１に対応するものであるため、その説明を省略する。
【００６３】
ＷＵＳＢエンドポイント３３０は、ＷＵＳＢホスト１７０と特定ポートＳＰに動的に接続される有線ＵＳＢデバイス１５０の間のデータ転送に使用する。ＷＵＳＢエンドポイント３３０は、構成変更が可能なＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿１〜Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿ｋ（以下、符号３３１で総称する場合がある。）を備えている。Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１は、図１において示したＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１と同じく、構成情報を変更可能なエンドポイントである。
【００６４】
ここで、本実施の形態２に係るＤＷＡ１１０のＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１の構成情報の変更処理について説明する。本実施の形態２に係るＤＷＡ１１０では、有線ＵＳＢデバイス１５０は動的に挿抜されるため、特定ポートＳＰに有線ＵＳＢデバイス１５０が取り付けられたとき、特定ポートＳＰに接続されている有線ＵＳＢデバイス１５０が取り外されたとき、ＷＵＳＢホスト１７０から特定ポートＳＰに接続されている有線ＵＳＢデバイスの切断命令を受信したときのいずれかの時点において、構成情報の変更処理を実行する。このような構成情報の変更処理は、後述するように、ＤＷＡ１１０のプログラム（すなわち、ＷＵＳＢホストコントローラ１１２）が、エンドポイントの構成情報を変更する。
【００６５】
続いて、ＷＵＳＢホスト１７０と有線ＵＳＢデバイス１５０、１６０の間の通信が開始可能な状態となるまでの処理について説明する。尚、以下では、図４に示した状態からＤＷＡ１１０の特定ポートＳＰに有線ＵＳＢデバイス１５０が取り付けられた時点で、ＤＷＡ１１０によるエンドポイントの構成情報の変更処理が行われる場合を例に説明する。また、後述するように、ＤＷＡ１１０は、特定ポートＳＰに有線ＵＳＢデバイス１５０が取り付けられた時点で、ＷＵＳＢホスト１７０により、ＤＷＡ１１０とは別のワイヤレスＵＳＢデバイスとして認識できるように通信制御を行う。
【００６６】
まず、ＷＵＳＢホスト１７０は、ＤＷＡ１１０がＷＵＳＢホスト１７０に無線接続された際に、ＤＷＡ１１０との間でエニュメレーションを行う。より具体的には、ＷＵＳＢホスト１７０は、ＤＷＡ１１０に対してシステム内でユニークなアドレスを割り当て（例えば、ＤＷＡ１１０に対してＡｄｒ１を割り当てる。）、ＤＷＡ１１０のエンドポイントの構成をコンフィギュレーションする。
【００６７】
ＤＷＡ１１０の構成を認識したＷＵＳＢホスト１７０は、ＤＷＡ１１０との通信動作を開始する。そして、ＷＵＳＢホスト１７０は、ＤＷＡ１１０のエニュメレーションに続いて、ＤＷＡ１１０に接続されている有線ＵＳＢデバイス１６０との間でエニュメレーションを行う。ＷＵＳＢホスト１７０は、有線ＵＳＢデバイス１６０の構成を認識した時点から、有線ＵＳＢデバイス１６０との通信動作を開始する。
【００６８】
ＤＷＡ１１０と有線ＵＳＢデバイス１６０とのエニュメレーション処理を行ったＷＵＳＢホスト１７０は、ポートＰ１〜ポートＰ３に接続された有線ＵＳＢデバイス１６０＿１〜１６０＿３との間の通信を、ＲＰＩＰＥ１４０を介して行う。
【００６９】
そして、有線ＵＳＢデバイス１６０のエニュメレーションに続いて、ＤＷＡ１１０の特定ポートＳＰに有線ＵＳＢデバイス１５０が取り付けられた時点で、ＷＵＳＢホスト１７０は、ＤＷＡ１１０に接続された有線ＵＳＢデバイス１５０との間でエニュメレーションを行う。ＷＵＳＢホスト１７０は、有線ＵＳＢデバイス１５０の構成を認識した時点から、有線ＵＳＢデバイス１５０との通信動作を開始する。尚、有線ＵＳＢデバイス１５０との間のエニュメレーション処理の詳細については後述する。
【００７０】
以下、図４に示すＤＷＡ１１０に対して有線ＵＳＢデバイス１５０が取り付けられた場合の、有線ＵＳＢデバイス１５０との間のエニュメレーション処理について、図５を用いて具体的に説明する。
【００７１】
まず、有線ＵＳＢデバイス１５０が取り付けられた場合に、ＤＷＡ１１０は有線ＵＳＢデバイス１５０の接続を検出し、有線ＵＳＢデバイス１５０からディスクリプタ情報を読み出す。そして、ＤＷＡ１１０は、読み出したディスクリプタ情報からＤＷＡ１１０のＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１のパラメータを変更する。
【００７２】
例えば、図４に示したＤＷＡ１１０に有線ＵＳＢデバイス１５０が接続され、構成情報の変更処理が行われた後の構成を図５に示す。図５に示す例では、有線ＵＳＢデバイス１５０は、Ｂｕｌｋ−ＩＮ転送用のエンドポイントと、Ｂｕｌｋ−ＯＵＴ転送用のエンドポイントと、Ｃｏｎｔｒｏｌ−ＩＮ／ＯＵＴ転送用のエンドポイントを有しており、このような構成を示す有線ＵＳＢデバイス１５０のディスクリプタ情報に基づいて、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿１〜Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿３の構成情報を変更している。具体的には、有線ＵＳＢデバイス１５０の各エンドポイントの構成情報に応じてＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿１〜Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１＿３のパラメータを変更することで、Ｂｕｌｋ−ＯＵＴ転送用のエンドポイント（ＥＰ４）と、Ｂｕｌｋ−ＩＮ転送用のエンドポイント（ＥＰ５）と、Ｃｏｎｔｒｏｌ−ＩＮ／ＯＵＴ転送用のエンドポイント（ＥＰ０）へとそれぞれ構成情報を変更している。
【００７３】
そして、エンドポイントの構成情報を変更したＤＷＡ１１０は、別のＷＵＳＢデバイスとしてＷＵＳＢホスト１７０に対して接続要求を行う。当該接続要求に対して接続が許可された場合には、ＤＷＡ１１０はエニュメレーション処理時の構成情報の変更情報を、ＷＵＳＢホスト１７０に対して送信する。これに応答して、ＷＵＳＢホスト１７０は、ＤＷＡ１１０をＤＷＡとして動作させるためのＡｄｒ１に加えて、ＤＷＡ１１０を別のＷＵＳＢデバイスとして動作させるためのＡｄｒ２を割り当てる。
【００７４】
これにより、構成情報を変更したＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１と、有線ＵＳＢデバイス１５０が有するエンドポイントとが１対１で対応するように設定され、ＷＵＳＢホスト１７０との間の無線通信動作を開始する。
【００７５】
尚、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０がＤＷＡ１１０から取り外された場合や、ＷＵＳＢホスト１７０から有線ＵＳＢデバイスの切断命令を受信した場合などには、ＤＷＡ１１０は別のワイヤレスＵＳＢデバイスとして認識させている機能を停止し、有線ＵＳＢデバイス１５０とＷＵＳＢホスト１７０の間の無線接続が切断される。例えば、有線ＵＳＢデバイス１５０がＤＷＡ１１０から取り外された場合には、ＤＷＡ１１０からＷＵＳＢホスト１７０に対して切断要求を送信することで、ＤＷＡ１１０のエンドポイントのコンフィギュレーション情報が初期化され、有線ＵＳＢデバイス１５０とＷＵＳＢホスト１７０の間の無線接続が切断される。ここで、コンフィギュレーション情報の初期化により、有線ＵＳＢデバイス１５０用に設定したＣｏｎｆｉｇｕｒａｂｌｅエンドポイント３３１は開放され、ＤＷＡ１１０の構成は、図４に示したＤＷＡ１１０の構成に戻る。
【００７６】
尚、有線ＵＳＢデバイス１５０とＷＵＳＢホスト１７０の間の無線接続の切断方法はこれに限定されず、例えば、ＷＵＳＢホスト１７０からのＴｒａｎｓｆｅｒ  Ｒｅｑｕｅｓｔに対する応答をＤＷＡ１１０が停止し、一定の時間応答が発生しなくなった場合には、ＷＵＳＢホスト１７０により、応答しない有線ＵＳＢデバイス１５０に関する接続を切断させるようにしてもよい。
【００７７】
以下、図６及び図７を参照して、本実施の形態２に係るＤＷＡ１１０を介して行われるデータ転送処理について説明する。図６に示す例では、ＤＷＡ１１０を介して行う、ＯＵＴ方向のデータ転送処理について説明する。図７に示す例では、ＤＷＡ４１０を介して行う、ＩＮ方向のデータ転送処理について説明する。
【００７８】
尚、図６及び図７に示す例では、有線ＵＳＢデバイス１５０、１６０はＢｕｌｋ転送用のエンドポイントを有しており、ＤＷＡ１１０はこのような有線ＵＳＢデバイス１５０、１６０に対応するものとして説明する。このため、データ転送処理の説明においてはＢｕｌｋ転送を例に説明する。
【００７９】
また、図６及び図７に示す例では、ＤＷＡ１１０がＷＵＳＢホスト１７０に対して無線接続された際に、ＷＵＳＢホスト１７０により、ＤＷＡ１１０に対してＡｄｒ１が既に割り当てられ、ＤＷＡ１１０のエンドポイント１２０の構成がコンフィギュレーションされているものとする。さらに、有線ＵＳＢデバイス１５０が接続された際に、ＷＵＳＢホスト１７０により、ＤＷＡ１１０に対してＡｄｒ２が割り当てられ、有線ＵＳＢデバイス１５０のエンドポイントの構成情報に応じて、ＤＷＡ１１０のエンドポイント３３０の構成情報がコンフィギュレーションされているものとする。これにより、ＷＵＳＢホスト１７０は、送信するトークン・パケット中にＤＷＡ１１０のアドレスとエンドポイント番号を指定することにより、ＷＵＳＢホスト１７０とＤＷＡ１１０のエンドポイントの間の通信を行う。
【００８０】
まず、有線ＵＳＢデバイス１６０＿１へのＯＵＴ方向のデータ転送処理について、図６を用いて具体的に説明する。ここで、ＷＵＳＢホスト１７０から有線ＵＳＢデバイス１６０＿１へのＤＡＴＡ−Ａの転送は、図９において、ＷＵＳＢホスト４３０から有線ＵＳＢデバイス４２０＿２へとＤＡＴＡ−Ａを転送する場合と同一であるため、その説明を省略する。
【００８１】
次に、有線ＵＳＢデバイス１５０へとＤＡＴＡ−Ｂ及びＤＡＴＡ−Ｃを転送する場合について、図６を用いて具体的に説明する。最初に、ＷＵＳＢホスト１７０からＤＷＡ１１０に対してＤＡＴＡ−Ｂが送信される。ＤＷＡ１１０はトークン・パケットに含まれるＡｄｒ２とＥＰ４に基づいて、受信したＤＡＴＡ−ＢをＥＰ４に格納する。そして、ＤＷＡ１１０は、ＥＰ４に格納したＤＡＴＡ−Ｂを有線ＵＳＢデバイス１５０のＢｕｌｋ転送用のエンドポイントに対して送信する。続いて、ＤＡＴＡ−Ｂの送信と同様にしてＤＡＴＡ−Ｃが送信される。
【００８２】
有線ＵＳＢデバイス１６０＿１からのＩＮ方向のデータ転送処理について、図７を用いて具体的に説明する。ここで、有線ＵＳＢデバイス１６０＿１からＷＵＳＢホスト１７０へのＤＡＴＡ−Ｅの転送は、図１０において、有線ＵＳＢデバイス４２０＿２からＷＵＳＢホスト４３０へとＤＡＴＡ−Ｅを転送する場合と同一であるため、その説明を省略する。
【００８３】
次に、有線ＵＳＢデバイス１５０からＷＵＳＢホスト１７０へとＤＡＴＡ−Ｆ及びＤＡＴＡ−Ｇを転送する場合、すなわち、ＷＵＳＢホスト１７０が有線ＵＳＢデバイス１５０からデータを読み出す場合について、図７を用いて具体的に説明する。最初に、ＷＵＳＢホスト１７０からＤＷＡ１１０のＡｄｒ２のＥＰ５に対して、ＩＮトークンが発行される。ＩＮトークンを受信したＤＷＡ１１０は、有線ＵＳＢデバイス１５０のＣｏｎｔｒｏｌ転送用のエンドポイントに対してＩＮトークを更に発行する。ＩＮトークンを発行された有線ＵＳＢデバイス１５０は、Ｂｕｌｋ転送用のエンドポイントからＤＡＴＡ−ＦをＤＷＡ１１０に対して送信する。ＤＡＴＡ−Ｆを受信したＤＷＡ１１０は、受信したＤＡＴＡ−ＦをＡｄｒ２のＥＰ５に格納する。ＤＷＡ１１０は、格納したＤＡＴＡ−ＦをＷＵＳＢホスト１７０に対して送信することで、ＷＵＳＢホスト１７０からのＩＮトークに対するデータ送信を行う。続いて、ＤＡＴＡ−Ｆの送信と同様にしてＤＡＴＡ−Ｇが送信される。
【００８４】
従って、本実施の形態２に係るＤＷＡ１１０においても、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送を有線ＵＳＢデバイス１５０に対応付けた専用のエンドポイントを介して行うことで、デバイスワイヤアダプタプロトコルを使用せずに、データ転送を行う。これにより、データ転送の際に不要なオーバヘッドが発生しないため、通信効率を向上させることができる。
【００８５】
また、本実施の形態２に係るＤＷＡ１１０は、ＤＷＡ１１０に対して、既に付与されたアドレスとは異なる別のアドレスを更に割り当てることで、ＤＷＡ１１０を、物理的には１つであるが異なる別のＷＵＳＢデバイスであるものとしてＷＵＳＢホスト１７０に認識させることができる。すなわち、ＷＵＳＢホスト１７０は、送受信パケットデータに含まれるＷＵＳＢデバイスのアドレスを解釈しているため、ＤＷＡ１１０に対して２つの異なるアドレスが割り当てられることで、ＤＷＡ１１０を、あたかも２つの異なるＷＵＳＢデバイス（ワイヤレスＵＳＢデバイスとデバイスワイヤアダプタ）であるものとして認識する。従って、ＤＷＡ１１０は、デバイスワイヤアダプタとしての機能に加えて、別のＷＵＳＢ  Ｎａｔｉｖｅデバイスとしても使用することができる。
【００８６】
実施の形態３．
次に、本発明の実施の形態３に係るＤＷＡについて説明する。本実施の形態３に係るＤＷＡ１１０は、下流側の特定ポートＳＰに接続された有線ＵＳＢデバイス１５０は動的に挿抜され、かつ、挿抜される有線ＵＳＢデバイス１５０がＵＳＢ  Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスであるものとして説明する。すなわち、ＤＷＡ１１０に対して有線ＵＳＢデバイス１５０は動的に挿抜されるが、有線ＵＳＢデバイス１５０のデバイスクラスを限定することで、有線ＵＳＢデバイス１５０の機能を予め特定することができる。従って、後述するように、ＤＷＡ１１０によるエニュメレーション処理に先立ち、Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスのディスクリプタ情報に基づいて、ＤＷＡ１１０のエンドポイントの構成情報を予め変更することができ、以降のＤＷＡ１１０によるエニュメレーションでの制御処理をより容易なものにすることができる。尚、以下では、実施の形態１との違いを中心に説明し、実施の形態１と同一の構成、及び処理については、その説明を省略する。
【００８７】
本実施の形態３に係るＤＷＡの構成は、図１に示したＤＷＡ１１０の構成と同一であり、特定ポートＳＰに接続された有線ＵＳＢデバイス１５０がＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスである点において異なる。ここで、Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスとは、例えば、ハードディスクドライブや、ＤＶＤドライブなどのメディアである。
【００８８】
ここで、本実施の形態３に係るＤＷＡ１１０のＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１の構成情報の変更処理について説明する。本実施の形態３に係るＤＷＡ１１０では、有線ＵＳＢデバイス１５０はＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスである。このため、Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスのエンドポイントの構成情報に応じて、例えば製造ベンダが構成情報変更手段を使用して、Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１の構成情報を予め変更する。
【００８９】
尚、ＷＵＳＢホスト１７０が、構成情報を変更したＣｏｎｆｉｇｕｒａｂｌｅエンドポイント２３１を介して、有線ＵＳＢデバイス１５０との通信が開始可能な状態となるまでの処理は上述した実施の形態１において説明した処理と同一であるため、その説明を省略する。
【００９０】
続いて、本実施の形態３に係るＤＷＡ１１０を介して行われるデータ転送処理について説明する。本実施の形態３に係るＤＷＡ１１０では、有線ＵＳＢデバイス１５０はＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのデバイスであるため、ＷＵＳＢホスト１７０と有線ＵＳＢデバイス１５０との間のデータ転送は、Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのクラスドライバにより行われる。このため、ＷＵＳＢホスト１７０のクラスドライバが発行するＳＣＳＩコマンドに対して有線ＵＳＢデバイス１５０が応答することで、ＷＵＳＢホスト１７０からのメディアアクセスを行う。
【００９１】
以下、ＷＵＳＢホスト１７０と有線ＵＳＢデバイス１５０との間のデータ転送処理について、具体的に説明する。まず、ＷＵＳＢホスト１７０は、有線ＵＳＢデバイス１５０のディスクリプタ情報から有線ＵＳＢデバイス１５０がＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓデバイスであると認識した場合には、ＤＷＡ１１０を介して、有線ＵＳＢデバイス１５０に対してＳＣＳＩコマンドを送信する。
【００９２】
ＳＣＳＩコマンドを受信したＤＷＡ１１０は、特定ポートＳＰに有線ＵＳＢデバイス１５０が接続されているかを確認し、接続状態に応じてＳＣＳＩコマンドに対する応答データを返信する。有線ＵＳＢデバイス１５０が接続されている場合には、ＤＷＡ１１０は、ＷＵＳＢホスト１７０に対してその旨を応答データとして返信する。また、有線ＵＳＢデバイス１５０は、ＤＷＡ１１０のＥＰ４又はＥＰ５を介して、ＷＵＳＢホスト１７０からのＳＣＳＩコマンドを受信する。そして、ＤＷＡ１１０は、ＥＰ４又はＥＰ５を介して、有線ＵＳＢデバイス１５０から読み出したデータをＷＵＳＢホスト１７０に送信する。
【００９３】
有線ＵＳＢデバイス１５０が接続されていない場合には、ＤＷＡ１１０は、ＷＵＳＢホスト１７０に対してその旨を応答データとして返信する。ＷＵＳＢホスト１７０は、有線ＵＳＢデバイス１５０が接続されていない旨の応答データを受信した場合には、有線ＵＳＢデバイス１５０に対して定期的にＳＣＳＩコマンドを送信し、有線ＵＳＢデバイス１５０の接続の有無を確認する。尚、ＤＷＡ１１０から有線ＵＳＢデバイス１５０が取り外された場合には、ＤＷＡ１１０は、ＷＵＳＢホスト１７０に対してその旨を返信する。
【００９４】
このように、本実施の形態３に係るＤＷＡ１１０は、有線ＵＳＢデバイス１５０をＲｅｍｏｖａｂｌｅデバイスとして予めＷＵＳＢホスト１７０に認識させておき、有線ＵＳＢデバイス１５０の接続状態に応じて、有線ＵＳＢデバイス１５０のＲｅｍｏｖａｂｌｅ状態をＷＵＳＢホスト１７０に通知するように通信制御を行う。これにより、有線ＵＳＢデバイス１５０の動的な挿抜を可能とする。
【００９５】
従って、本実施の形態３に係るＤＷＡ１１０においても、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送を、有線ＵＳＢデバイス１５０に対応付けた専用のエンドポイントを介して行うことで、デバイスワイヤアダプタプロトコルを使用せずに、データ転送を行うことができる。
【００９６】
また、本実施の形態３に係るＤＷＡ１１０は、ＷＵＳＢホスト１７０と特定ポートＳＰに接続された有線ＵＳＢデバイス１５０の間のデータ転送が専用のエンドポイントを介して行われるため、デバイスワイヤアダプタとしての機能に加えて、動的に挿抜可能なＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓデバイスとしての機能をも有する複合デバイスとして動作することができる。
【００９７】
以上、上述した各実施の形態において説明したように、本発明に係るＤＷＡによれば、特定のダウンポートに接続された有線ＵＳＢデバイスの構成情報に応じてＤＷＡのエンドポイントの構成情報を変更し、構成情報を変更したエンドポイントをＷＵＳＢホストとの間の通信に使用することで、特定のダウンポートに接続された有線ＵＳＢデバイスとＷＵＳＢホストの間の通信を専用のエンドポイントを介して行う。これにより、ＷＵＳＢホストは、特定のダウンポートに接続された有線ＵＳＢデバイスのエンドポイントに対応するＤＷＡのエンドポイントを直接指定することで、ＲＰＩＰＥを介さずに、有線ＵＳＢデバイスのエンドポイントへとデータを直接送信することができる。従って、ＷＵＳＢホストとＤＷＡの特定のダウンポートに接続された有線ＵＳＢデバイスの間でのデータ転送の際には、不要なコマンドの発生を抑制することができ、通信効率を向上させることができる。
【００９８】
また、上述した各実施の形態において説明したように、本発明に係るＤＷＡは複数の機能を有する複合デバイスとして動作することができる。従来のＤＷＡを複合デバイスとして動作させるためには、新たに追加するＷＵＳＢデバイスの機能について、当該機能を実現するために必要なハードウェア構成を全て搭載する必要がある。これに対して、本発明に係るＤＷＡに搭載された各機能は、ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロックやＵＳＢ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｒｅｃｅｉｖｅｒなどに係るハードウェア構成を各機能で共通して利用するものである。すなわち、本発明に係るＤＷＡでは、ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロックなどのハードウェア構成に係る部分については新たに搭載することなく、新たに追加するＷＵＳＢデバイスの機能を実現することができる。このため、本発明に係るＤＷＡでは、ワイヤレスＵＳＢ通信に関わるハードウェアの増加を抑制しつつ、複数の機能を有する複合デバイスを実現することができる。
【００９９】
尚、ＤＷＡの下流側の特定のダウンポートに接続されたデバイスは有線ＵＳＢデバイスに限定されず、ＵＳＢハブでもよい。ＵＳＢハブの下流側に有線ＵＳＢデバイスが接続された場合には、ＤＷＡは、ＷＵＳＢホストとＵＳＢハブを介して接続された有線ＵＳＢデバイスの間のデータ転送を行う。
【０１００】
尚、ＤＷＡの下流側の特定のダウンポートに接続された有線ＵＳＢデバイスがＩｓｏｃｈｒｏｎｏｕｓエンドポイントを有しており、当該Ｉｓｏｃｈｒｏｎｏｕｓエンドポイントを介してＷＵＳＢホストとの間のデータ転送を行う場合には、複数の構成変更が可能なエンドポイントのうち一部のエンドポイントの構成情報を変更して、有線ＵＳＢデバイスが有するＩｓｏｃｈｒｏｎｏｕｓエンドポイントの個数に相当する個数のＩｓｏｃｈｒｏｎｏｕｓエンドポイントをＤＷＡに搭載させるようにしてもよい。
【０１０１】
尚、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【０１０２】
１１０、４１０  デバイスワイヤアダプタ（ＤＷＡ）、
１１１、４１１  ＷｉＭｅｄｉａ  ＲＦ＆ＢＢブロック、
１１２、４１２  ＷＵＳＢコントローラ、
１１３、４１９  ＵＳＢ  Ｔｒａｎｓｃｅｉｖｅｒ  Ｒｅｃｅｉｖｅｒ、
１２０  ＷＵＳＢエンドポイント、
１２１、４１３  Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント、
１２２、４１４  Ｄａｔａ  Ｔｒａｎｓｆｅｒエンドポイント、
１２３、４１５  Ｎｏｔｉｆｉｃａｔｉｏｎエンドポイント、
１２４、４１６  Ｃｏｎｔｒｏｌエンドポイント、
２３１＿１〜２３１＿ｋ、３３１＿１〜３３１＿ｋ、  Ｃｏｎｆｉｇｕｒａｂｌｅエンドポイント、
４１７＿１〜４１７＿ｋ  Ｉｓｏｃｈｒｏｎｏｕｓエンドポイント、
１４０、４１８  リモートパイプ（ＲＰＩＰＥ）、
１５０、１６０＿１〜１６０＿３、４２０＿１〜４２０＿ｎ  有線ＵＳＢデバイス、
１７０  ＷＵＳＢホスト、
【図１】
2010183408.tif 000003
【図２】
2010183408.tif 000004
【図３】
2010183408.tif 000005
【図４】
2010183408.tif 000006
【図５】
2010183408.tif 000007
【図６】
2010183408.tif 000008
【図７】
2010183408.tif 000009
【図８】
2010183408.tif 000010
【図９】
2010183408.tif 000011
【図１０】
2010183408.tif 000012