(57)【要約】【課題】通信不可期間に発生したメッセージを効率的に通知する。【解決手段】メッセージ取得手段１ｄは、送信手段１ｃによるメッセージ送信が不可となると、取得した各メッセージをそれぞれの発生時間と共にメッセージ記憶手段１ａに格納する。制御情報記憶手段１ｂは、コンピュータ１の所定の状態の開始を示す第１のメッセージと、この状態の終了を示す第２のメッセージとを対応付けた制御情報を記憶する。メッセージ制御手段１ｅは、送信手段１ｃによるメッセージ送信が可となると、制御情報記憶手段１ｂに記憶された制御情報に基づき、メッセージ記憶手段１ａに記憶された各メッセージに、第１のメッセージと第１のメッセージ以後に発生した第２のメッセージとが含まれていることを検出すると、各メッセージのうち少なくとも検出した第１のメッセージと第２のメッセージとを除くメッセージを送信手段１ｃに出力する。【選択図】図１
2010108382.tif 000002
【特許請求の範囲】
【請求項１】
管理装置と接続されたコンピュータに、前記コンピュータの状態を監視させ、監視により得た状態を示すメッセージを前記管理装置に送信させる監視プログラムであって、
前記コンピュータを、
メッセージを順次取得するメッセージ取得手段、
前記メッセージ取得手段が取得したメッセージを順次送信する送信手段、
前記送信手段によるメッセージの送信が不可能となると、前記メッセージ取得手段が順次取得した複数のメッセージを当該複数のメッセージそれぞれの発生時間と共に記憶するメッセージ記憶手段、
前記コンピュータの所定の状態の開始を示す第１のメッセージと、前記所定の状態の終了を示す第２のメッセージとを対応付けた制御情報を記憶する制御情報記憶手段、
前記送信手段によるメッセージの送信が可能となると、前記制御情報記憶手段に記憶された前記制御情報に基づいて、前記メッセージ記憶手段に記憶された前記複数のメッセージに、前記第１のメッセージと当該第１のメッセージよりも後の時点に発生した前記第２のメッセージとが含まれていることを検出すると、前記複数のメッセージのうち少なくとも検出した当該第１のメッセージと当該第２のメッセージとを除くメッセージを前記送信手段に出力するメッセージ制御手段、
として機能させることを特徴とする監視プログラム。
【請求項２】
前記メッセージ制御手段は、前記メッセージ記憶手段に記憶された前記複数のメッセージに、前記第２のメッセージと当該第２のメッセージよりも後の時点に発生した前記第１のメッセージとが含まれていることを検出すると、前記複数のメッセージのうち少なくとも検出した当該第２のメッセージを除くメッセージを前記送信手段に出力する、
ことを特徴とする請求項１記載の監視プログラム。
【請求項３】
前記制御情報記憶手段は、前記制御情報に前記コンピュータの前記第１のメッセージで示される状態とは異なる状態の開始を示す第３のメッセージと、当該第３のメッセージが示す状態の終了を示す第４のメッセージと、前記第３のメッセージと前記第４のメッセージとが示す情報を含む第５のメッセージと、の対応付けを含めて記憶し、
前記メッセージ制御手段は、前記制御情報記憶手段に記憶された前記制御情報に基づいて、前記メッセージ記憶手段に記憶された前記複数のメッセージに、前記第３のメッセージと当該第３のメッセージよりも後の時点に発生した前記第４のメッセージとが含まれていることを検出すると、当該第３のメッセージと当該第４のメッセージとに代えて、前記第５のメッセージを前記送信手段に出力する、
ことを特徴とする請求項１または２記載の監視プログラム。
【請求項４】
前記メッセージ制御手段は、前記メッセージ記憶手段に記憶された前記複数のメッセージにおいて前記第１のメッセージを検出すると、当該第１のメッセージに対応する前記第２のメッセージを前記複数のメッセージのうち、前記発生時間が最も新しい時点から過去に向かって検索して、最初に検出した前記第２のメッセージの発生時間と検出された前記第１のメッセージの発生時間との間の期間を取得し、少なくとも当該期間に含まれる前記第１のメッセージと同一のメッセージおよび前記第２のメッセージと同一のメッセージを除くメッセージを前記送信手段に出力する、
ことを特徴とする請求項１乃至３記載の監視プログラム。
【請求項５】
前記制御情報記憶手段は、更に、メッセージの内容に応じた優先度を示す優先度情報を記憶し、
前記メッセージ制御手段は、前記制御情報記憶手段に記憶された前記優先度情報に基づいて、前記送信手段に出力するメッセージの出力順序を制御する、
ことを特徴とする請求項１乃至４記載の監視プログラム。
【請求項６】
前記メッセージ制御手段は、前記メッセージ記憶手段に記憶された前記複数のメッセージにおいて前記第３のメッセージを検出すると、当該第３のメッセージに対応する前記第４のメッセージを前記複数のメッセージのうち、前記発生時間が最も新しい時点から過去に向かって検索して、最初に検出した前記第４のメッセージの発生時間と検出された前記第３のメッセージの発生時間との間の期間を取得し、少なくとも当該期間に含まれる前記第３のメッセージと同一のメッセージおよび前記第４のメッセージと同一のメッセージに代えて前記第５のメッセージを前記送信手段に出力する、
ことを特徴とする請求項３記載の監視プログラム。
【請求項７】
管理装置と接続され、自装置の状態を監視して、監視により得た状態を示すメッセージを前記管理装置に送信する情報処理装置の監視方法であって、
メッセージ取得手段が、送信手段によるメッセージの送信が不可能となると、取得した前記複数のメッセージを当該複数のメッセージそれぞれの発生時間と共にメッセージ記憶手段に格納し、
メッセージ制御手段が、送信手段によるメッセージの送信が可能となると、制御情報記憶手段に記憶された前記情報処理装置の所定の状態の開始を示す第１のメッセージと、前記所定の状態の終了を示す第２のメッセージとを対応付けた制御情報に基づいて、前記メッセージ記憶手段に記憶された前記複数のメッセージに、前記第１のメッセージと当該第１のメッセージよりも後の時点に発生した前記第２のメッセージとが含まれていることを検出すると、前記複数のメッセージのうち少なくとも検出した当該第１のメッセージと当該第２のメッセージとを除くメッセージを前記送信手段に出力する、
ことを特徴とする監視方法。
【請求項８】
管理装置と接続され、自装置の状態を監視して、監視により得た状態を示すメッセージを前記管理装置に送信する情報処理装置であって、
メッセージを順次取得するメッセージ取得手段と、
前記メッセージ取得手段が取得したメッセージを順次送信する送信手段と、
前記送信手段によるメッセージの送信が不可能となると、前記メッセージ取得手段が順次取得した複数のメッセージを当該複数のメッセージそれぞれの発生時間と共に記憶するメッセージ記憶手段と、
自装置の所定の状態の開始を示す第１のメッセージと、前記所定の状態の終了を示す第２のメッセージとを対応付けた制御情報を記憶する制御情報記憶手段と、
前記送信手段によるメッセージの送信が可能となると、前記制御情報記憶手段に記憶された前記制御情報に基づいて、前記メッセージ記憶手段に記憶された前記複数のメッセージに、前記第１のメッセージと当該第１のメッセージよりも後の時点に発生した前記第２のメッセージとが含まれていることを検出すると、前記複数のメッセージのうち少なくとも検出した当該第１のメッセージと当該第２のメッセージとを除くメッセージを前記送信手段に出力するメッセージ制御手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視プログラム、監視方法および情報処理装置に関し、特に監視により得た状態を示すメッセージを管理装置に送信する監視プログラム、監視方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、ネットワークで接続された複数のコンピュータを有するネットワークシステムが利用されている。ネットワークシステムでは、例えば、サービスを提供するサーバとサービスを利用する複数のクライアントとが接続される。
【０００３】
ここで、ネットワークシステムの運用上、コンピュータやネットワーク機器で発生している障害等の状態を集中管理することが求められる。このため、ネットワークシステムでは、コンピュータ等の所定の状態を収集して管理者に通知する監視サーバが設けられる。
【０００４】
監視サーバは、監視対象のコンピュータ等で発生した状態を示すメッセージを、例えばＳＮＭＰ（Simple Network Management Protocol）を用いて収集することができる。ＳＮＭＰは、ネットワークで接続されたコンピュータ等を監視・制御するためのプロトコルである。ＳＮＭＰによる監視では、監視対象とするコンピュータ等（以下、単に監視対象という）にＳＮＭＰのエージェントとなるアプリケーションプログラムが導入され、監視サーバ側にＳＮＭＰのマネージャとなるアプリケーションプログラムが導入される。
【０００５】
ＳＮＭＰエージェントは、例えば、コンピュータで生成されるログ情報を監視し、通知が必要なログ情報が生成されると、これを示すメッセージを生成してＳＮＭＰマネージャに通知する。ＳＮＭＰマネージャは、複数の監視対象からのメッセージを集約し、表示装置や電子メール等を介して管理者に通知する。
【０００６】
なお、このようなネットワークシステムの監視方法として、収集したメッセージから対応を要する障害を容易に識別できるようにするため、監視サーバが監視対象から受信したメッセージに応じて管理者への通知の要否や通知内容を管理する方法が知られている（例えば、特許文献１，２参照）。
【特許文献１】特開２０００−２７８３６０号公報
【特許文献２】特開２００３−０１５９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１，２記載の方法では、監視サーバ側で管理者への通知内容等を管理する。このため、ネットワークの規模が大きいと多数の監視対象から送信されるメッセージによってネットワークや監視サーバの負荷が増大するという問題がある。
【０００８】
特に、ネットワークの障害や監視サーバの障害等によって監視対象から監視サーバに対してメッセージを送信できない場合、多数の監視対象で障害時に蓄積された未送信メッセージが、障害復旧時に一斉に送信されることが考えられる。この場合、ネットワークや監視サーバに過大な負荷をかけてしまう可能性がある。
【０００９】
更に、未送信メッセージには、過去の情報が含まれる。このため、監視対象の現時点の状態とは異なったメッセージが送信されることが考えられる。この場合、例えば、現時点では復旧済みのエラーが管理者に通知され無駄な作業が生じる可能性もある。
【００１０】
本発明はこのような点に鑑みてなされたものであり、通信不可期間に発生したメッセージを効率的に通知する監視プログラム、監視方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、管理装置と接続されたコンピュータに、このコンピュータの状態を監視させ、監視により得た状態を示すメッセージを管理装置に送信させる監視プログラムが提供される。この監視プログラムを実行するコンピュータは、メッセージ取得手段、送信手段、メッセージ記憶手段、制御情報記憶手段およびメッセージ制御手段を有する。メッセージ取得手段は、メッセージを順次取得する。送信手段は、メッセージ取得手段が取得したメッセージを順次送信する。メッセージ記憶手段は、送信手段によるメッセージの送信が不可能となると、メッセージ取得手段が順次取得した複数のメッセージを複数のメッセージそれぞれの発生時間と共に記憶する。制御情報記憶手段は、コンピュータの所定の状態の開始を示す第１のメッセージと、所定の状態の終了を示す第２のメッセージとを対応付けた制御情報を記憶する。メッセージ制御手段は、送信手段によるメッセージの送信が可能となると、制御情報記憶手段に記憶された制御情報に基づいて、メッセージ記憶手段に記憶された複数のメッセージに、第１のメッセージとこの第１のメッセージよりも後の時点に発生した第２のメッセージとが含まれていることを検出すると、複数のメッセージのうち少なくとも検出した第１のメッセージと第２のメッセージとを除くメッセージを送信手段に出力する。
【００１２】
このような監視プログラムを実行するコンピュータによれば、送信手段によるメッセージの送信が不可能となると、メッセージ取得手段により順次取得された複数のメッセージが複数のメッセージそれぞれの発生時間と共にメッセージ記憶手段に格納される。そして、送信手段によるメッセージの送信が可能となると、メッセージ制御手段により、制御情報記憶手段に記憶されたコンピュータの所定の状態の開始を示す第１のメッセージと、所定の状態の終了を示す第２のメッセージとを対応付けた制御情報に基づいて、メッセージ記憶手段に記憶された複数のメッセージに、第１のメッセージとこの第１のメッセージよりも後の時点に発生した第２のメッセージとが含まれていることが検出されると、複数のメッセージのうち少なくとも検出された第１のメッセージと第２のメッセージとを除くメッセージが送信手段に出力される。
【００１３】
また、上記課題を解決するために、上記監視プログラムにより実現される処理と同様の処理を行う監視方法が提供される。また、上記課題を解決するために、上記監視プログラムを実行するコンピュータと同様の機能を有する情報処理装置が提供される。
【発明の効果】
【００１４】
上記監視プログラム、監視方法および情報処理装置によれば、通信不可期間に発生したメッセージを効率的に通知することが可能となる。
【発明を実施するための最良の形態】
【００１５】
以下、本実施の形態を図面を参照して詳細に説明する。
図１は、本実施の形態の概要を示す図である。コンピュータ１は、管理装置２と接続されている。コンピュータ１は、管理装置２にコンピュータ１の所定の状態を示すメッセージを送信する。管理装置２は、コンピュータ１の状態を管理するコンピュータである。コンピュータ１は、メッセージ記憶手段１ａ、制御情報記憶手段１ｂ、送信手段１ｃ、メッセージ取得手段１ｄおよびメッセージ制御手段１ｅを有する。
【００１６】
メッセージ記憶手段１ａは、複数のメッセージを記憶する。
制御情報記憶手段１ｂは、コンピュータの所定の状態の開始を示す第１のメッセージと、所定の状態の終了を示す第２のメッセージとを対応付けた制御情報を記憶する。
【００１７】
送信手段１ｃは、管理装置２にメッセージを送信する。なお、送信手段１ｃは、管理装置２へのメッセージ送信を正常に行うことができる場合には、メッセージ取得手段１ｄから取得するメッセージを管理装置２に送信する。また、送信手段１ｃは、管理装置２へのメッセージ送信が不可能となり、その後メッセージ送信が可能となった直後には、メッセージ制御手段１ｅから取得するメッセージを管理装置２に送信する。
【００１８】
メッセージ取得手段１ｄは、複数のメッセージを取得し、送信手段１ｃによるメッセージ送信が不可能となると、取得した複数のメッセージをこの複数のメッセージそれぞれの発生時間と共にメッセージ記憶手段１ａに格納する。
【００１９】
メッセージ制御手段１ｅは、送信手段１ｃによるメッセージ送信が可能となると、制御情報記憶手段１ｂに記憶された制御情報を取得する。そして、取得した制御情報に基づいて、メッセージ記憶手段１ａに記憶された複数のメッセージのうち、第１のメッセージと、この第１のメッセージよりも後の時点に発生した第２のメッセージと、が含まれていると検出すると、複数のメッセージのうち少なくとも検出した第１のメッセージと第２のメッセージとを除くメッセージを送信手段に出力する。
【００２０】
上記コンピュータ１によれば、送信手段１ｃによるメッセージの送信が不可能となると、メッセージ記憶手段１ａに未送信のメッセージが記憶される。そして、送信手段１ｃによるメッセージの送信が可能となると、メッセージ制御手段１ｅにより、メッセージ記憶手段１ａに記憶された未送信メッセージのうち、制御情報記憶手段１ｂに記憶された制御情報に基づき、障害時から障害復旧までの期間に発生し、かつ終了した状態を示すメッセージの管理装置２への送信が抑制される。
【００２１】
すなわち、コンピュータ１において発生した過去の状態のうち、既に終了した状態に関しては、管理装置２に通知しないよう制御される。
このため、ネットワーク障害等でメッセージ送信が行えずコンピュータ１に未送信メッセージを蓄積しても、ネットワーク障害復旧後に送信するメッセージの情報量を効率的に削減することができる。これにより、障害復旧直後のネットワークや管理装置２に対する負荷を軽減することができる。
【００２２】
また、例えば、第１のメッセージが所定のエラーの発生を示すメッセージ、第２のメッセージがこのエラーの復旧を示すメッセージとして定義すれば、管理装置２に対して復旧済みのエラーを通知することもなくなる。これにより、管理者に対する無駄な作業の発生を防止することができる。
【００２３】
また、制御情報に関連するメッセージの他のパターンを定義することで、効率的な監視を実現することも可能である。
例えば、メッセージ記憶手段１ａに記憶された複数のメッセージに、上記の第２のメッセージ（状態の終了）に対して、第２のメッセージよりも後の時点に発生した第１のメッセージ（状態の開始）が含まれている場合が考えられる。
【００２４】
この場合、メッセージ制御手段１ｅは、第１のメッセージおよび第２のメッセージのうち、第１のメッセージのみを出力する。これにより、管理者への通知が不要なメッセージの送信を抑制し、送信するメッセージの情報量を効率的に削減することが可能となる。
【００２５】
また、例えば、管理者が特に注目すべき状態に関しては、制御情報に、この状態の開始を示す第３のメッセージと、この状態の終了を示す第４のメッセージとに対応付けて、第５のメッセージを定義することも考えられる。このとき、例えば、第５のメッセージは、第３のメッセージと第４のメッセージとで示される情報を集約したメッセージとなる。
【００２６】
この場合、メッセージ制御手段１ｅは、メッセージ記憶手段１ａに記憶された複数のメッセージのうち、第３のメッセージと、この第３のメッセージよりも後の時点に発生した第４のメッセージと、が含まれていると、これら第３のメッセージと第４のメッセージとに代えて第５のメッセージを出力する。このように、状態の開始と終了とを集約して１つのメッセージで通知することで、管理者に対する状態の識別を容易にし、メッセージの情報量を効率的に削減することができる。
【００２７】
ところで、コンピュータ１は、ネットワークを介して接続された複数のコンピュータやネットワーク機器の状態を監視サーバによって監視するネットワークシステムで用いる場合に適している。以下では、コンピュータ１から送信されるメッセージによりコンピュータ１の状態を監視するネットワークシステムを例に挙げて、更に詳細に説明する。
【００２８】
［第１の実施の形態］
以下、第１の実施の形態を図面を参照して詳細に説明する。
図２は、ネットワークシステムの構成を示す図である。このネットワークシステムでは、ネットワーク１０を介してコンピュータ１００，２００、業務サーバ３００および監視サーバ４００が接続されている。ネットワーク１０は、有線または無線のＩＰ（Internet Protocol）ネットワークである。
【００２９】
コンピュータ１００，２００は、監視サーバ４００により監視される。コンピュータ１００，２００には、例えば、ＳＮＭＰエージェントがそれぞれ導入される。各ＳＮＭＰエージェントは、コンピュータ１００，２００でＯＳ（Operating System）やアプリケーションプログラム（以下、アプリケーションという）が出力するログやハードウェアが出力する情報を検知して、監視サーバ４００への送信が必要なものをメッセージ化して監視サーバ４００に送信する。
【００３０】
業務サーバ３００は、監視サーバ４００により監視される。業務サーバ３００にも、コンピュータ１００，２００と同様に、例えば、ＳＮＭＰエージェントが導入される。
監視サーバ４００は、コンピュータ１００，２００および業務サーバ３００の状態を監視する。監視サーバ４００には、例えば、ＳＮＭＰマネージャが導入され、コンピュータ１００，２００および業務サーバ３００にそれぞれ導入されたＳＮＭＰエージェントからのメッセージを受信する。
【００３１】
なお、監視サーバ４００には、端末装置４０が接続されている。管理者は、端末装置４０に出力されるメッセージを閲覧して、コンピュータ１００，２００および業務サーバ３００で発生している障害等の情報を把握し、障害等に対応する。
【００３２】
図３は、コンピュータのハードウェア構成を示すブロック図である。コンピュータ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。
【００３３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションのプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００３４】
ＨＤＤ１０３には、コンピュータ１００上のＯＳやアプリケーションが扱うデータが格納される。
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３５】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータや監視サーバ４００との間でデータの送受信を行う。
【００３６】
なお、コンピュータ２００、業務サーバ３００および監視サーバ４００もコンピュータ１００と同様のハードウェア構成により実現することができる。
図４は、第１の実施の形態のコンピュータの機能構成を示すブロック図である。コンピュータ１００は、ログ情報記憶部１１０、メッセージ記憶部１２０、制御情報記憶部１３０、メッセージ生成部１４０、メッセージ送信部１５０およびメッセージ制御部１６０を有する。
【００３７】
ログ情報記憶部１１０は、コンピュータ１００上のＯＳ、アプリケーションおよびハードウェア等が出力するログファイルを記憶する。ログファイルには、ＯＳ等で発生する警告やエラー通知等を示す文字列が、その発生時点の時間と共に出力される。ログファイルは、ＯＳ、アプリケーションおよびハードウェア毎に存在していてもよい。
【００３８】
メッセージ記憶部１２０は、メッセージ送信部１５０がネットワーク１０の障害や監視サーバ４００の障害（以下、通信障害という）の影響で、監視サーバ４００にメッセージを送信できない場合、通信障害期間中にメッセージ生成部１４０により生成されたメッセージを記憶する。
【００３９】
制御情報記憶部１３０は、通信障害復旧時にメッセージ記憶部１２０に記憶されたメッセージを監視サーバ４００へ送信する際の制御ルールを定義した制御情報を記憶する。
メッセージ生成部１４０は、ログ情報記憶部１１０に記憶されたログファイルを監視して、所定の警告やエラー通知等を示す文字列がログファイルに追加されると、この警告やエラー通知等を監視サーバ４００に通知するためのメッセージを生成する。
【００４０】
メッセージ生成部１４０は、正常運用時（監視サーバ４００との通信障害は発生していない時点）では、生成したメッセージをメッセージ送信部１５０に出力する。また、メッセージ生成部１４０は、通信障害時には、生成したメッセージをエラー通知等の発生した時間と共にメッセージ記憶部１２０に格納する。
【００４１】
メッセージ送信部１５０は、正常運用時には、メッセージ生成部１４０が生成したメッセージを監視サーバ４００に送信する。また、メッセージ送信部１５０は、通信障害時には、監視サーバ４００との通信を確立することが不可となるため、メッセージを送信することができなくなる。メッセージ送信部１５０は、この状態をメッセージ生成部１４０に通知する。これにより、メッセージ生成部１４０は、通信障害を検知する。
【００４２】
また、メッセージ送信部１５０は、通信障害の復旧直後には、メッセージ制御部１６０から取得するメッセージを監視サーバ４００に送信する。メッセージ送信部１５０は、通信障害時に、例えば定期的に監視サーバ４００との通信の確立を試みる。そして、通信が確立されると通信障害が復旧したことを検知し、これをメッセージ生成部１４０やメッセージ制御部１６０に通知する。これにより、メッセージ生成部１４０やメッセージ制御部１６０は、通信障害の復旧を検知する。
【００４３】
メッセージ制御部１６０は、通信障害が復旧したことを検知すると、メッセージ記憶部１２０に記憶された未送信メッセージを最も古いものから取得する。そして、制御情報記憶部１３０に記憶された制御情報に基づいて、取得した未送信メッセージから該当の状態に対するメッセージ送信の要否やメッセージの内容を決定する。メッセージ制御部１６０は、決定した内容に基づいて、メッセージを生成すると、生成したメッセージをメッセージ送信部１５０に出力する。
【００４４】
図５は、第１の実施の形態の未送信メッセージ管理テーブルのデータ構造例を示す図である。未送信メッセージ管理テーブル１２１は、メッセージ記憶部１２０に格納される。未送信メッセージ管理テーブル１２１には、発生日時を示す項目および未送信メッセージを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの未送信メッセージに関する情報を構成する。
【００４５】
発生日時を示す項目には、該当のメッセージに関連するエラー通知等の発生した年月日や時刻が設定される。未送信メッセージを示す項目には、監視サーバ４００に対して未送信のメッセージが設定される。
【００４６】
未送信メッセージ管理テーブル１２１には、例えば、発生日時が“２００８／０９／０１  ０８：３０：２５”、未送信メッセージが“データファイル読込エラー発生”という情報が設定される。
【００４７】
なお、未送信メッセージ管理テーブル１２１には、メッセージ生成部１４０により生成されたメッセージが順次格納されるため、各未送信メッセージが発生した順に時系列に設定される。
【００４８】
図６は、第１の実施の形態のメッセージ制御テーブルのデータ構造例を示す図である。メッセージ制御テーブル１３１は、制御情報記憶部１３０に格納される。メッセージ制御テーブル１３１には、ルールＩＤを示す項目、発生メッセージを示す項目、関連メッセージを示す項目および通知メッセージを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つの制御ルールに関する情報を構成する。
【００４９】
ルールＩＤを示す項目には、ルールＩＤが設定される。発生メッセージを示す項目には、メッセージ記憶部１２０に記憶されたある時点に発生するメッセージが設定される。関連メッセージを示す項目には、発生メッセージの発生した時点よりも後の時点に発生し、発生メッセージと関連のあるメッセージが設定される。ここで、発生メッセージと関連メッセージとの関連とは、例えば、ある状態の開始と終了との関連付けを示す。通知メッセージを示す項目には、発生メッセージと関連メッセージとに基づいて、監視サーバ４００に送信するための通知メッセージの情報が設定される。
【００５０】
メッセージ制御テーブル１３１には、例えば、ルールＩＤが“１”、発生メッセージが“システムエラー発生”、関連メッセージが“システムエラー復旧”、通知メッセージが“−（なし）”という情報が設定される。これは、通信障害時に“システムエラー発生”、“システムエラー復旧”の順にメッセージが発生していた場合、これらメッセージの送信を行わないことを示している。
【００５１】
また、ルールＩＤが“４”、発生メッセージが“データファイル読込エラー復旧”、関連メッセージが“データファイル読込エラー発生”、通知メッセージが“データファイル読込エラー発生”という情報が設定される。これは、通信障害時に“データファイル読込エラー復旧”、“データファイル読込エラー発生”の順にメッセージが発生していた場合、“データファイル読込エラー復旧”は送信せず、“データファイル読込エラー発生”のみを送信することを示している。
【００５２】
また、ルールＩＤが“１１”、発生メッセージが“入金業務エラー発生”、関連メッセージが“入金業務エラー復旧”、通知メッセージが“入金業務エラー発生＝＞復旧（ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳ発生、ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳ復旧）”という情報が設定される。これは、通信障害時に“入金業務エラー発生”、“入金業務エラー復旧”の順にメッセージが発生していた場合、これらのメッセージを集約して、発生の時間および復旧の時間をまとめた１つのメッセージとして送信することを示している。なお、“ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳ”の箇所には、未送信メッセージ管理テーブル１２１における該当のメッセージの発生日時が設定される。
【００５３】
また、ルールＩＤが“１２”、発生メッセージが“入金業務エラー発生”、関連メッセージが“−（なし）”、通知メッセージが“入金業務エラー発生（ＹＹＹＹ／ＭＭ／ＤＤ  ＨＨ：ＭＭ：ＳＳから継続中）”という情報が設定される。これは、通信障害時に“入金業務エラー発生”が発生しており、その後に関連するメッセージが存在しない場合には、“入金業務エラー”の状態を開始時点の時間の情報を追加して、詳しく説明したメッセージを送信することを示している。
【００５４】
更に、ルールＩＤが“５０”、発生メッセージが“（未登録メッセージ）”、関連メッセージが“−（なし）”、通信メッセージが“（未登録メッセージ）”という情報が設定される。これは、通信障害時にメッセージ制御テーブル１３１に登録されていないメッセージが発生している場合には、該当のメッセージをそのまま送信することを示している。
【００５５】
なお、メッセージ制御テーブル１３１では、未登録メッセージをそのまま送信することとしたが、未登録メッセージに関しては、送信を行わない旨の定義を行うことも考えられる。
【００５６】
次に、以上のような構成を備えるコンピュータ１００において実行される処理の詳細を説明する。
図７は、第１の実施の形態の通信復旧時処理の手順を示すフローチャートである。以下、図７に示す処理をステップ番号に沿って説明する。
【００５７】
［ステップＳ１１］メッセージ制御部１６０は、通信障害が復旧したことを検知する。
［ステップＳ１２］メッセージ制御部１６０は、メッセージ記憶部１２０に記憶された未送信メッセージ管理テーブル１２１を取得する。
【００５８】
［ステップＳ１３］メッセージ制御部１６０は、未送信メッセージ管理テーブル１２１に通信障害期間中に発生したメッセージが存在するか否かを判定する。存在する場合、処理がステップＳ１４に移される。存在しない場合、処理が完了する。
【００５９】
［ステップＳ１４］メッセージ制御部１６０は、未送信メッセージ管理テーブル１２１に存在する未送信メッセージを、制御情報記憶部１３０に記憶されたメッセージ制御テーブル１３１に基づいて編集し、メッセージ送信部１５０に出力する。そして、メッセージ送信部１５０がメッセージ制御部１６０から取得するメッセージを監視サーバ４００に送信して、処理が完了する。
【００６０】
このように、メッセージ制御部１６０は、通信障害が復旧すると、メッセージ記憶部１２０に記憶された未送信メッセージ管理テーブル１２１を参照して、通信障害期間中に発生したメッセージの有無を判定する。
【００６１】
そして、通信障害期間中に発生したメッセージが存在すると、制御情報記憶部１３０に記憶されたメッセージ制御テーブル１３１に基づいて、発生したメッセージの送信要否や内容を決定する。
【００６２】
以下では、上記ステップＳ１４で示したメッセージ制御部１６０の処理を詳細に説明する。
図８は、第１の実施の形態のメッセージ送信処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。なお、以下の処理は、図７におけるステップＳ１４の処理を詳細に示したものである。
【００６３】
［ステップＳ１０１］メッセージ制御部１６０は、未送信メッセージ管理テーブル１２１に含まれるメッセージのうちの１つを抽出する。このとき、メッセージ制御部１６０は、抽出対象となっている未送信メッセージのうち、最も古いメッセージを抽出する。
【００６４】
［ステップＳ１０２］メッセージ制御部１６０は、制御情報記憶部１３０に記憶されたメッセージ制御テーブル１３１を取得する。
［ステップＳ１０３］メッセージ制御部１６０は、上記ステップＳ１０１で抽出したメッセージがメッセージ制御テーブル１３１に発生メッセージとして含まれるか否か、すなわち、抽出したメッセージが編集の対象となっているか否かを判定する。編集対象である場合、処理がステップＳ１０４に移される。編集対象でない場合、処理がステップＳ１０９に移される。
【００６５】
［ステップＳ１０４］メッセージ制御部１６０は、メッセージ制御テーブル１３１から、該当する発生メッセージに対応する関連メッセージを取得する。そして、この関連メッセージを未送信メッセージ管理テーブル１２１の最も古いメッセージから新しいメッセージへと順に検索する。
【００６６】
［ステップＳ１０５］メッセージ制御部１６０は、上記ステップＳ１０４の検索の結果、発生メッセージの発生時点よりも後の時点で関連メッセージが存在しているか否かを判定する。存在している場合、処理がステップＳ１０６に移される。存在していない場合、処理がステップＳ１０８に移される。
【００６７】
［ステップＳ１０６］メッセージ制御部１６０は、メッセージ制御テーブル１３１において、該当の発生メッセージと関連メッセージ（関連メッセージなしの場合を含む）とに対応付けられた通知メッセージが設定されているか否かを判定する。設定されている場合、処理がステップＳ１０７に移される。設定されていない場合、処理がステップＳ１１１に移される。
【００６８】
［ステップＳ１０７］メッセージ制御部１６０は、メッセージ制御テーブル１３１に設定されている通知メッセージの内容に基づいて送信メッセージを生成し、メッセージ送信部１５０に出力する。
【００６９】
［ステップＳ１０８］メッセージ制御部１６０は、メッセージ制御テーブル１３１において、該当の発生メッセージに対する関連メッセージが存在しない場合にも通知メッセージが設定されているか否か、すなわち、関連メッセージが存在しない場合にも編集対象であるか否かを判定する。編集対象である場合、処理がステップＳ１０６に移される。編集対象でない場合、処理がステップＳ１０９に移される。なお、この判定は、例えば、メッセージ制御テーブル１３１に設定されたルールＩＤ“１２，１５”の内容に基づくものである。
【００７０】
［ステップＳ１０９］メッセージ制御部１６０は、発生メッセージと同一の送信メッセージを生成し、メッセージ送信部１５０に出力する。
［ステップＳ１１０］メッセージ送信部１５０は、メッセージ制御部１６０から取得するメッセージを監視サーバ４００に送信する。
【００７１】
［ステップＳ１１１］メッセージ制御部１６０は、上記ステップＳ１０１で抽出した発生メッセージおよび上記ステップＳ１０４の検索で最初に検出した関連メッセージを未送信メッセージ管理テーブル１２１から削除し、抽出対象から除外する。なお、発生メッセージに対する関連メッセージが存在していない場合には、抽出した発生メッセージのみを削除する。
【００７２】
［ステップＳ１１２］メッセージ制御部１６０は、未送信メッセージ管理テーブル１２１に含まれる未抽出の未送信メッセージが存在するか否かを判定する。存在する場合、処理がステップＳ１０１に移される。存在しない場合、処理が完了する。
【００７３】
このようにして、メッセージ制御部１６０は、メッセージ制御テーブル１３１に基づいて、未送信メッセージの送信方法を制御する。
メッセージ制御テーブル１３１には、エラーが発生し、その後復旧したものに関してはメッセージを送信しない、または、管理者が注目すべきエラーに関しては、発生および復旧を詳細な時間情報を含む１つのメッセージに集約して送信する旨の制御ルールが設定される。
【００７４】
これにより、管理者に対して無駄なメッセージを送信し、無駄な作業が発生することを防止することができる。また、無駄なメッセージの送信が抑制されるため、通信復旧時におけるネットワーク１０や監視サーバ４００の負荷を軽減することができる。この効果は、監視サーバ４００の監視対象が多数存在するほど顕著となる。
【００７５】
図９は、第１の実施の形態の送信メッセージの具体例を示す図である。未送信メッセージ管理テーブル１２１には、通信障害によって未送信となっているメッセージ１２１ａ，１２１ｂ，・・・，１２１ｌが設定されている。
【００７６】
メッセージ制御部１６０は、制御情報記憶部１３０に記憶されたメッセージ制御テーブル１３１に基づいて、未送信メッセージ管理テーブル１２１に設定されたメッセージ１２１ａ，１２１ｂ，・・・，１２１ｌの送信方法を制御する。そして、送信メッセージ群５１１に含まれるメッセージ５１１ａ，５１１ｂ，・・・，５１１ｅを生成する。
【００７７】
具体的には、メッセージ制御部１６０は、メッセージ制御テーブル１３１に基づいて、以下の処理を行う。以下、ルールＩＤは、メッセージ制御テーブル１３１のルールＩＤを示す項目に対応するものとする。
【００７８】
（１）メッセージ１２１ａはルールＩＤ“５０”に基づいて、メッセージ５１１ａとして出力される。
（２）メッセージ１２１ｂとメッセージ１２１ｄとに関しては、ルールＩＤ“３”に基づいて、これらに関するメッセージは出力されない。
【００７９】
（３）メッセージ１２１ｃとメッセージ１２１ｅとに関しては、ルールＩＤ“１”に基づいて、これらに関するメッセージは出力されない。
（４）メッセージ１２１ｆはルールＩＤ“１”に定義される関連メッセージが存在しないので、メッセージ５１１ｂとして出力される。
【００８０】
（５）メッセージ１２１ｇとメッセージ１２１ｋとは、ルールＩＤ“１１”に基づいて、メッセージ５１１ｃとして出力される。
（６）メッセージ１２１ｈとメッセージ１２１ｉとに関しては、ルールＩＤ“３”に基づいて、これらに関するメッセージは出力されない。
【００８１】
（７）メッセージ１２１ｊはルールＩＤ“１５”に基づいて、メッセージ５１１ｄとして出力される。
（８）メッセージ１２１ｌはルールＩＤ“５０”に基づいて、メッセージ５１１ｅとして出力される。
【００８２】
なお、メッセージ編集のないメッセージ５１１ａ，５１１ｂ，５１１ｅに関しては、未送信メッセージ管理テーブル１２１の発生日時と共に送信される。また、メッセージ５１１ｃ，５１１ｄに関しては、メッセージ制御部１６０による各メッセージの生成日時と共に送信される。
【００８３】
このように、コンピュータ１００では、通信障害時に発生したシステムエラーメッセージのうち、既に復旧したシステムエラーに関しては、監視サーバ４００に送信しないよう制御される。
【００８４】
これにより、通信障害復旧時にコンピュータ１００に蓄積された未送信メッセージの送信に際して、送信するメッセージの情報量を効率的に削減することができる。そして、復旧済みのエラーを管理者に通知することもなくなるので、管理者に対する無駄な作業の発生を防止することができる。また、コンピュータ２００や業務サーバ３００等、他の監視対象でもこのような制御を行うことで、通信障害復旧直後のメッセージ送信によるネットワーク１０や監視サーバ４００の負荷を軽減することができる。
【００８５】
また、コンピュータ１００では、通信障害時に発生したメッセージのうち、管理者が特に注目すべきエラーに関しては、情報の集約や詳細化を行って送信するよう制御する。
例えば、入金業務エラー発生、入金業務エラー復旧の順となっているものは、これらの情報を集約した１つのメッセージとして送信するよう制御される。これにより、管理者によるエラーの識別を容易にすると共に、メッセージの情報量を効率的に削減することができる。
【００８６】
また、例えば、出金業務エラー発生後、出金業務エラー復旧のメッセージが存在しない場合には、出金業務エラーの継続状態を詳細に説明するメッセージに編集して送信する。これにより、管理者によるエラーの識別を容易にすることができる。
【００８７】
［第２の実施の形態］
次に、第２の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【００８８】
第２の実施の形態では、未送信メッセージの送信方法に所定のオプションを選択可能とし、送信方法の制御処理の高速化および送信するメッセージに優先度を付加できるようにする点が第１の実施の形態と異なる。
【００８９】
以下では、このためのコンピュータの構成を詳細に説明する。
なお、第２の実施の形態のネットワークシステムは、図２に示した第１の実施の形態のコンピュータシステムの構成と同一であるため説明を省略する。
【００９０】
また、第２の実施の形態のコンピュータのハードウェア構成は、図３に示した第１の実施の形態のコンピュータ１００のハードウェア構成と同一であるため説明を省略する。
図１０は、第２の実施の形態のコンピュータの機能構成を示すブロック図である。コンピュータ１００ａは、ログ情報記憶部１１０、メッセージ記憶部１２０ａ、制御情報記憶部１３０ａ、メッセージ生成部１４０、メッセージ送信部１５０およびメッセージ制御部１６０ａを有する。
【００９１】
ここで、ログ情報記憶部１１０、メッセージ生成部１４０およびメッセージ送信部１５０に関しては、図４に示した第１の実施の形態のコンピュータ１００の機能構成において、同一の符号を付して説明した構成と同一であるため説明を省略する。
【００９２】
メッセージ記憶部１２０ａは、メッセージ送信部１５０が通信障害の影響で監視サーバ４００にメッセージを送信できない場合、メッセージ生成部１４０により通信障害期間に生成されたメッセージを記憶する。このため、メッセージ記憶部１２０ａには、図５に示す未送信メッセージ管理テーブル１２１と同一のテーブルが格納される。また、メッセージ記憶部１２０ａは、メッセージ制御部１６０ａが生成した送信メッセージを一時的に記憶する。
【００９３】
制御情報記憶部１３０ａは、通信障害復旧時にメッセージ記憶部１２０ａに記憶されたメッセージを送信する際の制御ルールを定義した制御情報を記憶する。この制御情報は、図６に示すメッセージ制御テーブル１３１と同一である。また、制御情報記憶部１３０ａは、メッセージ制御部１６０ａによる処理効率の向上や通信方法を制御するために利用可能なオプション設定情報を記憶する。
【００９４】
メッセージ制御部１６０ａは、通信障害が復旧したことを検知すると、メッセージ記憶部１２０ａに記憶された制御情報に基づいて、取得した未送信メッセージから該当の状態に対するメッセージ送信の要否やメッセージの内容を決定する。このとき、メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたオプション設定情報に基づいて、利用を指示されたオプションに従った処理を行う。メッセージ制御部１６０ａは、オプションに従った処理により生成した送信メッセージをメッセージ送信部１５０に出力する。
【００９５】
図１１は、第２の実施の形態のオプション設定テーブルのデータ構造例を示す図である。オプション設定テーブル１３２は、制御情報記憶部１３０ａに記憶される。オプション設定テーブル１３２には、オプションを示す項目、内容を示す項目、条件を示す項目および利用を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、１つのオプションに関する情報を構成する。
【００９６】
オプションを示す項目には、管理者がメッセージ制御部１６０に対してオプションの利用を指示するための文字列が設定される。内容を示す項目には、該当のオプションにより実現される具体的な制御の内容が設定される。条件を示す項目には、該当の制御を行うための条件が設定される。利用を示す項目には、該当のオプションの利用が指示されているか否かを示す情報が設定される。
【００９７】
オプション設定テーブル１３２には、例えば、オプションが“−Ｈ”、内容が“高速化制御”、条件が“−（なし）”、利用が“○”という情報が設定される。これは、メッセージ制御部１６０の処理の実行の際に、“−Ｈ”オプションが入力されていると、このオプションにより、メッセージ制御部１６０の処理を高速化することを示している。そして、利用の“○”は、メッセージ制御部１６０の処理の実行の際に、“−Ｈ”オプションの利用が選択されていることを示している。
【００９８】
また、オプション設定テーブル１３２には、例えば、オプションが“−Ｓ”、内容が“通知順序制御”、条件が““発生”を含み“復旧”を含まないメッセージを優先”、利用が“×”という情報が設定される。これは、メッセージ制御部１６０の処理の実行の際に、“−Ｓ”オプションが入力されていると、このオプションにより、メッセージ制御部１６０がメッセージ送信部１５０に出力するメッセージの順序を制御することを示している。このとき、メッセージ制御部１６０は、条件に設定された内容に基づいて、出力するメッセージの順序を決定する。そして、利用の“×”は、メッセージ制御部１６０の処理の実行の際に“−Ｓ”オプションの利用が選択されていないことを示している。
【００９９】
なお、“−Ｈ，−Ｓ”オプションの利用の選択は、例えば、メッセージ制御部１６０に入力する実行コマンドに含めることで行うことができる。また、メッセージ制御テーブル１３１にこれらオプションの利用可否を設定するカラムを新たに設けて入力するようにしてもよい。このようにしてオプションの利用入力がなされると、オプション設定テーブル１３２の該当のオプションの利用を示す項目に“○”が設定される。
【０１００】
また、オプション設定テーブル１３２の利用を示す項目を直接操作して設定することもできる。
更に、“−Ｈ，−Ｓ”オプションは、両方を同時に利用してもよいし、片方のみを利用してもよい。
【０１０１】
次に、以上のような構成を備えるコンピュータ１００ａにおいて実行される処理の詳細を説明する。
図１２は、第２の実施の形態の通信復旧時処理の手順を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【０１０２】
［ステップＳ２１］メッセージ制御部１６０ａは、通信障害が復旧したことを検知する。
［ステップＳ２２］メッセージ制御部１６０ａは、メッセージ記憶部１２０ａに記憶された未送信メッセージ管理テーブル１２１を取得する。
【０１０３】
［ステップＳ２３］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に通信障害期間中に発生したメッセージが存在するか否かを判定する。存在する場合、処理がステップＳ２４に移される。存在しない場合、処理が完了する。
【０１０４】
［ステップＳ２４］メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたオプション設定テーブル１３２を取得する。
［ステップＳ２５］メッセージ制御部１６０ａは、オプションの利用が指示されているか否かを判定する。“−Ｈ”オプションを利用し、“−Ｓ”オプションを利用しない場合、処理がステップＳ２６に移される。“−Ｈ”オプションを利用せず、“−Ｓ”オプションを利用する場合、処理がステップＳ２７に移される。“−Ｈ，−Ｓ”オプションの両方を利用する場合、処理がステップＳ２８に移される。“−Ｈ，−Ｓ”オプションの両方を利用しない場合、処理がステップＳ２９に移される。
【０１０５】
［ステップＳ２６］メッセージ制御部１６０ａは、“−Ｈ”オプションを利用したメッセージ送信制御を実行し、これにより生成したメッセージをメッセージ送信部１５０に出力する。
【０１０６】
［ステップＳ２７］メッセージ制御部１６０ａは、“−Ｓ”オプションを利用したメッセージ送信制御を実行し、これにより生成したメッセージをメッセージ送信部１５０に出力する。
【０１０７】
［ステップＳ２８］メッセージ制御部１６０ａは、“−Ｈ，−Ｓ”オプションを利用したメッセージ送信制御を実行し、これにより生成したメッセージをメッセージ送信部１５０に出力する。
【０１０８】
［ステップＳ２９］メッセージ制御部１６０ａは、オプションを利用しないメッセージ送信制御を実行し、これにより生成したメッセージをメッセージ送信部１５０に出力する。
【０１０９】
上記ステップＳ２６〜ステップＳ２９のいずれの場合も、メッセージ送信部１５０がメッセージ制御部１６０ａから取得するメッセージを監視サーバ４００に送信して、処理が完了する。
【０１１０】
以下、上記ステップＳ２６〜ステップＳ２８の処理を詳細に説明する。なお、上記ステップＳ２９の処理は、図８に示した第１の実施の形態メッセージ送信処理の手順と同一であるため説明を省略する。
【０１１１】
まず、“−Ｈ”オプションを利用する場合のメッセージ送信処理に関して説明する。
図１３は、第２の実施の形態の“−Ｈ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。なお、以下の処理は、図１２におけるステップＳ２６の処理を詳細に示したものである。
【０１１２】
［ステップＳ１２１］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれるメッセージのうちの１つを抽出する。このとき、メッセージ制御部１６０ａは、抽出対象となっている未送信メッセージのうち、最も古いメッセージを抽出する。
【０１１３】
［ステップＳ１２２］メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたメッセージ制御テーブル１３１を取得する。
［ステップＳ１２３］メッセージ制御部１６０ａは、上記ステップＳ１２１で抽出したメッセージがメッセージ制御テーブル１３１に発生メッセージとして含まれるか否か、すなわち、抽出したメッセージが編集の対象となっているか否かを判定する。編集対象である場合、処理がステップＳ１２４に移される。編集対象でない場合、処理がステップＳ１３１に移される。
【０１１４】
［ステップＳ１２４］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１から、該当する発生メッセージに対応する関連メッセージを取得する。そして、この関連メッセージを未送信メッセージ管理テーブル１２１の最も新しいメッセージから古いメッセージへと順に検索する。
【０１１５】
［ステップＳ１２５］メッセージ制御部１６０ａは、上記ステップＳ１２４の検索の結果、発生メッセージの発生時点よりも後の時点で関連メッセージが存在しているか否かを判定する。存在している場合、処理がステップＳ１２６に移される。存在していない場合、処理がステップＳ１３０に移される。
【０１１６】
［ステップＳ１２６］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージと関連メッセージ（関連メッセージなしの場合を含む）とに対応付けられた通知メッセージが設定されているか否かを判定する。設定されている場合、処理がステップＳ１２７に移される。設定されていない場合、処理がステップＳ１２９に移される。
【０１１７】
［ステップＳ１２７］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１に設定されている通知メッセージの内容に基づいて送信メッセージを生成し、メッセージ送信部１５０に出力する。
【０１１８】
［ステップＳ１２８］メッセージ送信部１５０は、メッセージ制御部１６０ａから取得する送信メッセージを監視サーバ４００に送信する。
［ステップＳ１２９］メッセージ制御部１６０ａは、上記ステップＳ１２１で抽出した発生メッセージおよび上記ステップＳ１２４で検索した関連メッセージと同一の未送信メッセージを未送信メッセージ管理テーブル１２１から全て削除し、抽出対象から除外する。なお、発生メッセージに対する関連メッセージが存在していない場合には、抽出した発生メッセージと同一の未送信メッセージを全て削除する。
【０１１９】
［ステップＳ１３０］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージに対する関連メッセージが存在しない場合にも通知メッセージが設定されているか否か、すなわち、関連メッセージが存在しない場合にも編集対象であるか否かを判定する。編集対象である場合、処理がステップＳ１２６に移される。編集対象でない場合、処理がステップＳ１３１に移される。
【０１２０】
［ステップＳ１３１］メッセージ制御部１６０は、上記ステップＳ１２１で抽出した発生メッセージと同一の送信メッセージを生成し、メッセージ送信部１５０に出力する。
［ステップＳ１３２］メッセージ送信部１５０は、メッセージ制御部１６０ａから取得するメッセージを監視サーバ４００に送信する。
【０１２１】
［ステップＳ１３３］メッセージ制御部１６０ａは、上記ステップＳ１２１で抽出した発生メッセージを未送信メッセージ管理テーブル１２１から削除し、抽出対象から除外する。
【０１２２】
［ステップＳ１３４］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれる未抽出の未送信メッセージが存在するか否かを判定する。存在する場合、処理がステップＳ１２１に移される。存在しない場合、処理が完了する。
【０１２３】
このように、メッセージ制御部１６０ａは、“−Ｈ”オプションを利用する場合、未送信メッセージ管理テーブル１２１から抽出した発生メッセージに対し、未送信メッセージ管理テーブル１２１の最新の時点から順に関連メッセージを検索する。そして、関連メッセージが存在する場合、抽出した発生メッセージと関連メッセージとの間の同一内容の未送信メッセージを全て削除する。
【０１２４】
例えば、通信障害期間に発生した最初の“エラーＡ発生”と最後の“エラーＡ復旧”とのみを未送信メッセージ管理テーブル１２１から抽出する。そして、これらメッセージの発生時間の間に含まれる“エラーＡ発生”と“エラーＡ復旧”とを示す未送信メッセージを全て未送信メッセージ管理テーブル１２１から削除し、メッセージ送信処理を省略する。
【０１２５】
次に、“−Ｓ”オプションを利用する場合のメッセージ送信処理に関して説明する。
図１４は、第２の実施の形態の“−Ｓ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。なお、以下の処理は、図１２におけるステップＳ２７の処理を詳細に示したものである。
【０１２６】
［ステップＳ１４１］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれるメッセージのうちの１つを抽出する。このとき、メッセージ制御部１６０ａは、抽出対象となっている未送信メッセージのうち、最も古いメッセージを抽出する。
【０１２７】
［ステップＳ１４２］メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたメッセージ制御テーブル１３１を取得する。
［ステップＳ１４３］メッセージ制御部１６０ａは、上記ステップＳ１４１で抽出したメッセージがメッセージ制御テーブル１３１に発生メッセージとして含まれるか否か、すなわち、抽出したメッセージが編集の対象となっているか否かを判定する。編集対象である場合、処理がステップＳ１４４に移される。編集対象でない場合、処理がステップＳ１４９に移される。
【０１２８】
［ステップＳ１４４］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１から、該当する発生メッセージに対応する関連メッセージを取得する。そして、この関連メッセージを未送信メッセージ管理テーブル１２１で最も古いメッセージから新しいメッセージへと順に検索する。
【０１２９】
［ステップＳ１４５］メッセージ制御部１６０ａは、上記ステップＳ１４４の検索の結果、発生メッセージの発生時点よりも後の時点で関連メッセージが存在しているか否かを判定する。存在している場合、処理がステップＳ１４６に移される。存在していない場合、処理がステップＳ１４８に移される。
【０１３０】
［ステップＳ１４６］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージと関連メッセージ（関連メッセージなしの場合を含む）とに対応付けられた通知メッセージが設定されているか否かを判定する。設定されている場合、処理がステップＳ１４７に移される。設定されていない場合、処理がステップＳ１５１に移される。
【０１３１】
［ステップＳ１４７］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１に設定されている通知メッセージの内容に基づいて送信メッセージを生成する。
［ステップＳ１４８］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージに対する関連メッセージが存在しない場合にも通知メッセージが設定されているか否か、すなわち、関連メッセージが存在しない場合にも編集対象であるか否かを判定する。編集対象である場合、処理がステップＳ１４６に移される。編集対象でない場合、処理がステップＳ１４９に移される。
【０１３２】
［ステップＳ１４９］メッセージ制御部１６０ａは、上記ステップＳ１４１で抽出した発生メッセージと同一の送信メッセージを生成する。
［ステップＳ１５０］メッセージ制御部１６０ａは、生成した送信メッセージをメッセージ記憶部１２０ａに送信候補メッセージとして格納する。
【０１３３】
［ステップＳ１５１］メッセージ制御部１６０ａは、上記ステップＳ１４１で抽出した発生メッセージおよび上記ステップＳ１４５の検索で最初に検出した関連メッセージを未送信メッセージ管理テーブル１２１から削除し、抽出対象から除外する。なお、発生メッセージに対する関連メッセージが存在していない場合には、抽出した発生メッセージのみを削除する。
【０１３４】
［ステップＳ１５２］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれる未抽出の未送信メッセージが存在するか否かを判定する。存在する場合、処理がステップＳ１４１に移される。存在しない場合、処理がステップＳ１５３に移される。
【０１３５】
［ステップＳ１５３］メッセージ制御部１６０ａは、メッセージ記憶部１２０ａに記憶された送信候補メッセージを、制御情報記憶部１３０ａに記憶された“−Ｓ”オプションの条件に基づく優先順にメッセージ送信部１５０に出力する。メッセージ送信部１５０は、メッセージ制御部１６０ａから取得する送信メッセージを監視サーバ４００に送信して、処理が完了する。
【０１３６】
このように、メッセージ制御部１６０ａは、“−Ｓ”オプションを利用する場合、生成した送信メッセージをメッセージ記憶部１２０ａに保持する。そして、制御情報記憶部１３０ａに記憶されたオプション設定テーブル１３２に設定された“−Ｓ”オプションの条件に従って、メッセージ送信部１５０への出力順序を制御する。
【０１３７】
次に、“−Ｈ，−Ｓ”オプションを両方利用する場合のメッセージ送信処理に関して説明する。
図１５は、第２の実施の形態の“−Ｈ，−Ｓ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。なお、以下の処理は、図１２におけるステップＳ２８の処理を詳細に示したものである。
【０１３８】
［ステップＳ１６１］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれるメッセージのうちの１つを抽出する。このとき、メッセージ制御部１６０ａは、抽出対象となっている未送信メッセージのうち、最も古いメッセージを抽出する。
【０１３９】
［ステップＳ１６２］メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたメッセージ制御テーブル１３１を取得する。
［ステップＳ１６３］メッセージ制御部１６０ａは、上記ステップＳ１６１で抽出したメッセージがメッセージ制御テーブル１３１に発生メッセージとして含まれるか否か、すなわち、抽出したメッセージが編集の対象となっているか否かを判定する。編集対象である場合、処理がステップＳ１６４に移される。編集対象でない場合、処理がステップＳ１７１に移される。
【０１４０】
［ステップＳ１６４］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１から、該当する発生メッセージに対応する関連メッセージを取得する。そして、この関連メッセージを未送信メッセージ管理テーブル１２１の最も新しいメッセージから古いメッセージへと順に検索する。
【０１４１】
［ステップＳ１６５］メッセージ制御部１６０ａは、上記ステップＳ１６４の検索の結果、発生メッセージの発生時点よりも後の時点で関連メッセージが存在しているか否かを判定する。存在している場合、処理がステップＳ１６６に移される。存在していない場合、処理がステップＳ１７０に移される。
【０１４２】
［ステップＳ１６６］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージと関連メッセージ（関連メッセージなしの場合を含む）とに対応付けられた通知メッセージが設定されているか否かを判定する。設定されている場合、処理がステップＳ１６７に移される。設定されていない場合、処理がステップＳ１６９に移される。
【０１４３】
［ステップＳ１６７］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１に設定されている通知メッセージの内容に基づいて送信メッセージを生成する。
［ステップＳ１６８］メッセージ制御部１６０ａは、生成した送信メッセージをメッセージ記憶部１２０ａに送信候補メッセージとして格納する。
【０１４４】
［ステップＳ１６９］メッセージ制御部１６０ａは、上記ステップＳ１６１で抽出した発生メッセージおよび上記ステップＳ１６４で検索した関連メッセージと同一の未送信メッセージを未送信メッセージ管理テーブル１２１から全て削除し、抽出対象から除外する。なお、発生メッセージに対する関連メッセージが存在していない場合には、抽出した発生メッセージと同一の未送信メッセージを全て削除する。
【０１４５】
［ステップＳ１７０］メッセージ制御部１６０ａは、メッセージ制御テーブル１３１において、該当の発生メッセージに対する関連メッセージが存在しない場合にも通知メッセージが設定されているか否か、すなわち、関連メッセージが存在しない場合にも編集対象であるか否かを判定する。編集対象である場合、処理がステップＳ１６６に移される。編集対象でない場合、処理がステップＳ１７１に移される。
【０１４６】
［ステップＳ１７１］メッセージ制御部１６０ａは、上記ステップＳ１６１で抽出した発生メッセージと同一の送信メッセージを生成する。
［ステップＳ１７２］メッセージ制御部１６０ａは、生成した送信メッセージをメッセージ記憶部１２０ａに送信候補メッセージとして格納する。
【０１４７】
［ステップＳ１７３］メッセージ制御部１６０ａは、上記ステップＳ１６１で抽出した発生メッセージを未送信メッセージ管理テーブル１２１から削除し、抽出対象から除外する。
【０１４８】
［ステップＳ１７４］メッセージ制御部１６０ａは、未送信メッセージ管理テーブル１２１に含まれる未抽出の未送信メッセージが存在するか否かを判定する。存在する場合、処理がステップＳ１６１に移される。存在しない場合、処理がステップＳ１７５に移される。
【０１４９】
［ステップＳ１７５］メッセージ制御部１６０ａは、メッセージ記憶部１２０ａに記憶された送信候補メッセージを、制御情報記憶部１３０ａに記憶された“−Ｓ”オプションの条件に基づいて優先順にメッセージ送信部１５０に出力する。メッセージ送信部１５０は、メッセージ制御部１６０ａから取得する送信メッセージを監視サーバ４００に送信して、処理が完了する。
【０１５０】
このように、メッセージ制御部１６０ａは、“−Ｈ，−Ｓ”の両方のオプションを利用して処理を実行することも可能である。
図１６は、第２の実施の形態の送信メッセージの第１の具体例を示す図である。ここでは、メッセージ制御部１６０ａが“−Ｈ”オプションによる処理の高速化制御を行う場合を示す。未送信メッセージ管理テーブル１２２は、メッセージ記憶部１２０ａに記憶される未送信メッセージ管理テーブル１２１の他の例を示すものである。未送信メッセージ管理テーブル１２２には、通信障害によって未送信となっているメッセージ１２２ａ，１２２ｂ，・・・，１２２ｌが設定されている。
【０１５１】
メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたメッセージ制御テーブル１３１およびオプション設定テーブル１３２に基づいて、未送信メッセージ管理テーブル１２２に設定されたメッセージ１２２ａ，１２２ｂ，・・・，１２２ｌの送信方法を制御する。そして、送信メッセージ群５１２のメッセージ５１２ａ，５１２ｂ，５１２ｃ，５１２ｄを生成する。
【０１５２】
具体的には、メッセージ制御部１６０ａは、メッセージ制御テーブル１３１およびオプション設定テーブル１３２に基づいて、以下の処理を行う。以下、ルールＩＤは、メッセージ制御テーブル１３１のルールＩＤを示す項目に対応するものとする。
【０１５３】
（１）メッセージ１２２ａはルールＩＤ“５０”に基づいて、メッセージ５１２ａとして出力される。
（２）メッセージ１２２ｂに対して、メッセージ１２２ｋが検索される。そして、メッセージ１２２ｂとメッセージ１２２ｋとに関して、ルールＩＤ“３”に基づき、これらに関するメッセージは出力されない。
【０１５４】
（３）メッセージ１２２ｄ〜１２２ｈ，１２２ｊは、“−Ｈ”オプションに基づいて、削除され、送信処理の対象から除外される。
（４）メッセージ１２２ｃは、ルールＩＤ“１”に定義される関連メッセージが存在しないので、メッセージ５１２ｂとして出力される。
【０１５５】
（５）メッセージ１２２ｉは、ルールＩＤ“１２”に基づいて、メッセージ５１２ｃとして出力される。
（６）メッセージ１２２ｌはルールＩＤ“５０”に基づいて、メッセージ５１２ｄとして出力される。
【０１５６】
なお、メッセージ編集のないメッセージ５１２ａ，５１２ｂ，５１１ｄに関しては、未送信メッセージ管理テーブル１２２の発生日時と共に送信される。また、メッセージ５１１ｃに関しては、メッセージ制御部１６０ａによるメッセージ５１１ｃの生成日時と共に送信される。
【０１５７】
このように、メッセージ制御部１６０ａは、“−Ｈ”オプションにより、未送信メッセージ管理テーブル１２２から抽出した発生メッセージに対し、未送信メッセージ管理テーブル１２２の最新の時点から順に関連メッセージを検索する。そして、関連メッセージが存在する場合、抽出した発生メッセージと関連メッセージとの間の同一内容の未送信メッセージを全て送信処理の対象から除外する。
【０１５８】
これにより、第１の実施の形態の効果に加えて、メッセージ送信処理に係るコンピュータ１００ａの負荷を軽減することができる。また、メッセージ送信処理を高速に行うことができる。
【０１５９】
図１７は、第２の実施の形態の送信メッセージの第２の具体例を示す図である。ここでは、メッセージ制御部１６０ａが“−Ｓ”オプションによる送信メッセージの通知順序制御を行う場合を示す。
【０１６０】
メッセージ制御部１６０ａは、生成したメッセージを送信候補メッセージ群５１３としてメッセージ記憶部１２０ａに一時的に格納する。送信候補メッセージ群５１３には、メッセージ５１３ａ，５１３ｂ，・・・，５１３ｅが含まれる。ここで、メッセージ編集のないメッセージ５１３ａは、未送信メッセージ管理テーブルで管理される発生日時と共に送信される。また、メッセージ５１３ｂ，５１３ｃ，５１３ｄ，５１３ｅに関しては、メッセージ制御部１６０ａによる各メッセージの生成日時と共に送信される。
【０１６１】
そして、メッセージ制御部１６０ａは、制御情報記憶部１３０ａに記憶されたオプション設定テーブル１３２の“−Ｓ”オプションに設定された条件に基づいて、送信メッセージ群５１４を生成する。なお、送信メッセージ群５１４は、図中上側に示したメッセージから順に監視サーバ４００への送信が行われる。
【０１６２】
メッセージ制御部１６０ａは、例えば、““発生”を含み“復旧”を含まないメッセージを優先”という条件により、送信候補メッセージ群５１３のメッセージ５１３ａ，５１３ｂ，・・・，５１３ｅの通知順序が変更される。具体的には、メッセージ５１３ａ，５１３ｃ，５１３ｅ，５１３ｂ，５１３ｄの順となる。
【０１６３】
このように、メッセージ制御部１６０ａは、“−Ｓ”オプションにより、生成した送信メッセージの通知順序を制御する。
これにより、第１の実施の形態の効果に加えて、設定する条件によって送信するメッセージの優先順序を適切に決定できるようになる。例えば、“発生”を含み“復旧”を含まないメッセージの優先度を上げ、既に復旧済みの状態を示すメッセージの優先度を下げて監視サーバ４００へ送信する。そして、この優先度の順で管理者に通知を行うことで、管理者へ優先度の高いメッセージに対する注意を促すことができる。
【０１６４】
以上、本発明の監視プログラム、監視方法および情報処理装置を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置き換えることができる。また、他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１６５】
なお、上記の処理機能は、コンピュータによって実現することができる。この場合、上記の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１６６】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）などがある。
【０１６７】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６８】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【０１６９】
【図１】本実施の形態の概要を示す図である。
【図２】ネットワークシステムの構成を示す図である。
【図３】コンピュータのハードウェア構成を示すブロック図である。
【図４】第１の実施の形態のコンピュータの機能構成を示すブロック図である。
【図５】第１の実施の形態の未送信メッセージ管理テーブルのデータ構造例を示す図である。
【図６】第１の実施の形態のメッセージ制御テーブルのデータ構造例を示す図である。
【図７】第１の実施の形態の通信復旧時処理の手順を示すフローチャートである。
【図８】第１の実施の形態のメッセージ送信処理の手順を示すフローチャートである。
【図９】第１の実施の形態の送信メッセージの具体例を示す図である。
【図１０】第２の実施の形態のコンピュータの機能構成を示すブロック図である。
【図１１】第２の実施の形態のオプション設定テーブルのデータ構造例を示す図である。
【図１２】第２の実施の形態の通信復旧時処理の手順を示すフローチャートである。
【図１３】第２の実施の形態の“−Ｈ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。
【図１４】第２の実施の形態の“−Ｓ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。
【図１５】第２の実施の形態の“−Ｈ，−Ｓ”オプションを利用したメッセージ送信処理の手順を示すフローチャートである。
【図１６】第２の実施の形態の送信メッセージの第１の具体例を示す図である。
【図１７】第２の実施の形態の送信メッセージの第２の具体例を示す図である。
【符号の説明】
【０１７０】
１  コンピュータ
１ａ  メッセージ記憶手段
１ｂ  制御情報記憶手段
１ｃ  送信手段
１ｄ  メッセージ取得手段
１ｅ  メッセージ制御手段
２  管理装置
【図１】
2010108382.tif 000003
【図２】
2010108382.tif 000004
【図３】
2010108382.tif 000005
【図４】
2010108382.tif 000006
【図５】
2010108382.tif 000007
【図６】
2010108382.tif 000008
【図７】
2010108382.tif 000009
【図８】
2010108382.tif 000010
【図９】
2010108382.tif 000011
【図１０】
2010108382.tif 000012
【図１１】
2010108382.tif 000013
【図１２】
2010108382.tif 000014
【図１３】
2010108382.tif 000015
【図１４】
2010108382.tif 000016
【図１５】
2010108382.tif 000017
【図１６】
2010108382.tif 000018
【図１７】
2010108382.tif 000019