(57)【要約】【課題】ＯＨＣＩエンドポイント記述子の中の予約ビットを利用して、いずれのルートハブポートがデータを伝送すべきかをシグナルするユニバーサルシリアルバス（ＵＳＢ）プロトコルの拡張を提供すること。【解決手段】通常、すべてのポートがデータを伝送する（ブロードキャストする）。本発明は、いずれのポートがトライステートにされる必要があるかを有効に管理するためにハードウェアによって使用されることが可能な伝送情報を符号化する。ただし、すべてのポートに関して「オン」のビットを設定することにより、本発明は、標準のＵＳＢ機能を保つ。また、ＵＳＢバスに接続された低速デバイスの帯域幅を、そのようなデバイスに関するデータペイロードを増加させることにより、増加させる方法も提供される。【選択図】図１
2006065859.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムにおけるＵＳＢバスであって、
複数のポートを有するＵＳＢルートハブ、
プロトコルを使用して該ポートに接続されたデバイスに／からデータを転送する、前記ＵＳＢルートハブに接続されたＵＳＢホスト、および、
該ホストをコンピューティングシステムにインタフェースするＵＳＢホストコントローラを備え、
該コントローラが、前記プロトコルによって前記ＵＳＢルートハブの少なくとも１つのポートをディセーブルする、ことを特徴とするＵＳＢバス。
【請求項２】
前記プロトコルはＵＳＢ改訂版１．１に準拠する、ことを特徴とする請求項１のＵＳＢバス。
【請求項３】
前記少なくとも１つのポートをディセーブルするのにＯＨＣＩエンドポイント記述子中の予約ビットが使用される、ことを特徴とする請求項２のＵＳＢバス。
【請求項４】
前記予約ビットの組み合わせに基づき、データを送信しないポートはトライステートにされ、データを送信するポートはイネーブルされる、ことを特徴とする請求項３のＵＳＢバス。
【請求項５】
前記予約ビットはＤＷｏｒｄ０に位置する、ことを特徴とする請求項３のＵＳＢバス。
【請求項６】
接続されたデバイスが本ＵＳＢバスを介して通信を受信していない場合、個々のデータパケットが前記接続されたデバイスにルーティングされて、該デバイスがサスペンド状態に入らないようにする、ことを特徴とする請求項２のＵＳＢバス。
【請求項７】
本ＵＳＢバスに接続された低速（ＬＳ）デバイスは３２バイトのデータペイロードを使用して通信する、ことを特徴とする請求項２のＵＳＢバス。
【請求項８】
前記プロトコルは、すべての前記ポートへのデータのブロードキャストを可能にし、前記プロトコルは、前記ＬＳデバイスがＵＳＢ１．１に準拠する形で通信することを可能にする、ことを特徴とする請求項７のＵＳＢバス。
【請求項９】
本ＵＳＢバスに接続された低速（ＬＳ）デバイスは、すべてのポートにデータをブロードキャストするＵＳＢホストに接続された前記ＬＳデバイスより低いＥＭＩ放出を有する前記コンピューティングシステムと通信する、ことを特徴とする請求項１のＵＳＢバス。
【請求項１０】
コンピューティングシステムにおいてＵＳＢバスを介して通信する方法であって、該コンピューティングシステムが、該バスを該システムとインタフェースするＵＳＢホストコントローラを有している方法において、
複数のポートを有するＵＳＢルートハブを提供するステップ、
プロトコルを使用して該ポートに接続されたデバイスに／からデータを転送する、前記ＵＳＢルートハブに接続されたＵＳＢホストを提供するステップ、および、
前記プロトコルによって前記ポートのうち少なくとも１つのポートをディセーブルするステップを含む、
ことを特徴とする方法。
【請求項１１】
前記プロトコルはＵＳＢ改訂版１．１に準拠する、ことを特徴とする請求項１０の方法。
【請求項１２】
前記少なくとも１つのポートをディセーブルするようにＵＳＢエンドポイント記述子中の予約ビットを定義するステップをさらに含む、ことを特徴とする請求項１１の方法。
【請求項１３】
前記予約ビットの組み合わせに基づき、データを送信しない１つまたは複数のポートをトライステートにするステップ、および、データを伝送するポートをイネーブルするステップをさらに含む、ことを特徴とする請求項１２の方法。
【請求項１４】
前記予約ビットはＤＷｏｒｄ０に位置する、ことを特徴とする請求項１２の方法。
【請求項１５】
通信を受信していない前記接続されたデバイスに個々のパケットを伝送して、該デバイスがサスペンド状態に入らないようにするステップをさらに含む、ことを特徴とする請求項１１の方法。
【請求項１６】
前記ＵＳＢバスに接続された低速（ＬＳ）デバイスは３２バイトのデータペイロードを使用して通信する、ことを特徴とする請求項１１の方法。
【請求項１７】
前記プロトコルを介して、すべての前記ポートへのデータのブロードキャストを可能にして、前記ＬＳデバイスがＵＳＢ１．１に準拠する形で通信するようにするステップをさらに含む、ことを特徴とする請求項１６の方法。
【請求項１８】
前記ＵＳＢバスに接続された低速（ＬＳ）デバイスは、すべてのポートにデータをブロードキャストするＵＳＢホストに接続された前記ＬＳデバイスより低いＥＭＩ放出を有する前記コンピューティングシステムと通信する、ことを特徴とする請求項１０の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピューティングデバイスの分野に関する。より詳細には、本発明は、後方互換を保ちながら、ユニバーサルシリアルバス（ＵＳＢ）プロトコルを拡張するシステムおよび方法に関する。
【背景技術】
【０００２】
ユニバーサルシリアルバス（ＵＳＢ）プロトコルは、コンピューティングデバイスにおいて多くの異なるアプリケーションに使用される標準バスインタフェースとなっている。このインタフェースは、データが中央ホストに接続されたすべてのデバイスに送信されるブロードキャスト機構に基づく。デバイスは、送信されたデータをＵＳＢパケットヘッダ中のデバイスアドレスに基づき受け入れ、または拒否する。このアプローチの重大な欠点は、高価なシールドを使用する必要がある高い電磁妨害雑音（ＥＭＩ）に繋がることである。
【０００３】
ＵＳＢ１．１プロトコルの別の態様によれば、デバイスは、低速（ＬＳ）または最高速度（ＦＳ）デバイスとしてＵＳＢバスに接続する。バスのシリアルの性質に起因して、ＬＳにおける最大帯域幅は１．５Ｍｂｐｓである。ＬＳでは、プロトコルは、８バイトのデータペイロードに１９バイトのヘッダ情報が伴うことを規定する。これは、有効帯域幅を不利に小さくする。
【０００４】
【非特許文献１】Universal Serial Bus Specification, Revision 1.1, September 23, 1998
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このため、後方互換（backward compatibility）を保ちながら、ＥＭＩ問題を小さくし、低速における帯域幅を増加させるＵＳＢプロトコルの拡張の必要性が存在する。本発明は、そのような解決策を提供する。
【課題を解決するための手段】
【０００６】
本発明は、オープンホストコントローラインタフェース（ＯＨＣＩ）設計、並びにユニバーサルシリアルバス（ＵＳＢ）ホストコントローラおよびホストコントローラソフトウェアドライバコンポーネント（複数）のインプリメンテーションの拡張を提供するためのシステムおよび方法を対象とする。ＵＳＢはブロードキャスト機構を使用するため、すべてのルートハブポートがすべての（ブロードキャスト）データパケットを伝送する。本発明により、ＯＨＣＩエンドポイント記述子の中の予約ビットを利用して、個々のデータパケットをルートハブ上の特定のポートを介してルーティングすることにより、ＵＳＢプロトコルを強化する。本発明により、ハードウェアによって使用でき、どのポートが個別のデータパケットの伝送中にトライステート（tri-state）にされるかを効果的に管理するための情報を符号化する。本発明は、以上の様式で、完全に適合したＵＳＢ１．１デバイスで動作する（operate with）ことができる。さらに、すべてのポートに関して「オン」のビットを設定することにより、本発明は、一部のＵＳＢ１．１試験装置を使用してデバッグするのに役立つ可能性がある、標準ＵＳＢ機能も有利に保つ。
【０００７】
本発明の第１の態様によれば、コンピューティングシステムに、複数のポートを有するＵＳＢルートハブ、プロトコルを使用して上記ポートに接続されたデバイスにデータを転送し、且つ、これらデバイスからデータを転送するようにＵＳＢインタフェースに接続されたＵＳＢホスト、およびＵＳＢホストコントローラ（上記ＵＳＢホストを上記コンピューティングシステムとインタフェースし、上記コンピューティングシステムとインタフェースする）を含むＵＳＢバスが提供される。上記ホストコントローラは、上記ポートのうち少なくとも１つのポートをディセーブルして、上記プロトコルを介して特定のデバイスにデータを向かわせる。
【０００８】
本発明の特徴によれば、上記プロトコルはＵＳＢ改訂版１．１に準拠する。ＵＳＢエンドポイント記述子の中の予約ビットは、いずれのポート（１つまたは複数）がデータを伝送すべきかを知らせるのに使用することができる。データを送信しないポート（１つまたは複数）はトライステートにされ、データを送信するポートは上記予約ビットの組み合わせに基づきイネーブルされる。
【０００９】
別の特徴によれば、接続されたデバイスが上記ＵＳＢバスを介して通信を受信していない場合、個々のパケットが、接続されたデバイスに上記ＵＳＢホストによって伝送され、これらデバイスがサスペンド状態に入らないようにすることが可能である。
【００１０】
別の特徴によれば、上記ＵＳＢバスに接続された低速（ＬＳ）デバイスは、８バイトではなく、３２バイトのデータペイロードを使用して通信する。本発明のプロトコルは、上記ポートのすべてにデータのブロードキャストを可能にすることもでき、ＵＳＢ１．１に準拠する形でＬＳデバイスに伝送を行うようにポートを設定することもできる。
【００１１】
さらに別の特徴によれば、上記ＵＳＢバスに接続された低速（ＬＳ）デバイスが、すべてのポートを介してデータをブロードキャストするＵＳＢホストに接続されたＬＳデバイスよりも低い放出（emission）を有する上記コンピューティングシステムと通信する上記ＵＳＢバスに接続される。
【００１２】
本発明のさらなる特徴および利点は、添付の図面を参照して進められる例示的な諸実施形態の以下の詳細な説明から明らかにされる。
【発明を実施するための最良の形態】
【００１３】
以下の概要、および好ましい諸実施形態の以下の詳細な説明は、添付の図面と併せて読むと、よりよく理解される。本発明を例示する目的で、図面には、本発明の典型的な構成が示されているが、本発明は、開示する特定の方法および手段（instrumentalities）に限定されない。
【００１４】
典型的なコンピューティング環境
図１は、本発明を実施することができる適切なコンピューティングシステム環境１００の実施例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一実施例に過ぎず、本発明の用法または機能の範囲について、何ら限定を示唆するものではない。また、コンピューティング環境１００が、典型的な動作環境１００に例示したコンポーネントのいずれか１つ、またはいずれかの組み合わせに関連する依存関係または要件を有するものと解釈してはならない。
【００１５】
本発明は、他の多数の汎用または専用のコンピューティングシステム環境またはコンピューティングシステム構成で動作する。本発明で使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の実施例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００１６】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信網、または他のデータ伝送媒体を介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュール、およびその他のデータは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
【００１７】
図１を参照すると、本発明を実施するための典型的なシステムは、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０は、処理装置１２０、システムメモリ１３０、ならびにシステムメモリから処理装置１２０までを含む様々なシステムコンポーネントを結合するシステムバス１２１を含むことが可能であるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれであってもよい。一例として、限定としてではなく、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ（Industry Standard Architecture）（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（Micro Channel Architecture）（ＭＣＡ）バス、エンハンストＩＳＡ（Enhanced ISA）（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダーズアソシエーション（Video Electronics Standards Association）（ＶＥＳＡ）ローカルバス、ペリフェラルコンポーネントインタコネクト（Peripheral Component Interconnect）（ＰＣＩ）バス（メザニン（Mezzanine）バスとしても知られる）、ペリフェラルコンポーネントインタコネクトエクスプレス（Peripheral Component Interconnect Express）（ＰＣＩ−Ｅｘｐｒｅｓｓ）、およびシステムマネージメントバス（System Management Bus）（ＳＭＢｕｓ）を含むことができる。
【００１８】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセスされることが可能な任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の格納のために任意の方法または技術で実装された揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ１００によってアクセスされることが可能な他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構で、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実現し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で特定の１つまたは複数が設定または変更された信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。以上の媒体のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含められなければならない。
【００１９】
システムメモリ１３０は、ＲＯＭ１３１やＲＡＭ１３２などの揮発性メモリおよび／または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動中などに、コンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、通常、ＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、通常、処理装置１２０によって即時にアクセス可能であり、かつ／または現在、処理されているデータおよび／またはプログラムモジュールを含む。例として、限定としてではなく、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。アプリケーションプログラム１３５およびプログラムモジュール１３６はそれぞれ１つまたは１つ以上であってよい。
【００２０】
コンピュータ１１０は、その他のリムーバブルな／リムーバブルでない、揮発性／不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図１は、リムーバブルでない不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４１、リムーバブルな不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの、リムーバブルな不揮発性の光ディスク１５６に対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示す。典型的な動作環境で使用することができるその他のリムーバブルな／リムーバブルでない、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インタフェース１４０のようなリムーバブルでないメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インタフェース１５０のようなリムーバブルなメモリインタフェースによってシステムバス１２１に接続される。
【００２１】
以上に説明し、図１に示したドライブ、および関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータのストレージがコンピュータ１１０に提供される。図１では、例えば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているのが示されている。アプリケーションプログラム１４５およびプログラムモジュール１４６はそれぞれ１つまたは１つ以上であってよい。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくともそれらが異なるコピーであることを示すために、ここでは、異なる符号が与えられている。ユーザは、キーボード１６２や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１１０に入力することができる。その他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インタフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースおよびバス構造で接続してもよい。モニタ１９１、または他のタイプのディスプレイデバイスも、ビデオインタフェース１９０のようなインタフェースを介して、システムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インタフェース１９５を介して接続することができる、スピーカ１９７やプリンタ１９６などの他の周辺出力デバイスも含むことが可能である。
【００２２】
コンピュータ１１０は、リモートコンピュータ１８０のような１つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであってよく、通常、コンピュータ１１０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置１８１だけを図１に示している。図示の論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、その他のネットワークも含むことができる。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００２３】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインタフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、または他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インタフェース１６０、または他の適切な機構を介してシステムバス１２１に接続されることが可能である。ネットワーク化された環境では、コンピュータ１１０に関連して示したプログラムモジュール、またはプログラムモジュールの諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図１は、リモートアプリケーションプログラム１８５が、メモリデバイス１８１上に常駐しているのを示す。リモートアプリケーションプログラム１８５は１つまたは１つ以上であってよい。図示したネットワーク接続は、典型的であり、コンピュータ間で通信リンクを確立するその他の手段も使用することができることが認められよう。
【００２４】
拡張されたＵＳＢプロトコルの典型的な諸実施形態
ユニバーサルシリアルバス（ＵＳＢ）の動機は、コンピューティングと通信のますますの収斂、コンピューティングデバイスの柔軟性のある再構成の必要性、および外部周辺装置を追加する追加のポートの必要性などの、コンピューティングデバイスにおけるいくつかの進歩から来ている。概要として、ＵＳＢは、ホストコンピュータと同時にアクセス可能な多様な周辺装置間のデータ交換をサポートするケーブルバスである。接続された周辺装置は、ホストによってスケジュールされたトークンベースのプロトコルを介して、ＵＳＢ帯域幅を共用する。このバスは、ホスト、およびその他の周辺装置が動作している間に、周辺装置が、接続され、構成され、使用され、取り外されることを可能にする。
【００２５】
ＵＳＢシステムは、次の３つの定義づけの構成要素によって説明される。すなわち、ＵＳＢ相互接続、ＵＳＢデバイス、およびＵＳＢホストである。ＵＳＢ相互接続は、ＵＳＢデバイスが、ホストに接続され、ホストと通信する仕方である。ＵＳＢ相互接続は、ＵＳＢデバイスをＵＳＢホストと接続する。ＵＳＢ物理相互接続は、各スターの中心にハブを有する階層スター型トポロジである。各ワイヤセグメントは、ホストとハブまたは機能、あるいは別のハブまたは機能に接続されたハブとの間のポイントツーポイント接続である。ＵＳＢに関するさらなる詳細は、参照により全体が本明細書に組み込まれている（非特許文献１）で見ることができる。
【００２６】
いずれのＵＳＢシステムにおいても１つのホストが存在する。ホストコンピュータシステムに対するＵＳＢインタフェースは、ホストコントローラと呼ばれる。ホストコントローラは、ハードウェア、ファームウェア、またはソフトウェアの組み合わせで実施されることが可能である。ルートハブが、ホストシステムに組み込まれて、１つまたは複数の接続ポイントを提供する。
【００２７】
ＵＳＢデバイスは、ハブおよびＵＳＢ機能を含むことが可能である。ハブが、さらなる接続ポイントを提供するのに対して、ＵＳＢ機能は、ＩＳＤＮ接続、デジタルジョイスティック、またはスピーカなどの、さらなる諸能力をシステムに提供する。ＵＳＢデバイスは、次の点で、標準のＵＳＢインタフェースを示す。すなわち、ＵＳＢプロトコルの理解、標準のＵＳＢ動作に対する応答、および標準の能力記述情報である。
【００２８】
前述した通り、ＵＳＢプロトコルは、データが、中央ホストに接続されたすべてのデバイスに送信されるブロードキャスト機構に基づく。デバイスは、ＵＳＢパケットヘッダの中のデバイスアドレスに基づき、送信されたデータを受け入れるか、または拒否する。ＵＳＢプロトコルによって採用されたブロードキャスト機構は、高価なシールドの使用を必要とする高レベルのＥＭＩにつながる。というのは、ＥＭＩ製品が放出することができる最大ＥＭＩを規制する、いくつかのＦＣＣ規則が存在するからである。本発明は、ホストドライバが、データのブロードキャストをディセーブルし、所定のポートに接続された特定のデバイスにデータを向かわせることを可能にすることにより、ＵＳＢプロトコルを拡張して、ＥＭＩをＦＣＣ基準以内まで小さくする有効なやり方を提供する。
【００２９】
以上を達成するため、ＯＨＣＩエンドポイント記述子の中の予約ビットを使用して、いずれのルートハブポートがデータを伝送すべきかがシグナルされる。ＵＳＢエンドポイント記述子は、当業者には周知であり、図２および図３に詳細に示されている。本発明によれば、特定のポートに接続されたデバイスに伝送されるべき情報は、いずれのポートがトライステートにされ、いずれのポートがデータを送信するのにイネーブルされるかを管理するように、予約ビットを介して符号化される。例えば、５つのポートが実施される場合、ポート番号が、各トランザクションに関して、以下の通り、予約ビットＤＷｏｒｄ［２９：２７］を使用してエンドポイント記述子の中で符号化される。すなわち、
００１−データをポート１に送信し、ポート２、３、４、５をトライステートにする。
０１０−データをポート２に送信し、ポート１、３、４、５をトライステートにする。
０１１−データをポート３に送信し、ポート１、２、４、５をトライステートにする。
１００−データをポート４に送信し、ポート１、２、３、５をトライステートにする。
１０１−データをポート５に送信し、ポート１、２、３、４をトライステートにする。
１１１−すべてのポートをトライステートにする。
０００−すべてのポートにブロードキャストする。
【００３０】
本発明は、５つのポートに限定されないことに留意されたい。というのは、追加のポート、または少数しかないポートが、エンドポイント記述子の中の追加の／より少ない予約ビットを介して管理されることが可能であるからである。また、すべてのポートに関して「オン」のビットを設定して（例えば、０００）、本発明は、ブロードキャストモードを実施することにより、標準のＵＳＢ機能を有利に保つことができる。
【００３１】
接続されたデバイスが、ＵＳＢバスを介して通信を受信していない場合、個々のパケットが、それらデバイスにルーティングされて、接続されたデバイスが、サスペンド状態に入らないようにする。これにより、相当に時間がかかる、デバイスをサスペンド状態から目覚めさせることを行わなければならないのではなく、デバイスが、有利にアクティブ状態に保たれる。
【００３２】
以上に説明した形でポートに信号を伝送することにより、高価なシールドの必要性を抑えながら、ＵＳＢプロトコルを使用するより低い費用のソリューションを製造することができる。
【００３３】
以上に加えて、ＵＳＢ１．１標準は、デバイスが、低速（ＬＳ）デバイスとして、または最高速度（ＦＳ）デバイスとして接続することを可能にする。ＬＳデバイスは、ＦＳデバイスがホストに１２ＭＨｚインタフェース速度で接続する場合、ホストに１．５ＭＨｚインタフェース速度で接続する。本発明は、最大データペイロードを３２バイトまで拡張することにより、ＬＳの帯域幅を向上させる。ＵＳＢエンドポイントのペイロード・サイズは、図４に示す通り、ＵＳＢエンドポイント記述子のｗＭａｘＰａｃｋｅｔＳｉｚｅフィールド中で指定される。これにより、デバイスが、デバイスのＦＩＦＯのサイズをホストシステムに伝えることが可能になる。ＵＳＢ１．１は、低速デバイスが、ｘＭａｘＰａｃｋｅｔＳｉｚｅを、エンドポイントのいずれに関しても８バイトより大きく設定してはならないことを規定している。ホストコントローラのハードウェアとソフトウェアの組み合わせにより、この限度が実施される。一部のＯＨＣＩハードウェアは、この限度について関知せず（agnostic）、より大きいＬＳパケットサイズを簡単に許すが、本発明の拡張されたＯＨＣＩホストコントローラは、より大きいデータペイロードをサポートするＬＳデバイス、およびサポートしないＬＳデバイスと正しく相互動作する（interoperate）。しかし、より大きいデータペイロードを利用するデバイスは、そのデバイスを、そのエンドポイントの使用が必要ないモードにすることが可能でない限り、本発明の機能強化されたホストコントローラシステム（ソフトウェアおよびハードウェア）とだけ動作する。
【００３４】
本発明を、様々な図の好ましい諸実施形態に関連して説明してきたが、本発明を逸脱することなく、本発明の同一の機能を実行するために、他の類似した実施形態を使用すること、または説明した実施形態に変更または追加を行うこともできることを理解されたい。例えば、本出願で説明した本発明は、有線であれ、無線であれ、任意のコンピューティングデバイスまたはコンピューティング環境に適用されることができ、通信ネットワークを介して接続され、そのネットワークを介して対話する任意数のコンピューティングデバイスに適用されることができることが、当業者には認識されよう。さらに、特に無線ネットワーク化されたデバイスの数が急増するなかで、ハンドヘルドデバイスオペレーティングシステム、およびその他のアプリケーション固有のオペレーティングシステムを含め、様々なコンピュータプラットフォームが企図されていることが強調されなければならない。さらに、本発明は、複数の処理チップまたは処理デバイスの中で、またはそれらにわたって実施されることができ、ストレージに同様に、複数のデバイスにわたって実施されることができる。したがって、本発明は、いずれの単一の実施形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲による広がりと範囲で解釈されなければならない。
【図面の簡単な説明】
【００３５】
【図１】本発明の諸態様を実施することができる典型的なコンピューティング環境を示すブロック図である。
【図２】ＯＨＣＩエンドポイント記述子フォーマットを示すテーブルである。
【図３】ＯＨＣＩエンドポイント記述子フィールド定義を示すテーブルである。
【図４】ＵＳＢエンドポイント記述子を示すテーブルである。
【符号の説明】
【００３６】
１００  コンピューティング環境
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３４，１４４  オペレーティングシステム
１３５，１４５  アプリケーションプログラム
１３６，１４６  他のプログラムモジュール
１３７，１４７  プログラムデータ
１４０  リムーバブルでない不揮発性メモリのインタフェース
１５０  リムーバブルな不揮発性メモリのインタフェース
１６０  ユーザ入力インタフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
【図１】
2006065859.tif 000003
【図２】
2006065859.tif 000004
【図３】
2006065859.tif 000005
【図４】
2006065859.tif 000006
【外国語明細書】
2006065859000001.pdf