(57)【要約】本明細書の教示の一態様によれば、システムは、ＵＳＢホストおよびＵＳＢデバイスとを相互接続する中間トランスポートリンクのアンカーホスト側およびデバイス側エンドである第１および第２モジュールを含む。システムは、ホストがアイソクロナスＩＮデータトランザクションのためにデバイス内のアイソクロナスエンドポイントをアクティベートすると、それを検出し、第２モジュールはデバイスへのデータ要求を自発的に生成するとともに、デバイスからのアイソクロナスデータ出力を第１モジュールへ向けて転送する。そして、第１モジュールはデータをバッファし、ホストのデータ要求に応じてデータをホストに提供する。しかし、第１モジュールはホスト要求がデバイスへ伝播さないようにブロックし、転送されたデータが第２モジュールから取得可能になるまでホスト要求に対して否定応答する。このような動作はＵＳＢタイミング違反を回避しながら、延長された中間トランスポートリンクに関してすら、ホストおよびデバイスに対して透過的な状態を保つ。
2015528163.tif 000002
【特許請求の範囲】
【請求項１】
ユニバーサルシリアルバス（ＵＳＢ）シグナリング制御の方法であって、
ＵＳＢホストへの第１ローカルＵＳＢリンクを有する第１モジュールによってホスト側がアンカーされ、ＵＳＢデバイスへの第２ローカルＵＳＢリンクを有する第２モジュールによってデバイス側がアンカーされる中間トランスポートリンクによって相互接続されている前記ＵＳＢホストと前記ＵＳＢデバイスとの間で通信されるＵＳＢ信号を監視する工程と、
アイソクロナスデータがアイソクロナスエンドポイントから前記ＵＳＢホストへ送信されることになるアイソクロナスデータＩＮトランザクションのために、前記ＵＳＢホストが前記ＵＳＢデバイス内の前記アイソクロナスエンドポイントをアクティベートすると、それを前記第２モジュールで検出する工程と、
前記検出に応答して、
前記第２のモジュールで、前記アイソクロナスエンドポイントからのアイソクロナスデータに対するデータ要求を自発的に生成するとともに、前記データ要求に応答して前記アイソクロナスエンドポイントから受信したアイソクロナスデータを前記第１モジュールに転送する工程と、
前記第１モジュールで、前記第２モジュールからの転送に伴って前記アイソクロナスデータをバッファするとともに、前記ＩＮトランザクションについて前記ＵＳＢホストで生成されるデータ要求の受信に応答して該アイソクロナスデータを前記ＵＳＢホストに提供する一方、前記ＵＳＢホストからのかかるデータ要求を前記第２モジュールへは転送しない工程と、を有し、
前記第１および第２モジュールは前記中間トランスポートリンク上でＵＳＢ信号を搬送するための信号変換機能を提供し、前記監視は前記第２モジュールで実行されることを特徴とする方法。 
【請求項２】
複数のＵＳＢエンドポイントからのアイソクロナスデータが同時にバッファされうるように総計バッファ容量を管理する工程であって、前記複数のＵＳＢデバイスの任意の１つからのアイソクロナスデータが消費できる前記総計バッファ容量の最大量を、前記総計バッファ容量未満に制限する工程を含む工程をさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
複数のアイソクロナスエンドポイントが前記第２モジュールに接続されている１つ以上のＵＳＢデバイスで同時にアクティベートされてよく、任意のエンドポイントについてバッファされる前記アイソクロナスデータが１つのデータパケットに制限されるとともに、該エンドポイントからの新たな入来データパケットが、該エンドポイントについて前記バッファに既にバッファされているデータパケットのいずれかを置換することを特徴とする請求項１記載の方法。
【請求項４】
前記監視が前記第１モジュールと前記ＵＳＢホストとの間の前記第１ローカルＵＳＢリンク上、もしくは前記第２モジュールと前記ＵＳＢデバイスとの間の前記第２ローカルＵＳＢリンク上で実行されることを特徴とする請求項１記載の方法。
【請求項５】
前記監視する工程が、アイソクロナスエンドポイントを特定するために、ＵＳＢ規格で規定される標準デバイスリクエストを監視する工程を有し、前記検出する工程が、該アイソクロナスエンドポイントが開始した際にそれを特定するためにUSB SET_CONFIGURATIONまたはGET_CONFIGURATIONトランザクション、および／またはSET_INTERFACEまたはGET_INTERFACEトランザクションを検出する工程を有することを特徴とする請求項１記載の方法。
【請求項６】
前記アイソクロナスエンドポイントがアクティブでなくなったときを、前記アイソクロナスエンドポイントに関与するさらなるＵＳＢシグナリングの監視に基づいて検出する工程をさらに有することを特徴とする請求項１記載の方法。
【請求項７】
前記アイソクロナスエンドポイントの電源断、無効状態、または切断の検出に応じて、前記アイソクロナスエンドポイントを用いる前記自発的なアイソクロナスデータトランザクションを中断する工程をさらに有することを特徴とする請求項１記載の方法。
【請求項８】
前記自発的なトランザクションが、特定されたアイソクロナスエンドポイントの各々が、ＵＳＢフレームあたり１つの自発的トランザクションを得るように生成されることを特徴とする請求項１記載の方法。
【請求項９】
ユニバーサルシリアルバス（ＵＳＢ）シグナリング制御のために構成されたシステムであって、
ＵＳＢホストへの第１ローカルＵＳＢリンクを有する第１モジュールと、ＵＳＢデバイスへの第２ローカルＵＳＢリンクを有する第２モジュールであって、前記第１および第２モジュールはそれぞれ、前記第１および第２モジュールを相互接続する中間トランスポートリンク上でもう一方のモジュールと通信するためのインタフェースを有し、前記第１および第２モジュールは前記ＵＳＢホストおよびデバイス間を流れるＵＳＢ信号を搬送するための信号変換機能を提供するように構成され、前記第１および第２モジュールの少なくとも１つは、アイソクロナスデータがアイソクロナスエンドポイントから前記ＵＳＢホストへ送信されることになるアイソクロナスデータＩＮトランザクションのために前記ＵＳＢホストが前記ＵＳＢデバイス内の前記アイソクロナスエンドポイントをアクティベートしたときにそれを検出するため、前記ＵＳＢ信号を監視するように構成され、
前記検出に応答して、前記アイソクロナスエンドポイントからのアイソクロナスデータに対するデータ要求を自発的に生成し、前記データ要求に応答して前記アイソクロナスエンドポイントから受信したアイソクロナスデータを前記第１モジュールに転送するように前記第２モジュールは構成され、
前記第１モジュールは、前記第２モジュールからの転送に伴って前記アイソクロナスデータをバッファし、前記ＩＮトランザクションのために前記ＵＳＢホストで生成されるデータ要求の受信に応答して該アイソクロナスデータを前記ＵＳＢホストに提供する一方、前記ＵＳＢホストから該データ要求を前記第２モジュールへは転送しないように構成される、ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してユニバーサルシリアルバス（ＵＳＢ）シグナリングに関し、特にはＵＳＢシグナリングのための中間トランスポートの利用に関する。
【背景技術】
【０００２】
ユニバーサルシリアルバスまたはＵＳＢ仕様に準拠した通信リンク上で実行されるシリアル通信を通じ、多様な機器やシステムが通信している。仕様は、ＵＳＢ規格を開発した企業によって設立され、非営利団体として活動するＵＳＢインプリメンターズフォーラム(USB-IF)が公布している。ＵＳＢ接続はユビキタスであり、ＰＣをキーボード、ジョイスティック、カメラ、スマートフォン、および事実上数限りない他の周辺機器と結びつける。
【０００３】
３つの定義エリアは、ＵＳＢシステム（ＵＳＢインターコネクトを含む）、ＵＳＢホスト、および１つ以上のＵＳＢデバイスを記述している。ＵＳＢはポーリングを用いるバスであり、ＵＳＢシステムあたりに存在するＵＳＢホストは１つだけである。ＵＳＢホストは全てのトランザクションを開始し、コントロール、インタラプト、バルク、およびアイソクロナスの４つのトランザクションタイプが規定されている。ＵＳＢ仕様書で規定されるように、アイソクロナスデータは配信レートによってタイミングが暗示されるデータストリームであり、ＵＳＢコンテキストにおいてアイソクロナスデバイスはアイソクロナスエンドポイントを有するエンティティである。アイソクロナスエンドポイントは、サンプルされたアナログストリームまたは同期データストリームをソースまたはシンクする。とりわけ、ホストから送信されたアイソクロナスデータストリームを消費することができるエンドポイントを”アイソクロナスシンク”と呼び、アイソクロナスデータストリームを生成してホストに送信することができるエンドポイントを”アイソクロナスソース”と呼ぶ。アイソクロナス転送はアイソクロナスデータを取り扱う際に用いられ、ホストと対象デバイスとの間の周期的、継続的な通信を提供する。ＵＳＢ用語において、「デバイス」は機能を実行する論理または物理エンティティである。この用語は単独のハードウェア部品を指すこともあるが、より広く、特定の機能を実行するハードウェア部品群全体を指す場合もある。この機能的な見方は、例えばカメラ機能、ゲームコントローラ機能など、ＵＳＢ接続されたエンティティレベルまで抽象化されうる。本明細書において「ＵＳＢデバイス」という用語は、概してＵＳＢエンドポイントを含んでいるエンティティと解されるであろう。
【０００４】
ＵＳＢはデバイス間通信の標準化されたロバストな手段を提供するが、柔軟性に制限がある。例えば、以前のＵＳＢ２．０規格によれば、５ｍの最大物理ケーブル長や、ハブで拡張されたＵＳＢリンクセットにおける全体的またはエンドツーエンド遅延の外側限界が規定されている。より最近のＵＳＢ３．０規格は最大ケーブル長を明示的には規定していないが、電気的およびタイミングの仕様により実質的には同様の限界が存在する。ＵＳＢエンドポイントとともに用いられる延長アイソクロナスデータリンクを有することが望ましいであろう環境において、そのような限界を解決するのは非常に困難である。
【発明の概要】
【０００５】
本明細書の教示の一態様によれば、システムは、ＵＳＢホストおよびＵＳＢデバイスとを相互接続する中間トランスポートリンクのアンカーホスト側およびデバイス側エンドである第１および第２モジュールを含む。システムは、ホストがアイソクロナスＩＮデータトランザクションのためにデバイス内のアイソクロナスエンドポイントをアクティベートするとそれを検出し、第２モジュールはデバイスへのデータ要求を自発的に生成するとともに、デバイスからのアイソクロナスデータ出力を第１モジュールへ向けて転送する。そして、第１モジュールはデータをバッファし、ホストのデータ要求に応じてデータをホストに提供する。しかし、第１モジュールはホスト要求がデバイスへ伝播さないようにブロックし、転送されたデータが第２モジュールから取得可能になるまでホスト要求に対して否定応答する。このような動作はＵＳＢタイミング違反を回避しながら、延長された中間トランスポートリンクに関してすら、ホストおよびデバイスに対して透過的な状態を保つ。
【０００６】
従って、ＵＳＢシグナリング制御方法の一例は、ＵＳＢホストへの第１ローカルＵＳＢリンクを有する第１モジュールによってホスト側がアンカーされ、ＵＳＢデバイスへの第２ローカルＵＳＢリンクを有する第２モジュールによってデバイス側がアンカーされる中間トランスポートリンクによって相互接続されているＵＳＢホストとＵＳＢデバイスとの間を通信されるＵＳＢ信号を監視する工程を含む。ここで、第１および第２モジュールは中間トランスポートリンク上でＵＳＢ信号を搬送するための信号変換機能を提供し、第２モジュールは監視を実行する。
【０００７】
方法はさらに、アイソクロナスデータがアイソクロナスエンドポイントからＵＳＢホストへ送信されることになるアイソクロナスデータＩＮトランザクションのために、ＵＳＢホストがＵＳＢデバイス内のアイソクロナスエンドポイントをアクティベートすると、それを第２モジュールが監視に基づいて検出する工程を含む。またさらに、方法は、検出に応答して、第２のモジュールが、アイソクロナスエンドポイントからのアイソクロナスデータに対するデータ要求を自発的に生成し、データ要求に応答してアイソクロナスエンドポイントから受信したアイソクロナスデータを第１モジュールに転送する工程を含む。それに対応して方法は、第１モジュールがアイソクロナスデータを第２モジュールから転送されるにつれてバッファし、ＩＮトランザクションのためにＵＳＢホストによって生成されたデータ要求に応答して、それをＵＳＢホストに提供する工程を続ける。しかしながら、第１モジュールは、有利に、ＵＳＢホストからのデータ要求を第２モジュールへは転送しない。
【０００８】
別の例示的な実施形態において、システムはＵＳＢシグナリング制御のために構成される。想定されるシステムは、ＵＳＢホストへの第１ローカルＵＳＢリンクを有する第１モジュールおよびＵＳＢデバイスへの第２ローカルＵＳＢリンクを有する第２モジュールを有する。第１および第２モジュールはそれぞれ、第１および第２モジュールを相互接続する中間トランスポートリンク上でもう一方のモジュールと通信するためのインタフェースを有し、ＵＳＢホストおよびデバイス間を流れるＵＳＢ信号を搬送するための信号変換機能を提供するように構成される。
【０００９】
さらに、第１モジュールおよび／または第２モジュールは、アイソクロナスデータがアイソクロナスエンドポイントからＵＳＢホストへ送信されることになるアイソクロナスデータＩＮトランザクションのためにＵＳＢホストがＵＳＢデバイス内のアイソクロナスエンドポイントをアクティベートしたことを検出するため、ＵＳＢ信号を監視するように構成される。かかる検出に応答して、アイソクロナスエンドポイントからのアイソクロナスデータに対するデータ要求を自発的に生成し、データ要求に応答してアイソクロナスエンドポイントから受信したアイソクロナスデータを第１モジュールに転送するように第２モジュールは構成されている。それに対応して第１モジュールは、第２モジュールから転送されるにつれてアイソクロナスデータをバッファし、ＩＮトランザクションのためにＵＳＢホストで生成されるデータ要求の受信に応答してそれをＵＳＢホストに提供し、一方でＵＳＢホストからのかかるデータ要求を第２モジュールへは転送しないように構成される。
【００１０】
もちろん、本発明は上述した特徴や利点に限定されない。実際、本技術分野に属する当業者は、以下の詳細な説明を読んだり添付図面を見たりすることによってさらなる特徴や利点に気づくであろう。
【図面の簡単な説明】
【００１１】
【図１】図１は、中間トランスポートリンク上でのＵＳＢホストとＵＳＢデバイスとの間のＵＳＢシグナリングを拡張するためのシステムの、一実施形態のブロック図である。
【図２】図２は、ＵＳＢホストとＵＳＢデバイスとの間でＵＳＢシグナリングを搬送するために用いられる中間トランスポートリンクのホスト側およびデバイス側エンドで動作する第１および第２モジュールの例示的な実施形態のブロック図である。
【図３】図３は、図１に示すようなシステムを用いてＵＳＢデバイスからＵＳＢホストへアイソクロナスデータ転送を取り扱うための、改善された方法のための処理方法の一実施形態の論理的なフローチャートである。
【発明を実施するための形態】
【００１２】
図１は、第１モジュール１２および第２モジュール１４を含む「システム」１０の一実施形態を示しており、第１モジュールは自身を第２モジュール１４に接続する中間トランスポートリンク１６の「ホスト側」で動作する（第２モジュール１４は中間トランスポートリンク１６の「デバイス側」に存在するものと見なされる）。ここで、「ホスト側」および「デバイス側」という見出しは、ＵＳＢホスト２０とＵＳＢデバイス２２との間で流れるＵＳＢシグナリングが中間トランスポートリンク１６上で転送されるようにシステム１０がＵＳＢホスト２０をＵＳＢデバイス２２に接続することを示している。
【００１３】
より詳細には、第１モジュール１２はＵＳＢホスト２０との第１ローカルＵＳＢリンク２４を有し、第２モジュール１４はＵＳＢデバイス２２との第２ローカルＵＳＢリンク２６を有する。ＵＳＢホスト２０からの従前のＵＳＢ信号は、中間トランスポートリンク１６上での搬送のために第１モジュールで変換され、その後、ＵＳＢリンク２６によってＵＳＢデバイス２２に入力するために第２モジュール１４によって従前のＵＳＢ信号に変換される逆方向において、デバイス２２からの従前のＵＳＢ信号は、中間トランスポートリンク１６上での搬送のために第２モジュール１４で変換され、その後、ＵＳＢリンク２４によってＵＳＢホスト２０に入力するために第１モジュール１２によって従前のＵＳＢ信号に変換される。
【００１４】
例示的な実施形態において、中間トランスポートリンク１６は光ファイバリンクであり、システム１０はＵＳＢホスト２０とＵＳＢデバイス２２との間のＵＳＢシグナリングをＵＳＢ規格で定められている５メートルよりもずっと長い距離に渡って延長する能力のような、多くの利点を提供する。さらなる利点として、ＵＳＢシグナリングを、オーディオ／ビデオシグナリング（ＨＤＭＩ（登録商標）、ＤＶＩなど）のような追加シグナリングとともに光ファイバで搬送してもよい。
【００１５】
実際、第１および第２モジュール１２および１４は、１つ以上の電気インタフェース上で受信された電気信号を中間トランスポートリンク１６上で搬送するための対応する光信号に変換し、中間トランスポートリンク１６上で受信した光信号を、１つまたは複数の電気インタフェースで出力される、対応する電気信号に変換する電気−光トランシーバとして構成されてもよい。
【００１６】
この点に関し、第１および第２モジュール１２および１４は、それらによって搬送されるＵＳＢシグナリングおよび他のシグナリングが中間トランスポートリンク１６として振る舞う単独の光ファイバによって搬送されるよう、ＣＷＤＭ(Coarse Wavelength Division Multiplexing)を用いるように構成されよい。一構成例において、第１および第２モジュール１２および１４は、電気的なＵＳＢ信号から対応する光信号への変換およびその逆変換を行う「ＳＸ５１」光トランシーバモジュールの相補対を有する。ここで、「ＳＸ５１」は、５７００ストーンリッジＤｒ．スイート２００、プリザントン、カリフォルニア州９４５８８に主営業所を有するオムロンネットワークプロダクツＬＬＣが提供する光トランシーバモジュールファミリに関する型番である。
【００１７】
図２は、第１および第２モジュール１２および１４の機能的な回路の詳細例を示している。第１モジュール１２は、第１モジュール１２内の、あるいは第１モジュール１２からアクセス可能なメモリまたは他のコンピュータ読み取り可能な媒体コンピュータプログラム命令の実行に従って構成されてよいモジュール制御および処理回路３０、例えば１つまたは複数のマイクロプロセッサ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ、または他のデジタル処理回路を有する。さらに、ＨＤＭＩ／ＤＶＩまたは他のマルチメディアインタフェースを含んでよく、また（ＵＳＢデバイス２２からのＵＳＢデータをバッファするための、システム１０がＵＳＢシグナリング距離をＵＳＢ規格で課される５ｍの限界を超えた距離に延長することを可能にするための動作ステップで用いるための）バッファ３６を備えるＵＳＢトランシーバ３４を有する入力／出力（Ｉ／Ｏ）回路３２がさらに含まれる。
【００１８】
この点に関し、ＵＳＢ制御回路３８がＩ／Ｏ回路３２の一部として実施されることは、当業者には理解される。あるいは、ＵＳＢ制御回路３８がモジュール制御および処理回路３０の一部として統合される。いずれの場合も、ＵＳＢ制御回路３８は、従前のＵＳＢ「再試行」または「再送」の仕組みを有利に用いることにより、ＵＳＢホスト２０でのＵＳＢタイミング違反を引き起こすことなしに距離が延長されたＵＳＢシグナリングを可能にする。例えば、ＵＳＢホスト２０とＵＳＢデバイス２２との間の直接ＵＳＢ接続を用いる従前のＩＮトランザクションにおいて、ＵＳＢホスト２０はＩＮトークンをＵＳＢデバイス２２に発行する。ＵＳＢデバイス２２の準備ができていれば、ＵＳＢデバイス２２は、ＵＳＢ規格において単独ＵＳＢトランザクションに許されている最大応答時間内にデータパケットを返送することによってＩＮトークンに応答する。しかし、ＵＳＢデバイス２２の準備ができていなければ、ＵＳＢデバイス２２はＮＡＣＫを発行し、ＮＡＣＫはホスト２０に要求を再試行させる。要求が再試行された際にＵＳＢデバイス２２の準備ができていれば、ＵＳＢデバイス２２は応答する。しかし、準備ができていなければ、ＵＳＢデバイス２２は再度ＮＡＣＫを発行し、ＮＡＣＫはＵＳＢホスト２０に２回目の要求再試行を促す。より多くの再試行が許容されており、そのためプロセスはＵＳＢデバイス２２が要求されたデータで応答するか、トランザクションが打ち切られるまで繰り返されてよい。
【００１９】
システム１０はこの再試行動作を、ＵＳＢシグナリング距離の延長に活用する。例えば、ＵＳＢホスト２０が非同期データパケットをＵＳＢデバイス２２に要求する場合、ＵＳＢホスト２０は第１モジュール１２に受信されるＩＮトークンを送信する。第１モジュール１２は最大応答時間内にＮＡＣＫをＵＳＢホスト２０に返送し、その間にＩＮトークンを第２モジュール１４に転送する。第２モジュール１４でＩＮトークンはＵＳＢデバイス２２に配信される。それに応じてＵＳＢデバイス２２は非同期データパケットを出力する。非同期データパケットは第２モジュール１４に受信され、第２モジュール１４は最大応答時間内にＡＣＫを返す。第２モジュール１４はデータパケットを第１モジュール１２に転送する。第１モジュール１２はデータパケットを受信してバッファする。これは、ＵＳＢホスト２０が同じＵＳＢデバイスＩＤ／エンドポイントを対象とする次のＩＮトークンを発行することによってデータ要求を再試行してきた際に、バッファされたデータが、第１モジュール１２のバッファ３６からＵＳＢホスト２０にすぐ配信するために利用可能となることを意味する。
【００２０】
従って、上述の状況について大まかに述べれば、システム１０は、ＵＳＢホスト２０からの最初のデータ要求にＮＡＣＫで応答することによって最大ＵＳＢ応答期限違反を回避すると同時に、その要求を対象のＵＳＢエンドポイント、すなわち、第２モジュール１４のＵＳＢインタフェースに直接もしくはＵＳＢハブを通じて取り付けられているＵＳＢデバイス２２、へ転送する。障害や他のエラーがないとすれば、その転送により、最終的に、要求されたデータはＵＳＢデバイス２２から第１モジュール１２に返送され、ＵＳＢホスト２０が要求を再試行した際にＵＳＢホスト２０へ配信するために第１モジュール１２でバッファされる。要求されたデータがバッファされて第１モジュール１２で利用可能になる前にＵＳＢホスト２０が要求を１回または複数回再試行する範囲において、第１モジュール１２は、許容最大応答時間内におけるＮＡＣＫによる応答を都度繰り返すであろう。
【００２１】
図２はさらに、第１モジュール１２が、中間トランスポートリンク１６上での光シグナリングのために光多重／多重分離器４０および光トランシーバ４２を有することを示している。第２モジュール１４は、中間トランスポートリンク１６のデバイス側に特有な処理を実行するように構成された面をもつ、同様の回路構成を有する。この点に関し、図示した様々な回路のなかで、第２モジュール１４もまた、ＵＳＢデバイス２２と通信するためのＵＳＢトランシーバ４４とＵＳＢ制御回路４８とを含んだＩ／Ｏ回路３２を有することに気づくであろう。
【００２２】
１つ以上の実施形態において、第２モジュールのＵＳＢ制御回路４８は、ＵＳＢホスト２０およびＵＳＢデバイス２２の間で進められるアイソクロナスデータトランザクションの状況において有利な制御および処理を実行するように構成される。大まかには、ＵＳＢ制御回路４８は、ＵＳＢデバイス２２からＵＳＢホスト２０へのアイソクロナスデータ転送のためにＵＳＢデバイス２２内のアイソクロナスエンドポイントを設定ならびにアクティベートする、ＵＳＢホスト２０に関する制御シグナリングを検出するため、ＵＳＢホスト２０およびＵＳＢデバイス２２の間で通信されるＵＳＢシグナリングを「傍受(snoop)」あるいは監視するように構成される。例えば、ＵＳＢ制御回路４８はGET_INTERFACE_SET、SET_INTERFACE、GET_CONFIGURATION、およびSET_CONFIGURATIONといった、ＵＳＢ規格１．１版の９．４章で規定されるような所定の標準デバイスリクエストを検出する。
【００２３】
そのような場合、ＵＳＢ制御回路４８は、自発的に適切な数のアイソクロナスデータ要求を生成し、それらの要求を適切なタイミングでＵＳＢデバイス２２に送信することにより、代理もしくは代替ＵＳＢホストとして振る舞う。さらに、ＵＳＢ制御回路４８の制御下で、第２モジュール１４は自身が周期的に生成したアイソクロナスデータ要求に対応するアイソクロナスデータをＵＳＢデバイス２２から受信し、データを第１モジュール１２に転送する。第１モジュール１２はそのような入来データが受信されるにつれてバッファし、継続中のアイソクロナスデータトランザクションについてＵＳＢホスト２０が生成するアイソクロナスデータ要求の受信に応答して、バッファされたデータをＵＳＢホスト２０に提供する特に、第２モジュール１４が同様の要求を自発的に生成するため、ホストの要求を中間トランスポートリンク１６上で送信する必要が無く、したがって第１モジュール１２はホストの要求を第２モジュール１４に送信しない。
【００２４】
図３は、上述した処理に対応する例示的な方法３００を示している。図示した方法の１つ以上の工程が異なる順序で実施されたり、並列に実行されたりされうることは理解されるであろう。さらに、システム１０は図示した方法を第１モジュール１２に保存されたコンピュータプログラム命令を実行する第１モジュール１２と、第２モジュール１４に保存されたコンピュータプログラム命令を実行する第２モジュール１４とに基づいて実施しうることが理解されよう。
【００２５】
これらを念頭において、図３における論理的なフローチャートは、ＵＳＢホスト２０への第１ローカルＵＳＢリンク２４を有する第１モジュール１２によってホスト側をアンカーされ、ＵＳＢデバイス２２への第２ローカルＵＳＢリンク２６を有する第２モジュール１４によってデバイス側をアンカーされる中間トランスポートリンク１６によって相互接続されたＵＳＢホスト２０およびＵＳＢデバイス２２の間で通信されるＵＳＢシグナリングを監視する工程（ブロック３０２）を有するＵＳＢシグナリング制御方法３００として理解することができる。第１および第２モジュール１２および１４は、ＵＳＢ信号を中間トランスポートリンク１６上で搬送するための信号変換機能を提供し、上述の監視は中間トランスポートリンク１６のデバイス側において第２モジュール１４が実行する。
【００２６】
方法３００はさらに、ＵＳＢホスト２０がＩＮトランザクションのためにＵＳＢデバイス２２内のアイソクロナスエンドポイントをアクティベートしたとき、それを検出する工程（ブロック３０４）を有している。この検出は第２モジュール１４によって、上述したＵＳＢシグナリングの監視に基づいて実行される。その検出（ブロック３０４におけるＹＥＳ）に応答して、第２モジュール１４はＩＮトランザクションのためのデータ要求を自発的に生成し、データ要求に応答してＵＳＢデバイス２２から受信するアイソクロナスデータを第１モジュール１２に転送する（ブロック３０６）。
【００２７】
それに対応して第１モジュール１２は、第２モジュール１４から転送されるにつれてアイソクロナスデータをバッファし、そのＩＮトランザクションに対してＵＳＢホスト２０が生成したデータ要求の受信に応答して、ＵＳＢホストからのデータ要求を第２モジュール１４に転送することなしに、バッファされたデータをＵＳＢホスト２０へ提供する（ブロック３０８）。この手法は、ホストの、特定のタイミングで繰り返されるデータ要求を、中間トランスポートリンク１６上で搬送する必要なしに、ＵＳＢデバイス２２からＵＳＢホスト２０への、アイソクロナスデータの定期的な配信を提供する。
【００２８】
このような有利な動作は、ＵＳＢデバイス２２の観点から、アイソクロナスデータ転送について代理または代替ＵＳＢホストとしてインテリジェントに振る舞う第２モジュール１４に基づく。このインテリジェントな振る舞いは、第２モジュールによる、アイソクロナスエンドポイントアクティべーションに関するＵＳＢシグナリングの監視と、そのアクティベーションにおいて通知される設定情報からの対応するトランザクションパラメータの特定によって可能になる。
【００２９】
特に、上述した説明および関連する図面に表される教示の利益を教授する当業者は、ここに開示した１つ以上の発明の変形物や他の実施形態を想起するあろう。従って、ここに開示される１つ以上の発明は、開示された特定の実施形態に限定されず、また、変形物や他の実施形態はこの開示の範囲に含まれることが意図されていることを理解すべきである。ここでは特定の用語を用いているかもしれないが、それらは一般的かつ説明的な観点でのみ用いられており、限定的な目的で用いられたものではない。
【図１】
2015528163.tif 000003
【図２】
2015528163.tif 000004
【図３】
2015528163.tif 000005
【国際調査報告】
2015528163.tif 000006
2015528163.tif 000007