(57)【要約】【課題】データ退避処理等の負荷を軽減することができるようにする。【解決手段】プロセス実行サーバ４による現在実行中のタスクを検出する実行中タスク検出部５１と、実行中タスク検出部５１により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用される変数の中で、更新されている変数を特定し、その変数を退避対象に設定する退避対象設定部５２とを設け、変数退避部５３が、退避対象設定部５２により退避対象に設定された変数をＤＢサーバ３の実行時情報記憶部３２に退避させる。【選択図】図１
2012221473.tif 000002
【特許請求の範囲】
【請求項１】
業務プロセスを構成している一連のタスクを実行する複数のサーバを監視して、上記サーバによる現在実行中のタスクを検出する実行中タスク検出手段と、上記実行中タスク検出手段により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用されるデータの中で、更新されているデータを特定し、上記データを退避対象に設定する退避対象設定手段と、上記退避対象設定手段により退避対象に設定されたデータを記録媒体に退避させるデータ退避手段とを備えたプロセス管理装置。
【請求項２】
退避対象設定手段は、一連のタスクで使用されるデータの中で、今回のチェックポイントと前回のチェックポイントの間で更新されているデータを特定し、上記データを退避対象に設定することを特徴とする請求項１記載のプロセス管理装置。
【請求項３】
退避対象設定手段は、更新されているデータであっても、後続のタスクで使用されないデータについては退避対象から除外することを特徴とする請求項１または請求項２記載のプロセス管理装置。
【請求項４】
障害の発生でタスクの実行を中断しているサーバを検知し、上記タスクよりも前のチェックポイントを特定するチェックポイント特定手段と、退避対象設定手段により退避対象に設定されることで、記録媒体に退避されているデータの中から、上記チェックポイント特定手段により特定されたチェックポイントで退避対象に設定されたデータを取得するデータ復元手段と、上記データ復元手段により取得されたデータを現在実行可能なサーバに与えて、上記チェックポイント特定手段により特定されたチェックポイント以降のタスクの実行を再開させる実行再開手段とを設けたことを特徴とする請求項１から請求項３のうちのいずれか１項記載のプロセス管理装置。
【請求項５】
データ復元手段は、チェックポイント特定手段により特定されたチェックポイントで退避対象に設定されたデータのうち、後続のタスクで使用されるデータだけを取得することを特徴とする請求項４記載のプロセス管理装置。
【請求項６】
実行中タスク検出手段が、業務プロセスを構成している一連のタスクを実行する複数のサーバを監視して、上記サーバによる現在実行中のタスクを検出する実行中タスク検出処理ステップと、退避対象設定手段が、上記実行中タスク検出処理ステップで検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用されるデータの中で、更新されているデータを特定し、上記データを退避対象に設定する退避対象設定処理ステップと、データ退避手段が、上記退避対象設定処理ステップで退避対象に設定されたデータを記録媒体に退避させるデータ退避処理ステップとを備えたプロセス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一連のタスクから構成されているビジネスプロセス（業務プロセス）を管理するプロセス管理装置及びプロセス管理方法に関するものである。
【背景技術】
【０００２】
複数のシステムに跨る業務システムでは、通常、１台のサーバがダウンしても、ビジネスプロセスを復旧することができるように、そのビジネスプロセスを構成している一連のタスクで使用されるデータを安全なデータベース等に退避しておく必要がある。
近年、普及しているＢＰＭ（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ）技術や、ＳＯＡ（Ｓｅｒｖｉｃｅ  Ｏｒｉｅｎｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）技術では、処理の流れをビジネスプロセス等で定義し、この処理フローに基づいてビジネスタスク・ビジネスサービスを実行している。
ビジネスプロセスでは、復旧用のデータを退避するポイントが「チェックポイント」と呼ばれ、ビジネスプロセスの実行時にチェックポイントになると、データの退避処理が行われる。
【０００３】
ＢＰＭ技術やＳＯＡ技術では、業務処理を行うビジネスタスクやＷＥＢサービス等をビジネスプロセス上で連携することにより、業務システムを構築している。
業務システムの設計には、ビジネスプロセスの設計と実際のビジネスタスク・サービス設計の２段階があり、柔軟なデータ退避処理等を行うには、下位のビジネスタスクやサービスの設計時において、開発者がデータ内容とトランザクションを考慮して、データ退避・復旧を行えるようにする必要がある。
【０００４】
例えば、トランザクション実行中に障害が発生した場合の障害回復処理を予め定義して登録しておき、障害発生時に登録された障害回復処理を行うプロセス管理装置が提案されている（例えば、特許文献１を参照）。
このプロセス管理装置では、業務変化に対応するデータ変更を行う度に、障害回復処理を定義する必要があるため、開発コストが嵩んでしまうが、データ管理をビジネスプロセス上で定義するようにすれば、業務変化に対して、モデル上の変更のみで対応することが可能になるため、開発コストを抑制することができる。
しかしながら、通常のチェックポイントでは、ビジネスプロセスを復旧可能とするために、ビジネスプロセスで扱う全てのデータをデータベースやファイルなどに退避させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１６３３７２号公報（段落番号［０００８］）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のプロセス管理装置は以上のように構成されているので、ビジネスプロセスで扱う全てのデータをデータベースやファイルなどに退避させている。しかし、退避・復旧させるデータのデータ量が多くなると、データ退避処理の負荷が大きくなり、多くの処理時間を要してしまう課題があった。
また、データ復旧処理においても、チェックポイントの後続の処理で使用されないデータも復元しているため、データ復旧処理の負荷が大きくなり、多くの処理時間を要してしまう課題があった。
【０００７】
この発明は上記のような課題を解決するためになされたもので、データ退避処理等の負荷を軽減することができるプロセス管理装置及びプロセス管理方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るプロセス管理装置は、業務プロセスを構成している一連のタスクを実行する複数のサーバを監視して、そのサーバによる現在実行中のタスクを検出する実行中タスク検出手段と、実行中タスク検出手段により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用されるデータの中で、更新されているデータを特定し、そのデータを退避対象に設定する退避対象設定手段とを設け、データ退避手段が、退避対象設定手段により退避対象に設定されたデータを記録媒体に退避させるようにしたものである。
【発明の効果】
【０００９】
この発明によれば、業務プロセスを構成している一連のタスクを実行する複数のサーバを監視して、そのサーバによる現在実行中のタスクを検出する実行中タスク検出手段と、実行中タスク検出手段により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用されるデータの中で、更新されているデータを特定し、そのデータを退避対象に設定する退避対象設定手段とを設け、データ退避手段が、退避対象設定手段により退避対象に設定されたデータを記録媒体に退避させるように構成したので、データの退避に要する処理の負荷を軽減することができる効果がある。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１によるプロセス管理装置が適用される業務システムを示す構成図である。
【図２】この発明の実施の形態１によるプロセス管理装置における変数の退避処理を示すフローチャートである。
【図３】この発明の実施の形態１によるプロセス管理装置におけるビジネスプロセスの再開処理を示すフローチャートである。
【図４】ビジネスプロセス定義画面、タスク定義画面及びチェックポイント定義画面の画面例を示す説明図である。
【図５】変数定義画面の画面例を示す説明図である。
【図６】構成情報定義画面の画面例を示す説明図である。
【図７】変数マッピング定義画面の画面例を示す説明図である。
【図８】ビジネスプロセスを構成している一連のタスクの設定例を示す説明図である。
【図９】チェックポイントの設定例を示す説明図である。
【図１０】変数定義情報の設定例を示す説明図である。
【図１１】変数マッピング情報の設定例を示す説明図である。
【図１２】ビジネスプロセス実行時情報の一例を示す説明図である。
【図１３】変数実行時情報（各チェックポイントで退避される変数などを示す情報）の一例を示す説明図である。
【図１４】再開可能な１以上のチェックポイントの一覧を示すビジネスプロセス復旧管理画面の画面例を示す説明図である。
【図１５】各チェックポイントでの退避対象の変数及び復旧対象の変数の一例を示す説明図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１はこの発明の実施の形態１によるプロセス管理装置が適用される業務システムを示す構成図である。
図１において、業務システムは、入力端末１、開発サーバ２、ＤＢサーバ３、プロセス実行サーバ４Ａ，４Ｂ及びプロセス管理装置５から構成されており、サーバ４Ａ，４Ｂやプロセス管理装置５等は、例えば、ＬＡＮやインターネットなどのネットワーク６に接続されている。
【００１２】
入力端末１は例えばパソコンなどから構成されており、ビジネスプロセス（業務プロセス）の開発者が、業務システムの設計・開発作業を行う際に使用する端末である。
開発サーバ２はビジネスプロセスを開発する際に使用される装置であり、例えば、ビジネスプロセスを構成している一連のタスクやチェックポイントなどを定義する際に使用される。
【００１３】
ＤＢサーバ３は各種の情報を保管する記憶装置であり、例えば、プロセス管理装置５により退避対象に設定された変数などのデータを記憶する。
プロセス実行サーバ４Ａ，４Ｂは開発サーバ２により開発されたビジネスプロセスを構成している一連のタスクを実行する装置である。
図１の例では、２台のプロセス実行サーバ４Ａ，４Ｂを記述しているが、３台以上のプロセス実行サーバが実装されていてもよい。
【００１４】
プロセス管理装置５はプロセス実行サーバ４Ａ，４Ｂがチェックポイントを通過する際、一連のタスクで使用される変数の中で、更新されている変数（例えば、今回のチェックポイントと前回のチェックポイントの間で更新されている変数）を特定し、その変数を退避対象に設定してＤＢサーバ３に退避させる処理を実施する。
また、プロセス管理装置５は障害の発生でタスクの実行を中断しているプロセス実行サーバ４を検知すると、ＤＢサーバ３から当該タスクよりも前のチェックポイントで退避対象に設定している変数を取得して、その変数を現在実行可能なプロセス実行サーバ４に与えて、そのチェックポイント以降のタスクの実行を再開させる処理を実施する。
【００１５】
開発サーバ２の定義情報設定部１０は例えば各種の情報を入力するキーボードやマウスなどのマンマシンインタフェース、あるいは、入力端末１で入力された各種の情報をネットワーク６経由で取得するネットワークインタフェースなどから構成されており、入力した各種の情報から定義情報を設定して定義情報記憶部２０に一時的に格納する処理を実施する。
定義情報設定部１０のビジネスプロセス情報設定部１１はビジネスプロセス定義画面の表示要求が入力されると、そのビジネスプロセス定義画面をディスプレイに表示し、そのビジネスプロセス定義画面上で、ビジネスプロセスを構成する一連のタスクの定義を受け付けて、その定義内容を示すビジネスプロセス定義情報を一時的にビジネスプロセス定義情報格納部２１に格納する処理を実施する。
【００１６】
チェックポイント情報設定部１２はチェックポイント定義画面の表示要求が入力されると、そのチェックポイント定義画面をディスプレイに表示し、そのチェックポイント定義画面上で、チェックポイントの定義を受け付けて、その定義内容を示すチェックポイント定義情報を一時的にチェックポイント定義情報格納部２２に格納する処理を実施する。
変数情報設定部１３は変数定義画面の表示要求が入力されると、その変数定義画面をディスプレイに表示し、その変数定義画面上で、ビジネスプロセスで扱う変数の定義を受け付けて、その定義内容を示す変数定義情報を一時的に変数定義情報格納部２３に格納する処理を実施する。
【００１７】
構成情報設定部１４は構成情報定義画面の表示要求が入力されると、その構成情報定義画面をディスプレイに表示し、その構成情報定義画面上で、ビジネスプロセスを構成している各タスクの実行対象のプロセス実行サーバ４の設定を受け付けて、その設定内容を示す構成情報を一時的に構成情報格納部２４に格納する処理を実施する。
変数マッピング情報設定部１５は変数マッピング定義画面の表示要求が入力されると、その変数マッピング定義画面をディスプレイに表示し、その変数マッピング定義画面上で、ビジネスプロセスを構成している各タスクが使用する変数等の定義を受け付けて、その定義内容を示す変数マッピング情報を一時的に変数マッピング情報格納部２５に格納する処理を実施する。
なお、定義情報設定部１０は、各種の定義情報を設定した後、リポジトリ登録要求が入力されると、一時的に定義情報記憶部２０に格納している各種の定義情報をＤＢサーバ３の定義情報リポジトリ３１に登録する処理を実施する。
【００１８】
ＤＢサーバ３の定義情報リポジトリ３１は開発サーバ２により設定された各種の定義情報を保持する記録媒体である。
ＤＢサーバ３の実行時情報記憶部３２はプロセス実行サーバ４Ａ，４Ｂが実行しているビジネスプロセスを特定するビジネスプロセス実行時情報や、各チェックポイントで退避される変数などを示す変数実行時情報などを記憶する記録媒体である。
【００１９】
プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１は例えばＣＰＵなどから構成されており、ＤＢサーバ３の定義情報リポジトリ３１に保持されている各種の定義情報を参照して、ビジネスプロセスを構成している一連のタスクを実行する。
プロセス実行サーバ４Ａ，４Ｂの変数管理部４２はプロセス実行エンジン４１がタスクを実行する際に使用する変数を管理している。
【００２０】
プロセス管理装置５の実行中タスク検出部５１は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、ＤＢサーバ３の実行時情報記憶部３２に格納されているビジネスプロセス実行時情報を参照して、プロセス実行サーバ４による現在実行中のタスクを検出する処理を実施する。なお、実行中タスク検出部５１は実行中タスク検出手段を構成している。
【００２１】
退避対象設定部５２は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、ＤＢサーバ３の定義情報リポジトリ３１に保持されているチェックポイント定義情報を参照して、チェックポイントが設定されている位置を認識し、実行中タスク検出部５１により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用される変数（プロセス実行サーバ４Ａ，４Ｂの変数管理部４２により管理されている変数）の中で、更新されている変数（例えば、今回のチェックポイントと前回のチェックポイントの間で更新されている変数）を特定し、その変数を退避対象に設定する処理を実施する。なお、退避対象設定部５２は退避対象設定手段を構成している。
【００２２】
変数退避部５３は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、退避対象設定部５２により退避対象に設定された変数（プロセス実行サーバ４Ａ，４Ｂの変数管理部４２により管理されている変数の中で、退避対象に設定された変数）の変数値をＤＢサーバ３の実行時情報記憶部３２に退避させる処理を実施する。なお、変数退避部５３はデータ退避手段を構成している。
【００２３】
障害検知部５４は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、障害の発生でタスクの実行を中断しているプロセス実行サーバ４を検知する処理を実施する。
チェックポイント特定部５５は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、障害検知部５４によりタスクの実行を中断しているプロセス実行サーバ４が検知されると、ＤＢサーバ３の実行時情報記憶部３２により格納されている変数実行時情報を参照して、そのタスクよりも前のチェックポイント（再開可能なチェックポイント）を特定する処理を実施する。
なお、障害検知部５４及びチェックポイント特定部５５からチェックポイント特定手段が構成されている。
【００２４】
チェックポイント選択受付部５６はキーボードやマウスなどのマンマシンインタフェースなどから構成されており、チェックポイント特定部５５により特定された再開可能な１以上のチェックポイントの一覧をディスプレイに表示して、任意のチェックポイントの選択を利用者に促し、利用者によるチェックポイントの選択を受け付ける処理を実施する。
データ復元部５７は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、退避対象設定部５２により退避対象に設定されることで、ＤＢサーバ３の実行時情報記憶部３２に退避されている変数の中から、チェックポイント選択受付部５６により選択が受け付けられたチェックポイントで退避対象に設定された変数の変数値を取得する処理を実施する。
なお、チェックポイント選択受付部５６及びデータ復元部５７からデータ復元手段が構成されている。
【００２５】
実行再開部５８は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、データ復元部５７により取得された変数の変数値を現在実行可能なプロセス実行サーバ４に与えて、チェックポイント選択受付部５６により選択が受け付けられたチェックポイント以降のタスクの実行を再開させる処理を実施する。なお、実行再開部５８は実行再開手段を構成している。
【００２６】
図１の例では、プロセス管理装置５の構成要素である実行中タスク検出部５１、退避対象設定部５２、変数退避部５３、障害検知部５４、チェックポイント特定部５５、チェックポイント選択受付部５６、データ復元部５７及び実行再開部５８のそれぞれが専用のハードウェアで構成されているものを想定しているが、プロセス管理装置がコンピュータで構成される場合、実行中タスク検出部５１、退避対象設定部５２、変数退避部５３、障害検知部５４、チェックポイント特定部５５、チェックポイント選択受付部５６、データ復元部５７及び実行再開部５８の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのＣＰＵが当該メモリに格納されているプログラムを実行するようにしてもよい。
【００２７】
図２はこの発明の実施の形態１によるプロセス管理装置における変数の退避処理を示すフローチャートである。
図３はこの発明の実施の形態１によるプロセス管理装置におけるビジネスプロセスの再開処理を示すフローチャートである。
【００２８】
次に動作について説明する。
プロセス管理装置５の運用が開始される前に、ビジネスプロセスを構成する一連のタスクや、各タスクが使用する変数などが定義されている必要がある。
最初に、開発サーバ２によって、ビジネスプロセスを構成する一連のタスクや、各タスクが使用する変数などが定義される際の処理内容を説明する。
【００２９】
まず、ビジネスプロセスの開発者は、入力端末１を構成しているマンマシンインタフェース、あるいは、開発サーバ２の定義情報設定部１０を構成しているマンマシンインタフェースを操作して、ビジネスプロセス定義画面の表示要求を入力する。
開発サーバ２における定義情報設定部１０のビジネスプロセス情報設定部１１は、ビジネスプロセス定義画面の表示要求が入力されると、図４に示すように、そのビジネスプロセス定義画面をディスプレイに表示する。
【００３０】
ビジネスプロセス定義画面では、パレットの中の「ノードリスト」から所望のノード（タスク、分岐、開始、終了）を選択して、そのノードをキャンバスに配置するとともに、パレットの中の「接続」からエッジを選択して、各ノードを互いに接続することで、ビジネスプロセスを作成することができる。
また、パレットの中の「その他」からチェックポイントを選択して、そのチェックポイントの位置をパレット上で指定することで、チェックポイントを設定することができる。
また、パレットの中の「その他」からコンテナを選択して、そのコンテナに対応するタスクを指定することで、コンテナ（タスクを実行するプロセス実行サーバ４）を設定することができる。
【００３１】
ビジネスプロセス情報設定部１１は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、キャンバスに配置している任意のタスクに係るノードを指定すると、そのタスクの動作内容を定義するタスク定義画面を表示する。図４の例では、タスクＥを定義するタスク定義画面が表示されている。
タスク定義画面では、タスク名、タスクタイプ、当該タスクで使用する変数を定義することができる。
当該タスクで使用する変数の定義は、後述する変数定義画面で定義された変数の中から、使用する変数を選択することで行う。変数のアクセス種別として、ＣＲＵＤ（Ｃｒｅａｔｅ／Ｒｅａｄ／Ｕｐｄａｔｅ／Ｄｅｌｅｔｅ）を指定することもできる。
タスクタイプとして、例えば、ＳＯＡＰサービス呼び出しを選択する場合には、ＷＳＤＬファイルを設定することができる。
ビジネスプロセス情報設定部１１は、上記のように、ビジネスプロセスを構成する一連のタスクの定義を受け付けて、その定義内容を示すビジネスプロセス定義情報を一時的にビジネスプロセス定義情報格納部２１に格納する。
【００３２】
チェックポイント情報設定部１２は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、キャンバスに配置している任意のチェックポイントを指定すると、チェックポイント定義画面の表示要求が入力されたものと判断して、図４に示すようなチェックポイント定義画面をディスプレイに表示する。
チェックポイント定義画面は、定義済みのチェックポイントのリストを表示するチェックポイントテーブルと、ビジネスプロセスの開発者により指定されたチェックポイントを定義するチェックポイント編集領域とから構成されている。
チェックポイント編集領域では、当該チェックポイントを識別するチェックポイント識別名、当該チェックポイントが設定されるビジネスプロセスの名称、当該チェックポイントの直前のタスクを示すタスク名、当該チェックポイントの動作ポリシーを定義することができる。
【００３３】
動作ポリシーは、チェックポイントの通過時に退避する変数を選択するためのポリシーであり、例えば、「必要最小限」、「完全」などの方針を選択することができる。
動作ポリシーとして「必要最小限」が選択された場合、当該チェックポイントからビジネスプロセスを再開する際に必要な最小限の変数が退避対象に設定されるようになる。
例えば、当該チェックポイントを通過する前のタスクで更新されている変数であっても、当該チェックポイントの後続のタスクで使用されない変数については退避対象から除外することで、退避時のデータ量を抑制するように動作する。
チェックポイント情報設定部１２は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、チェックポイント編集領域の「更新」ボタンを押下すると、チェックポイント編集領域での定義内容を示すチェックポイント定義情報を一時的にチェックポイント定義情報格納部２２に格納する。
【００３４】
変数情報設定部１３は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、ビジネスプロセス定義画面のメニューバーにおける「変数定義」を選択すると、変数定義画面の表示要求が入力されたものと判断して、図５に示すような変数定義画面をディスプレイに表示する。
変数定義画面は、ビジネスプロセスで扱う変数の定義を受け付ける画面であり、定義済みの変数の一覧を表示する変数テーブルと、その変数テーブルに変数を追加する「追加」ボタンと、その変数テーブルに含まれている変数を削除する「削除」ボタンから構成されている。
この変数テーブルには、ビジネスプロセスで扱う変数の変数名、変数タイプ及びデフォルト値が記録されており、この記録内容を変更することができる。
変数情報設定部１３は、変数定義画面上で、ビジネスプロセスで扱う変数の定義を受け付けて、その定義内容を示す変数定義情報を一時的に変数定義情報格納部２３に格納する。
【００３５】
構成情報設定部１４は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、ビジネスプロセス定義画面のキャンバスに配置している任意のコンテナを指定すると、構成情報定義画面の表示要求が入力されたものと判断して、図６に示すような構成情報定義画面をディスプレイに表示する。
構成情報定義画面は、ビジネスプロセスを構成している各タスクの実行対象のプロセス実行サーバ４を設定する画面（ビジネスプロセスを構成している各タスクを、どのプロセス実行サーバ４が実行するかを設定する画面）であり、設定済みの構成情報の一覧を表示する構成情報テーブルと、ビジネスプロセスの開発者により選択されたコンテナ（プロセス実行サーバ４）を識別するコンテナ識別名及び当該コンテンツのＵＲＬを編集する構成情報編集領域とから構成されている。
【００３６】
構成情報設定部１４は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、構成情報編集領域の「更新」ボタンを押下すると、構成情報編集領域で編集された構成情報（コンテナ識別名、ＵＲＬ）を構成情報テーブルに反映するとともに、その構成情報を一時的に構成情報格納部２４に格納する。
なお、ここでは、構成情報がコンテナ識別名とＵＲＬからなるものを示しているが、これは一例に過ぎず、他の情報から構成されていてもよい。
【００３７】
変数マッピング情報設定部１５は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、変数マッピング定義画面の表示要求を入力すると、図７に示すような変数マッピング定義画面をディスプレイに表示する。
変数マッピング定義画面は、ビジネスプロセスを構成している各タスクが使用する変数等の定義を受け付ける画面であり、定義済みの変数マッピング情報の一覧を表示する変数マッピングテーブルと、変数マッピングテーブルにおける任意の変数マッピング情報を編集する変数マッピング編集領域とから構成されている。
【００３８】
変数マッピング編集領域内の使用変数リストには、当該タスクで使用される変数のリストが表示される。
ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、使用変数リストの中から変数を選択して、「削除」ボタンを押下することで、その変数を使用変数リストから削除することができる。
逆に、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、定義済み変数リストの中から変数を選択して、「追加」ボタンを押下することで、その変数を使用変数リストに追加することができる。このとき、使用変数にＣＲＵＤを指定することも可能である。
変数マッピング情報設定部１５は、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、変数マッピング編集領域の「更新」ボタンを押下すると、その変数マッピング編集領域で編集された変数マッピング情報（タスク名、使用変数、変数のアクセス種別であるＣＲＵＤなど）を変数マッピングテーブルに反映するとともに、その変数マッピング情報を一時的に変数マッピング情報格納部２５に格納する。
【００３９】
定義情報設定部１０は、各種の定義情報が設定された後、ビジネスプロセスの開発者が入力端末１のマンマシンインタフェース等を操作して、ビジネスプロセス定義画面のメニューバーにおける「リポジトリ登録」を選択すると、リポジトリ登録要求が入力されたものと判断して、定義情報記憶部２０のビジネスプロセス定義情報格納部２１、チェックポイント定義情報格納部２２、変数定義情報格納部２３、構成情報格納部２４及び変数マッピング情報格納部２５に一時的に格納されている各種の定義情報等をＤＢサーバ３の定義情報リポジトリ３１に登録する。
各種の定義情報等がＤＢサーバ３の定義情報リポジトリ３１に登録されることで、プロセス管理装置５の運用を開始することが可能になる。
【００４０】
以下、プロセス管理装置５の処理内容を具体的に説明する。
最初に、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２により管理されている変数の変数値をＤＢサーバ３の実行時情報記憶部３２に退避させる際の処理内容を説明する。
ここでは説明の便宜上、ビジネスプロセスを構成している一連のタスクが図８のように設定され、チェックポイントが図９のように設定されているものとする。
また、変数定義情報が図１０のように設定され、変数マッピング情報が図１１のように設定されているものとする。
図８の例では、プロセス実行サーバ４Ａがコンテナ１であり、プロセス実行サーバ４Ｂがコンテナ２である。
また、プロセス実行サーバ４ＡがタスクＡを実行してから、プロセス実行サーバ４ＢがタスクＢ，Ｃを実行し、最後に、プロセス実行サーバ４ＡがタスクＤを実行するビジネスプロセスになっている。
図８のビジネスプロセスでは、図９に示すように、タスクＡの直後とタスクＣの直後にチェックポイントが設定されており、そのチェックポイントの動作ポリシーは「必要最小限」に設定されている。
【００４１】
プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１は、定義情報リポジトリ３１に保持されているビジネスプロセス定義情報を参照して、実行対象のビジネスプロセスが図８に示すビジネスプロセスであることを認識する。
また、プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１は、定義情報リポジトリ３１に保持されている構成情報を参照して、自己が実行するタスクが、どのタスクであるのかを認識する。
図８の例では、プロセス実行サーバ４Ａのプロセス実行エンジン４１は、自己が実行するタスクが、タスクＡ，Ｄであると認識し、プロセス実行サーバ４Ｂのプロセス実行エンジン４１は、自己が実行するタスクが、タスクＢ，Ｃであると認識する。
【００４２】
プロセス実行サーバ４Ａ，４Ｂの変数管理部４２は、定義情報リポジトリ３１に保持されている図１０の変数定義情報を参照して、図８のビジネスプロセスで扱う変数ａ，ｂ，ｃ，ｄを認識する。
また、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２は、定義情報リポジトリ３１に保持されている図１１の変数マッピング情報を参照して、タスクＡで使用される変数が変数ａ、タスクＢで使用される変数が変数ａ，ｂ，ｄ、タスクＣで使用される変数が変数ｂ，ｃ，ｄ、タスクＤで使用される変数が変数ａ，ｃであることを認識する。
【００４３】
プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１は、上記の認識結果を踏まえて、ビジネスプロセスを構成している一連のタスクの実行を開始する。
プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１は、ビジネスプロセスの実行を開始すると、実行しているビジネスプロセスを特定するビジネスプロセス実行時情報をＤＢサーバ３の実行時情報記憶部３２に格納する。
図１２はビジネスプロセス実行時情報の一例を示す説明図であり、図１２の例では、ビジネスプロセス実行時情報として、ビジネスプロセス名、ビジネスプロセスインスタンス識別子、最後に通過したチェックポイントである最終チェックポイント、ビジネスプロセスが実行されているコンテナを示す情報がＤＢサーバ３の実行時情報記憶部３２に格納される。
なお、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２は、プロセス実行エンジン４１がビジネスプロセスを構成している一連のタスクを実行する際に使用する変数を管理し、その変数の変数値を保持している。
【００４４】
プロセス管理装置５の実行中タスク検出部５１は、例えば、ＤＢサーバ３の実行時情報記憶部３２に格納されているビジネスプロセス実行時情報を参照して、プロセス実行サーバ４による現在実行中のタスクを検出する（図２のステップＳＴ１）。ここでは、ビジネスプロセス実行時情報を参照して、現在実行中のタスクを検出しているが、ビジネスプロセス定義情報を参照して、タスクの実行順序を認識するとともに、構成情報を参照して、各タスクを実行するプロセス実行サーバ４を認識し、また、プロセス実行サーバ４Ａ，４Ｂの動作を監視し、その監視結果と上記の認識結果を照らし合わせて、現在実行中のタスクを検出するようにしてもよい。
図８の例では、プロセス実行サーバ４ＡがタスクＡを実行してから、プロセス実行サーバ４ＢがタスクＢ，Ｃを実行し、最後に、プロセス実行サーバ４ＡがタスクＤを実行するように、ビジネスプロセス定義情報及び構成情報が定義されているため、ビジネスプロセスを構成している一連のタスクの実行を開始した当初は、プロセス実行サーバ４ＡがタスクＡを実行していることを検出する。
タスクＡの実行が終了した後は、プロセス実行サーバ４ＢがタスクＢ，Ｃを実行していることを検出し、タスクＣの実行が終了した後は、プロセス実行サーバ４ＡがタスクＤを実行していることを検出する。
【００４５】
プロセス管理装置５の退避対象設定部５２は、ＤＢサーバ３の定義情報リポジトリ３１に保持されている図９のチェックポイント定義情報を参照して、チェックポイントが設定されている位置を確認する（ステップＳＴ２）。
図９の例では、タスクＡの直後とタスクＣの直後にチェックポイントが設定されている。
退避対象設定部５２は、タスクＡの直後とタスクＣの直後にチェックポイントが設定されていることを確認すると、そのチェックポイントの直前のタスクの実行が終了するまで待機する。
即ち、タスクＡの直後に設定されているチェックポイントを通過する前は、タスクＡの実行が終了するまで待機し、そのチェックポイントを通過した後は、タスクＣの実行が終了するまで待機する。
【００４６】
また、退避対象設定部５２は、ＤＢサーバ３の定義情報リポジトリ３１に保持されている図１１の変数マッピング情報を参照して、各タスクで使用される変数を確認するとともに、定義情報リポジトリ３１に保持されている図９のチェックポイント定義情報を参照して、チェックポイントの動作ポリシーを確認する。
図９の例では、タスクＡの直後とタスクＣの直後に設定されているチェックポイントの動作ポリシーは、いずれも「必要最小限」である。
【００４７】
退避対象設定部５２は、チェックポイントの直前のタスクの実行が終了すると、そのチェックポイントの動作ポリシーが「必要最小限」であれば（ステップＳＴ３；ＹＥＳ）、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２により管理されている変数ａ，ｂ，ｃ，ｄの中で、当該チェックポイントの後続のタスクで使用される変数だけを退避対象に設定するため、後続のタスクで使用される変数を特定する（ステップＳＴ４）。
図１１の例では、当該チェックポイントがタスクＡの直後に設定されているチェックポイントである場合、変数ａ，ｂ，ｃ，ｄの全てが後続のタスクで使用されるが、当該チェックポイントがタスクＣの直後に設定されているチェックポイントである場合、変数ａ，ｃだけが後続のタスクで使用される。
なお、チェックポイントの動作ポリシーが「完全」である場合、当該チェックポイントの後続のタスクで使用される変数に限らず、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２により管理されている全ての変数ａ，ｂ，ｃ，ｄを退避対象の候補とする。
【００４８】
退避対象設定部５２は、チェックポイントの動作ポリシーが「必要最小限」であれば、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２から後続のタスクで使用される変数の変数値を読み出し、後続のタスクで使用される変数の中で、今回のチェックポイントと前回のチェックポイントの間で更新されている変数を特定する（ステップＳＴ５）。
例えば、当該チェックポイントがタスクＣの直後に設定されているチェックポイントである場合、後続のタスクＤで使用される変数ａ，ｃの中で、タスクＢ又はタスクＣで更新されている変数を特定する。
当該チェックポイントがタスクＡの直後に設定されているチェックポイントである場合、そのチェックポイントの前にはチェックポイントが設定されていないため、後続のタスクＢ，Ｃ，Ｄで使用される変数ａ，ｂ，ｃ，ｄの中で、タスクＡで更新されている変数を特定する。
【００４９】
なお、チェックポイントの動作ポリシーが「完全」である場合には、プロセス実行サーバ４Ａ，４Ｂの変数管理部４２に管理されている全ての変数の変数値を読み出し、全ての変数の中で、今回のチェックポイントと前回のチェックポイントの間で更新されている変数を特定する。
更新の有無の判定方法として、例えば、図４のタスク定義画面で、変数のアクセス種別としてＣＲＵＤが指定されている場合、ＣＵＤのいずれかが指定されている変数であるか否かを確認すればよく、ＣＵＤのいずれかが指定されている変数は更新されている変数であると判別することができる。
また、図１１の変数マッピング情報を参照することでも、更新されている変数であるか否かを特定することができる。
【００５０】
退避対象設定部５２は、今回のチェックポイントと前回のチェックポイントの間（あるいは、ビジネスプロセスの先頭から今回のチェックポイントまでの間）で更新されている変数を特定すると、その変数を退避対象に設定する（ステップＳＴ６）。
変数退避部５３は、退避対象設定部５２が退避対象の変数を設定すると、その変数の変数値をＤＢサーバ３の実行時情報記憶部３２に退避させる（ステップＳＴ７）。
ここで、図１３は変数実行時情報（各チェックポイントで退避される変数などを示す情報）の一例を示す説明図である。
図１３の例では、タスクＡの直後に設定されているチェックポイントにおいて、変数ａの変数値が退避され、タスクＣの直後に設定されているチェックポイントにおいて、変数ａ，ｃの変数値が退避されている。
【００５１】
次に、中断中のビジネスプロセスを再開させる際の処理内容を説明する。
障害検知部５４は、プロセス実行サーバ４Ａ，４Ｂのプロセス実行エンジン４１が、ビジネスプロセスを構成している一連のタスクの実行を開始すると、ＤＢサーバ３の実行時情報記憶部３２に格納されているビジネスプロセス実行時情報を参照して、現在実行中のプロセス実行サーバ４を特定し、そのプロセス実行サーバ４の動作状況を監視する。
そして、障害検知部５４は、障害の発生等が原因で、そのプロセス実行サーバ４の動作が中断していれば、そのプロセス実行サーバ４を、タスクの実行を中断しているプロセス実行サーバ４として検知する（図３のステップＳＴ１１）。
チェックポイント特定部５５は、障害検知部５４によりタスクの実行を中断しているプロセス実行サーバ４が検知されると、ＤＢサーバ３の実行時情報記憶部３２に格納されている変数実行時情報を参照して、そのタスクよりも前のチェックポイント（再開可能なチェックポイント）を特定する（ステップＳＴ１２）。
【００５２】
図８の例では、プロセス実行サーバ４ＢによるタスクＢ又はタスクＣの実行が中断している場合、再開可能なチェックポイントとして、タスクＡの直後に設定されているチェックポイントが特定される。
また、プロセス実行サーバ４ＡによるタスクＤの実行が中断している場合、再開可能なチェックポイントとして、タスクＡの直後に設定されているチェックポイントと、タスクＣの直後に設定されているチェックポイントとが特定される。
【００５３】
チェックポイント選択受付部５６は、チェックポイント特定部５５により再開可能な１以上のチェックポイントが特定されれば（ステップＳＴ１３；ＹＥＳ）、再開可能な１以上のチェックポイントの一覧を示すビジネスプロセス復旧管理画面をディスプレイに表示する（ステップＳＴ１４）。
図１４は再開可能な１以上のチェックポイントの一覧を示すビジネスプロセス復旧管理画面の画面例を示す説明図である。
チェックポイント選択受付部５６は、利用者がビジネスプロセス復旧管理画面上で、所望のチェックポイントを選択すると（ステップＳＴ１５；ＹＥＳ）、そのチェックポイントの選択を受け付けて、そのチェックポイントをデータ復元部５７に通知する（ステップＳＴ１６）。
例えば、タスクＢ又はタスクＣの実行中にプロセス実行サーバ４Ｂがダウンした場合には、タスクＡの直後に設定されているチェックポイントだけが再開可能なチェックポイントとして表示されるが、タスクＤの実行中にプロセス実行サーバ４Ａがダウンした場合には、タスクＡの直後に設定されているチェックポイントと、タスクＣの直後に設定されているチェックポイントとが再開可能なチェックポイントとして表示され、いずれかのチェックポイントを選択することができる。
【００５４】
データ復元部５７は、チェックポイント選択受付部５６から利用者により選択されたチェックポイントの通知を受けると、ＤＢサーバ３の実行時情報記憶部３２に退避されている変数の中から、利用者により選択されたチェックポイントで退避対象に設定された変数を選択する（ステップＳＴ１７）。
また、データ復元部５７は、ＤＢサーバ３の定義情報リポジトリ３１に保持されている図１１の変数マッピング情報を参照して、そのチェックポイントの後続のタスクで使用される変数を特定し、ステップＳＴ１７で選択した変数の中から、そのチェックポイントの後続のタスクで使用される変数を最終的に選択する（ステップＳＴ１８）。
ここでは、変数マッピング情報を参照して、後続のタスクで使用される変数を特定しているが、例えば、図４のタスク定義画面で、変数のアクセス種別としてＣＲＵＤが指定されている場合、Ｒを含む変数であるか否かを確認し、Ｒを含む変数を後続のタスクで使用される変数であると判定するようにしてもよい。
【００５５】
データ復元部５７は、ＤＢサーバ３の実行時情報記憶部３２から最終的に選択した変数の変数値を取得する（ステップＳＴ１９）。
ここで、図１５は各チェックポイントでの退避対象の変数及び復旧対象の変数の一例を示す説明図である。
図１５では、例えば、識別名「ｃｐ００２」のチェックポイントで変数ｃを退避しており、識別名「ｃｐ００２」のチェックポイントからビジネスプロセスを再開する場合、変数ａと変数ｃを復旧すればよいことを表している。
【００５６】
実行再開部５８は、利用者がビジネスプロセス復旧管理画面上で、「再開」ボタンを押下すると、データ復元部５７により最終的に選択された変数の変数値と、ＤＢサーバ３の実行時情報記憶部３２に保持されている図１２の実行時情報を現在実行可能なプロセス実行サーバ４（ダウンしていないプロセス実行サーバ４）に与えて、チェックポイント選択受付部５６により選択が受け付けられたチェックポイント以降のタスクの実行を再開させる（ステップＳＴ２０）。
【００５７】
以上で明らかなように、この実施の形態１によれば、ビジネスプロセスを構成している一連のタスクを実行するプロセス実行サーバ４を監視して、そのプロセス実行サーバ４による現在実行中のタスクを検出する実行中タスク検出部５１と、実行中タスク検出部５１により検出された現在実行中のタスクと次のタスクの間にチェックポイントが設定されている場合、現在実行中のタスクが終了した時点で、一連のタスクで使用される変数の中で、更新されている変数を特定し、その変数を退避対象に設定する退避対象設定部５２とを設け、変数退避部５３が、退避対象設定部５２により退避対象に設定された変数をＤＢサーバ３の実行時情報記憶部３２に退避させるように構成したので、変数の退避に要する処理の負荷を軽減することができる効果を奏する。
【００５８】
また、この実施の形態１によれば、変数退避部５３が、一連のタスクで使用される変数の中で、今回のチェックポイントと前回のチェックポイントの間で更新されている変数を特定し、その変数を退避対象に設定するように構成したので、更に、変数の退避に要する処理の負荷を軽減することができる効果を奏する。
【００５９】
この実施の形態１によれば、変数退避部５３が、更新されているデータであっても、後続のタスクで使用されないデータについては退避対象から除外するように構成したので、ビジネスプロセスを再開する際に必要な最小限の変数だけを退避させることができる効果を奏する。
【００６０】
この実施の形態１によれば、障害の発生でタスクの実行を中断しているプロセス実行サーバ４を検知する障害検知部５４と、そのタスクよりも前のチェックポイントを特定するチェックポイント特定部５５と、チェックポイント特定部５５により特定された１以上のチェックポイントの中から、任意のチェックポイントの選択を受け付けるチェックポイント選択受付部５６と、退避対象設定部５２により退避対象に設定されることで、ＤＢサーバ３の実行時情報記憶部３２に退避されている変数の中から、チェックポイント選択受付部５６により選択が受け付けられたチェックポイントで退避対象に設定された変数を取得するデータ復元部５７とを設け、実行再開部５８が、データ復元部５７により取得された変数を現在実行可能なプロセス実行サーバ４に与えて、チェックポイント選択受付部５６により選択が受け付けられたチェックポイント以降のタスクの実行を再開させるように構成したので、中断中のビジネスプロセスを再開することができる効果を奏する。
【００６１】
また、この実施の形態１によれば、データ復元部５７が、チェックポイント選択受付部５６により選択が受け付けられたチェックポイントで退避対象に設定された変数のうち、後続のタスクで使用される変数だけを取得するように構成したので、変数の復旧に要する処理の負荷を軽減することができる効果を奏する。
【００６２】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【００６３】
１  入力端末、２  開発サーバ、３  ＤＢサーバ（記録媒体）、４Ａ，４Ｂ  プロセス実行サーバ（サーバ）、５  プロセス管理装置、６  ネットワーク、１０  定義情報設定部、１１  ビジネスプロセス情報設定部、１２  チェックポイント情報設定部、１３  変数情報設定部、１４  構成情報設定部、１５  変数マッピング情報設定部、２０  定義情報記憶部、２１  ビジネスプロセス定義情報格納部、２２  チェックポイント定義情報格納部、２３  変数定義情報格納部、２４  構成情報格納部、２５  変数マッピング情報格納部、３１  定義情報リポジトリ、３２  実行時情報記憶部、４１  プロセス実行エンジン、４２  変数管理部、５１  実行中タスク検出部（実行中タスク検出手段）、５２  退避対象設定部（退避対象設定手段）、５３  変数退避部（データ退避手段）、５４  障害検知部（チェックポイント特定手段）、５５  チェックポイント特定部（チェックポイント特定手段）、５６  チェックポイント選択受付部（データ復元手段）、５７  データ復元部（データ復元手段）、５８  実行再開部（実行再開手段）。
【図１】
2012221473.tif 000003
【図２】
2012221473.tif 000004
【図３】
2012221473.tif 000005
【図４】
2012221473.tif 000006
【図５】
2012221473.tif 000007
【図６】
2012221473.tif 000008
【図７】
2012221473.tif 000009
【図８】
2012221473.tif 000010
【図９】
2012221473.tif 000011
【図１０】
2012221473.tif 000012
【図１１】
2012221473.tif 000013
【図１２】
2012221473.tif 000014
【図１３】
2012221473.tif 000015
【図１４】
2012221473.tif 000016
【図１５】
2012221473.tif 000017