JPH06301588A - トランザクション処理の同期方法及びトランザクションのコミット処理方法 - Google Patents
トランザクション処理の同期方法及びトランザクションのコミット処理方法Info
- Publication number
- JPH06301588A JPH06301588A JP6042285A JP4228594A JPH06301588A JP H06301588 A JPH06301588 A JP H06301588A JP 6042285 A JP6042285 A JP 6042285A JP 4228594 A JP4228594 A JP 4228594A JP H06301588 A JPH06301588 A JP H06301588A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- resource
- application
- request
- requester
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 分散型異種データベース・システムにおける
トランザクション処理を同期させること 【構成】 分散型異種データベース・システムにおける
トランザクションの同期をコミット処理の形式で提供す
るため、或る幾つかの資源が単一フェーズのコミット手
続きによって一のトランザクションへ同期されるのに対
し、他の資源は複数フェーズのコミット手続きによって
同期される。本発明に従って一のアプリケーション・サ
イトに設けられたアプリケーション・リクエスタは、複
数フェーズのコミット処理の間に単一フェーズのコミッ
ト資源の全てを代表する権限を有するようにされてい
る。
トランザクション処理を同期させること 【構成】 分散型異種データベース・システムにおける
トランザクションの同期をコミット処理の形式で提供す
るため、或る幾つかの資源が単一フェーズのコミット手
続きによって一のトランザクションへ同期されるのに対
し、他の資源は複数フェーズのコミット手続きによって
同期される。本発明に従って一のアプリケーション・サ
イトに設けられたアプリケーション・リクエスタは、複
数フェーズのコミット処理の間に単一フェーズのコミッ
ト資源の全てを代表する権限を有するようにされてい
る。
Description
【0001】
【産業上の利用分野】本発明は分散型のトランザクショ
ン指向データベース・システムに係り、更に詳細に説明
すれば、複数のサイトのうち一部が複数フェーズのトラ
ンザクション同期手続きをサポートするような分散型デ
ータベース・システムにおいて、かかる複数のサイトに
おけるトランザクション処理を調整(coordinate)する
ことに係る。
ン指向データベース・システムに係り、更に詳細に説明
すれば、複数のサイトのうち一部が複数フェーズのトラ
ンザクション同期手続きをサポートするような分散型デ
ータベース・システムにおいて、かかる複数のサイトに
おけるトランザクション処理を調整(coordinate)する
ことに係る。
【0002】
【従来の技術】C. J. Date が著作した刊行物の、"An I
ntroduction to Database Systems",Vol. 2, Addison-W
esley Publishing Company, 1983 で指摘されているよ
うに、データベース・システムの目的は、トランザクシ
ョンを実行することである。トランザクションとは、ア
プリケーションが指定した一連の動作の実行を含む1つ
の作業単位であって、「トランザクション開始」動作で
開始し且つ「コミット」又は「バックアウト」動作で終
了するまで、データベースの1つ以上の「更新」又は
「読取」アクセス動作を含むようなものである。コミッ
ト動作がトランザクションの正常終了を通知するのに対
し、バックアウト動作は異常な状況に起因するトランザ
クションの異常終了を通知する。
ntroduction to Database Systems",Vol. 2, Addison-W
esley Publishing Company, 1983 で指摘されているよ
うに、データベース・システムの目的は、トランザクシ
ョンを実行することである。トランザクションとは、ア
プリケーションが指定した一連の動作の実行を含む1つ
の作業単位であって、「トランザクション開始」動作で
開始し且つ「コミット」又は「バックアウト」動作で終
了するまで、データベースの1つ以上の「更新」又は
「読取」アクセス動作を含むようなものである。コミッ
ト動作がトランザクションの正常終了を通知するのに対
し、バックアウト動作は異常な状況に起因するトランザ
クションの異常終了を通知する。
【0003】コミット動作やバックアウト動作は、トラ
ンザクションの原子性(atomicity)を保証するために
利用される。各トランザクションは、成功するか又は失
敗するかのいずれかである。成功する場合は、トランザ
クションの結果が永久化(コミット)されるのに対し、
失敗する場合は、異常トランザクションの全ての結果が
除去(バックアウト)されることになる。トランザクシ
ョン指向システムが含んでいる回復マネージャは、典型
的には、トランザクションの原子性を維持し且つ障害後
にシステム動作を再確立するように作用する一又は複数
の手続きから成る。かかる回復マネージャは、トランザ
クション同期手続きによって原子性を維持する。普通、
このような手続きは、「コミット」手続きと呼ばれる。
ンザクションの原子性(atomicity)を保証するために
利用される。各トランザクションは、成功するか又は失
敗するかのいずれかである。成功する場合は、トランザ
クションの結果が永久化(コミット)されるのに対し、
失敗する場合は、異常トランザクションの全ての結果が
除去(バックアウト)されることになる。トランザクシ
ョン指向システムが含んでいる回復マネージャは、典型
的には、トランザクションの原子性を維持し且つ障害後
にシステム動作を再確立するように作用する一又は複数
の手続きから成る。かかる回復マネージャは、トランザ
クション同期手続きによって原子性を維持する。普通、
このような手続きは、「コミット」手続きと呼ばれる。
【0004】トランザクション動作を実行する単一のサ
イトを含むか、又は任意のトランザクション中にトラン
ザクション動作を1つのサイトだけで実行することを許
容するようなトランザクション指向システムでは、単一
フェーズの同期動作が、トランザクションの原子性を保
証する。すなわち、トランザクションが完了した場合、
回復マネージャは、このトランザクション中に生じたデ
ータベースへの全ての変更を永久化するように、かかる
サイトに要求し、これに応答して、かかるサイトは、単
一フェーズの間に、これらの変更をコミット又はバック
アウトするとともに、このコミット又はバックアウトを
回復マネージャへ報告するのである。
イトを含むか、又は任意のトランザクション中にトラン
ザクション動作を1つのサイトだけで実行することを許
容するようなトランザクション指向システムでは、単一
フェーズの同期動作が、トランザクションの原子性を保
証する。すなわち、トランザクションが完了した場合、
回復マネージャは、このトランザクション中に生じたデ
ータベースへの全ての変更を永久化するように、かかる
サイトに要求し、これに応答して、かかるサイトは、単
一フェーズの間に、これらの変更をコミット又はバック
アウトするとともに、このコミット又はバックアウトを
回復マネージャへ報告するのである。
【0005】各々が一のデータベースをそれぞれ含み得
る、複数のサイトを包含する分散型データベース・シス
テムでは、一のトランザクションが複数のデータベース
の内容を変更せしめることがある。このようなシステム
では、このトランザクションに関係する全てのサイトが
その結果に合意した場合にのみ、原子性を保証すること
ができる。H. F. Korth 外が著作した刊行物の、"Datab
ase System Concepts", McGraw-Hill Book Company, Co
pyright 1986 に記述されているように、分散型データ
ベース・システムは、2フェーズのコミット・プロトコ
ルと呼ばれるトランザクション同期手続きを使用して、
原子性を保証することができる。この点に関連して、一
のトランザクションが一の実行サイトで正常に終了し且
つ一の回復マネージャが、全てのデータベース・サイト
に対し、このトランザクションに関係するデータベース
・アクセス動作をコミットするように要求するものと仮
定する。このプロトコルの第1のフェーズでは、関係す
る全てのデータベース・サイトが、コミットを準備する
ように要求される。これに応答し且つローカルの条件に
基づいて、これらのデータベース・サイトは、それぞれ
の動作をコミットするか又はバックアウトするかを個々
に判定する。次に、これらの判定結果が一の同期ロケー
ションへ通信され、そこで「投票」がカウントされる。
第2のフェーズでは、もし全てのサイトがコミットする
ことに投票すれば、一のコミット要求が発行され、これ
に応答して、かかる全てのサイトがそれぞれの動作をコ
ミットする。他方、任意のサイトがその動作をバックア
ウトすることに投票すれば、全てのサイトは、それぞれ
の動作をバックアウトするように命令されることにな
る。
る、複数のサイトを包含する分散型データベース・シス
テムでは、一のトランザクションが複数のデータベース
の内容を変更せしめることがある。このようなシステム
では、このトランザクションに関係する全てのサイトが
その結果に合意した場合にのみ、原子性を保証すること
ができる。H. F. Korth 外が著作した刊行物の、"Datab
ase System Concepts", McGraw-Hill Book Company, Co
pyright 1986 に記述されているように、分散型データ
ベース・システムは、2フェーズのコミット・プロトコ
ルと呼ばれるトランザクション同期手続きを使用して、
原子性を保証することができる。この点に関連して、一
のトランザクションが一の実行サイトで正常に終了し且
つ一の回復マネージャが、全てのデータベース・サイト
に対し、このトランザクションに関係するデータベース
・アクセス動作をコミットするように要求するものと仮
定する。このプロトコルの第1のフェーズでは、関係す
る全てのデータベース・サイトが、コミットを準備する
ように要求される。これに応答し且つローカルの条件に
基づいて、これらのデータベース・サイトは、それぞれ
の動作をコミットするか又はバックアウトするかを個々
に判定する。次に、これらの判定結果が一の同期ロケー
ションへ通信され、そこで「投票」がカウントされる。
第2のフェーズでは、もし全てのサイトがコミットする
ことに投票すれば、一のコミット要求が発行され、これ
に応答して、かかる全てのサイトがそれぞれの動作をコ
ミットする。他方、任意のサイトがその動作をバックア
ウトすることに投票すれば、全てのサイトは、それぞれ
の動作をバックアウトするように命令されることにな
る。
【0006】
【発明が解決しようとする課題】複数のサイトを包含す
る分散型データベース・システムでは、そのうちの幾つ
かのサイトが2フェーズのコミット・プロトコルを利用
するのに対し、他のサイトは単一フェーズの動作だけを
遂行し得ることがある。以下、かかるシステムを「分散
型異種データベース・システム」と呼ぶ。かかる分散型
異種データベース・システムに特有の問題は、一のトラ
ンザクションが複数のサイトにおける更新動作を生ぜし
め得る、という点にある。すなわち、第1の更新サイト
が単一フェーズのコミット・プロトコルのみをサポート
し且つ第2のサイトが2フェーズのプロトコルをサポー
トするものと仮定すると、一方のサイトにおけるコミッ
トメントが他方のサイトにおけるバックアウトに先行す
る場合には、かかるコミットメントを取消すことができ
ないのである。この点に係る1つの解決法は、全てのケ
ースにおいて単一サイトのみを更新するように、各トラ
ンザクションを制限するというものである。しかしなが
ら、かかる解決法は、分散型システムに固有の柔軟性と
速度を犠牲にするという点で、望ましいとは言えない。
る分散型データベース・システムでは、そのうちの幾つ
かのサイトが2フェーズのコミット・プロトコルを利用
するのに対し、他のサイトは単一フェーズの動作だけを
遂行し得ることがある。以下、かかるシステムを「分散
型異種データベース・システム」と呼ぶ。かかる分散型
異種データベース・システムに特有の問題は、一のトラ
ンザクションが複数のサイトにおける更新動作を生ぜし
め得る、という点にある。すなわち、第1の更新サイト
が単一フェーズのコミット・プロトコルのみをサポート
し且つ第2のサイトが2フェーズのプロトコルをサポー
トするものと仮定すると、一方のサイトにおけるコミッ
トメントが他方のサイトにおけるバックアウトに先行す
る場合には、かかるコミットメントを取消すことができ
ないのである。この点に係る1つの解決法は、全てのケ
ースにおいて単一サイトのみを更新するように、各トラ
ンザクションを制限するというものである。しかしなが
ら、かかる解決法は、分散型システムに固有の柔軟性と
速度を犠牲にするという点で、望ましいとは言えない。
【0007】従って、分散型異種データベース・システ
ムの分野では、全てのサイトを2フェーズ動作へ移行さ
せないで複数サイトの更新動作を行うことができるよう
に、単一フェーズ及び複数フェーズのコミット処理を調
整することによって、トランザクションの原子性を保証
することが望ましい。前述の従来技術の問題点に徴し
て、本発明の第1番目の目的は、複数のサイトを有する
分散型異種データベース・システムにおいて、トランザ
クション処理を同期させるための方法を提供することに
ある。この第1番目の目的に関係する本発明の第2番目
の目的は、所定のトランザクションの間に複数の資源サ
イトが更新中でない場合は、当該トランザクションの間
に更新を行う最初の資源サイトへ更新特権(privileg
e)が制限され、当該トランザクションの間に複数の資
源サイトが更新中である場合は、複数フェーズのコミッ
ト処理によってサポートされた資源サイトにのみ更新特
権が付与される、という制約を利用する方法を提供する
ことにある。
ムの分野では、全てのサイトを2フェーズ動作へ移行さ
せないで複数サイトの更新動作を行うことができるよう
に、単一フェーズ及び複数フェーズのコミット処理を調
整することによって、トランザクションの原子性を保証
することが望ましい。前述の従来技術の問題点に徴し
て、本発明の第1番目の目的は、複数のサイトを有する
分散型異種データベース・システムにおいて、トランザ
クション処理を同期させるための方法を提供することに
ある。この第1番目の目的に関係する本発明の第2番目
の目的は、所定のトランザクションの間に複数の資源サ
イトが更新中でない場合は、当該トランザクションの間
に更新を行う最初の資源サイトへ更新特権(privileg
e)が制限され、当該トランザクションの間に複数の資
源サイトが更新中である場合は、複数フェーズのコミッ
ト処理によってサポートされた資源サイトにのみ更新特
権が付与される、という制約を利用する方法を提供する
ことにある。
【0008】
【課題を解決するための手段】本発明を実施するのに適
した、複数のサイトを有する分散型異種データベース・
システムは、トランザクション実行用の一のアプリケー
ション・プログラムを実行するためのプロセッサ及びア
プリケーションのトランザクション要求を転送し且つか
かるトランザクション要求に対する応答を受信するため
の一のアプリケーション・リクエスタ手続きを有する少
なくとも1つのアプリケーション・サイトを備えてい
る。また、このシステムには、少なくとも1つの第1の
資源サイト及び少なくとも1つの第2の資源サイトを含
む複数の資源サイトと、前記複数の資源サイトの全ての
サイト相互間の通信を行うために当該複数の資源サイト
を接続する通信手段とが設けられている。前記第1の資
源サイトの各々は、一のデータベースと、単一フェーズ
のトランザクション同期手続きの制御下で、トランザク
ション要求に応答してデータベース・アクセス動作を遂
行するための一のデータベース管理システムと、トラン
ザクション要求を受信し且つかかるトランザクション要
求に対する応答を転送するためのサーバ手段とを有し、
前記第2の資源サイトは、一のデータベースと、複数フ
ェーズのトランザクション調整手続きの制御下で、トラ
ンザクション要求に応答してデータベース・アクセス動
作を遂行するための一のデータベース管理システムと、
トランザクション要求を受信し且つかかるトランザクシ
ョン要求に対する応答を転送するためのサーバ手段とを
有している。
した、複数のサイトを有する分散型異種データベース・
システムは、トランザクション実行用の一のアプリケー
ション・プログラムを実行するためのプロセッサ及びア
プリケーションのトランザクション要求を転送し且つか
かるトランザクション要求に対する応答を受信するため
の一のアプリケーション・リクエスタ手続きを有する少
なくとも1つのアプリケーション・サイトを備えてい
る。また、このシステムには、少なくとも1つの第1の
資源サイト及び少なくとも1つの第2の資源サイトを含
む複数の資源サイトと、前記複数の資源サイトの全ての
サイト相互間の通信を行うために当該複数の資源サイト
を接続する通信手段とが設けられている。前記第1の資
源サイトの各々は、一のデータベースと、単一フェーズ
のトランザクション同期手続きの制御下で、トランザク
ション要求に応答してデータベース・アクセス動作を遂
行するための一のデータベース管理システムと、トラン
ザクション要求を受信し且つかかるトランザクション要
求に対する応答を転送するためのサーバ手段とを有し、
前記第2の資源サイトは、一のデータベースと、複数フ
ェーズのトランザクション調整手続きの制御下で、トラ
ンザクション要求に応答してデータベース・アクセス動
作を遂行するための一のデータベース管理システムと、
トランザクション要求を受信し且つかかるトランザクシ
ョン要求に対する応答を転送するためのサーバ手段とを
有している。
【0009】このようなシステム・コンテキストにおい
て、本発明の方法は、以下のステップを含んでいる。 (1)一の前記資源サイトにおける少なくとも1つのデ
ータベース・アクセス動作を含む一のトランザクション
を、前記アプリケーション・サイトにおいて実行するス
テップ。 (2)前記アプリケーション・サイトから一のトランザ
クション同期要求を発行し且つ当該トランザクション同
期要求を前記アプリケーション・リクエスタへ通信する
ステップ。 (3)前記第1の資源サイトのうち任意のものが当該ト
ランザクションの間にデータベース・アクセス動作を遂
行したか否かを、前記アプリケーション・リクエスタに
おいて判定するステップ。 (4)前記第1の資源サイトだけが当該トランザクショ
ンの間にデータベース・アクセス動作を遂行した場合
は、前記アプリケーション・リクエスタからかかるデー
タベース・アクセス動作を遂行した第1の資源サイトの
全てへトランザクション・コミット要求をそれぞれ通信
し、当該トランザクション・コミット要求に応答して、
かかるデータベース・アクセス動作を遂行した第1の資
源サイトの全てにおいて単一フェーズのトランザクショ
ン同期手続きをそれぞれ行うとともに、当該単一フェー
ズのトランザクション同期手続きのそれぞれの結果を前
記アプリケーション・サイトへ通信するステップ。 (5)前記第1の資源サイト及び第2の資源サイトが当
該トランザクションの間にデータベース・アクセス動作
を遂行した場合は、先ず、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタへトランザクション・コミッ
ト要求をそれぞれ通信し、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタを含めて、複数フェーズのト
ランザクション同期手続きを開始し、前記アプリケーシ
ョン・リクエスタからかかるデータベース・アクセス動
作を遂行した第1の資源サイトの全てへトランザクショ
ン同期要求をそれぞれ通信し、当該トランザクション同
期要求に応答して、かかるデータベース・アクセス動作
を遂行した第1の資源サイトの全てにおいて単一フェー
ズのトランザクション同期手続きをそれぞれ行い、当該
単一フェーズのトランザクション同期手続きのそれぞれ
の結果を前記アプリケーション・サイトへ通信し、次
に、前記複数フェーズのトランザクション同期手続きを
完了させ且つ当該複数フェーズのトランザクション同期
手続きの結果を前記アプリケーション・サイトへ通信す
るステップ。 (6)前記アプリケーション・サイトへ通信された前記
トランザクション同期手続きの結果に応答して、当該ト
ランザクションをコミットするか又はバックアウトする
ステップ。
て、本発明の方法は、以下のステップを含んでいる。 (1)一の前記資源サイトにおける少なくとも1つのデ
ータベース・アクセス動作を含む一のトランザクション
を、前記アプリケーション・サイトにおいて実行するス
テップ。 (2)前記アプリケーション・サイトから一のトランザ
クション同期要求を発行し且つ当該トランザクション同
期要求を前記アプリケーション・リクエスタへ通信する
ステップ。 (3)前記第1の資源サイトのうち任意のものが当該ト
ランザクションの間にデータベース・アクセス動作を遂
行したか否かを、前記アプリケーション・リクエスタに
おいて判定するステップ。 (4)前記第1の資源サイトだけが当該トランザクショ
ンの間にデータベース・アクセス動作を遂行した場合
は、前記アプリケーション・リクエスタからかかるデー
タベース・アクセス動作を遂行した第1の資源サイトの
全てへトランザクション・コミット要求をそれぞれ通信
し、当該トランザクション・コミット要求に応答して、
かかるデータベース・アクセス動作を遂行した第1の資
源サイトの全てにおいて単一フェーズのトランザクショ
ン同期手続きをそれぞれ行うとともに、当該単一フェー
ズのトランザクション同期手続きのそれぞれの結果を前
記アプリケーション・サイトへ通信するステップ。 (5)前記第1の資源サイト及び第2の資源サイトが当
該トランザクションの間にデータベース・アクセス動作
を遂行した場合は、先ず、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタへトランザクション・コミッ
ト要求をそれぞれ通信し、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタを含めて、複数フェーズのト
ランザクション同期手続きを開始し、前記アプリケーシ
ョン・リクエスタからかかるデータベース・アクセス動
作を遂行した第1の資源サイトの全てへトランザクショ
ン同期要求をそれぞれ通信し、当該トランザクション同
期要求に応答して、かかるデータベース・アクセス動作
を遂行した第1の資源サイトの全てにおいて単一フェー
ズのトランザクション同期手続きをそれぞれ行い、当該
単一フェーズのトランザクション同期手続きのそれぞれ
の結果を前記アプリケーション・サイトへ通信し、次
に、前記複数フェーズのトランザクション同期手続きを
完了させ且つ当該複数フェーズのトランザクション同期
手続きの結果を前記アプリケーション・サイトへ通信す
るステップ。 (6)前記アプリケーション・サイトへ通信された前記
トランザクション同期手続きの結果に応答して、当該ト
ランザクションをコミットするか又はバックアウトする
ステップ。
【0010】本発明の方法は、以下の2つの制約に従っ
て実行される。 制約1:もし、アプリケーションが一のトランザクショ
ンの間に複数の資源サイトを更新中でなければ、当該ト
ランザクションの間に更新を行う最初の資源サイトへ単
独の更新特権が付与される。 制約2:もし、アプリケーションが一のトランザクショ
ンの間に複数の資源サイトを更新中であれば、複数フェ
ーズのコミット処理を行うことができる資源サイトだけ
に更新特権が付与される。
て実行される。 制約1:もし、アプリケーションが一のトランザクショ
ンの間に複数の資源サイトを更新中でなければ、当該ト
ランザクションの間に更新を行う最初の資源サイトへ単
独の更新特権が付与される。 制約2:もし、アプリケーションが一のトランザクショ
ンの間に複数の資源サイトを更新中であれば、複数フェ
ーズのコミット処理を行うことができる資源サイトだけ
に更新特権が付与される。
【0011】
【実施例】図1は、本発明を実施するのに適した、分散
型異種データベース・システムの物理的アーキテクチャ
を示す。図示のように、このシステムは4つのサイトを
備えている。アプリケーション・サイト10では、IB
M社が提供する多重仮想記憶(MVS)オペレーテイン
グ・システムを搭載したエンタープライズ・システム
(ES)9000型のメインフレーム・コンピュータ
が、トランザクション実行用のアプリケーション・プロ
グラム、すなわちIBM社が提供する周知の「データベ
ース2」製品のようなデータベース管理システム(DB
MS)を介して、直接アクセス記憶装置(DASD)上
の一のデータベースをアクセスするアプリケーション・
プログラムを実行する。アプリケーション・サイト10
は、これと同様の構成を有する他の資源サイト12、1
4及び16と通信を行うことができるように、そのデー
タ通信サービス手段(DC)及び通信設備(COMM
S)18を通して、前者の資源サイトに対応するデータ
通信サービス手段(DC)へそれぞれ結合されている。
アプリケーション・サイト10におけるトランザクショ
ン実行用のアプリケーション・プログラムは、例えば周
知のLU6.2アーキテクチャ拡張機能で実現されてい
る「ピア・ツー・ピア」(peer-to-peer)プロトコルを
利用する、周知のシステム・アプリケーション・アーキ
テクチャ(SAA)又はシステム・ネットワーク・アー
キテクチャ(SNA)のような標準的なシステム・イン
タフェースを通して、資源サイト12、14及び16の
データベースをそれぞれアクセスすることができる。
型異種データベース・システムの物理的アーキテクチャ
を示す。図示のように、このシステムは4つのサイトを
備えている。アプリケーション・サイト10では、IB
M社が提供する多重仮想記憶(MVS)オペレーテイン
グ・システムを搭載したエンタープライズ・システム
(ES)9000型のメインフレーム・コンピュータ
が、トランザクション実行用のアプリケーション・プロ
グラム、すなわちIBM社が提供する周知の「データベ
ース2」製品のようなデータベース管理システム(DB
MS)を介して、直接アクセス記憶装置(DASD)上
の一のデータベースをアクセスするアプリケーション・
プログラムを実行する。アプリケーション・サイト10
は、これと同様の構成を有する他の資源サイト12、1
4及び16と通信を行うことができるように、そのデー
タ通信サービス手段(DC)及び通信設備(COMM
S)18を通して、前者の資源サイトに対応するデータ
通信サービス手段(DC)へそれぞれ結合されている。
アプリケーション・サイト10におけるトランザクショ
ン実行用のアプリケーション・プログラムは、例えば周
知のLU6.2アーキテクチャ拡張機能で実現されてい
る「ピア・ツー・ピア」(peer-to-peer)プロトコルを
利用する、周知のシステム・アプリケーション・アーキ
テクチャ(SAA)又はシステム・ネットワーク・アー
キテクチャ(SNA)のような標準的なシステム・イン
タフェースを通して、資源サイト12、14及び16の
データベースをそれぞれアクセスすることができる。
【0012】図2は、本発明を実施するのに適した、代
替的な分散型異種データベース・システムの物理的アー
キテクチャを示す。同図中のアプリケーション・サイト
20は、例えばIBM社が提供するOS/2型のオペレ
ーテイング・システムをそれぞれ搭載し且つ通常のトー
クン・リング・アーキテクチャを通して互いにリンクさ
れる、PS/2型のパーソナル・コンピュータ(PC)
22−24を含んでいる。トランザクション実行用のア
プリケーション・プログラムを実行する第1のパーソナ
ル・コンピュータ22は、通常のデータベース・マネー
ジャ(DBM)21も搭載している。第2のパーソナル
・コンピュータ23が、第1のパーソナル・コンピュー
タ22のアプリケーション・プログラムに対するアプリ
ケーション・サーバとして機能するのに対し、第3のパ
ーソナル・コンピュータ24は、データベース・アクセ
ス要求及びその応答を通信設備(COMMS)30を通
して資源サイト27−29と授受するための分散型デー
タ接続サービス手段(DDCS)25を備えた、ゲート
ウェイ装置として動作する。
替的な分散型異種データベース・システムの物理的アー
キテクチャを示す。同図中のアプリケーション・サイト
20は、例えばIBM社が提供するOS/2型のオペレ
ーテイング・システムをそれぞれ搭載し且つ通常のトー
クン・リング・アーキテクチャを通して互いにリンクさ
れる、PS/2型のパーソナル・コンピュータ(PC)
22−24を含んでいる。トランザクション実行用のア
プリケーション・プログラムを実行する第1のパーソナ
ル・コンピュータ22は、通常のデータベース・マネー
ジャ(DBM)21も搭載している。第2のパーソナル
・コンピュータ23が、第1のパーソナル・コンピュー
タ22のアプリケーション・プログラムに対するアプリ
ケーション・サーバとして機能するのに対し、第3のパ
ーソナル・コンピュータ24は、データベース・アクセ
ス要求及びその応答を通信設備(COMMS)30を通
して資源サイト27−29と授受するための分散型デー
タ接続サービス手段(DDCS)25を備えた、ゲート
ウェイ装置として動作する。
【0013】第1の資源サイト27は、例えばエンター
プライズ・システム(ES)9000型のメインフレー
ム・コンピュータを備え、これは多重仮想記憶(MV
S)オペレーテイング・システムの下で動作して、直接
アクセス記憶装置(DASD)上の一のデータベースを
アクセスするために「データベース2」製品のような、
データベース管理システム(DBMS)を実行する。分
散型データ接続サービス手段25と第1の資源サイト2
7中にあるデータ通信サービス手段(DC)との間で
は、ピア・ツー・ピア通信が行われる。第2の資源サイ
ト28は、例えばIBM社が提供するOS/400型オ
ペレーテイング・システムの下で動作するAS/400
型の中規模コンピュータを備え、これはアプリケーショ
ンの開発及び待ち行列管理を行うためにSQL/400
プリコンパイラを含むことができる。アプリケーション
・サイト20と第2の資源サイト28との間のピア・ツ
ー・ピア通信は、分散型データ接続サービス手段25と
第2の資源サイト28中にあるデータ通信サービス手段
とによって行われる。第3の資源サイト29は、例えば
周知の仮想計算機(VM)オペレーテイング・システム
の下で動作するエンタープライズ・システム(ES)9
000型のメインフレーム・コンピュータを含み、これ
はIBM社が提供するSQL/VSのようなデータベー
ス管理システムを実行する。アプリケーションサイト2
0と第3の資源サイト29との間のピア・ツー・ピア通
信は、分散型データ接続サービス手段25と第3の資源
サイト29中にあるデータ通信サービス手段とによって
行われる。
プライズ・システム(ES)9000型のメインフレー
ム・コンピュータを備え、これは多重仮想記憶(MV
S)オペレーテイング・システムの下で動作して、直接
アクセス記憶装置(DASD)上の一のデータベースを
アクセスするために「データベース2」製品のような、
データベース管理システム(DBMS)を実行する。分
散型データ接続サービス手段25と第1の資源サイト2
7中にあるデータ通信サービス手段(DC)との間で
は、ピア・ツー・ピア通信が行われる。第2の資源サイ
ト28は、例えばIBM社が提供するOS/400型オ
ペレーテイング・システムの下で動作するAS/400
型の中規模コンピュータを備え、これはアプリケーショ
ンの開発及び待ち行列管理を行うためにSQL/400
プリコンパイラを含むことができる。アプリケーション
・サイト20と第2の資源サイト28との間のピア・ツ
ー・ピア通信は、分散型データ接続サービス手段25と
第2の資源サイト28中にあるデータ通信サービス手段
とによって行われる。第3の資源サイト29は、例えば
周知の仮想計算機(VM)オペレーテイング・システム
の下で動作するエンタープライズ・システム(ES)9
000型のメインフレーム・コンピュータを含み、これ
はIBM社が提供するSQL/VSのようなデータベー
ス管理システムを実行する。アプリケーションサイト2
0と第3の資源サイト29との間のピア・ツー・ピア通
信は、分散型データ接続サービス手段25と第3の資源
サイト29中にあるデータ通信サービス手段とによって
行われる。
【0014】図3は、本発明を実施するのに適した、分
散型異種データベース・システムの論理的アーキテクチ
ャを示す。同図中のアプリケーション・サイト300で
は、トランザクション実行用のアプリケーション・プロ
グラム(APPL)302が、通常のトランザクション
指向データベースを動作させるためのデータベース言語
インタフェース(DBLIF)303に関連して実行さ
れる。アプリケーション・プログラム302及びデータ
ベース言語インタフェース303は、これらに代わって
複数の分散型データベース資源へ要求を転送したり、か
かる分散型データベース資源からの応答を受信する、ア
プリケーション・リクエスタ304によってサービスさ
れる。ネットワーク通信サービス手段(NET COM
MS)305は、当該分散型データベースシステムの複
数の資源サイトに対し、一のデータ通信インタフェース
を提供する。ネットワーク通信サービス手段305は、
論理装置(LU)ピア相互間の論理的接続(セション)
を与えることが望ましい。更に、アプリケーション・サ
イト300は、動作用サービスの一部として、論理イン
タフェース308及び309を有するような同期点マネ
ージャ(SPM)306を含んでいる。論理インタフェ
ース308は、同期点マネージャ306とアプリケーシ
ョン・プログラム302との間にあり、アプリケーショ
ン・リクエスタ304がアプリケーション・プログラム
302の代わりに活動する場合は、同期点マネージャ3
06とアプリケーション・リクエスタ304との間にも
ある。このため、論理インタフェース308は、「同期
点マネージャ−アプリケーション」インタフェース(S
PM−APPL INTF)と呼ばれる。論理インタフ
ェース309について言えば、その一方は同期点マネー
ジャ306の側にあり、他方はアプリケーション・リク
エスタ304及びネットワーク通信サービス手段305
の側にある。このため、論理インタフェース309は、
「同期点マネージャ−資源マネージャ」インタフェース
(SPM−RM INTF)と呼ばれる。
散型異種データベース・システムの論理的アーキテクチ
ャを示す。同図中のアプリケーション・サイト300で
は、トランザクション実行用のアプリケーション・プロ
グラム(APPL)302が、通常のトランザクション
指向データベースを動作させるためのデータベース言語
インタフェース(DBLIF)303に関連して実行さ
れる。アプリケーション・プログラム302及びデータ
ベース言語インタフェース303は、これらに代わって
複数の分散型データベース資源へ要求を転送したり、か
かる分散型データベース資源からの応答を受信する、ア
プリケーション・リクエスタ304によってサービスさ
れる。ネットワーク通信サービス手段(NET COM
MS)305は、当該分散型データベースシステムの複
数の資源サイトに対し、一のデータ通信インタフェース
を提供する。ネットワーク通信サービス手段305は、
論理装置(LU)ピア相互間の論理的接続(セション)
を与えることが望ましい。更に、アプリケーション・サ
イト300は、動作用サービスの一部として、論理イン
タフェース308及び309を有するような同期点マネ
ージャ(SPM)306を含んでいる。論理インタフェ
ース308は、同期点マネージャ306とアプリケーシ
ョン・プログラム302との間にあり、アプリケーショ
ン・リクエスタ304がアプリケーション・プログラム
302の代わりに活動する場合は、同期点マネージャ3
06とアプリケーション・リクエスタ304との間にも
ある。このため、論理インタフェース308は、「同期
点マネージャ−アプリケーション」インタフェース(S
PM−APPL INTF)と呼ばれる。論理インタフ
ェース309について言えば、その一方は同期点マネー
ジャ306の側にあり、他方はアプリケーション・リク
エスタ304及びネットワーク通信サービス手段305
の側にある。このため、論理インタフェース309は、
「同期点マネージャ−資源マネージャ」インタフェース
(SPM−RM INTF)と呼ばれる。
【0015】アプリケーション・リクエスタ304は、
アプリケーション・プログラム302を有する一のプロ
セッサで実行されるような一の手続きであって、資源マ
ネージャ(RM)として取扱われる。回復マネージャと
も呼ばれる同期点マネージャ306は、前述の2フェー
ズのコミット手続きによって種々の分散型資源相互間の
コミット及びバックアウト動作を調整する、動作環境の
1構成要素である。同期点マネージャ306が存在する
と、「同期点マネージャ−資源マネージャ」インタフェ
ースを使用するサイト上の全ての資源が「保護資源」と
なるのに対し、同期点マネージャへのアクセスを持たな
い資源は「非保護資源」となる。同期点マネージャ30
6は、論理装置(LU)ピアと通信する。本発明におい
て、同期点マネージャ306のピアは、これとセション
を行うことができるような、他の同期点マネージャ、ア
プリケーション・リクエスタ304及び他の任意の資源
マネージャである。
アプリケーション・プログラム302を有する一のプロ
セッサで実行されるような一の手続きであって、資源マ
ネージャ(RM)として取扱われる。回復マネージャと
も呼ばれる同期点マネージャ306は、前述の2フェー
ズのコミット手続きによって種々の分散型資源相互間の
コミット及びバックアウト動作を調整する、動作環境の
1構成要素である。同期点マネージャ306が存在する
と、「同期点マネージャ−資源マネージャ」インタフェ
ースを使用するサイト上の全ての資源が「保護資源」と
なるのに対し、同期点マネージャへのアクセスを持たな
い資源は「非保護資源」となる。同期点マネージャ30
6は、論理装置(LU)ピアと通信する。本発明におい
て、同期点マネージャ306のピアは、これとセション
を行うことができるような、他の同期点マネージャ、ア
プリケーション・リクエスタ304及び他の任意の資源
マネージャである。
【0016】図3のシステムが分散型異種データベース
・システムと呼ばれる所以は、資源サイト320及び3
30が非保護資源サイト(保護されていない資源サイ
ト)となるのに対し、資源サイト340及び350は保
護サイト(保護されている資源サイト)となるという点
にある。非保護サイトの論理的アーキテクチャは、実質
的に同等であって、一のアプリケーション・サーバと、
一のデータベース管理システム(DBMS)と、一のネ
ットワーク通信サービス手段(NET COMMS)と
を含んでいる。データベース管理システム322及び3
32の各々は、アプリケーション・プログラム302が
発行するトランザクション要求に応答してデータベース
・アクセス動作を行うことができ、かかる動作を単一フ
ェーズのコミット・プロトコルによってトランザクショ
ン活動と同期させる。保護資源サイト340及び350
のアーキテクチャも実質的に同等であって、一のアプリ
ケーション・サーバと、一のデータベース管理システム
と、一のネットワーク通信サービス手段と、一の同期点
マネージャとを含んでいる。かかる同期点マネージャと
ネットワーク通信サービス手段及びデータベース管理シ
ステムを含む資源マネージャとの間には、「同期点マネ
ージャ−資源マネージャ」インタフェースが設けられ、
またかかる同期点マネージャとアプリケーション・サー
バとの間には、「同期点マネージャ−アプリケーショ
ン」インタフェースが設けられる。通信設備(COMM
S)360は、広域ネットワーク(WAN)又はローカ
ル・エリア・ネットワーク(LAN)のような通常のア
ーキテクチャを利用して、アプリケーション・サイト3
00と複数の資源サイト320−350とを相互接続す
る。
・システムと呼ばれる所以は、資源サイト320及び3
30が非保護資源サイト(保護されていない資源サイ
ト)となるのに対し、資源サイト340及び350は保
護サイト(保護されている資源サイト)となるという点
にある。非保護サイトの論理的アーキテクチャは、実質
的に同等であって、一のアプリケーション・サーバと、
一のデータベース管理システム(DBMS)と、一のネ
ットワーク通信サービス手段(NET COMMS)と
を含んでいる。データベース管理システム322及び3
32の各々は、アプリケーション・プログラム302が
発行するトランザクション要求に応答してデータベース
・アクセス動作を行うことができ、かかる動作を単一フ
ェーズのコミット・プロトコルによってトランザクショ
ン活動と同期させる。保護資源サイト340及び350
のアーキテクチャも実質的に同等であって、一のアプリ
ケーション・サーバと、一のデータベース管理システム
と、一のネットワーク通信サービス手段と、一の同期点
マネージャとを含んでいる。かかる同期点マネージャと
ネットワーク通信サービス手段及びデータベース管理シ
ステムを含む資源マネージャとの間には、「同期点マネ
ージャ−資源マネージャ」インタフェースが設けられ、
またかかる同期点マネージャとアプリケーション・サー
バとの間には、「同期点マネージャ−アプリケーショ
ン」インタフェースが設けられる。通信設備(COMM
S)360は、広域ネットワーク(WAN)又はローカ
ル・エリア・ネットワーク(LAN)のような通常のア
ーキテクチャを利用して、アプリケーション・サイト3
00と複数の資源サイト320−350とを相互接続す
る。
【0017】分散型データベース・システム(必ずしも
異種ではない)の詳細を理解するには、IBM社から発
行されている以下の刊行物を参照されたい。 1.System Application Architecture - Common Progr
amming Interface Re-source Recovery Reference, For
m No. SC31-6821-00, Copyright 1991; 2.Distributed Data Library - Distributed Relatio
nal Database Archit-ecture Reference, Form No. SC2
6-4651-00, Copyright 1991; 3.System Network Architecture - LU6.2 Reference:
Peer Protocols, Fo-rm No. SC31-4808, Copyright 19
91。
異種ではない)の詳細を理解するには、IBM社から発
行されている以下の刊行物を参照されたい。 1.System Application Architecture - Common Progr
amming Interface Re-source Recovery Reference, For
m No. SC31-6821-00, Copyright 1991; 2.Distributed Data Library - Distributed Relatio
nal Database Archit-ecture Reference, Form No. SC2
6-4651-00, Copyright 1991; 3.System Network Architecture - LU6.2 Reference:
Peer Protocols, Fo-rm No. SC31-4808, Copyright 19
91。
【0018】図4は、アプリケーション・サイト300
と、保護資源サイト340及び350並びに非保護資源
サイト320及び330との相互接続を包含する、論理
的構成を一層詳細に示す。アプリケーション・リクエス
タ304は、前掲のIBM社発行の刊行物(Form No. S
C26-4651-00)で記述されている分散型リレーショナル
・データベース・アーキテクチャを実現した、現用製品
に見い出されるような全てのリクエスタ機能を含むこと
が望ましい。更に、本発明を実現するため、アプリケー
ション・リクエスタ304は、一のモニタ・プロセス3
04aと、一のコミット・プロセス304bと、一の資
源テーブル304cとを含んでいる。アプリケーション
・リクエスタ304とアプリケーション・プログラム3
02との間のアプリケーション・インタフェース304
dは、アプリケーション・プログラム302から、一の
トランザクションの間に複数の資源が更新可能であるか
否かを表示する「複数更新」信号を受信する。アプリケ
ーション・プログラム302及びアプリケーション・リ
クエスタ304は、コール/応答プロトコルによってプ
ロセス間通信を行う。同様のプロセス間通信は、アプリ
ケーション・プログラム302と同期点マネージャ30
6との間、ネットワーク通信サービス手段305が提供
する保護会話を介しての同期点マネージャ306と保護
資源サイト340及び350との間、「同期点マネージ
ャ−資源マネージャ」インタフェース309を通しての
同期点マネージャ306とアプリケーション・リクエス
タ304との間、そしてアプリケーション・リクエスタ
304と非保護資源サイト320及び330との間にそ
れぞれ与えられる。更に、アプリケーション・リクエス
タ304は、アプリケーション・プログラム302に代
わって、「同期点マネージャ−アプリケーション」イン
タフェース308を通して同期点マネージャ306へ一
のコールを発行することができる。
と、保護資源サイト340及び350並びに非保護資源
サイト320及び330との相互接続を包含する、論理
的構成を一層詳細に示す。アプリケーション・リクエス
タ304は、前掲のIBM社発行の刊行物(Form No. S
C26-4651-00)で記述されている分散型リレーショナル
・データベース・アーキテクチャを実現した、現用製品
に見い出されるような全てのリクエスタ機能を含むこと
が望ましい。更に、本発明を実現するため、アプリケー
ション・リクエスタ304は、一のモニタ・プロセス3
04aと、一のコミット・プロセス304bと、一の資
源テーブル304cとを含んでいる。アプリケーション
・リクエスタ304とアプリケーション・プログラム3
02との間のアプリケーション・インタフェース304
dは、アプリケーション・プログラム302から、一の
トランザクションの間に複数の資源が更新可能であるか
否かを表示する「複数更新」信号を受信する。アプリケ
ーション・プログラム302及びアプリケーション・リ
クエスタ304は、コール/応答プロトコルによってプ
ロセス間通信を行う。同様のプロセス間通信は、アプリ
ケーション・プログラム302と同期点マネージャ30
6との間、ネットワーク通信サービス手段305が提供
する保護会話を介しての同期点マネージャ306と保護
資源サイト340及び350との間、「同期点マネージ
ャ−資源マネージャ」インタフェース309を通しての
同期点マネージャ306とアプリケーション・リクエス
タ304との間、そしてアプリケーション・リクエスタ
304と非保護資源サイト320及び330との間にそ
れぞれ与えられる。更に、アプリケーション・リクエス
タ304は、アプリケーション・プログラム302に代
わって、「同期点マネージャ−アプリケーション」イン
タフェース308を通して同期点マネージャ306へ一
のコールを発行することができる。
【0019】<モニタ・プロセス>アプリケーション・
リクエスタ304のモニタ・プロセス304aは、どの
資源が「更新」動作を行うことを許容され、どの資源が
「読取」動作のみに制限されるかという制約を実現する
ことによって、分散型異種データベース・システムの環
境を設定及びモニタする。これらの制約は、次の通りで
ある。 制約1:もし、アプリケーション・プログラム302が
所定のトランザクションの間に複数の資源サイトを更新
中でなければ(この場合には、図4の「複数更新」信号
がセットされない)、当該トランザクションの間に更新
を行う最初の資源サイトへ排他的な更新特権が付与され
る。 制約2:もし、アプリケーション・プログラム302が
所定のトランザクションの間に複数の資源サイトを更新
中であれば(この場合には、図4の「複数更新」信号が
セットされる)、保護資源サイトだけに更新特権が付与
される。
リクエスタ304のモニタ・プロセス304aは、どの
資源が「更新」動作を行うことを許容され、どの資源が
「読取」動作のみに制限されるかという制約を実現する
ことによって、分散型異種データベース・システムの環
境を設定及びモニタする。これらの制約は、次の通りで
ある。 制約1:もし、アプリケーション・プログラム302が
所定のトランザクションの間に複数の資源サイトを更新
中でなければ(この場合には、図4の「複数更新」信号
がセットされない)、当該トランザクションの間に更新
を行う最初の資源サイトへ排他的な更新特権が付与され
る。 制約2:もし、アプリケーション・プログラム302が
所定のトランザクションの間に複数の資源サイトを更新
中であれば(この場合には、図4の「複数更新」信号が
セットされる)、保護資源サイトだけに更新特権が付与
される。
【0020】かくて、アプリケーション・リクエスタ3
04へ与えられる「複数更新」信号は、このアプリケー
ション・リクエスタ304が正しい制約を適用すること
を可能にする。本発明の実施例では、一のトランザクシ
ョンが同期点マネージャの制御下になければ、前述の制
約1が適用される。この制約1に従属するトランザクシ
ョンは、任意のトランザクションの間に、唯1つの資源
サイトだけが更新を行うことを許容する。この制限事項
は、かかるトランザクションの原子性を保証するために
必要となるものである。他方、前述の制約2は、同期点
マネージャの制御下にあるトランザクション用のもので
あって、かかるトランザクションの間に複数の資源が更
新を行うことを許容する。この制約2中に暗示されてい
る制限事項とは、更新動作を許容される資源サイトだけ
が同期点マネージャのサポートを有し且つかかるサポー
トを使用しなければならない、というものである。他の
全ての資源サイトは、読取専用動作に制限される。
04へ与えられる「複数更新」信号は、このアプリケー
ション・リクエスタ304が正しい制約を適用すること
を可能にする。本発明の実施例では、一のトランザクシ
ョンが同期点マネージャの制御下になければ、前述の制
約1が適用される。この制約1に従属するトランザクシ
ョンは、任意のトランザクションの間に、唯1つの資源
サイトだけが更新を行うことを許容する。この制限事項
は、かかるトランザクションの原子性を保証するために
必要となるものである。他方、前述の制約2は、同期点
マネージャの制御下にあるトランザクション用のもので
あって、かかるトランザクションの間に複数の資源が更
新を行うことを許容する。この制約2中に暗示されてい
る制限事項とは、更新動作を許容される資源サイトだけ
が同期点マネージャのサポートを有し且つかかるサポー
トを使用しなければならない、というものである。他の
全ての資源サイトは、読取専用動作に制限される。
【0021】一のアプリケーションが複数の資源サイト
を更新中であるか否かという点については、本発明はこ
れを定義しない。本発明が必要とするのは、この情報が
アプリケーション・プログラム302のような或る環境
源によってアプリケーション・リクエスタ304へ供給
される、ということだけである。アプリケーション・リ
クエスタ304は分散型トランザクション用のアプリケ
ーション・プログラムを代表し、そして全ての分散型ト
ランザクション要求はこのアプリケーション・リクエス
タ304を通して取扱われるから、本発明に従ったアプ
リケーション・リクエスタ304は、トランザクション
がその多様な動作を適正に同期させ得ることを保証する
ように、環境をモニタしなければならない。
を更新中であるか否かという点については、本発明はこ
れを定義しない。本発明が必要とするのは、この情報が
アプリケーション・プログラム302のような或る環境
源によってアプリケーション・リクエスタ304へ供給
される、ということだけである。アプリケーション・リ
クエスタ304は分散型トランザクション用のアプリケ
ーション・プログラムを代表し、そして全ての分散型ト
ランザクション要求はこのアプリケーション・リクエス
タ304を通して取扱われるから、本発明に従ったアプ
リケーション・リクエスタ304は、トランザクション
がその多様な動作を適正に同期させ得ることを保証する
ように、環境をモニタしなければならない。
【0022】アプリケーション・リクエスタ304は、
一の分散型応答メッセージによって環境をモニタするこ
とができる。一のトランザクション要求に応答する任意
の資源サイトは、かかるメッセージを介して、当該資源
サイトがその最初の更新要求を受信する時間及び当該ト
ランザクション中に更新実行要求を再び受信する場合は
その任意の受信時間を、アプリケーション・リクエスタ
304に通知する。アプリケーション・リクエスタ30
4は、かかる情報を資源テーブル304cへ収集し、ど
の資源サイトが更新を許容されているかということを追
跡し、全ての資源サイトに関し信頼性のある同期化コミ
ットを妨げるような一の更新が生ずる場合には、当該ト
ランザクションをバックアウトするのである。
一の分散型応答メッセージによって環境をモニタするこ
とができる。一のトランザクション要求に応答する任意
の資源サイトは、かかるメッセージを介して、当該資源
サイトがその最初の更新要求を受信する時間及び当該ト
ランザクション中に更新実行要求を再び受信する場合は
その任意の受信時間を、アプリケーション・リクエスタ
304に通知する。アプリケーション・リクエスタ30
4は、かかる情報を資源テーブル304cへ収集し、ど
の資源サイトが更新を許容されているかということを追
跡し、全ての資源サイトに関し信頼性のある同期化コミ
ットを妨げるような一の更新が生ずる場合には、当該ト
ランザクションをバックアウトするのである。
【0023】以下の表1ないし表4は、前述の制約1の
下での、モニタ・プロセスを示す。これらの表は、図4
に示す資源テーブル304cの相次ぐインスタンス生成
(instantiation)であり、その最初の4欄がモニタ・
プロセスに関係する。最初に、表1では、一の資源サイ
ト(RS)が一のトランザクション中に拘束(engage)
される際、この資源サイトが第1の欄で識別される。一
の資源サイトが最初のトランザクション要求に応答する
場合、この資源サイトは、これが保護されているか否か
という信号も与える。かくて、表1ないし表4の第2欄
を見ると、関係する3つの資源サイトはいずれも保護さ
れていないことが判る。これらの表の第3欄は、それぞ
れの資源サイトから受信された更新メッセージをログす
る。この点に関し、一の資源サイトが一の更新を受信す
るたびに、この資源サイトは、アプリケーション・リク
エスタ304に対し、一の「更新要求済み」メッセージ
で応答する。かかる更新メッセージのうち最初のものが
第2の資源サイト(RS2)から受信されて、表2の第
3欄へ記入される。そのすぐ後に、第2の資源サイト
(RS2)の更新を許容し且つ第1及び第3の資源サイ
ト(RS1、RS3)が更新を許容されていないことを
表示するように、表2の第4欄中の値がそれぞれ変更さ
れる。この段階で、アプリケーション・リクエスタ30
4が第1の資源サイト(RS1)又は第3の資源サイト
(RS3)から一の「更新要求済み」メッセージを受信
する場合、アプリケーション・リクエスタ304は、当
該トランザクション全体のバックアウトを開始する。一
方、当該トランザクションについて一の「コミット」コ
マンドが発行された場合は、かかるコミット処理の成功
に応じて、表3及び表4に示すように資源テーブル30
4cの第3欄及び第4欄の内容が変わる。このコミット
処理については、以下で詳述する。
下での、モニタ・プロセスを示す。これらの表は、図4
に示す資源テーブル304cの相次ぐインスタンス生成
(instantiation)であり、その最初の4欄がモニタ・
プロセスに関係する。最初に、表1では、一の資源サイ
ト(RS)が一のトランザクション中に拘束(engage)
される際、この資源サイトが第1の欄で識別される。一
の資源サイトが最初のトランザクション要求に応答する
場合、この資源サイトは、これが保護されているか否か
という信号も与える。かくて、表1ないし表4の第2欄
を見ると、関係する3つの資源サイトはいずれも保護さ
れていないことが判る。これらの表の第3欄は、それぞ
れの資源サイトから受信された更新メッセージをログす
る。この点に関し、一の資源サイトが一の更新を受信す
るたびに、この資源サイトは、アプリケーション・リク
エスタ304に対し、一の「更新要求済み」メッセージ
で応答する。かかる更新メッセージのうち最初のものが
第2の資源サイト(RS2)から受信されて、表2の第
3欄へ記入される。そのすぐ後に、第2の資源サイト
(RS2)の更新を許容し且つ第1及び第3の資源サイ
ト(RS1、RS3)が更新を許容されていないことを
表示するように、表2の第4欄中の値がそれぞれ変更さ
れる。この段階で、アプリケーション・リクエスタ30
4が第1の資源サイト(RS1)又は第3の資源サイト
(RS3)から一の「更新要求済み」メッセージを受信
する場合、アプリケーション・リクエスタ304は、当
該トランザクション全体のバックアウトを開始する。一
方、当該トランザクションについて一の「コミット」コ
マンドが発行された場合は、かかるコミット処理の成功
に応じて、表3及び表4に示すように資源テーブル30
4cの第3欄及び第4欄の内容が変わる。このコミット
処理については、以下で詳述する。
【0024】
【表1】
【0025】
【表2】
【0026】
【表3】
【0027】
【表4】
【0028】以下に掲げる表5及び表6は、制約2の下
での、資源テーブル304cの状態を示す。これらの表
では、保護された第3及び第4の資源サイト(RS3、
RS4)だけが更新を許容されているので、これらの資
源サイトは表6に暗示されているように更新を同時に行
うことができる。表7は、システム設計及び操作上の要
件に沿った特別の状況を示す。この点について説明を補
足すると、アプリケーション・リクエスタ304が第1
の非保護資源サイト(RS1)から一の「更新要求済
み」メッセージを受信する場合、アプリケーション・リ
クエスタ304は、保護資源サイトを含む他の全ての資
源サイトが更新を行うことを禁止する。このように、単
一及び複数フェーズのトランザクション同期手続きが同
時に発生するのを防止することにより、原子性が維持さ
れるのである。
での、資源テーブル304cの状態を示す。これらの表
では、保護された第3及び第4の資源サイト(RS3、
RS4)だけが更新を許容されているので、これらの資
源サイトは表6に暗示されているように更新を同時に行
うことができる。表7は、システム設計及び操作上の要
件に沿った特別の状況を示す。この点について説明を補
足すると、アプリケーション・リクエスタ304が第1
の非保護資源サイト(RS1)から一の「更新要求済
み」メッセージを受信する場合、アプリケーション・リ
クエスタ304は、保護資源サイトを含む他の全ての資
源サイトが更新を行うことを禁止する。このように、単
一及び複数フェーズのトランザクション同期手続きが同
時に発生するのを防止することにより、原子性が維持さ
れるのである。
【0029】
【表5】
【0030】
【表6】
【0031】
【表7】
【0032】図5は、本発明のアプリケーション・リク
エスタ304で行われるモニタ・プロセスを示す流れ図
である。最初、図4に示す「複数更新」信号の状態を、
ステップ500で調べる。もし、この信号がセットされ
ていなければ、判定ステップ500の否定出口を通して
ステップ501に至り、そこで前述の制約1の下の更新
要求メッセージが資源テーブル304cによってモニタ
され、次のステップ502で、最初の更新元が資源テー
ブル304c中にマークされる。後続のステップ503
では、当該トランザクションの処理中に資源テーブル3
04cを参照して、データベース・アクセス動作がモニ
タされる。ここで、他の全ての資源サイトが「更新要
求」メッセージを発行していないという通常の動作を仮
定すると、このプロセスは、当該トランザクションをコ
ミットするようにコマンドが発行されるまで、判定ステ
ップ503及び504を通してループする。ステップ5
06では、トランザクション同期処理が行われる。更新
を禁止されている一の資源サイトが新たに一の更新要求
メッセージを受信したことを通知する場合、アプリケー
ション・リクエスタ304は判定ステップ503の肯定
出口を通してステップ507に至り、このステップで
「バックアウト」要求を発行する。かくて、ステップ5
06でトランザクション同期処理が開始してバックアウ
トが行われることになる。
エスタ304で行われるモニタ・プロセスを示す流れ図
である。最初、図4に示す「複数更新」信号の状態を、
ステップ500で調べる。もし、この信号がセットされ
ていなければ、判定ステップ500の否定出口を通して
ステップ501に至り、そこで前述の制約1の下の更新
要求メッセージが資源テーブル304cによってモニタ
され、次のステップ502で、最初の更新元が資源テー
ブル304c中にマークされる。後続のステップ503
では、当該トランザクションの処理中に資源テーブル3
04cを参照して、データベース・アクセス動作がモニ
タされる。ここで、他の全ての資源サイトが「更新要
求」メッセージを発行していないという通常の動作を仮
定すると、このプロセスは、当該トランザクションをコ
ミットするようにコマンドが発行されるまで、判定ステ
ップ503及び504を通してループする。ステップ5
06では、トランザクション同期処理が行われる。更新
を禁止されている一の資源サイトが新たに一の更新要求
メッセージを受信したことを通知する場合、アプリケー
ション・リクエスタ304は判定ステップ503の肯定
出口を通してステップ507に至り、このステップで
「バックアウト」要求を発行する。かくて、ステップ5
06でトランザクション同期処理が開始してバックアウ
トが行われることになる。
【0033】複数の更新が許容される場合、判定ステッ
プ500の肯定出口を通してステップ508に至り、そ
こで当該トランザクションがアンフォールドする際に資
源テーブル304cへのエントリが行われ、ステップ5
09では、「更新要求」メッセージがマークされ、次の
ステップ510で、非保護資源サイト320又は330
による更新の試行を検知する場合は、ステップ510の
肯定出口を通してステップ507に至り、そこで「バッ
クアウト」要求が行われる。前述の制約2によって許容
された動作を仮定すると、アプリケーション・リクエス
タ304は、当該トランザクションをコミットする一の
コマンドが発行されるまで、ステップ510及び511
を通してループする。この時点で、判定ステップ511
の肯定出口を通してステップ506に至り、そこでトラ
ンザクション同期処理が行われることになる。
プ500の肯定出口を通してステップ508に至り、そ
こで当該トランザクションがアンフォールドする際に資
源テーブル304cへのエントリが行われ、ステップ5
09では、「更新要求」メッセージがマークされ、次の
ステップ510で、非保護資源サイト320又は330
による更新の試行を検知する場合は、ステップ510の
肯定出口を通してステップ507に至り、そこで「バッ
クアウト」要求が行われる。前述の制約2によって許容
された動作を仮定すると、アプリケーション・リクエス
タ304は、当該トランザクションをコミットする一の
コマンドが発行されるまで、ステップ510及び511
を通してループする。この時点で、判定ステップ511
の肯定出口を通してステップ506に至り、そこでトラ
ンザクション同期処理が行われることになる。
【0034】資源サイトのアプリケーション・サーバの
観点からすると、各サーバがアプリケーション・サイト
300から一のデータベース・アクセス動作要求を受信
する場合、当該サーバは、この要求を処理し、その結果
をバッファし、このアクセス動作が一の更新に帰着する
場合であって、しかもこのアプリケーションについて先
の更新表示が戻されていない場合には、一の更新表示を
バッファし、このバッファの内容をアプリケーション・
リクエスタ304へ伝送する。
観点からすると、各サーバがアプリケーション・サイト
300から一のデータベース・アクセス動作要求を受信
する場合、当該サーバは、この要求を処理し、その結果
をバッファし、このアクセス動作が一の更新に帰着する
場合であって、しかもこのアプリケーションについて先
の更新表示が戻されていない場合には、一の更新表示を
バッファし、このバッファの内容をアプリケーション・
リクエスタ304へ伝送する。
【0035】<コミット・プロセス>アプリケーション
・リクエスタ304のコミット・プロセス304bは、
分散型異種データベース・システムにおける「コミッ
ト」及び「バックアウト」シーケンシングによって、ト
ランザクション同期処理を行うための複数のプロトコル
を実現する。これらのプロトコルは、生じなければなら
ない一連のアクションを包含する。正確なシーケンス
は、アプリケーション・プログラム302からの最初の
「コミット」又は「バックアウト」コマンドの目標に依
存する。かかる最初の「コミット」又は「バックアウ
ト」コマンドについては、以下に示す3つの可能な目標
が存在する。 1. アプリケーション・サイト300の同期点マネー
ジャ306; 2. アプリケーション・リクエスタ304; 3. 資源サイト320−350の1つ。
・リクエスタ304のコミット・プロセス304bは、
分散型異種データベース・システムにおける「コミッ
ト」及び「バックアウト」シーケンシングによって、ト
ランザクション同期処理を行うための複数のプロトコル
を実現する。これらのプロトコルは、生じなければなら
ない一連のアクションを包含する。正確なシーケンス
は、アプリケーション・プログラム302からの最初の
「コミット」又は「バックアウト」コマンドの目標に依
存する。かかる最初の「コミット」又は「バックアウ
ト」コマンドについては、以下に示す3つの可能な目標
が存在する。 1. アプリケーション・サイト300の同期点マネー
ジャ306; 2. アプリケーション・リクエスタ304; 3. 資源サイト320−350の1つ。
【0036】もし、その目標がアプリケーション・サイ
ト300の同期点マネージャ306であれば、この同期
点マネージャ306は、全ての保護資源サイト340及
び350、アプリケーション・リクエスタ304及び同
期点マネージャ306が当該トランザクションの間に取
扱った他の任意の資源管理ピアを包含する、トランザク
ション同期手続きを調整する。この点に関連して説明を
補足すると、アプリケーション・リクエスタ304は、
同期点マネージャ306に対し、当該トランザクション
に関係する一の資源サイトとして特定されるから、これ
は2フェーズのコミット・プロセスの間に拘束されるこ
とになる。
ト300の同期点マネージャ306であれば、この同期
点マネージャ306は、全ての保護資源サイト340及
び350、アプリケーション・リクエスタ304及び同
期点マネージャ306が当該トランザクションの間に取
扱った他の任意の資源管理ピアを包含する、トランザク
ション同期手続きを調整する。この点に関連して説明を
補足すると、アプリケーション・リクエスタ304は、
同期点マネージャ306に対し、当該トランザクション
に関係する一の資源サイトとして特定されるから、これ
は2フェーズのコミット・プロセスの間に拘束されるこ
とになる。
【0037】もし、一の「コミット」又は「バックアウ
ト」要求の目標がアプリケーション・リクエスタ304
であれば、アプリケーション・プログラム302に代わ
って作動しているアプリケーション・リクエスタ304
が、同期点マネージャ306に接触して、2フェーズの
コミット処理を開始することができる。モニタ・プロセ
ス304aが前述の制約2を実現している場合のよう
に、当該トランザクションが同期点マネージャ306の
制御下にあれば、アプリケーション・リクエスタ304
は同期点マネージャ306に接触するに過ぎない。この
場合、同期点マネージャ306は、アプリケーション・
リクエスタ304が2フェーズのコミット処理に関与す
るように、これを拘束する。
ト」要求の目標がアプリケーション・リクエスタ304
であれば、アプリケーション・プログラム302に代わ
って作動しているアプリケーション・リクエスタ304
が、同期点マネージャ306に接触して、2フェーズの
コミット処理を開始することができる。モニタ・プロセ
ス304aが前述の制約2を実現している場合のよう
に、当該トランザクションが同期点マネージャ306の
制御下にあれば、アプリケーション・リクエスタ304
は同期点マネージャ306に接触するに過ぎない。この
場合、同期点マネージャ306は、アプリケーション・
リクエスタ304が2フェーズのコミット処理に関与す
るように、これを拘束する。
【0038】もし、一の「コミット」又は「バックアウ
ト」要求の目標が一の資源サイトであれば、この資源サ
イトは、トランザクション同期処理を開始しない。その
代わり、この資源サイトは、アプリケーション・リクエ
スタ304に対し、一の「コミット」又は「バックアウ
ト」が要求されたことを、「コミット要求済み」又は
「バックアウト要求済み」メッセージの形式で通知す
る。この場合、アプリケーション・リクエスタ304
は、これがあたかも要求されたアクションの目標であっ
たかの如く、前記と同じ手続きに従う。
ト」要求の目標が一の資源サイトであれば、この資源サ
イトは、トランザクション同期処理を開始しない。その
代わり、この資源サイトは、アプリケーション・リクエ
スタ304に対し、一の「コミット」又は「バックアウ
ト」が要求されたことを、「コミット要求済み」又は
「バックアウト要求済み」メッセージの形式で通知す
る。この場合、アプリケーション・リクエスタ304
は、これがあたかも要求されたアクションの目標であっ
たかの如く、前記と同じ手続きに従う。
【0039】本発明の基礎をなす本発明者の重要な知見
とは、分散型異種データベースシステムでは、(非保
護)資源サイトで行われる単一フェーズのトランザクシ
ョン同期動作を2フェーズのコミット処理と統合化する
ことができるが、そうするためには、この2フェーズの
コミット処理中にアプリケーション・リクエスタ304
が全ての非保護資源サイトを代表し得ることが条件とな
る、というものである。このことに関連して言えば、2
フェーズのコミット処理が開始される場合、その第1フ
ェーズの間に、アプリケーション・リクエスタ304
は、全ての非保護資源サイト320、330がコミット
することを求めるとともに、これらの非保護資源サイト
からの応答に従って2フェーズのコミット処理の間に投
票を行う。もし全ての非保護資源320、330がコミ
ットすれば、アプリケーション・リクエスタ304は、
第1フェーズの間にコミットするように投票する。他
方、もし任意の非保護資源サイト320又は330がバ
ックアウトするのであれば、アプリケーション・リクエ
スタ304は、第1フェーズの間にバックアウトするよ
うに投票する。前記した制約2の推奨モードでは、どの
非保護資源サイトも、更新を行うことを許容されない。
従って、もしアプリケーション・リクエスタ304が第
1フェーズの間にコミットするように投票し且つ一の保
護資源サイト340又は350がバックアウトするよう
に投票するのであれば、どの非保護資源サイトも、一の
コミット済み更新をバックアウトする必要はない。
とは、分散型異種データベースシステムでは、(非保
護)資源サイトで行われる単一フェーズのトランザクシ
ョン同期動作を2フェーズのコミット処理と統合化する
ことができるが、そうするためには、この2フェーズの
コミット処理中にアプリケーション・リクエスタ304
が全ての非保護資源サイトを代表し得ることが条件とな
る、というものである。このことに関連して言えば、2
フェーズのコミット処理が開始される場合、その第1フ
ェーズの間に、アプリケーション・リクエスタ304
は、全ての非保護資源サイト320、330がコミット
することを求めるとともに、これらの非保護資源サイト
からの応答に従って2フェーズのコミット処理の間に投
票を行う。もし全ての非保護資源320、330がコミ
ットすれば、アプリケーション・リクエスタ304は、
第1フェーズの間にコミットするように投票する。他
方、もし任意の非保護資源サイト320又は330がバ
ックアウトするのであれば、アプリケーション・リクエ
スタ304は、第1フェーズの間にバックアウトするよ
うに投票する。前記した制約2の推奨モードでは、どの
非保護資源サイトも、更新を行うことを許容されない。
従って、もしアプリケーション・リクエスタ304が第
1フェーズの間にコミットするように投票し且つ一の保
護資源サイト340又は350がバックアウトするよう
に投票するのであれば、どの非保護資源サイトも、一の
コミット済み更新をバックアウトする必要はない。
【0040】以下にリストする1組のシーケンスは、ア
プリケーション・プログラム302からの一の「コミッ
ト」又は「バックアウト」コマンドの目標に依存して、
一のトランザクションをコミット又はバックアウトする
ステップを記述するものである。かかる10個のシーケ
ンスを以下に示す。
プリケーション・プログラム302からの一の「コミッ
ト」又は「バックアウト」コマンドの目標に依存して、
一のトランザクションをコミット又はバックアウトする
ステップを記述するものである。かかる10個のシーケ
ンスを以下に示す。
【0041】1.アプリケーション・サイト300の同
期点マネージャ(SPM)306を目標とするコミッ
ト; 2.制約2の下で、一の資源サイトを目標とするコミッ
ト; 3.制約1の下で、一の資源サイトを目標とするコミッ
ト; 4.制約2の下で、アプリケーション・リクエスタ30
4を目標とするコミット; 5.制約1の下で、アプリケーション・リクエスタ30
4を目標とするコミット; 6.アプリケーション・サイト300の同期点マネージ
ャ(SPM)306を目標とするバックアウト; 7.制約2の下で、一の資源サイトを目標とするバック
アウト; 8.制約1の下で、一の資源サイトを目標とするバック
アウト; 9.制約2の下で、アプリケーション・リクエスタ30
4を目標とするバックアウト; 10.制約1の下で、アプリケーション・リクエスタ3
04を目標とするバックアウト。
期点マネージャ(SPM)306を目標とするコミッ
ト; 2.制約2の下で、一の資源サイトを目標とするコミッ
ト; 3.制約1の下で、一の資源サイトを目標とするコミッ
ト; 4.制約2の下で、アプリケーション・リクエスタ30
4を目標とするコミット; 5.制約1の下で、アプリケーション・リクエスタ30
4を目標とするコミット; 6.アプリケーション・サイト300の同期点マネージ
ャ(SPM)306を目標とするバックアウト; 7.制約2の下で、一の資源サイトを目標とするバック
アウト; 8.制約1の下で、一の資源サイトを目標とするバック
アウト; 9.制約2の下で、アプリケーション・リクエスタ30
4を目標とするバックアウト; 10.制約1の下で、アプリケーション・リクエスタ3
04を目標とするバックアウト。
【0042】これらのシーケンスの詳細を、以下に提示
する。各シーケンスの後にあるコメントは、当該シーケ
ンス期間中の各ステップに対応するものである。これら
のシーケンスは正常なフロー・シーケンスであって、ト
ランザクション同期処理を妨げるようなエラーが生じな
いことを仮定している。本発明は、「バックアウト」コ
マンドに帰着するような諸条件を説明する。同期点マネ
ージャ306のアクションは通常のものであるから、そ
の詳細を省略する。説明の便宜上、アプリケーション・
リクエスタ304を「リクエスタ」と略称し、同期点マ
ネージャ306を「SPM」と、資源サイトを「資源」
と、アプリケーション・プログラム302を「アプリケ
ーション」と、2フェーズの処理を「同期点処理」とそ
れぞれ略称する。2フェーズのコミット処理について
は、コミットに対する通知を「コミット要求」と称し、
コミット完了を「コミット済み」と称し、バックアウト
完了を「バックアウト済み」と称する。
する。各シーケンスの後にあるコメントは、当該シーケ
ンス期間中の各ステップに対応するものである。これら
のシーケンスは正常なフロー・シーケンスであって、ト
ランザクション同期処理を妨げるようなエラーが生じな
いことを仮定している。本発明は、「バックアウト」コ
マンドに帰着するような諸条件を説明する。同期点マネ
ージャ306のアクションは通常のものであるから、そ
の詳細を省略する。説明の便宜上、アプリケーション・
リクエスタ304を「リクエスタ」と略称し、同期点マ
ネージャ306を「SPM」と、資源サイトを「資源」
と、アプリケーション・プログラム302を「アプリケ
ーション」と、2フェーズの処理を「同期点処理」とそ
れぞれ略称する。2フェーズのコミット処理について
は、コミットに対する通知を「コミット要求」と称し、
コミット完了を「コミット済み」と称し、バックアウト
完了を「バックアウト済み」と称する。
【0043】1.アプリケーション・サイトのSPMを
目標とするコミット: 1.アプリケーションはSPMにコミットするよう要請
する。 2. SPMはリクエスタにコミットを準備するよう要
請する。SPMは全ての保護資源にコミットを準備する
よう要請する。 3. リクエスタは全ての非保護資源にコミットする
よう要請する。全ての非保護資源がコミットし、リクエ
スタに応答する。 4. リクエスタがコミット要求でSPMに応答する。
全ての保護資源がコミット要求でSPMに応答する。 5. SPMはリクエスタにコミットするよう要請す
る。SPMは全ての保護資源にコミットするよう要請す
る。 6. リクエスタがコミット済みでSPMに応答する。
全ての保護資源がコミット済みでSPMに応答する。 7.SPMがOKをアプリケーションへ返送する。
目標とするコミット: 1.アプリケーションはSPMにコミットするよう要請
する。 2. SPMはリクエスタにコミットを準備するよう要
請する。SPMは全ての保護資源にコミットを準備する
よう要請する。 3. リクエスタは全ての非保護資源にコミットする
よう要請する。全ての非保護資源がコミットし、リクエ
スタに応答する。 4. リクエスタがコミット要求でSPMに応答する。
全ての保護資源がコミット要求でSPMに応答する。 5. SPMはリクエスタにコミットするよう要請す
る。SPMは全ての保護資源にコミットするよう要請す
る。 6. リクエスタがコミット済みでSPMに応答する。
全ての保護資源がコミット済みでSPMに応答する。 7.SPMがOKをアプリケーションへ返送する。
【0044】<コメント> 1.アプリケーションはSPMに対し、トランザクショ
ンをコミットするよう要請する。 2.同期点処理が開始する。2フェーズのコミット・プ
ロトコルの第1フェーズの間、SPMはこのトランザク
ションについて登録された全ての資源に対し、このトラ
ンザクションをコミットする準備を行うように要請す
る。リクエスタはこのトランザクションについて登録さ
れているから、このリクエスタへの接触が行われる。リ
クエスタはこれらの非保護資源を代表する。SPMは、
これが必要とする順序で、これらの資源及びリクエスタ
に要請することができる。例えば、SPMは、リクエス
タより前にこれらの保護資源に要請することができる。
SPMが複数の資源を登録し且つこれらの登録済みの資
源に接触する順序は、本発明には無関係である。 3.リクエスタはこの準備を受信し、これらの非保護資
源をコミットするため資源に特有のプロトコルを使用す
る。非保護資源の各々はコミットした後に、リクエスタ
に対し、当該資源における当該トランザクションのステ
ータスで応答する。 4.リクエスタはこれらの非保護資源からの諸応答を受
信し、そして全ての資源が当該トランザクションをコミ
ットした場合、リクエスタはSPMに対し、当該トラン
ザクションの一のコミット要求で応答する。さもなけれ
ば、リクエスタは一のバックアウトを要求する。SPM
は、複数の保護資源からの諸応答をも受信する。 5.2フェーズのコミット・プロトコルの第2フェーズ
の間、SPMはこれらの保護資源及びリクエスタに対
し、コミットするように要請する。 6.リクエスタはSPMに応答して、当該トランザクシ
ョンがコミット済みであることを表示する。またSPM
は、これらの保護資源からの応答を受信する。 7.同期点処理が完了する場合、SPMが諸結果をアプ
リケーションへ返送する。
ンをコミットするよう要請する。 2.同期点処理が開始する。2フェーズのコミット・プ
ロトコルの第1フェーズの間、SPMはこのトランザク
ションについて登録された全ての資源に対し、このトラ
ンザクションをコミットする準備を行うように要請す
る。リクエスタはこのトランザクションについて登録さ
れているから、このリクエスタへの接触が行われる。リ
クエスタはこれらの非保護資源を代表する。SPMは、
これが必要とする順序で、これらの資源及びリクエスタ
に要請することができる。例えば、SPMは、リクエス
タより前にこれらの保護資源に要請することができる。
SPMが複数の資源を登録し且つこれらの登録済みの資
源に接触する順序は、本発明には無関係である。 3.リクエスタはこの準備を受信し、これらの非保護資
源をコミットするため資源に特有のプロトコルを使用す
る。非保護資源の各々はコミットした後に、リクエスタ
に対し、当該資源における当該トランザクションのステ
ータスで応答する。 4.リクエスタはこれらの非保護資源からの諸応答を受
信し、そして全ての資源が当該トランザクションをコミ
ットした場合、リクエスタはSPMに対し、当該トラン
ザクションの一のコミット要求で応答する。さもなけれ
ば、リクエスタは一のバックアウトを要求する。SPM
は、複数の保護資源からの諸応答をも受信する。 5.2フェーズのコミット・プロトコルの第2フェーズ
の間、SPMはこれらの保護資源及びリクエスタに対
し、コミットするように要請する。 6.リクエスタはSPMに応答して、当該トランザクシ
ョンがコミット済みであることを表示する。またSPM
は、これらの保護資源からの応答を受信する。 7.同期点処理が完了する場合、SPMが諸結果をアプ
リケーションへ返送する。
【0045】2.制約2の下で、一の資源を目標とする
コミット: 1.アプリケーションが一の資源にコミットするよう要
請する。 2. この資源がリクエスタにコミット要求済みの表示
で応答する。 3. リクエスタはSPMにコミットするよう要請す
る。(前記シーケンス1のステップ2−6参照) 9. SPMがリクエスタにOKで応答する。 10.リクエスタがアプリケーションに当該トランザク
ションのステータスで応答する。
コミット: 1.アプリケーションが一の資源にコミットするよう要
請する。 2. この資源がリクエスタにコミット要求済みの表示
で応答する。 3. リクエスタはSPMにコミットするよう要請す
る。(前記シーケンス1のステップ2−6参照) 9. SPMがリクエスタにOKで応答する。 10.リクエスタがアプリケーションに当該トランザク
ションのステータスで応答する。
【0046】<コメント> 1.アプリケーションは一の資源に対し、当該トランザ
クションをコミットするように要請する。 2.この資源はコミットしないで、コミット要求済みの
表示をリクエスタに返送する。 3.リクエスタはコミット要求済みの表示を受信し、ア
プリケーションに代わり、SPMに対しトランザクショ
ンをコミットするように要請する。(前記シーケンス1
のステップ2−6に関するコメント参照) 9.同期処理が完了すると、SPMが諸結果をリクエス
タへ返送する。 10.リクエスタがこれらの結果をアプリケーションへ
返送する。
クションをコミットするように要請する。 2.この資源はコミットしないで、コミット要求済みの
表示をリクエスタに返送する。 3.リクエスタはコミット要求済みの表示を受信し、ア
プリケーションに代わり、SPMに対しトランザクショ
ンをコミットするように要請する。(前記シーケンス1
のステップ2−6に関するコメント参照) 9.同期処理が完了すると、SPMが諸結果をリクエス
タへ返送する。 10.リクエスタがこれらの結果をアプリケーションへ
返送する。
【0047】3.制約1の下で、一の資源を目標とする
コミット: 1.アプリケーションは一の資源にコミットするよう要
請する。 2. この資源がリクエスタにコミット要求済みの表示
で応答する。 3. リクエスタは全ての非保護読取専用資源にコミッ
トするよう要請する。 4. 全ての非保護読取専用資源がコミットし且つリク
エスタに応答する。 5. リクエスタは非保護更新資源にコミットするよう
要請する。 6. この非保護更新資源がコミットし且つリクエスタ
に応答する。 7.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
コミット: 1.アプリケーションは一の資源にコミットするよう要
請する。 2. この資源がリクエスタにコミット要求済みの表示
で応答する。 3. リクエスタは全ての非保護読取専用資源にコミッ
トするよう要請する。 4. 全ての非保護読取専用資源がコミットし且つリク
エスタに応答する。 5. リクエスタは非保護更新資源にコミットするよう
要請する。 6. この非保護更新資源がコミットし且つリクエスタ
に応答する。 7.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0048】<コメント> 1.アプリケーションは、一の資源に対し、当該トラン
ザクションをコミットするように要請する。 2.この資源はコミットせずに、コミット要求済みの表
示をリクエスタに返送する。 3.リクエスタは、全ての非保護読取専用資源に対しコ
ミットするように要請するため、資源に特有のプロトコ
ルを使用する。これらの非保護読取専用資源がコミット
し且つリクエスタにこれらの資源における当該トランザ
クションのステータスで応答する。 4.リクエスタは、非保護更新資源に対し、コミットす
るように要請する。この非保護更新資源がリクエスタに
応答する。 5.リクエスタが諸結果をアプリケーションへ返送す
る。
ザクションをコミットするように要請する。 2.この資源はコミットせずに、コミット要求済みの表
示をリクエスタに返送する。 3.リクエスタは、全ての非保護読取専用資源に対しコ
ミットするように要請するため、資源に特有のプロトコ
ルを使用する。これらの非保護読取専用資源がコミット
し且つリクエスタにこれらの資源における当該トランザ
クションのステータスで応答する。 4.リクエスタは、非保護更新資源に対し、コミットす
るように要請する。この非保護更新資源がリクエスタに
応答する。 5.リクエスタが諸結果をアプリケーションへ返送す
る。
【0049】4.制約2の下で、リクエスタを目標とす
るコミット: 1.アプリケーションはリクエスタにコミットするよう
要請する。 2. リクエスタはSPMにコミットするよう要請す
る。(前記シーケンス1のステップ2−6参照) 8. SPMがリクエスタに最初のコミットに対するO
Kで応答する。 9.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
るコミット: 1.アプリケーションはリクエスタにコミットするよう
要請する。 2. リクエスタはSPMにコミットするよう要請す
る。(前記シーケンス1のステップ2−6参照) 8. SPMがリクエスタに最初のコミットに対するO
Kで応答する。 9.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0050】<コメント> 1.アプリケーションはリクエスタに対し、当該トラン
ザクションをコミットするように要請する。 2.リクエスタは、アプリケーションに代わって、SP
Mに対しコミットするように要請する。(前記シーケン
ス1のステップ2−6に関するコメントを参照) 8.同期点処理が完了すると、SPMが諸結果をリクエ
スタに返送する。 9.リクエスタがこれらの結果をアプリケーションへ返
送する。
ザクションをコミットするように要請する。 2.リクエスタは、アプリケーションに代わって、SP
Mに対しコミットするように要請する。(前記シーケン
ス1のステップ2−6に関するコメントを参照) 8.同期点処理が完了すると、SPMが諸結果をリクエ
スタに返送する。 9.リクエスタがこれらの結果をアプリケーションへ返
送する。
【0051】5.制約1の下で、リクエスタを目標とす
るコミット: 1.アプリケーションはリクエスタにコミットするよう
要請する。 2. リクエスタは全ての非保護読取専用資源にコミッ
トするよう要請する。全ての非保護読取専用資源がコミ
ットし且つリクエスタに応答する。 3. リクエスタは非保護更新資源にコミットするよう
要請する。この非保護更新資源がコミットし且つリクエ
スタに応答する。 4. リクエスタがアプリケーションに当該トランザク
ションのステータスで応答する。
るコミット: 1.アプリケーションはリクエスタにコミットするよう
要請する。 2. リクエスタは全ての非保護読取専用資源にコミッ
トするよう要請する。全ての非保護読取専用資源がコミ
ットし且つリクエスタに応答する。 3. リクエスタは非保護更新資源にコミットするよう
要請する。この非保護更新資源がコミットし且つリクエ
スタに応答する。 4. リクエスタがアプリケーションに当該トランザク
ションのステータスで応答する。
【0052】<コメント> 1.アプリケーションはリクエスタに対し、当該トラン
ザクションをコミットするように要請する。 2.リクエスタは、全ての非保護読取専用資源に対しコ
ミットするように要請するため、資源に特有のプロトコ
ルを使用する。これらの非保護読取専用資源がコミット
し且つリクエスタに対し、これらの資源における当該ト
ランザクションのステータスで応答する。 3.リクエスタは非保護更新資源に対し、コミットする
ように要請する。この非保護更新資源がリクエスタに応
答する。 4.リクエスタが諸結果をアプリケーションへ返送す
る。
ザクションをコミットするように要請する。 2.リクエスタは、全ての非保護読取専用資源に対しコ
ミットするように要請するため、資源に特有のプロトコ
ルを使用する。これらの非保護読取専用資源がコミット
し且つリクエスタに対し、これらの資源における当該ト
ランザクションのステータスで応答する。 3.リクエスタは非保護更新資源に対し、コミットする
ように要請する。この非保護更新資源がリクエスタに応
答する。 4.リクエスタが諸結果をアプリケーションへ返送す
る。
【0053】6.アプリケーション・サイトのSPMを
目標とするバックアウト: 1.アプリケーションはSPMにバックアウトするよう
要請する。 2. SPMはリクエスタにバックアウトするよう要請
する。SPMは全ての保護資源にバックアウトするよう
要請する。 3. リクエスタは全ての非保護資源にバックアウト
するよう要請し、全ての非保護資源がバックアウトし、
そしてリクエスタに応答する。 4. リクエスタがSPMにバックアウト済みで応答
し、全ての保護資源がSPMにバックアウト済みで応答
する。 5.SPMがアプリケーションにOKを返送する。
目標とするバックアウト: 1.アプリケーションはSPMにバックアウトするよう
要請する。 2. SPMはリクエスタにバックアウトするよう要請
する。SPMは全ての保護資源にバックアウトするよう
要請する。 3. リクエスタは全ての非保護資源にバックアウト
するよう要請し、全ての非保護資源がバックアウトし、
そしてリクエスタに応答する。 4. リクエスタがSPMにバックアウト済みで応答
し、全ての保護資源がSPMにバックアウト済みで応答
する。 5.SPMがアプリケーションにOKを返送する。
【0054】<コメント> 1.アプリケーションはSPMに対し、当該トランザク
ションをバックアウトするように要請する。 2.バックアウト処理が開始する。SPMは当該トラン
ザクションのために登録された全ての資源に対し、バッ
クアウトするように要請する。リクエスタは当該トラン
ザクションのために登録されているから、リクエスタへ
の接触が行われる。SPMは、これが必要とする順序
で、これらの資源及びリクエスタに要請することができ
る。例えば、SPMはリクエスタより前にこれらの保護
資源に要請することができる。SPMが登録された諸資
源に接触する順序は、本発明に無関係である。 3.リクエスタがバックアウトを受信し、そしてこれら
の非保護資源をバックアウトするため、資源に特有のプ
ロトコルを使用する。 4.リクエスタはこれらの非保護資源からの諸応答を受
信し、SPMに対しバックアウト済みで応答する。 5.同期点処理が完了する場合、SPMが諸結果をアプ
リケーションへ返送する。
ションをバックアウトするように要請する。 2.バックアウト処理が開始する。SPMは当該トラン
ザクションのために登録された全ての資源に対し、バッ
クアウトするように要請する。リクエスタは当該トラン
ザクションのために登録されているから、リクエスタへ
の接触が行われる。SPMは、これが必要とする順序
で、これらの資源及びリクエスタに要請することができ
る。例えば、SPMはリクエスタより前にこれらの保護
資源に要請することができる。SPMが登録された諸資
源に接触する順序は、本発明に無関係である。 3.リクエスタがバックアウトを受信し、そしてこれら
の非保護資源をバックアウトするため、資源に特有のプ
ロトコルを使用する。 4.リクエスタはこれらの非保護資源からの諸応答を受
信し、SPMに対しバックアウト済みで応答する。 5.同期点処理が完了する場合、SPMが諸結果をアプ
リケーションへ返送する。
【0055】7.制約2の下で、一の資源を目標とする
バックアウト: 1.アプリケーションは一の資源にバックアウトするよ
う要請する。 2. この資源がリクエスタにバックアウト要求済みの
表示で応答する。 3. リクエスタはSPMにバックアウトするよう要請
する。(前記シーケンス6のステップ2−4参照) 7. SPMがリクエスタにバックアウトに対するOK
で応答する。 8.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
バックアウト: 1.アプリケーションは一の資源にバックアウトするよ
う要請する。 2. この資源がリクエスタにバックアウト要求済みの
表示で応答する。 3. リクエスタはSPMにバックアウトするよう要請
する。(前記シーケンス6のステップ2−4参照) 7. SPMがリクエスタにバックアウトに対するOK
で応答する。 8.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0056】<コメント> 1.アプリケーションは一の資源に対し、当該トランザ
クションをバックアウトするように要請する。 2.この資源はバックアウトせずに、リクエスタにバッ
クアウト要求済みの表示を返送する。 3.リクエスタがバックアウト要求済みの表示を受信
し、SPMに対し当該トランザクションをバックアウト
するように要請する。(前記シーケンス6のステップ2
−4に関するコメント参照) 7.バックアウト処理が完了すると、SPMがリクエス
タへOKを返送する。8.リクエスタが諸結果をアプリ
ケーションへ返送する。
クションをバックアウトするように要請する。 2.この資源はバックアウトせずに、リクエスタにバッ
クアウト要求済みの表示を返送する。 3.リクエスタがバックアウト要求済みの表示を受信
し、SPMに対し当該トランザクションをバックアウト
するように要請する。(前記シーケンス6のステップ2
−4に関するコメント参照) 7.バックアウト処理が完了すると、SPMがリクエス
タへOKを返送する。8.リクエスタが諸結果をアプリ
ケーションへ返送する。
【0057】8.制約1の下で、一の資源を目標とする
バックアウト: 1.アプリケーションは一の資源にバックアウトするよ
う要請する。 2. この資源がリクエスタにバックアウト要求済みの
表示で応答する。 3. リクエスタは全ての非保護資源にバックアウトす
るよう要請し、これらの全ての非保護資源がバックアウ
トして、リクエスタに応答する。 4.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
バックアウト: 1.アプリケーションは一の資源にバックアウトするよ
う要請する。 2. この資源がリクエスタにバックアウト要求済みの
表示で応答する。 3. リクエスタは全ての非保護資源にバックアウトす
るよう要請し、これらの全ての非保護資源がバックアウ
トして、リクエスタに応答する。 4.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0058】<コメント> 1.アプリケーションは一の資源に対し、当該トランザ
クションをバックアウトするように要請する。 2.この資源はバックアウトせずに、リクエスタにバッ
クアウト要求済みの表示を返送する。 3.リクエスタはバックアウト要求済みの表示を受信
し、これらの非保護資源をバックアウトするため、資源
に特有のプロトコルを使用する。これらの非保護資源が
バックアウトし、リクエスタにこれらの資源における当
該トランザクションのステータスで応答する。
クションをバックアウトするように要請する。 2.この資源はバックアウトせずに、リクエスタにバッ
クアウト要求済みの表示を返送する。 3.リクエスタはバックアウト要求済みの表示を受信
し、これらの非保護資源をバックアウトするため、資源
に特有のプロトコルを使用する。これらの非保護資源が
バックアウトし、リクエスタにこれらの資源における当
該トランザクションのステータスで応答する。
【0059】4.リクエスタがアプリケーションに諸結
果を返送する。
果を返送する。
【0060】9.制約2の下で、リクエスタを目標とす
るバックアウト: 1.アプリケーションはリクエスタにバックアウトする
よう要請する。 2. リクエスタはSPMにバックアウトするよう要請
する。(前記シーケンス6のステップ2−4参照) 6. SPMがリクエスタにバックアウト・コールに対
するOKで応答する。 7.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
るバックアウト: 1.アプリケーションはリクエスタにバックアウトする
よう要請する。 2. リクエスタはSPMにバックアウトするよう要請
する。(前記シーケンス6のステップ2−4参照) 6. SPMがリクエスタにバックアウト・コールに対
するOKで応答する。 7.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0061】<コメント> 1.アプリケーションはリクエスタに対し、当該トラン
ザクションをバックアウトするように要請する。 2.リクエスタはSPMに対し、バックアウトするよう
に要請する。
ザクションをバックアウトするように要請する。 2.リクエスタはSPMに対し、バックアウトするよう
に要請する。
【0062】(前記シーケンス6のステップ2−4に関
するコメント参照) 6.バックアウト処理が完了する場合、SPMがリクエ
スタに諸結果を返送する。
するコメント参照) 6.バックアウト処理が完了する場合、SPMがリクエ
スタに諸結果を返送する。
【0063】7.リクエスタがアプリケーションにこれ
らの結果を返送する。
らの結果を返送する。
【0064】10.制約1の下で、リクエスタを目標と
するバックアウト: 1.アプリケーションはリクエスタにバックアウトする
よう要請する。 2. リクエスタは全ての非保護資源にバックアウトす
るよう要請する。 3.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
するバックアウト: 1.アプリケーションはリクエスタにバックアウトする
よう要請する。 2. リクエスタは全ての非保護資源にバックアウトす
るよう要請する。 3.リクエスタがアプリケーションに当該トランザクシ
ョンのステータスで応答する。
【0065】<コメント> 1.アプリケーションはリクエスタに対し、当該トラン
ザクションをバックアウトするように要請する。 2.リクエスタは、これらの非保護資源をバックアウト
するため、資源に特有のプロトコルを使用する。これら
の非保護資源がバックアウトし、リクエスタに対し、こ
れらの資源における当該トランザクションのステータス
で応答する。 3.リクエスタがアプリケーションに諸結果を返送す
る。
ザクションをバックアウトするように要請する。 2.リクエスタは、これらの非保護資源をバックアウト
するため、資源に特有のプロトコルを使用する。これら
の非保護資源がバックアウトし、リクエスタに対し、こ
れらの資源における当該トランザクションのステータス
で応答する。 3.リクエスタがアプリケーションに諸結果を返送す
る。
【0066】制約1の下でアプリケーション・リクエス
タ304がトランザクション同期処理を行う任意の時間
に、アプリケーション・リクエスタ304は資源テーブ
ル304cを使用して、複数の資源がコミット又はバッ
クアウトされる順序を決定する。表3及び表4並びに前
述の各シーケンスが示すように、複数の読取専用資源サ
イトは、更新資源サイトより前にコミットするように要
請される。この順序でコミットを行わせると、一の更新
をバックアウトせねばならない場合に、当該トランザク
ションをバックアウトする前及び後に複数のデータベー
スの一貫性を維持することができる。なぜなら、読取専
用資源は当該トランザクションによっては変更されてい
ないからである。
タ304がトランザクション同期処理を行う任意の時間
に、アプリケーション・リクエスタ304は資源テーブ
ル304cを使用して、複数の資源がコミット又はバッ
クアウトされる順序を決定する。表3及び表4並びに前
述の各シーケンスが示すように、複数の読取専用資源サ
イトは、更新資源サイトより前にコミットするように要
請される。この順序でコミットを行わせると、一の更新
をバックアウトせねばならない場合に、当該トランザク
ションをバックアウトする前及び後に複数のデータベー
スの一貫性を維持することができる。なぜなら、読取専
用資源は当該トランザクションによっては変更されてい
ないからである。
【0067】図6は、アプリケーション・リクエスタ3
04が遂行するコミット・プロセスを実現するための諸
手続きを示す。同図中のアプリケーション・プロセス6
01は、本明細書で説明した物理的及び論理的アーキテ
クチャの任意のものについて実行可能な任意のアプリケ
ーション・プログラムを含んでいる。これを実行する
と、1つ以上の分散型データベースで行われるトランザ
クション指向のデータベース・アクセス動作が開始さ
れ、そのトランザクション同期は「コミット」及び「バ
ックアウト」手続き又はそれらに等価な手続きによって
制御される。アプリケーション・プロセス601は、そ
のアプリケーション・リクエスタへ論理的に結合されて
おり、そしてこのアプリケーション・リクエスタは、以
下の表8に記述されているリクエスタ手続き602を含
んでいる。アプリケーション・プロセス601は、SP
Mプロセス603にも論理的に結合されている。SPM
プロセス603は通常のものであって、複数フェーズの
コミット手続きを行うことが可能な前記同期点マネージ
ャ(SPM)又はこれと同等の回復マネージャの構成及
び機能を有する。各保護資源サイトにおける各アプリケ
ーション・サーバは、アプリケーション・リクエスタ3
04のピアであって、一の同期点マネージャに関連して
実行されるアプリケーション・サーバ用の通常の諸機能
に加えて、以下の表15に記述されている保護手続きブ
ロック604が表す複数の機能を有する。同様に、各非
保護資源サイトにおける各アプリケーション・サーバ
は、通常の機能に加えて、以下の表16に記述されてい
る非保護手続きブロック605が表す複数の機能を有す
る。ブロック602、604及び605がそれぞれ表す
複数のプロセスは、全体として、コミット・プロセスの
前記複数のシーケンスを実現するものである。
04が遂行するコミット・プロセスを実現するための諸
手続きを示す。同図中のアプリケーション・プロセス6
01は、本明細書で説明した物理的及び論理的アーキテ
クチャの任意のものについて実行可能な任意のアプリケ
ーション・プログラムを含んでいる。これを実行する
と、1つ以上の分散型データベースで行われるトランザ
クション指向のデータベース・アクセス動作が開始さ
れ、そのトランザクション同期は「コミット」及び「バ
ックアウト」手続き又はそれらに等価な手続きによって
制御される。アプリケーション・プロセス601は、そ
のアプリケーション・リクエスタへ論理的に結合されて
おり、そしてこのアプリケーション・リクエスタは、以
下の表8に記述されているリクエスタ手続き602を含
んでいる。アプリケーション・プロセス601は、SP
Mプロセス603にも論理的に結合されている。SPM
プロセス603は通常のものであって、複数フェーズの
コミット手続きを行うことが可能な前記同期点マネージ
ャ(SPM)又はこれと同等の回復マネージャの構成及
び機能を有する。各保護資源サイトにおける各アプリケ
ーション・サーバは、アプリケーション・リクエスタ3
04のピアであって、一の同期点マネージャに関連して
実行されるアプリケーション・サーバ用の通常の諸機能
に加えて、以下の表15に記述されている保護手続きブ
ロック604が表す複数の機能を有する。同様に、各非
保護資源サイトにおける各アプリケーション・サーバ
は、通常の機能に加えて、以下の表16に記述されてい
る非保護手続きブロック605が表す複数の機能を有す
る。ブロック602、604及び605がそれぞれ表す
複数のプロセスは、全体として、コミット・プロセスの
前記複数のシーケンスを実現するものである。
【0068】アプリケーション・プロセス601は、S
PMプロセス603、リクエスタ手続き602並びに保
護手続き604及び非保護手続き605をコールする。
リクエスタ手続き602は、SPMプロセス603、保
護手続き604及び非保護手続き605をコールする。
SPMプロセス603は、リクエスタ手続き602及び
保護手続き604をコールする。保護手続き604は、
リクエスタ手続き602をコールし、非保護手続き60
5は、リクエスタ手続き602をコールする。
PMプロセス603、リクエスタ手続き602並びに保
護手続き604及び非保護手続き605をコールする。
リクエスタ手続き602は、SPMプロセス603、保
護手続き604及び非保護手続き605をコールする。
SPMプロセス603は、リクエスタ手続き602及び
保護手続き604をコールする。保護手続き604は、
リクエスタ手続き602をコールし、非保護手続き60
5は、リクエスタ手続き602をコールする。
【0069】以下の表8に記述されているリクエスタ手
続き602は、複数のコールを受信して、これらを以下
の表9ないし表11に記述されているアプリケーション
・リクエスタ304の複数の手続きにルートする。表9
に記述されている資源コール手続き602aは、複数の
資源サイトを目標とする全てのコールがアプリケーショ
ン・リクエスタ304を通過し且つそれぞれのアプリケ
ーション・サーバを介して当該資源サイトに至ることを
仮定する。このコールは資源サイトにおけるアプリケー
ション・サーバからの応答を導き、この応答はアプリケ
ーション・リクエスタ304へ向けられ、そこで分析さ
れ、必要に応じて処理され、それらの意図する受信先へ
送信され、そして最初のコールがアプリケーション・リ
クエスタ304によって処理される。
続き602は、複数のコールを受信して、これらを以下
の表9ないし表11に記述されているアプリケーション
・リクエスタ304の複数の手続きにルートする。表9
に記述されている資源コール手続き602aは、複数の
資源サイトを目標とする全てのコールがアプリケーショ
ン・リクエスタ304を通過し且つそれぞれのアプリケ
ーション・サーバを介して当該資源サイトに至ることを
仮定する。このコールは資源サイトにおけるアプリケー
ション・サーバからの応答を導き、この応答はアプリケ
ーション・リクエスタ304へ向けられ、そこで分析さ
れ、必要に応じて処理され、それらの意図する受信先へ
送信され、そして最初のコールがアプリケーション・リ
クエスタ304によって処理される。
【0070】表10に記述されているリクエスタ・コミ
ット手続き602bが呼出されるのは、アプリケーショ
ン・リクエスタ304が一のトランザクションをコミッ
トするようにコールされる場合である。表11に記述さ
れているリクエスタ・バックアウト手続き602cの呼
出しは、一のトランザクションをバックアウトするため
のアプリケーション・リクエスタ304へのコールに応
答して行われる。(表12−表14にそれぞれ記述され
ている)準備手続き602d、コミット済み手続き60
2e及びバックアウト手続き602fは、同期点マネー
ジャ(SPM)によって行われる2フェーズのコミット
・トランザクション同期手続きの第1フェーズ(準備)
及び第2(コミット又はバックアウト)フェーズに応答
して、アプリケーション・リクエスタ304によって行
われる。
ット手続き602bが呼出されるのは、アプリケーショ
ン・リクエスタ304が一のトランザクションをコミッ
トするようにコールされる場合である。表11に記述さ
れているリクエスタ・バックアウト手続き602cの呼
出しは、一のトランザクションをバックアウトするため
のアプリケーション・リクエスタ304へのコールに応
答して行われる。(表12−表14にそれぞれ記述され
ている)準備手続き602d、コミット済み手続き60
2e及びバックアウト手続き602fは、同期点マネー
ジャ(SPM)によって行われる2フェーズのコミット
・トランザクション同期手続きの第1フェーズ(準備)
及び第2(コミット又はバックアウト)フェーズに応答
して、アプリケーション・リクエスタ304によって行
われる。
【0071】保護手続き604は、種々の源から一の保
護資源サイトにある一のアプリケーション・サーバへな
される複数のコールを、表15中の適当な手続きへルー
トするものである。準備手続き604a、コミット手続
き604b及びバックアウト手続き604cは、2フェ
ーズのトランザクション同期の間にコールされる。資源
コミット手続き604d及び資源バックアウト手続き6
04eは、アプリケーション・プログラムから行われ得
る動的なコールを表す(なお、かかるアプリケーション
・プログラムは、そのコンパイル時に、これらのコール
に関する知識を一切持っていない)。かかるコールの各
々は、アプリケーション・サーバへ向けられる一の要求
を導く。ここで注意すべきは、アプリケーション・リク
エスタ304で発信され且つ各保護資源サイトへ向けら
れる「コミット」及び「バックアウト」コールが本発明
のプロトコルに違反し、従って「コマンド違反」表示を
返送するという点である。
護資源サイトにある一のアプリケーション・サーバへな
される複数のコールを、表15中の適当な手続きへルー
トするものである。準備手続き604a、コミット手続
き604b及びバックアウト手続き604cは、2フェ
ーズのトランザクション同期の間にコールされる。資源
コミット手続き604d及び資源バックアウト手続き6
04eは、アプリケーション・プログラムから行われ得
る動的なコールを表す(なお、かかるアプリケーション
・プログラムは、そのコンパイル時に、これらのコール
に関する知識を一切持っていない)。かかるコールの各
々は、アプリケーション・サーバへ向けられる一の要求
を導く。ここで注意すべきは、アプリケーション・リク
エスタ304で発信され且つ各保護資源サイトへ向けら
れる「コミット」及び「バックアウト」コールが本発明
のプロトコルに違反し、従って「コマンド違反」表示を
返送するという点である。
【0072】非保護手続き605から行われるコール
が、アプリケーション・プログラムから発信された場合
(ブロック605a及び605b)、アプリケーション
・リクエスタ304へ一の「要求済み」メッセージが返
送される。アプリケーション・リクエスタ304からの
「コミット」及び「バックアウト」コールに応答して、
非保護手続き605はブロック605c及び605dに
よって表される手続きへのコールを行って、非保護資源
をコミット又はバックアウトする。以下の表8ないし表
16は、一般に、「IF−THEN−ELSE−EN
D」の形式でそれぞれの手続きを記述する。但し、説明
の便宜のために、「IF」文を、「もし、・・・なら
ば」という形式で表現してある。
が、アプリケーション・プログラムから発信された場合
(ブロック605a及び605b)、アプリケーション
・リクエスタ304へ一の「要求済み」メッセージが返
送される。アプリケーション・リクエスタ304からの
「コミット」及び「バックアウト」コールに応答して、
非保護手続き605はブロック605c及び605dに
よって表される手続きへのコールを行って、非保護資源
をコミット又はバックアウトする。以下の表8ないし表
16は、一般に、「IF−THEN−ELSE−EN
D」の形式でそれぞれの手続きを記述する。但し、説明
の便宜のために、「IF」文を、「もし、・・・なら
ば」という形式で表現してある。
【0073】
【表8】
【0074】
【表9】 −資源コール手続き 資源を目標とするコールがリクエスタを通してこの資源へパスされる; もし、複数−資源更新で且つこの資源からの応答がコミットであれば then SPMをコールしてトランザクションをコミット; もし、複数−資源更新で且つこの資源からの応答がバックアウトであれば then SPMをコールしてトランザクションをバックアウト; もし、非複数−資源更新で且つこの資源からの応答がコミットであれば then 全ての読取専用資源について又はバックアウトが生ずるまで反復 コミット・コマンドを読取専用資源へ送信; もし、応答がバックアウトであれば then 全ての読取専用資源について反復 バックアウト・コマンドを読取専用資源へ送信; 反復終了; then 終了; 反復終了; もし、読取専用資源がバックアウト済みであれば then バックアウトを更新資源へ送信 else コミットを更新資源へ送信 もし、更新資源がバックアウトすれば then 全ての読取専用資源について反復 バックアウト・コマンドを資源へ送信; 反復終了; then 終了; else 終了; then 終了; もし、非複数−資源更新で且つこの資源からの応答がバックアウトであれば then 全ての資源について反復 バックアウト・コマンドを資源へ送信; 反復終了; then 終了; トランザクションのステータスを返送; −資源コール手続き終了。
【0075】
【表10】 −リクエスタ・コミット手続き もし、複数−資源更新であれば then SPMをコールして当該トランザクションをコミット; もし、非複数−資源更新であれば then 全ての読取専用資源について又はバックアウトが生ずるまで反復 コミット・コマンドを読取専用資源へ送信; もし、応答がバックアウトであれば then 全ての読取専用資源について反復 バックアウト・コマンドを読取専用資源へ送信; 反復終了; then 終了; 反復終了; もし、読取専用資源がバックアウト済みであれば then バックアウトを更新資源へ送信 else コミットを更新資源へ送信 もし、更新資源がバックアウトすれば then 全ての読取専用資源について反復 バックアウト・コマンドを読取専用資源へ送信 反復終了 then 終了; else 終了; then 終了; トランザクションのステータスを返送; −リクエスタ・コミット手続き終了。
【0076】
【表11】 −リクエスタ・バックアウト手続き もし、複数−資源更新であれば then SPMをコールして当該トランザクションをバックアウト; もし、非複数−資源更新であれば 全ての資源について反復 バックアウト・コマンドを資源へ送信; 反復終了; トランザクションのステータスを返送; −リクエスタ・バックアウト手続き終了。
【0077】
【表12】 −準備手続き 全ての非保護資源について又はバックアウトが生ずるまで反復 コミット・コマンドを資源へ送信; もし、応答がバックアウトであれば then 全ての非保護資源について反復 バックアウト・コマンドを非保護資源へ送信; 反復終了; then 終了; 反復終了; もし、資源がバックアウト済みであれば then バックアウト済みを返送 else リクエスタ・コミットを返送; −準備手続き終了。
【0078】
【表13】
【0079】
【表14】
【0080】
【表15】
【0081】
【表16】
【0082】
【発明の効果】以上のように、本発明によれば、分散型
異種データベース・システム中の全てのサイトを2フェ
ーズ動作へ移行させないで複数サイトの更新動作を行う
ことができるように、単一フェーズ及び複数フェーズの
コミット処理を調整することによって、トランザクショ
ンの原子性を保証することができる。
異種データベース・システム中の全てのサイトを2フェ
ーズ動作へ移行させないで複数サイトの更新動作を行う
ことができるように、単一フェーズ及び複数フェーズの
コミット処理を調整することによって、トランザクショ
ンの原子性を保証することができる。
【図1】本発明を実施するのに適した、分散型異種デー
タベース・システムの物理的アーキテクチャを示すブロ
ック図である。
タベース・システムの物理的アーキテクチャを示すブロ
ック図である。
【図2】本発明を実施するのに適した、代替的な分散型
異種データベース・システムの物理的アーキテクチャを
示すブロック図である。
異種データベース・システムの物理的アーキテクチャを
示すブロック図である。
【図3】本発明を実施するのに適した、分散型異種デー
タベース・システムの論理的アーキテクチャを示すブロ
ック図である。
タベース・システムの論理的アーキテクチャを示すブロ
ック図である。
【図4】アプリケーション・サイトの論理的構成要素と
接続形態を一層詳細に示す図である。
接続形態を一層詳細に示す図である。
【図5】2つの制約を組込んだ、本発明の方法を示す流
れ図である。
れ図である。
【図6】本発明の分散型異種データベース・システムに
おける、アプリケーション・プロセスからトランザクシ
ョン同期プロセスへの制御の流れを示す図である。
おける、アプリケーション・プロセスからトランザクシ
ョン同期プロセスへの制御の流れを示す図である。
300・・・・・・・アプリケーション・サイト 302・・・・・・・アプリケーション・プログラム 303・・・・・・・データベース言語インタフェース 304・・・・・・・アプリケーション・リクエスタ 304a・・・・・・モニタ・プロセス 304b・・・・・・コミット・プロセス 304c・・・・・・資源テーブル 304d・・・・・・アプリケーション・インタフェー
ス 305・・・・・・・ネットワーク通信サービス手段 306・・・・・・・同期点マネージャ 308・・・・・・・同期点マネージャ−アプリケーシ
ョン・インタフェース 309・・・・・・・同期点マネージャ−資源マネージ
ャ・インタフェース 320、330・・・非保護資源サイト 340、350・・・保護資源サイト
ス 305・・・・・・・ネットワーク通信サービス手段 306・・・・・・・同期点マネージャ 308・・・・・・・同期点マネージャ−アプリケーシ
ョン・インタフェース 309・・・・・・・同期点マネージャ−資源マネージ
ャ・インタフェース 320、330・・・非保護資源サイト 340、350・・・保護資源サイト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・ジョセフ・グラーフェ アメリカ合衆国テキサス州、オースチン、 ハンターズ・トレード 9201番地 (72)発明者 ロバート・ディーン・ジャクソン アメリカ合衆国カリフォルニア州、マーフ ィス、ピー・オー・ボックス 487 (72)発明者 ロジャー・アラン・ラインシュ アメリカ合衆国カリフォルニア州、クペル ティノ、グリーンリーフ・ドライブ 20663番地 (72)発明者 リチャード・ロランド・サンダース アメリカ合衆国ミネソタ州、ロチェスタ ー、サーティ・フォース・ストリート、エ ヌ・ダブリュー 1846番地 (72)発明者 ヤコブ・スロニム カナダ国トロント州、スカーブロー・ロー ド 230番地 (72)発明者 メルビン・リチャード・ジモウスキー アメリカ合衆国カリフォルニア州、サン・ ホゼ、スリアン・コート 1079番地
Claims (9)
- 【請求項1】トランザクション実行用の一のアプリケー
ション・プログラムを実行するためのプロセッサ及びア
プリケーションのトランザクション要求を転送し且つ当
該トランザクション要求に対する応答を受信するための
一のアプリケーション・リクエスタを含んでいる少なく
とも1つのアプリケーション・サイトと;少なくとも1
つの第1の資源サイト及び少なくとも1つの第2の資源
サイトを含む複数の資源サイトとを備え;前記第1の資
源サイトの各々は、一のデータベースと、単一フェーズ
のトランザクション同期手続きの制御下で、トランザク
ション要求に応答してデータベース・アクセス動作を遂
行するための一のデータベース管理システムを有するプ
ロセッサと、複数のトランザクション要求を受信し且つ
かかるトランザクション要求に対する複数の応答を転送
するためのサーバ手段とを含み;前記第2の資源サイト
の各々は、一のデータベースと、複数フェーズのトラン
ザクション同期手続きの制御下で、トランザクション要
求に応答してデータベース・アクセス動作を遂行するた
めの一のデータベース管理システムを有するプロセッサ
と、複数のトランザクション要求を受信し且つ当該トラ
ンザクション要求に対する複数の応答を転送するための
サーバ手段とを含み;更に、前記複数のサイトの全ての
サイト相互間の通信を行うために当該複数の資源サイト
を接続する通信手段とを備えて成る、分散型データベー
ス・システムにおいて: (1)一の前記資源サイトにおける少なくとも1つのデ
ータベース・アクセス動作を含む一のトランザクション
を、前記アプリケーション・サイトにおいて実行するス
テップと; (2)前記アプリケーション・サイトから一のトランザ
クション同期要求を発行し且つ当該トランザクション同
期要求を前記アプリケーション・リクエスタへ通信する
ステップと; (3)前記第1の資源サイトのうち任意のものが当該ト
ランザクションの間にデータベース・アクセス動作を遂
行したか否かを、前記アプリケーション・リクエスタに
おいて判定するステップと; (4)前記第1の資源サイトだけが当該トランザクショ
ンの間にデータベース・アクセス動作を遂行した場合
は、前記アプリケーション・リクエスタからかかるデー
タベース・アクセス動作を遂行した第1の資源サイトの
全てへトランザクション・コミット要求をそれぞれ通信
し、当該トランザクション・コミット要求に応答して、
かかるデータベース・アクセス動作を遂行した第1の資
源サイトの全てにおいて単一フェーズのトランザクショ
ン同期手続きをそれぞれ行うとともに、当該単一フェー
ズのトランザクション同期手続きのそれぞれの結果を前
記アプリケーション・サイトへ通信するステップと; (5)前記第1の資源サイト及び第2の資源サイトが当
該トランザクションの間にデータベース・アクセス動作
を遂行した場合は、先ず、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタへトランザクション・コミッ
ト要求をそれぞれ通信し、かかるデータベース・アクセ
ス動作を遂行した第2の資源サイトの全て及び前記アプ
リケーション・リクエスタを含めて、複数フェーズのト
ランザクション同期手続きを開始し、前記アプリケーシ
ョン・リクエスタからかかるデータベース・アクセス動
作を遂行した第1の資源サイトの全てへトランザクショ
ン同期要求をそれぞれ通信し、当該トランザクション同
期要求に応答して、かかるデータベース・アクセス動作
を遂行した第1の資源サイトの全てにおいて単一フェー
ズのトランザクション同期手続きをそれぞれ行い、当該
単一フェーズのトランザクション同期手続きのそれぞれ
の結果を前記アプリケーション・サイトへ通信し、次
に、前記複数フェーズのトランザクション同期手続きを
完了させ且つ当該複数フェーズのトランザクション同期
手続きの結果を前記アプリケーション・サイトへ通信す
るステップと; (6)前記アプリケーション・サイトへ通信された前記
トランザクション同期手続きの結果に応答して、当該ト
ランザクションをコミットするか又はバックアウトする
ステップと;より成る、トランザクション処理の同期方
法。 - 【請求項2】更に、当該トランザクションが一の前記第
1の資源サイトにおける一のデータベース更新動作及び
他の任意の資源サイトにおける一のデータベース更新動
作を必要とする場合は、前記アプリケーション・リクエ
スタにおいて一のトランザクション・バックアウト要求
を生成し、当該トランザクション・バックアウト要求を
前記アプリケーション・プログラムへ供給するステップ
と;当該トランザクションをバックアウトするステップ
と;より成る、請求項1記載のトランザクション処理の
同期方法。 - 【請求項3】前記ステップ(4)が、 前記第1の資源サイトのうち任意のものが当該トランザ
クションの間に一のデータベース更新動作を遂行した場
合は、先ず、前記アプリケーション・リクエスタから当
該トランザクションの間にかかるデータベース読取動作
を行った第1の資源サイトの全てへトランザクション・
コミット要求をそれぞれ通信し、かかるデータベース読
取動作を行った第1の資源サイトの全てにおいて単一フ
ェーズのトランザクション同期手続きをそれぞれ行い、
当該単一フェーズのトランザクション同期手続きのそれ
ぞれの結果を前記アプリケーション・リクエスタへ通信
し、次に、前記アプリケーション・リクエスタから当該
トランザクションの間に前記データベース更新動作を行
った第1の資源サイトへトランザクション・コミット要
求を通信し、かかるデータベース更新動作を行った第1
の資源サイトにおいて単一フェーズのトランザクション
同期手続きを行うとともに、当該単一フェーズのトラン
ザクション同期手続きの結果を前記アプリケーション・
リクエスタへ通信する、 ことを含んでいる、請求項2記載のトランザクション処
理の同期方法。 - 【請求項4】トランザクション実行用の一のアプリケー
ション・プログラムを実行するためのプロセッサ及びア
プリケーションのトランザクション要求を転送し且つ当
該トランザクション要求に対する応答を受信するための
一のアプリケーション・リクエスタを含んでいる少なく
とも1つのアプリケーション・サイトと;少なくとも1
つの第1の資源サイト及び少なくとも1つの第2の資源
サイトを含む複数の資源サイトとを備え;前記第1の資
源サイトの各々は、一のデータベースと、単一フェーズ
のトランザクション同期手続きの制御下で、トランザク
ション要求に応答してデータベース・アクセス動作を遂
行するための一のデータベース管理システムを有するプ
ロセッサと、トランザクション要求を受信し且つ当該ト
ランザクション要求に対する応答を転送するためのサー
バ手段とを含み;前記第2の資源サイトの各々は、一の
データベースと、複数フェーズのトランザクション同期
手続きの制御下で、トランザクション要求に応答してデ
ータベース・アクセス動作を遂行するための一のデータ
ベース管理システムを有するプロセッサと、トランザク
ション要求を受信し且つ当該トランザクション要求に対
する応答を転送するためのサーバ手段とを含み;更に、
前記複数のサイトの全てのサイト相互間の通信を行うた
めに当該複数の資源サイトを接続する通信手段とを備え
て成る、分散型データベース・システムにおいて: (1)一の前記資源サイトにおける少なくとも1つのデ
ータベース・アクセス動作を含む一のトランザクション
を、前記アプリケーション・サイトにおいて実行するス
テップと; (2)当該トランザクションが一の前記第1の資源サイ
トにおける一のデータベース更新動作及び他の任意の資
源サイトにおける一のデータベース更新動作を必要とす
る場合は、前記アプリケーション・リクエスタにおいて
一のトランザクション・バックアウト要求を生成し、当
該トランザクション・バックアウト要求を前記アプリケ
ーション・プログラムへ供給するステップと; (3)当該トランザクションをバックアウトするステッ
プと;より成る、トランザクション処理の同期方法。 - 【請求項5】更に、当該トランザクションが複数の資源
サイトにおけるデータベース更新動作を必要とし且つ当
該複数の資源の1つが前記第1の資源サイトである場合
は、前記アプリケーション・リクエスタにおいて一のト
ランザクション・バックアウト要求を生成し、当該トラ
ンザクション・バックアウト要求を前記アプリケーショ
ン・プログラムへ供給するステップと;当該トランザク
ションをバックアウトするステップと;より成る、請求
項4記載のトランザクション処理の同期方法。 - 【請求項6】トランザクション指向の一のアプリケーシ
ョン・プログラムを実行する少なくとも1つのアプリケ
ーション・プロセッサと、データベース・アクセス動作
を遂行する複数の資源プロセッサと、前記アプリケーシ
ョン・プロセッサ及び前記複数の資源プロセッサを互い
にリンクする通信手段とを備え;前記複数の資源プロセ
ッサのうち少なくとも1つの第1の資源プロセッサが、
単一フェーズのトランザクション同期手続きの制御下
で、データベース・アクセス動作を実行し、前記複数の
資源プロセッサのうち少なくとも1つの第2の資源プロ
セッサが、複数フェーズのトランザクション同期手続き
の制御下で、データベース・アクセス動作を実行するよ
うにした、分散型異種データベース・システムにおい
て: (1)複数のデータベース・アクセス動作要求を含む一
のトランザクションを、前記アプリケーション・プロセ
ッサにおいて実行するステップと; (2)前記データベース・アクセス動作要求に応答し
て、1つ以上の前記資源プロセッサにおいてデータベー
ス・アクセス動作を行うステップと; (3)当該トランザクションをコミットするように前記
アプリケーション・プロセッサから一の要求を発行する
ステップと; (4)当該トランザクションの間にデータベース・アク
セス動作を実行した前記第2の資源プロセッサの全て及
び前記アプリケーション・プロセッサを含めて、複数フ
ェーズのコミット手続きを開始するステップと; (5)当該トランザクションの間にデータベース・アク
セス動作を実行した前記第1の資源プロセッサの全てに
おいて単一フェーズのコミット手続きをそれぞれ行い、
当該単一フェーズのコミット手続きのそれぞれの結果を
前記アプリケーション・プロセッサへ通信するステップ
と; (6)前記複数フェーズのコミット手続きを完了し且つ
当該複数フェーズのコミット手続きの結果を前記アプリ
ケーション・プロセッサへ通信するステップと、 (7)前記アプリケーション・プロセッサへ通信された
前記コミット手続きの結果に応答して、当該トランザク
ションをコミットするか又はバックアウトするステップ
と;より成る、トランザクションのコミット処理方法。 - 【請求項7】更に、前記データベース・アクセス動作要
求が一の前記第1の資源プロセッサで遂行される一の更
新要求を含み且つ他の更新要求が他の任意の資源プロセ
ッサへ向けられる場合は、一のトランザクション・バッ
クアウト要求を生成するステップと;当該トランザクシ
ョンをバックアウトするステップと;より成る、請求項
6記載のトランザクションのコミット処理方法。 - 【請求項8】トランザクション実行用の一のアプリケー
ション・プログラムを実行するための少なくとも1つの
アプリケーション・プロセッサを備え;当該アプリケー
ション・プログラムが、アプリケーションのトランザク
ション要求を転送し且つ当該トランザクション要求に対
する応答を受信するためのリクエスタ手段を含み;更
に、単一フェーズのトランザクション同期手続きの制御
下でトランザクション要求に応答してトランザクション
動作をそれぞれ遂行する少なくとも1つの第1の資源プ
ロセッサ及び複数フェーズのトランザクション同期手続
きの制御下でトランザクション要求に応答してトランザ
クション動作をそれぞれ遂行する少なくとも1つの第2
の資源プロセッサを含む、複数の資源サイトと;前記ア
プリケーション・プロセッサ、前記第1の資源プロセッ
サ及び前記第2の資源プロセッサの全てを接続するため
の一の通信手段とを備えて成るシステムにおいて: (1)一の資源プロセッサにおいて行われる少なくとも
1つのトランザクション資源動作を含む一のトランザク
ションを、前記アプリケーション・プロセッサにおいて
実行するステップと; (2)前記アプリケーション・プロセッサから一のトラ
ンザクション同期要求を発行し、当該トランザクション
同期要求を前記リクエスタ手段及びトランザクション資
源動作を行った前記第2の資源プロセッサの全てへ通信
するステップと; (3)前記第1の資源プロセッサのうち任意のものが当
該トランザクションの間にトランザクション資源動作を
遂行したか否かを、前記リクエスタ手段において判定す
るステップと; (4)前記第1の資源プロセッサだけが当該トランザク
ションの間にトランザクション資源動作を遂行した場合
は、前記アプリケーション・プロセッサからかかるトラ
ンザクション資源動作を遂行した第1の資源プロセッサ
の全てへトランザクション・コミット要求をそれぞれ通
信し、当該トランザクション・コミット要求に応答し
て、かかるトランザクション資源動作を遂行した第1の
資源プロセッサの全てにおいて単一フェーズのトランザ
クション同期手続きをそれぞれ行い、当該単一フェーズ
のトランザクション同期手続きのそれぞれの結果を前記
リクエスタ手段へ通信するステップと; (5)前記第1の資源プロセッサ及び第2の資源プロセ
ッサが当該トランザクションの間にトランザクション資
源動作を遂行した場合は、先ず、トランザクション・コ
ミット要求をかかるトランザクション資源動作を遂行し
た第2の資源プロセッサの全て及び前記リクエスタ手段
へそれぞれ通信し、かかるトランザクション資源動作を
遂行した第2の資源プロセッサの全て及び前記リクエス
タ手段を含めて、複数フェーズのトランザクション同期
手続きを開始し、当該複数フェーズのトランザクション
同期手続きの第1フェーズの間に、前記アプリケーショ
ン・プロセッサからかかるトランザクション資源動作を
遂行した第1の資源プロセッサの全てへコミット要求を
それぞれ通信し、当該コミット要求に応答してかかるト
ランザクション資源動作を遂行した第1の資源プロセッ
サの全てにおいて単一フェーズのトランザクション同期
手続きをそれぞれ行い、当該単一フェーズのトランザク
ション同期手続きのそれぞれの結果を前記リクエスタ手
段へ通信し、次に、前記複数フェーズのトランザクショ
ン同期手続きの残りのフェーズを行い、当該複数フェー
ズのトランザクション同期手続きの結果を前記リクエス
タ手段へ通信するステップと; (7)前記リクエスタ手段へ通信された前記トランザク
ション同期手続きの結果に応答して、当該トランザクシ
ョンをコミットするか又はバックアウトするステップ
と;より成る、トランザクション処理の同期方法。 - 【請求項9】前記複数フェーズのトランザクション同期
手続きが2フェーズのトランザクション同期手続きであ
り、その第1フェーズの間には前記リクエスタ手段及び
前記トランザクション資源動作を遂行した第2の資源プ
ロセッサの全てが当該トランザクションをコミットする
か又はバックアウトするように投票し、第2フェーズの
間には当該第1フェーズの間に行われた投票に応答して
当該トランザクションがコミットされるか又はバックア
ウトされ;前記2フェーズのトランザクション同期手続
きの前記第1フェーズの間には前記ステップ(4)が遂
行され;前記トランザクション資源動作を遂行した第1
の資源プロセッサの全てがコミットする場合、又は前記
トランザクション資源動作を遂行した第1の資源プロセ
ッサの任意のものがバックアウトする場合、前記リクエ
スタ手段は前記2フェーズのトランザクション同期手続
きの第1フェーズの間に当該トランザクションをコミッ
トするか又はバックアウトするように投票を行う、 請求項8記載のトランザクション処理の同期方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US3208993A | 1993-03-15 | 1993-03-15 | |
| US032089 | 1993-03-15 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06301588A true JPH06301588A (ja) | 1994-10-28 |
| JP2557192B2 JP2557192B2 (ja) | 1996-11-27 |
Family
ID=21863045
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6042285A Expired - Lifetime JP2557192B2 (ja) | 1993-03-15 | 1994-03-14 | トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5561797A (ja) |
| JP (1) | JP2557192B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000132443A (ja) * | 1998-10-22 | 2000-05-12 | Internatl Business Mach Corp <Ibm> | コンピュータ、情報共有システム、及びレプリカ同一性保持方法 |
| US7349974B2 (en) | 1997-05-08 | 2008-03-25 | International Business Machines Corporation | Method for coordinating actions among a group of servers |
| JP2008226227A (ja) * | 2007-03-12 | 2008-09-25 | Hitachi Ltd | アプリケーション情報に基づくボリューム間の整合性を管理するためのシステムおよび方法 |
Families Citing this family (84)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0673523B1 (en) * | 1993-10-08 | 1999-02-10 | International Business Machines Corporation | Message transmission across a network |
| JPH0836513A (ja) * | 1993-12-29 | 1996-02-06 | Xerox Corp | データ管理方法及びデータ管理エラー回復方法 |
| US5835757A (en) * | 1994-03-30 | 1998-11-10 | Siemens Telecom Networks | Distributed database management system for servicing application requests in a telecommunications switching system |
| US5675796A (en) * | 1994-04-08 | 1997-10-07 | Microsoft Corporation | Concurrency management component for use by a computer program during the transfer of a message |
| JP3085085B2 (ja) * | 1994-05-09 | 2000-09-04 | 三菱電機株式会社 | データアクセス装置及び分散データベースシステム |
| US5802295A (en) * | 1994-09-12 | 1998-09-01 | Canon Kabushiki Kaisha | Information processing method and system therefor |
| US5768577A (en) * | 1994-09-29 | 1998-06-16 | International Business Machines Corporation | Performance optimization in a heterogeneous, distributed database environment |
| US6381595B1 (en) * | 1994-09-29 | 2002-04-30 | International Business Machines Corporation | System and method for compensation of functional differences between heterogeneous database management systems |
| US6182108B1 (en) | 1995-01-31 | 2001-01-30 | Microsoft Corporation | Method and system for multi-threaded processing |
| US5729733A (en) * | 1995-05-05 | 1998-03-17 | Harris Corporation | Method of operating a distributed databse based on object ownership and transaction classification utilizing an aggressive reverse one phase commit protocol |
| GB2301686A (en) * | 1995-06-03 | 1996-12-11 | Ibm | Transaction synchronisation procedure in a routing node |
| US5713017A (en) * | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
| US5668958A (en) * | 1995-09-12 | 1997-09-16 | International Business Machines Corporation | Heterogeneous filing system with common API and reconciled file management rules |
| US5758150A (en) * | 1995-10-06 | 1998-05-26 | Tele-Communications, Inc. | System and method for database synchronization |
| US5761421A (en) * | 1996-03-25 | 1998-06-02 | Sun Microsystems, Inc. | System and method for secure peer-to-peer communication between downloaded programs |
| US5890165A (en) * | 1996-03-29 | 1999-03-30 | Emc Corporation | Method and apparatus for automatic discovery of databases |
| US6016505A (en) * | 1996-04-30 | 2000-01-18 | International Business Machines Corporation | Program product to effect barrier synchronization in a distributed computing environment |
| US6052712A (en) * | 1996-04-30 | 2000-04-18 | International Business Machines Corporation | System for barrier synchronization wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each subsequent phase |
| US5768538A (en) * | 1996-04-30 | 1998-06-16 | International Business Machines Corporation | Barrier synchronization method wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each new phase |
| 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 |
| US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
| US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
| US5924095A (en) * | 1997-02-05 | 1999-07-13 | Oracle Corporation | Processing distributed transactions in heterogeneous computing environments using two-phase commit |
| US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
| US6061714A (en) * | 1997-05-07 | 2000-05-09 | International Business Machines Corporation | Persistent cache synchronization and start up system |
| US5920863A (en) * | 1997-05-31 | 1999-07-06 | International Business Machines Corporation | System and method for supporting transactions for a thin client lacking a persistent store in a distributed object-oriented environment |
| US6061708A (en) * | 1997-05-31 | 2000-05-09 | International Business Machines Corporation | System and method for supporting mixed-phase transactions in an object-oriented environment |
| US5940818A (en) * | 1997-06-30 | 1999-08-17 | International Business Machines Corporation | Attribute-based access for multi-dimensional databases |
| US5995947A (en) * | 1997-09-12 | 1999-11-30 | Imx Mortgage Exchange | Interactive mortgage and loan information and real-time trading system |
| US5956727A (en) * | 1997-09-15 | 1999-09-21 | International Business Machines Corporation | Heterogeneous database system with data source extensibility and alteration of database functions |
| US5953719A (en) * | 1997-09-15 | 1999-09-14 | International Business Machines Corporation | Heterogeneous database system with dynamic commit procedure control |
| US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
| US6813769B1 (en) | 1997-10-28 | 2004-11-02 | Microsoft Corporation | Server application components with control over state duration |
| US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
| US6631425B1 (en) | 1997-10-28 | 2003-10-07 | Microsoft Corporation | Just-in-time activation and as-soon-as-possible deactivation or server application components |
| US5890161A (en) | 1997-10-28 | 1999-03-30 | Microsoft Corporation | Automatic transaction processing of component-based server applications |
| US5958004A (en) | 1997-10-28 | 1999-09-28 | Microsoft Corporation | Disabling and enabling transaction committal in transactional application components |
| FR2773241B1 (fr) * | 1997-12-30 | 2001-09-07 | Bull Sa | Procede d'assistance a l'administration d'une application distribuee basee sur un fichier binaire de configuration dans un systeme informatique |
| US6157927A (en) * | 1998-04-22 | 2000-12-05 | Unisys Corporation | Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager |
| US6438585B2 (en) | 1998-05-29 | 2002-08-20 | Research In Motion Limited | System and method for redirecting message attachments between a host system and a mobile data communication device |
| US7209949B2 (en) | 1998-05-29 | 2007-04-24 | Research In Motion Limited | System and method for synchronizing information between a host system and a mobile data communication device |
| US6952829B1 (en) * | 1998-06-29 | 2005-10-04 | International Business Machines Corporation | Dynamically adapting between pessimistic and optimistic notifications to replicated objects |
| US6526416B1 (en) | 1998-06-30 | 2003-02-25 | Microsoft Corporation | Compensating resource managers |
| US7159005B1 (en) | 1998-10-16 | 2007-01-02 | International Business Machines Corporation | Methods, systems and computer program products for restartable multiplexed file transfers |
| 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 |
| 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 |
| US6330686B1 (en) * | 1998-11-30 | 2001-12-11 | International Business Machines Corp. | Handling protected conversation messages across IMS restart in shared queues environment |
| US6138143A (en) * | 1999-01-28 | 2000-10-24 | Genrad, Inc. | Method and apparatus for asynchronous transaction processing |
| US6728879B1 (en) | 1999-06-02 | 2004-04-27 | Microsoft Corporation | Transactional log with multi-sector log block validation |
| US6502088B1 (en) | 1999-07-08 | 2002-12-31 | International Business Machines Corporation | Method and system for improved access to non-relational databases |
| JP4237354B2 (ja) * | 1999-09-29 | 2009-03-11 | 株式会社東芝 | トランザクション処理方法及びトランザクション処理システム |
| US7660830B2 (en) * | 2000-04-17 | 2010-02-09 | Avaya Inc. | System for integrating diverse database and maintaining their consistency |
| US7325046B1 (en) | 2000-05-31 | 2008-01-29 | International Business Machines Corporation | Method, system and program products for managing processing groups of a distributed computing environment |
| WO2002019127A1 (en) * | 2000-08-25 | 2002-03-07 | Integrated Business Systems And Services, Inc. | Transaction-based enterprise application integration (eai) and development system |
| US7174359B1 (en) | 2000-11-09 | 2007-02-06 | International Business Machines Corporation | Apparatus and methods for sequentially scheduling a plurality of commands in a processing environment which executes commands concurrently |
| US6772176B1 (en) * | 2000-11-17 | 2004-08-03 | Oracle International Corporation | Coordinating a distributed transaction between participants unable to follow a two-phase commit |
| US7426730B2 (en) * | 2001-04-19 | 2008-09-16 | Wre-Hol Llc | Method and system for generalized and adaptive transaction processing between uniform information services and applications |
| US20020194244A1 (en) * | 2001-06-01 | 2002-12-19 | Joan Raventos | System and method for enabling transaction-based service utilizing non-transactional resources |
| US6918013B2 (en) * | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
| US6799172B2 (en) * | 2001-08-28 | 2004-09-28 | International Business Machines Corporation | Method and system for removal of resource manager affinity during restart in a transaction processing system |
| US7028030B2 (en) * | 2001-08-30 | 2006-04-11 | Bea Systems, Inc. | Cluster caching with concurrency checking |
| US20030046230A1 (en) * | 2001-08-30 | 2003-03-06 | Jacobs Dean Bernard | Method for maintaining account consistency |
| US6799188B2 (en) * | 2001-08-31 | 2004-09-28 | Borland Software Corporation | Transaction processing system providing improved methodology for two-phase commit decision |
| CN1250359C (zh) | 2001-09-28 | 2006-04-12 | 美克司株式会社 | 钢筋捆扎机、卷盘和检测卷盘旋转的方法 |
| US7251693B2 (en) * | 2001-10-12 | 2007-07-31 | Direct Computer Resources, Inc. | System and method for data quality management and control of heterogeneous data sources |
| US7181489B2 (en) * | 2002-01-10 | 2007-02-20 | International Business Machines Corporation | Method, apparatus, and program for distributing a document object model in a web server cluster |
| US7120704B2 (en) * | 2002-01-31 | 2006-10-10 | International Business Machines Corporation | Method and system for workload balancing in a network of computer systems |
| US7028055B2 (en) * | 2002-03-22 | 2006-04-11 | Sun Microsystems, Inc. | Method and apparatus for improving transaction specification by marking application states |
| US20080046592A1 (en) | 2002-06-26 | 2008-02-21 | Research In Motion Limited | System and Method for Pushing Information Between a Host System and a Mobile Data Communication Device |
| DE10231424B4 (de) * | 2002-07-11 | 2006-11-09 | Pro Design Electronic & Cad-Layout Gmbh | Vorrichtung und Verfahren zur Datenkommunikation |
| EP1540477A2 (en) * | 2002-09-12 | 2005-06-15 | International Business Machines Corporation | A data processing system adapted to integrating non-homogeneous processes |
| US7742980B1 (en) | 2002-11-15 | 2010-06-22 | Imx, Inc. | Automated loan approval system |
| US7346905B2 (en) * | 2003-06-10 | 2008-03-18 | International Business Machines Corporation | Apparatus and method for maintaining resource integrity without a unified transaction manager in a software environment |
| EP1522932B1 (en) * | 2003-10-08 | 2006-07-19 | Alcatel | Fast database replication |
| US7526489B2 (en) * | 2003-11-18 | 2009-04-28 | International Business Machines Corporation | Methods to integrate user-defined operations into a database |
| JP4211059B2 (ja) | 2004-01-09 | 2009-01-21 | マックス株式会社 | 鉄筋結束機、ワイヤリール及びワイヤリールの識別方法 |
| US7730478B2 (en) | 2006-10-04 | 2010-06-01 | Salesforce.Com, Inc. | Method and system for allowing access to developed applications via a multi-tenant on-demand database service |
| WO2008104437A1 (en) * | 2007-02-28 | 2008-09-04 | International Business Machines Corporation | A method for resolving a unit of work |
| US8892558B2 (en) | 2007-09-26 | 2014-11-18 | International Business Machines Corporation | Inserting data into an in-memory distributed nodal database |
| US8027996B2 (en) * | 2007-11-29 | 2011-09-27 | International Business Machines Corporation | Commitment control for less than an entire record in an in-memory database in a parallel computer system |
| US10007547B2 (en) * | 2008-01-17 | 2018-06-26 | International Business Machines Corporation | Specifying an invocation order of a plurality of resources in a transaction according to resource distance |
| US9501312B2 (en) * | 2014-01-30 | 2016-11-22 | Red Hat, Inc. | Using compensation transactions for multiple one-phase commit participants |
| US11386065B2 (en) * | 2017-01-31 | 2022-07-12 | Salesforce.Com, Inc. | Database concurrency control through hash-bucket latching |
| US10691696B2 (en) | 2017-01-31 | 2020-06-23 | Salesforce.Com, Inc. | Key-value storage using a skip list |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01245344A (ja) * | 1988-03-28 | 1989-09-29 | Oki Electric Ind Co Ltd | 分散データベースコミットメント処理装置 |
| JPH04229334A (ja) * | 1990-05-16 | 1992-08-18 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム及びアプリケーションプログラム実行方法 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
| US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
| US4868744A (en) * | 1986-03-03 | 1989-09-19 | International Business Machines Corporation | Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log |
| JP2667818B2 (ja) * | 1986-10-09 | 1997-10-27 | 株式会社日立製作所 | トランザクション処理方法 |
| JPS63138439A (ja) * | 1986-12-01 | 1988-06-10 | Hitachi Ltd | 分散データベースアクセス要求処理方法 |
| US5065311A (en) * | 1987-04-20 | 1991-11-12 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method fault recovery for the system |
| US4881166A (en) * | 1987-07-24 | 1989-11-14 | Amoco Corporation | Method for consistent multidatabase transaction processing |
| US4982325A (en) * | 1988-03-18 | 1991-01-01 | At&T Bell Laboratories | Applications processor module for interfacing to a database system |
| US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
| US5261089A (en) * | 1990-05-16 | 1993-11-09 | International Business Machines Corporation | Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary |
| JP3293839B2 (ja) * | 1990-05-16 | 2002-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム |
| US5212788A (en) * | 1990-05-22 | 1993-05-18 | Digital Equipment Corporation | System and method for consistent timestamping in distributed computer databases |
| US5363121A (en) * | 1990-06-29 | 1994-11-08 | International Business Machines Corporation | Multiple protocol communication interface for distributed transaction processing |
| US5261069A (en) * | 1990-08-13 | 1993-11-09 | Hewlett-Packard Company | Method of maintaining consistency of cached data in a database system |
| US5142470A (en) * | 1990-09-26 | 1992-08-25 | Honeywell Inc. | Method of maintaining synchronization of a free-running secondary processor |
| US5241675A (en) * | 1992-04-09 | 1993-08-31 | Bell Communications Research, Inc. | Method for enforcing the serialization of global multidatabase transactions through committing only on consistent subtransaction serialization by the local database managers |
| US5452445A (en) * | 1992-04-30 | 1995-09-19 | Oracle Corporation | Two-pass multi-version read consistency |
| US5335343A (en) * | 1992-07-06 | 1994-08-02 | Digital Equipment Corporation | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force |
| US5432926A (en) * | 1992-12-04 | 1995-07-11 | International Business Machines Corporation | Method and apparatus for improving database reliability and response time in a distributed transaction processing system |
| US5491822A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Multi-phase commit processing for creation and deletion of managed objects |
-
1994
- 1994-03-14 JP JP6042285A patent/JP2557192B2/ja not_active Expired - Lifetime
-
1995
- 1995-04-18 US US08/425,675 patent/US5561797A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01245344A (ja) * | 1988-03-28 | 1989-09-29 | Oki Electric Ind Co Ltd | 分散データベースコミットメント処理装置 |
| JPH04229334A (ja) * | 1990-05-16 | 1992-08-18 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム及びアプリケーションプログラム実行方法 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7349974B2 (en) | 1997-05-08 | 2008-03-25 | International Business Machines Corporation | Method for coordinating actions among a group of servers |
| JP2000132443A (ja) * | 1998-10-22 | 2000-05-12 | Internatl Business Mach Corp <Ibm> | コンピュータ、情報共有システム、及びレプリカ同一性保持方法 |
| JP2008226227A (ja) * | 2007-03-12 | 2008-09-25 | Hitachi Ltd | アプリケーション情報に基づくボリューム間の整合性を管理するためのシステムおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2557192B2 (ja) | 1996-11-27 |
| US5561797A (en) | 1996-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2557192B2 (ja) | トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法 | |
| EP1099164B1 (en) | Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment | |
| JP3268534B2 (ja) | 保護された資源の同期点管理を行うコンピュータ・システム | |
| JP2691081B2 (ja) | コンピュータ・ネットワーク | |
| JP2675968B2 (ja) | 加入者分散2相コミット・プロトコルの拡張機能 | |
| US6728958B1 (en) | Volatile resource manager with pre-prepare notification | |
| US6470342B1 (en) | Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps | |
| JPH087691B2 (ja) | コンピュータ・システム及びアプリケーションプログラム実行方法 | |
| JPH0831043B2 (ja) | コミット手順の非同期的再同期化実行装置および方法 | |
| US7610388B2 (en) | System, method and program for coordinating timeouts for distributed servers | |
| JPH04229335A (ja) | コミット手順の最適化方法 | |
| JPH08153027A (ja) | 並列データベースにおける分散要求の管理システム及び方法 | |
| JPH0793271A (ja) | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム | |
| JPH04229358A (ja) | 同期点回復手段を有するコンピュータ装置 | |
| US6330686B1 (en) | Handling protected conversation messages across IMS restart in shared queues environment | |
| US6345316B1 (en) | Apparatus, method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction state data | |
| JP2005538460A (ja) | データ処理システム及び方法(非同種プロセスを統合するように適合されたデータ処理システム) | |
| JP2812045B2 (ja) | 高信頼型分散処理システム | |
| KR20010042008A (ko) | 클라이언트가 선택할 수 있는 트랜잭션 객체의 위치를가진 클라이언트/서버 컴퓨팅 장치, 방법 그리고 컴퓨터프로그램 제품 | |
| JP3548030B2 (ja) | サーバ処理装置及びサーバ処理方法 | |
| US6237018B1 (en) | Apparatus method and computer program product for client/server computing with improved transactional interface | |
| JP2000242607A (ja) | サーバ・データ処理装置、操作方法および記憶装置 | |
| US6324589B1 (en) | Apparatus, method and computer program product for client/server computing with reduced cross-process calls | |
| GB2335516A (en) | Failure recovery in distributed transaction avoids heuristic damage | |
| US20070011328A1 (en) | System and method for application deployment service |