(57)【要約】  シリアルバスブリッジネットワークにおけるＴＩＭＥＯＵＴメッセージ管理方法及びシステムは、（ａ）ポータルのローカルバスから同一のネットの特定のターゲットバスへの各リモートタイムアウト値を格納する複数のエントリを有するポータルによるレジスタテーブルを実現し、（ｂ）前記ポータルのローカルバスにアドレス指定されたＴＩＭＥＯＵＴ応答メッセージを傍受し、（ｃ）ステップ（ｂ）において傍受されたＴＩＭＥＯＵＴ応答メッセージに含まれる非同期トランザクションのリモートタイムアウト値を格納し、（ｄ）ステップ（ｂ）において傍受されたＴＩＭＥＯＵＴ応答メッセージをもとのアドレス指定されたノードに転送し、（ｅ）ポータルによりＴＩＭＥＯＵＴリクエストメッセージを傍受し、（ｆ）抽出または計算の何れかによりタイムアウト値を合成し、（ｇ）タイムアウト値をＴＩＭＥＯＵＴリクエストの送り手に送信することからなる。ソースバスとターゲットバスとの間に接続された中間バスがあってもよく、中間バスはまたタイムアウト値が必要とされる度にターゲットに実際に接触する必要を除去するため、タイムアウト値を傍受及び格納してもよい。装置は応答メッセージを傍受、抽出及び合成するためのハードウェアを有する。
2005515670.tif 000002
【特許請求の範囲】
【請求項１】
ソースバスとターゲットバスのノード間のリモートトランザクションのタイムアウト値の取得に要するトランザクションタイムを短縮する方法であって、
（ａ）ポータルのローカルバスから同一のネットの特定のターゲットバスへの各リモートタイムアウト値を格納するための複数のエントリを有するポータルにより、Ｎ番目のエントリがＮのバスＩＤに対応するレジスタテーブルを実現するステップと、
（ｂ）前記ポータルのローカルバスにリモートタイムアウト値を有するＴＩＭＥＯＵＴ応答メッセージがアドレス指定されている場合、出口ポータルにより特定のアドレス指定されたノードの途中で前記ＴＩＭＥＯＵＴ応答メッセージを傍受するステップと、
（ｃ）前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージに含まれる前記リモートタイムアウト値を、前記ステップ（ａ）で実現されたレジスタテーブルの複数のエントリの中の対応するエントリに格納するステップと、
（ｄ）前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージを前記特定のアドレス指定されたノードに転送するステップと、
（ｅ）ポータルのローカルバスからＴＩＭＥＯＵＴリクエストメッセージがアドレス指定されている前記ターゲットバスへの前記リモートタイムアウト値が前記ステップ（ａ）に記載されたレジスタテーブルに以前に格納されている場合、初期的にリクエストを行ったものからのＴＩＭＥＯＵＴリクエストメッセージをポータルにより傍受するステップと、
（ｆ）前記ポータルのローカルバスから前記ステップ（ｅ）からの前記傍受されたＴＩＭＥＯＵＴリクエストが、
（i）前記ステップ（ｅ）で特定された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものが前記ポータルのローカルバス上にある場合、前記レジスタテーブルから前記リモートタイムアウト値を抽出すること、及び
（ii）前記ステップ（ｅ）で特定された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものが前記ポータルのローカルバス上にない場合、前記レジスタテーブルから抽出された前記リモートタイムアウト値を計算すること
の何れかによりアドレス指定された前記ターゲットバスへのリモートトランザクションのため、前記リモートタイムアウト値を有する対応するＴＩＭＥＯＵＴ応答メッセージを前記ポータルにより合成するステップと、
（ｇ）前記ステップ（ｆ）において合成された前記ＴＩＭＥＯＵＴ応答メッセージを前記ステップ（ｅ）において傍受された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものに送信するステップとを有し、ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値が、（１）前記ステップ（ｅ）における前記傍受されたＴＩＭＥＯＵＴリクエストメッセージと、（２）前記対応するレジスタテーブルエントリの何れかのｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値の小さいものであり、前記傍受されたＴＩＭＥＯＵＴリクエストメッセージのｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ及びｈｏｐ ｃｏｕｎｔの各値は前記対応するレジスタテーブルエントリにそれぞれ加えられることを特徴とする方法。
【請求項２】
請求項１記載の方法であって、前記ステップ（ａ）に記載されたレジスタテーブルのための記憶領域はＲＡＭを有することを特徴とする方法。
【請求項３】
請求項１記載の方法であって、少なくとも前記ソースバスとターゲットバスはバスブリッジにより接続されるシリアルバスを有することを特徴とする方法。
【請求項４】
請求項３記載の方法であって、少なくとも１つの中間バスは前記ソースバスと前記ターゲットバスとの間のシリアルパスにおいて接続されることを特徴とする方法。
【請求項５】
請求項１記載の方法であって、前記ステップ（ａ）に記載された前記ソースバスと前記ターゲットバスはブリッジネットワークを介し接続されることを特徴とする方法。
【請求項６】
請求項５記載の方法であって、前記ブリッジネットワークはＩＥＥＥ１３９４ブリッジネットワークを有することを特徴とする方法。
【請求項７】
ソースバスとターゲットバスのノード間のリモートトランザクションのトータルのタイムアウト値を取得するためのトランザクションタイムを短縮する方法であって、
（ａ）前記ソースバスと前記ターゲットバス間にブリッジを介し接続される中間バスを有するシリアルパスにソースバスとターゲットバスを提供するステップと、
（ｂ）前記ターゲットバスの出口ポータルから前記ソースバス上の特定のＴＩＭＥＯＵＴリクエストノードに送信されるＴＩＭＥＯＵＴ応答メッセージを前記中間バスのポータルにより傍受するステップと、
（ｃ）前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージからの第１リモートタイムアウト値を前記中間バスのポータルの記憶領域に格納し、前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージを前記ソースバス上の前記特定のＴＩＭＥＯＵＴリクエストノードに転送するステップと、
（ｄ）前記中間バスのポータルにより前記ソースバスの前記複数のノードの以降のリクエストノードから前記ターゲットバスの前記複数のノードのあるノードへの以降のＴＩＭＥＯＵＴリクエストメッセージを傍受するステップと、
（ｅ）前記中間バスのポータルにより、前記ステップ（ｃ）において格納された第１タイムアウト値をｍａｘ ｒｅｍｏｔｅペイロード値を除き前記ソースバスと前記中間バスとの間の第２リモートタイムアウト値に加えることにより前記ソースバスから前記ターゲットバスへのリモートタイムアウト値を計算するステップと、
（ｆ）前記ステップ（ｅ）において計算された前記トータルのタイムアウト値を有するＴＩＭＥＯＵＴ応答メッセージを前記中間バスのポータルにより合成するステップと、
（ｇ）前記合成されたＴＩＭＥＯＵＴ応答メッセージを前記ＴＩＭＥＯＵＴリクエストメッセージを開始した前記ステップ（ｄ）における前記ソースバスの以降のリクエストノードに転送するステップとを有することを特徴とする方法。
【請求項８】
請求項７記載の方法であって、前記ｍａｘ ｒｅｍｏｔｅペイロード値は前記メッセージで傍受された前記複数の値及び前記ターゲットバスに対応するレジスタテーブルエントリにおけるｍａｘ ｒｅｍｏｔｅペイロード値の中で最小のものであることを特徴とする方法。
【請求項９】
請求項８記載の方法であって、前記ソースバス、中間バス及びターゲットバスはブリッジネットワークにより接続されることを特徴とする方法。
【請求項１０】
請求項７記載の方法であって、前記ステップ（ｃ）に記載された前記記憶領域は前記中間バス上のポータルのＲＡＭであることを特徴とする方法。
【請求項１１】
請求項７記載の方法であって、さらに、
前記ＴＩＭＥＯＵＴ応答メッセージのタイムアウト値を前記ソースバスの記憶領域に格納するステップを有することを特徴とする方法。
【請求項１２】
請求項１１記載の方法であって、前記記憶領域はエントリポータルのＲＡＭであることを特徴とする方法。
【請求項１３】
請求項７記載の方法であって、前記ソースバス及び前記ターゲットバスは１３９４ＩＥＥＥブリッジネットワークを有することを特徴とする方法。
【請求項１４】
請求項７記載の方法であって、前記ソースバス、前記中間バス及び前記ターゲットバスは１３９４ＩＥＥＥブリッジネットワークを有することを特徴とする方法。
【請求項１５】
短縮された応答タイムアウト管理システムを有するシリアルバスブリッジネットワークであって、
レジスタテーブルとＴＩＭＥＯＵＴリクエストをそこに添付されたノードから受信する手段とを有する第１ポータルを有するソースバスと、
レジスタテーブルを有する第２ポータルを有するブリッジを有する少なくとも１つの中間バスと、
ＴＩＭＥＯＵＴリクエストメッセージを受信し、そこに含まれるタイムアウト値を有するＴＩＭＥＯＵＴ応答メッセージを送信する手段を有する出口ポータルを有するターゲットバスと、
前記ソースバス、前記少なくとも１つの中間バス及び前記ターゲットバスをシリアルに接続する複数のバスブリッジと、
前記ターゲットバスの出口ポータルにより送信される前記ＴＩＭＥＯＵＴ応答メッセージを前記中間バスの第２ポータルにより傍受し、前記ターゲットバスの出口ポータルからの前記ＴＩＭＥＯＵＴ応答メッセージのタイムアウト値を前記中間バスの第２ポータルのレジスタテーブルに格納する傍受格納手段と、
前記中間バスの第２ポータルにより前記ソースバス上のノードからのＴＩＭＥＯＵＴリクエストを傍受し、前記ＴＩＭＥＯＵＴリクエストの前記ターゲットバスのＩＤが前記中間バスの第２ポータルのレジスタテーブルに格納されたタイムアウト値を有する前記ターゲットバスのＩＤと一致する場合、前記第２ポータルにより前記ターゲットバスと前記中間バスとの間の前記タイムアウト値と前記ソースバスと前記中間バスとの間の前記タイムアウト値をｍａｘ ｒｅｍｏｔｅペイロード値を除いて、トータルのタイムアウト値を有する前記傍受されたＴＩＭＥＯＵＴリクエストメッセージと対応するテーブルエントリの中で最も小さいＴＩＭＥＯＵＴ応答メッセージを合成する傍受合成手段と、
前記ソースバス上の前記リクエストノードに送信された前記トータルのタイムアウト値を有する合成されたＴＩＭＥＯＵＴ応答メッセージを送信する手段とを有することを特徴とするシリアルバスブリッジネットワーク。
【請求項１６】
請求項１５記載の装置であって、前記格納手段はＲＡＭを有することを特徴とする装置。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、高性能シリアルバスに関する。より詳細には、本発明は、ＩＥＥＥ１３９４ブリッジネットワークにおけるタイムアウトメッセージ管理に関する。
【０００２】
ＩＥＥＥ１３９４は、大部分の汎用的な相互接続技術の１つを利用可能にする高性能シリアルバスである。ＩＥＥＥ１３９４高速シリアルバスは、１００Ｍｂ、２００Ｍｂ、あるいは４００Ｍｂもの転送速度が可能である。これらの転送速度は、ツイストペア線を介し利用可能であり、シリアルバスはホットプラグ（ｈｏｔ  ｐｌｕｇａｂｌｅ）である。ＩＥＥＥ１３９４は、以下に限定されるものではないが、ビデオカメラからの映像ストリームング、車両制御、ＭＩＤＩのようなデジタル音声信号を含む多くの用途に利用可能である。
【０００３】
さらに、ＩＥＥＥ１３９４は、計算、通信及び娯楽をマルチメディアアプリケーションに統合するのに利用される低コストデジタルインタフェースの国際規格である。
【０００４】
ＩＥＥＥ１３９４の重要な特徴は、それが特定のネットワークを介した通信に対するデイジチェーン方式（ｄａｉｓｙ  ｃｈａｉｎｉｎｇ）とブランチ方式（ｂｒａｎｃｈｉｎｇ）をサポートするフレキシブルなトポロジーを有するということである。
【０００５】
ＩＥＥＥ１３９４ネットワークでは、シリアルバスアーキテクチャはノードに関して定義される。ノードは独立にリセット及び特定可能なアドレス指定可能なエンティティである。各ノードは、一意的なアドレスを有する論理エンティティであり、識別ＲＯＭと複数の制御レジスタを含む。これら制御レジスタは、規格化された装置であり、互いに独立にリセットすることが可能である。
【０００６】
ＩＥＥＥ１３９４は、従来のメモリマッピングされるロード格納インタフェースである非同期トランスポートを提供する。非同期トランスポート中、データリクエストは特定のアドレスに送信され、当該アドレスを有するエンティティにより応答が返される。
【０００７】
ＩＥＥＥ１３９４ネットワークでは、１，０２３個までの論理バスと、各バスについて６３個までのノードが存在しうる。非同期パケットの送り手と受け手の両方が同一のバス上にある場合、トランザクションタイムアウト値はＩＥＥＥ規格原案１３９４−１９９５に従って取得可能である。しかしながら、送り手が受け手と異なるバス上に存在する場合、これら２つのバス間のリモートトランザクションに対するｒｅｍｏｔｅ＿ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ、ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ及びｈｏｐ ｃｏｕｎｔの各値を取得するため、送り手は受け手が接続されているバスにアドレス指定されたＴＩＭＥＯＵＴリクエストメッセージを送信する。ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ、ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ及びｈｏｐ ｃｏｕｎｔは、リモートタイムアウト値としてまとめて呼ばれる。
【０００８】
ＩＥＥＥ１３９４．１高性能シリアルバスブリッジ改定１．００の規格原案に従って、ソースバスからターゲットバスへのパス上の各ブリッジは、ＴＩＭＥＯＵＴリクエストメッセージを受信し、各フィールドを以下のように更新する。すなわち、ＴＩＭＥＯＵＴリクエストメッセージはターゲットバスへのルート上の各ブリッジにより転送される。ＴＩＭＥＯＵＴリクエストメッセージを受信するターゲットバス上の最終出口ポータルがまた、ＩＥＥＥ１３９４−１９９５規格に従い取得したそれのローカルなＳＰＬＩＴ ＴＩＭＥＯＵＴ値をメッセージのリモートタイムアウトフィールドに加え、上記計算結果を有するＴＩＭＥＯＵＴ応答メッセージを同期化し、メッセージの送り手に送信する。
【０００９】
ＩＥＥＥ１３９４．１規格原案に従って、ＴＩＭＥＯＵＴリクエストメッセージをターゲットバスに傍受するバス上にノードが存在するとき、第１ソースバス上の他のノードが当該ターゲットバスへのリモートトランザクションのリモートトランザクションタイムアウト値をすでに取得していたとしても、ＴＩＭＥＯＵＴリクエストメッセージは、同一のターゲットバスに開始されるときはいつでも、ソースバスからターゲットバスへのパス上のすべてのブリッジポータルにより転送及び処理される。
【００１０】
従って、同一のソースバス上の他のノードから同じターゲットバスへの以降のＴＩＭＥＯＵＴリクエストメッセージのソースバスとターゲットバス間のパス上の各ポータルにより処理は冗長であり、帯域幅リソースを浪費するものである。
【００１１】
ソースバス上の他のノードがターゲットバスのリモートトランザクションタイムアウト値をすでに取得しているため、同一のリモートトランザクションタイムアウト値を必要とするノードはそれらを以前に受信している同一バス上のノードからこれらの値を取得することができる。パス上の同一ブリッジポータルに再び進行するトランザクションの冗長性は、ＴＩＭＥＯＵＴリクエストメッセージを送信する他のノードが対応するレスポンスを待たなければならないため、不要なトランザクション時間を許容することによる混雑を引き起こす。
【００１２】
従って、本発明の第１の特徴では、効率的なＴＩＭＥＯＵＴメッセージ管理方法は、
（ａ）ポータルのローカルバスから同一のネットの特定のターゲットバスへの各リモートタイムアウト値を格納するための複数のエントリを有するポータルにより、Ｎ番目のエントリがＮのバスＩＤに対応するレジスタテーブルを実現するステップと、
（ｂ）前記ポータルのローカルバスにリモートタイムアウト値を有するＴＩＭＥＯＵＴ応答メッセージがアドレス指定されている場合、出口ポータルにより特定のアドレス指定されたノードの途中で前記ＴＩＭＥＯＵＴ応答メッセージを傍受するステップと、
（ｃ）前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージに含まれる前記リモートタイムアウト値を前記ステップ（ａ）で実現されたレジスタテーブルの複数のエントリにおける対応するエントリに格納するステップと、
（ｄ）前記ステップ（ｂ）において傍受された前記ＴＩＭＥＯＵＴ応答メッセージを前記特定のアドレス指定されたノードに転送するステップと、
（ｅ）ポータルのローカルバスからＴＩＭＥＯＵＴリクエストメッセージがアドレス指定されている前記ターゲットバスへの前記リモートタイムアウト値が前記ステップ（ａ）に記載されたレジスタテーブルに以前に格納されている場合、初期的にリクエストを行ったものからのＴＩＭＥＯＵＴリクエストメッセージをポータルにより傍受するステップと、
（ｆ）前記ポータルのローカルバスから前記ステップ（ｅ）からの前記傍受されたＴＩＭＥＯＵＴリクエストが、
（i）前記ステップ（ｅ）で特定された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものが前記ポータルのローカルバス上にある場合、前記レジスタテーブルから前記リモートタイムアウト値を抽出すること、及び
（ii）前記ステップ（ｅ）で特定された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものが前記ポータルのローカルバス上にない場合、前記レジスタテーブルから抽出された前記リモートタイムアウト値を計算すること
の何れかによりアドレス指定された前記ターゲットバスへのリモートトランザクションのため、前記リモートタイムアウト値を有する対応するＴＩＭＥＯＵＴ応答メッセージを前記ポータルにより合成するステップと、
（ｇ）前記ステップ（ｆ）において合成された前記ＴＩＭＥＯＵＴ応答メッセージを前記ステップ（ｅ）において傍受された前記ＴＩＭＥＯＵＴリクエストメッセージの初期的にリクエストを行ったものに送信するステップとを有し、ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値が、（１）前記ステップ（ｅ）における前記傍受されたＴＩＭＥＯＵＴリクエストメッセージと、（２）前記対応するレジスタテーブルエントリの何れかのｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値の小さいものであり、前記傍受されたＴＩＭＥＯＵＴリクエストメッセージのｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ及びｈｏｐ ｃｏｕｎｔの各値は前記対応するレジスタテーブルエントリにそれぞれ加えられることを特徴とする。
【００１３】
ステップ（ａ）に関して、一実施例では、レジスタテーブルは１０２３個のエントリを有するが、本発明が１３９４以外のシリアルバスで利用される場合、あるいは必要に応じて、この数は異なるものであってもよい。
【００１４】
ステップ（ｃ）に関して、ポータルは傍受されたＴＩＭＥＯＵＴリクエストメッセージをターゲットバスに転送しない。これは従来のＩＥＥＥ１３９４規格とは異なる手続きとなる。
【００１５】
ステップ（ｆ）−（ii）に関して、傍受されたＴＩＭＥＯＵＴリクエストメッセージのｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ及びｈｏｐ ｃｏｕｎｔの各値は、ターゲットバスＩＤに対応するテーブルレジスタエントリのものにそれぞれ加算される。ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値は傍受されたＴＩＭＥＯＵＴリクエストメッセージのものとターゲットバスＩＤに対応するテーブルレジスタエントリに格納されているものとの間のより小さい値に設定される。
【００１６】
（ａ）に記載されるレジスタテーブルはポータルのＲＡＭを有するかもしれない。
【００１７】
ソース及びターゲットバスは、１以上のバスブリッジを介しシリアルパスで接続されてもよい。バスは１３９４ブリッジネットワークでありうるブリッジネットワークの一部を有するかもしれない。
【００１８】
図１は、第１またはソースバス１００と、第２バス１１０と、第３またはターゲットバス１２０とを有するＩＥＥＥ１３９４シリアルバスネットの一例を示す。第１バス１００と第２バス１１０とはブリッジ１３０により接続され、第２バス１１０と第３バス１２０とはブリッジ１４０により接続されている。
【００１９】
ブリッジ１３０はポータル１３１と１３２を有し、ブリッジ１４０はポータル１４１と１４２を有する。ＴＩＭＥＯＵＴリクエストメッセージ送信者としてノード１５０が第１バス１００上に存在し、ＴＩＭＥＯＵＴリクエストメッセージのアドレス指定されたノードの宛先としてノード１６０が第３バス１２０上に存在する。本発明が適用されるネットワーク構成はこの例にのみ限定されるものではない。
【００２０】
まず、ノード１５０は、ソースバス１００からターゲットバス１２０へのリモートタイムアウト値の取得時に、ＴＩＭＥＯＵＴリクエストメッセージをノード１６０に送信する。このＴＩＭＥＯＵＴリクエストメッセージは、ポータル１４２またはターゲットバス１２０にアドレス指定される。
【００２１】
ＴＩＭＥＯＵＴリクエストメッセージは、ＩＥＥＥ１３９４．１ブリッジ規格原案に従い処理され、ターゲットバス１２０上の最終出口ポータル１４２に転送される。
【００２２】
ＴＩＭＥＯＵＴリクエストメッセージの受信に応じて、最終出口ポータル１４２はＰ１３９４．１策定中原案（その内容は背景資料として参照することによりここに含まれる）に従ってリモートタイムアウト値を計算し、この計算されたリモートタイムアウト情報を有するＴＩＭＥＯＵＴ応答メッセージをターゲットバス１００上のもとのＴＩＭＥＯＵＴリクエストメッセージ送信者１５０に送信する。
【００２３】
さらに、バス１１０はまた以下の説明のため示されるノード１５５を有する。本発明の第１の特徴では、ノード１５５がバス１２０にＴＩＭＥＯＵＴリクエストメッセージを送信するとき、ＩＥＥＥ１３９４規格原案に従いリモートタイムアウト値を計算しながら、このＴＩＭＥＯＵＴリクエストメッセージはポータル１４２に転送される。
【００２４】
その後、ポータル１４２はリモートタイムアウト値を有するＴＩＭＥＯＵＴレスポンスメッセージをバス１１０上のもとのＴＩＭＥＯＵＴメッセージを要求したノード１５５に送信する。ポータル１４２により送信されるＴＩＭＥＯＵＴ応答メッセージはポータルのローカルバスにアドレス指定され、当該ＴＩＭＥＯＵＴ応答メッセージにおけるバス１１０からバス１２０へのリモートトランザクションに対するリモートタイムアウト値をターゲットバス１２０に対応するレジスタテーブルエントリに格納するため、ポータル１４１はＴＩＭＥＯＵＴ応答メッセージの受信ができる。従って、バス１００上のノード１５０、１５１またはポータル１３１がバス１２０へのＴＩＭＥＯＵＴリクエストメッセージを送信するとき、ポータル１４１はＴＩＭＥＯＵＴリクエストメッセージを受信し、それのＴＩＭＥＯＵＴ応答メッセージを本発明により計算されたリモートタイムアウト値により同期化する。
【００２５】
ソースバス１００上のポータル１３１は、ＴＩＭＥＯＵＴ応答メッセージがそれのローカルバス１００にアドレス指定されている場合には、当該ＴＩＭＥＯＵＴ応答メッセージを受信し、ＴＩＭＥＯＵＴ応答メッセージにおけるリモートタイムアウト値をターゲットバス１２０のバスＩＤに対応するそれの内部レジスタテーブル１３３（図２に詳細に示される）のエントリに格納する。
【００２６】
第１エントリポータルは、ＩＥＥＥ１３９４．１ブリッジ規格原案で説明されるように、ＴＩＭＥＯＵＴ応答メッセージをそれのローカルバス上のもとの要求したノードに転送する。
【００２７】
レジスタテーブル１３３に格納されるソースバス１００からターゲットバス１２０へのリモートタイムアウト値は、ソースバス１００のソースバスＩＤあるいはターゲットバス１２０のターゲットバスＩＤが無効となるまで、あるいはＰ１３９４．１策定中原案に示されるバスルーティング状態に関して清算されるまで、有効とされる。
【００２８】
従って、上記手続きはＴＩＭＥＯＵＴ応答メッセージの傍受及びメッセージ含まれるリモートタイムアウト値のレジスタテーブルへの格納に利用可能である。次に、ＴＩＭＥＯＵＴリクエストメッセージの傍受及び同期されたＴＩＭＥＯＵＴ応答メッセージの提供のための手続きが以下で説明される。
【００２９】
その後、バス１００上のポータル１３１が同一のソースバス１００上の他のノード１５１（または、恐らくノード１５０）により開始されるＴＩＭＥＯＵＴリクエストメッセージを受信すると、ソースバス１００からターゲットバス１２０への有効なリモートタイムアウト値は、以下に説明されるように、エントリポータル１３１によりレジスタテーブルに格納されているため、第１エントリポータル１３１はターゲットバス１２０に対応するそれの内部レジスタテーブル１３３のエントリから抽出されるリモートタイムアウト値を含むＴＩＭＥＯＵＴ応答メッセージを同期化する。
【００３０】
その後、バス１００上の第１エントリポータル１３１は、ＴＩＭＥＯＵＴリクエストメッセージをターゲットバス１２０に転送する代わりに、この同期化したＴＩＭＥＯＵＴ応答メッセージをＴＩＭＥＯＵＴリクエストメッセージを要求したノード１５１に送信する。
【００３１】
ソースバス１００上の第１エントリポータル１３１は、エントリポータル１３１のレジスタテーブルがそれのローカルバス１００からターゲットバス１２０へのリモートトランザクションの所望のリモートタイムアウト値を内部レジスタテーブル１３３に格納している場合、ＴＩＭＥＯＵＴ応答メッセージを同期化することができる。
【００３２】
図２は、ポータルのローカルバスから各バスへのトランザクションのタイムアウト値を格納したレジスタテーブルの構成の詳細を示す。レジスタテーブルが１０２３個の可能なバスに対して１０２３個のエントリから構成される一方、テーブルエントリの個数は１０２３に限定されず、異なる個数であってもよい。
【００３３】
各テーブルエントリは、ＩＥＥＥ１３９４．１ブリッジ規格原案に定義されるＴＩＭＥＯＵＴメッセージと同様に、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ、ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ及びｈｏｐ ｃｏｕｎｔの少なくとも４つのフィールドから構成される。それのローカルバスから特定のターゲットバスへのトランザクションのための各タイムアウト値は、このターゲットバスに対応するテーブルエントリの同一フィールドに格納される。このレジスタテーブル１３３は、ＲＡＭまたは他の任意のタイプの既知の記憶装置から構成されてもよい。
【００３４】
言い換えると、本発明によると、ポータルはＴＩＭＥＯＵＴ応答メッセージを転送し、ポータルのローカルバスにアドレス指定された、ローカルバスと特定のリモートターゲットバスとの間のトランザクションのリモートタイムアウト値を有する最終出口ポータルである場合、以前に開示されたステップ（ｂ）及び（ｃ）による、ＴＩＭＥＯＵＴ応答メッセージの傍受及びＴＩＭＥＯＵＴ応答メッセージのリモートタイムアウト値のこの特定のリモートターゲットバスに対応する内部レジスタテーブルエントリのエントリへの格納を除き、当該ＴＩＭＥＯＵＴ応答メッセージはＩＥＥＥ１３９４．１ブリッジ規格原案に従って処理される。
【００３５】
さらに、ソースバス１００とターゲットバス１２０との間のリモートタイムアウト値の格納後、本方法は、ポータルと同一のバス上の他のノードが、ローカルバス１００から同じリモートバス１２０へのリモートタイム値を必要とする同一バス１００上のブリッジポータル１３１を含むノード１５１及び/または恐らく同じノード１５０に、第１円取りポータル１３１のレジスタテーブル１３３に以前に格納されたタイムアウト値から抽出されたリモートタイムアウト値を有するＴＩＭＥＯＵＴ応答メッセージを同期化することにより接続されるときに利用される。このＴＩＭＥＯＵＴ応答メッセージの合成と、ＴＩＭＥＯＵＴリクエストメッセージの送信者への直接的な応答は、バス１００と１２０との間の混雑を大きく低減し、第２の要求ノード１５１がローカルバスからターゲットバス１２０へのリモートタイムアウト値をＩＥＥＥ１３９４．１ブリッジ規格原案による従来方法よりはるかに速く直接第１円取りポータル１３１から受信するため、リモートタイムアウト値の取得を高速化することができる。
【００３６】
図１に示されるネットワーク構成は、例示のためのものであり、限定を意図したものではない。任意数のバスがシリアルに接続できるというように、ネットワーク構成は例示されたものに限定されないということを当業者は理解するであろう。本発明を１３９４構成に適用したとき、ネットワーク構成はＩＥＥＥ１３９４規格に従う限り可変としうることは理解されるであろう。例えば、ソースバス及び/またはターゲットバスはより多くのブリッジポータルに接続されてもよいし、及び/またはソースバスとターゲットバスとの間により多くの中間バスが配置されていてもよい。
【００３７】
本発明はまた、ステップ（ｂ）及び（ｃ）によって、中間バス１１０上のポータル１４１が中間バス１１０から特定のターゲットバス１２０へのリモートタイムアウト値をターゲットバス１２０に対応する内部レジスタテーブルエントリ１４３にすでに格納した場合に適用することができる。合成されたメッセージは受信したメッセージのより小さなｍａｘ ｒｅｍｏｔｅペイロード値と対応するレジスタテーブルエントリを含んでもよい。
【００３８】
例えば、このトランザクションのためのソースバスとしてのバス１１０上のノード１５５は、ターゲットバス１２０にＴＩＭＥＯＵＴリクエストメッセージを送信することができる。本発明によると、ソースバス１１０上のポータル１４１は、ターゲットバス上のポータル１４２により送信され、ソースバス１１０からターゲットバス１２０へのリモートタイムアウト値をターゲットバス１２０のバスＩＤに対応する内部レジスタテーブルエントリ１４３に格納された対応するＴＩＭＥＯＵＴ応答メッセージを受信した。
【００３９】
図４のステップ４２５（ii）に関して後述されるように、バス１１０上のポータル１４１がソースバス１００からターゲットバス１２０へのリモートトランザクションタイムアウト値に対してソースバス１００上のノードにより発せられたＴＩＭＥＯＵＴリクエストメッセージを受信すると、中間バス１１０上のポータル１４１はこのＴＩＭＥＯＵＴリクエストメッセージを受信し、応答を合成する。
【００４０】
この処理はソースバス１００上のノードによりＴＩＭＥＯＵＴリクエストのターンアラウンドタイム（ｔｕｒｎａｒｏｕｎｄ  ｔｉｍｅ）をかなり短縮する。なぜなら、中間バス上のポータル１４１は格納されたタイムアウト値を抽出し、ＴＩＭＥＯＵＴリクエストとＴＩＭＥＯＵＴ応答とがソースバス１００とターゲットバス１２０のノード間で交換される場合より、実質的により高速にトータルのタイムアウト値を計算することができる。
【００４１】
この方法はまた、他のノードに供し、ネットワークの全体のトランザクション時間を短縮するためのシリアルバスリソースを解放する。
【００４２】
図３は、ＴＩＭＥＯＵＴ応答メッセージの受信及びそれのリモートタイムアウト値の内部レジスタテーブルへの格納に関する本発明による方法の各ステップの概要を与える。
【００４３】
ステップ３１０において、ポータルのローカルバスにアドレス指定されたＴＩＭＥＯＵＴ応答メッセージが傍受される。
【００４４】
ステップ３２０において、ステップ３１０で傍受されたＴＩＭＥＯＵＴ応答メッセージのリモートタイムアウト値がターゲットバスＩＤに対応するレジスタテーブルに格納される。
【００４５】
ステップ３３０において、傍受したＴＩＭＥＯＵＴ応答メッセージはもとのアドレス指定されたノードに転送される。
【００４６】
従って、ステップ３１０〜３３０は、シリアルバスのプロトコルの効率性を高めるため、以降のリクエストの抽出のためにリモートタイムアウト値の格納を受け容れる。
【００４７】
図４は、ＴＩＭＥＯＵＴリクエストの傍受及び対応するＴＩＭＥＯＵＴ応答メッセージとリモートタイムアウト値との合成のための手続きの説明を与える。
【００４８】
ステップ４１０において、ＴＩＭＥＯＵＴリクエストメッセージがアドレス指定されたポータルのローカルバスからターゲットバスへのリモートトランザクションタイムアウト値がそれのレジスタテーブルに以前に格納されたＴＩＭＥＯＵＴリクエストメッセージが受信される場合、ステップ４１５が次に処理され、そうでない場合には、ステップ４１０が次の処理ステップとなる。
【００４９】
ステップ４１５において、傍受したＴＩＭＥＯＵＴリクエストメッセージがポータルにより受信される。次に、ステップ４２０が実行される。
【００５０】
ステップ４２０において、傍受されたＴＩＭＥＯＵＴリクエストメッセージのソースバスＩＤがポータルのローカルバスＩＤと等しいか判断される。ステップ４２０において肯定的に判断されれば、次にステップ４２５（i）が実行される。他方、ステップ４２０が否定的に判断されれば、次にステップ４２５（ii）が実行される。これら２つのステップは、リクエストを実行したノードがローカルバスからのノードであるか、あるいはリモートソースバスからのノードである場合のシナリオをカバーするものである。
【００５１】
ステップ４２５（i）において、対応するＴＩＭＥＯＵＴ応答メッセージが、ターゲットバスに対応するレジスタテーブルエントリから抽出されたターゲットバスへのポータルのローカルバスのリモートタイムアウト値と合成される。
【００５２】
またステップ４２５（ii）が実行されると、対応するＴＩＭＥＯＵＴ応答メッセージが合成され、それのタイムアウト値が以下の手続きにより計算される。すなわち、傍受したＴＩＭＥＯＵＴリクエストメッセージのｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｓｅｃｏｎｄｓ、ｒｅｍｏｔｅ ｔｉｍｅｏｕｔ ｃｙｃｌｅｓ及びｈｏｐ ｃｏｕｎｔの各値が、ターゲットバスＩＤに対応するテーブルレジスタエントリのものにそれぞれ加えられる。ｍａｘ ｒｅｍｏｔｅ ｐａｙｌｏａｄ値は、傍受したＴＩＭＥＯＵＴリクエストメッセージのものとターゲットバスＩＤに対応するテーブルレジスタエントリに格納されているものとの間のより小さな値に設定される。
【００５３】
ステップ４３０において、合成されたＴＩＭＥＯＵＴ応答メッセージが、傍受したＴＩＭＥＯＵＴリクエストメッセージのソースＩＤにより特定されるもとの要求を行ったノードに送信される。
【００５４】
上記説明及び図面は例示のために与えられたものであり、限定を意図したものではない。本発明の趣旨及び添付されたクレームの範囲内で多くの小さな変更が可能であるということは当業者には理解できるであろう。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明による一連のブリッジポータルによりシリアルにリンクしたソースバスとターゲットバスの一例を示す。
【図２】図２は、（ａ）に記載され、記憶領域１３３と１４３において実現されるレジスタテーブルの構造の詳細なイメージ図である。
【図３】図３は、本発明によるＴＩＭＥＯＵＴ応答メッセージを傍受し、リモートトランザクションタイムアウト値を格納する手続きを与えるフローチャートである。
【図４】図４は、本発明によるＴＩＭＥＯＵＴリクエストメッセージを傍受し、合成し、ＴＩＭＥＯＵＴ応答メッセージを送信する手続きを示すフローチャートである。
【図１】
2005515670.tif 000003
【図２】
2005515670.tif 000004
【図３】
2005515670.tif 000005
【図４】
2005515670.tif 000006
【国際調査報告】
2005515670.tif 000007
2005515670.tif 000008