(57)【要約】      （修正有）【課題】情報処理装置において業務処理が終了したか否かを判定することができる監視制御プログラム等を提供する。【解決手段】情報処理装置１００は、業務処理Ｗ１に対応付けて、業務処理の終了に応じて実行が終了するプロセスＰ１，Ｐ２，Ｐ３の情報を記憶するテーブル１０１を有する。情報処理装置１００は、監視制御プログラムを実行することにより、情報処理装置１００において実行が終了するプロセスを検出し、検出した結果に基づいて、業務処理Ｗ１に対応付けてテーブル１０１に記憶されたプロセスＰ１，Ｐ２，Ｐ３の実行が終了した場合に、業務処理Ｗ１が終了したと判定する。【選択図】図１
2015095189.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行させることを特徴とする監視制御プログラム。
【請求項２】
前記記憶部は、前記業務処理に対応付けて、前記業務処理の終了に応じて実行が終了する複数のプロセスのうちで前記業務処理の終了に応じて規定順序で実行が終了する一連のプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定する、
ことを特徴とする請求項１に記載の監視制御プログラム。
【請求項３】
前記記憶部は、さらに、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了し、かつ、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの実行が終了したことに応じて、前記情報処理装置のシャットダウンとともに前記業務処理が終了したと判定する、
ことを特徴とする請求項２に記載の監視制御プログラム。
【請求項４】
前記プロセスの情報は、前記業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含むことを特徴とする請求項１〜３のいずれか一つに記載の監視制御プログラム。
【請求項５】
前記プロセスの情報は、前記情報処理装置とは異なる情報処理装置における前記業務処理の終了に応じて、または、前記異なる情報処理装置のシャットダウンの際に前記異なる情報処理装置において実行が終了したプロセスの情報を含むことを特徴とする請求項１〜４のいずれか一つに記載の監視制御プログラム。
【請求項６】
前記コンピュータに、
前記業務処理が終了したと判定したことに応じて、前記情報処理装置において前記業務処理が正常に動作しているか否かを判定する監視ポリシーを、前記業務処理とは異なる業務処理が正常に動作しているか否かを判定する監視ポリシーに変更する、
処理を実行させることを特徴とする請求項１〜５のいずれか一つに記載の監視制御プログラム。
【請求項７】
コンピュータが、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行することを特徴とする監視制御方法。
【請求項８】
業務処理と対応付けて前記業務処理が終了するときのプロセスの終了パターンを記憶する記憶部と、
情報処理装置におけるプロセスの実行の終了を検出した結果が、前記業務処理と対応付けて前記記憶部に記憶された前記終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する判定部と、
を有することを特徴とする監視制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視制御プログラム、監視制御方法、および監視制御装置に関する。
【背景技術】
【０００２】
従来、情報処理装置において行われる業務処理に異常が発生しているか否かを監視装置において監視することが行われる。情報処理装置において行われる業務処理が切り替わった場合には、監視装置において監視ポリシーを切り替えて監視することが行われる。監視ポリシーの切り替えは、例えば、業務システムのスケジュールに規定された業務処理の終了予定時刻を経過したときに行われる。関連する監視技術としては、例えば、下記の特許文献１が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７５９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、業務処理の終了時刻を予測することが難しいことがある。例えば、複数の業務処理を同時に行うと各々の業務処理を単独で行う場合よりも業務処理に時間がかかってしまう。また、例えば、業務処理の対象となるデータの量が変動する場合、業務処理の終了時刻を予測することが難しい。
【０００５】
業務処理の終了時刻が予測した終了予定時刻と異なってしまうと、情報処理装置において行われる業務処理を適切に監視することができないことがある。例えば、情報処理装置において処理遅延が発生して、業務処理が終了予定時刻に終了しなかった場合、本来適用されるべき業務処理に対する監視ポリシーを別の業務処理に対する監視ポリシーに切り替えてしまうことがある。
【０００６】
１つの側面では、本発明は、情報処理装置において業務処理が終了したか否かを判定することができる監視制御プログラム、監視制御方法、および監視制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、情報処理装置におけるプロセスの実行の終了を検出し、検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する監視制御プログラム、監視制御方法、および監視制御装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、情報処理装置において業務処理が終了したか否かを判定することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる監視制御プログラムによる業務処理の終了判定の一例を示す説明図である。
【図２】図２は、監視システム２００のシステム構成例を示す説明図である。
【図３】図３は、コンピュータのハードウェア構成例を示すブロック図である。
【図４】図４は、監視制御装置４００の機能的構成例を示すブロック図である。
【図５】図５は、親子関係のあるプロセス群の特定の一例を示す説明図である。
【図６】図６は、業務処理の終了予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。
【図７】図７は、シャットダウン予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。
【図８】図８は、業務処理に対するテーブルの一例を示す説明図である。
【図９】図９は、シャットダウンに対するテーブルの一例を示す説明図である。
【図１０】図１０は、業務処理が終了したか否かを判定する一例を示す説明図である。
【図１１】図１１は、業務処理が終了したか否かを判定する別の例を示す説明図である。
【図１２】図１２は、業務処理の終了における監視ポリシーの切り替えの一例を示す説明図である。
【図１３】図１３は、シャットダウンにおける監視ポリシーの切り替えの一例を示す説明図である。
【図１４】図１４は、他の情報処理装置２０２における業務処理に対するテーブルを使用する一例を示す説明図である。
【図１５】図１５は、ハッシュ値に対応付けたパターンの一例を示す説明図である。
【図１６】図１６は、パターンを更新する一例を示す説明図である。
【図１７】図１７は、監視定義処理手順の一例を示すフローチャートである。
【図１８】図１８は、プロセス分析処理手順の一例を示すフローチャートである。
【図１９】図１９は、テーブル作成処理手順の一例を示すフローチャートである。
【図２０】図２０は、テーブル修正処理手順の一例を示すフローチャートである。
【図２１】図２１は、判定処理手順の一例を示すフローチャートである。
【図２２】図２２は、グローバルチェック処理手順の一例を示すフローチャートである。
【図２３】図２３は、更新処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる監視制御プログラム、監視制御方法、および監視制御装置の実施の形態を詳細に説明する。
【００１１】
（監視制御プログラムによる業務処理の終了判定の一例）
図１は、実施の形態にかかる監視制御プログラムによる業務処理の終了判定の一例を示す説明図である。
【００１２】
図１において、情報処理装置１００は、業務処理Ｗ１を行うコンピュータである。また、情報処理装置１００は、監視制御プログラムを実行することにより、情報処理装置１００において業務処理が正常に終了したか否かを判定する監視制御装置としての機能を有する。業務処理は、特定の業務に固有の処理である。業務処理は、例えば、ミドルウェアによって実現される。業務処理は、例えば、オンライン業務の業務処理、およびバッチ処理の業務処理などである。
【００１３】
情報処理装置１００は、業務処理の終了に応じて実行が終了するプロセスの情報を記憶するテーブル１０１を有する。ここで、業務処理の終了に応じて実行が終了するプロセスは、１つであってもよいし、複数であってもよい。業務処理の終了に応じて実行が終了するプロセスは、例えば、上述したオンライン業務のためのプロセスであって、オンライン業務のためのミドルウェアによって生成されるプロセスである。図１の例では、テーブル１０１は、業務処理Ｗ１に対応付けて、業務処理の終了に応じて実行が終了するプロセスＰ１，Ｐ２，Ｐ３の情報を記憶するとする。
【００１４】
情報処理装置１００は、具体的には、情報処理装置１００において実行が終了するプロセスを検出する。情報処理装置１００は、検出した結果に基づいて、業務処理Ｗ１に対応付けてテーブル１０１に記憶されたプロセスＰ１，Ｐ２，Ｐ３の実行が終了した場合に、業務処理Ｗ１が終了したと判定する。
【００１５】
これにより、情報処理装置１００は、予め設定された業務処理Ｗ１の終了時点に業務処理Ｗ１が終了したか否かを判定することができる。また、情報処理装置１００は、業務処理Ｗ１の終了時点を過ぎてから、どの時点で業務処理Ｗ１が終了したかを検出することができる。
【００１６】
また、情報処理装置１００は、予め設定された業務処理Ｗ１の終了時点に業務処理Ｗ１が終了していない場合、情報処理装置１００における業務処理Ｗ１に対する監視ポリシーを変更しないようにすることができる。このため、情報処理装置１００は、業務処理Ｗ１の終了までは業務処理Ｗ１に対する監視ポリシーを継続させることができる。また、情報処理装置１００は、業務処理Ｗ１が終了したと判定した場合、業務処理Ｗ１に対する監視ポリシーを、別の業務処理に対する監視ポリシーに変更することができる。
【００１７】
ここでは、業務処理Ｗ１を行う情報処理装置１００自体が、監視制御装置としての機能を有する場合について説明したが、これに限らない。例えば、業務処理Ｗ１を行う情報処理装置１００を管理する他の情報処理装置１００が、情報処理装置１００における業務処理Ｗ１が終了したか否かを判定する監視制御装置としての機能を有してもよい。以下の説明では、情報処理装置１００を管理する他の情報処理装置１００を「管理装置」と表記する場合がある。
【００１８】
この場合、管理装置は、上述したテーブル１０１を有する。次に、管理装置は、業務処理Ｗ１を行う情報処理装置１００から、業務処理Ｗ１を行う情報処理装置１００において実行が終了したプロセスの情報を受信して、業務処理Ｗ１を行う情報処理装置１００において実行が終了したプロセスを検出する。そして、管理装置は、検出した結果とテーブル１０１の記憶内容とに基づいて、業務処理Ｗ１を行う情報処理装置１００において業務処理Ｗ１が正常に終了したか否かを判定する。
【００１９】
また、ここでは、情報処理装置１００が、一つの業務処理が終了したか否かを判定したが、これに限らない。例えば、情報処理装置１００が、複数の業務処理の各々の業務処理に対応するテーブル１０１を有し、各々の業務処理が終了したか否かを判定してもよい。また、業務処理と連動して行われる他の業務処理がある場合、情報処理装置１００は、業務処理と連動する他の業務処理の終了に応じて実行が終了するプロセスが、実際に実行が終了したことを検出して、業務処理が終了したか否かを判定してもよい。
【００２０】
（システム構成例）
図２は、監視システム２００のシステム構成例を示す説明図である。図２において、ネットワーク２１０は、管理装置２０１と情報処理装置２０２とが通信可能なネットワークである。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、携帯電話網などである。
【００２１】
管理装置２０１は、図３に後述するコンピュータによって実現される。管理装置２０１は、例えば、サーバ、ノート型パソコン、デスクトップ型パソコンなどである。管理装置２０１は、監視制御装置としての機能を有してもよく、情報処理装置２０２において業務処理が正常に終了したか否かを判定してもよい。
【００２２】
情報処理装置２０２は、図３に後述するコンピュータによって実現される。情報処理装置２０２は、例えば、サーバである。情報処理装置２０２は、監視制御装置としての機能を有してもよく、情報処理装置２０２において業務処理が正常に終了したか否かを判定してもよい。
【００２３】
（コンピュータのハードウェア構成例）
図３は、コンピュータのハードウェア構成例を示すブロック図である。
【００２４】
図３において、コンピュータは、プロセッサ３０１、記憶装置３０２、入力装置３０３、出力装置３０４、および通信装置３０５が、バス３０６に接続されている。
【００２５】
プロセッサ３０１は、コンピュータの全体の制御を司る。また、プロセッサ３０１は、記憶装置３０２に記憶されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や本実施の形態の監視制御プログラムなどの各種プログラムを実行することで、記憶装置３０２内のデータを読み出したり、実行結果となるデータを記憶装置３０２に書き込んだりする。
【００２６】
記憶装置３０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ３０１のワークエリアになったり、各種プログラムや、各種プログラムの実行により得られたデータを含む各種データを記憶したりする。
【００２７】
入力装置３０３は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。出力装置３０４は、プロセッサ３０１の指示により、データを出力するインターフェースである。出力装置３０４には、ディスプレイやプリンタが挙げられる。通信装置３０５は、ネットワークを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。また、コンピュータは、さらに、光ディスクドライブ、光ディスク、およびスキャナなどを有していてもよい。
【００２８】
管理装置２０１は、例えば、図３のコンピュータによって実現される。また、情報処理装置２０２は、例えば、図３のコンピュータによって実現される。
【００２９】
（監視制御装置４００の機能的構成例）
次に、図４を用いて、監視制御装置４００の機能的構成例について説明する。監視制御装置４００は、管理装置２０１、または情報処理装置２０２によって実現される。
【００３０】
図４は、監視制御装置４００の機能的構成例を示すブロック図である。監視制御装置４００は、検出部４０１と、特定部４０２と、記憶部４０３と、判定部４０４と、変更部４０５とを含む。
【００３１】
ここで、監視制御装置４００は、業務処理が終了したか否かを判定するためのテーブルを作成する動作を行うことができる。以下の説明では、テーブルを作成する動作を「第１の動作」と表記する場合がある。
【００３２】
また、監視制御装置４００は、テーブルに基づいて、情報処理装置２０２において業務処理が終了したか否かを判定する動作を行うことができる。以下の説明では、業務処理が終了したか否かを判定する動作を「第２の動作」と表記する場合がある。
【００３３】
また、監視制御装置４００は、情報処理装置２０２において業務処理が終了したと判定した場合、情報処理装置２０２に対する監視ポリシーを変更する動作を行うことができる。以下の説明では、監視ポリシーを変更する動作を「第３の動作」と表記する場合がある。
【００３４】
〈第１の動作〉
まず、第１の動作について説明する。第１の動作は、テーブルを作成する動作であって、検出部４０１と、特定部４０２と、記憶部４０３とによって実現される。
【００３５】
検出部４０１は、情報処理装置２０２におけるプロセスの実行の終了を検出する。検出部４０１は、例えば、監視制御装置４００が情報処理装置２０２自体である例では、情報処理装置２０２において実行中のプロセスを監視し、プロセスの実行の終了を検出する。検出部４０１は、例えば、監視制御装置４００が情報処理装置２０２とは異なる管理装置２０１である例では、情報処理装置２０２において実行中のプロセスを監視した結果を情報処理装置２０２から受信して、プロセスの実行の終了を検出する。
【００３６】
検出部４０１は、例えば、図３に示した記憶装置３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより、または、通信装置３０５により、その機能を実現する。検出されたデータは、例えば、記憶装置３０２に記憶される。
【００３７】
特定部４０２は、検出した結果に基づいて、業務処理が終了予定の期間に情報処理装置２０２において実行が終了したプロセス群のうちで呼び出し関係のある第１のプロセス群を特定する。特定部４０２は、例えば、検出した結果に基づいて、業務処理が終了予定の複数の期間に情報処理装置２０２において共通して実行が終了したプロセス群のうちで呼び出し関係のある第１のプロセス群を特定する。
【００３８】
特定部４０２は、具体的には、業務スケジュールに基づいて、業務処理が終了予定の複数の期間「月曜日〜水曜日までの各々の日の１８：４５〜１９：１５」を特定する。次に、特定部４０２は、「月曜日の１８：４５〜１９：１５」に実行が終了したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３，ｐ５」を特定する。また、特定部４０２は、「火曜日の１８：４５〜１９：１５」に実行が終了したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」を特定する。また、特定部４０２は、「水曜日の１８：４５〜１９：１５」に実行が終了したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」を特定する。
【００３９】
次に、特定部４０２は、「月曜日〜水曜日までの各々の日の１８：４５〜１９：１５」に共通して実行が終了したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」を特定する。そして、特定部４０２は、プロセス群「ｐ０，ｐ１，ｐ２，ｐ３」のうち、呼び出し関係のあるプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」を特定する。
【００４０】
これにより、特定部４０２は、複数の期間のうちのいずれかの期間において偶然実行が終了したプロセスを除外して、業務処理が終了予定の期間に実行が終了した呼び出し関係のあるプロセス群を特定することができる。例えば、特定部４０２は、偶然「月曜日の１８：４５〜１９：１５」に実行が終了したプロセス「ｐ５」を除外して、業務処理が終了予定の期間に実行が終了した呼び出し関係のあるプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」を特定することができる。
【００４１】
特定部４０２は、検出した結果に基づいて、情報処理装置２０２において繰り返し呼び出されたプロセスの呼び出し元になる第２のプロセス群を特定する。特定部４０２は、所定時間内にプロセスが呼び出された回数を計数し、複数回呼び出されたプロセスを特定し、特定したプロセスの呼び出し元になる第２のプロセス群を特定する。
【００４２】
特定部４０２は、具体的には、１時間の間に複数回生成されて呼び出されたプロセス「ｐ３」を特定する。次に、特定部４０２は、特定したプロセス「ｐ３」を呼び出した親プロセス「ｐ２」を特定し、親プロセス「ｐ２」を呼び出した親プロセス「ｐ１」を特定し、親プロセス「ｐ１」を呼び出した親プロセス「ｐ０」を特定する。そして、特定部４０２は、プロセス「ｐ３」の呼び出し元になるプロセス群「ｐ０，ｐ１，ｐ２」を特定する。
【００４３】
特定部４０２は、具体的には、１時間の間に複数回生成されて呼び出されたプロセス「ｐ４」を特定する。次に、特定部４０２は、特定したプロセス「ｐ４」を呼び出した親プロセス「ｐ２」を特定し、親プロセス「ｐ２」を呼び出した親プロセス「ｐ１」を特定し、親プロセス「ｐ１」を呼び出した親プロセス「ｐ０」を特定する。そして、特定部４０２は、プロセス「ｐ４」の呼び出し元になるプロセス群「ｐ０，ｐ１，ｐ２」を特定する。
【００４４】
特定部４０２は、特定した複数のプロセス群に重複するプロセスが含まれる場合、複数のプロセスをまとめて、新しいプロセス群として特定する。特定部４０２は、プロセス「ｐ３」の呼び出し元になるプロセス群「ｐ０，ｐ１，ｐ２」と、プロセス「ｐ４」の呼び出し元になるプロセス群「ｐ０，ｐ１，ｐ２」と、が重複するため、まとめてプロセス群「ｐ０，ｐ１，ｐ２」として特定する。これにより、特定部４０２は、情報処理装置２０２において業務処理が行われている際に、情報処理装置２０２に常駐する呼び出し関係のあるプロセス群を特定することができる。
【００４５】
特定部４０２は、特定した第１のプロセス群と特定した第２のプロセス群とに共通するプロセスの情報を、業務処理に対応付けて記憶部４０３に記憶する。特定部４０２は、具体的には、特定したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」と特定したプロセス群「ｐ０，ｐ１，ｐ２」とに共通して含まれるプロセス群「ｐ０，ｐ１，ｐ２」を、業務処理に対応付けて記憶部４０３に記憶する。
【００４６】
また、特定部４０２は、特定した第１のプロセス群と特定した第２のプロセス群とに共通するプロセスのうちで複数の期間に共通して規定順序で実行が終了した一連のプロセスの情報を、業務処理に対応付けて記憶部４０３に記憶してもよい。特定部４０２は、具体的には、プロセス群「ｐ０，ｐ１，ｐ２，ｐ３」のうち、「月曜日〜水曜日までの各々の日における１８：４５〜１９：１５」において、常に「ｐ１→ｐ０」という規定順序で実行が終了したことを特定する。
【００４７】
次に、特定部４０２は、特定したプロセス群「ｐ０，ｐ１，ｐ２，ｐ３」と特定したプロセス群「ｐ０，ｐ１，ｐ２」とに共通して含まれるプロセス群「ｐ０，ｐ１，ｐ２」を特定する。そして、特定部４０２は、共通して含まれるプロセス群「ｐ０，ｐ１，ｐ２」のうちで、規定順序で実行が終了する一連のプロセス「ｐ０，ｐ１」を、業務処理に対応付けて記憶部４０３に記憶する。これにより、特定部４０２は、業務処理の終了に応じて実行が終了するプロセス群を特定することができ、プロセス群のうちで規定順序で実行が終了する一連のプロセスを特定することができる。
【００４８】
また、特定部４０２は、検出した結果に基づいて、情報処理装置２０２のシャットダウンの際に実行が終了する第３のプロセス群を特定してもよい。特定部４０２は、具体的には、シャットダウンに伴って業務処理が終了する複数の期間において共通して実行が終了する呼び出し関係のある第１のプロセス群を特定する。次に、特定部４０２は、第１のプロセス群と第２のプロセス群と重複するプロセスを特定するとともに、重複するプロセスとは異なるプロセスであって情報処理装置２０２のシャットダウンの際に実行が終了する第３のプロセス群を特定する。そして、特定部４０２は、第３のプロセス群を、業務処理に対応付けて記憶部４０３に記憶する。これにより、特定部４０２は、業務処理の終了に応じて実行が終了するプロセス群を特定することができ、プロセス群のうちで規定順序で実行が終了する一連のプロセスを特定することができ、シャットダウンの際に実行が終了するプロセスを特定することができる。
【００４９】
特定部４０２は、例えば、図３に示した記憶装置３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより、その機能を実現する。
【００５０】
記憶部４０３は、業務処理と対応付けて、業務処理が終了するときのプロセスの終了パターンを記憶する。終了パターンとは、業務処理の終了に応じて実行が終了する複数のプロセスの組み合わせ、または終了する順序などを示す情報である。以下の説明では、終了パターンを、単に「パターン」と表記する場合がある。
【００５１】
記憶部４０３は、例えば、業務処理の終了に応じて実行が終了する複数のプロセスを記憶する。記憶部４０３は、具体的には、特定部４０２によって特定されたプロセス群「ｐ０，ｐ１，ｐ２」を、テーブルに記憶する。以下の説明では、単に業務処理の終了に応じて実行が終了する複数のプロセスを記憶するテーブルを「組み合わせテーブル」と表記する場合がある。パターンは、例えば、組み合わせテーブルにより記憶される。これにより、判定部４０４は、組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
【００５２】
また、記憶部４０３は、例えば、業務処理に対応付けて、業務処理の終了に応じて実行が終了する複数のプロセスのうちで業務処理の終了に応じて規定順序で実行が終了する一連のプロセスの情報を記憶してもよい。記憶部４０３は、具体的には、特定部４０２によって特定されたプロセス群「ｐ０，ｐ１，ｐ２」のうちの一連のプロセス「ｐ０，ｐ１」を、規定順序「ｐ１→ｐ０」で、テーブルに記憶する。以下の説明では、業務処理の終了に応じて実行が終了する複数のプロセスのうちの一連のプロセスを規定順序を表すように記憶するテーブルを「順序テーブル」と表記する場合がある。また、記憶部４０３は、残余のプロセス「ｐ２」を組み合わせテーブルに記憶する。パターンは、例えば、組み合わせテーブルと順序テーブルとにより記憶される。これにより、判定部４０４は、順序テーブルおよび組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
【００５３】
記憶部４０３は、さらに、情報処理装置２０２のシャットダウンの際に実行が終了するプロセスの情報を記憶してもよい。記憶部４０３は、具体的には、検出部４０１によって検出された情報処理装置２０２のシャットダウンの際に実行が終了するプロセス「ｐ６」を、テーブルに記憶する。以下の説明では、シャットダウンの際に実行が終了するプロセスを記憶するテーブルを「補足テーブル」と表記する場合がある。これにより、判定部４０４は、補足テーブルの記憶内容を参照して、シャットダウンしたか否かを判定することができる。
【００５４】
ここで、プロセスの情報は、業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含んでもよい。これにより、判定部４０４は、業務処理の終了に応じて実行が終了するプロセスを詳細に特定して、業務処理が終了したか否かを判定する精度を向上させることができる。
【００５５】
また、プロセスの情報は、情報処理装置２０２とは異なる情報処理装置２０２における業務処理の終了に応じて、または、異なる情報処理装置２０２のシャットダウンの際に、異なる情報処理装置２０２において実行が終了したプロセスの情報であってもよい。
【００５６】
ここで、情報処理装置２０２における業務処理の終了に応じて、情報処理装置２０２において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御装置４００は、他の情報処理装置２０２における業務処理の終了に応じて他の情報処理装置２０２において実行が終了するプロセスの情報を流用して、情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【００５７】
また、業務処理の内容が変更されて業務処理の終了に応じて実行が終了するプロセスの種類が変化した場合で、情報処理装置２０２における業務処理の終了に応じて情報処理装置２０２において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御装置４００は、他の情報処理装置２０２における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【００５８】
また、ネットワーク２１０に新しく情報処理装置２０２を追加した場合を例に挙げる。この場合であっても、監視制御装置４００は、他の情報処理装置２０２における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、新しく追加した情報処理装置２０２において業務処理が終了したか否かを判定することができる。記憶部４０３は、例えば、図３に示した記憶装置３０２により、その機能を実現する。
【００５９】
〈第２の動作〉
次に、第２の動作について説明する。第２の動作は、業務処理が終了したか否かを判定する動作であって、検出部４０１と、記憶部４０３と、判定部４０４とによって実現される。
【００６０】
検出部４０１は、第１の動作と同様の処理を行うため、説明を省略する。記憶部４０３は、第１の動作によって作成された順序テーブルおよび組み合わせテーブルを記憶する。また、記憶部４０３は、補足テーブルを記憶してもよい。
【００６１】
判定部４０４は、検出した結果に基づいて、業務処理に対応付けて業務処理の終了に応じて実行が終了するプロセスの情報を記憶する記憶部４０３の記憶内容を参照して、業務処理が終了したか否かを判定する。
【００６２】
判定部４０４は、例えば、検出したプロセスの終了の結果が、業務処理と対応付けて記憶部４０３に記憶された業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、業務処理が終了したか否かを判定する。
【００６３】
ここで、組み合わせテーブルにプロセス群「ｐ０，ｐ１，ｐ２」が記憶された場合を例に挙げる。この場合、判定部４０４は、検出した結果に基づいて、組み合わせテーブルに記憶されたプロセス群「ｐ０，ｐ１，ｐ２」の実行が終了したか否かを判定する。
【００６４】
そして、判定部４０４は、終了したと判定した場合、業務処理が正常に終了したと判定する。一方で、判定部４０４は、終了していないと判定した場合、業務処理が正常に終了していないと判定する。これにより、判定部４０４は、組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
【００６５】
また、判定部４０４は、検出した結果に基づいて、記憶部４０３の記憶内容を参照して、業務処理が終了したと判定してもよい。判定部４０４は、規定順序で一連のプロセスの実行が終了し、かつ、複数のプロセスのうちの一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、業務処理が終了したと判定する。
【００６６】
ここで、順序テーブルに一連のプロセス「ｐ０，ｐ１」が記憶され、組み合わせテーブルに残余のプロセス「ｐ２」が記憶された場合を例に挙げる。この場合、判定部４０４は、一連のプロセス「ｐ０，ｐ１」の実行が、規定順序「ｐ１→ｐ０」で終了したか否かを判定する。また、判定部４０４は、残余のプロセス「ｐ２」の実行が終了したか否かを判定する。
【００６７】
そして、判定部４０４は、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了したと判定した場合、業務処理が正常に終了したと判定する。一方で、判定部４０４は、一連のプロセスの実行が規定順序で終了していない場合、または、残余のプロセスの実行が終了していない場合、業務処理が正常に終了していないと判定する。これにより、判定部４０４は、順序テーブルおよび組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
【００６８】
判定部４０４は、検出した結果に基づいて、記憶部４０３の記憶内容を参照して、情報処理装置２０２のシャットダウンとともに業務処理が終了したと判定してもよい。判定部４０４は、規定順序で一連のプロセスの実行が終了し、かつ、複数のプロセスのうちの一連のプロセスとは異なる残余のプロセスの実行が終了し、かつ、シャットダウンの際に実行が終了するプロセスの実行が終了したことを判定する。この場合、判定部４０４は、情報処理装置２０２のシャットダウンとともに業務処理が終了したと判定する。
【００６９】
ここで、順序テーブルに一連のプロセス「ｐ０，ｐ１」が記憶され、組み合わせテーブルに残余のプロセス「ｐ２」が記憶され、補足テーブルにシャットダウンの際に実行が終了するプロセス「ｐ６」が記憶された場合を例に挙げる。この場合、判定部４０４は、一連のプロセス「ｐ０，ｐ１」の実行が、規定順序「ｐ１→ｐ０」で終了したか否かを判定する。また、判定部４０４は、残余のプロセス「ｐ２」の実行が終了したか否かを判定する。また、判定部４０４は、シャットダウンの際に実行が終了するプロセス「ｐ６」の実行が終了したか否かを判定する。
【００７０】
そして、判定部４０４は、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了し、かつ、シャットダウンの際に実行が終了したと判定した場合、業務処理が情報処理装置２０２のシャットダウンに伴って終了したと判定する。これにより、判定部４０４は、順序テーブル、組み合わせテーブル、および補足テーブルの記憶内容を参照して、業務処理がシャットダウンに伴って終了したか否かを判定することができる。
【００７１】
判定部４０４は、例えば、図３に示した記憶装置３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより、その機能を実現する。判定結果は、例えば、記憶装置３０２に記憶される。
【００７２】
〈第３の動作〉
次に、第３の動作について説明する。第３の動作は、監視ポリシーを変更する動作であって、記憶部４０３と、変更部４０５とによって実現される。
【００７３】
変更部４０５は、判定部４０４が業務処理が終了したと判定したことに応じて、監視ポリシーを変更する。変更部４０５は、例えば、情報処理装置２０２において業務処理が正常に動作しているか否かを判定する監視ポリシーを、業務処理とは異なる別の業務処理が正常に動作しているか否かを判定する監視ポリシーに変更する。
【００７４】
また、変更部４０５は、判定部４０４が情報処理装置２０２のシャットダウンに伴って業務処理が終了したと判定したことに応じて、監視ポリシーをＯＦＦにしてもよい。そして、変更部４０５は、情報処理装置２０２が起動したときに、監視ポリシーを元に戻す。
【００７５】
これにより、変更部４０５は、業務処理を、適切な監視ポリシーで監視させることができる。変更部４０５は、例えば、図３に示した記憶装置３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより、または、通信装置３０５により、その機能を実現する。
【００７６】
情報処理装置２０２が、監視制御装置４００としての機能を有する場合、第１の動作についての機能のみを有してもよいし、第２の動作についての機能のみを有してもよいし、第３の動作についての機能のみを有してもよい。また、情報処理装置２０２が、監視制御装置４００としての機能を有する場合、第１の動作、第２の動作、および第３の動作のうちの２つの動作についての機能のみを有してもよいし、３つの動作についての機能を有してもよい。
【００７７】
管理装置が、監視制御装置４００としての機能を有する場合、第１の動作についての機能のみを有してもよいし、第２の動作についての機能のみを有してもよいし、第３の動作についての機能のみを有してもよい。また、管理装置が、監視制御装置４００としての機能を有する場合、第１の動作、第２の動作、および第３の動作のうちの２つの動作についての機能のみを有してもよいし、３つの動作についての機能を有してもよい。
【００７８】
（親子関係のあるプロセス群の特定）
次に、図５を用いて、情報処理装置２０２の親子関係のあるプロセス群の特定の一例について説明する。図５の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図５の例は、具体的には、図４を用いて説明した、特定部４０２が第２のプロセス群を特定する場合の例である。
【００７９】
図５は、親子関係のあるプロセス群の特定の一例を示す説明図である。情報処理装置２０２は、所定期間内に親プロセスによって繰り返し生成され消滅する子プロセスを検出する。次に、情報処理装置２０２は、検出した子プロセスより親側にある親プロセス群を特定する。そして、情報処理装置２０２は、特定した親プロセス群を、繰り返し生成され消滅する子プロセスを除いた、常駐する親子関係のあるプロセス群として記憶装置３０２に記憶する。ここで、特定した親プロセス群のうち、重複する複数の親プロセス群がある場合、複数の親プロセス群をまとめて、常駐する親子関係のあるプロセス群として記憶装置３０２に記憶する。
【００８０】
図５の例では、情報処理装置２０２は、所定期間内に繰り返し生成されている子プロセスＡ−５，Ａ−６，Ｂ−４を検出する。次に、情報処理装置２０２は、子プロセスＡ−５の親側にある親プロセスＡ−０〜Ａ−３を特定する。また、情報処理装置２０２は、子プロセスＡ−６の親側にある親プロセスＡ−０〜Ａ−２，Ａ−４を特定する。また、情報処理装置２０２は、子プロセスＢ−４の親側にある親プロセスＢ−０〜Ｂ−３を特定する。
【００８１】
そして、情報処理装置２０２は、特定した親プロセスＡ−０〜Ａ−３と特定した親プロセスＡ−０〜Ａ−２，Ａ−４とが重複するため、まとめて、常駐する親子関係のあるプロセスＡ−０〜Ａ−４として、記憶装置３０２に記憶する。また、情報処理装置２０２は、特定した親プロセスＢ−０〜Ｂ−３を、常駐する親子関係のあるプロセスＢ−０〜Ｂ−３として、記憶装置３０２に記憶する。
【００８２】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２から情報処理装置２０２におけるプロセスの生成と消滅の履歴を受信して、情報処理装置２０２における親子関係のあるプロセス群を特定してもよい。
【００８３】
（業務処理の終了予定の期間において実行が終了するプロセス群の特定）
次に、図６を用いて、情報処理装置２０２の業務処理の終了予定の期間において実行が終了するプロセス群の特定の一例について説明する。図６の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図６の例は、具体的には、図４を用いて説明した、特定部４０２が第１のプロセス群を特定する場合の例である。
【００８４】
図６は、業務処理の終了予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。情報処理装置２０２は、複数ある、業務処理の終了予定の期間において、実行が終了したプロセス群を特定するとともに、実行が終了した順序を特定して、業務処理に対応付けて、記憶装置３０２に記憶する。
【００８５】
図６の例では、情報処理装置２０２は、監視ポリシー定義情報に基づいて、複数ある、業務処理の終了予定の期間を特定する。監視ポリシー定義情報は、業務処理のスケジュールを表す情報である。監視ポリシー定義情報は、例えば、業務処理の終了予定時刻の情報を含む。
【００８６】
情報処理装置２０２は、例えば、終了予定時刻の１５分前から３０分間を、終了予定期間として特定する。ここで、情報処理装置２０２は、２つの終了予定期間を特定したとする。
【００８７】
次に、情報処理装置２０２は、１回目の業務処理の終了予定の期間において、実行が終了した親プロセスＡ−０〜Ａ−４を特定する。また、情報処理装置２０２は、実行が終了した親プロセスＡ−０〜Ａ−４について、実行が終了した順序「Ａ−４→Ａ−３→Ａ−２→Ａ−１→Ａ−０」を特定する。
【００８８】
また、情報処理装置２０２は、２回目の業務処理の終了予定の期間において、実行が終了した親プロセスＡ−０〜Ａ−４を特定する。また、情報処理装置２０２は、実行が終了した親プロセスＡ−０〜Ａ−４について、実行が終了した順序「Ａ−３→Ａ−４→Ａ−２→Ａ−１→Ａ−０」を特定する。
【００８９】
これにより、情報処理装置２０２は、業務処理の終了予定の期間において実行が終了するプロセス群を特定することができる。換言すれば、情報処理装置２０２は、業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を特定することができる。
【００９０】
また、管理装置が、監視制御装置４００としての機能を有する場合を例に挙げる。この場合では、管理装置が、情報処理装置２０２から情報処理装置２０２におけるプロセスの実行の終了の履歴を受信して、情報処理装置２０２における業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を特定してもよい。
【００９１】
（シャットダウン予定の期間において実行が終了するプロセス群の特定）
次に、図７を用いて、情報処理装置２０２のシャットダウン予定の期間において実行が終了するプロセス群の特定の一例について説明する。図７の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図７の例は、具体的には、図４を用いて説明した、特定部４０２が第３のプロセス群を特定する場合の例である。
【００９２】
図７は、シャットダウン予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。情報処理装置２０２は、複数ある、シャットダウン予定の期間において、実行が終了したプロセス群を特定するとともに、実行が終了した順序を特定して、シャットダウンの際の業務処理を表す情報に対応付けて、記憶装置３０２に記憶する。
【００９３】
図７の例では、情報処理装置２０２は、監視ポリシー定義情報に基づいて、複数ある、シャットダウン予定の期間を特定する。情報処理装置２０２は、例えば、シャットダウン予定時刻の１５分前から３０分間を、シャットダウン予定の期間として特定する。ここで、情報処理装置２０２は、２つのシャットダウン予定の期間を特定したとする。
【００９４】
次に、情報処理装置２０２は、１回目のシャットダウン予定の期間において、実行が終了した親プロセスＡ−０〜Ａ−４を特定するとともに、実行が終了したプロセスＸ−０〜Ｘ−４を特定する。また、情報処理装置２０２は、実行が終了した親プロセスＡ−０〜Ａ−４について、実行が終了した順序「Ａ−４→Ａ−３→Ａ−２→Ａ−１→Ａ−０」を特定する。
【００９５】
また、情報処理装置２０２は、２回目のシャットダウン予定の期間において、実行が終了した親プロセスＡ−０〜Ａ−４を特定するとともに、実行が終了したプロセスＸ−０〜Ｘ−４を特定する。また、情報処理装置２０２は、実行が終了した親プロセスＡ−０〜Ａ−４について、実行が終了した順序「Ａ−３→Ａ−４→Ａ−２→Ａ−１→Ａ−０」を特定する。
【００９６】
これにより、情報処理装置２０２は、シャットダウン予定の期間において実行が終了するプロセス群を特定することができる。換言すれば、情報処理装置２０２は、シャットダウンに応じて実行が終了するプロセスを含むプロセス群を特定することができる。
【００９７】
また、管理装置が、監視制御装置４００としての機能を有する場合を例に挙げる。この場合では、管理装置が、情報処理装置２０２から情報処理装置２０２におけるプロセスの実行の終了の履歴を受信して、情報処理装置２０２におけるシャットダウンに応じて実行が終了するプロセスを含むプロセス群を特定してもよい。
【００９８】
（業務処理に対するテーブル）
次に、図８を用いて、情報処理装置２０２の業務処理の終了に応じて実行が終了するプロセス群が記憶される、業務処理に対するテーブルの一例について説明する。
【００９９】
図８の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図８の例は、具体的には、図４を用いて説明した、特定部４０２が第１のプロセス群と第２のプロセス群とに共通するプロセスを特定して順序テーブル８０１および組み合わせテーブル８０２として記憶する場合の例である。
【０１００】
図８は、業務処理に対するテーブルの一例を示す説明図である。情報処理装置２０２は、図６において記憶装置３０２に記憶したプロセス群のうちの既定順序で実行が終了する一連のプロセスの情報を記憶する、順序性ありのプロセスについての順序テーブル８０１を作成して、記憶装置３０２に記憶する。図８の例では、順序テーブル８０１は、図６において記憶装置３０２に記憶したプロセス群のうちのプロセスＡ−０〜Ａ−２を、順序性ありのプロセスとして記憶する。
【０１０１】
また、情報処理装置２０２は、特定したプロセス群のうちの既定順序で実行が終了する一連のプロセスを除いた残余のプロセスの情報を記憶する、順序性なしのプロセスについての組み合わせテーブル８０２を作成して、記憶装置３０２に記憶する。図８の例では、組み合わせテーブル８０２は、図６において記憶装置３０２に記憶したプロセス群のうちのプロセスＡ−３，Ａ−４を、順序性なしのプロセスとして記憶する。
【０１０２】
次に、情報処理装置２０２は、順序テーブル８０１に記憶されたプロセス群のうちで、図５において記憶装置３０２に記憶した常駐する親子関係のあるプロセスＡ−０〜Ａ−４とは異なるプロセスを、順序テーブル８０１から除外する。また、情報処理装置２０２は、組み合わせテーブル８０２に記憶されたプロセス群のうちで、図５において記憶装置３０２に記憶した常駐する親子関係のあるプロセスＡ−０〜Ａ−４とは異なるプロセスを、組み合わせテーブル８０２から除外する。
【０１０３】
これにより、情報処理装置２０２は、業務処理の終了に応じて実行が終了するプロセス群を特定することができる。そして、情報処理装置２０２は、業務処理が終了したか否かを判定する際に用いられる各種テーブルを作成して、記憶装置３０２に記憶することができる。
【０１０４】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２から、情報処理装置２０２が特定した業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を受信して、各種テーブルを作成してもよい。
【０１０５】
（シャットダウンに対するテーブルの作成）
次に、図９を用いて、情報処理装置２０２のシャットダウンに応じて実行が終了するプロセス群が記憶される、シャットダウンに対するテーブルの一例について説明する。
【０１０６】
図９の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図９の例は、具体的には、図４を用いて説明した、順序テーブル８０１および組み合わせテーブル８０２を記憶するとともに、特定部４０２が第３のプロセス群を特定して補足テーブル９０１として記憶する場合の例である。
【０１０７】
図９は、シャットダウンに対するテーブルの一例を示す説明図である。情報処理装置２０２は、図６において記憶装置３０２に記憶したプロセス群のうちの既定順序で実行が終了する一連のプロセスの情報を記憶する、順序性ありのプロセスについての順序テーブル８０１を作成して、記憶装置３０２に記憶する。また、情報処理装置２０２は、特定したプロセス群のうちの既定順序で実行が終了する一連のプロセスを除いた残余のプロセスの情報を記憶する、順序性なしのプロセスについての組み合わせテーブル８０２を作成して、記憶装置３０２に記憶する。
【０１０８】
次に、情報処理装置２０２は、順序テーブル８０１に記憶されたプロセス群のうちで、図５において記憶装置３０２に記憶した常駐する親子関係のあるプロセスＡ−０〜Ａ−４とは異なるプロセスを、順序テーブル８０１から除外する。また、情報処理装置２０２は、組み合わせテーブル８０２に記憶されたプロセス群のうちで、図５において記憶装置３０２に記憶した常駐する親子関係のあるプロセスＡ−０〜Ａ−４とは異なるプロセスを、組み合わせテーブル８０２から除外する。
【０１０９】
次に、情報処理装置２０２は、図６において記憶装置３０２に記憶したプロセス群のうちで組み合わせテーブル８０２から除外されたプロセス群を、業務処理とは異なる他の処理の終了に応じて実行が終了するプロセス群として、特定する。そして、情報処理装置２０２は、特定したプロセス群を記憶する、他の処理のプロセスについての補足テーブル９０１を作成して、記憶装置３０２に記憶する。
【０１１０】
これにより、情報処理装置２０２は、シャットダウンに応じて実行が終了するプロセス群を特定することができる。そして、情報処理装置２０２は、シャットダウンしたか否かを判定する際に用いられる各種テーブルを作成して、記憶装置３０２に記憶することができる。
【０１１１】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２から、情報処理装置２０２が特定したシャットダウンに応じて実行が終了するプロセスを含むプロセス群を受信して、各種テーブルを作成してもよい。
【０１１２】
（業務処理が終了したか否かを判定する一例）
次に、図１０を用いて、情報処理装置２０２が、図８において作成された各種テーブル、および図９において作成された各種テーブルに基づいて、業務処理が終了したか否かを判定する一例について説明する。
【０１１３】
図１０の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１０の例は、具体的には、図４を用いて説明した、判定部４０４が情報処理装置２０２において業務処理が終了したか否かを判定する場合の例である。
【０１１４】
図１０は、業務処理が終了したか否かを判定する一例を示す説明図である。情報処理装置２０２は、プロセスの実行が終了したことを検出し、図８において作成された各種テーブル、および図９において作成された各種テーブルのうちのいずれかのテーブルに記憶されたプロセスの実行が終了したか否かを判定する。
【０１１５】
情報処理装置２０２は、プロセスの実行が終了したと判定した場合、続けてプロセスの実行が終了したことを検出し、実行が終了したプロセスの履歴１０００を作成する。図１０の例では、情報処理装置２０２は、プロセスＡ−２→プロセスＡ−１→プロセスＡ−４→プロセスＡ−３→プロセスＡ−０の順序で実行が終了したプロセスＡ−０〜Ａ−４の情報を記憶する履歴１０００を作成する。
【０１１６】
ここで、情報処理装置２０２は、図８において作成された各種テーブルに基づいて、作成した履歴１０００から業務処理が正常に終了したか否かを判定する。情報処理装置２０２は、例えば、図８において作成された順序テーブル８０１に基づいて、既定順序でプロセスＡ−０〜Ａ−２の実行が終了したか否かを判定する。図１０の例では、情報処理装置２０２は、既定順序で実行が終了したと判定する。
【０１１７】
また、情報処理装置２０２は、図８において作成された組み合わせテーブル８０２に基づいて、残余のプロセスＡ−３，Ａ−４の実行が終了したか否かを判定する。図１０の例では、情報処理装置２０２は、実行が終了したと判定する。そして、情報処理装置２０２は、既定順序で一連のプロセスの実行が終了し、かつ、残余のプロセスの実行が終了したため、業務処理が正常に終了したと判定する。
【０１１８】
また、ここで、情報処理装置２０２は、図９において作成された各種テーブルに基づいて、履歴１０００からシャットダウンしたか否かを判定してもよい。情報処理装置２０２は、例えば、図９において作成された順序テーブル８０１に基づいて、既定順序でプロセスＡ−０〜Ａ−２の実行が終了したか否かを判定する。図９において作成された組み合わせテーブル８０２に基づいて、残余のプロセスＡ−３，Ａ−４の実行が終了したか否かを判定する。
【０１１９】
そして、情報処理装置２０２は、図９において作成された補足テーブル９０１に基づいて、他の処理のプロセスＸ−０〜Ｘ−４の実行が終了したか否かを判定する。情報処理装置２０２は、既定順序で一連のプロセスの実行が終了し、残余のプロセスの実行が終了し、かつ、他の処理のプロセスが終了した場合、シャットダウンとともに業務処理が正常に終了したと判定する。
【０１２０】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２から情報処理装置２０２において実行が終了したプロセスの情報を受信して、業務処理が正常に終了したか否かを判定してもよい。
【０１２１】
（業務処理が終了したか否かを判定する別の例）
次に、図１１を用いて、情報処理装置２０２が、図８において作成されたテーブル、および図９において作成されたテーブルに基づいて、業務処理が終了したか否かを判定する別の例について説明する。
【０１２２】
図１１の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１１の例は、具体的には、図４を用いて説明した、判定部４０４が情報処理装置２０２において業務処理が終了したか否かを判定する場合の例である。
【０１２３】
図１１は、業務処理が終了したか否かを判定する別の例を示す説明図である。情報処理装置２０２は、プロセスの実行が終了したことを検出し、図８において作成された各種テーブル、および図９において作成された各種テーブルのうちのいずれかのテーブルに記憶されたプロセスの実行が終了したか否かを判定する。
【０１２４】
情報処理装置２０２は、プロセスの実行が終了したと判定した場合、続けてプロセスの実行が終了したことを検出し、実行が終了したプロセスの履歴１１００を作成する。図１１の例では、情報処理装置２０２は、プロセスＡ−０→プロセスＡ−２→プロセスＡ−４→プロセスＡ−３→プロセスＡ−１の順序で実行が終了したプロセスＡ−０〜Ａ−４の情報を記憶する履歴１１００を作成する。
【０１２５】
ここで、情報処理装置２０２は、図８において作成された各種テーブルに基づいて、作成した履歴１１００から業務処理が正常に終了したか否かを判定する。情報処理装置２０２は、例えば、図８において作成された順序テーブル８０１に基づいて、既定順序でプロセスＡ−０〜Ａ−２の実行が終了したか否かを判定する。図１１の例では、情報処理装置２０２は、既定順序とは異なる順序で実行が終了したと判定する。
【０１２６】
また、情報処理装置２０２は、図８において作成された組み合わせテーブル８０２に基づいて、残余のプロセスＡ−３，Ａ−４の実行が終了したか否かを判定する。図１１の例では、情報処理装置２０２は、実行が終了したと判定する。そして、情報処理装置２０２は、既定順序とは異なる順序で一連のプロセスの実行が終了したため、業務処理が正常に終了していないと判定する。
【０１２７】
（業務処理の終了における監視ポリシーの切り替え）
次に、図１２を用いて、情報処理装置２０２の業務処理の終了における監視ポリシーの切り替えの一例について説明する。図１２の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１２の例は、具体的には、図４を用いて説明した、変更部４０５が監視ポリシーを変更する場合の例である。
【０１２８】
図１２は、業務処理の終了における監視ポリシーの切り替えの一例を示す説明図である。図１２に示すように、オンライン業務の業務処理が７：００〜１９：００に行われると計画されているとする。また、バッチ業務の業務処理が１９：００〜翌５：００に行われると計画されているとする。また、情報処理装置２０２のシャットダウンが５：００に行われ、情報処理装置２０２の動作開始が７：００に行われると計画されているとする。
【０１２９】
また、オンライン業務の計画に合わせて、７：００〜１９：００の監視ポリシーは、オンライン業務の監視ポリシーになると計画されているとする。また、バッチ業務の計画に合わせて、１９：００〜翌５：００の監視ポリシーは、バッチ業務の監視ポリシーになると計画されているとする。また、情報処理装置２０２のシャットダウンの計画に合わせて、５：００〜７：００の監視ポリシーは、ＯＦＦになると計画されているとする。
【０１３０】
ここで、運用上、オンライン業務が長引き、オンライン業務が２１：００まで終了しなかったとする。この場合、情報処理装置２０２は、図１０に説明したように、オンライン業務が終了したか否かを判定する。そして、情報処理装置２０２は、オンライン業務の計画である１９：００になっても、オンライン業務が終了したと判定していないため、オンライン業務の監視ポリシーを切り替えない。そして、情報処理装置２０２は、オンライン業務が２１：００に終了すると、オンライン業務が終了したと判定して、オンライン業務の監視ポリシーをバッチ業務の監視ポリシーに切り替える。
【０１３１】
これにより、情報処理装置２０２は、実際にはオンライン業務を行っているときに、バッチ業務の監視ポリシーに切り替えてしまって、オンライン業務をバッチ業務の監視ポリシーで監視してしまってエラーが発生することを防止することができる。また、情報処理装置２０２は、実際にオンライン業務が終了したことに応じて、オンライン業務の監視ポリシーをバッチ業務の監視ポリシーに切り替えることができる。このため、情報処理装置２０２は、バッチ業務をオンライン業務の監視ポリシーで監視してしまってエラーが発生することを防止することができる。
【０１３２】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２において業務処理が正常に終了したと判定したことに応じて、情報処理装置２０２に監視ポリシーの切り替えを通知してもよい。また、管理装置が、情報処理装置２０２を監視する場合、管理装置の監視ポリシーを切り替えてもよい。
【０１３３】
（シャットダウンにおける監視ポリシーの切り替え）
次に、図１３を用いて、情報処理装置２０２のシャットダウンにおける監視ポリシーの切り替えの一例について説明する。図１３の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１３の例は、具体的には、図４を用いて説明した、変更部４０５が監視ポリシーを変更する場合の例である。
【０１３４】
図１３は、シャットダウンにおける監視ポリシーの切り替えの一例を示す説明図である。図１３に示すように、オンライン業務の業務処理が７：００〜１９：００に行われると計画されているとき、情報処理装置２０２が１８：００にシャットダウンしたことに応じてオンライン業務が終了したとする。
【０１３５】
この場合、情報処理装置２０２は、図１０に説明したように、情報処理装置２０２がシャットダウンしたか否かを判定する。そして、情報処理装置２０２は、シャットダウンしたと判定したため、オンライン業務の監視ポリシーを一旦ＯＦＦにする。そして、情報処理装置２０２は、オンライン業務自体が終了していないため、情報処理装置２０２が起動すると、オンライン業務が再開すると判定して、オンライン業務の監視ポリシーを再びＯＮにする。
【０１３６】
これにより、情報処理装置２０２は、実際にはオンライン業務を行っているときに、監視ポリシーをＯＦＦのままにしてしまって、エラーが発生することを防止することができる。また、情報処理装置２０２は、実際にシャットダウンしたことに応じて、監視ポリシーをＯＦＦにすることができ、エラーが発生することを防止することができる。
【０１３７】
また、管理装置が、監視制御装置４００としての機能を有する場合では、情報処理装置２０２においてシャットダウンの際に業務処理が正常に終了したと判定したことに応じて、情報処理装置２０２に監視ポリシーの切り替えを通知してもよい。また、管理装置が、情報処理装置２０２を監視する場合、管理装置の監視ポリシーを切り替えてもよい。
【０１３８】
（他の情報処理装置２０２における業務処理に対するテーブルを使用する一例）
次に、図１４を用いて、他の情報処理装置２０２における業務処理に対するテーブルを使用する一例について説明する。
【０１３９】
図１４の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１４の例は、具体的には、図４を用いて説明した、他の情報処理装置２０２における業務処理の終了に応じて他の情報処理装置２０２において実行が終了したプロセスを流用した場合の記憶部４０３の記憶内容の例である。
【０１４０】
図１４は、他の情報処理装置２０２における業務処理に対するテーブルを使用する一例を示す説明図である。情報処理装置２０２は、業務処理を行う複数の情報処理装置２０２の各々の情報処理装置２０２に対して順序テーブル８０１および組み合わせテーブル８０２のパターンを作成する。
【０１４１】
次に、情報処理装置２０２は、プロセスの実行が終了したことを検出し、いずれかのパターンに基づいて、図１０と同様にして、業務処理が終了したか否かを判定する。ここで、情報処理装置２０２は、各々の情報処理装置２０２に対するパターンに、ハッシュ値を付与しておき、ハッシュ値に基づいて、業務処理が終了したか否かを判定するために使用するパターンを選択してもよい。
【０１４２】
情報処理装置２０２は、例えば、パターンにおけるプロセスの名称ｘと順序性のあるプロセス群に含まれるプロセスの数ｙとをハッシュ関数ｆ（ｘ，ｙ）に代入して得られるハッシュ値を、パターンに付与しておく。次に、情報処理装置２０２は、プロセスの実行が終了したことを検出し、プロセスの名称と順序性のあるプロセス群に含まれるプロセスの数とをハッシュ関数に代入してハッシュ値を算出して、算出したハッシュ値が付与されたパターンを選択する。そして、情報処理装置２０２は、選択したハッシュ値が付与されたパターンに基づいて、業務処理が終了したか否かを判定する。
【０１４３】
これにより、情報処理装置２０２は、情報処理装置２０２に対するパターンを作成していない場合であっても、他の情報処理装置２０２に対するパターンに基づいて、情報処理装置２０２において業務処理が終了したか否かを判定することができる。ここで、業務処理の処理内容が変更され、業務処理の終了に応じて実行が終了するプロセスが変更された場合で、業務処理の処理内容が変更された後に情報処理装置２０２に対するパターンを作成していない場合を例に挙げる。この場合であっても、情報処理装置２０２は、他の情報処理装置２０２に対するパターンに基づいて、情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【０１４４】
また、管理装置が、監視制御装置４００としての機能を有する場合では、複数の情報処理装置２０２の各々の情報処理装置２０２に対応する各種テーブルを記憶してもよい。そして、管理装置が、各々の情報処理装置２０２を、各々の情報処理装置２０２に対応する各種テーブルに基づいて、各々の情報処理装置２０２において業務処理が終了したか否かを判定してもよい。
【０１４５】
また、管理装置が、監視制御装置４００としての機能を有する場合では、複数の情報処理装置２０２のうちのいずれかの情報処理装置２０２に対応する各種テーブルを記憶してもよい。そして、管理装置が、各々の情報処理装置２０２を、いずれかの情報処理装置２０２に対応する各種テーブルを流用して、各々の情報処理装置２０２において業務処理が終了したか否かを判定してもよい。
【０１４６】
（ハッシュ値に対応付けたパターンの一例）
次に、図１５を用いて、ハッシュ値に対応付けたパターンの一例について説明する。図１５の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１５の例は、具体的には、図４を用いて説明した、他の情報処理装置２０２における業務処理の終了に応じて他の情報処理装置２０２において実行が終了したプロセスを流用した場合の記憶部４０３の記憶内容の詳細な例である。
【０１４７】
図１５は、ハッシュ値に対応付けたパターンの一例を示す説明図である。情報処理装置２０２は、ハッシュ値のテーブルを記憶装置３０２に記憶する。また、情報処理装置２０２は、ハッシュ値のテーブルに記憶された各々のハッシュ値に対応付けて、各々のハッシュ値が付与されたパターンのうちの順序テーブル８０１を、記憶装置３０２に記憶する。また、情報処理装置２０２は、パターンのうちの順序テーブル８０１に対応付けて、パターンのうちの組み合わせテーブル８０２を、記憶装置３０２に記憶する。
【０１４８】
これにより、情報処理装置２０２は、複数のパターンの一つ一つを選択して、選択した一つ一つのパターンに基づいて、情報処理装置２０２において業務処理が終了したか否かを判定しなくてもよくなる。換言すれば、情報処理装置２０２は、複数のパターンのうちのいくつかを選択して、情報処理装置２０２において業務処理が終了したか否かを判定すればよいため、処理負荷を低減することができる。
【０１４９】
また、管理装置が、監視制御装置４００としての機能を有する場合では、複数の情報処理装置２０２の各々の情報処理装置２０２に対応する各種テーブルを、ハッシュ値に対応付けたパターンとして記憶してもよい。以下の説明では、複数の情報処理装置２０２の各々の情報処理装置２０２に対応する各種テーブルを、ハッシュ値に対応付けたパターンを含む情報を「グローバル定義情報」と表記する場合がある。
【０１５０】
（パターンを更新する一例）
次に、図１６を用いて、パターンを更新する一例について説明する。図１６の例は、情報処理装置２０２が監視制御装置４００としての機能を有する場合の例である。図１６の例は、具体的には、図４を用いて説明した、記憶部４０３が他の情報処理装置２０２における業務処理の終了に応じて他の情報処理装置２０２において実行が終了したプロセスを流用して記憶する場合の例である。
【０１５１】
図１６は、パターンを更新する一例を示す説明図である。情報処理装置２０２は、上述したように、ハッシュ値のテーブルを記憶装置３０２に記憶するとともに、ハッシュ値のテーブルに記憶された各々のハッシュ値に対応付けて、パターンを記憶装置３０２に記憶する。
【０１５２】
情報処理装置２０２は、さらに、パターンに対応付けて、パターンＩＤを付与して、記憶装置３０２に記憶する。また、情報処理装置２０２は、さらに、パターンＩＤに対応付けて、パターンに基づいて業務処理が終了したか否かを判定する情報処理装置２０２の名称を、記憶装置３０２に記憶する。
【０１５３】
そして、情報処理装置２０２は、パターンＩＤに対応付けて、パターンＩＤのパターンを使用して業務処理が終了したか否かを判定した回数を記憶するグローバルチェック結果表１６００を作成する。
【０１５４】
また、情報処理装置２０２は、パターンを使用して業務処理が終了したか否かを判定した回数が所定回数を超えると、自装置に対応する順序テーブル８０１および組み合わせテーブル８０２を、使用したパターンで更新する。これにより、情報処理装置２０２は、業務処理の内容が変更されて、自装置に対応する順序テーブル８０１および組み合わせテーブル８０２では業務処理が終了したか判定することができなくなった場合、各種テーブルを、更新することができる。
【０１５５】
（監視定義処理手順の一例）
次に、図１７を用いて、情報処理装置２０２の監視定義処理手順の一例について説明する。
【０１５６】
図１７は、監視定義処理手順の一例を示すフローチャートである。図１７において、情報処理装置２０２は、プロセスの分析を行う（ステップＳ１７０１）。次に、情報処理装置２０２は、プロセスの監視を行う（ステップＳ１７０２）。そして、情報処理装置２０２は、監視した結果を管理装置に送信する（ステップＳ１７０３）。
【０１５７】
次に、情報処理装置２０２は、プロセスの分析を再度行うか否かを判定する（ステップＳ１７０４）。ここで、プロセスの分析を再度行う場合（ステップＳ１７０４：Ｙｅｓ）、情報処理装置２０２は、ステップＳ１７０１の処理に戻る。一方で、プロセスの分析を行わない場合（ステップＳ１７０４：Ｎｏ）、情報処理装置２０２は、ステップＳ１７０２の処理に戻る。
【０１５８】
（プロセス分析処理手順の一例）
次に、図１８を用いて、情報処理装置２０２のプロセス分析処理手順の一例について説明する。
【０１５９】
図１８は、プロセス分析処理手順の一例を示すフローチャートである。図１８において、情報処理装置２０２は、１時間以内に生成と消滅を繰り返したプロセスを特定する（ステップＳ１８０１）。次に、情報処理装置２０２は、特定したプロセスを起点にして、親側にある親プロセスをさかのぼって、親プロセスの階層を特定する（ステップＳ１８０２）。
【０１６０】
そして、情報処理装置２０２は、親側の最上位にある親プロセスが記憶済みか否かを判定する（ステップＳ１８０３）。ここで、記憶済みである場合（ステップＳ１８０３：Ｙｅｓ）、情報処理装置２０２は、各階層のプロセスが記憶されていなければ記憶して（ステップＳ１８０４）、ステップＳ１８０６の処理に移行する。
【０１６１】
一方で、記憶済みではない場合（ステップＳ１８０３：Ｎｏ）、情報処理装置２０２は、最上位にある親プロセスを含む各々の階層のプロセスを記憶して（ステップＳ１８０５）、ステップＳ１８０６の処理に移行する。
【０１６２】
ステップＳ１８０６において、情報処理装置２０２は、すべてのプロセスについて処理を行ったか否かを判定する（ステップＳ１８０６）。ここで、すべてのプロセスについて処理を行っていない場合（ステップＳ１８０６：Ｎｏ）、情報処理装置２０２は、ステップＳ１８０２の処理に戻る。
【０１６３】
一方で、すべてのプロセスについて処理を行った場合（ステップＳ１８０６：Ｙｅｓ）、情報処理装置２０２は、親子関係のある常駐プロセス群の情報を作成して（ステップＳ１８０７）、プロセス分析処理を終了する。
【０１６４】
（テーブル作成処理手順の一例）
次に、図１９を用いて、情報処理装置２０２のテーブル作成処理手順の一例について説明する。
【０１６５】
図１９は、テーブル作成処理手順の一例を示すフローチャートである。図１９において、情報処理装置２０２は、監視ポリシー定義情報から、監視ポリシーの切り替え時点、監視ポリシーのＯＦＦ時点を取得する（ステップＳ１９０１）。次に、情報処理装置２０２は、取得した時点の１５分前から３０分間、実行が終了したプロセスの履歴を作成する（ステップＳ１９０２）。
【０１６６】
そして、情報処理装置２０２は、７日間経過したか否かを判定する（ステップＳ１９０３）。情報処理装置２０２は、履歴を作成する期間を７日間にすることにより、曜日ごとに実行が終了したプロセスのばらつきを考慮して、ある曜日にだけ監視ポリシーの切り替え時点に偶然終了したプロセスなどを除いて、各種テーブルを作成することができる。履歴を作成する期間は、２４時間であってもよいし、１ヶ月間であってもよい。また、履歴を作成する期間は、業務処理の内容、監視ポリシーの内容、情報処理装置２０２の状態、または各種テーブルを作成する期日などに基づいて、適宜変更してもよい。
【０１６７】
ここで、経過していない場合（ステップＳ１９０３：Ｎｏ）、情報処理装置２０２は、ステップＳ１９０１の処理に戻る。一方で、経過した場合（ステップＳ１９０３：Ｙｅｓ）、情報処理装置２０２は、７日分の履歴に基づいて、プロセスの実行が終了した順序を特定する（ステップＳ１９０４）。次に、情報処理装置２０２は、プロセスの実行が終了した順序が、７日間のうち毎日同一であったか否かを判定する（ステップＳ１９０５）。
【０１６８】
ここで、同一であった場合（ステップＳ１９０５：Ｙｅｓ）、情報処理装置２０２は、プロセスを、順序テーブル８０１に記憶して（ステップＳ１９０６）、テーブル作成処理を終了する。一方で、同一ではなかった場合（ステップＳ１９０５：Ｎｏ）、情報処理装置２０２は、プロセスを、組み合わせテーブル８０２に記憶して（ステップＳ１９０７）、テーブル作成処理を終了する。
【０１６９】
（テーブル修正処理手順の一例）
次に、図２０を用いて、情報処理装置２０２のテーブル修正処理手順の一例について説明する。
【０１７０】
図２０は、テーブル修正処理手順の一例を示すフローチャートである。図２０において、情報処理装置２０２は、順序テーブル８０１の最上位にある親プロセスを取得する（ステップＳ２００１）。次に、情報処理装置２０２は、親子関係のある常駐プロセス群であって、取得した親プロセスを最上階層に含む常駐プロセス群を特定する（ステップＳ２００２）。そして、情報処理装置２０２は、特定した常駐プロセス群を監視候補のプロセス群に決定する（ステップＳ２００３）。
【０１７１】
次に、情報処理装置２０２は、順序テーブル８０１および組み合わせテーブル８０２に、決定した監視候補のプロセス群に含まれないプロセスがあるか否かを判定する（ステップＳ２００４）。ここで、プロセスがない場合（ステップＳ２００４：Ｎｏ）、情報処理装置２０２は、テーブル修正処理を終了する。
【０１７２】
一方で、プロセスがある場合（ステップＳ２００４：Ｙｅｓ）、情報処理装置２０２は、順序テーブル８０１および組み合わせテーブル８０２から、監視候補のプロセス群に含まれないプロセスを除外して、順序テーブル８０１および組み合わせテーブル８０２を更新する（ステップＳ２００５）。そして、情報処理装置２０２は、テーブル修正処理を終了する。
【０１７３】
（判定処理手順の一例）
次に、図２１を用いて、情報処理装置２０２の判定処理手順の一例について説明する。
【０１７４】
図２１は、判定処理手順の一例を示すフローチャートである。図２１において、情報処理装置２０２は、順序テーブル８０１および組み合わせテーブル８０２に記載されたプロセスを監視する（ステップＳ２１０１）。次に、情報処理装置２０２は、監視した結果、実行が終了したプロセスを検出したか否かを判定する（ステップＳ２１０２）。
【０１７５】
ここで、検出した場合（ステップＳ２１０２：Ｙｅｓ）、情報処理装置２０２は、実行が終了したプロセスの履歴を作成して（ステップＳ２１０３）、ステップＳ２１０４の処理に移行する。
【０１７６】
一方で、検出していない場合（ステップＳ２１０２：Ｎｏ）、情報処理装置２０２は、監視ポリシーの切り替え時点、または監視ポリシーのＯＦＦ時点になるのを待つ（ステップＳ２１０４）。次に、情報処理装置２０２は、順序テーブル８０１および組み合わせテーブル８０２に記載されたすべてのプロセスの実行が終了したか否かを判定する（ステップＳ２１０５）。
【０１７７】
ここで、すべてのプロセスの実行が終了した場合（ステップＳ２１０５：Ｙｅｓ）、情報処理装置２０２は、ステップＳ２１０６の処理に移行する。一方で、すべてのプロセスの実行が終了していない場合（ステップＳ２１０５：Ｎｏ）、情報処理装置２０２は、ステップＳ２１０９の処理に移行する。
【０１７８】
ステップＳ２１０６において、情報処理装置２０２は、順序テーブル８０１に記載されたプロセスが規定順序で実行が終了したか否かを判定する（ステップＳ２１０６）。ここで、規定順序で実行が終了した場合（ステップＳ２１０６：Ｙｅｓ）、情報処理装置２０２は、ステップＳ２１０７の処理に移行する。一方で、規定順序で実行が終了していない場合（ステップＳ２１０６：Ｎｏ）、情報処理装置２０２は、ステップＳ２１１１の処理に移行する。
【０１７９】
ステップＳ２１０７において、情報処理装置２０２は、監視ポリシーを変更する（ステップＳ２１０７）。そして、情報処理装置２０２は、グローバルチェックを行っていれば、順序テーブル８０１および組み合わせテーブル８０２の更新処理を実行して（ステップＳ２１０８）、判定処理を終了する。
【０１８０】
ステップＳ２１０９において、情報処理装置２０２は、履歴の作成から３０分以上経過したか否かを判定する（ステップＳ２１０９）。ここで、経過していない場合（ステップＳ２１０９：Ｎｏ）、情報処理装置２０２は、ステップＳ２１０１の処理に戻る。一方で、経過した場合（ステップＳ２１０９：Ｙｅｓ）、情報処理装置２０２は、グローバルチェック処理を実行して（ステップＳ２１１０）、ステップＳ２１１１の処理に移行する。
【０１８１】
ステップＳ２１１１において、情報処理装置２０２は、業務処理が正常に終了したか否かを判定する（ステップＳ２１１１）。ここで、正常に終了した場合（ステップＳ２１１１：Ｙｅｓ）、情報処理装置２０２は、ステップＳ２１０７の処理に移行する。
【０１８２】
一方で、正常に終了していない場合（ステップＳ２１１１：Ｎｏ）、情報処理装置２０２は、管理装置に通知して（ステップＳ２１１２）、判定処理を終了する。
【０１８３】
（グローバルチェック処理手順の一例）
次に、図２２を用いて、情報処理装置２０２のグローバルチェック処理手順の一例について説明する。
【０１８４】
図２２は、グローバルチェック処理手順の一例を示すフローチャートである。図２２において、情報処理装置２０２は、履歴に基づいて、グローバル定義情報の中から、ハッシュ値に対応するパターンを特定する（ステップＳ２２０１）。次に、情報処理装置２０２は、パターンを特定したか否かを判定する（ステップＳ２２０２）。
【０１８５】
ここで、パターンを特定した場合（ステップＳ２２０２：Ｙｅｓ）、情報処理装置２０２は、履歴に基づいて、特定したパターンのいずれかのパターンから、パターンの通りにプロセスの実行が終了したか否かを判定する（ステップＳ２２０３）。次に、情報処理装置２０２は、判定した結果に基づいて、業務処理が正常に終了したか否かを判定する（ステップＳ２２０４）。
【０１８６】
ここで、業務処理が正常に終了した場合（ステップＳ２２０４：Ｙｅｓ）、情報処理装置２０２は、正常に終了したことを表す情報と、いずれかのパターンのパターンＩＤと、を記憶して（ステップＳ２２０５）、グローバルチェック処理を終了する。
【０１８７】
一方で、ステップＳ２２０２においてパターンを特定していない場合（ステップＳ２２０２：Ｎｏ）、およびステップＳ２２０４において、業務処理が正常に終了していない場合（ステップＳ２２０４：Ｎｏ）、情報処理装置２０２は、正常に終了していないことを表す情報を記憶して（ステップＳ２２０６）、グローバルチェック処理を終了する。
【０１８８】
（更新処理手順の一例）
次に、図２３を用いて、情報処理装置２０２の更新処理手順の一例について説明する。
【０１８９】
図２３は、更新処理手順の一例を示すフローチャートである。図２３において、情報処理装置２０２は、グローバルチェック結果表があるか否かを判定する（ステップＳ２３０１）。
【０１９０】
ここで、グローバルチェック結果表がない場合（ステップＳ２３０１：Ｎｏ）、情報処理装置２０２は、グローバルチェックに用いられたパターンのパターンＩＤを設定したグローバルチェック結果表を作成する（ステップＳ２３０２）。次に、情報処理装置２０２は、パターンＩＤに回数「１」を対応付けて設定する（ステップＳ２３０３）。そして、情報処理装置２０２は、更新処理を終了する。
【０１９１】
一方で、グローバルチェック結果表がある場合（ステップＳ２３０１：Ｙｅｓ）、情報処理装置２０２は、グローバルチェック結果表に、パターンＩＤを設定したレコードがあるか否かを判定する（ステップＳ２３０４）。ここで、レコードがない場合（ステップＳ２３０４：Ｎｏ）、情報処理装置２０２は、運用管理者に警告メッセージを通知して（ステップＳ２３０５）、ステップＳ２３０９の処理に移行する。
【０１９２】
一方で、レコードがある場合（ステップＳ２３０４：Ｙｅｓ）、情報処理装置２０２は、レコードの回数を＋１して更新する（ステップＳ２３０６）。次に、情報処理装置２０２は、回数が３以上であるか否かを判定する（ステップＳ２３０７）。ここで、回数が３より小さい場合（ステップＳ２３０７：Ｎｏ）、情報処理装置２０２は、更新処理を終了する。
【０１９３】
一方で、回数が３以上である場合（ステップＳ２３０７：Ｙｅｓ）、情報処理装置２０２は、パターンＩＤに対応付けられた情報処理装置２０２の名称に基づいて、情報処理装置２０２から順序テーブル８０１および組み合わせテーブル８０２を取得して、更新する（ステップＳ２３０８）。次に、情報処理装置２０２は、グローバルチェック結果表のレコードを削除する（ステップＳ２３０９）。そして、情報処理装置２０２は、更新処理を終了する。
【０１９４】
以上説明したように、監視制御プログラムによれば、情報処理装置２０２において実行が終了したプロセスを検出し、業務処理の終了に応じて実行が終了するプロセスの実行が終了したことに応じて、業務処理が終了したと判定することができる。これにより、監視制御プログラムは、監視ポリシーの切替タイミングを検出することができる。
【０１９５】
また、監視制御プログラムによれば、順序テーブル８０１および組み合わせテーブル８０２を参照して、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了したと判定した場合、業務処理が正常に終了したと判定することができる。これにより、監視制御プログラムは、業務処理が終了したか否かを判定する精度を向上させることができる。
【０１９６】
また、監視制御プログラムによれば、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了し、かつ、シャットダウンしたと判定した場合、業務処理が情報処理装置２０２のシャットダウンに伴って終了したと判定することができる。これにより、監視制御プログラムは、順序テーブル８０１、組み合わせテーブル８０２、および補足テーブル９０１の記憶内容を参照して、業務処理がシャットダウンに伴って終了したか否かを判定することができる。
【０１９７】
また、プロセスの情報は、業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含んでもよい。これにより、監視制御プログラムは、業務処理の終了に応じて実行が終了するプロセスを詳細に特定して、業務処理が終了したか否かを判定する精度を向上させることができる。
【０１９８】
また、プロセスの情報は、情報処理装置２０２とは異なる情報処理装置２０２における業務処理の終了に応じて、または、異なる情報処理装置２０２のシャットダウンの際に、異なる情報処理装置２０２において実行が終了したプロセスの情報であってもよい。
【０１９９】
ここで、情報処理装置２０２における業務処理の終了に応じて、情報処理装置２０２において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置２０２における業務処理の終了に応じて他の情報処理装置２０２において実行が終了するプロセスの情報を流用して、情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【０２００】
また、業務処理の内容が変更されて業務処理の終了に応じて実行が終了するプロセスの種類が変化した場合で、情報処理装置２０２における業務処理の終了に応じて情報処理装置２０２において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置２０２における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【０２０１】
また、ネットワーク２１０に新しく情報処理装置２０２を追加した場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置２０２における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、新しく追加した情報処理装置２０２において業務処理が終了したか否かを判定することができる。
【０２０２】
また、監視制御プログラムによれば、業務処理が終了したと判定したことに応じて、監視ポリシーを変更することができる。これにより、監視制御プログラムは、業務処理を、適切な監視ポリシーで監視させることができる。このため、監視システムにおいて、業務処理を不適切な監視ポリシーで監視してしまい、不要なエラーメッセージが出力されてしまうことを防止することができる。また、監視システムにおいて、エラーメッセージの数が減少するため、監視システムの保守にかかる費用を低減することができる。
【０２０３】
ここで、業務処理を制御するミドルウェアの起動時や終了時に監視ポリシーを同期させる場合が考えられる。しかしながら、この場合、ミドルウェアの起動や終了が起こった理由は不明であるため、業務処理が正常に終了して他の業務処理に切り替わったのか業務処理が情報処理装置のシャットダウンに伴って一時的に終了したのかを把握することができない。このため、監視ポリシーを切り替えるべきかＯＦＦにするべきかを把握することができず、不適切な監視ポリシーを設定してしまうことがある。一方で、情報処理装置は、業務処理が正常に終了して他の業務処理に切り替わった場合と、業務処理が情報処理装置のシャットダウンに伴って一時的に終了した場合と、の各々に対応した監視ポリシーを設定することができる。また、この場合、ミドルウェアの追加や入替が行われる都度、監視ポリシーとの同期の設定を修正しなければならず、監視システムの保守にかかる費用が増大してしまう。一方で、情報処理装置は、自動で、業務処理が終了したか否かを判定するための各種テーブルを作成することができるため、監視システムの保守にかかる費用を低減することができる。
【０２０４】
ここで、情報処理装置におけるシャットダウンにかかるプロセスの名称を記憶して、当該名称のプロセスの起動を検出して、情報処理装置がシャットダウンしたことを検出する場合が考えられる。しかしながら、この場合、誤操作防止のために同一名称のダミープログラムがある場合に、確実にシャットダウンしたか否かを判定することができない。一方で、情報処理装置は、情報処理装置のシャットダウンの際に実行が終了するプロセスを予め自動検出しておき、実際に当該プロセスの実行が終了したか否かを判定することにより、シャットダウンしたか否かを判定することができる。
【０２０５】
なお、本実施の形態で説明した監視制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本監視制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本監視制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２０６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２０７】
（付記１）コンピュータに、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行させることを特徴とする監視制御プログラム。
【０２０８】
（付記２）前記記憶部は、前記業務処理に対応付けて、前記業務処理の終了に応じて実行が終了する複数のプロセスのうちで前記業務処理の終了に応じて規定順序で実行が終了する一連のプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定する、
ことを特徴とする付記１に記載の監視制御プログラム。
【０２０９】
（付記３）前記記憶部は、さらに、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了し、かつ、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの実行が終了したことに応じて、前記情報処理装置のシャットダウンとともに前記業務処理が終了したと判定する、
ことを特徴とする付記２に記載の監視制御プログラム。
【０２１０】
（付記４）前記プロセスの情報は、前記業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含むことを特徴とする付記１〜３のいずれか一つに記載の監視制御プログラム。
【０２１１】
（付記５）前記プロセスの情報は、前記情報処理装置とは異なる情報処理装置における前記業務処理の終了に応じて、または、前記異なる情報処理装置のシャットダウンの際に前記異なる情報処理装置において実行が終了したプロセスの情報を含むことを特徴とする付記１〜４のいずれか一つに記載の監視制御プログラム。
【０２１２】
（付記６）前記コンピュータに、
前記業務処理が終了したと判定したことに応じて、前記情報処理装置において前記業務処理が正常に動作しているか否かを判定する監視ポリシーを、前記業務処理とは異なる業務処理が正常に動作しているか否かを判定する監視ポリシーに変更する、
処理を実行させることを特徴とする付記１〜５のいずれか一つに記載の監視制御プログラム。
【０２１３】
（付記７）前記コンピュータに、
検出した結果に基づいて、前記業務処理が終了予定の期間に前記情報処理装置において実行が終了したプロセス群のうちで呼び出し関係のある第１のプロセス群を特定し、
検出した結果に基づいて、前記情報処理装置において繰り返し呼び出されたプロセスの呼び出し元になる第２のプロセス群を特定し、
特定した前記第１のプロセス群と特定した前記第２のプロセス群とに共通するプロセスの情報を、前記業務処理に対応付けて前記記憶部に記憶する、処理を実行させ、
前記判定する処理は、前記共通するプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定することを特徴とする付記１〜６のいずれか一つに記載の監視制御プログラム。
【０２１４】
（付記８）前記コンピュータに、
検出した結果に基づいて、前記業務処理が終了予定の複数の期間に前記情報処理装置において共通して実行が終了したプロセス群のうちで呼び出し関係のある第１のプロセス群を特定し、
検出した結果に基づいて、前記情報処理装置において繰り返し呼び出されたプロセスの呼び出し元になる第２のプロセス群を特定し、
特定した前記第１のプロセス群と特定した前記第２のプロセス群とに共通するプロセスのうちで前記複数の期間に共通して規定順序で実行が終了した一連のプロセスの情報を、前記業務処理に対応付けて前記記憶部に記憶する、処理を実行させ、
前記判定する処理は、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記共通するプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定することを特徴とする付記２または３に記載の監視制御プログラム。
【０２１５】
（付記９）コンピュータが、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行することを特徴とする監視制御方法。
【０２１６】
（付記１０）業務処理と対応付けて前記業務処理が終了するときのプロセスの終了パターンを記憶する記憶部と、
情報処理装置におけるプロセスの実行の終了を検出した結果が、前記業務処理と対応付けて前記記憶部に記憶された前記終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する判定部と、
を有することを特徴とする監視制御装置。
【符号の説明】
【０２１７】
１００  情報処理装置
４０１  検出部
４０２  特定部
４０３  記憶部
４０４  判定部
４０５  変更部
【図１】
2015095189.tif 000003
【図２】
2015095189.tif 000004
【図３】
2015095189.tif 000005
【図４】
2015095189.tif 000006
【図５】
2015095189.tif 000007
【図６】
2015095189.tif 000008
【図７】
2015095189.tif 000009
【図８】
2015095189.tif 000010
【図９】
2015095189.tif 000011
【図１０】
2015095189.tif 000012
【図１１】
2015095189.tif 000013
【図１２】
2015095189.tif 000014
【図１３】
2015095189.tif 000015
【図１４】
2015095189.tif 000016
【図１５】
2015095189.tif 000017
【図１６】
2015095189.tif 000018
【図１７】
2015095189.tif 000019
【図１８】
2015095189.tif 000020
【図１９】
2015095189.tif 000021
【図２０】
2015095189.tif 000022
【図２１】
2015095189.tif 000023
【図２２】
2015095189.tif 000024
【図２３】
2015095189.tif 000025