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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-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
Description
テムの非同期トランザクションを処理する方法及び装置に関する。
タファイル(データベース)のためのリポジトリである。一人以上のユーザがデ
ータベースの情報にアクセスし、その情報を検索、修正できるように、情報シス
テムは、データベース管理システムの形でデータベース管理機能を含むことがで
きる。データベースは、ある企業のアプリケーションシステムによって使用する
ことができる一まとまりの持続的なデータから成る。一般的に、このような多く
のユーザは、所定の時間にデータベースにアクセスする。データベース管理シス
テムの1つの機能は、データベースのデータに示される多くの脅威に対する防御
である。データベースデータを保護するためのツールは、リカバリツール、コン
カレンシツール、セキュリティツール及び完全性ツールを含むことができる。
る。トランザクションは、作業のロジカルユニットである。トランザクションは
、データベースに対する1つ以上のアクセスを伴うことができ、また、データベ
ースに格納される情報の1つ以上のアップデートを含むことができる。たとえ多
くのデータベース動作を起動することができる場合であっても、トランザクショ
ンはアトミックユニットであると考えられる。古典的なトランザクション処理で
は、トランザクションがデータベースに幾つかのアップデートを実行し、トラン
ザクションがその正常終了に至る前に障害が発生すると、それらのアップデート
は取り消されることになる。
ンザクションマネージャを含むことができる。トランザクションマネージャは、
データベースに対するトランザクションを監督して、トランザクション処理をサ
ポートするために必要な原子性を提供するためにCOMMIT及びROLLBA
CKオペレーションなどのツールを使用することができる。COMMITオペレ
ーションは、作業のロジカルユニット、すなわちトランザクションが完了したと
いう成功エンドオブトランザクションを送信する。ROLLBACKオペレーシ
ョンは、データベースが矛盾状態にあるかもしれないことを示す不成功エンドオ
ブトランザクションを送信する。リカバリは、ROLLBACKに応答してトラ
ンザクションマネージャによって開始されるそれらのオペレーションに関連する
。
ラクションに関連する。コンカレンシ管理者又は他のコンカレンシ制御メカニズ
ムは、同時トランザクションがお互いのオペレーションを妨げないようにデータ
ベース管理機能の一部として提供することができる。コンカレンシ制御メカニズ
ムは、失ったアップデート、未遂の従属性及び矛盾する解析問題に関する問題を
軽減することができる。コンカレンシ問題のより詳細な説明は、Addison Wesley
から出版されている「An Introduction to Database Systems第5版」 (C.J. Date 著、1991年)に記載されている。
キングは1つのトランザクションがデータベースの特定の部分の状態に依存する
ことができ、データの状態を変更する他のトランザクションに関係しないという
保証を提供する。
ク)及び共有ロック(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ロックを保持することになる)。
ションは、レコードの検索に成功すると、自動的にそのレコード上のSロックを
取得する。トランザクションは、レコードのアップデートに成功すると、自動的
にそのレコード上のXロックを取得する。トランザクションがレコード上のSロ
ックをすでに保持している場合、アップデートはSロックをXレベルに「進める
」。Xロックは、次の同期点(synchpoint)まで保たれる。同期点は、2つの連続
するトランザクション間の境界を表す。このため、同期点は、作業のロジカルユ
ニットの終りに一致し、従ってデータベースが一貫性の状態にある点(或いは一
貫性の状態にあるはずの点)に一致する。通常、同期点を確立する唯一の操作は
、COMMIT、ROLLBACK及びプログラム開始である。Sロックも、通
常、次の同期点まで保持される。
Dプロパティを確保にすることである。これらのプロパティには、原子性(Atomic
ity)、一貫性(Consistency)、独立性(Isolation)及び耐久性(Durability)が含ま れる。
のステップも実行されないトランザクションサービスのプロパティに関連する。
一貫性は、1つの周知状態から別の周知状態へのデータの遷移に関連する。独立
性プロパティは、その言葉が連想させるように、あるトランザクションの範囲内
で行われたデータ修正が他のトランザクションデータ修正から分離されているこ
とを提示する。換言すれば、トランザクションの中間結果は、他のトランザクシ
ョンに「曝露」されない。耐久性プロパティは、トランザクションの範囲内で行
われたデータ修正がディスクに保存される保証を確保する。
る状態変更から分離され、「回復」できる(すなわち、障害時に我々がオブジェ
クトを周知状態に復元できる)ような方法で確実に行われるようにすることは、
トランザクションサービスのジョブである。ロッキングはコンカレンシの保証を
与えるが、長寿命又は非同期のトランザクションを処理する際に問題が起こる。
上記のように、ロックは、トランザクションの完了及び次の同期点の発生まで所
定の場所に残る。しかし、長寿命のトランザクションが生じると、データベース
に対するロックは、効率のわるいパフォーマンスを生じさせることがある。例え
ば、ビジネストランザクションは、様々な供給元に送られる予定の見積額の要求
を含むことがある。このトランザクションは、1つ以上の入札が返される将来の
不確定な時点に完了する。明らかなように、これらのタイプの長寿命トランザク
ションを待つ間、データベースのリソースを拘束することは非効率的である。
データに接触し、非常に素早く完了(例えば、古典的な航空券予約システム)す
る小さくて持続時間の短いトランザクションから作業負荷が構成されている。長
寿命のトランザクションを示すシステムでは、WANにわたって存続するデータ
に接触するトランザクション、又は信頼できるメッセージ送信プロバイダを介し
てデータを参照するトランザクション(すなわち、アプリケーションを実行する
必要がない場合)から作業負荷が構成されることがある。。いずれにせよ、この
作業負荷のセマンティックスは、古典的OLTP作業負荷とは劇的に異なってい
る。これらの作業負荷に対しては、トランザクション処理システムによって提供
される従来のロッキング方式は、ひどく不適当である。
情報システムの一貫性を維持するためにサーバマシン上で実装されるトランザク
ションシステムを提供する。この情報システムは、複数のユーザ間で共有され、
クライアントマシン上に実装されるデータベースを含んでいる。このトランザク
ションシステムは、トランザクションの実行時に起動される。ここで、トランザ
クションは、1つ以上のサブトランザクションステップを含む。トランザクショ
ンシステムは、サーバマシンとデータベース又はアプリケーションとの間のトラ
ンザクションを実行するためのユーザ定義独立性レベル選択を受信するグラフィ
カルユーザインタフェースと、各サブトランザクションステップの実行において
影響を受ける各オブジェクトに関するオブジェクト状態情報を記憶する持続性サ
ービスと、サブトランザクションステップによって影響を受ける各オブジェクト
の状態を確認し、そのオブジェクトの状態がそのオブジェクトがトランザクショ
ン中で最後に見られたときと同じであることを確認する状態確認サービスと、を
含んでいる。
ら連続サービスまでの範囲にわたって変化することができる。ここで、一貫性サ
ービスは、サブトランザクションレベルで全てのACIDプロパティを満たす。
また、連続サービスは、サブトランザクションの実行時におけるACIDプロパ
ティの保証を何ら提供しない。一貫性サービスは、各サブトランザクションが実
行される期間にわたる読取りの一貫性を保証するために、独立性レベル3の読取
りを含んでいる。
まれる。厳格な独立性サービスは、サブトランザクションレベルで全てのACI
Dトランザクションプロパティにコンプライアンスを提供し、独立性サービスな
しは、サブトランザクションの実行時におけるACIDプロパティの保証を何ら
提供しない。
で、ベストエフォートサービス及び厳格なサービスは、すべてのACIDプロパ
ティにコンプライアンスを提供するが、厳格なサービスは、サブトランザクショ
ンステップが実行される期間全体にわたって一貫性を保証するために独立性レベ
ル3の読取りを含んでいる。トランザクションシステムは、最小エフォート独立
性サービスを含む。個の場合、状態確認サービスが使用禁止にされ、サブトラン
ザクションステップの実行前にオブジェクト状態チェックは実行されない。 トランザクションシステムは、エフォートなし独立性レベル選択を含む。この結
果、一貫性エラーがサブトランザクション処理中に返されるまでトランザクショ
ンが実行されることになる。
を維持し、トランザクションが実行されるときにトランザクションレコードを補
償するサガサービスと、トランザクションの実行の順方向進行中に障害が発生し
たときにトランザクションの補償を実施するリカバリサービスと、を含む。
ン上で実施される方法を提供する。ここで、この情報システムは、複数のユーザ
間で共有され、クライアントマシン上で実装されるデータベースを含む。この方
法は、トランザクションの実行時に呼び出される。ここで、トランザクションは
、1つ以上のサブトランザクションステップを含む。この方法は、サーバマシン
及びデータベースアプリケーション間のトランザクションを実行するための定義
済みサービスレベル選択を行うステップと、各サブトランザクションステップの
実行時に影響を受ける各オブジェクトに関するオブジェクト状態情報を記憶する
ステップと、サブトランザクションステップによって影響を受ける各オブジェク
トの状態を確認し、そのオブジェクトの状態がそのオブジェクトがトランザクシ
ョン中で最後に見られたときと同じであることを確認するステップと、を含む。
その状態が最後の既知の状態と一致しない場合、トランザクションの順方向実行
進行が停止される。
するビジネスロジックを含む、サーバマシンの上で実行されるコラボレーション
であり、複数の同様のアプリケーションと通じる複数のコネクタと、アプリケー
ションコラボレーションモジュール及びサービスモジュールを含むインタチェン
ジサーバを含む。前記アプリケーションコラボレーションモジュールは2つ以上
のアプリケーションの間でインタオペラビリティを定義し、関連アプリケーショ
ンに搬送するための一以上のコネクタにデータを送出する1つ以上のサブトラン
ザクションステップを有するトランザクションを含む。インタチェンジサーバは
、アプリケーションによって管理されるデータベースで一貫性を維持するトラン
ザクションシステムを含んでいるサービスモジュールを含む。トランザクション
システムは、トランザクション実行中に維持される独立性レベルを特徴づける定
義されたユーザ独立性レベル選択を構成するグラフィカルユーザインタフェース
を含む。各サブトランザクションステップの実行で影響を及ぼされる各オブジェ
クトに対して、オブジェクト状態情報をストアする持続的サービスを含み、オブ
ジェクトがトランザクションで前に見られたのと同じ状態かを確認するために、
サブトランザクションステップによって影響を及ぼされる各オブジェクトの状態
を確認するための状態確認サービスを含む。
いる適切なレベルのサービスをサービスの顧客が要求できるように、柔軟なトラ
ンザクションサービスが提供されるということである。提供されるサービスの様
々なレベルの各々について、このトランザクションサービスは、適切なトランザ
クショナルセマンティックス及びリカバリセマンティックスを確保する。このト
ランザクションサービスは、構築が容易であり、適切なインタフェースを他の交
換顧客に提供し、また拡張性を与える。他の利点及び特徴は、以下の説明及び特
許請求の範囲から明らかになる。
された米国特許出願第08/780593号に記載されたコレボレーション構成
のコンテクスト中に動作する。よって、上記出願が参照として本明細書に取り込
まれる。好ましい実施例は、上記の出願で定義されるコレボレーション内のフレ
キシブルトランザクションシステムを提供するために用いられる。
クションしない独立のアプリケーションのインタラクションをサポートする。コ
レボレーション構成の構造の例は、図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間のインタ
ラクション及びデータ交換のための共通ミーティングポイントとして作用する。
け取り、異なるフォーマットでアプリケーション104にそのデータの一部を送
ることを必要とするプロセスを含んでもよい。アプリケーション102は、デー
タをコネクタ108へ送信する。コネクタ108は、データをインタチェンジフ
ォーマットオブジェクトに変換して、データの可用度を示すイベントを発表する
。コレボレーション114は、上記オブジェクトを、イベントの加入者として受
け取る。コレボレーション114は、そのプロセスを実行し、コネクタ110に
送られるべきオブジェクトを生成する。コネクタ110は、上記対象を適切なフ
ォーマットに変換して、アプリケーション104において適切なマシン能を始め
る。このように、独立に相容しない2つのアプリケーション102、104から
のインタラクションを必要とするプロセスが達成される。
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によって連結される。ネットワークは、イントラネット、インタネ
ット、ローカルエリアネットワーク又は他の類似のデバイスの形式であってもよ
い。
ケーションAPIに対して一定の予め定義されたリクエストを実施する役割を果
たすビジネス論理222を取り入れてもよい。この例の目的のために、サーバマ
シン220は、クライアントマシン250を実行しているアプリケーション25
1と通信するために、(クライアントマシン械250の中の)API240に、
リクエストを提供する。サーバマシン220は、トランザクションシステム22
4と、メタ−データ管理サービス221とユーザインタフェース207とを含む
。トランザクションシステム224は、非同期或いは長寿命トランザクションの
ためにサポートを提供して、独立性レベル(サービスレベル)を設定する方法を
含む。トランザクションシステム224は、クライアントが必要なサービスの適
切なレベルをリクエストできるようにする。提供されるサービスの各異なるレベ
ルで、トランザクションシステム224は、適切なトランザクション及びリカバ
リセマンティクスを確保する。トランザクションシステム224は、状態検証サ
ービス225、持続的サービス226、サガサービス228とリカバリサービス
230を含む。
と関連する状態情報をチェックする。特に、状態検証サービスは、トランザクシ
ョンのために実行時で起動される。各サブトランザクションステップが実行され
る際、状態検証サービス225は、一定のトランザクションステップに影響され
る各オブジェクトの状態をチェックして、オブジェクトの現在状態が、トランザ
クション内に同様なオブジェクトが見られた前回と同じものであることを検証す
る。
ンザクションシステムの全ての他のコンポーネントは、持続的サービスの正確な
オペレーションに頼る。アンドゥ操作を実行するために必要な全てのオブジェク
ト状態情報は、実行時で格納されなければならない。オブジェクト状態情報をロ
ッグィングし、ビジネス論理222に従って実行されるトランザクションと関連
するトランザクション情報を補償するためのリポジトリ227が、持続的サービ
ス226と連合される。
ンを行う」及び「トランザクションを中断する」のセマンティクスを制御するこ
とを含むトランザクション正当性を確保する役割を果たす。サガサービス228
は、異常終了(トランザクション異常終了)の場合におけるトランザクションを
アンドゥするための付随の補償トランザクションと共に行われる、サーバマシン
220とクライアントマシン220とをそれぞれ実行するアプリケーション間の
インタラクションのためのトランザクションを定義する(以下に定義される)「
サガ」を形成する。
役割を果たす。更に、リカバリサービス230は、どんなタイプの異常終了が回
復可能であることを定義し、回復のための方法論(すなわちロールバック対ロー
ルフォーワ−ド)を定義する役割を果たす。
ユーザインタフェース(GUI)212の上で、サービスリクエストを表示する
方法を含む。サービスリクエストは、順番にリポジトリ237に格納されうるビ
ジネス論理222をトランザクションするために用いられる独立性レベル選択を
定義するように、ユーザを促す。ビジネス論理222のトランザクション及びユ
ーザによって定義された独立性レベルの利用について、以下、更に詳細に論議さ
れる。
ン220への或いはサーバマシン220からのデータ搬送を必要とするトランザ
クションに応答して開始してもよい。API 240は、クライアントマシン250 で実行するアプリケーション251に、データ検索、データインサート、データ
アップデート又はデータ削除のためのリクエストを伝える方法を提供する。これ
らの議論の目的のために、例えばデータベース252に位置するクライアントの
中のデータれジデントは、サーバマシン220によって開始されたトランザクシ
ョンによって操作されることになっている。API 240は、あらゆる外部トラン ザクションコーディネータとのインタラクションのためのあらゆるインタフェー
スを提供しない。このように、外部の使用のために「トランザクション的」動作
の任意の概念をさらさない。
問題は、サーバの上でビジネス論理に代わって(トランザクションのインタフェ
ースをさらさない)一般的なAPIとインタレクトすることになる。トランザク
ション作業は、ACIDプロパティを示すオペレーションのシーケンスとして定
義される。
それがAPIを通してさらされないので)排他的ロッキングを用いることができ
ない、よって、単にAPIによって提供されるマシン能性だけによって、ACI
Dプロパティを成し遂げなければならない。
最小努力と、なしとを含む4つの別々のトランザクション独立性レベルのうちの
1つを指定できるようにするためのGUIをさらす。特定の独立性レベルの選択
は、失敗したサブトランザクションステップに応答するための方法論及び状態情
報の格納に対する必要な条件を定義する。「厳しい」から下へ、各以降のレベル
は、ユーザに、トランザクションACIDプロパティとシステム性能との保証の
間で、トレードオフを提供する。しかし、より少ない制限レベルのサービス(最
小努力及びなし)は、ACIDプロパティに対して、少しのみの保証を提供し、
或いは保証しないが、ますます少ないシステムオーバヘッドが、これらのトラン
ザクションを実行するためにトランザクションシステムによって必要され、よっ
て、より大きなレベルのシステムトランザクション能力を提供する。サービスの
各レベルのオペレーションを理解するために、サンプルトランザクションが定義
される。
ザクション300を含んでもよい。トランザクション300は、1つ以上のスブ
トランザクション 302を含んでもよい。各サブトランザクションは、サブト ランザクションによって影響を受けることになっている全てのビジネスオブジェ
クトを識別するためのオブジェクト識別子304と、スブトランザクションの一
部として行われる動作を記述する動詞306と、動詞と共に用いられるバリュー
308とを含む。
有し、補償サガチェイン310は、トランザクション300の異常終了の場合に
、実行されてもよい。サガチェイン310は、1つ以上の補償トランザクション
312を含んでもよい。サブトランザクションと補償トランザクションとの1対
1のマッピングが存在してもよい。各補償トランザクション312は、補償トラ
ンザクションによって影響される全てのビジネスオブジェクトを識別するオブジ
ェクト識別子314と、補償トランザクションの一部として実行される動作を記
述する補償動詞316と、補償動詞と共に用いられるバリュー値318(又はビ
ジネスオブジェクト)とを含む。
る。どうな特定なステップが補償トランザクションを形成するのは、その開発者
によって定義される。トランザクションの実行のための時間(ランタイム)に、
トランザクションシステム224(特にサガサービス228)は、ビジネス論理
によって提供されるトランザクション(及びサブトランザクション)と関連する
任意の補償トランザクションでを定義する「サガ」を開発する。各サブトランザ
クションステップの影響を意味論的に取り消す論理を含む1つ且つ唯一のアトミ
ック補償トランザクションスが存在するように、サガは、補正された補償トラン
ザクションステップテップとサブトランザクションとからなる1つのセットであ
る。サガは、トランザクション及び関連する補償トランザクションステップに関
連する必要な情報を記録するキュートを形成し、よって、ランザクションの論理
的「アンドゥ」が、失敗条件の検出によって実行されることできる。サガサービ
ス228は、サガの作成及び修正のために用いられる。
に格納されている記録(ビジネスオブジェクト)の検索、アップデート又は他操
作を結果としてもたらす。各サブトランザクションステップで、ビジネスオブジ
ェクトは、サブトランザクション動詞に従って操作されてもよい。サブトランザ
クションが完了する時点で、持続的サービスが起動されて、行われるスブトラン
ザクションのリスティングと共に、あらゆるオブジェクトの状態及びトランザク
ションサービスのためにリクエストされる独立性レベルを維持することができる
。
持続的サービス、サガサービス及びリカバリサービスを含むトランザクションの
オペレーションが記載されることが可能である。
前に定められるストリンジェントエントリ基準によって、ストリンジェント独立
性レベルが特徴づけられる。エントリ基準が失敗ならば、ステップ(又は補償)
は「独立性フォルト」で失敗となる。フォルトがサブトランザクションステップ
で発生したならば、トランザクションは中止され、リカバリサービスは補償を開
始する。フォルトが補償で発生するならば、詳細なトレースイベントは記録され
てもよく、サガは中止される。好適な実施形態で、補償トランザクションを実行
するとき、フォルトが検出されると、サガは中止され、人間の介入のための要求
が生成される。
トランザクションが実行されるとき、作用する全てのビジネスオブジェクトの次
の状態が、絶え間なくトランザクションコンテキストの一部として、例えばリポ
ジトリ237に記録される。新しい各サブトランザクションステップへエントリ
されると、テストが実行される。このステップ(オブジェクト識別子によって示
される)によって影響を受ける各ビジネスオブジェクトのために、検索がトラン
ザクションのコンテクストで行われる。より詳しくは、影響を受ける各ビジネス
オブジェクトは、その特定のビジネスオブジェクトがカレントトランザクション
コンテクストで作動したか(所定のトランザクションにおける以前のサブトラン
ザクションステップによって)どうかを決定するために、チェックされる。動作
された全てのビジネスオブジェクトのために、ビジネスオブジェクトの現在の状
態は、トランザクションコンテキストにおいてオブジェクトの最後の既知の状態
と照合される。適合する場合には、最後にビジネスオブジェクトがトランザクシ
ョンコンテキストにおいて見出されたので、状態変更は起こらず、サブトランザ
クションステップの実行が進行してもよい。各サブトランザクションステップの
完了で、所定のトランザクションステップによって影響を受けるビジネスオブジ
ェクトは、トランザクションコンテキストにおいて最新バージョンでアップデー
トされる。適合しない場合には、マッチが起こらないならば、独立性エラーが起
こり、トランザクションは中止されてもよく、リカバリが発動する。
フロー制御を示す。ここで、トランザクションステップを(b)に示し、サガを
(c)に示す。サガは、サガサービス228によって生成されるであろう。
と関連する第1のサブトランザクションフォワード実行ステップ402は、「新
入社員」オブジェクト404の作成のために提供される。サガが開始され(45
2)、第1のサブトランザクションステップが実行される(454)。サガ42
0が生成され、このサブトランザクションのための補償レコード406が記憶さ
れると共に、補償サブトランザクション(456)から影響を受ける全てのオブ
ジェクトと関連する状態情報も記憶される。
ション(458)で提供されるかどうか決定される。もしそうでなければ、トラ
ンザクションは記録されてもよい(459)。より多くのトランザクションステ
ップが処理される場合、チェック(460)が行われ、特定のビジネスオブジェ
クトがトランザクションコンテキストにおいて知られているかどうか、次のサブ
トランザクションステップによって影響を受ける全てのビジネスオブジェクトの
ために決定させられる。以下で議論されているように、チェックはAPIレベル
で実行される。
て提供されるサブトランザクションによって、既に影響を受けていることを意味
する。サブトランザクション又は種々の補償トランザクションの実行の前に、ロ
ジックはトランザクションサービスによって実行されなければならないことに注
意されたい。ビジネスオブジェクトが既知でない場合(462)、サブトランザ
クションステップが実行される(464)。
既存の条件はビジネスオブジェクト(466)の最後の既知の状態と比較される
。この目的は、最後及び現在の間でトランザクションが実行される時、他のいか
なるトランザクションもこのオブジェクトを修正しなかったことを確実にするこ
とである。このチェックが成功すると、サブトランザクションはステップ464
で実行される。もしそうでなければ、レベルn−1でトランザクションを補正す
る実行を開始するために、リカバリサービスを起動する独立性フォルトが識別さ
れる(468)。
トランザクションのために、サガは補償トランザクションを記録するために修正
される。サガ420は、レベルで配列される。各レベルは、記録されたサブトラ
ンザクションと一致する。サブトランザクションの実行が競合するたびに、新し
いエントリが加えられる。このように、サブトランザクションが失敗するとき、
ロールバックは最後の成功するサブトランザクション実行ステップまで進んでも
よい。第1のトランザクションステップ402(或いは、同時並行)が記録され
た後、次いで、補償トランザクションがサガ420に加えられる。この例では、
トランザクションに記録される第1のトランザクションステップを元に戻すため
の補償トランザクションは、新しく作製された従業員オブジェクト(削除動詞4
10及びオブジェクト412によって示される)の削除を含む。トランザクショ
ン400のステップが記録されるように、サガへのエントリが実行され、サブト
ランザクションステップを組織的に元に戻すことを許容する。トランザクション
を備えた全てのサブトランザクションが記録され、サガは捨てられる。
のロッキングは、トランザクションの独立性を確実にするために要求されてもよ
い。しかし、ロッキングはトランザクションレベルで起こらない。具体的には、
所定のサブトランザクションによって影響を受けるように、ビジネスオブジェク
トが識別された時、特定のサブトランザクションステップが完了され、全てのオ
ブジェクトデータが格納されるまで、ビジネスオブジェクトと関連するレコード
は所定期間ロックされてもよい。このロッキング機能は、読み込まれる独立性レ
ベル3を通して呼び出される。独立性レベル3は、データの一時的なロッキング
で結果を読み出し、所定のサブトランザクションステップと関連するどんな変更
でも呼び出される。サブトランザクションが完了されるまで、ロックはレコード
に置かれる。
オブジェクトの状態をチェックするために、呼び出されてもよい。状態検証サー
ビス225は、サーバ220でこれらのチェックを実行してもよく、チェック機
能を実行するためにAPIでの機能を利用してもよい。
レベルのために上述したように、動作の必要な状態情報(リポジトリを使用する
)を最適に格納する。ネットワークサブシステム(オペレーティングシステムと
ともに)は、各サブトランザクションステップのために、APIに動作及び状態
情報を送ってもよい。リクエストがAPIに到着するとき、APIは極小のテス
ト及びセット動作を実行するために、動作情報とともに状態情報を使用してもよ
い。極小のテスト及びセット動作が成功しているならば、成功状態がサーバマシ
ンに(及び最終的にビジネスロジック)に復帰され、或いは失敗のステータスが
復帰される。動作がいつでも失敗するならば、「実行を元に戻すこと」のプロセ
スは、リカバリサービスを通して開始される。
ベース252からのレコードを読んでレコードをロックするために、アプリケー
ション251で極小テスト及びセットを呼び出してもよい。特に、トランザクシ
ョンシステムは、所定のレコード及び変更情報(特定のサブトランザクションス
テップによって示される)に関連づけられる、特定のビジネスオブジェクトの最
後の既知状態がAPIに運ばれる。最後の既知状態がトランザクションコンテキ
ストのオブジェクトの状態と一致しているならば、レコードへのアップデートが
実行される。他に、アップデートはAPIによって実行されない。実行されるロ
ッキングは、再びサブトランザクションレベルで取り扱われるだけである点に留
意されたい。従って、データベース252でのデータレコードの長期ロッキング
は、閉路サーバマシン220を実行している長期間のトランザクションであって
もよいことを支持するために、要求されない。
は、一貫した状態に巻き戻すために、先入れ後出し方法論により実行してもよい
。ストリンジェント独立性レベルのために、ロールバック操作は実行時実行に類
似した方法で実行される。すなわち、各補償トランザクションの実行の前に、所
定補償トランザクションステップによって影響される全てのビジネスオブジェク
トの状態は、確認されて既知のトランザクションコンテキストかどうか決定され
る。どんなオブジェクトでも既知でその状態が最後既知状態と一致しない場合、
トランザクションコンテキストの範囲内で定められるように、独立性フォルトが
引き起こされる。補償トランザクションの運営において起こる独立性フォルトは
、詳細なトレースイベントのロギングで終わり、サガを中止してもよい。
間の差は、非常に微妙である。1つの顕著な例外で、ベストエフォートはストリ
ンジェントと同様なアルゴリズムを使用する(すなわち、各サブトランザクショ
ンステップの前に、等価チェックが、オブジェクトの記憶された前の状態とトラ
ンザクションコンテキストにおけるオブジェクトの現在の状態との間で実行され
る)。等価チェックが行われるとき、独立性レベル3リードを使用しているデー
タレコードはチェックされない。オブジェクトは、記憶された以前の状態と比較
したデータベース(APIによって)から単に読みだすだけであり、値が等しい
場合、動作は進行する。チェックが失敗するならば、取消し操作はサガのために
開始される。トランザクションシステムが等価チェックの間、繰り返し可能な読
取りを必要としていないので、当業者は、データレコードでの整合性問題に帰着
する、ウインドウが開けられていると認められる。ここでの意図は、繰り返し可
能な読取りがAPIで支持されていない又はAPIから入手できる環境で、でき
るだけ同じ整合性を提供することである。
サービスが、サブトランザクションステップを実行するか、トランザクションを
補償する前に、少しの等価チェックも試みないということである。ここでの意図
は、交換が既知であるトランザクション混合のために、独立性パラダイムをより
良く実行することである。しかし、このパラダイムを使用することは、トランザ
クションデザイナーが彼らのトランザクションの特定の意味を知っていることを
必要とする。再び、サブトランザクションステップが失敗する場合(すなわち、
否定応答がアプリケーションから受容される場合)、トランザクションサービス
はサガと関連するアンドゥ意味論を呼び出してもよい。エラーの点までうまく実
行される各サブトランザクションステップのために、補償トランザクションが実
行されてもよい。
、サブトランザクションステップが失敗するとき、詳細なイベントトレースレコ
ードが記録され、人間の介入(及びデータの和解)が可能となり、トランザクシ
ョンは停止する。このパラダイムで、サブトランザクションステップが失敗する
とき、サガは停止しロールバックを試みないことは、重要である点に留意された
い。むしろ、故障事象は記録され、人間の介入が要請される。
ークサブシステムがアプリケーションAPIから実行され機能性が利用される前
に、トランザクションシステムに関連する絶え間のないサービスは、オブジェク
ト状態情報を追跡する。
入して状態情報を加える。これにより、独立性(要請されるならば)は、フォワ
ードトランザクション進行の間(バックワードの進行/ロールバック、必要な場
合)が維持できる。これは、サブトランザクション又は補償トランザクションス
テップによって影響を受ける各オブジェクトの状態を格納することによって達成
される。
テキストは、トランザクションシステムによって使用される絶え間のない構成を
画成し、進行するトランザクションが元に戻すか回復するのに必要な状態情報及
び補償情報を追跡する。好適な実施形態で、コンテクストの平行なイメージは、
ランタイムでリファレンスをつけられるメモリに格納される。
6、現在のサブトランザクションステップ508のインデックス、補償レコード
510、サブトランザクションステップレコード512及びサガスケルトン51
4を含む。協力者ネーム502は、特定の処理のコンテクストを使用する協力(
トランザクション)の名前を参照する。スレッドID504は、それが実行して
いるトランザクションのインスタンスを表す。
定のトランザクションを実行しているオペレーティングシステムのスレッドID
ではないことに留意されたい。協力者ネーム及びスレッドIDを使用して、トラ
ンザクションサービスは、トランザクションの例のために絶え間ないトランザク
ションコンテキストをさがしてもよい。独立性構成506は、ユーザによって要
請された独立性レベルを識別する。現在のサブトランザクションステップ508
のインデックスは、現在実行しているサブトランザクションステップを示す。こ
の情報は、リカバリサービスによって必要とされる。補償レコード510は、サ
ブトランザクションステップの意味のアンドゥを提供する。各補償レコードは、
ビジネスオブジェクトから成る(ここで、ビジネスオブジェクトの状態が、各サ
ブトランザクションステップ実行の間、絶え間ないサービスによって記入される
ことが重要である)。APIが関係する限り、他の動作と同様に、補償動作は単
に、動詞を持ったビジネスオブジェクトである。
リンジェント独立性レベルを使用しているトランザクションだけのために使用さ
れる。我々が最後に出会ったように、これらのレコードはビジネスオブジェクト
の状態を表す。従って、サブトランザクションステップを実行する前に、トラン
ザクションサービスは、その状態がサブトランザクションステップレコードで記
憶される状態と一致するということを知るために、オブジェクトをチェックする
。
ンザクション内でユニークなサブトランザクションステップと一致する補償ステ
ップを(少なくとも)表す。サガスケルトンは、どんな影響を受けるビジネスオ
ブジェクトでも、対応する補償動詞及びこの補償レコードと一致するサブトラン
ザクションステップの状態インデックスのネームを含む。関連したサブトランザ
クションの実行の結果、開発されるように、スペースは、実行時ビジネスオブジ
ェクト状態の記憶装置のために、トランザクションコンテキストにおいて確保さ
れてもよい。
ガは、ポインタ(又はサブトランザクションインデックス)518を含む補償ト
ランザクションステップ、ステップ520によって影響を受ける全てのビジネス
オブジェクトの現在の状態、補償のために使用される動詞516及び補償動詞で
使用される値515(又はビジネスオブジェクト)を含む。補償トランザクショ
ンが以前に実行され関連したサブトランザクションステップに、ポインタ518
は「アンドゥ」動作を示す。オブジェクトがサガにおいて少し前のステップで修
正されなかったならば、現在の状態はアプリケーションからのその状態である。
ンザクションを補うことを実行するために必要である(それは、順番にトランザ
クション実効の代わりである)。リカバリは、補償トランザクション(ユーザに
よって要請されたように)を実行するときに、正しい独立性レベルセマンティク
スを確実にするように、適切なロジックを実行することに対して責任を負う。リ
カバリサービスは、サガによって定義される補償トランザクションの実行を監督
する。リカバリ実行は、オリジナル基本的トランザクションの実行として同じ独
立性レベルで実行されるだろう。従って、ストリンジェント独立性レベルが選択
されるならば、ストリンジェント独立性レベル3ロッキング又は繰り返し可能な
読取りが、ロールバック操作において使用されるだろう。或いは、必要ならば、
異なる独立性レベルが、特にリカバリに対して、ユーザによって選択されるだろ
う。
ての実行を含むだろう。ロールバックは、最後に(又はユーザ選択)持続状態で
止まって終わるだろう。或いは、コンティンジェンシサービスが、リカバリステ
ップの完了の後、順方向トランザクションを続けることができるようにするため
に提供されるだろう。コンティンジェンシサービスは、ジャンピングフォワード
を含み、独立性フォルトが識別された後、トランザクションのフォワード進行を
続ける。例えば、最初の独立性フォルトが受け取られ、及びロールバックが始ま
った後、最後の持続状態(データベース)が達成されるまで、ロールバックは進
むだろう。そこで、コンティンジェンシサービスは、他のトランザクションの他
の位置へと順方向にジャンプし、再度一度フォワード実行を始める。ロールバッ
ク及びコンティンジェンシオプションは、ユーザ定義可能なであり、望ましい特
定のビジネス関数を達成するために開発者によって独自にプログラムされるだろ
う。
を処理するためのフロー図600である。ユーザは、所望(「要請レベル」)且
つ最小の、実行される所定のビジネス論理関数(602)と関連する独立性レベ
ルを定義するためにプロンプトされる。要請されたサービスレベルは、サポート
の要請されたレベルが利用できる(604)ならば決定する所定のトランザクシ
ョンによって起動される各APIに対する検査される。要請されたレベルが利用
できるならば、独立性レベルは、リポジトリ(606)でストアされる。要請さ
れたレベルがサポートされないならば、それから、コネクタの最も低い一般レベ
ルが、決定される(607)。最も低い一般のレベルが最小の要請されたレベル
(608)の下の場合、フォルトが記録され、コラボレーションが実行される(
609)ことはない。他に、最も低い一般のレベルが、リポジトリでの独立性レ
ベルとして記録される。特定のトランザクションは、実行時モードに移行され、
トランザクションはコラボレーションのサポートで実行されるだろう。
0)。各トランザクションステップで、示される関連する独立性レベルを決定す
るためにチェックがなされ、それから、サブトランザクシンは独立性レベル(6
12)に従って実行される。結局、独立性フォルトは、識別され(614)、ト
ランザクションはロールバック(616)又は独立性レベルに従い止まる(61
8)。ロールバックは、独立性のレベル検査を含み、トランザクションの独立性
レベルに従って、サブトランザクションの補償を実行する。さもなくば、トラン
ザクションはコミッティング(622)まで続く。
るだろう。しかし、本発明は、各々、プロセッサ、データ記憶システム(揮発性
及び不揮発性メモリ及び/又はストレージ要素を含む)、少なくとも1つの入力
装置及び少なくとも1つの出力装置、を含むプログラム可能コンピュータの上で
実行しているコンピュータプログラムで、好ましくは実行される。プログラムコ
ードは、本明細書で説明される関数を実行するために入力データに加えられ、出
力情報を発生させる。既知のやり方で、出力情報は1つ以上の出力装置に加えら
れる。
はオブジェクト指向プログラミング言語で、好ましくは実行される。しかし、希
望する場合、プログラムはアセンブリ又はマシン語で実行されることができる。
いずれにせよ、言語はコンパイルされまたは翻訳された言語であるだろう。
能なコンピュータで読み取り可能な、記憶媒体又は装置(例えばROM、CDR
OM又はマグネティックディスケット)で、記憶媒体又は装置が本明細書で説明
した手順を実行するために、コンピュータで読み込まれるときコンピュータを構
成して及び動作するために好ましくはストアされる。本発明のシステムは、コン
ピュータプログラムで構成されるコンピュータ読取り可能な記憶媒体として実行
されると考えられ、コンピュータが、本明細書で説明した機能を実行するために
、特定の及び所定の態様で動作するように記録媒体は構成されるであろう。
わらず、種々の変更が精神及び発明の範囲から逸脱することなくされるだろうこ
とは、理解される。従って、発明が特定の示された実施形態によって制限される
べきでなく、添付の請求項の範囲によってのみ制限されるべきであることが、理
解されるべきである。
図である。
ステムの概略ブロック図である。
ションコンテキストの概略ブロック図である。
Claims (10)
- 【請求項1】 非同期トランザクションをサポートする情報システムで、一
貫性を維持するために、サーバマシンの上で実行され、該情報システムは複数の
ユーザで分配されるデータベースを含み、クライアントマシンの上で実行され、
トランザクションの実行時で起動され、該トランザクションが1つ以上のサブト
ランザクションステップを含むトランザクションシステムであって、 ユーザ定義された独立性レベル選択を受け取り、サーバマシン及びデータベー
ス又はアプリケーションを実行するグラフィカルユーザインタフェースと、 各サブトランザクションステップの実行に影響を及ぼす各オブジェクトのため
のオブジェクト状態情報をストアする持続的サービスと、 オブジェクトの状態が、トランザクションで最後に見られたのと同じかを確認
するためにサブトランザクションステップによって影響を及ぼされた各オブジェ
クトの状態を確認するための状態確認サービスと、を含むシステム。 - 【請求項2】 独立性レベル選択が、一貫サービからの連続的サービスまで
の範囲にわたって変化し、一貫サービスがサブトランザクションレベルで全ての
ACID特性に合い、連続的サービスが、サブトランザクションの実行での全て
のACID特性に保証を提供しない請求項1記載のトランザクションシステム。 - 【請求項3】 一貫サービスが独立性レベル3読み取りを含み、各サブトラ
ンザクションが実行される期間にわたり、読取りの一貫性を保証する請求項2記
載のトランザクションシステム。 - 【請求項4】 独立性レベル選択がストリンジェント独立性サービスを含み
、独立性サービスを含まず、 前記ストリンジェント独立性サービスが、サブトランザクションレベルの全て
のACIDトランザクショナル特性にコンプライアンスを提供し、 サブトランザクションの実行でいかなるACID特性の保証も提供しない独立
性サービスはない請求項1記載のトランザクションシステム。 - 【請求項5】 ベストエフォート独立性サービスを更に含み、該ベストエフ
ォートサービス及び前記ストリンジェントサービスが全てのACID特性にコン
プライアンスを提供するが、前記ストリンジェントサービスは、独立性レベル3
読み取りを含み、サブトランザクションステップが実行される全時間にわたり一
貫性を保証する請求項4記載のトランザクションシステム。 - 【請求項6】 最小のエフォート独立性サービスを更に含み、状態確認サー
ビスが使用禁止であり、オブジェクト状態チェックが、サブトランザクションス
テップの実行の前に実行されない請求項5記載のトランザクションシステム。 - 【請求項7】 更に、一貫性エラーがサブトランザクション処理中に戻され
るまで、トランザクションの実行の結果になるエフォート独立性レベル選択を含
まない、請求項4記載のトランザクションシステム。 - 【請求項8】 サブトランザクションのリンクリスト記録を維持し、トラン
ザクションが実行されたときに、トランザクション記録を補償するサガサービス
と、 トランザクションの実行の順方向でのフォルトの発生に補償トランザクション
を実行するためのリカバリサービスと、 を更に含む請求項1のトランザクションシステム。 - 【請求項9】 情報システムにおいて、一貫性を維持するためにサーバマシ
ンの上で実行される方法であって、 複数のユーザで分配され、クライアントマシンの上で実行されるデータベース
を含み、該方法は、トランザクションのために実行時に起動され、該トランザク
ションが1つ以上のサブトランザクションステップを含み、 サーバマシンとデータベースアプリケーションとの間でトランザクションを実
行するために所定のサービスレベル選択を選択すること、 各サブトランザクションステップの実行に影響を及ぼす各オブジェクトに対す
るオブジェクト状態情報をストアすることと、 オブジェクトがトランザクションで最後に見られたのと同じである状態を確認
するために、サブトランザクションステップによって影響を及ぼされる各オブジ
ェクトの状態をチェックし、状態が最後の既知の状態に整合しないならば、トラ
ンザクションに対して順方向実行処理を止めることと、 を含む方法。 - 【請求項10】 独立のアプリケーションのインタラクションを指示するビ
ジネスロジックを含む、サーバマシンの上で実行されるコラボレーションであっ
て、 複数の同様のアプリケーションと通じる複数のコネクタと、 アプリケーションコラボレーションモジュール及びサービスモジュールを含む
インタチェンジサーバであって、前記アプリケーションコラボレーションモジュ
ールは2つ以上のアプリケーションの間でインタオペラビリティを定義し、関連
アプリケーションに搬送するための一以上のコネクタにデータを送出する1つ以
上のサブトランザクションステップを有するトランザクションを含む、インタチ
ェンジサーバと、 アプリケーションによって管理されるデータベースで一貫性を維持するトラン
ザクションシステムを含んでいるサービスモジュールであって、トランザクショ
ンシステムは、トランザクション実行中に維持される独立性レベルを特徴づける
定義されたユーザ独立性レベル選択を構成するグラフィカルユーザインタフェー
スを含み、各サブトランザクションステップの実行で影響を及ぼされる各オブジ
ェクトに対して、オブジェクト状態情報をストアする持続的サービスを含み、オ
ブジェクトがトランザクションで前に見られたのと同じ状態かを確認するために
、サブトランザクションステップによって影響を及ぼされる各オブジェクトの状
態を確認するための状態確認サービスを含む、コラボレーション。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013506199A (ja) * | 2009-09-25 | 2013-02-21 | アビニシオ テクノロジー エルエルシー | グラフベース・アプリケーションにおけるトランザクションの処理 |
Families Citing this family (92)
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)
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)
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 |
-
1998
- 1998-03-12 US US09/039,281 patent/US6233585B1/en not_active Expired - Fee Related
-
1999
- 1999-03-11 EP EP99911337A patent/EP1062569B1/en not_active Expired - Lifetime
- 1999-03-11 JP JP2000535992A patent/JP4049293B2/ja not_active Expired - Fee Related
- 1999-03-11 AT AT99911337T patent/ATE394730T1/de not_active IP Right Cessation
- 1999-03-11 DE DE69938654T patent/DE69938654D1/de not_active Expired - Lifetime
- 1999-03-11 WO PCT/US1999/005382 patent/WO1999046674A1/en active Application Filing
Patent Citations (5)
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)
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)
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 |