(57)【要約】  さまざまな実施形態では、アップストリームポートに連結されたデバイスが、ＵＳＢ切替ハブのダウンストリームポートの総数に従い、ＵＳＢ切替ハブを列挙できる。一部の実施形態では、第一のアップストリームポートが第一のダウンストリームポートと通信しているとき、前記第二のアップストリームポートに連結したステータスレジスタが、前記第二のアップストリームポートに、前記第一のダウンストリームポートが切断されたことを示す。ダウンストリームポートの前記総数に従い、前記ＵＳＢ切替ハブを列挙することにより、前記アップストリームデバイスは、ダウンストリームデバイスが切り替えるたびに、ハブ（および、対応して前記ハブに連結した各デバイス）を再列挙しなくてもよい。一部の実施形態では、関連のダウンストリームポートとアップストリームポートの間に進行中の有効な送信が存在すれば、高度なポートルーティングスイッチが、前記ダウンストリームポートの通信切替を遅延できる。
2008536225.tif 000002
【特許請求の範囲】
【請求項１】
複数のアップストリームポートと、
複数Ｎ個のダウンストリームポートと、
前記複数のアップストリームポートと前記複数のダウンストリームポートとの間で連結されたダウンストリーム切替ロジックと、を備え、
前記ダウンストリーム切替ロジックは、
ａ）前記複数のダウンストリームポートのダウンストリームポートと前記複数のアップストリームポートの第一のアップストリームポートの間を、
ｂ）前記複数のダウンストリームポートの前記ダウンストリームポートと前記複数のアップストリームポートの第二のアップストリームポートの間へ、通信を電気的に切り替えるように構成され、  
前記ＵＳＢ切替ハブは、前記複数のアップストリームポートのそれぞれから実質的に同様なハブ構成で列挙されるように構成され、
前記ハブ構成はＮ個のダウンストリームポートを含む、ＵＳＢ切替ハブ。
【請求項２】
通信が切り替えられた場合、前記第一のアップストリームポートと前記第二のアップストリームポートに連結されたアップストリームデバイスは、ＵＳＢ切替ハブを再列挙する必要がない請求項１に記載のＵＳＢ切替ハブ。
【請求項３】
前記第一のアップストリームポートまたは前記第二のアップストリームに連結されたアップストリームデバイスは、前記複数のダウンストリームポートの合計数で、前記ＵＳＢ切替ハブを列挙するように動作可能である請求項１に記載のＵＳＢ切替ハブ。
【請求項４】
前記複数のアップストリームポートのそれぞれに連結された別のハブコントローラをさらに備える請求項１に記載のＵＳＢ切替ハブ。
【請求項５】
前記ハブコントローラのそれぞれに連結された別のセットのステータスレジスタをさらに備える請求項４に記載のＵＳＢ切替ハブ。
【請求項６】
周辺機器の通信が切り替えられると、前記周辺機器は前記第一のアップストリームポートから切断されて、接続イベントが前記第二のアップストリームポートの対応するステータスレジスタに登録され、  
前記対応するステータスレジスタが前記周辺機器に連結されたダウンストリームポートに関連付けられている請求項５に記載のＵＳＢ切替ハブ。
【請求項７】
前記第二のアップストリームポートに連結されたアップストリームデバイスをさらに備え、前記第二のアップストリームポートに連結されたアップストリームデバイスは、前記対応するステータスレジスタを読み取ると、前記第二のアップストリームポートに切り替えられている前記周辺機器をリセットしようとする請求項６に記載のＵＳＢ切替ハブ。
【請求項８】
前記ハブが最初に列挙されると、各ハブコントローラが前記同一のハブ構成で提供される請求項４に記載のＵＳＢ切替ハブ。
【請求項９】
前記ＵＳＢ切替ハブは、前記複数のアップストリームポートが別々のダウンストリームポートに同時にアクセスできるように構成される請求項１に記載のＵＳＢ切替ハブ。
【請求項１０】
前記ダウンストリーム切替ロジックに連結された高度なポートルーティングスイッチをさらに備える請求項１に記載のＵＳＢ切替ハブ。  
【請求項１１】
前記高度なポートルーティングスイッチは、前記ダウンストリームポートと前記第一のアップストリームポートの間で進行中の有効な転送が存在する場合、前記ダウンストリームポートの通信の切り替えを遅延させる請求項１０に記載のＵＳＢ切替ハブ。
【請求項１２】
前記高度なポートルーティングスイッチは、前記ダウンストリームポートと前記第二のアップストリームポートの間で進行中の有効な転送が存在する場合、前記ダウンストリームポートの通信の切り替えを遅延させる請求項１０に記載のＵＳＢ切替ハブ。
【請求項１３】
周辺機器をユニバーサル・シリアル・バス（ＵＳＢ）切替ハブのダウンストリームポートへ連結するステップと、
第一のアップストリームデバイスを前記ＵＳＢ切替ハブの第一のアップストリームポートへ連結するステップと、  
第二のアップストリームデバイスを前記ＵＳＢ切替ハブの第二のアップストリームポートへ連結するステップとを備え、
前記第一のアップストリームデバイスは、ＵＳＢ切替ハブのための第一のハブ構成を使用してＵＳＢ切替ハブを列挙し、
前記第二のアップストリームデバイスは、ＵＳＢ切替ハブのための前記第一のハブ構成に実質的に類似したハブ構成を使用してＵＳＢ切替ハブを列挙し、
前記周辺機器と前記第一のアップストリームポートとの間の通信を、前記周辺機器と前記第二のアップストリームポートへ切り替えるステップと、を備える通信を切り替える方法。
【請求項１４】
通信が切り替えられた場合、前記第二のアップストリームデバイスは、前記ＵＳＢ切替ハブを再列挙する必要がない請求項１３に記載の方法。
【請求項１５】
前記切り替えられたダウンストリームポートに対し、前記第一のアップストリームポートに連結されたステータスレジスタに切断ステータスを示すステップをさらに備える請求項１３に記載の方法。
【請求項１６】
前記切り替えられたダウンストリームポートに対し、前記第二のアップストリームポートに連結されたステータスレジスタに接続イベントを示すステップをさらに備える請求項１３に記載の方法。
【請求項１７】
前記ダウンストリームポートと前記第一のアップストリームポートの間に進行中の有効な転送が存在すれば、前記ダウンストリームポートの通信の切り替えを遅延させるステップをさらに含み、通信の切り替えは高度なポートルーティングスイッチにより遅延させられる請求項１３に記載の方法。
【請求項１８】
ダウンストリームポートと前記第二のアップストリームポートの間に進行中の有効な転送が存在すれば、前記ダウンストリームポートの通信の切り替え遅延させるステップをさらに含み、通信の切り替えは高度なポートルーティングスイッチにより遅延させられる請求項１３に記載の方法。
【請求項１９】
ＵＳＢ切替ハブであって、
複数のアップストリームポート、
複数のダウンストリームポート、
前記複数のアップストリームポートと前記複数のダウンストリームポートとの間で結合されたダウンストリーム切替ロジック、
前記複数のアップストリームポートのそれぞれに連結された別のハブコントローラ、
各別のハブコントローラに連結された別のセットのステータスレジスタ
を有する前記ＵＳＢ切替バスと、
それぞれが、前記ＵＳＢ切替ハブの前記複数のアップストリームポートのそれぞれに連結される複数のアップストリームデバイスと
を備え、
前記ＵＳＢ切替ハブは、前記複数のアップストリームポートのそれぞれ１つに連結された前記複数のアップストリームデバイスのそれぞれにより、実質的に類似したハブ構成で列挙されるように構成され、
前記複数のダウンストリームポートのサブセットと前記複数のアップストリームポートの第一のアップストリームポートとの間の通信から、前記複数のアップストリームポートの第二のアップストリームポートへ切り替えることが、前記第一のアップストリームポートのハブコントローラに連結されたステータスレジスタに切断ステータスを示し、前記第二のアップストリームポートのハブコントローラに連結された前記ステータスレジスタに接続イベントを示すことを含む、システム。
【請求項２０】
前記複数のアップストリームデバイスの第一のアップストリームデバイスが前記第一のアップストリームポートに連結され、前記複数のアップストリームデバイスの第二のアップストリームデバイスが前記第二のアップストリームポートに連結され、前記第一のアップストリームデバイスと前記第二のアップストリームデバイスは、前記複数のダウンストリームポートのサブセットの間の通信が前記第一のアップストリームポートから前記第二のアップストリームポートに切り替えられたとき、前記ＵＳＢ切替ハブを再列挙する必要がない請求項１９に記載のＵＳＢ切替ハブ。
【請求項２１】
前記ダウンストリームポートと前記第一のアップストリームポートの間に進行中の有効な転送が存在する場合、前記ダウンストリームポートの前記サブセットの通信の切り替えを遅延させることをさらに含み、通信の切り替えは高度なポートルーティングスイッチにより遅延させられる請求項１９に記載のＵＳＢ切替ハブ。
【請求項２２】
前記複数のダウンストリームポートのサブセットの少なくとも１つのダウンストリームポートと前記第二のアップストリームポートの間に進行中の有効な転送が存在する場合、前記複数のダウンストリームポートの前記サブセットの通信の切り替えを遅延させることをさらに含み、通信の切り替えは、高度なポートルーティングスイッチにより遅延させられる請求項１９に記載のＵＳＢ切替ハブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にコンピュータハードウェアに関連し、さらに具体的には、ユニバーサル・シリアル・バス(ＵＳＢ)切替ハブに関連する。
【背景技術】
【０００２】
ユニバーサル・シリアル・バス（ＵＳＢ）により、周辺機器をコンピュータシステムに連結できるようになる。ＵＳＢとは、ホストコンピュータと、広範囲にわたる、同時アクセス可能な機器とのデータ交換のためのシリアルケーブルバスである。バスにより、ホストが稼動中に、周辺機器の取り付け、構成、使用、取り外しが可能になる。例えば、ＵＳＢプリンタ、スキャナ、デジタルカメラ、ストレージデバイス、カードリーダーなどは、ＵＳＢによりホストコンピュータと通信できる。ＵＳＢベースのシステムは、ＵＳＢホストコントローラがホストシステムに存在し、かつ、ホストシステムのオペレーティングシステム（ＯＳ）がＵＳＢやＵＳＢマスストレージクラスデバイスをサポートしていなければならない。
【０００３】
ＵＳＢデバイスは、低速（ＬＳ）、フル速度（ＦＳ）、または高速（ＨＳ）でＵＳＢバスで通信できる。ＵＳＢデバイスとホストの間の通信は、４本のワイヤ（電源、アースライン、２本のデータライン（Ｄ＋とＤ−））を含む。ＵＳＢデバイスがホストに接続するとき、ＵＳＢデバイスは、Ｄ＋ラインのプルアップ抵抗器を使用して、まずＤ＋ライン（デバイスが低速デバイスの場合はＤ−ライン）を高レベルにあげる。ホストは、ＵＳＢデバイスをリセットすることにより応答する。ＵＳＢデバイスが高速のＵＳＢデバイスの場合、ＵＳＢデバイスはリセット中にＤ−ラインを高レベルに押し上げることにより「チャープ」できる。ホストは、Ｄ＋とＤ−ラインを交互に高レベルに押し上げることにより、「チャープ」に応答できる。そして、ＵＳＢデバイスは、プルアップ抵抗器を電気的に除去して、高速での通信を継続できる。切断する場合、高速のＵＳＢデバイスがＤ＋とＤ−ライン両方をトライステートにする間に、高速デバイスはＤ＋ラインからプルアップ抵抗器を除去できる（つまり、ラインを「トライステートにする」）。
【０００４】
複数のＵＳＢデバイスが、ＵＳＢホストコントローラからホストシステムに連結できるようにするため、ＵＳＢハブをＵＳＢホストコントローラに連結することができる。さらに、ＵＳＢホストコントローラに追加のＵＳＢデバイス接続を提供するため、他のＵＳＢハブをＵＳＢハブに連結することができる。
【０００５】
一部のデュアルロール周辺機器は、スレーブコントローラを含むことができ、これらに連結された他の周辺機器と通信できる。例えば、デュアルロールＵＳＢプリンタは、ＵＳＢカメラと直接通信できるので、ＵＳＢカメラから写真を印刷できる。また、デュアルロールＵＳＢプリンタは、スレーブ周辺機器として（例えば、コンピュータシステムにより）アクセス可能にすることもできる。コンピュータシステムとデュアルロール周辺機器が周辺機器に交互にアクセスする必要がある場合、周辺機器は、あるデバイスから切り離して、その他のデバイスに連結するようにする必要が生じる場合がある。先行技術のデバイススイッチは、高速の周辺機器では機能しない場合がある。例えば、機械式スイッチは、導入するキャパシタンスまたはインダクタンスが多すぎて、高速周辺機器と作動できない場合がある。また、高速の周辺機器は、典型的に、リンギングを防止する平坦なインピーダンスも要求する（機械式スイッチはインピーダンスを不規則にし、リンギングを発生させる可能性がある）。
【発明の開示】
【課題を解決するための手段】
【０００６】
さまざまな実施態様では、ＵＳＢ切替ハブのアップストリームポートに連結されたデバイスは、ＵＳＢ切替ハブのダウンストリームポートの総数に従い、ＵＳＢ切替ハブを列挙できる。一部の実施態様では、ダウンストリームポートとアップストリームポートそれぞれの間の通信を、ＵＳＢ切替ハブにより制御できる。一部の実施態様では、第一のアップストリームポートが第一のダウンストリームポートと通信しているとき、第二のアップストリームポートは第一のダウンストリームポートが切断されることを認識できる。例えば、第二のアップストリームポートに連結されたステータスレジスタは、第一のダウンストリームポートが切断されていることを示すことができる（つまり、第一のダウンストリームポートには電気的に接続されているデバイスがないことを表示）。切断ステータスは、別のアップストリームデバイスが、第一のアップストリームポートから第一のダウンストリームデバイスに通信している間に、第二のアップストリームデバイスが、第一のダウンストリームポートに連結されたダウンストリームデバイスをリセットして接続しようとすることを防止できる。ダウンストリームポートの総数に従い、ＵＳＢ切替ハブを列挙することにより、アップストリームデバイスは、ダウンストリームデバイスを切り替えるたびに、ハブ（および、ハブに対応して連結された各デバイス）を再列挙しない。
【０００７】
一部の実施態様では、ダウンストリームポートと第一のアップストリームポートの間に進行中の有効な送信が存在する場合、インテリジェントポートルーティングスイッチ（ＩＰＲＳ）が、ダウンストリームポートの通信の切り替えを遅延させることができる。一部の実施態様では、ダウンストリームポートと第二のアップストリームポートの間に進行中の有効な送信が存在する場合、ＩＰＲＳは、ダウンストリームポートの通信の切り替えを遅延させる。
【０００８】
その他の保留中または進行中の有効な送信が存在する場合、ＩＰＲＳはその他のダウンストリームポート間の通信の切り替えを遅延させることができる。一部の実施態様では、ＩＰＲＳは、ハブコントローラレベルで通信を監視し、または、ダウンストリームの切替ロジックレベルで通信を管理できる。ダウンストリームポートとアップストリームポートの間にはその他の配置も使用できる。一部の実施態様では、通信の切り替えを遅延させるためのインテリジェントモニターまたは外部の方法に依存する代わりに、切り替えをＵＳＢフレーム境界で発生するように遅延させる（定義では、トラフィックが進行することを許可されないとき）。これらの実施態様では、切り替えは、インテリジェントモニターの結果ではなく、既定のフレーム境界まで遅延させることができる。
【発明を実施するための最良の形態】
【０００９】
本発明は、以下の図面を参照して以下の詳細説明を検討すると、さらに理解が深まるであろう。
【００１０】
本発明は、さまざまな変更や代わりの形式を受け入れるが、その特定の実施形態は一例として図面で示されており、ここに詳細を説明する。しかしながら、本開示の図面や詳細説明は、本発明を開示における特定の形式に限定することを目的とするものではなく、添付の請求により定義される本発明の精神と範囲内にあるすべての変更、均等物、代替物を対象とすることを目的とすることを理解されたい。見出しは構成のみを目的としており、説明または請求を限定または解釈するために使用されることを意図したものではない。さらに、「できる」は本明細書全体で許容の意味（例えば、可能性または一部の実施形態では可能の意味を持つ）において使用され、必須の意味（つまり、しなくてはならない）で使用されていないことに注意する。「含む」やその派生は、「含んでいるが、これらに限定されない」ことを意味する。「連結される」は「直接または間接に接続される」ことを意味する。
【００１１】
図１は、ＵＳＢ切替ハブの一つの実施形態を説明する。さまざまな実施形態では、ＵＳＢ切替ハブ１１９は、ＵＳＢ切替ハブ１１９の２つ以上のアップストリームポート１１７と、ＵＳＢ切替ハブ１１９のダウンストリームポート１２１の少なくとも１つのサブセットとの間のアクセスを制御することができる。
【００１２】
一部の実施形態では、アップストリームポート１１７に連結されたアップストリームデバイスは、ダウンストリームポート１２１の総数（Ｎ）に従い、ＵＳＢ切替ハブ１１９を列挙できる。例えば、ＵＳＢ切替ハブ１１９を、４ポートハブとして列挙できる（４つのダウンストリームポート１２１に対応する）。一部の実施形態では、それぞれのダウンストリームポート１２１、アップストリームポート１１７間の通信は、ＵＳＢ切替ハブ１１９により制御できる。一部の実施形態では、第一のアップストリームポート１１７ａが第一のダウンストリームポート１２１ａと通信しているとき、第二のアップストリームポート１１７ｂは第二のダウンストリームポート１２１ｃと通信できる。第二のアップストリームポート１１７ｂは、第一のダウンストリームポート１２１ａが切断されているとして登録できる。例えば、第二のアップストリームポート１１７ｂに連結されたステータスレジスタは、第一のダウンストリームポート１２１ａが切断されていることを示すことができる（つまり、第一のダウンストリームポート１２１ａには電気的に接続されているデバイスがないことを表示）。切断ステータスは、別のアップストリームデバイスが第一のアップストリームポート１１７ａから第一のダウンストリームデバイス１２５ａと通信している間、第二のアップストリームデバイス１１７ｂが、第一のダウンストリームデバイス１２１ａに連結した第一の周辺機器１２１ａをリセットして接続しようとすることを防止することができる。ＵＳＢ切替ハブ１１９を４ポートのハブとして列挙することにより、アップストリームデバイスは、ダウンストリームデバイスが切り替えられるたびに、ＵＳＢ切替ハブ１１９（および、対応して、ＵＳＢ切替ハブに連結した各ダウンストリームおよび／またはアップストリームデバイス）を再列挙しなくてもよい。
【００１３】
一部の実施形態では、１つのアップストリームデバイスだけが一度に任意の１つのダウンストリームデバイスにアクセスできる。一部の実施形態では、複数のアップストリームデバイスが同時に別々のダウンストリームデバイスにアクセスできる。一部の実施形態では、さまざまな通信構成を実装できる。例えば、第一のアップストリームポート１１７ａは、最初の３つのダウンストリームポート（１２１ａ、１２１ｂ、１２１ｃ）にアクセスすることが許され、第二のアップストリームポート１１７ｂは、第四のダウンストリームポート１２１ｄにアクセスすることが許されるようにすることができる。第一のアップストリームポート１１７ａと第二のアップストリームポート１１７ｂに連結されたデバイスは、ＵＳＢ切替ハブ１１９を４ポートのハブとして列挙したが、この例では、第一のアップストリームポート１１７ａに連結されたデバイスは、第四のダウンストリームポート１２１ｄを切断と登録でき、第二のアップストリームポート１１７ｂに連結されたデバイスは最初の３つのダウンストリームポート（１２１ａ、１２１ｂ、１２１ｃ）を切断として登録できる。
【００１４】
第二の通信構成では、第一のアップストリームポート１１７ａは、第四のダウンストリームポート１２１ｄにアクセスすることを許可され、第二のアップストリームポート１１７ｂは、最初の３つのダウンストリームポート（１２１ａ、１２１ｂ、１２１ｃ）にアクセスすることを許可されるようにすることができる。その他の通信構成も可能である（例えば、ある通信構成では、どちらのアップストリームポート１１７も、どのダウンストリームポート１２１へもアクセスすることを許可されないようにすることができる）。一部の実施形態では、ＵＳＢ切替ハブ１１９は、（例えば、コンピュータ、取り付けた別のデバイス、人、センサー、ＵＳＢ切替ハブ１１９内部のロジックからなどの）制御信号を受信後、第一の通信構成と第二の通信構成（または別の通信構成）間を切り替えることができる。一部の実施形態では、ＵＳＢ切替ハブ１１９は、通信構成を切り替えるまで（例えば、第一のダウンストリームデバイス１２５ａに対するアクセスを第一のアップストリームポート１１７ａから第二のアップストリームポート１１７ｂに切り替えるまで）、制御信号を受信できない。
【００１５】
図２は、ＵＳＢ切替ハブ１１９に連結されたコンピュータシステム１０１の実施形態を示す。一部の実施形態では、コンピュータシステム１０１（例えば、ＰＣ（パーソナルコンピュータ）、ラップトップ、サーバーなど）は、ＵＳＢ切替ハブ１１９に連結された複数の周辺機器１２５にアクセスできる。コンピュータシステム１０１は、アップストリームポート１１７からＵＳＢ切替ハブ１１９に連結される。コンピュータシステム１０１は、デバイスポート１１５に連結されたホストコントローラ１１１を介して、ＵＳＢ信号などの信号を受信し送信することができる。さまざまな実施形態はコンピュータシステム１０１を含むことができるが、ホストコントローラを有するその他のデバイスもＵＳＢ切替ハブ１１９にアクセスできることを理解されたい。ホストコントローラ１１１は、サウスブリッジ１１３に連結されており、ＰＣＩバス１０９を介して、その他のコンピュータコンポーネント（例えば、ノースブリッジ１０５、中央演算処理装置（ＣＰＵ）１０３、システムメモリ１０７）に連結される。
【００１６】
一部の実施形態では、ＵＳＢ切替ハブ１１９は、複数の周辺機器１２５に連結するために、複数のダウンストリームポート１２１を持つことができる。周辺機器１２５は、ＵＳＢプリンタ、スキャナ、デジタルカメラ、デジタルカメラドック、一般オーディオ／ビデオ、ストレージデバイス、カードリーダーなどを含むことができる。一部の実施形態では、周辺機器１２５を、インターフェイス１２３を介してＵＳＢ切替ハブ１１９に連結できる。一部の実施形態では、インターフェイス１２３は、ＰＨＹインターフェイスである。その他のインターフェイスも使用できる（例えば、ＵＴＭＩまたはＵＬＰＩ）。アップストリームポート１１７とダウンストリームポート１２１もインターフェイスを持つことができる。
【００１７】
図３は、ＵＳＢ切替ハブ１１９に連結された２つのアップストリームデバイス（例えば、コンピュータシステム１０１やデュアルロール周辺機器２０７）の実施形態を示す。一部の実施形態では、ＵＳＢ切替ハブ１１９は、１つ以上のハブコントローラ２０３（例えば、ハブコントローラ２０３ａと２０３ｂ）に連結されたダウンストリーム切替ロジック２０１を含むことができる。また、ダウンストリーム切替ロジック２０１はトランザクション変換回路２０５にも連結されている。トランザクション変換機能２０５を、ダウンストリームポート１２１に電気的に連結できる。一部の実施形態では、ダウンストリーム切替ロジック２０１は、２つ以上の通信構成間を切り替えることができる。通信構成は、通信がデジタルドメインにある間に、アップストリームポート１１７とダウンストリームポート１２１の間の通信をルートするダウンストリーム切替ロジック２０１により実装できる（ＵＳＢ切替ハブ１１９へ／からのインターフェイスの結果として）。一部の実施形態では、通信構成（例えば、ＵＳＢ切替ハブ内に組み込まれた）は、ＵＳＢ切替ハブのロジックにより決定されているように切り替えることができる。その他の通信構成実装も想定できる。
【００１８】
一部の実施形態では、デュアルロール周辺機器２０７は、デュアルロールＵＳＢプリンタまたはデュアルロールＵＳＢデジタル多用途ディスク（ＤＶＤ）読み取り／書き込みドライブなどを含むことができる。一部の実施形態では、デュアルロール周辺機器２０７は、デバイスポート２１０から、ＵＳＢ切替ハブ１１９のアップストリームポート（例えば、アップストリームポート１１７ｂ）に連結される。デュアルロール周辺機器２０７は、アップストリームポート１１７ｂから、ＵＳＢ切替ハブ１１９に（例えば、デュアルロール周辺機器２０７のホストコントローラ２０９を使用して）連結されたその他の周辺機器（ダウンストリームの周辺機器）とインターフェイスで結合できる。また、デュアルロール周辺機器２０７は、スレーブコントローラを介し、その他のアップストリームデバイス（コンピュータシステム１０１など）ともインターフェイスで結合できる。例えば、デュアルロール周辺機器２０７を、スレーブ周辺機器としてＵＳＢ切替ハブ１１９に（例えば、ダウンストリームポート１２１ｃから）連結できる。一部の実施形態では、デュアルロール周辺機器２０７は、ＵＳＢ切替ハブに連結され、１つ以上の周辺機器へのホストとして、および／または別のホストへのスレーブ周辺機器として、同時に機能することができる。
【００１９】
一部の実施形態では、デュアルロール周辺機器２０７は、スダンドアロンシステムとして作動するため、組み込まれたホストコントローラアプリケーションを持つことができる（例えば、ＰＣが関与せずに、デジタルカメラなどの別の周辺機器と通信するため）。例えば、デュアルロールＵＳＢプリンタは、ＰＣが関与することなく、ＵＳＢ切替ハブ１１９のダウンストリームポート１２１に連結されたデジタルカメラから写真を直接印刷できる。一部の実施形態では、ＵＳＢ切替ハブ１１９は、代わりに、（例えば、１つ以上の通信構成を切り替えることにより）コンピュータシステム１０１またはデュアルロール周辺機器２０７が、１つ以上のダウンストリームデバイスにアクセスすることを可能にする。
【００２０】
図４ａでは、複数の周辺機器に電気的に連結されたコンピュータシステムの実施形態を説明する。一部の実施形態では、ＵＳＢ切替ハブ１１９は、１つ以上のダウンストリームポートを共有できる複数の内部の「ハブ」と連結しているスイッチのように機能することができる。例えば、ＵＳＢ切替ハブの可能な通信構成それぞれは、内部の「ハブ」を表している。一部の実施形態では、コンピュータシステム１０１がＵＳＢ切替ハブ１１９に連結された周辺機器１２５（例えば、周辺機器１２５ａ）にアクセスしているとき、周辺機器への／からの通信は、第一のアップストリームポート１１７ａ、ハブコントローラ２０３ａ、トランザクション変換機能２０５、ダウンストリームポート１２１の少なくとも１つのサブセットを備える第一の「ハブ」を介して処理できる。第二の「ハブ」は、第二のアップストリームポート１１７ｂ、ハブコントローラ２０３ｂ、トランザクション変換機能２０５、ダウンストリームポート１２１の少なくとも１つのサブセットを備えることができる。ある通信構成では、コンピュータシステム１０１は、（第一の「ハブ」を介して）ダウンストリームポート１２１ａと１２１ｃに接続され、デュアルロール周辺機器２０７は、（第二の「ハブ」を介して）（図４ｂに示されるように）ダウンストリームポート１２１ｂと１２１ｄに接続される。その他の通信構成も想定できる。一部の実施形態では、どのダウンストリームデバイスを各アップストリームポートに連結するかを決定する通信構成のプロファイルは、ハードウェアに組み込む、またはソフトウェアにより実装することができる。例えば、ソフトウェアにより実装される場合、各アップストリームポート（および／またはアップストリームデバイス）の通信構成プロファイルは、ＵＳＢ切替ハブ１１９にアクセス可能なメモリ上に保管できる。
【００２１】
一部の実施形態では、コンピュータシステム１０１とデュアルロール周辺機器２０７は、ＵＳＢ切替ハブ１１９から、別のダウンストリームデバイスと同時に通信できる。例えば、コンピュータシステム１０１が（例えば、第一の「ハブ」を介して）デバイス１２５ａと通信している間に、デュアルロール周辺機器２０７は、（例えば、第二の「ハブ」を介して）デバイス１２５ｂと通信できる。一部の実施形態では、周辺機器が第一の「ハブ」を介してアクセスされている間、別のアップストリームデバイスは、周辺機器１２５ａにアクセスできないようにすることができる（例えば、周辺機器１２５ａがコンピュータシステム１０１により使用されている間、デュアルロール周辺機器２０７は、周辺機器１２５ａにアクセスできないようにすることができる）。一部の実施形態では、（例えば、外部の制御ブロックからの）信号は、ダウンストリーム切替ロジック２０１をトリガして、第一の「ハブ」のダウンストリームポート１２１（例えば、ダウンストリームポート１２１ａおよび／または１２１ｃ）のサブセットのアクセスを第二の「ハブ」に切り替える（つまり、切替通信構成を切り替える）ことができる。一部の実施形態では、デュアルロール周辺機器２０７は、制御信号をＵＳＢ切替ハブ１１９に送信する。すると、ＵＳＢ切替ハブ１１９は、１つ以上のダウンストリームポートに接続する通信構成をデュアルロール周辺機器に切り替えることができる。例えば、ユーザーがデュアルロール周辺機器２０７（例えば、デュアルロールプリンタ）のボタンを押すと、信号はモード２１１でダウンストリーム切替ロジック２０１に送信されて、デバイス１２５ａのアクセスを、コンピュータシステム１０１から、デュアルロール周辺機器２０７に切り替える（つまり、図４ｂに示されているように第二の通信構成に切り替える）ことができる。コンピュータシステム１０１は、続けて、ダウンストリームポート（および／または、第二の通信構成により決定されているその他のダウンストリームポート）１２１ｃと通信できる。
【００２２】
一部の実施形態では、デュアルロール周辺機器２０７とダウンストリームポートの間でアクティビティが検出されなくなると（例えば、デュアルロール周辺機器２０７の電源が切られていると）、ダウンストリーム切替ロジック２０１は、ダウンストリームポートのアクセスをコンピュータシステム１０１に切り替えることができる（つまり、別の通信構成に切り替える）。一部の実施形態では、ダウンストリーム切替ロジック２０１は、ダウンストリームポートのアクセスを別のアップストリームデバイスに切り替えることができる。一部の実施形態では、アクティビティがないことを検出する代わりに、デュアルロール周辺機器２０７からの信号は、ＵＳＢ切替ハブ１１９に切り替えるように信号を送ることができる。通信構成を切り替えるタイミングを決定する場合に、その他の信号および／またはロジックも使用できる。
【００２３】
一部の実施形態では、通信構成はソフトウェアにより実装できる。一部の実施形態では、ダウンストリーム切替ロジック２０１に連結した、または備えられたマイクロプロセッサは、例えば、動的通信構成プロファイルを使用して、各アップストリームポートに電気的に連結するダウンストリームポートを動的に決定できる。例えば、マイクロプロセッサは、保管された通信構成プロファイルを読み取ることができ、その通信構成プロファイルに従い、アップストリームポートをダウンストリームポートに接続しようとする。通信構成プロファイルは、ＵＳＢ切替ハブ１１９に連結されたメモリ（例えば、電気的に削除できるプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ））に保管できる。一部の実施形態では、ＵＳＢ切替ハブ１１９のハブコントローラ２０３は、通信構成プロファイルへのアクセスを持つことができる。
【００２４】
一部の実施形態では、通信構成を切り替えるために優先ロジックを使用できる。優先ロジックまたはアクセスを与えるために使用されるその他のロジックは、ＵＳＢ切替ハブ１１９の内部または外部に設けることができる。一部の実施形態では、１つ以上のダウンストリームポート１２１のアクセスをデュアルロール周辺機器２０７に切り替えるように、外部制御信号がデュアルロール周辺機器２０７から送信されるまで、コンピュータシステム１０１にすべてのダウンストリームポート１２１よりも優先権を与えることができる。一部の実施形態では、さまざまな制御信号を送信して、さまざまな通信構成をトリガできる（つまり、さまざまなダウンストリームポートのアクセスをデュアルロール周辺機器２０７に切り替える）。
【００２５】
一部の実施形態では、使用する通信構成を決定するためにホストネゴシエーションロジックを使用できる。一部の実施形態では、複数のアップストリームデバイスが同じダウンストリームポートへのアクセスを「要求する」まで、デフォルトの通信構成を使用する。ホストネゴシエーションロジックは、使用する通信構成（つまり、どの通信構成が、「要求された」ダウンストリームポートへの特定のアップストリームポートアクセスを与えるか）を決定するために使用される。
【００２６】
一部の実施形態では、ＵＳＢ切替ハブ１１９のマイクロプロセッサが、ダウンストリーム周辺機器を自動検出して、ダウンストリーム周辺機器の接続方法を決定する内蔵アルゴリズムを含むことができる。例えば、特定のダウンストリームポートをアップストリームポートに割り当てる代わりに、通信構成プロファイルが、デジタルカメラが取り付けられていれば、アップストリームポートがデジタルカメラにアクセスしなければならないことを指定できる。内蔵のアルゴリズムは、ダウンストリームポートの１つに取り付けられている場合にデジタルカメラを自動検出できて、適切なストリームポートに（つまり、適切な通信構成に切り替えることにより）取り付けることができる。
【００２７】
一部の実施形態では、ダウンストリーム切替ロジック２０１が、通信構成を切り替えて、ダウンストリームポートの制御がコンピュータシステム１０１からデュアルロール周辺機器２０７に切り替えられるとき、コンピュータシステム１０１とそれぞれの（切り替えられるダウンストリームポートに連結されている）周辺機器１２５の間の接続は、コンピュータシステム１０１により終了できる。一部の実施形態では、切り替えられるダウンストリームポートとコンピュータシステム１０１の間の通信は、ＵＳＢ切替ハブ１１９により終了できる。そして、デュアルロール周辺機器２０７は、切り替えられたダウンストリームポートに連結されたそれぞれの周辺機器１２５に接続され、列挙され、通信することができる。
【００２８】
アップストリームデバイスは、取り付けるように構成されていないダウンストリームポートを取り付けられていない（つまり、有効であるが、デバイスが接続されていない）ポートとして見ることができる。一部の実施形態では、ダウンストリームポートの既定の数のみが特定のアップストリームポート（例えば、「ｘ」番のポート）に取り付けられる場合、ハブがｘポートだけを持つことをアップストリームデバイスに信号で伝えることができる。例えば、アップストリームポート１１７ｂを、ダウンストリームポート１２１ｃと１２１ｄだけに取り付けるように構成する場合、アップストリームポート１１７ｂに取り付けられたデバイスに、ＵＳＢ切替ハブ１１９は２つのポートだけを持つハブであることを信号で伝えることができる。
【００２９】
図５ａ、５ｂ、５ｃで、ＵＳＢ切替ハブ４１９に連結されたコンピュータシステム１０１と２つのデュアルロール周辺機器のさまざまな実施形態を説明する。一部の実施形態では、複数のデュアルロール周辺機器は、ＵＳＢ切替ハブ４１９に連結される。例えば、デュアルロールプリンタ４０７は、アップストリームポート４１７ｂからＵＳＢ切替ハブ４１９に連結され、デュアルロールＤＶＤ読み取り／書き込みドライブ４６７は、アップストリームポート４１７ｃからＵＳＢ切替ハブ４１９に連結される。コンピュータシステム１０１は、アップストリームポート４１７ａからＵＳＢ切替ハブ４１９に連結される。アップストリームデバイスのそれぞれは、それぞれハブコントローラ４０３、ダウンストリーム切替ロジック４０１、トランザクション変換機能４０５に連結される。ダウンストリーム切替ロジック４０１は、それぞれのアップストリームデバイス（つまり、コンピュータシステム１０１、デュアルロールプリンタ４０７またはデュアルロールＤＶＤ読み取り／書き込みドライブ４６７）と周辺機器４２５の少なくとも１つのサブセットの間の通信を構成できる。
【００３０】
図５ａに示されているように、ある通信構成プロファイルでは、コンピュータシステム１０１は、ダウンストリームポート４２１ａ、４２１ｂ、４２１ｅ、４２１ｆに接続される。ある実施形態では、デュアルロールプリンタ７０４は、ダウンストリームポート４２１ｃにアクセスするように構成され、ＤＶＤ読み取り／書き込みドライブ４６７は、いかなるダウンストリームポート４２１にもアクセスしないように構成される。デュアルロールプリンタ４０７は、いくつかのさまざまな方法により、ダウンストリームポート４２１ｂへのアクセスを得ることができる（つまり、アクセスを与えるように切り替えられた通信構成を持つ）。例えば、ユーザーはデュアルロールプリンタ４０７のボタンを押す。すると、モード４１１で、ＵＳＢ切替ハブ４１９のダウンストリーム切替ロジック４０１に信号を送ることができる。ダウンストリーム切替ロジック４０１は、図５ｂに示した通信構成に切り替えることができる（デュアルロールプリンタ４０７はダウンストリームポート４２１ｂにアクセスできるようになる）。一部の実施形態では、デュアルロールプリンタ４０７が、電源を切られるか、有効でなくなる場合、ダウンストリーム切替ロジック４０１は、ダウンストリームポート４２１ｂのアクセスをコンピュータシステム１０１に戻すように切り替える（つまり、前の通信構成に戻す）ことができる。図５ｃに示されるように、ひとつの通信構成では、いかなるアップストリームも、いかなるダウンストリームポートへのアクセスを許可されないようにすることができる。
【００３１】
図６は、ＵＳＢ切替ハブの統一機能の実施形態を説明する。一部の実施形態では、個別のハブコントローラの代わりに、統一ハブコントローラ５０３を使用できる。例えば、それぞれのアップストリームポートの通信を処理している個別のハブコントローラの代わりに、統一ハブコントローラがアップストリームポートのそれぞれの通信を処理できる。同様に、統一トランザクション変換機能５０５は、それぞれのアップストリームポートに使用される。また、図６に示されているように、一部の実施形態では、アップストリームポートスイッチ５５１を使用される。例えば、アップストリームポートスイッチ５５１は、ダウンストリーム切替ロジックの代わりにさまざまな通信構成を実装できる。
【００３２】
一部の実施形態では、ＵＳＢ切替ハブ（例えば、ＵＳＢ切替ハブ４１９またはＵＳＢ切替ハブ５１９）のトランザクション変換機能は、アップストリームポートが、他のアップストリームポートに対応し、さまざまな通信速度で通信できるようにすることができる。例えば、あるアップストリームポートは高速デバイスだけに連結できるので、高速で通信でき、別のアップストリームポートはフル速度デバイスだけに連結できるので、フル速度で通信できる。一部の実施形態では、アップストリームポートは、トランザクション変換機能のために、さまざまな速度でさまざまなダウンストリームポートと通信可能にすることができる。
【００３３】
図７は、ＵＳＢ切り替えハブの２つのアップストリームポート間のダウンストリームポートへのアクセスを切り替えるための方法の実施形態を示す。以下に説明する方法のさまざまな実施形態では、説明される１つ以上の要素は、同時に、示されているのとは異なる順序で、実施することができる、または、完全に省くことができることに注意されたい。必要に応じて、その他の追加の要素も実施できる。
【００３４】
７０１で、ＵＳＢ切替ハブは、第一の通信構成と第二の通信構成の間を切り替えることをＵＳＢ切替ハブに伝える信号を受信する（例えば、外部の制御信号）。例えば、切替通信構成は、第一のダウンストリームポートのアクセスを第一のアップストリームポートから第二のアップストリームポートに切り替える。一部の実施形態では、ユーザーはＵＳＢ切替ハブに連結されたデュアルロール周辺機器のボタンを押す。そして、デュアルロール周辺機器は、ＵＳＢ切替ハブに、１つ以上の通信構成の間を切り替えるように信号で伝えるために、外部の制御信号をＵＳＢ切替ハブに送信できる。一部の実施形態では、信号は内部信号である（例えば、ＵＳＢ切替ハブ内部のロジックにより生成される）。
【００３５】
７０３で、第一のアップストリームポートに連結されたホストと、第一のダウンストリームポートに連結された第一の周辺機器の間の通信を終了する。一部の実施形態では、ダウンストリーム周辺機器のサブセットの通信を終了できる。
【００３６】
７０５で、ＵＳＢ切替ハブは、第一のダウンストリームポートのアクセスを第二のアップストリームポートに与えるために、第一の通信構成と第二の通信構成の間を切り替えることができる。一部の実施形態では、通信構成スイッチは、ダウンストリーム周辺機器のサブセットに対して影響を与えることができる。
【００３７】
７０７で、第二のアップストリームポートに連結されたホストにより、第二のアップストリームポートから、第一のダウンストリームポートに連結されたダウンストリームの周辺機器にアクセスできる。一部の実施形態では、第二のアップストリームポートは、ダウンストリーム周辺機器のサブセットと通信できる。例えば、ホストは切り替えられた複数のダウンストリームデバイスを列挙してから通信する。一部の実施形態では、第一のアップストリームポートと第二のダウンストリームポートの間のアクセスを継続できる。
【００３８】
図８は、実施形態に従い、複数のステータスレジスタを装備するＵＳＢ切替ハブを説明する。一部の実施形態では、アップストリーム機器（例えば、コンピュータシステム１０１とデュアルロールデバイス２０７）は、ダウンストリームポート１２１から、ダウンストリームデバイス１２５と通信できる。一部の実施形態では、それぞれのアップストリームデバイスは、ＵＳＢ切替ハブ１１９を４ポートハブとして列挙できる（または、ＵＳＢ切替ハブ１１９上のダウンストリームポート１２１の数に従い）。一部の実施形態では、外部信号８１３が、ダウンストリームポート１２１（例えば、ダウンストリームポート１２１ａと１２１ｂ）のサブセットの通信を切り替えるように、ダウンストリーム切替ロジック２０１に信号を送る。通信が切り替えられているとき、ステータスレジスタ（例えば、一連のステータスレジスタ８１１ａの中の１つのステータスレジスタ）は、以前は接続されていたダウンストリームポートの切断ステータスを示す。一部の実施形態では、その後、ダウンストリームポートと第二のアップストリームデバイスの間の通信を確立する。例えば、ダウンストリームポート１２１ａからのアクティビティは、ステータスレジスタ８１１ｂの第二のセット内のダウンストリームポート１２１ａにステータスレジスタ上の接続イベントを示すことができる。第二のアップストリームデバイス（例えば、デュアルロールデバイス２０７）は、ステータスレジスタ８１１ｂをポールしてから、ダウンストリームポート１２１ａに連結されたデバイスをリセットするとき、「接続」を検出する。第二のアップストリームデバイスがダウンストリームポート１２１ａから通信している間、他のアップストリームポートに連結された他のアップストリームデバイスは、それぞれのセットのステータスレジスタ８１１をポーリングするとき、ダウンストリームポート１２１ａの「切断」を検出する。
【００３９】
一部の実施形態では、ダウンストリームポート１２５ａと第一のアップストリームポート１１７ａの間に進行中の有効な送信が存在する場合、高度なポートルーティングスイッチ（ＩＰＲＳ）８２１は、ダウンストリームポート１２５ａの通信の切り替えを遅延させることができる。一部の実施形態では、ダウンストリームポート１２５と第二のアップストリームポート１１７ｂの間に進行中の有効な送信が存在する場合、ＩＰＲＳ  ８２１は、ダウンストリームポート１２５ａの通信の切り替えを遅延させる。一部の実施形態では、ＩＰＲＳ  ８２１は、ＵＳＢ切替ハブ１１９上のハードウェアおよび／またはファームウェア内に実装できる。一部の実施形態では、ＩＰＲＳは、コンピュータシステム１０１上のソフトウェア内に実装できる。ＩＰＲＳは、使用中のデバイスの切り替え要求を遅延する、最新のＵＳＢトラフィックの知識を持つソフトウェアとドライバを含むことができる。一部の実施形態では、ＩＰＲＳは、完全に、ＵＳＢ切替ハブ１１９内部のすべてのトラフィック監視の外にできる。
【００４０】
保留中または進行中の有効な送信が存在する場合、ＩＰＲＳ８２１はその他のダウンストリームポート１２５間の通信の切り替えを遅延させる。一部の実施形態では、ＩＰＲＳ  ８２１は、ハブコントローラ２０３のレベルで通信を監視、または、ダウンストリームの切替ロジックレベルで通信を監視できる。ダウンストリームポート１２１とアップストリームポート１１７の間のその他の配置も使用できる。一部の実施形態では、通信の切り替えを遅延させるために、高度な監視または外部の方法に依存する代わりに、ＩＰＲＳ  ８２１は、（定義では、トラフィックが進行することを許可されないとき）ＵＳＢフレーム境界で切り替えが発生するように、切り替えを遅延するように作動する。このような実施形態では、切り替えは、高度な監視の結果ではなく、規定ベースで、フレーム境界まで、遅延される。
【００４１】
一部の実施形態では、（例えば、ユーザーから、コンピュータシステム１０１から、または、デュアルロールデバイス２０７のモード２１１からの）外部信号８１３は、ダウンストリームポート１２１とアップストリームポート１１７の間で通信を切り替えるようにダウンストリーム切替ロジック２０１に信号を送ることができる。外部信号８１３の他の発信元も想定できる（例えば、外部信号は、ＵＳＢ切替ハブ１１９に連結された物理的なスイッチから発信できる）。一部の実施形態では、物理的スイッチは、ユーザーが１つ以上のダウンストリームポート１２１を特定のアップストリームポート１１７に割り当てることができるように、スイッチ、押しボタンおよび／またはその他の機械的構成要素を持つことができる。一部の実施形態では、外部信号８１３は、コンピュータシステム１０１から送信できる。例えば、コンピュータシステム１０１上で稼働しているアプリケーションは、ユーザーにコンピュータシステム１０１と相互にやり取りをして、１つ以上のダウンストリームポート１２１を特定のアップストリームポート１１７に割り当てることを可能にする。一部の実施形態では、コンピュータシステム１０１は、ユーザーと通信するために、ＵＳＢ切替ハブ１１９から返信された信号を受信することもできる。例えば、関連のダウンストリームポートとアップストリームポートの間に送信がある場合、ＵＳＢ切替ハブ１１９は、このステータスをユーザーに通信することができる。また、ＵＳＢ切替ハブ１１９は、切り替えにより、ユーザーからの確認を受け取るまで実行を待機できる（例えば、ユーザーがコンピュータシステム１１９に連結されたコンピュータ画面上で画像の「実行」ボックスを選択した後、スイッチを確認する信号をコンピュータシステム１０１から送信できる）。      
【００４２】
図９は、ＵＳＢ切替ハブ１１９を列挙せずに、２つのアップストリームポート間でダウンストリームポート１２１へのアクセスを切り替えるための方法の実施形態を示す。以下に説明する方法のさまざまな実施形態では、説明される１つ以上の要素が同時に、または示されているのとは異なる順序で実施できる、または、完全に省くことができることに注意されたい。必要に応じて、その他の追加の要素も実施できる。
【００４３】
９０１で、周辺機器が、ＵＳＢ切替ハブのダウンストリームポートに連結される。一部の実施形態では、周辺機器はＵＳＢデバイスである。ＵＳＢデバイスは、アップストリームデバイスにも連結される（つまり、ＵＳＢデバイスはデュアルロールＵＳＢデバイスにできる）。
【００４４】
９０３で、第一のアップストリームデバイスは、ＵＳＢ切替ハブ１１９の第一のアップストリームポート１１７ａに連結される。
【００４５】
９０５で、第二のアップストリームデバイスは、ＵＳＢ切替ハブ１１９の第二のアップストリームポート１１７ｂに連結される。
【００４６】
９０７で、第一のアップストリームデバイスは、ＵＳＢ切替ハブ１１９のための第一のハブ構成を使用して、ＵＳＢ切替ハブ１１９を列挙できる。例えば、ＵＳＢ切替ハブ１１９に４つのダウンストリームポートがある場合、第一のアップストリームデバイスは、ＵＳＢ切替ハブ１１９を４ポートハブとして列挙できる。一部の実施形態では、第一のアップストリームデバイスは、ＵＳＢ切替ハブ１１９上のダウンストリームポート１２１の総数よりも少ないダウンストリームポート１２１で、ＵＳＢ切替ハブ１１９を列挙できる（例えば、１つ以上のダウンストリームポート１２１が、永久に無効または別の使用のために予約されている場合）。
【００４７】
９０９で、第二のアップストリームデバイスは、ＵＳＢ切替ハブ１１９のための第一のハブ構成に実質的に類似したハブ構成を使用してＵＳＢ切替ハブ１１９を列挙できる。
【００４８】
９１１で、周辺機器に連結されたダウンストリームポートは、第二のアップストリームポートに割り当てられる。一部の実施形態では、周辺機器と第一のアップストリームポートの間の通信は、第二のアップストリームポートに切り替えられる。一部の実施形態では、デバイス１２５ａがデジタルカメラの場合、最初はコンピュータシステム１０１に連結される（つまり、通信がデジタルドメインにある間、デジタルカメラへの／からの通信は、ダウンストリーム切替ロジック２０１の第一のアップストリームポート１１７ａを経由できる）。（例えば、コンピュータシステム１０１を経由したユーザーからの）外部信号８１３は、デバイス１２５ａと２つのアップストリームポート１１７の間で通信を切り替えるように、ダウンストリーム切替ロジック２０１に信号を送ることができる。  
【００４９】
９１３で、切断ステータスが、切り替えられたダウンストリームポートに対応する、第一のアップストリームポート１１７ａのハブコントローラ２０３ａに連結されたステータスレジスタに示される。通信は、ダウンストリームデバイス１２５ａと第一のアップストリームポート１１７ａに連結されたアップストリームデバイスの間で終了する。
【００５０】
９１５で、接続イベントは、切り替えられたダウンストリームポートに対応する、第二のアップストリームポート１１７ｂのハブコントローラ２０３ｂに連結されたステータスレジスタに示される。第二のアップストリームデバイス２０７（例えば、デュアルロールプリンタ）がステータスレジスタで接続イベントを読み取るとき、ダウンストリームポート１２１ａに連結されたデバイス１２５ａをリセットする。ダウンストリームデバイス１２５ａを、さらなる通信のために、アップストリームデバイス２０７に接続できる（例えば、デジタルカメラから写真を直接印刷するため）。
【００５１】
９１７で、ダウンストリームポート１２１の通信の切り替えは、ダウンストリームポート１２１と第一のアップストリームポートの間に進行中の有効な送信が存在する場合、遅延させることができる。通信の切り替えは、ＩＰＲＳ  ８２１により遅延させられる。
【００５２】
９１９で、ダウンストリームポート１２１の通信の切り替えは、ダウンストリームポート１２１と第二のアップストリームポート１１７ｂの間に進行中の有効な送信が存在する場合、遅延させる。通信の切り替えは、ＩＰＲＳ  ８２１により遅延される。
【００５３】
図１０は、通信の切り替えを承認するため、スタンドバイ状態を監視するための方法の実施形態を示す。以下に説明する方法のさまざまな実施形態では、説明される１つ以上の要素は、同時に、または示されているのとは異なる順序で、実施することができる、または、完全に省くことができることに注意されたい。必要に応じて、その他の追加の要素も実施できる。
【００５４】
１００１で、ＩＰＲＳ  ８２１は、周辺機器１２５がアップストリームデバイスにより能動的に使用されているかどうかを決定するために、ステータスレジスタ８１１を監視できる。例えば、ＩＰＲＳ  ８２１は、対応するステータスレジスタが「選択的停止」、または対応するダウンストリームポート１２１に対して示されるスタンドバイ状態を持つかどうかを決定することができる。
【００５５】
１００３で、ダウンストリーム切替ロジック２０１は、切り替えを行う前に、切り替えられるダウンストリームポート１２１の間、または、ダウンストリームポート１２１が切り替えられる先のアップストリームポート１１７に連結されたダウンストリームポート１２１の間に現在通信が存在するかどうかについて、ＩＰＲＳ８２１が示していることを確認できる。一部の実施形態では、ダウンストリーム切替ロジック２０１は、複数のダウンストリームポート１２１を切り替えることができるかどうかを決定するために、ＩＰＲＳ  ８２１に問い合わせる。
【００５６】
１００５で、ＩＰＲＳ  ８２１は、１つ以上のダウンストリームポート１２１に対する通信の切り替えを実行できるかどうか、ダウンストリーム切替ロジック２０１に示すことができる。例えば、ＩＰＲＳ  ８２１上のロジックは、ステータスを確認すべきダウンストリームポート１２１を決定できる（例えば、切り替えられるダウンストリームポート１２１と、切り替えられている先のアップストリームポート１１７に連結されたダウンストリームポート１２１）。一部の実施形態では、ダウンストリーム切替ロジック２０１が特定のダウンストリームポートについて問い合わせるとき、ＩＰＲＳ  ８２１は対応するステータスレジスタを確認できる。
【００５７】
１００７で、「選択的停止」または、スタンドバイ状態が示されていない場合にはＩＰＲＳ  ８２１がダウンストリーム切替ロジック２０１から、切り替えが求められていることの問い合わせを受信した後、ＩＰＲＳ  ８２１は、既定の時間、対応するステータスレジスタを監視する。既定の時間の終了時点で、「選択的停止」または待機状態がまだ示されていない場合は、ＩＰＲＳ  ８２１は、明らかな有効ステータスにもかかわらず切り替えできることを、ダウンストリームポートコントローラ２０１に示すことができる。一部の実施形態では、「選択的停止」またはスタンドバイ状態が示されていない場合には、１つ以上の影響を受ける周辺機器１２５の明らかな有効ステータスにもかかわらず、切り替えが行われなければならないかどうかの表示を、ユーザーに問い合わせるために、コンピュータシステム１０１に送信できる。ユーザーが切り替えを承認すると、ダウンストリーム切替ロジック２０１は、切り替えを実行できる。
【００５８】
図１１は、通信の切り替えを承認するハブのトランザクションを監視するための方法の実施形態を示す。以下に説明する方法のさまざまな実施形態では、説明される１つ以上の要素は、同時に、または示されているのとは異なる順序で、実施することができる、または、完全に省くことができることに注意されたい。必要に応じて、その他の追加の要素も実施できる。
【００５９】
１１０１で、ＩＰＲＳ  ８２１は、いずれかの通信が（例えば、切り替えられるダウンストリームポート１２１に連結される、または、周辺機器１２５が切り替えられる先のアップストリームポート１１７に既に連結された）関連の周辺機器に／から送信されているかどうかを決定するために、ＵＳＢ切替ハブ１１９からトランザクションを監視する。一部の実施形態では、ＩＰＲＳ  ８２１により通信の存在と通信のタイプを監視する。ＩＰＲＳ  ８２１は、ＵＳＢ切替ハブ１１９の任意のさまざまなポイント（例えば、ハブコントローラ２０３に連結、ダウンストリーム切替ロジック２０１および／または、ダウンストリームポート１２１および／またはアップストリームポート１１７に直接連結）で通信を監視できる。ＩＰＲＳ  ８２１は、追加の内部ロジックを使用しても、通信を監視できる。一部の実施形態では、ＩＰＲＳ  ８２１は、ダウンストリームポート１２１とアップストリームポート１１７の間の通信に干渉できない。
【００６０】
１１０３で、ダウンストリーム切替ロジック２０１は、切り替えを行う前に、切り替えられるダウンストリームポート１２１の間、または、ダウンストリームポート１２１が切り替えられる先であるアップストリームポート１１７に連結されたダウンストリームポートの間に現在通信が存在するかどうか、ＩＰＲＳ  ８２１が示していることを確認する。
【００６１】
１１０５で、ＩＰＲＳ  ８２１は、１つ以上のダウンストリームポート１２１に対する通信の切り替えを実行できるかどうか、ダウンストリーム切替ロジック２０１に示すことができる。
【００６２】
図１２は、フレーム境界で通信を切り替えるための方法の実施形態を示す。以下に説明する方法のさまざまな実施形態では、説明される１つ以上の要素は、同時に、または示されているのとは異なる順序で、実施することができる、または、完全に省くことができることに注意されたい。必要に応じて、その他の追加の要素も実施できる。
【００６３】
１２０１で、ＩＰＲＳ  ８２１は、アップストリームポート１１７と関連のダウンストリームポート１２１の間の通信のフレーム境界上で発生するように、ダウンストリーム切替ロジック２０１により通信の切り替えを調整できる。一部の実施形態では、ＩＰＲＳ  ８２１は、フレーム境界のタイミングを決定するために、１つ以上のハブコントトーラ２０３とインターフェイスで結合できる。例えば、マイクロフレームタイマーが使用される。一部の実施形態では、ＩＰＲＳ  ８２１は、ダウンストリーム切替ロジック２０１から切り替えるリクエストを確認する時間を決定するように、ＵＳＢ切替ハブ１１９の他の部分とインターフェイスで結合できる。
【００６４】
１２０３で、ダウンストリーム切替ロジック２０１は、切り替えを行う前に、フレーム境界が関連のダウンストリームポート１２１への／からの通信のために発生しているかどうかの表示について、ＩＰＲＳ  ８２１を確認する。
【００６５】
１２０５で、ＩＰＲＳ  ８２１は、１つ以上のダウンストリームポート１２１に対する通信の切り替えを実行できるかどうか、ダウンストリーム切替ロジック２０１に示すことができる。
【００６６】
図３、４ａ―４ｂ、５ａ―５ｃ、８を再び参照すると、ダウンストリーム切替ロジック（図３、４ａ―４ｂ、８の２０１、および５ａ―５Ｃの４０１）とトランザクション変換ロジック（図３、４ａ―４ｂ、８の２０５、および５ａ―５Ｃの４０５）の位置は、お互いに交換できる、つまり、トランザクション変換ロジックはハブコントローラとダウンストリーム切替ロジックの間に構成できることに注意されたい。さらに、個別のトランザクション変換機能ブロックが、各アップストリームポート（および対応するハブコントローラ）に構成できる。この構成を示す代わりの実施形態は、図１３、１４ａ−１４ｂ、１５ａ―１５ｃ、１６にある。
【００６７】
図１３は、図３に示される構成の代わりの実施形態を説明する。ここでは、２つのアップストリームデバイス（例えば、コンピュータシステム１０１とデュアルロール周辺機器２０７）がＵＳＢ切替ハブ１１９に連結されている。一部の実施形態では、ＵＳＢ切替ハブ１１９は、各アップストリームポート１１７ａと１１７ｂに対応し、対応するハブコントローラ２０３ａと２０３ｂそれぞれに連結された、トランザクション変換回路２０５ａと２０５ｂを含む。また、トランザクション変換回路２０５ａと２０５ｂは、ダウンストリームポート１２１に電気的に連結することができる、ダウンストリーム切替ロジック２０１にも連結される。一部の実施形態では、ダウンストリーム切替ロジック２０１は、２つ以上の通信構成間を切り替えることができる。図３の実施形態でも説明されているように、通信がデジタルドメインにある間（ＵＳＢ切替ハブ１１９への／からのインターフェイスの結果として）、通信構成は、アップストリームポート１１７とダウンストリームポート１２１の間の通信をルートしているダウンストリーム切替ロジック２０１により実装できる。一部の実施形態では、（例えば、ＵＳＢ切替ハブに組み込まれた）通信構成は、ＵＳＢ切替ハブのロジックにより決定されているように切り替えることができる。その他の通信構成実装も想定できる。
【００６８】
図３の実施形態でも説明されているように、一部の実施形態では、デュアルロール周辺機器２０７は、デュアルロールＵＳＢプリンタまたはデュアルロールＵＳＢデジタル多用途ディスク（ＤＶＤ）読み取り／書き込みドライブなどを含むことができる。一部の実施形態では、デュアルロール周辺機器２０７は、デバイスポート２１０から、ＵＳＢ切替ハブ１１９のアップストリームポート（例えば、アップストリームポート１１７ｂ）に連結される。デュアルロール周辺機器２０７は、アップストリームポート１１７ｂから、ＵＳＢ切替ハブ１１９に連結された（例えば、デュアルロール周辺機器２０７上のホストコントローラ２０９を使用して）その他の周辺機器（ダウンストリームの周辺機器）とインターフェイスで結合される。デュアルロール周辺機器２０７は、スレーブコントローラを介して、その他のアップストリームデバイス（コンピュータシステム１０１など）ともインターフェイスで結合されることができる。例えば、デュアルロール周辺機器２０７は、（例えば、ダウンストリームポート１２１ｃから）スレーブ周辺機器としてＵＳＢ切替ハブ１１９に連結される。一部の実施形態では、デュアルロール周辺機器２０７は、ＵＳＢ切替ハブに連結され、１つ以上の周辺機器へのホストとして、および／または別のホストへのスレーブ周辺機器として、同時に機能することができる。
【００６９】
一部の実施形態では、デュアルロール周辺機器２０７は、スダンドアロンシステムとして作動するために（例えば、ＰＣが関与せずに、デジタルカメラなどの別の周辺機器と通信するために）、組み込みのホストコントローラアプリケーションを持つことができる。例えば、デュアルロールＵＳＢプリンタは、ＰＣが関与することなく、ＵＳＢ切替ハブ１１９上のダウンストリームポート１２１に連結されたデジタルカメラから写真を直接印刷できる。一部の実施形態では、ＵＳＢ切替ハブ１１９は、代わりに、コンピュータシステム１０１またはデュアルロール周辺機器２０７が、（例えば、１つ以上の通信構成を切り替えることにより１つ以上のダウンストリームデバイスにアクセスすることを可能にできる）。    
【００７０】
図１４ａと１４ｂは、コンピュータシステムが複数の周辺機器に電気的に連結された図４ａと４ｂに示されている実施形態の代わりの実施形態を説明する。一部の実施形態では、ＵＳＢ切替ハブ１１９は、１つ以上のダウンストリームポートを共有できる複数の内部の「ハブ」と連結しているスイッチのように機能することができる。例えば、ＵＳＢ切替ハブの可能な通信構成それぞれが、内部の「ハブ」を表すことができる。一部の実施形態では、コンピュータシステム１０１がＵＳＢ切替ハブ１１９に連結された周辺機器１２５（例えば、周辺機器１２５ａ）にアクセスしているとき、周辺機器への／からの通信は、第一のアップストリームポート１１７ａ、ハブコントローラ２０３ａ、トランザクション変換機能２０５、ダウンストリームポート１２１の少なくとも１つのサブセットを備える第一の「ハブ」を介して処理できる。第二の「ハブ」は、第二のアップストリームポート１１７ｂ、ハブコントローラ２０３ｂ、トランザクション変換機能２０５、ダウンストリームポート１２１の少なくとも１つのサブセットを備えることができる。一つの通信構成では、コンピュータシステム１０１は、（第一の「ハブ」を介して）ダウンストリームポート１２１ａと１２１ｃに接続され、（図４ｂに示されるように）デュアルロール周辺機器２０７は、（第二の「ハブ」を介して）ダウンストリームポート１２１ｂと１２１ｄに接続される。その他の通信構成も想定できる。一部の実施形態では、どのダウンストリームデバイスを各アップストリームポートに連結するかを決定する通信構成のプロファイルは、ハードウェアに組み込む、またはソフトウェアにより実装することができる。例えば、ソフトウェアにより実装される場合、各アップストリームポート（および／またはアップストリームデバイス）の通信構成プロファイルは、ＵＳＢ切替ハブ１１９にアクセス可能なメモリに保管できる。
【００７１】
一部の実施形態では、コンピュータシステム１０１とデュアルロール周辺機器２０７は、ＵＳＢ切替ハブ１１９を介して、別のダウンストリームデバイスと同時に通信できる。例えば、コンピュータシステム１０１が（例えば、第一の「ハブ」を介して）デバイス１２５ａと通信している間に、デュアルロール周辺機器２０７は、（例えば、第二の「ハブ」を介して）デバイス１２５ｂと通信できる。一部の実施形態では、周辺機器が第一の「ハブ」を介してアクセスされている間、別のアップストリームデバイスが、周辺機器１２５ａにアクセスできないようにすることができる（例えば、周辺機器１２５ａがコンピュータシステム１０１により使用されている間、デュアルロール周辺機器２０７が、周辺機器１２５ａにアクセスできないようにすることができる）。一部の実施形態では、（例えば、外部の制御ブロックからの）信号は、ダウンストリーム切替ロジックをトリガして、第一の「ハブ」のダウンストリームポート１２１（例えば、ダウンストリームポート１２１ａおよび／または１２１ｃ）のサブセットのアクセスを第二の「ハブ」に切り替えることができる（つまり、切替通信構成）。一部の実施形態では、デュアルロール周辺機器２０７が、制御信号をＵＳＢ切替ハブ１１９に送信する。すると、ＵＳＢ切替ハブ１１９は、１つ以上のダウンストリームポートに接続する通信構成をデュアルロール周辺機器に切り替える。例えば、ユーザーがデュアルロール周辺機器２０７（例えば、デュアルロールプリンタ）のボタンを押すと、信号はモード２１１でダウンストリーム切替ロジック２０１に送信されて、デバイス１２５ａのアクセスをコンピュータシステム１０１から、デュアルロール周辺機器２０７に切り替えることができる（つまり、図１４ｂに示されているように第二の通信構成に切り替える）。コンピュータシステム１０１は、続けて、ダウンストリームポート１２１ｃ（および／または、第二の通信構成により決定されているその他のダウンストリームポート）と通信できる。
【００７２】
一部の実施形態では、デュアルロール周辺機器２０７とダウンストリームポートの間でアクティビティが検出されなくなると（例えば、デュアルロール周辺機器２０７の電源が切られている）、ダウンストリーム切替ロジック２０１は、ダウンストリームポートのアクセスをコンピュータシステム１０１に切り替えることができる（つまり、別の通信構成に切り替える）。一部の実施形態では、ダウンストリーム切替ロジック２０１は、ダウンストリームポートのアクセスを別のアップストリームデバイスに切り替えることができる。一部の実施形態では、アクティビティがないことを検出する代わりに、デュアルロール周辺機器２０７からの信号は、ＵＳＢ切替ハブ１１９に切り替えるように信号を送ることができる。通信構成を切り替えるタイミングの決定する場合に、その他の信号および／またはロジックも使用される。
【００７３】
一部の実施形態では、通信構成はソフトウェアによる実装にできる。一部の実施形態では、ダウンストリーム切替ロジック２０１に連結した、または備えられたマイクロプロセッサは、例えば、動的通信構成プロファイルを使用して、各アップストリームポートに電気的に連結するダウンストリームポートを動的に決定できる。例えば、マイクロプロセッサは、保管された通信構成プロファイルを読み取ることができ、通信構成プロファイルに従い、アップストリームポートをダウンストリームポートに接続しようとする。通信構成プロファイルは、ＵＳＢ切替ハブ１１９に連結されたメモリ上（例えば、電気的に削除できるプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ））に保管できる。一部の実施形態では、ＵＳＢ切替ハブ１１９上のハブコントローラ２０３は、通信構成プロファイルへのアクセスを持つことができる。
【００７４】
一部の実施形態では、通信構成を切り替えるために優先ロジックを使用される。優先ロジックまたはアクセスを与えるために使用される他のロジックは、ＵＳＢ切替ハブ１１９の内部または外部にできる。一部の実施形態では、１つ以上のダウンストリームポート１２１のアクセスをデュアルロール周辺機器２０７に切り替えるように、外部制御信号がデュアルロール周辺機器２０７から送信されるまで、コンピュータシステム１０１にすべてのダウンストリームポート１２１よりも優先権を与えることができる。一部の実施形態では、さまざまな制御信号を送信して、さまざまな通信構成をトリガできる（つまり、さまざまなダウンストリームポートのアクセスをデュアルロール周辺機器２０７に切り替えることができる）。
【００７５】
一部の実施形態では、使用する通信構成を決定するためにホストネゴシエーションロジックを使用する。一部の実施形態では、複数のアップストリームデバイスが同じダウンストリームポートへのアクセスを「要求する」まで、デフォルトの通信構成を使用する。ホストネゴシエーションロジックは、使用する通信構成（つまり、どの通信構成が、「要求された」ダウンストリームポートへの特定のアップストリームポートアクセスを与えるか）を決定するために使用される。
【００７６】
一部の実施形態では、ＵＳＢ切替ハブ１１９のマイクロプロセッサは、ダウンストリーム周辺機器を自動的に検出して、ダウンストリーム周辺機器の接続方法を決定する内蔵アルゴリズムを含むことができる。例えば、特定のダウンストリームポートをアップストリームポートに割り当てる代わりに、通信構成プロファイルは、デジタルカメラが接続されていれば、アップストリームポートがデジタルカメラにアクセスしなければならないことを指定できる。内蔵のアルゴリズムは、デジタルカメラがダウンストリームポートの１つに接続されている場合に、それを自動的に検出して、適切なストリームポートに（つまり、適切な通信構成に切り替えることにより）接続させることができる。
【００７７】
一部の実施形態では、ダウンストリーム切替ロジック２０１が、通信構成を切り替えて、ダウンストリームポートの制御がコンピュータシステム１０１からデュアルロール周辺機器２０７に切り替えられるとき、コンピュータシステム１０１と（切り替えられるダウンストリームポートに連結されている）それぞれの周辺機器１２５の間の接続は、コンピュータシステム１０１により終了できる。一部の実施形態では、切り替えられるダウンストリームポートとコンピュータシステム１０１の間の通信は、ＵＳＢ切替ハブ１１９により終了できる。そして、デュアルロール周辺機器２０７は、切り替えられたダウンストリームポートに連結されたそれぞれの周辺機器１２５に接続、列挙、通信できる。
【００７８】
アップストリームデバイスは、取り付けるように構成されていないダウンストリームポートを取り付けられていない（つまり、有効であるが、デバイスが接続されていない）ポートとして見ることができる。一部の実施形態では、ダウンストリームポートの既定数だけのみが特定のアップストリームポート（例えば、「ｘ」番のポート）に取り付けられる場合、アップストリームデバイスに、ハブがｘポートだけを持つことを信号で伝えることができる。例えば、アップストリームポート１１７ｂをダウンストリームポート１２１ｃと１２１ｄだけに取り付けるように構成する場合、アップストリームポート１１７ｂに取り付けられたデバイスに、ＵＳＢ切替ハブ１１９は２つだけのポートハブであることを信号で伝えることができる。
【００７９】
図１５ａ、１５ｂ、１５ｃは、ＵＳＢ切替ハブ４１９に連結されたコンピュータシステム１０１と２つのデュアルロール周辺機器の図５ａ、５ｂ、５ｃに示された実施形態のさまざまな代わりの実施形態を説明する。一部の実施形態では、複数のデュアルロール周辺機器を、ＵＳＢ切替ハブ４１９に連結できる。例えば、デュアルロールプリンタ４０７は、アップストリームポート４１７ｂからＵＳＢ切替ハブ４１９に連結され、デュアルロールＤＶＤ読み取り／書き込みドライブ４６７は、アップストリームポート４１７ｃからＵＳＢ切替ハブ４１９に連結される。コンピュータシステム１０１は、アップストリームポート４１７ａからＵＳＢ切替ハブ４１９に連結される。アップストリームデバイスのそれぞれは、それぞれ対応するハブコントローラ４０３（示されているように４０３ａ、４０３ｂおよび４０３ｃ）、それぞれ対応するトランザクション変換機能４０５（示されているように４０５ａ、４０５ｂ、４０５ｃ）、ダウンストリーム切替ロジック４０１に連結され。ダウンストリーム切替ロジック４０１は、アップストリームデバイスのそれぞれ（つまり、コンピュータシステム１０１、デュアルロールプリンタ４０７またはデュアルロールＤＶＤ読み取り／書き込みドライブ４６７）と周辺機器４２５の少なくとも１つのサブセットの間の通信を構成できる。    
【００８０】
図１５ａに示されているように、一つの通信構成プロファイルでは、コンピュータシステム１０１が、ダウンストリームポート４２１ａ、４２１ｂ、４２１ｅ、４２１ｆに接続される。ある実施形態では、デュアルロールプリンタ７０４を、ダウンストリームポート４２１ｃにアクセスするように構成でき、ＤＶＤ読み取り／書き込みドライブ４６７は、いかなるのダウンストリームポート４２１にもアクセスしないように構成される。デュアルロールプリンタ４０７は、いくつかのさまざまな方法により、ダウンストリームポート４２１ｂへのアクセスを得る（つまり、アクセスを与えるように切り替えられた通信構成を持つ）ことができる。例えば、ユーザーが、デュアルロールプリンタ４０７のボタンを押す。すると、モード４１１で、ＵＳＢ切替ハブ４１９のダウンストリーム切替ロジック４０１に信号を送る。ダウンストリーム切替ロジック４０１は、図１５ｂに見られる通信構成に切り替えることができる（それは、デュアルロールプリンタ４０７はダウンストリームポート４２１ｂにアクセスできるようにさせる）。一部の実施形態では、デュアルロールプリンタ４０７が、電源を切られるか、アクティブでなくなる場合、ダウンストリーム切替ロジック４０１は、ダウンストリームポート４２１ｂのアクセスをコンピュータシステム１０１に戻すように切り替える（つまり、前の通信構成に戻す）ことができる。図１５ｃに示されるように、一つの通信構成では、いかなるアップストリームも、いかなるダウンストリームポートへのアクセスをも許可されないようにすることができる。
【００８１】
図１６は、図８に示される複数のステータスレジスタを備えるＵＳＢ切替ハブの代わりの実施形態を説明する。この実施形態では、各ハブコントローラ（２０３ａと２０３ｂ）は、対応するトランザクション変換回路（それぞれ２０５ａと２０５ｂ）に連結される。変換回路２０５ａと２０５ｂは、ダウンストリーム切替ロジック２０１に連結され、切替ロジック２０１は、ダウンストリームポート１２１ａ、１２１ｂ、１２１ｃ、１２１ｄに電気的に連結される。切替ハブ１１９は、図８で示される切替ハブ１１９の実施形態で説明した原則と手順に従って、作動できる。
【００８２】
図１７は、図１３に示した構成の別の実施形態を説明する。ここでは、２つのアップストリームデバイス（例えば、コンピュータシステム１０１とデュアルロール周辺機器２０７）がＵＳＢ切替ハブ１１９に連結される。図１３の実施形態では（また、図３、図４ａ―４ｂ、図１４ａ−１４ｂの実施形態でも）ＵＳＢ切替ハブ１１９のダウンストリーム制御はデュアルロールデバイス２０７とリンクしているが、代わりの実施形態は、その他の切替制御手段で構成できる。例えば、図１７で説明されたように、ＵＳＢ切替ハブ１１９の切替制御は、例えば、専用のダウンストリームポート１２１ｅなど、専用ダウンストリームポートに連結された、例えば、ＨＩＤクラスデバイス１２５ｅなど、専用のダウンストリームデバイスを使用して、実施できる。別の制御メカニズムは、図１７で示された構成の階層内のハブコントローラレベルで構成される追加のＨＩＤデバイス（非表示）を備えることができる（例えば、ハブコントローラ２０３ａまたは２０３ｂで）。しかしながら、ＵＳＢ切替ハブ１１９の切り替えを制御するために追加のＨＩＤデバイスを作動させることは、カスタムドライバや、ハブクラスへのＵＳＢ−ＩＦクラス拡張を要求することがあるが、これらはメーカー独自の実装となることがある。セミカスタムハブドライバを使用すると、ＨＩＤ以外のメカニズムも可能である。あるいは、ハブコントローラとＨＩＤコントローラを備える複合デバイスは、図１７に示されたＨＩＤコントローラ／ＨＵＢコントローラの複合デバイス２０４ａと２０４のように、ＵＳＢ切替ハブ１１９の切り替えを制御するために構成できる。図１７は、ＵＳＢ切替ハブ１１９の切り替えを制御するための可能な制御メカニズムに関連付けられたさまざまな構成を説明するが、さまざまな実施形態は、これらの構成および／またはメカニズムのうち１つだけ、または任意の組み合わせを含むことができる。
【００８３】
本発明のさまざまな側面のさらなる変更や代わりの実施形態は、本明細書の説明を考慮すると、当業者には明らかにできる。従って、この説明は図説のみとして解釈され、当業者に本発明を実行する一般的なやり方を教示することを目的とする。ここに示され、説明された本発明の形式は実施形態としてであることを理解されたい。本発明のこの説明の利点を理解した後、当業者には明らかであるように、本明細書に図説され解説された要素および材料は代用できるとともに、部品や過程を変更でき、また、本発明の一定の特徴は独立して利用できる。以下の請求項に説明される本発明の精神と範囲を逸脱せずに、本明細書に説明された要素に変更を加えることができる。
【図面の簡単な説明】
【００８４】
【図１】実施形態に従い、ＵＳＢ切替ハブを図示する。
【図２】実施形態に従い、ＵＳＢ切替ハブに連結されたコンピュータシステムを図示する。
【図３】実施形態に従い、ＵＳＢ切替ハブに連結されたコンピュータシステムとデュアルロール周辺機器を図示する。
【図４ａ】実施形態に従い、ＵＳＢ切替ハブの２つの通信構成を図示する。
【図４ｂ】実施形態に従い、ＵＳＢ切替ハブの２つの通信構成を図示する。
【図５ａ】実施形態に従い、ＵＳＢ切替ハブの追加の通信構成を図示する。
【図５ｂ】実施形態に従い、ＵＳＢ切替ハブの追加の通信構成を図示する。
【図５ｃ】実施形態に従い、ＵＳＢ切替ハブの追加の通信構成を図示する。
【図６】実施形態に従い、ＵＳＢ切替ハブ内の統一機能を図示する。
【図７】実施形態に従い、２つのアップストリームポート間のダウンストリームポートへのアクセスを切り替えるための方法を図示する。
【図８】実施形態に従い、複数のステータスレジスタを装備するＵＳＢ切替ハブを図示する。
【図９】実施形態に従い、ＵＳＢ切り替えハブを再列挙せずに、２つのアップストリームポート間のダウンストリームポートへのアクセスを切り替えるための方法を示す。
【図１０】実施形態に従い、通信切替を承認するスタンドバイ状態を監視するための方法を示す。
【図１１】実施形態に従い、通信切替を承認するハブのトランザクションを監視するための方法を示す。
【図１２】実施形態に従い、フレーム境界で通信を切り替えるための方法を示す。
【図１３】代わりの実施形態に従い、ＵＳＢ切替ハブに連結されたコンピュータシステムとデュアルロール周辺機器を図示する。
【図１４ａ】代わりの実施形態に従いＵＳＢ切替ハブの２つの通信構成を図示する。
【図１４ｂ】代わりの実施形態に従いＵＳＢ切替ハブの２つの通信構成を図示する。
【図１５ａ】代わりの実施形態に従いＵＳＢ切替ハブの追加の通信構成を図示する。
【図１５ｂ】代わりの実施形態に従いＵＳＢ切替ハブの追加の通信構成を図示する。
【図１５ｃ】代わりの実施形態に従いＵＳＢ切替ハブの追加の通信構成を図示する。
【図１６】代わりの実施形態に従い、複数のステータスレジスタを装備するＵＳＢ切替ハブを図示する。
【図１７】ＵＳＢ切替ハブに連結されたコンピュータシステムと周辺機器の代わりの実施形態を図示する。
【図１】
2008536225.tif 000003
【図２】
2008536225.tif 000004
【図３】
2008536225.tif 000005
【図４ａ】
2008536225.tif 000006
【図４ｂ】
2008536225.tif 000007
【図５ａ】
2008536225.tif 000008
【図５ｂ】
2008536225.tif 000009
【図５ｃ】
2008536225.tif 000010
【図６】
2008536225.tif 000011
【図７】
2008536225.tif 000012
【図８】
2008536225.tif 000013
【図９】
2008536225.tif 000014
【図１０】
2008536225.tif 000015
【図１１】
2008536225.tif 000016
【図１２】
2008536225.tif 000017
【図１３】
2008536225.tif 000018
【図１４ａ】
2008536225.tif 000019
【図１４ｂ】
2008536225.tif 000020
【図１５ａ】
2008536225.tif 000021
【図１５ｂ】
2008536225.tif 000022
【図１５ｃ】
2008536225.tif 000023
【図１６】
2008536225.tif 000024
【図１７】
2008536225.tif 000025
【国際調査報告】
2008536225.tif 000026
2008536225.tif 000027
2008536225.tif 000028