(57)【特許請求の範囲】
【請求項１】
送信元サイトと宛先サイトとを有するネットワークにおいて前記宛先サイトでデータ操作トランザクションを実行するための方法であって、
前記データ操作トランザクションの実行は、複数のトランザクションメッセージが前記送信サイトと前記宛先サイトとの間で伝送されることを必要とし、
前記方法は、
前記送信元サイトが前記宛先サイトへ最初のトランザクション要求メッセージを伝送するステップと、
前記宛先サイトが前記トランザクション要求メッセージを受信するステップと、
宛先データベースが前記データ操作トランザクションの進行と関係した複数のトランザクションメッセージに関するデータエントリを生成するステップと、
前記データ操作トランザクションが前記ネットワーク内でアクティブである限り、前記宛先データベースに前記データエントリと前記データ操作トランザクションとの関係を保存するステップと、を含む方法。
【請求項２】
送信元サイトタイムアウト期間内に、前記送信元サイトにおいて前記宛先サイトから応答を受信しない場合、前記送信元サイトが別のトランザクション要求メッセージを伝送するステップをさらに含む請求項１に記載の方法。
【請求項３】
送信元サイトによって要求されたデータ操作トランザクションを宛先サイトで確実に実行するためのシステムであって、
前記データ操作トランザクションの実行は、複数のトランザクションメッセージが前記送信サイトと前記宛先サイトとの間で伝送されることを必要とし、
前記システムは、
前記送信元サイトから前記宛先サイトへ最初のトランザクション要求メッセージを伝送する手段と、
前記宛先サイトにおいて前記最初のトランザクション要求メッセージに関連した前記データ操作トランザクションを実行する手段と、
前記データ操作トランザクションをユニークに識別する情報および前記データ操作トランザクションの進行をトラッキングするために複数のトランザクションメッセージに関する情報を格納する、前記宛先サイトにおけるデータベースと、を備えるシステム。
【請求項４】
前記データベースが連想記憶装置である請求項３に記載のシステム。
【請求項５】
前記送信元サイトが、プロセッサと、プロセッサ・エージェント装置と、を備え、プロセッサー・エージェント装置は、前記宛先サイトとの通信を行い、前記プロセッサが前記データ操作トランザクションに関するタスク以外の他のタスクに効率的に集中できるようにする、請求項３に記載のシステム。
【請求項６】
前記プロセッサ・エージェント装置が、再伝送タイムアウト期間の満了時に、前記最初のトランザクション要求メッセージに対するメッセージ応答が前記プロセッサ・エージェント装置において受信されないときに、トランザクション要求メッセージの再伝送を始めるためのタイマを備える請求項５に記載のシステム。
【請求項７】
送信元サイトおよび宛先サイトを有するネットワークにおいて、宛先サイトでデータ操作トランザクションを実行するためのシステムであって、
前記データ操作トランザクションの実行は、複数のトランザクションメッセージが前記送信サイトと前記宛先サイトとの間で伝送されることを必要とし、
前記システムは、
前記送信元サイトから前記宛先サイトへ最初のトランザクション要求メッセージを伝送する手段と、
前記宛先サイトにおいて前記トランザクション要求メッセージを受信する手段と、
前記宛先サイトにおける宛先データベースにおいて前記データ操作トランザクションの進行と関係した複数のトランザクションメッセージに関するデータエントリを確立する手段と、
前記データ操作トランザクションが前記ネットワーク内でアクティブである限り、前記宛先データベースに前記データエントリを保存する手段と、を備えるシステム。
【請求項８】
前記データ操作トランザクションが、メモリ読み出しまたはメモリ書き込みのいずれかである請求項７に記載のシステム。
【請求項９】
送信元サイトおよび宛先サイトを有するネットワークにおいて、宛先サイトでメモリ装置制御トランザクションを実行するための方法であって、
前記メモリ制御トランザクションの実行は、複数のトランザクションメッセージが前記送信サイトと前記宛先サイトとの間で伝送されることを必要とし、
前記方法は、
前記送信元サイトが前記宛先サイトへ最初のトランザクション要求メッセージを伝送するステップと、
前記宛先サイトが前記トランザクション要求メッセージを受信するステップと、
宛先データベースにおいて前記メモリ装置制御トランザクションの進行と関係した複数のトランザクションメッセージに関するデータエントリを確立するステップと、
前記トランザクションが前記ネットワーク内でアクティブである限り、前記宛先データベースが前記データエントリと前記メモリ装置制御トランザクションとの関係を保存するステップと、を含む方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は全般にネットワーク上でのデータ伝送に関し、詳細には信頼できないネットワーク上でのデータ伝送を効率的に監視することに関する。
【０００２】
【従来の技術】
一般に、データ処理装置あるいは記憶装置間でメッセージ、パケットまたはトランザクションの伝送を含む通信を行う際に、その通信を管理し調整するためにいくつかのフォームのプロトコルあるいはハンドシェーキングが必要とされる。２つの装置のみが情報を伝送し合っている場合、そのような通信管理は比較的簡単である。一般に、２つの装置間に直接かつ連続したコンタクトを確立することで、間違った相手に向けられた伝送、欠落した情報および誤ったデータを容易に識別し訂正することができる。
【０００３】
図１に示されるように、ネットワークを介して複数の送信元（source）が複数の宛先（destination）と通信を行う場合、そのような通信管理は一般により困難で複雑になる。このようなネットワークでは、特定のメッセージのために送信元と宛先との間の直接かつ連続したコンタクトは一般に利用できないであろう。代わりに、通信プロセスは、送信元による伝送と最終的な宛先による受信との間で、ネットワーク中の１つまたは複数の中間点を介してメッセージを伝送するよう要求するであろう。ネットワークの中間点では、情報の喪失、誤った情報の導入、または完全な伝送障害を引き起こすハードウェア障害を含む多数の問題が持ち込まれる場合がある。このような事態が生じると、伝送の送信元および宛先の両方でその問題が認識されず、問題が解決できないままになりうる。
【０００４】
この問題を処理するために従来技術において用いられる１つの解決策は、送信元から宛先に伝送されるメッセージまたはパケットとシーケンス番号とを関連付けることである。各メッセージに付けられたシーケンス番号を用いて、宛先装置は、メッセージに関連するシーケンス番号を検査し、そのメッセージが当該送信元の位置から順番どおりに送信された次のメッセージであることを確認することができる。宛先装置において重複したメッセージを受信すると、一般にそのメッセージは無視される。シーケンス番号の連続していないメッセージを続けて受信すると、一般に、宛先と送信元との間でアクティブなプロトコルによって抜けたメッセージが再送される。
【０００５】
多数の送信元、多数の宛先からなるネットワークにおいて通信管理のためにシーケンス番号を使用すると、一般にシステムに相当の処理負荷がかかる。一般に、各送信元−宛先の対は固有のシーケンス番号のセットを有しており、システム内で各送信元および宛先を一意に識別する。一般に、シーケンス番号のセットの総数は、ネットワークのサイズが大きくなるにつれて指数関数的に増加する。例えば、１０個のプロセッサが１０個のメモリボードと通信を行う場合、１００個のシーケンス番号のセットが必要になる。これに対して、１０００個のプロセッサおよび１０００個のメモリボードの場合には、各送信元−宛先の対を一意に識別するためには１００万個のシーケンス番号の組が必要となる。一般にシーケンス番号のセットがこのように多数になると、伝送されるメッセージを特定するために必要とされるビット数の増加によって、各送信元および宛先における負荷が増加する。
【０００６】
さらに、このようなシステムは効率的に縮小するのが困難である。例えば、システムが最初に１００万個のシーケンス番号のセットに対応するように設計される場合、そのシステムは、許容可能な方法でそのシーケンス番号に伴うオーバーヘッドを処理することができる。しかし、同じチップが例えば１つのプロセッサおよび１つのメモリボードを含む小規模の構成で用いられると、１００万個のシーケンス番号のセットを取り扱えるように設計されたチップセットは、小規模の構成に対してわずかに１つのシーケンス番号のセットを取り扱うために使用され、それによりその小規模の構成の動作に莫大でかつ非生産的なオーバーヘッドのコストが負わされることになろう。
【０００７】
一般に、伝送が不完全、または伝送が失われたという宛先装置による判定に応答する典型的な動作は、送信元に要求を出し、関係する情報を再送信させることである。１つの送信元、１つの宛先からなるシステムでは、一般にそのようなアプローチが非常に適している。しかし、多数の送信元、多数の宛先からなるシステムでは、データの送信元を識別するデータそのものが伝送中に失われる可能性があるため、宛先装置が再伝送要求を発行することは非常に難しい。従って、多数の送信元、多数の宛先のシステムにおいてトランザクションを特定するためにシーケンス番号を使用すると、伝送エラーの検出および訂正の両方が非常に難しくなる。
【０００８】
大規模なネットワークにおいて全ての送信元−宛先の対のためにシーケンス番号の個別のセットを用いるための別の方法は、ソフトウェアを使用して、ネットワーク内のプロセッサまたは他の通信構成要素にチャネルを動的に割り当てることである。一般に、一定期間送信元−宛先の対における別の構成要素と通信を行うために、ソフトウェアはプロセッサ内にチャネルを割り当てるように動作する。異なる構成要素との通信が確立されると、チャネルは新しい構成要素と通信を行うために再度割り当てられ、シーケンス番号のセットが実行中に確立される。このアプローチによって一般に莫大な数のシーケンス番号のセットを有する必要は避けられるが、一般に通信プロセスに待ち時間がかかる。具体的には、異なる構成要素または装置との通信のためのチャネルの最初の割当ておよび再割当てにかかる時間には、一定の有限の時間が必要とされる。コンピュータシステム内のチップ間の接続のように、一般に装置間の通信に非常に短い待ち時間しかかからないネットワークでは、チャネル割当ておよび再割当てに要する時間は一般に許容しがたい遅延となる。
【０００９】
ネットワーク内の全ての送信元装置−宛先装置の対のために個別のシーケンス番号のセットを用いる方法のさらに別の方法は、関与する全ての通信装置について予め割り当てられたハードウェアチャネルを用いることである。図２は、プロセッサエージェント装置２０１に対して専用のチャネル接続を有する宛先装置２０２および２０３を示す。このアプローチは、前述のソフトウェアベースの動的チャネル割当てアプローチによって一般に起こる通信の待ち時間を招かないという利点があるが、関与する通信装置それぞれについてハードウェア機能を追加するという相当の要件が生じる。一般にこの追加のハードウェア要件によって、相当な余分のシステムコストがかかる。
【００１０】
トランザクションの特定のためにシーケンス番号を使用することは、上位のプロトコル階層によって順序付けが必要とされない場合であっても、一般に送信元と宛先との間のトランザクションの順序付けを強制する。これは一般に、シーケンス番号が正しい順序でない一連のパケットを受信することによって、宛先は失われたパケットを識別するに過ぎないからである。しかし、多数送信元、多数宛先のネットワークでは、シーケンス番号の高いパケットがネットワークでより早い経路を通ったために、シーケンス番号の高いパケットが、シーケンス番号が低く先に送信されたパケットの前に、宛先装置に到達する場合がある。この順序違いの到達は、必ずしもパケットが失われたことを示しているわけではない。従って、一般にバッファを使用してシーケンス番号の高いパケットを保持し、シーケンス番号の低いパケットがバッファを通過して最初に宛先に到達できるようにする。このため、そのような強制的な順序付けは一般に、トランザクションの伝送速度、ひいてはネットワーク全体の速度を低下するように作用する。
【００１１】
【発明が解決しようとする課題】
従って当該技術分野において、多数送信元、多数宛先のネットワーク（すなわち大規模で複雑なネットワーク）における全ての送信元−宛先の対のために個別のシーケンス番号のセットを用いると、ネットワークの通信および演算に負荷がかかるという問題がある。
【００１２】
さらに当該技術分野において、多数送信元、多数宛先のネットワークにおいてシーケンス番号を使用すると、宛先装置において欠陥ありと識別されたデータパケットを伝送した装置を正確に識別するのが妨げられる場合があるという問題がある。
【００１３】
さらに当該技術分野において、大規模で複雑なネットワークにおいてパケットを識別するためにシーケンス番号を用いると、一般にそのネットワークのトランザクションに順序付けを強制する必要が生じるという問題がある。
【００１４】
さらに当該技術分野において、データパケットのシーケンス番号付与のためにソフトウェアベースの動的割り当てチャネルを使用すると、一般にコンピュータネットワーク内の通信において許容できない待ち時間が生ずるという問題がある。
【００１５】
さらに当該技術分野において、ネットワークにおいてデータパケットのシーケンス番号付与のために専用の予め割り当てられたハードウェアチャネルを用いると、一般にシステムに相当なコストがかかるという問題がある。
【００１６】
【課題を解決するための手段】
前述のおよび他の目的、特徴および技術上の利点は、一時的かつ再利用可能なエントリを用いる記憶システムが、順序付けがなく（unordered）信頼できないトランスポート機構を介するデータ送信元と宛先との間のトランザクションを監視できるようにするシステムおよび方法によって達成される。トランザクションおよびその状態の監視は、送信元サイトまたは宛先サイトにおいて実行されることができる。トランスポート機構内の中間点におけるトランザクションの監視は、本発明では不要であることが好ましい。トランザクションパケットあるいはメッセージの通信の繰返しが必要となる場合、端末間のリトライが用いられることが好ましい。一般に端末間のリトライは、通信リンク内の中間点からそのような再伝送を試みるのではなく、通信リンクの一端から再伝送を開始することを指す。
【００１７】
好ましい実施形態では、一連のトランザクションが送信元サイトと宛先サイトとの間で伝送され、２つのサイト間のパケットの配信および確認応答を管理し、かつ送信元によって開始された全てのトランザクションの状態に関する明瞭な情報を提供する。本発明のメカニズムは、順序付けがなく信頼できないネットワーク上で送信元と宛先との間に厳密に一度の意味（exactly once  semantics）を与えることが好ましい。
【００１８】
好ましい実施形態では、各宛先装置と関連するデータベース（連想記憶装置であり得る）が、ネットワーク内の未完了のトランザクションのためのレジストリとして動作する。好ましい実施形態には、送信元と宛先との間で一連のトランザクションメッセージを伝送し、当該トランザクションの適切な実行を確実にするとともに当該トランザクションの状態に関する情報を維持することが含まれる。典型的な一連のトランザクションメッセージには、予約要求、予約応答、解放要求、および解放応答が含まれることが好ましく、これらのトランザクションメッセージは後に詳細に説明される。
【００１９】
好ましい実施形態において、トランスポート機構は、順序付けがなく信頼できないネットワークにおける複数のプロセッサ、切替装置、メモリ装置、および他のデータ装置を互いにリンクするコンピュータネットワークである。代替的には、トランスポート機構はデータ記憶装置またはデータ処理装置間の任意の接続の組を含むことができ、限定ではないが、ローカルエリアネットワークおよびワイドエリアネットワークを含む。本明細書において「信頼できない（unreliable）」とは、所望の宛先にメッセージを伝送するために、トランザクションを開始する送信元が関係するネットワークに依存できない状況、またはトランザクションを開始する送信元が宛先による所望のトランザクションの実行を前提にできない状況のことを指す。
【００２０】
代わりに、送信元による要求の伝送、および宛先による要求されたトランザクションの正常な完了の伝送の両方の検証は、本発明のメカニズムが、トランザクションが正常に完了したと判断することが好ましい。本明細書で考慮される「端末間」報告および検証システムにより、送信元と宛先とをリンクするネットワーク内の中間点での照会の実行の必要性がなくなり、このネットワークを伝わる通信が正常であったと仮定する必要性が排除されることが好ましい。
【００２１】
本明細書において、別のサイトでのトランザクションを引き起こすために一連のトランザクションメッセージを開始するサイトは「送信元サイト」であり、トランザクションが実行される「他の」サイトは「宛先サイト」である。送信元サイトおよび宛先サイトはそれぞれ１つの構成要素を含むか、または複数の構成要素を含むことができる。用語「送信元」および「宛先」は全般にそれぞれ「送信元サイト」および「宛先サイト」と同義に用いられる。「発明の実施の形態」において、「送信元エージェント」は送信元サイトにおいて特にプロセッサに関連する装置であり、「宛先メモリコントロール」は、宛先サイトにおいて特にメモリボードに関連する装置である。しかしながら、用語「エージェント装置」は、プロセッサまたはメモリボード等の、そのサイトにおいて別の装置に対するエージェントとして機能する構成要素あるいは装置を全般に指すように本明細書で使用される。それゆえ用語「エージェント装置」は、「送信元エージェント」および「宛先メモリコントロール」の両方に当てはまることが好ましい。プロセッサおよびメモリボードはいずれも他の装置により仕えられている装置であるため、それらは本明細書で包括的に「マスタ装置」と呼ばれる。用語「装置」は全般に、１つのハードウェア構成要素のことを指すが、あるサイトにおける種々の装置が別個の構成要素である必要はなく、１つのパッケージに集積されることもできる。さらに、そのような装置の機能は選択的にソフトウェアで実行されることもできる。
【００２２】
本明細書において、用語「トランザクション」は、動作を要求する送信元サイトから離れたサイトにおいて実行される動作、並びにこの動作をもたらすために必要な通信ステップを含む。動作は、メモリ読出し、メモリ書込み、装置コントロール動作、または他のデータ転送動作又はデータ処理動作であってもよい。一連の通信ステップはトランザクションを完了するために行われることが好ましく、トランザクションとともに伝送される情報パッケージを本明細書では「トランザクションパケット」または「トランザクションメッセージ」と呼ぶ。これらの用語はさらに、各メッセージの内容に従って限定される。簡略のため、読出し動作を含むトランザクションは「読出しトランザクション」と呼ばれ、書込み動作を含むトランザクションは「書込みトランザクション」と呼ばれる。
【００２３】
本明細書において、用語「厳密に一度の意味（exactly once semantics）」は、システム内の各トランザクションが一度だけ作用を受ける（act upon）ことが好ましい状況のことを指す。一般に、トランザクションが全く実行されない（すなわちゼロオカレンス）か、または２回以上実行される場合には、誤り状況が存在する。
【００２４】
好ましい実施形態では、送信元はトランザクションの状態に関する通信を行うための関連したエージェントチップを有するコンピュータプロセッサであってもよく、これによりそのような通信のためのクリティカルパスからプロセッサを除く。好ましい実施形態では、宛先は、他の装置とのトランザクションに関係する通信を処理するためのエージェント装置を有することが好ましいメモリボードまたは他のデータ記憶装置である。データ記憶装置のための１つの可能なエージェント装置のタイプは、宛先メモリコントロールである。送信元サイトおよび宛先サイトはいずれも、トランザクションがネットワーク内でアクティブである間、当該トランザクションの状態に関する情報を保存するためのデータベースを備えることが好ましい。
【００２５】
好ましい実施形態では、送信元サイトおよび宛先サイトに含まれるエージェント装置は、信頼できないネットワークを介したトランザクションの配信を確実にするように動作する。そのような保守機能のためにエージェント装置を使用すると、トランザクション通信の監視という処理の負荷を軽減することによって、送信元装置および宛先装置の効率が改善される。ネットワークにおいてアクティブなトランザクションを識別する情報と、これらのトランザクションの状態とを格納するために、送信元サイトおよび宛先サイトにデータベースを備えることが好ましい。これらのデータベースのデータ記憶位置は特定のトランザクションのために一時的に使用され、無限に再利用可能であることが好ましい。新しいトランザクションが生成されるとき、そのトランザクションに関連するエントリは１つあるいは複数のデータベースに格納され、ネットワークにおいてそのトランザクションがアクティブでなくなるまで、そのトランザクションを参照するために使用され続けることが好ましい。トランザクションの完了時に、そのトランザクションのためのエントリは、新しいトランザクションについて再利用するために解放されることが好ましい。これにより本発明のデータエントリメカニズムは、トランザクションの終了時に装置のエントリを解放し、新しいトランザクションの開始時にそれらを再度割り当てることによって、連続的なトランザクションの無限のストリームを有限数のデータベースエントリに供給できることが好ましい。何らかの理由のため、トランザクションが完了できない場合には、関連する誤り情報を含む応答パケットが、未完了のトランザクションに関係する応答を待ち受ける任意の装置に供給されることが好ましい。未完了のトランザクションに関係する応答を待つ装置がない場合には、そのトランザクションに関連する誤り情報は、未完了のトランザクションに関連するリソースを他の目的のために用いることができるようになる前に、ローカルに記録されることが好ましい。
【００２６】
好ましい実施形態では、トランスポート機構（コンピュータネットワークであり得る）におけるトランザクションの送信元と宛先との間の通信活動を記録し管理する本発明のメカニズムの能力に悪影響を及ぼすことなく、トランザクションメッセージを任意の順序で送信元サイトが伝送し、任意の順序で宛先サイトが受信することができる。この機能により、トランザクションの順序付けの柔軟性が提供され、これによって、シーケンス番号使用の際に一般に存在する、ネットワークの制約が除去されることが好ましい。この機能は、トランザクションの固定した順序付けが一般にネットワーク活動の制約として作用していた従来技術に対しての利点を表しており、また特定の場合において、実行可能なトランザクションを処理しないでおき、シーケンス番号の低いトランザクションを最初に処理できるようにする。
【００２７】
本発明の好ましい実施形態では、送信元サイトまたは宛先サイトにおいてソフトウェアでのシーケンス番号に対するチャネル割り当てに関連する遅延は、前述したように各サイトにおけるエージェント装置およびデータベースの動作のために、不要であることが好ましい。さらに、ネットワーク上のトランザクションの通信管理のためのデータベース内で一時的な再利用可能なエントリを使用することにより、通信装置内の専用ハードウェアチャネルの割当てが不要になることが好ましい。
【００２８】
好ましい実施形態では、所定のタイムアウト期間に送信元によって伝送されたパケットに応答する応答パケットを送信元が受信しない場合、送信元はそのパケットを再伝送することが好ましい。この再伝送により、同時にシステムを通って伝搬する同一の送信元が発行した２つのメッセージが存在する可能性が生じる。これが生じるのを防ぐために、送信元は送信するパケット内にタイムスタンプを付けて送信するパケットに対してタイムアウトしきい値を確立する。このタイムアウトしきい値は、伝送する送信元に対してのタイムアウトしきい値より短いのが好ましく、これにより、パケットタイムアウトしきい値に達したときに、ネットワーク内の任意の装置がネットワークからそのパケットを破棄できるようになる。これにより、システムはネットワークを介して２つのパケットが同時に伝送されることが確実にないようにすることが好ましい。
【００２９】
従って、本発明の好ましい実施形態の利点は、通信ネットワークにおいて送信元−宛先の対のために個別のシーケンス番号のセットを設計するという、演算上非常に負荷の重い動作が不要になることである。
【００３０】
本発明の好ましい実施形態のさらなる利点は、トランザクションの強制的な順序付けを必要とせず、これにより受信される順序でトランザクションを宛先装置において効率的に処理できることである。
【００３１】
本発明の好ましい実施形態のさらに別の利点は、トランザクションの通信を管理するために、予め割り当てられたハードウェアチャネルが必要とされないことである。
【００３２】
本発明の好ましい実施形態のさらに別の利点は、従来技術のシーケンス番号特定システムを用いた場合よりも、ネットワーク内のトランザクションの状態に関してより高い確実性が提供されることである。
【００３３】
以下に開示される概念および特定の実施形態は、本発明と同じ目的を実行するために他の構造を変更したり、あるいは設計したりするための基本原理として容易に利用できることを当業者は理解されたい。
【００３４】
【発明の実施の形態】
図３は、本発明の好ましい実施形態による宛先メモリコントロール装置３０５を用いるトランザクション方式を示す。好ましい実施形態では、送信元エージェント３０２はプロセッサ３０１に関連する。要件データベース３０３は、送信元エージェント３０２と協動し、トランザクションの状態およびトランザクションデータパケットを格納することが好ましい。ネットワーク３０４は一般に多数送信元、多数宛先のコンピュータネットワークであるが、代替的に、１つの送信元装置と１つの宛先装置との間に介在する、ルータのような１つの装置であってもよい。さらに別の実施形態では、ネットワーク３０４はローカルエリアネットワークまたはワイドエリアネットワークであってもよい。
【００３５】
好ましい実施形態では、連想記憶装置（Content addressable Memory：ＣＡＭ）３０６は、そのエントリの任意の１つに外部装置が書き込みできるメモリ装置である。送信元装置または外部装置の識別、および対象とするトランザクションの識別を与えられるとき、メモリコントロール３０５が与えられたトランザクション識別とＣＡＭ３０６内の全ての現時点で有効なエントリとを比較して、関係するトランザクションがＣＡＭ内に存在するか否かを判定する機能をＣＡＭ３０６が備えていることが好ましい。ＣＡＭ３０６は、ネットワーク３００において現在アクティブなトランザクションに関する情報を格納するためのデータベースとして動作することが好ましい。
【００３６】
好ましい実施形態では、プロセッサ３０１はメモリボード３１１とのトランザクションを行うように動作し、そのトランザクションはメモリ読出し動作あるいはメモリ書込み動作の場合がある。送信元サイトにおける送信元エージェント３０２およびデータベース３０３、および宛先サイトにおけるメモリコントロール３０５およびＣＡＭ３０６は、トランザクションを管理し、また進捗状況データとトランザクションの状態を保存するように動作して、待ち時間を最小にし、トランザクションステップの重複を避け、さらに任意の時点でシステム３００において未完了の全てのトランザクションの状態に関する明確な情報をシステム３００が所有できるようにする。
【００３７】
代替的に、送信元３０２および宛先３０５の装置はそれぞれプロセッサおよびメモリである必要はないが、ある範囲のデータ記憶装置およびデータ処理装置を含む場合がある。例えば、読出し、書込み、または他の演算を含むプロセッサ間トランザクションは、本発明のメカニズムを適用するのに適している。別の実施形態では、メモリボードおよびプロセッサのいずれも、図３の構成における送信元あるいは宛先のいずれかであることができる。
【００３８】
好ましい実施形態では、一連の４つのトランザクションメッセージあるいはパケットが、システム３００内の適当な点において各トランザクションのための状態を確立するために、送信元エージェント３０２とメモリコントロール３０５との間で通信される。４つ未満または４つより多い別の数のトランザクションを用いて本発明のメカニズムの機能を実行することもでき、全てのそのような変形が本発明の範囲内にあることは理解されよう。個々のトランザクションパケットが２度以上発行または受信されることもできるが、本発明のプロトコルによって、種々のトランザクションパケットによって実施されるトランザクションは１度だけ実行されることが確実になることが好ましい。
【００３９】
図４は、本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第１のメッセージの伝送を示す。以下の説明では、図３および図４の両方が参照される。送信元エージェント３０２は、ネットワーク３０４を介して予約要求３０７をメモリコントロール３０５に送信することが好ましい。予約要求３０７は、プロセッサチップ３０１に代わって送信元エージェント３０２によって要求されているトランザクションを記述する情報と、メモリコントロール３０５へのトランザクションを識別するためのトランザクション識別とを含むことが好ましい。予約要求３０７はさらに、要求３０７が遭遇するネットワーク３０４内の任意の装置に対し、予約要求３０７がエージェント３０２によって伝送された時刻を特定するためのタイムスタンプ４０２を含むことが好ましい。タイムスタンプ４０２に組み込まれた情報によって、タイムスタンプ４０２の示す時刻に開始する所定の期間（パケットタイムアウト期間）の経過時に、システム内の任意の装置が予約要求３０７をシステムから破棄できるようにすることが好ましい。
【００４０】
好ましい実施形態では、エージェント３０２は、予約要求３０７の伝送からの経過時間を記録するための計時機能４０１を含む。エージェント３０２は、予約要求３０７の伝送の事実と時刻とをデータベース３０３に記録することが好ましい。予約要求３０７の伝送により、エージェント３０２内のタイマ４０１が始動し、予約要求３０７の伝送の所定の期間内に予約応答３０８が受信されるか否かを判定する。エージェント３０２において予約応答３０８を受信しないうちに、送信元エージェントタイムアウト期間が経過すると、エージェント３０２は予約要求３０７を再伝送する。システムから予約要求３０７を破棄するためのタイムアウト期間は、予約要求を再伝送するためにエージェント３０２において確立される期間より短いことが好ましく、これによって重複の予約要求が送信される前に、任意の前の予約要求パケットがシステムから破棄されていることが確実になる。このようにして、本発明のメカニズムは、同時にネットワーク３０４を介して伝送される同じトランザクションに関係する２つ以上の予約要求が存在しないことを確実にするように動作することが好ましい。
【００４１】
好ましい実施形態では、宛先メモリコントロール３０５が予約要求３０７を受信するとき、メモリコントロール３０５は、予約要求３０７に対応するエントリがＣＡＭ３０６内に予め存在しているか否かを判定することが好ましい。ＣＡＭ３０６内に対応するエントリが存在しない場合には、メモリコントロール３０５は、予約要求３０７が初めてメモリコントロール３０５において受信されていると結論することが好ましい。この場合、予約要求３０７に関連するトランザクションは、メモリ３１１にデータを書き込むか、あるいはメモリ３１１からデータを読み出すことにより行われることが好ましい。
【００４２】
好ましい実施形態では、予約要求３０７に対応するエントリがＣＡＭ３０６において見出される場合、メモリコントロール３０６は、予約要求３０７が再送動作の結果であるものと結論することが好ましい。一般に、この場合メモリコントロール３０５に対して少なくとも２つの選択肢が使用可能である。予約要求３０７が重複であるパケットに応答して生成される予約要求が、ＣＡＭ３０６に完全に格納される場合には、コントロール３０５は、予約要求３０７に応答して、予約応答３０８として格納された予約応答を再伝送する。例えば、関係するトランザクションが読出し動作であり、その読出し動作からのデータがＣＡＭ３０６に格納されない場合には、コントロール３０５は、関係する読出し動作に対応するメモリボード３０７からデータを取得し、送信元３０２への予約応答３０８の一部としてこのデータを伝送する。
【００４３】
好ましい実施形態では、読出し動作から得られたデータは、ＣＡＭ３０６に自動的には格納されない。しかし、読出しトランザクションがネットワーク内で依然としてアクティブであり、その読出し動作において読み出されるメモリ記憶位置が将来の書込み動作あるいは他の演算手順によって消去される見込みの場合には、コントロール３０５は、そのメモリ記憶位置（それは直ちに上書きされることになる）からＣＡＭにデータをロードし、その読出しトランザクションに関連する１つまたは複数の連続する予約要求がコントロール３０５によって受信されるときに利用可能であるようにすることが好ましい。
【００４４】
図５は、本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第２のメッセージの伝送を示す。以下の説明では、図３および図５の両方が参照される。図５は、ネットワーク３０４を介したメモリコントロール３０５によるエージェント３０２への予約応答３０８の伝送を示す。予約要求３０７に応答して予約応答３０８を生成することは、応答に関連するデータを生成するステップと、予約応答パケットを形成するために適当なトランザクション識別子とこの応答データとを組み合わせるステップと、最後に、予約応答３０８を送信するステップとを含む。
【００４５】
好ましい実施形態では、予約応答データはトランザクションに依存する。メモリ「読出し」動作の場合には、予約応答データは、予約要求３０７に含まれる「読出し」トランザクションの結果として、メモリまたはメモリボード３１１から取得されるデータを含むことが好ましい。メモリ「書込み」動作の場合には、一般に送信元エージェント３０２に返送されるデータはない。従って書込み動作に応答する予約応答は、要求された書込み動作が成功したという確認応答を含むことが好ましいであろう。一旦予約応答が準備されれば、それはＣＡＭ３０６に格納され、解放要求パケットがメモリコントローラ３０５によって受信されるまで残されることが好ましい。
【００４６】
好ましい実施形態では、予約要求に応答する予約応答がＣＡＭに存在しない場合には、予約応答３０８が生成され、前述のようにネットワーク３０４を介してエージェント３０２に伝送される。予約要求に対応する予約応答がＣＡＭ内に存在し、重複の予約要求が受信されたことを示す場合には、既に格納されている予約応答がエージェント３０２に伝送されることが好ましい。この既に存在する予約応答を伝送するために、最低限の演算しか必要とされないことが好ましい。
【００４７】
メモリコントロール３０５が、ＣＡＭ３０６において予約応答３０８を見つけるか、またはそのために必要とされる情報を生成した後に、メモリコントロール３０５は、図５とともに説明したように、送信元エージェント３０２に予約応答を伝送することが好ましい。この説明の便宜上、送信元エージェント３０２は、送信元エージェント３０２内のタイマ４０１が経過する前に、完全な予約応答を受信すると仮定する。タイマ４０１は、予約応答３０８が応答する予約要求３０７の伝送からの経過時間をカウントすることが好ましい。システムによって破棄された予約要求パケットおよび予約応答パケットへのシステムの応答が、この応用において後に説明される。
【００４８】
好ましい実施形態では、エージェント３０２による予約応答３０８の受信は、エージェント３０２によって元々伝送された予約要求に含まれていたトランザクションの状態をエージェント３０２に通知することが好ましい。予約応答３０８は、トランザクション読出し動作またはトランザクション書込み動作の実行が成功したことを示すことが好ましい。しかしながら代替的に、予約応答３０８は、メモリ読出し動作またはメモリ書込み動作が失敗したことを示す情報を含むこともできる。さらに、メモリコントロール３０５は、失敗したトランザクションに関連する詳細、およびその問題を訂正するために利用可能なオプションを、選択的に予約応答３０８に挿入することができる。好ましい実施形態では、成功したトランザクションの実行から生じる予約応答３０８は、送信元エージェント３０２に、最終的にプロセッサ３０１にデータを返送する。
【００４９】
好ましい実施形態では、送信元エージェント３０２は、受信した予約応答３０８を有しており、予約要求３０７に関連するトランザクションに関係するＣＡＭ３０６に格納されたデータが消去されることをメモリコントロール３０５に通知するように動作して、新しい予約要求での使用のためにＣＡＭ内の空間を解放することが好ましい。解放されたＣＡＭ空間は、ネットワーク３０４に接続される任意のプロセッサから発生する予約要求のために使用されることができ、送信元エージェント３０２からのみのそのような要求を格納することに限定されないことは理解されよう。
【００５０】
図６は、本発明の好ましい実施形態による４つのトランザクションメッセージの第３のメッセージの伝送を示す。以下の説明では、図３および図６の両方が参照される。図６は、ネットワーク３０４を介する送信元エージェント３０２からの解放要求３０９の伝送を示す。
【００５１】
好ましい実施形態では、エージェント３０２による解放要求の伝送は、エージェント３０２およびプロセッサ３０１が、予約要求３０７によって送信されたトランザクションを終了したものとみなし、この場合ＣＡＭメモリ３０６を含む宛先サイトにおいて完了したトランザクションに関係する格納された情報がもはや必要でないことを知らせる。従ってメモリコントロール３０５は解放要求３０９を受信するとき、そのトランザクションに関係するＣＡＭ３０６内のエントリをクリアすることが好ましい。
【００５２】
好ましい実施形態では、予約要求３０７の伝送の場合のように、送信元エージェント３０２内のタイマ４０１は、解放要求３０９の伝送からの経過時間をカウントするように動作する。タイマ４０１が再伝送しきい値に達する前に、解放応答３１０が受信される場合には、タイマはリセットされ、再伝送が発生しないことが好ましい。しかし、送信元エージェント３０２において解放応答３１０を受信する前にタイマしきい値に達する場合には、送信元エージェント３０２は解放要求３０９を再伝送することが好ましい。他の動作をしないと、再伝送動作は、２つの同一の解放要求が同時にシステム内に伝送する可能性を解決しないままになる。
【００５３】
従って好ましい実施形態では、解放要求の伝送から所定の期間が経過した後、解放要求が「タイムアウト」し、システムから破棄されるようにするために、システム内に計時メカニズムが実装される。予約要求とともに説明したように、ネットワーク３０４内を伝搬する際に解放要求と遭遇する場合がある多数の装置によって読み出されることができるタイムスタンプ６０１が解放要求３０９に含まれることが好ましい。解放要求パケットタイムアウト期間が経過した場合、これらの装置のうちの任意の装置が、現在時刻を保持し、システムから解放要求３０９を除くために、読出しを行なえることが好ましい。
【００５４】
好ましい実施形態では、送信元エージェント３０２が再伝送要求を発行する前に解放要求が「タイムアウト」することを確実にするために、システム装置がシステムから解放要求を破棄するタイムアウトしきい値は、送信元エージェント３０２が解放要求の再伝送を知らせるために用いるタイムアウトしきい値より短いことが好ましい。
【００５５】
図７は、本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第４のメッセージの伝送を示す。以下の説明では、図３および図７の両方が参照される。メモリコントロール３０５は、エージェント３０２にネットワーク３０４を介して解放応答３１０を送信することが好ましい。
【００５６】
好ましい実施形態では、メモリコントロール３０５による解放応答３１０の伝送は、好ましくは４つのトランザクションメッセージの目的であるトランザクションが完了し、このトランザクションのためのＣＡＭエントリが解放されており、それによって新しい予約要求のためにＣＡＭ３０６内の空間が自由に使えることを示す。解放応答３１０を受信すると、送信元エージェント３０２はそのトランザクションが正常に終了したと適切に判断し、データベース３０３内の完了したトランザクションに対応するエントリの削除に取りかかることが好ましい。
【００５７】
好ましい実施形態では、予約応答３０８が送信元エージェント３０２に配信されるとき、送信元エージェント３０２はトランザクションの所望の結果を受信する。送信元エージェント３０２は、プロセッサ３０１に適時にこの情報を通信することが好ましい。続いて、第３および第４のトランザクションメッセージ、すなわち解放要求および解放応答が、それぞれ後続の動作により、それぞれの位置におけるトランザクションの状態をメモリコントローラ３０５および送信元エージェント３０２に適切に通知し、またデータベース３０３（送信元エージェント側）およびＣＡＭ３０６（宛先メモリコントロール側）において一時的に割り当てられた記憶空間を解放する。トランザクションメッセージの管理のために送信元エージェント３０２を使用し、データベース３０３内のエントリを入力および削除することにより、プロセッサ３０１は、通信およびデータベース管理タスクに負荷をかけられることなく、受信したデータに関する動作を実行することに集中できるようになり、好ましく有益である。
【００５８】
好ましい実施形態では、完了したトランザクションのためのデータベースおよびＣＡＭエントリの削除、および両方向の状態情報の関連する通信を含む、プロセッサ以外の装置によるサービスの提供は、プロセッサ効率を高め、処理および通信の待ち時間を低減する。エージェント３０２およびメモリコントロール３０５にタスクを委譲することによって得られる処理の待ち時間の改善（低減）は、処理時間がチャネルの割当てと送信元−宛先の対の両側におけるシーケンス番号付与システムの確立とに費やされている従来技術のシーケンス番号システムを用いては一般に実現することはなかったであろう。従って、本発明のアプローチは、従来技術のシステムに比較して大きな待ち時間上の利点を提供する。
【００５９】
一般に、ネットワーク３０４のような信頼できないネットワークを介して伝送されるパケットは、失われたり、エラーを含んだり（corrupted）することがある。好ましい実施形態では、ネットワークの信頼性がない問題およびそれに関連するパケットが失われる可能性は、予約要求および解放要求の両方の送信元においてタイムアウトを使用し、かつ予約要求パケット３０７および解放要求パケット３０９の両方にタイムスタンプを挿入することによって処理されることが好ましい。送信元エージェント３０２における相互作用（interaction）タイムアウトおよびパケット内のタイムスタンプを用いたシステム内の分散した位置で生じるタイムアウトは、既に詳細に説明されており、ここでは詳細には繰り返さない。送信元エージェント３０２内のタイマがパケットの再伝送を起動するとき、タイムスタンプに対する現在時刻およびパケットに含まれるタイムアウト期間をチェックするために、タイムスタンプとネットワーク３０４内で分散した装置の能力とを組み合わせることにより、「タイムアウト」したパケットがシステムから破棄されるように動作する。システムを移動しているパケットのタイムアウトしきい値は、前に送信されたパケットの再伝送を起動するためにエージェント３０２によって用いられるタイムアウトより短く設定されることが好ましい。
【００６０】
好ましい実施形態では、送信元エージェント３０２はタイマを用いて、予想される応答を受信しなかった場合にメッセージをいつ再伝送するかを判定する。また送信元エージェント３０２は、要求が所定の期間内に宛先メモリコントロール３０５に達しなかった場合に、システムからこれらのパケットを破棄できるようにするため、予約要求３０７および解放要求３０９の両方にタイムスタンプを含ませる。好ましい実施形態では、メモリコントロール３０５は、エージェント３０２に伝送されるメッセージのために同様の計時動作を実行しない。さらに、メモリコントロール３０５は、予約応答３０８および解放応答３１０にタイムスタンプを含ませないことが好ましい。しかし、別の実施形態では、メッセージが伝送されてから経過した時間をカウントするプロセスは、メモリコントロール３０５のみによって、または送信元エージェント３０２およびメモリコントロール３０５の両方によって、実行されることができることは理解されよう。さらに別の実施形態では、メモリコントロール３０５は、予約応答３０８および解放応答３１０のためのパケットにタイムスタンプを含ませることができ、全てのそのような変形は本発明の範囲内に含まれる。
【００６１】
好ましい実施形態では、受信元あるいはエージェントからのパケットの前の伝送から所定の期間が経過した後に、伝送したパケットに応答するパケットを受信するはずであるが、まだ受信していないことをエージェント３０２の論理が示すとき、エージェント３０２はパケットを再伝送する。送信元エージェント３０２は、前に送信したパケットがシステムから失われたと仮定して、関連するパケットを再伝送することが好ましい。一般に、失われたパケットのシステムへの影響は、４つのトランザクション通信パケットのうちのどのパケットが失われたかに依存する。
【００６２】
好ましい実施形態では、予約要求がメモリコントロール３０５へ向かう途中で失われた場合、エージェント３０２は、そのスケジュールに従ってタイムアウトし、データベース３０３にアクセスすることにより重複した予約要求を再伝送することが好ましい。エージェント３０２は予約要求を２回だけ送信することに限定されず、この最初のトランザクションパケットの伝送の完了を確実にするのに必要とされる回数だけ伝送を繰り返すことができる。しかし、１つあるいは２つのパケットの損失はシステム３００内の一時的な問題で説明できるが、エージェント３０２は、その値を越えるとネットワークが永久的な障害を含むとみなす、失敗した伝送の数のしきい値を設定して、必要とされるパケットの伝送を達成する別の方法を構成するよう機能することもできる。
【００６３】
好ましい実施形態では、メモリコントロール３０５がＣＡＭ３０６内に見出されないトランザクションを表す予約要求を受信する場合、コントロール３０５は、着信するパケットを最初の予約要求伝送として取り扱い、ＣＡＭ３０６内に新しいエントリを確立し、予約要求パケットに応答する予約応答を生成することが好ましい。メモリコントロール３０５がＣＡＭ３０６に見出されるトランザクションを表す予約要求を受信する場合、メモリコントロール３０５は、現在要求されているトランザクションに対応する予約応答が生成され伝送されたが、システムから失われたと結論することが好ましい。従って、重複した予約要求に応答する新しい予約応答を生成する必要がないことが好ましい。メモリコントロール３０５は元の予約応答によって格納された情報を有する重複の予約応答を生成することが好ましい。好ましい実施形態では、上述の論理は、送信元エージェント３０２による解放要求３０９の送信およびそれに応答するパケット、すなわち解放応答３１０にも同様に当てはまる。この場合、その論理は一般に反対になる。全くパケットが失われずに最初の解放要求３０９を受信したとき、解放要求３０９によりメモリコントロール３０５は関係するトランザクションについてのＣＡＭ３０６内のエントリを削除するため、解放要求に関連するトランザクションに対応するエントリは存在しないはずである。
【００６４】
従って好ましい実施形態では、ＣＡＭ３０６内にエントリを有する解放要求３０９が受信されると、メモリコントロール３０５はその解放要求３０９を最初の伝送であるとみなし、ＣＡＭ３０６内の関係するエントリを削除するように適切に機能し、解放応答３１０を生成することが好ましい。メモリコントロール３０５に達する前に解放要求パケットが失われた場合には、メモリコントロール３０５は、前述のように、解放要求パケットが最初の伝送であると解釈することが好ましい。
【００６５】
ＣＡＭ３０６内のエントリと一致しない解放要求を受信する場合には、メモリコントロールは、解放要求３０９を重複した伝送であるとみなし、解放応答３１０を生成しネットワーク３０４を介してエージェント３０２に伝送することが好ましい。解放要求がＣＡＭ３０６内のどのエントリとも一致しない場合、ＣＡＭ３０６内には削除するのに適したエントリが存在しないことは理解されよう。その後メモリコントロール３０５は、解放応答３１０を生成しネットワーク３０４を介してエージェント３０２に送信することが好ましい。前述のイベントのシーケンスは、エージェント３０２に達する前に失われた前の解放応答３１０と一致する。
【００６６】
さらに説明の便宜上、プロセッサおよびメモリは全般に「マスタ」装置と呼称し、送信元エージェントおよび宛先メモリコントロールは「サーバント」装置と呼称する。本発明の原理は、マスタ装置およびスレーブ装置がハードウェア構成要素であるように限定されない。マスタ装置は代替的に、選択したタスクを「サーバント」プログラムまたはサブルーチンに委譲するソフトウェア・プログラムであってもよく、それぞれのクリティカルパスから委譲されたタスクを取り除いて、より効率的に実行するようにもできる。同様に、サーバント装置は、メインプログラムに仕え、各メインプログラムを一定の時間を要するタスクから解放するように動作するプログラムあるいはサブルーチンであってもよい。マスタおよびサーバントソフトウェア構成要素は、ハードウェアのマスタ装置およびサーバント装置とともに前述したように、トランザクション結果を保存しトランザクションパケットメッセージの状態を格納するための同様のプロトコルを実装することが好ましい。
【００６７】
図８は、本発明の好ましい実施形態による、多数の送信元装置および宛先装置を有し、順序付けがなく信頼できないネットワーク上で通信がルーティングされるネットワークを示す。図８は、プロセッサ８０１に関連するエージェント８０３およびプロセッサ８０２に関連するエージェント８０４を示す。エージェント８０３と８０４との間に丸印の列は、関連するプロセッサを有する複数のさらに別のエージェントが存在することを示すように意図されている。同様に、メモリコントロール８０５および８０６はそれぞれ、メモリボード８０７および８０８に関連する。種々のエージェントおよびメモリコントロールは一般に全てネットワーク３０４に接続される。以下の説明では、エージェントおよびプロセッサの組み合わせは、ネットワーク８００上の離れた位置からトランザクションを要求するために動作するとき一般に送信元サイトと呼称され、メモリコントロールおよびメモリボードの組み合わせは、リモート送信元サイトから受信したトランザクション要求を提供するように動作するとき一般に宛先サイトと呼称される。
【００６８】
好ましい実施形態では、図３乃至図７とともに説明したように、送信元によって要求され、宛先において実行され、好ましくは一連の４つのトランザクションパケットまたはメッセージを介して実施されるトランザクションは、一般にネットワーク８００を介して接続される任意の送信元−宛先の組み合わせ間で完了することができる。例えば、１００個の送信元サイトと１００個の宛先サイトがある場合、一般に１００００個の異なる送信元−宛先の対が利用可能である。送信元−宛先の対の一実施形態は、プロセッサを備える送信元とメモリボードを備える宛先とを含むことができるが、送信元サイトはプロセッサを有するよう限定されず、また宛先サイトはメモリあるいはメモリボードを有するよう限定されないことは理解されよう。別の実施形態では、関連する装置を備えるプロセッサと、関連する装置を備えるメモリボードとは両方とも、送信元サイトまたは宛先サイトのいずれかとして動作することができるが、全てのそのような変形は本発明の範囲内に含まれる。
【００６９】
本発明およびその利点を詳細に説明してきたが、本発明の精神および範囲から逸脱することなく、種々の変更、代替および修正を実施できることは理解されよう。
【００７０】
本発明には例として以下の実施態様が含まれる。
【００７１】
（１）送信元サイトと宛先サイトとを有するネットワーク（３０４）においてトランザクションを実行するための方法であって、
前記送信元サイトから前記宛先サイトへ最初のトランザクション要求メッセージを伝送するステップと、
前記宛先サイトにおいて前記トランザクション要求メッセージを受信するステップと、
宛先データベース（３０６）において前記トランザクションとデータエントリとの関連を確立するステップと、
前記トランザクションが前記ネットワーク内でアクティブである限り、前記宛先データベースに前記トランザクションと前記データエントリとの前記関連を保存するステップと、
を含む方法。
【００７２】
（２）前記宛先サイトにおいて前記トランザクションを実行し、それによりトランザクション結果を生成するステップをさらに含む上記（１）に記載の方法。
【００７３】
（３）将来の（prospective）動作がメモリボード内の前記トランザクション結果を無効にすると見込まれる場合に、
前記宛先データベース（３０６）内に前記トランザクション結果を格納し、それによって前記宛先サイトにおいてさらに予約要求メッセージ（３０７）を受信する場合、前記トランザクション結果を再伝送できるようにするステップをさらに含む上記（２）に記載の方法。
【００７４】
（４）前記ネットワーク上で前記送信元サイトに前記トランザクション結果を伝送するステップをさらに含む上記（２）に記載の方法。
【００７５】
（５）送信元サイトタイムアウト期間内に、前記送信元サイトにおいて前記宛先サイトから応答を受信しない場合、別のトランザクション要求メッセージ（３０７）を伝送するステップをさらに含む上記（１）に記載の方法。
【００７６】
（６）前記トランザクション要求メッセージが要求メッセージタイムアウト期間（４０１）内に前記宛先サイトに到達しない場合、前記最初のトランザクション要求メッセージを前記ネットワークから削除するステップをさらに含み、前記送信元サイトタイムアウト期間は前記要求メッセージタイムアウト期間より長く、前記ネットワークを介して２つのトランザクション要求メッセージが同時に伝送されるのを防ぐ上記（５）に記載の方法。
【００７７】
（７）重複したトランザクション要求メッセージの受信時に、
前記トランザクションのために確立された前記宛先データベース（３０６）内の前記データエントリを識別するステップと、
前記トランザクション結果を取得するステップと、
前記送信元サイトに前記取得されたトランザクション結果を再伝送するステップと、
をさらに含む上記（４）に記載の方法。
【００７８】
（８）前記取得するステップは、前記宛先データベース（３０６）から前記トランザクション結果を回収するステップを含む上記（７）に記載の方法。
【００７９】
（９）前記取得するステップは、前記重複したトランザクション要求メッセージに応答して前記トランザクションを実行し、それにより前記トランザクション結果を生成するステップを含む上記（７）に記載の方法。
【００８０】
（１０）前記送信元サイトにおいて前記伝送されたトランザクション結果を受信するステップと、
前記送信元サイトから前記宛先サイトへ解放要求（３０９）を伝送し、前記宛先データベース（３０６）内の前記トランザクションに関連する前記データエントリを削除するステップと、
をさらに含む上記（４）に記載の方法。
【図面の簡単な説明】
【図１】多数送信元、多数宛先のネットワークを示す図である。
【図２】専用のチャネルが各宛先装置をエージェント装置にリンクする、エージェント装置および２つの別個の宛先装置を示す図である。
【図３】本発明の好ましい実施形態による宛先メモリコントロール装置を用いるトランザクション方式を示す図である。
【図４】本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第１のメッセージの伝送を示す図である。
【図５】本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第２のメッセージの伝送を示す図である。
【図６】本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第３のメッセージの伝送を示す図である。
【図７】本発明の好ましい実施形態による４つのトランザクションメッセージのうちの第４のメッセージの伝送を示す図である。
【図８】本発明の好ましい実施形態による、順序付けのない信頼できないネットワーク上で通信がルーティングされる、複数の送信元装置および宛先装置を有するネットワークを示す図である。
【符号の説明】
３０１        プロセッサ
３０４        ネットワーク
３０６        宛先データベース（予約CAM）
３０７        予約要求（トランザクション要求メッセージ）
３０９        解放要求
３１１        メモリボード
【図１】
0004723102.tif 000002
【図２】
0004723102.tif 000003
【図３】
0004723102.tif 000004
【図４】
0004723102.tif 000005
【図５】
0004723102.tif 000006
【図６】
0004723102.tif 000007
【図７】
0004723102.tif 000008
【図８】
0004723102.tif 000009