JP2009259009A - トランザクションの実行を制御する装置及び方法 - Google Patents
トランザクションの実行を制御する装置及び方法 Download PDFInfo
- Publication number
- JP2009259009A JP2009259009A JP2008107466A JP2008107466A JP2009259009A JP 2009259009 A JP2009259009 A JP 2009259009A JP 2008107466 A JP2008107466 A JP 2008107466A JP 2008107466 A JP2008107466 A JP 2008107466A JP 2009259009 A JP2009259009 A JP 2009259009A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- provider
- request
- processing
- transactions
- 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
Images
Classifications
-
- 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/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】リクエスタ10は、GBPIDと入力メッセージとプロバイダ名とを含む業務プロセス履歴を記録した業務プロセス履歴DB11を備え、プロバイダ20は、GBPIDとDB更新前イメージとを含むログデータを記録したログDB21を備える。そして、リクエスタ10では、UNDO情報生成部17及びREDO情報生成部18が、業務プロセス履歴DB11を参照して、修正REDO以降のGBPIDの業務プロセスの該当するプロバイダ20に対するUNDO情報及びREDO情報を生成する。また、プロバイダ20では、UNDO処理部27及びREDO処理部28が、ログDB21を参照して、UNDO処理及びREDO処理を行う。
【選択図】図9
Description
このようなトランザクションの取消しや再実行については、従来から、種々の技術が提案されている(例えば、特許文献1〜3参照)。
更に、処理は、複数のプロバイダの各々が保持するデータベースを更新する処理であり、第2の履歴情報は、データベースの更新前イメージを含む、ものであってもよい。
本実施の形態では、データベース(以下、「DB」という)の更新を含む複数のウェブサービスを組み合わせてトランザクションの一例である1つの業務プロセスを実現するアプリケーションを考える。このようなアプリケーションが原子性(Atomicity)を持つ場合、全てのウェブサービスを2PC(2フェーズコミット)のスコープに置かなくてはならない。ここで、原子性とは、当業者にはよく知られているように、互いに独立した複数のプロバイダサーバシステムの各々が提供する複数の独立したウェブサービスが実行したDB更新が、全て成立するか、全て失われるか、の何れかであることを意味する。後続のウェブサービスで障害が発生し、DB更新が完結できなければ、先行するウェブサービスによって既に実行済みのDB更新は全て取り消さなくてはならない。しかし、高い信頼性を求められる基幹系事務システムでは、次のような幾つかの理由から、一般的には2PCの方式は採用されない。
図1は、本実施の形態における業務プロセス実行制御装置100の構成を示したブロック図である。本実施の形態における業務プロセス実行制御装置100は、リクエスタ10と、プロバイダ20a,20b,20c,…と、GBPIDサーバ30とから構成される。
図2は、業務プロセス実行制御装置100の概略動作を説明するための図である。図において、リクエスタ10内には、左側から右側へ向けて、リクエスタ10が行うべき処理を時系列に示しており、それに対応する下段の位置に各処理に対応するサービスを実行するプロバイダ20又はGBPIDサーバ30を示している。従って、2つのGBPIDサーバ30が示されているが、これらは同じGBPIDサーバ30であり、処理内容の違いに応じて2つ図示したに過ぎない。そして、プロバイダ20としては、契約管理を行うプロバイダ20aと、顧客管理を行うプロバイダ20bとを示している。
まず、プロバイダ20aは、ログDB21aと、契約DB29aとを備える。更に、図面作成の都合上、プロバイダ20aの枠外に示しているが、ID対応DB200aも備える。ログDB21aは、後述する更新取消処理等のためにDBの更新前イメージを保存するDBである。契約DB29aは、業務DBの一例であり、契約に関するデータを保存するDBである。ID対応DB200aは、各GBPIDに関する「更新前ログ」のログIDを管理するDBである。また、プロバイダ20bは、ログDB21bと、顧客DB29bとを備える。更に、図面作成の都合上、プロバイダ20bの枠外に示しているが、ID対応DB200bも備える。ログDB21bは、ログDB21aと同様、後述する更新取消処理等のためにDBの更新前イメージを保存するDBである。顧客DB29bは、業務DBの一例であり、顧客に関するデータを保存するDBである。ID対応DB200bは、各GBPIDに関する「更新前ログ」のログIDを管理するDBである。尚、図では、プロバイダ20a、20bに対応して、ログDB21a、21b、及び、ID対応DB200a、200bを示したが、以降の説明で各ログDBを区別する必要がない場合は、「ログDB21」、「ID対応DB200」と表記する。
まず、リクエスタ10は、GBPIDサーバ30からGBPIDを入手する(A)。図において、GBPIDサーバ30は、GBPID「1001」、「1002」、「1003」を採番しており、これらのGBPIDが「実行中」というステータスと共に同期点管理DB31に記録されている。尚、ステップAでは、このうちGBPID「1001」を入手したものとする。
これにより、各プロバイダ20は、全てのDBの更新に当たって、DBレコードの例えば先頭にGBPIDを埋め込んで、そのGBPIDを持つ業務プロセスが、DBレコードを「更新実行中」或いは「更新をロールバック中」或いは「更新をコミット済み」であることを示す。この3つのステータスの何れであるかは、同期点管理DB31に記録されている。尚、この場合において、プロバイダ20において同一の業務プロセス内の同一のGBPIDを持つ複数のウェブサービスがフロー上並行処理されることが想定されれば、同一GBPID内での枝番をGBPIDの後ろに付加した、ウェブサービスごとにユニークなIDをGBPIDの代わりに埋め込んで、同一の業務プロセス内の複数のウェブサービスの処理順序を正確に管理できるようにする必要がある。以降の説明では、特に混乱が生じない限り、このGBPIDと枝番の組み合わせからなるIDも単にGBPIDと表記する。
但し、このとき、ステータスが「実行中」や「ロールバック」のGBPIDを持つDBレコードは使用しない。つまり、DBレコードはコミットされていなければ使用しないが、コミットされているかどうかは、同期点管理DB31を見れば分かる。更新しようとするDBレコードに埋め込まれたGBPIDのステータスが「実行中」や「ロールバック」になっている状況が生じた場合、コミットになるまで待ち、デッドロック回避のため、一定時間経過後にタイムアウトを返す方法と、トランザクションを異常終了させる方法(タイムアウトと同様に扱う方法)とがある。
また、各プロバイダ20は、ウェブサービスの処理中に発生した全てのDB更新をコミット後も取り消せるように、DBレコードの更新前イメージをログDB21に書き出しておく。
第一に、リクエスタ10は、医療特約追加をプロバイダ20aに依頼する。このとき、GBPID「1001」もプロバイダ20aに通知する(B)。すると、プロバイダ20aは、GBPID「1001」を契約DB29aのレコードに埋め込み、DBレコードの更新前イメージをログID#1のログデータとしてログDB21aに書き出す(C)。尚、GBPID「1001」とログID#1との対応は、ID対応DB200aに記録しておく。そして、プロバイダ20aは、全ての処理が正常終了した時点で、サービスをコミットし、DBレコードのロックを全て開放する。
このように、GBPIDのチェックは、基本的には全てのDBアクセスについて実施する必要があるものである。しかしながら、DBレコードにアクセスする都度、同期点管理DB31を参照していては、パフォーマンスが低下するという問題点が出てくる。
図3は、業務プロセス実行制御装置100の概略動作の変形例を説明するための図である。
図では、リクエスタ10がステップGで行ったGBPIDサーバ30への指示により、GBPID「1002」に加え、GBPID「1001」も「コミット状態」になると、同期点管理DB31に「1003未満はコミット済み」という情報が記録される。尚、図では、これを「<1003 commit」と簡略化して示している。こうすることにより、各プロバイダ20は、メモリ上に「実行中」になっている最小のGBPIDであるOPGID(Oldest Pending GBPID)を保持することができる。そして、OPGIDより小さいGBPIDであれば、コミットされていると判断し、OPGIDより大きなGBPIDである場合にのみ、同期点管理DB31を参照して、コミットされているかどうかを判断することができる。
図4は、業務プロセス実行制御装置100におけるロールバック時の概略動作を説明するための図である。尚、図には、3つのGBPIDサーバ30が示されているが、図2と同様、これらは同じGBPIDサーバ30である。
図において、ステップA〜Fは、図2で説明したものと同様である。但し、この図では、ステップFで顧客DB29bを更新する際に障害が発生したものとする。すると、プロバイダ20は、ロールバック処理を行い、ロックを開放すると共に、リクエスタ10にサービスが実行されなかったことを通知する。リクエスタ10は、障害の通知を受けると、該当するGBPIDを「ロールバック状態」にするようGBPIDサーバ30に指示する(H)。図では、GBPID「1001」が「ロールバック状態」というステータスと共に同期点管理DB31に記録されている。
また、コミットされたDBレコードであっても、GBPIDごとに管理される状態情報が「コミット状態」にならない限り、参照/更新はされないことが保証される。従って、DBの更新前ログを用いた更新取消処理が常に成立し、業務プロセス全体の大域的なデータの原子性も達成できる。
更に、DBレコードごと或いはウェブサービスごとにコミット/ロールバックを管理するのではなく、それらを包括したGBPIDごとにコミット/ロールバックを管理するだけでよいため、仕組みが単純化できる。
更にまた、GBPIDの状態を、リクエスタ10やプロバイダ20から独立したGBPIDサーバ30で一括管理するため、リクエスタ10やプロバイダ20の間に新たな依存関係は発生せず、各システムに閉じた実装だけで、複雑な大域的なデータの原子性を達成できる。具体的には、リクエスタ10やプロバイダ20の数が増大したり、プロバイダ20が複数の企業に跨ったりしたとしても、GBPIDサーバ30を共有する限り、実装は変わらない。また、GBPIDサーバ30の信頼性が十分に高ければ、リクエスタ10やプロバイダ20の信頼性が低下することはない。
1)リクエスタ側では、業務プロセスの実行履歴(以下、「業務プロセス履歴」という)をとり、各プロバイダでは、サービスの実行履歴(以下、「サービス履歴」という)をとる。そして、各プロバイダがサービス履歴に基づいてUNDOを実行する。また、リクエスタが、業務プロセス履歴に基づいて、順次業務プロセスのREDOを実行する。業務プロセスがREDOされると、各プロバイダにはサービスが要求されることになる。各プロバイダは、要求されたサービスを実行する前に、サービス履歴を参照し、それ以前に他のリクエスタから要求されたサービスがあればそれらのREDOを実行し、その後で要求されたサービスを実行する。このような設計によって、リクエスタとプロバイダが協調して、全てのリクエスタ/プロバイダで整合のとれたUNDO/REDOを実現することができる。
図5(a)は、このような例を模式的に示した図である。尚、この例では、UNDO/REDOを契約者単位に行うものとし、契約者IDをUNDO/REDOのキーとしている。尚、図中、c#は、各契約者の契約者IDを表すシンボルである。また、p#1〜p#4は、各保険の契約番号を表すシンボルである。例えば、p#1は、この契約者の終身保険の契約番号を示し、p#2は、この契約者の医療保険の契約番号を示している。
図示するように、処理Axで終身保険の変更を行い、処理Bxでログデータから入力メッセージを生成し、処理Czで顧客DBを更新する。また、処理Dxで医療保険の変更を行い、処理Exでログデータから入力メッセージを生成し、処理Fzで顧客DBを更新する。更に、処理Gyで傷害保険の変更を行い、処理Hyでログデータから入力メッセージを生成し、処理Izで顧客DBを更新する。尚、各処理を表す記号の2文字目が、その処理を提供するプロバイダ20を示している。具体的には、A,B,C,Dはプロバイダ20xが、G,Hはプロバイダ20yが、C,F,Iはプロバイダ20zが提供するウェブサービスである。つまり、終身保険及び医療保険をプロバイダ20xが、傷害保険をプロバイダ20yが、顧客管理をプロバイダ20zが処理することになる。
また、図中、顧客DBは、契約者IDをキーとするDBの一例である。尚、契約ごとのUNDO/REDOを行うためには、契約ごとに顧客DB更新トランザクションが分割されていることが必要である。
図6は、UNDO/REDOの概略動作を示した図である。図示するように、リクエスタ10は業務プロセス履歴DBを持ち、プロバイダ20x,20y,20zは、それぞれ、サービス履歴DB21x,21y,21zを持つ(サービス履歴DB21はログDB21と同じ)。そして、UNDO/REDOは、リクエスタ10が業務プロセス履歴に基づいて、UNDO/REDOのプロセスフローを制御することによって行われる。
即ち、第1ステップとして、リクエスタ10は、修正REDOのGBPIDを採番する。
次に、第2ステップとして、リクエスタ10は、関連する全てのプロバイダ20にUNDOを要求する。ここでは、プロバイダ20x,20y,20zがサービスを提供することにより業務プロセスが実行されているので、プロバイダ20x,20y,20zに対して、UNDOを要求している。尚、暗黙のうちに他のプロバイダ20に派生することがないことを前提とする。つまり、例えば、あるプロバイダ20が別のプロバイダ20にウェブサービスを依頼し、依頼されたプロバイダ20が何らかのDB更新をしたにも関わらず、そのDB更新がなされたことをリクエスタ10が知らない、という状況は生じないものとする。
そして、第4、第5ステップとして、リクエスタ10は、GBPID「1001」以降のプロセスのREDOを各プロバイダ20に対して順次要求する。
更に、全てのREDOが完了すると、第6ステップとして、コミットする。
図7(a)は、業務プロセス履歴DB11及び最新GBPIDDB12の構造例を示した図である。
まず、最新GBPIDDB12は、契約者IDと契約番号の組み合わせごとに、最後に成立したGBPIDだけを保管している。例えば、契約者ID「c#1」、契約番号「p#1」に対しては、GBPID「1342」が最後に成立しており、契約者ID「c#1」、契約番号「p#2」に対しては、GBPID「1928」が最後に成立したことが記録されている。図6では、契約者IDごとにUNDO/REDOを行うようこととしたが、図7(a)では、契約番号ごとにUNDO/REDOを行うこととしているため、契約者IDと契約番号の組み合わせごとにGBPIDを記憶するようにしている。尚、図中、契約者ID「c#1」に対する契約番号と、契約者ID「c#2」に対する契約番号とに、同じ「p#1」が記録されているが、これは、特定の種類の保険契約(この場合は、終身保険)の契約番号であることを示しているに過ぎず、契約番号自体が同じであることを意味するものではない。
例えば、契約者ID「c#1」、契約番号「p#1」のレコードは、最後にGBPID「1342」で更新されており、その前にGBPID「1344」で更新されており、更にその前にGBPID「1001」で更新されている。このように、処理順序は、最新GBPIDDB12からの逆方向チェインによって保証される。
図7(b)に、このときの状況について示す。
図において、上段はGBPID「1342」のライフサイクルを、下段はGBPID「1344」のライフサイクルを示す。この場合、GBPID「1344」で先に契約DBの契約番号「p#1」のレコードが更新されている。これにより、図中、太矢印で示す期間は、前述したGBPIDの排他制御機能により、契約DBの契約番号「p#1」のレコードが更新されないことが保証される。即ち、GBPID「1344」についてコミットされた後に、GBPID「1342」で契約DBの契約番号「p#1」のレコードが更新される。従って、GBPIDは逆転しているものの、逆方向チェインが正しい処理順序を示している。尚、ここでは、各業務プロセス履歴に1つ前のGBPIDを含めたが、1つ後のGBPIDを含めるようにしてもよい。
図8(a)は、ログDB21及び最新ログIDDB22の構造例を示した図である。
まず、最新ログIDDB22は、契約者IDと契約番号の組み合わせごとに、最後に成立したログIDだけを保管している。例えば、契約者ID「c#1」、契約番号「p#1」に対しては、ログID「1342」が最後に成立しており、契約者ID「c#1」、契約番号「p#2」に対しては、ログID「1928」が最後に成立したことが記録されている。但し、顧客DBについては、契約者IDごとに、最後に成立したログIDを保管する。
例えば、契約者ID「c#1」、契約番号「p#1」のレコードは、最後にログID「1342」のログデータに示されるように更新されており、その前にログID「1344」のログデータに示されるように更新されており、その前にログID「1001」のログデータに示されるように更新されている。このように、処理順序は、最新ログIDDB22からの逆方向チェインによって保証される。
図8(b)に、このときの状況について示す。
図において、上段はGBPID「1342」のライフサイクルを、下段はGBPID「1344」のライフサイクルを示す。この場合、GBPID「1344」で先に契約DBの契約番号「p#1」のレコードが更新されている。これにより、図中、太矢印で示す期間は、前述したGBPIDの排他制御機能により、契約DBの契約番号「p#1」のレコードが更新されないことが保証される。即ち、GBPID「1344」についてコミットされた後に、GBPID「1342」で契約DBの契約番号「p#1」のレコードが更新される。従って、GBPIDが逆転し、その結果、ログIDも逆転しているものの、逆方向チェインが正しい処理順序を示している。尚、ここでは、ログデータに1つ前のログIDを含めたが、1つ後のログIDを含めるようにしてもよい。
図9は、リクエスタ10及びプロバイダ20の機能構成例を示したブロック図である。
図示するように、まず、リクエスタ10は、業務プロセス履歴DB11と、最新GBPIDDB12と、履歴管理部13と、制御部14と、プロバイダ特定部15とを備える。また、UNDO情報生成部17と、REDO情報生成部18と、送信部41と、受信部42とを備える。
最新GBPIDDB12は、図7(a)で説明したように、オブジェクトごとに、そのオブジェクトを最後に更新した業務プロセスのGBPIDを記録したデータベースである。
履歴管理部13は、業務プロセス履歴DB11及び最新GBPIDDB12を管理する。
プロバイダ特定部15は、ウェブサービスを依頼するに当たり、ウェブサービスを依頼すべきプロバイダ20を業務プロセス定義に基づいて特定する。また、UNDO/REDOに当たり、ウェブサービスを依頼したプロバイダ20を業務プロセス履歴に基づいて特定する。本実施の形態では、処理の要求先のプロバイダを特定する特定部の一例として、プロバイダ特定部15を設けている。
UNDO情報生成部17は、UNDOに必要となる情報を生成する。本実施の形態では、処理の取消しを指示する取消し指示部の一例として、UNDO情報生成部17を設けている。
REDO情報生成部18は、REDOに必要となる情報を生成する。本実施の形態では、処理の再実行を指示する再実行指示部の一例として、REDO情報生成部18を設けている。
受信部42は、ウェブサービスが成功したかどうかをプロバイダ20から受信する。また、採番されたGBPIDをGBPIDサーバ30から受信する。本実施の形態では、第3の識別情報を取得する取得部の一例として、受信部42を設けている。
最新ログIDDB22は、図8(a)で説明したように、オブジェクトごとに、そのオブジェクトの最後の更新を記録したログデータのログIDを記録したデータベースである。
履歴管理部23は、ログDB21及び最新ログIDDB22を管理する。
ログID取得部25は、業務DBの更新を記録するログデータの識別情報であるログIDを取得する。
DB更新部26は、リクエスタ10からのウェブサービスの依頼に応じて業務DBを更新する。その際、更新対象のDBレコードにGBPIDを埋め込む。本実施の形態では、他のトランザクションを識別する第4の識別情報が処理の対象に関連付けて記憶され、他のトランザクションが処理を完了した旨が第4の識別情報に関連付けて記憶されている場合に、処理を行い、第3の識別情報を処理の対象に関連付けて記憶し、処理が終了すると、一のトランザクションが処理を完了した旨を第3の識別情報に関連付けて記憶する処理部の一例として、DB更新部26を設けている。
UNDO処理部27は、リクエスタ10からの要求に応じてUNDOを実行する。本実施の形態では、処理を取り消す取消し部の一例として、UNDO処理部27を設けている。
REDO処理部28は、リクエスタ10からの要求に応じてREDOを実行する。本実施の形態では、処理を再実行する再実行部の一例として、REDO処理部28を設けている。
受信部52は、ウェブサービスやUNDO/REDOの依頼をリクエスタ10から受信する。また、GBPIDの状態の問い合わせ結果をGBPIDサーバ30から受信する。本実施の形態では、処理の要求を第3の識別情報と共に受信する受信部の一例として、受信部52を設けている。
まず、業務プロセスの要求を処理するときのリクエスタ10の動作について説明する。
図10は、このときのリクエスタ10の動作例を示したフローチャートである。
リクエスタ10では、まず、受信部42が、エンドユーザからのオブジェクトIDを指定した業務プロセスの実行要求を、例えば、図示しないHTTPサーバを介して受信し、制御部14に伝える(ステップ101)。そして、制御部14は、GBPIDの取得要求の送信を送信部41に指示する。すると、送信部41は、GBPIDを採番してその状態を「実行中」とする旨の要求をGBPIDサーバ30に送信する(ステップ102)。これにより、GBPIDサーバ30は、GBPIDを採番し、同期点管理DB31にそのGBPIDの状態情報として「実行中」を記録する。一方、受信部42は、GBPIDサーバ30からGBPIDを受信して制御部14に受け渡す(ステップ103)。
ここで、情報がウェブサービスの成功を示すものであれば、制御部14は、履歴管理部13に対して、業務プロセス履歴DB11及び最新GBPIDDB12の更新を指示する。このとき、制御部14は、履歴管理部13に対して、受信部42がステップ103で受信したGBPIDと、ウェブサービスの対象のオブジェクトIDと、プロバイダ20との間で交換した入力/出力メッセージと、プロバイダ特定部15がステップ104で取得したプロバイダ名とを受け渡しておく。すると、履歴管理部13は、次のような動作を行う。
次に、履歴管理部13は、制御部14から渡されたGBPIDと、同じく制御部14から渡されたオブジェクトIDと、ステップ107で取得した1つ前のGBPIDと、入力/出力メッセージと、制御部14から渡されたプロバイダ名とを対応付けて、業務プロセス履歴DB11に記録する(ステップ108)。そして、制御部14に制御を戻す。
図11は、このときのプロバイダ20の動作例を示したフローチャートである。
プロバイダ20では、まず、受信部52が、リクエスタ10から、GBPIDとオブジェクトIDとを伴うウェブサービスの依頼を受信し、制御部24に伝える(ステップ201)。そして、制御部24は、ログID取得部25に対してログIDの取得を指示し、ログID取得部25が、プロバイダ20内で一意に採番されたログIDを取得して制御部24に受け渡す(ステップ202)。
即ち、まず、DB更新部26は、業務DBのレコードをロックする(ステップ205)。次に、受信部52から渡されたGBPIDをそのレコードに埋め込んで、ウェブサービスの実行に基づく業務DBの更新を行う(ステップ206)。そして、制御部24に業務DBの更新前イメージ/更新後イメージを返す。
次に、履歴管理部23は、制御部24から渡されたログIDと、同じく制御部24から渡されたGBPIDと、同じく制御部24から渡されたオブジェクトIDと、ステップ207で取得した1つ前のGBPIDと、制御部24から渡された更新前/更新後イメージとを対応付けて、ログDB21に記録する(ステップ208)。そして、制御部24に制御を戻す。
図12は、このときのリクエスタ10の動作例を示したフローチャートである。
リクエスタ10では、まず、受信部42が、エンドユーザからのオブジェクトID、GBPID、修正REDO内容を伴う修正REDO要求を、例えば、図示しないHTTPサーバを介して受信し、制御部14に伝える(ステップ121)。そして、制御部14は、履歴管理部13にオブジェクトIDを伝えて、そのオブジェクトIDで特定されるオブジェクトに関して成立した最新のGBPIDの取得を指示する。すると、履歴管理部13は、最新GBPIDDB12を参照して、指定されたオブジェクトIDに対応する最新のGBPIDを特定する(ステップ122)。
ここで、修正REDO要求で指定されたGBPIDを有するものでないと判定された場合、その業務プロセス履歴は、修正REDOすべきGBPIDの業務プロセスの後に実行された業務プロセスの履歴である。従って、制御部14は、読み出した業務プロセス履歴をUNDO情報生成部17及びREDO情報生成部18に渡して、UNDO情報生成部17にはUNDOを行うための情報の生成を指示し、REDO情報生成部18にはREDOを行うための情報の生成を指示する。すると、UNDO情報生成部17及びREDO情報生成部18は、次のような動作を行う。
その結果、1つ前のGBPIDを特定できたと判定された場合、ステップ123に戻り、その特定されたGBPIDについて、同様の処理を繰り返す。
一方、1つ前のGBPIDを特定できなかったと判定された場合、業務プロセス履歴DB11に記録されている最も古いGBPIDの業務プロセス履歴に達したことになるので、修正REDOを行えない旨の情報の送信を送信部41に指示し、送信部41が、その旨の情報を例えばHTTPサーバを介して、エンドユーザに送信する(ステップ129)。
その後、制御部14は、UNDO配列にプロバイダ名が含まれる全てのプロバイダ20に対して、修正REDO対象のGBPIDと、オブジェクトIDとを指定して、UNDO依頼を行うよう、送信部41に指示する。すると、送信部41は、指示されたプロバイダ20に対して、修正対象のGBPIDと、オブジェクトIDとを指定して、UNDO依頼を送信する(ステップ131)。また、制御部14は、ステップ121で受信した修正REDO内容に基づく修正REDO依頼の送信を送信部41に指示する。すると、送信部41は、該当するプロバイダ20に修正REDO依頼を送信する(ステップ132)。また、制御部14は、REDO配列の先頭から順にプロバイダ20にREDOを依頼するよう、送信部41に指示する。すると、送信部41は、REDO配列に従い、該当するプロバイダ20にREDO依頼を送信する(ステップ133)。
まず、リクエスタ10からUNDO依頼を受けた場合の動作について説明する。
図13は、UNDO依頼を受けたときのプロバイダ20の動作例を示したフローチャートである。
プロバイダ20では、まず、受信部52が、リクエスタ10から、修正REDO対象のGBPIDとオブジェクトIDとを伴うUNDO依頼を受信し、制御部24に伝える(ステップ221)。そして、制御部24は、履歴管理部23にオブジェクトIDを伝えて、そのオブジェクトIDで特定されるオブジェクトに関して成立した最新のログIDの取得を指示する。すると、履歴管理部23は、最新ログIDDB22を参照して、指定されたオブジェクトIDに対応する最新のログIDを特定する(ステップ222)。
ここで、UNDO依頼で指定されたGBPIDを有するものでないと判定された場合、そのログデータは、修正REDOすべきGBPIDの業務プロセスの後に実行された業務プロセスに基づくログデータである。従って、制御部24は、読み出したログデータをUNDO処理部27に渡して、UNDO処理を指示する。すると、UNDO処理部27は、次のような動作を行う。
その結果、1つ前のログIDを特定できたと判定された場合、ステップ223に戻り、その特定されたログIDについて、同様の処理を繰り返す。
一方、1つ前のログIDを特定できなかったと判定された場合、ログDB21に記録されている最も古いログIDのログデータに達したことになるので、UNDO処理を行えない旨の情報の送信を送信部51に指示し、送信部51が、その旨の情報をリクエスタ10に送信する(ステップ229)。
図14は、REDO依頼を受けたときのプロバイダ20の動作例を示したフローチャートである。
プロバイダ20では、まず、受信部52が、リクエスタ10から、GBPID、オブジェクトID、入力メッセージを伴うREDO依頼を受信し、制御部24に伝える(ステップ241)。そして、制御部24は、図13に示したUNDO処理において生成した入力メッセージ配列を先頭から参照する(ステップ242)。但し、入力メッセージ配列に含まれるメッセージのうち、既にREDO処理に用いられたものは、入力メッセージ配列から削除されているものとする。この状態で、制御部24は、入力メッセージ配列の先頭に、ステップ241で受信した入力メッセージよりも古いGBPIDの入力メッセージがあるかどうかを判定する(ステップ243)。
一方、古いGBPIDの入力メッセージがあれば、まず、制御部24は、入力メッセージ配列に含まれる入力メッセージをREDO処理部28に渡してREDO処理を指示する。すると、REDO処理部28は、制御部24から渡された入力メッセージを用いてREDO処理を行う(ステップ244)。その後、制御部24は、REDO依頼に含まれる入力メッセージをREDO処理部28に渡してREDO処理を指示する。すると、REDO処理部28は、制御部24から渡された入力メッセージを用いてREDO処理を行う(ステップ245)。
また、本実施の形態を実装するに当たっては、REDOの処理がプロバイダ20内に閉じて、他の(プロバイダ20の)処理を起動しないようなアプリケーションの構造をとる必要がある。
Claims (11)
- 複数のプロバイダにより提供される処理をリクエスタの要求に応じて行う複数のトランザクションの実行を制御する装置であって、
前記リクエスタは、
前記複数のトランザクションの各々における処理の要求先のプロバイダを示す第1の履歴情報を記憶する第1の記憶部と、
前記複数のトランザクションのうちの特定のトランザクションの再実行の要求があると、前記第1の履歴情報に基づいて、当該特定のトランザクションよりも後に実行されたトランザクションの各々における処理の要求先のプロバイダを特定する特定部と、
前記特定部により特定された前記要求先のプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の取消しを指示する取消し指示部と
を備え、
前記複数のプロバイダの各々は、
前記複数のトランザクションの各々における前記リクエスタの要求に応じて処理を行う前の状態を示す第2の履歴情報を記憶する第2の記憶部と、
前記取消し指示部により前記取消しが指示されると、前記第2の履歴情報に基づいて、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理を取り消す取消し部と
を備えた、装置。 - 前記第1の記憶部は、前記複数のトランザクションの各トランザクションに関する前記第1の履歴情報を、当該各トランザクションを識別する第1の識別情報と、当該各トランザクションの前及び後の何れかに実行されたトランザクションを識別する第2の識別情報とに関連付けて記憶し、
前記特定部は、前記第1の識別情報と前記第2の識別情報とに基づいて、前記特定のトランザクションよりも後に実行されたトランザクションを特定する、請求項1の装置。 - 前記リクエスタは、
前記複数のトランザクションのうちの一のトランザクションを識別する第3の識別情報を取得する取得部と、
前記一のトランザクションにおける処理の要求を前記第3の識別情報と共に前記要求先のプロバイダに送信する送信部と
を更に備え、
前記複数のプロバイダの各々は、
前記処理の要求を前記第3の識別情報と共に前記リクエスタから受信する受信部と、
他のトランザクションを識別する第4の識別情報が前記処理の対象に関連付けて記憶され、当該他のトランザクションが当該処理を完了した旨が当該第4の識別情報に関連付けて記憶されている場合に、当該処理を行い、前記第3の識別情報を当該処理の対象に関連付けて記憶し、当該処理が終了すると、前記一のトランザクションが当該処理を完了した旨を当該第3の識別情報に関連付けて記憶する処理部と
を更に備えた、請求項2の装置。 - 前記第1の記憶部は、前記複数のトランザクションの各トランザクションに関する前記第1の履歴情報を、当該各トランザクションを識別し、かつ、当該各トランザクションの順序を特定可能な識別情報に関連付けて記憶し、
前記特定部は、前記識別情報に基づいて、前記特定のトランザクションよりも後に実行されたトランザクションを特定する、請求項1の装置。 - 前記リクエスタは、前記特定部により特定された前記要求先のプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の再実行を指示する再実行指示部を更に備え、
前記複数のプロバイダの各々は、前記再実行指示部により前記再実行が指示されると、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理を、当該要求以外の要求に応じて行った処理との間の順序関係が損なわれないように再実行する再実行部を更に備えた、請求項1記載の装置。 - 前記第2の記憶部は、前記複数のトランザクションの各トランザクションに関する前記第2の履歴情報を、当該各トランザクションを識別する第1の識別情報と、当該各トランザクションの前及び後の何れかに実行されたトランザクションを識別する第2の識別情報とに関連付けて記憶し、
前記再実行部は、前記第1の識別情報と前記第2の識別情報とに基づいて、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理と、当該要求以外の要求に応じて行った処理との間の順序関係を特定する、請求項5の装置。 - 前記第2の記憶部は、前記複数のトランザクションの各トランザクションに関する前記第2の履歴情報を、当該各トランザクションを識別し、かつ、当該各トランザクションの順序を特定可能な識別情報に関連付けて記憶し、
前記再実行部は、前記識別情報に基づいて、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理と、当該要求以外の要求に応じて行った処理との間の順序関係を特定する、請求項5の装置。 - 前記処理は、前記複数のプロバイダの各々が保持するデータベースを更新する処理であり、
前記第2の履歴情報は、前記データベースの更新前イメージを含む、請求項1の装置。 - 複数のプロバイダにより提供される処理をリクエスタの要求に応じて行う複数のトランザクションの実行を制御する方法であって、
前記リクエスタには、前記複数のトランザクションの各々における処理の要求先のプロバイダを示す第1の履歴情報が記憶されており、
前記複数のプロバイダの各々には、前記複数のトランザクションの各々における前記リクエスタの要求に応じて処理を行う前の状態を示す第2の履歴情報が記憶されており、
前記リクエスタが、前記複数のトランザクションのうちの特定のトランザクションの再実行の要求があると、前記第1の履歴情報に基づいて、当該特定のトランザクションよりも後に実行されたトランザクションの各々における処理の要求先のプロバイダを特定するステップと、
前記リクエスタが、特定した前記要求先のプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の取消しを指示するステップと、
前記複数のプロバイダの各々が、前記取消しが指示されると、前記第2の履歴情報に基づいて、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理を取り消すステップと
を含む、方法。 - 複数のプロバイダにより提供される処理をリクエスタの要求に応じて行う複数のトランザクションの実行を制御する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記複数のトランザクションの各々における処理の要求先のプロバイダを示す履歴情報を記録する記録部と、
前記複数のトランザクションのうちの特定のトランザクションの再実行の要求があると、前記履歴情報に基づいて、当該特定のトランザクションよりも後に実行されたトランザクションの各々における処理の要求先のプロバイダを特定する特定部と、
前記特定部により特定された前記要求先のプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の取消しを指示する取消し指示部と
して機能させる、プログラム。 - 複数のプロバイダにより提供される処理をリクエスタの要求に応じて行う複数のトランザクションの実行を制御する装置であって、
前記リクエスタは、
前記複数のトランザクションの各トランザクションの第1のトランザクションIDと、当該各トランザクションの直前に実行されたトランザクションの第2のトランザクションIDと、当該各トランザクションにおける処理の要求先のプロバイダのプロバイダIDとを含む履歴情報を記憶する第1の履歴情報記憶部と、
最新のトランザクションの最新トランザクションIDを管理する管理情報を記憶する第1の管理情報記憶部と、
前記複数のトランザクションのうちの特定のトランザクションの再実行の要求があると、前記最新トランザクションIDを前記第1のトランザクションIDとして含む履歴情報を出発点として、前記第2のトランザクションIDを前記第1のトランザクションIDとして含む履歴情報を、当該特定のトランザクションのトランザクションIDを前記第1のトランザクションIDとして含む履歴情報まで辿りながら、当該特定のトランザクションよりも後に実行されたトランザクションの各々における処理の要求先のプロバイダのプロバイダIDを特定する特定部と、
前記特定部により特定された前記プロバイダIDのプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の取消しを指示する取消し指示部と、
前記特定部により特定された前記プロバイダIDのプロバイダに対して、前記特定のトランザクションよりも後に実行されたトランザクションの各々において要求した処理の再実行を指示する再実行指示部と
を備え、
前記複数のプロバイダの各々は、
前記複数のトランザクションの各トランザクションにおける前記リクエスタの要求に応じた処理のログの第1のログIDと、当該処理の直前の処理のログの第2のログIDと、当該処理を行ったトランザクションの第3のトランザクションIDと、当該処理を行う前の状態を示す状態情報とを含む履歴情報を記憶する第2の履歴情報記憶部と、
最新のログの最新ログIDを管理する管理情報を記憶する第2の管理情報記憶部と、
前記取消し指示部により前記取消しが指示されると、前記最新ログIDを前記第1のログIDとして含む履歴情報を出発点として、前記第2のログIDを前記第1のログIDとして含む履歴情報を、前記特定のトランザクションのトランザクションIDを前記第3のトランザクションIDとして含む履歴情報まで辿りながら、前記状態情報を用いて、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理を取り消す取消し部と、
前記再実行指示部により前記再実行が指示されると、前記特定のトランザクションよりも後に実行されたトランザクションの各々における前記リクエスタの要求に応じて行った処理を、当該処理を行ったトランザクションのトランザクションIDよりも古いトランザクションIDのトランザクションで当該要求以外の要求に応じて行った処理を再実行した後に再実行する再実行部と
を備えた、装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008107466A JP5385545B2 (ja) | 2008-04-17 | 2008-04-17 | トランザクションの実行を制御する装置及び方法 |
US12/336,485 US8161016B2 (en) | 2008-04-17 | 2008-12-16 | Controlling execution of transactions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008107466A JP5385545B2 (ja) | 2008-04-17 | 2008-04-17 | トランザクションの実行を制御する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009259009A true JP2009259009A (ja) | 2009-11-05 |
JP5385545B2 JP5385545B2 (ja) | 2014-01-08 |
Family
ID=40564562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008107466A Expired - Fee Related JP5385545B2 (ja) | 2008-04-17 | 2008-04-17 | トランザクションの実行を制御する装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8161016B2 (ja) |
JP (1) | JP5385545B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014534532A (ja) * | 2011-11-03 | 2014-12-18 | オラクル・インターナショナル・コーポレイション | オラクルリワインド:メタデータドリブンのアンドゥ |
EP3770748A1 (en) | 2019-07-25 | 2021-01-27 | Ricoh Company, Ltd. | Communication terminal, communication system, display control method, and carrier medium |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250146B2 (en) * | 2008-05-15 | 2012-08-21 | Sap Ag | Service adaptation machine |
US8924398B2 (en) * | 2011-03-23 | 2014-12-30 | Bmc Software, Inc. | Log-based DDL generation |
JP5721056B2 (ja) * | 2011-05-10 | 2015-05-20 | 日本電気株式会社 | トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9348642B2 (en) * | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
CN103226499B (zh) * | 2013-04-22 | 2016-02-24 | 华为技术有限公司 | 一种恢复内部存储器中的异常数据的方法及装置 |
US9588872B2 (en) * | 2015-02-20 | 2017-03-07 | Vmware, Inc. | Discovery of code paths |
US9760598B1 (en) | 2015-12-07 | 2017-09-12 | Gravic, Inc. | Method of ensuring real-time transaction integrity in the cloud |
US10452648B1 (en) | 2015-12-07 | 2019-10-22 | Gravic, Inc. | Method of ensuring transactional integrity of a system that includes a plurality of subsystems, one of which takes an action upon a loss of transactional integrity |
US9734190B1 (en) * | 2015-12-07 | 2017-08-15 | Gravic, Inc. | Method of ensuring real-time transaction integrity |
US10394798B1 (en) | 2015-12-07 | 2019-08-27 | Gravic, Inc. | Method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem |
US9922074B1 (en) | 2015-12-07 | 2018-03-20 | Gravic, Inc. | Method of ensuring real-time transaction integrity in the indestructible scalable computing cloud |
US11188336B2 (en) * | 2015-12-28 | 2021-11-30 | Qualcomm Incorporated | Replay of partially executed instruction blocks in a processor-based system employing a block-atomic execution model |
US12079650B2 (en) * | 2020-05-15 | 2024-09-03 | Unisys Corporation | Virtual processor system and method utilizing discrete component elements |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223007A (ja) * | 1993-01-22 | 1994-08-12 | Hitachi Ltd | 2フェーズコミット制御方法 |
JP2002099510A (ja) * | 2000-09-25 | 2002-04-05 | Hitachi Ltd | 複数トランザクション処理システム |
JP2004110620A (ja) * | 2002-09-20 | 2004-04-08 | Hitachi Software Eng Co Ltd | Webサービスの動的統合方法およびシステム |
JP2004246784A (ja) * | 2003-02-17 | 2004-09-02 | Nippon Telegr & Teleph Corp <Ntt> | Webサービス利用時におけるネットワーク提供方法、システム及びサーバ |
JP2005078339A (ja) * | 2003-08-29 | 2005-03-24 | Nri & Ncc Co Ltd | Wsdl文書生成装置および方法 |
JP2006185125A (ja) * | 2004-12-27 | 2006-07-13 | C-Grip:Kk | 情報処理方法及び装置 |
WO2008040621A1 (en) * | 2006-10-05 | 2008-04-10 | International Business Machines Corporation | Data processing system and method of handling requests |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878167A (en) | 1986-06-30 | 1989-10-31 | International Business Machines Corporation | Method for managing reuse of hard log space by mapping log data during state changes and discarding the log data |
JPH0827755B2 (ja) * | 1991-02-15 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データの単位を高速度でアクセスする方法 |
JP3516362B2 (ja) | 1995-03-01 | 2004-04-05 | 富士通株式会社 | 共有データ処理装置及び共有データ処理システム |
JPH09204338A (ja) | 1996-01-23 | 1997-08-05 | Tandem Comput Inc | 改良された回復方法 |
JP3672208B2 (ja) | 1996-07-02 | 2005-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 階層化トランザクション処理方法 |
US6014673A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Simultaneous use of database and durable store in work flow and process flow systems |
US20030145103A1 (en) * | 2002-01-30 | 2003-07-31 | Jim Pruyne | Method and system for providing exactly-once semantics for web-based transaction processing |
WO2004055674A1 (ja) | 2002-12-18 | 2004-07-01 | Fujitsu Limited | 分散トランザクション処理装置、分散トランザクション処理プログラム、分散トランザクション処理方法および分散トランザクション処理システム |
US7207034B2 (en) | 2003-06-23 | 2007-04-17 | Microsoft Corporation | Undo infrastructure |
-
2008
- 2008-04-17 JP JP2008107466A patent/JP5385545B2/ja not_active Expired - Fee Related
- 2008-12-16 US US12/336,485 patent/US8161016B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223007A (ja) * | 1993-01-22 | 1994-08-12 | Hitachi Ltd | 2フェーズコミット制御方法 |
JP2002099510A (ja) * | 2000-09-25 | 2002-04-05 | Hitachi Ltd | 複数トランザクション処理システム |
JP2004110620A (ja) * | 2002-09-20 | 2004-04-08 | Hitachi Software Eng Co Ltd | Webサービスの動的統合方法およびシステム |
JP2004246784A (ja) * | 2003-02-17 | 2004-09-02 | Nippon Telegr & Teleph Corp <Ntt> | Webサービス利用時におけるネットワーク提供方法、システム及びサーバ |
JP2005078339A (ja) * | 2003-08-29 | 2005-03-24 | Nri & Ncc Co Ltd | Wsdl文書生成装置および方法 |
JP2006185125A (ja) * | 2004-12-27 | 2006-07-13 | C-Grip:Kk | 情報処理方法及び装置 |
WO2008040621A1 (en) * | 2006-10-05 | 2008-04-10 | International Business Machines Corporation | Data processing system and method of handling requests |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014534532A (ja) * | 2011-11-03 | 2014-12-18 | オラクル・インターナショナル・コーポレイション | オラクルリワインド:メタデータドリブンのアンドゥ |
EP3770748A1 (en) | 2019-07-25 | 2021-01-27 | Ricoh Company, Ltd. | Communication terminal, communication system, display control method, and carrier medium |
Also Published As
Publication number | Publication date |
---|---|
US20090106329A1 (en) | 2009-04-23 |
US8161016B2 (en) | 2012-04-17 |
JP5385545B2 (ja) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5385545B2 (ja) | トランザクションの実行を制御する装置及び方法 | |
US11720594B2 (en) | Synchronous replication in a distributed storage environment | |
US9251021B2 (en) | Asynchronous replication in a distributed storage environment | |
US7444545B2 (en) | Computer system, managing computer and recovery management method | |
US8671085B2 (en) | Consistent database recovery across constituent segments | |
JP5971420B2 (ja) | 状態復元プログラム、装置、及び支援方法 | |
US7392335B2 (en) | Anticipatory changes to resources managed by locks | |
US20210096957A1 (en) | Retention rule compliance of record deletion based on deletion log | |
CN108021338B (zh) | 用于实现两层提交协议的系统和方法 | |
US7433902B2 (en) | Non-disruptive backup copy in a database online reorganization environment | |
US8424009B2 (en) | Lock resolution for distributed durable instances | |
JP5012628B2 (ja) | メモリデータベース、メモリデータベースシステム及びメモリデータベース更新方法 | |
US7870557B2 (en) | Apparatus, system, and method for autonomously maintaining a single system image in a parallel systems complex | |
US7418478B1 (en) | System and method for application discovery in a computing environment | |
US9386073B2 (en) | Techniques for performing processing for database | |
US6092084A (en) | One system of a multisystem environment taking over log entries owned by another system | |
US10303676B2 (en) | Transaction processing apparatus, transaction processing method, and computer-readable recording medium | |
US6076095A (en) | Method of one system of a multisystem environment taking over log entries owned by another system | |
US9772842B2 (en) | Managing change sets | |
Weissman et al. | Fault tolerant scheduling in distributed networks | |
JP2006350411A (ja) | 分散データベースリカバリ方法及び同リカバリシステム及び同リカバリプログラム | |
CN111274221A (zh) | 一种大规模集群组件服务版本变更测试系统 | |
CN112749156A (zh) | 数据处理方法、数据库管理系统和数据处理设备 | |
WO2018056267A1 (ja) | データベース管理装置、データベース管理方法、及びコンピュータ読み取り可能な記録媒体 | |
US20230316191A1 (en) | Workflow consistency ensuring device, workflow consistency ensuring method, and workflow consistency ensuring program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121120 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130319 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130627 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130704 |
|
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: 20130910 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |