JP2000163372A - トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体 - Google Patents

トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Info

Publication number
JP2000163372A
JP2000163372A JP10336699A JP33669998A JP2000163372A JP 2000163372 A JP2000163372 A JP 2000163372A JP 10336699 A JP10336699 A JP 10336699A JP 33669998 A JP33669998 A JP 33669998A JP 2000163372 A JP2000163372 A JP 2000163372A
Authority
JP
Japan
Prior art keywords
transaction
processing
history information
recovery
compensation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10336699A
Other languages
English (en)
Other versions
JP4094752B2 (ja
Inventor
Makoto Kitagawa
誠 北川
Tetsuya Hashimoto
哲也 橋本
Akira Kito
昭 鬼頭
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP33669998A priority Critical patent/JP4094752B2/ja
Priority to US09/443,102 priority patent/US6578159B1/en
Publication of JP2000163372A publication Critical patent/JP2000163372A/ja
Application granted granted Critical
Publication of JP4094752B2 publication Critical patent/JP4094752B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 回復処理の効率を向上させることが可能な技
術を提供する。 【解決手段】 ワークフローに従って一連のトランザク
ションを実行するトランザクション処理方法において、
トランザクション実行中に障害が発生した場合の障害回
復を行う補償処理をトランザクションの実行時に回復処
理フローとして登録し、トランザクション実行中に障害
が発生した場合に、前記登録した回復処理フローに従っ
て一連の補償処理を並列に実行するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はワークフローに従っ
て一連のトランザクション処理を実行するトランザクシ
ョン処理システムに関し、特にトランザクション実行中
に障害が発生した場合に回復処理を行うトランザクショ
ン処理システムに適用して有効な技術に関するものであ
る。
【0002】
【従来の技術】ホテルと航空券の予約が必要な旅行予約
システムや、複数の銀行の口座間で送金をする様なシス
テムにおいては、チャネルからの要求に対して複数のサ
ーバにアクセスしてトランザクション処理を行う必要が
ある。トランザクション処理とは、原子性、一貫性、隔
離性、耐久性という性質を持つプログラムを実行するこ
とである。トランザクション処理については、例えば、
「トランザクション処理システム入門」(フィリップ・
A・バーンスタイン、エリック・ニューカマー著、日経
BP社)で紹介されている。また、本明細書において
は、これ以降、ワークフロー制御システムに要求メッセ
ージを送信するシステムを総称して「チャネル」と呼ぶ
ことにする。
【0003】一連の処理を一つのトランザクションで実
行しようとすると、各サーバにおいてトランザクション
が終了するまでの期間、該当するデータをロックしてお
く必要がある。この為、他の処理が長時間待たされ、性
能上問題となる場合がある。そこで一連の処理を各サー
バへのアクセス毎のトランザクションに分割し、複数の
トランザクションから成るワークフローとして実行する
ことが一般的に行われる。
【0004】この様なシステムにおいては、ワークフロ
ーの実行中に障害が発生した場合、障害発生時点までに
行った一連のトランザクション処理を取消す回復処理が
必要である。この為従来は各トランザクションにおいて
行った処理の内容を履歴としてキューに登録し、障害発
生時にはこのキューの後尾から一つずつ順に履歴情報を
取出して各トランザクションに対する補償処理を行って
いた。この様なシステムは、例えば「トランザクション
処理システム入門」(フィリップ・A・バーンスタイ
ン、エリック・ニューカマー著、日経BP社、111
頁)で紹介されている。
【0005】
【発明が解決しようとする課題】前記従来の方式におい
て、補償処理によってトランザクションが取消されるま
での間に別のトランザクションが同じサーバに対して処
理を行った場合、そのトランザクションは取消されるべ
きトランザクションの結果に影響を受けることになる。
例えばホテルの予約を行うトランザクションでは、キャ
ンセルにより空きが生じるまでの間、満室の為予約でき
ない状態が続くことになる。従って、回復処理に要する
時間はできるだけ短いほうが望ましい。
【0006】従来の方式によれば、分岐により並列に実
行されたトランザクションを回復する場合にも、一つず
つ補償トランザクションが実行される。従って、一連の
トランザクションに関する回復処理を完了するまでに多
くの時間を要するという問題があった。
【0007】本発明の目的は上記問題を解決し、回復処
理の効率を向上させることが可能な技術を提供すること
にある。本発明の他の目的はトランザクション処理シス
テムが複数のチャネルから同時に要求メッセージを受信
して処理を行う場合にも効率的な回復処理を行うことが
可能な技術を提供することにある。
【0008】
【課題を解決するための手段】本発明は、ワークフロー
に従って一連のトランザクションを実行するトランザク
ション処理システムにおいて、障害回復を行う為の回復
処理フローまたは実行した処理内容を示す履歴情報をト
ランザクション実行時に登録し、トランザクション実行
中に障害が発生した場合に、前記登録した回復処理フロ
ーまたは履歴情報に従って一連の補償処理を並列に実行
するものである。
【0009】本発明のトランザクション処理システムで
は、ワークフローに従ってトランザクションを実行する
と共に、トランザクション実行中に障害が発生した場合
の障害回復を行う補償処理をトランザクションの実行時
に回復処理フローとして登録しておく。
【0010】その際、ワークフローに従って分岐処理を
行うときにはその分岐処理に対応させて待合せ処理を回
復処理フローに登録し、ワークフローに従って待合せ処
理を行うときにはその待合わせ処理に対応させて分岐処
理を回復処理フローに登録しておく。
【0011】トランザクション実行中に障害が発生した
場合には、前記登録しておいた回復処理フローに従って
一連の補償処理を実行する。ワークフローの正常処理フ
ローに対応して回復処理フローが生成されるので、トラ
ンザクション実行中に分岐処理により並列に実行された
部分は補償処理でも並列に実行され、補償処理が高速に
実行される。
【0012】また本発明のトランザクション処理システ
ムでは、ワークフローに従ってトランザクションを実行
すると共に、トランザクションの実行内容を示す履歴情
報を登録しておく。
【0013】トランザクション実行中に障害が発生した
場合には前記登録しておいた履歴情報を取出し、履歴情
報中のトランザクションの内容毎に補償トランザクショ
ンを並列に実行する。このときワークフローのパスや送
信先毎に補償トランザクションを並列化することとして
も良い。前記の様に履歴情報に従って補償トランザクシ
ョンが並列に実行されるので、補償処理が高速に実行さ
れる。
【0014】以上の様に本発明のトランザクション処理
システムによれば、正常処理フローの分岐により生じた
パス毎に回復処理を並列化するので、回復処理の効率を
向上させることが可能である。
【0015】
【発明の実施の形態】(実施形態1)以下に正常処理フ
ローにおいて分岐したパス毎に回復処理を並列化する実
施形態1のトランザクション処理システムについて説明
する。図1は本実施形態のワークフロー制御システムの
ソフトウェア構成を示す図である。本実施形態では、ワ
ークフロー制御システム内のソフトウェアを構成する各
コンポーネントをオブジェクトとして実装した場合につ
いて説明する。
【0016】図2は本実施形態のトランザクション処理
システムのハードウェア構成を示す図である。本実施形
態のシステムは、ワークフロー制御システム201と、
このシステムにネットワーク215〜218で接続され
たチャネル209及びサーバ210〜212とで構成さ
れる。
【0017】ワークフロー制御システム201は、チャ
ネル209からの要求メッセージを解釈し、サーバ21
0〜212に対してトランザクションを要求しながら、
チャネル209からの要求を満たす為の処理を行うシス
テムである。チャネル209は、ユーザからの要求に従
ってワークフロー制御システム201に要求メッセージ
を送信するシステムである。サーバ210〜212は、
ワークフロー制御システム201からの要求に従ってト
ランザクションを実行するシステムである。ここでは、
サーバ210〜212がそれぞれ別のサービスを提供し
ていると仮定する。本実施形態では、チャネルが1つと
サーバが3つ接続された構成を示しているが、より多く
のチャネル及びサーバを接続した構成としても良い。
【0018】ワークフロー制御システム201は、CP
U202、メモリ203、ハードディスク装置204、
ネットワーク・インタフェース・コントローラ205〜
208、入力装置213、出力装置214で構成され
る。ハードディスク装置204には、ワークフローに従
って処理を行う為のソフトウェア群が保存されており、
これらのソフトウェアはメモリ203にロードされてC
PU202により実行される。ネットワーク・インタフ
ェース・コントローラ205〜208は、ネットワーク
215〜218に対するインタフェースを制御し、チャ
ネル209及びサーバ210〜212と接続する。
【0019】次に本実施形態のワークフロー制御システ
ム201のソフトウェア構成について図1を用いて説明
する。ワークフロー制御システム201は、オブジェク
ト・リクエスト・ブローカであるORB101と、トレ
ーダ107と、アダプタ103〜106と、通番管理プ
ログラム108と、ワークフロー実行プログラム102
とで構成される。
【0020】ORB101は、オブジェクト間のリクエ
ストと、その応答の送受信を可能にするメッセージング
機構を提供する。ワークフロー制御システム201内の
各コンポーネントは、ORB101を使用して他のコン
ポーネントとの間で通信を行う。
【0021】トレーダ107は、各コンポーネントのサ
ービス内容からオブジェクトを検索する為の仕組みを提
供する。アダプタ103〜106、ワークフロー実行プ
ログラム102は、自分の提供するサービス内容をトレ
ーダ107に登録する。また、メッセージ送信時にはト
レーダ107によりサービスを検索して送信先のオブジ
ェクト・リファレンスを受け取る。オブジェクト・リフ
ァレンスは、対象になるオブジェクトを一意に識別する
為の情報を含んだデータである。各オブジェクトは、オ
ブジェクト・リファレンスを使用して対象となるオブジ
ェクトへのメッセージの送信をORBに要求する。
【0022】アダプタ103〜106は、チャネル20
9及びサーバ210〜212と、ワークフロー実行プロ
グラム102との間でのメッセージの転送を行うコンポ
ーネントである。アダプタ103〜106は、それぞれ
異なるプロトコルでチャネル209やサーバ210〜2
12と接続されており、ネットワーク215〜218を
介してチャネル209やサーバ210〜212と接続す
る為のプロトコルの制御及びメッセージフォーマットの
変換を行う。
【0023】通番管理プログラム108は、ワークフロ
ー制御システム201内で転送されるメッセージに固有
の番号を与える為のコンポーネントである。通番管理プ
ログラム108では、シーケンシャルに番号を管理して
おり、各コンポーネントからの要求を受けてワークフロ
ー制御システム201内で一意な番号を返す。各コンポ
ーネントは、通番管理プログラム108から受け取った
通番でメッセージに番号を付ける。
【0024】ワークフロー実行プログラム102は、チ
ャネル209から要求メッセージを受信し、ワークフロ
ーに従ってサーバ210〜212にトランザクションの
処理を依頼してチャネル209からの要求を処理するコ
ンポーネントである。
【0025】ワークフロー実行プログラム102は、チ
ャネル209からの要求を受け付ける要求受付プログラ
ム109と、要求内容や処理の中間データを保存する為
の業務DB110と、ワークフローに従ってトランザク
ションを起動するワークフロー制御プログラム111
と、ワークフローを保存する為のワークフロー管理DB
118と、ワークフロー制御プログラム111から起動
され、サーバ210〜212に対して処理を要求するト
ランザクション要求処理プログラム112〜114と、
ワークフロー制御プログラム111から起動され、チャ
ネル209へ応答メッセージを送信する応答処理プログ
ラム115と、ワークフロー管理DB118にワークフ
ローを登録する為のワークフロー登録処理プログラム1
17と、ワークフローの実行中に障害が発生した場合に
回復処理を行う回復処理プログラム116とで構成され
る。
【0026】図3は本実施形態の要求処理プログラム1
12〜114及び応答処理プログラム115の概略構成
を示す図である。図3に示す様に本実施形態のワークフ
ロー制御システム201は、正常処理部302と、補償
処理部303とを有している。
【0027】正常処理部302は、トランザクション実
行中に障害が発生した場合の障害回復を行う補償処理を
トランザクションの実行時に回復処理フロー120とし
て登録する処理部である。補償処理部303は、トラン
ザクション実行中に障害が発生した場合に前記登録した
回復処理フロー120に従って一連の補償処理を並列に
実行する処理部である。
【0028】ワークフロー制御システム201を正常処
理部302及び補償処理部303として機能させる為の
プログラムは、CD−ROM等の記録媒体に記録され磁
気ディスク等に格納された後、メモリにロードされて実
行されるものとする。なお前記プログラムを記録する媒
体はCD−ROM以外の他の媒体でも良い。
【0029】図3の処理プログラム301に示す様にト
ランザクション要求処理プログラム112〜114及び
応答処理プログラム115は、サーバ210〜212に
対してトランザクションを要求する為の正常処理部30
2と、正常に実行されたトランザクションを取消す為の
補償処理部303とで構成される。
【0030】ワークフロー管理DB118及び業務DB
110は、ハードディスク装置204に保存される。ワ
ークフロー管理DB118には、正常時のワークフロー
を記述した正常処理フロー119と、障害発生時に実行
される回復処理フロー120とが保存される。業務DB
110には図4に示す様な業務DBテーブルが保存され
る。
【0031】図4は本実施形態の業務DBテーブルの一
例を示す図である。業務DBテーブル400の一つの行
は、要求メッセージに付与された要求通番401と、要
求内容402と、正常処理フロー119を識別する為の
正常処理フローID403と、回復処理フロー120を
識別する為の回復処理フローID404と、サーバ21
0〜212で各トランザクションに対して付けられる処
理番号405,407及び409と、サーバ210〜2
12からの応答メッセージで得られたデータ406,4
08及び410と、チャネル209に対する応答番号4
11と、応答内容412とを格納する列を持つ。
【0032】ワークフロー制御システム201の運用者
は、予め入力装置213から正常処理フロー119を登
録する。ワークフロー登録処理プログラム117は、ワ
ークフローを登録する為のコマンドやGUIを提供し、
入力されたワークフローをワークフロー管理DB118
の正常処理フロー119に登録する。ワークフローの登
録時に運用者は、ワークフローを一意に識別する為の正
常処理フローID403を付ける。このIDによりワー
クフロー制御プログラム111は、正常処理フロー11
9に登録された複数のワークフローを管理することがで
きる。この様にして定義された正常処理フロー119の
例を図5に示す。
【0033】図5は本実施形態の正常処理フロー119
の一例を示す図である。ワークフロー中のトランザクシ
ョンを記述したノード501,505,506及び51
2には、対応するトランザクションを実行する為のプロ
グラムを定義する。
【0034】本実施形態では、各トランザクションに対
応してトランザクション処理プログラム301を用意
し、その正常処理部302をオブジェクトとして実装す
る。そして、これらのオブジェクトを各ノードで起動す
るオブジェクトとして定義する。回復処理ノード50
4,510,511及び514には、起動するオブジェ
クトとして回復処理プログラム116を定義しておく。
回復処理ノードに定義する内容は、ワークフロー中のど
の位置にあっても全て同一の内容を設定することができ
る。
【0035】以下では、チャネル209から要求メッセ
ージを受信し、図5に示したワークフローに従って処理
を行う場合の動作について説明する。アダプタ103
は、チャネル209から要求メッセージを受信し、通番
管理プログラム108により要求メッセージに対する通
番を取得し、この通番をメッセージに付加する。次にト
レーダ107により、要求受付プログラム109のオブ
ジェクト・リファレンスを取得し、そのオブジェクト・
リファレンスを使用して要求受付プログラム109へ要
求メッセージを送信する。
【0036】要求受付プログラム109は、アダプタ1
03から要求メッセージを受信し、業務DBテーブル4
00に要求通番401及び要求内容402を登録する。
そして、要求メッセージの内容を元に要求に対応する正
常処理フロー119を決定し、その正常処理フロー11
9を識別する為の正常処理フローID403を登録す
る。また回復処理フロー120を識別する為の回復処理
フローID404を生成して登録する。その後、正常処
理フロー119の実行をワークフロー制御プログラム1
11に要求する。このとき要求受付プログラム109
は、入力として要求通番401と正常処理フローID4
03をワークフロー制御プログラム111へ渡す。
【0037】ワークフロー制御プログラム111は、要
求されたワークフローをワークフロー管理DB118か
ら読み出し、図5の様な正常処理フロー119に記述さ
れた内容に従って処理を進める。ワークフロー制御プロ
グラム111は、ワークフロー中に記述された順にトラ
ンザクションを実行し、判定を行い、分岐、待合せ処理
を行う。ワークフロー中のトランザクションノードに
は、そのトランザクションで起動すべき正常処理部30
2が定義されており、ワークフロー制御プログラム11
1は、定義されている正常処理部302をトランザクシ
ョンの実行時に起動する。
【0038】図5の正常処理フロー119に従って、ワ
ークフロー制御プログラム111は、ワークフローの実
行を開始し、トランザクション1を実行する為にトラン
ザクション1要求処理プログラム112の正常処理部3
02を起動する(ノード501)。
【0039】図6は本実施形態のトランザクション要求
処理プログラム112〜114の正常処理部302の処
理手順を示すフローチャートである。正常処理部302
は図6の手順に従って処理を行う。ここで図6を用いて
正常処理部302の処理手順について説明する。
【0040】ワークフロー制御プログラム111は、入
力として要求通番401を正常処理部302へ渡す。正
常処理部302は、業務DBテーブル400の要求通番
401に該当する行の内容を読み出し、要求された処理
に必要なサービスへの要求メッセージを作成する。そし
て、必要なサービスを提供するサーバに接続しているア
ダプタのオブジェクト・リファレンスをトレーダ107
により取得して、要求メッセージを送信する(ステップ
701)。
【0041】例えばトランザクション1要求処理プログ
ラム112の正常処理部302は、サーバ210に接続
されたアダプタ104のオブジェクト・リファレンスを
取得して要求メッセージを送信する。アダプタ104
は、要求メッセージを受信すると、ネットワーク216
を介してサーバ210にそのメッセージを送信する。サ
ーバ210は、要求メッセージを受信し、要求された処
理を行った後、サーバ210で付けた処理番号と処理結
果のデータを含む応答メッセージをアダプタ104に送
信する。アダプタ104は、サーバ210からの応答メ
ッセージを受信し、トランザクション1要求処理プログ
ラム112の正常処理部302に送信する。
【0042】正常処理部302は、アダプタ104から
応答メッセージを受信し、業務DBテーブル400に処
理番号405と応答メッセージに含まれるデータ406
を保存する(ステップ702)。次に正常処理部302
は、要求メッセージに対する処理が正常に終了したかど
うかを判定する(ステップ703)。正常に終了してい
る場合に正常処理部302は、自分が行った処理を取消
す為の補償トランザクションを回復処理フロー120に
登録する(ステップ704)。
【0043】ワークフロー登録処理プログラム117
は、正常処理部302に対して回復処理フロー120を
登録する為のインタフェースを提供している。正常処理
部302は、このインタフェースを使用して回復処理フ
ロー120へ補償トランザクションを登録する。このと
き正常処理部302は、業務DBテーブル400の回復
処理フローID404を読み出し、そのIDを指定して
登録を要求する。
【0044】ワークフロー登録処理プログラム117
は、登録要求を受け取り、指定されたIDで識別される
回復処理フロー120が未だ存在しない場合には新たに
生成し、補償トランザクションの実行を記述したノード
を登録する。補償トランザクションは、補償処理部30
3を起動するという作業によって記述される。最後に正
常処理部302は、正常終了をワークフロー制御プログ
ラム111に報告して(ステップ705)、処理を終了
する。
【0045】ステップ703で判定した結果、サーバ2
10に対する要求が正常に終了していなかった場合、正
常処理部302は、異常終了をワークフロー制御プログ
ラム111に報告して処理を終了する(ステップ70
6)。
【0046】図7は本実施形態の回復処理フロー120
の例を示す図である。図7ではトランザクション1(ノ
ード501)の処理が終了した時点で登録されている回
復処理フロー120を表している。
【0047】ワークフロー登録処理プログラム117
は、補償トランザクションの登録を要求されると、渡さ
れたIDを持つ回復処理のフローを生成し、ワークフロ
ー管理DB118の回復処理フロー120に登録する。
開始ノード601及び正常終了ノード604は、ワーク
フロー登録処理プログラム117によって、最初に回復
処理フロー120を登録するときに付加される。補償処
理1(ノード602)は、図6のステップ704で登録
要求された補償トランザクションである。またこの例で
は、正常処理部302が補償トランザクションと共に判
定ノード603及び異常終了ノード605を付加する例
を示している。
【0048】ここで図5の正常処理フロー119に戻っ
て説明を続ける。トランザクション1(ノード501)
の処理が上で説明した様に終了すると、ワークフロー制
御プログラム111は、トランザクション処理プログラ
ム301からの終了報告を判定し(ノード502)、正
常終了の場合には分岐処理を行う(ノード503)。ト
ランザクション処理プログラム301が異常終了してい
る場合には回復処理(ノード504)を実行する。回復
処理については後で説明する。
【0049】図8は本実施形態の回復処理フロー120
の例を示す図である。図8に示す様に分岐処理において
ワークフロー制御プログラム111は、回復処理フロー
120に待合せノード609、分岐ノード606、NO
P1(ノード607)、NOP2(ノード608)を登
録する。NOP1及びNOP2は、何も処理を行わない
ことを示す。
【0050】ワークフロー制御プログラム111は、分
岐後に並列実行されるパスの数を判断して、その数分の
NOPノードを登録する。その後、ワークフロー制御プ
ログラム111は、トランザクション2とトランザクシ
ョン3を並列に実行する。
【0051】ワークフロー制御プログラム111は、ト
ランザクション2(ノード505)においてトランザク
ション2要求処理プログラム113を起動し、トランザ
クション3(ノード506)においてトランザクション
3要求処理プログラム114を起動する。両トランザク
ション要求処理プログラムは図6と同様の手順で処理を
行う。トランザクション2要求処理プログラム113
は、サーバ211が提供するサービスをアダプタ105
経由で要求し、トランザクション3要求処理プログラム
114は、サーバ212が提供するサービスをアダプタ
106経由で要求する。
【0052】各トランザクションによる処理結果は、ト
ランザクション1(ノード501)のときと同じ様に業
務DBテーブル400中に保存される。トランザクショ
ン2の処理結果は処理番号407とデータ408に、ト
ランザクション3の処理結果は処理番号409とデータ
410に保存される。
【0053】図9は本実施形態の回復処理フロー120
の例を示す図である。図9では両トランザクションが終
了した時点での回復処理フロー120を表している。ワ
ークフロー登録処理プログラム117は、各トランザク
ションからの登録要求を受けると、登録を要求されたト
ランザクションでNOPノードを置き換える。図9にお
いて、補償処理2(ノード610)と補償処理3(ノー
ド611)が、それぞれトランザクション2とトランザ
クション3の補償トランザクションである。また正常処
理部302は補償トランザクションと共に判定ノード6
12及び614並びに異常終了ノード613及び615
を付加している。
【0054】図5で両トランザクションの処理が終了す
ると、ワークフロー制御プログラム111はそれぞれの
トランザクションに関して判定を行う(ノード507,
508)。判定の結果、トランザクションが正常終了し
ている場合には、待合せを行う(ノード509)。待合
せ処理において、ワークフロー制御プログラム111
は、二つの判定処理(ノード507,508)の両方が
正常に終了したことを検出すると、次のトランザクショ
ンを処理する(ノード512)。トランザクション2ま
たはトランザクション3が異常終了した場合について
は、後で説明する。
【0055】トランザクション4(ノード512)に
は、チャネル209への応答処理が定義されている。応
答処理プログラム115は図3に示したトランザクショ
ン処理プログラム301と同様に、正常処理部302と
補償処理部303とで構成される。但しトランザクショ
ン要求処理プログラムにおける正常処理部302及び補
償処理部303とは動作が異なる。ワークフロー制御プ
ログラム111は応答処理プログラム115における正
常処理部302を起動する。
【0056】図10は本実施形態の応答処理プログラム
115における正常処理部302の処理手順を示すフロ
ーチャートである。応答処理プログラム115における
正常処理部302は、図10の手順に従って処理を行
う。ここで図10を用いて応答処理プログラム115に
おける正常処理部302の処理について説明する。
【0057】ワークフロー制御プログラム111は、入
力として要求通番401を正常処理部302へ渡す。正
常処理部302は、要求通番401に該当する業務DB
110の内容を読み出し、それらのデータを元にチャネ
ル209への応答メッセージを生成し、通番管理プログ
ラム108に要求してメッセージに通番を付ける(ステ
ップ801)。
【0058】次に正常処理部302は、生成した応答メ
ッセージをアダプタ103に送信する(ステップ80
2)。アダプタ103はネットワーク215経由でチャ
ネル209へ応答メッセージを送信する。
【0059】次に正常処理部302は、これらの処理が
正常に終了したかどうかを判定する(ステップ80
3)。正常に終了した場合には、業務DBテーブル40
0に応答メッセージの応答番号411と応答内容412
を保存し、正常処理部302で行った応答メッセージに
よる処理を取消す為の補償トランザクションを回復処理
フロー120に登録する(ステップ804)。そして正
常終了をワークフロー制御プログラム111に報告して
(ステップ805)処理を終了する。ステップ803の
判定で異常が発生していると判断した場合には、異常終
了をワークフロー制御プログラム111に報告して(ス
テップ806)処理を終了する。
【0060】図5でトランザクション4の処理が終了す
ると、ワークフロー制御プログラム111は判定を行う
(ノード513)。判定の結果、トランザクション4が
正常終了している場合には、ワークフロー制御プログラ
ム111は処理を終了する。トランザクション4で異常
終了した場合の処理については後で説明する。
【0061】図11は本実施形態の回復処理フロー12
0の例を示す図である。図11ではトランザクション4
(ノード512)が終了した時点での回復処理フロー1
20を表している。応答処理プログラム115は、補償
処理4(ノード616)、判定ノード617及び異常終
了ノード618を登録している。
【0062】次に、トランザクションが異常終了した場
合の処理について説明する。判定ノード502,50
7,508及び513においてトランザクションの異常
終了を検出した場合、ワークフロー制御プログラム11
1は、回復処理プログラム116を起動する(ノード5
04,510,511及び514)。
【0063】このとき、ワークフロー制御プログラム1
11は、入力として要求通番401を回復処理プログラ
ム116に渡す。回復処理プログラム116は、業務D
Bテーブル400の入力で与えられた要求通番401に
該当する行から回復処理フロー120のIDを読み出
し、その回復処理フロー120の実行をワークフロー制
御プログラム111に要求する。回復処理プログラム1
16は、入力として要求通番401と回復処理フローI
D404をワークフロー制御プログラム111へ渡す。
【0064】回復処理フロー120は、図7〜図9及び
図11に示した様に、正常処理フロー119中のどの回
復処理ノードで回復処理プログラム116が起動された
かによって異なる。ワークフロー制御プログラム111
は、回復処理プログラム116からの要求を受け、入力
で与えられた回復処理フローID404で識別される回
復処理フロー120に従って、補償処理部303を起動
しながら処理を行う。なお補償処理部303は、トラン
ザクション要求処理プログラム112〜114と応答処
理プログラム115とで処理手順が異なる。
【0065】図12は本実施形態のトランザクション要
求処理プログラム112〜114の補償処理部303の
処理手順を示すフローチャートである。ここでトランザ
クション要求処理プログラム112〜114における補
償処理部303の処理手順について図12を用いて説明
する。
【0066】ワークフロー制御プログラム111は、入
力として要求通番401を補償処理部303へ渡す。補
償処理部303は、与えられた要求通番401に該当す
る行の情報を業務DB110から読み出して処理を行
う。
【0067】補償処理部303は、各トランザクション
に対応する処理番号405,407及び409並びにサ
ーバ210〜212からの応答メッセージに関するデー
タ406,408及び410を読み出し、トランザクシ
ョンのキャンセルを要求する為のメッセージを生成して
アダプタ104〜106に送信する(ステップ90
1)。
【0068】サーバ210〜212は、キャンセル要求
メッセージに従って指定されたトランザクションをキャ
ンセルし、応答メッセージをアダプタ104〜106に
送信する。補償処理部303はサーバ210〜212か
らの応答メッセージを受信する(ステップ902)。そ
してキャンセル処理が正常に終了したかどうかを判定す
る(ステップ903)。正常に終了している場合、正常
終了をワークフロー制御プログラム111に報告する
(ステップ904)。異常終了している場合、異常終了
をワークフロー制御プログラム111に報告する(ステ
ップ905)。
【0069】図13は本実施形態の応答処理プログラム
115の補償処理部303の処理手順を示すフローチャ
ートである。応答処理プログラム115において補償処
理部303は、図13の手順に従って処理を行う。次に
応答処理プログラム115における補償処理部303の
処理手順について図13を用いて説明する。
【0070】トランザクション要求処理プログラム11
2〜114に関する補償処理部303のときと同様に、
ワークフロー制御プログラム111は入力として要求通
番401を補償処理部303へ渡す。補償処理部303
は、業務DB110から与えられた要求通番401に該
当する行の情報を読み出して処理を行う。補償処理部3
03は、業務DB110から応答メッセージの応答番号
411及び応答内容412を読み出して、この応答メッ
セージのキャンセルを要求する為のメッセージを生成し
てアダプタ103へ送信する(ステップ1001)。
【0071】次に、送信処理が正常に終了したかどうか
を判定する(ステップ1002)。正常に終了した場
合、正常終了をワークフロー制御プログラム111に報
告する(ステップ1003)。異常終了した場合は、ワ
ークフロー制御プログラム111に異常終了を報告する
(ステップ1004)。
【0072】ワークフロー制御プログラム111は、判
定ノードにおいて異常終了したと判定すると異常終了処
理を行う。異常終了処理でワークフロー制御プログラム
111は、回復処理が異常終了したことを示すメッセー
ジを出力装置214に表示する。
【0073】以上で説明した様に本実施形態では、正常
処理フロー119の実行時に各トランザクションにおい
て、その補償トランザクションを回復処理フロー120
に登録しながら処理を進める。そして障害により何れか
のトランザクションが異常終了した場合には、その時点
までに行ったトランザクションを回復処理フロー120
に従って回復する。
【0074】本実施形態では、回復処理フロー120に
おいて補償処理トランザクションが異常終了した場合に
は、その時点で回復処理を終了する様にしたが、補償処
理トランザクションの正常/異常終了に関わらず、次の
補償処理トランザクションを実行する様な回復処理フロ
ー120を生成することもできる。この為には正常処理
部302が補償トランザクションだけを回復処理フロー
120に登録し、判定ノード及び異常終了ノードの登録
を行わない様にすれば良い。
【0075】また運用者が入力装置213からワークフ
ロー制御プログラム111に対して回復処理フロー12
0の実行を要求する様にして、チャネル209からの要
求メッセージに対する処理が正常に終了した後の任意の
時点で回復処理を実行できる様にすることもできる。
【0076】本実施形態によればワークフロー制御シス
テム201は、並列に実行されるパスを含む様なワーク
フローの実行中に回復処理の為のワークフローを動的に
生成することができる。またワークフロー制御プログラ
ム111が、回復処理フロー120に分岐処理及び待合
せ処理を登録でき、並列に実行されるパスを生成するこ
とができる。そして障害が発生した場合には、この回復
処理フロー120に従ってパス毎に回復処理を並列に実
行することができる。従って回復処理に要する時間を短
縮することができる。
【0077】更にワークフロー制御システム201が、
要求通番401と回復処理フローID404との対応を
データベースにより管理しているので、チャネル209
からの要求メッセージ毎に対応する回復処理フロー12
0を管理でき、複数のチャネルから同時に要求を受け付
けて処理する場合にも障害が発生した要求メッセージに
対応する回復処理を実行することができる。
【0078】以上説明した様に本実施形態のトランザク
ション処理システムによれば、正常処理フローの分岐に
より生じたパス毎に回復処理を並列化するので、回復処
理の効率を向上させることが可能である。
【0079】また本実施形態のトランザクション処理シ
ステムによれば、各要求メッセージと回復処理に関する
情報を対応付けて管理するので、トランザクション処理
システムが複数のチャネルから同時に要求メッセージを
受信して処理を行う場合にも効率的な回復処理を行うこ
とが可能である。
【0080】(実施形態2)以下に履歴情報中に登録さ
れた各パス毎に回復処理を並列化する実施形態2のトラ
ンザクション処理システムについて説明する。本実施形
態の目的は、第1の実施形態と同様に回復処理の効率を
向上する為に、正常処理フロー119の分岐により生じ
る複数のパス毎に回復処理を並列化することにある。第
1の実施形態においては、トランザクション処理システ
ムが回復処理フロー120を生成し、これを用いて回復
処理を行ったが、本実施形態では、トランザクション処
理システムが履歴情報をキューに保存し、これを用いて
回復処理を並列に実行する。本実施形態におけるハード
ウェア構成は図2に示した構成と同一である。
【0081】図14は本実施形態のトランザクション処
理システムのソフトウェア構成を示す図である。本実施
形態ではワークフロー実行プログラム102に履歴情報
保存キュー1101を設けた。また本実施形態では回復
処理において回復処理フロー120を使用しない為、ワ
ークフロー管理DB118内には正常処理フロー119
だけを示している。
【0082】図15は本実施形態の業務DBテーブルの
一例を示す図である。業務DB110内には、図15の
様な業務DBテーブル1300が保存される。業務DB
テーブル1300は、要求通番1302と、要求内容1
303と、正常処理フローID1304と、キューID
1301を保存する為の列を含んでいる。キューID1
301は、履歴情報保存キュー1101を識別する為の
IDである。
【0083】本実施形態において、チャネル209、サ
ーバ210〜212、ORB101、アダプタ103〜
106、通番管理プログラム108、トレーダ107は
第1の実施形態と同様の処理を行う。以下、第1の実施
形態の説明で用いた図5と同様の正常処理フロー119
がワークフロー管理DB118に登録されている場合に
ついて説明する。
【0084】チャネル209からの要求メッセージは、
アダプタ103により第1の実施形態と同様の手順で処
理され、要求受付プログラム1103に対して要求メッ
セージが送信される。要求受付プログラム1103は、
アダプタ103から要求メッセージを受信し、業務DB
テーブル1300に要求通番1302及び要求内容13
03を登録する。そして要求メッセージの内容を元に要
求に対応する正常処理フロー119を決定し、その正常
処理フロー119を識別する正常処理フローID130
4を登録する。また履歴情報保存キュー1101を識別
する為のキューID1301を生成して登録する。そし
て正常処理フロー119の実行をワークフロー制御プロ
グラム1108に要求する。このとき要求受付プログラ
ム1103は、入力として要求通番1302と正常処理
フローID1304をワークフロー制御プログラム11
08へ渡す。
【0085】ワークフロー制御プログラム1108は、
正常処理フローID1304で識別されるワークフロー
をワークフロー管理DB118の正常処理フロー119
から読み出し、これに従って処理を進める。
【0086】図16は本実施形態のトランザクション要
求処理プログラム1104〜1106及び応答処理プロ
グラム1107の概略構成を示す図である。図16に示
す様に本実施形態のワークフロー制御システム201
は、正常処理部1202と、補償処理部1203とを有
している。
【0087】正常処理部1202は、実行したトランザ
クションの内容を示す履歴情報をトランザクションの実
行時に登録する処理部である。補償処理部1203は、
トランザクション実行中に障害が発生した場合に前記履
歴情報を取出し、前記履歴情報中に登録されたトランザ
クションの内容毎に補償トランザクションを並列に実行
する処理部である。
【0088】ワークフロー制御システム201を正常処
理部1202及び補償処理部1203として機能させる
為のプログラムは、CD−ROM等の記録媒体に記録さ
れ磁気ディスク等に格納された後、メモリにロードされ
て実行されるものとする。なお前記プログラムを記録す
る媒体はCD−ROM以外の他の媒体でも良い。
【0089】図16の処理プログラム1201で示す様
に、トランザクション要求処理プログラム1104〜1
106及び応答処理プログラム1107は、正常処理部
1202と補償処理部1203とで構成される。
【0090】ワークフロー制御プログラム1108は、
定義に従ってトランザクション要求処理プログラム11
04〜1106及び応答処理プログラム1107の正常
処理部1202を起動する。またワークフロー制御プロ
グラム1108は、ワークフロー中のノードの並びにI
Dを付ける。例えば、図5に示すワークフローでは、ト
ランザクション1を含むパスのパスID=A、トランザ
クション2を含むパスのパスID=B、トランザクショ
ン3を含むパスのパスID=C、トランザクション4を
含むパスのパスID=D、として管理している。そして
ワークフロー制御プログラム1108は、正常処理部1
202を起動するときに前記パスIDを起動時の入力パ
ラメータとして渡す。正常処理部1202は、その渡さ
れたパスIDを履歴情報の一部として保存する。なお正
常処理部1202の処理手順はトランザクション要求処
理プログラム1104〜1106と応答処理プログラム
1107とで異なっている。
【0091】図17は本実施形態のトランザクション要
求処理プログラム1104〜1106の正常処理部12
02の処理手順を示すフローチャートである。トランザ
クション要求処理プログラム1104〜1106内の正
常処理部1202は図17の手順に従って処理を行う。
以下、トランザクション要求処理プログラム1104〜
1106における正常処理部1202の処理手順につい
て図17を用いて説明する。
【0092】ワークフロー制御プログラム1108は、
入力として要求通番1302及びパスIDを正常処理部
1202に与える。トランザクション要求処理プログラ
ム1104〜1106における正常処理部1202は、
第1の実施形態と同様の手順で要求メッセージをアダプ
タ103〜106へ送信する(ステップ1401)。サ
ーバ210〜212でのトランザクションが終了する
と、正常処理部1202は、アダプタから応答メッセー
ジを受信する(ステップ1402)。
【0093】次に正常処理部1202は、要求メッセー
ジに対する処理が正常に終了したかどうかを判定する
(ステップ1403)。正常に終了している場合に正常
処理部1202は、トランザクションに関する履歴情報
を履歴情報保存キュー1101に登録する(ステップ1
404)。そして、正常終了をワークフロー制御プログ
ラム1108に報告して(ステップ1405)処理を終
了する。要求が正常に終了しなかった場合に正常処理部
1202は、異常終了をワークフロー制御プログラム1
108に報告して処理を終了する(ステップ140
6)。
【0094】図18は本実施形態の応答処理プログラム
1107内の正常処理部1202の処理手順を示すフロ
ーチャートである。応答処理プログラム1107内の正
常処理部1202は、図18の手順に従って処理を行
う。次に応答処理プログラム1107における正常処理
部1202の処理手順について図18を用いて説明す
る。
【0095】ワークフロー制御プログラム1108は、
入力として要求通番1302及びパスIDを正常処理部
1202に与える。応答処理プログラム1107におけ
る正常処理部1202は、業務DB110の要求通番1
302に該当する行の内容を読み出す。そして、それら
のデータを元にチャネル209への応答メッセージを生
成し、通番管理プログラム108に要求してメッセージ
に応答通番を付ける(ステップ1501)。次に正常処
理部1202は、アダプタ103に生成した応答メッセ
ージを送信する(ステップ1502)。
【0096】そして正常処理部1202は、これらの処
理が正常に終了したかどうかを判定する(ステップ15
03)。次に、履歴情報保存キュー1101に応答処理
に関する履歴情報を保存する(ステップ1504)。そ
して正常終了をワークフロー制御プログラム1108に
報告して(ステップ1505)処理を終了する。異常が
発生していると判断した場合には、異常終了をワークフ
ロー制御プログラム1108に報告して(ステップ15
06)処理を終了する。
【0097】図19は本実施形態の履歴情報保存キュー
1101の内容例を示す図である。図19では正常処理
フロー119の実行が正常に終了した時点での履歴情報
保存キュー1101の内容を表している。履歴情報保存
キュー1101は、First In Last Out
型のキューである。
【0098】トランザクション要求処理プログラム11
04〜1106によって保存された履歴情報は、図19
の履歴情報1601,1603及び1604である。ま
た応答処理プログラム1107によって保存された履歴
情報は履歴情報1606である。履歴情報1602及び
1605はワークフロー制御プログラム1108によっ
て保存された履歴情報である。なおトランザクション2
とトランザクション3は並列に実行される為、トランザ
クション2に関する履歴情報1603とトランザクショ
ン3に関する履歴情報1604の順番は、各トランザク
ションに関する正常処理が終了したタイミングによって
異なる。
【0099】トランザクション要求処理プログラム11
04〜1106は、図17のステップ1404におい
て、各トランザクション要求処理を識別する為の処理I
Dと、要求メッセージを送信したサーバを識別する為の
送信先IDと、サーバ210〜212において各トラン
ザクションに付けられた処理番号と、各トランザクショ
ン要求処理が実行されたパスを識別する為のパスID
と、各サーバからの応答内容に関するデータから構成さ
れる履歴情報を保存する。
【0100】また応答処理プログラム1107は、図1
8のステップ1504において、応答処理を識別する為
の処理IDと、応答メッセージを送信したチャネル20
9を識別する為の送信先IDと、応答メッセージに付け
た応答通番と、応答処理が実行されたパスを識別する為
のパスIDと、応答メッセージの内容に関するデータか
ら構成される履歴情報を保存する。
【0101】更にワークフロー制御プログラム1108
は、分岐、待合せ処理を行うときに、履歴情報保存キュ
ー1101に履歴情報を保存する。分岐処理の履歴情報
は、履歴情報1602に示す様に、分岐処理を識別する
為の処理IDと、分岐する前のパスを識別する為の分岐
元パスIDと、分岐した後のパスを識別する為の分岐先
パスIDから構成される。待合せ処理の履歴情報は、履
歴情報1605に示す様に、待合せ処理を識別する為の
処理IDと、待合せの対象となるパスを識別する為の待
合せパスIDと、待合せ処理後のパスを識別する為の待
合せ後パスIDから構成される。
【0102】障害発生時には、この様にして保存された
履歴情報を利用して回復処理を行う。ワークフロー制御
プログラム1108は、障害発生時に回復処理プログラ
ム1102を起動する(図5のノード504,510,
511及び514)。このときワークフロー制御プログ
ラム1108は、業務DBテーブル1300に保存され
ているキューID1301を回復処理プログラム110
2へ入力として渡す。回復処理プログラム1102は、
キューID1301で識別される履歴情報保存キュー1
101内の履歴情報を取出しながら、図20に示す処理
手順に従って処理を行う。
【0103】図20は本実施形態の回復処理プログラム
1102の処理手順を示すフローチャートである。以
下、回復処理プログラム1102の処理について図20
を用いて説明する。回復処理プログラム1102は、キ
ューID1301で識別される履歴情報保存キュー11
01内に履歴情報があるかどうかを判定する(ステップ
1701)。履歴情報が履歴情報保存キュー1101に
存在しない場合には処理を終了し、履歴情報が存在する
場合には履歴情報を取出す(ステップ1702)。
【0104】取出した履歴情報が待合せ処理に関する情
報であるかどうかを判定する(ステップ1703)。待
合せ処理でない場合、分岐処理に関する情報であるかど
うかを判定する(ステップ1704)。分岐処理でもな
い場合、すなわちトランザクション要求処理または応答
処理に関する情報である場合、処理IDで識別される処
理の補償処理部303を起動する(ステップ170
5)。
【0105】次に補償処理が正常に終了したかどうかを
判定する(ステップ1706)。正常に終了している場
合には、ステップ1701に戻り、処理を続行する。異
常終了した場合には、ワークフロー制御プログラム11
08に報告し、処理を終了する(ステップ1707)。
【0106】履歴情報保存キュー1101から取出した
履歴情報が待合せ処理に関する情報であった場合、待合
せパスID毎に回復処理を並列化して処理を実行する
(ステップ1708)。これは例えば、新たにスレッド
を生成して同一の履歴情報保存キュー1101から複数
のスレッドにより履歴情報を取出して処理を行うことに
より実現する。また、取出した履歴情報が分岐処理に関
するものであった場合、分岐先パス毎に並列に行われて
いる回復処理の終了を待つ(ステップ1709)。これ
は例えば複数起動したスレッドの終了を待つことによっ
て実現する。
【0107】以上で説明した回復処理プログラム110
2の処理によって起動される補償処理部1203の処理
手順を図21及び図22に示す。補償処理部1203
は、トランザクション要求処理プログラム1104〜1
106と応答処理プログラム1107とで処理手順が異
なる。
【0108】図21は本実施形態のトランザクション要
求処理プログラム1104〜1106の補償処理部12
03の処理手順を示すフローチャートである。先ずトラ
ンザクション要求処理プログラム1104〜1106に
おける補償処理部1203の処理手順について図21を
用いて説明する。
【0109】回復処理プログラム1102は、履歴情報
保存キュー1101から取出した履歴情報を補償処理部
1203に入力として渡す。補償処理部1203は、履
歴情報を元に処理番号に対応する処理をキャンセルする
為のメッセージを生成し、送信先IDで識別されるサー
バ210〜212に接続されているアダプタ104〜1
06へキャンセル要求メッセージを送信する(ステップ
1801)。
【0110】次に、そのアダプタ104〜106から、
サーバ210〜212で行われたキャンセル処理に関す
る応答メッセージを受信する(ステップ1802)。そ
してキャンセル処理が正常に終了したかどうかを判定す
る(ステップ1803)。正常に終了している場合、回
復処理プログラム1102に報告して終了する(ステッ
プ1804)。キャンセル処理が正常に終了しなかった
場合、異常終了を回復処理プログラム1102に報告し
て処理を終了する(ステップ1805)。
【0111】図22は本実施形態の応答処理プログラム
1107の補償処理部1203の処理手順を示すフロー
チャートである。次に応答処理プログラム1107にお
ける補償処理部1203の処理について図22を用いて
説明する。
【0112】回復処理プログラム1102は、履歴情報
保存キュー1101から取出した履歴情報を補償処理部
1203へ入力として渡す。補償処理部1203は、履
歴情報を元に処理番号に対応する処理をキャンセルする
為のメッセージを生成し、送信先IDで識別されるチャ
ネル209に接続されているアダプタ103へキャンセ
ル要求メッセージを送信する(ステップ1901)。
【0113】次に、キャンセル要求メッセージの送信処
理が正常に終了したかどうかを判定する(ステップ19
02)。正常に終了している場合、回復処理プログラム
1102に報告して終了する(ステップ1903)。正
常に終了しなかった場合、異常終了を回復処理プログラ
ム1102に報告して処理を終了する(ステップ190
4)。
【0114】以上で説明した様に本実施形態によれば、
正常処理部1202によりパスIDを含む履歴情報を履
歴情報保存キュー1101に登録し、またワークフロー
制御プログラム1108により履歴情報保存キュー11
01に分岐処理及び待合せ処理に関する履歴情報を登録
できる。そして障害が発生した場合には、ワークフロー
制御システム201は、履歴情報保存キュー1101に
保存した履歴情報を用いて、パス毎に回復処理を並列に
実行することができる。従って回復処理に要する時間を
短縮することができる。
【0115】更にワークフロー制御システム201が、
要求通番1302と履歴情報保存キュー1101との対
応をデータベースにより管理しているので、チャネル2
09からの要求メッセージ毎に対応するキューを管理で
き、複数のチャネルから同時に要求を受け付けて処理す
る場合にも、障害が発生した要求メッセージに対応する
回復処理を実行することができる。
【0116】本実施形態では履歴情報保存キュー110
1を業務DB110とは別に設ける構成としたが、業務
DB110内に履歴情報保存用のテーブルを設け、それ
を利用する形態としても良い。また運用者が入力装置2
13から回復処理プログラム1102を起動して、チャ
ネル209からの要求メッセージに対する処理が正常に
終了した後の任意の時点で回復処理を実行できる様にす
ることもできる。
【0117】以上説明した様に本実施形態のトランザク
ション処理システムによれば、ワークフロー制御システ
ムが正常処理を行ったワークフロー上のパス毎に回復処
理を並列化するので、回復処理の効率を向上させること
が可能である。
【0118】(実施形態3)以下に履歴情報中に登録さ
れたトランザクションの内容毎に回復処理を並列化する
実施形態3のトランザクション処理システムについて説
明する。第2の実施形態では、回復処理の効率を向上す
る為に正常処理フロー119において並列に実行される
パス毎に回復処理を並列化した。そして、各パスにおい
ては、各トランザクションについて正常実行時と逆順に
回復処理を行った。しかし、トランザクション処理シス
テムが扱う業務によっては、回復時にトランザクション
の順番を全く意識する必要がない場合も有り得る。本実
施形態では、その様なトランザクション処理システムに
おける回復処理の効率を向上する為に、履歴情報中に登
録されたトランザクションの内容毎に並列に回復処理を
行う。なお本実施形態におけるハードウェア構成及びソ
フトウェア構成は、第2の実施形態に示した構成と同一
であるものとする。
【0119】図23は本実施形態の履歴情報保存キュー
1101の内容例を示す図である。本実施形態における
ワークフロー制御プログラム1108は、分岐処理及び
待合せ処理において履歴情報保存キュー1101への履
歴情報の保存を行わない。また、各トランザクション要
求処理プログラム1104〜1106及び応答処理プロ
グラム1107内の正常処理部1202は、履歴情報を
保存する際にパスIDを保存する必要がない。
【0120】図24は本実施形態の回復処理プログラム
1102の処理手順を示すフローチャートである。次に
本実施形態における回復処理プログラム1102の処理
手順について図24を用いて説明する。
【0121】ワークフロー制御プログラム1108は、
業務DBテーブル1300に保存されているキューID
1301を回復処理プログラム1102へ入力として渡
す。回復処理プログラム1102は、ワークフロー制御
プログラム1108から起動されると、履歴情報保存キ
ュー1101に履歴情報があるかどうかを判定する(ス
テップ2101)。履歴情報がある場合、履歴情報を取
出す(ステップ2102)。
【0122】次に、取出した履歴情報を処理する為のス
レッドを生成して補償処理を並列化する(ステップ21
03)。そして、新しく生成したスレッドにおいて補償
処理部1203を起動する(ステップ2104)。履歴
情報が履歴情報保存キュー1101内に存在する間は、
以上の処理を繰り返し、履歴情報が存在しなくなると、
並列化したスレッドの終了を待つ(ステップ210
5)。
【0123】次に、全ての補償処理が正常に終了したか
どうかを判定する(ステップ2106)。全ての補償処
理が正常に終了した場合、ワークフロー制御プログラム
1108に正常終了を報告して処理を終了する(ステッ
プ2107)。何れかの補償処理が異常終了した場合に
は、ワークフロー制御プログラム1108に異常を報告
して処理を終了する(ステップ2108)。
【0124】本実施形態によれば、履歴情報中に登録さ
れたトランザクションの内容毎に並列に補償処理を行う
ことができる。ステップ2103においてスレッドを生
成するときに生成したスレッド数を覚えておいて、一定
数以上のスレッドを生成しない様に制御する様にしても
良い。
【0125】以上説明した様に本実施形態のトランザク
ション処理システムによれば、履歴情報中に登録された
トランザクションの内容毎に並列に回復処理を行うの
で、回復処理の効率を向上させることが可能である。
【0126】(実施形態4)以下に履歴情報中に登録さ
れたメッセージの送信先毎に回復処理を並列化する実施
形態4のトランザクション処理システムについて説明す
る。本実施形態では、回復処理の効率を向上する為にワ
ークフロー制御システム201からのメッセージの送信
先毎に回復処理を並列化する。その為に回復処理プログ
ラム1102において送信先IDを判定し、送信先ID
毎に回復処理を並列実行する様にした。本実施形態のハ
ードウェア構成及びソフトウェア構成は、第2の実施形
態及び第3の実施形態と同一である。また、本実施形態
において履歴情報保存キュー1101内に保存される履
歴情報の内容は第3の実施形態と同一である。
【0127】図25は本実施形態の回復処理プログラム
1102の処理手順を示すフローチャートである。本実
施形態における回復処理プログラム1102の処理手順
について図25を用いて説明する。
【0128】ワークフロー制御プログラム1108は、
業務DBテーブル1300に保存されているキューID
1301を回復処理プログラム1102へ入力として渡
す。回復処理プログラム1102は、履歴情報保存キュ
ー1101内に履歴情報があるかどうかを判定する(ス
テップ2201)。履歴情報がある場合には、履歴情報
を取出す(ステップ2202)。
【0129】次に、送信先IDに対応する回復処理を実
行中かどうかを判定する(ステップ2203)。実行中
でない場合には、送信先IDに対応する回復処理を実行
する為のスレッドを生成し、新たに生成したスレッドに
おいて、以後その送信先IDに関する回復処理を実行す
る(ステップ2204)。
【0130】取出した履歴情報内の送信先IDに対応す
る回復処理が実行中である場合にはステップ2201に
戻って次の履歴情報に関する処理を行う。ステップ22
01において、履歴情報保存キュー1101内に次の履
歴情報がない場合、スレッドの終了を待ち(ステップ2
207)、次に全ての回復処理が正常に終了したかどう
かを判定する(ステップ2208)。全ての回復処理が
正常に終了した場合、ワークフロー制御プログラム11
08に正常終了を報告して処理を終了する(ステップ2
209)。何れかの回復処理が異常終了した場合には、
ワークフロー制御プログラム1108に異常を報告して
処理を終了する(ステップ2210)。
【0131】図26は本実施形態のステップ2204に
おいて生成されるスレッドの処理手順を示すフローチャ
ートである。ステップ2204において生成された各ス
レッドの処理手順について図26を用いて説明する。
【0132】各スレッドは、履歴情報保存キュー110
1内に履歴情報があるかどうかを判定する(ステップ2
601)。履歴情報がある場合には、履歴情報を取出す
(ステップ2602)。取出した履歴情報内の送信先I
Dに対応する回復処理が、自分の処理している送信先I
Dと一致するかを判定する(ステップ2603)。一致
する場合には補償処理部1203を実行する(ステップ
2604)。一致しない場合にはステップ2601に戻
って次の履歴情報に関する処理を行う。
【0133】補償処理部1203の実行終了後、当該処
理が正常に終了したかどうかを確認する(ステップ26
05)。正常に終了している場合、ステップ2601に
戻って次の履歴情報に関する処理を行う。異常終了した
場合、回復処理プログラム1102に異常終了を報告し
て処理を終了する(ステップ2606)。ステップ26
01において、履歴情報保存キュー1101内に次の履
歴情報がない場合、回復処理プログラム1102に正常
終了を報告して終了する(ステップ2607)。
【0134】本実施形態によれば、正常処理において要
求メッセージを送信したときの送信先サーバ及び応答メ
ッセージを送信したチャネル毎に並列に回復処理を行う
ことができる。
【0135】以上説明した様に本実施形態のトランザク
ション処理システムによれば、ワークフロー制御システ
ムが正常処理において送信したメッセージの送信先毎に
回復処理を並列化するので、回復処理の効率を向上させ
ることが可能である。
【0136】
【発明の効果】本発明によれば正常処理フローの分岐に
より生じたパス毎に回復処理を並列化するので、回復処
理の効率を向上させることが可能である。
【図面の簡単な説明】
【図1】実施形態1のワークフロー制御システムのソフ
トウェア構成を示す図である。
【図2】実施形態1のトランザクション処理システムの
ハードウェア構成を示す図である。
【図3】実施形態1の要求処理プログラム112〜11
4及び応答処理プログラム115の概略構成を示す図で
ある。
【図4】実施形態1の業務DBテーブルの一例を示す図
である。
【図5】実施形態1の正常処理フロー119の一例を示
す図である。
【図6】実施形態1のトランザクション要求処理プログ
ラム112〜114の正常処理部302の処理手順を示
すフローチャートである。
【図7】実施形態1の回復処理フロー120の例を示す
図である。
【図8】実施形態1の回復処理フロー120の例を示す
図である。
【図9】実施形態1の回復処理フロー120の例を示す
図である。
【図10】実施形態1の応答処理プログラム115にお
ける正常処理部302の処理手順を示すフローチャート
である。
【図11】実施形態1の回復処理フロー120の例を示
す図である。
【図12】実施形態1のトランザクション要求処理プロ
グラム112〜114の補償処理部303の処理手順を
示すフローチャートである。
【図13】実施形態1の応答処理プログラム115の補
償処理部303の処理手順を示すフローチャートであ
る。
【図14】実施形態2のトランザクション処理システム
のソフトウェア構成を示す図である。
【図15】実施形態2の業務DBテーブルの一例を示す
図である。
【図16】実施形態2のトランザクション要求処理プロ
グラム1104〜1106及び応答処理プログラム11
07の概略構成を示す図である。
【図17】実施形態2のトランザクション要求処理プロ
グラム1104〜1106の正常処理部1202の処理
手順を示すフローチャートである。
【図18】実施形態2の応答処理プログラム1107内
の正常処理部1202の処理手順を示すフローチャート
である。
【図19】実施形態2の履歴情報保存キュー1101の
内容例を示す図である。
【図20】実施形態2の回復処理プログラム1102の
処理手順を示すフローチャートである。
【図21】実施形態2のトランザクション要求処理プロ
グラム1104〜1106の補償処理部1203の処理
手順を示すフローチャートである。
【図22】実施形態2の応答処理プログラム1107の
補償処理部1203の処理手順を示すフローチャートで
ある。
【図23】実施形態3の履歴情報保存キュー1101の
内容例を示す図である。
【図24】実施形態3の回復処理プログラム1102の
処理手順を示すフローチャートである。
【図25】実施形態4の回復処理プログラム1102の
処理手順を示すフローチャートである。
【図26】実施形態4のステップ2204において生成
されるスレッドの処理手順を示すフローチャートであ
る。
【符号の説明】
101…ORB、102…ワークフロー実行プログラ
ム、103〜106…アダプタ、107…トレーダ、1
08…通番管理プログラム、109…要求受付プログラ
ム、110…業務DB、111…ワークフロー制御プロ
グラム、112〜114…要求処理プログラム、115
…応答処理プログラム、116…回復処理プログラム、
117…ワークフロー登録処理プログラム、118…ワ
ークフロー管理DB、119…正常処理フロー、120
…回復処理フロー、201…ワークフロー制御システ
ム、202…CPU、203…メモリ、204…ハード
ディスク装置、205〜208…ネットワーク・インタ
フェース・コントローラ、209…チャネル、210〜
212…サーバ、213…入力装置、214…出力装
置、215〜218…ネットワーク、301…処理プロ
グラム、302…正常処理部、303…補償処理部、4
00…業務DBテーブル、401…要求通番、402…
要求内容、403…正常処理フローID、404…回復
処理フローID、405,407及び409…処理番
号、406,408及び410…データ、411…応答
番号、412…応答内容、501〜514…ノード、6
01〜605…ノード、606〜609…ノード、61
0〜615…ノード、616〜618…ノード、110
1…履歴情報保存キュー、1102…回復処理プログラ
ム、1103…要求受付プログラム、1104〜110
6…要求処理プログラム、1107…応答処理プログラ
ム、1108…ワークフロー制御プログラム、1300
…業務DBテーブル、1301…キューID、1302
…要求通番、1303…要求内容、1304…正常処理
フローID、1201…処理プログラム、1202…正
常処理部、1203…補償処理部、1601〜1606
…履歴情報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鬼頭 昭 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B085 AC17 BA07

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 ワークフローに従って一連のトランザク
    ションを実行するトランザクション処理方法において、 トランザクション実行中に障害が発生した場合の障害回
    復を行う補償処理をトランザクションの実行時に回復処
    理フローとして登録し、 トランザクション実行中に障害が発生した場合に、前記
    登録した回復処理フローに従って一連の補償処理を並列
    に実行することを特徴とするトランザクション処理方
    法。
  2. 【請求項2】 ワークフローに従って分岐処理を行うと
    きに待合せ処理を回復処理フローに登録し、待合せ処理
    を行うときに分岐処理を回復処理フローに登録すること
    を特徴とする請求項1に記載されたトランザクション処
    理方法。
  3. 【請求項3】 クライアントからの要求メッセージに通
    番を付与し、該通番と回復処理フローの識別子を保存し
    て要求メッセージに対応する回復処理フローを管理する
    ことを特徴とする請求項1または請求項2のいずれかに
    記載されたトランザクション処理方法。
  4. 【請求項4】 ワークフローに従って一連のトランザク
    ションを実行するトランザクション処理方法において、 実行したトランザクションの内容を示す履歴情報をトラ
    ンザクションの実行時に登録し、トランザクション実行
    中に障害が発生した場合に前記履歴情報を取出し、前記
    履歴情報中に登録されたトランザクションの内容毎に補
    償トランザクションを並列に実行することを特徴とする
    トランザクション処理方法。
  5. 【請求項5】 ワークフロー上のパスを識別する為の識
    別子と分岐及び待合せ対象のパスを識別する為の識別子
    とを含む履歴情報をトランザクションの実行時に保存
    し、 トランザクション実行中に障害が発生した場合に前記履
    歴情報を取出し、前記履歴情報中に登録された各パス毎
    に回復処理を並列に実行することを特徴とする請求項4
    に記載されたトランザクション処理方法。
  6. 【請求項6】 メッセージの送信先を識別する為の識別
    子を含む履歴情報をトランザクションの実行時に登録
    し、 トランザクション実行中に障害が発生した場合に前記履
    歴情報を取出し、前記履歴情報中に登録されたメッセー
    ジの送信先毎に回復処理を並列に実行することを特徴と
    する請求項4に記載されたトランザクション処理方法。
  7. 【請求項7】 クライアントからの要求メッセージに対
    して通番を付与し、該通番と履歴情報の識別子とを保存
    して要求メッセージに対応する履歴情報を管理すること
    を特徴とする請求項4乃至請求項6のいずれか1項に記
    載されたトランザクション処理方法。
  8. 【請求項8】 ワークフローに従って一連のトランザク
    ションを実行するトランザクション処理装置において、 トランザクション実行中に障害が発生した場合の障害回
    復を行う補償処理をトランザクションの実行時に回復処
    理フローとして登録する正常処理部と、 トランザクション実行中に障害が発生した場合に、前記
    登録した回復処理フローに従って一連の補償処理を並列
    に実行する補償処理部とを備えることを特徴とするトラ
    ンザクション処理装置。
  9. 【請求項9】 ワークフローに従って一連のトランザク
    ションを実行するトランザクション処理装置において、 実行したトランザクションの内容を示す履歴情報をトラ
    ンザクションの実行時に登録する正常処理部と、 トランザクション実行中に障害が発生した場合に前記履
    歴情報を取出し、前記履歴情報中に登録されたトランザ
    クションの内容毎に補償トランザクションを並列に実行
    する補償処理部とを備えることを特徴とするトランザク
    ション処理装置。
  10. 【請求項10】 ワークフローに従って一連のトランザ
    クションを実行するトランザクション処理装置としてコ
    ンピュータを機能させる為のプログラムを記録した媒体
    において、 トランザクション実行中に障害が発生した場合の障害回
    復を行う補償処理をトランザクションの実行時に回復処
    理フローとして登録する正常処理部と、 トランザクション実行中に障害が発生した場合に、前記
    登録した回復処理フローに従って一連の補償処理を並列
    に実行する補償処理部としてコンピュータを機能させる
    為のプログラムを記録したことを特徴とする媒体。
  11. 【請求項11】 ワークフローに従って一連のトランザ
    クションを実行するトランザクション処理装置としてコ
    ンピュータを機能させる為のプログラムを記録した媒体
    において、 実行したトランザクションの内容を示す履歴情報をトラ
    ンザクションの実行時に登録する正常処理部と、 トランザクション実行中に障害が発生した場合に前記履
    歴情報を取出し、前記履歴情報中に登録されたトランザ
    クションの内容毎に補償トランザクションを並列に実行
    する補償処理部としてコンピュータを機能させる為のプ
    ログラムを記録したことを特徴とする媒体。
JP33669998A 1998-11-27 1998-11-27 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体 Expired - Fee Related JP4094752B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33669998A JP4094752B2 (ja) 1998-11-27 1998-11-27 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US09/443,102 US6578159B1 (en) 1998-11-27 1999-11-18 Transaction processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33669998A JP4094752B2 (ja) 1998-11-27 1998-11-27 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005126511A Division JP4246176B2 (ja) 2005-04-25 2005-04-25 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JP2000163372A true JP2000163372A (ja) 2000-06-16
JP4094752B2 JP4094752B2 (ja) 2008-06-04

Family

ID=18301894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33669998A Expired - Fee Related JP4094752B2 (ja) 1998-11-27 1998-11-27 トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Country Status (2)

Country Link
US (1) US6578159B1 (ja)
JP (1) JP4094752B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242313A (ja) * 2002-02-18 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体
JP2006072450A (ja) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp 情報処理システム及び情報処理方法及び情報処理プログラム
JP2007501455A (ja) * 2003-08-01 2007-01-25 オラクル・インターナショナル・コーポレイション 非故障ノードによる並列な回復
JP2010534891A (ja) * 2007-07-26 2010-11-11 アビニシオ テクノロジー エルエルシー エラーハンドリングをもつトランザクションのグラフ型計算
JP2011526014A (ja) * 2008-06-17 2011-09-29 アティヴィオ,インコーポレイテッド 順序メッセージ処理
JP2013246754A (ja) * 2012-05-29 2013-12-09 Mizuho Information & Research Institute Inc 取引管理システム、取引管理方法及び取引管理プログラム
JP2013246753A (ja) * 2012-05-29 2013-12-09 Mizuho Information & Research Institute Inc 連携処理管理システム、連携処理管理方法及び連携処理管理プログラム
US8875155B2 (en) 2010-10-15 2014-10-28 Attivio, Inc. Ordered processing of groups of messages
JP2016129056A (ja) * 2009-07-14 2016-07-14 アビニシオ テクノロジー エルエルシー フォールトトレラントバッチ処理
JP2017041222A (ja) * 2015-08-19 2017-02-23 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038911A1 (en) * 1999-04-30 2005-02-17 Yoshikuni Watanabe Cooperative system and method therefor
US6918053B1 (en) * 2000-04-28 2005-07-12 Microsoft Corporation Compensation framework for long running transactions
US7143128B1 (en) * 2000-06-08 2006-11-28 International Business Machines Corporation Interactive data processor controlled display interface for tracking of allocated messages in a dynamic workload balancing communication system
US20020147624A1 (en) * 2000-12-12 2002-10-10 Kabushiki Kaisha Toshiba System of supporting development of business process
US7657590B2 (en) * 2001-02-07 2010-02-02 Ubs Ag Load balancing system and method
US7412520B2 (en) 2001-06-07 2008-08-12 Intel Corporation Systems and methods for recoverable workflow
US7454751B2 (en) * 2001-06-07 2008-11-18 Intel Corporation Fault-tolerant system and methods with trusted message acknowledgement
JP2005521112A (ja) 2001-07-06 2005-07-14 コンピュータ アソシエイツ シンク,インコーポレイテッド 情報バックアップシステム及び方法
US7873716B2 (en) * 2003-06-27 2011-01-18 Oracle International Corporation Method and apparatus for supporting service enablers via service request composition
US20050144617A1 (en) * 2003-12-06 2005-06-30 International Business Machines Corporation Automatic configuration of reinstall information
US8321498B2 (en) * 2005-03-01 2012-11-27 Oracle International Corporation Policy interface description framework
US8073810B2 (en) * 2007-10-29 2011-12-06 Oracle International Corporation Shared view of customers across business support systems (BSS) and a service delivery platform (SDP)
US9245236B2 (en) 2006-02-16 2016-01-26 Oracle International Corporation Factorization of concerns to build a SDP (service delivery platform)
US7860490B2 (en) * 2004-12-01 2010-12-28 Oracle International Corporation Methods and systems for exposing access network capabilities using an enabler proxy
US9565297B2 (en) 2004-05-28 2017-02-07 Oracle International Corporation True convergence with end to end identity management
US8458703B2 (en) 2008-06-26 2013-06-04 Oracle International Corporation Application requesting management function based on metadata for managing enabler or dependency
US8966498B2 (en) 2008-01-24 2015-02-24 Oracle International Corporation Integrating operational and business support systems with a service delivery platform
US9038082B2 (en) 2004-05-28 2015-05-19 Oracle International Corporation Resource abstraction via enabler and metadata
US8032920B2 (en) * 2004-12-27 2011-10-04 Oracle International Corporation Policies as workflows
US7949551B2 (en) * 2005-04-06 2011-05-24 International Business Machines Corporation Processing of compensation scopes in workflow management systems
US8230423B2 (en) * 2005-04-07 2012-07-24 International Business Machines Corporation Multithreaded processor architecture with operational latency hiding
US7765186B1 (en) 2005-04-13 2010-07-27 Progress Software Corporation Update-anywhere replication of distributed systems
US7426653B2 (en) * 2005-04-13 2008-09-16 Progress Software Corporation Fault tolerant distributed lock management
US8280867B2 (en) * 2005-10-20 2012-10-02 Teradata Us, Inc. Identifying database request sources
US7475275B2 (en) * 2005-10-27 2009-01-06 International Business Machines Corporation Method for fault handling in a co-operative workflow environment
US20070168720A1 (en) * 2005-11-30 2007-07-19 Oracle International Corporation Method and apparatus for providing fault tolerance in a collaboration environment
US7610512B2 (en) * 2006-01-06 2009-10-27 Hewlett-Packard Development Company, L.P. System and method for automated and assisted resolution of it incidents
US8024734B2 (en) * 2006-03-23 2011-09-20 Oracle International Corporation Enabling a designer to specify workflows to process various results of execution of transactions
US8914493B2 (en) 2008-03-10 2014-12-16 Oracle International Corporation Presence-based event driven architecture
DE102006051189A1 (de) * 2006-10-30 2008-05-08 Siemens Ag Verfahren und System zum Ausführen und Konfigurieren von Applikationen abhängig von einer Einsatzumgebung
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US8214503B2 (en) 2007-03-23 2012-07-03 Oracle International Corporation Factoring out dialog control and call control
US8539097B2 (en) 2007-11-14 2013-09-17 Oracle International Corporation Intelligent message processing
US8161171B2 (en) 2007-11-20 2012-04-17 Oracle International Corporation Session initiation protocol-based internet protocol television
JP5145910B2 (ja) * 2007-12-07 2013-02-20 富士通株式会社 情報処理装置及び情報処理方法
US9654515B2 (en) 2008-01-23 2017-05-16 Oracle International Corporation Service oriented architecture-based SCIM platform
US8589338B2 (en) * 2008-01-24 2013-11-19 Oracle International Corporation Service-oriented architecture (SOA) management of data repository
US8401022B2 (en) * 2008-02-08 2013-03-19 Oracle International Corporation Pragmatic approaches to IMS
US10819530B2 (en) 2008-08-21 2020-10-27 Oracle International Corporation Charging enabler
TW201032535A (en) * 2008-10-14 2010-09-01 Ibm A method of handling a message
US8879547B2 (en) 2009-06-02 2014-11-04 Oracle International Corporation Telephony application services
JP4846012B2 (ja) * 2009-10-05 2011-12-28 株式会社日立製作所 業務フロー検索システム、業務フロー検索方法、および業務フロー検索プログラム
US8583830B2 (en) * 2009-11-19 2013-11-12 Oracle International Corporation Inter-working with a walled garden floor-controlled system
US9269060B2 (en) 2009-11-20 2016-02-23 Oracle International Corporation Methods and systems for generating metadata describing dependencies for composable elements
US8533773B2 (en) 2009-11-20 2013-09-10 Oracle International Corporation Methods and systems for implementing service level consolidated user information management
US9503407B2 (en) 2009-12-16 2016-11-22 Oracle International Corporation Message forwarding
US9509790B2 (en) 2009-12-16 2016-11-29 Oracle International Corporation Global presence
US8103905B2 (en) * 2010-03-12 2012-01-24 Microsoft Corporation Detecting and recovering from process failures
US20140310183A1 (en) * 2013-04-15 2014-10-16 Lance Weber Embedded acceptance system
JP6289214B2 (ja) * 2014-03-31 2018-03-07 三菱プレシジョン株式会社 情報処理システム及びその方法
US20190005082A1 (en) * 2017-07-03 2019-01-03 Infosys Limited Method and system for committing group atomic transaction in non-relational database

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667039B2 (ja) * 1990-05-18 1997-10-22 株式会社東芝 データ管理システムおよびデータ管理方法
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
US5832203A (en) * 1995-01-23 1998-11-03 Tandem Computers Incorporated Method for providing recovery from a failure in a system utilizing distributed audit
US5850507A (en) * 1996-03-19 1998-12-15 Oracle Corporation Method and apparatus for improved transaction recovery
JP3672208B2 (ja) * 1996-07-02 2005-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層化トランザクション処理方法
US5878206A (en) * 1997-03-25 1999-03-02 Hewlett-Packard Company Commit scope control in hierarchical information processes
US5940839A (en) * 1997-04-04 1999-08-17 Hewlett-Packard Company Fault-tolerant system and method of managing transaction failures in hierarchies
US5983215A (en) * 1997-05-08 1999-11-09 The Trustees Of Columbia University In The City Of New York System and method for performing joins and self-joins in a database system
US6185577B1 (en) * 1998-06-23 2001-02-06 Oracle Corporation Method and apparatus for incremental undo
US6295610B1 (en) * 1998-09-17 2001-09-25 Oracle Corporation Recovering resources in parallel
GB2343020A (en) * 1998-10-19 2000-04-26 Ibm Handling transaction failures in a transaction processing system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242313A (ja) * 2002-02-18 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体
JP2007501455A (ja) * 2003-08-01 2007-01-25 オラクル・インターナショナル・コーポレイション 非故障ノードによる並列な回復
JP2006072450A (ja) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp 情報処理システム及び情報処理方法及び情報処理プログラム
JP4575088B2 (ja) * 2004-08-31 2010-11-04 三菱電機株式会社 情報処理システム及び情報処理方法及び情報処理プログラム
JP2010534891A (ja) * 2007-07-26 2010-11-11 アビニシオ テクノロジー エルエルシー エラーハンドリングをもつトランザクションのグラフ型計算
JP2014130647A (ja) * 2007-07-26 2014-07-10 Ab Initio Technology Llc エラーハンドリングをもつトランザクションのグラフ型計算
JP2011526014A (ja) * 2008-06-17 2011-09-29 アティヴィオ,インコーポレイテッド 順序メッセージ処理
US9009235B2 (en) 2008-06-17 2015-04-14 Attivio, Inc. Ordered message processing
JP2016129056A (ja) * 2009-07-14 2016-07-14 アビニシオ テクノロジー エルエルシー フォールトトレラントバッチ処理
US8875155B2 (en) 2010-10-15 2014-10-28 Attivio, Inc. Ordered processing of groups of messages
JP2013246753A (ja) * 2012-05-29 2013-12-09 Mizuho Information & Research Institute Inc 連携処理管理システム、連携処理管理方法及び連携処理管理プログラム
JP2013246754A (ja) * 2012-05-29 2013-12-09 Mizuho Information & Research Institute Inc 取引管理システム、取引管理方法及び取引管理プログラム
JP2017041222A (ja) * 2015-08-19 2017-02-23 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法

Also Published As

Publication number Publication date
US6578159B1 (en) 2003-06-10
JP4094752B2 (ja) 2008-06-04

Similar Documents

Publication Publication Date Title
JP2000163372A (ja) トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP4246176B2 (ja) トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US7475275B2 (en) Method for fault handling in a co-operative workflow environment
US20030187995A1 (en) Efficient server handling of multiple requests from a web browser
US5546541A (en) System for routing transaction commands to an external resource manager when the target resource is not managed by the local transaction managing computer program
US20140157276A1 (en) Distributed transaction routing
JPH0535903B2 (ja)
JPH06202996A (ja) 加入者分散2相コミット・プロトコルの拡張機能
CN110716793B (zh) 一种分布式事务的执行方法、装置、设备及存储介质
US20040249921A1 (en) System, method and program for coordinating timeouts for distributed servers
CN108415757A (zh) 分布式事务处理方法及装置
KR20140047230A (ko) 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템
CN102413166A (zh) 分布式交易方法及其系统
US5613133A (en) Microcode loading with continued program execution
CN112596801A (zh) 事务处理方法、装置、设备、存储介质、数据库
JP2002099510A (ja) 複数トランザクション処理システム
JPH0628322A (ja) 情報処理装置
JPH1069467A (ja) 分散計算機システムにおけるサーバのデータアクセス方式
CN112732530B (zh) 一种lvs运维控制系统、方法和装置
JPH04213126A (ja) ソフトウェアテスト方式
JPH09167097A (ja) リモート・プロシジャ・コールシステム
JPH11110365A (ja) ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法
US7752254B2 (en) Propagating contexts between a first and second system
JPH10105420A (ja) リモートプロシジャコール処理方式
JPH08115244A (ja) 分散トランザクション処理システム及びトランザクション制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050926

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080306

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

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 3

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: 20110314

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120314

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130314

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees