(57)【特許請求の範囲】
【請求項１】
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第２のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【請求項２】
請求項１に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【請求項３】
請求項１に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第２のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【請求項４】
請求項１に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第２のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項５】
請求項１に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項６】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【請求項７】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
外部から送り込まれたメッセージのフィルタリング処理を行うフィルタ処理管理装置に関する。
【背景技術】
【０００２】
異なる複数のエージェント端末からなるエージェント群から送り込まれたメッセージについて、予め設定されたフィルタ内容に合致するメッセージを抽出するフィルタリング処理を行うマネージャ装置と、マネージャ装置でフィルタリング処理されたメッセージを監視する監視端末を備え、エージェント群における動作異常等を監視するエージェント監視システムが利用されている。
【０００３】
マネージャ装置におけるフィルタリング処理では、エージェント端末からメッセージを受信した際に、このメッセージ内容に一致するフィルタを迅速に判別し、読み込んだフィルタに基づいて監視端末に通知すべきメッセージを抽出する処理が行われる。
【０００４】
しかしながら、エージェント端末から単位時間あたり一定量以上のメッセージが送り込まれた場合には、マネージャ装置におけるフィルタリング処理に係る処理負荷が一定以上に高まった高負荷状態となり、これにより、メッセージをリアルタイムに処理できないといった状態が発生し得る。
【０００５】
特に、エージェント群側で異なるエージェント端末に係るシステム異常が発生した場合には、エージェント端末からマネージャ装置に対してシステム異常や動作エラー等を示すメッセージが大量に、かつ繰り返し出力される。
【０００６】
この場合、マネージャ装置には、短時間に同一のメッセージが大量に送り込まれるため、メッセージに対するフィルタリング処理をリアルタイムに行うことができず、これにより、重大なシステム異常や動作エラーを示すメッセージが監視端末に通知されるのが遅延してしまうといったことが生じ得る。
また、この場合、監視側でシステム障害を検知するのが遅れてしまい、また、重大なシステム異常に対する対応、対処が遅れてしまうといった不都合が生じ得る。
【０００７】
また、マネージャ装置が高負荷状態となった場合、通常動作状態のエージェント端末等から送り込まれたメッセージの処理にも遅延が発生してしまうといった不都合がある。
【０００８】
これに対する関連技術として、予め設定されたスケジュールに基づきフィルタの順序入れ替えを行うと共に、各フィルタの使用頻度に応じてフィルタの優先度を設定するシステムが開示されている（特許文献１）。
【０００９】
また、上記内容に対する関連技術として、送り込まれたメッセージに対して適切なフィルタを選択しフィルタリング処理を行うメッセージフィルタ部を備えた装置が開示されている（特許文献２）。
さらに、上記内容に対する関連技術として、複数のフィルタの冗長を検出してフィルタ修正を行うシステムが開示されている（特許文献３）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２６００５６号公報
【特許文献２】特開２００９−２１１１１３号公報
【特許文献３】特開２００９−２１７３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１に開示された関連技術では、一定時間内に同一のメッセージが大量に送り込まれた場合には、フィルタの適切な順序入れ替えが実行されないため、送り込まれたメッセージに対してリアルタイムにフィルタリング処理を行うことができないという不都合がある。
また、不定な条件(時間)ごとに使用頻度の高いフィルタが変化するので、フィルタの使用頻度が同じ場合などには、適切なフィルタ順序の入れ替えができず、これにより、効率的なフィルタリング処理を行うことができないという不都合が生じ得る。
【００１２】
また、上記特許文献２，３に開示された関連技術においても、上述と同様に、大量のメッセージが発生した場合には、メッセージフィルタ部における処理負荷が高負荷となり、フィルタリング処理の性能が著しく劣化してしまうという不都合が生じ得る。
【００１３】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係るフィルタ処理管理装置は、エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、前記処理部は、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録手段と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第２のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録手段とを備えたことを特徴としている。
【００１５】
また、本発明にかかるフィルタ処理管理方法は、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としている。
【００１６】
又、本発明にかかるフィルタ処理管理プログラムは、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録機能と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としている。
【発明の効果】
【００１７】
本発明は、以上のように構成され機能するので、これによると、エージェント端末から送り込まれたメッセージに文字列に基づいてキャッシュテーブルを検索し、対応するフィルタを取得してフィルタリング処理を行う処理部が、検索特定したフィルタと文字列を対応付けてキャッシュテーブルに登録する手段と、メッセージ内に固定文字列が含まれる場合に、メッセージ内における特定位置およびフィルタ番号を対応付けて他のキャッシュテーブルに登録する手段を備えたことにより、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態にかかるフィルタ処理管理装置の一例を示すブロック図である。
【図２】図１に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの一例を示す説明図である。
【図３】図１に開示したフィルタ処理管理装置におけるキャッシュテーブルの一例を示す説明図である。
【図４】図１に開示したフィルタ処理管理装置におけるフィルタリング処理の動作処理ステップを示すフローチャートである。
【図５】図１に開示したフィルタ処理管理装置におけるキャッシュテーブルに対して登録データ、更新データを登録する動作処理ステップを示すフローチャートである。
【図６】図１に開示したフィルタ処理管理装置におけるフィルタの内容の一例、およびキャッシュ設定ファイルの内容の一例を示す説明図である。
【図７】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図８】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図９】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１０】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１１】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１２】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１３】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１４】図１に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図１５】図１に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの内容の一例を示す説明図である。
【図１６】図１に開示したフィルタ処理管理装置におけるキャッシュテーブルの登録内容の一例を示す説明図である。
【図１７】図１に開示したフィルタ処理管理装置におけるフィルタリング処理で利用されたフィルタの数に対する一定のメッセージ件数に対する処理時間を示す説明図である。
【図１８】図１に開示したフィルタ処理管理装置におけるフィルタリング処理で利用したキャッシュテーブルに一致するメッセージの件数に対する処理時間を示す説明図である。
【発明を実施するための形態】
【００１９】
［実施形態］
次に、本発明の実施形態について、その基本的構成内容を説明する。
【００２０】
本実施形態としてのエージェント監視システムは、動作状態の監視対象であるエージェント端末（６１，６２，６３，・・・，６Ｎ）それぞれから送り込まれたメッセージを取得し、予め設定されたフィルタに一致したメッセージを抽出するフィルタリング処理を行うマネージャ装置（フィルタ処理管理装置）５１と、マネージャ装置からフィルタリング処理により抽出されたメッセージをマネージャ装置から取得した場合に、このメッセージを監視用に出力表示する監視装置４１を備えた構成を有する。
【００２１】
尚、エージェント端末６１〜６Ｎはそれぞれ自己の動作状態を示すメッセージをマネージャ装置５１に対して送信するサーバ装置や端末装置などのコンピュータであるものとする。また、監視装置４１は、マネージャ装置５１から送り込まれたメッセージを出力表示するためのディスプレイ装置を備えたコンピュータ端末であるものとする。
【００２２】
マネージャ装置５１は、図１に示すように、エージェント端末６１〜６Ｎから送り込まれたメッセージを受信するメッセージ受信部２２と、メッセージ受信部２２から受け取ったメッセージの内容と、予め読み込んだフィルタとの比較処理を行い、フィルタに一致したメッセージを抽出するフィルタリング処理を行うフィルタリング処理部２１と、フィルタリング処理部２１におけるフィルタリング処理により抽出されたメッセージを監視端末４１に送信する通知処理部（監視端末への通知処理部）３１を備えている。
【００２３】
また、マネージャ装置５１は、フィルタリング処理部２１がフィルタリング処理に利用される予め設定された異なる複数のフィルタ（０１，０２，・・・，N）を記憶するフィルタブ１２と、フィルタリング処理に利用された、つまり、フィルタリング処理時にフィルタリング処理部２１に読み込まれたフィルタに係るデータをキャッシュテーブルとして記憶するフィルタ一致キャッシュテーブル部（キャッシュテーブル記憶部）１１を備えている。
【００２４】
これにより、エージェント端末等から同一のメッセージを受信した際に、フィルタリング処理部２１は、キャッシュテーブルを参照することにより、即座に一致するフィルタ識別番号を判別することが可能となる。
【００２５】
フィルタリング処理部２１は、フィルタ一致キャッシュテーブル部１１からキャッシュ設定ファイルを読み込むと共に、キャッシュ設定ファイルに記載された定義に基づきフィルタ部１２のフィルタ（０１，０２，・・・N）の読み込みを行う。
【００２６】
また、フィルタリング処理部２１は、フィルタ部１２から読み込んだフィルタとメッセージ受信部２２から渡されたメッセージの内容との比較を行い、フィルタに一致したメッセージに含まれる特定の文字列データと、メッセージ内容に一致したフィルタ番号をキャッシュテーブルに登録する。
【００２７】
ここで、フィルタリング処理部２１は、キャッシュテーブルに登録すべきメッセージ中の文字列を、キャッシュ設定ファイルに予め記載された内容（文字列データの定義情報）に基づき特定する。
【００２８】
尚、キャッシュ設定ファイルには、キャッシュテーブル登録に関する設定条件を示す情報として、キャッシュテーブル（０１〜Ｎ）それぞれに対応した設定や格納する内容が記載されているものとする（図２）。
【００２９】
尚、フィルタ一致キャッシュテーブル部１１に設定された各キャッシュテーブルには、固有テーブル番号０１，０２，・・・，Nが設定され、検索オーバーヘッドの発生を抑制するために、キャッシュテーブルは相互に階層関係が設定されているものとする。また、各キャッシュテーブル01〜Nでは、検索される文字列のバイト数が、キャッシュ設定ファイル内に予め指定されているものとする。
【００３０】
尚、本実施形態では、キャッシュの階層についても、キャッシュテーブル０２まで設定する内容としているが、更に、キャッシュテーブル０３、・・・、キャッシュテーブルＮを参照可能な下層の階層として定義する設定であってもよい。
【００３１】
本実施形態では、エージェント端末群に動作異常が発生し、この動作異常を示すメッセージがマネージャ装置５１に対して繰り返し出力された場合、実際の運用場面では、短時間に同一の異常メッセージが繰り返し送り込まれる。
【００３２】
また、通常動作状態にある他のエージェント端末等からのメッセージに対する処理を実行するがある。更に、大量に送り込まれた異常メッセージや別のエージェント等からのメッセージの大部分は、キャッシュフィルタに登録されたフィルタに一致することが想定される。
【００３３】
このとき、キャッシュテーブルに一致するメッセージの割合はかなり高いことが想定されるため、フィルタの使用頻度に偏りはなく、設定されたフィルタの使用頻度は平均化されている。つまり、各フィルタは満遍なく使用されていると考えられる。
【００３４】
また、短時間に同一の異常メッセージが送り込まれた場合の、メッセージ内容の種類は、以下に示すように、大別できる。
（１）同一文字列メッセージ
（２）日付文字列で始まり、本文は同一文字列であるメッセージ
【００３５】
本実施形態では、（１）については、キャッシュテーブル０１、（２）については、キャッシュテーブル０１、０２(２階層)を使用することにより、効率的にフィルタリング処理を行うことを可能としている。
【００３６】
フィルタ一致キャッシュテーブル部１１には、「キャッシュテーブル登録に関する設定条件を示す情報」や「キャッシュテーブルのメンテナンスに関する設定条件を示す情報」が予め記載されたキャッシュ設定ファイルが記憶されているものとする。
【００３７】
図２に、キャッシュ設定ファイルの記載内容の一例を示す。
ここでは、キャッシュテーブル０１、０２、０３、・・・、Nそれぞれの登録に関する設定情報が定義されている。
【００３８】
ここで、キャッシュテーブル０１に登録される文字列の長さは、メッセージ内の先頭からのバイト数をＸ文字とされている（Ｘは変数）。
また、キャッシュテーブル０１に対応して、キャッシュテーブル登録に関する設定項目である、先頭から検索するバイト数、先頭から読み込んだ文字列の例外登録を示す値（先頭に日付等）、メッセージが異なっても付加される可能性の高い文字列があった場合に別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【００３９】
次いで、キャッシュテーブル０２に登録される文字列のバイト数はＹ文字としている（Ｙは変数）。また、キャッシュテーブル０２に対応して、フィルタに一致した文字列部分のうちの、キャッシュテーブルに登録するバイト数、文字列の例外登録の値（先頭に日付等）、メッセージが異なっても付加される可能性の高い文字列があった場合、別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【００４０】
さらに、キャッシュテーブル０３の登録に関する設定情報としては、キャッシュテーブル０１，０２に対応する設定情報と同様の設定情報が予め記載されている。尚、キャッシュテーブル０３が使用されない場合には、定義不要とする。
【００４１】
また、キャッシュテーブルNの登録に関する設定情報においても、キャッシュテーブル０１，０２，および０３それぞれに対応する設定情報と同様、キャッシュテーブルNに関する設定が定義されているものとする。尚、キャッシュテーブルNが使用されない場合には、定義不要とする。
【００４２】
尚、キャッシュ設定ファイルには、キャッシュテーブルのメンテナンスに関する設定についても定義されているものとする。例えば、キャッシュテーブルのメンテナンスに関する設定では、図２に示すように、キャッシュテーブルをいつまで保存しておくかを示す定義が含まれるものとする。
【００４３】
更に、本実施形態におけるキャッシュ設定ファイルでは、再起動時に、一定期間使用されていないものを削除すること、決められたスケジュールに基づき一定期間使用されていないキャッシュを削除すること、キャッシュテーブルが一定量に達した場合には古いものから削除すること、自動ではキャッシュテーブル内容の更新や登録変更などのメンテナンスは行われず、ユーザが手動でメンテナンスを行うことなどが定義情報として設定されている。
【００４４】
尚、ここでは、更新メンテナンスの手法として、キャッシュから「削除」としているが、1次キャッシュ、2次キャッシュという概念を導入して、１次キャッシュ上から削除して、２次キャッシュ上に格納する設定であってもよい。
【００４５】
次に、フィルタ一致キャッシュテーブル部１１に格納された各キャッシュテーブルの内容について、図３に基づき説明する。
尚、キャッシュテーブルの各フィールドの値は、上記の「キャッシュ設定ファイル」の内容に基づき決定されるものとする。
【００４６】
各キャッシュテーブル０１，０２，・・・，Nは、図３に示すように、フィルタに一致したメッセージに含まれるＸバイトの文字列が登録されるカラム（列）、メッセージに一致したフィルタの番号登録用のカラムと、フィルタの更新日時を示すカラムを含むテーブル情報である。
また、フィルタ番号として、別のキャッシュテーブルの参照用に他のキャッシュテーブルやフィルタの格納されたメモリアドレスを示すポインタが記載されていてもよい。
【００４７】
次に、メッセージがフィルタに一致するか否かを検索判定するフィルタリング処理部２１における処理内容について説明する。
【００４８】
フィルタリング処理部２１は、メッセージ受信部２２から転送された各メッセージについて、上述のように、先頭からＸバイト数分読込む。
尚、読み込みを行う文字列の長さ（先頭からＸバイト数）については、キャッシュ設定ファイルに予め定義されているものとする。
また、フィルタリング処理部２１は、メッセージ内の文字列に一致する内容を含むフィルタ、つまりメッセージに一致したフィルタを示す項目を有するキャッシュテーブルの検索を行う。
【００４９】
さらに、フィルタリング処理部２１は、上記検索結果として、上記先頭からＸバイト数にキャッシュテーブル０１に一致するものがあった場合に、キャッシュテーブル０１に登録されているフィルタ番号のフィルタから、上記先頭からＸバイト数の文字列がフィルタに一致するか否かを判別する。
【００５０】
また、フィルタリング処理部２１は、メッセージの内容によっては、キャッシュテーブル０１からキャッシュテーブル０２、キャッシュテーブル０３・・・キャッシュテーブルＮと階層的にキャッシュテーブルの検索を行うものとする。
ここで、予め設定されたフィルタに一致した場合、キャッシュテーブルの更新日時を更新して、登録処理を終了する。
【００５１】
一方、フィルタに一致しなかった場合、フィルタリング処理部２１は、フィルタをフィルタ番号順に検索する。ただし、キャッシュテーブルにあったフィルタは検索しないものとする。ここでは、一致したフィルタをキャッシュテーブル０１に登録する。
【００５２】
尚、メッセージの内容によっては、フィルタリング処理部２１は、キャッシュテーブル01だけでなく、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNと階層別にキャッシュテーブルに登録される設定であってもよい。
【００５３】
ここで、キャッシュテーブル０１に一致するものがない場合、フィルタリング処理部２１は、フィルタを順（フィルタ０１，０２，０３・・・）に検索して、一致したフィルタをキャッシュテーブルに登録する。
【００５４】
尚、キャッシュテーブル01、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNにおけるテーブル間に階層関係が設定されている場合、フィルタリング処理部２１は、この階層関係に基づき登録するキャッシュテーブルを決定する。
【００５５】
ここで、フィルタ一致キャッシュテーブル部１１は、一定の期間以上登録使用した場合、キャッシュテーブルに多数の情報がストックされ続けることとなり、これに伴い検索性能が悪化してしまう可能性がある。
このため、フィルタリング処理部２１は、効率的な検索ができるようキャッシュテーブルの登録内容を定期的に更新することにより登録されたデータの更新メンテナンスを行うものとする。
【００５６】
尚、本実施形態におけるキャッシュ設定ファイルの定義では、キャッシュテーブル０１は、「先頭から読み込む」としているが、メッセージ内容の先頭から読み込む代わりに、メッセージ内容の文字列から先頭から数えて一定値バイト目から一定値バイト目まで」、のように、読み込みを行う文字列範囲を指定する設定であってもよい。
【００５７】
また、読み込みを行う文字列の範囲を設定可能であるものとする。ここでは、キャッシュテーブル０１だけでなく、キャッシュテーブル０２，０３，・・・，Ｎすべてで「先頭から」や「メッセージの何バイト目から何バイト目」等の設定が可能であるものとする。
【００５８】
また、本実施形態では、キャッシュテーブル０２までしかないが、実施例と同様なロジックや、拡張したロジックによって、キャッシュテーブル０３、キャッシュテーブル０４、・・・キャッシュテーブルNといったように、多数のキャッシュテーブルを使用することにより、さらに効率的なフィルタ一致処理をすることが可能となる。
【００５９】
尚、本実施形態では、各キャッシュテーブルはメッセージ受信後に処理により、登録、更新される場合について説明しているが、キャッシュテーブルの情報は別途、あらかじめインポート等により手動でも登録／更新を行う設定であってもよい。
【００６０】
具体的には、図１５に示すように、キャッシュテーブル01については、「先頭から」ではなく、「メッセージの3バイト目から5バイト目」を比較する設定であってもよい。
【００６１】
また、図１６に示すように、キャッシュ設定ファイルの「キャッシュテーブル登録に関する設定」のキャッシュテーブル０１の検索する位置 (設定例：3バイト目から検索するバイト数：X1(設定例：2バイト)までを比較する設定としてもよい。
【００６２】
以上のように、本実施形態では、受信したメッセージ内容（文字列）が、どのフィルタに一致したかを一時的なテーブル(キャッシュテーブル)に保存しておくことにより、次回以降、同一のメッセージを受信した際にこのメッセージ内容に一致するフィルタをより迅速に判別することができ、これにより、フィルタリング処理を迅速化することが可能となる。
【００６３】
また、本実施形態では、メッセージ異常発生時に多発するメッセージのパターンを考慮して、各キャッシュテーブルにはフィルタに一致するメッセージの最小限の特徴を格納し、これにより、キャッシュテーブルの検索オーバーヘッドの発生を抑制することが可能となる。
【００６４】
尚、上記実施形態において、エージェント端末（６１〜６N）側で異なる端末に係る動作異常が発生した場合、実際の運用を考慮すると、以下（１）〜（３）に示す状態の発生が想定される。
【００６５】
(1)短時間に同一の異常メッセージが繰り返し出力される。
(2)別のエージェント等からのメッセージ処理も実行する（大量出力している異常メッセージ以外も処理する必要がある）。
(3)大量出力している異常メッセージや別のエージェント等からのメッセージの大部分は、フィルタに一致する（尚、一致しないものは、マネージャではなくエージェントでフィルタリング処理などが実行されている）。
【００６６】
このため、(1)より、キャッシュテーブルに登録されたフィルタに一致するメッセージの割合が高くなること、また、(2)、(3)により、フィルタの使用頻度の偏りが軽減される、つまり、各フィルタが満遍なく使用されるようになる、ということが想定される。
【００６７】
これに対して、本実施形態では、異常を示す同一のメッセージや内容が近似するメッセージが、繰り返し出力された場合でも、短時間に同一のメッセージが大量に出力された場合でも、本発明により、フィルタリング処理効率を向上させることが可能となるので、マネージャの高負荷を防止することが可能となり、このため、フィルタリング処理を効率化することが可能になる。
【００６８】
ここで、本実施形態によるフィルタリング処理の処理時間にかかる、具体的な性能向上の見込みとしてフィルタリング処理の性能を測定した結果について説明する。
【００６９】
ここでは、上記の条件の場合、以下の５パターンについて、その性能を測定し比較する。
［１］特にフィルタ効率手法を適用しない場合（つまり、1番目から最終フィルタまで満遍なく一致するとした場合）
［２］使用頻度に基づき登録するフィルタを決定する場合
［３］使用頻度が高いフィルタを先頭にする技術を適用する場合（特開２００６−２６００５６に開示）
［４］本願によるキャッシュテーブルを使用する場合（上記「何も無し」と性能比較）
［５］本発明＋使用頻度、つまり、本発明の手法に加え、特開２００６−２６００５６に開示された手法も適用した場合 (使用頻度を利用する場合との性能比較）
【００７０】
ここで、キャッシュに一致するメッセージ件数は８０００件に固定した場合の有効フィルタ数に対する処理時間を図１７に示す。また、有効フィルタ数を１０００件とした場合の有効フィルタ数に対する処理時間についての測定結果を、図１８に示す。
【００７１】
キャッシュに一致するメッセージ件数に対する処理時間を計測した結果を示す、図１７，１８においては、メッセージ数が１００００件、フィルタ数が１５００件（このうち、メッセージに一致する有効フィルタ数が１０００件）、１番目のフィルタに一致する処理時間が１ｍｓｅｃ／件、最終のフィルタに一致する処理時間が１ｍｓｅｃ／件、キャッシュに一致するメッセージ件数が９０００件、キャッシュに一致しないメッセージ件数が１０００件、キャッシュ比較処理時間を１ｍｓｅｃ／件とする。
【００７２】
この結果、フィルタ効率手法を適用しない手法に比べて、本願では、フィルタリング処理にかかる時間にかかる性能が４７．８％向上し、関連技術である特許特開２００６−２６００５６の手法に比べても２１．７％性能向上を実現している。
【００７３】
また、本発明の手法に加えて、特許特開２００６−２６００５６に示された手法を適用した場合、上記フィルタ効率手法を適用しない方法に比べて、５１．１％の性能向上、さらに、特許特開２００６−２６００５６の手法に比べて２６．７％の性能向上が実現できる。
【００７４】
以上のように、フィルタリング処理時における有効フィルタ数が大きい、つまり、どのフィルタにも同等にヒットする場合、一般に利用されているフィルタリング処理ではフィルタの使用頻度に差がなくなるため、処理迅速化の効果が小さくなるが、本実施形態（本発明）においては、処理迅速化の効果は軽減されず、一定の効果を維持することができる。
【００７５】
また、キャッシュに一致する件数が大きい場合、つまり、ある特定のメッセージが大量に出る場合には、本実施形態では、キャッシュテーブルを利用ためより効率化されるので処理迅速化の効果が大きくなる。
【００７６】
［実施形態の動作説明］
次に、上述した構成のマネージャ装置５１のフィルタリング処理部２１における動作処理内容について説明する。
【００７７】
エージェント端末（６１〜６Ｎ）の何れかから送り込まれたメッセージを受けた場合に、フィルタリング処理部２１は、このメッセージに含まれた一定長の文字列に基づいてキャッシュテーブル０１の検索を行う（キャッシュテーブル検索工程）。
次いで、フィルタリング処理部２１は、キャッシュテーブル０１に文字列が含まれる場合に、この文字列に対応して設定されたフィルタ０１をフィルタリング処理用に取得し（フィルタ読み込み工程）、これに基づくフィルタリング処理を行う。
【００７８】
また、キャッシュテーブル内に上記文字列が含まれない場合に、フィルタリング処理部２１は、フィルタ部１２内に格納されたフィルタの検索を行い（フィルタ検索工程）、上記文字列を含むフィルタを検索特定した場合に、このフィルタを示すフィルタ特定情報および文字列を対応付けてキャッシュテーブル０１に登録する（第１キャッシュ登録工程）。
【００７９】
また、フィルタを検索特定した際に、メッセージ内における特定位置に予め定められた固定文字列が含まれる場合には、上記特定位置およびフィルタ特定情報を対応付けてキャッシュテーブル０２に登録し、且つ固定文字列を含むメッセージのフィルタ検索先としてキャッシュテーブル０２を示すポインタ情報と上記一定長の文字列とを対応付け、キャッシュテーブル０１に登録する（第２キャッシュ登録工程）。
【００８０】
ここで、上記キャッシュテーブル検索工程、フィルタ読み込み工程、フィルタ検索工程、第１キャッシュ登録工程、および第２キャッシュ登録工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
また、本プログラムは、非一時的な記憶媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【００８１】
次に、本実施形態であるマネージャ装置５１が備えたフィルタリング処理部２１の動作について、図４のフローチャートに基づき説明する。
【００８２】
フィルタリング処理部２１は、エージェント端末（６１〜６Ｎ）それぞれからメッセージが送り込まれた場合に（ステップＳ４１）、このメッセージにおける先頭からＸバイト分読込み、フィルタ一致キャッシュテーブル部１１のキャッシュテーブル０１〜Ｎの何れかに一致するか否かを検索判定する（ステップＳ４２）。
【００８３】
ここで、キャッシュテーブルに一致するものがある場合（Ｙ：ステップＳ４２）、フィルタリング処理部２１は、上記Ｘバイト分の文字列が一致したキャッシュテーブル内に登録されたフィルタ番号のフィルタ（該当のフィルタ）にメッセージ内の上記Ｘバイト分の文字列が一致するか否かを調べる（ステップＳ４３）。
【００８４】
一方、キャッシュテーブルに一致するものがない場合（Ｎ：ステップＳ４２）、フィルタリング処理部２１は、予め設定されたフィルタ０１、０２、・・・、Ｎを順に検索し（ステップＳ４５）、一致したフィルタをキャッシュテーブルに登録する（ステップＳ４６）。
【００８５】
ここで、フィルタに一致しなかった場合（Ｎ：ステップＳ４３）、フィルタ０１、０２、・・・、Ｎを順に検索し（フィルタを順に検索：ステップＳ４４）、一致したフィルタをキャッシュテーブルに登録する（ステップＳ４６）。
尚、ステップＳ４４では、キャッシュテーブル上に登録されたフィルタの検索は行わないものとする。
次いで、フィルタリング処理部２１は、通常動作状態のエージェント端末等から送り込まれた、他のメッセージに対応した処理を行う（ステップＳ４７）。
【００８６】
次に、フィルタリング処理部２１が、フィルタに一致したメッセージ内容、メッセージ位置（メッセージ内における文字列の位置）、フィルタ番号、登録／更新日時をキャッシュテーブルに保存する処理動作について、図５のフローチャートに基づき説明する。
【００８７】
まず、メッセージ内の予め設定された範囲内の文字列がフィルタに一致した場合（ステップＳ５１）、フィルタリング処理部２１は、メッセージ内における先頭のＸバイト分の文字列が、予め設定された例外文字列に一致するか否かを判定する（ステップＳ５２）。
【００８８】
ここで、文字列が例外文字列に一致する場合（すなわち、例外処理であると判定される場合）、フィルタリング処理部２１は、キャッシュテーブル０１に対して、上記先頭Ｘバイトの文字列、キャッシュテーブル０２を参照先として示すポインタ情報、およびキャッシュテーブル０１に対して登録処理を行った日時を更新日時として登録する。
尚、上記ポインタ情報は、キャッシュテーブル０２が格納されたメモリ位置（メモリアドレス）を示すものとする。
【００８９】
次いで、フィルタリング処理部２１は、ポインタ情報に示された位置に格納されたキャッシュテーブル０２に対して、文字列の位置（メッセージ内における先頭からのバイト数）、文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル０２に対して登録・更新処理を行った更新日時を登録する（ステップＳ５４）。
【００９０】
一方、メッセージ内の予め設定された範囲内の文字列がフィルタに一致しなかった場合（Ｎ：ステップＳ５２）、フィルタリング処理部２１は、キャッシュテーブル０１に対して、先頭Ｘバイトの文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル０１に対する更新日時を登録する（ステップＳ５５）。
【００９１】
次に、フィルタリング処理部２１によるキャッシュテーブル登録処理について、具体的に説明する。
ここでは、フィルタ部１２に設定された各フィルタ０１、０２、〜、Ｎそれぞれと、キャッシュテーブルの登録にかかる条件情報を含むキャッシュ設定ファイルとが、図６に示すように、設定されているものとする。
【００９２】
ここで、フィルタリング処理部２１は、このキャッシュ設定ファイルの内容に基づき、フィルタに係る情報をキャッシュテーブル０１，０２への登録／更新に登録する処理（キャッシュテーブル登録処理）を行う。
尚、このとき、キャッシュテーブル登録処理の初期段階では、キャッシュテーブル０１〜Ｎにおける各項目はすべて空の状態であるものとする。
【００９３】
まず、フィルタリング処理部２１は、メッセージ受信部２２からメッセージ「1.3.6.1.4.1.232.0.18005 ： Link Down args:Network」（図７）を受け取る。
このとき、フィルタリング処理部２１はキャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１を検索し、この文字列がキャッシュテーブル０１内に含まれるか否かを判定する。
【００９４】
ここで、この２バイト文字列がキャッシュテーブル０１には含まれないので、続いて、フィルタリング処理部２１は、読み込んだ２バイトの文字列に基づいて、フィルタを先頭から順(1番からN番の順)に検索する。
【００９５】
ここで、読み込んだ２バイトの文字列がフィルタ０１に一致する。このため、フィルタリング処理部２１は、先頭の２バイト文字が例外登録済みか否かを判定する。
【００９６】
ここでは、先頭の２バイト文字は例外登録済みではないので、フィルタリング処理部２１はキャッシュテーブル０１に対して、先頭からＸバイトの文字列、一致したフィルタのフィルタ番号、および更新日時をそれぞれ登録する。これにより、図７の新規追加内容（点線枠内）がキャッシュテーブル０１追加登録される。
【００９７】
次に、フィルタリング処理部２１が、メッセージ受信部２２からメッセージ「1.3.6.1.4.1.232.0. 3029 ： Power Down args:Network」（図８）を受け取る。
ここでも、フィルタリング処理部２１はキャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【００９８】
ここで、先頭２バイトの文字はキャッシュテーブル０１の１行目に含まれるので、フィルタリング処理部２１は、これ（１行目）に対応するフィルタ０１（図６）を検索する。
【００９９】
先頭の２バイト文字列がフィルタ０１に一致しない場合、フィルタリング処理部２１は、フィルタ番号順に、フィルタ０２、フィルタ０３、・・・フィルタＮそれぞれに対して先頭２バイトの文字列検索を行う。
【０１００】
ここでは、先頭の２バイト文字列がフィルタ０２（図６）に一致する。
次いで、フィルタ処理部２１は、先頭の２バイト文字が例外登録済みであるか否かの判定を行う。
ここで、先頭の２バイト文字は例外登録済みではないため、フィルタリング処理部２１は、一致したフィルタのフィルタ番号、および更新日時をキャッシュテーブル０１にそれぞれ登録する。これにより、図８の新規追加内容（点線枠内）がキャッシュテーブル０１追加登録される。
【０１０１】
尚、先頭Ｘバイトの文字列は既にキャッシュテーブル０１に登録済みのもの（１．）と同一なので更新は行わない。
【０１０２】
次いで、フィルタリング処理部２１がメッセージ受信部２２からメッセージ「1.3.6.1.4.1.232.0. 3029 ： Power Down args:Network」（図９）を受け取る。
ここでも、フィルタリング処理部２１はキャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１０３】
ここでは、この２バイト文字列がキャッシュテーブル０１の1行目に含まれるので、
フィルタリング処理部２１は、該当するフィルタ番号（０１，０２）に対応するフィルタ０１，０２（図６）をそれぞれ検索する。
【０１０４】
このとき、メッセージの先頭２倍との文字列はフィルタ０１に一致するので、フィルタリング処理部２１は、キャッシュテーブル０１の更新日時を更新する。
尚、フィルタリング処理部２１は先頭Ｘバイトの文字列、およびフィルタ番号は既にキャッシュテーブル０１に登録済みであるため更新を行わない。
【０１０５】
次に、メッセージ受信部２２からメッセージ「1.3.6.1.4.1.232.0.3029 ： Power Down args:Network」（図１０）を受け取った場合、フィルタリング処理部２１は、キャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１０６】
ここで、この２バイト文字列がキャッシュテーブル０１には含まれないので、続いて、フィルタリング処理部２１は、読み込んだ２バイトの文字列に基づいて、フィルタ部１２のフィルタを先頭から順(1〜Ｎ番の順)に検索する。
【０１０７】
ここでは、読み込んだ２バイトの文字列がフィルタ０７に一致する。このとき、フィルタリング処理部２１は、先頭から３３バイト目の「ＳＲＣ：ＡＡ」がフィルタ条件にある固定文字列に一致したことを記憶する。
【０１０８】
次いで、フィルタリング処理部２１は、先頭の２バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み（先頭から読み込んだ文字列の例外登録：２０（図６））であるため、フィルタリング処理部２１は、キャッシュテーブル０１に、先頭Ｘバイトの文字列に「２０」を、そして、一致したフィルタ番号、更新日時をそれぞれ新規追加登録する。
【０１０９】
また、フィルタリング処理部２１は、２バイトの文字列がフィルタ０７に一致した時に記憶した内容（該当の文字列の先頭からのバイト数：３３、文字列：ＳＲＣ、フィルタ番号：０７、更新日時：２０１０／２／１）をそれぞれキャッシュテーブル０２に対して新規追加登録する。これにより、図１０の新規追加内容（点線枠内）がキャッシュテーブル０２追加登録される。
【０１１０】
次に、メッセージ受信部２２からメッセージ「2010/2/2 14:30:05 Node:hostname ＳＲＣ：ＡＡ Apprication 00024-Warning MSG」（図１１）を受け取った場合、フィルタリング処理部２１は、キャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１１１】
ここで、２バイト文字列がキャッシュテーブル０１の２行目に含まれる（「２０」）ので、
フィルタリング処理部２１は、該当するキャッシュテーブル０２を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部２１は、キャッシュテーブル０２における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる（すなわち、先頭から３３バイト目が「ＳＲＣ」であるか否かを検索）。
【０１１２】
ここでは、先頭から３３バイト目が「ＳＲＣ」に一致するので、フィルタリング処理部２１は、この２バイト文字列に基づき、該当のフィルタ０７を検索する。
ここで、この２バイト文字列がフィルタ０７には含まれないので、フィルタリング処理部２１は、読み込んだ２バイトの文字列に基づきフィルタ部１２におけるフィルタ０７以外のフィルタを先頭から順(1〜Ｎ番の順)に検索する。
【０１１３】
ここで、読み込んだ２バイトの文字列がフィルタ０９に一致する。このとき、フィルタリング処理部２１は、先頭から３３バイト目の「ＳＲＣ：ＡＡ」がフィルタ条件にある固定文字列に一致したことを記憶する。
次いで、フィルタリング処理部２１は、先頭の２バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み（先頭から読み込んだ文字列の例外登録：２０（図６））であるため、フィルタリング処理部２１は、キャッシュテーブル０１の更新日時を更新する。
【０１１４】
また、フィルタリング処理部２１は、２バイトの文字列がフィルタ０９に一致した時に記憶した内容（該当の文字列の先頭からのバイト数：３３、文字列：ＳＲＣ、フィルタ番号：０９、更新日時：２０１０／２／２）をそれぞれキャッシュテーブル０２に対して登録、する。これにより、図１０の新規追加内容（点線枠内）がキャッシュテーブル０２に登録される。このため、キャッシュテーブル０２のフィルタ番号カラムにフィルタ番号「０９」が新規登録され、更新日時が「２０１０／２／２」に更新される。
【０１１５】
次に、メッセージ受信部２２からメッセージ「2010/2/3 14:30:05 Node:hostname ＳＲＣ：ＡＡ Apprication 00024-Warning MSG」（図１２）を受け取った場合、フィルタリング処理部２１は、キャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１１６】
ここで、２バイト文字列の先頭文字列「２０」がキャッシュテーブル０１の２行目に含まれるので、フィルタリング処理部２１は、これに該当するキャッシュテーブル０２を、上記読込んだ２バイト文字列に基づき検索する。
このとき、フィルタリング処理部２１は、キャッシュテーブル０２における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ２バイト文字列と一致するか否かを調べる（すなわち、先頭から３３バイト目が「ＳＲＣ」であるか否かを検索）。
【０１１７】
ここでは、先頭から３３バイト目が「ＳＲＣ」に一致するので、フィルタリング処理部２１は、この２バイト文字列に基づき、該当のフィルタ０７，および０９を検索する。
【０１１８】
ここで、読み込んだ２バイトの文字列がフィルタ０９に一致する。このとき、フィルタリング処理部２１は、先頭から３３バイト目の「ＳＲＣ：ＡＡ」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部２１は、先頭の２バイト文字が例外登録済みであるか否かを判定する。ここでは、例外登録済み（先頭から読み込んだ文字列の例外登録：２０（図６））であるため、フィルタリング処理部２１は、キャッシュテーブル０１の更新日時をそれぞれ更新する（（図１２）キャッシュテーブル０１の内容：２０１０／２／３）。
【０１１９】
また、フィルタリング処理部２１は、２バイトの文字列がフィルタ０９に一致した時に記憶した内容（該当の文字列の先頭からのバイト数：３３、文字列：ＳＲＣ、フィルタ番号：０９、更新日時：２０１０／２／３）をそれぞれキャッシュテーブル０２に対して登録、する。
これにより、図１２の新規追加内容（点線枠内）がキャッシュテーブル０２に登録される。このため、キャッシュテーブル０２の更新日時が「２０１０／２／２」に更新される。
【０１２０】
次に、メッセージ受信部２２からメッセージ「2010/2/3 14:30:05 Node:hostname ＳＲＣ：ＡＡ Apprication 00024-Warning MSG」（図１３）を受け取った場合、フィルタリング処理部２１は、キャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１２１】
ここで、２バイト文字列の先頭文字列「２０」がキャッシュテーブル０１の２行目に含まれるので、フィルタリング処理部２１は、これに該当するキャッシュテーブル０２を、上記読込んだ２バイト文字列に基づき検索する。
このとき、フィルタリング処理部２１は、キャッシュテーブル０２における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ２バイト文字列と一致するか否かを調べる（すなわち、先頭から３３バイト目が「ＳＲＣ」であるか否かを検索）。
【０１２２】
ここでは、先頭から３３バイト目が「ＳＲＣ」に一致しないため、すなわち、先頭３４バイト目が「ＳＲＣ」であるため、フィルタリング処理部２１は、２バイト文字列に基づき、フィルタ部１２のフィルタをフィルタ０１から順に検索する。
【０１２３】
ここで、２バイトの文字列はフィルタ０７に一致する。このとき、フィルタリング処理部２１は、先頭から３４バイト目の「ＳＲＣ：ＡＡ」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部２１は、キャッシュテーブル０１の更新日時を更新する（（図１２）キャッシュテーブル０１の内容：２０１０／２／１２）と共に、２バイトの文字列がフィルタ０７に一致した時に記憶した内容（該当の文字列の先頭からのバイト数：３４、文字列：ＳＲＣ、フィルタ番号：０７、更新日時：２０１０／２／１２）をそれぞれキャッシュテーブル０２に対して新規追加登録する。
これにより、図１２の新規追加内容（点線枠内）がキャッシュテーブル０２に登録される。
【０１２４】
次に、メッセージ受信部２２からメッセージ「2010/2/20 14:30:05 Node:hostnam ＳＲＣ：ＡＡ Apprication 00024-Info MSG」（図１４）を受け取った場合、フィルタリング処理部２１は、キャッシュ設定ファイル内容（図６）にある定義（「先頭から検索するバイト数：２」）に基づき、メッセージから先頭２バイトの文字列を読み込み、この２バイトの文字列に基づきキャッシュテーブル０１の検索を行う。
【０１２５】
ここで、２バイト文字列の先頭文字列「２０」がキャッシュテーブル０１の２行目に含まれるので、フィルタリング処理部２１は、この２行目に対応するキャッシュテーブル０２を上記読込んだ２バイト文字列に基づき検索する。
このとき、フィルタリング処理部２１は、キャッシュテーブル０２における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ２バイト文字列と一致するか否かを調べる（すなわち、先頭から３３バイト目が「ＳＲＣ」であるか否か、先頭から３４バイト目が「ＳＲＣ」であるか否かを検索）。
【０１２６】
ここでは、先頭から３３バイト目が「ＳＲＣ」に一致するので、フィルタリング処理部２１は、この２バイト文字列に基づき該当（キャッシュテーブル０２に基づく）のフィルタ０７，および０９を検索する。
【０１２７】
ここで、読み込んだ２バイトの文字列がフィルタ０７に一致する。このとき、フィルタリング処理部２１は、先頭から３３バイト目の「ＳＲＣ：ＡＡ」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部２１は、キャッシュテーブル０１の更新日時を更新する（（図１２）キャッシュテーブル０１の内容：２０１０／２／２０）。
【０１２８】
また、フィルタリング処理部２１は、２バイトの文字列がフィルタ０７に一致した時に記憶した内容（該当の文字列の先頭からのバイト数：３３、文字列：ＳＲＣ、フィルタ番号：０９、更新日時：２０１０／２／２０）をそれぞれキャッシュテーブル０２に対して登録、する。
これにより、図１２の新規追加内容（点線枠内）がキャッシュテーブル０２に登録される。このため、キャッシュテーブル０２の更新日時が「２０１０／２／２０」に更新される。
【０１２９】
以上のように、本実施形態では、メッセージが一致したフィルタを示す情報をキャッシュテーブルとしてフィルタ一致キャッシュテーブル部１１に登録する。これにより、以降、キャッシュテーブルとして保存したメッセージと同一のメッセージを受信した場合に、フィルタリング処理部２１は、このキャッシュテーブルを参照することにより一致するフィルタを迅速に特定することができ、このため、大量にメッセージが送り込まれた場合でも、適切なフィルタリング処理を迅速に行うことが可能となる。
【０１３０】
また、本実施形態では、マネージャ装置５１のフィルタリング処理に係る処理負荷が高負荷になるのを有効に抑制することができるため、メッセージ遅延が生じるのを有効に抑制することが可能となる。
特に、エージェント端末（６１〜６Ｎ）で動作異常が発生した場合には、動作異常内容を示す同一のメッセージが大量に送り込まれるため、短時間に同一のメッセージが大量に出力されるが、本実施形態では、この場合でもフィルタリング処理効率を向上させることが可能となるので、効率的なフィルタリング処理を行うことができる。
【０１３１】
上述の実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【０１３２】
（付記１）
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第２のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【０１３３】
（付記２）
付記１に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【０１３４】
（付記３）
付記１に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第２のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【０１３５】
（付記４）
付記１に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第２のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【０１３６】
（付記５）
付記１に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【０１３７】
（付記６）
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【０１３８】
（付記７）
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第１キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第２のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第２のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第２キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【産業上の利用可能性】
【０１３９】
本発明は、データセンターなどに設けられた異なる複数のサーバの動作状態を監視するサーバ動作監視システムに対して有効に適用することができる。
【符号の説明】
【０１４０】
１１  フィルタ一致キャッシュテーブル保持部
１２  フィルタ保持部
１３  キャッシュ設定ファイル記憶部
２１  フィルタリング処理部
２２  メッセージ受信部
３１  監視端末への通知処理部
４１  監視端末
５１  マネージャ装置
６１，６２，６３，・・・，６Ｎ  エージェント端末
【図１】
0005772246.tif 000002
【図２】
0005772246.tif 000003
【図３】
0005772246.tif 000004
【図４】
0005772246.tif 000005
【図５】
0005772246.tif 000006
【図６】
0005772246.tif 000007
【図７】
0005772246.tif 000008
【図８】
0005772246.tif 000009
【図９】
0005772246.tif 000010
【図１０】
0005772246.tif 000011
【図１１】
0005772246.tif 000012
【図１２】
0005772246.tif 000013
【図１３】
0005772246.tif 000014
【図１４】
0005772246.tif 000015
【図１５】
0005772246.tif 000016
【図１６】
0005772246.tif 000017
【図１７】
0005772246.tif 000018
【図１８】
0005772246.tif 000019