以下に添付図面を参照して、本発明にかかる監視制御プログラム、監視制御方法、および監視制御装置の実施の形態を詳細に説明する。
(監視制御プログラムによる業務処理の終了判定の一例)
図1は、実施の形態にかかる監視制御プログラムによる業務処理の終了判定の一例を示す説明図である。
図1において、情報処理装置100は、業務処理W1を行うコンピュータである。また、情報処理装置100は、監視制御プログラムを実行することにより、情報処理装置100において業務処理が正常に終了したか否かを判定する監視制御装置としての機能を有する。業務処理は、特定の業務に固有の処理である。業務処理は、例えば、ミドルウェアによって実現される。業務処理は、例えば、オンライン業務の業務処理、およびバッチ処理の業務処理などである。
情報処理装置100は、業務処理の終了に応じて実行が終了するプロセスの情報を記憶するテーブル101を有する。ここで、業務処理の終了に応じて実行が終了するプロセスは、1つであってもよいし、複数であってもよい。業務処理の終了に応じて実行が終了するプロセスは、例えば、上述したオンライン業務のためのプロセスであって、オンライン業務のためのミドルウェアによって生成されるプロセスである。図1の例では、テーブル101は、業務処理W1に対応付けて、業務処理の終了に応じて実行が終了するプロセスP1,P2,P3の情報を記憶するとする。
情報処理装置100は、具体的には、情報処理装置100において実行が終了するプロセスを検出する。情報処理装置100は、検出した結果に基づいて、業務処理W1に対応付けてテーブル101に記憶されたプロセスP1,P2,P3の実行が終了した場合に、業務処理W1が終了したと判定する。
これにより、情報処理装置100は、予め設定された業務処理W1の終了時点に業務処理W1が終了したか否かを判定することができる。また、情報処理装置100は、業務処理W1の終了時点を過ぎてから、どの時点で業務処理W1が終了したかを検出することができる。
また、情報処理装置100は、予め設定された業務処理W1の終了時点に業務処理W1が終了していない場合、情報処理装置100における業務処理W1に対する監視ポリシーを変更しないようにすることができる。このため、情報処理装置100は、業務処理W1の終了までは業務処理W1に対する監視ポリシーを継続させることができる。また、情報処理装置100は、業務処理W1が終了したと判定した場合、業務処理W1に対する監視ポリシーを、別の業務処理に対する監視ポリシーに変更することができる。
ここでは、業務処理W1を行う情報処理装置100自体が、監視制御装置としての機能を有する場合について説明したが、これに限らない。例えば、業務処理W1を行う情報処理装置100を管理する他の情報処理装置100が、情報処理装置100における業務処理W1が終了したか否かを判定する監視制御装置としての機能を有してもよい。以下の説明では、情報処理装置100を管理する他の情報処理装置100を「管理装置」と表記する場合がある。
この場合、管理装置は、上述したテーブル101を有する。次に、管理装置は、業務処理W1を行う情報処理装置100から、業務処理W1を行う情報処理装置100において実行が終了したプロセスの情報を受信して、業務処理W1を行う情報処理装置100において実行が終了したプロセスを検出する。そして、管理装置は、検出した結果とテーブル101の記憶内容とに基づいて、業務処理W1を行う情報処理装置100において業務処理W1が正常に終了したか否かを判定する。
また、ここでは、情報処理装置100が、一つの業務処理が終了したか否かを判定したが、これに限らない。例えば、情報処理装置100が、複数の業務処理の各々の業務処理に対応するテーブル101を有し、各々の業務処理が終了したか否かを判定してもよい。また、業務処理と連動して行われる他の業務処理がある場合、情報処理装置100は、業務処理と連動する他の業務処理の終了に応じて実行が終了するプロセスが、実際に実行が終了したことを検出して、業務処理が終了したか否かを判定してもよい。
(システム構成例)
図2は、監視システム200のシステム構成例を示す説明図である。図2において、ネットワーク210は、管理装置201と情報処理装置202とが通信可能なネットワークである。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、携帯電話網などである。
管理装置201は、図3に後述するコンピュータによって実現される。管理装置201は、例えば、サーバ、ノート型パソコン、デスクトップ型パソコンなどである。管理装置201は、監視制御装置としての機能を有してもよく、情報処理装置202において業務処理が正常に終了したか否かを判定してもよい。
情報処理装置202は、図3に後述するコンピュータによって実現される。情報処理装置202は、例えば、サーバである。情報処理装置202は、監視制御装置としての機能を有してもよく、情報処理装置202において業務処理が正常に終了したか否かを判定してもよい。
(コンピュータのハードウェア構成例)
図3は、コンピュータのハードウェア構成例を示すブロック図である。
図3において、コンピュータは、プロセッサ301、記憶装置302、入力装置303、出力装置304、および通信装置305が、バス306に接続されている。
プロセッサ301は、コンピュータの全体の制御を司る。また、プロセッサ301は、記憶装置302に記憶されているOS(Operating System)や本実施の形態の監視制御プログラムなどの各種プログラムを実行することで、記憶装置302内のデータを読み出したり、実行結果となるデータを記憶装置302に書き込んだりする。
記憶装置302は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ301のワークエリアになったり、各種プログラムや、各種プログラムの実行により得られたデータを含む各種データを記憶したりする。
入力装置303は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。出力装置304は、プロセッサ301の指示により、データを出力するインターフェースである。出力装置304には、ディスプレイやプリンタが挙げられる。通信装置305は、ネットワークを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。また、コンピュータは、さらに、光ディスクドライブ、光ディスク、およびスキャナなどを有していてもよい。
管理装置201は、例えば、図3のコンピュータによって実現される。また、情報処理装置202は、例えば、図3のコンピュータによって実現される。
(監視制御装置400の機能的構成例)
次に、図4を用いて、監視制御装置400の機能的構成例について説明する。監視制御装置400は、管理装置201、または情報処理装置202によって実現される。
図4は、監視制御装置400の機能的構成例を示すブロック図である。監視制御装置400は、検出部401と、特定部402と、記憶部403と、判定部404と、変更部405とを含む。
ここで、監視制御装置400は、業務処理が終了したか否かを判定するためのテーブルを作成する動作を行うことができる。以下の説明では、テーブルを作成する動作を「第1の動作」と表記する場合がある。
また、監視制御装置400は、テーブルに基づいて、情報処理装置202において業務処理が終了したか否かを判定する動作を行うことができる。以下の説明では、業務処理が終了したか否かを判定する動作を「第2の動作」と表記する場合がある。
また、監視制御装置400は、情報処理装置202において業務処理が終了したと判定した場合、情報処理装置202に対する監視ポリシーを変更する動作を行うことができる。以下の説明では、監視ポリシーを変更する動作を「第3の動作」と表記する場合がある。
〈第1の動作〉
まず、第1の動作について説明する。第1の動作は、テーブルを作成する動作であって、検出部401と、特定部402と、記憶部403とによって実現される。
検出部401は、情報処理装置202におけるプロセスの実行の終了を検出する。検出部401は、例えば、監視制御装置400が情報処理装置202自体である例では、情報処理装置202において実行中のプロセスを監視し、プロセスの実行の終了を検出する。検出部401は、例えば、監視制御装置400が情報処理装置202とは異なる管理装置201である例では、情報処理装置202において実行中のプロセスを監視した結果を情報処理装置202から受信して、プロセスの実行の終了を検出する。
検出部401は、例えば、図3に示した記憶装置302に記憶されたプログラムをプロセッサ301に実行させることにより、または、通信装置305により、その機能を実現する。検出されたデータは、例えば、記憶装置302に記憶される。
特定部402は、検出した結果に基づいて、業務処理が終了予定の期間に情報処理装置202において実行が終了したプロセス群のうちで呼び出し関係のある第1のプロセス群を特定する。特定部402は、例えば、検出した結果に基づいて、業務処理が終了予定の複数の期間に情報処理装置202において共通して実行が終了したプロセス群のうちで呼び出し関係のある第1のプロセス群を特定する。
特定部402は、具体的には、業務スケジュールに基づいて、業務処理が終了予定の複数の期間「月曜日〜水曜日までの各々の日の18:45〜19:15」を特定する。次に、特定部402は、「月曜日の18:45〜19:15」に実行が終了したプロセス群「p0,p1,p2,p3,p5」を特定する。また、特定部402は、「火曜日の18:45〜19:15」に実行が終了したプロセス群「p0,p1,p2,p3」を特定する。また、特定部402は、「水曜日の18:45〜19:15」に実行が終了したプロセス群「p0,p1,p2,p3」を特定する。
次に、特定部402は、「月曜日〜水曜日までの各々の日の18:45〜19:15」に共通して実行が終了したプロセス群「p0,p1,p2,p3」を特定する。そして、特定部402は、プロセス群「p0,p1,p2,p3」のうち、呼び出し関係のあるプロセス群「p0,p1,p2,p3」を特定する。
これにより、特定部402は、複数の期間のうちのいずれかの期間において偶然実行が終了したプロセスを除外して、業務処理が終了予定の期間に実行が終了した呼び出し関係のあるプロセス群を特定することができる。例えば、特定部402は、偶然「月曜日の18:45〜19:15」に実行が終了したプロセス「p5」を除外して、業務処理が終了予定の期間に実行が終了した呼び出し関係のあるプロセス群「p0,p1,p2,p3」を特定することができる。
特定部402は、検出した結果に基づいて、情報処理装置202において繰り返し呼び出されたプロセスの呼び出し元になる第2のプロセス群を特定する。特定部402は、所定時間内にプロセスが呼び出された回数を計数し、複数回呼び出されたプロセスを特定し、特定したプロセスの呼び出し元になる第2のプロセス群を特定する。
特定部402は、具体的には、1時間の間に複数回生成されて呼び出されたプロセス「p3」を特定する。次に、特定部402は、特定したプロセス「p3」を呼び出した親プロセス「p2」を特定し、親プロセス「p2」を呼び出した親プロセス「p1」を特定し、親プロセス「p1」を呼び出した親プロセス「p0」を特定する。そして、特定部402は、プロセス「p3」の呼び出し元になるプロセス群「p0,p1,p2」を特定する。
特定部402は、具体的には、1時間の間に複数回生成されて呼び出されたプロセス「p4」を特定する。次に、特定部402は、特定したプロセス「p4」を呼び出した親プロセス「p2」を特定し、親プロセス「p2」を呼び出した親プロセス「p1」を特定し、親プロセス「p1」を呼び出した親プロセス「p0」を特定する。そして、特定部402は、プロセス「p4」の呼び出し元になるプロセス群「p0,p1,p2」を特定する。
特定部402は、特定した複数のプロセス群に重複するプロセスが含まれる場合、複数のプロセスをまとめて、新しいプロセス群として特定する。特定部402は、プロセス「p3」の呼び出し元になるプロセス群「p0,p1,p2」と、プロセス「p4」の呼び出し元になるプロセス群「p0,p1,p2」と、が重複するため、まとめてプロセス群「p0,p1,p2」として特定する。これにより、特定部402は、情報処理装置202において業務処理が行われている際に、情報処理装置202に常駐する呼び出し関係のあるプロセス群を特定することができる。
特定部402は、特定した第1のプロセス群と特定した第2のプロセス群とに共通するプロセスの情報を、業務処理に対応付けて記憶部403に記憶する。特定部402は、具体的には、特定したプロセス群「p0,p1,p2,p3」と特定したプロセス群「p0,p1,p2」とに共通して含まれるプロセス群「p0,p1,p2」を、業務処理に対応付けて記憶部403に記憶する。
また、特定部402は、特定した第1のプロセス群と特定した第2のプロセス群とに共通するプロセスのうちで複数の期間に共通して規定順序で実行が終了した一連のプロセスの情報を、業務処理に対応付けて記憶部403に記憶してもよい。特定部402は、具体的には、プロセス群「p0,p1,p2,p3」のうち、「月曜日〜水曜日までの各々の日における18:45〜19:15」において、常に「p1→p0」という規定順序で実行が終了したことを特定する。
次に、特定部402は、特定したプロセス群「p0,p1,p2,p3」と特定したプロセス群「p0,p1,p2」とに共通して含まれるプロセス群「p0,p1,p2」を特定する。そして、特定部402は、共通して含まれるプロセス群「p0,p1,p2」のうちで、規定順序で実行が終了する一連のプロセス「p0,p1」を、業務処理に対応付けて記憶部403に記憶する。これにより、特定部402は、業務処理の終了に応じて実行が終了するプロセス群を特定することができ、プロセス群のうちで規定順序で実行が終了する一連のプロセスを特定することができる。
また、特定部402は、検出した結果に基づいて、情報処理装置202のシャットダウンの際に実行が終了する第3のプロセス群を特定してもよい。特定部402は、具体的には、シャットダウンに伴って業務処理が終了する複数の期間において共通して実行が終了する呼び出し関係のある第1のプロセス群を特定する。次に、特定部402は、第1のプロセス群と第2のプロセス群と重複するプロセスを特定するとともに、重複するプロセスとは異なるプロセスであって情報処理装置202のシャットダウンの際に実行が終了する第3のプロセス群を特定する。そして、特定部402は、第3のプロセス群を、業務処理に対応付けて記憶部403に記憶する。これにより、特定部402は、業務処理の終了に応じて実行が終了するプロセス群を特定することができ、プロセス群のうちで規定順序で実行が終了する一連のプロセスを特定することができ、シャットダウンの際に実行が終了するプロセスを特定することができる。
特定部402は、例えば、図3に示した記憶装置302に記憶されたプログラムをプロセッサ301に実行させることにより、その機能を実現する。
記憶部403は、業務処理と対応付けて、業務処理が終了するときのプロセスの終了パターンを記憶する。終了パターンとは、業務処理の終了に応じて実行が終了する複数のプロセスの組み合わせ、または終了する順序などを示す情報である。以下の説明では、終了パターンを、単に「パターン」と表記する場合がある。
記憶部403は、例えば、業務処理の終了に応じて実行が終了する複数のプロセスを記憶する。記憶部403は、具体的には、特定部402によって特定されたプロセス群「p0,p1,p2」を、テーブルに記憶する。以下の説明では、単に業務処理の終了に応じて実行が終了する複数のプロセスを記憶するテーブルを「組み合わせテーブル」と表記する場合がある。パターンは、例えば、組み合わせテーブルにより記憶される。これにより、判定部404は、組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
また、記憶部403は、例えば、業務処理に対応付けて、業務処理の終了に応じて実行が終了する複数のプロセスのうちで業務処理の終了に応じて規定順序で実行が終了する一連のプロセスの情報を記憶してもよい。記憶部403は、具体的には、特定部402によって特定されたプロセス群「p0,p1,p2」のうちの一連のプロセス「p0,p1」を、規定順序「p1→p0」で、テーブルに記憶する。以下の説明では、業務処理の終了に応じて実行が終了する複数のプロセスのうちの一連のプロセスを規定順序を表すように記憶するテーブルを「順序テーブル」と表記する場合がある。また、記憶部403は、残余のプロセス「p2」を組み合わせテーブルに記憶する。パターンは、例えば、組み合わせテーブルと順序テーブルとにより記憶される。これにより、判定部404は、順序テーブルおよび組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
記憶部403は、さらに、情報処理装置202のシャットダウンの際に実行が終了するプロセスの情報を記憶してもよい。記憶部403は、具体的には、検出部401によって検出された情報処理装置202のシャットダウンの際に実行が終了するプロセス「p6」を、テーブルに記憶する。以下の説明では、シャットダウンの際に実行が終了するプロセスを記憶するテーブルを「補足テーブル」と表記する場合がある。これにより、判定部404は、補足テーブルの記憶内容を参照して、シャットダウンしたか否かを判定することができる。
ここで、プロセスの情報は、業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含んでもよい。これにより、判定部404は、業務処理の終了に応じて実行が終了するプロセスを詳細に特定して、業務処理が終了したか否かを判定する精度を向上させることができる。
また、プロセスの情報は、情報処理装置202とは異なる情報処理装置202における業務処理の終了に応じて、または、異なる情報処理装置202のシャットダウンの際に、異なる情報処理装置202において実行が終了したプロセスの情報であってもよい。
ここで、情報処理装置202における業務処理の終了に応じて、情報処理装置202において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御装置400は、他の情報処理装置202における業務処理の終了に応じて他の情報処理装置202において実行が終了するプロセスの情報を流用して、情報処理装置202において業務処理が終了したか否かを判定することができる。
また、業務処理の内容が変更されて業務処理の終了に応じて実行が終了するプロセスの種類が変化した場合で、情報処理装置202における業務処理の終了に応じて情報処理装置202において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御装置400は、他の情報処理装置202における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、情報処理装置202において業務処理が終了したか否かを判定することができる。
また、ネットワーク210に新しく情報処理装置202を追加した場合を例に挙げる。この場合であっても、監視制御装置400は、他の情報処理装置202における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、新しく追加した情報処理装置202において業務処理が終了したか否かを判定することができる。記憶部403は、例えば、図3に示した記憶装置302により、その機能を実現する。
〈第2の動作〉
次に、第2の動作について説明する。第2の動作は、業務処理が終了したか否かを判定する動作であって、検出部401と、記憶部403と、判定部404とによって実現される。
検出部401は、第1の動作と同様の処理を行うため、説明を省略する。記憶部403は、第1の動作によって作成された順序テーブルおよび組み合わせテーブルを記憶する。また、記憶部403は、補足テーブルを記憶してもよい。
判定部404は、検出した結果に基づいて、業務処理に対応付けて業務処理の終了に応じて実行が終了するプロセスの情報を記憶する記憶部403の記憶内容を参照して、業務処理が終了したか否かを判定する。
判定部404は、例えば、検出したプロセスの終了の結果が、業務処理と対応付けて記憶部403に記憶された業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、業務処理が終了したか否かを判定する。
ここで、組み合わせテーブルにプロセス群「p0,p1,p2」が記憶された場合を例に挙げる。この場合、判定部404は、検出した結果に基づいて、組み合わせテーブルに記憶されたプロセス群「p0,p1,p2」の実行が終了したか否かを判定する。
そして、判定部404は、終了したと判定した場合、業務処理が正常に終了したと判定する。一方で、判定部404は、終了していないと判定した場合、業務処理が正常に終了していないと判定する。これにより、判定部404は、組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
また、判定部404は、検出した結果に基づいて、記憶部403の記憶内容を参照して、業務処理が終了したと判定してもよい。判定部404は、規定順序で一連のプロセスの実行が終了し、かつ、複数のプロセスのうちの一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、業務処理が終了したと判定する。
ここで、順序テーブルに一連のプロセス「p0,p1」が記憶され、組み合わせテーブルに残余のプロセス「p2」が記憶された場合を例に挙げる。この場合、判定部404は、一連のプロセス「p0,p1」の実行が、規定順序「p1→p0」で終了したか否かを判定する。また、判定部404は、残余のプロセス「p2」の実行が終了したか否かを判定する。
そして、判定部404は、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了したと判定した場合、業務処理が正常に終了したと判定する。一方で、判定部404は、一連のプロセスの実行が規定順序で終了していない場合、または、残余のプロセスの実行が終了していない場合、業務処理が正常に終了していないと判定する。これにより、判定部404は、順序テーブルおよび組み合わせテーブルの記憶内容を参照して、業務処理が終了したか否かを判定することができる。
判定部404は、検出した結果に基づいて、記憶部403の記憶内容を参照して、情報処理装置202のシャットダウンとともに業務処理が終了したと判定してもよい。判定部404は、規定順序で一連のプロセスの実行が終了し、かつ、複数のプロセスのうちの一連のプロセスとは異なる残余のプロセスの実行が終了し、かつ、シャットダウンの際に実行が終了するプロセスの実行が終了したことを判定する。この場合、判定部404は、情報処理装置202のシャットダウンとともに業務処理が終了したと判定する。
ここで、順序テーブルに一連のプロセス「p0,p1」が記憶され、組み合わせテーブルに残余のプロセス「p2」が記憶され、補足テーブルにシャットダウンの際に実行が終了するプロセス「p6」が記憶された場合を例に挙げる。この場合、判定部404は、一連のプロセス「p0,p1」の実行が、規定順序「p1→p0」で終了したか否かを判定する。また、判定部404は、残余のプロセス「p2」の実行が終了したか否かを判定する。また、判定部404は、シャットダウンの際に実行が終了するプロセス「p6」の実行が終了したか否かを判定する。
そして、判定部404は、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了し、かつ、シャットダウンの際に実行が終了したと判定した場合、業務処理が情報処理装置202のシャットダウンに伴って終了したと判定する。これにより、判定部404は、順序テーブル、組み合わせテーブル、および補足テーブルの記憶内容を参照して、業務処理がシャットダウンに伴って終了したか否かを判定することができる。
判定部404は、例えば、図3に示した記憶装置302に記憶されたプログラムをプロセッサ301に実行させることにより、その機能を実現する。判定結果は、例えば、記憶装置302に記憶される。
〈第3の動作〉
次に、第3の動作について説明する。第3の動作は、監視ポリシーを変更する動作であって、記憶部403と、変更部405とによって実現される。
変更部405は、判定部404が業務処理が終了したと判定したことに応じて、監視ポリシーを変更する。変更部405は、例えば、情報処理装置202において業務処理が正常に動作しているか否かを判定する監視ポリシーを、業務処理とは異なる別の業務処理が正常に動作しているか否かを判定する監視ポリシーに変更する。
また、変更部405は、判定部404が情報処理装置202のシャットダウンに伴って業務処理が終了したと判定したことに応じて、監視ポリシーをOFFにしてもよい。そして、変更部405は、情報処理装置202が起動したときに、監視ポリシーを元に戻す。
これにより、変更部405は、業務処理を、適切な監視ポリシーで監視させることができる。変更部405は、例えば、図3に示した記憶装置302に記憶されたプログラムをプロセッサ301に実行させることにより、または、通信装置305により、その機能を実現する。
情報処理装置202が、監視制御装置400としての機能を有する場合、第1の動作についての機能のみを有してもよいし、第2の動作についての機能のみを有してもよいし、第3の動作についての機能のみを有してもよい。また、情報処理装置202が、監視制御装置400としての機能を有する場合、第1の動作、第2の動作、および第3の動作のうちの2つの動作についての機能のみを有してもよいし、3つの動作についての機能を有してもよい。
管理装置が、監視制御装置400としての機能を有する場合、第1の動作についての機能のみを有してもよいし、第2の動作についての機能のみを有してもよいし、第3の動作についての機能のみを有してもよい。また、管理装置が、監視制御装置400としての機能を有する場合、第1の動作、第2の動作、および第3の動作のうちの2つの動作についての機能のみを有してもよいし、3つの動作についての機能を有してもよい。
(親子関係のあるプロセス群の特定)
次に、図5を用いて、情報処理装置202の親子関係のあるプロセス群の特定の一例について説明する。図5の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図5の例は、具体的には、図4を用いて説明した、特定部402が第2のプロセス群を特定する場合の例である。
図5は、親子関係のあるプロセス群の特定の一例を示す説明図である。情報処理装置202は、所定期間内に親プロセスによって繰り返し生成され消滅する子プロセスを検出する。次に、情報処理装置202は、検出した子プロセスより親側にある親プロセス群を特定する。そして、情報処理装置202は、特定した親プロセス群を、繰り返し生成され消滅する子プロセスを除いた、常駐する親子関係のあるプロセス群として記憶装置302に記憶する。ここで、特定した親プロセス群のうち、重複する複数の親プロセス群がある場合、複数の親プロセス群をまとめて、常駐する親子関係のあるプロセス群として記憶装置302に記憶する。
図5の例では、情報処理装置202は、所定期間内に繰り返し生成されている子プロセスA−5,A−6,B−4を検出する。次に、情報処理装置202は、子プロセスA−5の親側にある親プロセスA−0〜A−3を特定する。また、情報処理装置202は、子プロセスA−6の親側にある親プロセスA−0〜A−2,A−4を特定する。また、情報処理装置202は、子プロセスB−4の親側にある親プロセスB−0〜B−3を特定する。
そして、情報処理装置202は、特定した親プロセスA−0〜A−3と特定した親プロセスA−0〜A−2,A−4とが重複するため、まとめて、常駐する親子関係のあるプロセスA−0〜A−4として、記憶装置302に記憶する。また、情報処理装置202は、特定した親プロセスB−0〜B−3を、常駐する親子関係のあるプロセスB−0〜B−3として、記憶装置302に記憶する。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202から情報処理装置202におけるプロセスの生成と消滅の履歴を受信して、情報処理装置202における親子関係のあるプロセス群を特定してもよい。
(業務処理の終了予定の期間において実行が終了するプロセス群の特定)
次に、図6を用いて、情報処理装置202の業務処理の終了予定の期間において実行が終了するプロセス群の特定の一例について説明する。図6の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図6の例は、具体的には、図4を用いて説明した、特定部402が第1のプロセス群を特定する場合の例である。
図6は、業務処理の終了予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。情報処理装置202は、複数ある、業務処理の終了予定の期間において、実行が終了したプロセス群を特定するとともに、実行が終了した順序を特定して、業務処理に対応付けて、記憶装置302に記憶する。
図6の例では、情報処理装置202は、監視ポリシー定義情報に基づいて、複数ある、業務処理の終了予定の期間を特定する。監視ポリシー定義情報は、業務処理のスケジュールを表す情報である。監視ポリシー定義情報は、例えば、業務処理の終了予定時刻の情報を含む。
情報処理装置202は、例えば、終了予定時刻の15分前から30分間を、終了予定期間として特定する。ここで、情報処理装置202は、2つの終了予定期間を特定したとする。
次に、情報処理装置202は、1回目の業務処理の終了予定の期間において、実行が終了した親プロセスA−0〜A−4を特定する。また、情報処理装置202は、実行が終了した親プロセスA−0〜A−4について、実行が終了した順序「A−4→A−3→A−2→A−1→A−0」を特定する。
また、情報処理装置202は、2回目の業務処理の終了予定の期間において、実行が終了した親プロセスA−0〜A−4を特定する。また、情報処理装置202は、実行が終了した親プロセスA−0〜A−4について、実行が終了した順序「A−3→A−4→A−2→A−1→A−0」を特定する。
これにより、情報処理装置202は、業務処理の終了予定の期間において実行が終了するプロセス群を特定することができる。換言すれば、情報処理装置202は、業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を特定することができる。
また、管理装置が、監視制御装置400としての機能を有する場合を例に挙げる。この場合では、管理装置が、情報処理装置202から情報処理装置202におけるプロセスの実行の終了の履歴を受信して、情報処理装置202における業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を特定してもよい。
(シャットダウン予定の期間において実行が終了するプロセス群の特定)
次に、図7を用いて、情報処理装置202のシャットダウン予定の期間において実行が終了するプロセス群の特定の一例について説明する。図7の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図7の例は、具体的には、図4を用いて説明した、特定部402が第3のプロセス群を特定する場合の例である。
図7は、シャットダウン予定の期間において実行が終了するプロセス群の特定の一例を示す説明図である。情報処理装置202は、複数ある、シャットダウン予定の期間において、実行が終了したプロセス群を特定するとともに、実行が終了した順序を特定して、シャットダウンの際の業務処理を表す情報に対応付けて、記憶装置302に記憶する。
図7の例では、情報処理装置202は、監視ポリシー定義情報に基づいて、複数ある、シャットダウン予定の期間を特定する。情報処理装置202は、例えば、シャットダウン予定時刻の15分前から30分間を、シャットダウン予定の期間として特定する。ここで、情報処理装置202は、2つのシャットダウン予定の期間を特定したとする。
次に、情報処理装置202は、1回目のシャットダウン予定の期間において、実行が終了した親プロセスA−0〜A−4を特定するとともに、実行が終了したプロセスX−0〜X−4を特定する。また、情報処理装置202は、実行が終了した親プロセスA−0〜A−4について、実行が終了した順序「A−4→A−3→A−2→A−1→A−0」を特定する。
また、情報処理装置202は、2回目のシャットダウン予定の期間において、実行が終了した親プロセスA−0〜A−4を特定するとともに、実行が終了したプロセスX−0〜X−4を特定する。また、情報処理装置202は、実行が終了した親プロセスA−0〜A−4について、実行が終了した順序「A−3→A−4→A−2→A−1→A−0」を特定する。
これにより、情報処理装置202は、シャットダウン予定の期間において実行が終了するプロセス群を特定することができる。換言すれば、情報処理装置202は、シャットダウンに応じて実行が終了するプロセスを含むプロセス群を特定することができる。
また、管理装置が、監視制御装置400としての機能を有する場合を例に挙げる。この場合では、管理装置が、情報処理装置202から情報処理装置202におけるプロセスの実行の終了の履歴を受信して、情報処理装置202におけるシャットダウンに応じて実行が終了するプロセスを含むプロセス群を特定してもよい。
(業務処理に対するテーブル)
次に、図8を用いて、情報処理装置202の業務処理の終了に応じて実行が終了するプロセス群が記憶される、業務処理に対するテーブルの一例について説明する。
図8の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図8の例は、具体的には、図4を用いて説明した、特定部402が第1のプロセス群と第2のプロセス群とに共通するプロセスを特定して順序テーブル801および組み合わせテーブル802として記憶する場合の例である。
図8は、業務処理に対するテーブルの一例を示す説明図である。情報処理装置202は、図6において記憶装置302に記憶したプロセス群のうちの既定順序で実行が終了する一連のプロセスの情報を記憶する、順序性ありのプロセスについての順序テーブル801を作成して、記憶装置302に記憶する。図8の例では、順序テーブル801は、図6において記憶装置302に記憶したプロセス群のうちのプロセスA−0〜A−2を、順序性ありのプロセスとして記憶する。
また、情報処理装置202は、特定したプロセス群のうちの既定順序で実行が終了する一連のプロセスを除いた残余のプロセスの情報を記憶する、順序性なしのプロセスについての組み合わせテーブル802を作成して、記憶装置302に記憶する。図8の例では、組み合わせテーブル802は、図6において記憶装置302に記憶したプロセス群のうちのプロセスA−3,A−4を、順序性なしのプロセスとして記憶する。
次に、情報処理装置202は、順序テーブル801に記憶されたプロセス群のうちで、図5において記憶装置302に記憶した常駐する親子関係のあるプロセスA−0〜A−4とは異なるプロセスを、順序テーブル801から除外する。また、情報処理装置202は、組み合わせテーブル802に記憶されたプロセス群のうちで、図5において記憶装置302に記憶した常駐する親子関係のあるプロセスA−0〜A−4とは異なるプロセスを、組み合わせテーブル802から除外する。
これにより、情報処理装置202は、業務処理の終了に応じて実行が終了するプロセス群を特定することができる。そして、情報処理装置202は、業務処理が終了したか否かを判定する際に用いられる各種テーブルを作成して、記憶装置302に記憶することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202から、情報処理装置202が特定した業務処理の終了に応じて実行が終了するプロセスを含むプロセス群を受信して、各種テーブルを作成してもよい。
(シャットダウンに対するテーブルの作成)
次に、図9を用いて、情報処理装置202のシャットダウンに応じて実行が終了するプロセス群が記憶される、シャットダウンに対するテーブルの一例について説明する。
図9の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図9の例は、具体的には、図4を用いて説明した、順序テーブル801および組み合わせテーブル802を記憶するとともに、特定部402が第3のプロセス群を特定して補足テーブル901として記憶する場合の例である。
図9は、シャットダウンに対するテーブルの一例を示す説明図である。情報処理装置202は、図6において記憶装置302に記憶したプロセス群のうちの既定順序で実行が終了する一連のプロセスの情報を記憶する、順序性ありのプロセスについての順序テーブル801を作成して、記憶装置302に記憶する。また、情報処理装置202は、特定したプロセス群のうちの既定順序で実行が終了する一連のプロセスを除いた残余のプロセスの情報を記憶する、順序性なしのプロセスについての組み合わせテーブル802を作成して、記憶装置302に記憶する。
次に、情報処理装置202は、順序テーブル801に記憶されたプロセス群のうちで、図5において記憶装置302に記憶した常駐する親子関係のあるプロセスA−0〜A−4とは異なるプロセスを、順序テーブル801から除外する。また、情報処理装置202は、組み合わせテーブル802に記憶されたプロセス群のうちで、図5において記憶装置302に記憶した常駐する親子関係のあるプロセスA−0〜A−4とは異なるプロセスを、組み合わせテーブル802から除外する。
次に、情報処理装置202は、図6において記憶装置302に記憶したプロセス群のうちで組み合わせテーブル802から除外されたプロセス群を、業務処理とは異なる他の処理の終了に応じて実行が終了するプロセス群として、特定する。そして、情報処理装置202は、特定したプロセス群を記憶する、他の処理のプロセスについての補足テーブル901を作成して、記憶装置302に記憶する。
これにより、情報処理装置202は、シャットダウンに応じて実行が終了するプロセス群を特定することができる。そして、情報処理装置202は、シャットダウンしたか否かを判定する際に用いられる各種テーブルを作成して、記憶装置302に記憶することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202から、情報処理装置202が特定したシャットダウンに応じて実行が終了するプロセスを含むプロセス群を受信して、各種テーブルを作成してもよい。
(業務処理が終了したか否かを判定する一例)
次に、図10を用いて、情報処理装置202が、図8において作成された各種テーブル、および図9において作成された各種テーブルに基づいて、業務処理が終了したか否かを判定する一例について説明する。
図10の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図10の例は、具体的には、図4を用いて説明した、判定部404が情報処理装置202において業務処理が終了したか否かを判定する場合の例である。
図10は、業務処理が終了したか否かを判定する一例を示す説明図である。情報処理装置202は、プロセスの実行が終了したことを検出し、図8において作成された各種テーブル、および図9において作成された各種テーブルのうちのいずれかのテーブルに記憶されたプロセスの実行が終了したか否かを判定する。
情報処理装置202は、プロセスの実行が終了したと判定した場合、続けてプロセスの実行が終了したことを検出し、実行が終了したプロセスの履歴1000を作成する。図10の例では、情報処理装置202は、プロセスA−2→プロセスA−1→プロセスA−4→プロセスA−3→プロセスA−0の順序で実行が終了したプロセスA−0〜A−4の情報を記憶する履歴1000を作成する。
ここで、情報処理装置202は、図8において作成された各種テーブルに基づいて、作成した履歴1000から業務処理が正常に終了したか否かを判定する。情報処理装置202は、例えば、図8において作成された順序テーブル801に基づいて、既定順序でプロセスA−0〜A−2の実行が終了したか否かを判定する。図10の例では、情報処理装置202は、既定順序で実行が終了したと判定する。
また、情報処理装置202は、図8において作成された組み合わせテーブル802に基づいて、残余のプロセスA−3,A−4の実行が終了したか否かを判定する。図10の例では、情報処理装置202は、実行が終了したと判定する。そして、情報処理装置202は、既定順序で一連のプロセスの実行が終了し、かつ、残余のプロセスの実行が終了したため、業務処理が正常に終了したと判定する。
また、ここで、情報処理装置202は、図9において作成された各種テーブルに基づいて、履歴1000からシャットダウンしたか否かを判定してもよい。情報処理装置202は、例えば、図9において作成された順序テーブル801に基づいて、既定順序でプロセスA−0〜A−2の実行が終了したか否かを判定する。図9において作成された組み合わせテーブル802に基づいて、残余のプロセスA−3,A−4の実行が終了したか否かを判定する。
そして、情報処理装置202は、図9において作成された補足テーブル901に基づいて、他の処理のプロセスX−0〜X−4の実行が終了したか否かを判定する。情報処理装置202は、既定順序で一連のプロセスの実行が終了し、残余のプロセスの実行が終了し、かつ、他の処理のプロセスが終了した場合、シャットダウンとともに業務処理が正常に終了したと判定する。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202から情報処理装置202において実行が終了したプロセスの情報を受信して、業務処理が正常に終了したか否かを判定してもよい。
(業務処理が終了したか否かを判定する別の例)
次に、図11を用いて、情報処理装置202が、図8において作成されたテーブル、および図9において作成されたテーブルに基づいて、業務処理が終了したか否かを判定する別の例について説明する。
図11の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図11の例は、具体的には、図4を用いて説明した、判定部404が情報処理装置202において業務処理が終了したか否かを判定する場合の例である。
図11は、業務処理が終了したか否かを判定する別の例を示す説明図である。情報処理装置202は、プロセスの実行が終了したことを検出し、図8において作成された各種テーブル、および図9において作成された各種テーブルのうちのいずれかのテーブルに記憶されたプロセスの実行が終了したか否かを判定する。
情報処理装置202は、プロセスの実行が終了したと判定した場合、続けてプロセスの実行が終了したことを検出し、実行が終了したプロセスの履歴1100を作成する。図11の例では、情報処理装置202は、プロセスA−0→プロセスA−2→プロセスA−4→プロセスA−3→プロセスA−1の順序で実行が終了したプロセスA−0〜A−4の情報を記憶する履歴1100を作成する。
ここで、情報処理装置202は、図8において作成された各種テーブルに基づいて、作成した履歴1100から業務処理が正常に終了したか否かを判定する。情報処理装置202は、例えば、図8において作成された順序テーブル801に基づいて、既定順序でプロセスA−0〜A−2の実行が終了したか否かを判定する。図11の例では、情報処理装置202は、既定順序とは異なる順序で実行が終了したと判定する。
また、情報処理装置202は、図8において作成された組み合わせテーブル802に基づいて、残余のプロセスA−3,A−4の実行が終了したか否かを判定する。図11の例では、情報処理装置202は、実行が終了したと判定する。そして、情報処理装置202は、既定順序とは異なる順序で一連のプロセスの実行が終了したため、業務処理が正常に終了していないと判定する。
(業務処理の終了における監視ポリシーの切り替え)
次に、図12を用いて、情報処理装置202の業務処理の終了における監視ポリシーの切り替えの一例について説明する。図12の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図12の例は、具体的には、図4を用いて説明した、変更部405が監視ポリシーを変更する場合の例である。
図12は、業務処理の終了における監視ポリシーの切り替えの一例を示す説明図である。図12に示すように、オンライン業務の業務処理が7:00〜19:00に行われると計画されているとする。また、バッチ業務の業務処理が19:00〜翌5:00に行われると計画されているとする。また、情報処理装置202のシャットダウンが5:00に行われ、情報処理装置202の動作開始が7:00に行われると計画されているとする。
また、オンライン業務の計画に合わせて、7:00〜19:00の監視ポリシーは、オンライン業務の監視ポリシーになると計画されているとする。また、バッチ業務の計画に合わせて、19:00〜翌5:00の監視ポリシーは、バッチ業務の監視ポリシーになると計画されているとする。また、情報処理装置202のシャットダウンの計画に合わせて、5:00〜7:00の監視ポリシーは、OFFになると計画されているとする。
ここで、運用上、オンライン業務が長引き、オンライン業務が21:00まで終了しなかったとする。この場合、情報処理装置202は、図10に説明したように、オンライン業務が終了したか否かを判定する。そして、情報処理装置202は、オンライン業務の計画である19:00になっても、オンライン業務が終了したと判定していないため、オンライン業務の監視ポリシーを切り替えない。そして、情報処理装置202は、オンライン業務が21:00に終了すると、オンライン業務が終了したと判定して、オンライン業務の監視ポリシーをバッチ業務の監視ポリシーに切り替える。
これにより、情報処理装置202は、実際にはオンライン業務を行っているときに、バッチ業務の監視ポリシーに切り替えてしまって、オンライン業務をバッチ業務の監視ポリシーで監視してしまってエラーが発生することを防止することができる。また、情報処理装置202は、実際にオンライン業務が終了したことに応じて、オンライン業務の監視ポリシーをバッチ業務の監視ポリシーに切り替えることができる。このため、情報処理装置202は、バッチ業務をオンライン業務の監視ポリシーで監視してしまってエラーが発生することを防止することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202において業務処理が正常に終了したと判定したことに応じて、情報処理装置202に監視ポリシーの切り替えを通知してもよい。また、管理装置が、情報処理装置202を監視する場合、管理装置の監視ポリシーを切り替えてもよい。
(シャットダウンにおける監視ポリシーの切り替え)
次に、図13を用いて、情報処理装置202のシャットダウンにおける監視ポリシーの切り替えの一例について説明する。図13の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図13の例は、具体的には、図4を用いて説明した、変更部405が監視ポリシーを変更する場合の例である。
図13は、シャットダウンにおける監視ポリシーの切り替えの一例を示す説明図である。図13に示すように、オンライン業務の業務処理が7:00〜19:00に行われると計画されているとき、情報処理装置202が18:00にシャットダウンしたことに応じてオンライン業務が終了したとする。
この場合、情報処理装置202は、図10に説明したように、情報処理装置202がシャットダウンしたか否かを判定する。そして、情報処理装置202は、シャットダウンしたと判定したため、オンライン業務の監視ポリシーを一旦OFFにする。そして、情報処理装置202は、オンライン業務自体が終了していないため、情報処理装置202が起動すると、オンライン業務が再開すると判定して、オンライン業務の監視ポリシーを再びONにする。
これにより、情報処理装置202は、実際にはオンライン業務を行っているときに、監視ポリシーをOFFのままにしてしまって、エラーが発生することを防止することができる。また、情報処理装置202は、実際にシャットダウンしたことに応じて、監視ポリシーをOFFにすることができ、エラーが発生することを防止することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、情報処理装置202においてシャットダウンの際に業務処理が正常に終了したと判定したことに応じて、情報処理装置202に監視ポリシーの切り替えを通知してもよい。また、管理装置が、情報処理装置202を監視する場合、管理装置の監視ポリシーを切り替えてもよい。
(他の情報処理装置202における業務処理に対するテーブルを使用する一例)
次に、図14を用いて、他の情報処理装置202における業務処理に対するテーブルを使用する一例について説明する。
図14の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図14の例は、具体的には、図4を用いて説明した、他の情報処理装置202における業務処理の終了に応じて他の情報処理装置202において実行が終了したプロセスを流用した場合の記憶部403の記憶内容の例である。
図14は、他の情報処理装置202における業務処理に対するテーブルを使用する一例を示す説明図である。情報処理装置202は、業務処理を行う複数の情報処理装置202の各々の情報処理装置202に対して順序テーブル801および組み合わせテーブル802のパターンを作成する。
次に、情報処理装置202は、プロセスの実行が終了したことを検出し、いずれかのパターンに基づいて、図10と同様にして、業務処理が終了したか否かを判定する。ここで、情報処理装置202は、各々の情報処理装置202に対するパターンに、ハッシュ値を付与しておき、ハッシュ値に基づいて、業務処理が終了したか否かを判定するために使用するパターンを選択してもよい。
情報処理装置202は、例えば、パターンにおけるプロセスの名称xと順序性のあるプロセス群に含まれるプロセスの数yとをハッシュ関数f(x,y)に代入して得られるハッシュ値を、パターンに付与しておく。次に、情報処理装置202は、プロセスの実行が終了したことを検出し、プロセスの名称と順序性のあるプロセス群に含まれるプロセスの数とをハッシュ関数に代入してハッシュ値を算出して、算出したハッシュ値が付与されたパターンを選択する。そして、情報処理装置202は、選択したハッシュ値が付与されたパターンに基づいて、業務処理が終了したか否かを判定する。
これにより、情報処理装置202は、情報処理装置202に対するパターンを作成していない場合であっても、他の情報処理装置202に対するパターンに基づいて、情報処理装置202において業務処理が終了したか否かを判定することができる。ここで、業務処理の処理内容が変更され、業務処理の終了に応じて実行が終了するプロセスが変更された場合で、業務処理の処理内容が変更された後に情報処理装置202に対するパターンを作成していない場合を例に挙げる。この場合であっても、情報処理装置202は、他の情報処理装置202に対するパターンに基づいて、情報処理装置202において業務処理が終了したか否かを判定することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、複数の情報処理装置202の各々の情報処理装置202に対応する各種テーブルを記憶してもよい。そして、管理装置が、各々の情報処理装置202を、各々の情報処理装置202に対応する各種テーブルに基づいて、各々の情報処理装置202において業務処理が終了したか否かを判定してもよい。
また、管理装置が、監視制御装置400としての機能を有する場合では、複数の情報処理装置202のうちのいずれかの情報処理装置202に対応する各種テーブルを記憶してもよい。そして、管理装置が、各々の情報処理装置202を、いずれかの情報処理装置202に対応する各種テーブルを流用して、各々の情報処理装置202において業務処理が終了したか否かを判定してもよい。
(ハッシュ値に対応付けたパターンの一例)
次に、図15を用いて、ハッシュ値に対応付けたパターンの一例について説明する。図15の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図15の例は、具体的には、図4を用いて説明した、他の情報処理装置202における業務処理の終了に応じて他の情報処理装置202において実行が終了したプロセスを流用した場合の記憶部403の記憶内容の詳細な例である。
図15は、ハッシュ値に対応付けたパターンの一例を示す説明図である。情報処理装置202は、ハッシュ値のテーブルを記憶装置302に記憶する。また、情報処理装置202は、ハッシュ値のテーブルに記憶された各々のハッシュ値に対応付けて、各々のハッシュ値が付与されたパターンのうちの順序テーブル801を、記憶装置302に記憶する。また、情報処理装置202は、パターンのうちの順序テーブル801に対応付けて、パターンのうちの組み合わせテーブル802を、記憶装置302に記憶する。
これにより、情報処理装置202は、複数のパターンの一つ一つを選択して、選択した一つ一つのパターンに基づいて、情報処理装置202において業務処理が終了したか否かを判定しなくてもよくなる。換言すれば、情報処理装置202は、複数のパターンのうちのいくつかを選択して、情報処理装置202において業務処理が終了したか否かを判定すればよいため、処理負荷を低減することができる。
また、管理装置が、監視制御装置400としての機能を有する場合では、複数の情報処理装置202の各々の情報処理装置202に対応する各種テーブルを、ハッシュ値に対応付けたパターンとして記憶してもよい。以下の説明では、複数の情報処理装置202の各々の情報処理装置202に対応する各種テーブルを、ハッシュ値に対応付けたパターンを含む情報を「グローバル定義情報」と表記する場合がある。
(パターンを更新する一例)
次に、図16を用いて、パターンを更新する一例について説明する。図16の例は、情報処理装置202が監視制御装置400としての機能を有する場合の例である。図16の例は、具体的には、図4を用いて説明した、記憶部403が他の情報処理装置202における業務処理の終了に応じて他の情報処理装置202において実行が終了したプロセスを流用して記憶する場合の例である。
図16は、パターンを更新する一例を示す説明図である。情報処理装置202は、上述したように、ハッシュ値のテーブルを記憶装置302に記憶するとともに、ハッシュ値のテーブルに記憶された各々のハッシュ値に対応付けて、パターンを記憶装置302に記憶する。
情報処理装置202は、さらに、パターンに対応付けて、パターンIDを付与して、記憶装置302に記憶する。また、情報処理装置202は、さらに、パターンIDに対応付けて、パターンに基づいて業務処理が終了したか否かを判定する情報処理装置202の名称を、記憶装置302に記憶する。
そして、情報処理装置202は、パターンIDに対応付けて、パターンIDのパターンを使用して業務処理が終了したか否かを判定した回数を記憶するグローバルチェック結果表1600を作成する。
また、情報処理装置202は、パターンを使用して業務処理が終了したか否かを判定した回数が所定回数を超えると、自装置に対応する順序テーブル801および組み合わせテーブル802を、使用したパターンで更新する。これにより、情報処理装置202は、業務処理の内容が変更されて、自装置に対応する順序テーブル801および組み合わせテーブル802では業務処理が終了したか判定することができなくなった場合、各種テーブルを、更新することができる。
(監視定義処理手順の一例)
次に、図17を用いて、情報処理装置202の監視定義処理手順の一例について説明する。
図17は、監視定義処理手順の一例を示すフローチャートである。図17において、情報処理装置202は、プロセスの分析を行う(ステップS1701)。次に、情報処理装置202は、プロセスの監視を行う(ステップS1702)。そして、情報処理装置202は、監視した結果を管理装置に送信する(ステップS1703)。
次に、情報処理装置202は、プロセスの分析を再度行うか否かを判定する(ステップS1704)。ここで、プロセスの分析を再度行う場合(ステップS1704:Yes)、情報処理装置202は、ステップS1701の処理に戻る。一方で、プロセスの分析を行わない場合(ステップS1704:No)、情報処理装置202は、ステップS1702の処理に戻る。
(プロセス分析処理手順の一例)
次に、図18を用いて、情報処理装置202のプロセス分析処理手順の一例について説明する。
図18は、プロセス分析処理手順の一例を示すフローチャートである。図18において、情報処理装置202は、1時間以内に生成と消滅を繰り返したプロセスを特定する(ステップS1801)。次に、情報処理装置202は、特定したプロセスを起点にして、親側にある親プロセスをさかのぼって、親プロセスの階層を特定する(ステップS1802)。
そして、情報処理装置202は、親側の最上位にある親プロセスが記憶済みか否かを判定する(ステップS1803)。ここで、記憶済みである場合(ステップS1803:Yes)、情報処理装置202は、各階層のプロセスが記憶されていなければ記憶して(ステップS1804)、ステップS1806の処理に移行する。
一方で、記憶済みではない場合(ステップS1803:No)、情報処理装置202は、最上位にある親プロセスを含む各々の階層のプロセスを記憶して(ステップS1805)、ステップS1806の処理に移行する。
ステップS1806において、情報処理装置202は、すべてのプロセスについて処理を行ったか否かを判定する(ステップS1806)。ここで、すべてのプロセスについて処理を行っていない場合(ステップS1806:No)、情報処理装置202は、ステップS1802の処理に戻る。
一方で、すべてのプロセスについて処理を行った場合(ステップS1806:Yes)、情報処理装置202は、親子関係のある常駐プロセス群の情報を作成して(ステップS1807)、プロセス分析処理を終了する。
(テーブル作成処理手順の一例)
次に、図19を用いて、情報処理装置202のテーブル作成処理手順の一例について説明する。
図19は、テーブル作成処理手順の一例を示すフローチャートである。図19において、情報処理装置202は、監視ポリシー定義情報から、監視ポリシーの切り替え時点、監視ポリシーのOFF時点を取得する(ステップS1901)。次に、情報処理装置202は、取得した時点の15分前から30分間、実行が終了したプロセスの履歴を作成する(ステップS1902)。
そして、情報処理装置202は、7日間経過したか否かを判定する(ステップS1903)。情報処理装置202は、履歴を作成する期間を7日間にすることにより、曜日ごとに実行が終了したプロセスのばらつきを考慮して、ある曜日にだけ監視ポリシーの切り替え時点に偶然終了したプロセスなどを除いて、各種テーブルを作成することができる。履歴を作成する期間は、24時間であってもよいし、1ヶ月間であってもよい。また、履歴を作成する期間は、業務処理の内容、監視ポリシーの内容、情報処理装置202の状態、または各種テーブルを作成する期日などに基づいて、適宜変更してもよい。
ここで、経過していない場合(ステップS1903:No)、情報処理装置202は、ステップS1901の処理に戻る。一方で、経過した場合(ステップS1903:Yes)、情報処理装置202は、7日分の履歴に基づいて、プロセスの実行が終了した順序を特定する(ステップS1904)。次に、情報処理装置202は、プロセスの実行が終了した順序が、7日間のうち毎日同一であったか否かを判定する(ステップS1905)。
ここで、同一であった場合(ステップS1905:Yes)、情報処理装置202は、プロセスを、順序テーブル801に記憶して(ステップS1906)、テーブル作成処理を終了する。一方で、同一ではなかった場合(ステップS1905:No)、情報処理装置202は、プロセスを、組み合わせテーブル802に記憶して(ステップS1907)、テーブル作成処理を終了する。
(テーブル修正処理手順の一例)
次に、図20を用いて、情報処理装置202のテーブル修正処理手順の一例について説明する。
図20は、テーブル修正処理手順の一例を示すフローチャートである。図20において、情報処理装置202は、順序テーブル801の最上位にある親プロセスを取得する(ステップS2001)。次に、情報処理装置202は、親子関係のある常駐プロセス群であって、取得した親プロセスを最上階層に含む常駐プロセス群を特定する(ステップS2002)。そして、情報処理装置202は、特定した常駐プロセス群を監視候補のプロセス群に決定する(ステップS2003)。
次に、情報処理装置202は、順序テーブル801および組み合わせテーブル802に、決定した監視候補のプロセス群に含まれないプロセスがあるか否かを判定する(ステップS2004)。ここで、プロセスがない場合(ステップS2004:No)、情報処理装置202は、テーブル修正処理を終了する。
一方で、プロセスがある場合(ステップS2004:Yes)、情報処理装置202は、順序テーブル801および組み合わせテーブル802から、監視候補のプロセス群に含まれないプロセスを除外して、順序テーブル801および組み合わせテーブル802を更新する(ステップS2005)。そして、情報処理装置202は、テーブル修正処理を終了する。
(判定処理手順の一例)
次に、図21を用いて、情報処理装置202の判定処理手順の一例について説明する。
図21は、判定処理手順の一例を示すフローチャートである。図21において、情報処理装置202は、順序テーブル801および組み合わせテーブル802に記載されたプロセスを監視する(ステップS2101)。次に、情報処理装置202は、監視した結果、実行が終了したプロセスを検出したか否かを判定する(ステップS2102)。
ここで、検出した場合(ステップS2102:Yes)、情報処理装置202は、実行が終了したプロセスの履歴を作成して(ステップS2103)、ステップS2104の処理に移行する。
一方で、検出していない場合(ステップS2102:No)、情報処理装置202は、監視ポリシーの切り替え時点、または監視ポリシーのOFF時点になるのを待つ(ステップS2104)。次に、情報処理装置202は、順序テーブル801および組み合わせテーブル802に記載されたすべてのプロセスの実行が終了したか否かを判定する(ステップS2105)。
ここで、すべてのプロセスの実行が終了した場合(ステップS2105:Yes)、情報処理装置202は、ステップS2106の処理に移行する。一方で、すべてのプロセスの実行が終了していない場合(ステップS2105:No)、情報処理装置202は、ステップS2109の処理に移行する。
ステップS2106において、情報処理装置202は、順序テーブル801に記載されたプロセスが規定順序で実行が終了したか否かを判定する(ステップS2106)。ここで、規定順序で実行が終了した場合(ステップS2106:Yes)、情報処理装置202は、ステップS2107の処理に移行する。一方で、規定順序で実行が終了していない場合(ステップS2106:No)、情報処理装置202は、ステップS2111の処理に移行する。
ステップS2107において、情報処理装置202は、監視ポリシーを変更する(ステップS2107)。そして、情報処理装置202は、グローバルチェックを行っていれば、順序テーブル801および組み合わせテーブル802の更新処理を実行して(ステップS2108)、判定処理を終了する。
ステップS2109において、情報処理装置202は、履歴の作成から30分以上経過したか否かを判定する(ステップS2109)。ここで、経過していない場合(ステップS2109:No)、情報処理装置202は、ステップS2101の処理に戻る。一方で、経過した場合(ステップS2109:Yes)、情報処理装置202は、グローバルチェック処理を実行して(ステップS2110)、ステップS2111の処理に移行する。
ステップS2111において、情報処理装置202は、業務処理が正常に終了したか否かを判定する(ステップS2111)。ここで、正常に終了した場合(ステップS2111:Yes)、情報処理装置202は、ステップS2107の処理に移行する。
一方で、正常に終了していない場合(ステップS2111:No)、情報処理装置202は、管理装置に通知して(ステップS2112)、判定処理を終了する。
(グローバルチェック処理手順の一例)
次に、図22を用いて、情報処理装置202のグローバルチェック処理手順の一例について説明する。
図22は、グローバルチェック処理手順の一例を示すフローチャートである。図22において、情報処理装置202は、履歴に基づいて、グローバル定義情報の中から、ハッシュ値に対応するパターンを特定する(ステップS2201)。次に、情報処理装置202は、パターンを特定したか否かを判定する(ステップS2202)。
ここで、パターンを特定した場合(ステップS2202:Yes)、情報処理装置202は、履歴に基づいて、特定したパターンのいずれかのパターンから、パターンの通りにプロセスの実行が終了したか否かを判定する(ステップS2203)。次に、情報処理装置202は、判定した結果に基づいて、業務処理が正常に終了したか否かを判定する(ステップS2204)。
ここで、業務処理が正常に終了した場合(ステップS2204:Yes)、情報処理装置202は、正常に終了したことを表す情報と、いずれかのパターンのパターンIDと、を記憶して(ステップS2205)、グローバルチェック処理を終了する。
一方で、ステップS2202においてパターンを特定していない場合(ステップS2202:No)、およびステップS2204において、業務処理が正常に終了していない場合(ステップS2204:No)、情報処理装置202は、正常に終了していないことを表す情報を記憶して(ステップS2206)、グローバルチェック処理を終了する。
(更新処理手順の一例)
次に、図23を用いて、情報処理装置202の更新処理手順の一例について説明する。
図23は、更新処理手順の一例を示すフローチャートである。図23において、情報処理装置202は、グローバルチェック結果表があるか否かを判定する(ステップS2301)。
ここで、グローバルチェック結果表がない場合(ステップS2301:No)、情報処理装置202は、グローバルチェックに用いられたパターンのパターンIDを設定したグローバルチェック結果表を作成する(ステップS2302)。次に、情報処理装置202は、パターンIDに回数「1」を対応付けて設定する(ステップS2303)。そして、情報処理装置202は、更新処理を終了する。
一方で、グローバルチェック結果表がある場合(ステップS2301:Yes)、情報処理装置202は、グローバルチェック結果表に、パターンIDを設定したレコードがあるか否かを判定する(ステップS2304)。ここで、レコードがない場合(ステップS2304:No)、情報処理装置202は、運用管理者に警告メッセージを通知して(ステップS2305)、ステップS2309の処理に移行する。
一方で、レコードがある場合(ステップS2304:Yes)、情報処理装置202は、レコードの回数を+1して更新する(ステップS2306)。次に、情報処理装置202は、回数が3以上であるか否かを判定する(ステップS2307)。ここで、回数が3より小さい場合(ステップS2307:No)、情報処理装置202は、更新処理を終了する。
一方で、回数が3以上である場合(ステップS2307:Yes)、情報処理装置202は、パターンIDに対応付けられた情報処理装置202の名称に基づいて、情報処理装置202から順序テーブル801および組み合わせテーブル802を取得して、更新する(ステップS2308)。次に、情報処理装置202は、グローバルチェック結果表のレコードを削除する(ステップS2309)。そして、情報処理装置202は、更新処理を終了する。
以上説明したように、監視制御プログラムによれば、情報処理装置202において実行が終了したプロセスを検出し、業務処理の終了に応じて実行が終了するプロセスの実行が終了したことに応じて、業務処理が終了したと判定することができる。これにより、監視制御プログラムは、監視ポリシーの切替タイミングを検出することができる。
また、監視制御プログラムによれば、順序テーブル801および組み合わせテーブル802を参照して、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了したと判定した場合、業務処理が正常に終了したと判定することができる。これにより、監視制御プログラムは、業務処理が終了したか否かを判定する精度を向上させることができる。
また、監視制御プログラムによれば、一連のプロセスの実行が規定順序で終了し、かつ、残余のプロセスの実行が終了し、かつ、シャットダウンしたと判定した場合、業務処理が情報処理装置202のシャットダウンに伴って終了したと判定することができる。これにより、監視制御プログラムは、順序テーブル801、組み合わせテーブル802、および補足テーブル901の記憶内容を参照して、業務処理がシャットダウンに伴って終了したか否かを判定することができる。
また、プロセスの情報は、業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含んでもよい。これにより、監視制御プログラムは、業務処理の終了に応じて実行が終了するプロセスを詳細に特定して、業務処理が終了したか否かを判定する精度を向上させることができる。
また、プロセスの情報は、情報処理装置202とは異なる情報処理装置202における業務処理の終了に応じて、または、異なる情報処理装置202のシャットダウンの際に、異なる情報処理装置202において実行が終了したプロセスの情報であってもよい。
ここで、情報処理装置202における業務処理の終了に応じて、情報処理装置202において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置202における業務処理の終了に応じて他の情報処理装置202において実行が終了するプロセスの情報を流用して、情報処理装置202において業務処理が終了したか否かを判定することができる。
また、業務処理の内容が変更されて業務処理の終了に応じて実行が終了するプロセスの種類が変化した場合で、情報処理装置202における業務処理の終了に応じて情報処理装置202において実行が終了するプロセスの情報が特定されていない場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置202における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、情報処理装置202において業務処理が終了したか否かを判定することができる。
また、ネットワーク210に新しく情報処理装置202を追加した場合を例に挙げる。この場合であっても、監視制御プログラムは、他の情報処理装置202における業務処理の終了に応じて実行が終了するプロセスの情報を流用して、新しく追加した情報処理装置202において業務処理が終了したか否かを判定することができる。
また、監視制御プログラムによれば、業務処理が終了したと判定したことに応じて、監視ポリシーを変更することができる。これにより、監視制御プログラムは、業務処理を、適切な監視ポリシーで監視させることができる。このため、監視システムにおいて、業務処理を不適切な監視ポリシーで監視してしまい、不要なエラーメッセージが出力されてしまうことを防止することができる。また、監視システムにおいて、エラーメッセージの数が減少するため、監視システムの保守にかかる費用を低減することができる。
ここで、業務処理を制御するミドルウェアの起動時や終了時に監視ポリシーを同期させる場合が考えられる。しかしながら、この場合、ミドルウェアの起動や終了が起こった理由は不明であるため、業務処理が正常に終了して他の業務処理に切り替わったのか業務処理が情報処理装置のシャットダウンに伴って一時的に終了したのかを把握することができない。このため、監視ポリシーを切り替えるべきかOFFにするべきかを把握することができず、不適切な監視ポリシーを設定してしまうことがある。一方で、情報処理装置は、業務処理が正常に終了して他の業務処理に切り替わった場合と、業務処理が情報処理装置のシャットダウンに伴って一時的に終了した場合と、の各々に対応した監視ポリシーを設定することができる。また、この場合、ミドルウェアの追加や入替が行われる都度、監視ポリシーとの同期の設定を修正しなければならず、監視システムの保守にかかる費用が増大してしまう。一方で、情報処理装置は、自動で、業務処理が終了したか否かを判定するための各種テーブルを作成することができるため、監視システムの保守にかかる費用を低減することができる。
ここで、情報処理装置におけるシャットダウンにかかるプロセスの名称を記憶して、当該名称のプロセスの起動を検出して、情報処理装置がシャットダウンしたことを検出する場合が考えられる。しかしながら、この場合、誤操作防止のために同一名称のダミープログラムがある場合に、確実にシャットダウンしたか否かを判定することができない。一方で、情報処理装置は、情報処理装置のシャットダウンの際に実行が終了するプロセスを予め自動検出しておき、実際に当該プロセスの実行が終了したか否かを判定することにより、シャットダウンしたか否かを判定することができる。
なお、本実施の形態で説明した監視制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本監視制御プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本監視制御プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行させることを特徴とする監視制御プログラム。
(付記2)前記記憶部は、前記業務処理に対応付けて、前記業務処理の終了に応じて実行が終了する複数のプロセスのうちで前記業務処理の終了に応じて規定順序で実行が終了する一連のプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定する、
ことを特徴とする付記1に記載の監視制御プログラム。
(付記3)前記記憶部は、さらに、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの情報を記憶し、
前記判定する処理は、
検出した結果に基づいて、前記記憶部の記憶内容を参照して、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記複数のプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了し、かつ、前記情報処理装置のシャットダウンの際に実行が終了するプロセスの実行が終了したことに応じて、前記情報処理装置のシャットダウンとともに前記業務処理が終了したと判定する、
ことを特徴とする付記2に記載の監視制御プログラム。
(付記4)前記プロセスの情報は、前記業務処理と連動して終了する他の業務処理の終了に応じて実行が終了するプロセスの情報を含むことを特徴とする付記1〜3のいずれか一つに記載の監視制御プログラム。
(付記5)前記プロセスの情報は、前記情報処理装置とは異なる情報処理装置における前記業務処理の終了に応じて、または、前記異なる情報処理装置のシャットダウンの際に前記異なる情報処理装置において実行が終了したプロセスの情報を含むことを特徴とする付記1〜4のいずれか一つに記載の監視制御プログラム。
(付記6)前記コンピュータに、
前記業務処理が終了したと判定したことに応じて、前記情報処理装置において前記業務処理が正常に動作しているか否かを判定する監視ポリシーを、前記業務処理とは異なる業務処理が正常に動作しているか否かを判定する監視ポリシーに変更する、
処理を実行させることを特徴とする付記1〜5のいずれか一つに記載の監視制御プログラム。
(付記7)前記コンピュータに、
検出した結果に基づいて、前記業務処理が終了予定の期間に前記情報処理装置において実行が終了したプロセス群のうちで呼び出し関係のある第1のプロセス群を特定し、
検出した結果に基づいて、前記情報処理装置において繰り返し呼び出されたプロセスの呼び出し元になる第2のプロセス群を特定し、
特定した前記第1のプロセス群と特定した前記第2のプロセス群とに共通するプロセスの情報を、前記業務処理に対応付けて前記記憶部に記憶する、処理を実行させ、
前記判定する処理は、前記共通するプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定することを特徴とする付記1〜6のいずれか一つに記載の監視制御プログラム。
(付記8)前記コンピュータに、
検出した結果に基づいて、前記業務処理が終了予定の複数の期間に前記情報処理装置において共通して実行が終了したプロセス群のうちで呼び出し関係のある第1のプロセス群を特定し、
検出した結果に基づいて、前記情報処理装置において繰り返し呼び出されたプロセスの呼び出し元になる第2のプロセス群を特定し、
特定した前記第1のプロセス群と特定した前記第2のプロセス群とに共通するプロセスのうちで前記複数の期間に共通して規定順序で実行が終了した一連のプロセスの情報を、前記業務処理に対応付けて前記記憶部に記憶する、処理を実行させ、
前記判定する処理は、前記規定順序で前記一連のプロセスの実行が終了し、かつ、前記共通するプロセスのうちの前記一連のプロセスとは異なる残余のプロセスの実行が終了したことに応じて、前記業務処理が終了したと判定することを特徴とする付記2または3に記載の監視制御プログラム。
(付記9)コンピュータが、
情報処理装置におけるプロセスの実行の終了を検出し、
検出した前記プロセスの終了の結果が、業務処理と対応付けて記憶部に記憶された前記業務処理が終了するときのプロセスの終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する、
処理を実行することを特徴とする監視制御方法。
(付記10)業務処理と対応付けて前記業務処理が終了するときのプロセスの終了パターンを記憶する記憶部と、
情報処理装置におけるプロセスの実行の終了を検出した結果が、前記業務処理と対応付けて前記記憶部に記憶された前記終了パターンと合致するか否かにより、前記業務処理が終了したか否かを判定する判定部と、
を有することを特徴とする監視制御装置。