(57)【要約】【課題】効率的にプロセスを監視することができるようにする。【解決手段】プロセス監視装置３０は、情報処理サーバ２０のそれぞれの実ＩＰアドレスを宛先として、情報処理サーバ２０に仮想ＩＰアドレスが設定されているかどうかを問い合わせるＩＰアドレス取得要求を送信し、ＩＰアドレス取得要求に応じて情報処理サーバ２０から送信されるＭＩＢ情報を受信する。プロセス監視装置３０は、ＭＩＢ情報に基づいて、仮想ＩＰアドレスが設定されている情報処理サーバ２０の実ＩＰアドレスを特定し、プロセス名と、特定した実ＩＰアドレスとを対応付けて監視プロセスデータベース３５２に記憶する。プロセス監視装置３０は、監視対象となるプロセスのプロセス名に対応する実ＩＰアドレスを宛先として、プロセス情報取得要求を送信する。【選択図】図３
2008146397.tif 000002
【特許請求の範囲】
【請求項１】
通信可能に接続される複数の情報処理装置のそれぞれに第１のネットワークアドレスが設定され、前記情報処理装置のうちの１つに更に第２のネットワークアドレスが設定される情報処理システムにおいて、前記第２のネットワークアドレスが設定される前記情報処理装置において実行されるプロセスの実行状態を監視する装置であって、
監視対象となる前記プロセスを示すプロセスＩＤ及び前記プロセスに対応する前記第２のネットワークアドレスを記憶する監視情報記憶部と、
前記第１のネットワークアドレスを用いて、前記第２のネットワークアドレスが設定されているかどうかを問い合わせる問合わせ要求を前記情報処理装置に送信する問合わせ要求送信部と、
前記問合わせ要求に対する応答を受信する応答受信部と、
前記応答に基づいて、前記第２のネットワークアドレスが設定されている前記情報処理装置に設定されている前記第１のネットワークアドレスをプロセス実行アドレスとして特定するアドレス特定部と、
前記プロセスＩＤと前記特定した前記プロセス実行アドレスとを対応づけて記憶するプロセス情報記憶部と、
監視対象となる前記プロセスを示す前記プロセスＩＤに対応する前記プロセス実行アドレスを読み出し、読み出した前記プロセス実行アドレスを宛先として、前記プロセスの実行状態を取得するためのプロセス情報取得要求を送信するプロセス監視部と、
を備えることを特徴とする監視装置。
【請求項２】
請求項１に記載の監視装置であって、
前記問合わせ要求送信部は、前記各情報処理装置に、前記第１のネットワークアドレスを用いて、各前記情報処理装置に設定されている前記第１又は第２のネットワークアドレスを問い合わせるＳＮＭＰコマンドを送信し、
前記アドレス特定部は、各前記情報処理装置からの前記応答のそれぞれについて、前記第２のネットワークアドレスが含まれているかどうかを判定し、前記第２のネットワークアドレスが含まれている前記応答を送信してきた前記情報処理装置の前記第１のネットワークアドレスを前記プロセス実行アドレスとして特定すること、
を特徴とする監視装置。
【請求項３】
請求項１に記載の監視装置であって、
前記プロセス情報取得要求に応じて、前記情報処理装置において実行されている前記プロセスの実行状態を含むプロセス情報を、前記情報処理装置から受信するプロセス情報受信部と、
前記プロセス情報に基づいて、前記プロセスが実行されているかどうかを判定するプロセス実行判定部と、を備え、
前記プロセスが実行されていないと判定された場合、
前記問合わせ要求送信部は、再度前記第１のネットワークアドレスを用いて前記問合わせ要求を送信し、
前記アドレス特定部は、前記問合わせ要求に対する応答に基づいて前記プロセス実行アドレスを特定し、特定した前記プロセス実行アドレスを前記プロセスＩＤに対応付けて前記プロセス情報記憶部に記憶すること、
を特徴とする監視装置。
【請求項４】
請求項３に記載の監視装置であって、
前記プロセスＩＤに対応付けて、前記プロセスが実行されているかどうかを示すステータス情報を記憶するプロセス情報記憶部と、
前記アドレス特定部が、再度の前記問合わせ要求に対する応答に基づいて前記プロセス実行アドレスを特定することができない場合、前記プロセスを示す前記プロセスＩＤに対応する前記プロセス情報記憶部の前記ステータス情報を、前記プロセスが実行されていないことを示す内容に更新するプロセス情報更新部と、
を備えることを特徴とする監視装置。
【請求項５】
通信可能に接続される複数の情報処理装置のそれぞれに第１のネットワークアドレスが設定され、前記情報処理装置のうちの１つに更に第２のネットワークアドレスが設定される情報処理システムにおいて、前記第２のネットワークアドレスが設定される前記情報処理装置において実行されるプロセスの実行状態を監視する方法であって、
コンピュータが、
監視対象となる前記プロセスを示すプロセスＩＤ及び前記プロセスに対応する前記第２のネットワークアドレスを記憶し、
前記第１のネットワークアドレスを用いて、前記第２のネットワークアドレスが設定されているかどうかを問い合わせる問合わせ要求を前記情報処理装置に送信し、
前記問合わせ要求に対する応答を受信し、
前記応答に基づいて、前記第２のネットワークアドレスが設定されている前記情報処理装置に設定されている前記第１のネットワークアドレスをプロセス実行アドレスとして特定し、
前記プロセスＩＤと前記特定した前記プロセス実行アドレスとを対応づけて記憶し、
監視対象となる前記プロセスを示す前記プロセスＩＤに対応する前記プロセス実行アドレスを読み出し、読み出した前記プロセス実行アドレスを宛先として、前記プロセスの実行状態を取得するためのプロセス情報取得要求を送信すること、
を特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセスの監視装置及び監視方法に関する。
【背景技術】
【０００２】
複数のコンピュータが協働して情報処理を行う方式としてクラスタリングやユーティリティコンピューティング、グリッドコンピューティングなどが知られている。これらの方式による情報処理を行うコンピュータシステムにおいて、所定のプロセスが実行されているかどうかを監視したいというニーズがある。例えば、特許文献１では、多ノードクラスタにおいて、各ノード（コンピュータ）において常時起動しているチェックプロセスが、クラスタグループの変動を確認するシステムが開示されている。
【特許文献１】特開２００３−３４５６２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載のシステムでは、監視対象となる全てのサーバから確認結果が監視サーバに送信されるので、監視対象となるサーバの台数が多い場合には、確認結果の送受信に負荷がかかってしまう。
【０００４】
本発明は、このような背景を鑑みてなされたものであり、効率的にプロセスを監視することのできる監視装置及び監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明の主たる発明は、通信可能に接続される複数の情報処理装置のそれぞれに第１のネットワークアドレスが設定され、前記情報処理装置のうちの1つに更に第２のネットワークアドレスが設定される情報処理システムにおいて、前記第２のネットワークアドレスが設定される前記情報処理装置において実行されるプロセスの実行状態を監視する装置であって、監視対象となる前記プロセスを示すプロセスＩＤ及び前記プロセスに対応する前記第２のネットワークアドレスを記憶する監視情報記憶部と、前記第１のネットワークアドレスを用いて、前記第２のネットワークアドレスが設定されているかどうかを問い合わせる問合わせ要求を前記情報処理装置に送信する問合わせ要求送信部と、前記問合わせ要求に対する応答を受信する応答受信部と、前記応答に基づいて、前記第２のネットワークアドレスが設定されている前記情報処理装置に設定されている前記第１のネットワークアドレスをプロセス実行アドレスとして特定するアドレス特定部と、前記プロセスＩＤと前記特定した前記プロセス実行アドレスとを対応づけて記憶するプロセス情報記憶部と、監視対象となる前記プロセスを示す前記プロセスＩＤに対応する前記プロセス実行アドレスを読み出し、読み出した前記プロセス実行アドレスを宛先として、前記プロセスの実行状態を取得するためのプロセス情報取得要求を送信するプロセス監視部と、を備えることとする。
【０００６】
本発明の監視装置によれば、監視対象となるプロセスに対応する第２のネットワークアドレスが設定されている情報処理装置を特定し、特定した情報処理装置に対してプロセス情報取得要求を送信することができる。したがって、複数の情報処理装置の全てに対してプロセス情報取得要求を送信する必要がないので、プロセスの実行状態を把握するために必要な情報の収集に係る通信負荷を低減し、効率的にプロセスを監視することができる。
【発明の効果】
【０００７】
本発明によれば、効率的にプロセスを監視することができる。
【発明を実施するための最良の形態】
【０００８】
＝＝システム構成＝＝
以下、本発明の一実施形態に係る情報処理システムについて説明する。図１は、本実施形態に係る情報処理システムの全体構成を示す図である。同図に示すように、本実施形態の情報処理システムは、クライアント装置１０、情報処理サーバ２０、プロセス監視装置３０、及び管理者端末４０を含んで構成されている。
【０００９】
クライアント装置１０、２台の情報処理サーバ２０、プロセス監視装置３０、及び管理者端末４０はそれぞれ通信ネットワーク５０を介して互いに通信可能に接続されている。通信ネットワーク５０は、例えば、イーサネット（登録商標）や公衆電話回線網などにより構築される、インターネットやＬＡＮ（Local Area Network）などである。本実施形態では、通信ネットワーク５０ではＴＣＰ／ＩＰにより通信が行われるものとし、クライアント装置１０、情報処理サーバ２０、プロセス監視装置３０、及び管理者端末４０にはそれぞれ固有のＩＰアドレス（以下、実ＩＰアドレスという。本発明の第１のネットワークアドレスに対応する。）が設定されている。
【００１０】
情報処理サーバ２０（本発明の情報処理装置に該当する。）は、クライアント装置１０からの情報処理要求に応じて情報処理サービスを提供するコンピュータである。情報処理サーバ２０としては、例えば、パーソナルコンピュータやワークステーションなどを採用することができる。情報処理サーバ２０は、各種のアプリケーションプログラムを実行することにより、各種の情報処理サービスを提供する。アプリケーションプログラムを実行することにより行われる処理はプロセスとも呼ばれる。２台の情報処理サーバ２０はクラスタを構成し、アプリケーションプログラム毎に付与される所定のＩＰアドレス（以下、仮想ＩＰアドレスという。本発明の第２のネットワークアドレスに該当する。）に対する情報処理要求に応じて情報処理を行うプロセスが実行される。仮想ＩＰアドレスは、情報処理サーバ２０の何れか一方に設定される。仮想ＩＰアドレスが設定された情報処理サーバ２０に障害が発生した場合には、他方の情報処理サーバ２０に仮想ＩＰアドレスが再設定され、続いて故障の発生した情報処理サーバ２０で実行されていたプロセスが、他方の情報処理サーバ２０に引き継がれる、いわゆるフェールオーバが行われる。なお、２台の情報処理サーバ２０により構成されるクラスタは、一般的な方法により実現される。
【００１１】
クライアント装置１０は、情報処理サーバ２０が提供する情報処理サービスを利用するユーザが操作するコンピュータである。クライアント装置１０は、仮想ＩＰアドレスを宛先として情報処理要求を送信する。これにより、ユーザ側ではプロセスが実行されている情報処理サーバ２０を意識することなく、クライアント装置１０は、クラスタを構成する情報処理サーバ２０群に対して通信を行うことが可能となる。
【００１２】
＝＝プロセス監視装置３０のハードウェア構成＝＝
図２は、プロセス監視装置３０のハードウェア構成を示す図である。同図に示すように、プロセス監視装置３０は、ＣＰＵ３０１，メモリ３０２、ディスクインタフェース３０３、通信インタフェース３０４を備えている。
【００１３】
ディスクインタフェース３０３は、ハードディスクドライブ３０５と接続するためのインタフェースである。ディスクインタフェース３０３は、例えば、ＳＣＳＩアダプタやファイバーチャネルアダプタなどである。
【００１４】
ハードディスクドライブ３０５は、プログラムやデータを記憶する記録媒体である。ハードディスクドライブ３０５には、監視プロセス管理プログラム３１１、ＩＰアドレス検出プログラム３１２、プロセス監視プログラム３１３が記憶されている。ハードディスクドライブ３０５に記憶されている各プログラムやデータは、ディスクインタフェース３０３を介してメモリ３０２に読み出される。
【００１５】
ＣＰＵ３０１は、ハードディスクドライブ３０５に記憶されているプログラムをメモリ３０２に読み出して実行することにより各種の機能を実現する。通信インタフェース３０４は、通信ネットワーク５０に接続するためのインタフェースである。通信インタフェース３０４は、例えば、イーサネット（登録商標）に接続するためのアダプタや、公衆電話回線網に接続するためのモデムである。
【００１６】
＝＝プロセス監視装置３０のソフトウェア構成＝＝
図３は、プロセス監視装置３０のソフトウェア構成を示す図である。同図に示すように、プロセス監視装置３０は、監視プロセス登録要求受信部３２１、監視プロセス削除要求受信部３２２、監視プロセス管理部３２３、実ＩＰアドレス検出部３２４、プロセス情報取得部３２５、サーバデータベース３５１、監視プロセスデータベース３５２を備えている。
【００１７】
なお、監視プロセス登録要求受信部３２１、監視プロセス削除要求受信部３２２、及び監視プロセス管理部３２３はそれぞれ、プロセス監視装置３０のＣＰＵ３０１が、ハードディスクドライブ３０５に記憶されている監視プロセス管理プログラム３１１をメモリ３０２に読み出して実行することにより実現される。
【００１８】
実ＩＰアドレス検出部３２４は、ＣＰＵ３０１がハードディスクドライブ３０５に記憶されているＩＰアドレス検出プログラム３１２をメモリ３０２に読み出して実行することにより実現される。  
プロセス情報取得部３２５は、ＣＰＵ３０１がハードディスクドライブ３０５に記憶されているプロセス監視プログラム３１３をメモリ３０２に読み出して実行することにより実現される。  
サーバデータベース３５１及び監視プロセスデータベース３５２は、メモリ３０２やハードディスクドライブ３０５が提供する記憶領域として実現される。
【００１９】
なお、監視プロセス登録要求受信部３２１、監視プロセス削除要求受信部３２２、監視プロセス管理部３２３、実ＩＰアドレス検出部３２４及びプロセス情報取得部３２５は、集積回路化したハードウェアにより実現するようにすることもできる。
【００２０】
サーバデータベース３５１は、各情報処理サーバ２０の実ＩＰアドレスを記憶する。サーバデータベース３５１の構成例を図４に示す。同図の例では、２台の情報処理サーバ２０にはそれぞれ「１０．０．０．１」及び「１０．０．０．２」のＩＰアドレスが割り当てられていることを示している。なお、サーバデータベース３５１は、管理者端末４０において管理者により作成されたレコードを管理者端末４０から受信して記憶するようにしてもよいし、通信ネットワーク５０に対して、実ＩＰアドレスを問い合わせるブロードキャストメッセージを送出し、上記のメッセージに対する応答を受信して記憶するようにしてもよい。
【００２１】
監視プロセスデータベース３５２（本発明の、プロセス情報記憶部に該当する。）は、監視対象となるプロセスに関する情報（以下、監視プロセス情報という。）を記憶する。監視プロセスデータベース３５２の構成例を図５に示す。同図に示すように、監視プロセスデータベース３５２に記憶される監視プロセス情報には、プロセス名欄３５２１、仮想ＩＰアドレス欄３５２２、実ＩＰアドレス欄３５２３、ステータス欄３５２４、及び更新日時欄３５２５が含まれている。
【００２２】
プロセス名欄３５２１には、プロセスを特定するための情報（以下、プロセス名という。本発明のプロセスＩＤに該当する。）が設定される。なお、本実施形態では、情報処理サーバ２０において実行されるアプリケーションプログラムの名称が設定されるものとする。
【００２３】
仮想ＩＰアドレス欄３５２２には、プロセスに対応する仮想ＩＰアドレスが設定される。実ＩＰアドレス欄３５２３には、仮想ＩＰアドレスが設定されている情報処理サーバ２０に固有の実ＩＰアドレス（本発明のプロセス実行アドレスに該当する。）が設定される。なお、仮想ＩＰアドレスが情報処理サーバ２０の何れにも設定されていない場合、例えば、フェールオーバにより仮想ＩＰアドレスの設定処理が行われている場合や、特定のプロセスに係る情報処理サーバ２０における情報処理サービスの提供が終了した場合などには、実ＩＰアドレス欄３５２３には値が設定されない（「−」が設定される。）。
【００２４】
ステータス欄３５２４には、プロセスの実行状態を示す情報（以下、ステータス情報という。）が設定される。ステータス情報としては、「起動中」及び「停止中」がある。なお、後述するプロセスの実行状態の取得処理中には、ステータス欄３５２４に「検索中」が設定されることもある。
【００２５】
監視プロセス登録要求受信部３２１は、管理者端末４０から送信される、監視対象のプロセスを登録するためのコマンド（以下、監視プロセス登録要求という。）を受信する。監視プロセス登録要求には、監視対象とするプロセスを示すプロセス名と仮想ＩＰアドレスとが設定される。
【００２６】
監視プロセス削除要求受信部３２２は、管理者端末４０から送信される、プロセスを監視対象から外すためのコマンド（以下、監視プロセス削除要求という。）を受信する。監視プロセス削除要求には、監視対象から外すプロセスを示すプロセス名と仮想ＩＰアドレスとが設定される。
【００２７】
監視プロセス管理部３２３は、監視プロセス情報の管理を行う。監視プロセス管理部３２３は、監視プロセス登録要求に応じて後述する監視プロセス情報の登録処理を行い、監視プロセス削除要求に応じて後述する監視プロセス情報の削除処理を行う。
【００２８】
実ＩＰアドレス検出部３２４は、仮想ＩＰアドレスが設定されている情報処理サーバ２０の実ＩＰアドレスを検出する。本実施形態において、実ＩＰアドレス検出部３２４は、ＳＮＭＰ（Simple Network Management Protocol）を利用して実ＩＰアドレスを検出する。実ＩＰアドレス検出部３２４は、ＩＰアドレスを取得するための「ｉｐＡｄｄｒＥｎｔｒｙ（１．３．６．１．２．１．４．２０．１）」をオブジェクトＩＤ（ＯＩＤ）として指定したＳＮＭＰのリクエスト（以下、ＩＰアドレス取得要求という。本発明のＳＮＭＰコマンドに該当する。）を情報処理サーバ２０に送信し、情報処理サーバ２０から応答されるＭＩＢ（Management Information Base）形式で記述された情報処理サーバ２０の状態に関する情報（以下、ＭＩＢ情報という。）を受信する。ＩＰアドレス取得要求への応答としてのＭＩＢ情報には、情報処理サーバ２０に設定されている１つ以上のＩＰアドレスのリストが含まれている。実ＩＰアドレス検出部３２４は、このリストに仮想ＩＰアドレスが含まれているかどうかにより、仮想ＩＰアドレスが情報処理サーバ２０に設定されているかどうかを判断する。なお、実ＩＰアドレス検出部３２４による実ＩＰアドレスの検出処理の詳細については後述する。
【００２９】
プロセス情報取得部３２５は、情報処理サーバ２０から、プロセスの実行状態に関する情報（以下、プロセス情報という。）を取得する。本実施形態において、プロセス情報取得部３２５は、ＳＮＭＰを利用してプロセス情報を取得する。プロセス情報取得部３２５は、実行中のプロセスの状態に関する情報を取得するための「ｐｒＴａｂｌｅ（１．３．６．１．４．１．２０２１．２）」をＯＩＤとして指定したＳＮＭＰのリクエスト（以下、プロセス情報取得要求という。）を情報処理サーバ２０に送信し、情報処理サーバ２０から応答されるＭＩＢ情報を受信する。プロセス情報取得要求への応答としてのＭＩＢ情報には、情報処理サーバ２０において実行されているプロセスの状態に関する情報が含まれている。本実施形態では簡単のため、ＭＩＢ情報には、情報処理サーバ２０において実行されているプロセスを示すプロセス名のリストが含まれている。プロセス情報取得部３２５は、このリストに、監視対象となっているプロセスを示すプロセス名が含まれているかどうかにより、監視対象のプロセスが情報処理サーバ２０において実行中であるかどうかを判定する。プロセス情報取得部３２５は、判定結果に応じて、監視プロセス情報データベース２５２に記憶されている監視プロセス情報のステータス欄３５２４を更新する。
【００３０】
＝＝処理＝＝
以下、本実施形態のプロセス監視装置３０により行われる処理の詳細について説明する。まず、監視プロセス情報の登録処理及び削除処理について説明する。図６は、監視プロセス情報の登録処理の流れを示す図である。なお、図６に示す監視プロセス情報の登録処理は、プロセス監視装置３０が管理者端末４０から監視プロセス登録要求を受信する度に実行される。
【００３１】
プロセス監視装置３０は、監視プロセス登録要求に設定されているプロセス名及び仮想ＩＰアドレスを取得し（Ｓ６０１）、取得したプロセス名及び仮想ＩＰアドレスに対応する監視プロセス情報が監視プロセスデータベース３５２に登録されているかどうかを判定し（Ｓ６０２）、上記の監視プロセス情報が登録されていない場合（Ｓ６０２：ＮＯ）、プロセス名、仮想ＩＰアドレス、「−」、「停止中」及び現在の日時を含む監視プロセス情報を生成し（Ｓ６０３）、生成した管理プロセス情報を監視プロセスデータベース３５２に登録する（Ｓ６０４）。プロセス監視装置３０は、上記の仮想ＩＰアドレスが設定されている情報処理サーバ２０の実ＩＰアドレスの検出処理を行う（Ｓ６０５）。  
仮想ＩＰアドレスに対応する実ＩＰアドレスの検出処理の流れを図７に示す。
【００３２】
プロセス監視装置３０は、検出結果となる実ＩＰアドレスに「−」を設定し（Ｓ６２１）、サーバデータベース３５１に記憶されているＩＰアドレス（以下、宛先アドレスという。）のそれぞれについて以下の処理を行う。
【００３３】
プロセス監視装置３０は、宛先アドレスにＩＰアドレス取得要求を送信する（Ｓ６２２）。プロセス監視装置３０は、ＩＰアドレス取得要求に応じて情報処理サーバ２０から応答されるＭＩＢ情報を受信し、受信したＭＩＢ情報からＩＰアドレスのリストを抽出する（Ｓ６２３）。プロセス監視装置３０は、抽出したリストに仮想ＩＰアドレスが含まれている場合には（Ｓ６２４：ＹＥＳ）、宛先アドレスを実ＩＰアドレスとし（Ｓ６２５）、含まれていない場合には（Ｓ６２４：ＮＯ）、次の宛先アドレスについて（Ｓ６２２）からの処理を繰り返す。
【００３４】
プロセス監視装置３０は、監視プロセスデータベース３５２に登録されている監視プロセス情報のうち、仮想ＩＰアドレスに対応するものの実ＩＰアドレス欄３５２３に、実ＩＰアドレスを設定する（Ｓ６２６）。
【００３５】
以上のようにして、仮想ＩＰアドレスに対応する実ＩＰアドレスが取得され、仮想ＩＰアドレスに対応する監視プロセス情報の実ＩＰアドレス欄３５２３が更新される。なお、何れの情報処理サーバ２０にも仮想ＩＰアドレスが設定されていない場合には、監視プロセス情報の実ＩＰアドレス欄３５２３には「−」が設定されることになる。
【００３６】
図８は、監視プロセス情報の削除処理の流れを示す図である。図８に示す監視プロセス情報の削除処理は、プロセス監視装置３０が管理者端末４０から監視プロセス情報削除要求を受信する度に実行される。
【００３７】
プロセス監視装置３０は、監視プロセス削除要求に設定されているプロセス名及び仮想ＩＰアドレスを取得し（Ｓ６４１）、取得したプロセス名及び仮想ＩＰアドレスに対応する監視プロセス情報が監視プロセスデータベース３５２に登録されているかどうかを判定する（Ｓ６４２）。上記監視プロセス情報が登録されている場合（Ｓ６４２：ＹＥＳ）、プロセス監視装置３０は、その監視プロセス情報を監視プロセスデータベース３５２から削除する（Ｓ６４３）。
【００３８】
＝＝プロセスの監視処理＝＝
次に、プロセス監視装置３０によるプロセスの監視処理について説明する。図９は、プロセス監視装置３０によるプロセスの監視処理全体の流れを示す図である。  
プロセス監視装置３０は、監視プロセスデータベース３５２に登録されている各監視プロセス情報について以下の処理を繰り返す。
【００３９】
プロセス監視装置３０は、監視プロセス情報の実ＩＰアドレス欄３５２３に有効なＩＰアドレスが設定されている場合（Ｓ７０１：ＮＯ）、後述するプロセス情報の取得処理を行う（Ｓ７０２）。  
一方、監視プロセス情報の実ＩＰアドレス欄３５２３に「−」が設定されている場合には（Ｓ７０１：ＹＥＳ）、上述の図７に示す処理により、監視プロセス情報の仮想ＩＰアドレス欄３５２２に設定されている仮想ＩＰアドレスに対応する実ＩＰアドレスの検出処理を行う（Ｓ７０３）。実ＩＰアドレスの検出処理により監視プロセス情報の実ＩＰアドレス欄３５２３に有効な実ＩＰアドレスが設定された場合には（Ｓ７０４：ＮＯ）、（Ｓ７０２）に進み、プロセス監視装置３０は、後述のプロセス情報の取得処理を行う。
【００４０】
一方、上記の実ＩＰアドレスの検出処理を行っても監視プロセス情報の実ＩＰアドレス欄３５２３に「−」が設定されている場合には（Ｓ７０４：ＹＥＳ）、プロセス監視装置３０は、監視プロセス情報のステータス欄３５２４には「停止中」を設定する（Ｓ７０５）。  
プロセス監視装置３０は、以上の処理を行った後、監視プロセス情報の更新日時欄３５２５に現在の日時を設定する（Ｓ７０６）。
【００４１】
図１０は、プロセス情報の取得処理の流れを示す図である。  
プロセス監視装置３０は、監視プロセス情報の実ＩＰアドレス欄３５２３に設定されている実ＩＰアドレスを宛先としてプロセス情報取得要求を送信する（Ｓ７２１）。
【００４２】
プロセス監視装置３０は、プロセス情報取得要求に応じて情報処理サーバ２０から送信されるＭＩＢ情報を受信し、受信したＭＩＢ情報から、プロセス名のリストを抽出する（Ｓ７２２）。プロセス監視装置３０は、抽出したリストに、監視プロセス情報のプロセス名欄３５２１に設定されているプロセス名が含まれている場合には（Ｓ７２３）、監視プロセス情報のステータス欄３５２４に「起動中」を設定する（Ｓ７２４）。
【００４３】
一方、ＭＩＢ情報から抽出したリストにプロセス名が含まれていない場合（Ｓ７２３：ＮＯ）、プロセス監視装置３０は、監視プロセス情報のステータス欄３５２４に「検索中」を設定して（Ｓ７２５）、更新日時欄３５２５には現在の日時を設定する（Ｓ７２６）。プロセス監視装置３０は、上述の図７に示す処理により、監視プロセス情報の仮想ＩＰアドレス欄３５２２に設定されている仮想ＩＰアドレスに対応する実ＩＰアドレスの検出処理を行う（Ｓ７２７）。
【００４４】
プロセス監視装置３０は、実ＩＰアドレスの検出処理を行った後、監視プロセス情報の実ＩＰアドレス欄３５２３に「−」が設定されている場合には（Ｓ７２８：ＹＥＳ）、（Ｓ７３２）に進み、監視プロセス情報のステータス欄３５２４に「停止中」を設定する。
【００４５】
一方、実ＩＰアドレスの検出処理により監視プロセス情報の実ＩＰアドレス欄３５２３に有効な実ＩＰアドレスが設定されている場合（Ｓ７２８：ＮＯ）、プロセス監視装置３０は、その実ＩＰアドレスを宛先としてプロセス情報取得要求を送信する（Ｓ７２９）。プロセス監視装置３０は、プロセス情報取得要求に応じて情報処理サーバ２０から送信されるＭＩＢ情報を受信し、受信したＭＩＢ情報に含まれているプロセス名のリストを抽出する（Ｓ７３０）。プロセス監視装置３０は、抽出したリストに、監視プロセス情報のプロセス名欄３５２１に設定されているプロセス名が含まれている場合には（Ｓ７３１：ＹＥＳ）、（Ｓ７２４）に進んで、監視プロセス情報のステータス欄３５２４に「起動中」を設定する（Ｓ７３２）。
【００４６】
以上のようにして、プロセス監視装置３０は、監視対象となる各プロセスについて、情報処理サーバ２０から実行状態を取得し、監視プロセス情報を更新する。
【００４７】
本実施形態のプロセス監視装置３０によれば、監視対象となるプロセスに対応する仮想ＩＰアドレスが設定されている情報処理サーバ２０の実ＩＰアドレスを、プロセス毎に記憶しておき、プロセス情報取得要求の宛先として、情報処理サーバ２０の実ＩＰアドレスを用いることができる。
【００４８】
プロセス情報取得要求の宛先を仮想ＩＰアドレスとすることも可能であるが、この場合、例えばフェールオーバ中など、どの情報処理サーバ２０にも仮想ＩＰアドレスが割り当てられていないときには、プロセス情報取得要求は何れの情報処理サーバ２０にも届かないことになる。図１１は、フェールオーバが行われる場合の情報処理システムの状態を説明するためのフロー図である。情報処理サーバＡ（２０）に仮想ＩＰアドレス「１０．０．０．１」が設定され（Ｓ８０１）、情報処理サーバＡ（２０）においてプロセス「Ａ」が実行されていたとする（Ｓ８０２）。この場合に、情報処理サーバＡ（２０）に故障が発生すると（Ｓ８０３）、情報処理サーバＢ（２０）が、情報処理サーバＡ（２０）の故障を検出し（Ｓ８０４）、情報処理サーバＢ（２０）に「１０．０．０．１」の仮想ＩＰアドレスが設定されて（Ｓ８０５）、情報処理サーバＢ（２０）においてプロセス「Ａ」が実行される（Ｓ８０６）。
【００４９】
ここで、情報処理サーバＡ（２０）に故障が発生した時点（Ｓ８０３）から、情報処理サーバＢに仮想ＩＰアドレスが設定される時点（Ｓ８０５）までの期間は、仮想ＩＰアドレスはどの情報処理サーバ２０にも設定されていない状態となる。したがって、この期間内には、仮想ＩＰアドレスを宛先としたメッセージは何れの情報処理サーバ２０にも到達しないことになる。この場合に、仮想ＩＰアドレスを宛先としてプロセス情報取得要求を送信するようにすると、プロセス監視装置３０は、プロセス情報を取得することができない。しかしながら、本実施形態のプロセス監視装置３０によれば、プロセス情報取得要求の宛先は、情報処理サーバ２０に固有の実ＩＰアドレスであるので、上記の期間内であっても、プロセス情報取得要求が情報処理サーバ２０に届くようにすることができる。またこれにより、プロセス情報取得要求が届かなかったことをもって、情報処理サーバ２０に障害が発生していることを検出することもできる。
【００５０】
また、図１１の例において、情報処理サーバＢ（２０）に仮想ＩＰアドレスが引き継がれた時点（Ｓ８０５）から、情報処理サーバＢ（２０）にプロセス「Ａ」が引き継がれた時点（Ｓ８０６）までの期間には、プロセス「Ａ」は何れの情報処理サーバ２０においても実行されていないことになる。したがって、各情報処理サーバ２０に対してプロセス情報取得要求を送信してプロセス「Ａ」が実行される情報処理サーバ２０を特定しようとしても、上記の期間には、どの情報処理サーバ２０においてプロセス「Ａ」が実行されるべきであるかを特定することができない。しかしながら、本実施形態のプロセス監視装置３０によれば、プロセス情報取得要求の宛先は、監視対象となるプロセスに対応する仮想ＩＰアドレスに対応する実ＩＰアドレスであるため、監視対象となるプロセスが実行されるべき情報処理サーバ２０は、この実ＩＰアドレスが設定されている情報処理サーバ２０である。よって、管理者は、監視対象のプロセスが実行されるべき情報処理サーバ２０において、そのプロセスが実行されているかどうかを確認することができる。
【００５１】
また、仮想ＩＰアドレスの設定される情報処理サーバ２０が変更された場合には、プロセス監視装置３０や通信ネットワーク５０に接続されているルータなどにおいてルーティングテーブルの書き換えが行われるが、本実施形態のプロセス監視装置３０は、仮想ＩＰアドレスに係るルーティングテーブルの書き換えが行われている間にも、実ＩＰアドレスを宛先としてプロセス情報取得要求を送信することができる。よって、プロセス情報を取得することができない時間を短縮することができる。
【００５２】
また、本実施形態のプロセス監視装置３０によれば、仮想ＩＰアドレスが何れの情報処理サーバ２０に設定されているかを、一般的なＳＮＭＰのリクエストを用いて調べることにより、監視対象となるプロセスが何れの情報処理サーバ２０において実行されているかを検出することができる。したがって、クラスタを構成する情報処理サーバ２０に、例えば、プロセスの実行状況を報告するエージェントのように、特殊なアプリケーションプログラムをインストールすることなく、監視対象となるプロセスが実行される情報処理サーバ２０を特定することができる。
【００５３】
また、本実施形態のプロセス監視装置３０によれば、情報処理サーバ２０に設定されているＩＰアドレスを問い合わせるＩＰアドレス取得要求を用いて、その情報処理サーバ２０において、監視対象となるプロセスが実行される情報処理サーバ２０を特定することができる。一般に、情報処理サーバ２０において実行されているプロセスの数は数十〜数百程度であり、情報処理サーバ２０に設定されているＩＰアドレスの数は数個である。したがって、全情報処理サーバ２０に対してはＩＰアドレス取得要求を送信し、仮想ＩＰアドレスが設定されている情報処理サーバ２０に対してのみ、プロセス情報取得要求を送信するようにすることができる。これにより、情報処理サーバ２０からの応答に係る通信負荷を低減することができる。
【００５４】
なお、本実施形態の情報処理システムでは、２台の情報処理サーバ２０によりクラスタが構成されるものとしたが、これに限らず、３台以上の情報処理サーバ２０によりクラスタが構成されるようにしてもよい。また、各情報処理サーバ２０が異なるネットワークセグメントに設置されるようにしてもよい。異なるネットワークセグメントに設置される４台の情報処理サーバ２０によりクラスタが構成される場合の情報処理システムの一例を図１２に示す。同図の例では、異なるネットワークセグメントに設置されたＡ〜Ｄの４台の情報処理サーバ２０がルータ２１を介してクラスタを構成するものとする。この場合でも、プロセス監視装置３０は、各情報処理サーバ２０に固有の実ＩＰアドレスを宛先としてプロセス情報取得要求を送信することができる。
【００５５】
また、本実施形態の情報処理システムでは、情報処理サーバ２０によりクラスタが構成されるものとしたが、これに限らず、グリッドコンピューティングやユーティリティコンピューティングのように、必要に応じてプロセスを実行する情報処理サーバ２０が変化するような情報処理システムに応用することができる。
【００５６】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００５７】
【図１】本実施形態に係る情報処理システムの全体構成を示す図である。
【図２】プロセス監視装置３０のハードウェア構成を示す図である。
【図３】プロセス監視装置３０のソフトウェア構成を示す図である。
【図４】サーバデータベース３５１の構成例を示す図である。
【図５】監視プロセスデータベース３５２の構成例を示す図である。
【図６】監視プロセス情報の登録処理の流れを示す図である。
【図７】仮想ＩＰアドレスに対応する実ＩＰアドレスの検出処理の流れを示す図である。
【図８】監視プロセス情報の削除処理の流れを示す図である。
【図９】プロセスの監視処理全体の流れを示す図である。
【図１０】プロセス情報の取得処理の流れを示す図である。
【図１１】フェールオーバが行われる場合の情報処理システムの状態を説明するためのフロー図である。
【図１２】異なるネットワークセグメントに設置される４台の情報処理サーバ２０によりクラスタが構成される場合の情報処理システムの一例を示す図である。
【符号の説明】
【００５８】
１０    クライアント装置
２０    情報処理サーバ
３０    プロセス監視装置
４０    管理者端末
５０    通信ネットワーク
３０１  ＣＰＵ
３０２  メモリ
３０３  ディスクインタフェース
３０４  通信インタフェース
３０５  ハードディスクドライブ
３１１  監視プロセス管理プログラム
３１２  ＩＰアドレス検出プログラム
３１３  プロセス監視プログラム
３２１  監視プロセス登録要求受信部
３２２  監視プロセス削除要求受信部
３２３  監視プロセス管理部
３２４  実ＩＰアドレス検出部
３２５  プロセス情報取得部
３５１  サーバデータベース
３５２  監視プロセスデータベース
３５２１  プロセス名欄
３５２２  仮想ＩＰアドレス欄
３５２３  実ＩＰアドレス欄
３５２４  ステータス欄
３５２５  更新日時欄
【図１】
2008146397.tif 000003
【図２】
2008146397.tif 000004
【図３】
2008146397.tif 000005
【図４】
2008146397.tif 000006
【図５】
2008146397.tif 000007
【図６】
2008146397.tif 000008
【図７】
2008146397.tif 000009
【図８】
2008146397.tif 000010
【図９】
2008146397.tif 000011
【図１０】
2008146397.tif 000012
【図１１】
2008146397.tif 000013
【図１２】
2008146397.tif 000014