フィルタ設定システム、フィルタ設定方法、及びフィルタ設定プログラム
【課題】メッセージ処理にかかる処理負荷を有効に軽減する。
【解決手段】フィルタ条件に一致したメッセージ中の条件単語の出現回数、出現位置、および前記条件単語の長さを条件単語情報として算出し、この条件単語情報が予め設定されたフィルタ作成定義情報の値を上回る場合に、当該条件単語を追加フィルタ候補として抽出する出現頻度分析手段74と、追加フィルタ候補のメッセージ内における出現頻度割合が一定値以上である場合に、この追加フィルタ候補によりフィルタ条件情報の内容を追加更新するフィルタ候補選定手段75と、フィルタ条件情報に一致したメッセージの割合に基づき追加フィルタ情報のフィルタ有効性の有無判定を行いフィルタ有効性がないと判定されたフィルタ条件情報を削除するフィルタ有効性分析手段を備えた。
【解決手段】フィルタ条件に一致したメッセージ中の条件単語の出現回数、出現位置、および前記条件単語の長さを条件単語情報として算出し、この条件単語情報が予め設定されたフィルタ作成定義情報の値を上回る場合に、当該条件単語を追加フィルタ候補として抽出する出現頻度分析手段74と、追加フィルタ候補のメッセージ内における出現頻度割合が一定値以上である場合に、この追加フィルタ候補によりフィルタ条件情報の内容を追加更新するフィルタ候補選定手段75と、フィルタ条件情報に一致したメッセージの割合に基づき追加フィルタ情報のフィルタ有効性の有無判定を行いフィルタ有効性がないと判定されたフィルタ条件情報を削除するフィルタ有効性分析手段を備えた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ内に含まれる文字列情報に基づきメッセージのフィルタリング処理を行うメッセージ処理システムに関する。
【背景技術】
【0002】
監視対象のエージェント端末から出力されるメッセージの監視を行うことにより、エージェント端末の運用管理を行う運用管理システムが利用されている。
この運用管理システムでは、メッセージ内容のフィルタリング処理を行い、システム管理に係るメッセージを判別し、これ収集することにより、管理者はエージェント端末の動作状態を監視する。
【0003】
一般に、メッセージのフィルタリング処理を行うマネージャ装置では、フィルタリング処理の対象としてワイルドカード(*)などの正規表現を利用して、メッセージ中の文字列との一致の有無を判定し、一致する文字列やキーワードが含まれている場合に、このメッセージをシステム管理用のメッセージとして抽出し監視端末に通知する。監視端末では、通知されたメッセージを出力表示することにより、システム管理者はエージェント端末の動作状態を監視することができる。
【0004】
しかしながら、例えば、フィルタリング処理に利用されるフィルタ条件の中に非効率なフィルタ条件が含まれる場合、フィルタリング処理に係る処理負荷が膨大となり、その結果、他のフィルタ条件によるフィルタリング処理にも遅延が発生するといった不都合が生じ得る。
【0005】
また、適切なフィルタが設定されていない場合、迅速なフィルタリング処理(メッセージ処理)が行われないことにより、メッセージ処理を行っているCPUなどに高負荷がかかり、マネージャ装置における他のさまざまな処理などにも遅延などが生じ得るという不都合があった。
【0006】
また、一般に、メッセージの発生頻度や傾向の分析は、システムの運用管理者により人的に行われる場合が多く、この場合、適切なフィルタ条件やフィルタ定義を設定するために膨大な工数や手間がかかる、といった不都合がある。
【0007】
これに対する関連技術として、フィルタリング処理時にメッセージに一致したフィルタ定義にポイントを加算し、ポイントが大きいフィルタ定義が優先順位として上位にくるように設定してフィルタの優先順位を更新することにより、フィルタリング処理の効率を向上させるシステムが開示されている(特許文献1)。
また、フィルタに一致しなかったメッセージを収集し、このメッセージの内容および傾向などを分析し、フィルタリング処理する直前に、分析したデータからメッセージがフィルタリング処理を行う必要があるか否かを判別し、不要なフィルタリング処理が行われるのを軽減する技術も開示されている。
【0008】
また、この関連技術として、フィルタ条件に一致したメッセージを検出すると共にこれを格納し、このメッセージ内容の分析結果に基きフィルタの条件の設定や変更を行うシステムが開示されている(特許文献2)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−260056号公報
【特許文献2】特開2009−217392号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上記特許文献1に記載の関連技術では、設定されたフィルタの順位を入れ替えることは可能であるが、そのフィルタの内容が所望のメッセージ抽出のために最適化されていない場合、フィルタ内容を更新することができないという不都合がある。
また、上記特許文献2に記載の関連技術では、フィルタリング処理における処理負荷軽減用にフィルタの内容を変更するものではないため、フィルタリング処理に係る処理負荷の増大を有効に抑止することができないといった不都合が生じ得る。
【0011】
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、メッセージ処理にかかる処理負荷を軽減し迅速なメッセージ処理を行うフィルタ設定システム、フィルタ設定方法、及びフィルタ設定プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明に係る備えた構成を有する。
【0013】
また、本発明に係るフィルタ設定システムは、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、前記フィルタ分析更新部は、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴としている。
【0014】
また、本発明に係るフィルタ設定方法は、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としている。
【0015】
また、本発明に係るフィルタ設定プログラムは、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としている。
【発明の効果】
【0016】
本発明は、上述したように、フィルタリング処理によりフィルタに一致したメッセージから出現頻度割合が一定値以上の条件単語を追加フィルタ定義として抽出すると共にこの追加フィルタ定義により予め設定されたフィルタの内容を更新する手段と、追加フィルタによるフィルタリング処理の有効性が一定値に満たないフィルタを特定して削除する手段を備えた構成としたことにより、メッセージ処理にかかる処理負荷を軽減しメッセージ処理を迅速化することを可能とするフィルタ設定システム、フィルタ設定方法、及びフィルタ設定プログラムを提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に係るフィルタ設定システムの一実施形態を示す概略ブロック図である。
【図2】図1で示したフィルタ設定システムにおけるフィルタ最適化時の分析手段の動作構成を示すブロック図である。
【図3】図1で示したフィルタ設定システムにおけるフィルタ最適化確認処理時の分析手段の動作構成を示すブロック図である。
【図4】図1で示したフィルタ設定システムにおけるフィルタリング処理の性能処理特性を示す説明図である。
【図5】図1で示したフィルタ設定システムにおけるフィルタ一致DB部から抽出されたメッセージに含まれる単語の分類内容を示す説明図である。
【図6】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図7】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【図8】図8(A)は、図1で示したフィルタ設定システムにおけるフィルタに一致したメッセージ中の第1単語の分類内容を示す説明図であり、図8(B)は、上記メッセージ中における単語の長さの出現回数および割合を示す説明図である。
【図9】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図10】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【図11】図11(A)は、図1で示したフィルタ設定システムにおけるフィルタに一致したメッセージ中の第1単語の分類内容を示す説明図であり、図11(B)は、フィルタに一致したメッセージ中の第2単語の分類内容を示す説明図であり、図11(C)は、フィルタに一致したメッセージ中の第3単語の分類内容を示す説明図であり、図11(D)は、フィルタに一致したメッセージ中の第4単語の分類内容を示す説明図であり、図11(E)は、フィルタに一致したメッセージ中の第5単語の分類内容を示す説明図であり、図11(F)は、上記メッセージ中における単語の長さの出現回数および割合を示す説明図である。
【図12】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図13】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【発明を実施するための形態】
【0018】
[実施形態]
次に、本発明を実施するための実施形態について図面を参照して説明する。
【0019】
本発明の実施形態としてのメッセージ処理システムは、プログラム制御により動作することによりメッセージ処理を行うマネージャ装置(フィルタ設定システム)51を有し、このメッセージ処理装置51は、図1に示すように、予め設定された端末装置である各エージェント端末(61、62、・・・、6N)から送り込まれたメッセージを受信するメッセージ受信部22と、このメッセージに対して予め設定されたフィルタ条件との一致が確認されたメッセージを抽出する「フィルタリング処理」を行うフィルタ処理部21と、フィルタ処理部21で利用されるフィルタ条件(フィルタ条件情報:フィルタ(01,02,・・・,0N))を記憶保持するフィルタ保持部81と、上記抽出されたメッセージを蓄積するフィルタ一致データベース部11と、蓄積された各メッセージの分析を行うと共に当該分析の結果に基き上記フィルタ条件情報の更新を行う分析部71を備えた構成を有する。
【0020】
以下、これを詳説する。
マネージャ装置51のメッセージ受信部22は、エージェント端末61、62、・・・6(N−1)、6Nから送り込まれたメッセージを受信するメッセージ受信機能を有する。
【0021】
フィルタ処理部21は、フィルタ保持部81内に予め設定されたフィルタ条件情報(以下「フィルタ」という)を読み込むと共にこのフィルタに基づき、メッセージ受信部22を介して取得したメッセージのフィルタリング処理を行う。
また、フィルタ処理部21は、上記フィルタリング処理として、取得したメッセージの内容がフィルタ保持部81に格納されたフィルタ(フィルタ条件情報)01、02、・・・、0Nの何れかに一致するか否かの判定(フィルタ判定)を行う(フィルタ一致判定機能)。
また、フィルタ処理部21は、フィルタ(フィルタ条件情報)01、02、・・・、またはNに一致したメッセージ(フィルタ一致メッセージ)を抽出し、このフィルタ一致メッセージをフィルタ一致データベース部11に格納するメッセージ抽出格納機能を有する。
【0022】
ここで、フィルタ一致データベース(DB)部11に格納されたメッセージ(フィルタ一致メッセージ)は、フィルタ一致DB部11内に予め設定された蓄積期間設定情報に基づき、各フィルタ(01、02、・・・、またはN)に対応して一定期間格納される。
尚、フィルタ一致メッセージは、フィルタ01用、フィルタ02用、・・・フィルタN用のように(図1)、それぞれフィルタ保持部81に格納された各フィルタに対応して格納されるものとする。また、蓄積期間設定情報には、フィルタ一致メッセージがフィルタ一致DB内に蓄積保存される期間が各フィルタに対応して予め設定されているものとする。
【0023】
分析部71は、上述のように、フィルタ一致DB部11内に一定期間蓄積されたフィルタ一致メッセージについて、メッセージ内容の分析を行うと共に、この分析結果に基き、フィルタ保持部81内に格納されたフィルタの最適化を行う(つまり、フィルタを最適状態に更新する)フィルタ最適化更新機能を有する(図1)。
【0024】
尚、上記フィルタ最適化更新機能によりフィルタ保持部81に追加更新されたフィルタは、既にフィルタの最適化が行われたとみなせるため、以降のフィルタ最適化更新機能の実行時においては最適化処理の対象としないものとする。
以下、分析部71の内部構成について説明する(図2)。
【0025】
分析部71は、フィルタ保持部81に設定されたフィルタに含まれる、予め設定された部分データに一致する部分データをフィルタ一致DB部11に格納されたフィルタ一致メッセージから抽出し当該部分データについて単語長に係る分析を行う単語・長さ分析手段72と、単語・長さ分析手段72による分析結果として抽出された単語(文字列)について、当該単語(文字列)の出現頻度に基づき、フィルタ候補として選出するか否かを判定する出現頻度分析手段74と、出現頻度分析手段74により選出されたフィルタ候補の出現確率を算出すると共に、この出現確率が一定値より高い単語(文字列)を更新用フィルタ情報として選定するフィルタ候補選定手段75を有する。
【0026】
単語・長さ分析手段72は、上述のように、フィルタ処理部21によるフィルタリング処理を効率化するための該当箇所として特定された、フィルタ条件情報(フィルタ01〜N)に含まれる部分データをフィルタ一致DB部11に格納されたメッセージ中から抽出する部分データ抽出機能を備えている。
【0027】
また、単語・長さ分析手段72は、予め設定された単語設定情報に基づき、上記抽出された部分データに含まれる単語ごとに出現頻度をカウントし、出現頻度が一致しているものにグループ分けするグループ判別機能と、単語の出現場所が部分データにおける先頭から何バイト目か、単語の長さがいくつかを調べる単語出現位置調査機能を有する。
【0028】
更に、単語・長さ分析手段72は、部分データが含まれるメッセージの全体の長さを取得するメッセージ長取得機能を備えている。
尚、単語・長さ分析手段72は、単語の出現場所が部分データにおける先頭から何バイト目か、単語の長さ、および部分データが含まれるメッセージの全体の長さを調査結果として出現頻度分析手段74に通知するものとする。
【0029】
出現頻度分析手段74は、単語・長さ分析手段72による調査結果に含まれる単語の出現頻度について、効率化フィルタ作成定義設定情報内に予め設定された単語の出現頻度に係る値(出現頻度値)を比較し、調査結果に含まれる単語の出現頻度が一定値以上であるか否かを判定する単語長比較判定機能と、調査結果に含まれる単語の出現頻度が一定値以上である場合に、この単語文字列をフィルタ候補として選出するフィルタ候補選出機能を有する。
尚、ここでフィルタ候補として選出された単語文字列はフィルタ候補選定手段75に通知されるものとする。
【0030】
フィルタ候補選定手段75は、出現頻度分析手段74から通知された各フィルタ候補の出現確率を算出する出現確率算出機能と、算出された出現確率と効率化フィルタ作成定義設定情報内に設定された値を比較すると共に、出現確率が一定値より高いフィルタ候補を最終的な更新用フィルタ情報として決定する更新用フィルタ情報決定機能を備えている。
【0031】
また、フィルタ候補選定手段75は、上記決定された更新用フィルタ情報に重複が無いことを確認する重複確認機能と、異なるフィルタ候補それぞれにおける出現確率が同じ(同等)である場合に、単語の出現場所が先頭により近いものを優先することにより更新用フィルタ情報を決定する出現場所優先決定機能を備えている。
また、フィルタ候補選定手段75は、更新用フィルタ情報をフィルタ条件情報(フィルタ)としてフィルタ保持部81に対して追加設定する(フィルタ追加設定機能)。
【0032】
尚、上記フィルタ候補選定手段75は、新たに追加した更新用フィルタ情報(追加フィルタ)に対して、当該フィルタ条件情報の元データとなった部分データを、フィルタ定義情報として付加するものとする。
これにより、フィルタ保持部81内に設定された各フィルタ条件情報(追加フィルタ)について、後述する、「追加フィルタの最適化確認処理」時に、効率化用部分データに該当する部分を容易に確認することが可能となる。
【0033】
更に、分析部71は、図3に示すように、効率化フィルタ作成定義設定情報に基づき、蓄積されたメッセージを分析し、追加されたフィルタの有効性を確認するフィルタ有効性分析手段77を備えている。
また、このフィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されたメッセージより、追加フィルタと元になったフィルタで、それぞれ一致したメッセージ数と全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を算出する一致割合算出機能を有する。
【0034】
ここで、本実施形態のマネージャ装置51における処理機能について、具体的に説明する。マネージャ装置51は上記構成により、以下に示す、通常の運用時におけるメッセージ蓄積機能、フィルタ最適化更新機能、および追加フィルタの最適化確認処理機能の実行を行う。
ここで、フィルタに使用される正規表現について説明する。
尚、本実施形態においては、フィルタ処理部21における、フィルタリング処理の性能処理特性として、先頭に近く短い文字列の方が、CPU処理時間が短いものとする。
以下、この正規表現について、図4に基づき具体的に説明する。
この図4では、ワイルドカード指定(*)を行った場合を基準として、フィルタ処理部21における処理時間(CPU処理時間)、フィルタの種類、およびフィルタとしての条件例ごとの処理速度の改善率を示している。
【0035】
例えば、先頭に近い一定値より短い文字列(例:AAA)との一致の有無を調べるフィルタリング処理では、文字のワイルドカード指定(X)に比べて処理速度が約86%改善されることが示されている。
また、文字列全体(AAABBBCCCDDD)の一致を調べるフィルタリング処理では、文字のワイルドカード指定(X)に比べて処理速度が約16%改善されることが示されている。
【0036】
このように、フィルタ定義(種類、条件例)により、フィルタリング処理に係る性能処理時間が異なる。
このため、本実施形態では、フィルタに一致したメッセージを、各フィルタに対応させてフィルタ一致DB部11に一定期間蓄積し、分析部71において、蓄積されたメッセージを単語単位に分割し、各単語につき全メッセージ件数に占める出現頻度割合が一定基準を超えている場合に、この単語を使用したフィルタ定義(追加フィルタ)を生成し、このフィルタ定義に追加することにより、フィルタ保持部81内のフィルタを最適化する。
これにより、フィルタ処理部21におけるフィルタ性能を向上させる構成となっている。
【0037】
尚、フィルタ一致DB部11内に予め設定された蓄積期間設定情報は、フィルタに一致したメッセージをフィルタ一致データベース部11に蓄積する期間(例えば「1ヶ月と定義した場合、フィルタ一致データベース部11に1ヶ月間、蓄積される」)が記載されたファイル情報である。
【0038】
また、フィルタ保持部81に格納された各フィルタ(01,02,・・・,0N)は、1または異なる複数のフィルタ定義が記載されたファイル情報であって、フィルタ処理部21は、このフィルタ定義に基づきメッセージフィルタリング処理の実行する。
これにより、メッセージ受信部22が取得したメッセージ全体から抽出対象となるメッセージが選別される。
【0039】
各フィルタ(01,02,・・・,0N)の内容は、正規表現により特定のキーワードが指定記載されたファイル情報であって、各フィルタは、予め設定されたフィルタ定義や、分析部71によるフィルタ最適化処理機能の実行により、追加記載されたフィルタ定義などを含む。
【0040】
また、各フィルタには、当該各フィルタの元になったフィルタ(元フィルタ)が記述されているものとし、例えば、「「フィルタxxxx」の分析結果より追加」といった文言がコメントとして記載されているものとする。
【0041】
また、後述する追加フィルタの最適化処理により、削除されたフィルタ定義は、元になった定義が何かわかるように、例えば、「「フィルタxxxx」の分析結果より追加確認後無効」といった文言が、分析部71によりコメントとして記載されているものとする。
【0042】
ここで、具体的にフィルタ01、02、および03の記載内容であるフィルタ定義を例示する。
【0043】
(フィルタ01の内容始まり)
*
(フィルタ01の内容始まり)
【0044】
(フィルタ02の内容始まり)
# CPUが高負荷:* で発生の分析結果より追加
CPUが高負荷:.{8} で発生。
# CPUが高負荷:* で発生の分析結果より追加
CPUが高負荷:.{7} で発生。
CPUが高負荷:* で発生。
(フィルタ02の内容 ここまで)
【0045】
(フィルタ03の内容始まり)
# Error: * ORA−.* (サーバ)の分析結果より追加確認後無効
# Error: {24} ORA−.{57} (サーバ)
Error: * ORA−.*(サーバ)
(フィルタ02の内容 ここまで)
【0046】
尚、上記フィルタ02では、追加したフィルタ定義を示すため、フィルタ定義にコメント(#から文末まで)が記述されている。
また、上記フィルタ03においては、削除されたフィルタ定義を示すためのコメント(#から文末まで)が記述されている。
【0047】
(通常の運用時におけるメッセージ蓄積機能)
ここで、マネージャ装置51における、「通常の運用時におけるメッセージ蓄積機能」について、図1に基づき説明する。
まず、メッセージ受信部22が、上述のように、エージェント61,62,〜,6Nそれぞれから送られたメッセージを受信する。
尚、メッセージ受信部22は、マネージャ装置51の通常運用時にエージェント端末から出力されるメッセージを常時監視しているものとする。
【0048】
次いで、フィルタ処理部21が、受信されたメッセージがフィルタ保持部81内に設定された各フィルタに一致するか否かの判定を行う。
ここで、フィルタ処理部21は、設定されたフィルタに一致したメッセージを、予めフィルタ一致DB部内に設定された蓄積期間設定情報に基づきフィルタ一致データベース部11に一定期間格納する。
【0049】
(フィルタ最適化更新機能)
次に、本実施形態における、「フィルタ最適化更新機能」について、図2に基づき説明する。
ここでは、各フィルタ(01,02,・・・,0N)に対応してフィルタ一致DB部11内に一定期間蓄積されているメッセージ(フィルタ用メッセージ)について、分析部71がメッセージ内容の分析を行い、これに基づき最適なフィルタの生成およびフィルタ更新を行う。
【0050】
尚、このフィルタ最適化更新機能において、最適化対象となるフィルタには、このフィルタ最適化更新機能の実行により追加されたフィルタは、追加されたフィルタの最適化は既に行われているため、含まれないものとする。
【0051】
まず、単語・長さ分析手段72が、効率化したいフィルタの部分(効率化対象フィルタ部分)の抽出を行う。尚、この効率化対象フィルタ部分は、マネージャ装置51の外部(例えば、オペレータ)から入力された情報に基づき設定される設定であってもよい。
ここで、単語・長さ分析手段72は、効率化対象フィルタ部分を、フィルタ一致DB部11内に蓄積されているメッセージ中から抜き出す。
【0052】
また、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分けついて、予め設定された単語設定情報に基づき、メッセージを単語単位に分割すると共に、当該単語の分類を行うものとする。
【0053】
ここで、単語・長さ分析手段72におけるメッセージ分析機能の実行時に利用される上記単語設定情報は、分析範囲、分析対象を示すファイルデータであり、単語・長さ分析手段72は、この単語設定情報の内容により規定された分析範囲で上記メッセージ分析機能を実行するものとする。
【0054】
単語設定情報の内容としては、例えば、「助詞や句読点等は除外する/しない」、「メッセージ中における「が」「。」等を除外する」、「単語の区切り文字(例えば、空白文字(タブ含む)とする)」などが記載されているものとする。
【0055】
ここで、例えば、上記単語設定情報として、「同一メッセージ内に複数個ある同一単語を「1つ」としてカウントする」と記載されている場合、フィルタ一致DB部11に格納された「CPUエラー。CPUが異常です。」というメッセージにおいては、文字列「CPU」は2個出現しているが、1回の出現として扱われる。
【0056】
尚、単語設定情報の内容は、マネージャ装置51のオペレータなどにより入力および設定変更が可能であるものとする。これにより、オペレータは、マネージャ装置51におけるフィルタリング処理にかかる処理負荷やフィルタリング処理時間などを考慮して、分析部71による分析範囲を自由にカスタマイズすることができる。
【0057】
ここで、単語・長さ分析手段72は、以下に示すように、単語の分類処理を実行するものとする。
まず、単語・長さ分析手段72は、単語ごとにメッセージ中における出現頻度を算出し、出現頻度が一致しているものを同一グループに設定し、単語の出現場所がメッセージ内における先頭から何バイト目かを算出すると共に、各単語の長さ(単語長)を算出する。
また、単語・長さ分析手段72は、メッセージの全体の長さ(メッセージ長)を算出する。
【0058】
次いで、出現頻度分析手段74は、単語・長さ分析手段72における上記分類処理結果の各値が、予め設定された効率化フィルタ作成定義設定情報として定義された閾値情報に基づき比較判定を行う。
ここで、分類処理結果の値が、効率化フィルタ作成定義設定情報として定義された閾値情報を上回る場合に、当該分類処理結果の値に対応する単語やメッセージを追加フィルタ候補として選出する。
【0059】
尚、上記効率化フィルタ作成定義設定情報は、文字列のメッセージ全体に対する出現割合や文字列の一致の割合などの閾値情報が定義されているものとする。
例えば、効率化フィルタ作成定義設定情報の内容として、「全体に対する出現割合:30%以上」と定義されている場合、メッセージ全体における特定の文字列の出現頻度が30%以上である場合に、この文字列はフィルタ定義(追加フィルタ)としてフィルタ保持部81に追加設定される。
【0060】
次に、フィルタ候補選定手段75は、追加フィルタ候補から最終的なフィルタ候補を決定する。
ここでは、まず、フィルタ候補選定手段75は、出現頻度分析手段74で選出された追加フィルタ候補のメッセージ内における出現確率を算出し、ここで算出された出現確率が予め設定された効率化フィルタ作成定義情報を上回る場合に、その追加フィルタ候補を追加フィルタ(追加フィルタ定義)として決定する。また、この追加フィルタの出現確率の高い順にフィルタ候補を選定する。
【0061】
更に、フィルタ候補選定手段75は、追加フィルタに重複が無いかを確認する。ここで、追加フィルタ同士の出現確率が同じである場合、追加フィルタである単語の出現場所が先頭に近いものを優先し、最終的な追加フィルタを決定する。
【0062】
また、フィルタ候補選定手段75は、フィルタ保持部81に対して上記決定した追加フィルタを追加する
ここで、フィルタ候補選定手段75は、追加したフィルタ定義(追加フィルタ)に対して、元になったフィルタ定義が何であるかがわかるように、フィルタ定義中に元になったフィルタ定義を示すコメントの記述を行うものとする。
尚、元になったフィルタ定義が何であるかを示す情報は、後述の「追加フィルタの最適化確認処理」時に使用される。
【0063】
(追加フィルタの最適化確認処理機能)
次に、本実施形態のフィルタ有効性分析手段77における、「追加フィルタの最適化確認処理機能」について、図3に基づき説明する。
ここで、分析部71のフィルタ有効性分析手段77は、最適化確認処理機能の実行により、フィルタ一致データベース部11内に蓄積されたメッセージを取得すると共に、このメッセージを分析することにより追加フィルタの有効性の確認および有効性判定を行う。
【0064】
尚、本実施形態における、追加フィルタの最適化確認処理機能実行時において、削除されるフィルタはフィルタ最適化により追加されたフィルタ(追加フィルタ)に限定されるものとする。また、追加フィルタの元となったフィルタは削除されないものとする。
以下、これを詳述する
【0065】
フィルタ最適化処理機能の実行により、追加されたフィルタ(追加フィルタ)に対しても、「通常の運用時におけるメッセージ蓄積」と同様に、一致したメッセージは、フィルタごとに、フィルタ一致データベース部11に一定期間蓄積される。
【0066】
フィルタ有効性分析手段77は、処理・フィルタ一致DB部11に蓄積されたメッセージに基づき、追加されたフィルタ(追加フィルタ)と、この追加フィルタの元になったフィルタ(元フィルタ)とで、それぞれのフィルタに一致したメッセージ数を算出する。
尚、処理・フィルタ一致DB部11に蓄積されたメッセージそれぞれには、どのフィルタに基づき抽出されたかを示す情報が含まれているものとする。
【0067】
また、フィルタ有効性分析手段77は、フィルタリング処理が行われた全体のメッセージ数に対して、各追加フィルタに一致したメッセージ数(つまり、追加フィルタにより抽出されたメッセージ)のメッセージ全体に対する割合(追加フィルタ抽出割合値)と、元フィルタに一致したメッセージ数のメッセージ全体に対する割合(元フィルタ抽出割合値)とをそれぞれ算出する。
これにより、追加フィルタおよび元フィルタそれぞれのフィルタリング効率が算出される。
【0068】
更に、フィルタ有効性分析手段77は、算出された追加フィルタ抽出割合値および元フィルタ抽出割合値が効率化フィルタ作成定義設定情報に設定された値を上回るか否か判定し、これにより、追加されたフィルタの有効性を判定する(フィルタ有効性判定機能)。
ここで、フィルタ有効性分析手段77は、有効性が確認されたフィルタ(つまり、抽出割合値が効率化フィルタ作成定義設定情報に設定された値を上回る追加フィルタおよび元フィルタ)について、出現確率の高い順にフィルタを並べ替えを行い、一定の出現確率以上のフィルタを最終的なフィルタとして決定する。
また、フィルタ有効性分析手段77は、フィルタ有効性判定機能の実行により有効性が確認できなかった、つまり、抽出割合値が効率化フィルタ作成定義設定情報に設定された値を下回るフィルタを削除する処理を行う。
【0069】
(実施形態の動作説明)
次に上記実施形態の動作内容について、概説する。
本実施形態では、上記分析部71の単語・長さ分析手段72が、フィルタ一致DB部11内のメッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、出現頻度分析手段74が、算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し(単語分類工程)、出現頻度分析手段74が、条件単語からメッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、フィルタ候補選定手段75が、追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新する(フィルタ条件追加更新工程)。
また、分析部71のフィルタ有効性分析手段が、フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し(フィルタ有効性判定工程)、有効性がないと判定されたフィルタ条件情報を削除する処理を行う(フィルタ条件削除更新工程)。
ここで、上記単語分類工程、フィルタ条件追加更新工程、フィルタ有効性判定工程、およびフィルタ条件削除更新工程については、その実行内容をプログラム化しコンピュータに実行させる構成であってもよい。
【0070】
次に、上述の実施形態における「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの機能の実行動作内容について、具体的に説明する。
【0071】
尚、単語設定情報の記述内容は、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0072】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ01の内容(フィルタ定義)を以下に示す。
【0073】
(フィルタ01の内容)
*
(フィルタ01の内容 ここまで)
【0074】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ01(上記)の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0075】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0076】
(フィルタ一致データベース部11の蓄積メッセージ)
CPUが高負荷:HOST_AAA で発生。
2009/1/2 Error:ネットワークコネクション切断
CPUが高負荷:HOST_CC で発生。
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
CPU Error:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
2009/1/18 Handle Leak.
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0077】
(フィルタ最適化処理機能の実行動作)
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ条件「*」の「*」に該当する部分を切り出して解析する。
【0078】
ここで、単語・長さ分析手段72が、フィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0079】
(切り出されたメッセージ)
CPUが高負荷:HOST_AAA で発生。
2009/1/2 Error:ネットワークコネクション切断
CPUが高負荷:HOST_CC で発生。
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
CPU Error:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
2009/1/18 Handle Leak.
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)となる。
(切り出されたメッセージ ここまで)
【0080】
次いで、単語・長さ分析手段72は、メッセージ集における単語ごとの出現頻度、単語長さ調査を行うと共に、単語のグループ分け、単語ごとの出現頻度を算出し、出現頻度が一致するものにグループ分けを行う。
【0081】
また、単語の出現場所が先頭から何バイト目かを調べると共に、単語の長さがを算出する。尚、単語の分類の方法は、「単語設定情報」に予め記載された定義に基づくものとする。
【0082】
これにより、単語・長さ分析手段72は、図5に示すように、抽出された各単語について、出現回数、出現割合、単語の出現場所、および単語の長さについて、リスト化された情報(テーブル情報)を生成する。
【0083】
次に、出現頻度分析手段74が、上記グループ分けの後、単語ごとにフィルタ定義を設定する。ここでは、予め設定された効率化フィルタ作成定義情報に設定された閾値以上の出現回数の単語をフィルタに追加する候補(追加フィルタ候補)として設定する。
【0084】
尚、本実施形態では、効率化フィルタ作成定義情報の上記閾値は「3回」であるものとする。
これにより、CPU、高負荷、HOST_AA、発生、Error、およびHOST_CCが出現頻度分析手段74により、フィルタ候補として抽出される。
【0085】
次に、フィルタ候補選定手段75は、上記追加フィルタ候補の出現確率(割合)を算出すると共に、図6に示すように、上記追加フィルタ候補を出現確率の高い順に並べ替え、出現確率が効率化フィルタ作成定義情報に設定された値(ここでは、「30%」とする)以上のフィルタ候補を追加フィルタ候補として選出する(フィルタ候補選定機能)。また、フィルタ候補選定手段75は、出現確率が30%に満たないフィルタ候補は切り捨てる。
【0086】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補に重複が無いか確認を行うと共に、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0087】
具体的には、図6においては、「CPU」と「発生」が重複であり、出現確率も同値なので、単語の出現場所が文末に近い「発生」を削除する。
また、「CPU」と「高負荷」が重複なので、出現確率の低い「高負荷」を削除し、そして、「CPU」と「HOST_AAA」が重複なので、出現確率の低い「HOST_AAA」を削除し、最後に、「CPU」と「HOST_CC」が重複なので、出現確率の低い「HOST_CC」を削除する。
【0088】
これにより、この段階における追加フィルタ候補は、「CPU」と「Error」になる。
フィルタ候補選定手段75は、「CPU」と「Error」を追加フィルタ候補としてフィルタ保持部81に送信する。
これにより、フィルタ01の内容は、以下に示すように、更新される。
【0089】
(フィルタ01の内容)
# *の分析結果より追加
CPU
# *の分析結果より追加<
Error
*
(フィルタ01の内容ここまで)
【0090】
尚、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0091】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ01に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0092】
(追加フィルタの最適化確認処理機能)
次いで、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0093】
ここでは、フィルタ有効性分析手段77が、フィルタ01に含まれるフィルタ定義である、「CPU」、「Error」、および「*」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ01に含まれるフィルタ定義を示す。
【0094】
(フィルタ01)
CPU 分析の結果追加
Error 分析の結果追加
*
(フィルタ01 ここまで)
【0095】
ここで、フィルタ01に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図7に示すように、「CPU」の蓄積件数が40件、全体の割合が40%、「Error」の蓄積件数が10件、全体の割合が10%、「*」の蓄積件数が50件、全体の割合が50%であるものとする。
【0096】
この場合、「CPU」、「Error」、「*」に一致した全体の件数100件に対して、追加したフィルタ定義「CPU」および「Error」の蓄積件数は、それぞれ40件および10件で、全体に対する割合40%および10%であり、フィルタ有効性分析手段77は、効率化フィルタ作成定義情報に設定された値に満たないフィルタ定義「Error」は削除する。
これにより、フィルタ有効性分析手段77による有効性確認処理後のフィルタ01は、以下に示すように更新設定される。
【0097】
(フィルタ01の内容)
# *の分析結果より追加
CPU
# *の分析結果より追加 確認後無効
#Error
*
(フィルタ01 ここまで)
【0098】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義(Error)をコメントアウトした状態で記述している。
【0099】
以上のように、本実施形態では、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0100】
[実施形態の変形例(1)]
ところで、文字列の検索やフィルタリング処理のおいては、コンピュータ環境により正規表現の性能処理特性が異なるが、フィルタ定義としてのワイルドカード「*」を、別の正規表現に置換えることにより、CPU処理時間が短くすることが可能となる。
【0101】
つまり、効率的にフィルタ定義の更新を行うためのロジック(フィルタ更新ロジック)は、フィルタリング処理が行われるコンピュータ環境により異なるため、コンピュータ環境に応じてフィルタ更新ロジックを変更することにより、フィルタリング処理に係るCPU処理時間を短くすることができる。
尚、どのようなロジックを使用するかは、システム導入時に予め決定し、更には、フィルタリング処理の運用中に必要に応じて変更を実施するものとする。
【0102】
以下、上記実施形態における異なるロジックを採用した場合の、「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの機能の実行動作について、具体的に説明する。
【0103】
尚、単語設定情報の記述内容は、上記実施形態と同様に、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0104】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ02の内容(フィルタ定義)を以下に示す。
【0105】
(フィルタ02の内容)
CPUが高負荷:*で発生。
(フィルタ02の内容 ここまで)
【0106】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ01(上記)の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0107】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0108】
(フィルタ一致データベース部11の蓄積メッセージ)
CPUが高負荷:HOST_AAAで発生。
CPUが高負荷:HOST_CCで発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_DDDで発生。
CPUが高負荷:HOST_Bで発生。
CPUが高負荷:HOST_DDDで発生。
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0109】
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ条件「CPUが高負荷:*で発生。」における「*」の部分を切り出して解析する。
【0110】
ここで、単語・長さ分析手段72が、フィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0111】
(切り出されたメッセージ)
HOST_AAA
HOST_CC
HOST_AAA
HOST_AAA
HOST_CC
HOST_CC
HOST_AAA
HOST_DDD
HOST_B
HOST_DDD
(切り出されたメッセージ ここまで)
【0112】
次いで、単語・長さ分析手段72は、単語設定情報に基づく単語分類を行う。
ここで、単語・長さ分析手段72は、単語ごとに出現回数、および出現割合を算出しこれに基づきグループ分けを行う(図8(A))。また、対象の単語の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する(図8(B))。
【0113】
これにより、単語・長さ分析手段72は、図8(A)および(B)に示すように、抽出された各単語について、出現回数、出現割合、単語の出現場所、および単語の長さについて、また、メッセージ全体の長さに対する出現回数、出現割合をリスト化したテーブル情報を生成する。
【0114】
次に、出現頻度分析手段74が、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
【0115】
ここでは、図8(A)の内容に基づき出現割合が30%以上である、HOST_AAA、およびHOST_CCをフィルタ候補として抽出する。
これにより、この段階でのフィルタ候補は、「CPUが高負荷:HOST_AAAで発生。」および「CPUが高負荷:HOST_CC で発生。」となる。
【0116】
図8(B)における全体の長さでは、効率化フィルタ作成定義情報の閾値を上回る文は、
8バイト、および7バイトが当てはまるので、それぞれをフィルタ候補として抽出する。
これにより、この段階での追加フィルタ候補は、「CPUが高負荷:.{8} で発生。」、「CPUが高負荷:.{7} で発生。」「CPUが高負荷:HOST_AAA で発生。」および「CPUが高負荷:HOST_CC で発生。」となる。
【0117】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補の出現確率を算出すると共に、出現確率が30%以上のものを追加フィルタ候補として選出し、次に、重複が無いか確認を行う。
ここで、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0118】
具体的には、図9に示すように、「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:HOST_AAAで発生。」が重複なので、出現確率の低い「CPUが高負荷:HOST_AAAで発生。」を削除し、次に、「CPUが高負荷:.{7}で発生。」と「CPUが高負荷:HOST_CCで発生。」が重複なので、優先度の低い「CPUが高負荷:HOST_AAAで発生。」を削除する。
【0119】
これにより、この段階における追加フィルタ候補は、「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:.{7}で発生。」となる。
次いで、フィルタ候補選定手段75は、この「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:.{7}で発生。」を追加フィルタ候補としてフィルタ保持部81に送信する。
これにより、フィルタ02の内容は、以下に示すように、更新される。
【0120】
(フィルタ02の内容)
# CPUが高負荷:* で発生 の分析結果より追加
CPUが高負荷:.{8} で発生。
# CPUが高負荷:* で発生 の分析結果より追加
CPUが高負荷:.{7} で発生。
CPUが高負荷:* で発生。
(フィルタ02の内容 ここまで)
【0121】
尚、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0122】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ02に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0123】
(追加フィルタの最適化確認処理機能)
次いで、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0124】
ここでは、フィルタ有効性分析手段77が、フィルタ02に含まれるフィルタ定義である、「CPUが高負荷:.{8}で発生。」、「CPUが高負荷:.{7}で発生。」、および「CPUが高負荷:*で発生。」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ02に含まれるフィルタ定義を示す。
【0125】
(フィルタ02)
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{8}で発生。
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{7}で発生。
CPUが高負荷:*で発生。
(フィルタ02 ここまで)
【0126】
ここで、フィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されているメッセージより、追加フィルタと元になったフィルタに基づき抽出された(一致した)メッセージ数と、全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を求める。
また、フィルタ有効性分析手段77は、一致したメッセージ数の割合が効率化フィルタ作成定義設定情報の閾値以上であるか否かを判定し、これにより、追加されたフィルタの有効性を判定する。
有効性を確認したフィルタ定義については、出現確率の高い順にフィルタを並べ替えを行い、最終的なフィルタ定義を決定する。また、有効性が確認できなかったフィルタ定義については削除する。
【0127】
具体的には、フィルタ02に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図10に示すように、「CPUが高負荷:.{8}で発生。」の蓄積件数が50件、全体の割合が50%、「CPUが高負荷:.{7}で発生。」の蓄積件数が40件、全体の割合が40%、「CPUが高負荷:*で発生。」の蓄積件数が10件、全体の割合が10%である。
【0128】
ここでは、「CPUが高負荷:.{8}で発生。」、「CPUが高負荷:.{7}で発生。」、「CPUが高負荷:*で発生。」に一致した全体の件数100件に対して、追加したフィルタ定義「CPUが高負荷:.{8}で発生。」および「CPUが高負荷:.{8}で発生。」の蓄積件数は、それぞれ50件および40件で、全体に対する割合50%および40%である(一致)。
ここで、追加フィルタ定義の割合は、効率化フィルタ作成定義情報に設定された値(30%)を上回っているため、削除されない。
これにより、フィルタ有効性分析手段77による有効性確認処理後のフィルタ02は、以下に示すように更新設定される。
【0129】
(フィルタ02の内容)
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{8}で発生。
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{7}で発生。
CPUが高負荷:*で発生。
(フィルタ02 ここまで)
【0130】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義(Error)をコメントアウトした状態で記述している。
【0131】
以上のように、上記実施形態の変形例(1)では、上記実施形態の場合と同様に、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0132】
[実施形態の変形例(2)]
次に、上記実施形態および変形例(1)とは異なるフィルタ更新ロジックを採用した場合としての上記実施形態の変形例(2)における、「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの実行動作内容について、具体的に説明する。
【0133】
尚、単語設定情報の記述内容は、上記実施形態と同様に、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0134】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ03の内容(フィルタ定義)を以下に示す。
【0135】
(フィルタ03の内容)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0136】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ03の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0137】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0138】
(フィルタ一致データベース部11の蓄積メッセージ)
Error:2009 1 1 Sat 12:23 ORA−1654: unable to extend index (サーバ)
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
Error:2009 1 15 Thu 8:34 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 1 20 Tue 22:3 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 1 28 Wed 7:13 ORA−1034: Oracleは使用できません。(サーバ)
Error:2009 2 2 Mon 12:23 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 2 8 Sun 13:23 ORA−12541: TNS: リスナーがありません。(サーバ)
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)
Error:2009 2 22 Sun 2:3 ORA−12154: TNS:could not resolve service name (サーバ)
Error:2009 2 22 Sun 2:33 ORA−6502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。(サーバ)
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0139】
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ03「Error:.* ORA−.* (サーバ)」に含まれる2つの*のうち、前側の(前半の)「*」部分を切り出して解析を行うものとする。
【0140】
ここで、単語・長さ分析手段72が、効率化指定フィルタに該当する部分としてフィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0141】
(切り出されたメッセージ)
2009 1 1 Sat 12:23
2009 1 11 Sun 13:23
2009 1 15 Thu 8:34
2009 1 20 Tue 22:3
2009 1 28 Wed 7:13
2009 2 2 Mon 12:23
2009 2 8 Sun 13:23
2009 2 11 Wed 8:34
2009 2 22 Sun 2:3
2009 2 22 Sun 2:33
(切り出されたメッセージ ここまで)
【0142】
次いで、単語・長さ分析手段72は、メッセージに含まれる第1〜5単語について、単語設定情報に基づき単語分類を行う。
ここで、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分け、を単語設定情報の定義に基づき出現回数、および出現割合を算出し、これに基づきグループ分けを行う。また、対象の単語(第1〜5単語)の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する(図11(A)〜(F))。
【0143】
これにより、単語・長さ分析手段72は、図11(A)〜(F)に示すように、抽出された各単語(第1〜5単語)について、出現回数、出現割合、単語の出現場所、および単語の長さについて、また、メッセージ全体の長さに対する出現回数、出現割合をリスト化したテーブル情報を生成する。
【0144】
次に、出現頻度分析手段74が、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
【0145】
ここでは、まず、図11(A)の内容に基づき出現割合が100%である、「2009」を更新フィルタ候補として抽出する。
次いで、図11(B)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文は、出現回数50%の「1」と同じく出現回数50%の「2」を抽出する。
また、図11(C)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索した場合、候補がないので、単語の長さについて、効率化フィルタ作成定義情報の閾値を上回る文を検索する。
これにより、単語の長さ「2バイト」70%、および単語の長さ「1バイト」30%が抽出される。
更に、図11(D)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索することにより、出現回数40%の「Sun」を抽出することができる。
また、図11(E)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索した場合、候補がないので、単語の長さについて、効率化フィルタ作成定義情報の閾値を上回る文を検索する。
これにより、単語の長さ「5バイト」50%、および単語の長さ「4バイト」40%が抽出される。
更に、図11(F)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索することにより、全体の長さ「18バイト」80%を抽出することができる。
これにより、この段階での追加フィルタ候補は、以下のように示される。
【0146】
(この段階での追加フィルタ候補)
Error:2009 [1|2] .{1} Sun .{5} ORA−.* (サーバ)
Error:2009 [1|2] .{2} Sun .{4} ORA−.* (サーバ)
Error:2009 [1|2] .{1} Sun .{5} ORA−.* (サーバ)
Error:2009 [1|2] .{2} Sun .{4} ORA−.* (サーバ)
(この段階での追加フィルタ候補 ここまで)
【0147】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補の出現確率を算出すると共に、出現確率が30%以上のものを追加フィルタ候補として選出し、次に、重複が無いか確認を行う。
ここで、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0148】
具体的には、図12に示すように、各フィルタ候補の出現確率、および実際に一致した数の合算が100%となる値が算出される。
ここで、出現頻度、および一致した数が30%より低い(2)〜(5)のフィルタ候補は削除され、この段階でのフィルタ候補は、「Error:.{24} ORA−.* (サーバ)」となる。
【0149】
次いで、単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ03「Error:.* ORA−.* (サーバ)」に含まれる2つの*のうち、後側の(後半の)「*」部分を切り出して解析を行うものとする。
【0150】
ここで、単語・長さ分析手段72が、効率化指定フィルタに該当する部分としてフィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0151】
(切り出されたメッセージ)
1654: unable to extend index
1654: unable to extend index
12154: TNS: 指定された接続識別子を解決できませんでした。
12154: TNS: 指定された接続識別子を解決できませんでした。
1034: Oracleは使用できません。
12154: TNS: 指定された接続識別子を解決できませんでした。
12541: TNS: リスナーがありません。
12514: TNS: リスナーは接続記述子にあるSERVICE
12154: TNS: could not resolve service name
6502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。
(切り出されたメッセージ ここまで)
【0152】
次いで、単語・長さ分析手段72は、切り出されたメッセージについて、単語設定情報に基づき単語分類を行う。
ここで、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分け、を単語設定情報の定義に基づき出現回数、および出現割合を算出し、これに基づき単語分類(グループ分け)を行う。また、対象の単語の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する。
【0153】
次に、出現頻度分析手段74は、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
ここでは、算出された単語の出現回数に基づき効率化フィルタ作成定義情報の閾値を上回る単語をフィルタ候補として抽出する。
【0154】
次いで、フィルタ候補選定手段75が、出現頻度分析手段74により抽出された追加フィルタ候補の出現確率を算出し、出現確率が30%以上のものを追加フィルタ候補として決定する。
このとき、フィルタ候補選定手段75は、上記(前半の*の場合)と同様に、出現確率の高い順にフィルタ候補をソートし、フィルタに重複が無いか、確認する。また、出現確率が同値である場合、単語の出現場所が先頭に近いものを優先し、最終的に追加するフィルタを決定するものとする。
【0155】
これにより、追加フィルタ候補は、「Error:.* ORA−.{57} (サーバ)」を追加フィルタ候補として選定する。尚、「.{57}」の部分は、「12154: TNS: 指定された接続識別子を解決できませんでした。」の部分である。
【0156】
次いで、フィルタ候補選定手段75は、上記フィルタ03における「前半の*」、および「後半の*」それぞれに対応して選定した追加フィルタ候補を合わせることにより、追加フィルタ候補「Error:.{24} ORA−.{57} (サーバ)」を決定する。
【0157】
更に、フィルタ候補選定手段75は、この追加フィルタ候補「Error:.{24} ORA−.{57} (サーバ)」をフィルタ保持部81に対して送信することにより、以下に示す、フィルタ03を更新設定する(フィルタ追加削除処理)。
【0158】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ) の分析結果より追加
Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0159】
尚、上記フィルタ03の内容において、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0160】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ02に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0161】
(追加フィルタの最適化確認処理機能)
次に、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0162】
ここでは、フィルタ有効性分析手段77が、フィルタ03に含まれるフィルタ定義である、「Error:.{24} ORA−.{57} (サーバ)」、「Error:.* ORA−.* (サーバ)」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ03に含まれるフィルタ定義を示す。
【0163】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ) の分析結果より追加
Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0164】
ここで、フィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されているメッセージより、追加フィルタと元になったフィルタに基づき抽出された(一致した)メッセージ数と、全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を求める。
また、フィルタ有効性分析手段77は、一致したメッセージ数の割合が効率化フィルタ作成定義設定情報の閾値以上であるか否かを判定し、これにより、追加されたフィルタの有効性を判定する。
有効性を確認したフィルタ定義については、出現確率の高い順にフィルタを並べ替えを行い、最終的なフィルタ定義を決定する。また、有効性が確認できなかったフィルタ定義については削除する。
【0165】
具体的には、フィルタ03に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図13に示すように、「Error:.{24} ORA−.{57} (サーバ)」の蓄積件数が29件、全体の割合が29%、「Error:.* ORA−.* (サーバ)」の蓄積件数が71件、全体の割合が71%、「CPUが高負荷:*で発生。」であり、その合計は、「Error:.{24} ORA−.{57} (サーバ)」または「Error:.* ORA−.* (サーバ)」に一致した100件に一致している。
【0166】
ここで、追加フィルタ定義「Error:.{24} ORA−.{57} (サーバ)」の割合は、効率化フィルタ作成定義情報に設定された値(30%)を下回っているため削除され、これにより、フィルタ有効性分析手段77による有効性確認処理が行われた結果、フィルタ03は、以下に示すように更新設定される。
【0167】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ)の分析結果より追加 確認後無効
#Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03 ここまで)
【0168】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義をコメントアウトした状態で記述している。
【0169】
以上のように、上記実施形態の変形例(2)では、上記実施形態の場合と同様に、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0170】
上述した実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記の実施形態の一部又は全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0171】
(付記1)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、
前記フィルタ分析更新部は、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴とするフィルタ設定システム。
【0172】
(付記2)
付記1に記載のフィルタ設定システムにおいて、
前記フィルタ条件追加更新手段は、前記メッセージ中における前記単語の出現場所にかかる情報を取得すると共に、異なる条件単語間で前記算出された出現頻度割合が同値である場合に前記出現場所が前記メッセージ内の先頭に近い条件単語を優先する単語優先度設定機能を備えたことを特徴とするフィルタ条件設定システム。
【0173】
(付記3)
付記1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部および前記フィルタ条件削除更新部における動作起動タイミングを前記フィルタ条件追加更新手段における動作内容に基づき決定する更新動作タイミング決定部を備えたことを特徴とするフィルタ条件設定システム。
【0174】
(付記4)
付記1又は2に記載のフィルタ条件設定システムにおいて、
単語分類手段は、予め前記条件単語の定義内容を設定することにより前記メッセージ中における分析範囲を既定する条件単語定義設定機能を備えたことを特徴とするフィルタ条件設定システム。
【0175】
(付記5)
付記1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部による前記フィルタ有効性の有無判定が行われるフィルタ条件情報を前記フィルタ条件追加更新手段による追加更新が行われたフィルタ条件情報に限定することを特徴としたフィルタ条件設定システム。
【0176】
(付記6)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としたフィルタ設定方法。
【0177】
(付記7)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としたフィルタ設定プログラム。
【産業上の利用可能性】
【0178】
本発明は、ネットワークを介して送り込まれる通信データについて通信データを有効に選別しフィルタリングを行うコンピュータネットワークシステムに対して適用することができる。
【符号の説明】
【0179】
11 フィルタ一致データベース部
21 フィルタ処理部
22 メッセージ受信部
31 監視端末へ通知処理部
41 監視端末
51 マネージャ装置
61、62 エージェント装置
72 単語・長さ分析手段
74 出現頻度分析手段
75 フィルタ候補選定手段
81 フィルタ保持部
【技術分野】
【0001】
本発明は、メッセージ内に含まれる文字列情報に基づきメッセージのフィルタリング処理を行うメッセージ処理システムに関する。
【背景技術】
【0002】
監視対象のエージェント端末から出力されるメッセージの監視を行うことにより、エージェント端末の運用管理を行う運用管理システムが利用されている。
この運用管理システムでは、メッセージ内容のフィルタリング処理を行い、システム管理に係るメッセージを判別し、これ収集することにより、管理者はエージェント端末の動作状態を監視する。
【0003】
一般に、メッセージのフィルタリング処理を行うマネージャ装置では、フィルタリング処理の対象としてワイルドカード(*)などの正規表現を利用して、メッセージ中の文字列との一致の有無を判定し、一致する文字列やキーワードが含まれている場合に、このメッセージをシステム管理用のメッセージとして抽出し監視端末に通知する。監視端末では、通知されたメッセージを出力表示することにより、システム管理者はエージェント端末の動作状態を監視することができる。
【0004】
しかしながら、例えば、フィルタリング処理に利用されるフィルタ条件の中に非効率なフィルタ条件が含まれる場合、フィルタリング処理に係る処理負荷が膨大となり、その結果、他のフィルタ条件によるフィルタリング処理にも遅延が発生するといった不都合が生じ得る。
【0005】
また、適切なフィルタが設定されていない場合、迅速なフィルタリング処理(メッセージ処理)が行われないことにより、メッセージ処理を行っているCPUなどに高負荷がかかり、マネージャ装置における他のさまざまな処理などにも遅延などが生じ得るという不都合があった。
【0006】
また、一般に、メッセージの発生頻度や傾向の分析は、システムの運用管理者により人的に行われる場合が多く、この場合、適切なフィルタ条件やフィルタ定義を設定するために膨大な工数や手間がかかる、といった不都合がある。
【0007】
これに対する関連技術として、フィルタリング処理時にメッセージに一致したフィルタ定義にポイントを加算し、ポイントが大きいフィルタ定義が優先順位として上位にくるように設定してフィルタの優先順位を更新することにより、フィルタリング処理の効率を向上させるシステムが開示されている(特許文献1)。
また、フィルタに一致しなかったメッセージを収集し、このメッセージの内容および傾向などを分析し、フィルタリング処理する直前に、分析したデータからメッセージがフィルタリング処理を行う必要があるか否かを判別し、不要なフィルタリング処理が行われるのを軽減する技術も開示されている。
【0008】
また、この関連技術として、フィルタ条件に一致したメッセージを検出すると共にこれを格納し、このメッセージ内容の分析結果に基きフィルタの条件の設定や変更を行うシステムが開示されている(特許文献2)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2006−260056号公報
【特許文献2】特開2009−217392号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上記特許文献1に記載の関連技術では、設定されたフィルタの順位を入れ替えることは可能であるが、そのフィルタの内容が所望のメッセージ抽出のために最適化されていない場合、フィルタ内容を更新することができないという不都合がある。
また、上記特許文献2に記載の関連技術では、フィルタリング処理における処理負荷軽減用にフィルタの内容を変更するものではないため、フィルタリング処理に係る処理負荷の増大を有効に抑止することができないといった不都合が生じ得る。
【0011】
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、メッセージ処理にかかる処理負荷を軽減し迅速なメッセージ処理を行うフィルタ設定システム、フィルタ設定方法、及びフィルタ設定プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明に係る備えた構成を有する。
【0013】
また、本発明に係るフィルタ設定システムは、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、前記フィルタ分析更新部は、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴としている。
【0014】
また、本発明に係るフィルタ設定方法は、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としている。
【0015】
また、本発明に係るフィルタ設定プログラムは、外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としている。
【発明の効果】
【0016】
本発明は、上述したように、フィルタリング処理によりフィルタに一致したメッセージから出現頻度割合が一定値以上の条件単語を追加フィルタ定義として抽出すると共にこの追加フィルタ定義により予め設定されたフィルタの内容を更新する手段と、追加フィルタによるフィルタリング処理の有効性が一定値に満たないフィルタを特定して削除する手段を備えた構成としたことにより、メッセージ処理にかかる処理負荷を軽減しメッセージ処理を迅速化することを可能とするフィルタ設定システム、フィルタ設定方法、及びフィルタ設定プログラムを提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に係るフィルタ設定システムの一実施形態を示す概略ブロック図である。
【図2】図1で示したフィルタ設定システムにおけるフィルタ最適化時の分析手段の動作構成を示すブロック図である。
【図3】図1で示したフィルタ設定システムにおけるフィルタ最適化確認処理時の分析手段の動作構成を示すブロック図である。
【図4】図1で示したフィルタ設定システムにおけるフィルタリング処理の性能処理特性を示す説明図である。
【図5】図1で示したフィルタ設定システムにおけるフィルタ一致DB部から抽出されたメッセージに含まれる単語の分類内容を示す説明図である。
【図6】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図7】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【図8】図8(A)は、図1で示したフィルタ設定システムにおけるフィルタに一致したメッセージ中の第1単語の分類内容を示す説明図であり、図8(B)は、上記メッセージ中における単語の長さの出現回数および割合を示す説明図である。
【図9】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図10】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【図11】図11(A)は、図1で示したフィルタ設定システムにおけるフィルタに一致したメッセージ中の第1単語の分類内容を示す説明図であり、図11(B)は、フィルタに一致したメッセージ中の第2単語の分類内容を示す説明図であり、図11(C)は、フィルタに一致したメッセージ中の第3単語の分類内容を示す説明図であり、図11(D)は、フィルタに一致したメッセージ中の第4単語の分類内容を示す説明図であり、図11(E)は、フィルタに一致したメッセージ中の第5単語の分類内容を示す説明図であり、図11(F)は、上記メッセージ中における単語の長さの出現回数および割合を示す説明図である。
【図12】図1で示したフィルタ設定システムにおける追加フィルタ定義の候補として抽出された各単語の出現頻度を示す説明図である。
【図13】図1で示したフィルタ設定システムにおける追加フィルタ定義に一致したメッセージの件数および割合を示す説明図である。
【発明を実施するための形態】
【0018】
[実施形態]
次に、本発明を実施するための実施形態について図面を参照して説明する。
【0019】
本発明の実施形態としてのメッセージ処理システムは、プログラム制御により動作することによりメッセージ処理を行うマネージャ装置(フィルタ設定システム)51を有し、このメッセージ処理装置51は、図1に示すように、予め設定された端末装置である各エージェント端末(61、62、・・・、6N)から送り込まれたメッセージを受信するメッセージ受信部22と、このメッセージに対して予め設定されたフィルタ条件との一致が確認されたメッセージを抽出する「フィルタリング処理」を行うフィルタ処理部21と、フィルタ処理部21で利用されるフィルタ条件(フィルタ条件情報:フィルタ(01,02,・・・,0N))を記憶保持するフィルタ保持部81と、上記抽出されたメッセージを蓄積するフィルタ一致データベース部11と、蓄積された各メッセージの分析を行うと共に当該分析の結果に基き上記フィルタ条件情報の更新を行う分析部71を備えた構成を有する。
【0020】
以下、これを詳説する。
マネージャ装置51のメッセージ受信部22は、エージェント端末61、62、・・・6(N−1)、6Nから送り込まれたメッセージを受信するメッセージ受信機能を有する。
【0021】
フィルタ処理部21は、フィルタ保持部81内に予め設定されたフィルタ条件情報(以下「フィルタ」という)を読み込むと共にこのフィルタに基づき、メッセージ受信部22を介して取得したメッセージのフィルタリング処理を行う。
また、フィルタ処理部21は、上記フィルタリング処理として、取得したメッセージの内容がフィルタ保持部81に格納されたフィルタ(フィルタ条件情報)01、02、・・・、0Nの何れかに一致するか否かの判定(フィルタ判定)を行う(フィルタ一致判定機能)。
また、フィルタ処理部21は、フィルタ(フィルタ条件情報)01、02、・・・、またはNに一致したメッセージ(フィルタ一致メッセージ)を抽出し、このフィルタ一致メッセージをフィルタ一致データベース部11に格納するメッセージ抽出格納機能を有する。
【0022】
ここで、フィルタ一致データベース(DB)部11に格納されたメッセージ(フィルタ一致メッセージ)は、フィルタ一致DB部11内に予め設定された蓄積期間設定情報に基づき、各フィルタ(01、02、・・・、またはN)に対応して一定期間格納される。
尚、フィルタ一致メッセージは、フィルタ01用、フィルタ02用、・・・フィルタN用のように(図1)、それぞれフィルタ保持部81に格納された各フィルタに対応して格納されるものとする。また、蓄積期間設定情報には、フィルタ一致メッセージがフィルタ一致DB内に蓄積保存される期間が各フィルタに対応して予め設定されているものとする。
【0023】
分析部71は、上述のように、フィルタ一致DB部11内に一定期間蓄積されたフィルタ一致メッセージについて、メッセージ内容の分析を行うと共に、この分析結果に基き、フィルタ保持部81内に格納されたフィルタの最適化を行う(つまり、フィルタを最適状態に更新する)フィルタ最適化更新機能を有する(図1)。
【0024】
尚、上記フィルタ最適化更新機能によりフィルタ保持部81に追加更新されたフィルタは、既にフィルタの最適化が行われたとみなせるため、以降のフィルタ最適化更新機能の実行時においては最適化処理の対象としないものとする。
以下、分析部71の内部構成について説明する(図2)。
【0025】
分析部71は、フィルタ保持部81に設定されたフィルタに含まれる、予め設定された部分データに一致する部分データをフィルタ一致DB部11に格納されたフィルタ一致メッセージから抽出し当該部分データについて単語長に係る分析を行う単語・長さ分析手段72と、単語・長さ分析手段72による分析結果として抽出された単語(文字列)について、当該単語(文字列)の出現頻度に基づき、フィルタ候補として選出するか否かを判定する出現頻度分析手段74と、出現頻度分析手段74により選出されたフィルタ候補の出現確率を算出すると共に、この出現確率が一定値より高い単語(文字列)を更新用フィルタ情報として選定するフィルタ候補選定手段75を有する。
【0026】
単語・長さ分析手段72は、上述のように、フィルタ処理部21によるフィルタリング処理を効率化するための該当箇所として特定された、フィルタ条件情報(フィルタ01〜N)に含まれる部分データをフィルタ一致DB部11に格納されたメッセージ中から抽出する部分データ抽出機能を備えている。
【0027】
また、単語・長さ分析手段72は、予め設定された単語設定情報に基づき、上記抽出された部分データに含まれる単語ごとに出現頻度をカウントし、出現頻度が一致しているものにグループ分けするグループ判別機能と、単語の出現場所が部分データにおける先頭から何バイト目か、単語の長さがいくつかを調べる単語出現位置調査機能を有する。
【0028】
更に、単語・長さ分析手段72は、部分データが含まれるメッセージの全体の長さを取得するメッセージ長取得機能を備えている。
尚、単語・長さ分析手段72は、単語の出現場所が部分データにおける先頭から何バイト目か、単語の長さ、および部分データが含まれるメッセージの全体の長さを調査結果として出現頻度分析手段74に通知するものとする。
【0029】
出現頻度分析手段74は、単語・長さ分析手段72による調査結果に含まれる単語の出現頻度について、効率化フィルタ作成定義設定情報内に予め設定された単語の出現頻度に係る値(出現頻度値)を比較し、調査結果に含まれる単語の出現頻度が一定値以上であるか否かを判定する単語長比較判定機能と、調査結果に含まれる単語の出現頻度が一定値以上である場合に、この単語文字列をフィルタ候補として選出するフィルタ候補選出機能を有する。
尚、ここでフィルタ候補として選出された単語文字列はフィルタ候補選定手段75に通知されるものとする。
【0030】
フィルタ候補選定手段75は、出現頻度分析手段74から通知された各フィルタ候補の出現確率を算出する出現確率算出機能と、算出された出現確率と効率化フィルタ作成定義設定情報内に設定された値を比較すると共に、出現確率が一定値より高いフィルタ候補を最終的な更新用フィルタ情報として決定する更新用フィルタ情報決定機能を備えている。
【0031】
また、フィルタ候補選定手段75は、上記決定された更新用フィルタ情報に重複が無いことを確認する重複確認機能と、異なるフィルタ候補それぞれにおける出現確率が同じ(同等)である場合に、単語の出現場所が先頭により近いものを優先することにより更新用フィルタ情報を決定する出現場所優先決定機能を備えている。
また、フィルタ候補選定手段75は、更新用フィルタ情報をフィルタ条件情報(フィルタ)としてフィルタ保持部81に対して追加設定する(フィルタ追加設定機能)。
【0032】
尚、上記フィルタ候補選定手段75は、新たに追加した更新用フィルタ情報(追加フィルタ)に対して、当該フィルタ条件情報の元データとなった部分データを、フィルタ定義情報として付加するものとする。
これにより、フィルタ保持部81内に設定された各フィルタ条件情報(追加フィルタ)について、後述する、「追加フィルタの最適化確認処理」時に、効率化用部分データに該当する部分を容易に確認することが可能となる。
【0033】
更に、分析部71は、図3に示すように、効率化フィルタ作成定義設定情報に基づき、蓄積されたメッセージを分析し、追加されたフィルタの有効性を確認するフィルタ有効性分析手段77を備えている。
また、このフィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されたメッセージより、追加フィルタと元になったフィルタで、それぞれ一致したメッセージ数と全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を算出する一致割合算出機能を有する。
【0034】
ここで、本実施形態のマネージャ装置51における処理機能について、具体的に説明する。マネージャ装置51は上記構成により、以下に示す、通常の運用時におけるメッセージ蓄積機能、フィルタ最適化更新機能、および追加フィルタの最適化確認処理機能の実行を行う。
ここで、フィルタに使用される正規表現について説明する。
尚、本実施形態においては、フィルタ処理部21における、フィルタリング処理の性能処理特性として、先頭に近く短い文字列の方が、CPU処理時間が短いものとする。
以下、この正規表現について、図4に基づき具体的に説明する。
この図4では、ワイルドカード指定(*)を行った場合を基準として、フィルタ処理部21における処理時間(CPU処理時間)、フィルタの種類、およびフィルタとしての条件例ごとの処理速度の改善率を示している。
【0035】
例えば、先頭に近い一定値より短い文字列(例:AAA)との一致の有無を調べるフィルタリング処理では、文字のワイルドカード指定(X)に比べて処理速度が約86%改善されることが示されている。
また、文字列全体(AAABBBCCCDDD)の一致を調べるフィルタリング処理では、文字のワイルドカード指定(X)に比べて処理速度が約16%改善されることが示されている。
【0036】
このように、フィルタ定義(種類、条件例)により、フィルタリング処理に係る性能処理時間が異なる。
このため、本実施形態では、フィルタに一致したメッセージを、各フィルタに対応させてフィルタ一致DB部11に一定期間蓄積し、分析部71において、蓄積されたメッセージを単語単位に分割し、各単語につき全メッセージ件数に占める出現頻度割合が一定基準を超えている場合に、この単語を使用したフィルタ定義(追加フィルタ)を生成し、このフィルタ定義に追加することにより、フィルタ保持部81内のフィルタを最適化する。
これにより、フィルタ処理部21におけるフィルタ性能を向上させる構成となっている。
【0037】
尚、フィルタ一致DB部11内に予め設定された蓄積期間設定情報は、フィルタに一致したメッセージをフィルタ一致データベース部11に蓄積する期間(例えば「1ヶ月と定義した場合、フィルタ一致データベース部11に1ヶ月間、蓄積される」)が記載されたファイル情報である。
【0038】
また、フィルタ保持部81に格納された各フィルタ(01,02,・・・,0N)は、1または異なる複数のフィルタ定義が記載されたファイル情報であって、フィルタ処理部21は、このフィルタ定義に基づきメッセージフィルタリング処理の実行する。
これにより、メッセージ受信部22が取得したメッセージ全体から抽出対象となるメッセージが選別される。
【0039】
各フィルタ(01,02,・・・,0N)の内容は、正規表現により特定のキーワードが指定記載されたファイル情報であって、各フィルタは、予め設定されたフィルタ定義や、分析部71によるフィルタ最適化処理機能の実行により、追加記載されたフィルタ定義などを含む。
【0040】
また、各フィルタには、当該各フィルタの元になったフィルタ(元フィルタ)が記述されているものとし、例えば、「「フィルタxxxx」の分析結果より追加」といった文言がコメントとして記載されているものとする。
【0041】
また、後述する追加フィルタの最適化処理により、削除されたフィルタ定義は、元になった定義が何かわかるように、例えば、「「フィルタxxxx」の分析結果より追加確認後無効」といった文言が、分析部71によりコメントとして記載されているものとする。
【0042】
ここで、具体的にフィルタ01、02、および03の記載内容であるフィルタ定義を例示する。
【0043】
(フィルタ01の内容始まり)
*
(フィルタ01の内容始まり)
【0044】
(フィルタ02の内容始まり)
# CPUが高負荷:* で発生の分析結果より追加
CPUが高負荷:.{8} で発生。
# CPUが高負荷:* で発生の分析結果より追加
CPUが高負荷:.{7} で発生。
CPUが高負荷:* で発生。
(フィルタ02の内容 ここまで)
【0045】
(フィルタ03の内容始まり)
# Error: * ORA−.* (サーバ)の分析結果より追加確認後無効
# Error: {24} ORA−.{57} (サーバ)
Error: * ORA−.*(サーバ)
(フィルタ02の内容 ここまで)
【0046】
尚、上記フィルタ02では、追加したフィルタ定義を示すため、フィルタ定義にコメント(#から文末まで)が記述されている。
また、上記フィルタ03においては、削除されたフィルタ定義を示すためのコメント(#から文末まで)が記述されている。
【0047】
(通常の運用時におけるメッセージ蓄積機能)
ここで、マネージャ装置51における、「通常の運用時におけるメッセージ蓄積機能」について、図1に基づき説明する。
まず、メッセージ受信部22が、上述のように、エージェント61,62,〜,6Nそれぞれから送られたメッセージを受信する。
尚、メッセージ受信部22は、マネージャ装置51の通常運用時にエージェント端末から出力されるメッセージを常時監視しているものとする。
【0048】
次いで、フィルタ処理部21が、受信されたメッセージがフィルタ保持部81内に設定された各フィルタに一致するか否かの判定を行う。
ここで、フィルタ処理部21は、設定されたフィルタに一致したメッセージを、予めフィルタ一致DB部内に設定された蓄積期間設定情報に基づきフィルタ一致データベース部11に一定期間格納する。
【0049】
(フィルタ最適化更新機能)
次に、本実施形態における、「フィルタ最適化更新機能」について、図2に基づき説明する。
ここでは、各フィルタ(01,02,・・・,0N)に対応してフィルタ一致DB部11内に一定期間蓄積されているメッセージ(フィルタ用メッセージ)について、分析部71がメッセージ内容の分析を行い、これに基づき最適なフィルタの生成およびフィルタ更新を行う。
【0050】
尚、このフィルタ最適化更新機能において、最適化対象となるフィルタには、このフィルタ最適化更新機能の実行により追加されたフィルタは、追加されたフィルタの最適化は既に行われているため、含まれないものとする。
【0051】
まず、単語・長さ分析手段72が、効率化したいフィルタの部分(効率化対象フィルタ部分)の抽出を行う。尚、この効率化対象フィルタ部分は、マネージャ装置51の外部(例えば、オペレータ)から入力された情報に基づき設定される設定であってもよい。
ここで、単語・長さ分析手段72は、効率化対象フィルタ部分を、フィルタ一致DB部11内に蓄積されているメッセージ中から抜き出す。
【0052】
また、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分けついて、予め設定された単語設定情報に基づき、メッセージを単語単位に分割すると共に、当該単語の分類を行うものとする。
【0053】
ここで、単語・長さ分析手段72におけるメッセージ分析機能の実行時に利用される上記単語設定情報は、分析範囲、分析対象を示すファイルデータであり、単語・長さ分析手段72は、この単語設定情報の内容により規定された分析範囲で上記メッセージ分析機能を実行するものとする。
【0054】
単語設定情報の内容としては、例えば、「助詞や句読点等は除外する/しない」、「メッセージ中における「が」「。」等を除外する」、「単語の区切り文字(例えば、空白文字(タブ含む)とする)」などが記載されているものとする。
【0055】
ここで、例えば、上記単語設定情報として、「同一メッセージ内に複数個ある同一単語を「1つ」としてカウントする」と記載されている場合、フィルタ一致DB部11に格納された「CPUエラー。CPUが異常です。」というメッセージにおいては、文字列「CPU」は2個出現しているが、1回の出現として扱われる。
【0056】
尚、単語設定情報の内容は、マネージャ装置51のオペレータなどにより入力および設定変更が可能であるものとする。これにより、オペレータは、マネージャ装置51におけるフィルタリング処理にかかる処理負荷やフィルタリング処理時間などを考慮して、分析部71による分析範囲を自由にカスタマイズすることができる。
【0057】
ここで、単語・長さ分析手段72は、以下に示すように、単語の分類処理を実行するものとする。
まず、単語・長さ分析手段72は、単語ごとにメッセージ中における出現頻度を算出し、出現頻度が一致しているものを同一グループに設定し、単語の出現場所がメッセージ内における先頭から何バイト目かを算出すると共に、各単語の長さ(単語長)を算出する。
また、単語・長さ分析手段72は、メッセージの全体の長さ(メッセージ長)を算出する。
【0058】
次いで、出現頻度分析手段74は、単語・長さ分析手段72における上記分類処理結果の各値が、予め設定された効率化フィルタ作成定義設定情報として定義された閾値情報に基づき比較判定を行う。
ここで、分類処理結果の値が、効率化フィルタ作成定義設定情報として定義された閾値情報を上回る場合に、当該分類処理結果の値に対応する単語やメッセージを追加フィルタ候補として選出する。
【0059】
尚、上記効率化フィルタ作成定義設定情報は、文字列のメッセージ全体に対する出現割合や文字列の一致の割合などの閾値情報が定義されているものとする。
例えば、効率化フィルタ作成定義設定情報の内容として、「全体に対する出現割合:30%以上」と定義されている場合、メッセージ全体における特定の文字列の出現頻度が30%以上である場合に、この文字列はフィルタ定義(追加フィルタ)としてフィルタ保持部81に追加設定される。
【0060】
次に、フィルタ候補選定手段75は、追加フィルタ候補から最終的なフィルタ候補を決定する。
ここでは、まず、フィルタ候補選定手段75は、出現頻度分析手段74で選出された追加フィルタ候補のメッセージ内における出現確率を算出し、ここで算出された出現確率が予め設定された効率化フィルタ作成定義情報を上回る場合に、その追加フィルタ候補を追加フィルタ(追加フィルタ定義)として決定する。また、この追加フィルタの出現確率の高い順にフィルタ候補を選定する。
【0061】
更に、フィルタ候補選定手段75は、追加フィルタに重複が無いかを確認する。ここで、追加フィルタ同士の出現確率が同じである場合、追加フィルタである単語の出現場所が先頭に近いものを優先し、最終的な追加フィルタを決定する。
【0062】
また、フィルタ候補選定手段75は、フィルタ保持部81に対して上記決定した追加フィルタを追加する
ここで、フィルタ候補選定手段75は、追加したフィルタ定義(追加フィルタ)に対して、元になったフィルタ定義が何であるかがわかるように、フィルタ定義中に元になったフィルタ定義を示すコメントの記述を行うものとする。
尚、元になったフィルタ定義が何であるかを示す情報は、後述の「追加フィルタの最適化確認処理」時に使用される。
【0063】
(追加フィルタの最適化確認処理機能)
次に、本実施形態のフィルタ有効性分析手段77における、「追加フィルタの最適化確認処理機能」について、図3に基づき説明する。
ここで、分析部71のフィルタ有効性分析手段77は、最適化確認処理機能の実行により、フィルタ一致データベース部11内に蓄積されたメッセージを取得すると共に、このメッセージを分析することにより追加フィルタの有効性の確認および有効性判定を行う。
【0064】
尚、本実施形態における、追加フィルタの最適化確認処理機能実行時において、削除されるフィルタはフィルタ最適化により追加されたフィルタ(追加フィルタ)に限定されるものとする。また、追加フィルタの元となったフィルタは削除されないものとする。
以下、これを詳述する
【0065】
フィルタ最適化処理機能の実行により、追加されたフィルタ(追加フィルタ)に対しても、「通常の運用時におけるメッセージ蓄積」と同様に、一致したメッセージは、フィルタごとに、フィルタ一致データベース部11に一定期間蓄積される。
【0066】
フィルタ有効性分析手段77は、処理・フィルタ一致DB部11に蓄積されたメッセージに基づき、追加されたフィルタ(追加フィルタ)と、この追加フィルタの元になったフィルタ(元フィルタ)とで、それぞれのフィルタに一致したメッセージ数を算出する。
尚、処理・フィルタ一致DB部11に蓄積されたメッセージそれぞれには、どのフィルタに基づき抽出されたかを示す情報が含まれているものとする。
【0067】
また、フィルタ有効性分析手段77は、フィルタリング処理が行われた全体のメッセージ数に対して、各追加フィルタに一致したメッセージ数(つまり、追加フィルタにより抽出されたメッセージ)のメッセージ全体に対する割合(追加フィルタ抽出割合値)と、元フィルタに一致したメッセージ数のメッセージ全体に対する割合(元フィルタ抽出割合値)とをそれぞれ算出する。
これにより、追加フィルタおよび元フィルタそれぞれのフィルタリング効率が算出される。
【0068】
更に、フィルタ有効性分析手段77は、算出された追加フィルタ抽出割合値および元フィルタ抽出割合値が効率化フィルタ作成定義設定情報に設定された値を上回るか否か判定し、これにより、追加されたフィルタの有効性を判定する(フィルタ有効性判定機能)。
ここで、フィルタ有効性分析手段77は、有効性が確認されたフィルタ(つまり、抽出割合値が効率化フィルタ作成定義設定情報に設定された値を上回る追加フィルタおよび元フィルタ)について、出現確率の高い順にフィルタを並べ替えを行い、一定の出現確率以上のフィルタを最終的なフィルタとして決定する。
また、フィルタ有効性分析手段77は、フィルタ有効性判定機能の実行により有効性が確認できなかった、つまり、抽出割合値が効率化フィルタ作成定義設定情報に設定された値を下回るフィルタを削除する処理を行う。
【0069】
(実施形態の動作説明)
次に上記実施形態の動作内容について、概説する。
本実施形態では、上記分析部71の単語・長さ分析手段72が、フィルタ一致DB部11内のメッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、出現頻度分析手段74が、算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し(単語分類工程)、出現頻度分析手段74が、条件単語からメッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、フィルタ候補選定手段75が、追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新する(フィルタ条件追加更新工程)。
また、分析部71のフィルタ有効性分析手段が、フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し(フィルタ有効性判定工程)、有効性がないと判定されたフィルタ条件情報を削除する処理を行う(フィルタ条件削除更新工程)。
ここで、上記単語分類工程、フィルタ条件追加更新工程、フィルタ有効性判定工程、およびフィルタ条件削除更新工程については、その実行内容をプログラム化しコンピュータに実行させる構成であってもよい。
【0070】
次に、上述の実施形態における「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの機能の実行動作内容について、具体的に説明する。
【0071】
尚、単語設定情報の記述内容は、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0072】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ01の内容(フィルタ定義)を以下に示す。
【0073】
(フィルタ01の内容)
*
(フィルタ01の内容 ここまで)
【0074】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ01(上記)の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0075】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0076】
(フィルタ一致データベース部11の蓄積メッセージ)
CPUが高負荷:HOST_AAA で発生。
2009/1/2 Error:ネットワークコネクション切断
CPUが高負荷:HOST_CC で発生。
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
CPU Error:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
2009/1/18 Handle Leak.
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0077】
(フィルタ最適化処理機能の実行動作)
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ条件「*」の「*」に該当する部分を切り出して解析する。
【0078】
ここで、単語・長さ分析手段72が、フィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0079】
(切り出されたメッセージ)
CPUが高負荷:HOST_AAA で発生。
2009/1/2 Error:ネットワークコネクション切断
CPUが高負荷:HOST_CC で発生。
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
CPU Error:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
2009/1/18 Handle Leak.
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)となる。
(切り出されたメッセージ ここまで)
【0080】
次いで、単語・長さ分析手段72は、メッセージ集における単語ごとの出現頻度、単語長さ調査を行うと共に、単語のグループ分け、単語ごとの出現頻度を算出し、出現頻度が一致するものにグループ分けを行う。
【0081】
また、単語の出現場所が先頭から何バイト目かを調べると共に、単語の長さがを算出する。尚、単語の分類の方法は、「単語設定情報」に予め記載された定義に基づくものとする。
【0082】
これにより、単語・長さ分析手段72は、図5に示すように、抽出された各単語について、出現回数、出現割合、単語の出現場所、および単語の長さについて、リスト化された情報(テーブル情報)を生成する。
【0083】
次に、出現頻度分析手段74が、上記グループ分けの後、単語ごとにフィルタ定義を設定する。ここでは、予め設定された効率化フィルタ作成定義情報に設定された閾値以上の出現回数の単語をフィルタに追加する候補(追加フィルタ候補)として設定する。
【0084】
尚、本実施形態では、効率化フィルタ作成定義情報の上記閾値は「3回」であるものとする。
これにより、CPU、高負荷、HOST_AA、発生、Error、およびHOST_CCが出現頻度分析手段74により、フィルタ候補として抽出される。
【0085】
次に、フィルタ候補選定手段75は、上記追加フィルタ候補の出現確率(割合)を算出すると共に、図6に示すように、上記追加フィルタ候補を出現確率の高い順に並べ替え、出現確率が効率化フィルタ作成定義情報に設定された値(ここでは、「30%」とする)以上のフィルタ候補を追加フィルタ候補として選出する(フィルタ候補選定機能)。また、フィルタ候補選定手段75は、出現確率が30%に満たないフィルタ候補は切り捨てる。
【0086】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補に重複が無いか確認を行うと共に、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0087】
具体的には、図6においては、「CPU」と「発生」が重複であり、出現確率も同値なので、単語の出現場所が文末に近い「発生」を削除する。
また、「CPU」と「高負荷」が重複なので、出現確率の低い「高負荷」を削除し、そして、「CPU」と「HOST_AAA」が重複なので、出現確率の低い「HOST_AAA」を削除し、最後に、「CPU」と「HOST_CC」が重複なので、出現確率の低い「HOST_CC」を削除する。
【0088】
これにより、この段階における追加フィルタ候補は、「CPU」と「Error」になる。
フィルタ候補選定手段75は、「CPU」と「Error」を追加フィルタ候補としてフィルタ保持部81に送信する。
これにより、フィルタ01の内容は、以下に示すように、更新される。
【0089】
(フィルタ01の内容)
# *の分析結果より追加
CPU
# *の分析結果より追加<
Error
*
(フィルタ01の内容ここまで)
【0090】
尚、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0091】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ01に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0092】
(追加フィルタの最適化確認処理機能)
次いで、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0093】
ここでは、フィルタ有効性分析手段77が、フィルタ01に含まれるフィルタ定義である、「CPU」、「Error」、および「*」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ01に含まれるフィルタ定義を示す。
【0094】
(フィルタ01)
CPU 分析の結果追加
Error 分析の結果追加
*
(フィルタ01 ここまで)
【0095】
ここで、フィルタ01に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図7に示すように、「CPU」の蓄積件数が40件、全体の割合が40%、「Error」の蓄積件数が10件、全体の割合が10%、「*」の蓄積件数が50件、全体の割合が50%であるものとする。
【0096】
この場合、「CPU」、「Error」、「*」に一致した全体の件数100件に対して、追加したフィルタ定義「CPU」および「Error」の蓄積件数は、それぞれ40件および10件で、全体に対する割合40%および10%であり、フィルタ有効性分析手段77は、効率化フィルタ作成定義情報に設定された値に満たないフィルタ定義「Error」は削除する。
これにより、フィルタ有効性分析手段77による有効性確認処理後のフィルタ01は、以下に示すように更新設定される。
【0097】
(フィルタ01の内容)
# *の分析結果より追加
CPU
# *の分析結果より追加 確認後無効
#Error
*
(フィルタ01 ここまで)
【0098】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義(Error)をコメントアウトした状態で記述している。
【0099】
以上のように、本実施形態では、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0100】
[実施形態の変形例(1)]
ところで、文字列の検索やフィルタリング処理のおいては、コンピュータ環境により正規表現の性能処理特性が異なるが、フィルタ定義としてのワイルドカード「*」を、別の正規表現に置換えることにより、CPU処理時間が短くすることが可能となる。
【0101】
つまり、効率的にフィルタ定義の更新を行うためのロジック(フィルタ更新ロジック)は、フィルタリング処理が行われるコンピュータ環境により異なるため、コンピュータ環境に応じてフィルタ更新ロジックを変更することにより、フィルタリング処理に係るCPU処理時間を短くすることができる。
尚、どのようなロジックを使用するかは、システム導入時に予め決定し、更には、フィルタリング処理の運用中に必要に応じて変更を実施するものとする。
【0102】
以下、上記実施形態における異なるロジックを採用した場合の、「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの機能の実行動作について、具体的に説明する。
【0103】
尚、単語設定情報の記述内容は、上記実施形態と同様に、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0104】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ02の内容(フィルタ定義)を以下に示す。
【0105】
(フィルタ02の内容)
CPUが高負荷:*で発生。
(フィルタ02の内容 ここまで)
【0106】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ01(上記)の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0107】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0108】
(フィルタ一致データベース部11の蓄積メッセージ)
CPUが高負荷:HOST_AAAで発生。
CPUが高負荷:HOST_CCで発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_CC で発生。
CPUが高負荷:HOST_AAA で発生。
CPUが高負荷:HOST_DDDで発生。
CPUが高負荷:HOST_Bで発生。
CPUが高負荷:HOST_DDDで発生。
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0109】
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ条件「CPUが高負荷:*で発生。」における「*」の部分を切り出して解析する。
【0110】
ここで、単語・長さ分析手段72が、フィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0111】
(切り出されたメッセージ)
HOST_AAA
HOST_CC
HOST_AAA
HOST_AAA
HOST_CC
HOST_CC
HOST_AAA
HOST_DDD
HOST_B
HOST_DDD
(切り出されたメッセージ ここまで)
【0112】
次いで、単語・長さ分析手段72は、単語設定情報に基づく単語分類を行う。
ここで、単語・長さ分析手段72は、単語ごとに出現回数、および出現割合を算出しこれに基づきグループ分けを行う(図8(A))。また、対象の単語の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する(図8(B))。
【0113】
これにより、単語・長さ分析手段72は、図8(A)および(B)に示すように、抽出された各単語について、出現回数、出現割合、単語の出現場所、および単語の長さについて、また、メッセージ全体の長さに対する出現回数、出現割合をリスト化したテーブル情報を生成する。
【0114】
次に、出現頻度分析手段74が、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
【0115】
ここでは、図8(A)の内容に基づき出現割合が30%以上である、HOST_AAA、およびHOST_CCをフィルタ候補として抽出する。
これにより、この段階でのフィルタ候補は、「CPUが高負荷:HOST_AAAで発生。」および「CPUが高負荷:HOST_CC で発生。」となる。
【0116】
図8(B)における全体の長さでは、効率化フィルタ作成定義情報の閾値を上回る文は、
8バイト、および7バイトが当てはまるので、それぞれをフィルタ候補として抽出する。
これにより、この段階での追加フィルタ候補は、「CPUが高負荷:.{8} で発生。」、「CPUが高負荷:.{7} で発生。」「CPUが高負荷:HOST_AAA で発生。」および「CPUが高負荷:HOST_CC で発生。」となる。
【0117】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補の出現確率を算出すると共に、出現確率が30%以上のものを追加フィルタ候補として選出し、次に、重複が無いか確認を行う。
ここで、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0118】
具体的には、図9に示すように、「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:HOST_AAAで発生。」が重複なので、出現確率の低い「CPUが高負荷:HOST_AAAで発生。」を削除し、次に、「CPUが高負荷:.{7}で発生。」と「CPUが高負荷:HOST_CCで発生。」が重複なので、優先度の低い「CPUが高負荷:HOST_AAAで発生。」を削除する。
【0119】
これにより、この段階における追加フィルタ候補は、「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:.{7}で発生。」となる。
次いで、フィルタ候補選定手段75は、この「CPUが高負荷:.{8}で発生。」と「CPUが高負荷:.{7}で発生。」を追加フィルタ候補としてフィルタ保持部81に送信する。
これにより、フィルタ02の内容は、以下に示すように、更新される。
【0120】
(フィルタ02の内容)
# CPUが高負荷:* で発生 の分析結果より追加
CPUが高負荷:.{8} で発生。
# CPUが高負荷:* で発生 の分析結果より追加
CPUが高負荷:.{7} で発生。
CPUが高負荷:* で発生。
(フィルタ02の内容 ここまで)
【0121】
尚、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0122】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ02に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0123】
(追加フィルタの最適化確認処理機能)
次いで、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0124】
ここでは、フィルタ有効性分析手段77が、フィルタ02に含まれるフィルタ定義である、「CPUが高負荷:.{8}で発生。」、「CPUが高負荷:.{7}で発生。」、および「CPUが高負荷:*で発生。」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ02に含まれるフィルタ定義を示す。
【0125】
(フィルタ02)
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{8}で発生。
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{7}で発生。
CPUが高負荷:*で発生。
(フィルタ02 ここまで)
【0126】
ここで、フィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されているメッセージより、追加フィルタと元になったフィルタに基づき抽出された(一致した)メッセージ数と、全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を求める。
また、フィルタ有効性分析手段77は、一致したメッセージ数の割合が効率化フィルタ作成定義設定情報の閾値以上であるか否かを判定し、これにより、追加されたフィルタの有効性を判定する。
有効性を確認したフィルタ定義については、出現確率の高い順にフィルタを並べ替えを行い、最終的なフィルタ定義を決定する。また、有効性が確認できなかったフィルタ定義については削除する。
【0127】
具体的には、フィルタ02に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図10に示すように、「CPUが高負荷:.{8}で発生。」の蓄積件数が50件、全体の割合が50%、「CPUが高負荷:.{7}で発生。」の蓄積件数が40件、全体の割合が40%、「CPUが高負荷:*で発生。」の蓄積件数が10件、全体の割合が10%である。
【0128】
ここでは、「CPUが高負荷:.{8}で発生。」、「CPUが高負荷:.{7}で発生。」、「CPUが高負荷:*で発生。」に一致した全体の件数100件に対して、追加したフィルタ定義「CPUが高負荷:.{8}で発生。」および「CPUが高負荷:.{8}で発生。」の蓄積件数は、それぞれ50件および40件で、全体に対する割合50%および40%である(一致)。
ここで、追加フィルタ定義の割合は、効率化フィルタ作成定義情報に設定された値(30%)を上回っているため、削除されない。
これにより、フィルタ有効性分析手段77による有効性確認処理後のフィルタ02は、以下に示すように更新設定される。
【0129】
(フィルタ02の内容)
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{8}で発生。
# CPUが高負荷:*で発生の分析結果より追加
CPUが高負荷:.{7}で発生。
CPUが高負荷:*で発生。
(フィルタ02 ここまで)
【0130】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義(Error)をコメントアウトした状態で記述している。
【0131】
以上のように、上記実施形態の変形例(1)では、上記実施形態の場合と同様に、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0132】
[実施形態の変形例(2)]
次に、上記実施形態および変形例(1)とは異なるフィルタ更新ロジックを採用した場合としての上記実施形態の変形例(2)における、「通常の運用時のメッセージ格納機能」、「フィルタ最適化処理機能」、および「追加フィルタの最適化確認処理機能」それぞれの実行動作内容について、具体的に説明する。
【0133】
尚、単語設定情報の記述内容は、上記実施形態と同様に、「助詞や句読点等は除外する。」、「同じメッセージに複数個ある単語を1つとしてカウントしない。」、および「単語の区切りは、空白文字(タブ含む)。」とする。
【0134】
また、効率化フィルタ作成定義設定情報の記述内容は、「全体に対する出現割合:30%以上」とする。また、蓄積期間設定情報の記述内容は、「1ヶ月」とする。
ここで、フィルタ条件情報であるフィルタ03の内容(フィルタ定義)を以下に示す。
【0135】
(フィルタ03の内容)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0136】
(通常の運用時のメッセージ格納機能の実行動作)
まず、マネージャ装置51のメッセージ受信部22は、エージェント61〜6Nそれぞれから送り込まれたメッセージを受信する。
次に、フィルタ処理部21が、受信したメッセージがフィルタ03の内容に一致するか否かを判定すると共に、一致したメッセージを抽出しフィルタ一致データベース部11に格納する(フィルタリング処理)。尚、格納されたメッセージは蓄積期間設定に設定された期間記憶されるものとする。
【0137】
ここで、フィルタ処理部21によるフィルタリング処理の結果、フィルタ一致データベース部11には、以下に示すメッセージが蓄積されるものとする。
【0138】
(フィルタ一致データベース部11の蓄積メッセージ)
Error:2009 1 1 Sat 12:23 ORA−1654: unable to extend index (サーバ)
Error:2009 1 11 Sun 13:23 ORA−1654: unable to extend index (サーバ)
Error:2009 1 15 Thu 8:34 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 1 20 Tue 22:3 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 1 28 Wed 7:13 ORA−1034: Oracleは使用できません。(サーバ)
Error:2009 2 2 Mon 12:23 ORA−12154: TNS: 指定された接続識別子を解決できませんでした。(サーバ)
Error:2009 2 8 Sun 13:23 ORA−12541: TNS: リスナーがありません。(サーバ)
Error:2009 2 11 Wed 8:34 ORA−12514: TNS: リスナーは接続記述子にあるSERVICE(サーバ)
Error:2009 2 22 Sun 2:3 ORA−12154: TNS:could not resolve service name (サーバ)
Error:2009 2 22 Sun 2:33 ORA−6502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。(サーバ)
(フィルタ一致データベース部11の蓄積メッセージ ここまで)
【0139】
次に、分析部71は、フィルタ一致データベース部11に蓄積されているメッセージの分析を行い、これに基づきフィルタ保持部81内に最適なフィルタを更新設定する。
ここでは、分析部71の単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ03「Error:.* ORA−.* (サーバ)」に含まれる2つの*のうち、前側の(前半の)「*」部分を切り出して解析を行うものとする。
【0140】
ここで、単語・長さ分析手段72が、効率化指定フィルタに該当する部分としてフィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0141】
(切り出されたメッセージ)
2009 1 1 Sat 12:23
2009 1 11 Sun 13:23
2009 1 15 Thu 8:34
2009 1 20 Tue 22:3
2009 1 28 Wed 7:13
2009 2 2 Mon 12:23
2009 2 8 Sun 13:23
2009 2 11 Wed 8:34
2009 2 22 Sun 2:3
2009 2 22 Sun 2:33
(切り出されたメッセージ ここまで)
【0142】
次いで、単語・長さ分析手段72は、メッセージに含まれる第1〜5単語について、単語設定情報に基づき単語分類を行う。
ここで、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分け、を単語設定情報の定義に基づき出現回数、および出現割合を算出し、これに基づきグループ分けを行う。また、対象の単語(第1〜5単語)の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する(図11(A)〜(F))。
【0143】
これにより、単語・長さ分析手段72は、図11(A)〜(F)に示すように、抽出された各単語(第1〜5単語)について、出現回数、出現割合、単語の出現場所、および単語の長さについて、また、メッセージ全体の長さに対する出現回数、出現割合をリスト化したテーブル情報を生成する。
【0144】
次に、出現頻度分析手段74が、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
【0145】
ここでは、まず、図11(A)の内容に基づき出現割合が100%である、「2009」を更新フィルタ候補として抽出する。
次いで、図11(B)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文は、出現回数50%の「1」と同じく出現回数50%の「2」を抽出する。
また、図11(C)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索した場合、候補がないので、単語の長さについて、効率化フィルタ作成定義情報の閾値を上回る文を検索する。
これにより、単語の長さ「2バイト」70%、および単語の長さ「1バイト」30%が抽出される。
更に、図11(D)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索することにより、出現回数40%の「Sun」を抽出することができる。
また、図11(E)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索した場合、候補がないので、単語の長さについて、効率化フィルタ作成定義情報の閾値を上回る文を検索する。
これにより、単語の長さ「5バイト」50%、および単語の長さ「4バイト」40%が抽出される。
更に、図11(F)の内容に基づき、効率化フィルタ作成定義情報の閾値を上回る文を検索することにより、全体の長さ「18バイト」80%を抽出することができる。
これにより、この段階での追加フィルタ候補は、以下のように示される。
【0146】
(この段階での追加フィルタ候補)
Error:2009 [1|2] .{1} Sun .{5} ORA−.* (サーバ)
Error:2009 [1|2] .{2} Sun .{4} ORA−.* (サーバ)
Error:2009 [1|2] .{1} Sun .{5} ORA−.* (サーバ)
Error:2009 [1|2] .{2} Sun .{4} ORA−.* (サーバ)
(この段階での追加フィルタ候補 ここまで)
【0147】
次いで、フィルタ候補選定手段75は、選出した追加フィルタ候補の出現確率を算出すると共に、出現確率が30%以上のものを追加フィルタ候補として選出し、次に、重複が無いか確認を行う。
ここで、重複があった場合、出現確率の低い方の追加フィルタ候補を削除する。
更に、出現確率も同値である場合、追加フィルタ候補の単語の出現場所が先頭に近い単語を優先する、つまり、追加フィルタ候補としての優先順位を上位に設定する。
【0148】
具体的には、図12に示すように、各フィルタ候補の出現確率、および実際に一致した数の合算が100%となる値が算出される。
ここで、出現頻度、および一致した数が30%より低い(2)〜(5)のフィルタ候補は削除され、この段階でのフィルタ候補は、「Error:.{24} ORA−.* (サーバ)」となる。
【0149】
次いで、単語・長さ分析手段72が、効率化したいフィルタの部分(フィルタ定義)の抽出を行う。
ここでは、フィルタ03「Error:.* ORA−.* (サーバ)」に含まれる2つの*のうち、後側の(後半の)「*」部分を切り出して解析を行うものとする。
【0150】
ここで、単語・長さ分析手段72が、効率化指定フィルタに該当する部分としてフィルタ一致データベース部11から切り出したメッセージを以下に示す。
【0151】
(切り出されたメッセージ)
1654: unable to extend index
1654: unable to extend index
12154: TNS: 指定された接続識別子を解決できませんでした。
12154: TNS: 指定された接続識別子を解決できませんでした。
1034: Oracleは使用できません。
12154: TNS: 指定された接続識別子を解決できませんでした。
12541: TNS: リスナーがありません。
12514: TNS: リスナーは接続記述子にあるSERVICE
12154: TNS: could not resolve service name
6502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。
(切り出されたメッセージ ここまで)
【0152】
次いで、単語・長さ分析手段72は、切り出されたメッセージについて、単語設定情報に基づき単語分類を行う。
ここで、単語・長さ分析手段72は、単語出現頻度調査、単語長調査、単語出現場所調査、グループ分け、を単語設定情報の定義に基づき出現回数、および出現割合を算出し、これに基づき単語分類(グループ分け)を行う。また、対象の単語の出現場所がメッセージ中の先頭から何バイト目か、また、単語の長さを算出する。更には、メッセージの全体の長さも算出する。
【0153】
次に、出現頻度分析手段74は、単語・長さ分析手段72で生成されたテーブル情報の内容に基づき、効率化フィルタ作成定義設定情報に設定された値との閾値判定を行い、追加フィルタ候補を選定する。
ここでは、算出された単語の出現回数に基づき効率化フィルタ作成定義情報の閾値を上回る単語をフィルタ候補として抽出する。
【0154】
次いで、フィルタ候補選定手段75が、出現頻度分析手段74により抽出された追加フィルタ候補の出現確率を算出し、出現確率が30%以上のものを追加フィルタ候補として決定する。
このとき、フィルタ候補選定手段75は、上記(前半の*の場合)と同様に、出現確率の高い順にフィルタ候補をソートし、フィルタに重複が無いか、確認する。また、出現確率が同値である場合、単語の出現場所が先頭に近いものを優先し、最終的に追加するフィルタを決定するものとする。
【0155】
これにより、追加フィルタ候補は、「Error:.* ORA−.{57} (サーバ)」を追加フィルタ候補として選定する。尚、「.{57}」の部分は、「12154: TNS: 指定された接続識別子を解決できませんでした。」の部分である。
【0156】
次いで、フィルタ候補選定手段75は、上記フィルタ03における「前半の*」、および「後半の*」それぞれに対応して選定した追加フィルタ候補を合わせることにより、追加フィルタ候補「Error:.{24} ORA−.{57} (サーバ)」を決定する。
【0157】
更に、フィルタ候補選定手段75は、この追加フィルタ候補「Error:.{24} ORA−.{57} (サーバ)」をフィルタ保持部81に対して送信することにより、以下に示す、フィルタ03を更新設定する(フィルタ追加削除処理)。
【0158】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ) の分析結果より追加
Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0159】
尚、上記フィルタ03の内容において、追加されたフィルタ定義は、元になったフィルタ定義が何であるかがわかるように、フィルタ候補選定手段75により、フィルタ定義にコメントが付与されるものとする。
【0160】
次いで、マネージャ装置51のフィルタ処理部21では、上記のように追加更新されたフィルタ02に基づきフィルタリング処理されたメッセージ(フィルタに一致したメッセージ)がフィルタ一致データベース部11に格納される、フィルタリング処理が実行される(通常の運用時のメッセージ格納工程)。
【0161】
(追加フィルタの最適化確認処理機能)
次に、分析部71のフィルタ有効性分析手段77が、フィルタ一致データベース部11に格納されたメッセージを分析することにより、フィルタ保持部81に設定された各フィルタのフィルタ定義によるフィルタリング処理の有効性を確認する処理を行う。
【0162】
ここでは、フィルタ有効性分析手段77が、フィルタ03に含まれるフィルタ定義である、「Error:.{24} ORA−.{57} (サーバ)」、「Error:.* ORA−.* (サーバ)」について、それぞれのフィルタリング処理に係る有効性を確認する。
以下、フィルタ03に含まれるフィルタ定義を示す。
【0163】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ) の分析結果より追加
Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03の内容 ここまで)
【0164】
ここで、フィルタ有効性分析手段77は、フィルタ一致データベース部11に蓄積されているメッセージより、追加フィルタと元になったフィルタに基づき抽出された(一致した)メッセージ数と、全体のメッセージ数に対して、追加された各フィルタで一致したメッセージ数の割合を求める。
また、フィルタ有効性分析手段77は、一致したメッセージ数の割合が効率化フィルタ作成定義設定情報の閾値以上であるか否かを判定し、これにより、追加されたフィルタの有効性を判定する。
有効性を確認したフィルタ定義については、出現確率の高い順にフィルタを並べ替えを行い、最終的なフィルタ定義を決定する。また、有効性が確認できなかったフィルタ定義については削除する。
【0165】
具体的には、フィルタ03に含まれるフィルタ定義それぞれに一致したメッセージ数と、その全体のメッセージ数に対する割合は、図13に示すように、「Error:.{24} ORA−.{57} (サーバ)」の蓄積件数が29件、全体の割合が29%、「Error:.* ORA−.* (サーバ)」の蓄積件数が71件、全体の割合が71%、「CPUが高負荷:*で発生。」であり、その合計は、「Error:.{24} ORA−.{57} (サーバ)」または「Error:.* ORA−.* (サーバ)」に一致した100件に一致している。
【0166】
ここで、追加フィルタ定義「Error:.{24} ORA−.{57} (サーバ)」の割合は、効率化フィルタ作成定義情報に設定された値(30%)を下回っているため削除され、これにより、フィルタ有効性分析手段77による有効性確認処理が行われた結果、フィルタ03は、以下に示すように更新設定される。
【0167】
(フィルタ03の内容)
# Error:.* ORA−.* (サーバ)の分析結果より追加 確認後無効
#Error:.{24} ORA−.{57} (サーバ)
Error:.* ORA−.* (サーバ)
(フィルタ03 ここまで)
【0168】
尚、ここでは、削除されたフィルタ定義が何であるかがわかるように、削除されたフィルタ定義をコメントアウトした状態で記述している。
【0169】
以上のように、上記実施形態の変形例(2)では、上記実施形態の場合と同様に、CPU使用時間が短くなるように、フィルタを効率化することが可能であり、メッセージが多発した場合でも、マネージャ装置に高負荷がかかるのを有効に抑制することができ、更には、メッセージ処理遅延の発生を抑制することが可能となる。
また、マネージャ装置51の運用管理者が発生したメッセージの傾向を調べフィルタ内容(フィルタ定義)の更新を手動で行うことなく、自動でフィルタ内容を最適化する更新を行うことができる。
【0170】
上述した実施形態については、その新規な技術的内容の要点をまとめると、以下のようになる。
尚、上記の実施形態の一部又は全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【0171】
(付記1)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、
前記フィルタ分析更新部は、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴とするフィルタ設定システム。
【0172】
(付記2)
付記1に記載のフィルタ設定システムにおいて、
前記フィルタ条件追加更新手段は、前記メッセージ中における前記単語の出現場所にかかる情報を取得すると共に、異なる条件単語間で前記算出された出現頻度割合が同値である場合に前記出現場所が前記メッセージ内の先頭に近い条件単語を優先する単語優先度設定機能を備えたことを特徴とするフィルタ条件設定システム。
【0173】
(付記3)
付記1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部および前記フィルタ条件削除更新部における動作起動タイミングを前記フィルタ条件追加更新手段における動作内容に基づき決定する更新動作タイミング決定部を備えたことを特徴とするフィルタ条件設定システム。
【0174】
(付記4)
付記1又は2に記載のフィルタ条件設定システムにおいて、
単語分類手段は、予め前記条件単語の定義内容を設定することにより前記メッセージ中における分析範囲を既定する条件単語定義設定機能を備えたことを特徴とするフィルタ条件設定システム。
【0175】
(付記5)
付記1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部による前記フィルタ有効性の有無判定が行われるフィルタ条件情報を前記フィルタ条件追加更新手段による追加更新が行われたフィルタ条件情報に限定することを特徴としたフィルタ条件設定システム。
【0176】
(付記6)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としたフィルタ設定方法。
【0177】
(付記7)
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としたフィルタ設定プログラム。
【産業上の利用可能性】
【0178】
本発明は、ネットワークを介して送り込まれる通信データについて通信データを有効に選別しフィルタリングを行うコンピュータネットワークシステムに対して適用することができる。
【符号の説明】
【0179】
11 フィルタ一致データベース部
21 フィルタ処理部
22 メッセージ受信部
31 監視端末へ通知処理部
41 監視端末
51 マネージャ装置
61、62 エージェント装置
72 単語・長さ分析手段
74 出現頻度分析手段
75 フィルタ候補選定手段
81 フィルタ保持部
【特許請求の範囲】
【請求項1】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、
前記フィルタ分析更新部は、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴とするフィルタ設定システム。
【請求項2】
請求項1に記載のフィルタ設定システムにおいて、
前記フィルタ条件追加更新手段は、前記メッセージ中における前記単語の出現場所にかかる情報を取得すると共に、異なる条件単語間で前記算出された出現頻度割合が同値である場合に前記出現場所が前記メッセージ内の先頭に近い条件単語を優先する単語優先度設定機能を備えたことを特徴とするフィルタ条件設定システム。
【請求項3】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部および前記フィルタ条件削除更新部における動作起動タイミングを前記フィルタ条件追加更新手段における動作内容に基づき決定する更新動作タイミング決定部を備えたことを特徴とするフィルタ条件設定システム。
【請求項4】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
単語分類手段は、予め前記条件単語の定義内容を設定することにより前記メッセージ中における分析範囲を既定する条件単語定義設定機能を備えたことを特徴とするフィルタ条件設定システム。
【請求項5】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部による前記フィルタ有効性の有無判定が行われるフィルタ条件情報を前記フィルタ条件追加更新手段による追加更新が行われたフィルタ条件情報に限定することを特徴としたフィルタ条件設定システム。
【請求項6】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としたフィルタ設定方法。
【請求項7】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としたフィルタ設定プログラム。
【請求項1】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うと共に当該分析結果に基き前記フィルタ条件情報の更新を行うフィルタ分析更新部とを備えたフィルタ設定システムであって、
前記フィルタ分析更新部は、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類手段と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新手段と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定手段と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新手段とを備えたことを特徴とするフィルタ設定システム。
【請求項2】
請求項1に記載のフィルタ設定システムにおいて、
前記フィルタ条件追加更新手段は、前記メッセージ中における前記単語の出現場所にかかる情報を取得すると共に、異なる条件単語間で前記算出された出現頻度割合が同値である場合に前記出現場所が前記メッセージ内の先頭に近い条件単語を優先する単語優先度設定機能を備えたことを特徴とするフィルタ条件設定システム。
【請求項3】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部および前記フィルタ条件削除更新部における動作起動タイミングを前記フィルタ条件追加更新手段における動作内容に基づき決定する更新動作タイミング決定部を備えたことを特徴とするフィルタ条件設定システム。
【請求項4】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
単語分類手段は、予め前記条件単語の定義内容を設定することにより前記メッセージ中における分析範囲を既定する条件単語定義設定機能を備えたことを特徴とするフィルタ条件設定システム。
【請求項5】
請求項1又は2に記載のフィルタ条件設定システムにおいて、
前記フィルタ有効性判定部による前記フィルタ有効性の有無判定が行われるフィルタ条件情報を前記フィルタ条件追加更新手段による追加更新が行われたフィルタ条件情報に限定することを特徴としたフィルタ条件設定システム。
【請求項6】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定方法において、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出し、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新し、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定し、前記有効性がないと判定されたフィルタ条件情報を削除することを特徴としたフィルタ設定方法。
【請求項7】
外部から入力されたメッセージから予め設定されたフィルタ条件情報に一致したメッセージを抽出するフィルタリング処理を行うと共に条件一致メッセージとして記憶するフィルタリング処理部と、前記条件一致メッセージの分析を行うフィルタ分析更新部とを備えたフィルタ設定システムにあって、前記分析結果に基き前記フィルタ条件情報の更新を行うフィルタ設定プログラムにおいて、
前記条件一致メッセージに含まれる単語の出現回数、出現位置、および当該単語の長さを算出し、前記算出された出現回数が予め設定されたフィルタ作成定義情報の値を上回る単語を条件単語として抽出する単語分類機能と、
前記条件単語から前記メッセージ内における出現頻度割合が一定値以上の条件単語を追加フィルタ定義として決定し、前記追加フィルタ定義を追加することにより前記フィルタ条件情報の内容を更新するフィルタ条件追加更新機能と、
前記フィルタ条件情報に一致したメッセージの割合に基づき前記フィルタ条件情報のフィルタリング処理に係る有効性を判定するフィルタ有効性判定機能と、前記有効性がないと判定されたフィルタ条件情報を削除するフィルタ条件削除更新機能と、をコンピュータに実行させることを特徴としたフィルタ設定プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−3560(P2012−3560A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−138756(P2010−138756)
【出願日】平成22年6月17日(2010.6.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成22年6月17日(2010.6.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]