(57)【特許請求の範囲】
【請求項１】
一つ又は複数のホストコンピュータと一つ又は複数のＵＳＢ周辺デバイスとの間でＵＳＢトラフィックを伝達するコンピュータシステムであって、
前記一つ又は複数のホストコンピュータと前記一つ又は複数のＵＳＢ周辺デバイスとが、データ通信ネットワークによって一方から他方へ接続されるコンピュータシステムにおいて、
前記コンピュータシステムが、
ａ．ＵＳＢトラフィックを生成し受け入れる一つ又は複数のホストコンピュータと、
ｂ．前記一つ又は複数のホストコンピュータによって開始されたＵＳＢトラフィックに応答することができる一つ又は複数のＵＳＢ周辺デバイスと、
ｃ．前記一つ又は複数のホストコンピュータと前記データ通信ネットワークとの間の一つ又は複数のネットワークコネクションと、
ｄ．前記一つ又は複数のホストコンピュータから受信したＵＳＢトラフィックを前記一つ又は複数のホストコンピュータへリフレクトすることができるＵＳＢリフレクタユニットと、
ｅ．前記データ通信ネットワークに接続され、前記一つ又は複数のＵＳＢ周辺デバイスを前記データ通信ネットワークに接続するために利用される一つ又は複数のＵＳＢ分配ユニットと、
ｆ．前記ＵＳＢリフレクタユニットに接続するために前記一つ又は複数のホストコンピュータにあるＵＳＢリフレクタドライバと、
ｇ．前記ＵＳＢリフレクタドライバを前記データ通信ネットワークに接続するためのＵＳＢリフレクタアプリケーションと
を備えている
ことを特徴とするコンピュータシステム。
【請求項２】
前記一つ又は複数のホストコンピュータが、ＵＳＢ仕様に従って動作する
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記データ通信ネットワークが、ホストコンピュータとＵＳＢ分配ユニットとの間の二点間リンクである
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記ＵＳＢトラフィックが、ＵＳＢサブアクションから成る
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
前記ＵＳＢリフレクタユニットが、ＵＳＢを通して前記一つ又は複数のホストコンピュータに接続される
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記ＵＳＢリフレクタの機能が、前記一つ又は複数のホストコンピュータに組み込まれている
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
前記一つ又は複数のホストコンピュータが、少なくとも一つのホストコンピュータデータ通信トランシーバを有し、
前記リフレクタユニットと前記データ通信ネットワークとの間の通信が、前記ホストコンピュータデータ通信トランシーバを利用して行われる
ことを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
一つ又は複数のホストコンピュータによって生成されたＵＳＢサブアクションを受け入れ、
前記ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換し、
前記一連の変化済みＵＳＢサブアクションを、前記一つ又は複数のホストコンピュータに向けてリフレクトする
ためのＵＳＢリフレクタユニットであって、
該ＵＳＢリフレクタユニットが、
ａ．少なくとも一つのホストコンピュータと通信するための少なくとも一つのＵＳＢトランシーバと、
ｂ．前記少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションを受け入れ、かつ、リフレクトし、そしてＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換するためのリフレクタコアと
を備えている
ことを特徴とするＵＳＢリフレクタユニット。
【請求項９】
前記ホストコンピュータによって発行されたＵＳＢイニューメレイションコマンドに応答するための手段をさらに備えている
ことを特徴とする請求項８に記載のＵＳＢリフレクタユニット。
【請求項１０】
一つ以上のＵＳＢアドレスで指定されたＵＳＢトラフィックを、単一のアドレスで指定されたＵＳＢトラフィックに統合する手段をさらに備えている
ことを特徴とする請求項８に記載のＵＳＢリフレクタユニット。
【請求項１１】
一つ以上のＵＳＢエンドポイントで指定されたＵＳＢトラフィックを、単一のエンドポイントで指定されたＵＳＢトラフィックに統合する手段をさらに備えている
ことを特徴とする請求項８に記載のＵＳＢリフレクタユニット。
【請求項１２】
少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションを引き受けてリフレクトし、ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換するためのリフレクタコアユニットであって、
前記リフレクタコアユニットが、
ａ．ＵＳＢコマンドを解析し、適当なＵＳＢ応答を生成するＵＳＢレスポンダと、
ｂ．ＵＳＢサブアクション及び変換済みＵＳＢサブアクションを記憶するパケットキャッシュと、
ｃ．前記リフレクタコアユニットによってサポートされる各ＵＳＢデバイスの構造及びステータスを記録するためのステータステーブルと、
ｄ．ＵＳＢホストコントローラから受信したＵＳＢサブアクションを、ＵＳＢホストコントローラへリフレクトして戻し得るＵＳＢサブアクションに変換するためのＵＳＢアグリゲータと、
ｅ．前記ＵＳＢレスポンダ、前記パケットキャッシュ、前記ステータステーブル及び前記ＵＳＢアグリゲータの動作を調整するためのコントローラと
を備えている
ことを特徴とするリフレクタコアユニット。
【請求項１３】
ＵＳＢ分配ユニットがホストコンピュータから受信したＵＳＢサブアクションを引き受け、前記ＵＳＢサブアクションを複数のＵＳＢ周辺デバイスに向けて送り、前記複数のＵＳＢ周辺デバイスから受信したＵＳＢサブアクションを引き受け、前記ＵＳＢサブアクションをホストコンピュータに向けて送り、
前記ＵＳＢ分配ユニットが、
前記複数のＵＳＢ周辺デバイスと通信するための少なくとも一つのＵＳＢトランシーバと、
前記少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションの引き受けと送りをするための分配器コアと
を備えていることを特徴とする請求項１に記載のコンピュータシステム。
【請求項１４】
データ通信ネットワークを通してＵＳＢ周辺デバイスからホストコンピュータへデータを送信する方法であって、
該方法が、
ａ．ＵＳＢリフレクタユニットで、第一ホストコンピュータから、受信データ第一リクエストを受信し、
ｂ．前記ＵＳＢリフレクタユニットで、前記受信データ第一リクエストを記憶し、
ｃ．選択的に、前記ＵＳＢリフレクタユニットで、否定確認応答を前記第一ホストコンピュータに対して応答し、
ｄ．前記ＵＳＢリフレクタユニットで、第二ホストコンピュータから、受信データ第二リクエストを受信し、
ｅ．前記第二ホストコンピュータに対して、前記受信データ第一リクエストを含む応答データを応答し、
ｆ．選択的に、前記ＵＳＢリフレクタで、前記第二ホストコンピュータからの確認応答を受信し、
ｇ．前記第二ホストコンピュータで、前記受信データ第一リクエストを含む前記応答データを受信し、
ｈ．前記第二ホストコンピュータで、前記データ受信用第一リクエストを含む前記受信した応答データを、データ通信ネットワークを通して送信し、
ｉ．前記データ受信用第一リクエストを含む前記送信された応答データをＵＳＢ分配ユニットで受信し、
ｊ．前記ＵＳＢ分配ユニットで、前記データ受信用第一リクエストを、前記送信された応答データから引き出し、
ｋ．前記ＵＳＢ分配ユニットで、前記引き出したデータ受信用第一リクエストをＵＳＢ周辺デバイスへ送り、
ｌ．ＵＳＢ分配ユニットで、ＵＳＢ周辺デバイスから第二応答データを受信し、
ｍ．選択的に、ＵＳＢ分配ユニットで、前記ＵＳＢ周辺デバイスに対して確認応答を応答し、
ｎ．ＵＳＢ分配ユニットで、前記引き出したデータ受信用第一リクエストと前記第二応答データをアセンブル応答データにアセンブルし、
ｏ．前記ＵＳＢ分配ユニットで、データ通信ネットワークを通してアセンブル応答データを送り、
ｐ．前記第二ホストコンピュータで、前記送られたアセンブル応答データを受信し、
ｑ．前記第二ホストコンピュータで、前記送られたアセンブル応答データを含む発信データ通知を生成し、
ｒ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を受信し、
ｓ．選択的に、前記第二ホストコンピュータに、確認応答を応答し、
ｔ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を記憶し、
ｕ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ痛里から、前記データ受信用第一リクエスト及び前記第二応答データを引き出し、
ｖ．前記ＵＳＢリフレクタユニットで、第一ホストコンピュータから、データ受信用第二リクエストを受信し、
ｗ．前記ＵＳＢリフレクタユニットで、前記引き出されたデータ受信用第一リクエストと、前記受信したデータ受信用第二リクエストとをマッチングし、
ｘ．前記ＵＳＢリフレクタユニットで、前記第一ホストコンピュータに第二応答データを送り、
ｙ．選択的に、前記第一ホストコンピュータから確認応答を受ける
ことを含むことを特徴とする方法。
【請求項１５】
前記リフレクタユニットが、第一プロファイルを使用する前記第一ホストコンピュータと通信し、かつ、第二プロファイルを使用する前記第二ホストコンピュータと通信する
ことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記第一ホストコンピュータと前記第二ホストコンピュータとが同じコンピュータである
ことを特徴とする請求項１４に記載の方法。
【請求項１７】
データ通信ネットワークを通してホストコンピュータからＵＳＢ周辺デバイスへデータを送信する方法であって、
前記方法が、
ａ．ＵＳＢリフレクタユニットで、第一ホストコンピュータからの第一送信データ通知を受信し、
ｂ．前記ＵＳＢリフレクタユニットで、第一送信データ通知を記憶し、
ｃ．選択的に、ＵＳＢリフレクタユニットで、前記第位置ホストコンピュータへ否定確認応答を応答し、
ｄ．ＵＳＢリフレクタユニットで、第二ホストコンピュータからの受信データ第一リクエストを受信し、
ｅ．前記第二ホストコンピュータへ、前記第一送信データ通知を含む応答データを応答し、
ｆ．選択的に、前記ＵＳＢリフレクタユニットで、前記第二ホストコンピュータからの確認応答を受信し、
ｇ．前記第二ホストコンピュータで、前記第一送信データ通知を含む応答データを受信し、
ｈ．前記第二ホストコンピュータで、データ通信ネットワークを通して、前記第一送信データ通知を含む前記受信した応答データを送り、
ｉ．ＵＳＢ分配ユニットで、前記第一送信データ通知を含む前記送信された応答データを受信し、
ｊ．前記ＵＳＢ分配ユニットで、前記送信された応答データから前記第一送信データ通知を引き出し、
ｋ．ＵＳＢ分配ユニットで、前記引き出した第一送信データ通知をＵＳＢ周辺デバイスへ送信し、
ｌ．ＵＳＢ分配ユニットで、ＵＳＵＢ周辺デバイスから第二確認応答を受信し、
ｍ．ＵＳＢ分配ユニットで、前記引き出した第一送信データ通知と前記第二確認応答とをアセンブリ応答データにアセンブルし、
ｎ．前記ＵＳＢ分配ユニットで、データ通信ネットワークを通して前記アセンブリ応答データを送り、
ｏ．前記第二ホストコンピュータで、前記送られたアセンブリ応答データを受信し、
ｐ．前記第二ホストコンピュータで、前記送られたアセンブリ応答データを含む送信データ通知を生成し、
ｑ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記生成された送信データ通知を受信し、
ｒ．選択的に、前記第二ホストコンピュータに対して、確認応答を応答し、
ｓ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記受信した送信データ通知を記憶し、
ｔ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記記憶された送信データ通知から、前記第一送信データ通知と前記第二確認応答とを引き出し、
ｕ．ＵＳＢリフレクタユニットで、第一ホストコンピュータから、第三送信データ通知を受信し、
ｖ．ＵＳＢリフレクタユニットで、前記引き出された第一送信データ通知と前記受信した第三送信データ通知とをマッチングし、
ｗ．ＵＳＢリフレクタユニットで、前記第位置ホストコンピュータに前記引き出した第二確認応答を送る
ことを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータとユニバーサルシリアルバス（USB)ポートを使用するデバイスとの間で信号を送信する方法及び装置に関し、特に、データ通信ネットワークを通して分配される複数のUSB周辺デバイスを動作させる方法に関する。
【背景技術】
【０００２】
ユニバーサルシリアルバス（USB）は、一般ユーザーが幅広い周辺デバイスをパーソナルコンピュータに接続することを可能にするように設計された技術である。この技術は、キーボード、マウス、スピーカー、ジョイスティック、カメラ、フラッシュデバイス、ハードドライブ、DVDドライブ等の一般的な周辺デバイスの全てをサポートし、現在のコンピュータでそれを使用することは普通である。
【０００３】
USBは、コンピュータ及び通信市場における大企業７社が中心となって開発された。これらの企業は、インテル社(Intel)、コンパック社(Compaq)、マイクロソフト社(Microsoft)、ノーテル社(NorTel)、日本電気株式会社(NEC)、デジタル社(Digital)及びIBM社である。USBを定義する仕様（例えば、インテル他によるユニバーサルシリアルバス仕様１．０版  １９９６年１月、１９９８年９月２３日に１．１版としてアップデイト、２０００年４月に２．０版としてアップデイト、その後、複数回のアップデイト、複数回の追加及び複数回の改良が行われた−以下、「USB仕様」と総称する。この用語は、さらなる追加、改良及び修正を含み得、特に、USB３．０としてリリースするための開発の下での追加を含み得る。）は、独占所有ではなく、USB Implementers Forum(USB-IF)として知られている開放業界団体によって管理されている。USB仕様は、USB標準に適合するために満たさなければならない多数の基準を規定する。また、USB仕様は、多数のタームを定義し、これらの定義は、本明細書に採用され、また参照することでこの明細書に組み込まれる。
【０００４】
USB仕様の下、データ通信は、好ましくはホストコンピュータにインストールされたUSBホストコントローラユニットによって管理される。さらにまた、データ通信は、一連のUSBトランザクションの中で生じる。ここで、USBトランザクションは、USBホストコントローラによって起動され、一つ、二つ又は三つのサブアクション(subactions)から成る。各サブアクションは、一つ又はそれ以上のパケットで構成され得、データフローの方向の反転によって終了される。
【０００５】
出願人の米国特許第６３８１６６６号の内容は参照することによってこの明細書に組み込まれる。この特許文献では、ホストコンピュータと周辺デバイスとの間の距離をのばす方法及び装置が提案されており、この方法及び装置は、有効距離を１００メートル以上にのばした。米国特許第６３８１６６６号で開示されたアプローチ及び出願人の米国特許７１４９８３３号において改良されたアプローチにより、ＵＳＢ周辺デバイスを、延長した距離で動作させることが可能になる一方で、長い伝送遅延の存在下で、ホストコンピュータのネットワーク能力を利用することによって拡張範囲が得られる構成は説明していない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６３８１６６６号
【特許文献２】米国特許７１４９８３３号
【発明の概要】
【０００７】
ネットワークアタッチメントハードウェアのコストの方が、ＵＳＢアタッチメントハードウェアのコストより著しく高い時には、ＵＳＢ拡張の目的のために特定用途の連結部を設けるよりも、ホストコンピュータの既存のネットワーク接続性を再利用する能力の方が、非常に有益である。例えば、イーサネット（登録商標）ネットワークへの無線接続を提供するトランシーバのコストは、ＵＳＢトランシーバのコストより大幅に高い。もし、ホストコンピュータが、ネットワークアタッチメントのための無線トランシーバを既に備えており、かつ、ＵＳＢトラフィックを、ホストコンピュータのＵＳＢポートから、その既存の無線ネットワークポートに「リフレクト」することができれば、付加的な無線トランシーバのコストを回避することができる。光ファイバやパワーライン技術を使用するネットワークも、高いトランシーバコストを示し、この同じアプローチからの利益を享受し得る。
【０００８】
さらにまた、米国特許第６３８１６６６号及び米国特許７１４９８３３号に開示されたアプローチは、拡張距離能力を得るためにホストコンピュータオペレーティングソフトウェアの何の変更も必要としない。最も広い適切な解決法を提供するために、そして、システムの使用の容易さを失わないために、この特性を維持することができれば、有利である。
【０００９】
従って、米国特許第６３８１６６６号及び米国特許７１４９８３３号に開示されているようにＵＳＢ技術を伸ばす範囲が線形構成で役立つことが証明されたが、ＵＳＢ仕様を利用して、ネットワークを通して様々なノードで分配される複数のＵＳＢ周辺デバイスを有効にする方法及び装置であって、ＵＳＢホストコンピュータとＵＳＢ周辺デバイスとの間のネットワークを通した通信が、ＵＳＢホストコンピュータの任意の既存のネットワーク接続性の利点を利用する改良された方法及び装置を提供することによって、その技術を改良することが、さらに望ましい。
【００１０】
従って、本発明の目的は、ＵＳＢ仕様を利用する複数のＵＳＢ周辺デバイスを、ネットワークを通して、様々なノードで分配することができる方法及び装置であって、ＵＳＢホストコンピュータとＵＳＢ周辺デバイスとの間のネットワークを通した通信が、ＵＳＢホストコンピュータの任意の既存ネットワーク接続性の利点を利用し得る方法及び装置を提供することにある。詳細には、本発明の目的は、ネットワークを通してデータの送信をする間に、出来る限り既存のネットワークトランシーバを使用することにある。
【００１１】
本発明の別の目的は、その方法及び装置で、データ通信ネットワークによって取り込まれる、ＵＳＢ仕様によって決められたパラメータを上回る伝送遅延を調整することにある。
【００１２】
本発明のさらに別の目的は、データ通信ネットワークが、ＵＳＢ周辺デバイスの動作に関係がない付加的なトラフィックを伝送し得ることにある。
【００１３】
本発明のさらに別の目的は、何らかの従来の方法によってホストコンピュータがデータ通信ネットワークに接続され得ることにある。
【００１４】
本発明のさらに別の目的は、ホストコンピュータにおける何らかの利用可能なＵＳＢ又は類似のポートを通してホストコンピュータがＵＳＢ「リフレクタ」に接続され得ることにある。
【００１５】
本発明のさらに別の目的は、ホストコンピュータで動作するＵＳＢホストコントローラドライバソフトウェアを変更する必要がないことにある。
【００１６】
本発明のさらに別の目的は、ホストコンピュータで動作するデータ通信ネットワークドライバソフトウェアを変更する必要がないことにある。
【００１７】
本発明のさらに別の目的は、複数のＵＳＢ周辺デバイスが、ＵＳＢ分配ユニットを通してデータ通信ネットワークに接続され得ることにある。
【００１８】
本発明のさらに別の目的は、ホストコンピュータから出力され、複数のＵＳＢ周辺デバイスを対象とするＵＳＢトラフィックがＵＳＢを通して、ホストコンピュータに接続されたＵＳＢリフレクタユニットに向けて送信され得ることにある。
【００１９】
本発明のさらに別の目的は、ＵＳＢ分配ユニットに到達するＵＳＢトラフィックが、複数のＵＳＢ周辺デバイスに分配され得ることにある。
【００２０】
本発明のさらに別の目的は、複数のＵＳＢ周辺デバイスからＵＳＢトラフィックを出力しホストコンピュータに送信する逆の方向に対応する機能が提供され得ることにある。
【００２１】
本発明のさらに別の目的は、ホストコンピュータやＵＳＢ周辺デバイスを操作するために必要とされる任意の既存のソフトウェアドライバを変更する必要がないことにある。
【００２２】
本発明のこれらの目的及び他の目的は、第一ホストコンピュータのホストコントローラがＵＳＢリフレクタユニットに接続され、ＵＳＢリフレクタユニットが、同様に、第一ホストコンピュータにある第二ホストコントローラ又は第二ホストコンピュータにある第二ホストコントローラに接続される方法及び関連する装置を提供する本発明によって、完全に又は少なくとも部分的に達成される。第二ホストコントローラは、最終的に、一つ又は複数のＵＳＢ分配ユニットが接続され得るデータ通信ネットワークに接続される。各ＵＳＢ分配ユニットは、一つ又は複数のＵＳＢ周辺デバイスに接続される。
【００２３】
第一の特徴によれば、本発明は、一つ又は複数のホストコンピュータと一つ又は複数のＵＳＢ周辺デバイスとの間でＵＳＢトラフィックを送信するコンピュータシステムであって、一つ又は複数のホストコンピュータと一つ又は複数のＵＳＢ周辺デバイスとが、データ通信ネットワークによって接続され、一つ又は複数のホストコンピュータが、ＵＳＢリフレクタユニットを備えているコンピュータシステムを提供する。詳細には、本発明は、一つ又は複数のホストコンピュータと一つ又は複数のＵＳＢ周辺デバイスとの間でＵＳＢトラフィックを伝達するコンピュータシステムであって、
前記一つ又は複数のホストコンピュータと前記一つ又は複数のＵＳＢ周辺デバイスとが、データ通信ネットワークによって一方から他方へ接続されるコンピュータシステムにおいて、
前記コンピュータシステムが、
ａ．ＵＳＢトラフィックを生成し受け入れる一つ又は複数のホストコンピュータと、
ｂ．前記一つ又は複数のホストコンピュータによって開始されたＵＳＢトラフィックに応答することができる一つ又は複数のＵＳＢ周辺デバイスと、
ｃ．前記一つ又は複数のホストコンピュータと前記データ通信ネットワークとの間の一つ又は複数のネットワークコネクションと、
ｄ．前記一つ又は複数のホストコンピュータから受信したＵＳＢトラフィックを前記一つ又は複数のホストコンピュータへリフレクトすることができるＵＳＢリフレクタユニットと、
ｅ．前記データ通信ネットワークに接続され、前記一つ又は複数のＵＳＢ周辺デバイスを前記データ通信ネットワークに接続するために利用される一つ又は複数のＵＳＢ分配ユニットと、
ｆ．前記ＵＳＢリフレクタユニットに接続するために前記一つ又は複数のホストコンピュータにあるＵＳＢリフレクタドライバと、
ｇ．前記ＵＳＢリフレクタドライバを前記データ通信ネットワークに接続するためのＵＳＢリフレクタアプリケーションと
を備えているコンピュータシステムを提供する。
【００２４】
別の特徴によれば、本発明は、一つ又は複数のホストコンピュータによって生成されたＵＳＢサブアクションを引き受け、ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換し、そして一連の変換済みサブアクションを、一つ又は複数のホストコンピュータに向けてリフレクトするＵＳＢリフレクタユニットを提供する。詳細には、本発明は、一つ又は複数のホストコンピュータによって生成されたＵＳＢサブアクションを受け入れ、
前記ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換し、
前記一連の変化済みＵＳＢサブアクションを、前記一つ又は複数のホストコンピュータに向けてリフレクトする
ためのＵＳＢリフレクタユニットであって、
該ＵＳＢリフレクタユニットが、
ａ．少なくとも一つのホストコンピュータと通信するための少なくとも一つのＵＳＢトランシーバと、
ｂ．前記少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションを受け入れ、かつ、リフレクトし、そしてＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換するためのリフレクタコアと
を備えているＵＳＢリフレクタユニットを提供する。
【００２５】
さらに別の特徴によれば、本発明は、少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションを引き受けてリフレクトし、ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換するリフレクタコアユニットを提供する。詳細には、本発明は、少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションを引き受けてリフレクトし、ＵＳＢサブアクションを一連の変換済みＵＳＢサブアクションに変換するためのリフレクタコアユニットであって、
前記リフレクタコアユニットが、
ａ．ＵＳＢコマンドを解析し、適当なＵＳＢ応答を生成するＵＳＢレスポンダと、
ｂ．ＵＳＢサブアクション及び変換済みＵＳＢサブアクションを記憶するパケットキャッシュと、
ｃ．前記リフレクタコアユニットによってサポートされる各ＵＳＢデバイスの構造及びステータスを記録するためのステータステーブルと、
ｄ．ＵＳＢホストコントローラから受信したＵＳＢサブアクションを、ＵＳＢホストコントローラへリフレクトして戻し得るＵＳＢサブアクションに変換するためのＵＳＢアグリゲータと、
ｅ．前記ＵＳＢレスポンダ、前記パケットキャッシュ、前記ステータステーブル及び前記ＵＳＢアグリゲータの動作を調整するためのコントローラと
を備えているリフレクタコアユニットを提供する。
【００２６】
別の特徴によれば、本発明は、ホストコンピュータから受信したＵＳＢサブアクションを引き受け、ＵＳＢサブアクションを複数のＵＳＢ周辺デバイスに向けて送り、複数のＵＳＢ周辺デバイスから受信するＵＳＢサブアクションを引き受け、かつ、ＵＳＢサブアクションをホストコンピュータに向けて送るＵＳＢ分配ユニットを提供する。詳細には、本発明は、ホストコンピュータから受信したＵＳＢサブアクションを引き受け、前記ＵＳＢサブアクションを複数のＵＳＢ周辺デバイスに向けて送り、前記複数のＵＳＢ周辺デバイスから受信したＵＳＢサブアクションを引き受け、前記ＵＳＢサブアクションをホストコンピュータに向けて送るＵＳＢ分配ユニットであって、
前記ＵＳＢ分配ユニットが、
ａ．前記複数のＵＳＢ周辺デバイスと通信するための少なくとも一つのＵＳＢトランシーバと、
ｂ．前記少なくとも一つのＵＳＢトランシーバを通してＵＳＢサブアクションの引き受けと送りをするための分配器コアと
を備えているＵＳＢ分配ユニットを提供する。
【００２７】
さらに別の特徴によれば、本発明は、ＵＳＢ周辺デバイスからのデータを、データ通信ネットワークを通してホストコンピュータへ送信する方法を提供する。詳細には、本発明は、データ通信ネットワークを通してＵＳＢ周辺デバイスからホストコンピュータへデータを送信する方法であって、
該方法が、
ａ．ＵＳＢリフレクタユニットで、第一ホストコンピュータから、受信データ第一リクエストを受信し、
ｂ．前記ＵＳＢリフレクタユニットで、前記受信データ第一リクエストを記憶し、
ｃ．選択的に、前記ＵＳＢリフレクタユニットで、否定確認応答を前記第一ホストコンピュータに対して応答し、
ｄ．前記ＵＳＢリフレクタユニットで、第二ホストコンピュータから、受信データ第二リクエストを受信し、
ｅ．前記第二ホストコンピュータに対して、前記受信データ第一リクエストを含む応答データを応答し、
ｆ．選択的に、前記ＵＳＢリフレクタで、前記第二ホストコンピュータからの確認応答を受信し、
ｇ．前記第二ホストコンピュータで、前記受信データ第一リクエストを含む前記応答データを受信し、
ｈ．前記第二ホストコンピュータで、前記データ受信用第一リクエストを含む前記受信した応答データを、データ通信ネットワークを通して送信し、
ｉ．前記データ受信用第一リクエストを含む前記送信された応答データをＵＳＢ分配ユニットで受信し、
ｊ．前記ＵＳＢ分配ユニットで、前記データ受信用第一リクエストを、前記送信された応答データから引き出し、
ｋ．前記ＵＳＢ分配ユニットで、前記引き出したデータ受信用第一リクエストをＵＳＢ周辺デバイスへ送り、
ｌ．ＵＳＢ分配ユニットで、ＵＳＢ周辺デバイスから第二応答データを受信し、
ｍ．選択的に、ＵＳＢ分配ユニットで、前記ＵＳＢ周辺デバイスに対して確認応答を応答し、
ｎ．ＵＳＢ分配ユニットで、前記引き出したデータ受信用第一リクエストと前記第二応答データをアセンブル応答データにアセンブルし、
ｏ．前記ＵＳＢ分配ユニットで、データ通信ネットワークを通してアセンブル応答データを送り、
ｐ．前記第二ホストコンピュータで、前記送られたアセンブル応答データを受信し、
ｑ．前記第二ホストコンピュータで、前記送られたアセンブル応答データを含む発信データ通知を生成し、
ｒ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を受信し、
ｓ．選択的に、前記第二ホストコンピュータに、確認応答を応答し、
ｔ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ通知を記憶し、
ｕ．前記ＵＳＢリフレクタユニットで、前記送られたアセンブル応答データを含む発信データ痛里から、前記データ受信用第一リクエスト及び前記第二応答データを引き出し、
ｖ．前記ＵＳＢリフレクタユニットで、第一ホストコンピュータから、データ受信用第二リクエストを受信し、
ｗ．前記ＵＳＢリフレクタユニットで、前記引き出されたデータ受信用第一リクエストと、前記受信したデータ受信用第二リクエストとをマッチングし、
ｘ．前記ＵＳＢリフレクタユニットで、前記第一ホストコンピュータに第二応答データを送り、
ｙ．選択的に、前記第一ホストコンピュータから確認応答を受ける
ことを含む方法を提供する。
【００２８】
さらに別の特徴によれば、本発明は、データ通信ネットワークを通してホストコンピュータからＵＳＢ周辺デバイスへデータを送信する方法を提供する。詳細には、本発明は、データ通信ネットワークを通してホストコンピュータからＵＳＢ周辺デバイスへデータを送信する方法であって、
前記方法が、
ａ．ＵＳＢリフレクタユニットで、第一ホストコンピュータからの第一送信データ通知を受信し、
ｂ．前記ＵＳＢリフレクタユニットで、第一送信データ通知を記憶し、
ｃ．選択的に、ＵＳＢリフレクタユニットで、前記第位置ホストコンピュータへ否定確認応答を応答し、
ｄ．ＵＳＢリフレクタユニットで、第二ホストコンピュータからの受信データ第一リクエストを受信し、
ｅ．前記第二ホストコンピュータへ、前記第一送信データ通知を含む応答データを応答し、
ｆ．選択的に、前記ＵＳＢリフレクタユニットで、前記第二ホストコンピュータからの確認応答を受信し、
ｇ．前記第二ホストコンピュータで、前記第一送信データ通知を含む応答データを受信し、
ｈ．前記第二ホストコンピュータで、データ通信ネットワークを通して、前記第一送信データ通知を含む前記受信した応答データを送り、
ｉ．ＵＳＢ分配ユニットで、前記第一送信データ通知を含む前記送信された応答データを受信し、
ｊ．前記ＵＳＢ分配ユニットで、前記送信された応答データから前記第一送信データ通知を引き出し、
ｋ．ＵＳＢ分配ユニットで、前記引き出した第一送信データ通知をＵＳＢ周辺デバイスへ送信し、
ｌ．ＵＳＢ分配ユニットで、ＵＳＵＢ周辺デバイスから第二確認応答を受信し、
ｍ．ＵＳＢ分配ユニットで、前記引き出した第一送信データ通知と前記第二確認応答とをアセンブリ応答データにアセンブルし、
ｎ．前記ＵＳＢ分配ユニットで、データ通信ネットワークを通して前記アセンブリ応答データを送り、
ｏ．前記第二ホストコンピュータで、前記送られたアセンブリ応答データを受信し、
ｐ．前記第二ホストコンピュータで、前記送られたアセンブリ応答データを含む送信データ通知を生成し、
ｑ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記生成された送信データ通知を受信し、
ｒ．選択的に、前記第二ホストコンピュータに対して、確認応答を応答し、
ｓ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記受信した送信データ通知を記憶し、
ｔ．ＵＳＢリフレクタユニットで、前記送られたアセンブリ応答データを含む前記記憶された送信データ通知から、前記第一送信データ通知と前記第二確認応答とを引き出し、
ｕ．ＵＳＢリフレクタユニットで、第一ホストコンピュータから、第三送信データ通知を受信し、
ｖ．ＵＳＢリフレクタユニットで、前記引き出された第一送信データ通知と前記受信した第三送信データ通知とをマッチングし、
ｗ．ＵＳＢリフレクタユニットで、前記第位置ホストコンピュータに前記引き出した第二確認応答を送る
ことを含む方法を提供する。
【００２９】
ＵＳＢシステムの好ましい実施例では、ホストコンピュータ及びＵＳＢ周辺デバイスは、ＵＳＢ仕様をサポートする任意の標準的なユニット又はデバイスであり得る。好ましくは、そのユニット又はデバイスは、最も新しいバージョンのＵＳＢ仕様をサポートするべきであるが、そのユニット又はデバイスは、前のバージョンのＵＳＢ仕様だけをサポートすることも可能である。
【００３０】
データ通信ネットワークの好ましい実施例では、データ通信ネットワークは、ホストコンピュータとＵＳＢ分配器とを接続する専用リンクから成る。
【００３１】
データ通信ネットワークのさらに好ましい実施例では、データ通信ネットワークは、
ホストコンピュータとＵＳＢ分配器との間で伝播するＵＳＢトラフィックに加えて他のトラフィックも運び得る共有ネットワークで構成される。有線イーサネット（登録商標）、無線イーサネット（登録商標）、パブリックインターネット、プライベートインターネット及びこれらのネットワークの組合せを基礎とするようなネットワークが、例えば、この出願には適している。
【００３２】
ＵＳＢリフレクタの好ましい実施例では、ＵＳＢリフレクタは、ＵＳＢドングルやＵＳＢメモリスティックのようにホストコンピュータのＵＳＢポートに直接差し込まれ得る内蔵ユニットである。
【００３３】
ＵＳＢリフレクタのさらに好ましい実施例では、ＵＳＢリフレクタは、一つ又は複数のＵＳＢケーブルによって一つ又は複数のホストコンピュータに接続され得る内蔵ユニットである。
【００３４】
ＵＳＢリフレクタのさらに好ましい実施例では、ＵＳＢリフレクタは、ホストコンピュータのケース内に内蔵され得、かつ、ＵＳＢケーブルによって付加的なホストコンピュータに接続され得る。
【００３５】
ＵＳＢリフレクタの好ましい実施例では、ＵＳＢリフレクタは、単一のＵＳＢリンクによって、単一のホストコンピュータに接続され、ＵＳＢリフレクタとホストコンピュータとの間の全てのＵＳＢトラフィックが単一のＵＳＢリンク上で伝播される。
【００３６】
ＵＳＢリフレクタのさらに好ましい実施例では、ＵＳＢリフレクタは、二つのＵＳＢリンクによって単一のホストコンピュータに接続され、各ＵＳＢリンクが一つのホストコンピュータ内に設けられた独立ホストコントローラに接続され、一つの特定のＵＳＢリンクでＵＳＢリフレクタに到達する全てのＵＳＢトラフィックが、他のＵＳＢリンクでリフレクトされる。
【００３７】
ＵＳＢリフレクタのさらに好ましい実施例では、ＵＳＢリフレクタは、複合ＵＳＢケーブルによって複合ホストコンピュータに接続され、特定のＵＳＢリンクでＵＳＢリフレクタに到達するＵＳＢトラフィックが、ＵＳＢリフレクタに対して利用可能なトラフィックローディングパラメータ及び構造に応じて任意の利用可能なＵＳＢリンクでリフレクトされる。
【００３８】
ＵＳＢリンクの好ましい実施例では、ＵＳＢ２．０トランシーバがＵＳＢリンクの各端部に設けられるべきであり、トランシーバがＵＳＢ２．０仕様に従うケーブルによって接続されるべきである。
【００３９】
ＵＳＢリンクのさらに好ましい実施例では、ＵＳＢ３．０トランシーバがＵＳＢリンクの各端部に設けられるべきであり、トランシーバは、ＵＳＢ３．０仕様に従うケーブルによって接続されるべきである。
【００４０】
ＵＳＢリンクのさらに好ましい実施例では、サーティファイト゛ワイヤレスＵＳＢトランシーバがＵＳＢリンクの各端部に設けられるべきであり、トランシーバは、無線通信によって接続されるべきである。
【００４１】
ＵＳＢリンクのさらに好ましい実施例では、高速インターチップトランシーバが、ＵＳＢリンクの各端部に設けられるべきであり、トランシーバはプリント基板上のトレースによって接続されるべきである。
【００４２】
その構造、構成、用途及び動作方法に関しては本発明の特有のものであると思われる新規な特徴は、その目的及び利点と共に、本発明の好ましい実施の形態が実施例によって示される以下の図面から明らかになる。しかし、これらの図面は説明することだけを目的とするものであり、発明の範囲を定義することを意図するものではないことは明らかである。以下、本発明の実施の形態を、添付図面に関連する実施例によって説明していく。
【図面の簡単な説明】
【００４３】
【図１】従来のUSB仕様に従った典型的なUSBシステムのブロック図である。
【図２】従来技術に従った、USB拡張システムのブロック図である。
【図３】本発明によるUSBシステムのブロック図である。
【図４】本発明による好ましいUSBシステムのブロック図である。
【図５】本発明によるさらに好ましいUSBシステムのブロック図である。
【図６】本発明によるUSBリフレクタと、様々なホストコンピュータオプションを示す複数のホストコントローラとのブロック図である。
【図７】本発明による好ましいUSBリフレクタと、単一のホストコンピュータオプションを示す二つのホストコントローラとのブロック図である。
【図８】本発明によるさらに好ましいUSBリフレクタと、単一のホストコンピュータオプションを示す一つのホストコントローラとのブロック図である。
【図９】本発明によるリフレクタコアのブロック図である。
【図１０】本発明によるUSB分配器のブロック図である。
【図１１】本発明によるホストコンピュータソフトウェアスタックのブロック図である。
【図１２】USB周辺デバイスからホストコンピュータへのデータ送信を示すシーケンス線図である。
【図１３】ホストコンピュータからUSB周辺デバイスへのデータ送信を示すシーケンス線図である。
【発明を実施するための形態】
【００４４】
図１は、USB仕様に従って作られた従来のシステムのブロック図である。USB仕様によれば、USBが使用可能なホストコンピュータ（１０）は、一つ又は連なったUSBハブ（１６）を介して一つ又は複数のUSBデバイス（１７）に接続され得る。一つのUSBデバイスを他のUSBデバイスに接続することはできず、単一のシリアルチェーン(single serial chain)で接続可能なハブの最大数は５個である。また、USBデバイスはホストコンピュータに直接接続され得る。コンピュータ、ハブ又はUSBデバイスの相互接続のために用いられる各ケーブルの最大長は５メートルである。
【００４５】
図２は、従来技術によってUSBの範囲を拡張するためのシステムを示している。標準的な改良されていないホストコンピュータ（１０）は、ローカル拡張ユニット（９３）、ロングケーブル（１３）及びリモート拡張ユニット（９４）を介して標準的な改良されていないUSB周辺デバイス（１７）につながっている。また、USBハブ（１６）が、リモート拡張ユニット（９４）とUSB周辺デバイス（１７）との間に接続され得、一つのホストコンピュータで複数のUSB周辺デバイスを制御することを可能にしている。
【００４６】
この構想の下での「データリード」の例では、ホストコンピュータ（１０）が、USBケーブル（９５）を通してSUBサブアクションをローカル拡張ユニット（９３）に送信する。USBサブアクションは、USBトランシーバ（９７ａ）によって受信され、ローカル拡張ロジック（９０）へ進む。ローカル拡張ロジック（９０）は、ネットワークトランシーバ（９２ａ）、ロングケーブル（１３）及びネットワークトランシーバ（９２ｂ）を通して、リモート拡張ロジック（９１）へ送信するためにＵＳＢサブアクションをフォーマットする。また、ローカル拡張ロジック（９０）は、ＵＳＢトランシーバ（９７ａ）及びＵＳＢケーブル（９５）を通してホストコンピュータ（１０）へ送信するための確認サブアクションを生成し得る。ＵＳＢサブアクションの受信時に、リモート拡張ロジック（９１）は、ＵＳＢサブアクションのフォーマットを変換し、ＵＳＢトランシーバ（９７ｂ）、ＵＳＢケーブル（９６）及び（選択的に）ＵＳＢハブ（１６）を通してＵＳＢ周辺デバイス（１７）へＵＳＢサブアクションを進める。
【００４７】
ＵＳＢ周辺デバイス（１７）でＵＳＢサブアクションを受信すると、ＵＳＢ周辺デバイスは、応答サブアクションを生成し、ＵＳＢケーブル（９６）及びＵＳＢトランシーバ（９７ｂ）を通してリモート拡張ロジックユニット（９１）へ応答サブアクションを進める。リモート拡張ロジックユニットは、ネットワークトランシーバ（９２ｂ）、ロングケーブル（１３）及びネットワークレシーバ（９２ａ）を通してローカル拡張ロジック（９０）へ送信するために応答サブアクションをフォーマットする。応答サブアクションは、後で使用するために、ローカル拡張ロジック（９０）で記憶される。また、リモート拡張ロジック（９１）は、ＵＳＢトランシーバ（９７ｂ）及びＵＳＢケーブル（９６）を通してＵＳＢ周辺デバイス（１７）へ僧院するために確認サブアクションを生成する。
【００４８】
その後、ホストコンピュータ（１０）は、ＵＳＢ周辺デバイス（１７）を対象としたオリジナルＵＳＢサブアクションをリピートし得る。このリピートサブアクションも、ＵＳＢケーブル（９５）及びＵＳＢトランシーバ（９７ａ）を通してローカル拡張ロジック（９０）へ送信される。リピートＵＳＢサブアクションがローカル拡張ロジック（９０）によって受信された時、ローカル拡張ロジック（９０）は、記憶装置から応答サブアクションを読み出し、ＵＳＢトランシーバ（９７ａ）及びＵＳＢケーブル（９５）を通してホストコンピュータ（１０）へ応答サブアクションを送信する。
【００４９】
ロングケーブル（１３）を、ローカル拡張ユニット（９３）への連結部と、リモート拡張ユニット（９４）への他の連結部とを有するデータ通信ネットワークに置き換え得ることは当業者には明らかである。
【００５０】
図２に示された従来のシステムが、ロングケーブル（１３）の両端に二つのネットワークトランシーバ（９２ａ，９２ｂ）を設けることを必要とすることが分かる。
【００５１】
ネットワークトランシーバが高価な構成要素であり、そのためにネットワークトランシーバがローカル拡張ユニット及びリモート拡張ユニットのコストで最も重要であることは、本発明に関する当業者には明らかである。さらに、ローカル拡張ユニット（９３）からネットワークトランシーバ（９２ａ）を取り除くことができれば、ＵＳＢ拡張システム全体のコストを大幅に下げることができることは明らかである。また、ホストコンピュータが、しばしば、データ通信の目的のためにネットワークトランシーバを予め備えていることも当業者には明らかである。
【００５２】
また、ネットワークトランシーバに、ネットワークトランシーバをロングケーブル（１３）又は同等のデータ通信ネットワークに物理的に接続する手段が設けられていること、又は内蔵されていることが必要であることも当業者には明らかである。物理的接続手段は、典型的には、ワイヤレス通信用のアンテナ、電気通信用のＲＪ４５レセプタクル、又は光通信用のデュアルＬＣレセプタクルの形態を採り得る。さらに、ネットワークトランシーバ（９２ａ）に設けられた物理的接続手段が取り除かれると、ローカル拡張ユニット（９３）の物理的サイズが低減され得、ローカル拡張ユニットをアクセス可能にするための必要条件とケーブル接続のための堅牢性を取り除くことができることも明らかである。
【００５３】
また、ネットワークトランシーバが、延長された距離にわたって信頼性のある通信を達成するために大容量の電力を消費することも当業者には明らかである。ローカル拡張ユニット（９３）からネットワークトランシーバ（９２ａ）を取り除くことによって、ローカル拡張ユニット（９３）による消費電力の大幅な低減を達成することができ、結果的に、熱放散をより低くし、かつ、サイズをさらに小さくし、コストをさらに下げることができる。
【００５４】
図３は、本発明によるＵＳＢシステムのブロック図である。この構成では、各ＵＳＢ周辺デバイス（１７）は、ＵＳＢ分配器（１５）に、直接、又は一つ又は連鎖したＵＳＢハブ（１６）を介して接続される。また、各ＵＳＢ分配器は、データ通信ネットワーク（１４）に接続される。また、この構成では、ＵＳＢリフレクタ（１１）が、一つ又は複数のホストコンピュータ（１０，１２）に接続されている。ホストコンピュータの少なくとも一つは、データ通信ネットワーク（１４）への接続を有する必要がある。このシステムでは、ホストコンピュータ（１２）がデータ通信ネットワーク（１４）への接続を有し、データ通信ネットワーク（１４）へのアクティブコネクションを持たない第一ホストコンピュータ（１０）と、データ通信ネットワーク（１４）へのアクティブコネクションを持つ第二ホストコンピュータ（１２）との間に違いがある。
【００５５】
第一ホストコンピュータ（１０）がＵＳＢ周辺デバイス（１７）に通信をしたいが、データ通信ネットワーク（１４）へのアクティブコネクションを欠いている時、第一ホストコンピュータ（１０）は、ＵＳＢサブアクションをＵＳＢリフレクタ（１１）へ送信し、ＵＳＢリフレクタ（１１）が、ＵＳＢサブアクションを第二ホストコンピュータ（１２）に向けて「リフレクト」する。また、ＵＳＢリフレクタ（１１）は、好ましくは、ＵＳＢタイミング必要条件を満たすために、第一ホストコンピュータ（１０）及び第二ホストコンピュータ（１２）に対して全ての必要な確認サブアクションを生じさせることを保証する。ＵＳＢサブアクションがホストコンピュータ（１２）によって受信されると、サブアクションは、データ通信ネットワーク（１４）を介して、第二ホストコンピュータ（１２）の既存のデータネットワークを使用するＵＳＢ分配器（１５）へ進められる。次いで、ＵＳＢ分配器（１５）は、直接、又は中間ＵＳＢハブ（１６）を介してＵＳＢ周辺デバイス（１７）へＵＳＢサブアクションを進める。同様の処理が、周辺ＵＳＢデバイス（１７）からホストコンピュータ（１０）へ向けた逆方向のデータ又はサブアクション送信のために適用される。
【００５６】
「リフレクト」によって、ＵＳＢホストコントローラによってＵＳＢ周辺デバイスに出されたＵＳＢサブアクションが、ＵＳＢリフレクタユニットによってインターセプトされ、一つ又は複数の結果として得られるＵＳＢサブアクションに挿入され、そして、ＵＳＢ周辺デバイスというよりはむしろＵＳＢリフレクタユニットに関連するＵＳＢサブアクションとして、オリジナルＵＳＢホストコントローラに戻されるか、又は、別のホストコントローラへ戻される。従って、ＵＳＢサブアクションは、ＵＳＢリフレクタユニットによって、一つのＵＳＢホストコントローラから別のＵＳＢホストコントローラへ「リフレクト」されるか、又は、同じＵＳＢホストコントローラへ「リフレクト」される。あるホストコントローラは、それ自身のもとにリフレクトされた、それ自身のサブアクションを「見る(see)」ことができ、また、別のホストコントローラからのリフレクトされたサブアクションを「見る(see)」こともできる。
【００５７】
ＵＳＢリフレクタ（１１）は、独立型デバイスであり得、また、ホストコンピュータ（１０）又は（１２）の構成に組み込まれた仮想デバイスでもあり得る。
【００５８】
本発明のこの実施例では、三つのＵＳＢ分配器、二つの第一ホストコンピュータ及び二つの第二ホストコンピュータからなる構成が選択されている。しかし、このデバイスの選択は、本発明の範囲を限定することを意図するものではなく、異なる個数のＵＳＢ分配器及びホストコンピュータを使用することができ、かつ、別の接続構造が可能であることは当業者には明らかである。
【００５９】
また、本発明のこの実施例では、第一ホストコンピュータ（１０）及び第二ホストコンピュータ（１２）が別々のユニットとして示されている。しかし、第一ホストコンピュータ及び第二ホストコンピュータの機能を、ネットワーク（１４）へのアクティブデータ通信結合を持つ任意のホストコンピュータ内で組み合わせることができることも当業者には明らかである。
【００６０】
また、本発明のこの実施例では、データ通信ネットワーク（１４）が、複数の接続をサポートするものとして示されている。しかし、データ通信ネットワークは、一つの第二ホストコンピュータ（１２）への一つの接続のみをサポートし、かつ、一つのＵＳＢ分配器（１５）への一つの接続のみをサポートしてもよく、それにより、一つの第二ホストコンピュータと一つのＵＳＢ分配器との間の二点間接続によって置き換えられ得る。
【００６１】
図４は、本発明による別の好ましいＵＳＢシステムのブロック図である。この構成では、図３に示した第一ホストコンピュータ及び第二ホストコンピュータの両方の機能を実行する一つのホストコンピュータ（１２）のみが必要とされる。この構成では、ＵＳＢリフレクタ（１１）は、ホストコンピュータ（１２）からのＵＳＢ信号を、後で説明する第一及び第二「プロファイル」メカニズムを使用する同じホストコンピュータ（１２）に向けてリフレクトするために必要とされる。
【００６２】
図５は、本発明によるさらに別の好ましいＵＳＢシステムのブロック図である。この構成では、単一データ通信ネットワークとして作用する二点間接続（１３）が、ホストコンピュータ（１２）とＵＳＢ分配器（１５）との間に設けられている。二点間接続（１３）が、ツイストペアケーブル、同軸ケーブル、光ファイバケーブル及びワイヤレスを含む広範な通信メディアによって設けられ得ることは当業者には明らかである。
【００６３】
図６は、本発明によるＵＳＢリフレクタ（１１）と、様々なホストコンピュータオプションを示す複数のホストコントローラのブロック図である。この構成では、ＵＳＢリフレクタ（１１）は、リフレクタコアユニット（２３）と、一つ又は複数のＵＳＢトランシーバ（２２）とから成る。リフレクタコアユニット（２３）は、ＵＳＢトランシーバ（２２）からのＵＳＢサブアクションを受信し、ＵＳＢサブアクションをフォーマットしてＵＳＢトランシーバ（２２）へ送信し、ＵＳＢトランシーバ間でＵＳＢサブアクションを進めるための機構を提供する。各ＵＳＢトランシーバ（２２）は、ホストコンピュータ（１０，１２）内に配置されたホストコントローラ（２１）に接続されている。
【００６４】
図６のシステムの動作をサポートするために、ＵＳＢリフレクタ（１１）は、少なくとも二つの独立しているが関連付けられたプロファイルを有することが必要とされる。第一プロファイルは、第一ホストコンピュータ（１０）に存在し、ＵＳＢ周辺デバイス（１７）とＵＳＢ分配器（１５）に接続されたハブ（１６）の集団を示す。第一プロファイルは、第一ホストコンピュータ（１０）とＵＳＢ周辺デバイス（１７）とＵＳＢハブ（１６）との間で送信されたＵＳＢサブアクションに反応する。それにより、第一プロファイルは、第一ホストコンピュータ（１０）によってＵＳＢ周辺デバイス（１７）に割り当てられた固有のＵＳＢアドレス毎に応答する。第一プロファイルは、少なくとも一つの第一又は第二ホストコンピュータ（１０，１２）に存在しなければならない。
【００６５】
第二プロファイルは、第二ホストコンピュータ（１２）に存在し、従来のＵＳＢデバイスとしてＵＳＢリフレクタ（１１）のＵＳＢインターフェイスに相当する。第二プロファイルは、ＵＳＢリフレクタ（１１）のＵＳＢイニューメレイション(USB enumeration)をサポートし、第二ホストコンピュータ（１２）によってデータ通信ネットワーク（１４）を通してレプレイされるＵＳＢサブアクションを終了するためのＵＳＢエンドポイントを提供する。それにより、第二プロファイルは、第二ホストコンピュータ（１２）によってＵＳＢリフレクタ（１１）に割り当てられた固有ＵＳＢアドレスに応答する。第二プロファイルは、少なくとも一つの第二ホストコンピュータ（１２）に存在していなければならない。
【００６６】
ＵＳＢリフレクタ（１１）内のリフレクタコアロジック（２３）は、第一プロファイル及び第二プロファイルを実行し、第一プロファイルと第二プロファイル間でＵＳＢサブアクション情報を送信し、かつ、送信中に必要とされ得る何らかのデータ変換アクションを実行するために必要とされる。
【００６７】
本発明の実施例では、四つのＵＳＢトランシーバ（２２）の構成が選択されている。異なる数のＵＳＢトランシーバを使用することができ、各ＵＳＢトランシーバが異なる版のＵＳＢ仕様に適合され得ることは当業者には明らかである。ＵＳＢ１．１、ＵＳＢ２．０、ＵＳＢ３．０、サーティファイト゛ワイヤレスＵＳＢ又は高速インターチップＵＳＢをサポートするＵＳＢトランシーバが、適当なトランシーバユニットの全ての例である。
【００６８】
また、本発明のこの実施例では、四つのＵＳＢホストコントローラ（２１）、一つの第一ホストコンピュータ（１０）及び一つの第二ホストコンピュータ（１２）から成る構成が選択されている。異なる構成が可能であることは当業者には明らかである。ＵＳＢリフレクタ（１１）は、少なくとも一つのＵＳＢトランシーバ（２２）を有するために必要とされ、各ＵＳＢトランシーバ（２２）は、一つのホストコントローラ（２１）に接続されなければならない。各ホストコンピュータ（１０，１２）は、少なくとも一つのホストコントローラ（２１）を有する必要がある。
【００６９】
独立した第一プロファイルが、各第一ホストコンピュータ内に設けられた各独立ホストコントローラのために設けられ得、第二プロファイルが各第二ホストコンピュータ内の各独立ホストコントローラのために設けられ得る。
【００７０】
図７は、本発明による好ましいＵＳＢリフレクタと、単一ホストコンピュータオプションを示す二つのホストコントローラとのブロック図である。この構成では、ＵＳＢリフレクタ（１１）は、リフレクタコア（２３）と、二つのＵＳＢリンク（２５ａ，２５ｂ）を通して二つのホストコントローラ（２１ａ，２１ｂ）に接続された二つのＵＳＢトランシーバ（２２ａ，２２ｂ）とから成る。この構成では、ＵＳＢリフレクタ（１１）が、ＵＳＢトランシーバ（２２ａ）を介したホストコントローラ（２１ａ）への第一プロファイルと、ＵＳＢトランシーバ（２２ｂ）を介したホストコントローラ（２１ｂ）への第二プロファイルを与え得る。ホストコンピュータ（１２）は、第一ホストコンピュータ及び第二ホストコンピュータの両方の機能を実行するために必要とされる。
【００７１】
本発明のこの実施例では、ＵＳＢトランシーバ（２２ａ，２２ｂ）は別々のユニットとして示され、ＵＳＢホストコントローラ（２１ａ，２１ｂ）も別々のユニットとして示され、ＵＳＢリンク（２５ａ，２５ｂ）も別々のリンクとして示されている。しかし、他の構成も可能であり、複数のユニットが一つにまとめられ得ることは当業者には明らかである。さらに、ＵＳＢトランシーバ（２２ａ）がＵＳＢ２．０の要件に適合し得、ＵＳＢトランシーバ（２２ｂ）がＵＳＢ３．０の要求に適合し得、ＵＳＢリンク（２５ａ，２５ｂ）がＵＳＢ３．０の要求に適合する一つのケーブルで実現され得ることも当業者には明らかである。
【００７２】
図８は、本発明によるさらに好ましいＵＳＢリフレクタと、単一のホストコンピュータオプションを示す一つのホストコントローラとのブロック図である。この構成では、ＵＳＢリフレクタ（１１）は、リフレクタコア（２３）と、内部ＵＳＢハブ（２９）を通して一つのホストコントローラ（２１）に接続される二つのＵＳＢトランシーバ（２２ａ，２２ｂ）とから成る。この構成では、ＵＳＢリフレクタ（１１）は、第一ＵＳＢトランシーバ（２２ａ）を介したホストコントローラ（２１）への第一プロファイルと、第二ＵＳＢトランシーバ（２２ｂ）を通した第二プロファイルとを与え得る。
【００７３】
本発明のこの実施例では、ＵＳＢハブ（２９）は、トランシーバ（２２ａ，２２ｂ）への二つのダウンストリームリンクを支持するものとして示されている。しかし、より多くの数のダウンストリームリンクが可能であり、ダウンストリームリンクを通して付加的なプロファイルが与えられ得ることは当業者には明らかである。
【００７４】
また、本発明のこの実施例では、内部ＵＳＢハブ（２９）がＵＳＢリフレクタ（１１）内に収容された別個のユニットとして示されている。しかし、内部ＵＳＢ（２９）は、ＵＳＢリフレクタ（１１）の外部に配置される独立型ユニットであり得ることは当業者には明らかである。さらに、内部ＵＳＢハブ（２９）は、出願人の継続中の米国特許公開２００８／００２８１２０号で提供される開示内容に従って、リフレクタコア（２３）内で実行される仮想ユニットであり得ることも当業者には明らかである。
【００７５】
図９は、本発明によるリフレクタコア（２３）のブロック図である。この構成では、ＳＵＢレスポンダユニット（３０）は、一つ又は複数の連結部（３５）を介して一つ又は複数のＵＳＢトランシーバに接続されている。ＵＳＢレスポンダ（３０）は、連結部（３５）を通してＵＳＢサブアクションを受信し、受信したサブアクションをパケットキャッシュ（３１）に記憶し、パケットキャッシュ（３１）からＵＳＢサブアクションを読み出し、総合(synthetic)ＵＳＢサブアクションを生成し、連結部（３５）を通してＵＳＢサブアクションを送信することができる。また、ＵＳＢレスポンダ（３０）は、受信、記憶、読出し、生成及び送信処理の発現を記録するためにステータステーブル（３３）をアップデイトすることができる。
【００７６】
ＵＳＢアグリゲータ（３４）は、パケットキャッシュ（３１）及びステータステーブル（３３）に接続されており、第一プロファイルに属するＵＳＢサブアクションをパケットキャッシュ（３１）からパケット読み出し、第一ＵＳＢサブアクションを第二プロファイルの下で送信するのに適したフォーマットに変換し、そして、変換後のＵＳＢサブアクションをパケットキャッシュ（３１）に記憶することができる。また、ＵＳＢアグリゲータ（３４）は、パケットキャッシュ（３１）から第二プロファイルに属するＵＳＢサブアクションを読み出し、第二ＵＳＢサブアクションを第一プロファイルの下で送信するのに適したフォーマットに変換し、変換後のＵＳＢサブアクションをパケットキャッシュ（３１）に記憶することもできる。さらに、ＵＳＢアグリゲータ（３４）は、複数のオリジナルＵＳＢサブアクションを、一つの統合ＵＳＢサブアクションに統合し、かつ、統合ＵＳＢサブアクションを複数のオリジナルＵＳＢサブアクションに分解することができるようにされ得る。さらにまた、ＵＳＢアグリゲータ（３４）は、読み出し、変換、保存、統合及び分解処理の発現を記録するためにステータステーブル（３３）をアップデイトすることができる。
【００７７】
コントローラ（３２）は、ＵＳＢレスポンダ（３０）、パケットキャッシュ（３１）、ステータステーブル（３３）及びＵＳＢアグリゲータ（３４）の処理を調整することができる。ＵＳＢ仕様によれば、各ＵＳＢデバイスは、機器構成と制御のためにコントロールエンドポイント（エンドポイント０）をサポートする必要がある。また、コントローラ（３２）は、そのコントロールエンドポイントを通してＵＳＢリフレクタ（１１）に発せられたＵＳＢ要求に応答することができる。
【００７８】
図１０は、本発明によるＵＳＢ分配器（１５）のブロック図である。この構成では、ネットワークトランシーバ（４０）が、通信リンク（４９）を通してデータ通信ネットワーク（１４）に接続されている。ＵＳＢトランシーバ（４７）は、ＵＳＢリンク（４８）を通してＵＳＢハブ（１６）又はＵＳＢデバイス（１７）に接続されている。
【００７９】
データパケット包含ＵＳＢサブアクション情報は、データ通信ネットワーク（１４）からネットワークトランシーバ（４０）によって受信され得、そして、リンクマネージャ（４１）に進められ得る。リンクマネージャ（４１）は、データパケットの整合性(integrity)をチェックし、エラーが存在していることが見つかった場合には再送信を要求し、パケットのカプセル化を排除し、データ通信ネットワーク（１４）を通して送信するために要求される情報のネットワークアドレス指定を行なう処理を行なうものであり得る。その後、包含されたＵＳＢサブアクション情報は、リンクマネージャ（４１）によって、個々のＵＳＢサブアクションを特定し、個々のＵＳＢサブアクションをパケットキャッシュ（４３）に保存し、そしてパケットキャッシュ（４３）におけるＵＳＢサブアクションの存在を表示するためにステータステーブル（４５）をアップデイトするための処理を行なうＵＳＢ分散器（４２）に進められる。
【００８０】
ＵＳＢレスポンダ（４６）は、パケットキャッシュ（４３）からＵＳＢサブアクションを読み出し、ＵＳＢトランシーバ（４７）を通してＵＳＢサブアクションを送信することができる。また、ＵＳＢレスポンダ（４６）は、ＵＳＢトランシーバ（４７）からのＵＳＢサブアクションを受信し、受信したＵＳＢサブアクションをパケットキャッシュ（４３）に保存し、パケットキャッシュ（４３）におけるＵＳＢサブアクションの存在を表示するためにステータステーブル（４５）をアップデイトし、総合(synthetic)ＵＳＢサブアクションを生成し、そして、ＵＳＢトランシーバ（４７）を通して総合ＵＳＢサブアクションを送信することができる。
【００８１】
同様に、データの流れが、ＵＳＢ分配器（１５）からＵＳＢリフレクタ（１１）への方向である時は、ＵＳＢ分散器（４２）は、パケットキャッシュ（４３）からＵＳＢサブアクションを読み出し、選択的に、複数のＵＳＢサブアクションを単一データパケットに統合し、データ通信ネットワーク（１４）を通して送信するために単一データパケットをリンクマネージャ（４１）に進めることができる。
【００８２】
図１１は、本発明による第二ホストコンピュータ（１２）内で動作するホストコンピュータソフトウェアスタックのブロック図である。この構成では、ＵＳＢドライバ（６２）が、一つ又は複数のホストコントローラドライバ（６３）を操作し、一つ又は複数のホストコントローラドライバ（６３）が一つ又は複数のホストコントローラ（２１ａ，２１ｂ）を操作する。ＵＳＢドライバ（６２）、ホストコントローラドライバ（６３）及びホストコントローラ（２１ａ，２１ｂ）から成る構成は、一つ又は複数のＵＳＢリンク（７０）及びＵＳＢ仕様に従ったＵＳＢドライバインターフェイス（７２）をサポートする。
【００８３】
また、この構成では、一つ又は複数のＵＳＢデバイスドライバ（６０）が、第一ホストコンピュータ及び第二ホストコンピュータの機能が一つの統一ホストコンピュータ内で一体化された構成内のＵＳＢハブ（１６）（図示せず）及びＵＳＢドライブ（１７）（図示せず）を制御するためにインストールされ得る。
【００８４】
さらにまた、この構成では、ＴＣＰ／ＩＰモジュール（６６）、ＮＤＩＳ（ネットワークドライバインターフェース仕様）モジュール（６７）及びネットワークトランシーバ（６８）を備えたデータ通信スタックが設けられている。データ通信スタックは、データリング（７１）を通したデータ通信ネットワーク（１４）（図示せず）との通信を可能にする。
【００８５】
さらにまた、この構成では、ＵＳＢリフレクタドライバ（６１）が、ＵＳＢリフレクタ（１１）（図示せず）をサポートするＵＳＢドライバ機能を提供するためにＵＳＢドライバインターフェイス（７２）で機能する。ＵＳＢリフレクタドライバ（６１）は、ＵＳＢリフレクタ（１１）の第二プロファイルで機能する。第二プロファイルは、ＵＳＢリフレクタ（１１）のＵＳＢイニューメレイション(USB enumeration)をサポートし、第二ホストコンピュータ（１２）によってデータ通信ネットワーク（１４）で中継されるべきＵＳＢサブアクションを終了させるためのＵＳＢエンドポイントを提供する。また、この構成では、ＵＳＢリフレクタアプリケーション（６５）が、ＵＳＢリフレクタドライバ（６１）とＴＣＰ／ＩＰモジュール（６６）との間のブリッジを提供する。ＵＳＢリフレクタアプリケーション（６５）は、ＵＳＢリフレクタドライバ（６１）からのＵＳＢサブアクションを受信し、データ通信ネットワーク（１４）を介して送信するためにＵＳＢサブアクションをカプセル化することができる。
【００８６】
しかし、この構成が、オペレーティングシステムのカーネルに典型的に含まれているソフトウェアを追加したり変更したりすることを必要とせず、特に、ＵＳＢドライバインターフェイス（７２）より「下」に存在し、ＵＳＢドライバ（６２）及びホストコントローラドライバ（６３）を含むソフトウェアを追加したり変更したりすることを必要としないことは当業者には明らかである。さらに、既存のデバイスドライバ（６０）に対する変更を必要としないことも明らかである。
【００８７】
図１１の構成の機能は、ＵＳＢリフレクタ（１１）の第一プロファイルが第一ホストコントローラ（２１ａ）を通して機能し、ＵＳＢリフレクタ（１１）の第二プロファイルが第二ホストコントローラ（２１ｂ）を通して機能し、データがＵＳＢデバイス（１７）からホストコントローラ（２１ａ）に流れるＵＳＢトランザクションを実行する以下の実施例によって、さらに説明される。
【００８８】
ＵＳＢトランザクションは、最終的に第一ホストコントローラ（２１ａ）によって出されるべきＵＳＢ  ＩＮサブアクションをもたらすオリジナルデバイスドライバ（６０）によって起動される。ＵＳＢ  ＩＮサブアクションは、ＵＳＢリフレクタ（１１）の第一プロファイルによってインターセプトされ、その第二プロファイルを通して、ＵＳＢ  ＤＡＴＡサブアクションとしてＵＳＢリフレクタ（１１）にリフレクトされる。ＵＳＢ  ＤＡＴＡサブアクションは、第二ホストコントローラ（２１ｂ）によって生み出されたＵＳＢ  ＩＮサブアクションに応えて第二ホストコントローラ（２１ｂ）によって受信され、ＵＳＢリフレクタドライバ（６１）へのＵＳＢスタックをパスアップされる。ＵＳＢリフレクタドライバ（６１）は、ＵＳＢリフレクタ（１１）におけるデータバッファがオーバーフローするのを防ぐのに十分なＵＳＢ  ＩＮサブアクションの流れが作り出されることを保証する。その後、ＵＳＢリフレクタドライバ（６１）は、受信したＵＳＢ  ＤＡＴＡサブアクションからオリジナルＵＳＢ  ＩＮサブアクションを引き出し、データネットワーク（１４）を通してＵＳＢ分配器（１５）へ送信するために引き出したＵＳＢサブアクションをＳＵＢリフレクタアプリケーション（６５）に渡す。
【００８９】
ＵＳＢ分配器（１４）で受信したＵＳＢサブアクションに応答して、ＵＳＢ  ＤＡＴＡサブアクションが、データ通信ネットワーク（１４）を通して、最終的に送信され、ＵＳＢリフレクタアプリケーション（６５）によって受信されることになる。受信されたＵＳＢ  ＤＡＴＡサブアクションは、その後、オリジナルデバイスドライバ（６０）に再送信するためにＵＳＢリフレクタドライバ（６１）に渡される。ＵＳＢリフレクタドライバ（６１）は、ＵＳＢ  ＯＵＴ／ＤＡＴＡサブアクションの中に受信したＵＳＢ  ＤＡＴＡサブアクションをカプセル化し、ＵＳＢ  ＯＵＴ／ＤＡＴＡサブアクションを、ＵＳＢドライバ（６２）及び第二ホストコントローラ（２１ｂ）を通してＵＳＢリフレクタ（１１）の第二プロファイルに送ることにより再送信を始める。ＵＳＢ  ＯＵＴ／ＤＡＴＡサブアクションは、ＵＳＢリフレクタ（１１）の第二プロファイルによって受信され、ＵＳＢリフレクタ（１１）によってＵＳＢ  ＤＡＴＡサブアクションが引き出され、ＵＳＢリフレクタ（１１）の第一プロファイルを通して利用可能にされる。次いで、第一ホストコントローラ（２１ａ）が、オリジナルデバイスのために繰り返しＵＳＢ  ＩＮサブアクションを出す時に、引き出されたＵＳＢ  ＤＡＴＡサブアクションは、第一ホストコントローラ（２１ａ）に戻される。
【００９０】
本発明のこの実施例では、ＴＣＰ／ＩＰモジュール（６６）、ＮＤＩＳモジュール（６７）及びネットワークトランシーバ（６８）を有する特別なデータ通信スタックが示されている。しかし、別のデータ通信スタックでも可能であり、かつ、複数のデータ通信スタックが、一つのホストコンピュータ内で実行され得ることは当業者には明らかである。
【００９１】
また、本発明のこの実施例では、ＵＳＢリフレクタドライバ（６１）は、一つ又は複数のデバイスドライバ（６０）と共存するものとして示されている。しかし、他の構成も可能であり、ＵＳＢデバイスドライバ（６０）が、独立したホストコンピュータ（１０）にインストールされ得ることは当業者には明らかである。
【００９２】
さらに、ホストコントローラ２１ａ及び２１ｂは別々に識別されているが、一つのホストコントローラ又は任意の数のホストコンとローが利用され得ることは当業者には明らかである。
【００９３】
図１２は、USB周辺デバイスからホストコンピュータへのデータ送信を示すシーケンス線図である。
【００９４】
第一ホストコンピュータ（１０）における制御ロジック（５０）は、ＵＳＢリフレクタ（１１）へ第一ＩＮサブアクションを出すことによってデータ送信を開始する。第一ＩＮサブアクションは、ＵＳＢ周辺デバイス（１７）に関連する第一ＵＳＢアドレス及びエンドポイント（Ａ１，Ｅ１）にアドレス指定される。第一ＩＮサブアクションは、ＵＳＢリフレクタ（１１）における制御ロジック（５１）によって受信され、ローカルメモリに記憶される。制御ロジック（５１）は、エンドポイント（Ｅ１）に関連したＵＳＢエンドポイントタイプに適合する総合確認サブアクション(synthetic acknowledgement subaction)を生成し得る。総合確認サブアクションは、ＵＳＢ  ＮＡＫパケットを有し得る。
【００９５】
その後、第二ホストコンピュータ（１２）における制御ロジック（５２）が、ＵＳＢリフレクタ（１１）へ第二ＩＮサブアクションを出す。第二ＩＮサブアクションは、ＵＳＢリフレクタ（１１）の第二プロファイルに関連する第二ＵＳＢアドレス及びエンドポイント（Ａ２，Ｅ３）にアドレス指定される。ＵＳＢリフレクタ（１１）における制御ロジック（５１）は、第二ＩＮサブアクションを受信し、第一ＤＡＴＡサブアクションを応答する。第一ＤＡＴＡサブアクションにおけるペイロードは、記憶された第一ＩＮサブアクションを有する。第二ホストコンピュータ（１２）における制御ロジック（５２）は、第一ＤＡＴＡサブアクションを受信し、ＡＣＫサブアクションをＵＳＢリフレクタ（１１）に送信することによって、受信成功を応答確認し得る。
【００９６】
その後、第二ホストコンピュータ（１２）における制御ロジック（５２）は、受信した第一ＤＡＴＡサブアクションから第一ＩＮサブアクションを引き出し、引き出した第一ＩＮサブアクションを有する第一ネットワークパケットをアセンブルする。制御ロジック（５２）は、データ通信ネットワーク（１４）を通して、第一ネットワークパケットをＵＢ分配器（１５）に進める。ＵＳＢ分配器（１５）における制御ロジック（５３）は、第一ネットワークパケットを受信し、第一ネットワークパケットから第一ＩＮサブアクションを引き出し、引き出した第一ＩＮサブアクションをＵＳＢ周辺デバイス（１７）へ送る。
【００９７】
その後、送られた第一ＩＮサブアクションはＵＳＢ周辺デバイス（１７）における制御ロジック（５４）によって受信される。制御ロジック（５４）は、第二ＤＡＴＡサブアクションを生成し、生成した第二ＤＡＴＡサブアクションをＵＳＢ分配器（１５）に送る。送られた第二ＤＡＴＡサブアクションは、ＵＳＢ分配器（１５）における制御ロジック（５３）によって受信される。制御ロジック（５３）は、エンドポイント（Ｅ１）に関連したＵＳＢエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションは、ＵＳＢ  ＡＣＫパケットを有し得る。また、制御ロジック（５３）は、引き出した第一ＩＮサブアクションと受信した第二ＤＡＴＡサブアクションを、第二ネットワークパケットにアセンブルし、第二ネットワークパケットを、データ通信ネットワーク（１４）を通して第二ホストコンピュータ（１２）に送る。
【００９８】
その後、第二ホストコンピュータ（１２）における制御ロジック（５２）は、送られた第二ネットワークパケットを受信し、第一ＩＮサブアクション及び第二ＤＡＴＡサブアクションを引き出し、第一ＩＮサブアクション及び第二ＤＡＴＡサブアクションを有する第一ＯＵＴサブアクションをアセンブルする。制御ロジック（５２）は、第一ＯＵＴサブアクションをＵＳＢリフレクタ（１１）に送信する。第一ＯＵＴサブアクションは、ＵＳＢリフレクタ（１１）の第二プロファイルに関連する第三ＵＳＢアドレス及びエンドポイント（Ａ２，Ｅ４）にアドレス指定される。制御ロジック（５１）は、第一ＯＵＴサブアクションを受信し、第一ＩＮサブアクション及び第二ＤＡＴＡサブアクションを引き出し、引き出した第一ＩＮサブアクション及び第二ＤＡＴＡサブアクションをローカルメモリに記憶する。
【００９９】
さらにその後、第一ホストコンピュータ（１０）における制御ロジック（５０）は、第三ＩＮサブアクションをＵＳＢリフレクタ（１１）に出力する。第三ＩＮサブアクションは、再び、ＵＳＢ周辺デバイス（１７）に関連する第一ＵＳＢアドレス及びエンドポイント（Ａ１，Ｅ１）にアドレス指定される。ＵＳＢリフレクタ（１１）における制御ロジック（５１）は第三ＩＮサブアクションを受信し、第三ＩＮサブアクションが、記憶された第一ＩＮサブアクションと同じアドレス及びエンドポイント（Ａ１，Ｅ１）にアドレス指定されていることを認識する。制御ロジック（５１）は、ローカルメモリから記憶された第二ＤＡＴＡサブアクションを読み出し、読み出した第二ＤＡＴＡサブアクションを第一ホストコンピュータ（１０）に送る。第一ホストコンピュータ（１０）における制御ロジック（５０）は、エンドポイント（Ｅ１）に関連するＵＳＢエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションは、ＵＳＢ  ＡＣＫパケットを有し得る。
【０１００】
図１３は、ホストコンピュータからUSB周辺デバイスへのデータ送信を示すシーケンス線図である。
【０１０１】
第一ホストコンピュータ（１０）の制御ロジック（５０）は、ＵＳＢリフレクタ（１１）へ第一ＯＵＴサブアクションを送ることによってデータ送信を開始する。第一ＯＵＴサブアクションは、ＵＳＢ周辺デバイス（１７）に関連する第一ＵＳＢアドレス及びエンドポイント（Ａ１，Ｅ２）にアドレス指定される。第一ＯＵＴサブアクションは、ＵＳＢリフレクタ（１１）の制御ロジック（５１）によって受信され、ローカルメモリに記憶される。制御ロジック（５１）は、エンドポイント（Ｅ１）に関連したＵＳＢエンドポイントタイプに適合する総合確認サブアクションを生成し得る。総合確認サブアクションはＵＳＢ  ＮＡＫパケットを有し得る。
【０１０２】
その後、第二ホストコンピュータ（１２）の制御ロジック（５２）がＵＳＢリフレクタ（１１）に第一ＩＮサブアクションを送る。第二ＩＮサブアクションは、ＵＳＢリフレクタ（１１）の第二プロファイルに関連する第二ＵＳＢアドレス及びエンドポイント（Ａ２，Ｅ３）にアドレス指定される。ＵＳＢリフレクタ（１１）の制御ロジック（５１）は、第一ＩＮサブアクションを受信し、第一ＤＡＴＡサブアクションに応答する。第一ＤＡＴＡサブアクションにおけるペイロードは、記憶された第一ＯＵＴサブアクションを有する。第二ホストコンピュータ（１２）の制御ロジック（５２）は、第一ＤＡＴＡサブアクションを受信し、ＵＳＢリフレクタ（１１）へＡＣＫサブアクションを送信することによって受信成功を応答確認し得る。
【０１０３】
次いで、第二ホストコンピュータ（１２）の制御ロジック（５２）が、受信した第一ＤＡＴＡサブアクションから第一ＯＵＴサブアクションを引き出し、引き出した第一ＯＵＴサブアクションを有する第一ネットワークパケットをアセンブルする。制御ロジック（５２）は、データ通信ネットワーク（１４）を通して、第一ネットワークパケットをＵＢ分配器（１５）に進める。ＵＳＢ分配器（１５）における制御ロジック（５３）は、第一ネットワークパケットを受信し、第一ネットワークパケットから第一ＯＵＴサブアクションを引き出し、引き出した第一ＯＵＴサブアクションをＵＳＢ周辺デバイス（５４）へ送る。
【０１０４】
その後、送られた第一ＯＵＴサブアクションは、ＵＳＢ周辺デバイス（１７）の制御ロジック（５４）で受信される。制御ロジック（５４）は、第二確認サブアクションを生成し、生成した第二確認サブアクションをＵＳＢ分配器（１５）へ送る。送られた第二確認サブアクションは、ＵＳＢ分配器（１５）の制御ロジック（５３）によって受信される。また、制御ロジック（５３）は、引き出した第一ＯＵＴサブアクション及び受信した第二確認サブアクションを第二ネットワークパケットにアセンブルし、第二ネットワークパケットを、データ通信ネットワーク（１４）を通して第二ホストコンピュータ（１２）へ送る。
【０１０５】
次いで、第二ホストコンピュータ（１２）の制御ロジック（５２）は、送られた第二ネットワークパケットを受信し、第一ＯＵＴサブアクション及び第二確認サブアクションを引き出し、第一ＯＵＴサブアクション及び第二確認サブアクションを有する第二ＯＵＴサブアクションをアセンブルする。制御ロジック（５２）は、第二ＯＵＴサブアクションをＵＳＢリフレクタ（１１）に送信する。第二ＯＵＴサブアクションは、ＵＳＢリフレクタ（１１）の第二プロファイルに関連する第三ＵＳＢアドレス及びエンドポイント（Ａ２，Ｅ４）にアドレス指定される。制御ロジック（５１）は、第二ＯＵＴサブアクションを受信し、第一ＯＵＴサブアクション及び第二確認サブアクションを引き出し、引き出した第一ＯＵＴサブアクション及び第二確認さ部アクションをローカルメモリに記憶させる。
【０１０６】
さらにその後、第一ホストコンピュータ（１０）の制御ロジック（５０）が、ＵＳＢリフレクタ（１１）へ第三ＯＵＴサブアクションを出す。第三ＯＵＴサブアクションは、再び、ＵＳＢ周辺デバイス（１７）に関連する第一ＵＳＢアドレス及びエンドポイント（Ａ１，Ｅ２）にアドレス指定される。ＵＳＢリフレクタ（１１）の制御ロジック（５１）は第三ＯＵＴサブアクションを受信し、第三ＯＵＴサブアクションが、記憶されている第一ＯＵＴサブアクションと同じアドレス及びエンドポイント（Ａ１，Ｅ２）にアドレス指定されていることを識別する。制御ロジック（５１）は、ローカルメモリから記憶された第二確認サブアクションを読み出し、読み出した第二確認サブアクションを、第一ホストコンピュータ（１０）へ送る。
【０１０７】
それ自体は図示していないが、前もって説明したように、ホストコンピュータ１０及びホストコンピュータ１２は一つの同じホストコンピュータであってもよく、又は二つ又はそれ以上の独立したホストコンピュータであってもよいことは理解される。
【０１０８】
本発明によれば、先に説明した目標、目的及び利点を完全に満たすリモートコンピュータへＵＳＢデバイスを接続する方法及び装置が提供されることは明らかである。従って、本発明の具体的な実施例を説明することで、その変更、改良及び変化が当業者に暗示され得、本明細書が、特許請求の範囲の範囲内に入るそのような変更、改良及び変化を全て包含することを目的としていることは理解される。
【０１０９】
加えて、特に明記しない限り、用語「comprise（有する，備える）」及び「comprising」及び「comprises」は、明細書及び特許請求の範囲で使用される時は、他の付加的部材、構成要素、整数又はステップを排除するものではない。
【０１１０】
さらにまた、用語「substantially（実質的に）」又は「essentially（本質的に）」は、形容詞や副詞によって使用される場合、特定の特徴を強調するために用いられるもので、例えば、「実質的に平面」は、「平面」「ほとんど平面」及び／又は「平面な要素に関連する特徴を示す」ことを意図している。
【０１１１】
さらにまた、用語「彼(he)」「彼を(him)」又は「彼の(his)」は、男性の人を具体的に指すことを意図するものではなく、それぞれ「彼女(she)」「彼女を(her)」又は「彼女の(hers)」と読むことができるものである。
【０１１２】
また、この議論は、発明者に公知の従来技術を対処するものである一方、議論された全ての技術は、本出願に対して引用可能である。
【図１】
0005520951.tif 000002
【図２】
0005520951.tif 000003
【図３】
0005520951.tif 000004
【図４】
0005520951.tif 000005
【図５】
0005520951.tif 000006
【図６】
0005520951.tif 000007
【図７】
0005520951.tif 000008
【図８】
0005520951.tif 000009
【図９】
0005520951.tif 000010
【図１０】
0005520951.tif 000011
【図１１】
0005520951.tif 000012
【図１２】
0005520951.tif 000013
【図１３】
0005520951.tif 000014