(57)【特許請求の範囲】
【請求項１】
各々が一つのワークフローサーバと複数のクライアントで構成され、作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムであって、
履歴管理サーバを有し、
前記複数のワークフローサーバのそれぞれは、
ワークフロー処理に伴い、動作履歴を自身が有するデータベースに記録するとともに、他のワークフローサーバとの間の動作に関する履歴についてのみを前記履歴管理サーバに記録する手段と、
システムダウンからの復旧時に、前記履歴管理サーバに対して自サーバに関する動作履歴の提供を依頼する手段と、
自身のデータベースに記録されている履歴情報と前記履歴管理サーバから提供された履歴情報とを比較する手段と、
比較の結果不一致を検出した履歴に関して、関連する他のワークフローサーバに対して不一致の検出を通知する手段と、
を有することを特徴とする広域ワークフローシステム。
【請求項２】
各々が一つのワークフローサーバと複数のクライアントで構成され、作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムであって、
履歴管理サーバを有し、
前記複数のワークフローサーバのそれぞれは、
ワークフロー処理に伴い、動作履歴を自身が有するデータベースに記録するとともに、他のワークフローサーバとの間の動作に関する履歴についてのみを前記履歴管理サーバに記録する手段と、
システムダウンからの復旧時に、前記履歴管理サーバに対して自システムの復旧を通知する手段と、
前記履歴管理サーバからの要求に応じて自身のデータベースに記録されている履歴情報を前記履歴管理サーバに提供する手段と、
を有し、
前記履歴管理サーバは、
前記複数のワークフローサーバからシステムダウンからの復旧を通知された場合に、該ワークフローサーバに対して履歴情報の提供を要求する手段と、
自身が記録している履歴情報とワークフローサーバから提供された履歴情報とを比較する手段と、
比較の結果不一致を検出した履歴に関して、復旧したワークフローサーバおよび関連する他のワークフローサーバに対して不一致の検出を通知する手段と、
を有する広域ワークフローシステム。
【請求項３】
各々が一つのワークフローサーバと複数のクライアントで構成され、作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムであって、
履歴管理サーバと保守サーバを有し、
前記複数のワークフローサーバのそれぞれは、
ワークフロー処理に伴い、動作履歴を自身が有するデータベースに記録するとともに、他のワークフローサーバとの間の動作に関する履歴についてのみを前記履歴管理サーバに記録する手段と、
システムダウンからの復旧時に、前記保守サーバに対して自システムの復旧を通知する手段と、
前記保守サーバからの要求に応じて自身のデータベースに記録されている履歴情報を前記保守サーバに提供する手段と、
を有し、
前記履歴管理サーバは、
前記保守サーバからの要求に応じて自身のデータベースに記録されている履歴情報を前記保守サーバに提供する手段を有し、
前記保守サーバは、
前記複数のワークフローサーバからシステムダウンからの復旧を通知された場合に、該ワークフローサーバおよび前記履歴管理サーバに対して履歴情報の提供を要求する手段と、
ワークフローサーバから提供された履歴情報と履歴管理サーバから提供された履歴情報とを比較する手段と、
比較の結果不一致を検出した履歴に関して、関連するワークフローサーバに対して不一致の検出を通知する手段と、
を有する広域ワークフローシステム。
【請求項４】
作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムにおいて、
システムダウンから復旧したワークフローシステムのサーバが、前記複数のワークフローサーバから送られる他のワークフローサーバとの間の動作に関する履歴のみを保持する履歴管理サーバに自サーバに関する動作履歴を要求し、
該履歴管理サーバが該要求された動作履歴を該復旧システムのサーバに提供し、
該復旧システムのサーバが、該提供された動作履歴と自サーバ内に保持されている動作履歴とを比較して、自サーバに関する動作履歴の不一致を検出することを特徴とする広域ワークフローシステムの保守方法。
【請求項５】
作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムにおいて、
システムダウンから復旧したワークフローシステムのサーバが、前記複数のワークフローサーバから送られる他のワークフローサーバとの間の動作に関する履歴のみを保持する履歴管理サーバに自システムの復旧を通知し、
該履歴管理サーバが、該復旧システムのサーバに該復旧サーバに保持されている該サーバに関する動作履歴の提供を要求し、
該復旧サーバが自サーバの動作履歴を提供し、
該履歴管理サーバが、提供された動作履歴と自履歴管理サーバに保持されている復旧システムのサーバに関する動作履歴とを比較して、該復旧システムのサーバの動作履歴の不一致を検出することを特徴とする広域ワークフローシステムの保守方法。
【請求項６】
作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムにおいて、
システムダウンから復旧したワークフローシステムのサーバが、自システムの復旧を前記広域ワークフローシステム全体に対する保守を行う保守サーバに通知し、
該保守サーバが、該復旧システムのサーバに該サーバの動作履歴の提供を、また前記複数のワークフローサーバから送られる他のワークフローサーバとの間の動作に関する履歴のみを保持する履歴管理サーバに該復旧システムのサーバの動作履歴の提供を要求し、
該保守サーバが、提供された２つの動作履歴を比較して、復旧システムのサーバの動作履歴の不一致を検出することを特徴とする広域ワークフローシステムの保守方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、作業の流れを規定するワークフローに従って自動的に作業を遂行するワークフローシステムの保守方式に係り、更に詳しくは複数のワークフローシステムが広域ネットワークを介して連携して動作する広域ワークフローシステムの保守方式に関する。
【０００２】
【従来の技術】
ワークフローとは作業の流れを規定するものであり、誰が、どんな作業を、どういう順序で行うかがワークフローによって定義され、このワークフローに従って自動的に作業を遂行するシステムがワークフローシステムである。
【０００３】
ワークフローシステムは、一般に作業の生産性の向上を目的として、ネットワークを介したクライアントサーバシステム上で動作するグループウェアシステムの一種である。ワークフローの履歴や進行状況は通常データベースに記録され、管理者および作業者は必要に応じて作業の進行状況を調べることができ、またワークフローの定義を変更することもできる。
【０００４】
本出願人は「ワークプロセスのモデル化方法とワークプロセスモデルの実行の追跡方法およびワークプロセスをモデル化するプログラム方式のコンピュータシステム」（特願平６−５０８７９，特開平７−１３７５４）において、プログラムの専門家でなくてもワークフローの分析が可能であり、またモデル化されたワークプロセスの実行を管理でき、更に実行される作業の順序を変更しながらワークフローのプランを編集できるコンピュータシステムについて開示した。
【０００５】
このようなワークフローシステムにおいては作業の連携が可能となり、処理時間が短縮でき、また作業が標準化されるために作業の質が均等となる。更に各作業の処理結果に関する統計情報をデータベースから抽出することができ、どの作業に時間がかかっているかを知ることにより作業のボトルネックを解明したり、改善案を容易に作成できるという利点がある。作業手順の変更も簡単であり、改善結果は迅速に反映される。
【０００６】
【発明が解決しようとする課題】
従来のサーバ／クライアント形式のワークフローシステムにおいては、クライアントの間で連携して実行されるワークフローの管理が１つのサーバによって行われていた。従ってシステムを大規模化するためには単一のサーバの下に多数のクライアントを抱えることとなり、処理速度の低下を引き起こしていた。そこでシステムの拡張性や効率向上のためには、複数のサーバを用いたワークフローシステムの構築が必要となってきた。
【０００７】
しかしながら、１台のサーバの下で複数のクライアントが動作するワークフローシステムが複数存在し、各ワークフローシステムがネットワークを介して連携して動作を行うようなシステムにおいては、あるワークフローシステムがシステムダウンを起こしたような場合に深刻な問題が発生する可能性がある。
【０００８】
通常はサーバ相互間でワークフロー情報をそれぞれのデータベースに記録しながら動作するため、問題は発生しない。しかしながら、あるワークフローシステムのサーバのデータベースがシステムダウンを起こしたような場合には、システムダウンから復旧してもそのデータベース上のワークフロー情報、例えば履歴情報が欠落している可能性がある。
【０００９】
復旧後の個々のサーバ内のデータベース上のワークフロー情報に欠落があったとしても、データベース内のワークフロー情報に基づいて作業を行うことができるために、サーバ内、すなわち１つのワークフローシステム内に閉じているワークフローについては、同じ作業が繰り返されることがあっても、ワークフローシステムの動作論理に矛盾が生じることはない。これに対してサーバ相互間でフロー情報、例えば履歴情報に矛盾があると、複数のワークフローシステム全体として行われる動作が無意味なものとなってしまうことがある。
【００１０】
図１５はこの問題点の説明図である。同図において、例えばＡサーバにおいて作業ａ１とａ２が行われ、Ｂサーバにおいて作業ｂ１とｂ２が行われるというワークフローが定義されたものとする。そこである処理Ｘをこのワークフローに従って実行する場合に、この処理Ｘが作業ｂ１まで進んだ時点を考えることにする。
【００１１】
この時点でＡサーバ５のデータベース上のワークフロー履歴情報は
Ａ１：処理Ｘに関して作業ａ１を行い、その結果を作業ａ２に渡した。
Ａ２：作業ａ１から処理Ｘを受け取り、作業ａ２を行い、その結果をネットワーク７を介して作業ｂ１に渡した。
であり、一方、Ｂサーバ６のデータベース上のワークフロー履歴情報は
Ｂ１：作業ａ２からネットワークを介して処理Ｘを受け取り、作業ｂ１を開始した。
となる。
【００１２】
この時点でＢサーバ６がシステムダウンを起こし、その後システムが復旧した時点で処理Ｘに関する履歴が失われていたとする。この場合、Ａサーバ５におけるワークフローの履歴は“Ａサーバでは処理Ｘは全て完了した”ものとなっており、Ａサーバ５側の作業者は処理Ｘに関する作業はＢサーバ６側に全て任せたと考えているが、これに対してＢサーバ６側では処理Ｘは存在しないため、この処理Ｘはその後実行されないことになり、結果的に処理が中断されるという問題点を生ずることになる。
【００１３】
本発明はそれぞれサーバ／クライアント方式によって構成される複数のワークフローシステムが広域ネットワークを介して連携して動作するシステムにおいて、サーバ相互間でのワークフローの履歴情報に矛盾がないか否かを調べ、その結果に基づいて広域ワークフローシステムを保守する方式を提供することを目的とする。
【００１４】
【課題を解決するための手段】
図１は本発明の原理ブロック図である。同図は作業の流れを規定するワークフローに従って自動的に作業を遂行する複数のワークフローシステムが、広域ネットワークを介して連携して動作する広域ワークフローシステムの保守方式の原理ブロック図である。
【００１５】
図１において履歴管理手段２は、例えば履歴管理サーバであり、複数のワークフローシステム１のそれぞれについての動作の履歴を保持するものである。例えば、各ワークフローシステムにおいてワークフローに従う動作が実行されるたびに各ワークフローシステムのデータベースにその動作履歴が書き込まれると共に、ネットワーク３を介して履歴管理手段２にも書き込まれることになる。
【００１６】
各ワークフローシステム１は、例えばそれぞれ１つのサーバとそのサーバによって管理される１つ以上のクライアントから成るサーバ／クライアントシステムであり、履歴管理手段２、例えば履歴管理サーバは各ワークフローシステムの動作の履歴として、サーバ間で行われた動作に関する履歴のみを保持することも可能である。
【００１７】
図１おいて複数のワークフローシステム１のうち、いずれか１つのワークフローシステムがシステムダウンを起こしたとする。そのシステムがシステムダウンから復旧した時点で、そのワークフローシステム１のサーバは履歴管理手段２、例えば履歴管理サーバに自サーバに関する動作履歴の提供を要求する。そしてこの要求に対応して履歴管理サーバは要求された動作履歴を復旧システムのサーバに提供し、復旧システムのサーバが履歴管理サーバから提供された動作履歴と自サーバの、例えばデータベース内に保持されている動作履歴とを比較して、動作履歴の不一致を検出することにより、広域ワークフローシステム全体の信頼性を維持することができる。
【００１８】
以上のように本発明によれば、複数のワークフローシステムのそれぞれについての動作の履歴が例えば履歴管理サーバに保持され、システムダウンからの復旧時において履歴管理サーバに保持されている動作履歴を活用してシステム全体の信頼性を確保して保守が行われる。
【００１９】
【発明の実施の形態】
図２は本発明の保守方式が実行される広域ワークフローシステムの全体構成ブロック図である。同図において、それぞれサーバ／クライアントシステムとしてのワークフローシステム１０は広域ネットワーク１１を介して接続され、更に広域ネットワーク１１にはそれぞれのワークフローシステム１０におけるワークフローの動作履歴が保持される履歴管理サーバ１２が接続され、履歴管理サーバ１２はそれらの動作履歴を保持するデータベース１３を備えている。
【００２０】
各ワークフローシステム１０は、１つのサーバ２０と複数のサーバ２１、およびデータベース２２から構成されている。ここで履歴管理サーバ１２に接続されているデータベース１３には、各ワークフローシステム１０の内部のデータベース２２が保持する各ワークフローシステムにおける動作履歴が全て保持されるか、またはそれぞれのワークフローシステム１０のサーバマシン２０相互間で行われた動作に関する履歴のみが保持される。
【００２１】
図２におけるように複数のワークフローシステム１０は広域ネットワーク１１を介して相互に接続されるが、１つのワークフローシステム１０が常に全ての他のワークフローシステム１０と連携して動作するとは限らず、一般に１つのワークフローシステム１０は多数の他のワークフローシステム１０のうち、いずれか少数のワークフローシステム１０のみと連携して動作を行うことが多い。例えば本社の下に第１支社、第２支社、第１営業部、および第２営業部（それぞれ１つのワークフローシステムに対応）が存在しても、第１支社が第１営業部とのみ関係を持つ場合には、第１支社に相当するワークフローシステムは第１営業部に相当するワークフローシステムとの間でのみ連携してワークフローに従った作業の自動実行を行うことになり、従ってサーバ間での動作の履歴についても他のワークフローシステムに関する履歴は必要ない。例えば第１支社に対応するワークフローシステム１０がシステムダウンを起こし、その後システムが復旧する場合には、第１営業部に対応するワークフローシステム１０との間で動作履歴に矛盾がないか否かを調べるだけでよいことになる。
【００２２】
図３はこのようなワークフローシステム相互間での依存関係を示す相関テーブルの例である。同図は広域ワークフローシステム全体の中で、個々のワークフローシステム１０が相互にどのワークフローシステムと連携して動作を行うか、というワークフローシステム相互間の依存関係を示すものである。例えばワークフローシステムＡはワークフローシステムＢとのみ連携して動作を行うことになり、システムＡの復旧時にはシステムＢとの間で動作履歴が矛盾するか否かを調べるだけでよい。これに対してシステムＢがシステムダウンから復旧する場合には、システムＡのみでなく、ＣおよびＤとの間でも、動作履歴に矛盾があるか否かを調べる必要がある。
【００２３】
図４は本発明の保守方式を説明するためのサーバ間の接続図である。同図においては、図１５におけると同様に各ワークフローシステムのサーバとしてのＡサーバ３１とＢサーバ３２がネットワーク３３を介して接続されているが、それに加えてネットワーク３３には履歴管理サーバ３４が接続されている。同図において図１５におけると同様に、Ａサーバ３１では作業ａ１とａ２が、またＢサーバ３２においては作業ｂ１とｂ２とが、この順序で実行されるものとする。
【００２４】
ここで図１５におけると同様に、Ｂサーバ３２が作業ｂ１を開始した後にシステムダウンを起こしたものとする。Ｂサーバ３２はシステムダウンからの復旧に際して、履歴管理サーバ３４からＢサーバに関係する動作の履歴情報を取得する。履歴管理サーバ３４にサーバ相互間で行われた動作（処理の移動）に関する履歴のみが保持されているものとすると、図１５の例では履歴管理サーバ３４にはＡサーバに関する履歴Ａ２、すなわち作業ａ２を行いネットワークを介してＢサーバの作業ｂ１に処理Ｘを渡したという履歴と、Ｂサーバに関する履歴Ｂ１、すなわちＡサーバ３１から作業ａ２の結果として処理Ｘを受け取り、作業ｂ１を開始したという履歴情報が保持されている。
【００２５】
これに対してＢサーバ３２では、その復旧時に自サーバに接続されているデータベースに処理Ｘに関する履歴が全く存在しないため、履歴管理サーバ３４に保持されているＢサーバに関する履歴情報と自システム内に保持されている履歴情報とを比較することにより、処理Ｘに関して履歴の矛盾を発見することができる。矛盾が発生した処理が特定できれば、必要に応じてその処理を再実行したり、Ａサーバに関する履歴Ａ２を書き直す（例えば抹消する）ことも可能であり、ワークフローに関する履歴情報を正しく修復することができる。但し、矛盾発生処理の特定後、システム全体の動作をどのように復旧させるかについては、ケースバイケースであり、本発明の範囲外のこととして詳細な説明を省略する。
【００２６】
図４のサーバ間接続例に関して、履歴情報の比較について図５〜図７を用いて更に詳しく説明する。図５はＡサーバ３１、およびＢサーバ３２のそれぞれのデータベースに保持されている各サーバの履歴である。本来この履歴は時系列で格納されているが、ここでは識別番号によってソートされた結果が示されている。履歴データのデータ構造はデータベースに依存するが、識別番号と、日時、および、例えばＡサーバにおいて作業ａ１が終了したことを示すアクションとが必須のものである。なお識別番号は広域ワークフローシステム内で処理案件をユニークに識別するための番号であり、例えばシステム全体で管理される管理台帳における番号に相当する。さらに識別番号の空欄はその上の行の番号と同じであることを示す。
【００２７】
図６は履歴管理サーバのデータベース内に保持されている履歴データの例である。ここではサーバ相互間で行われた動作に関する履歴のみでなく、それぞれのサーバのデータベース内に保持されている履歴情報と全く同じデータが、各サーバに対応して履歴管理サーバのデータベースに保持されているものとして、その格納内容を示している。なおこの履歴管理サーバへの履歴の書き込みは、各サーバでの履歴データの作成時に同時に行われてもよく、一旦履歴データを適当なバッファに格納し、一定時間毎にまとめて書き込んでもよい。
【００２８】
図７は、Ｂサーバ３２が６月24日にシステムダウンを起こしたものとして、そのデータベース内の６月24日以後の履歴が全て失われた場合の、Ｂサーバ３２のデータベース内の履歴データを示す。識別番号１０００６に対応する履歴データ２行分のみが回復され、６月24日以後のデータは消滅している。
【００２９】
ここで図７の内容と、図６における履歴管理サーバ内のＢサーバに関する履歴のうちでサーバ間で行われた動作に関する履歴データとを比較すると、履歴管理サーバ内の履歴データは
“１０００１ receive from Ａ server ”
“１０００６ receive from Ｃ server ”
の２行となるのに対して、図７のＢサーバ内の履歴データは
“１０００６ receive from Ｃ server ”
のみとなり、両者の履歴データを比較することにより識別番号１０００１、すなわちＡサーバからの連続処理の件についてサーバ間で履歴の不一致が生じていることが分かる。なおこの１０００６を識別番号として持つ処理案件は、例えばＣサーバで作業Ｃ1 とＣ2 が実行され、その結果がＢサーバに送られて作業ｂ1 とｂ2 が実行される処理に相当する。
【００３０】
これに対して、図５のＡサーバの履歴と図７との内容を比較する場合を考える。図５のＡサーバ履歴においては、サーバ間の動作に関連する履歴データとして
“１０００６ send toＢ server ”
が存在するが、図７ではこれに対応する履歴データが存在せず、サーバ間で履歴の不一致が生じたことが分かる。
【００３１】
上の例では、Ａサーバでの処理結果をＢサーバに送ったにもかかわらず、Ｂサーバ上での履歴データではそれを受け取っていない状態になっているが、逆にＡサーバ側でシステムダウンを起こし、Ａサーバ側での履歴データにおいて結果を送っていない状態になってしまった場合も、対応する履歴の比較によって、同様にしてサーバ間での履歴の不一致が生じたことを発見することができる。
【００３２】
図５〜図７の例では、履歴管理サーバ３４のデータベース内の履歴情報からＢサーバに関連する履歴情報が取得されているが、通常履歴管理サーバ３４のデータベース内には広域ワークフローシステム内の全てのサーバに関する履歴情報が保持されているため、Ｂサーバに関連する履歴情報のみを検索するためには長い時間がかかる。この検索時間を短縮するために使用されるのは、図３において説明した相関テーブルである。すなわち相関テーブルを参照して、Ｂサーバにおける動作と依存関係を持つ動作を実行するワークフローシステムのサーバに関連する履歴情報だけを調べることによって、全てのサーバの履歴情報から必要な履歴情報を検索することなく、処理の時間を短縮することができる。
【００３３】
更に図５〜図７の例では履歴管理サーバに全てのサーバの履歴が保持されるものとしたが、広域ワークフローシステムに接続されているサーバの数が少ない場合には履歴管理サーバを特別に置くことなく、広域ワークフローシステムに接続されている全てのサーバに接続されているデータベースを検索することもできる。この場合でも個々のサーバ、またはネットワークに接続されている共用マシンに、サーバ間の動作の依存関係を表す相関テーブルを保持することにより、履歴情報を取得するまでの処理時間を短縮することができる。
【００３４】
続いて本発明における履歴情報の矛盾検出、すなわちシステムダウンから復旧したサーバにおける履歴と、履歴管理サーバ、または他のサーバ上の関連する履歴とが不一致となる処理案件の検出方式について、更に詳細に説明する。この不一致案件の検出を履歴管理サーバにおいて行うか、あるいはシステムダウンから復旧したサーバで行うか、あるいは保守専用のサーバにおいて行うか、更に履歴管理サーバそのものを置くか置かないかによって、不一致案件の検出フローが異なる。
【００３５】
図８はシステムダウンから復旧したサーバ自体が不一致案件の検出を行う処理のフローチャートである。この処理はシステムダウンからの復旧通知、または手動通知によって開始され、まずシステムダウンから復旧したシステムのサーバ、すなわち自サーバはステップＳ４０で履歴管理サーバに対して自サーバに関する履歴を要求し、履歴管理サーバはステップＳ４１で要求された履歴、例えばサーバ間動作情報のみを提供し、この履歴を提供された自サーバはステップＳ４２で履歴管理サーバ上の履歴と自サーバの履歴を比較し、ステップＳ４３で不一致案件のリストを作成し、ステップＳ４４で関係サーバに不一致案件を通知して処理を終了する。
【００３６】
図９はシステムダウンから復旧したワークフローシステムのサーバ、すなわち自サーバが図８におけると同様に不一致案件の検出を行うが、広域ワークフローシステム内に履歴管理サーバが置かれていない場合の処理フローチャートである。自サーバはステップＳ４６で、必要があればサーバ間依存関係を示す相関テーブルを参照して、他のサーバに自サーバに関する履歴を要求し、他のサーバがステップＳ４７で要求された履歴、すなわちサーバ間動作に関する情報を提供し、その提供を受けた自サーバはステップＳ４８で他のサーバから提供された履歴と自サーバ上の履歴とを比較し、ステップＳ４３で不一致案件リストを作成し、ステップＳ４４で関係サーバに不一致案件を通知して処理を終了する。
【００３７】
図１０は履歴管理サーバが不一致案件の検出を行う場合の処理フローチャートである。履歴管理サーバは、システムダウンの復旧通知、または手動通知により不一致案件検出処理を開始し、ステップＳ４６で復旧サーバに対しそのサーバの履歴を要求し、復旧サーバがステップＳ４７で自サーバの履歴を提供し、履歴管理サーバはステップＳ４９で履歴管理サーバ上の履歴と復旧サーバから提供された履歴とを比較し、ステップＳ４３で不一致案件リストを作成し、ステップＳ４４で関係サーバに不一致案件を通知して処理を終了する。
【００３８】
図１１はシステム全体の保守を担当する保守サーバが不一致案件検出処理を行う場合の処理フローチャートである。保守サーバは、システムダウンの復旧通知、または手動通知により不一致案件検出処理を開始し、ステップＳ５０で復旧サーバの履歴と履歴管理サーバ上にある復旧サーバに関する履歴とをそれぞれ復旧サーバと履歴管理サーバに要求し、ステップＳ５１でこれらの履歴が保守サーバに提供され、保守サーバがステップＳ４９で履歴管理サーバ上の履歴と復旧サーバから提供された履歴を比較し、ステップＳ４３で不一致案件のリストを作成し、ステップＳ４４で関係サーバに不一致案件を通知して処理を終了する。
【００３９】
図１２は図１１におけると同様に、保守サーバが不一致案件を検出する処理を行うが、履歴管理サーバが存在しない場合の処理フローチャートである。同図においてシステムダウンの復旧通知、または手動通知によって保守サーバは不一致案件検出処理を開始し、必要があればサーバ間依存関係を示す相関テーブルを参照し、復旧サーバに対してそのサーバの履歴、他のサーバに対して復旧サーバに関する履歴をステップＳ５３で要求し、これらの要求された履歴、例えばサーバ間動作情報のみがステップＳ５４で保守サーバに提供され、保守サーバはステップＳ５５で他のサーバの履歴と復旧サーバの履歴を比較し、ステップＳ４３で不一致案件のリストを作成し、ステップＳ４４で関係サーバに不一致案件を通知して処理を終了する。
【００４０】
図１３、および図１４は履歴比較の詳細処理フローチャートである。図１３は履歴管理サーバ上の履歴と特定サーバの履歴とを比較する場合の処理フローチャートである。この処理は図８のステップＳ４２、図１０および図１１のステップＳ４９に相当する。
【００４１】
図１３において、まずステップＳ５７で特定サーバ上の履歴のうちで、サーバ間動作情報を持つアクション情報を含む履歴が抽出され、これが集合Ａとされ、ステップＳ５８で履歴管理サーバ上の特定サーバに関する履歴のうちで、サーバ間動作情報を持つアクション情報を含む履歴が抽出され、これが集合Ｂとされる。そしてステップＳ５９で集合Ｂから集合Ａが除かれ、これが集合Ｃとされて処理を終了する。集合Ｃに含まれる履歴は不一致案件に関する情報であり、集合Ｃの履歴の識別番号とサーバ間動作情報を持つアクション情報から、どのサーバとの間で、どの案件のやり取りについて矛盾が発生したかが分かる。
【００４２】
図１４は履歴管理サーバが存在せず、復旧サーバと特定のサーバの間で履歴を比較する場合の処理フローチャートであり、図９のステップＳ４８、および図１２の保守サーバによるステップＳ５５の処理に相当する。ここでは復旧サーバをＢサーバとし、Ｂサーバとの間で履歴を比較する対象の特定サーバをＡサーバとして処理を説明する。
【００４３】
図１４において、まずステップＳ６１でＡサーバ上の履歴のうちで、Ｂサーバへの動作情報（センドツーＢサーバ）を含む履歴が抽出され、これが集合Ａ１とされ、ステップＳ６２でＡサーバ上の履歴のうちで、Ｂサーバからの動作情報（レシーブフロムＢサーバ）を含む履歴が抽出され、これが集合Ａ２とされる。続いてステップＳ６３で復旧後のＢサーバ上の履歴のうちで、Ａサーバへの動作情報（センドツーＡサーバ）を含む履歴が抽出され、これが集合Ｂ１とされ、ステップＳ６４で復旧後のＢサーバ上の履歴のうちで、Ａサーバからの動作情報（レシーブフロムＡサーバ）を含む履歴が抽出され、これが集合Ｂ２とされる。
【００４４】
ステップＳ６５で不一致案件を検出するために集合Ａ１から、集合Ｂ２に含まれる履歴が持つ識別番号と同じ識別番号を持つ履歴が除かれ、これが集合Ｃ１とされ、ステップＳ６６で集合Ａ２から、集合Ｂ１に含まれる履歴が持つ識別番号と同じ識別番号を持つ履歴が除かれ、これが集合Ｃ２とされて処理を終了する。この集合Ｃ１とＣ２に含まれる履歴が履歴に矛盾が生じた案件の情報であり、集合Ｃ１とＣ２の履歴の識別番号とサーバ間動作情報を持つアクション情報から、どのサーバとの間で、どの案件のやり取りに関して矛盾が発生したかが判明する。
【００４５】
【発明の効果】
以上詳細に説明したように、本発明によれば広域ワークフローシステムにおいて、あるワークフローシステムがシステムダウンから復旧する際にサーバ相互間で履歴の比較を確実に行うことができ、履歴に矛盾がある場合には早急にその矛盾を検出できるために速やかに広域ワークフローシステム全体を復旧させることができ、広域ワークフローシステムの信頼性と動作効率の向上に寄与するところが大きい。
【図面の簡単な説明】
【図１】本発明の原理構成ブロック図である。
【図２】本発明の保守方式が実行される広域ワークフローシステムの全体構成ブロック図である。
【図３】相関テーブルの例を示す図である。
【図４】サーバと履歴管理サーバの接続例を示す図である。
【図５】図４における各サーバの履歴の例を示す図である。
【図６】履歴管理サーバ上の履歴の例を示す図である。
【図７】システムダウンから復旧したＢサーバ上の履歴の例を示す図である。
【図８】不一致案件検出処理のフローチャート（その１）である。
【図９】不一致案件検出処理のフローチャート（その２）である。
【図１０】不一致案件検出処理のフローチャート（その３）である。
【図１１】不一致案件検出処理のフローチャート（その４）である。
【図１２】不一致案件検出処理のフローチャート（その５）である。
【図１３】履歴比較処理のフローチャート（その１）である。
【図１４】履歴比較処理のフローチャート（その２）である。
【図１５】ワークフローシステムの従来例の問題点を説明する図である。
【符号の説明】
１，１０    ワークフローシステム
２          履歴管理手段
１１，３３  広域ネットワーク
１２，３４  履歴管理サーバ
１３，２２  データベース
２０        サーバマシン
２１        クライアントマシン
３１        Ａサーバ
３２        Ｂサーバ
【図１】
0003647512.tif 000002
【図２】
0003647512.tif 000003
【図３】
0003647512.tif 000004
【図４】
0003647512.tif 000005
【図５】
0003647512.tif 000006
【図６】
0003647512.tif 000007
【図７】
0003647512.tif 000008
【図８】
0003647512.tif 000009
【図９】
0003647512.tif 000010
【図１０】
0003647512.tif 000011
【図１１】
0003647512.tif 000012
【図１２】
0003647512.tif 000013
【図１３】
0003647512.tif 000014
【図１４】
0003647512.tif 000015
【図１５】
0003647512.tif 000016