JP2837288B2 - 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法 - Google Patents
連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法Info
- Publication number
- JP2837288B2 JP2837288B2 JP3135748A JP13574891A JP2837288B2 JP 2837288 B2 JP2837288 B2 JP 2837288B2 JP 3135748 A JP3135748 A JP 3135748A JP 13574891 A JP13574891 A JP 13574891A JP 2837288 B2 JP2837288 B2 JP 2837288B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- work unit
- subtree
- tree
- unit identifier
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Description
びトランザクション処理システムに関し、より詳細には
データベースの一貫性を維持するために2相コミットと
バックアウトプロトコルを用いる分散システムに関す
る。
トランザクションプログラム(TP)が原子トランザク
ション、すなわちすべてコミット(固定化)またはすべ
てバックアウト(取消し)であるデータ更新からなる論
理的ワーク単位(LUW)を実行することを可能にする
オペレーティングシステムサービスを与えるものであ
る。原子トランザクションはここではLUWIDと呼ぶ
論理ワーク単位識別子により識別される。一つのトラン
ザクションに含まれるデータのすべてのアクセスがその
LUWIDに関連づけられる。かくして、データベース
管理プログラムはSPMにより一つのトランザクション
をコミットするように要求されると、このLUWIDを
用いて固定化されるべきデータ更新を識別する。或るデ
ータベース管理プログラムは同一のトランザクションに
関係する、すなわち同一のLUWIDを用いる2つのプ
ログラムがデータ資源に同時にアクセスしうるようにし
てプログラム間のデッドロックの発生確率を低下させて
いる。
じトランザクションに関係するすべてのプログラムが同
一のLUWIDを用い、そしてその同一のトランザクシ
ョンに関係せず、一緒にコミットしない2つのプログラ
ムは異なるLUWIDを有することになる。これは同一
のトランザクションについて一度一緒にワーキングを行
ったが、通信接続が解除されたためあるいは故障したた
め現在は接続されていないプログラムである。
各トランザクション(LUW)は、TPにより明確にス
タートされそして終了され、夫々のトランザクションに
ついての新しいLUWIDがその関連するSPMにより
そのトランザクションに含まれる他のTPのSPMへ送
られる。連鎖されないトランザクションはそれらプログ
ラムのすべてではないワークを原子トランザクションの
一部として扱う必要のある場合に用いられる。このよう
に、1つのトランザクションの終りと次のトランザクシ
ョンの明確なスタートとの間に生じるワークは協調を保
ってはバックアウトあるいはコミットされえない。ま
た、連鎖しないトランザクションの場合には、LUWI
Dを配布するためのプロトコルはそのLUWIDが常に
TPツリーすなわちプログラムが他のプログラムへの接
続をつくるときに各ブランチがつくられるツリーを流れ
下るから、プログラム間の関係が一定の階層的なものに
なる傾向がある。
TPにおけるトランザクションのエンドが本質的にその
TPにおける次のトランザクションのスタートをマーク
するものである。このように任意のTPについて次のも
のを明確にスタートさせる必要がない。連鎖トランザク
ションの場合には一つのツリー内の任意のプログラムに
より行われるすべてのワークは原子トランザクションの
一部となる。そのため、一つの新しいトランザクション
についてのLUWIDはTPによる明確なアクションま
たはSPM間で送られるメッセージを用いずに最終トラ
ンザクションについてLUWIDを増分させることによ
り明確に発生される。そのため、そのトランザクション
に含まれるプログラム間に固定された階層的関係は必要
とされない。
システムではパートナーとなるTPは通信リンクにより
接続されるシステムの異なったノードにあるいはそのシ
ステムの1つのノード内に存在しうる。これらTPはコ
ミットまたはバックアウトであるデータ更新を有するプ
ログラムのツリーを形成する。トランザクションツリー
が切り離されるときに連鎖システムに問題が生じる。サ
ブツリーは使用中の通信接続の故障または一つのTPま
たはオペレーティングシステム(OS)にその接続を異
常な形で終了させるようなエラーが検出されたときに分
離しうる。サブツリーはまた一つのTPが通常通り他の
TPへのその接続を終了しようとするとき分離されう
る。連鎖トランザクションでは切断されたサブツリー内
の、一緒にコミットしえなくなったTPが同一のLUW
IDにより進まないようにするための特別のアクション
が必要である。その理由は両側が前のトランザクション
について共用するLUWIDを増分させることによりそ
れらの次のLUWIDを通常発生するからである。これ
ら切断されたTPが同一のLUWIDで進まないように
されなかった場合にはデータ損傷が生じうる。すなわち
データはコミットされるべきものがバックアウトされ、
また、その逆も言える。
破断が生じた後に分断された二つのサブツリーのすべて
のノードを取り除くことによるものである。これはデー
タ損傷を防止するように作用するが、行わなくてはなら
ぬワークの量および接続を改造する際の結果的なシステ
ムロスという点で非常に高価なものとなる。それ故、何
らかの理由で分離されるサブツリーがツリーの完全な削
除を行うことなく異なったワーク単位識別子で進むよう
にする必要がある。
トランザクションシステム内でのワーク単位識別子の管
理方法により解決される。このシステムは一つのツリー
を形成するように論理的に接続された複数の処理ノード
を有する。通常、各ノードは各トランザクションの処理
の終了時にその現在の識別子を自動的に増加させて次の
トランザクション識別子をとり出す。しかしながら分断
されたツリーに生じる故障条件に応じて、分断の結果と
しての第1および第2サブツリー内に現在存在する分散
データベースは状態が一貫性を持つように強制させる。
トランザクション識別子は第1サブツリーのノードの夫
々において増分される。第1サブツリー内のトランザク
ションのワークはこの増分された識別子で進む。第2サ
ブツリーは捨てられる。
じて、故障でない分断により生じる第1および第2サブ
ツリー内の分散データベースは固定状態にコミットされ
る。第1サブツリーのノードの夫々におけるトランザク
ション識別子は増分される。そのとき第1サブツリー内
のトランザクションのワークは増分された識別子で進
む。新しいトランザクション識別子が発生されて第2サ
ブツリーのすべてのノードに与えられる。このとき第2
サブツリー内のトランザクションのワークはこの新しい
識別子で進む。
接続の故障またはエラーに応じたトランザクションプロ
グラムにより異常に分断されるとき、現在のトランザク
ションは元のツリーのルートノードを含むサブツリー
(以後アロケータサブツリーと呼ぶ)においてバックア
ウトされる。このサブツリーはそのままとされる。この
サブツリー内のすべてのノードはそれらのLUWIDを
増分し、正常に動作しつづける。このトランザクション
はまたこの分断の他方の側においてサブツリー、すなわ
ち非アロケータサブツリー内でバックアウトされる。し
かしながら、バックアウトプロセスにおいてノード間の
すべての接続は落とされ、それにより非アロケータサブ
ツリーを捨てる。この削除されたサブツリー内の各トラ
ンザクションプログラムは、それが行う以降のワークに
ついて使用するための新しい固有のLUWIDを発生す
る。両側でのバックアウトが必要であり、その理由は分
離されたサブツリー内のプログラムが夫々異なるLUW
IDを発生する前に新しいトランザクションについてワ
ークを開始出来るからである。それ故、分離されたサブ
ツリー内のプログラムについて同一のLUWIDでワー
クをスタートすることが可能である。これにより生じる
損傷を避けるために、両サブツリーは、このときもはや
有効でない古いLUWIDを用いたツリー破壊後に行わ
れるワークをすべてバックアウトする。
てプログラムにより分断されるとき、新しいLUWID
がサブツリーの一つにおいて発生されそしてそのサブツ
リーのすべてのメンバーに2相コミットプロトコルのフ
ローの部分として与えられる。他方のサブツリーではこ
のLUWIDは通常通りに増分される。このように両サ
ブツリーは不変のままであり異なるLUWIDで進む。
リーで故障による破断と故障によらない破断の両方が生
じる場合を自動的に処理する。これにより故障によらな
いツリー破断を処理しつつあるノードが、このツリー内
のどこかでの故障による破断の発生を示す2相コミット
フロー中のメッセージを受ける場合に故障による破断に
ついてのルールに確実に追従する。これは、複数の破断
が同一識別子で進む分離されたサブツリーを生じさせな
いようにする。
ョンについて独立してワークをスタート可能であり任意
のプログラムがコミット動作を開始させうる場合の分散
連鎖トランザクションにおける関係した更新コミットプ
ロトコルとデッドロック回避を支持するために適正なL
UWIDを使用しうるようにする。
(LUW)は、LUWが原子であるように見える形で一
つの一貫性ある状態から別の一貫性ある状態へ、一般に
はデータベースレコードである資源セットを使用するた
めに行われるアクションのシーケンスである。一つのL
UWにおいて故障が生じると、そのLUWの部分として
なされる変化は生ぜず、それ故それら資源はそのLUW
のスタート時に存在した一貫性ある状態にもどる。
ときでも原子一貫性を保証するために用いられる。基本
プロトコルは、J.N.Gray著“Notes on Database Operat
ingSystems,”published in Operating Systems - An A
dvanced Course;Lecture Notes in Computer Science;
第60巻、Springer-Verlag 社1978年刊、に示されてい
る。システム・ネットワーク・アーキテクチャ(SN
A)に用いるためのそれらプロトコルの変形がIBM
LU6.2 Reference の(Peer Protocols)(SC3
1−6808−0)に示されている。他の変形は“The
R* Distributed Database Management System”,198
6,ACM 03625915/86/1200-0378 に示されている。更に
他の変形は分散トランザクション処理についてのOSI
に関するドラフトインターナショナルスタンダード、IS
O/IEC JTC 1/SC 21 N2608 Information Processing Sys
tems - Open Systems Interconnect - Distributed Tra
nsaction Processing Part 1、 トランザクション処理モデル、ISO/IEC JTC 1/SC 21 N2
607 Information Processing Systems - Open Systems
Interconnect - Distributed Transaction Processing
Part 2、 サービス定義、ISO/IEC JTC 1/SC 21 N2608 Informatio
n Processing Systems- Open Systems Interconnect -
Distributed Transaction Processing Part 3、に夫々
示されている。
図1を参照して簡単に述べる。上記文献も合わせて参照
する。図1はノード100,102,104からなる簡
単なノードツリーを示す。ノード100と102は会話
106で接続される。ノード102と104は会話10
8で接続される。このツリーはアロケータツリーと呼ば
れる。このアロケータツリーは接続がつくられたときに
形成するプログラム間の固定された関係と呼ばれる。す
なわち、一つの接続のクリエータはそのパートナープロ
グラムよりアロケータツリーにおいて上位にある。これ
に対し、トランザクションツリーはコミットオペレーシ
ョンを開始するノードに依存して各トランザクションに
ついて変化しうる。例えば、ノード102がコミットを
スタートすると、それはそのトランザクションツリーの
ルートとなり、ノード100と104は子ノードとな
る。アロケータツリーではノード100は常にルートノ
ードであり、ノード102と104は子ノードである。
どのようにしてアロケータツリーをつくるかを次に述べ
る。ノード102がコミット動作を開始するとすると、
これはTPが2相コミット動作をスタートさせるコマン
ドを出したことを意味する。この時点でノード102は
ノード100と104にPREPARE TOCOMM
ITメッセージを送り、それによりコミットコーディネ
ータとなる。各ノード100と104は個々にその観点
において動作が満足に進んだかどうかを決定し、そして
夫々ヴォートをもどす。通常の場合には、ノード100
と104はノード102にAGREEメッセージをもど
す。ノード100と104からAGREEを受けた後
に、ノード102はノード100と104にCOMMI
Tメッセージを送り、それらノードの夫々において行わ
れたデータ変更が固定化される。FORGETメッセー
ジがこのとき、この例ではCOMMITメッセージに対
する確認としてノード102にもどされる。この時点
で、連鎖トランザクションシステムではこれらノードの
夫々がそのLUWIDを増分し、新しいワークへと進
む。ノード100または104がPREPARE TO
COMMITに対するBACKOUTレスポンスをも
どすとすると、ノード102はBACKOUTをもどさ
なかったノードにBACKOUTメッセージを送り、各
ノードはそのデータを現在のトランザクションの開始時
に存在した一貫性ある状態にもどす。次に各ノードは連
鎖システムにおいて、そのLUWIDを増分し、新しい
ワークで進む。この簡単な例はシステムにより用いられ
る特定の2相コミットプロトコルおよび使用中の特定の
トランザクションツリーにより、多くの変化を有する。
本発明に関係する他のプロトコルレスポンスを以降の説
明中に適宜説明する。
同期点処理に関係する多くの他の動作を含む。再同期化
はコミット動作中の会話の故障の検出後にSPMにより
自動的に行われるサービスである。再同期化中に、中断
に隣接する2個のSPMがそれらのサブツリーが分断さ
れてもコミットまたはバックアウトの同一アクションを
とることが出来るようにそれらSPMは情報を交換す
る。この再同期化はこの交換が完了するか手動的な介入
がそれを終了させるかするまで無期限に持続する。FO
RGETまたはBACKOUTメッセージに付加される
RIP(再同期化進行)インジケータはそのツリーに不
完全な再同期化があることを意味する。メッセージに付
加されるCEBインジケータはメッセージを流している
会話が直ちに終了されるべきことを意味する。このイン
ジケータはTPがその会話の終了を要求する場合に最後
の2相コミットメッセージ(例えばFORGET)と共
に流れる。ヒューリスティック合成メッセージは、分散
LUWに含まれるいくつかの同期点管理プログラムがそ
のLUWをバックアウトし、他の同期点管理プログラム
がそのLUWをコミットするためにデータの非一貫性が
生じたことを示す。これは、オペレータが通常の結論を
得るためにコミット動作を待たずに強制的に局部資源を
コミットまたはバックアウトさせるとき生じる。これは
例えば再同期化動作を待って大幅に遅れたTPが、重い
要求のあるシステム資源に対するロックを保持するとき
に生じうる。ヒューリスティック損傷はオペレータがこ
のように完了を強制するとき常に危険である。
U)6.2アーキテクチャについて述べるが、これに限
られるものではない。図2に示すように、このLU6.
2論理的ワーク単位識別子(LUWID)は3つの要素
すなわち、LUWIDをはじめに発生するLUの識別子
(フィールド200)、発生するLUにおいて固有の、
トランザクションインスタンス番号(フィールド20
2)、および1でスタートし各コミットまたはバックア
ウトに続くトランザクションに関係する夫々のLUにお
いて1だけ自動的に増分されるシーケンス番号(フィー
ルド204)から成る。これは上記の連鎖動作である。
により、LUWIDのLU識別フィールド200が一つ
のLUで発生されるすべてのLUWIDを他のLUで発
生されるすべてのLUWIDから区別するから、個々の
トランザクションについてのLUWIDの固有性が保証
される。本発明の好適な実施例ではトランザクション番
号は日時スタンプを用いて発生される。
なるトランザクションツリーを示す。このツリーを一部
とするネットワークは多くの他のノードを含みうる。各
ノードはSPM307、少くとも1つのトランザクショ
ンプログラム(TP)302、データベースのような資
源304、およびTP間の通信を可能にする論理ユニッ
ト(LU)306を含む。図3は各ノードに1個のTP
を示しているが、一般には1つのノードはLUを介して
すべてそれと他のノートとの間で対話し、資源トランザ
クションを行う多数のTPを含むことが出来る。資源は
局所ファイルおよび装置のようなTPにより使用するた
めのノードに使用可能なものなら何でも本質的に含むこ
とが出来る。しかしながら、ここではそのような資源は
説明の便宜上データベースであるとする。
(SYNCPT管理プログラムまたはSPM)により与
えられる通信動詞の内容を実行する。TPにより出さ
れ、それに対するサービスを行うLUにより実行される
動詞のいくつかは局所および遠隔LU間のセッションに
ついて他のTPとの対話をアロケート(割振り)し、デ
ィアロケート(割振りを解除)(開始と解放)するため
のものを含む。他の動詞は一つのTPが他のTPへデー
タを送り、あるいはそれからデータを受けうるようにす
る。SPMはトランザクションプログラムにより与えら
れるSYNCPT(コミット)またはBACKOUT動
詞を実行する。SPMはTPの要求によりすべてのノー
ドでトランザクションをコミットし、あるいはバックア
ウトする。LU6.2動詞の詳細についてはIBM社の
文献 TRANSACTION PROGRAMMER
´S REFERENCE MANUAL FOR L
U6.2,G330−3084を参照されたい。LU3
06とSPM307の詳細についてはIBM SC30
−3269,FORMAT AND PROTOCOL
REFERENCE MANUALを参照されたい。
これら両文献はここに組入れられるものである。
述べる。図3の例ではノード300−1のトランザクシ
ョンプログラム(TP)302−1がはじめに作動され
るものとする。作成されるべきアロケーションツリー内
の第1TPの作動は製品に特有な事情によるものであり
本発明とは関係がない。例えば与えられた初期TPは与
えられたノードがオンラインとなるたびに自動的にスタ
ートされ、あるいは初期TPはオペレータの要求により
スタートされうる。いずれにしても、この例について
は、この初期TP302−1はノード300−2でのT
P302−2との対話308をアロケートする(割り振
る)。TP302−2は更にノード300−3と300
−4のTPとの対話310と312を夫々割振り、以下
同様である。LU6.2アーキテクチャでは対話はノー
ド間のセッションに接続されるLUへのTPによるAL
LOCATE動詞の発行に応じてそのセッションに割振
られる。ALLOCATEに応じて対話ATTACHメ
ッセージがそのセッションの他端に付加される遠隔LU
に送られる。このATTACHは対話が付加されるべき
TPの名前を含む。このように図3においてはTP30
2−1がはじめにALLOCATE動詞をLU306−
1に出す。LU306−1はLU306−2にATTA
CHを出す。このATTACHはTP302−2の名前
を含む。これはまた図について述べたように割当てられ
る論理的ワーク単位識別子(LUWID)を含む。この
LUWIDはこの例ではノード300−1であるアロケ
ーションツリーのルートで割当てられるLUWIDであ
る。TP302−2がTP302−3に対話を割振ると
きにLU306−2からLU306−3へのATTAC
Hメッセージは同一のLUWIDを含む。図3に示すよ
うにアロケーションツリーが完全につくられると、その
ツリーのノードの任意またはすべてにおける資源は与え
られたトランザクションを完成するために用いられる。
コンテキストで述べた次のルールが、ツリーの破断の生
じたときにワーク単位識別子を管理する。ツリー分断は
通信故障により生じうる。あるいはTPはそれより下位
のノードをそのツリーから除去したいときにそのツリー
を意図的に且つ通常のように破断することが出来る。こ
れはTPによるDEALLOCATE TYPE(SY
NC−LEVEL)動詞の発行により行われる。この動
詞のSYNC−LEVELはSYNCPT動詞がコミッ
ト動作を生じさせるために発行されるまでこの対話の割
当解除を延期する。破断は、TPまたはLUがある種の
処理エラーを検出するときに意図的にも生じさせること
が出来る。この形の割当解除は異常デアロケーションと
呼ばれ、1つのノードから他のノードへのDEALLO
CATE(ABEND)メッセージにより開始される。
このメッセージのABEND部分は「異常エンディン
グ」を表わす。
会話のデアロケーションのためツリーが破断されると
き、新しいLUWIDがつくられてサブツリーの1つに
おいて伝ぱんされる。両サブツリーはそのままである。
好適な実施例では最終的にCOMMITメッセージを受
けるデアロケートされるべき会話の側のサブツリーはそ
れ用の新しいLUWIDを発生し、それをそのサブツリ
ーの残りのノードまたはTPに送る。これは残りのノー
ドとの会話を維持しているからである。他のサブツリー
はその現在のLUWIDを増分させるだけであり、新し
いワークで進む。この結果を常に達成するために、この
ルールは通常の会話デアロケーションがまずコミット動
作を行わないかぎり生じえないようにする。SYNCP
T動詞を後に伴うDEALLOCATE TYPE(S
YNC−LEVEL)が、許される唯一の通常デアロケ
ーションタイプである。もしSYNCPT動詞がLUW
をバックアウトさせるものであればその会話はデアロケ
ートされない。LUがPREPARE TO COMM
ITに応じてHMまたはFORGETを送った場合、コ
ミット動作の第2相によりトランザクションツリーにお
いてそのLUより上の部分で通常デアロケーションによ
る破断が生じていると、そのLUは更新されたLUWI
Dを受けることが出来ない。それ故、コミットイニシエ
ータは変化がある場合に次のLUWのスタート時にNE
W−LUWIDメッセージをそのLUに送らねばならな
い。NEW−LUWIDメッセージは他の2相コミット
メッセージと共に流れるメッセージである。このメッセ
ージは受信パートナーに、そのメッセージに含まれる新
しいLUWIDが、古いLUWIDが捨てられるために
次のトランザクションについて用いられるべきであるこ
とを知らせる。このNEW−LUWIDメッセージはC
OMMITメッセージに続き、好適には同一メッセージ
フロー内で送られる。これはTPがコミットフローの部
分としてデアロケートされているパートナーからCOM
MITメッセージを受けるとき送られる。このLUWI
DはそのLU識別フィールド200内でそれを発生した
同期点管理プログラムのLU名を有する。
ーによりツリーの破断が生じると、それにより生じたサ
ブツリーの両方におけるデータベースは一貫性状態に強
制されねばならず、これらサブツリーはもはや互いに関
係するコミットまたはバックアウト動作ではないから以
降のワーク単位において同一のLUWIDを用いないよ
うにされねばらならない。どのように一貫性ある状態に
なるかはエラーまたは故障が各ノードで検出される点に
よりきまる。コミット動作間で故障またはABENDが
生じるならば両サブツリーは一緒にコミットしえないか
ら、現在のLUWをバックアウトする。コミット動作中
に故障またはABENDが生じると、コミット動作はお
そらく再同期化で完了しなければならず、新しいLUW
が増分されたLUWIDで、分離したサブツリー内にワ
ークが生じないようにするためにバックアウトされる。
られるLUWIDは異なったものとされなくてはならな
い。これを行うために2つの分断されたサブツリーにお
けるルールは異なる。好適な実施例においては、アロケ
ーションツリーのルートを含むサブツリー即ちアロケー
タツリーでは故障を検出するノードの同期点管理プログ
ラムがそのサブツリーのそれらに隣接するノードにおけ
るすべての資源変更をバックアウトし、この隣接ノード
が更にその隣接ノードにバックアウトを伝えることを繰
り返す。このLUWIDはこのサブツリー内のすべての
ノードにおいて自動的に増分され、ワークはその増分し
たLUWIDで続けることが出来る。いずれのサブツリ
ー内のTPも古いLUWIDでワークをすでにスタート
しているかもしれないので、そのLUWIDに関連する
ワークは両サブツリーにおいてバックアウトされねばな
らない。非アロケータツリーの第1ノードすなわち破断
点に最も近いノードの同期点管理プログラムはそれがア
ロケートしたすべての対話をデアロケートする。これは
DEALLOCATE TYPE(ABEND)動詞で
達成されることは前述したことである。これは対話を切
り離し、そして切り離された会話の両側をしてLUWを
バックアウトさせるものである。図3の例ではノード3
00−2と300−4の間の通信が故障したものとす
る。アロケータツリーではSPM307−2がノード3
00−1と300−3にBACKOUTメッセージを送
る。非アロケータツリーではLU306−4がノード3
00−5と300−6にDEALLOCATE TYP
E(ABEND)を送る。
後に非アロケータツリー内の同期点管理プログラムがそ
のTPによりスタートしたワークにつき新しいLUWI
Dを与え、このLUWIDのLU識別フィールド200
内にそれ自体のLU名を有する。これによりそのTPが
新しいワークを安全に開始しうるようになる。本発明に
よれば非アロケータツリーの更に下位の各LUはDEA
LLOCATE TYPE(ABEND)に応じて同一
の論理動作を行い、それ故非アロケータサブツリー全体
が捨てられ、その非アロケータサブツリー内の各TPに
は資源への以降のアクセスのためそれ自体のLU識別を
用いてそれ自体の固有のLUWIDが与えられる。
管理するための上記の概念を示すものである。これらフ
ローはトランザクションツリーの各ノードにおいてSP
MとLUを含むオペレーティングシステムにより実行さ
れる。ステップ400(図4)でTPにより発行される
動詞を受ける。ステップ402で、動詞がSYNCPT
(コミット)動詞であるかまたはBACKOUT動詞で
あるかを判断する。それらでなければステップ404
(図6)においてLUは通常のようにこの動詞の内容を
実行する。この通常の処理の一部は動詞を実行した結果
を決定することである。この結果を示すリターンコード
がステップ406でTPにもどされる。ステップ408
で、このリターンコードがパートナーTPで通信故障が
検出されたことを示すか、あるいはDEALLOCAT
E(ABEND)メッセージがパートナーTPから入っ
たかどうかを判断する。ここで「NO」の場合、LUは
(図6のプログラム出口Bおよび図4のプログラム入口
Bを介して)ステップ400の状態にもどり、問題のT
Pによる次の動詞の発生を待つ。現在のLUWIDは増
加されない。これはSYNCPTまたはBACKOUT
動作後にのみ生じる。ステップ408でリターンコード
が通信故障またはDEALLOCATE(ABEND)
メッセージが入ったことを示す場合には、ステップ41
0で問題のTPから次の動詞を待つ状態に入る。この時
点でバックアウト動作が要求されるが、これはSYNC
PTまたはBACKOUT動詞でTPにより開始しう
る。この場合のSYNCPT動詞はBACKOUT動詞
として処理される。従って、次の動詞が入ると、ステッ
プ412で、その動詞がSYNCPT動詞かBACKO
UT動詞かを判断する。それらでなければこれはTPが
処理不可能な動詞を出したことになる。この場合、ステ
ップ414で「チェックステート」リターンコードをT
Pにもどしてそれに非一貫性を通知し、ステップ410
にもどりSYNCPTまたはBACKOUT動詞を待
つ。SYNCPTまたはBACKOUT動詞が入ると、
プログラム出入口Cを介してステップ440(図4)に
飛び、ここでこのLUが非アロケータサブツリーにある
かどうかを判断する。この場合、ステップ418(図
5)でサブツリーの廃棄を開始する。これは元々LUが
アロケートした会話を介してLUがそのパートナーLU
にDEALLOCATE TYPE(ABEND)メッ
セージを送ることにより行われる。このように、図3に
おいて、TP302−2がDEALLOCATE TY
PE(ABEND)をLU306−4に送るかあるいは
通信故障が会話312に生じるかする場合には、ノード
300−4におけるLU306−4がステップ418に
おいてノード300−5,300−6にDEALLOC
ATE TYPE(ABEND)を送ることにより、メ
ンバーであるサブツリーの廃棄を開始する。ノード30
0−4はステップ420でTP300−4について新し
いLUWIDを発生してステップ400でそのワークを
進める。LU300−5と300−6の夫々のノードに
LU300−4からDEALLOCATE TYPE
(ABEND)動詞を受けるとき、そのノードにおいて
実行するLUプログラムインスタンスのステップ408
(図6)または後述する他のステップは夫々のノードに
よりアロケートされたサブツリーがあれば、そのサブツ
リーの部分を更に捨てるためにその動詞に作用する。こ
のように、図3において、トランザクションツリーの一
部としてノード300−5によりアロケートされた付加
的会話があるとすれば、対応するTPはノード300−
5からDEALLOCATE TYPE(ABEND)
メッセージを受けることになる。捨てられようとしてい
るサブツリーの各ノードはそのサブツリーから切り離さ
れるから、それはそれ自体用の新しいLUWIDを発生
し、その新しいLUWIDを用いて新しいワークに進
む。これをステップ420(図5)に示す。LUWID
の発生についての前記したルールによれば、夫々捨てら
れたモードで発生されるLUWIDはフィールド200
にそれ自体のLU識別を含む。
ノードでTPにより出される動詞がSYNCPTまたは
BACKOUTであれば、ステップ424でそれをSP
Mに送ることによりその動詞の実行を開始する。ステッ
プ426で次にこのSYNCPTまたはBACKOUT
の実行中、通信故障が検出されるかあるいはDEALL
OCATE TYPE(ABEND)メッセージがパー
トナーTPにあるいはそれから入ったかどうかを判断す
る。通常、答えは否であり、ステップ428で実行中の
動詞がBACKOUTかどうかを判断する。この動詞が
BACKOUTであれば、その動詞の実行は完了し、プ
ログラム出入口Aを介してステップ400へもどる。入
口Aにおいてステップ422はステップ400でのTP
による次の動詞の発生の前に現在のLUWIDを増分さ
せる。これは、現在のトランザクションが完了しており
(この場合にはバックアウトされている)、新しいトラ
ンザクションが今はじまりつつあるために行われる。ア
ロケータツリーの各ノードで実行される図4〜6のLU
プログラムはその新しいトランザクションを扱う前に同
じ状態までそのLUWIDを増分させるために同じステ
ップを行う。
ACKOUTでないとすると、それはSYNCPTでな
くてはならない。もし、コミット動作中、SPMがCO
MMITメッセージ(ステップ430:図5)を受ける
とすれば、ステップ434は、この会話がコミット動作
の終りに通常通りデアロケートされるべきかどうかの判
断を行う。もし、ここで否定であれば、プログラムはス
テップ432に進む。もし肯定であれば、ステップ43
6と438でアロケーションツリーが分割されているた
めに新しいLUWIDを発生しそれをこのサブツリー内
の他のすべてのパートナーSPMに伝えなければならな
い。これは、コミットする必要のある変化をなさないた
め回避ヴォートを示すPREPARE TO COMM
ITに対しFORGETを返したパートナーを含む。こ
のように、このサブツリー内のすべてのSPMは同じL
UWIDで進む。ステップ400でSPMはそのTPか
ら入る次の動詞を待つ。この新しいLUWIDはステッ
プ436からの次のトランザクションについて固有のL
UWIDをすでに有するからステップ400に進む前に
増分されない。
HM(CEB)またはFORGET(RIP,CEB)
を受ければ、これは、故障による破断がこのSPMに隣
接するもの以外のアロケーションツリーのどこかで生じ
たことを意味する。CEBインジケータは、このSPM
を含むノードがアロケーションツリーから分けられるべ
きであり、それ故このアロケーションツリーの他の部分
との通信をその後行うことの出来ないサブツリーを形成
することを意味する。それ故、遠隔ツリーの破断に応答
するためこのサブツリーを捨て、あるいはバックアウト
するための特別なアクションをとらねばならない。ステ
ップ416で、デアロケートされている会話がこのSP
Mをアロケートしたものであると判断されれば、残りの
ノードあるいはSPMはステップ418で捨てられる。
これはすべてのパートナーSPMにDEALLOCAT
E TYPE (ABEND)を送ることにより開始さ
れる。ステップ420で次のワークのためにこのサブツ
リー用の新しいLUWIDが発生される。デアロケート
されている会話がこのSPMによりサービスを受けるT
Pをアロケートしたものでないならば、このSPMを含
むサブツリーはそのままとされてバックアウトされる
(図6:ステップ442)。ステップ432(図5)で
HM(CEB)またはFORGET(RIP,CEB)
が入らないなら、これは通常のコミット動作である。ス
テップ422がLUWIDを増分して新しいワークを進
める。ステップ426での判断結果が肯定であれば、動
詞の実行を終了してLUWIDを増分した後、前述のス
テップ440に進む。
〜6のプログラムの実行により生じる図3のノード間の
メッセージの流れを示す。これらの図は後述するある種
の速記法を用いる。用語はLU6.2に固有のものであ
り、その詳細についてはIBM社の文献SNA LU
6.2 REFERENCE:PEER PROTOC
OLS(SC31−6808)を参照されたい。 D(S)=DEALLOCATE TYPE(SYNC
−LEVEL):コミット後の会話をデアロケートす
る。 D(A)=DEALLOCATE TYPE(ABEN
D):プロトコル違反またはプログラムで検出されるエ
ラーのような異常発生により会話をデアロケートする。 INIT=同期点イニシエータ(コミットコーディネー
タ) 文字A〜Fは夫々図3のノード300−1〜6を表わす
ために用いられる。
タートし、TPに制御をもどすとき用いられるLUWI
Dのシーケンスである。AのようなLUWID内の文字
はそれを作成したノードを示し、数字は図に示す事象の
スタートに対するシーケンス数を示す。それ故、A.1
はアロケータツリーのルートノードAがコミット処理用
に用いられる第1LUWIDを開始したことを示す。
「A.1;A2(BO);A.3」のようなシーケンス
が、「A.1のシーケンス数がA.2に増分され;A.
2LUWがバックアウト(BO)され;A.3がLUW
ID管理フローによるLUWIDである」という具合に
読取られる。ツリーの異なる部分におけるメッセージフ
ロー間の時間順位を示す必要がある場合には、これらフ
ローは発生回数でマークされ、かくして、「フロー(発
生数)」である。
すべてのメンバーはLUWIDA.1でスタートするも
のとする。1つの図で障害のある会話は“X”を付して
示す。
断すなわちD(A)の場合を示す。この例ではノードB
とDの間の会話が中断されコミット動作が進行しないも
のとする。ノードBとDのTPはSYNCPTまたはB
ACKOUT動詞のみを受け入れうる状態にある。ノー
ドBのTPがBACKOUT動詞を出すと、BACKO
UTメッセージがAとCに送られ、A,B,Cのすべて
がA.1で識別されるLUWをバックアウトし、新しい
LUWで進むためにLUWIDを増分させる。ノードD
でのトランザクションプログラムがBACKOUT動詞
を出すと、SPMがその残りの会話の夫々にDEALL
OCATE TYPE(ABEND)を出し、A.1で
識別されるLUWをバックアウトし、そして新しいトラ
ンザクションを続けることが出来ように新しいLUWI
Dを発生する。EとFはノードDからDEALLOCA
TE TYPE(ABEND)を受けるとき同じ動作を
行う。メッセージフローの終りでA.1は各ノードでバ
ックアウトされており、そして4本の切り離されたサブ
ツリー(A−B−C,D,E,F)の夫々が異なるLU
WIDを使用する。
(SYNC−LEVEL)動詞に続くコミット動作後に
生じる正常な会話デアロケーションに続くメッセージフ
ローを示す。LU Eはコミットイニシエータである。
ノードBとDの間の会話はコミット動作が完了するとき
デアロケートされる。ノードBがノードDからCOMM
ITメッセージを受けるとき、ノードBはそのサブツリ
ー用の新しいLUWIDを発生してそれをCOMMIT
メッセージと共にAとCに送る。次にノードBはFOR
GET,CEBをノードDに送り同期点動作を完了す
る。D,E,Fは元のLUWIDを増分させて、次のL
UW用のLUWIDを発生する。この動作の終了時に、
LUWIDA.1はすべてのノードでコミットされてお
り、そして2本の分断されたサブツリー(A−B−Cと
D−E−F)は異なるLUWIDで継続する。D−E−
Fサブツリーで用いられるLUWIDは、Aがそのサブ
ツリーに接続されなくてもそのAについてのLU名を有
しつづける。これは問題ではない。というのは、LUW
ID内のLU名の目的は固有性を保証することだけであ
り、LU Aはこの例のスタート時に用いたA.1を複
製する他のLUWIDを発生しないからである。
REPARE TO COMMITメッセージに対する
応答に出される場合を示す。LU Eはコミットイニシ
エータである。A−B−CサブツリーはPREPARE
に対する応答としてFORGETをヴォートし、A.1
LUW中に資源に対する変化がなされなかったことを
示す。同期点管理プログラムは次のメッセージが入るま
でA,BまたはCのTPに制御をもどさない。トランザ
クションツリー内(EとDの間)のどこかのデアロケー
トされた会話はDに新しいLUWIDのそのサブツリー
への伝ぱんを要求する。A,B,Cは新しいLUWID
が入るまで持続しえない。デアロケートされた会話がな
い場合には、任意の種類の次のメッセージがA,Bまた
はCの同期点管理プログラムの、新しいLUWIDが送
られないことを示す信号である。この動作の終了時に、
LUW A.1はD,E,Fでコミットされており、
A,B,Cでは変更がなされていないからコミットメン
トは必要でなく、これら2つの分離されたサブツリー
(EおよびF−D−B−A−C)は異なるLUWIDを
使用する。
RIP CEBがアロケータツリーを流下される場合を
示す。LU Eはコミットイニシエータである。ノード
BとCの間の会話はコミット動作の第2相の中間で故障
する。便宜上、その前のメッセージは図示していない。
第1再同期化が失敗してノードBにDから入るCOMM
ITメッセージに対しFORGET,RIPを送らせる
か、ノードBが再同期化中にヒューリスティックダメー
ジを検出するかする。いずれの場合にもノードBからD
へのメッセージではCEBインジケータを伴い、会話を
終了させる。AのTPはEとFでのトランザクションプ
ログラムでも用いられているLUWIDA.2をすでに
続けているからノードBはAにBACKOUTを送る。
ノードDがHMまたはFORGET,RIPをそのイニ
シエータEに送った後に、EはLUWID A.2を続
けるTPにもどる。それ故ノードDはDEALLOCA
TE TYPE(ABEND)メッセージと共にHMま
たはFORGET,RIPメッセージを従えなくてはな
らず、そしてこれがA.2をバックアウトし、Eをして
次のトランザクション用の新しいLUWIDを発生させ
る。Cは流下会話を有しないから、それがそのTPにも
どる前に行わねばならないアクションは新しいLUWI
Dを発生することだけである。それが下向きの会話を有
しているとすれば、それらにDEALLOCATE T
YPE(ABEND)を送ることにより、それらをして
LUW A.2をバックアウトさせてそれら自体の新し
いLUWIDを発生させることになる。この動作の終了
時にA.1はA,B,D,E,Fでコミットされてい
る。5本の分離したサブツリー(A−B,C,D,E,
F)はA.2をバックアウトして異なるLUWIDを使
用する。
T,RIP CEBがアロケータツリーを逆のぼる場合
を示す。LU Aはコミットイニシエータである。ノー
ドDはEとFにCOMMITメッセージを送る間にFと
の会話の中断を検出する。便宜上、前のメッセージは示
していない。Fとの再同期化は失敗するか、あるいは、
ヒューリスティックダメージが生じたことを明らかにす
る。ノードDはこの情報をBに送り、会話終了インジケ
ータ(CEB)をセットする。ノードDのBとの会話は
コミット動作の一部としてデアロケートされるから、ノ
ードDは通常のコミットフローの一部としてEに新しい
LUWIDを送る。ノードBはDとの会話のアロケータ
であったから、それがHMまたはFORGET,RIP
メッセージを受けるとき、次のLUWをバックアウト
し、LUWID A.2でロックするその分離されたサ
ブツリーのノードが無いようにする。このように、ノー
ドBは局所的にバックアウトしてCにBACKOUTメ
ッセージを送る。AはHMまたはFORGET,RIP
メッセージをノードBから受けるとき同じアクションを
行うから、BがAにBACKOUTを送る必要はない。
この動作の終了時にはLUWID A.1はコミットさ
れており、LUWID A.2はバックアウトされてお
り、そして分離したサブツリー(A−B−C,D−E,
F)のすべてが異なるLUWIDを使用する。
間の会話の中断の場合を示す。便宜上、全コミットシー
ケンスは示していない。この例ではどのノードがコミッ
トイニシエータであるかは重要でない。再同期化がBと
Dの間で完了した後、BACKOUTがAとCに送ら
れ、そしてDEALLOCATE TYPE(ABEN
D)がEとFに送られる。この動作の終了時には、再同
期化を支配する通常のプロトコルにより、LUWID
A.1はバックアウトするかコミットする。LUW
A.2はすべての関係部分でバックアウトされ、そして
分離されたサブツリー(A−B−C,D,E,F)は異
なったLUWIDを使用する。
ドからなる簡単な分散ネットワークを示す図。
ーマット例を示す図。
ム(TP)、データベース資源、およびTPが同一また
は異なるノードの他のTPと通信しうるようにするため
に用いられる論理ユニット(LU)を含むより複雑な分
散ネットワークを示す図。
されたサブツリーの面での図3と同様の連鎖トランザク
ション処理システム用の異なるTPでのLUWIDを管
理するためのステップを示すフローチャートの第1部分
を示す図。
チャートの第2部分を示す図。
チャートの第3部分を示す図。
IDを管理するための、図3のシステムのノード間のメ
ッセージフローの第1の態様を示す図。
示す図。
示す図。
を示す図。
を示す図。
を示す図。
Claims (3)
- 【請求項1】ツリーを形成するように論理的に接続され
た複数の処理ノードを有し、各ノードが現在のワーク単
位識別子から次のワーク単位識別子を自動的に作成す
る、2相コミット方式の連鎖分散データベーストランザ
クションシステムにおいてワーク単位識別子を管理する
方法であって、 上記ツリーの切断を生じさせる非障害状態が生じたこと
に応答して、 上記切断により生じる第1サブツリーおよび第2サブツ
リーにおいて分散データベースに対してなされたすべて
の変更をコミットするステップと、 上記第1サブツリーのノードの夫々において現在のワー
ク単位識別子から次のトランザクションのワーク単位識
別子を作成するステップと、 上記第1サブツリーでトランザクションワークを進める
ステップと、上記次のトランザクションのワーク単位識別子とは異な
る新しい ワーク単位識別子を発生するステップと、上記新しいワーク単位識別子を上記第2サブツリー中で
伝搬させる ステップと、 上記第2サブツリーでトランザクションワークを進める
ステップと、 を有する連鎖分散データベーストランザクションシステ
ムにおけるワーク単位識別子の管理方法。 - 【請求項2】トランザクションツリーを形成するように
論理的に接続された複数の処理ノードを有し、各ノード
が現在のワーク単位識別子から次のワーク単位識別子を
自動的に作成する、2相コミット方式の連鎖分散データ
ベーストランザクションシステムにおいてワーク単位識
別子を管理する方法であって、上記ツリー中 の2つのノード間の通信障害の発生に応答
して、 上記通信障害によるツリーの切断により形成されるサブ
ツリーのうちの第1サブツリーにおいて現在のトランザ
クションの処理により生じたすべてのデータベース変更
をバックアウトするステップと、 上記第1サブツリーのノードの夫々において現在のワー
ク単位識別子から次の トランザクションのワーク単位識
別子を作成するステップと、 上記第1サブツリーでトランザクションワークを進める
ステップと、 上記通信障害により形成された上記サブツリーのうちの
第2サブツリーにおいて現在のトランザクションの処理
により生じたすべてのデータベース変更をバックアウト
し、上記次のトランザクションのワーク単位識別子とは
異なる新しいワーク単位識別子を発生するステップと、 を有する連鎖分散データベーストランザクションシステ
ムにおけるワーク単位識別子の管理方法。 - 【請求項3】トランザクションツリーを形成するように
論理的に接続された複数の処理ノードを有し、各ノード
が現在のワーク単位識別子から次のワーク単位識別子を
自動的に作成する、2相コミット方式の連鎖分散データ
ベーストランザクションシステムにおいてワーク単位識
別子を管理する方法であって、コミット動作中に上記ツリーの切断を生じさせる障害状
態が発生したかどうかを判断するステップと 、上記障害状態が発生したことに応答してコミット動作を
終わらせ、上記次のワーク単位識別子を作成する ステッ
プと、上記ツリーの切断により形成されるサブツリーのうち、
上記ツリーの構築を開始したルートノードを含む第1サ
ブツリーにおいて上記次のワーク単位識別子により示さ
れる次のトランザクションをバックアウトした後、その
次のワーク単位識別子を作成してトランザクションワー
クを進める ステップと、上記ルートノードを含まない第2サブツリーにおいて上
記第1サブツリーのものとは異なる新しいワーク単位識
別子を発生する ステップと、 を有する連鎖分散データベーストランザクションシステ
ムにおけるワーク単位識別子の管理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58354290A | 1990-09-17 | 1990-09-17 | |
US583542 | 1990-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04230541A JPH04230541A (ja) | 1992-08-19 |
JP2837288B2 true JP2837288B2 (ja) | 1998-12-14 |
Family
ID=24333537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3135748A Expired - Lifetime JP2837288B2 (ja) | 1990-09-17 | 1991-05-10 | 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5371886A (ja) |
EP (1) | EP0477123B1 (ja) |
JP (1) | JP2837288B2 (ja) |
DE (1) | DE69126587T2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2675968B2 (ja) * | 1992-08-20 | 1997-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 加入者分散2相コミット・プロトコルの拡張機能 |
EP0593062A3 (en) * | 1992-10-16 | 1995-08-30 | Siemens Ind Automation Inc | Redundant networked database system |
US5414841A (en) * | 1992-10-19 | 1995-05-09 | International Business Machines Corporation | Computerized system for representing data items using token identifiers |
US6259446B1 (en) | 1992-12-23 | 2001-07-10 | Object Technology Licensing Corporation | Menu state system |
JP3793226B2 (ja) * | 1992-12-23 | 2006-07-05 | オブジェクト テクノロジー ライセンシング コーポレイション | アトミック・コマンド・システム |
FR2705803B1 (fr) * | 1993-05-26 | 1995-07-07 | Gemplus Card Int | Procédé d'écriture d'informations dans une mémoire non-volatile. |
WO1995010805A1 (en) * | 1993-10-08 | 1995-04-20 | International Business Machines Corporation | Message transmission across a network |
EP0694838A1 (en) * | 1994-07-25 | 1996-01-31 | International Business Machines Corporation | Step level recovery |
US6205464B1 (en) * | 1994-09-16 | 2001-03-20 | International Businesss Machines Corporation | System for building optimal commit trees in a distributed transaction processing system |
US5553234A (en) * | 1994-09-23 | 1996-09-03 | International Business Machines Corporation | System and method for including stored procedures, user-defined functions, and trigger processing in an existing unit of work |
US5745687A (en) * | 1994-09-30 | 1998-04-28 | Hewlett-Packard Co | System for distributed workflow in which a routing node selects next node to be performed within a workflow procedure |
US5768582A (en) * | 1995-06-07 | 1998-06-16 | International Business Machines Corporation | Computer program product for domained incremental changes storage and retrieval |
GB2301909A (en) * | 1995-06-07 | 1996-12-18 | Ibm | Reduction of logging in distributed transaction processing systems |
GB2303474A (en) * | 1995-07-19 | 1997-02-19 | Ibm | Optimized synchronisation procedure |
US5799305A (en) * | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
US6031978A (en) * | 1996-06-28 | 2000-02-29 | International Business Machines Corporation | System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address |
US5884327A (en) * | 1996-09-25 | 1999-03-16 | International Business Machines Corporation | System, method and program for performing two-phase commit with a coordinator that performs no logging |
EP0876023A1 (en) | 1997-04-30 | 1998-11-04 | Sony Corporation | Transmitter and transmitting method, receiver and receiving method, and transceiver and transmitting/receiving method |
JP3498887B2 (ja) | 1997-04-30 | 2004-02-23 | ソニー株式会社 | 送信装置および送信方法、並びに受信装置および受信方法 |
US6061714A (en) * | 1997-05-07 | 2000-05-09 | International Business Machines Corporation | Persistent cache synchronization and start up system |
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US7159005B1 (en) | 1998-10-16 | 2007-01-02 | International Business Machines Corporation | Methods, systems and computer program products for restartable multiplexed file transfers |
US6243715B1 (en) | 1998-11-09 | 2001-06-05 | Lucent Technologies Inc. | Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated |
US6401136B1 (en) | 1998-11-13 | 2002-06-04 | International Business Machines Corporation | Methods, systems and computer program products for synchronization of queue-to-queue communications |
US6279041B1 (en) | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
US6874104B1 (en) | 1999-06-11 | 2005-03-29 | International Business Machines Corporation | Assigning recoverable unique sequence numbers in a transaction processing system |
US6915515B2 (en) * | 2000-12-21 | 2005-07-05 | International Business Machines Corporation | Method for creating path-sensitive branch registry for cyclic distributed transactions |
US7236967B2 (en) * | 2002-06-03 | 2007-06-26 | Hewlett-Packard Development Company, L.P. | Methods and systems for maintaining transaction semantics in a computer system |
GB0428109D0 (en) * | 2004-12-23 | 2005-01-26 | Ibm | A method for determining participation in a distributed transaction |
US9110712B2 (en) * | 2005-06-10 | 2015-08-18 | International Business Machines Corporation | Method for encapsulating logical units of work using business objects |
US8874390B2 (en) | 2011-03-23 | 2014-10-28 | Hach Company | Instrument and method for processing a doppler measurement signal |
JP6515753B2 (ja) | 2015-09-07 | 2019-05-22 | 富士通株式会社 | データベース制御プログラム、データベース制御方法及びデータベース制御装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665520A (en) * | 1985-02-01 | 1987-05-12 | International Business Machines Corporation | Optimistic recovery in a distributed processing system |
-
1991
- 1991-05-10 JP JP3135748A patent/JP2837288B2/ja not_active Expired - Lifetime
- 1991-08-13 DE DE69126587T patent/DE69126587T2/de not_active Expired - Lifetime
- 1991-08-13 EP EP91480126A patent/EP0477123B1/en not_active Expired - Lifetime
-
1993
- 1993-12-09 US US08/164,656 patent/US5371886A/en not_active Expired - Lifetime
Non-Patent Citations (4)
Title |
---|
「bit別冊ACM ConpuTing surveys’84 コンピューターサイエンス」(1986)p.145−188 |
「情報処理学会研究報告」vol.87,No.82(89−DPS−43−3)(1989−9) |
「情報処理学会第39回(平成元年後期)全国大会講演論文集」(1989−10) |
「情報処理学会第40回(平成2年前期)全国大会講演論文集」(1990−3)p.1458−1459 |
Also Published As
Publication number | Publication date |
---|---|
DE69126587D1 (de) | 1997-07-24 |
EP0477123A3 (en) | 1993-05-12 |
EP0477123A2 (en) | 1992-03-25 |
DE69126587T2 (de) | 1998-01-15 |
JPH04230541A (ja) | 1992-08-19 |
US5371886A (en) | 1994-12-06 |
EP0477123B1 (en) | 1997-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2837288B2 (ja) | 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法 | |
WO2018103318A1 (zh) | 分布式事务处理方法和系统 | |
TWI244617B (en) | A client/server-based data processing system for performing transactions between clients and a server and a method of performing the transactions | |
EP1078316B1 (en) | Method and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment | |
US6938070B2 (en) | Conflict resolution for collaborative work system | |
US5546582A (en) | Extension of two phase commit protocol to distributed participants | |
JPH08153027A (ja) | 並列データベースにおける分散要求の管理システム及び方法 | |
JP4291060B2 (ja) | トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム | |
US20020161840A1 (en) | Adapter for interfacing with a workflow engine | |
CN113396407A (zh) | 用于利用区块链技术扩充数据库应用的系统和方法 | |
EP0684558A1 (en) | Distributed data processing system | |
US20060235952A1 (en) | Exactly once JMS communication | |
EP0457116A2 (en) | Optimization of commit procedures | |
CN111259083A (zh) | 分布式事务处理方法及装置 | |
US5790788A (en) | Managing group events by a name server for a group of processors in a distributed computing environment | |
KR101278818B1 (ko) | 트랜잭션 일관 및 문제 상태 | |
JP2005004754A (ja) | ソフトウェア環境において統合トランザクション・マネージャなしでリソース保全性を維持するための装置及び方法 | |
JPH09146870A (ja) | 文脈依存型の送信経路を開設する方法および装置 | |
US7228351B2 (en) | Method and apparatus for managing resource contention in a multisystem cluster | |
US5706500A (en) | Selective transaction oriented recovery and restart for message-driven business applications | |
US7454761B1 (en) | Method and apparatus for correlating output of distributed processes | |
US6141679A (en) | High performance distributed transaction processing methods and apparatus | |
CN112148436B (zh) | 去中心化的tcc事务管理方法、装置、设备及系统 | |
US5258982A (en) | Method of excluding inactive nodes from two-phase commit operations in a distributed transaction processing system | |
JPH10506742A (ja) | 経路指定ノードにおける同期化プロシージャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071009 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081009 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091009 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101009 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101009 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111009 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111009 Year of fee payment: 13 |