JP2000010810A - トランザクション処理のコミット制御方法および同方法が適用される計算機システム - Google Patents

トランザクション処理のコミット制御方法および同方法が適用される計算機システム

Info

Publication number
JP2000010810A
JP2000010810A JP10174813A JP17481398A JP2000010810A JP 2000010810 A JP2000010810 A JP 2000010810A JP 10174813 A JP10174813 A JP 10174813A JP 17481398 A JP17481398 A JP 17481398A JP 2000010810 A JP2000010810 A JP 2000010810A
Authority
JP
Japan
Prior art keywords
transaction
transaction processing
checkpoint
client
client process
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.)
Pending
Application number
JP10174813A
Other languages
English (en)
Inventor
Kiyoko Satou
記代子 佐藤
Toshio Shirokibara
敏雄 白木原
Tatsunori Kanai
達徳 金井
Hideaki Hirayama
秀昭 平山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10174813A priority Critical patent/JP2000010810A/ja
Priority to US09/337,522 priority patent/US6434710B1/en
Publication of JP2000010810A publication Critical patent/JP2000010810A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【課題】トランザクション処理に、チェックポイント/
ロールバック方式を適用する場合において、トランザク
ション処理のデータの信頼性を保証したまま障害回復を
実現することを可能にする。 【解決手段】トランザクション処理プロセス12は、ク
ライアントプロセス21からのトランザクション処理要
求に応じてトランザクションを実行する。チェックポイ
ント/ロールバック制御部11は、定期的にチェックポ
イントを生成し、必要に応じ、最近のチェックポイント
状態にトランザクション処理プロセス12をロールバッ
クして処理を再開する。コミット制御部13は、トラン
ザクションがコミットされた際には、トランザクション
処理プロセス12のチェックポイントが生成されるま
で、トランザクション処理プロセス12からクライアン
トプロセス21へ送るべきトランザクション完了通知の
発行を遅延させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はチェックポイント
/ロールバック方式を適用した高可用性システムにおけ
るトランザクション処理のコミット制御方法に関する。
【0002】
【従来の技術】従来より、計算機に障害が発生した場合
にそれによって中断したプロセスを再実行させるための
方法としてチェックポイント/ロールバック方式が知ら
れている。チェックポイント/ロールバック方式では、
プロセスを再実行させるのに必要な情報を定期的に保存
する。この情報を保存する時点をチェックポイントと呼
び、チェックポイントで情報を保存することをチェック
ポイントの生成と呼ぶ。あるプロセスやそのプロセスが
動作している計算機に障害が発生した場合、プロセスの
状態は、最も最近のチェックポイントで記録された情報
を元に障害発生前のチェックポイントまでロールバック
され、そのチェックポイントから再実行される。
【0003】また、一般に、計算機によって実行される
処理は、入力されたデータを基に主記憶や2次記憶装置
上のデータを更新し、何らかの結果を出力するという一
連の流れを持つ。これらのデータの信頼性を向上するも
のとして、トランザクション処理が知られている。
【0004】トランザクション処理はACIDと称され
る以下の4つの性質を持つ。 1)処理の単位としてのトランザクションは、完全に実
行される(コミット)か、全く実行されない(アボー
ト)かのいずれかであるという原子性(Atomic) 2)トランザクションの実行によって、データは矛盾の
ない状態から矛盾のない状態に変化するという一貫性
(Consistent) 3)トランザクションがコミットするまで、その実行途
中の結果は他のトランザクションに見えないという分離
性(Isolated) 4)コミットしたトランザクションの更新したデータは
永久的なものであって、その後の障害等によって失われ
ることはないという永続性(Durable) これらの性質により、トランザクション処理はデータの
信頼性を保障している。
【0005】しかし、従来のトランザクション処理をチ
ェックポイント/ロールバック方式に採用すると、トラ
ンザクション処理のデータの信頼性は保障されなくな
る。このことを図19に示す。
【0006】ここで、図中のCP(n)は、n番目のチ
ェックポイント(CP)を意味し、CP(n+1)は、
n+1番目のチェックポイント(CP)を意味する。図
19のトランザクション処理では、ユーザがキーボード
入力等のような外部入力(input)を一度行ない、
この入力によりクライアントプロセスがトランザクショ
ン処理プロセスへselect,update,com
mitの要求を送る。トランザクション処理プロセス
は、selectでデータを選択し、updeteでデ
ータを更新し、commitでデータの更新内容を確定
してトランザクションを完了(コミット)する。トラン
ザクションが完了すると、トランザクション処理プロセ
スはトランザクションがコミットされたことをクライア
ントプロセスへ通知する。この通知をうけたクライアン
トプロセスは、ディスプレイ表示等のような外部出力
(output)を行い、トランザクション処理がコミ
ットされたことをユーザに通知する。
【0007】この間、トランザクション処理プロセスが
実行されているサーバ計算機上では定期的にチェックポ
イントをとっている。例えば、チェックポイントCP
(n)の後、トランザクション処理プロセスがsele
ct,updat,commitを実行し、クライアン
トプロセスへトランザクション処理の完了通知を送る。
そして、クライアントプロセスが、トランザクション処
理がコミットされたことをユーザへ通知するための外部
出力を実行した後に、障害が発生したとする。次のチェ
ックポイントCP(n+1)はまだ取られてないので、
トランザクション処理プロセスは最も最近のチェックポ
イントCP(n)、つまり、select,updat
e,commitを実行する前の状態へロールバックす
る。この結果、トランザクション処理がコミットされた
ことが一旦ユーザに通知されたにも関わらず、実際には
トランザクションで行われた処理はすべてキャンセルさ
れ無効になってしまう。
【0008】
【発明が解決しようとする課題】上述したように、トラ
ンザクション処理とチェックポイント/ロールバック方
式を同時に採用すると、トランザクション処理がコミッ
トされたことが外部出力によってユーザに通知されたに
も関わらず、コミットされたトランザクションが無効に
なってしまう危険があった。
【0009】この発明はこのような点に鑑みてなされた
もので、トランザクション処理とチェックポイント/ロ
ールバック方式を同時に採用した場合でもトランザクシ
ョン処理のデータの信頼性を保証することができるトラ
ンザクション処理のコミット制御方法および同方法が適
用される計算機システムを提供することを目的とする。
【0010】
【課題を解決するための手段】上述の課題を解決するた
め、請求項1に係る発明は、プロセスの状態を定期的に
記録することによりチェックポイントを生成し障害発生
時に障害発生前のチェックポイントにプロセス状態を復
元して処理を再開する障害回復手段を有する計算機シス
テムにおいて実行されるトランザクション処理のコミッ
ト制御方法であって、前記トランザクション処理を実行
するトランザクション処理プロセスによってトランザク
ションがコミットされたとき、トランザクション完了を
示す外部出力を発行せずに保持しておき、前記障害回復
手段によって前記トランザクション処理プロセスのチェ
ックポイントが生成された後、前記保持しておいたトラ
ンザクション完了を示す外部出力を発行することを特徴
とする。
【0011】このコミット制御方法によれば、トランザ
クション処理がコミットされても、すぐにはトランザク
ションの完了を通知するための外部出力は発行されずに
保持され、トランザクション処理プロセスのチェックポ
イントが生成された後に、その発行が許可される。この
ようにトランザクションの完了を通知するための外部出
力の発行タイミングをトランザクション処理プロセスの
チェックポイントが生成されるまで遅延させるというコ
ミット制御を行うことにより、トランザクション処理が
コミットされたことが外部出力によってユーザに通知さ
れたにも関わらず、コミットされたトランザクションが
無効になってしまうという矛盾の発生を防止できる。よ
って、トランザクション処理とチェックポイント/ロー
ルバック方式を同時に採用した場合でもトランザクショ
ン処理のデータの信頼性を保証することが可能となる。
【0012】請求項2に係る発明は、トランザクション
の完了を通知するための外部出力の発行タイミングをチ
ェックポイントが生成されるまで遅延させるという請求
項1のコミット制御を、トランザクション処理プロセス
と、このトランザクション処理プロセスへ要求を送るク
ライアントプロセスとの間に適用したものでり、前記ト
ランザクション処理プロセスによってトランザクション
がコミットされた時に前記トランザクション処理プロセ
スから前記クライアントプロセスへ送るべきトランザク
ション完了通知の発行を、前記トランザクション処理プ
ロセスに待機させ、前記障害回復手段によって前記トラ
ンザクション処理プロセスのチェックポイントが生成さ
れた後に前記トランザクション完了を示す外部出力が前
記クライアントプロセスによって発行されるように、前
記チェックポイントの生成に応答して、前記クライアン
トプロセスへのトランザクション完了通知の発行を前記
トランザクション処理プロセスに許可することを特徴と
する。
【0013】このように、トランザクション処理プロセ
スとクライアントプロセスとによって実現されるクライ
アント・サーバモデルのトランザクション処理システム
においては、トランザクション処理プロセスによるクラ
イアントプロセスへのトランザクション完了通知の発行
タイミングを遅延させることで、外部出力の発行タイミ
ングをトランザクション処理プロセスのチェックポイン
トが生成されるまで遅延させるというコミット制御を効
率よく行うことができる。
【0014】さらに、請求項2の方法においては、前記
トランザクション処理プロセスによってトランザクショ
ンがコミットされる度に、前記トランザクション完了通
知の発行を待機させたトランザクションを示すトランザ
クションIDをトランザクションIDテーブルに登録し
ておき、前記障害回復手段によってチェックポイントが
生成された後に、前記トランザクションIDテーブルに
登録されているトランザクションIDに基づいて、トラ
ンザクション完了通知の発行を許可するトランザクショ
ンを、前記トランザクション処理プロセスに通知するこ
とが好ましい。
【0015】これにより、トランザクション処理プロセ
スが複数のクライアントプロセスからのトランザクショ
ン要求を処理している場合であっても、各トランザクシ
ョン毎にトランザクション完了通知の遅延制御を確実に
行うことができる。
【0016】また、クライアントプロセスへの誤ったト
ランザクション完了通知の発行を防止するために、障害
発生によってトランザクション処理プロセスがロールバ
ックされたときは、トランザクションIDテーブルに登
録されているトランザクションIDを全て削除すること
が好ましい。
【0017】請求項3に係る発明は、トランザクション
処理プロセス自体を制御する代わりに、トランザクショ
ン処理プロセスからクライアントプロセスへ送られるト
ランザクション完了通知を途中で捕獲することにより、
クライアントプロセスが受け取るトランザクション完了
通知のタイミングを遅延させるようにしたものであり、
前記トランザクション処理プロセスによってトランザク
ションがコミットされた時に前記トランザクション処理
プロセスから前記クライアントプロセスに向けて発行さ
れるトランザクション完了通知を捕獲し、前記障害回復
手段によって前記トランザクション処理プロセスのチェ
ックポイントが生成された後に前記トランザクション完
了を示す外部出力が前記クライアントプロセスによって
発行されるように、前記チェックポイントの生成に応答
して、前記捕獲したトランザクション完了通知を前記ク
ライアントプロセスに送ることを特徴とする。
【0018】このようにトランザクション処理プロセス
からクライアントプロセスへ送られるトランザクション
完了通知の横取りによって、クライアントプロセスがト
ランザクション完了通知を受け取るタイミングを遅延さ
せることにより、トランザクション処理プロセスおよび
クライアントプロセスに何ら変更を加えることなく、ト
ランザクションの完了を通知するための外部出力の発行
タイミングをトランザクション処理プロセスのチェック
ポイントが生成されるまで遅延させることが可能とな
る。
【0019】請求項4に係る発明は、トランザクション
の完了を通知するための外部出力の発行タイミングをチ
ェックポイントが生成されるまで遅延させるという請求
項1のコミット制御を、クライアントプロセス自体に適
用したものであり、前記クライアントプロセスが前記ト
ランザクション処理プロセスからトランザクション完了
通知を受けた時に前記クライアントプロセスからユーザ
に対して出力すべきトランザクション完了を示す外部出
力を、前記クライアントプロセスに待機させ、前記障害
回復手段による前記トランザクション処理プロセスのチ
ェックポイントの生成に応答して、前記外部出力の発行
を前記クライアントプロセスに許可することを特徴とす
る。
【0020】これにより、クライアントプロセスの制御
のみで、外部出力の発行タイミングをチェックポイント
が生成されるまで遅延させるという制御を効率よく行う
ことができる。
【0021】さらに、請求項4に係る発明においては、
前記トランザクション処理プロセスからトランザクショ
ン完了通知が発行される度、前記外部出力の発行を待機
させたクライアントプロセスを示すプロセスIDをプロ
セスIDテーブルに登録しておき、前記障害回復手段に
よってチェックポイントが生成された後、前記プロセス
IDテーブルに登録されているプロセスIDで指定され
る各クライアントプロセスに対して外部出力の発行を指
示するようにすることが好ましい。
【0022】これにより、トランザクション処理プロセ
スが複数のクライアントプロセスからのトランザクショ
ン要求を処理している場合であっても、各クライアント
プロセス毎に外部出力の遅延制御を確実に行うことがで
きる。
【0023】また、ユーザへの誤った外部出力の発行を
防止するために、障害発生によってトランザクション処
理プロセスがロールバックされたときに、プロセスID
テーブルに登録されているプロセスIDを全て削除する
ことが好ましい。
【0024】請求項5に係る発明は、プロセス間通信を
行いながら動作する複数のプロセス間で矛盾無くプロセ
ス状態を復元できるようにプロセス間で同期してチェッ
クポイントを生成するという分散チェックポイント/ロ
ールバック方式を利用したものであり、前記トランザク
ション処理プロセスおよび前記クライアントプロセスは
それぞれサーバ計算機およびクライアント計算機上で実
行され、前記トランザクション処理プロセスおよび前記
クライアントプロセスのプロセス状態をその間のプロセ
ス間通信に関して矛盾無く復元できるように前記クライ
アントプロセスのチェックポイントを、前記トランザク
ション処理プロセスのチェックポイントと同期して生成
し、前記クライアントプロセスが前記トランザクション
処理プロセスからトランザクション完了通知を受けた時
に前記クライアントプロセスからユーザに対して出力す
べきトランザクション完了を示す外部出力を、前記クラ
イアントプロセスに待機させ、前記クライアントプロセ
スのチェックポイントの生成に応答して、前記外部出力
の発行を前記クライアントプロセスに指示することを特
徴とする。
【0025】これにより、クライアントプロセスによる
外部出力の発行タイミングを、トランザクション処理プ
ロセスとクライアントプロセスとを矛盾無く再実行させ
るための分散チェックポイントが生成されるまで遅延さ
せることが可能となる。よって、分散チェックポイント
が生成される前に、サーバ計算機に障害が発生してサー
バ計算機上のトランザクション処理プロセスとクライア
ント計算機上のクライアントプロセスが共にロールバッ
クされた場合であっても、トランザクション処理がコミ
ットされたことを通知するための外部出力は発行されて
ないので、ユーザにコミットが通知されたトランザクシ
ョンがロールバックによって無効になってしまうという
矛盾の発生を防止できる。
【0026】また、請求項5に係る発明においても、請
求項4の場合と同様に、前記トランザクション処理プロ
セスからトランザクション完了通知が発行される度、前
記外部出力の発行を待機させたクライアントプロセスを
示すプロセスIDをプロセスIDテーブルに登録してお
き、前記障害回復手段によってチェックポイントが生成
された後、前記プロセスIDテーブルに登録されている
プロセスIDで指定される各クライアントプロセスに対
して外部出力の発行を指示するようにし、さらにユーザ
への誤った外部出力の発行を防止するために、障害発生
によってトランザクション処理プロセスがロールバック
されたときは、プロセスIDテーブルに登録されている
プロセスIDを全て削除することが好ましい。
【0027】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。 (第1実施形態)図1には、この発明の第1実施形態に
係る計算機システムの構成が示されている。
【0028】この計算機システムは、アプリケーション
などのユーザプロセスからの要求に応じてトランザクシ
ョン処理を実行するトランザクション処理システムを実
現するためのものである。ここでは、一例として、クラ
イアント・サーバモデルによってトランザクション処理
システムを構成する場合について説明する。
【0029】図示のように、トランザクション処理シス
テムは、サーバ計算機10上で実行されるトランザクシ
ョン処理プロセス12と、クライアント計算機20上で
実行されるクライアントプロセス21とから構成され
る。
【0030】クライアントプロセス21は、トランザク
ション処理プロセス12に対してトランザクション処理
を要求する一種のアプリケーション(ユーザプロセス)
であり、ユーザからのキーボード入力等のような外部入
力に応じて、トランザクション処理プロセス12に一連
のトランザクション処理、つまり、select,up
date,commitの要求を送る。また、トランザ
クション処理プロセス12からトランザクションがコミ
ットされたことが通知されると、クライアントプロセス
21は、ディスプレイ表示等のような外部出力により、
トランザクション処理がコミットされたことをユーザに
通知する。
【0031】トランザクション処理プロセス12は、ク
ライアントプロセス21からの要求に応じてトランザク
ションを実行するものであり、selectでデータを
選択し、updeteでデータを更新し、commit
でデータの更新内容を確定してトランザクションを完了
(コミット)する。トランザクション処理プロセス12
はマルチスレッドによって実現されており、複数のトラ
ンザクションを直列性を維持しながら並行して実行する
こができる。
【0032】このトランザクション処理プロセス12が
実行されるサーバ計算機10には、さらに、チェックポ
イント/ロールバック制御部11、およびコミット制御
部13が設けられている。
【0033】チェックポイント/ロールバック制御部1
1は、トランザクション処理プロセス12を含むサーバ
計算機10上で実行される各種プロセスの状態を定期的
に記録してチェックポイントを生成し、チェックポイン
トを生成したことをコミット制御部13へ通知する。ま
た、障害発生時には、チェックポイント/ロールバック
制御部11は、最も最近のチェックポイントまでプロセ
スをロールバックさせる。そして、プロセスのロールバ
ックを実行したことをコミット制御部13へ通知する。
【0034】コミット制御部13は、トランザクション
の完了を通知するための外部出力の発行タイミングをチ
ェックポイントが生成されるまで遅延させるための制御
を行うために設けられたものであり、トランザクション
処理プロセス12によってトランザクション処理が完了
(コミット)されると、その後新たにチェックポイント
/ロールバック制御部11からのチェックポイント生成
通知を受けるまで、トランザクション処理プロセス12
がクライアントプロセス21に対して行うトランザクシ
ョン完了通知を遅延させる。
【0035】この遅延制御のために、コミット制御部1
3はコミット管理テーブル131を用いる。コミット管
理テーブル131は、例えば図2のような情報を持つ。
IDの項目は、トランザクションがコミットされた時
に、コミットされたトランザクションを識別するための
トランザクションIDを登録する。そして、次回のチェ
ックポイント生成時には、登録されているトランザクシ
ョンについてのトランザクション完了通知の発行をトラ
ンザクション処理プロセス12に指示すると共に、コミ
ット管理テーブル131からトランザクションIDを削
除する。
【0036】すなわち、コミット管理テーブル131に
登録されているトランザクションIDは、トランザクシ
ョン処理プロセス12によってコミットされ、且つ現在
遅延を行っているトランザクションを示している。
【0037】以上述べたような、コミット制御部13、
チェックポイント/ロールバック制御部11は、例え
ば、トランザクション処理プロセス12内のコード、ト
ランザクション処理プロセスにリンクされるライブラ
リ、トランザクション処理プロセス12とは全く独立し
たプロセス、またはオペレーティングシステム(OS)
の一部、として実現することができる。
【0038】図3は、チェックポイント/ロールバック
制御部11の処理手順を示したフローチャートである。
チェックポイント/ロールバック制御部11は、定期的
にトランザクション処理プロセス12を含む各種プロセ
スのチェックポイントを生成する(ステップS10
1)。そして、チェックポイントを生成する度に、チェ
ックポイントを生成したことを、コミット制御部13に
通知する(ステップS102)。また、サーバ計算機1
0またはそのサーバ計算機10上で実行されているプロ
セスに障害が発生すると(ステップS103のYE
S)、最も最近のチェックポイントへプロセスのロール
バックを行う(ステップS104)。そして、ロールバ
ックを実行したことをコミット制御部13に知らせる
(ステップS105)。
【0039】図4、図5、図6は、それぞれコミット制
御部13の処理手順を示したフローチャートである。図
4には、トランザクションがコミットされた時の、コミ
ット制御部13の処理手順が示されている。
【0040】コミット制御部13は、トランザクション
処理プロセス12からトランザクションをコミットした
ことが知らされると(ステップS111)、トランザク
ション処理プロセス12からクライアントプロセス21
へ送るべきトランザクション完了通知の発行を待機させ
る(ステップS112)。そして、コミット管理テーブ
ル131に、トランザクション完了通知の発行を待機さ
せたトランザクションを示すトランザクションIDを登
録する(ステップS113)。このトランザクションI
Dは、トランザクション処理プロセス12から通知され
る、コミットしたトランザクションのIDである。
【0041】図5は、チェックポイント/ロールバック
制御部11からチェックポイント生成通知を受けた時
の、コミット制御部13の処理手順を示したフローチャ
ートである。
【0042】コミット制御部13は、チェックポイント
/ロールバック制御部11からチェックポイント生成通
知を受け取ると(ステップS121)、コミット管理テ
ーブル131をサーチしてトランザクションIDが登録
されているか否かを調べる(ステップS122)。トラ
ンザクションIDが登録されていれば、コミット制御部
13は、コミット管理テーブル131からトランザクシ
ョンIDを一つ取り出し、トランザクションIDで指定
されるトランザクションについてのトランザクション完
了通知の発行を、トランザクション処理プロセス12に
指示して遅延を解除する共に、そのトランザクションI
Dをコミット管理テーブル131から削除する(ステッ
プS123)。コミット管理テーブル131が空になる
まで、ステップS122、S123の処理が繰り返され
る(ステップS124)。
【0043】図6は、チェックポイント/ロールバック
制御部11からトランザクション処理プロセス12のロ
ールバック実行通知を受けた時の、コミット制御部13
の処理手順を示したフローチャートである。
【0044】コミット制御部13は、トランザクション
処理プロセス12がロールバックしたことを、チェック
ポイント/ロールバック制御部11から通知されると
(ステップS131)、コミット管理テーブル131を
調べる(ステップS132)。もし、コミット管理テー
ブル131に登録されているトランザクションIDがあ
れば、その全てのトランザクションIDをコミット管理
テーブル131から削除する(ステップS132〜S1
34)。
【0045】次に、図7を参照して、実施形態1の動作
の様子を説明する。図7は、図19のトランザクション
処理に実施形態1のコミット制御方法を適用した場合を
表している。
【0046】1)サーバ計算機10では、チェックポイ
ントCP(n)が生成される。 2)クライアント計算機20を使用するユーザは、トラ
ンザクション処理のための外部入力(input)を行
なう。
【0047】3)クライアントプロセス21は、トラン
ザクション処理プロセス12にselect,upda
te,commitの要求を送る。 4)トランザクション処理プロセス12は、クライアン
トプロセス21からの要求に応えselect,upd
ate,commitを行う。そして、トランザクショ
ンをコミットすると、そのことをコミット制御部13に
通知し、コミット制御部13によってクライアントプロ
セス21へのコミット完了通知の発行が許可されるま
で、そのコミット完了通知の発行を待機する。
【0048】5)サーバ計算機に障害が発生した場合
は、1)の状態へロールバックする。 サーバ計算機に障害が発生しなかった場合、新しいチェ
ックポイントCP(n+1)が生成される。
【0049】6)新しいチェックポイントCP(n+
1)が生成されると、コミット制御部13によってコミ
ット完了通知の発行が許可され、トランザクション処理
プロセス12からクライアントプロセス21にトランザ
クション完了通知が送られる。
【0050】7)クライアントプロセス21は、画面表
示等の外部出力(output)によって、トランザク
ションがコミットされたことをユーザへ通知する。 以上のように、実施形態1の方法によれば、トランザク
ション処理を行っているサーバ計算機10に障害が発生
し、トランザクション処理プロセス12がロールバック
した場合でも、トランザクションがコミットされたとい
うクライアントプロセス21への通知は、次のチェック
ポイントまで遅延されているため、ユーザへの通知も未
だ行われておらず、コミットされたトランザクション処
理が無効になるという矛盾がクライアント側(ユーザ
側)には生じない。
【0051】(第2実施形態)次に、本発明の第2実施
形態について説明する。図8には、実施形態2に係わる
計算機システムの構成が示されている。
【0052】実施形態2においては、コミット制御部1
3が図示のようにトランザクション処理プロセス12と
クライアントプロセス21との間に位置している点が第
1実施形態と異なっており、他の点は第1実施形態と同
じである。
【0053】すなわち、コミット制御部13は、クライ
アントプロセス21からのトランザクション処理要求を
受け、受け取った要求をトランザクション処理プロセス
12へ送る。また、トランザクション処理プロセス12
からクライアントプロセス21に対するトランザクショ
ン完了通知が発行されると、コミット制御部13は、そ
れを捕獲し、その後新たにチェックポイント/ロールバ
ック制御部11からのチェックポイント生成通知を受け
るまで保持し続ける。そして、チェックポイント生成通
知を受けると、コミット制御部13は、保持しているト
ランザクション完了通知をクライアントプロセス21に
送る。
【0054】以上述べたような、コミット制御部13
は、実施形態1で述べた形態の他に、ユーザ透過なライ
ブラリ、またはOSの機能として実現可能である。この
場合、クライアントプロセス21とトランザクション処
理プロセス12はコミット制御部13の存在を意識する
ことなく処理を行うことができ、それぞれを変更する必
要がないという利点を得ることができる。
【0055】コミット制御部13の処理手順は以下のよ
うになる。クライアントプロセス21からトランザクシ
ョン処理要求があると、まず、コミット制御部13が要
求を受け取り、受け取った要求を、コミット制御部13
からトランザクション処理プロセス12へ送る。この場
合、クライアントプロセス21から直後、トランザクシ
ョン処理プロセス12へ要求を送ってもよい。
【0056】図9は、トランザクション処理プロセス1
2から、トランザクション完了通知を受け取った時のフ
ローチャートである。コミット制御部13は、トランザ
クション処理プロセス12が、トランザクション完了通
知をクライアントプロセス21へ送る途中で、トランザ
クション完了通知を受け取る(ステップS201)。そ
して、そのまま保持して置く(ステップS202)。こ
のように、トランザクション処理プロセス12からクラ
イアントプロセス21へのトランザクション完了通知を
コミット制御部13によって横取りすることにより、ク
ライアントプロセス21がトランザクション完了通知を
受け取るタイミングが遅延される。
【0057】図10は、チェックポイント/ロールバッ
ク制御部11から、チェックポイント生成通知を受け取
った時の、コミット制御部13の処理手順を示したフロ
ーチャートである。
【0058】コミット制御部13は、チェックポイント
/ロールバック制御部11からチェックポイント生成通
知を受け取ると(ステップS211)、保持しているト
ランザクション完了通知があるかいなかを調べ(ステッ
プS212)、あれば、それらの遅延を全て解除し、保
持しているすべてのトランザクション完了通知を目的の
クライアントプロセス21へ送る(ステップS21
3)。
【0059】図11は、チェックポイント/ロールバッ
ク制御部からロールバック実行通知を受け取った時の、
コミット制御部の処理手順を示したフローチャートであ
る。コミット制御部13は、チェックポイント/ロール
バック制御部11からロールバック実行通知を受け取と
ると(ステップS221)、保持しているトランザクシ
ョン完了通知があるか否かを調べ(ステップS22
2)、あれば、それらすべてのトランザクション完了通
知を破棄する(ステップS223)。
【0060】実施形態2の方法によれば、トランザクシ
ョン処理を行っているサーバ計算機10に障害が発生
し、トランザクション処理プロセス12がロールバック
した場合でも、トランザクションがコミットされたとい
うクライアントプロセス21への通知は次のチェックポ
イントまで遅延されているため、ユーザへの通知も未だ
行われておらず、コミットされたトランザクション処理
が無効になるという矛盾がクライアント側(ユーザー
側)には生じない。さらに、これらの遅延処理は全てコ
ミット制御部13のみで実現でき、クライアントプロセ
ス21とトランザクション処理プロセス12は遅延処理
を意識することがない。
【0061】(第3実施形態)次に実施形態3について
説明する。図12には、実施形態3に係わる計算機シス
テムの構成が示されている。
【0062】本実施形態では、コミット制御部13は、
クライアントプロセス21が実行されるクライアント計
算機20側に設けられており、コミット制御部13によ
って、クライアントプロセス21からユーザへの外部出
力の発行タイミングが遅延される。
【0063】すなわち、コミット制御部13は、クライ
アントプロセス21がトランザクション処理プロセス1
2からトランザクション完了通知を受け取ると、この後
新たにサーバ計算機10でチェックポイントが生成され
るまで、クライアントプロセス21に対して、トランザ
クションがコミットされたことをユーザへ通知するため
の外部出力を遅延させる。
【0064】これらの処理には、実施形態1と同じくコ
ミット管理テーブル131を用いている。ただし、実施
形態3では、コミット管理テーブル131のIDの項目
には、トランザクションがコミットされたことがクライ
アントプロセス21へ通知された時に、通知を受けたク
ライアントプロセスのプロセスIDを登録する。
【0065】図13、図14、図15は実施形態3にお
ける、コミット制御部の処理手順を示したフローチャー
トである。図13は、クライアントプロセス21がトラ
ンザクション処理プロセス12から、トランザクション
がコミットされたことを通知された時の、コミット制御
部13の処理手順を示したフローチャートである。
【0066】コミット制御部301は、クライアントプ
ロセス21がトランザクション処理プロセス12からト
ランザクション完了通知を受け取ったことをクライアン
トプロセス21から通知されると(ステップS30
1)、クライアントプロセス201に対して、トランザ
クションがコミットされたことをユーザへ通知するため
の画面表示などの外部出力の発行を待機させる(ステッ
プS302)。そして、コミット管理テーブル131の
IDの項目に、通知を受けたクライアントプロセスのプ
ロセスIDを登録する(ステップS303)。
【0067】図14は、チェックポイント/ロールバッ
ク制御部11からチェックポイントを生成したことを通
知された時の、コミット制御部13の処理手順を示した
フローチャートである。
【0068】コミット制御部13は、チェックポイント
/ロールバック制御部11からチェックポイント生成通
知を受け取ると(ステップS311)、コミット管理テ
ーブル131をサーチしてプロセスIDが登録されてい
るか否かを調べる(ステップS312)。プロセスID
が登録されていれば、コミット制御部13は、コミット
管理テーブル131からプロセスIDを一つ取り出し、
そのプロセスIDに対応するクライアントプロセス21
に対してトランザクション完了通知の発行を指示して遅
延を解除する共に、そのプロセスIDをコミット管理テ
ーブル131から削除する(ステップS313)。コミ
ット管理テーブル131が空になるまで、ステップS3
12、S313の処理が繰り返される(ステップS31
4)。
【0069】図15は、チェックポイント/ロールバッ
ク制御部11からトランザクション処理プロセス12が
ロールバックしたことを通知された時の、コミット制御
部13の処理手順を示したフローチャートである。
【0070】コミット制御部13は、トランザクション
処理プロセス12がロールバックしたことを、チェック
ポイント/ロールバック制御部11から通知されると
(ステップS321)、コミット管理テーブル131を
調べる(ステップS322)。もし、コミット管理テー
ブル131に登録されているクライアントプロセスがあ
れば、その全てのクライアントプロセスのプロセスID
をコミット管理テーブルから削除する(ステップS32
3,324)。
【0071】次に、図16を参照して、実施形態3の動
作の様子を説明する。図16は、図19のトランザクシ
ョン処理に実施形態3を用いた場合を表している。
【0072】1)サーバ計算機10では、チェックポイ
ントCP(n)が生成される。 2)ユーザはトランザクション処理のための外部入力
(input)を行う。 3)クライアントプロセス21は、トランザクション処
理プロセス12にselect,update,com
mitの要求を送る。
【0073】4)トランザクション処理プロセス12
は、クライアントプロセス21からの要求に応えトラン
ザクション処理を完了(コミット)すると、クライアン
トプロセス21へトランザクションがコミットされたこ
とを通知する。
【0074】5)クライアントプロセス21は、トラン
ザクション処理完了通知を受けると、それをコミット制
御部13に通知し、コミット制御部13から許可される
までユーザへの外部出力の発行を待機する(wai
t)。
【0075】6)サーバ計算機10に障害が発生した場
合は1)の状態へロールバックする。サーバ計算機10
に障害が発生しなかった場合はサーバ計算機10はチェ
ックポイントCP(n+1)を生成する。
【0076】7)新しいチェックポイントCP(n+
1)が生成されると、コミット制御部13によって外部
出力が許可され、クライアントプロセス21は、遅延を
解除して外部出力を実行し、ユーザへトランザクション
がコミットされたことを通知する。
【0077】実施形態3の方法によれば、トランザクシ
ョン処理を行っていたサーバ計算機10に障害が発生
し、トランザクション処理プロセス12がロールバック
した場合でも、クライアントプロセス21は、トランザ
クションがコミットされたことをユーザへ通知するため
の外部出力を遅延しているため、ユーザにコミットが通
知されたトランザクション処理が後に無効になるという
矛盾が生じない。
【0078】なお、トランザクション処理プロセス12
がロールバックすると、クライアントプロセス21側で
はエラー処理が行われ、必要に応じてユーザへのエラー
発生の通知、再試行のための入力(input)の呼び
かけなどが行われる。
【0079】(第4実施形態)次に、実施形態4を説明
する。図17には、実施形態4に係わる計算機システム
の構成が示されている。
【0080】ここでは、プロセス間通信を行いながら動
作するサーバ計算機10上のトランザクション処理プロ
セス12とクライアント計算機22上のクライアントプ
ロセス21との間のプロセス間通信に関して矛盾無くプ
ロセス状態を復元できるようにそれらプロセス間で同期
してチェックポイントを生成するという分散チェックポ
イント/ロールバック方式を適用している。
【0081】すなわち、クライアント計算機20には、
サーバ計算機10のチェックポイント/ロールバック制
御部11と同期してクライアントプロセス21のチェッ
クポイントを生成するチェックポイント/ロールバック
制御部22が設けられている。トランザクション処理プ
ロセス12およびクライアントプロセス21それぞれの
チェックポイントは、それらトランザクション処理プロ
セス12およびクライアントプロセス21の動作を一旦
停止させたり、あるいはプロセス間通信のみを禁止する
ことななどにより、プロセス間通信が行われていない状
態で生成される。サーバ計算機10またはクライアント
計算機20に障害が発生すると、チェックポイント/ロ
ールバック制御部11,22によって、トランザクショ
ン処理プロセス12およびクライアントプロセス21が
共に矛盾のない状態にロールバックされる。このような
分散チェックポイント/ロールバック方式の実現例とし
ては、たとえば、特願平8−59188号明細書に開示
されている分散チェックポイント/リスタート方法、な
どを用いることができる。
【0082】コミット制御部13については、チェック
ポイント/ロールバック制御部22からチェックポイン
トからクライアントプロセス21についてのチェックポ
イント生成通知およびロールバック通知を受け取る点だ
けが実施形態3と異なり、他の点は実施形態3と同じで
ある。
【0083】図18を参照して、実施形態4の動作の様
子を説明する。図18は、図20のトランザクション処
理に実施形態4を用いた場合を表している。
【0084】1)サーバ計算機とクライアント計算機で
は、同期してチェックポイントCP(n)を生成する。 2)ユーザはトランザクション処理のための外部入力
(input)を行なう。
【0085】3)クライアントプロセス21は、トラン
ザクション処理プロセス12にselect,upda
te,commit要求を送る。 4)トランザクション処理プロセス12は、クライアン
トプロセス21からの要求に応え処理を完了すると(コ
ミット)、クライアントプロセス21へトランザクショ
ンがコミットされたことを通知する。
【0086】5)クライアントプロセスは、トランザク
ション処理完了通知を受けると、それをコミット制御部
13に通知し、コミット制御部13から許可されるまで
ユーザへの外部出力の発行を待機する(wait)。
【0087】6)サーバ計算機10またはクライアント
計算機20に障害が発生した場合、トランザクション処
理プロセス12とクライアントプロセス21は共に、
1)の状態へロールバックする。
【0088】サーバ計算機10に障害が発生しなかった
場合、サーバ計算機10とクライアント計算機20は共
にチェックポイントCP(n+1)を生成する。 7)クライアントプロセス21の新しいチェックポイン
トCP(n+1)が生成されると、コミット制御部13
によって外部出力が許可され、クライアントプロセス2
1は、遅延を解除して外部出力を実行し、ユーザへトラ
ンザクションがコミットされたことを通知する。
【0089】実施形態4の方法によれば、サーバ計算機
10とクライアント計算機20が分散チェックポイント
を採っているので、サーバ計算機10に障害が発生し、
サーバ計算機10上のトランザクション処理プロセス1
2とクライアント計算機20上のクライアントプロセス
21がともにロールバックしても、クライアントプロセ
ス21は、ユーザへコミットを通知するための外部出力
を遅延しているため、ユーザにはコミットされたトラン
ザクション処理が無効になるという矛盾は生じない。
【0090】
【発明の効果】以上のように、本発明によれば、トラン
ザクション処理プロセスの障害回復を、チェックポイン
ト/ロールバック方式で行う場合に、トランザクション
処理のデータの信頼性を保証したまま、回復することが
可能である。また、トランザクション処理プロセスとク
ライアントプロセスには変更を加えず、それぞれは通常
の処理を行うことで実現することも可能である。さら
に、分散チェックポイント/リスタート方式において
も、トランザクション処理のデータの信頼性が保証でき
る。
【図面の簡単な説明】
【図1】この発明の第1実施形態に係わる計算機システ
ムの構成を示すブロック図。
【図2】同第1実施形態のコミット制御部で使用される
コミット管理テーブルを示す図。
【図3】同第1実施形態のチェックポイント/ロールバ
ック制御部の処理手順を示すフローチャート。
【図4】同第1実施形態においてトランザクションがコ
ミットされた時の、コミット制御部の処理手順を示すフ
ローチャート。
【図5】同第1実施形態においてチェックポイント生成
通知を受けた時の、コミット制御部の処理手順を示すフ
ローチャート。
【図6】同第1実施形態においてロールバック実行通知
を受けた時の、コミット制御部の処理手順を示すフロー
チャート。
【図7】同第1実施形態の動作の様子を示す図。
【図8】この発明の第2実施形態に係わる計算機システ
ムの構成を示すブロック図。
【図9】同第2実施形態においてトランザクション完了
通知を受けた時のコミット制御部の処理手順を示すフロ
ーチャート。
【図10】同第2実施形態においてチェックポイント生
成通知を受けた時のコミット制御部の処理手順を示すフ
ローチャート。
【図11】同第2実施形態においてロールバック実行通
知を受けた時のコミット制御部の処理順を示すフローチ
ャート。
【図12】この発明の第3実施形態に係わる計算機シス
テムの構成を示すブロック図。
【図13】同第3実施形態においてトランザクション完
了通知を受けた時のコミット制御部の処理手順を示すフ
ローチャート。
【図14】同第3実施形態においてチェックポイント生
成通知を受けた時のコミット制御部の処理手順を示すフ
ローチャート。
【図15】同第3実施形態においてロールバック実行通
知を受けた時のコミット制御部の処理手順を示すフロー
チャート。
【図16】同第3実施形態の動作の様子を示す図。
【図17】この発明の第4実施形態に係わる計算機シス
テムの構成を示す図。
【図18】同第4実施形態の動作の様子を示す図。
【図19】従来のチェックポイント/ロールバック方式
を外部入力と外部出力を含むトランザクション処理に採
用した図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 金井 達徳 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 平山 秀昭 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 Fターム(参考) 5B027 AA01 AA02 AA04 BB01 CC04 5B045 BB43 BB47 CC03 JJ43 JJ45

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 プロセスの状態を定期的に記録すること
    によりチェックポイントを生成し障害発生時に障害発生
    前のチェックポイントにプロセス状態を復元して処理を
    再開する障害回復手段を有する計算機システムにおいて
    実行されるトランザクション処理のコミット制御方法で
    あって、 前記トランザクション処理を実行するトランザクション
    処理プロセスによってトランザクションがコミットされ
    たとき、トランザクション完了を示す外部出力を発行せ
    ずに保持しておき、 前記障害回復手段によって前記トランザクション処理プ
    ロセスのチェックポイントが生成された後、前記保持し
    ておいたトランザクション完了を示す外部出力を発行す
    ることを特徴とするトランザクション処理のコミット制
    御方法。
  2. 【請求項2】 前記トランザクション処理は、前記トラ
    ンザクション処理プロセスと、このトランザクション処
    理プロセスへ要求を送るクライアントプロセスとによっ
    て実現されており、 前記トランザクション処理プロセスによってトランザク
    ションがコミットされた時に前記トランザクション処理
    プロセスから前記クライアントプロセスへ送るべきトラ
    ンザクション完了通知の発行を、前記トランザクション
    処理プロセスに待機させ、 前記障害回復手段によって前記トランザクション処理プ
    ロセスのチェックポイントが生成された後に前記トラン
    ザクション完了を示す外部出力が前記クライアントプロ
    セスによって発行されるように、前記チェックポイント
    の生成に応答して、前記クライアントプロセスへのトラ
    ンザクション完了通知の発行を前記トランザクション処
    理プロセスに許可することを特徴とする請求項1記載の
    コミット制御方法。
  3. 【請求項3】 前記トランザクション処理は、前記トラ
    ンザクション処理プロセスと、このトランザクション処
    理プロセスへ要求を送るクライアントプロセスとによっ
    て実現されており、 前記トランザクション処理プロセスによってトランザク
    ションがコミットされた時に前記トランザクション処理
    プロセスから前記クライアントプロセスに向けて発行さ
    れるトランザクション完了通知を捕獲し、 前記障害回復手段によって前記トランザクション処理プ
    ロセスのチェックポイントが生成された後に前記トラン
    ザクション完了を示す外部出力が前記クライアントプロ
    セスによって発行されるように、前記チェックポイント
    の生成に応答して、前記捕獲したトランザクション完了
    通知を前記クライアントプロセスに送ることを特徴とす
    る請求項1記載のコミット制御方法。
  4. 【請求項4】 前記トランザクション処理は、前記トラ
    ンザクション処理プロセスと、このトランザクション処
    理プロセスへ要求を送るクライアントプロセスとによっ
    て実現されており、 前記クライアントプロセスが前記トランザクション処理
    プロセスからトランザクション完了通知を受けた時に前
    記クライアントプロセスからユーザに対して出力すべき
    トランザクション完了を示す外部出力を、前記クライア
    ントプロセスに待機させ、 前記障害回復手段による前記トランザクション処理プロ
    セスのチェックポイントの生成に応答して、前記外部出
    力の発行を前記クライアントプロセスに許可することを
    特徴とする請求項1記載のコミット制御方法。
  5. 【請求項5】 前記トランザクション処理プロセスおよ
    び前記クライアントプロセスはそれぞれサーバ計算機お
    よびクライアント計算機上で実行され、 前記トランザクション処理プロセスおよび前記クライア
    ントプロセスのプロセス状態をその間のプロセス間通信
    に関して矛盾無く復元できるように前記クライアントプ
    ロセスのチェックポイントを、前記トランザクション処
    理プロセスのチェックポイントと同期して生成し、 前記クライアントプロセスが前記トランザクション処理
    プロセスからトランザクション完了通知を受けた時に前
    記クライアントプロセスからユーザに対して出力すべき
    トランザクション完了を示す外部出力を、前記クライア
    ントプロセスに待機させ、 前記クライアントプロセスのチェックポイントの生成に
    応答して、前記外部出力の発行を前記クライアントプロ
    セスに許可することを特徴とする請求項1記載のコミッ
    ト制御方法。
  6. 【請求項6】 プロセスの状態を定期的に記録すること
    によりチェックポイントを生成し障害発生時に障害発生
    前のチェックポイントにプロセス状態を復元して処理を
    再開する障害回復手段を有する計算機システムにおい
    て、 前記計算機システム上でトランザクション処理を実行す
    るトランザクション処理プロセスによってトランザクシ
    ョンがコミットされたとき、トランザクション完了を示
    す外部出力を発行せずに保持する手段と、 前記障害回復手段によってチェックポイントが生成され
    た後、前記保持しておいたトランザクション完了を示す
    外部出力を発行する手段とを具備することを特徴とする
    計算機システム。
  7. 【請求項7】 トランザクション処理システムのコミッ
    ト制御方法であって、 トランザクション処理を実行するトランザクション処理
    プロセスのプロセス状態を復元するために必要な情報を
    定期的に記録することにより前記トランザクション処理
    プロセスのチェックポイントを生成し、 前記トランザクション処理プロセスによってトランザク
    ションがコミットされた時に出力されるべきトランザク
    ション完了を示す外部出力の発行タイミングを、前記ト
    ランザクション処理プロセスのチェックポイントが生成
    されるまで遅延させることを特徴とするコミット制御方
    法。
JP10174813A 1998-06-22 1998-06-22 トランザクション処理のコミット制御方法および同方法が適用される計算機システム Pending JP2000010810A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10174813A JP2000010810A (ja) 1998-06-22 1998-06-22 トランザクション処理のコミット制御方法および同方法が適用される計算機システム
US09/337,522 US6434710B1 (en) 1998-06-22 1999-06-22 Commit controlling scheme for transaction processing in system utilizing check point/roll back scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10174813A JP2000010810A (ja) 1998-06-22 1998-06-22 トランザクション処理のコミット制御方法および同方法が適用される計算機システム

Publications (1)

Publication Number Publication Date
JP2000010810A true JP2000010810A (ja) 2000-01-14

Family

ID=15985123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10174813A Pending JP2000010810A (ja) 1998-06-22 1998-06-22 トランザクション処理のコミット制御方法および同方法が適用される計算機システム

Country Status (2)

Country Link
US (1) US6434710B1 (ja)
JP (1) JP2000010810A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016541056A (ja) * 2013-11-14 2016-12-28 華為技術有限公司Huawei Technologies Co.,Ltd. ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799166B2 (en) 1999-09-02 2004-09-28 International Business Machines Corporation Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
DE10102649B4 (de) * 2000-03-30 2006-05-24 International Business Machines Corp. System und Verfahren für die Realisierung von Transaktionen mit Unterstützung durch ein Verzeichniszugriffs-LDAP-Protokoll
US7689560B2 (en) * 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7587428B2 (en) 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US20030236826A1 (en) * 2002-06-24 2003-12-25 Nayeem Islam System and method for making mobile applications fault tolerant
JP3749208B2 (ja) * 2002-08-14 2006-02-22 株式会社東芝 プロセスマイグレーション方法、計算機
US7310723B1 (en) 2003-04-02 2007-12-18 Transmeta Corporation Methods and systems employing a flag for deferring exception handling to a commit or rollback point
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US20050144026A1 (en) * 2003-12-30 2005-06-30 Bennett Gary W. Methods and apparatus for electronic communication
US8484637B2 (en) * 2007-04-03 2013-07-09 Microsoft Corporation Parallel installation
US7925625B2 (en) * 2007-09-20 2011-04-12 Microsoft Corporation Synchronizing data between business applications
US8001548B2 (en) * 2008-10-20 2011-08-16 Microsoft Corporation Transaction processing for side-effecting actions in transactional memory
US8166481B2 (en) * 2008-10-20 2012-04-24 Microsoft Corporation Transaction processing in transactional memory
US10951706B2 (en) 2016-12-09 2021-03-16 Google Llc High-throughput algorithm for multiversion concurrency control with globally synchronized time
CN112188477B (zh) * 2020-09-14 2023-10-13 北京中电华大电子设计有限责任公司 一种eSIM卡快速下载方法
US11768741B2 (en) * 2021-07-30 2023-09-26 International Business Machines Corporation Replicating changes written by a transactional virtual storage access method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
JP2902976B2 (ja) 1995-06-19 1999-06-07 株式会社東芝 キャッシュフラッシュ装置
KR19980024086A (ko) 1996-09-03 1998-07-06 니시무로 타이조 컴퓨터 시스템 및 화일 관리 방법
US6055547A (en) * 1997-12-30 2000-04-25 Unisys Corporation Shared file allocation and release

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016541056A (ja) * 2013-11-14 2016-12-28 華為技術有限公司Huawei Technologies Co.,Ltd. ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置
US10453010B2 (en) 2013-11-14 2019-10-22 Huawei Technologies Co., Ltd. Computer device, method, and apparatus for scheduling business flow

Also Published As

Publication number Publication date
US6434710B1 (en) 2002-08-13

Similar Documents

Publication Publication Date Title
JP2000010810A (ja) トランザクション処理のコミット制御方法および同方法が適用される計算機システム
JP3790589B2 (ja) 分散データベーストランザクションのコミットメント方法
US7584474B2 (en) Systems and methods for transaction chaining
US7962458B2 (en) Method for replicating explicit locks in a data replication engine
US8880486B2 (en) Distributed database system utilizing an extended two-phase-commit process
EP0950955B1 (en) Method and apparatus for correct and complete transactions in a fault tolerant distributed database system
JP4283576B2 (ja) トランザクション同期方法、データベースシステム及びデータベース装置
US8868514B2 (en) Transaction support for distributed data
US7188273B2 (en) System and method for failover
US20090313311A1 (en) Mixed mode synchronous and asynchronous replication system
US20080109622A1 (en) Point in Time Remote Copy for Multiple Sites
US20070006208A1 (en) Fault-tolerant patching system
US20150033069A1 (en) Performing a data write on a storage device
GB2402769A (en) Maintaining resource integrity without a unified transaction manager in a software environment
US5734896A (en) Recovery of a remotely initiated distributed prepared transaction by status report from a second database to an external coordinator
EP2622498B1 (en) Performing computations in a distributed infrastructure
US5794034A (en) Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor
CN105320718A (zh) 同步复制环境中的事务完成
EP1247182A1 (en) Preserving consistency of passively-replicated non-deterministic objects
JP3901060B2 (ja) アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム
AU2015336250C1 (en) Recovery and fault-tolerance under computational indeterminism
US8095826B1 (en) Method and apparatus for providing in-memory checkpoint services within a distributed transaction
US5630140A (en) Ordered and reliable signal delivery in a distributed multiprocessor
JP3516428B2 (ja) 計算機
JP2569063B2 (ja) 複合サブシステム形オンラインシステムの障害回復方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050809