JP2001306506A - トランザクション実行のためのプロトコル - Google Patents

トランザクション実行のためのプロトコル

Info

Publication number
JP2001306506A
JP2001306506A JP2001050405A JP2001050405A JP2001306506A JP 2001306506 A JP2001306506 A JP 2001306506A JP 2001050405 A JP2001050405 A JP 2001050405A JP 2001050405 A JP2001050405 A JP 2001050405A JP 2001306506 A JP2001306506 A JP 2001306506A
Authority
JP
Japan
Prior art keywords
transaction
source
destination
network
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001050405A
Other languages
English (en)
Other versions
JP2001306506A5 (ja
JP4723102B2 (ja
Inventor
M Brewer Tony
トニー・エム・ブルーアー
Gregory S Palmer
グレゴリー・エス・パルマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2001306506A publication Critical patent/JP2001306506A/ja
Publication of JP2001306506A5 publication Critical patent/JP2001306506A5/ja
Application granted granted Critical
Publication of JP4723102B2 publication Critical patent/JP4723102B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Abstract

(57)【要約】 【課題】 信頼できないネットワークを介して、信頼で
きるトランザクションメッセージの通信を行う方法を提
供する。 【解決手段】トランザクションは送信元装置302によ
り要求される、宛先装置305の動作であり、トランザ
クションの完了を確実にするために、複数のメッセージ
が送信元装置と宛先装置との間で交換される。送信元装
置と宛先装置とをリンクするネットワーク304は信頼
できないので、送信元装置および宛先装置は、受信およ
び伝送したトランザクションメッセージに関するデータ
を保存する。応答メッセージが適時に受信されない場合
は、応答メッセージが再送される。二つの計時システム
が好ましくは実装され、ネットワーク304において同
時に二つの同一のメッセージが伝送されないようにす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は全般にネットワーク
上でのデータ伝送に関し、詳細には信頼できないネット
ワーク上でのデータ伝送を効率的に監視することに関す
る。
【0002】
【従来の技術】一般に、データ処理装置あるいは記憶装
置間でメッセージ、パケットまたはトランザクションの
伝送を含む通信を行う際に、その通信を管理し調整する
ためにいくつかのフォームのプロトコルあるいはハンド
シェーキングが必要とされる。2つの装置のみが情報を
伝送し合っている場合、そのような通信管理は比較的簡
単である。一般に、2つの装置間に直接かつ連続したコ
ンタクトを確立することで、間違った相手に向けられた
伝送、欠落した情報および誤ったデータを容易に識別し
訂正することができる。
【0003】図1に示されるように、ネットワークを介
して複数の送信元(source)が複数の宛先(destinatio
n)と通信を行う場合、そのような通信管理は一般によ
り困難で複雑になる。このようなネットワークでは、特
定のメッセージのために送信元と宛先との間の直接かつ
連続したコンタクトは一般に利用できないであろう。代
わりに、通信プロセスは、送信元による伝送と最終的な
宛先による受信との間で、ネットワーク中の1つまたは
複数の中間点を介してメッセージを伝送するよう要求す
るであろう。ネットワークの中間点では、情報の喪失、
誤った情報の導入、または完全な伝送障害を引き起こす
ハードウェア障害を含む多数の問題が持ち込まれる場合
がある。このような事態が生じると、伝送の送信元およ
び宛先の両方でその問題が認識されず、問題が解決でき
ないままになりうる。
【0004】この問題を処理するために従来技術におい
て用いられる1つの解決策は、送信元から宛先に伝送さ
れるメッセージまたはパケットとシーケンス番号とを関
連付けることである。各メッセージに付けられたシーケ
ンス番号を用いて、宛先装置は、メッセージに関連する
シーケンス番号を検査し、そのメッセージが当該送信元
の位置から順番どおりに送信された次のメッセージであ
ることを確認することができる。宛先装置において重複
したメッセージを受信すると、一般にそのメッセージは
無視される。シーケンス番号の連続していないメッセー
ジを続けて受信すると、一般に、宛先と送信元との間で
アクティブなプロトコルによって抜けたメッセージが再
送される。
【0005】多数の送信元、多数の宛先からなるネット
ワークにおいて通信管理のためにシーケンス番号を使用
すると、一般にシステムに相当の処理負荷がかかる。一
般に、各送信元−宛先の対は固有のシーケンス番号のセ
ットを有しており、システム内で各送信元および宛先を
一意に識別する。一般に、シーケンス番号のセットの総
数は、ネットワークのサイズが大きくなるにつれて指数
関数的に増加する。例えば、10個のプロセッサが10
個のメモリボードと通信を行う場合、100個のシーケ
ンス番号のセットが必要になる。これに対して、100
0個のプロセッサおよび1000個のメモリボードの場
合には、各送信元−宛先の対を一意に識別するためには
100万個のシーケンス番号の組が必要となる。一般に
シーケンス番号のセットがこのように多数になると、伝
送されるメッセージを特定するために必要とされるビッ
ト数の増加によって、各送信元および宛先における負荷
が増加する。
【0006】さらに、このようなシステムは効率的に縮
小するのが困難である。例えば、システムが最初に10
0万個のシーケンス番号のセットに対応するように設計
される場合、そのシステムは、許容可能な方法でそのシ
ーケンス番号に伴うオーバーヘッドを処理することがで
きる。しかし、同じチップが例えば1つのプロセッサお
よび1つのメモリボードを含む小規模の構成で用いられ
ると、100万個のシーケンス番号のセットを取り扱え
るように設計されたチップセットは、小規模の構成に対
してわずかに1つのシーケンス番号のセットを取り扱う
ために使用され、それによりその小規模の構成の動作に
莫大でかつ非生産的なオーバーヘッドのコストが負わさ
れることになろう。
【0007】一般に、伝送が不完全、または伝送が失わ
れたという宛先装置による判定に応答する典型的な動作
は、送信元に要求を出し、関係する情報を再送信させる
ことである。1つの送信元、1つの宛先からなるシステ
ムでは、一般にそのようなアプローチが非常に適してい
る。しかし、多数の送信元、多数の宛先からなるシステ
ムでは、データの送信元を識別するデータそのものが伝
送中に失われる可能性があるため、宛先装置が再伝送要
求を発行することは非常に難しい。従って、多数の送信
元、多数の宛先のシステムにおいてトランザクションを
特定するためにシーケンス番号を使用すると、伝送エラ
ーの検出および訂正の両方が非常に難しくなる。
【0008】大規模なネットワークにおいて全ての送信
元−宛先の対のためにシーケンス番号の個別のセットを
用いるための別の方法は、ソフトウェアを使用して、ネ
ットワーク内のプロセッサまたは他の通信構成要素にチ
ャネルを動的に割り当てることである。一般に、一定期
間送信元−宛先の対における別の構成要素と通信を行う
ために、ソフトウェアはプロセッサ内にチャネルを割り
当てるように動作する。異なる構成要素との通信が確立
されると、チャネルは新しい構成要素と通信を行うため
に再度割り当てられ、シーケンス番号のセットが実行中
に確立される。このアプローチによって一般に莫大な数
のシーケンス番号のセットを有する必要は避けられる
が、一般に通信プロセスに待ち時間がかかる。具体的に
は、異なる構成要素または装置との通信のためのチャネ
ルの最初の割当ておよび再割当てにかかる時間には、一
定の有限の時間が必要とされる。コンピュータシステム
内のチップ間の接続のように、一般に装置間の通信に非
常に短い待ち時間しかかからないネットワークでは、チ
ャネル割当ておよび再割当てに要する時間は一般に許容
しがたい遅延となる。
【0009】ネットワーク内の全ての送信元装置−宛先
装置の対のために個別のシーケンス番号のセットを用い
る方法のさらに別の方法は、関与する全ての通信装置に
ついて予め割り当てられたハードウェアチャネルを用い
ることである。図2は、プロセッサエージェント装置2
01に対して専用のチャネル接続を有する宛先装置20
2および203を示す。このアプローチは、前述のソフ
トウェアベースの動的チャネル割当てアプローチによっ
て一般に起こる通信の待ち時間を招かないという利点が
あるが、関与する通信装置それぞれについてハードウェ
ア機能を追加するという相当の要件が生じる。一般にこ
の追加のハードウェア要件によって、相当な余分のシス
テムコストがかかる。
【0010】トランザクションの特定のためにシーケン
ス番号を使用することは、上位のプロトコル階層によっ
て順序付けが必要とされない場合であっても、一般に送
信元と宛先との間のトランザクションの順序付けを強制
する。これは一般に、シーケンス番号が正しい順序でな
い一連のパケットを受信することによって、宛先は失わ
れたパケットを識別するに過ぎないからである。しか
し、多数送信元、多数宛先のネットワークでは、シーケ
ンス番号の高いパケットがネットワークでより早い経路
を通ったために、シーケンス番号の高いパケットが、シ
ーケンス番号が低く先に送信されたパケットの前に、宛
先装置に到達する場合がある。この順序違いの到達は、
必ずしもパケットが失われたことを示しているわけでは
ない。従って、一般にバッファを使用してシーケンス番
号の高いパケットを保持し、シーケンス番号の低いパケ
ットがバッファを通過して最初に宛先に到達できるよう
にする。このため、そのような強制的な順序付けは一般
に、トランザクションの伝送速度、ひいてはネットワー
ク全体の速度を低下するように作用する。
【0011】
【発明が解決しようとする課題】従って当該技術分野に
おいて、多数送信元、多数宛先のネットワーク(すなわ
ち大規模で複雑なネットワーク)における全ての送信元
−宛先の対のために個別のシーケンス番号のセットを用
いると、ネットワークの通信および演算に負荷がかかる
という問題がある。
【0012】さらに当該技術分野において、多数送信
元、多数宛先のネットワークにおいてシーケンス番号を
使用すると、宛先装置において欠陥ありと識別されたデ
ータパケットを伝送した装置を正確に識別するのが妨げ
られる場合があるという問題がある。
【0013】さらに当該技術分野において、大規模で複
雑なネットワークにおいてパケットを識別するためにシ
ーケンス番号を用いると、一般にそのネットワークのト
ランザクションに順序付けを強制する必要が生じるとい
う問題がある。
【0014】さらに当該技術分野において、データパケ
ットのシーケンス番号付与のためにソフトウェアベース
の動的割り当てチャネルを使用すると、一般にコンピュ
ータネットワーク内の通信において許容できない待ち時
間が生ずるという問題がある。
【0015】さらに当該技術分野において、ネットワー
クにおいてデータパケットのシーケンス番号付与のため
に専用の予め割り当てられたハードウェアチャネルを用
いると、一般にシステムに相当なコストがかかるという
問題がある。
【0016】
【課題を解決するための手段】前述のおよび他の目的、
特徴および技術上の利点は、一時的かつ再利用可能なエ
ントリを用いる記憶システムが、順序付けがなく(unor
dered)信頼できないトランスポート機構を介するデー
タ送信元と宛先との間のトランザクションを監視できる
ようにするシステムおよび方法によって達成される。ト
ランザクションおよびその状態の監視は、送信元サイト
または宛先サイトにおいて実行されることができる。ト
ランスポート機構内の中間点におけるトランザクション
の監視は、本発明では不要であることが好ましい。トラ
ンザクションパケットあるいはメッセージの通信の繰返
しが必要となる場合、端末間のリトライが用いられるこ
とが好ましい。一般に端末間のリトライは、通信リンク
内の中間点からそのような再伝送を試みるのではなく、
通信リンクの一端から再伝送を開始することを指す。
【0017】好ましい実施形態では、一連のトランザク
ションが送信元サイトと宛先サイトとの間で伝送され、
2つのサイト間のパケットの配信および確認応答を管理
し、かつ送信元によって開始された全てのトランザクシ
ョンの状態に関する明瞭な情報を提供する。本発明のメ
カニズムは、順序付けがなく信頼できないネットワーク
上で送信元と宛先との間に厳密に一度の意味(exactly
once semantics)を与えることが好ましい。
【0018】好ましい実施形態では、各宛先装置と関連
するデータベース(連想記憶装置であり得る)が、ネッ
トワーク内の未完了のトランザクションのためのレジス
トリとして動作する。好ましい実施形態には、送信元と
宛先との間で一連のトランザクションメッセージを伝送
し、当該トランザクションの適切な実行を確実にすると
ともに当該トランザクションの状態に関する情報を維持
することが含まれる。典型的な一連のトランザクション
メッセージには、予約要求、予約応答、解放要求、およ
び解放応答が含まれることが好ましく、これらのトラン
ザクションメッセージは後に詳細に説明される。
【0019】好ましい実施形態において、トランスポー
ト機構は、順序付けがなく信頼できないネットワークに
おける複数のプロセッサ、切替装置、メモリ装置、およ
び他のデータ装置を互いにリンクするコンピュータネッ
トワークである。代替的には、トランスポート機構はデ
ータ記憶装置またはデータ処理装置間の任意の接続の組
を含むことができ、限定ではないが、ローカルエリアネ
ットワークおよびワイドエリアネットワークを含む。本
明細書において「信頼できない(unreliable)」とは、
所望の宛先にメッセージを伝送するために、トランザク
ションを開始する送信元が関係するネットワークに依存
できない状況、またはトランザクションを開始する送信
元が宛先による所望のトランザクションの実行を前提に
できない状況のことを指す。
【0020】代わりに、送信元による要求の伝送、およ
び宛先による要求されたトランザクションの正常な完了
の伝送の両方の検証は、本発明のメカニズムが、トラン
ザクションが正常に完了したと判断することが好まし
い。本明細書で考慮される「端末間」報告および検証シ
ステムにより、送信元と宛先とをリンクするネットワー
ク内の中間点での照会の実行の必要性がなくなり、この
ネットワークを伝わる通信が正常であったと仮定する必
要性が排除されることが好ましい。
【0021】本明細書において、別のサイトでのトラン
ザクションを引き起こすために一連のトランザクション
メッセージを開始するサイトは「送信元サイト」であ
り、トランザクションが実行される「他の」サイトは
「宛先サイト」である。送信元サイトおよび宛先サイト
はそれぞれ1つの構成要素を含むか、または複数の構成
要素を含むことができる。用語「送信元」および「宛
先」は全般にそれぞれ「送信元サイト」および「宛先サ
イト」と同義に用いられる。「発明の実施の形態」にお
いて、「送信元エージェント」は送信元サイトにおいて
特にプロセッサに関連する装置であり、「宛先メモリコ
ントロール」は、宛先サイトにおいて特にメモリボード
に関連する装置である。しかしながら、用語「エージェ
ント装置」は、プロセッサまたはメモリボード等の、そ
のサイトにおいて別の装置に対するエージェントとして
機能する構成要素あるいは装置を全般に指すように本明
細書で使用される。それゆえ用語「エージェント装置」
は、「送信元エージェント」および「宛先メモリコント
ロール」の両方に当てはまることが好ましい。プロセッ
サおよびメモリボードはいずれも他の装置により仕えら
れている装置であるため、それらは本明細書で包括的に
「マスタ装置」と呼ばれる。用語「装置」は全般に、1
つのハードウェア構成要素のことを指すが、あるサイト
における種々の装置が別個の構成要素である必要はな
く、1つのパッケージに集積されることもできる。さら
に、そのような装置の機能は選択的にソフトウェアで実
行されることもできる。
【0022】本明細書において、用語「トランザクショ
ン」は、動作を要求する送信元サイトから離れたサイト
において実行される動作、並びにこの動作をもたらすた
めに必要な通信ステップを含む。動作は、メモリ読出
し、メモリ書込み、装置コントロール動作、または他の
データ転送動作又はデータ処理動作であってもよい。一
連の通信ステップはトランザクションを完了するために
行われることが好ましく、トランザクションとともに伝
送される情報パッケージを本明細書では「トランザクシ
ョンパケット」または「トランザクションメッセージ」
と呼ぶ。これらの用語はさらに、各メッセージの内容に
従って限定される。簡略のため、読出し動作を含むトラ
ンザクションは「読出しトランザクション」と呼ばれ、
書込み動作を含むトランザクションは「書込みトランザ
クション」と呼ばれる。
【0023】本明細書において、用語「厳密に一度の意
味(exactly once semantics)」は、システム内の各ト
ランザクションが一度だけ作用を受ける(act upon)こ
とが好ましい状況のことを指す。一般に、トランザクシ
ョンが全く実行されない(すなわちゼロオカレンス)
か、または2回以上実行される場合には、誤り状況が存
在する。
【0024】好ましい実施形態では、送信元はトランザ
クションの状態に関する通信を行うための関連したエー
ジェントチップを有するコンピュータプロセッサであっ
てもよく、これによりそのような通信のためのクリティ
カルパスからプロセッサを除く。好ましい実施形態で
は、宛先は、他の装置とのトランザクションに関係する
通信を処理するためのエージェント装置を有することが
好ましいメモリボードまたは他のデータ記憶装置であ
る。データ記憶装置のための1つの可能なエージェント
装置のタイプは、宛先メモリコントロールである。送信
元サイトおよび宛先サイトはいずれも、トランザクショ
ンがネットワーク内でアクティブである間、当該トラン
ザクションの状態に関する情報を保存するためのデータ
ベースを備えることが好ましい。
【0025】好ましい実施形態では、送信元サイトおよ
び宛先サイトに含まれるエージェント装置は、信頼でき
ないネットワークを介したトランザクションの配信を確
実にするように動作する。そのような保守機能のために
エージェント装置を使用すると、トランザクション通信
の監視という処理の負荷を軽減することによって、送信
元装置および宛先装置の効率が改善される。ネットワー
クにおいてアクティブなトランザクションを識別する情
報と、これらのトランザクションの状態とを格納するた
めに、送信元サイトおよび宛先サイトにデータベースを
備えることが好ましい。これらのデータベースのデータ
記憶位置は特定のトランザクションのために一時的に使
用され、無限に再利用可能であることが好ましい。新し
いトランザクションが生成されるとき、そのトランザク
ションに関連するエントリは1つあるいは複数のデータ
ベースに格納され、ネットワークにおいてそのトランザ
クションがアクティブでなくなるまで、そのトランザク
ションを参照するために使用され続けることが好まし
い。トランザクションの完了時に、そのトランザクショ
ンのためのエントリは、新しいトランザクションについ
て再利用するために解放されることが好ましい。これに
より本発明のデータエントリメカニズムは、トランザク
ションの終了時に装置のエントリを解放し、新しいトラ
ンザクションの開始時にそれらを再度割り当てることに
よって、連続的なトランザクションの無限のストリーム
を有限数のデータベースエントリに供給できることが好
ましい。何らかの理由のため、トランザクションが完了
できない場合には、関連する誤り情報を含む応答パケッ
トが、未完了のトランザクションに関係する応答を待ち
受ける任意の装置に供給されることが好ましい。未完了
のトランザクションに関係する応答を待つ装置がない場
合には、そのトランザクションに関連する誤り情報は、
未完了のトランザクションに関連するリソースを他の目
的のために用いることができるようになる前に、ローカ
ルに記録されることが好ましい。
【0026】好ましい実施形態では、トランスポート機
構(コンピュータネットワークであり得る)におけるト
ランザクションの送信元と宛先との間の通信活動を記録
し管理する本発明のメカニズムの能力に悪影響を及ぼす
ことなく、トランザクションメッセージを任意の順序で
送信元サイトが伝送し、任意の順序で宛先サイトが受信
することができる。この機能により、トランザクション
の順序付けの柔軟性が提供され、これによって、シーケ
ンス番号使用の際に一般に存在する、ネットワークの制
約が除去されることが好ましい。この機能は、トランザ
クションの固定した順序付けが一般にネットワーク活動
の制約として作用していた従来技術に対しての利点を表
しており、また特定の場合において、実行可能なトラン
ザクションを処理しないでおき、シーケンス番号の低い
トランザクションを最初に処理できるようにする。
【0027】本発明の好ましい実施形態では、送信元サ
イトまたは宛先サイトにおいてソフトウェアでのシーケ
ンス番号に対するチャネル割り当てに関連する遅延は、
前述したように各サイトにおけるエージェント装置およ
びデータベースの動作のために、不要であることが好ま
しい。さらに、ネットワーク上のトランザクションの通
信管理のためのデータベース内で一時的な再利用可能な
エントリを使用することにより、通信装置内の専用ハー
ドウェアチャネルの割当てが不要になることが好まし
い。
【0028】好ましい実施形態では、所定のタイムアウ
ト期間に送信元によって伝送されたパケットに応答する
応答パケットを送信元が受信しない場合、送信元はその
パケットを再伝送することが好ましい。この再伝送によ
り、同時にシステムを通って伝搬する同一の送信元が発
行した2つのメッセージが存在する可能性が生じる。こ
れが生じるのを防ぐために、送信元は送信するパケット
内にタイムスタンプを付けて送信するパケットに対して
タイムアウトしきい値を確立する。このタイムアウトし
きい値は、伝送する送信元に対してのタイムアウトしき
い値より短いのが好ましく、これにより、パケットタイ
ムアウトしきい値に達したときに、ネットワーク内の任
意の装置がネットワークからそのパケットを破棄できる
ようになる。これにより、システムはネットワークを介
して2つのパケットが同時に伝送されることが確実にな
いようにすることが好ましい。
【0029】従って、本発明の好ましい実施形態の利点
は、通信ネットワークにおいて送信元−宛先の対のため
に個別のシーケンス番号のセットを設計するという、演
算上非常に負荷の重い動作が不要になることである。
【0030】本発明の好ましい実施形態のさらなる利点
は、トランザクションの強制的な順序付けを必要とせ
ず、これにより受信される順序でトランザクションを宛
先装置において効率的に処理できることである。
【0031】本発明の好ましい実施形態のさらに別の利
点は、トランザクションの通信を管理するために、予め
割り当てられたハードウェアチャネルが必要とされない
ことである。
【0032】本発明の好ましい実施形態のさらに別の利
点は、従来技術のシーケンス番号特定システムを用いた
場合よりも、ネットワーク内のトランザクションの状態
に関してより高い確実性が提供されることである。
【0033】以下に開示される概念および特定の実施形
態は、本発明と同じ目的を実行するために他の構造を変
更したり、あるいは設計したりするための基本原理とし
て容易に利用できることを当業者は理解されたい。
【0034】
【発明の実施の形態】図3は、本発明の好ましい実施形
態による宛先メモリコントロール装置305を用いるト
ランザクション方式を示す。好ましい実施形態では、送
信元エージェント302はプロセッサ301に関連す
る。要件データベース303は、送信元エージェント3
02と協動し、トランザクションの状態およびトランザ
クションデータパケットを格納することが好ましい。ネ
ットワーク304は一般に多数送信元、多数宛先のコン
ピュータネットワークであるが、代替的に、1つの送信
元装置と1つの宛先装置との間に介在する、ルータのよ
うな1つの装置であってもよい。さらに別の実施形態で
は、ネットワーク304はローカルエリアネットワーク
またはワイドエリアネットワークであってもよい。
【0035】好ましい実施形態では、連想記憶装置(Co
ntent addressable Memory:CAM)306は、そのエ
ントリの任意の1つに外部装置が書き込みできるメモリ
装置である。送信元装置または外部装置の識別、および
対象とするトランザクションの識別を与えられるとき、
メモリコントロール305が与えられたトランザクショ
ン識別とCAM306内の全ての現時点で有効なエント
リとを比較して、関係するトランザクションがCAM内
に存在するか否かを判定する機能をCAM306が備え
ていることが好ましい。CAM306は、ネットワーク
300において現在アクティブなトランザクションに関
する情報を格納するためのデータベースとして動作する
ことが好ましい。
【0036】好ましい実施形態では、プロセッサ301
はメモリボード311とのトランザクションを行うよう
に動作し、そのトランザクションはメモリ読出し動作あ
るいはメモリ書込み動作の場合がある。送信元サイトに
おける送信元エージェント302およびデータベース3
03、および宛先サイトにおけるメモリコントロール3
05およびCAM306は、トランザクションを管理
し、また進捗状況データとトランザクションの状態を保
存するように動作して、待ち時間を最小にし、トランザ
クションステップの重複を避け、さらに任意の時点でシ
ステム300において未完了の全てのトランザクション
の状態に関する明確な情報をシステム300が所有でき
るようにする。
【0037】代替的に、送信元302および宛先305
の装置はそれぞれプロセッサおよびメモリである必要は
ないが、ある範囲のデータ記憶装置およびデータ処理装
置を含む場合がある。例えば、読出し、書込み、または
他の演算を含むプロセッサ間トランザクションは、本発
明のメカニズムを適用するのに適している。別の実施形
態では、メモリボードおよびプロセッサのいずれも、図
3の構成における送信元あるいは宛先のいずれかである
ことができる。
【0038】好ましい実施形態では、一連の4つのトラ
ンザクションメッセージあるいはパケットが、システム
300内の適当な点において各トランザクションのため
の状態を確立するために、送信元エージェント302と
メモリコントロール305との間で通信される。4つ未
満または4つより多い別の数のトランザクションを用い
て本発明のメカニズムの機能を実行することもでき、全
てのそのような変形が本発明の範囲内にあることは理解
されよう。個々のトランザクションパケットが2度以上
発行または受信されることもできるが、本発明のプロト
コルによって、種々のトランザクションパケットによっ
て実施されるトランザクションは1度だけ実行されるこ
とが確実になることが好ましい。
【0039】図4は、本発明の好ましい実施形態による
4つのトランザクションメッセージのうちの第1のメッ
セージの伝送を示す。以下の説明では、図3および図4
の両方が参照される。送信元エージェント302は、ネ
ットワーク304を介して予約要求307をメモリコン
トロール305に送信することが好ましい。予約要求3
07は、プロセッサチップ301に代わって送信元エー
ジェント302によって要求されているトランザクショ
ンを記述する情報と、メモリコントロール305へのト
ランザクションを識別するためのトランザクション識別
とを含むことが好ましい。予約要求307はさらに、要
求307が遭遇するネットワーク304内の任意の装置
に対し、予約要求307がエージェント302によって
伝送された時刻を特定するためのタイムスタンプ402
を含むことが好ましい。タイムスタンプ402に組み込
まれた情報によって、タイムスタンプ402の示す時刻
に開始する所定の期間(パケットタイムアウト期間)の
経過時に、システム内の任意の装置が予約要求307を
システムから破棄できるようにすることが好ましい。
【0040】好ましい実施形態では、エージェント30
2は、予約要求307の伝送からの経過時間を記録する
ための計時機能401を含む。エージェント302は、
予約要求307の伝送の事実と時刻とをデータベース3
03に記録することが好ましい。予約要求307の伝送
により、エージェント302内のタイマ401が始動
し、予約要求307の伝送の所定の期間内に予約応答3
08が受信されるか否かを判定する。エージェント30
2において予約応答308を受信しないうちに、送信元
エージェントタイムアウト期間が経過すると、エージェ
ント302は予約要求307を再伝送する。システムか
ら予約要求307を破棄するためのタイムアウト期間
は、予約要求を再伝送するためにエージェント302に
おいて確立される期間より短いことが好ましく、これに
よって重複の予約要求が送信される前に、任意の前の予
約要求パケットがシステムから破棄されていることが確
実になる。このようにして、本発明のメカニズムは、同
時にネットワーク304を介して伝送される同じトラン
ザクションに関係する2つ以上の予約要求が存在しない
ことを確実にするように動作することが好ましい。
【0041】好ましい実施形態では、宛先メモリコント
ロール305が予約要求307を受信するとき、メモリ
コントロール305は、予約要求307に対応するエン
トリがCAM306内に予め存在しているか否かを判定
することが好ましい。CAM306内に対応するエント
リが存在しない場合には、メモリコントロール305
は、予約要求307が初めてメモリコントロール305
において受信されていると結論することが好ましい。こ
の場合、予約要求307に関連するトランザクション
は、メモリ311にデータを書き込むか、あるいはメモ
リ311からデータを読み出すことにより行われること
が好ましい。
【0042】好ましい実施形態では、予約要求307に
対応するエントリがCAM306において見出される場
合、メモリコントロール306は、予約要求307が再
送動作の結果であるものと結論することが好ましい。一
般に、この場合メモリコントロール305に対して少な
くとも2つの選択肢が使用可能である。予約要求307
が重複であるパケットに応答して生成される予約要求
が、CAM306に完全に格納される場合には、コント
ロール305は、予約要求307に応答して、予約応答
308として格納された予約応答を再伝送する。例え
ば、関係するトランザクションが読出し動作であり、そ
の読出し動作からのデータがCAM306に格納されな
い場合には、コントロール305は、関係する読出し動
作に対応するメモリボード307からデータを取得し、
送信元302への予約応答308の一部としてこのデー
タを伝送する。
【0043】好ましい実施形態では、読出し動作から得
られたデータは、CAM306に自動的には格納されな
い。しかし、読出しトランザクションがネットワーク内
で依然としてアクティブであり、その読出し動作におい
て読み出されるメモリ記憶位置が将来の書込み動作ある
いは他の演算手順によって消去される見込みの場合に
は、コントロール305は、そのメモリ記憶位置(それ
は直ちに上書きされることになる)からCAMにデータ
をロードし、その読出しトランザクションに関連する1
つまたは複数の連続する予約要求がコントロール305
によって受信されるときに利用可能であるようにするこ
とが好ましい。
【0044】図5は、本発明の好ましい実施形態による
4つのトランザクションメッセージのうちの第2のメッ
セージの伝送を示す。以下の説明では、図3および図5
の両方が参照される。図5は、ネットワーク304を介
したメモリコントロール305によるエージェント30
2への予約応答308の伝送を示す。予約要求307に
応答して予約応答308を生成することは、応答に関連
するデータを生成するステップと、予約応答パケットを
形成するために適当なトランザクション識別子とこの応
答データとを組み合わせるステップと、最後に、予約応
答308を送信するステップとを含む。
【0045】好ましい実施形態では、予約応答データは
トランザクションに依存する。メモリ「読出し」動作の
場合には、予約応答データは、予約要求307に含まれ
る「読出し」トランザクションの結果として、メモリま
たはメモリボード311から取得されるデータを含むこ
とが好ましい。メモリ「書込み」動作の場合には、一般
に送信元エージェント302に返送されるデータはな
い。従って書込み動作に応答する予約応答は、要求され
た書込み動作が成功したという確認応答を含むことが好
ましいであろう。一旦予約応答が準備されれば、それは
CAM306に格納され、解放要求パケットがメモリコ
ントローラ305によって受信されるまで残されること
が好ましい。
【0046】好ましい実施形態では、予約要求に応答す
る予約応答がCAMに存在しない場合には、予約応答3
08が生成され、前述のようにネットワーク304を介
してエージェント302に伝送される。予約要求に対応
する予約応答がCAM内に存在し、重複の予約要求が受
信されたことを示す場合には、既に格納されている予約
応答がエージェント302に伝送されることが好まし
い。この既に存在する予約応答を伝送するために、最低
限の演算しか必要とされないことが好ましい。
【0047】メモリコントロール305が、CAM30
6において予約応答308を見つけるか、またはそのた
めに必要とされる情報を生成した後に、メモリコントロ
ール305は、図5とともに説明したように、送信元エ
ージェント302に予約応答を伝送することが好まし
い。この説明の便宜上、送信元エージェント302は、
送信元エージェント302内のタイマ401が経過する
前に、完全な予約応答を受信すると仮定する。タイマ4
01は、予約応答308が応答する予約要求307の伝
送からの経過時間をカウントすることが好ましい。シス
テムによって破棄された予約要求パケットおよび予約応
答パケットへのシステムの応答が、この応用において後
に説明される。
【0048】好ましい実施形態では、エージェント30
2による予約応答308の受信は、エージェント302
によって元々伝送された予約要求に含まれていたトラン
ザクションの状態をエージェント302に通知すること
が好ましい。予約応答308は、トランザクション読出
し動作またはトランザクション書込み動作の実行が成功
したことを示すことが好ましい。しかしながら代替的
に、予約応答308は、メモリ読出し動作またはメモリ
書込み動作が失敗したことを示す情報を含むこともでき
る。さらに、メモリコントロール305は、失敗したト
ランザクションに関連する詳細、およびその問題を訂正
するために利用可能なオプションを、選択的に予約応答
308に挿入することができる。好ましい実施形態で
は、成功したトランザクションの実行から生じる予約応
答308は、送信元エージェント302に、最終的にプ
ロセッサ301にデータを返送する。
【0049】好ましい実施形態では、送信元エージェン
ト302は、受信した予約応答308を有しており、予
約要求307に関連するトランザクションに関係するC
AM306に格納されたデータが消去されることをメモ
リコントロール305に通知するように動作して、新し
い予約要求での使用のためにCAM内の空間を解放する
ことが好ましい。解放されたCAM空間は、ネットワー
ク304に接続される任意のプロセッサから発生する予
約要求のために使用されることができ、送信元エージェ
ント302からのみのそのような要求を格納することに
限定されないことは理解されよう。
【0050】図6は、本発明の好ましい実施形態による
4つのトランザクションメッセージの第3のメッセージ
の伝送を示す。以下の説明では、図3および図6の両方
が参照される。図6は、ネットワーク304を介する送
信元エージェント302からの解放要求309の伝送を
示す。
【0051】好ましい実施形態では、エージェント30
2による解放要求の伝送は、エージェント302および
プロセッサ301が、予約要求307によって送信され
たトランザクションを終了したものとみなし、この場合
CAMメモリ306を含む宛先サイトにおいて完了した
トランザクションに関係する格納された情報がもはや必
要でないことを知らせる。従ってメモリコントロール3
05は解放要求309を受信するとき、そのトランザク
ションに関係するCAM306内のエントリをクリアす
ることが好ましい。
【0052】好ましい実施形態では、予約要求307の
伝送の場合のように、送信元エージェント302内のタ
イマ401は、解放要求309の伝送からの経過時間を
カウントするように動作する。タイマ401が再伝送し
きい値に達する前に、解放応答310が受信される場合
には、タイマはリセットされ、再伝送が発生しないこと
が好ましい。しかし、送信元エージェント302におい
て解放応答310を受信する前にタイマしきい値に達す
る場合には、送信元エージェント302は解放要求30
9を再伝送することが好ましい。他の動作をしないと、
再伝送動作は、2つの同一の解放要求が同時にシステム
内に伝送する可能性を解決しないままになる。
【0053】従って好ましい実施形態では、解放要求の
伝送から所定の期間が経過した後、解放要求が「タイム
アウト」し、システムから破棄されるようにするため
に、システム内に計時メカニズムが実装される。予約要
求とともに説明したように、ネットワーク304内を伝
搬する際に解放要求と遭遇する場合がある多数の装置に
よって読み出されることができるタイムスタンプ601
が解放要求309に含まれることが好ましい。解放要求
パケットタイムアウト期間が経過した場合、これらの装
置のうちの任意の装置が、現在時刻を保持し、システム
から解放要求309を除くために、読出しを行なえるこ
とが好ましい。
【0054】好ましい実施形態では、送信元エージェン
ト302が再伝送要求を発行する前に解放要求が「タイ
ムアウト」することを確実にするために、システム装置
がシステムから解放要求を破棄するタイムアウトしきい
値は、送信元エージェント302が解放要求の再伝送を
知らせるために用いるタイムアウトしきい値より短いこ
とが好ましい。
【0055】図7は、本発明の好ましい実施形態による
4つのトランザクションメッセージのうちの第4のメッ
セージの伝送を示す。以下の説明では、図3および図7
の両方が参照される。メモリコントロール305は、エ
ージェント302にネットワーク304を介して解放応
答310を送信することが好ましい。
【0056】好ましい実施形態では、メモリコントロー
ル305による解放応答310の伝送は、好ましくは4
つのトランザクションメッセージの目的であるトランザ
クションが完了し、このトランザクションのためのCA
Mエントリが解放されており、それによって新しい予約
要求のためにCAM306内の空間が自由に使えること
を示す。解放応答310を受信すると、送信元エージェ
ント302はそのトランザクションが正常に終了したと
適切に判断し、データベース303内の完了したトラン
ザクションに対応するエントリの削除に取りかかること
が好ましい。
【0057】好ましい実施形態では、予約応答308が
送信元エージェント302に配信されるとき、送信元エ
ージェント302はトランザクションの所望の結果を受
信する。送信元エージェント302は、プロセッサ30
1に適時にこの情報を通信することが好ましい。続い
て、第3および第4のトランザクションメッセージ、す
なわち解放要求および解放応答が、それぞれ後続の動作
により、それぞれの位置におけるトランザクションの状
態をメモリコントローラ305および送信元エージェン
ト302に適切に通知し、またデータベース303(送
信元エージェント側)およびCAM306(宛先メモリ
コントロール側)において一時的に割り当てられた記憶
空間を解放する。トランザクションメッセージの管理の
ために送信元エージェント302を使用し、データベー
ス303内のエントリを入力および削除することによ
り、プロセッサ301は、通信およびデータベース管理
タスクに負荷をかけられることなく、受信したデータに
関する動作を実行することに集中できるようになり、好
ましく有益である。
【0058】好ましい実施形態では、完了したトランザ
クションのためのデータベースおよびCAMエントリの
削除、および両方向の状態情報の関連する通信を含む、
プロセッサ以外の装置によるサービスの提供は、プロセ
ッサ効率を高め、処理および通信の待ち時間を低減す
る。エージェント302およびメモリコントロール30
5にタスクを委譲することによって得られる処理の待ち
時間の改善(低減)は、処理時間がチャネルの割当てと
送信元−宛先の対の両側におけるシーケンス番号付与シ
ステムの確立とに費やされている従来技術のシーケンス
番号システムを用いては一般に実現することはなかった
であろう。従って、本発明のアプローチは、従来技術の
システムに比較して大きな待ち時間上の利点を提供す
る。
【0059】一般に、ネットワーク304のような信頼
できないネットワークを介して伝送されるパケットは、
失われたり、エラーを含んだり(corrupted)すること
がある。好ましい実施形態では、ネットワークの信頼性
がない問題およびそれに関連するパケットが失われる可
能性は、予約要求および解放要求の両方の送信元におい
てタイムアウトを使用し、かつ予約要求パケット307
および解放要求パケット309の両方にタイムスタンプ
を挿入することによって処理されることが好ましい。送
信元エージェント302における相互作用(interactio
n)タイムアウトおよびパケット内のタイムスタンプを
用いたシステム内の分散した位置で生じるタイムアウト
は、既に詳細に説明されており、ここでは詳細には繰り
返さない。送信元エージェント302内のタイマがパケ
ットの再伝送を起動するとき、タイムスタンプに対する
現在時刻およびパケットに含まれるタイムアウト期間を
チェックするために、タイムスタンプとネットワーク3
04内で分散した装置の能力とを組み合わせることによ
り、「タイムアウト」したパケットがシステムから破棄
されるように動作する。システムを移動しているパケッ
トのタイムアウトしきい値は、前に送信されたパケット
の再伝送を起動するためにエージェント302によって
用いられるタイムアウトより短く設定されることが好ま
しい。
【0060】好ましい実施形態では、送信元エージェン
ト302はタイマを用いて、予想される応答を受信しな
かった場合にメッセージをいつ再伝送するかを判定す
る。また送信元エージェント302は、要求が所定の期
間内に宛先メモリコントロール305に達しなかった場
合に、システムからこれらのパケットを破棄できるよう
にするため、予約要求307および解放要求309の両
方にタイムスタンプを含ませる。好ましい実施形態で
は、メモリコントロール305は、エージェント302
に伝送されるメッセージのために同様の計時動作を実行
しない。さらに、メモリコントロール305は、予約応
答308および解放応答310にタイムスタンプを含ま
せないことが好ましい。しかし、別の実施形態では、メ
ッセージが伝送されてから経過した時間をカウントする
プロセスは、メモリコントロール305のみによって、
または送信元エージェント302およびメモリコントロ
ール305の両方によって、実行されることができるこ
とは理解されよう。さらに別の実施形態では、メモリコ
ントロール305は、予約応答308および解放応答3
10のためのパケットにタイムスタンプを含ませること
ができ、全てのそのような変形は本発明の範囲内に含ま
れる。
【0061】好ましい実施形態では、受信元あるいはエ
ージェントからのパケットの前の伝送から所定の期間が
経過した後に、伝送したパケットに応答するパケットを
受信するはずであるが、まだ受信していないことをエー
ジェント302の論理が示すとき、エージェント302
はパケットを再伝送する。送信元エージェント302
は、前に送信したパケットがシステムから失われたと仮
定して、関連するパケットを再伝送することが好まし
い。一般に、失われたパケットのシステムへの影響は、
4つのトランザクション通信パケットのうちのどのパケ
ットが失われたかに依存する。
【0062】好ましい実施形態では、予約要求がメモリ
コントロール305へ向かう途中で失われた場合、エー
ジェント302は、そのスケジュールに従ってタイムア
ウトし、データベース303にアクセスすることにより
重複した予約要求を再伝送することが好ましい。エージ
ェント302は予約要求を2回だけ送信することに限定
されず、この最初のトランザクションパケットの伝送の
完了を確実にするのに必要とされる回数だけ伝送を繰り
返すことができる。しかし、1つあるいは2つのパケッ
トの損失はシステム300内の一時的な問題で説明でき
るが、エージェント302は、その値を越えるとネット
ワークが永久的な障害を含むとみなす、失敗した伝送の
数のしきい値を設定して、必要とされるパケットの伝送
を達成する別の方法を構成するよう機能することもでき
る。
【0063】好ましい実施形態では、メモリコントロー
ル305がCAM306内に見出されないトランザクシ
ョンを表す予約要求を受信する場合、コントロール30
5は、着信するパケットを最初の予約要求伝送として取
り扱い、CAM306内に新しいエントリを確立し、予
約要求パケットに応答する予約応答を生成することが好
ましい。メモリコントロール305がCAM306に見
出されるトランザクションを表す予約要求を受信する場
合、メモリコントロール305は、現在要求されている
トランザクションに対応する予約応答が生成され伝送さ
れたが、システムから失われたと結論することが好まし
い。従って、重複した予約要求に応答する新しい予約応
答を生成する必要がないことが好ましい。メモリコント
ロール305は元の予約応答によって格納された情報を
有する重複の予約応答を生成することが好ましい。好ま
しい実施形態では、上述の論理は、送信元エージェント
302による解放要求309の送信およびそれに応答す
るパケット、すなわち解放応答310にも同様に当ては
まる。この場合、その論理は一般に反対になる。全くパ
ケットが失われずに最初の解放要求309を受信したと
き、解放要求309によりメモリコントロール305は
関係するトランザクションについてのCAM306内の
エントリを削除するため、解放要求に関連するトランザ
クションに対応するエントリは存在しないはずである。
【0064】従って好ましい実施形態では、CAM30
6内にエントリを有する解放要求309が受信される
と、メモリコントロール305はその解放要求309を
最初の伝送であるとみなし、CAM306内の関係する
エントリを削除するように適切に機能し、解放応答31
0を生成することが好ましい。メモリコントロール30
5に達する前に解放要求パケットが失われた場合には、
メモリコントロール305は、前述のように、解放要求
パケットが最初の伝送であると解釈することが好まし
い。
【0065】CAM306内のエントリと一致しない解
放要求を受信する場合には、メモリコントロールは、解
放要求309を重複した伝送であるとみなし、解放応答
310を生成しネットワーク304を介してエージェン
ト302に伝送することが好ましい。解放要求がCAM
306内のどのエントリとも一致しない場合、CAM3
06内には削除するのに適したエントリが存在しないこ
とは理解されよう。その後メモリコントロール305
は、解放応答310を生成しネットワーク304を介し
てエージェント302に送信することが好ましい。前述
のイベントのシーケンスは、エージェント302に達す
る前に失われた前の解放応答310と一致する。
【0066】さらに説明の便宜上、プロセッサおよびメ
モリは全般に「マスタ」装置と呼称し、送信元エージェ
ントおよび宛先メモリコントロールは「サーバント」装
置と呼称する。本発明の原理は、マスタ装置およびスレ
ーブ装置がハードウェア構成要素であるように限定され
ない。マスタ装置は代替的に、選択したタスクを「サー
バント」プログラムまたはサブルーチンに委譲するソフ
トウェア・プログラムであってもよく、それぞれのクリ
ティカルパスから委譲されたタスクを取り除いて、より
効率的に実行するようにもできる。同様に、サーバント
装置は、メインプログラムに仕え、各メインプログラム
を一定の時間を要するタスクから解放するように動作す
るプログラムあるいはサブルーチンであってもよい。マ
スタおよびサーバントソフトウェア構成要素は、ハード
ウェアのマスタ装置およびサーバント装置とともに前述
したように、トランザクション結果を保存しトランザク
ションパケットメッセージの状態を格納するための同様
のプロトコルを実装することが好ましい。
【0067】図8は、本発明の好ましい実施形態によ
る、多数の送信元装置および宛先装置を有し、順序付け
がなく信頼できないネットワーク上で通信がルーティン
グされるネットワークを示す。図8は、プロセッサ80
1に関連するエージェント803およびプロセッサ80
2に関連するエージェント804を示す。エージェント
803と804との間に丸印の列は、関連するプロセッ
サを有する複数のさらに別のエージェントが存在するこ
とを示すように意図されている。同様に、メモリコント
ロール805および806はそれぞれ、メモリボード8
07および808に関連する。種々のエージェントおよ
びメモリコントロールは一般に全てネットワーク304
に接続される。以下の説明では、エージェントおよびプ
ロセッサの組み合わせは、ネットワーク800上の離れ
た位置からトランザクションを要求するために動作する
とき一般に送信元サイトと呼称され、メモリコントロー
ルおよびメモリボードの組み合わせは、リモート送信元
サイトから受信したトランザクション要求を提供するよ
うに動作するとき一般に宛先サイトと呼称される。
【0068】好ましい実施形態では、図3乃至図7とと
もに説明したように、送信元によって要求され、宛先に
おいて実行され、好ましくは一連の4つのトランザクシ
ョンパケットまたはメッセージを介して実施されるトラ
ンザクションは、一般にネットワーク800を介して接
続される任意の送信元−宛先の組み合わせ間で完了する
ことができる。例えば、100個の送信元サイトと10
0個の宛先サイトがある場合、一般に10000個の異
なる送信元−宛先の対が利用可能である。送信元−宛先
の対の一実施形態は、プロセッサを備える送信元とメモ
リボードを備える宛先とを含むことができるが、送信元
サイトはプロセッサを有するよう限定されず、また宛先
サイトはメモリあるいはメモリボードを有するよう限定
されないことは理解されよう。別の実施形態では、関連
する装置を備えるプロセッサと、関連する装置を備える
メモリボードとは両方とも、送信元サイトまたは宛先サ
イトのいずれかとして動作することができるが、全ての
そのような変形は本発明の範囲内に含まれる。
【0069】本発明およびその利点を詳細に説明してき
たが、本発明の精神および範囲から逸脱することなく、
種々の変更、代替および修正を実施できることは理解さ
れよう。
【0070】本発明には例として以下の実施態様が含ま
れる。
【0071】(1)送信元サイトと宛先サイトとを有す
るネットワーク(304)においてトランザクションを
実行するための方法であって、前記送信元サイトから前
記宛先サイトへ最初のトランザクション要求メッセージ
を伝送するステップと、前記宛先サイトにおいて前記ト
ランザクション要求メッセージを受信するステップと、
宛先データベース(306)において前記トランザクシ
ョンとデータエントリとの関連を確立するステップと、
前記トランザクションが前記ネットワーク内でアクティ
ブである限り、前記宛先データベースに前記トランザク
ションと前記データエントリとの前記関連を保存するス
テップと、を含む方法。
【0072】(2)前記宛先サイトにおいて前記トラン
ザクションを実行し、それによりトランザクション結果
を生成するステップをさらに含む上記(1)に記載の方
法。
【0073】(3)将来の(prospective)動作がメモ
リボード内の前記トランザクション結果を無効にすると
見込まれる場合に、前記宛先データベース(306)内
に前記トランザクション結果を格納し、それによって前
記宛先サイトにおいてさらに予約要求メッセージ(30
7)を受信する場合、前記トランザクション結果を再伝
送できるようにするステップをさらに含む上記(2)に
記載の方法。
【0074】(4)前記ネットワーク上で前記送信元サ
イトに前記トランザクション結果を伝送するステップを
さらに含む上記(2)に記載の方法。
【0075】(5)送信元サイトタイムアウト期間内
に、前記送信元サイトにおいて前記宛先サイトから応答
を受信しない場合、別のトランザクション要求メッセー
ジ(307)を伝送するステップをさらに含む上記
(1)に記載の方法。
【0076】(6)前記トランザクション要求メッセー
ジが要求メッセージタイムアウト期間(401)内に前
記宛先サイトに到達しない場合、前記最初のトランザク
ション要求メッセージを前記ネットワークから削除する
ステップをさらに含み、前記送信元サイトタイムアウト
期間は前記要求メッセージタイムアウト期間より長く、
前記ネットワークを介して2つのトランザクション要求
メッセージが同時に伝送されるのを防ぐ上記(5)に記
載の方法。
【0077】(7)重複したトランザクション要求メッ
セージの受信時に、前記トランザクションのために確立
された前記宛先データベース(306)内の前記データ
エントリを識別するステップと、前記トランザクション
結果を取得するステップと、前記送信元サイトに前記取
得されたトランザクション結果を再伝送するステップ
と、をさらに含む上記(4)に記載の方法。
【0078】(8)前記取得するステップは、前記宛先
データベース(306)から前記トランザクション結果
を回収するステップを含む上記(7)に記載の方法。
【0079】(9)前記取得するステップは、前記重複
したトランザクション要求メッセージに応答して前記ト
ランザクションを実行し、それにより前記トランザクシ
ョン結果を生成するステップを含む上記(7)に記載の
方法。
【0080】(10)前記送信元サイトにおいて前記伝
送されたトランザクション結果を受信するステップと、
前記送信元サイトから前記宛先サイトへ解放要求(30
9)を伝送し、前記宛先データベース(306)内の前
記トランザクションに関連する前記データエントリを削
除するステップと、をさらに含む上記(4)に記載の方
法。
【図面の簡単な説明】
【図1】多数送信元、多数宛先のネットワークを示す図
である。
【図2】専用のチャネルが各宛先装置をエージェント装
置にリンクする、エージェント装置および2つの別個の
宛先装置を示す図である。
【図3】本発明の好ましい実施形態による宛先メモリコ
ントロール装置を用いるトランザクション方式を示す図
である。
【図4】本発明の好ましい実施形態による4つのトラン
ザクションメッセージのうちの第1のメッセージの伝送
を示す図である。
【図5】本発明の好ましい実施形態による4つのトラン
ザクションメッセージのうちの第2のメッセージの伝送
を示す図である。
【図6】本発明の好ましい実施形態による4つのトラン
ザクションメッセージのうちの第3のメッセージの伝送
を示す図である。
【図7】本発明の好ましい実施形態による4つのトラン
ザクションメッセージのうちの第4のメッセージの伝送
を示す図である。
【図8】本発明の好ましい実施形態による、順序付けの
ない信頼できないネットワーク上で通信がルーティング
される、複数の送信元装置および宛先装置を有するネッ
トワークを示す図である。
【符号の説明】
301 プロセッサ 304 ネットワーク 306 宛先データベース(予約CAM) 307 予約要求(トランザクション要求メッセ
ージ) 309 解放要求 311 メモリボード

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 送信元サイトと宛先サイトとを有するネ
    ットワークにおいてトランザクションを実行するための
    方法であって、 前記送信元サイトから前記宛先サイトへ最初のトランザ
    クション要求メッセージを伝送するステップと、 前記宛先サイトにおいて前記トランザクション要求メッ
    セージを受信するステップと、 宛先データベースにおいて前記トランザクションとデー
    タエントリとの関連を確立するステップと、 前記トランザクションが前記ネットワーク内でアクティ
    ブである限り、前記宛先データベースに前記トランザク
    ションと前記データエントリとの前記関連を保存するス
    テップと、 を含む方法。
JP2001050405A 2000-03-09 2001-02-26 トランザクション実行のためのプロトコル Expired - Lifetime JP4723102B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/521,827 US7249192B1 (en) 2000-03-09 2000-03-09 Protocol for insuring exactly once semantics of transactions across an unordered, unreliable network
US09/521827 2000-03-09

Publications (3)

Publication Number Publication Date
JP2001306506A true JP2001306506A (ja) 2001-11-02
JP2001306506A5 JP2001306506A5 (ja) 2008-03-21
JP4723102B2 JP4723102B2 (ja) 2011-07-13

Family

ID=24078325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001050405A Expired - Lifetime JP4723102B2 (ja) 2000-03-09 2001-02-26 トランザクション実行のためのプロトコル

Country Status (2)

Country Link
US (1) US7249192B1 (ja)
JP (1) JP4723102B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463960B2 (en) * 2011-08-08 2013-06-11 Arm Limited Synchronisation of data processing systems
US9817786B1 (en) * 2015-06-26 2017-11-14 Amazon Technologies, Inc. Ingress data placement
US20170330147A1 (en) * 2016-01-07 2017-11-16 SYKES Enterprises Incorporated System and method of analysis and recommendation for distributed employee management and digital collaboration
US11599541B2 (en) 2016-09-26 2023-03-07 Splunk Inc. Determining records generated by a processing task of a query
US11416528B2 (en) 2016-09-26 2022-08-16 Splunk Inc. Query acceleration data store
US10956415B2 (en) 2016-09-26 2021-03-23 Splunk Inc. Generating a subquery for an external data system using a configuration file
US11562023B1 (en) 2016-09-26 2023-01-24 Splunk Inc. Merging buckets in a data intake and query system
US10353965B2 (en) 2016-09-26 2019-07-16 Splunk Inc. Data fabric service system architecture
US11250056B1 (en) 2016-09-26 2022-02-15 Splunk Inc. Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system
US11281706B2 (en) 2016-09-26 2022-03-22 Splunk Inc. Multi-layer partition allocation for query execution
US11294941B1 (en) 2016-09-26 2022-04-05 Splunk Inc. Message-based data ingestion to a data intake and query system
US11321321B2 (en) 2016-09-26 2022-05-03 Splunk Inc. Record expansion and reduction based on a processing task in a data intake and query system
US11580107B2 (en) 2016-09-26 2023-02-14 Splunk Inc. Bucket data distribution for exporting data to worker nodes
US20180089324A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Dynamic resource allocation for real-time search
US11232100B2 (en) 2016-09-26 2022-01-25 Splunk Inc. Resource allocation for multiple datasets
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11442935B2 (en) 2016-09-26 2022-09-13 Splunk Inc. Determining a record generation estimate of a processing task
US11461334B2 (en) * 2016-09-26 2022-10-04 Splunk Inc. Data conditioning for dataset destination
US11269939B1 (en) 2016-09-26 2022-03-08 Splunk Inc. Iterative message-based data processing including streaming analytics
US11593377B2 (en) 2016-09-26 2023-02-28 Splunk Inc. Assigning processing tasks in a data intake and query system
US11586627B2 (en) 2016-09-26 2023-02-21 Splunk Inc. Partitioning and reducing records at ingest of a worker node
US11567993B1 (en) 2016-09-26 2023-01-31 Splunk Inc. Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11615104B2 (en) 2016-09-26 2023-03-28 Splunk Inc. Subquery generation based on a data ingest estimate of an external data system
US11663227B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Generating a subquery for a distinct data intake and query system
US11874691B1 (en) 2016-09-26 2024-01-16 Splunk Inc. Managing efficient query execution including mapping of buckets to search nodes
US11550847B1 (en) 2016-09-26 2023-01-10 Splunk Inc. Hashing bucket identifiers to identify search nodes for efficient query execution
US11604795B2 (en) 2016-09-26 2023-03-14 Splunk Inc. Distributing partial results from an external data system between worker nodes
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US10896182B2 (en) 2017-09-25 2021-01-19 Splunk Inc. Multi-partitioning determination for combination operations
US11334543B1 (en) 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
WO2020220216A1 (en) 2019-04-29 2020-11-05 Splunk Inc. Search time estimate in data intake and query system
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
US11593281B2 (en) * 2019-05-08 2023-02-28 Hewlett Packard Enterprise Development Lp Device supporting ordered and unordered transaction classes
US11494380B2 (en) 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes
US20220385587A1 (en) * 2021-05-25 2022-12-01 Google Llc Acknowledgement Coalescing Module Utilized In Content Addressable Memory (CAM) Based Hardware Architecture For Data Center Networking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423042A (en) * 1992-10-23 1995-06-06 International Business Machines Corporation Remote procedure execution
US6718399B1 (en) * 1993-05-21 2004-04-06 Candle Distributed Solutions, Inc. Communications on a network
DE69430841T2 (de) * 1994-06-13 2002-10-02 Agilent Technologies Inc Verfahren und Vorrichtung zum Bestimmen der Netzwerkverzögerungen
US5774479A (en) * 1995-03-30 1998-06-30 Motorola, Inc. Method and system for remote procedure call via an unreliable communication channel using multiple retransmission timers
US5781449A (en) * 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
JP4160642B2 (ja) * 1995-09-08 2008-10-01 株式会社日立製作所 ネットワークデータ転送方法
FR2744818B1 (fr) * 1996-02-12 1998-03-27 Bull Sa Procede de verification de la conservation de l'integrite d'une requete emise sans protection par un client vers un serveur au moyen de l'integrite de la reponse
US5903721A (en) * 1997-03-13 1999-05-11 cha|Technologies Services, Inc. Method and system for secure online transaction processing
US6714976B1 (en) * 1997-03-20 2004-03-30 Concord Communications, Inc. Systems and methods for monitoring distributed applications using diagnostic information
US6105071A (en) * 1997-04-08 2000-08-15 International Business Machines Corporation Source and destination initiated interrupt system for message arrival notification
US6061772A (en) * 1997-06-30 2000-05-09 Sun Microsystems, Inc. Split write data processing mechanism for memory controllers utilizing inactive periods during write data processing for other transactions
US6345296B1 (en) * 1997-07-02 2002-02-05 Unisys Corporation Method system and computer program product for providing pull model data communication
US6178449B1 (en) * 1997-11-26 2001-01-23 International Business Machines Corporation Apparatus and method for measuring transaction time in a computer system
US6122743A (en) * 1998-03-31 2000-09-19 Siemens Information And Communication Networks, Inc. System for providing enhanced security for transactions transmitted through a distributed network
US6614894B1 (en) * 1998-06-05 2003-09-02 Inet Technologies, Inc. System and method for mass call onset detection in a communications network
US6477571B1 (en) * 1998-08-11 2002-11-05 Computer Associates Think, Inc. Transaction recognition and prediction using regular expressions
US6477559B1 (en) * 1998-08-21 2002-11-05 Aspect Communications Corporation Method and apparatus for remotely accessing an automatic transaction processing system
US6374282B1 (en) * 1998-08-28 2002-04-16 Compaq Computer Corporation Method and apparatus for tracking multi-threaded system area network (SAN) traffic
US6385642B1 (en) * 1998-11-03 2002-05-07 Youdecide.Com, Inc. Internet web server cache storage and session management system
US6598078B1 (en) * 1999-04-29 2003-07-22 Aspect Communications Corporation Method and apparatus for generating a record from a time-marked information stream
US6449739B1 (en) * 1999-09-01 2002-09-10 Mercury Interactive Corporation Post-deployment monitoring of server performance
US6779145B1 (en) * 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6570885B1 (en) * 1999-11-12 2003-05-27 International Business Machines Corporation Segment-controlled process for controlling castouts from a communication cache in a port in any of multiple nodes in a communications network
US6701363B1 (en) * 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923756A (en) * 1997-02-12 1999-07-13 Gte Laboratories Incorporated Method for providing secure remote command execution over an insecure computer network

Also Published As

Publication number Publication date
US7249192B1 (en) 2007-07-24
JP4723102B2 (ja) 2011-07-13

Similar Documents

Publication Publication Date Title
JP4723102B2 (ja) トランザクション実行のためのプロトコル
US10013390B2 (en) Secure handle for intra-and inter-processor communications
JP4017652B2 (ja) データ伝送方法およびデータ伝送装置
US7876751B2 (en) Reliable link layer packet retry
EP1323264B1 (en) Mechanism for completing messages in memory
TWI252651B (en) System, method, and product for managing data transfers in a network
US7693070B2 (en) Congestion reducing reliable transport packet retry engine
US8774203B2 (en) One-way message notification with out-of-order packet delivery
JPH06125347A (ja) メッセージ交換方法
US8792512B2 (en) Reliable message transport network
US20110078313A1 (en) Method and system for managing a connection in a connection oriented in-order delivery environment
KR100439238B1 (ko) 전송유니트간 송수신 데이터의 릴라이어블 프로토콜운용방법
JP2003288284A (ja) マルチプロセッサコンピュータアーキテクチャにおいてトランザクションを動的に再送する方法
EP1225741A1 (en) High speed interconnection for embedded systems within a computer network
JPH06252895A (ja) データ伝送方式
JPH06112972A (ja) パケット再送方式
Azevedo et al. The Reliable Multicast Library (RML) and Tangram II Whiteboard Developer Documentation
Cao et al. A message retransmission mechanism for real-time token ring networks
Perlis et al. 21. Distributed Systems
JP2002236602A (ja) モジュール故障時の分散データベースアクセス処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110407

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250