フィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラム
【課題】送り込まれたメッセージに対するフィルタリング処理を迅速に行う。
【解決手段】エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいてキャッシュテーブルを検索し、文字列に対応して設定されたフィルタを取得してフィルタリング処理を行うフィルタリング処理部21が、上記文字列を含むフィルタを検索特定した場合に、このフィルタと文字列を対応付けてキャッシュテーブル01に登録し、キャッシュ設定ファイルに設定されたメッセージ内の特定位置に固定文字列が含まれる場合に、この特定位置およびフィルタ番号を対応付けてキャッシュテーブル02に登録する。また、固定文字列を含むメッセージのフィルタ検索先としてキャッシュテーブル02を示すポインタ情報と固定文字列とを対応付けてキャッシュテーブル01に登録する。
【解決手段】エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいてキャッシュテーブルを検索し、文字列に対応して設定されたフィルタを取得してフィルタリング処理を行うフィルタリング処理部21が、上記文字列を含むフィルタを検索特定した場合に、このフィルタと文字列を対応付けてキャッシュテーブル01に登録し、キャッシュ設定ファイルに設定されたメッセージ内の特定位置に固定文字列が含まれる場合に、この特定位置およびフィルタ番号を対応付けてキャッシュテーブル02に登録する。また、固定文字列を含むメッセージのフィルタ検索先としてキャッシュテーブル02を示すポインタ情報と固定文字列とを対応付けてキャッシュテーブル01に登録する。
【発明の詳細な説明】
【技術分野】
【0001】
外部から送り込まれたメッセージのフィルタリング処理を行うフィルタ処理管理装置に関する。
【背景技術】
【0002】
異なる複数のエージェント端末からなるエージェント群から送り込まれたメッセージについて、予め設定されたフィルタ内容に合致するメッセージを抽出するフィルタリング処理を行うマネージャ装置と、マネージャ装置でフィルタリング処理されたメッセージを監視する監視端末を備え、エージェント群における動作異常等を監視するエージェント監視システムが利用されている。
【0003】
マネージャ装置におけるフィルタリング処理では、エージェント端末からメッセージを受信した際に、このメッセージ内容に一致するフィルタを迅速に判別し、読み込んだフィルタに基づいて監視端末に通知すべきメッセージを抽出する処理が行われる。
【0004】
しかしながら、エージェント端末から単位時間あたり一定量以上のメッセージが送り込まれた場合には、マネージャ装置におけるフィルタリング処理に係る処理負荷が一定以上に高まった高負荷状態となり、これにより、メッセージをリアルタイムに処理できないといった状態が発生し得る。
【0005】
特に、エージェント群側で異なるエージェント端末に係るシステム異常が発生した場合には、エージェント端末からマネージャ装置に対してシステム異常や動作エラー等を示すメッセージが大量に、かつ繰り返し出力される。
【0006】
この場合、マネージャ装置には、短時間に同一のメッセージが大量に送り込まれるため、メッセージに対するフィルタリング処理をリアルタイムに行うことができず、これにより、重大なシステム異常や動作エラーを示すメッセージが監視端末に通知されるのが遅延してしまうといったことが生じ得る。
また、この場合、監視側でシステム障害を検知するのが遅れてしまい、また、重大なシステム異常に対する対応、対処が遅れてしまうといった不都合が生じ得る。
【0007】
また、マネージャ装置が高負荷状態となった場合、通常動作状態のエージェント端末等から送り込まれたメッセージの処理にも遅延が発生してしまうといった不都合がある。
【0008】
これに対する関連技術として、予め設定されたスケジュールに基づきフィルタの順序入れ替えを行うと共に、各フィルタの使用頻度に応じてフィルタの優先度を設定するシステムが開示されている(特許文献1)。
【0009】
また、上記内容に対する関連技術として、送り込まれたメッセージに対して適切なフィルタを選択しフィルタリング処理を行うメッセージフィルタ部を備えた装置が開示されている(特許文献2)。
さらに、上記内容に対する関連技術として、複数のフィルタの冗長を検出してフィルタ修正を行うシステムが開示されている(特許文献3)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2006−260056号公報
【特許文献2】特開2009−211113号公報
【特許文献3】特開2009−217392号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記特許文献1に開示された関連技術では、一定時間内に同一のメッセージが大量に送り込まれた場合には、フィルタの適切な順序入れ替えが実行されないため、送り込まれたメッセージに対してリアルタイムにフィルタリング処理を行うことができないという不都合がある。
また、不定な条件(時間)ごとに使用頻度の高いフィルタが変化するので、フィルタの使用頻度が同じ場合などには、適切なフィルタ順序の入れ替えができず、これにより、効率的なフィルタリング処理を行うことができないという不都合が生じ得る。
【0012】
また、上記特許文献2,3に開示された関連技術においても、上述と同様に、大量のメッセージが発生した場合には、メッセージフィルタ部における処理負荷が高負荷となり、フィルタリング処理の性能が著しく劣化してしまうという不都合が生じ得る。
【0013】
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、本発明に係るフィルタ処理管理装置は、エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、前記処理部は、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴としている。
【0015】
また、本発明にかかるフィルタ処理管理方法は、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としている。
【0016】
又、本発明にかかるフィルタ処理管理プログラムは、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としている。
【発明の効果】
【0017】
本発明は、以上のように構成され機能するので、これによると、エージェント端末から送り込まれたメッセージに文字列に基づいてキャッシュテーブルを検索し、対応するフィルタを取得してフィルタリング処理を行う処理部が、検索特定したフィルタと文字列を対応付けてキャッシュテーブルに登録する手段と、メッセージ内に固定文字列が含まれる場合に、メッセージ内における特定位置およびフィルタ番号を対応付けて他のキャッシュテーブルに登録する手段を備えたことにより、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態にかかるフィルタ処理管理装置の一例を示すブロック図である。
【図2】図1に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの一例を示す説明図である。
【図3】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルの一例を示す説明図である。
【図4】図1に開示したフィルタ処理管理装置におけるフィルタリング処理の動作処理ステップを示すフローチャートである。
【図5】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルに対して登録データ、更新データを登録する動作処理ステップを示すフローチャートである。
【図6】図1に開示したフィルタ処理管理装置におけるフィルタの内容の一例、およびキャッシュ設定ファイルの内容の一例を示す説明図である。
【図7】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図8】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図9】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図10】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図11】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図12】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図13】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図14】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図15】図1に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの内容の一例を示す説明図である。
【図16】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルの登録内容の一例を示す説明図である。
【図17】図1に開示したフィルタ処理管理装置におけるフィルタリング処理で利用されたフィルタの数に対する一定のメッセージ件数に対する処理時間を示す説明図である。
【図18】図1に開示したフィルタ処理管理装置におけるフィルタリング処理で利用したキャッシュテーブルに一致するメッセージの件数に対する処理時間を示す説明図である。
【発明を実施するための形態】
【0019】
[実施形態]
次に、本発明の実施形態について、その基本的構成内容を説明する。
【0020】
本実施形態としてのエージェント監視システムは、動作状態の監視対象であるエージェント端末(61,62,63,・・・,6N)それぞれから送り込まれたメッセージを取得し、予め設定されたフィルタに一致したメッセージを抽出するフィルタリング処理を行うマネージャ装置(フィルタ処理管理装置)51と、マネージャ装置からフィルタリング処理により抽出されたメッセージをマネージャ装置から取得した場合に、このメッセージを監視用に出力表示する監視装置41を備えた構成を有する。
【0021】
尚、エージェント端末61〜6Nはそれぞれ自己の動作状態を示すメッセージをマネージャ装置51に対して送信するサーバ装置や端末装置などのコンピュータであるものとする。また、監視装置41は、マネージャ装置51から送り込まれたメッセージを出力表示するためのディスプレイ装置を備えたコンピュータ端末であるものとする。
【0022】
マネージャ装置51は、図1に示すように、エージェント端末61〜6Nから送り込まれたメッセージを受信するメッセージ受信部22と、メッセージ受信部22から受け取ったメッセージの内容と、予め読み込んだフィルタとの比較処理を行い、フィルタに一致したメッセージを抽出するフィルタリング処理を行うフィルタリング処理部21と、フィルタリング処理部21におけるフィルタリング処理により抽出されたメッセージを監視端末41に送信する通知処理部(監視端末への通知処理部)31を備えている。
【0023】
また、マネージャ装置51は、フィルタリング処理部21がフィルタリング処理に利用される予め設定された異なる複数のフィルタ(01,02,・・・,N)を記憶するフィルタブ12と、フィルタリング処理に利用された、つまり、フィルタリング処理時にフィルタリング処理部21に読み込まれたフィルタに係るデータをキャッシュテーブルとして記憶するフィルタ一致キャッシュテーブル部(キャッシュテーブル記憶部)11を備えている。
【0024】
これにより、エージェント端末等から同一のメッセージを受信した際に、フィルタリング処理部21は、キャッシュテーブルを参照することにより、即座に一致するフィルタ識別番号を判別することが可能となる。
【0025】
フィルタリング処理部21は、フィルタ一致キャッシュテーブル部11からキャッシュ設定ファイルを読み込むと共に、キャッシュ設定ファイルに記載された定義に基づきフィルタ部12のフィルタ(01,02,・・・N)の読み込みを行う。
【0026】
また、フィルタリング処理部21は、フィルタ部12から読み込んだフィルタとメッセージ受信部22から渡されたメッセージの内容との比較を行い、フィルタに一致したメッセージに含まれる特定の文字列データと、メッセージ内容に一致したフィルタ番号をキャッシュテーブルに登録する。
【0027】
ここで、フィルタリング処理部21は、キャッシュテーブルに登録すべきメッセージ中の文字列を、キャッシュ設定ファイルに予め記載された内容(文字列データの定義情報)に基づき特定する。
【0028】
尚、キャッシュ設定ファイルには、キャッシュテーブル登録に関する設定条件を示す情報として、キャッシュテーブル(01〜N)それぞれに対応した設定や格納する内容が記載されているものとする(図2)。
【0029】
尚、フィルタ一致キャッシュテーブル部11に設定された各キャッシュテーブルには、固有テーブル番号01,02,・・・,Nが設定され、検索オーバーヘッドの発生を抑制するために、キャッシュテーブルは相互に階層関係が設定されているものとする。また、各キャッシュテーブル01〜Nでは、検索される文字列のバイト数が、キャッシュ設定ファイル内に予め指定されているものとする。
【0030】
尚、本実施形態では、キャッシュの階層についても、キャッシュテーブル02まで設定する内容としているが、更に、キャッシュテーブル03、・・・、キャッシュテーブルNを参照可能な下層の階層として定義する設定であってもよい。
【0031】
本実施形態では、エージェント端末群に動作異常が発生し、この動作異常を示すメッセージがマネージャ装置51に対して繰り返し出力された場合、実際の運用場面では、短時間に同一の異常メッセージが繰り返し送り込まれる。
【0032】
また、通常動作状態にある他のエージェント端末等からのメッセージに対する処理を実行するがある。更に、大量に送り込まれた異常メッセージや別のエージェント等からのメッセージの大部分は、キャッシュフィルタに登録されたフィルタに一致することが想定される。
【0033】
このとき、キャッシュテーブルに一致するメッセージの割合はかなり高いことが想定されるため、フィルタの使用頻度に偏りはなく、設定されたフィルタの使用頻度は平均化されている。つまり、各フィルタは満遍なく使用されていると考えられる。
【0034】
また、短時間に同一の異常メッセージが送り込まれた場合の、メッセージ内容の種類は、以下に示すように、大別できる。
(1)同一文字列メッセージ
(2)日付文字列で始まり、本文は同一文字列であるメッセージ
【0035】
本実施形態では、(1)については、キャッシュテーブル01、(2)については、キャッシュテーブル01、02(2階層)を使用することにより、効率的にフィルタリング処理を行うことを可能としている。
【0036】
フィルタ一致キャッシュテーブル部11には、「キャッシュテーブル登録に関する設定条件を示す情報」や「キャッシュテーブルのメンテナンスに関する設定条件を示す情報」が予め記載されたキャッシュ設定ファイルが記憶されているものとする。
【0037】
図2に、キャッシュ設定ファイルの記載内容の一例を示す。
ここでは、キャッシュテーブル01、02、03、・・・、Nそれぞれの登録に関する設定情報が定義されている。
【0038】
ここで、キャッシュテーブル01に登録される文字列の長さは、メッセージ内の先頭からのバイト数をX文字とされている(Xは変数)。
また、キャッシュテーブル01に対応して、キャッシュテーブル登録に関する設定項目である、先頭から検索するバイト数、先頭から読み込んだ文字列の例外登録を示す値(先頭に日付等)、メッセージが異なっても付加される可能性の高い文字列があった場合に別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【0039】
次いで、キャッシュテーブル02に登録される文字列のバイト数はY文字としている(Yは変数)。また、キャッシュテーブル02に対応して、フィルタに一致した文字列部分のうちの、キャッシュテーブルに登録するバイト数、文字列の例外登録の値(先頭に日付等)、メッセージが異なっても付加される可能性の高い文字列があった場合、別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【0040】
さらに、キャッシュテーブル03の登録に関する設定情報としては、キャッシュテーブル01,02に対応する設定情報と同様の設定情報が予め記載されている。尚、キャッシュテーブル03が使用されない場合には、定義不要とする。
【0041】
また、キャッシュテーブルNの登録に関する設定情報においても、キャッシュテーブル01,02,および03それぞれに対応する設定情報と同様、キャッシュテーブルNに関する設定が定義されているものとする。尚、キャッシュテーブルNが使用されない場合には、定義不要とする。
【0042】
尚、キャッシュ設定ファイルには、キャッシュテーブルのメンテナンスに関する設定についても定義されているものとする。例えば、キャッシュテーブルのメンテナンスに関する設定では、図2に示すように、キャッシュテーブルをいつまで保存しておくかを示す定義が含まれるものとする。
【0043】
更に、本実施形態におけるキャッシュ設定ファイルでは、再起動時に、一定期間使用されていないものを削除すること、決められたスケジュールに基づき一定期間使用されていないキャッシュを削除すること、キャッシュテーブルが一定量に達した場合には古いものから削除すること、自動ではキャッシュテーブル内容の更新や登録変更などのメンテナンスは行われず、ユーザが手動でメンテナンスを行うことなどが定義情報として設定されている。
【0044】
尚、ここでは、更新メンテナンスの手法として、キャッシュから「削除」としているが、1次キャッシュ、2次キャッシュという概念を導入して、1次キャッシュ上から削除して、2次キャッシュ上に格納する設定であってもよい。
【0045】
次に、フィルタ一致キャッシュテーブル部11に格納された各キャッシュテーブルの内容について、図3に基づき説明する。
尚、キャッシュテーブルの各フィールドの値は、上記の「キャッシュ設定ファイル」の内容に基づき決定されるものとする。
【0046】
各キャッシュテーブル01,02,・・・,Nは、図3に示すように、フィルタに一致したメッセージに含まれるXバイトの文字列が登録されるカラム(列)、メッセージに一致したフィルタの番号登録用のカラムと、フィルタの更新日時を示すカラムを含むテーブル情報である。
また、フィルタ番号として、別のキャッシュテーブルの参照用に他のキャッシュテーブルやフィルタの格納されたメモリアドレスを示すポインタが記載されていてもよい。
【0047】
次に、メッセージがフィルタに一致するか否かを検索判定するフィルタリング処理部21における処理内容について説明する。
【0048】
フィルタリング処理部21は、メッセージ受信部22から転送された各メッセージについて、上述のように、先頭からXバイト数分読込む。
尚、読み込みを行う文字列の長さ(先頭からXバイト数)については、キャッシュ設定ファイルに予め定義されているものとする。
また、フィルタリング処理部21は、メッセージ内の文字列に一致する内容を含むフィルタ、つまりメッセージに一致したフィルタを示す項目を有するキャッシュテーブルの検索を行う。
【0049】
さらに、フィルタリング処理部21は、上記検索結果として、上記先頭からXバイト数にキャッシュテーブル01に一致するものがあった場合に、キャッシュテーブル01に登録されているフィルタ番号のフィルタから、上記先頭からXバイト数の文字列がフィルタに一致するか否かを判別する。
【0050】
また、フィルタリング処理部21は、メッセージの内容によっては、キャッシュテーブル01からキャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNと階層的にキャッシュテーブルの検索を行うものとする。
ここで、予め設定されたフィルタに一致した場合、キャッシュテーブルの更新日時を更新して、登録処理を終了する。
【0051】
一方、フィルタに一致しなかった場合、フィルタリング処理部21は、フィルタをフィルタ番号順に検索する。ただし、キャッシュテーブルにあったフィルタは検索しないものとする。ここでは、一致したフィルタをキャッシュテーブル01に登録する。
【0052】
尚、メッセージの内容によっては、フィルタリング処理部21は、キャッシュテーブル01だけでなく、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNと階層別にキャッシュテーブルに登録される設定であってもよい。
【0053】
ここで、キャッシュテーブル01に一致するものがない場合、フィルタリング処理部21は、フィルタを順(フィルタ01,02,03・・・)に検索して、一致したフィルタをキャッシュテーブルに登録する。
【0054】
尚、キャッシュテーブル01、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNにおけるテーブル間に階層関係が設定されている場合、フィルタリング処理部21は、この階層関係に基づき登録するキャッシュテーブルを決定する。
【0055】
ここで、フィルタ一致キャッシュテーブル部11は、一定の期間以上登録使用した場合、キャッシュテーブルに多数の情報がストックされ続けることとなり、これに伴い検索性能が悪化してしまう可能性がある。
このため、フィルタリング処理部21は、効率的な検索ができるようキャッシュテーブルの登録内容を定期的に更新することにより登録されたデータの更新メンテナンスを行うものとする。
【0056】
尚、本実施形態におけるキャッシュ設定ファイルの定義では、キャッシュテーブル01は、「先頭から読み込む」としているが、メッセージ内容の先頭から読み込む代わりに、メッセージ内容の文字列から先頭から数えて一定値バイト目から一定値バイト目まで」、のように、読み込みを行う文字列範囲を指定する設定であってもよい。
【0057】
また、読み込みを行う文字列の範囲を設定可能であるものとする。ここでは、キャッシュテーブル01だけでなく、キャッシュテーブル02,03,・・・,Nすべてで「先頭から」や「メッセージの何バイト目から何バイト目」等の設定が可能であるものとする。
【0058】
また、本実施形態では、キャッシュテーブル02までしかないが、実施例と同様なロジックや、拡張したロジックによって、キャッシュテーブル03、キャッシュテーブル04、・・・キャッシュテーブルNといったように、多数のキャッシュテーブルを使用することにより、さらに効率的なフィルタ一致処理をすることが可能となる。
【0059】
尚、本実施形態では、各キャッシュテーブルはメッセージ受信後に処理により、登録、更新される場合について説明しているが、キャッシュテーブルの情報は別途、あらかじめインポート等により手動でも登録/更新を行う設定であってもよい。
【0060】
具体的には、図15に示すように、キャッシュテーブル01については、「先頭から」ではなく、「メッセージの3バイト目から5バイト目」を比較する設定であってもよい。
【0061】
また、図16に示すように、キャッシュ設定ファイルの「キャッシュテーブル登録に関する設定」のキャッシュテーブル01の検索する位置 (設定例:3バイト目から検索するバイト数:X1(設定例:2バイト)までを比較する設定としてもよい。
【0062】
以上のように、本実施形態では、受信したメッセージ内容(文字列)が、どのフィルタに一致したかを一時的なテーブル(キャッシュテーブル)に保存しておくことにより、次回以降、同一のメッセージを受信した際にこのメッセージ内容に一致するフィルタをより迅速に判別することができ、これにより、フィルタリング処理を迅速化することが可能となる。
【0063】
また、本実施形態では、メッセージ異常発生時に多発するメッセージのパターンを考慮して、各キャッシュテーブルにはフィルタに一致するメッセージの最小限の特徴を格納し、これにより、キャッシュテーブルの検索オーバーヘッドの発生を抑制することが可能となる。
【0064】
尚、上記実施形態において、エージェント端末(61〜6N)側で異なる端末に係る動作異常が発生した場合、実際の運用を考慮すると、以下(1)〜(3)に示す状態の発生が想定される。
【0065】
(1)短時間に同一の異常メッセージが繰り返し出力される。
(2)別のエージェント等からのメッセージ処理も実行する(大量出力している異常メッセージ以外も処理する必要がある)。
(3)大量出力している異常メッセージや別のエージェント等からのメッセージの大部分は、フィルタに一致する(尚、一致しないものは、マネージャではなくエージェントでフィルタリング処理などが実行されている)。
【0066】
このため、(1)より、キャッシュテーブルに登録されたフィルタに一致するメッセージの割合が高くなること、また、(2)、(3)により、フィルタの使用頻度の偏りが軽減される、つまり、各フィルタが満遍なく使用されるようになる、ということが想定される。
【0067】
これに対して、本実施形態では、異常を示す同一のメッセージや内容が近似するメッセージが、繰り返し出力された場合でも、短時間に同一のメッセージが大量に出力された場合でも、本発明により、フィルタリング処理効率を向上させることが可能となるので、マネージャの高負荷を防止することが可能となり、このため、フィルタリング処理を効率化することが可能になる。
【0068】
ここで、本実施形態によるフィルタリング処理の処理時間にかかる、具体的な性能向上の見込みとしてフィルタリング処理の性能を測定した結果について説明する。
【0069】
ここでは、上記の条件の場合、以下の5パターンについて、その性能を測定し比較する。
[1]特にフィルタ効率手法を適用しない場合(つまり、1番目から最終フィルタまで満遍なく一致するとした場合)
[2]使用頻度に基づき登録するフィルタを決定する場合
[3]使用頻度が高いフィルタを先頭にする技術を適用する場合(特開2006−260056に開示)
[4]本願によるキャッシュテーブルを使用する場合(上記「何も無し」と性能比較)
[5]本発明+使用頻度、つまり、本発明の手法に加え、特開2006−260056に開示された手法も適用した場合 (使用頻度を利用する場合との性能比較)
【0070】
ここで、キャッシュに一致するメッセージ件数は8000件に固定した場合の有効フィルタ数に対する処理時間を図17に示す。また、有効フィルタ数を1000件とした場合の有効フィルタ数に対する処理時間についての測定結果を、図18に示す。
【0071】
キャッシュに一致するメッセージ件数に対する処理時間を計測した結果を示す、図17,18においては、メッセージ数が10000件、フィルタ数が1500件(このうち、メッセージに一致する有効フィルタ数が1000件)、1番目のフィルタに一致する処理時間が1msec/件、最終のフィルタに一致する処理時間が1msec/件、キャッシュに一致するメッセージ件数が9000件、キャッシュに一致しないメッセージ件数が1000件、キャッシュ比較処理時間を1msec/件とする。
【0072】
この結果、フィルタ効率手法を適用しない手法に比べて、本願では、フィルタリング処理にかかる時間にかかる性能が47.8%向上し、関連技術である特許特開2006−260056の手法に比べても21.7%性能向上を実現している。
【0073】
また、本発明の手法に加えて、特許特開2006−260056に示された手法を適用した場合、上記フィルタ効率手法を適用しない方法に比べて、51.1%の性能向上、さらに、特許特開2006−260056の手法に比べて26.7%の性能向上が実現できる。
【0074】
以上のように、フィルタリング処理時における有効フィルタ数が大きい、つまり、どのフィルタにも同等にヒットする場合、一般に利用されているフィルタリング処理ではフィルタの使用頻度に差がなくなるため、処理迅速化の効果が小さくなるが、本実施形態(本発明)においては、処理迅速化の効果は軽減されず、一定の効果を維持することができる。
【0075】
また、キャッシュに一致する件数が大きい場合、つまり、ある特定のメッセージが大量に出る場合には、本実施形態では、キャッシュテーブルを利用ためより効率化されるので処理迅速化の効果が大きくなる。
【0076】
[実施形態の動作説明]
次に、上述した構成のマネージャ装置51のフィルタリング処理部21における動作処理内容について説明する。
【0077】
エージェント端末(61〜6N)の何れかから送り込まれたメッセージを受けた場合に、フィルタリング処理部21は、このメッセージに含まれた一定長の文字列に基づいてキャッシュテーブル01の検索を行う(キャッシュテーブル検索工程)。
次いで、フィルタリング処理部21は、キャッシュテーブル01に文字列が含まれる場合に、この文字列に対応して設定されたフィルタ01をフィルタリング処理用に取得し(フィルタ読み込み工程)、これに基づくフィルタリング処理を行う。
【0078】
また、キャッシュテーブル内に上記文字列が含まれない場合に、フィルタリング処理部21は、フィルタ部12内に格納されたフィルタの検索を行い(フィルタ検索工程)、上記文字列を含むフィルタを検索特定した場合に、このフィルタを示すフィルタ特定情報および文字列を対応付けてキャッシュテーブル01に登録する(第1キャッシュ登録工程)。
【0079】
また、フィルタを検索特定した際に、メッセージ内における特定位置に予め定められた固定文字列が含まれる場合には、上記特定位置およびフィルタ特定情報を対応付けてキャッシュテーブル02に登録し、且つ固定文字列を含むメッセージのフィルタ検索先としてキャッシュテーブル02を示すポインタ情報と固定文字列とを対応付け、キャッシュテーブル01に登録する(第2キャッシュ登録工程)。
【0080】
ここで、上記キャッシュテーブル検索工程、フィルタ読み込み工程、フィルタ検索工程、第1キャッシュ登録工程、および第2キャッシュ登録工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
また、本プログラムは、非一時的な記憶媒体、例えば、DVD、CD、フラッシュメモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【0081】
次に、本実施形態であるマネージャ装置51が備えたフィルタリング処理部21の動作について、図4のフローチャートに基づき説明する。
【0082】
フィルタリング処理部21は、エージェント端末(61〜6N)それぞれからメッセージが送り込まれた場合に(ステップS41)、このメッセージにおける先頭からXバイト分読込み、フィルタ一致キャッシュテーブル部11のキャッシュテーブル01〜Nの何れかに一致するか否かを検索判定する(ステップS42)。
【0083】
ここで、キャッシュテーブルに一致するものがある場合(Y:ステップS42)、フィルタリング処理部21は、上記Xバイト分の文字列が一致したキャッシュテーブル内に登録されたフィルタ番号のフィルタ(該当のフィルタ)にメッセージ内の上記Xバイト分の文字列が一致するか否かを調べる(ステップS43)。
【0084】
一方、キャッシュテーブルに一致するものがない場合(N:ステップS42)、フィルタリング処理部21は、予め設定されたフィルタ01、02、・・・、Nを順に検索し(ステップS45)、一致したフィルタをキャッシュテーブルに登録する(ステップS46)。
【0085】
ここで、フィルタに一致しなかった場合(N:ステップS43)、フィルタ01、02、・・・、Nを順に検索し(フィルタを順に検索:ステップS44)、一致したフィルタをキャッシュテーブルに登録する(ステップS46)。
尚、ステップS44では、キャッシュテーブル上に登録されたフィルタの検索は行わないものとする。
次いで、フィルタリング処理部21は、通常動作状態のエージェント端末等から送り込まれた、他のメッセージに対応した処理を行う(ステップS47)。
【0086】
次に、フィルタリング処理部21が、フィルタに一致したメッセージ内容、メッセージ位置(メッセージ内における文字列の位置)、フィルタ番号、登録/更新日時をキャッシュテーブルに保存する処理動作について、図5のフローチャートに基づき説明する。
【0087】
まず、メッセージ内の予め設定された範囲内の文字列がフィルタに一致した場合(ステップS51)、フィルタリング処理部21は、メッセージ内における先頭のXバイト分の文字列が、予め設定された例外文字列に一致するか否かを判定する(ステップS52)。
【0088】
ここで、文字列が例外文字列に一致する場合(すなわち、例外処理であると判定される場合)、フィルタリング処理部21は、キャッシュテーブル01に対して、上記先頭Xバイトの文字列、キャッシュテーブル02を参照先として示すポインタ情報、およびキャッシュテーブル01に対して登録処理を行った日時を更新日時として登録する。
尚、上記ポインタ情報は、キャッシュテーブル02が格納されたメモリ位置(メモリアドレス)を示すものとする。
【0089】
次いで、フィルタリング処理部21は、ポインタ情報に示された位置に格納されたキャッシュテーブル02に対して、文字列の位置(メッセージ内における先頭からのバイト数)、文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル02に対して登録・更新処理を行った更新日時を登録する(ステップS54)。
【0090】
一方、メッセージ内の予め設定された範囲内の文字列がフィルタに一致しなかった場合(N:ステップS52)、フィルタリング処理部21は、キャッシュテーブル01に対して、先頭Xバイトの文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル01に対する更新日時を登録する(ステップS55)。
【0091】
次に、フィルタリング処理部21によるキャッシュテーブル登録処理について、具体的に説明する。
ここでは、フィルタ部12に設定された各フィルタ01、02、〜、Nそれぞれと、キャッシュテーブルの登録にかかる条件情報を含むキャッシュ設定ファイルとが、図6に示すように、設定されているものとする。
【0092】
ここで、フィルタリング処理部21は、このキャッシュ設定ファイルの内容に基づき、フィルタに係る情報をキャッシュテーブル01,02への登録/更新に登録する処理(キャッシュテーブル登録処理)を行う。
尚、このとき、キャッシュテーブル登録処理の初期段階では、キャッシュテーブル01〜Nにおける各項目はすべて空の状態であるものとする。
【0093】
まず、フィルタリング処理部21は、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0.18005 : Link Down args:Network」(図7)を受け取る。
このとき、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01を検索し、この文字列がキャッシュテーブル01内に含まれるか否かを判定する。
【0094】
ここで、この2バイト文字列がキャッシュテーブル01には含まれないので、続いて、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づいて、フィルタを先頭から順(1番からN番の順)に検索する。
【0095】
ここで、読み込んだ2バイトの文字列がフィルタ01に一致する。このため、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みか否かを判定する。
【0096】
ここでは、先頭の2バイト文字は例外登録済みではないので、フィルタリング処理部21はキャッシュテーブル01に対して、先頭からXバイトの文字列、一致したフィルタのフィルタ番号、および更新日時をそれぞれ登録する。これにより、図7の新規追加内容(点線枠内)がキャッシュテーブル01追加登録される。
【0097】
次に、フィルタリング処理部21が、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0. 3029 : Power Down args:Network」(図8)を受け取る。
ここでも、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0098】
ここで、先頭2バイトの文字はキャッシュテーブル01の1行目に含まれるので、フィルタリング処理部21は、これ(1行目)に対応するフィルタ01(図6)を検索する。
【0099】
先頭の2バイト文字列がフィルタ01に一致しない場合、フィルタリング処理部21は、フィルタ番号順に、フィルタ02、フィルタ03、・・・フィルタNそれぞれに対して先頭2バイトの文字列検索を行う。
【0100】
ここでは、先頭の2バイト文字列がフィルタ02(図6)に一致する。
次いで、フィルタ処理部21は、先頭の2バイト文字が例外登録済みであるか否かの判定を行う。
ここで、先頭の2バイト文字は例外登録済みではないため、フィルタリング処理部21は、一致したフィルタのフィルタ番号、および更新日時をキャッシュテーブル01にそれぞれ登録する。これにより、図8の新規追加内容(点線枠内)がキャッシュテーブル01追加登録される。
【0101】
尚、先頭Xバイトの文字列は既にキャッシュテーブル01に登録済みのもの(1.)と同一なので更新は行わない。
【0102】
次いで、フィルタリング処理部21がメッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0. 3029 : Power Down args:Network」(図9)を受け取る。
ここでも、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0103】
ここでは、この2バイト文字列がキャッシュテーブル01の1行目に含まれるので、
フィルタリング処理部21は、該当するフィルタ番号(01,02)に対応するフィルタ01,02(図6)をそれぞれ検索する。
【0104】
このとき、メッセージの先頭2倍との文字列はフィルタ01に一致するので、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する。
尚、フィルタリング処理部21は先頭Xバイトの文字列、およびフィルタ番号は既にキャッシュテーブル01に登録済みであるため更新を行わない。
【0105】
次に、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0.3029 : Power Down args:Network」(図10)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0106】
ここで、この2バイト文字列がキャッシュテーブル01には含まれないので、続いて、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づいて、フィルタ部12のフィルタを先頭から順(1〜N番の順)に検索する。
【0107】
ここでは、読み込んだ2バイトの文字列がフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶する。
【0108】
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01に、先頭Xバイトの文字列に「20」を、そして、一致したフィルタ番号、更新日時をそれぞれ新規追加登録する。
【0109】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:07、更新日時:2010/2/1)をそれぞれキャッシュテーブル02に対して新規追加登録する。これにより、図10の新規追加内容(点線枠内)がキャッシュテーブル02追加登録される。
【0110】
次に、メッセージ受信部22からメッセージ「2010/2/2 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図11)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0111】
ここで、2バイト文字列がキャッシュテーブル01の2行目に含まれる(「20」)ので、
フィルタリング処理部21は、該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0112】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき、該当のフィルタ07を検索する。
ここで、この2バイト文字列がフィルタ07には含まれないので、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づきフィルタ部12におけるフィルタ07以外のフィルタを先頭から順(1〜N番の順)に検索する。
【0113】
ここで、読み込んだ2バイトの文字列がフィルタ09に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶する。
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する。
【0114】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ09に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/2)をそれぞれキャッシュテーブル02に対して登録、する。これにより、図10の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02のフィルタ番号カラムにフィルタ番号「09」が新規登録され、更新日時が「2010/2/2」に更新される。
【0115】
次に、メッセージ受信部22からメッセージ「2010/2/3 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図12)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0116】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、これに該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0117】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき、該当のフィルタ07,および09を検索する。
【0118】
ここで、読み込んだ2バイトの文字列がフィルタ09に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01の更新日時をそれぞれ更新する((図12)キャッシュテーブル01の内容:2010/2/3)。
【0119】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ09に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/3)をそれぞれキャッシュテーブル02に対して登録、する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02の更新日時が「2010/2/2」に更新される。
【0120】
次に、メッセージ受信部22からメッセージ「2010/2/3 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図13)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0121】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、これに該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0122】
ここでは、先頭から33バイト目が「SRC」に一致しないため、すなわち、先頭34バイト目が「SRC」であるため、フィルタリング処理部21は、2バイト文字列に基づき、フィルタ部12のフィルタをフィルタ01から順に検索する。
【0123】
ここで、2バイトの文字列はフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から34バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する((図12)キャッシュテーブル01の内容:2010/2/12)と共に、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:34、文字列:SRC、フィルタ番号:07、更新日時:2010/2/12)をそれぞれキャッシュテーブル02に対して新規追加登録する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。
【0124】
次に、メッセージ受信部22からメッセージ「2010/2/20 14:30:05 Node:hostnam SRC:AA Apprication 00024-Info MSG」(図14)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0125】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、この2行目に対応するキャッシュテーブル02を上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否か、先頭から34バイト目が「SRC」であるか否かを検索)。
【0126】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき該当(キャッシュテーブル02に基づく)のフィルタ07,および09を検索する。
【0127】
ここで、読み込んだ2バイトの文字列がフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する((図12)キャッシュテーブル01の内容:2010/2/20)。
【0128】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/20)をそれぞれキャッシュテーブル02に対して登録、する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02の更新日時が「2010/2/20」に更新される。
【0129】
以上のように、本実施形態では、メッセージが一致したフィルタを示す情報をキャッシュテーブルとしてフィルタ一致キャッシュテーブル部11に登録する。これにより、以降、キャッシュテーブルとして保存したメッセージと同一のメッセージを受信した場合に、フィルタリング処理部21は、このキャッシュテーブルを参照することにより一致するフィルタを迅速に特定することができ、このため、大量にメッセージが送り込まれた場合でも、適切なフィルタリング処理を迅速に行うことが可能となる。
【0130】
また、本実施形態では、マネージャ装置51のフィルタリング処理に係る処理負荷が高負荷になるのを有効に抑制することができるため、メッセージ遅延が生じるのを有効に抑制することが可能となる。
特に、エージェント端末(61〜6N)で動作異常が発生した場合には、動作異常内容を示す同一のメッセージが大量に送り込まれるため、短時間に同一のメッセージが大量に出力されるが、本実施形態では、この場合でもフィルタリング処理効率を向上させることが可能となるので、効率的なフィルタリング処理を行うことができる。
【0131】
上述の実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0132】
(付記1)
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【0133】
(付記2)
付記1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【0134】
(付記3)
付記1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第2のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【0135】
(付記4)
付記1に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第2のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【0136】
(付記5)
付記1に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【0137】
(付記6)
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【0138】
(付記7)
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【産業上の利用可能性】
【0139】
本発明は、データセンターなどに設けられた異なる複数のサーバの動作状態を監視するサーバ動作監視システムに対して有効に適用することができる。
【符号の説明】
【0140】
11 フィルタ一致キャッシュテーブル保持部
12 フィルタ保持部
13 キャッシュ設定ファイル記憶部
21 フィルタリング処理部
22 メッセージ受信部
31 監視端末への通知処理部
41 監視端末
51 マネージャ装置
61,62,63,・・・,6N エージェント端末
【技術分野】
【0001】
外部から送り込まれたメッセージのフィルタリング処理を行うフィルタ処理管理装置に関する。
【背景技術】
【0002】
異なる複数のエージェント端末からなるエージェント群から送り込まれたメッセージについて、予め設定されたフィルタ内容に合致するメッセージを抽出するフィルタリング処理を行うマネージャ装置と、マネージャ装置でフィルタリング処理されたメッセージを監視する監視端末を備え、エージェント群における動作異常等を監視するエージェント監視システムが利用されている。
【0003】
マネージャ装置におけるフィルタリング処理では、エージェント端末からメッセージを受信した際に、このメッセージ内容に一致するフィルタを迅速に判別し、読み込んだフィルタに基づいて監視端末に通知すべきメッセージを抽出する処理が行われる。
【0004】
しかしながら、エージェント端末から単位時間あたり一定量以上のメッセージが送り込まれた場合には、マネージャ装置におけるフィルタリング処理に係る処理負荷が一定以上に高まった高負荷状態となり、これにより、メッセージをリアルタイムに処理できないといった状態が発生し得る。
【0005】
特に、エージェント群側で異なるエージェント端末に係るシステム異常が発生した場合には、エージェント端末からマネージャ装置に対してシステム異常や動作エラー等を示すメッセージが大量に、かつ繰り返し出力される。
【0006】
この場合、マネージャ装置には、短時間に同一のメッセージが大量に送り込まれるため、メッセージに対するフィルタリング処理をリアルタイムに行うことができず、これにより、重大なシステム異常や動作エラーを示すメッセージが監視端末に通知されるのが遅延してしまうといったことが生じ得る。
また、この場合、監視側でシステム障害を検知するのが遅れてしまい、また、重大なシステム異常に対する対応、対処が遅れてしまうといった不都合が生じ得る。
【0007】
また、マネージャ装置が高負荷状態となった場合、通常動作状態のエージェント端末等から送り込まれたメッセージの処理にも遅延が発生してしまうといった不都合がある。
【0008】
これに対する関連技術として、予め設定されたスケジュールに基づきフィルタの順序入れ替えを行うと共に、各フィルタの使用頻度に応じてフィルタの優先度を設定するシステムが開示されている(特許文献1)。
【0009】
また、上記内容に対する関連技術として、送り込まれたメッセージに対して適切なフィルタを選択しフィルタリング処理を行うメッセージフィルタ部を備えた装置が開示されている(特許文献2)。
さらに、上記内容に対する関連技術として、複数のフィルタの冗長を検出してフィルタ修正を行うシステムが開示されている(特許文献3)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2006−260056号公報
【特許文献2】特開2009−211113号公報
【特許文献3】特開2009−217392号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記特許文献1に開示された関連技術では、一定時間内に同一のメッセージが大量に送り込まれた場合には、フィルタの適切な順序入れ替えが実行されないため、送り込まれたメッセージに対してリアルタイムにフィルタリング処理を行うことができないという不都合がある。
また、不定な条件(時間)ごとに使用頻度の高いフィルタが変化するので、フィルタの使用頻度が同じ場合などには、適切なフィルタ順序の入れ替えができず、これにより、効率的なフィルタリング処理を行うことができないという不都合が生じ得る。
【0012】
また、上記特許文献2,3に開示された関連技術においても、上述と同様に、大量のメッセージが発生した場合には、メッセージフィルタ部における処理負荷が高負荷となり、フィルタリング処理の性能が著しく劣化してしまうという不都合が生じ得る。
【0013】
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するために、本発明に係るフィルタ処理管理装置は、エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、前記処理部は、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴としている。
【0015】
また、本発明にかかるフィルタ処理管理方法は、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としている。
【0016】
又、本発明にかかるフィルタ処理管理プログラムは、エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としている。
【発明の効果】
【0017】
本発明は、以上のように構成され機能するので、これによると、エージェント端末から送り込まれたメッセージに文字列に基づいてキャッシュテーブルを検索し、対応するフィルタを取得してフィルタリング処理を行う処理部が、検索特定したフィルタと文字列を対応付けてキャッシュテーブルに登録する手段と、メッセージ内に固定文字列が含まれる場合に、メッセージ内における特定位置およびフィルタ番号を対応付けて他のキャッシュテーブルに登録する手段を備えたことにより、外部から送り込まれたメッセージに対してそのメッセージ内容に基づくフィルタリング処理を迅速に行うフィルタ処理管理装置、フィルタ処理管理方法、フィルタ処理管理プログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態にかかるフィルタ処理管理装置の一例を示すブロック図である。
【図2】図1に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの一例を示す説明図である。
【図3】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルの一例を示す説明図である。
【図4】図1に開示したフィルタ処理管理装置におけるフィルタリング処理の動作処理ステップを示すフローチャートである。
【図5】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルに対して登録データ、更新データを登録する動作処理ステップを示すフローチャートである。
【図6】図1に開示したフィルタ処理管理装置におけるフィルタの内容の一例、およびキャッシュ設定ファイルの内容の一例を示す説明図である。
【図7】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図8】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図9】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図10】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図11】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図12】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図13】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図14】図1に開示したフィルタ処理管理装置におけるメッセージ受信時にキャッシュテーブルに対して登録されるデータ内容の一例を示す説明図である。
【図15】図1に開示したフィルタ処理管理装置におけるキャッシュ設定ファイルの内容の一例を示す説明図である。
【図16】図1に開示したフィルタ処理管理装置におけるキャッシュテーブルの登録内容の一例を示す説明図である。
【図17】図1に開示したフィルタ処理管理装置におけるフィルタリング処理で利用されたフィルタの数に対する一定のメッセージ件数に対する処理時間を示す説明図である。
【図18】図1に開示したフィルタ処理管理装置におけるフィルタリング処理で利用したキャッシュテーブルに一致するメッセージの件数に対する処理時間を示す説明図である。
【発明を実施するための形態】
【0019】
[実施形態]
次に、本発明の実施形態について、その基本的構成内容を説明する。
【0020】
本実施形態としてのエージェント監視システムは、動作状態の監視対象であるエージェント端末(61,62,63,・・・,6N)それぞれから送り込まれたメッセージを取得し、予め設定されたフィルタに一致したメッセージを抽出するフィルタリング処理を行うマネージャ装置(フィルタ処理管理装置)51と、マネージャ装置からフィルタリング処理により抽出されたメッセージをマネージャ装置から取得した場合に、このメッセージを監視用に出力表示する監視装置41を備えた構成を有する。
【0021】
尚、エージェント端末61〜6Nはそれぞれ自己の動作状態を示すメッセージをマネージャ装置51に対して送信するサーバ装置や端末装置などのコンピュータであるものとする。また、監視装置41は、マネージャ装置51から送り込まれたメッセージを出力表示するためのディスプレイ装置を備えたコンピュータ端末であるものとする。
【0022】
マネージャ装置51は、図1に示すように、エージェント端末61〜6Nから送り込まれたメッセージを受信するメッセージ受信部22と、メッセージ受信部22から受け取ったメッセージの内容と、予め読み込んだフィルタとの比較処理を行い、フィルタに一致したメッセージを抽出するフィルタリング処理を行うフィルタリング処理部21と、フィルタリング処理部21におけるフィルタリング処理により抽出されたメッセージを監視端末41に送信する通知処理部(監視端末への通知処理部)31を備えている。
【0023】
また、マネージャ装置51は、フィルタリング処理部21がフィルタリング処理に利用される予め設定された異なる複数のフィルタ(01,02,・・・,N)を記憶するフィルタブ12と、フィルタリング処理に利用された、つまり、フィルタリング処理時にフィルタリング処理部21に読み込まれたフィルタに係るデータをキャッシュテーブルとして記憶するフィルタ一致キャッシュテーブル部(キャッシュテーブル記憶部)11を備えている。
【0024】
これにより、エージェント端末等から同一のメッセージを受信した際に、フィルタリング処理部21は、キャッシュテーブルを参照することにより、即座に一致するフィルタ識別番号を判別することが可能となる。
【0025】
フィルタリング処理部21は、フィルタ一致キャッシュテーブル部11からキャッシュ設定ファイルを読み込むと共に、キャッシュ設定ファイルに記載された定義に基づきフィルタ部12のフィルタ(01,02,・・・N)の読み込みを行う。
【0026】
また、フィルタリング処理部21は、フィルタ部12から読み込んだフィルタとメッセージ受信部22から渡されたメッセージの内容との比較を行い、フィルタに一致したメッセージに含まれる特定の文字列データと、メッセージ内容に一致したフィルタ番号をキャッシュテーブルに登録する。
【0027】
ここで、フィルタリング処理部21は、キャッシュテーブルに登録すべきメッセージ中の文字列を、キャッシュ設定ファイルに予め記載された内容(文字列データの定義情報)に基づき特定する。
【0028】
尚、キャッシュ設定ファイルには、キャッシュテーブル登録に関する設定条件を示す情報として、キャッシュテーブル(01〜N)それぞれに対応した設定や格納する内容が記載されているものとする(図2)。
【0029】
尚、フィルタ一致キャッシュテーブル部11に設定された各キャッシュテーブルには、固有テーブル番号01,02,・・・,Nが設定され、検索オーバーヘッドの発生を抑制するために、キャッシュテーブルは相互に階層関係が設定されているものとする。また、各キャッシュテーブル01〜Nでは、検索される文字列のバイト数が、キャッシュ設定ファイル内に予め指定されているものとする。
【0030】
尚、本実施形態では、キャッシュの階層についても、キャッシュテーブル02まで設定する内容としているが、更に、キャッシュテーブル03、・・・、キャッシュテーブルNを参照可能な下層の階層として定義する設定であってもよい。
【0031】
本実施形態では、エージェント端末群に動作異常が発生し、この動作異常を示すメッセージがマネージャ装置51に対して繰り返し出力された場合、実際の運用場面では、短時間に同一の異常メッセージが繰り返し送り込まれる。
【0032】
また、通常動作状態にある他のエージェント端末等からのメッセージに対する処理を実行するがある。更に、大量に送り込まれた異常メッセージや別のエージェント等からのメッセージの大部分は、キャッシュフィルタに登録されたフィルタに一致することが想定される。
【0033】
このとき、キャッシュテーブルに一致するメッセージの割合はかなり高いことが想定されるため、フィルタの使用頻度に偏りはなく、設定されたフィルタの使用頻度は平均化されている。つまり、各フィルタは満遍なく使用されていると考えられる。
【0034】
また、短時間に同一の異常メッセージが送り込まれた場合の、メッセージ内容の種類は、以下に示すように、大別できる。
(1)同一文字列メッセージ
(2)日付文字列で始まり、本文は同一文字列であるメッセージ
【0035】
本実施形態では、(1)については、キャッシュテーブル01、(2)については、キャッシュテーブル01、02(2階層)を使用することにより、効率的にフィルタリング処理を行うことを可能としている。
【0036】
フィルタ一致キャッシュテーブル部11には、「キャッシュテーブル登録に関する設定条件を示す情報」や「キャッシュテーブルのメンテナンスに関する設定条件を示す情報」が予め記載されたキャッシュ設定ファイルが記憶されているものとする。
【0037】
図2に、キャッシュ設定ファイルの記載内容の一例を示す。
ここでは、キャッシュテーブル01、02、03、・・・、Nそれぞれの登録に関する設定情報が定義されている。
【0038】
ここで、キャッシュテーブル01に登録される文字列の長さは、メッセージ内の先頭からのバイト数をX文字とされている(Xは変数)。
また、キャッシュテーブル01に対応して、キャッシュテーブル登録に関する設定項目である、先頭から検索するバイト数、先頭から読み込んだ文字列の例外登録を示す値(先頭に日付等)、メッセージが異なっても付加される可能性の高い文字列があった場合に別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【0039】
次いで、キャッシュテーブル02に登録される文字列のバイト数はY文字としている(Yは変数)。また、キャッシュテーブル02に対応して、フィルタに一致した文字列部分のうちの、キャッシュテーブルに登録するバイト数、文字列の例外登録の値(先頭に日付等)、メッセージが異なっても付加される可能性の高い文字列があった場合、別のキャッシュテーブルを参照するための参照用リンク値などが予め設定されている。
【0040】
さらに、キャッシュテーブル03の登録に関する設定情報としては、キャッシュテーブル01,02に対応する設定情報と同様の設定情報が予め記載されている。尚、キャッシュテーブル03が使用されない場合には、定義不要とする。
【0041】
また、キャッシュテーブルNの登録に関する設定情報においても、キャッシュテーブル01,02,および03それぞれに対応する設定情報と同様、キャッシュテーブルNに関する設定が定義されているものとする。尚、キャッシュテーブルNが使用されない場合には、定義不要とする。
【0042】
尚、キャッシュ設定ファイルには、キャッシュテーブルのメンテナンスに関する設定についても定義されているものとする。例えば、キャッシュテーブルのメンテナンスに関する設定では、図2に示すように、キャッシュテーブルをいつまで保存しておくかを示す定義が含まれるものとする。
【0043】
更に、本実施形態におけるキャッシュ設定ファイルでは、再起動時に、一定期間使用されていないものを削除すること、決められたスケジュールに基づき一定期間使用されていないキャッシュを削除すること、キャッシュテーブルが一定量に達した場合には古いものから削除すること、自動ではキャッシュテーブル内容の更新や登録変更などのメンテナンスは行われず、ユーザが手動でメンテナンスを行うことなどが定義情報として設定されている。
【0044】
尚、ここでは、更新メンテナンスの手法として、キャッシュから「削除」としているが、1次キャッシュ、2次キャッシュという概念を導入して、1次キャッシュ上から削除して、2次キャッシュ上に格納する設定であってもよい。
【0045】
次に、フィルタ一致キャッシュテーブル部11に格納された各キャッシュテーブルの内容について、図3に基づき説明する。
尚、キャッシュテーブルの各フィールドの値は、上記の「キャッシュ設定ファイル」の内容に基づき決定されるものとする。
【0046】
各キャッシュテーブル01,02,・・・,Nは、図3に示すように、フィルタに一致したメッセージに含まれるXバイトの文字列が登録されるカラム(列)、メッセージに一致したフィルタの番号登録用のカラムと、フィルタの更新日時を示すカラムを含むテーブル情報である。
また、フィルタ番号として、別のキャッシュテーブルの参照用に他のキャッシュテーブルやフィルタの格納されたメモリアドレスを示すポインタが記載されていてもよい。
【0047】
次に、メッセージがフィルタに一致するか否かを検索判定するフィルタリング処理部21における処理内容について説明する。
【0048】
フィルタリング処理部21は、メッセージ受信部22から転送された各メッセージについて、上述のように、先頭からXバイト数分読込む。
尚、読み込みを行う文字列の長さ(先頭からXバイト数)については、キャッシュ設定ファイルに予め定義されているものとする。
また、フィルタリング処理部21は、メッセージ内の文字列に一致する内容を含むフィルタ、つまりメッセージに一致したフィルタを示す項目を有するキャッシュテーブルの検索を行う。
【0049】
さらに、フィルタリング処理部21は、上記検索結果として、上記先頭からXバイト数にキャッシュテーブル01に一致するものがあった場合に、キャッシュテーブル01に登録されているフィルタ番号のフィルタから、上記先頭からXバイト数の文字列がフィルタに一致するか否かを判別する。
【0050】
また、フィルタリング処理部21は、メッセージの内容によっては、キャッシュテーブル01からキャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNと階層的にキャッシュテーブルの検索を行うものとする。
ここで、予め設定されたフィルタに一致した場合、キャッシュテーブルの更新日時を更新して、登録処理を終了する。
【0051】
一方、フィルタに一致しなかった場合、フィルタリング処理部21は、フィルタをフィルタ番号順に検索する。ただし、キャッシュテーブルにあったフィルタは検索しないものとする。ここでは、一致したフィルタをキャッシュテーブル01に登録する。
【0052】
尚、メッセージの内容によっては、フィルタリング処理部21は、キャッシュテーブル01だけでなく、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNと階層別にキャッシュテーブルに登録される設定であってもよい。
【0053】
ここで、キャッシュテーブル01に一致するものがない場合、フィルタリング処理部21は、フィルタを順(フィルタ01,02,03・・・)に検索して、一致したフィルタをキャッシュテーブルに登録する。
【0054】
尚、キャッシュテーブル01、キャッシュテーブル02、キャッシュテーブル03・・・キャッシュテーブルNにおけるテーブル間に階層関係が設定されている場合、フィルタリング処理部21は、この階層関係に基づき登録するキャッシュテーブルを決定する。
【0055】
ここで、フィルタ一致キャッシュテーブル部11は、一定の期間以上登録使用した場合、キャッシュテーブルに多数の情報がストックされ続けることとなり、これに伴い検索性能が悪化してしまう可能性がある。
このため、フィルタリング処理部21は、効率的な検索ができるようキャッシュテーブルの登録内容を定期的に更新することにより登録されたデータの更新メンテナンスを行うものとする。
【0056】
尚、本実施形態におけるキャッシュ設定ファイルの定義では、キャッシュテーブル01は、「先頭から読み込む」としているが、メッセージ内容の先頭から読み込む代わりに、メッセージ内容の文字列から先頭から数えて一定値バイト目から一定値バイト目まで」、のように、読み込みを行う文字列範囲を指定する設定であってもよい。
【0057】
また、読み込みを行う文字列の範囲を設定可能であるものとする。ここでは、キャッシュテーブル01だけでなく、キャッシュテーブル02,03,・・・,Nすべてで「先頭から」や「メッセージの何バイト目から何バイト目」等の設定が可能であるものとする。
【0058】
また、本実施形態では、キャッシュテーブル02までしかないが、実施例と同様なロジックや、拡張したロジックによって、キャッシュテーブル03、キャッシュテーブル04、・・・キャッシュテーブルNといったように、多数のキャッシュテーブルを使用することにより、さらに効率的なフィルタ一致処理をすることが可能となる。
【0059】
尚、本実施形態では、各キャッシュテーブルはメッセージ受信後に処理により、登録、更新される場合について説明しているが、キャッシュテーブルの情報は別途、あらかじめインポート等により手動でも登録/更新を行う設定であってもよい。
【0060】
具体的には、図15に示すように、キャッシュテーブル01については、「先頭から」ではなく、「メッセージの3バイト目から5バイト目」を比較する設定であってもよい。
【0061】
また、図16に示すように、キャッシュ設定ファイルの「キャッシュテーブル登録に関する設定」のキャッシュテーブル01の検索する位置 (設定例:3バイト目から検索するバイト数:X1(設定例:2バイト)までを比較する設定としてもよい。
【0062】
以上のように、本実施形態では、受信したメッセージ内容(文字列)が、どのフィルタに一致したかを一時的なテーブル(キャッシュテーブル)に保存しておくことにより、次回以降、同一のメッセージを受信した際にこのメッセージ内容に一致するフィルタをより迅速に判別することができ、これにより、フィルタリング処理を迅速化することが可能となる。
【0063】
また、本実施形態では、メッセージ異常発生時に多発するメッセージのパターンを考慮して、各キャッシュテーブルにはフィルタに一致するメッセージの最小限の特徴を格納し、これにより、キャッシュテーブルの検索オーバーヘッドの発生を抑制することが可能となる。
【0064】
尚、上記実施形態において、エージェント端末(61〜6N)側で異なる端末に係る動作異常が発生した場合、実際の運用を考慮すると、以下(1)〜(3)に示す状態の発生が想定される。
【0065】
(1)短時間に同一の異常メッセージが繰り返し出力される。
(2)別のエージェント等からのメッセージ処理も実行する(大量出力している異常メッセージ以外も処理する必要がある)。
(3)大量出力している異常メッセージや別のエージェント等からのメッセージの大部分は、フィルタに一致する(尚、一致しないものは、マネージャではなくエージェントでフィルタリング処理などが実行されている)。
【0066】
このため、(1)より、キャッシュテーブルに登録されたフィルタに一致するメッセージの割合が高くなること、また、(2)、(3)により、フィルタの使用頻度の偏りが軽減される、つまり、各フィルタが満遍なく使用されるようになる、ということが想定される。
【0067】
これに対して、本実施形態では、異常を示す同一のメッセージや内容が近似するメッセージが、繰り返し出力された場合でも、短時間に同一のメッセージが大量に出力された場合でも、本発明により、フィルタリング処理効率を向上させることが可能となるので、マネージャの高負荷を防止することが可能となり、このため、フィルタリング処理を効率化することが可能になる。
【0068】
ここで、本実施形態によるフィルタリング処理の処理時間にかかる、具体的な性能向上の見込みとしてフィルタリング処理の性能を測定した結果について説明する。
【0069】
ここでは、上記の条件の場合、以下の5パターンについて、その性能を測定し比較する。
[1]特にフィルタ効率手法を適用しない場合(つまり、1番目から最終フィルタまで満遍なく一致するとした場合)
[2]使用頻度に基づき登録するフィルタを決定する場合
[3]使用頻度が高いフィルタを先頭にする技術を適用する場合(特開2006−260056に開示)
[4]本願によるキャッシュテーブルを使用する場合(上記「何も無し」と性能比較)
[5]本発明+使用頻度、つまり、本発明の手法に加え、特開2006−260056に開示された手法も適用した場合 (使用頻度を利用する場合との性能比較)
【0070】
ここで、キャッシュに一致するメッセージ件数は8000件に固定した場合の有効フィルタ数に対する処理時間を図17に示す。また、有効フィルタ数を1000件とした場合の有効フィルタ数に対する処理時間についての測定結果を、図18に示す。
【0071】
キャッシュに一致するメッセージ件数に対する処理時間を計測した結果を示す、図17,18においては、メッセージ数が10000件、フィルタ数が1500件(このうち、メッセージに一致する有効フィルタ数が1000件)、1番目のフィルタに一致する処理時間が1msec/件、最終のフィルタに一致する処理時間が1msec/件、キャッシュに一致するメッセージ件数が9000件、キャッシュに一致しないメッセージ件数が1000件、キャッシュ比較処理時間を1msec/件とする。
【0072】
この結果、フィルタ効率手法を適用しない手法に比べて、本願では、フィルタリング処理にかかる時間にかかる性能が47.8%向上し、関連技術である特許特開2006−260056の手法に比べても21.7%性能向上を実現している。
【0073】
また、本発明の手法に加えて、特許特開2006−260056に示された手法を適用した場合、上記フィルタ効率手法を適用しない方法に比べて、51.1%の性能向上、さらに、特許特開2006−260056の手法に比べて26.7%の性能向上が実現できる。
【0074】
以上のように、フィルタリング処理時における有効フィルタ数が大きい、つまり、どのフィルタにも同等にヒットする場合、一般に利用されているフィルタリング処理ではフィルタの使用頻度に差がなくなるため、処理迅速化の効果が小さくなるが、本実施形態(本発明)においては、処理迅速化の効果は軽減されず、一定の効果を維持することができる。
【0075】
また、キャッシュに一致する件数が大きい場合、つまり、ある特定のメッセージが大量に出る場合には、本実施形態では、キャッシュテーブルを利用ためより効率化されるので処理迅速化の効果が大きくなる。
【0076】
[実施形態の動作説明]
次に、上述した構成のマネージャ装置51のフィルタリング処理部21における動作処理内容について説明する。
【0077】
エージェント端末(61〜6N)の何れかから送り込まれたメッセージを受けた場合に、フィルタリング処理部21は、このメッセージに含まれた一定長の文字列に基づいてキャッシュテーブル01の検索を行う(キャッシュテーブル検索工程)。
次いで、フィルタリング処理部21は、キャッシュテーブル01に文字列が含まれる場合に、この文字列に対応して設定されたフィルタ01をフィルタリング処理用に取得し(フィルタ読み込み工程)、これに基づくフィルタリング処理を行う。
【0078】
また、キャッシュテーブル内に上記文字列が含まれない場合に、フィルタリング処理部21は、フィルタ部12内に格納されたフィルタの検索を行い(フィルタ検索工程)、上記文字列を含むフィルタを検索特定した場合に、このフィルタを示すフィルタ特定情報および文字列を対応付けてキャッシュテーブル01に登録する(第1キャッシュ登録工程)。
【0079】
また、フィルタを検索特定した際に、メッセージ内における特定位置に予め定められた固定文字列が含まれる場合には、上記特定位置およびフィルタ特定情報を対応付けてキャッシュテーブル02に登録し、且つ固定文字列を含むメッセージのフィルタ検索先としてキャッシュテーブル02を示すポインタ情報と固定文字列とを対応付け、キャッシュテーブル01に登録する(第2キャッシュ登録工程)。
【0080】
ここで、上記キャッシュテーブル検索工程、フィルタ読み込み工程、フィルタ検索工程、第1キャッシュ登録工程、および第2キャッシュ登録工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
また、本プログラムは、非一時的な記憶媒体、例えば、DVD、CD、フラッシュメモリなどに記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
【0081】
次に、本実施形態であるマネージャ装置51が備えたフィルタリング処理部21の動作について、図4のフローチャートに基づき説明する。
【0082】
フィルタリング処理部21は、エージェント端末(61〜6N)それぞれからメッセージが送り込まれた場合に(ステップS41)、このメッセージにおける先頭からXバイト分読込み、フィルタ一致キャッシュテーブル部11のキャッシュテーブル01〜Nの何れかに一致するか否かを検索判定する(ステップS42)。
【0083】
ここで、キャッシュテーブルに一致するものがある場合(Y:ステップS42)、フィルタリング処理部21は、上記Xバイト分の文字列が一致したキャッシュテーブル内に登録されたフィルタ番号のフィルタ(該当のフィルタ)にメッセージ内の上記Xバイト分の文字列が一致するか否かを調べる(ステップS43)。
【0084】
一方、キャッシュテーブルに一致するものがない場合(N:ステップS42)、フィルタリング処理部21は、予め設定されたフィルタ01、02、・・・、Nを順に検索し(ステップS45)、一致したフィルタをキャッシュテーブルに登録する(ステップS46)。
【0085】
ここで、フィルタに一致しなかった場合(N:ステップS43)、フィルタ01、02、・・・、Nを順に検索し(フィルタを順に検索:ステップS44)、一致したフィルタをキャッシュテーブルに登録する(ステップS46)。
尚、ステップS44では、キャッシュテーブル上に登録されたフィルタの検索は行わないものとする。
次いで、フィルタリング処理部21は、通常動作状態のエージェント端末等から送り込まれた、他のメッセージに対応した処理を行う(ステップS47)。
【0086】
次に、フィルタリング処理部21が、フィルタに一致したメッセージ内容、メッセージ位置(メッセージ内における文字列の位置)、フィルタ番号、登録/更新日時をキャッシュテーブルに保存する処理動作について、図5のフローチャートに基づき説明する。
【0087】
まず、メッセージ内の予め設定された範囲内の文字列がフィルタに一致した場合(ステップS51)、フィルタリング処理部21は、メッセージ内における先頭のXバイト分の文字列が、予め設定された例外文字列に一致するか否かを判定する(ステップS52)。
【0088】
ここで、文字列が例外文字列に一致する場合(すなわち、例外処理であると判定される場合)、フィルタリング処理部21は、キャッシュテーブル01に対して、上記先頭Xバイトの文字列、キャッシュテーブル02を参照先として示すポインタ情報、およびキャッシュテーブル01に対して登録処理を行った日時を更新日時として登録する。
尚、上記ポインタ情報は、キャッシュテーブル02が格納されたメモリ位置(メモリアドレス)を示すものとする。
【0089】
次いで、フィルタリング処理部21は、ポインタ情報に示された位置に格納されたキャッシュテーブル02に対して、文字列の位置(メッセージ内における先頭からのバイト数)、文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル02に対して登録・更新処理を行った更新日時を登録する(ステップS54)。
【0090】
一方、メッセージ内の予め設定された範囲内の文字列がフィルタに一致しなかった場合(N:ステップS52)、フィルタリング処理部21は、キャッシュテーブル01に対して、先頭Xバイトの文字列、一致したフィルタのフィルタ番号、およびキャッシュテーブル01に対する更新日時を登録する(ステップS55)。
【0091】
次に、フィルタリング処理部21によるキャッシュテーブル登録処理について、具体的に説明する。
ここでは、フィルタ部12に設定された各フィルタ01、02、〜、Nそれぞれと、キャッシュテーブルの登録にかかる条件情報を含むキャッシュ設定ファイルとが、図6に示すように、設定されているものとする。
【0092】
ここで、フィルタリング処理部21は、このキャッシュ設定ファイルの内容に基づき、フィルタに係る情報をキャッシュテーブル01,02への登録/更新に登録する処理(キャッシュテーブル登録処理)を行う。
尚、このとき、キャッシュテーブル登録処理の初期段階では、キャッシュテーブル01〜Nにおける各項目はすべて空の状態であるものとする。
【0093】
まず、フィルタリング処理部21は、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0.18005 : Link Down args:Network」(図7)を受け取る。
このとき、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01を検索し、この文字列がキャッシュテーブル01内に含まれるか否かを判定する。
【0094】
ここで、この2バイト文字列がキャッシュテーブル01には含まれないので、続いて、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づいて、フィルタを先頭から順(1番からN番の順)に検索する。
【0095】
ここで、読み込んだ2バイトの文字列がフィルタ01に一致する。このため、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みか否かを判定する。
【0096】
ここでは、先頭の2バイト文字は例外登録済みではないので、フィルタリング処理部21はキャッシュテーブル01に対して、先頭からXバイトの文字列、一致したフィルタのフィルタ番号、および更新日時をそれぞれ登録する。これにより、図7の新規追加内容(点線枠内)がキャッシュテーブル01追加登録される。
【0097】
次に、フィルタリング処理部21が、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0. 3029 : Power Down args:Network」(図8)を受け取る。
ここでも、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0098】
ここで、先頭2バイトの文字はキャッシュテーブル01の1行目に含まれるので、フィルタリング処理部21は、これ(1行目)に対応するフィルタ01(図6)を検索する。
【0099】
先頭の2バイト文字列がフィルタ01に一致しない場合、フィルタリング処理部21は、フィルタ番号順に、フィルタ02、フィルタ03、・・・フィルタNそれぞれに対して先頭2バイトの文字列検索を行う。
【0100】
ここでは、先頭の2バイト文字列がフィルタ02(図6)に一致する。
次いで、フィルタ処理部21は、先頭の2バイト文字が例外登録済みであるか否かの判定を行う。
ここで、先頭の2バイト文字は例外登録済みではないため、フィルタリング処理部21は、一致したフィルタのフィルタ番号、および更新日時をキャッシュテーブル01にそれぞれ登録する。これにより、図8の新規追加内容(点線枠内)がキャッシュテーブル01追加登録される。
【0101】
尚、先頭Xバイトの文字列は既にキャッシュテーブル01に登録済みのもの(1.)と同一なので更新は行わない。
【0102】
次いで、フィルタリング処理部21がメッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0. 3029 : Power Down args:Network」(図9)を受け取る。
ここでも、フィルタリング処理部21はキャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0103】
ここでは、この2バイト文字列がキャッシュテーブル01の1行目に含まれるので、
フィルタリング処理部21は、該当するフィルタ番号(01,02)に対応するフィルタ01,02(図6)をそれぞれ検索する。
【0104】
このとき、メッセージの先頭2倍との文字列はフィルタ01に一致するので、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する。
尚、フィルタリング処理部21は先頭Xバイトの文字列、およびフィルタ番号は既にキャッシュテーブル01に登録済みであるため更新を行わない。
【0105】
次に、メッセージ受信部22からメッセージ「1.3.6.1.4.1.232.0.3029 : Power Down args:Network」(図10)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0106】
ここで、この2バイト文字列がキャッシュテーブル01には含まれないので、続いて、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づいて、フィルタ部12のフィルタを先頭から順(1〜N番の順)に検索する。
【0107】
ここでは、読み込んだ2バイトの文字列がフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶する。
【0108】
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01に、先頭Xバイトの文字列に「20」を、そして、一致したフィルタ番号、更新日時をそれぞれ新規追加登録する。
【0109】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:07、更新日時:2010/2/1)をそれぞれキャッシュテーブル02に対して新規追加登録する。これにより、図10の新規追加内容(点線枠内)がキャッシュテーブル02追加登録される。
【0110】
次に、メッセージ受信部22からメッセージ「2010/2/2 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図11)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0111】
ここで、2バイト文字列がキャッシュテーブル01の2行目に含まれる(「20」)ので、
フィルタリング処理部21は、該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0112】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき、該当のフィルタ07を検索する。
ここで、この2バイト文字列がフィルタ07には含まれないので、フィルタリング処理部21は、読み込んだ2バイトの文字列に基づきフィルタ部12におけるフィルタ07以外のフィルタを先頭から順(1〜N番の順)に検索する。
【0113】
ここで、読み込んだ2バイトの文字列がフィルタ09に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶する。
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。
ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する。
【0114】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ09に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/2)をそれぞれキャッシュテーブル02に対して登録、する。これにより、図10の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02のフィルタ番号カラムにフィルタ番号「09」が新規登録され、更新日時が「2010/2/2」に更新される。
【0115】
次に、メッセージ受信部22からメッセージ「2010/2/3 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図12)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0116】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、これに該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0117】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき、該当のフィルタ07,および09を検索する。
【0118】
ここで、読み込んだ2バイトの文字列がフィルタ09に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、先頭の2バイト文字が例外登録済みであるか否かを判定する。ここでは、例外登録済み(先頭から読み込んだ文字列の例外登録:20(図6))であるため、フィルタリング処理部21は、キャッシュテーブル01の更新日時をそれぞれ更新する((図12)キャッシュテーブル01の内容:2010/2/3)。
【0119】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ09に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/3)をそれぞれキャッシュテーブル02に対して登録、する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02の更新日時が「2010/2/2」に更新される。
【0120】
次に、メッセージ受信部22からメッセージ「2010/2/3 14:30:05 Node:hostname SRC:AA Apprication 00024-Warning MSG」(図13)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0121】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、これに該当するキャッシュテーブル02を、上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否かを検索)。
【0122】
ここでは、先頭から33バイト目が「SRC」に一致しないため、すなわち、先頭34バイト目が「SRC」であるため、フィルタリング処理部21は、2バイト文字列に基づき、フィルタ部12のフィルタをフィルタ01から順に検索する。
【0123】
ここで、2バイトの文字列はフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から34バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する((図12)キャッシュテーブル01の内容:2010/2/12)と共に、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:34、文字列:SRC、フィルタ番号:07、更新日時:2010/2/12)をそれぞれキャッシュテーブル02に対して新規追加登録する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。
【0124】
次に、メッセージ受信部22からメッセージ「2010/2/20 14:30:05 Node:hostnam SRC:AA Apprication 00024-Info MSG」(図14)を受け取った場合、フィルタリング処理部21は、キャッシュ設定ファイル内容(図6)にある定義(「先頭から検索するバイト数:2」)に基づき、メッセージから先頭2バイトの文字列を読み込み、この2バイトの文字列に基づきキャッシュテーブル01の検索を行う。
【0125】
ここで、2バイト文字列の先頭文字列「20」がキャッシュテーブル01の2行目に含まれるので、フィルタリング処理部21は、この2行目に対応するキャッシュテーブル02を上記読込んだ2バイト文字列に基づき検索する。
このとき、フィルタリング処理部21は、キャッシュテーブル02における「該当の文字列の先頭からのバイト数」および「文字列」について、読込んだ2バイト文字列と一致するか否かを調べる(すなわち、先頭から33バイト目が「SRC」であるか否か、先頭から34バイト目が「SRC」であるか否かを検索)。
【0126】
ここでは、先頭から33バイト目が「SRC」に一致するので、フィルタリング処理部21は、この2バイト文字列に基づき該当(キャッシュテーブル02に基づく)のフィルタ07,および09を検索する。
【0127】
ここで、読み込んだ2バイトの文字列がフィルタ07に一致する。このとき、フィルタリング処理部21は、先頭から33バイト目の「SRC:AA」がフィルタ条件にある固定文字列に一致したことを記憶するものとする。
次いで、フィルタリング処理部21は、キャッシュテーブル01の更新日時を更新する((図12)キャッシュテーブル01の内容:2010/2/20)。
【0128】
また、フィルタリング処理部21は、2バイトの文字列がフィルタ07に一致した時に記憶した内容(該当の文字列の先頭からのバイト数:33、文字列:SRC、フィルタ番号:09、更新日時:2010/2/20)をそれぞれキャッシュテーブル02に対して登録、する。
これにより、図12の新規追加内容(点線枠内)がキャッシュテーブル02に登録される。このため、キャッシュテーブル02の更新日時が「2010/2/20」に更新される。
【0129】
以上のように、本実施形態では、メッセージが一致したフィルタを示す情報をキャッシュテーブルとしてフィルタ一致キャッシュテーブル部11に登録する。これにより、以降、キャッシュテーブルとして保存したメッセージと同一のメッセージを受信した場合に、フィルタリング処理部21は、このキャッシュテーブルを参照することにより一致するフィルタを迅速に特定することができ、このため、大量にメッセージが送り込まれた場合でも、適切なフィルタリング処理を迅速に行うことが可能となる。
【0130】
また、本実施形態では、マネージャ装置51のフィルタリング処理に係る処理負荷が高負荷になるのを有効に抑制することができるため、メッセージ遅延が生じるのを有効に抑制することが可能となる。
特に、エージェント端末(61〜6N)で動作異常が発生した場合には、動作異常内容を示す同一のメッセージが大量に送り込まれるため、短時間に同一のメッセージが大量に出力されるが、本実施形態では、この場合でもフィルタリング処理効率を向上させることが可能となるので、効率的なフィルタリング処理を行うことができる。
【0131】
上述の実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0132】
(付記1)
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【0133】
(付記2)
付記1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【0134】
(付記3)
付記1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第2のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【0135】
(付記4)
付記1に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第2のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【0136】
(付記5)
付記1に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【0137】
(付記6)
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【0138】
(付記7)
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【産業上の利用可能性】
【0139】
本発明は、データセンターなどに設けられた異なる複数のサーバの動作状態を監視するサーバ動作監視システムに対して有効に適用することができる。
【符号の説明】
【0140】
11 フィルタ一致キャッシュテーブル保持部
12 フィルタ保持部
13 キャッシュ設定ファイル記憶部
21 フィルタリング処理部
22 メッセージ受信部
31 監視端末への通知処理部
41 監視端末
51 マネージャ装置
61,62,63,・・・,6N エージェント端末
【特許請求の範囲】
【請求項1】
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【請求項2】
請求項1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【請求項3】
請求項1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第2のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【請求項4】
請求項1に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第2のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項5】
請求項1に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項6】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【請求項7】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【請求項1】
エージェント端末から送り込まれたメッセージから予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置であって、
前記処理部は、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み手段と、
前記キャッシュテーブル内に前記文字列が含まれない場合に前記フィルタの検索を行うフィルタ検索部と、
前記文字列を含むフィルタを検索特定した場合に当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録手段と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて第2のキャッシュテーブルに登録し、前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録手段とを備えたことを特徴とするフィルタ処理管理装置。
【請求項2】
請求項1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記メッセージ中の文字列の文字数、当該文字列のメッセージ中における位置、および前記固定文字列をフィルタ検索の条件として記載したキャッシュ設定ファイルを記憶し、
前記処理部は、前記キャッシュ設定ファイル内容に基づき前記検索および前記登録処理を実行することを特徴としたフィルタ処理管理装置。
【請求項3】
請求項1に記載のフィルタ処理管理装置において、
前記キャッシュテーブル記憶部は、前記キャッシュテーブルおよび第2のキャッシュテーブルを含む異なる複数のキャッシュテーブルを保持しており、これらキャッシュテーブルは相互に階層関係をなし、各キャシュテーブル内に設定されたポインタ情報に基づき参照可能に設定されることを特徴としたフィルタ処理管理装置。
【請求項4】
請求項1に記載のフィルタ処理管理装置において、
前記処理部は、前記キャッシュテーブルおよび第2のキャッシュテーブルに対して前記フィルタに係るデータを登録した日時を各登録内容に対応して登録する更新日時登録手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項5】
請求項1に記載のフィルタ処理管理装置において、
前記処理部は、キャッシュテーブルの登録されたフィルタの使用頻度が一定値以下であるフィルタの登録内容や、登録されてからの経過時間に一定期間以上に達したフィルタの登録内容を削除する登録内容更新手段を備えたことを特徴とするフィルタ処理管理装置。
【請求項6】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するフィルタ処理管理方法であって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて
前記キャッシュテーブルを検索し、
前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得してフィルタリング処理を行い、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行い、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録し、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録すること構成とし、これらの各動作手順を前記処理部が実行するようにしたことを特徴としたフィルタ処理管理方法。
【請求項7】
エージェント端末から送り込まれたメッセージに対してフィルタリング処理を行う処理部と、前記フィルタリング処理に利用したフィルタに係るデータをキャッシュテーブルとして記憶するキャッシュテーブル記憶部とを備えたフィルタ処理管理装置にあって、予め設定されたフィルタに一致するメッセージ内容を含むメッセージを抽出するためのフィルタ処理管理プログラムであって、
エージェント端末から送り込まれたメッセージに含まれた一定長の文字列に基づいて前記キャッシュテーブルを検索し、前記キャッシュテーブルに前記文字列が含まれる場合に当該文字列に対応して設定されたフィルタを前記フィルタリング処理用に取得するフィルタ読み込み機能と、
前記キャッシュテーブル内に前記文字列が含まれない場合には、前記フィルタの検索を行うフィルタ検索機能と、
前記文字列を含むフィルタを検索特定した場合に、当該フィルタを示すフィルタ特定情報および前記文字列を対応付けて前記キャッシュテーブルに登録する第1キャッシュ登録機能と、
前記フィルタを検索特定した際に前記メッセージ内における予め設定された特定位置に予め定められた固定文字列が含まれる場合、前記特定位置および前記特定したフィルタのフィルタ特定情報を対応付けて前記キャッシュテーブルとは別の第2のキャッシュテーブルに登録し、且つ前記固定文字列を含むメッセージのフィルタ検索先として前記第2のキャッシュテーブルを示すポインタ情報と前記固定文字列とを対応付けて前記キャッシュテーブルに登録する第2キャッシュ登録機能とを、前記処理部のコンピュータにより実現することを特徴としたフィルタ処理管理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−252589(P2012−252589A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2011−125533(P2011−125533)
【出願日】平成23年6月3日(2011.6.3)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願日】平成23年6月3日(2011.6.3)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]