JP3463020B2 - ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体 - Google Patents

ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体

Info

Publication number
JP3463020B2
JP3463020B2 JP2000178668A JP2000178668A JP3463020B2 JP 3463020 B2 JP3463020 B2 JP 3463020B2 JP 2000178668 A JP2000178668 A JP 2000178668A JP 2000178668 A JP2000178668 A JP 2000178668A JP 3463020 B2 JP3463020 B2 JP 3463020B2
Authority
JP
Japan
Prior art keywords
scenario
data object
activity
execution
instance
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.)
Expired - Lifetime
Application number
JP2000178668A
Other languages
English (en)
Other versions
JP2001356946A (ja
Inventor
隆 畑島
敏浩 元田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000178668A priority Critical patent/JP3463020B2/ja
Publication of JP2001356946A publication Critical patent/JP2001356946A/ja
Application granted granted Critical
Publication of JP3463020B2 publication Critical patent/JP3463020B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子計算機上に実
現されるワークフロー実行方法および装置に関し、更に
詳しくは、ワークフローを記述したシナリオを解釈して
得られた実行順序に従ってアクティビティを実行するワ
ークフロー実行方法および装置とワークフロー実行プロ
グラムを記録した記録媒体に関する。
【0002】
【従来の技術】ワークフローシステムは、従来、図5に
示すように、ワークフローを記述したシナリオ1をシナ
リオ実行機能部3で解釈して得られた実行順序に従って
アクティビティ11を実行している。そして、この実行
中におけるシナリオ実行機能部3における実行状態を実
行状態保存データベース21に記録するとともに、実行
結果を実行結果保存データベース23に記録するように
している。
【0003】このようなワークフローシステムにおい
て、障害回復機能は重要な機能である。これは、当該シ
ステムにおいてワークフローを記述したシナリオを実行
中に障害が発生した場合でも、処理したデータに対して
一貫性の保証を行うものである。
【0004】従来の技術では、システムの運用監視ツー
ルとして実装されており、システムの障害情報を検知
し、担当者への通知や、担当者による対応状況の管理や
処置履歴の保存、およびデータベースのロールバック処
理により実現している。ロールバックとは処理において
障害が発生した際に、状態をトランザクション開始時点
の状態に戻す障害回復操作である。
【0005】障害の発生した処理を完了させるには、再
度シナリオを実行し、そこに記述されている実行すべき
アクティビティのすべてが再度実行されることが必要と
なる。
【0006】ワークフローシステムに対する障害対応製
品としては、HP社のOpen Viewや日立製作所のJP1
などのシステム管理ツールと、Remedy Corporation社の
AR Systemなどに内包するトラブルチケット通知機能や
トラッキング機能との連携などが挙げられるが、これら
は障害の担当者への通知や、データベースのロールバッ
クを行うのみである。
【0007】
【発明が解決しようとする課題】上述したように、従来
は、障害の発生を単に担当者に通知するのみであった
り、データベースのロールバックを行うのみであった
り、また障害の復旧を通知するのみであり、実際の障害
復旧作業は担当者の作業に依存しているという問題があ
る。
【0008】そして、データベースのロールバック処理
においては、処理に必要なデータなどの環境が処理の契
機に依存しないアクティビティや、正常終了した処理ま
でもロールバックにより処理を取り消した上に再実行す
るというワークフロー実行資源の無駄が発生する。ま
た、データベースにおいてロールバックが不可能な処理
においてシナリオ実行前への復旧やシナリオ実行完了状
態までの処理はロールフォワード処理や手動で行ってい
るという問題がある。なお、ロールフォワード処理は、
処理履歴や処理データのバックアップファイルやワーク
フロー内に指定したチェックポイントまでの保存データ
を用いて障害発生以前の環境を復元し、更新処理を進め
ることである。
【0009】本発明は、上記に鑑みてなされたもので、
その目的とするところは、シナリオ実行途中に障害が発
生した場合でも処理データに対して一貫性をもってシナ
リオの再実行を可能とするワークフロー実行方法および
装置とワークフロー実行プログラムを記録した記録媒体
を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の本発明は、電子計算機上においてワ
ークフローを記述したシナリオに従ってアクティビティ
を実行するワークフロー実行方法であって、アクティビ
ティの実行順序関係、アクティビティに入出力されるデ
ータの組、およびデータのうちシナリオ実行後も保存す
るデータの組が記述されたシナリオを解釈して得られた
実行順序に従ってアクティビティを実行し、このアクテ
ィビティの実行時に前記シナリオのシナリオIDおよび
同一シナリオIDのシナリオ実行を一意に特定するシナ
リオインスタンスIDに対応して該シナリオインスタン
スの実行状態を表すシナリオステータスを組にしてシナ
リオステータス管理手段に格納し、前記アクティビティ
に入出力されるデータのうちシナリオにおいて保存が必
要であると指定されたデータオブジェクトをデータオブ
ジェクトIDと組にしてデータオブジェクト管理手段に
格納し、前記データオブジェクトのデータオブジェクト
IDをシナリオインスタンスIDおよびアクティビティ
IDと組にしてシナリオトランザクション管理手段に格
納し、シナリオ実行中に障害を検知した場合、アクティ
ビティをシナリオに記述された内容に従って処理し、前
記シナリオステータス管理手段のシナリオステータスカ
ラムを更新して未完終了フラグを設定し、シナリオの再
実行時には新規シナリオインスタンスIDを発行し前記
未完終了フラグが設定されているシナリオステータス管
理手段のシナリオインスタンスIDを取得し、この取得
したシナリオインスタンスIDをキーに前記シナリオト
ランザクション管理手段および前記データオブジェクト
管理手段を検索して、保存されているデータオブジェク
トを取得し、このデータオブジェクトに付与されている
データオブジェクトIDを新たなシナリオインスタンス
IDに関連付けて採番される新しいデータオブジェクト
IDに書き換えてシナリオを再実行することを要旨とす
る。
【0011】請求項1記載の本発明にあっては、シナリ
オを解釈して得られた実行順序に従ったアクティビティ
の実行時にシナリオインスタンスの実行状態を表すシナ
リオステータスをシナリオステータス管理手段に格納
し、保存が必要であると指定されたデータオブジェクト
をデータオブジェクトIDと組にしてデータオブジェク
ト管理手段に格納し、データオブジェクトID、シナリ
オインスタンスIDおよびアクティビティIDと組にし
てシナリオトランザクション管理手段に格納し、シナリ
オの実行中に障害を検知した場合、アクティビティをシ
ナリオに記述された内容に従って処理し、シナリオステ
ータス管理手段のシナリオステータスカラムを更新して
未完終了フラグを設定し、シナリオの再実行時には新規
シナリオインスタンスIDを発行し、未完終了フラグが
設定されているシナリオステータス管理手段のシナリオ
インスタンスIDを取得し、この取得したシナリオイン
スタンスIDをキーにシナリオトランザクション管理手
段およびデータオブジェクト管理手段を検索して、保存
されているデータオブジェクトを取得し、このデータオ
ブジェクトに付与されているデータオブジェクトIDを
新たなシナリオインスタンスIDに関連付けて採番され
る新しいデータオブジェクトIDに書き換えてシナリオ
を再実行するため、データオブジェクトを再利用でき、
データオブジェクトの作成のための計算コストを削減で
きるとともに、障害発生時に最低限保存すべきデータを
明示的に指定し、障害復旧時に不足するデータの認知お
よび再実行時の自動処理が可能となり、フォールトトレ
ラント性に優れたワークフローシステムを構築すること
ができる。
【0012】また、請求項2記載の本発明は、電子計算
機上においてワークフローを記述したシナリオに従って
アクティビティを実行するワークフロー実行装置であっ
て、アクティビティの実行順序関係、アクティビティに
入出力されるデータの組、およびデータのうちシナリオ
実行後も保存するデータの組が記述されたシナリオを解
釈して得られた実行順序に従ってアクティビティを実行
するシナリオ実行手段と、前記シナリオ実行手段による
アクティビティの実行時に前記シナリオのシナリオID
およびシナリオインスタンスIDに対応して該シナリオ
インスタンスの実行状態を表すシナリオステータスを組
にして格納するシナリオステータス管理手段と、前記ア
クティビティに入出力されるデータのうちシナリオにお
いて保存が必要であると指定されたデータオブジェクト
をデータオブジェクトIDと組にして格納するデータオ
ブジェクト管理手段と、前記データオブジェクトのデー
タオブジェクトIDをシナリオインスタンスIDおよび
アクティビティIDと組にして格納するシナリオトラン
ザクション管理手段と、シナリオの実行中に障害を検知
した場合、アクティビティをシナリオに記述された内容
に従って処理し、前記シナリオステータス管理手段のシ
ナリオステータスカラムを更新して未完終了フラグを設
定する未完終了フラグ設定手段と、シナリオの再実行時
には新規シナリオインスタンスIDを発行し、前記未完
終了フラグが設定されているシナリオステータス管理手
段のシナリオインスタンスIDを取得し、この取得した
シナリオインスタンスIDをキーに前記シナリオトラン
ザクション管理手段および前記データオブジェクト管理
手段を検索して、保存されているデータオブジェクトを
取得し、このデータオブジェクトに付与されているデー
タオブジェクトIDを新たなシナリオインスタンスID
に関連付けて採番される新しいデータオブジェクトID
書き換えてシナリオを再実行する再実行手段とを有す
ることを要旨とする。
【0013】請求項2記載の本発明にあっては、シナリ
オを解釈して得られた実行順序に従ったアクティビティ
の実行時にシナリオインスタンスの実行状態を表すシナ
リオステータスをシナリオステータス管理手段に格納
し、保存が必要であると指定されたデータオブジェクト
をデータオブジェクトIDと組にしてデータオブジェク
ト管理手段に格納し、データオブジェクトID、シナリ
オインスタンスIDおよびアクティビティIDと組にし
てシナリオトランザクション管理手段に格納し、シナリ
オの実行中に障害を検知した場合、アクティビティをシ
ナリオに記述された内容に従って処理し、シナリオステ
ータス管理手段のシナリオステータスカラムを更新して
未完終了フラグを設定し、シナリオの再実行時には未完
終了フラグが設定されているシナリオステータス管理手
段のシナリオインスタンスIDを取得し、このシナリオ
インスタンスIDをキーにシナリオトランザクション管
理手段およびデータオブジェクト管理手段を検索して、
保存されているデータオブジェクトを取得し、この取得
したデータオブジェクトに付与されているデータオブジ
ェクトIDを新たなシナリオインスタンスIDに関連付
けて採番される新しいデータオブジェクトIDに書き換
えてシナリオを再実行するため、データオブジェクトを
再利用でき、データオブジェクトの作成のための計算コ
ストを削減できるとともに、障害発生時に最低限保存す
べきデータを明示的に指定し、障害復旧時に不足するデ
ータの認知および再実行時の自動処理が可能となり、フ
ォールトトレラント性に優れたワークフローシステムを
構築することができる。
【0014】更に、請求項3記載の本発明は、電子計算
機上においてワークフローを記述したシナリオに従って
アクティビティを実行するワークフロー実行プログラム
を記録した記録媒体であって、アクティビティの実行順
序関係、アクティビティに入出力されるデータの組、お
よびデータのうちシナリオ実行後も保存するデータの組
が記述されたシナリオを解釈して得られた実行順序に従
ってアクティビティを実行し、このアクティビティの実
行時に前記シナリオのシナリオIDおよびシナリオイン
スタンスIDに対応して該シナリオインスタンスの実行
状態を表すシナリオステータスを組にしてシナリオステ
ータス管理手段に格納し、前記アクティビティに入出力
されるデータのうちシナリオにおいて保存が必要である
と指定されたデータオブジェクトをデータオブジェクト
IDと組にしてデータオブジェクト管理手段に格納し、
前記データオブジェクトのデータオブジェクトIDをシ
ナリオインスタンスIDおよびアクティビティIDと組
にしてシナリオトランザクション管理手段に格納し、シ
ナリオの実行中に障害を検知した場合、アクティビティ
をシナリオに記述された内容に従って処理し、前記シナ
リオステータス管理手段のシナリオステータスカラムを
更新して未完終了フラグを設定し、シナリオの再実行時
には新規シナリオインスタンスIDを発行し、前記未完
終了フラグが設定されているシナリオステータス管理手
段のシナリオインスタンスIDを取得し、この取得した
シナリオインスタンスIDをキーに前記シナリオトラン
ザクション管理手段および前記データオブジェクト管理
手段を検索して、保存されているデータオブジェクトを
取得し、このデータオブジェクトに付与されているデー
タオブジェクトIDを新たなシナリオインスタンスID
に関連付けて採番される新しいデータオブジェクトID
書き換えてシナリオを再実行するワークフロー実行プ
ログラムを記録媒体に記録することを要旨とする。
【0015】請求項3記載の本発明にあっては、シナリ
オを解釈して得られた実行順序に従ったアクティビティ
の実行時にシナリオインスタンスの実行状態を表すシナ
リオステータスをシナリオステータス管理手段に格納
し、保存が必要であると指定されたデータオブジェクト
をデータオブジェクトIDと組にしてデータオブジェク
ト管理手段に格納し、データオブジェクトID、シナリ
オインスタンスIDおよびアクティビティIDと組にし
てシナリオトランザクション管理手段に格納し、シナリ
オの実行中に障害を検知した場合、アクティビティをシ
ナリオに記述された内容に従って処理し、シナリオステ
ータス管理手段のシナリオステータスカラムを更新して
未完終了フラグを設定し、シナリオの再実行時には新規
シナリオインスタンスIDを発行し、未完終了フラグが
設定されているシナリオステータス管理手段のシナリオ
インスタンスIDを取得し、この取得したシナリオイン
スタンスIDをキーにシナリオトランザクション管理手
段およびデータオブジェクト管理手段を検索して、保存
されているデータオブジェクトを取得し、このデータオ
ブジェクトに付与されているデータオブジェクトIDを
新たなシナリオインスタンスIDに関連付けて採番され
る新しいデータオブジェクトIDに書き換えてシナリオ
を再実行するワークフロー実行プログラムを記録媒体に
記録しているため、該記録媒体を用いて、その流通性を
高めることができる。
【0016】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。図1は、本発明の一実施形態に係る
ワークフロー実行装置の構成を示す図である。同図に示
すワークフロー実行装置は、ワークフローを記述したシ
ナリオ1を解釈して得られた実行順序に従ってアクティ
ビティ11を実行するシナリオ実行機能部3と、シナリ
オステータス管理部71を含有していて、シナリオ実行
機能部3からのシナリオインスタンスIDの発行依頼に
対してシナリオインスタンスIDをシナリオ実行機能部
3に発行するとともに、該シナリオインスタンスIDと
アクティビティの実行状態を管理するシナリオ実行状態
管理機能部7と、データオブジェクト管理部91および
シナリオトランザクション管理部93を含有していて、
アクティビティデータを管理するアクティビティデータ
管理機能部9とから構成されている。なお、シナリオ実
行状態管理機能部7とアクティビティデータ管理機能部
9は、データ管理機能部5を構成している。
【0017】シナリオ1には、アクティビティ11の実
行順序関係、アクティビティに入力出されるデータの
組、およびデータのうちシナリオ実行後も保存するデー
タの組が記述されている。また、アクティビティ11は
Javaなどのプログラミング言語を用いて任意に記述
され、その実行には必要なデータと実行の結果得られる
出力データの組が記述されたシナリオ1を解釈すること
によりシナリオ実行機能部3が行い、得られるデータは
アクティビティデータ管理機能部9のデータオブジェク
ト管理部91に保管される。データオブジェクト管理部
91は、データオブジェクトをデータオブジェクトID
に対応して組にして1レコードとして格納しており、ア
クティビティに入出力されるデータのうちシナリオにお
いて保存が必要とされたデータのみを格納している。
【0018】シナリオ実行機能部3は、シナリオ実行状
態管理機能部7に対してシナリオインスタンスIDの発
行を依頼して、シナリオインスタンスIDをシナリオ実
行状態管理機能部7から取得した後、シナリオ1を解釈
することにより得られた実行順序に従ってアクティビテ
ィ11を実行する。この実行したアクティビティ11の
実行状態がシナリオステータスとしてシナリオインスタ
ンスIDに対応してシナリオステータス管理部71に蓄
積管理される。具体的には、シナリオ1に付与されたシ
ナリオIDおよびシナリオインスタンスIDは、シナリ
オインスタンスの実行状態を表すシナリオステータスと
組にされ、1レコードとしてシナリオステータス管理部
71に蓄積される。
【0019】アクティビティデータ管理機能部9のシナ
リオトランザクション管理部93には、シナリオインス
タンスID、アクティビティID、およびデータオブジ
ェクトIDが組にされ、1レコードとして蓄積されてい
る。データオブジェクトIDは、アクティビティに入出
力されるデータのうちシナリオにおいて保存が必要なデ
ータのみに付与される。アクティビティIDは、アクテ
ィビティを一意に指定可能にするために付与されてい
る。
【0020】シナリオの再実行時には、初回実行時と同
一のシナリオをシナリオ実行機能部3に投入することに
より初回実行時のシナリオインスタンスIDと関連付け
られたシナリオインスタンスIDが新規発行されるとと
もに、保管されたデータを基に必要最小限のアクティビ
ティの実行シナリオが生成される。
【0021】また、アクティビティデータ管理機能部9
への初回実行時のデータオブジェクトIDを持ったデー
タオブジェクトの問い合わせの結果得られたデータを再
実行時に利用し、アクティビティ再実行の結果得られた
データオブジェクトに再実行時のシナリオインスタンス
IDと関連付けたデータオブジェクトIDを割り当て
る。
【0022】次に、図2、図3および図4に示すシーケ
ンス図を参照して、図1に示した実施形態のワークフロ
ー実行装置の動作をそれぞれ正常実行時、異常発生時、
再実行時に分けて説明する。
【0023】まず、図2を参照して、本実施形態の正常
実行時の動作について説明する。
【0024】シナリオ1には、上述したように、アクテ
ィビティの実行順序関係、アクティビティに入出力され
るデータの組、およびデータのうちシナリオ実行後も保
存するデータの組が記述されていて、シナリオ1は一意
に特定できるシナリオIDを有する。
【0025】図2のシナリオ実行初期動作では、シナリ
オ1は、シナリオ実行機能部3に入力されると、該シナ
リオ実行機能部3により解釈されて、アクティビティの
実行順序を決定される。また、シナリオ実行機能部3
は、シナリオ1を入力されると、シナリオ実行状態管理
機能部7に対して該シナリオ1のシナリオインスタンス
IDの発行を依頼し、シナリオ実行タイミングを一意に
特定可能なシナリオインスタンスIDがシナリオ1に対
して付与される。
【0026】シナリオ実行機能部3に入力されたシナリ
オ1に付与されたシナリオIDとシナリオインスタンス
IDは、シナリオインスタンスの実行状態を表すシナリ
オステータスを組にされて、1レコードとしてシナリオ
ステータス管理部71に格納される。
【0027】シナリオ1がシナリオ実行機能部3で解釈
されて得られた実行順序に従ってアクティビティ11が
実行されると、シナリオステータス管理部71の当該レ
コードのシナリオステータスが更新される。
【0028】シナリオ実行機能部3によるシナリオ1の
実行により起動されるアクティビティ11の入出力に使
用されるデータオブジェクトは、アクティビティデータ
管理機能部9のデータオブジェクト管理部91およびシ
ナリオトランザクション管理部93に格納される。
【0029】シナリオ実行機能部3によるアクティビテ
ィ11の実行において、アクティビティに入出力される
データのうちシナリオ実行後も保存が必要なデータは、
アクティビティデータ管理機能部9のデータオブジェク
ト管理部91にデータオブジェクトとしてデータオブジ
ェクトIDと組にされて格納されるとともに、またこの
データオブジェクトIDはシナリオトランザクション管
理部93にシナリオインスタンスID、アクティビティ
IDと組にされて格納される。
【0030】そして、アクティビティの実行が完了する
と、アクティビティ実行完了通知がシナリオ実行機能部
3に送られる。シナリオ実行機能部3は、この通知を受
けると、シナリオ実行状態管理機能部7のシナリオステ
ータス管理部71の当該レコードのシナリオステータス
を更新する。シナリオステータス管理部71の更新が完
了すると、シナリオ実行機能部3に実行状態更新完了通
知が送られる。このようにして、シナリオ1に記述され
たアクティビティの実行がすべて完了した時、シナリオ
ステータス管理部71のシナリオステータスカラムを更
新し、完了フラグを設定する。
【0031】また、シナリオ実行機能部3によるアクテ
ィビティ11の実行において、アクティビティに入出力
されるデータのうちシナリオ実行後、保存が不要なデー
タの場合には、データオブジェクト管理部91に格納さ
れることなく、またデータオブジェクトIDもシナリオ
トランザクション管理部93に格納されることなく、ア
クティビティ実行完了通知がシナリオ実行機能部3に送
られる。シナリオ実行機能部3は、この通知を受ける
と、シナリオステータス管理部71の当該レコードのシ
ナリオステータスを更新し、実行状態更新完了通知を受
け取る。そして、シナリオ1に記述されたアクティビテ
ィの実行がすべて完了した時、シナリオステータス管理
部71のシナリオステータスカラムを更新し、完了フラ
グを設定する。
【0032】次に、図3に示すシーケンス図を参照し
て、本実施形態においてシナリオ実行中に異常を検知し
た場合である障害発生時の動作について説明する。
【0033】シナリオ実行機能部3は、シナリオ1に従
ってアクティビティ11を実行している最中に、アクテ
ィビティ11からの異常通知を検知して、障害の発生を
検出すると、シナリオ実行状態管理機能部7に障害情報
を通知し、シナリオ実行状態管理機能部7にアクティビ
ティ11をシナリオ1に記述された内容に従って処理
し、それからシナリオステータス管理部71のシナリオ
ステータスカラムを更新し、未完終了フラグを設定す
る。なお、シナリオに記述された未完終了状態まで処理
を進行できない場合には、異常終了フラグを設定する
が、この場合の復旧処理は従来と同様に担当者の手作業
で行われる。
【0034】更に詳しくは、シナリオ実行機能部3は、
アクティビティ11からの異常通知を検知すると、シナ
リオ実行状態管理機能部7への障害情報を通知すること
に加えて、アクティビティ11に対して復旧操作を実行
する。アクティビティ11はアクティビティデータ管理
機能部9のデータオブジェクト管理部91およびシナリ
オトランザクション管理部93にデータを保存する。ア
クティビティデータ管理機能部9はデータを保存する
と、データ保存完了通知をシナリオ実行機能部3に送
る。
【0035】シナリオ実行機能部3は、アクティビティ
データ管理機能部9からデータ保存完了通知を受ける
と、シナリオ実行状態管理機能部7に実行中のアクティ
ビティの状態をシナリオ1に記述された内容に従って行
って、シナリオの終了処理を行い、シナリオステータス
管理部71のシナリオステータスカラムを更新し、未完
終了フラグを設定する。そして、シナリオ実行状態管理
機能部7は、実行状態の更新およびフラグの設定を完了
すると、実行状態更新完了通知をシナリオ実行機能部3
に返送する。
【0036】次に、図4に示すシーケンス図を参照し
て、本実施形態におけるシナリオ再実行時の動作につい
て説明する。
【0037】まず、シナリオ再実行の初期動作では、シ
ナリオ実行機能部3は、シナリオ実行状態管理機能部7
に新規なシナリオインスタンスIDの発行依頼を行っ
て、再実行のために投入されたシナリオに対して新規に
シナリオインスタンスIDを付与し、再実行により取得
されるデータや、再実行の実行状態を初期実行時と区別
して管理する。また、シナリオ実行機能部3は、再投入
したユーザのユーザIDとシナリオIDをキーにしてシ
ナリオ実行状態管理機能部7のシナリオステータス管理
部71への問い合わせを行い、同一レコードのシナリオ
ステータスカラムにおいて未完終了フラグが設定されて
いるシナリオインスタンスIDを取得する。それから、
この取得したシナリオインスタンスIDをキーにしてデ
ータオブジェクト管理部91を検索し、このシナリオイ
ンスタンスIDに対応して保存されているデータオブジ
ェクトを取得する。
【0038】次に、この取得したデータオブジェクトを
用いて、未完了のアクティビティ11の再実行を行う
が、この再実行では、まずシナリオインスタンスIDに
関連付けて該データオブジェクトに付与されたデータオ
ブジェクトIDを新規発行したシナリオインスタンスI
Dに関連付けて採番される新しいデータオブジェクトI
Dに書き換える。それから、未完了のアクティビティ1
1の再実行を行うが、この再実行において、アクティビ
ティ実行後も保存が必要なデータは、データオブジェク
ト管理部91に格納されるとともに、また、シナリオト
ランザクション管理部93にシナリオインスタンスI
D、アクティビティIDと組にされて格納される。
【0039】そして、前記データオブジェクトを用いた
未完了のアクティビティの再実行が完了すると、アクテ
ィビティ実行完了通知がシナリオ実行機能部3に送られ
る。シナリオ実行機能部3は、この通知を受けると、シ
ナリオステータス管理部71の当該レコードのシナリオ
ステータスを更新する。シナリオステータス管理部71
の更新が完了すると、シナリオ実行機能部3に実行状態
更新完了通知が送られる。
【0040】また、未完了のアクティビティ11の再実
行において、アクティビティ実行後、保存が不要なデー
タの場合には、データオブジェクト管理部91に格納さ
れることなく、またデータオブジェクトIDもシナリオ
トランザクション管理部93に格納されることなく、ア
クティビティ実行完了通知がシナリオ実行機能部3に送
られる。シナリオ実行機能部3は、この通知を受ける
と、シナリオステータス管理部71の当該レコードのシ
ナリオステータスを更新し、実行状態更新完了通知を受
け取る。
【0041】上述した手順により、正常終了し、出力が
再利用可能であるアクティビティを再実行することな
く、シナリオを再実行することができるのである。
【0042】なお、上記実施形態のワークフロー実行方
法の処理手順をプログラムとして記録媒体に記録して、
この記録媒体をコンピュータシステムに組み込むととも
に、該記録媒体に記録されたプログラムをコンピュータ
システムにダウンロードまたはインストールし、該プロ
グラムでコンピュータシステムを作動させることによ
り、ワークフロー実行方法を実施するワークフロー実行
装置として機能させることができることは勿論であり、
このような記録媒体を用いることにより、その流通性を
高めることができるものである。
【0043】
【発明の効果】以上説明したように、本発明によれば、
アクティビティの実行時にシナリオインスタンスの実行
状態を表すシナリオステータスをシナリオステータス管
理手段に格納し、保存が必要であると指定されたデータ
オブジェクトをデータオブジェクトIDと組にしてデー
タオブジェクト管理手段に格納するとともに、データオ
ブジェクトID、シナリオインスタンスIDおよびアク
ティビティIDを組にしてシナリオトランザクション管
理手段に格納し、障害を検知した場合、実行中のアクテ
ィビティの状態をシナリオに記述された内容に従って終
了処理し、シナリオステータス管理手段のシナリオステ
ータスカラムを更新して未完終了フラグを設定し、シナ
リオの再実行時には未完終了フラグが設定されているシ
ナリオステータス管理手段のシナリオインスタンスID
を取得し、この取得したシナリオインスタンスIDをキ
ーにシナリオトランザクション管理手段およびデータオ
ブジェクト管理手段を検索して、保存されているデータ
オブジェクトを取得し、このデータオブジェクトに付与
されているデータオブジェクトIDを新たに発行したシ
ナリオインスタンスIDに関連付けて採番される新しい
データオブジェクトIDに書き換えてシナリオを再実行
するので、データオブジェクトを再利用でき、データオ
ブジェクトの作成のための計算コストを削減できるとと
もに、障害発生時に最低限保存すべきデータを明示的に
指定し、障害復旧時に不足するデータの認知および再実
行時の自動処理が可能となり、フォールトトレラント性
に優れたワークフローシステムを構築することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るワークフロー実行装
置の構成を示す図である。
【図2】図1に示すワークフロー実行装置の正常実行時
の動作を示すシーケンス図である。
【図3】図1に示すワークフロー実行装置の障害発生時
の動作を示すシーケンス図である。
【図4】図1に示すワークフロー実行装置のシナリオ再
実行時の動作を示すシーケンス図である。
【図5】従来のワークフローシステムの構成を示す図で
ある。
【符号の説明】
1 シナリオ 3 シナリオ実行機能部 5 データ管理機能部 7 シナリオ実行状態管理機能部 9 アクティビティデータ管理機能部 11 アクティビティ 71 シナリオステータス管理部 91 データオブジェクト管理部 93 シナリオトランザクション管理部
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 Alonso G. et al., Failure Handling i n Large Scale Work flow Management Sy stems,IBM Research Report RJ9913,米国,IB M Corp.,1994年11月 (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 17/60 G06F 11/14

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 電子計算機上においてワークフローを記
    述したシナリオに従ってアクティビティを実行するワー
    クフロー実行方法であって、 アクティビティの実行順序関係、アクティビティに入出
    力されるデータの組、およびデータのうちシナリオ実行
    後も保存するデータの組が記述されたシナリオを解釈し
    て得られた実行順序に従ってアクティビティを実行し、 このアクティビティの実行時に前記シナリオのシナリオ
    IDおよび同一シナリオIDのシナリオ実行を一意に特
    定するシナリオインスタンスIDに対応して該シナリオ
    インスタンスの実行状態を表すシナリオステータスを組
    にしてシナリオステータス管理手段に格納し、 前記アクティビティに入出力されるデータのうちシナリ
    オにおいて保存が必要であると指定されたデータオブジ
    ェクトをデータオブジェクトIDと組にしてデータオブ
    ジェクト管理手段に格納し、 前記データオブジェクトのデータオブジェクトIDをシ
    ナリオインスタンスIDおよびアクティビティIDと組
    にしてシナリオトランザクション管理手段に格納し、 シナリオの実行中に障害を検知した場合、アクティビテ
    ィをシナリオに記述された内容に従って処理し、前記シ
    ナリオステータス管理手段のシナリオステータスカラム
    を更新して未完終了フラグを設定し、 シナリオの再実行時には新規シナリオインスタンスID
    を発行し、前記未完終了フラグが設定されているシナリ
    オステータス管理手段のシナリオインスタンスIDを取
    得し、この取得したシナリオインスタンスIDをキーに
    前記シナリオトランザクション管理手段および前記デー
    タオブジェクト管理手段を検索して、保存されているデ
    ータオブジェクトを取得し、このデータオブジェクトに
    付与されているデータオブジェクトIDを新たなシナリ
    オインスタンスIDに関連付けて採番される新しいデー
    タオブジェクトIDに書き換えてシナリオを再実行する
    ことを特徴とするワークフロー実行方法。
  2. 【請求項2】 電子計算機上においてワークフローを記
    述したシナリオに従ってアクティビティを実行するワー
    クフロー実行装置であって、 アクティビティの実行順序関係、アクティビティに入出
    力されるデータの組、およびデータのうちシナリオ実行
    後も保存するデータの組が記述されたシナリオを解釈し
    て得られた実行順序に従ってアクティビティを実行する
    シナリオ実行手段と、 前記シナリオ実行手段によるアクティビティの実行時に
    前記シナリオのシナリオIDおよび同一シナリオIDの
    シナリオ実行を一意に特定するシナリオインスタンスI
    Dに対応して該シナリオインスタンスの実行状態を表す
    シナリオステータスを組にして格納するシナリオステー
    タス管理手段と、 前記アクティビティに入出力されるデータのうちシナリ
    オにおいて保存が必要であると指定されたデータオブジ
    ェクトをデータオブジェクトIDと組にして格納するデ
    ータオブジェクト管理手段と、 前記データオブジェクトのデータオブジェクトIDをシ
    ナリオインスタンスIDおよびアクティビティIDと組
    にして格納するシナリオトランザクション管理手段と、 シナリオの実行中に障害を検知した場合、アクティビテ
    ィをシナリオに記述された内容に従って処理し、前記シ
    ナリオステータス管理手段のシナリオステータスカラム
    を更新して未完終了フラグを設定する未完終了フラグ設
    定手段と、 シナリオの再実行時には新規シナリオインスタンスID
    を発行し、前記未完終了フラグが設定されているシナリ
    オステータス管理手段のシナリオインスタンスIDを取
    得し、この取得したシナリオインスタンスIDをキーに
    前記シナリオトランザクション管理手段および前記デー
    タオブジェクト管理手段を検索して、保存されているデ
    ータオブジェクトを取得し、このデータオブジェクトに
    付与されているデータオブジェクトIDを新たなシナリ
    オインスタンスIDに関連付けて採番される新しいデー
    タオブジェクトIDに書き換えてシナリオを再実行する
    再実行手段とを有することを特徴とするワークフロー実
    行装置。
  3. 【請求項3】 電子計算機上においてワークフローを記
    述したシナリオに従ってアクティビティを実行するワー
    クフロー実行プログラムを記録した記録媒体であって、 アクティビティの実行順序関係、アクティビティに入出
    力されるデータの組、およびデータのうちシナリオ実行
    後も保存するデータの組が記述されたシナリオを解釈し
    て得られた実行順序に従ってアクティビティを実行し、 このアクティビティの実行時に前記シナリオのシナリオ
    IDおよび同一シナリオIDのシナリオ実行を一意に特
    定するシナリオインスタンスIDに対応して該シナリオ
    インスタンスの実行状態を表すシナリオステータスを組
    にしてシナリオステータス管理手段に格納し、 前記アクティビティに入出力されるデータのうちシナリ
    オにおいて保存が必要であると指定されたデータオブジ
    ェクトをデータオブジェクトIDと組にしてデータオブ
    ジェクト管理手段に格納し、 前記データオブジェクトのデータオブジェクトIDをシ
    ナリオインスタンスIDおよびアクティビティIDと組
    にしてシナリオトランザクション管理手段に格納し、 シナリオの実行中に障害を検知した場合、アクティビテ
    ィをシナリオに記述された内容に従って処理し、前記シ
    ナリオステータス管理手段のシナリオステータスカラム
    を更新して未完終了フラグを設定し、 シナリオの再実行時には新規シナリオインスタンスID
    を発行し、前記未完終了フラグが設定されているシナリ
    オステータス管理手段のシナリオインスタンスIDを取
    得し、この取得したシナリオインスタンスIDをキーに
    前記シナリオトランザクション管理手段および前記デー
    タオブジェクト管理手段を検索して、保存されているデ
    ータオブジェクトを取得し、このデータオブジェクトに
    付与されているデータオブジェクトIDを新たなシナリ
    オインスタンスIDに関連付けて採番される新しいデー
    タオブジェクトIDに書き換えてシナリオを再実行する
    ことを特徴とするワークフロー実行プログラムを記録し
    た記録媒体。
JP2000178668A 2000-06-14 2000-06-14 ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体 Expired - Lifetime JP3463020B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000178668A JP3463020B2 (ja) 2000-06-14 2000-06-14 ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000178668A JP3463020B2 (ja) 2000-06-14 2000-06-14 ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2001356946A JP2001356946A (ja) 2001-12-26
JP3463020B2 true JP3463020B2 (ja) 2003-11-05

Family

ID=18680064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000178668A Expired - Lifetime JP3463020B2 (ja) 2000-06-14 2000-06-14 ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3463020B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477340B2 (en) 2019-01-18 2022-10-18 Fujifilm Business Innovation Corp. Information processing system and apparatus and non-transitory computer readable medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3960426B2 (ja) * 2003-02-28 2007-08-15 日本電信電話株式会社 マルチレイヤネットワークオペレーションサポートシステム、マルチレイヤネットワークサービスパス開通方法、処理プログラム及び該処理プログラムを記録した記録媒体
JP4039276B2 (ja) 2003-03-05 2008-01-30 富士ゼロックス株式会社 サービス処理システム及びプログラム
JP5128365B2 (ja) * 2008-05-09 2013-01-23 キヤノンソフトウェア株式会社 情報処理システム、情報処理方法、プログラム、及び、記録媒体
JP5473267B2 (ja) * 2008-07-14 2014-04-16 キヤノン株式会社 ワークフロー実行システム及びワークフロー実行方法
JP5598806B2 (ja) * 2008-11-28 2014-10-01 キヤノンItソリューションズ株式会社 情報処理装置及び情報処理方法、並びにプログラム
US8205113B2 (en) * 2009-07-14 2012-06-19 Ab Initio Technology Llc Fault tolerant batch processing
JP6233130B2 (ja) * 2014-03-25 2017-11-22 富士通株式会社 ワークフロー制御プログラム、ワークフロー制御方法、及びワークフローシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alonso G. et al.,Failure Handling in Large Scale Workflow Management Systems,IBM Research Report RJ9913,米国,IBM Corp.,1994年11月

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477340B2 (en) 2019-01-18 2022-10-18 Fujifilm Business Innovation Corp. Information processing system and apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP2001356946A (ja) 2001-12-26

Similar Documents

Publication Publication Date Title
EP0250847B1 (en) Managing log data in a transaction-oriented system
US6732123B1 (en) Database recovery to any point in time in an online environment utilizing disaster recovery technology
US5151987A (en) Recovery objects in an object oriented computing environment
US5333314A (en) Distributed data base system of composite subsystem type, and method of fault recovery for the system
JP4483342B2 (ja) システム復旧方法
JP4321705B2 (ja) スナップショットの取得を制御するための装置及び記憶システム
US8010831B1 (en) High availability data center
JPH0683689A (ja) 長時間運転トランザクション管理システムおよび長時間運転トランザクションを実行する方法
JPH0683841A (ja) 作業フロー管理システムと方法
JP3094888B2 (ja) 採番機構、データ整合性確認機構、トランザクション再実行機構及び分散トランザクション処理システム
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
JP3463020B2 (ja) ワークフロー実行方法および装置とワークフロー実行プログラムを記録した記録媒体
US7600148B1 (en) High-availability data center
WO1996041263A1 (en) Management of units of work on a computer system log
JP2010176303A (ja) バッチ処理システムおよびこれに用いる情報端末装置、バッチ処理のリカバリ方法
JP3135714B2 (ja) チェックポイントリスタート方式
US6092084A (en) One system of a multisystem environment taking over log entries owned by another system
US6076095A (en) Method of one system of a multisystem environment taking over log entries owned by another system
JP3159193B2 (ja) システム障害時のバッチジョブリカバリシステム
US7350104B2 (en) Invocation of a follow on unit of work
JP3516428B2 (ja) 計算機
JP6891533B2 (ja) データベース装置
US20240256398A1 (en) Redo avoidance during database recovery
JPH09204205A (ja) プログラム制御システム
JPH1040123A (ja) ジョブ管理方式と方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3463020

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term