JP2002507021A - 情報システムの独立性レベル及びトランザクション補償 - Google Patents

情報システムの独立性レベル及びトランザクション補償

Info

Publication number
JP2002507021A
JP2002507021A JP2000535992A JP2000535992A JP2002507021A JP 2002507021 A JP2002507021 A JP 2002507021A JP 2000535992 A JP2000535992 A JP 2000535992A JP 2000535992 A JP2000535992 A JP 2000535992A JP 2002507021 A JP2002507021 A JP 2002507021A
Authority
JP
Japan
Prior art keywords
transaction
service
sub
state
subtransaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000535992A
Other languages
English (en)
Other versions
JP4049293B2 (ja
JP2002507021A5 (ja
Inventor
プラシャント グピタ,
デイヴィッド, エス. ルビン,
Original Assignee
クロスワールズ ソフトウエア インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クロスワールズ ソフトウエア インコーポレイテッド filed Critical クロスワールズ ソフトウエア インコーポレイテッド
Publication of JP2002507021A publication Critical patent/JP2002507021A/ja
Publication of JP2002507021A5 publication Critical patent/JP2002507021A5/ja
Application granted granted Critical
Publication of JP4049293B2 publication Critical patent/JP4049293B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 非同期トランザクションをサポートする情報システムで、一貫性を維持するためにサーバマシン上で実行されるトランザクションシステム。情報システムは、複数のユーザで分配されて及びクライアントマシンの上で実行されるデータベースを含む。トランザクションシステムは、実行時で起動され、トランザクションは1つ以上のサブトランザクションステップを含む。トランザクションシステムは、サーバマシン及びデータベース又はアプリケーションの間で、トランザクションを実行するためにユーザ定義独立性レベル選択を受け取るグラフィカルユーザインタフェースと、各サブトランザクションステップの実行に影響を及ぼす各オブジェクトに対するオブジェクト状態情報をストアする持続的サービスと、サブトランザクションステップによって影響を及ぼされる各オブジェクトの状態を確認する状態確認サービスと、を含み、オブジェクトがトランザクションで最後に見られたのと同じ状態かを確認する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、全体として、コンピューティングシステムに関し、特に、情報シス
テムの非同期トランザクションを処理する方法及び装置に関する。
【0002】
【背景】
情報システム又はデータベースシステムは、一まとまりのコンピュータ化デー
タファイル(データベース)のためのリポジトリである。一人以上のユーザがデ
ータベースの情報にアクセスし、その情報を検索、修正できるように、情報シス
テムは、データベース管理システムの形でデータベース管理機能を含むことがで
きる。データベースは、ある企業のアプリケーションシステムによって使用する
ことができる一まとまりの持続的なデータから成る。一般的に、このような多く
のユーザは、所定の時間にデータベースにアクセスする。データベース管理シス
テムの1つの機能は、データベースのデータに示される多くの脅威に対する防御
である。データベースデータを保護するためのツールは、リカバリツール、コン
カレンシツール、セキュリティツール及び完全性ツールを含むことができる。
【0003】 リカバリ及びコンカレンシは、トランザクション処理を伴う関連した概念であ
る。トランザクションは、作業のロジカルユニットである。トランザクションは
、データベースに対する1つ以上のアクセスを伴うことができ、また、データベ
ースに格納される情報の1つ以上のアップデートを含むことができる。たとえ多
くのデータベース動作を起動することができる場合であっても、トランザクショ
ンはアトミックユニットであると考えられる。古典的なトランザクション処理で
は、トランザクションがデータベースに幾つかのアップデートを実行し、トラン
ザクションがその正常終了に至る前に障害が発生すると、それらのアップデート
は取り消されることになる。
【0004】 トランザクション処理を容易にするために、データベース管理システムはトラ
ンザクションマネージャを含むことができる。トランザクションマネージャは、
データベースに対するトランザクションを監督して、トランザクション処理をサ
ポートするために必要な原子性を提供するためにCOMMIT及びROLLBA
CKオペレーションなどのツールを使用することができる。COMMITオペレ
ーションは、作業のロジカルユニット、すなわちトランザクションが完了したと
いう成功エンドオブトランザクションを送信する。ROLLBACKオペレーシ
ョンは、データベースが矛盾状態にあるかもしれないことを示す不成功エンドオ
ブトランザクションを送信する。リカバリは、ROLLBACKに応答してトラ
ンザクションマネージャによって開始されるそれらのオペレーションに関連する
【0005】 コンカレンシは、複数のユーザによって実行されるトランザクションのインタ
ラクションに関連する。コンカレンシ管理者又は他のコンカレンシ制御メカニズ
ムは、同時トランザクションがお互いのオペレーションを妨げないようにデータ
ベース管理機能の一部として提供することができる。コンカレンシ制御メカニズ
ムは、失ったアップデート、未遂の従属性及び矛盾する解析問題に関する問題を
軽減することができる。コンカレンシ問題のより詳細な説明は、Addison Wesley
から出版されている「An Introduction to Database Systems第5版」 (C.J. Date 著、1991年)に記載されている。
【0006】 コンカレンシ問題に対する1つの従来の解決法は、ロックの使用である。ロッ
キングは1つのトランザクションがデータベースの特定の部分の状態に依存する
ことができ、データの状態を変更する他のトランザクションに関係しないという
保証を提供する。
【0007】 従来のコンカレンシ管理者は、2種類のロック、すなわち排他ロック(Xロッ
ク)及び共有ロック(Sロック))を使用する。1つのトランザクションだけが
、トランザクションレコード上のXロックを一度に保持することができる。2つ
以上のトランザクションが、同じレコード上のSロックを維持することができる
。例えば、トランザクションAがレコードR上の排他的(X)ロックを保持する
場合、トランザクションBから出されるR上のいずれのタイプのロックの要求も
Bを待ち状態に入らせる。Aのロックが解除されるまで、Bは待機することにな
る。トランザクションAがレコードR上の共有(S)ロックを保持する場合、ト
ランザクションBから出されるR上のXロックの要求はBを待ち状態(に入らせ
る(そして、Aのロックが解放されるまでBは待機する)。しかしながら、トラ
ンザクションBから出されるR上のSロックの要求は認可される(すなわち、こ
れ以降、BもR上のSロックを保持することになる)。
【0008】 レコードロックのトランザクション要求は、通常、暗黙的である。トランザク
ションは、レコードの検索に成功すると、自動的にそのレコード上のSロックを
取得する。トランザクションは、レコードのアップデートに成功すると、自動的
にそのレコード上のXロックを取得する。トランザクションがレコード上のSロ
ックをすでに保持している場合、アップデートはSロックをXレベルに「進める
」。Xロックは、次の同期点(synchpoint)まで保たれる。同期点は、2つの連続
するトランザクション間の境界を表す。このため、同期点は、作業のロジカルユ
ニットの終りに一致し、従ってデータベースが一貫性の状態にある点(或いは一
貫性の状態にあるはずの点)に一致する。通常、同期点を確立する唯一の操作は
、COMMIT、ROLLBACK及びプログラム開始である。Sロックも、通
常、次の同期点まで保持される。
【0009】 トランザクションサービスの典型的役割は、トランザクションの古典的ACI
Dプロパティを確保にすることである。これらのプロパティには、原子性(Atomic
ity)、一貫性(Consistency)、独立性(Isolation)及び耐久性(Durability)が含ま れる。
【0010】 原子性は、トランザクションの全てのステップが実行されるか、或いはいずれ
のステップも実行されないトランザクションサービスのプロパティに関連する。
一貫性は、1つの周知状態から別の周知状態へのデータの遷移に関連する。独立
性プロパティは、その言葉が連想させるように、あるトランザクションの範囲内
で行われたデータ修正が他のトランザクションデータ修正から分離されているこ
とを提示する。換言すれば、トランザクションの中間結果は、他のトランザクシ
ョンに「曝露」されない。耐久性プロパティは、トランザクションの範囲内で行
われたデータ修正がディスクに保存される保証を確保する。
【0011】 要するに、持続的なデータに対する状態変更が、他のプロセスによって行われ
る状態変更から分離され、「回復」できる(すなわち、障害時に我々がオブジェ
クトを周知状態に復元できる)ような方法で確実に行われるようにすることは、
トランザクションサービスのジョブである。ロッキングはコンカレンシの保証を
与えるが、長寿命又は非同期のトランザクションを処理する際に問題が起こる。
上記のように、ロックは、トランザクションの完了及び次の同期点の発生まで所
定の場所に残る。しかし、長寿命のトランザクションが生じると、データベース
に対するロックは、効率のわるいパフォーマンスを生じさせることがある。例え
ば、ビジネストランザクションは、様々な供給元に送られる予定の見積額の要求
を含むことがある。このトランザクションは、1つ以上の入札が返される将来の
不確定な時点に完了する。明らかなように、これらのタイプの長寿命トランザク
ションを待つ間、データベースのリソースを拘束することは非効率的である。
【0012】 古典的なオンライントランザクション処理(OLTP)システムでは、少量の
データに接触し、非常に素早く完了(例えば、古典的な航空券予約システム)す
る小さくて持続時間の短いトランザクションから作業負荷が構成されている。長
寿命のトランザクションを示すシステムでは、WANにわたって存続するデータ
に接触するトランザクション、又は信頼できるメッセージ送信プロバイダを介し
てデータを参照するトランザクション(すなわち、アプリケーションを実行する
必要がない場合)から作業負荷が構成されることがある。。いずれにせよ、この
作業負荷のセマンティックスは、古典的OLTP作業負荷とは劇的に異なってい
る。これらの作業負荷に対しては、トランザクション処理システムによって提供
される従来のロッキング方式は、ひどく不適当である。
【0013】
【発明の概要】
一般に、ある態様において本発明は、非同期トランザクションをサポートする
情報システムの一貫性を維持するためにサーバマシン上で実装されるトランザク
ションシステムを提供する。この情報システムは、複数のユーザ間で共有され、
クライアントマシン上に実装されるデータベースを含んでいる。このトランザク
ションシステムは、トランザクションの実行時に起動される。ここで、トランザ
クションは、1つ以上のサブトランザクションステップを含む。トランザクショ
ンシステムは、サーバマシンとデータベース又はアプリケーションとの間のトラ
ンザクションを実行するためのユーザ定義独立性レベル選択を受信するグラフィ
カルユーザインタフェースと、各サブトランザクションステップの実行において
影響を受ける各オブジェクトに関するオブジェクト状態情報を記憶する持続性サ
ービスと、サブトランザクションステップによって影響を受ける各オブジェクト
の状態を確認し、そのオブジェクトの状態がそのオブジェクトがトランザクショ
ン中で最後に見られたときと同じであることを確認する状態確認サービスと、を
含んでいる。
【0014】 本発明の態様は、多数の特徴を含む。独立性レベル選択は、一貫性サービスか
ら連続サービスまでの範囲にわたって変化することができる。ここで、一貫性サ
ービスは、サブトランザクションレベルで全てのACIDプロパティを満たす。
また、連続サービスは、サブトランザクションの実行時におけるACIDプロパ
ティの保証を何ら提供しない。一貫性サービスは、各サブトランザクションが実
行される期間にわたる読取りの一貫性を保証するために、独立性レベル3の読取
りを含んでいる。
【0015】 独立性レベルの選択には、厳格な独立性サービス及び独立性サービスなしが含
まれる。厳格な独立性サービスは、サブトランザクションレベルで全てのACI
Dトランザクションプロパティにコンプライアンスを提供し、独立性サービスな
しは、サブトランザクションの実行時におけるACIDプロパティの保証を何ら
提供しない。
【0016】 トランザクションシステムは、ベストエフォート独立性サービスを含む。ここ
で、ベストエフォートサービス及び厳格なサービスは、すべてのACIDプロパ
ティにコンプライアンスを提供するが、厳格なサービスは、サブトランザクショ
ンステップが実行される期間全体にわたって一貫性を保証するために独立性レベ
ル3の読取りを含んでいる。トランザクションシステムは、最小エフォート独立
性サービスを含む。個の場合、状態確認サービスが使用禁止にされ、サブトラン
ザクションステップの実行前にオブジェクト状態チェックは実行されない。 トランザクションシステムは、エフォートなし独立性レベル選択を含む。この結
果、一貫性エラーがサブトランザクション処理中に返されるまでトランザクショ
ンが実行されることになる。
【0017】 トランザクションシステムは、サブトランザクションレコードのリンクリスト
を維持し、トランザクションが実行されるときにトランザクションレコードを補
償するサガサービスと、トランザクションの実行の順方向進行中に障害が発生し
たときにトランザクションの補償を実施するリカバリサービスと、を含む。
【0018】 別の態様では、本発明は、情報システムの一貫性を維持するためにサーバマシ
ン上で実施される方法を提供する。ここで、この情報システムは、複数のユーザ
間で共有され、クライアントマシン上で実装されるデータベースを含む。この方
法は、トランザクションの実行時に呼び出される。ここで、トランザクションは
、1つ以上のサブトランザクションステップを含む。この方法は、サーバマシン
及びデータベースアプリケーション間のトランザクションを実行するための定義
済みサービスレベル選択を行うステップと、各サブトランザクションステップの
実行時に影響を受ける各オブジェクトに関するオブジェクト状態情報を記憶する
ステップと、サブトランザクションステップによって影響を受ける各オブジェク
トの状態を確認し、そのオブジェクトの状態がそのオブジェクトがトランザクシ
ョン中で最後に見られたときと同じであることを確認するステップと、を含む。
その状態が最後の既知の状態と一致しない場合、トランザクションの順方向実行
進行が停止される。
【0019】 別の態様では、本発明は、独立のアプリケーションのインタラクションを指示
するビジネスロジックを含む、サーバマシンの上で実行されるコラボレーション
であり、複数の同様のアプリケーションと通じる複数のコネクタと、アプリケー
ションコラボレーションモジュール及びサービスモジュールを含むインタチェン
ジサーバを含む。前記アプリケーションコラボレーションモジュールは2つ以上
のアプリケーションの間でインタオペラビリティを定義し、関連アプリケーショ
ンに搬送するための一以上のコネクタにデータを送出する1つ以上のサブトラン
ザクションステップを有するトランザクションを含む。インタチェンジサーバは
、アプリケーションによって管理されるデータベースで一貫性を維持するトラン
ザクションシステムを含んでいるサービスモジュールを含む。トランザクション
システムは、トランザクション実行中に維持される独立性レベルを特徴づける定
義されたユーザ独立性レベル選択を構成するグラフィカルユーザインタフェース
を含む。各サブトランザクションステップの実行で影響を及ぼされる各オブジェ
クトに対して、オブジェクト状態情報をストアする持続的サービスを含み、オブ
ジェクトがトランザクションで前に見られたのと同じ状態かを確認するために、
サブトランザクションステップによって影響を及ぼされる各オブジェクトの状態
を確認するための状態確認サービスを含む。
【0020】 本発明の各態様は、多数の利点を含む。本発明の1つの利点は、必要とされて
いる適切なレベルのサービスをサービスの顧客が要求できるように、柔軟なトラ
ンザクションサービスが提供されるということである。提供されるサービスの様
々なレベルの各々について、このトランザクションサービスは、適切なトランザ
クショナルセマンティックス及びリカバリセマンティックスを確保する。このト
ランザクションサービスは、構築が容易であり、適切なインタフェースを他の交
換顧客に提供し、また拡張性を与える。他の利点及び特徴は、以下の説明及び特
許請求の範囲から明らかになる。
【0021】
【詳細な記載】
本発明の好ましい実施例は、1997年1月8日に本願の出願人によって出願
された米国特許出願第08/780593号に記載されたコレボレーション構成
のコンテクスト中に動作する。よって、上記出願が参照として本明細書に取り込
まれる。好ましい実施例は、上記の出願で定義されるコレボレーション内のフレ
キシブルトランザクションシステムを提供するために用いられる。
【0022】 一般に、コレボレーション構成は、相容しない且つ自分で直接互いにインタラ
クションしない独立のアプリケーションのインタラクションをサポートする。コ
レボレーション構成の構造の例は、図1の中で示される。コレボレーション構成
は、独立アプリケーション102、104、106間のインタラクションのため
のインタチェンジサーバ100を提供する。インタチェンジサーバ100は好ま
しく、コネクタ108、110、112によってインタチェンジサーバ100に
接続しているアプリケーション102、104、106の間で動作する。そして
、コネクタ108、110、112は、インタチェンジサーバ100内に位置す
るコレボレーション114、116に連合される。コラボレーション114、1
16は、1つ以上のプロセスを表す。各プロセスは、1つ以上のアプリケーショ
ン102、104、106を含むトランザクションである。よって、コレボレー
ション114、116は、アプリケーション102、104、106間のインタ
ラクション及びデータ交換のための共通ミーティングポイントとして作用する。
【0023】 例えば、コレボレーション114は、アプリケーション102からデータを受
け取り、異なるフォーマットでアプリケーション104にそのデータの一部を送
ることを必要とするプロセスを含んでもよい。アプリケーション102は、デー
タをコネクタ108へ送信する。コネクタ108は、データをインタチェンジフ
ォーマットオブジェクトに変換して、データの可用度を示すイベントを発表する
。コレボレーション114は、上記オブジェクトを、イベントの加入者として受
け取る。コレボレーション114は、そのプロセスを実行し、コネクタ110に
送られるべきオブジェクトを生成する。コネクタ110は、上記対象を適切なフ
ォーマットに変換して、アプリケーション104において適切なマシン能を始め
る。このように、独立に相容しない2つのアプリケーション102、104から
のインタラクションを必要とするプロセスが達成される。
【0024】 発明によるプロセス非同期トランザクションのためのより一般的な構成は、図
2で示される。配布されたコンピュータシステム200は、サーバマシン220
とクライアントマシン250を含む。サーバマシン220とクライアントマシン
250の各々は、セントラルトランザクションユニット202、メモリ204、
ディスクサブシステム206、ネットワークサブシステム208、オペレーティ
ングシステム210とコミュニケーションインタフェース212を含んでもよい
。各々は、アプリケーションプログラムの実行のために必要なサービスを提供す
る。メモリ204は、リードオンリーメモリ(ROM)や揮発性及び不揮発性の
ランダムアクセスメモリ(RAM)を含んでもよい。サーバマシン220内のデ
ィスクサブシステム206が、実行可能なプログラム(例えばビジネスアプリケ
ーション(ビジネス論理)又はコラボレーション)の格納に用いられ、クライア
ントマシン250内のディスクサブシステム206が、アプリケーション251
とデータベース252の格納に用いられても良い。ネットワークサブシステム2
08は、他のサーバマシン220とクライアントマシン250を実行しているア
プリケーションによって、コミュニケーションインタフェース212を介するコ
ミュニケーションを容易にする。種々のクライアント及びサーバマシンは、ネッ
トワーク26によって連結される。ネットワークは、イントラネット、インタネ
ット、ローカルエリアネットワーク又は他の類似のデバイスの形式であってもよ
い。
【0025】 ビジネス問題の性質がアドレスされるように、サーバマシン220は、アプリ
ケーションAPIに対して一定の予め定義されたリクエストを実施する役割を果
たすビジネス論理222を取り入れてもよい。この例の目的のために、サーバマ
シン220は、クライアントマシン250を実行しているアプリケーション25
1と通信するために、(クライアントマシン械250の中の)API240に、
リクエストを提供する。サーバマシン220は、トランザクションシステム22
4と、メタ−データ管理サービス221とユーザインタフェース207とを含む
。トランザクションシステム224は、非同期或いは長寿命トランザクションの
ためにサポートを提供して、独立性レベル(サービスレベル)を設定する方法を
含む。トランザクションシステム224は、クライアントが必要なサービスの適
切なレベルをリクエストできるようにする。提供されるサービスの各異なるレベ
ルで、トランザクションシステム224は、適切なトランザクション及びリカバ
リセマンティクスを確保する。トランザクションシステム224は、状態検証サ
ービス225、持続的サービス226、サガサービス228とリカバリサービス
230を含む。
【0026】 状態検証サービス225は、トランザクションによって示されるオブジェクト
と関連する状態情報をチェックする。特に、状態検証サービスは、トランザクシ
ョンのために実行時で起動される。各サブトランザクションステップが実行され
る際、状態検証サービス225は、一定のトランザクションステップに影響され
る各オブジェクトの状態をチェックして、オブジェクトの現在状態が、トランザ
クション内に同様なオブジェクトが見られた前回と同じものであることを検証す
る。
【0027】 持続的サービス226は、情報の持続状態を確保すること役割を果たす。トラ
ンザクションシステムの全ての他のコンポーネントは、持続的サービスの正確な
オペレーションに頼る。アンドゥ操作を実行するために必要な全てのオブジェク
ト状態情報は、実行時で格納されなければならない。オブジェクト状態情報をロ
ッグィングし、ビジネス論理222に従って実行されるトランザクションと関連
するトランザクション情報を補償するためのリポジトリ227が、持続的サービ
ス226と連合される。
【0028】 サガサービス228は、「トランザクションを開始する」、「トランザクショ
ンを行う」及び「トランザクションを中断する」のセマンティクスを制御するこ
とを含むトランザクション正当性を確保する役割を果たす。サガサービス228
は、異常終了(トランザクション異常終了)の場合におけるトランザクションを
アンドゥするための付随の補償トランザクションと共に行われる、サーバマシン
220とクライアントマシン220とをそれぞれ実行するアプリケーション間の
インタラクションのためのトランザクションを定義する(以下に定義される)「
サガ」を形成する。
【0029】 リカバリサービス230は、異常終了後のトランザクション正当性を確保する
役割を果たす。更に、リカバリサービス230は、どんなタイプの異常終了が回
復可能であることを定義し、回復のための方法論(すなわちロールバック対ロー
ルフォーワ−ド)を定義する役割を果たす。
【0030】 これらのサービスの各々のオペレーションは、以下、更に詳細に論議される。
【0031】 メタデータ管理サービス22は、ユーザインタフェース207のグラフィカル
ユーザインタフェース(GUI)212の上で、サービスリクエストを表示する
方法を含む。サービスリクエストは、順番にリポジトリ237に格納されうるビ
ジネス論理222をトランザクションするために用いられる独立性レベル選択を
定義するように、ユーザを促す。ビジネス論理222のトランザクション及びユ
ーザによって定義された独立性レベルの利用について、以下、更に詳細に論議さ
れる。
【0032】 クライアントマシン250は、アプリケーション251を実行し、サーバマシ
ン220への或いはサーバマシン220からのデータ搬送を必要とするトランザ
クションに応答して開始してもよい。API 240は、クライアントマシン250 で実行するアプリケーション251に、データ検索、データインサート、データ
アップデート又はデータ削除のためのリクエストを伝える方法を提供する。これ
らの議論の目的のために、例えばデータベース252に位置するクライアントの
中のデータれジデントは、サーバマシン220によって開始されたトランザクシ
ョンによって操作されることになっている。API 240は、あらゆる外部トラン ザクションコーディネータとのインタラクションのためのあらゆるインタフェー
スを提供しない。このように、外部の使用のために「トランザクション的」動作
の任意の概念をさらさない。
【0033】 ここで記載されているトランザクションシステムによってアドレスされる基本
問題は、サーバの上でビジネス論理に代わって(トランザクションのインタフェ
ースをさらさない)一般的なAPIとインタレクトすることになる。トランザク
ション作業は、ACIDプロパティを示すオペレーションのシーケンスとして定
義される。
【0034】 アプリケーションAPIとインタラクトするトランザクションシステムは、(
それがAPIを通してさらされないので)排他的ロッキングを用いることができ
ない、よって、単にAPIによって提供されるマシン能性だけによって、ACI
Dプロパティを成し遂げなければならない。
【0035】 本発明において、ビジネス論理222は、ユーザが、厳しいと、最大努力と、
最小努力と、なしとを含む4つの別々のトランザクション独立性レベルのうちの
1つを指定できるようにするためのGUIをさらす。特定の独立性レベルの選択
は、失敗したサブトランザクションステップに応答するための方法論及び状態情
報の格納に対する必要な条件を定義する。「厳しい」から下へ、各以降のレベル
は、ユーザに、トランザクションACIDプロパティとシステム性能との保証の
間で、トレードオフを提供する。しかし、より少ない制限レベルのサービス(最
小努力及びなし)は、ACIDプロパティに対して、少しのみの保証を提供し、
或いは保証しないが、ますます少ないシステムオーバヘッドが、これらのトラン
ザクションを実行するためにトランザクションシステムによって必要され、よっ
て、より大きなレベルのシステムトランザクション能力を提供する。サービスの
各レベルのオペレーションを理解するために、サンプルトランザクションが定義
される。
【0036】 図3aに示されるように、ビジネス論理222(図2)は、1つ以上のトラン
ザクション300を含んでもよい。トランザクション300は、1つ以上のスブ
トランザクション 302を含んでもよい。各サブトランザクションは、サブト ランザクションによって影響を受けることになっている全てのビジネスオブジェ
クトを識別するためのオブジェクト識別子304と、スブトランザクションの一
部として行われる動作を記述する動詞306と、動詞と共に用いられるバリュー
308とを含む。
【0037】 トランザクション300は、それに連合されている補償サガチェイン310を
有し、補償サガチェイン310は、トランザクション300の異常終了の場合に
、実行されてもよい。サガチェイン310は、1つ以上の補償トランザクション
312を含んでもよい。サブトランザクションと補償トランザクションとの1対
1のマッピングが存在してもよい。各補償トランザクション312は、補償トラ
ンザクションによって影響される全てのビジネスオブジェクトを識別するオブジ
ェクト識別子314と、補償トランザクションの一部として実行される動作を記
述する補償動詞316と、補償動詞と共に用いられるバリュー値318(又はビ
ジネスオブジェクト)とを含む。
【0038】 補償トランザクションのための内容作成は、ビジネス論理の開発者に任せられ
る。どうな特定なステップが補償トランザクションを形成するのは、その開発者
によって定義される。トランザクションの実行のための時間(ランタイム)に、
トランザクションシステム224(特にサガサービス228)は、ビジネス論理
によって提供されるトランザクション(及びサブトランザクション)と関連する
任意の補償トランザクションでを定義する「サガ」を開発する。各サブトランザ
クションステップの影響を意味論的に取り消す論理を含む1つ且つ唯一のアトミ
ック補償トランザクションスが存在するように、サガは、補正された補償トラン
ザクションステップテップとサブトランザクションとからなる1つのセットであ
る。サガは、トランザクション及び関連する補償トランザクションステップに関
連する必要な情報を記録するキュートを形成し、よって、ランザクションの論理
的「アンドゥ」が、失敗条件の検出によって実行されることできる。サガサービ
ス228は、サガの作成及び修正のために用いられる。
【0039】 実行(ランタイム)の時に、トランザクション300は、データベース252
に格納されている記録(ビジネスオブジェクト)の検索、アップデート又は他操
作を結果としてもたらす。各サブトランザクションステップで、ビジネスオブジ
ェクトは、サブトランザクション動詞に従って操作されてもよい。サブトランザ
クションが完了する時点で、持続的サービスが起動されて、行われるスブトラン
ザクションのリスティングと共に、あらゆるオブジェクトの状態及びトランザク
ションサービスのためにリクエストされる独立性レベルを維持することができる
【0040】 基礎的なトランザクション構成が与えられる場合、独立性の各レベルのための
持続的サービス、サガサービス及びリカバリサービスを含むトランザクションの
オペレーションが記載されることが可能である。
【0041】 ストリンジェントレベル 各サブトランザクションステップ(又は補償トランザクション)が実行される
前に定められるストリンジェントエントリ基準によって、ストリンジェント独立
性レベルが特徴づけられる。エントリ基準が失敗ならば、ステップ(又は補償)
は「独立性フォルト」で失敗となる。フォルトがサブトランザクションステップ
で発生したならば、トランザクションは中止され、リカバリサービスは補償を開
始する。フォルトが補償で発生するならば、詳細なトレースイベントは記録され
てもよく、サガは中止される。好適な実施形態で、補償トランザクションを実行
するとき、フォルトが検出されると、サガは中止され、人間の介入のための要求
が生成される。
【0042】 ストリンジェントエントリ基準は、次のように維持される:すなわち、各サブ
トランザクションが実行されるとき、作用する全てのビジネスオブジェクトの次
の状態が、絶え間なくトランザクションコンテキストの一部として、例えばリポ
ジトリ237に記録される。新しい各サブトランザクションステップへエントリ
されると、テストが実行される。このステップ(オブジェクト識別子によって示
される)によって影響を受ける各ビジネスオブジェクトのために、検索がトラン
ザクションのコンテクストで行われる。より詳しくは、影響を受ける各ビジネス
オブジェクトは、その特定のビジネスオブジェクトがカレントトランザクション
コンテクストで作動したか(所定のトランザクションにおける以前のサブトラン
ザクションステップによって)どうかを決定するために、チェックされる。動作
された全てのビジネスオブジェクトのために、ビジネスオブジェクトの現在の状
態は、トランザクションコンテキストにおいてオブジェクトの最後の既知の状態
と照合される。適合する場合には、最後にビジネスオブジェクトがトランザクシ
ョンコンテキストにおいて見出されたので、状態変更は起こらず、サブトランザ
クションステップの実行が進行してもよい。各サブトランザクションステップの
完了で、所定のトランザクションステップによって影響を受けるビジネスオブジ
ェクトは、トランザクションコンテキストにおいて最新バージョンでアップデー
トされる。適合しない場合には、マッチが起こらないならば、独立性エラーが起
こり、トランザクションは中止されてもよく、リカバリが発動する。
【0043】 図4aは、ストリンジェント独立性サービスで構成されるトランザクションの
フロー制御を示す。ここで、トランザクションステップを(b)に示し、サガを
(c)に示す。サガは、サガサービス228によって生成されるであろう。
【0044】 トランザクション400は、開始される(450)。トランザクション400
と関連する第1のサブトランザクションフォワード実行ステップ402は、「新
入社員」オブジェクト404の作成のために提供される。サガが開始され(45
2)、第1のサブトランザクションステップが実行される(454)。サガ42
0が生成され、このサブトランザクションのための補償レコード406が記憶さ
れると共に、補償サブトランザクション(456)から影響を受ける全てのオブ
ジェクトと関連する状態情報も記憶される。
【0045】 チェックが実行され、より多くのサブトランザクションステップがトランザク
ション(458)で提供されるかどうか決定される。もしそうでなければ、トラ
ンザクションは記録されてもよい(459)。より多くのトランザクションステ
ップが処理される場合、チェック(460)が行われ、特定のビジネスオブジェ
クトがトランザクションコンテキストにおいて知られているかどうか、次のサブ
トランザクションステップによって影響を受ける全てのビジネスオブジェクトの
ために決定させられる。以下で議論されているように、チェックはAPIレベル
で実行される。
【0046】 既知のように、ビジネスオブジェクトは、トランザクション400の一部とし
て提供されるサブトランザクションによって、既に影響を受けていることを意味
する。サブトランザクション又は種々の補償トランザクションの実行の前に、ロ
ジックはトランザクションサービスによって実行されなければならないことに注
意されたい。ビジネスオブジェクトが既知でない場合(462)、サブトランザ
クションステップが実行される(464)。
【0047】 ビジネスオブジェクトが既知である場合(462)、ビジネスオブジェクトの
既存の条件はビジネスオブジェクト(466)の最後の既知の状態と比較される
。この目的は、最後及び現在の間でトランザクションが実行される時、他のいか
なるトランザクションもこのオブジェクトを修正しなかったことを確実にするこ
とである。このチェックが成功すると、サブトランザクションはステップ464
で実行される。もしそうでなければ、レベルn−1でトランザクションを補正す
る実行を開始するために、リカバリサービスを起動する独立性フォルトが識別さ
れる(468)。
【0048】 各サブトランザクションが実行されるように、ちょうど記録された特定のサブ
トランザクションのために、サガは補償トランザクションを記録するために修正
される。サガ420は、レベルで配列される。各レベルは、記録されたサブトラ
ンザクションと一致する。サブトランザクションの実行が競合するたびに、新し
いエントリが加えられる。このように、サブトランザクションが失敗するとき、
ロールバックは最後の成功するサブトランザクション実行ステップまで進んでも
よい。第1のトランザクションステップ402(或いは、同時並行)が記録され
た後、次いで、補償トランザクションがサガ420に加えられる。この例では、
トランザクションに記録される第1のトランザクションステップを元に戻すため
の補償トランザクションは、新しく作製された従業員オブジェクト(削除動詞4
10及びオブジェクト412によって示される)の削除を含む。トランザクショ
ン400のステップが記録されるように、サガへのエントリが実行され、サブト
ランザクションステップを組織的に元に戻すことを許容する。トランザクション
を備えた全てのサブトランザクションが記録され、サガは捨てられる。
【0049】 サブトランザクションロッキング及びオブジェクトチェック サブトランザクション動作が完了されるまで、サブトランザクションレベルで
のロッキングは、トランザクションの独立性を確実にするために要求されてもよ
い。しかし、ロッキングはトランザクションレベルで起こらない。具体的には、
所定のサブトランザクションによって影響を受けるように、ビジネスオブジェク
トが識別された時、特定のサブトランザクションステップが完了され、全てのオ
ブジェクトデータが格納されるまで、ビジネスオブジェクトと関連するレコード
は所定期間ロックされてもよい。このロッキング機能は、読み込まれる独立性レ
ベル3を通して呼び出される。独立性レベル3は、データの一時的なロッキング
で結果を読み出し、所定のサブトランザクションステップと関連するどんな変更
でも呼び出される。サブトランザクションが完了されるまで、ロックはレコード
に置かれる。
【0050】 状態検証サービス225は、サブトランザクションステップで影響を受ける各
オブジェクトの状態をチェックするために、呼び出されてもよい。状態検証サー
ビス225は、サーバ220でこれらのチェックを実行してもよく、チェック機
能を実行するためにAPIでの機能を利用してもよい。
【0051】 例えば、フォワード進行の間、トランザクションサブシステムは、各サービス
レベルのために上述したように、動作の必要な状態情報(リポジトリを使用する
)を最適に格納する。ネットワークサブシステム(オペレーティングシステムと
ともに)は、各サブトランザクションステップのために、APIに動作及び状態
情報を送ってもよい。リクエストがAPIに到着するとき、APIは極小のテス
ト及びセット動作を実行するために、動作情報とともに状態情報を使用してもよ
い。極小のテスト及びセット動作が成功しているならば、成功状態がサーバマシ
ンに(及び最終的にビジネスロジック)に復帰され、或いは失敗のステータスが
復帰される。動作がいつでも失敗するならば、「実行を元に戻すこと」のプロセ
スは、リカバリサービスを通して開始される。
【0052】 等価決定がAPIによってなされることができるまで、API240はデータ
ベース252からのレコードを読んでレコードをロックするために、アプリケー
ション251で極小テスト及びセットを呼び出してもよい。特に、トランザクシ
ョンシステムは、所定のレコード及び変更情報(特定のサブトランザクションス
テップによって示される)に関連づけられる、特定のビジネスオブジェクトの最
後の既知状態がAPIに運ばれる。最後の既知状態がトランザクションコンテキ
ストのオブジェクトの状態と一致しているならば、レコードへのアップデートが
実行される。他に、アップデートはAPIによって実行されない。実行されるロ
ッキングは、再びサブトランザクションレベルで取り扱われるだけである点に留
意されたい。従って、データベース252でのデータレコードの長期ロッキング
は、閉路サーバマシン220を実行している長期間のトランザクションであって
もよいことを支持するために、要求されない。
【0053】 独立性フォルトが識別された時、サガキューに示される補償トランザクション
は、一貫した状態に巻き戻すために、先入れ後出し方法論により実行してもよい
。ストリンジェント独立性レベルのために、ロールバック操作は実行時実行に類
似した方法で実行される。すなわち、各補償トランザクションの実行の前に、所
定補償トランザクションステップによって影響される全てのビジネスオブジェク
トの状態は、確認されて既知のトランザクションコンテキストかどうか決定され
る。どんなオブジェクトでも既知でその状態が最後既知状態と一致しない場合、
トランザクションコンテキストの範囲内で定められるように、独立性フォルトが
引き起こされる。補償トランザクションの運営において起こる独立性フォルトは
、詳細なトレースイベントのロギングで終わり、サガを中止してもよい。
【0054】 最良のエフォート ストリンジェント独立性レベル及びベストエフォート(最良のエフォート)の
間の差は、非常に微妙である。1つの顕著な例外で、ベストエフォートはストリ
ンジェントと同様なアルゴリズムを使用する(すなわち、各サブトランザクショ
ンステップの前に、等価チェックが、オブジェクトの記憶された前の状態とトラ
ンザクションコンテキストにおけるオブジェクトの現在の状態との間で実行され
る)。等価チェックが行われるとき、独立性レベル3リードを使用しているデー
タレコードはチェックされない。オブジェクトは、記憶された以前の状態と比較
したデータベース(APIによって)から単に読みだすだけであり、値が等しい
場合、動作は進行する。チェックが失敗するならば、取消し操作はサガのために
開始される。トランザクションシステムが等価チェックの間、繰り返し可能な読
取りを必要としていないので、当業者は、データレコードでの整合性問題に帰着
する、ウインドウが開けられていると認められる。ここでの意図は、繰り返し可
能な読取りがAPIで支持されていない又はAPIから入手できる環境で、でき
るだけ同じ整合性を提供することである。
【0055】 最小のエフォート 最小のエフォート及び最良のエフォート独立性の間の差は、トランザクション
サービスが、サブトランザクションステップを実行するか、トランザクションを
補償する前に、少しの等価チェックも試みないということである。ここでの意図
は、交換が既知であるトランザクション混合のために、独立性パラダイムをより
良く実行することである。しかし、このパラダイムを使用することは、トランザ
クションデザイナーが彼らのトランザクションの特定の意味を知っていることを
必要とする。再び、サブトランザクションステップが失敗する場合(すなわち、
否定応答がアプリケーションから受容される場合)、トランザクションサービス
はサガと関連するアンドゥ意味論を呼び出してもよい。エラーの点までうまく実
行される各サブトランザクションステップのために、補償トランザクションが実
行されてもよい。
【0056】 エフォートなし エフォートなしの独立性パラダイムは、独立性を全く提供しない。それは単に
、サブトランザクションステップが失敗するとき、詳細なイベントトレースレコ
ードが記録され、人間の介入(及びデータの和解)が可能となり、トランザクシ
ョンは停止する。このパラダイムで、サブトランザクションステップが失敗する
とき、サガは停止しロールバックを試みないことは、重要である点に留意された
い。むしろ、故障事象は記録され、人間の介入が要請される。
【0057】 フォワードへの進行及び絶え間のないサービス ユーザが独立性レベルを選びビジネスロジックが実行を開始した後、ネットワ
ークサブシステムがアプリケーションAPIから実行され機能性が利用される前
に、トランザクションシステムに関連する絶え間のないサービスは、オブジェク
ト状態情報を追跡する。
【0058】 各動作がAPIを使用して実行されるように、トランザクションシステムが介
入して状態情報を加える。これにより、独立性(要請されるならば)は、フォワ
ードトランザクション進行の間(バックワードの進行/ロールバック、必要な場
合)が維持できる。これは、サブトランザクション又は補償トランザクションス
テップによって影響を受ける各オブジェクトの状態を格納することによって達成
される。
【0059】 図5は、トランザクションコンテキスト500を表す。トランザクションコン
テキストは、トランザクションシステムによって使用される絶え間のない構成を
画成し、進行するトランザクションが元に戻すか回復するのに必要な状態情報及
び補償情報を追跡する。好適な実施形態で、コンテクストの平行なイメージは、
ランタイムでリファレンスをつけられるメモリに格納される。
【0060】 コンテクストは、協力者ネーム502、スレッドID504、独立性構成50
6、現在のサブトランザクションステップ508のインデックス、補償レコード
510、サブトランザクションステップレコード512及びサガスケルトン51
4を含む。協力者ネーム502は、特定の処理のコンテクストを使用する協力(
トランザクション)の名前を参照する。スレッドID504は、それが実行して
いるトランザクションのインスタンスを表す。
【0061】 スレッドIDは、ユニークにトランザクション(又は協力の例)を識別し、特
定のトランザクションを実行しているオペレーティングシステムのスレッドID
ではないことに留意されたい。協力者ネーム及びスレッドIDを使用して、トラ
ンザクションサービスは、トランザクションの例のために絶え間ないトランザク
ションコンテキストをさがしてもよい。独立性構成506は、ユーザによって要
請された独立性レベルを識別する。現在のサブトランザクションステップ508
のインデックスは、現在実行しているサブトランザクションステップを示す。こ
の情報は、リカバリサービスによって必要とされる。補償レコード510は、サ
ブトランザクションステップの意味のアンドゥを提供する。各補償レコードは、
ビジネスオブジェクトから成る(ここで、ビジネスオブジェクトの状態が、各サ
ブトランザクションステップ実行の間、絶え間ないサービスによって記入される
ことが重要である)。APIが関係する限り、他の動作と同様に、補償動作は単
に、動詞を持ったビジネスオブジェクトである。
【0062】 サブトランザクションステップレコード512は、最高のエフォート又はスト
リンジェント独立性レベルを使用しているトランザクションだけのために使用さ
れる。我々が最後に出会ったように、これらのレコードはビジネスオブジェクト
の状態を表す。従って、サブトランザクションステップを実行する前に、トラン
ザクションサービスは、その状態がサブトランザクションステップレコードで記
憶される状態と一致するということを知るために、オブジェクトをチェックする
【0063】 サガスケルトン514は、レコードの順序リストである。各レコードは、トラ
ンザクション内でユニークなサブトランザクションステップと一致する補償ステ
ップを(少なくとも)表す。サガスケルトンは、どんな影響を受けるビジネスオ
ブジェクトでも、対応する補償動詞及びこの補償レコードと一致するサブトラン
ザクションステップの状態インデックスのネームを含む。関連したサブトランザ
クションの実行の結果、開発されるように、スペースは、実行時ビジネスオブジ
ェクト状態の記憶装置のために、トランザクションコンテキストにおいて確保さ
れてもよい。
【0064】 サガ サガは、作製されて及びサガサービス228(図2)によって修正される。サ
ガは、ポインタ(又はサブトランザクションインデックス)518を含む補償ト
ランザクションステップ、ステップ520によって影響を受ける全てのビジネス
オブジェクトの現在の状態、補償のために使用される動詞516及び補償動詞で
使用される値515(又はビジネスオブジェクト)を含む。補償トランザクショ
ンが以前に実行され関連したサブトランザクションステップに、ポインタ518
は「アンドゥ」動作を示す。オブジェクトがサガにおいて少し前のステップで修
正されなかったならば、現在の状態はアプリケーションからのその状態である。
【0065】 リカバリサービス トランザクションサービスのリカバリ部分が、中断されたサガに代わってトラ
ンザクションを補うことを実行するために必要である(それは、順番にトランザ
クション実効の代わりである)。リカバリは、補償トランザクション(ユーザに
よって要請されたように)を実行するときに、正しい独立性レベルセマンティク
スを確実にするように、適切なロジックを実行することに対して責任を負う。リ
カバリサービスは、サガによって定義される補償トランザクションの実行を監督
する。リカバリ実行は、オリジナル基本的トランザクションの実行として同じ独
立性レベルで実行されるだろう。従って、ストリンジェント独立性レベルが選択
されるならば、ストリンジェント独立性レベル3ロッキング又は繰り返し可能な
読取りが、ロールバック操作において使用されるだろう。或いは、必要ならば、
異なる独立性レベルが、特にリカバリに対して、ユーザによって選択されるだろ
う。
【0066】 ロールバックは、サガでストアされたトランザクションの補償の幾つか又は全
ての実行を含むだろう。ロールバックは、最後に(又はユーザ選択)持続状態で
止まって終わるだろう。或いは、コンティンジェンシサービスが、リカバリステ
ップの完了の後、順方向トランザクションを続けることができるようにするため
に提供されるだろう。コンティンジェンシサービスは、ジャンピングフォワード
を含み、独立性フォルトが識別された後、トランザクションのフォワード進行を
続ける。例えば、最初の独立性フォルトが受け取られ、及びロールバックが始ま
った後、最後の持続状態(データベース)が達成されるまで、ロールバックは進
むだろう。そこで、コンティンジェンシサービスは、他のトランザクションの他
の位置へと順方向にジャンプし、再度一度フォワード実行を始める。ロールバッ
ク及びコンティンジェンシオプションは、ユーザ定義可能なであり、望ましい特
定のビジネス関数を達成するために開発者によって独自にプログラムされるだろ
う。
【0067】 図6は、本発明に従った、トランザクションシステムによりトランザクション
を処理するためのフロー図600である。ユーザは、所望(「要請レベル」)且
つ最小の、実行される所定のビジネス論理関数(602)と関連する独立性レベ
ルを定義するためにプロンプトされる。要請されたサービスレベルは、サポート
の要請されたレベルが利用できる(604)ならば決定する所定のトランザクシ
ョンによって起動される各APIに対する検査される。要請されたレベルが利用
できるならば、独立性レベルは、リポジトリ(606)でストアされる。要請さ
れたレベルがサポートされないならば、それから、コネクタの最も低い一般レベ
ルが、決定される(607)。最も低い一般のレベルが最小の要請されたレベル
(608)の下の場合、フォルトが記録され、コラボレーションが実行される(
609)ことはない。他に、最も低い一般のレベルが、リポジトリでの独立性レ
ベルとして記録される。特定のトランザクションは、実行時モードに移行され、
トランザクションはコラボレーションのサポートで実行されるだろう。
【0068】 実行時、コラボレーションと関連するトランザクションが、実行される(61
0)。各トランザクションステップで、示される関連する独立性レベルを決定す
るためにチェックがなされ、それから、サブトランザクシンは独立性レベル(6
12)に従って実行される。結局、独立性フォルトは、識別され(614)、ト
ランザクションはロールバック(616)又は独立性レベルに従い止まる(61
8)。ロールバックは、独立性のレベル検査を含み、トランザクションの独立性
レベルに従って、サブトランザクションの補償を実行する。さもなくば、トラン
ザクションはコミッティング(622)まで続く。
【0069】 インプリメンテーション 発明は、ソフトウェアのハードウェア又は両方のコンビネーションで実行され
るだろう。しかし、本発明は、各々、プロセッサ、データ記憶システム(揮発性
及び不揮発性メモリ及び/又はストレージ要素を含む)、少なくとも1つの入力
装置及び少なくとも1つの出力装置、を含むプログラム可能コンピュータの上で
実行しているコンピュータプログラムで、好ましくは実行される。プログラムコ
ードは、本明細書で説明される関数を実行するために入力データに加えられ、出
力情報を発生させる。既知のやり方で、出力情報は1つ以上の出力装置に加えら
れる。
【0070】 各プログラムは、コンピュータシステムに通じているためにハイレベル手続又
はオブジェクト指向プログラミング言語で、好ましくは実行される。しかし、希
望する場合、プログラムはアセンブリ又はマシン語で実行されることができる。
いずれにせよ、言語はコンパイルされまたは翻訳された言語であるだろう。
【0071】 そのような各コンピュータプログラムは、一般的な又は特殊目的プログラム可
能なコンピュータで読み取り可能な、記憶媒体又は装置(例えばROM、CDR
OM又はマグネティックディスケット)で、記憶媒体又は装置が本明細書で説明
した手順を実行するために、コンピュータで読み込まれるときコンピュータを構
成して及び動作するために好ましくはストアされる。本発明のシステムは、コン
ピュータプログラムで構成されるコンピュータ読取り可能な記憶媒体として実行
されると考えられ、コンピュータが、本明細書で説明した機能を実行するために
、特定の及び所定の態様で動作するように記録媒体は構成されるであろう。
【0072】 幾つかの変形と共に、本発明の好ましい実施形態を、説明した。それにもかか
わらず、種々の変更が精神及び発明の範囲から逸脱することなくされるだろうこ
とは、理解される。従って、発明が特定の示された実施形態によって制限される
べきでなく、添付の請求項の範囲によってのみ制限されるべきであることが、理
解されるべきである。
【図面の簡単な説明】
【図1】 本発明によるモジューラアプリケーションコレボレーションの概略ブロック
図である。
【図2】 本発明によるトランザクションシステムを含む、配布されたコンピュータシ
ステムの概略ブロック図である。
【図3a】 本発明によるトランザクションの概略ブロック図である。
【図3b】 本発明による補償トランザクションの概略ブロック図である
【図4a】 本発明によるデータベース一整合性を提供する方法の流れ図である。
【図4b】 (b)は、図4aと関連するサンプルトランザクションであり、(c)は図 4aの流れ図に関連して生成されたサンプルサガである。
【図5】 本発明によるトランザクションセマンティクスを格納するためのトランザク
ションコンテキストの概略ブロック図である。
【図6】 本発明による長寿命トランザクションをサービスするための流れ図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ルビン, デイヴィッド, エス. アメリカ合衆国, カリフォルニア州, サン フランシスコ, サンシェッズ ス トリート 903 Fターム(参考) 5B022 AA00 BA00 FA02 FA11 5B056 EE05 5B075 KK03 5B082 GB05 GB06 5B085 BA07

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 非同期トランザクションをサポートする情報システムで、一
    貫性を維持するために、サーバマシンの上で実行され、該情報システムは複数の
    ユーザで分配されるデータベースを含み、クライアントマシンの上で実行され、
    トランザクションの実行時で起動され、該トランザクションが1つ以上のサブト
    ランザクションステップを含むトランザクションシステムであって、 ユーザ定義された独立性レベル選択を受け取り、サーバマシン及びデータベー
    ス又はアプリケーションを実行するグラフィカルユーザインタフェースと、 各サブトランザクションステップの実行に影響を及ぼす各オブジェクトのため
    のオブジェクト状態情報をストアする持続的サービスと、 オブジェクトの状態が、トランザクションで最後に見られたのと同じかを確認
    するためにサブトランザクションステップによって影響を及ぼされた各オブジェ
    クトの状態を確認するための状態確認サービスと、を含むシステム。
  2. 【請求項2】 独立性レベル選択が、一貫サービからの連続的サービスまで
    の範囲にわたって変化し、一貫サービスがサブトランザクションレベルで全ての
    ACID特性に合い、連続的サービスが、サブトランザクションの実行での全て
    のACID特性に保証を提供しない請求項1記載のトランザクションシステム。
  3. 【請求項3】 一貫サービスが独立性レベル3読み取りを含み、各サブトラ
    ンザクションが実行される期間にわたり、読取りの一貫性を保証する請求項2記
    載のトランザクションシステム。
  4. 【請求項4】 独立性レベル選択がストリンジェント独立性サービスを含み
    、独立性サービスを含まず、 前記ストリンジェント独立性サービスが、サブトランザクションレベルの全て
    のACIDトランザクショナル特性にコンプライアンスを提供し、 サブトランザクションの実行でいかなるACID特性の保証も提供しない独立
    性サービスはない請求項1記載のトランザクションシステム。
  5. 【請求項5】 ベストエフォート独立性サービスを更に含み、該ベストエフ
    ォートサービス及び前記ストリンジェントサービスが全てのACID特性にコン
    プライアンスを提供するが、前記ストリンジェントサービスは、独立性レベル3
    読み取りを含み、サブトランザクションステップが実行される全時間にわたり一
    貫性を保証する請求項4記載のトランザクションシステム。
  6. 【請求項6】 最小のエフォート独立性サービスを更に含み、状態確認サー
    ビスが使用禁止であり、オブジェクト状態チェックが、サブトランザクションス
    テップの実行の前に実行されない請求項5記載のトランザクションシステム。
  7. 【請求項7】 更に、一貫性エラーがサブトランザクション処理中に戻され
    るまで、トランザクションの実行の結果になるエフォート独立性レベル選択を含
    まない、請求項4記載のトランザクションシステム。
  8. 【請求項8】 サブトランザクションのリンクリスト記録を維持し、トラン
    ザクションが実行されたときに、トランザクション記録を補償するサガサービス
    と、 トランザクションの実行の順方向でのフォルトの発生に補償トランザクション
    を実行するためのリカバリサービスと、 を更に含む請求項1のトランザクションシステム。
  9. 【請求項9】 情報システムにおいて、一貫性を維持するためにサーバマシ
    ンの上で実行される方法であって、 複数のユーザで分配され、クライアントマシンの上で実行されるデータベース
    を含み、該方法は、トランザクションのために実行時に起動され、該トランザク
    ションが1つ以上のサブトランザクションステップを含み、 サーバマシンとデータベースアプリケーションとの間でトランザクションを実
    行するために所定のサービスレベル選択を選択すること、 各サブトランザクションステップの実行に影響を及ぼす各オブジェクトに対す
    るオブジェクト状態情報をストアすることと、 オブジェクトがトランザクションで最後に見られたのと同じである状態を確認
    するために、サブトランザクションステップによって影響を及ぼされる各オブジ
    ェクトの状態をチェックし、状態が最後の既知の状態に整合しないならば、トラ
    ンザクションに対して順方向実行処理を止めることと、 を含む方法。
  10. 【請求項10】 独立のアプリケーションのインタラクションを指示するビ
    ジネスロジックを含む、サーバマシンの上で実行されるコラボレーションであっ
    て、 複数の同様のアプリケーションと通じる複数のコネクタと、 アプリケーションコラボレーションモジュール及びサービスモジュールを含む
    インタチェンジサーバであって、前記アプリケーションコラボレーションモジュ
    ールは2つ以上のアプリケーションの間でインタオペラビリティを定義し、関連
    アプリケーションに搬送するための一以上のコネクタにデータを送出する1つ以
    上のサブトランザクションステップを有するトランザクションを含む、インタチ
    ェンジサーバと、 アプリケーションによって管理されるデータベースで一貫性を維持するトラン
    ザクションシステムを含んでいるサービスモジュールであって、トランザクショ
    ンシステムは、トランザクション実行中に維持される独立性レベルを特徴づける
    定義されたユーザ独立性レベル選択を構成するグラフィカルユーザインタフェー
    スを含み、各サブトランザクションステップの実行で影響を及ぼされる各オブジ
    ェクトに対して、オブジェクト状態情報をストアする持続的サービスを含み、オ
    ブジェクトがトランザクションで前に見られたのと同じ状態かを確認するために
    、サブトランザクションステップによって影響を及ぼされる各オブジェクトの状
    態を確認するための状態確認サービスを含む、コラボレーション。
JP2000535992A 1998-03-12 1999-03-11 情報システムにおいて一貫性を維持するためのトランザクションシステム及び方法 Expired - Fee Related JP4049293B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/039,281 1998-03-12
US09/039,281 US6233585B1 (en) 1998-03-12 1998-03-12 Isolation levels and compensating transactions in an information system
PCT/US1999/005382 WO1999046674A1 (en) 1998-03-12 1999-03-11 Isolation levels and compensating transactions in an information system

Publications (3)

Publication Number Publication Date
JP2002507021A true JP2002507021A (ja) 2002-03-05
JP2002507021A5 JP2002507021A5 (ja) 2007-08-23
JP4049293B2 JP4049293B2 (ja) 2008-02-20

Family

ID=21904639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000535992A Expired - Fee Related JP4049293B2 (ja) 1998-03-12 1999-03-11 情報システムにおいて一貫性を維持するためのトランザクションシステム及び方法

Country Status (6)

Country Link
US (1) US6233585B1 (ja)
EP (1) EP1062569B1 (ja)
JP (1) JP4049293B2 (ja)
AT (1) ATE394730T1 (ja)
DE (1) DE69938654D1 (ja)
WO (1) WO1999046674A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013506199A (ja) * 2009-09-25 2013-02-21 アビニシオ テクノロジー エルエルシー グラフベース・アプリケーションにおけるトランザクションの処理

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1093061A1 (de) * 1999-10-14 2001-04-18 SAP Aktiengesellschaft Integriertes Datenbank-Verbundsystem
US6654756B1 (en) * 2000-02-29 2003-11-25 Unisys Corporation Combination of mass storage sizer, comparator, OLTP user defined workload sizer, and design
WO2001071541A2 (en) 2000-03-17 2001-09-27 United States Postal Service Methods and systems for providing an electronic account to a customer
AU2001290971A1 (en) * 2000-09-15 2002-03-26 Learnframe, Inc. Extended asynchronous messaging
DE10047216A1 (de) * 2000-09-23 2002-04-11 Philips Corp Intellectual Pty Ein Verfahren zur Erkennung von Schreibkonflikten in replizierten Datenbanken ohne Speicheroverhead
US6671686B2 (en) * 2000-11-02 2003-12-30 Guy Pardon Decentralized, distributed internet data management
US7103586B2 (en) * 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US20030004970A1 (en) * 2001-06-28 2003-01-02 Watts Julie Ann Method for releasing update locks on rollback to savepoint
US7499924B2 (en) * 2001-06-28 2009-03-03 International Business Machines Corporation Method for releasing update locks on rollback to savepoint
US7219110B2 (en) * 2002-08-30 2007-05-15 Sun Microsystems, Inc. Testing a database transaction system without modifying a database
US7103597B2 (en) * 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7890466B2 (en) * 2003-04-16 2011-02-15 Oracle International Corporation Techniques for increasing the usefulness of transaction logs
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
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7269588B1 (en) 2003-09-24 2007-09-11 Oracle International Corporation Neighborhood locking technique for increasing concurrency among transactions
US7555481B1 (en) 2003-10-28 2009-06-30 Oracle Corporation Method and apparatus for increasing transaction concurrency by early release of locks in groups
US7293043B1 (en) * 2003-12-04 2007-11-06 Sprint Communications Company L.P. Tracking switch transactions
KR100659971B1 (ko) * 2003-12-26 2006-12-22 한국전자통신연구원 웹서비스 트랜잭션의 자동중단 처리시스템 및 방법
US7509429B2 (en) * 2004-05-28 2009-03-24 Sap Ag Message endpoint activation
US20050289212A1 (en) * 2004-06-01 2005-12-29 Tankov Nikolal D Non-transactional resource reference
US7594237B2 (en) * 2004-06-01 2009-09-22 Sap Ag Program object to support connection generation
US9582313B2 (en) * 2004-06-03 2017-02-28 Sap Se Connection resource system
US7676810B2 (en) * 2004-06-03 2010-03-09 Sap Ag Identification of execution context
US7657658B2 (en) * 2004-06-07 2010-02-02 Sap Ag Resource adapter deployment
US20060053087A1 (en) * 2004-06-08 2006-03-09 Pavlov Vladimir K System and method for deploying enterprise components using deployment descriptors
US7774319B2 (en) * 2004-08-11 2010-08-10 Sap Ag System and method for an optimistic database access
US7680758B2 (en) * 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
US20070073678A1 (en) * 2005-09-23 2007-03-29 Applied Linguistics, Llc Semantic document profiling
US7949551B2 (en) * 2005-04-06 2011-05-24 International Business Machines Corporation Processing of compensation scopes in workflow management systems
EP1872555A4 (en) * 2005-04-18 2008-07-02 Research In Motion Ltd TRANSACTION MANAGEMENT SYSTEM AT TANK LEVEL AND METHOD THEREFOR
US20070083620A1 (en) * 2005-10-07 2007-04-12 Pedersen Bradley J Methods for selecting between a predetermined number of execution methods for an application program
US8386555B2 (en) * 2005-11-04 2013-02-26 Sap Ag Systems and methods for adapting procedure calls to service providers
US7921075B2 (en) * 2006-09-29 2011-04-05 International Business Machines Corporation Generic sequencing service for business integration
US8161010B2 (en) * 2006-10-04 2012-04-17 Salesforce.Com, Inc. Methods and systems for providing fault recovery to side effects occurring during data processing
WO2008042980A2 (en) * 2006-10-04 2008-04-10 Salesforce.Com, Inc. Methods and systems for providing fault recovery to side effects occurring during data processing
US8682863B2 (en) 2006-10-04 2014-03-25 Salesforce.Com, Inc. Methods and systems for bulk row save logic in an object relational mapping layer and application framework
US8548942B2 (en) 2006-10-04 2013-10-01 Salesforce.Com, Inc. Methods and systems for recursive saving of hierarchical objects to a database
US9274857B2 (en) * 2006-10-13 2016-03-01 International Business Machines Corporation Method and system for detecting work completion in loosely coupled components
US9514201B2 (en) * 2006-10-13 2016-12-06 International Business Machines Corporation Method and system for non-intrusive event sequencing
US8898126B1 (en) * 2007-04-04 2014-11-25 Emc Corporation Method and apparatus for providing concurrent data insertion and updating
US7747899B2 (en) * 2007-06-26 2010-06-29 Microsoft Corporation Providing mapping fault processing
US8566780B2 (en) * 2007-06-26 2013-10-22 Microsoft Corporation Object model based mapping
US8014994B2 (en) * 2007-08-31 2011-09-06 Sap Ag Simulation business object for service oriented architecture
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US9418005B2 (en) 2008-07-15 2016-08-16 International Business Machines Corporation Managing garbage collection in a data processing system
TW201032535A (en) * 2008-10-14 2010-09-01 Ibm A method of handling a message
US8001548B2 (en) * 2008-10-20 2011-08-16 Microsoft Corporation Transaction processing for side-effecting actions in transactional memory
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US20100333071A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines
US8103937B1 (en) * 2010-03-31 2012-01-24 Emc Corporation Cas command network replication
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US8843684B2 (en) 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
US8799872B2 (en) 2010-06-27 2014-08-05 International Business Machines Corporation Sampling with sample pacing
US8799904B2 (en) 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
US20120331471A1 (en) * 2011-06-27 2012-12-27 Microsoft Corporation Executing molecular transactions
US8930330B1 (en) 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
US20130227101A1 (en) * 2012-02-27 2013-08-29 Verizon Patent And Licensing, Inc. Method and system for providing transaction management in a request-oriented service architecture
US20130227143A1 (en) * 2012-02-27 2013-08-29 Verizon Patent And Licensing Inc. Method and system for providing transaction management in a request-oriented service architecture using meta-models
US11030055B2 (en) 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US10180951B2 (en) 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
US9514007B2 (en) 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
US10747746B2 (en) 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US9317213B1 (en) 2013-05-10 2016-04-19 Amazon Technologies, Inc. Efficient storage of variably-sized data objects in a data store
US9760596B2 (en) 2013-05-13 2017-09-12 Amazon Technologies, Inc. Transaction ordering
US9208032B1 (en) 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
US10303564B1 (en) 2013-05-23 2019-05-28 Amazon Technologies, Inc. Reduced transaction I/O for log-structured storage systems
US9305056B1 (en) 2013-05-24 2016-04-05 Amazon Technologies, Inc. Results cache invalidation
US9047189B1 (en) 2013-05-28 2015-06-02 Amazon Technologies, Inc. Self-describing data blocks of a minimum atomic write size for a data store
US9519664B1 (en) 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US10216949B1 (en) 2013-09-20 2019-02-26 Amazon Technologies, Inc. Dynamic quorum membership changes
US9280591B1 (en) 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
US9507843B1 (en) 2013-09-20 2016-11-29 Amazon Technologies, Inc. Efficient replication of distributed storage changes for read-only nodes of a distributed database
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US9552242B1 (en) 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
US10223184B1 (en) 2013-09-25 2019-03-05 Amazon Technologies, Inc. Individual write quorums for a log-structured distributed storage system
US9699017B1 (en) 2013-09-25 2017-07-04 Amazon Technologies, Inc. Dynamic utilization of bandwidth for a quorum-based distributed storage system
US9760480B1 (en) 2013-11-01 2017-09-12 Amazon Technologies, Inc. Enhanced logging using non-volatile system memory
US10387399B1 (en) 2013-11-01 2019-08-20 Amazon Technologies, Inc. Efficient database journaling using non-volatile system memory
US9880933B1 (en) 2013-11-20 2018-01-30 Amazon Technologies, Inc. Distributed in-memory buffer cache system using buffer cache nodes
US9223843B1 (en) 2013-12-02 2015-12-29 Amazon Technologies, Inc. Optimized log storage for asynchronous log updates
US10303663B1 (en) 2014-06-12 2019-05-28 Amazon Technologies, Inc. Remote durable logging for journaling file systems
WO2016163979A1 (en) * 2015-04-06 2016-10-13 Hewlett Packard Enterprise Development Lp Certificate generation
US11914571B1 (en) 2017-11-22 2024-02-27 Amazon Technologies, Inc. Optimistic concurrency for a multi-writer database
US10942823B2 (en) 2018-01-29 2021-03-09 Guy Pardon Transaction processing system, recovery subsystem and method for operating a recovery subsystem
US11487714B2 (en) 2019-05-15 2022-11-01 International Business Machines Corporation Data replication in a data analysis system
US11341163B1 (en) 2020-03-30 2022-05-24 Amazon Technologies, Inc. Multi-level replication filtering for a distributed database
US20220253409A1 (en) * 2021-02-05 2022-08-11 International Business Machines Corporation Cleaning compensated change records in transaction logs
US11874830B2 (en) 2022-03-09 2024-01-16 International Business Machines Corporation Efficient job writing for database member

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243072A (ja) * 1993-02-17 1994-09-02 Hitachi Ltd 分散処理システムの分散トランザクションコミット制御方式
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム
JPH08115246A (ja) * 1994-09-28 1996-05-07 Xerox Corp セッションの一貫性を保証する方法
JPH09319633A (ja) * 1996-05-31 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> 分散エージェントの実行制御方法
JPH1069418A (ja) * 1996-07-02 1998-03-10 Internatl Business Mach Corp <Ibm> 階層化トランザクション処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212788A (en) * 1990-05-22 1993-05-18 Digital Equipment Corporation System and method for consistent timestamping in distributed computer databases
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
EP0622930A3 (en) * 1993-03-19 1996-06-05 At & T Global Inf Solution Division of applications for computer arrangement with collaboration.
US5864679A (en) * 1993-09-06 1999-01-26 Kabushiki Kaisha Toshiba Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
US5644768A (en) * 1994-12-09 1997-07-01 Borland International, Inc. Systems and methods for sharing resources in a multi-user environment
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
JP2964926B2 (ja) * 1995-08-29 1999-10-18 富士ゼロックス株式会社 データベース管理装置及び方法
US5758083A (en) * 1995-10-30 1998-05-26 Sun Microsystems, Inc. Method and system for sharing information between network managers
US5781910A (en) * 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US5913061A (en) * 1997-01-08 1999-06-15 Crossroads Software, Inc. Modular application collaboration
US5878415A (en) * 1997-03-20 1999-03-02 Novell, Inc. Controlling access to objects in a hierarchical database

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06243072A (ja) * 1993-02-17 1994-09-02 Hitachi Ltd 分散処理システムの分散トランザクションコミット制御方式
JPH07295871A (ja) * 1994-04-15 1995-11-10 Internatl Business Mach Corp <Ibm> データベース・アクセス効率の向上方法及びシステム
JPH08115246A (ja) * 1994-09-28 1996-05-07 Xerox Corp セッションの一貫性を保証する方法
JPH09319633A (ja) * 1996-05-31 1997-12-12 Nippon Telegr & Teleph Corp <Ntt> 分散エージェントの実行制御方法
JPH1069418A (ja) * 1996-07-02 1998-03-10 Internatl Business Mach Corp <Ibm> 階層化トランザクション処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
金井,白木原: "階層トランザクション機構によるUNIX上の高信頼分散処理環境", 情報処理学会研究報告, vol. 第92巻,第8号, CSNG200000349008, 24 January 1992 (1992-01-24), JP, pages 92 - 92, ISSN: 0000811087 *
金井,白木原: "階層トランザクション機構によるUNIX上の高信頼分散処理環境", 情報処理学会研究報告, vol. 第92巻,第8号, JPN6007008592, 24 January 1992 (1992-01-24), JP, pages 92 - 92, ISSN: 0000929857 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013506199A (ja) * 2009-09-25 2013-02-21 アビニシオ テクノロジー エルエルシー グラフベース・アプリケーションにおけるトランザクションの処理

Also Published As

Publication number Publication date
EP1062569A1 (en) 2000-12-27
ATE394730T1 (de) 2008-05-15
US6233585B1 (en) 2001-05-15
JP4049293B2 (ja) 2008-02-20
EP1062569A4 (en) 2002-04-17
DE69938654D1 (de) 2008-06-19
EP1062569B1 (en) 2008-05-07
WO1999046674A1 (en) 1999-09-16

Similar Documents

Publication Publication Date Title
JP4049293B2 (ja) 情報システムにおいて一貫性を維持するためのトランザクションシステム及び方法
US6873995B2 (en) Method, system, and program product for transaction management in a distributed content management application
US6012094A (en) Method of stratified transaction processing
CN104793988B (zh) 跨数据库分布式事务的实现方法和装置
US7543181B2 (en) Recovery from failures within data processing systems
US9047355B2 (en) Method and system for load balancing a distributed database
US8185499B2 (en) System and method for transactional session management
US6877111B2 (en) Method and apparatus for managing replicated and migration capable session state for a Java platform
US8209699B2 (en) System and method for subunit operations in a database
US6275863B1 (en) System and method for programming and executing long running transactions
Mueller et al. A nested transaction mechanism for LOCUS
GB2311391A (en) Restart and recovery of OMG compliant transaction systems
US20070239725A1 (en) Active cache offline access and management of project files
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
US20040215998A1 (en) Recovery from failures within data processing systems
US6625601B1 (en) Escrow-locking multithreaded process-pair resource manager dictionary
WO1993018454A1 (en) Distributed transaction processing system
US5745674A (en) Management of units of work on a computer system log
JPH0628402A (ja) アクティブなデータ辞書を維持するためのデータ辞書マネージャ
US20240143386A1 (en) Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
CN112148436B (zh) 去中心化的tcc事务管理方法、装置、设备及系统
US20030191918A1 (en) Data processing arrangement and method
CN117874145B (zh) 一种主从数据库的强一致方法、装置、设备及存储介质
CA2206302A1 (en) Tracking the state of transactions
Hutchings et al. MySQL cluster tutorial

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070420

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20070420

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071022

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071022

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071121

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20071121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071122

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131207

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees