説明

閾値設定方法とシステムおよびプログラム

【課題】ネットワークで送受信されるデータ量などのトラヒックの異常検知を高精度に、かつ効率的に行うことを可能とする閾値設定を行う。
【解決手段】通信トラヒックの異常検知に用いる閾値を自動設定する閾値設定システム1であって、振分器2は、コンフィグ情報を参照して、入力された観測値を予め設定された代表時刻を含む考慮期間単位に分け、統計量計算器3は、各考慮期間内のトラヒックデータの平均値と標準偏差を計算し、その組を統計量として求めると共に、現周期におけるいずれかの考慮期間に該当するデータが全て観測されるごとに計算される統計量と、過去周期までに計算された統計量の重み付け平均(平均統計量)を計算し、閾値設定用統計量計算器4は、全ての代表時刻における各平均統計量の重み付け平均を閾値設定用統計量として算出し、閾値計算器5は、閾値設定用統計量と予め定められたパラメタを用いて閾値を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時々刻々と観測される周期を持ったトラヒック時系列データの分析技術に係り、特に、周期性を利用して、観測されるネットワークトラヒック等の異常判定に用いる閾値の設定を効率的に行うのに好適な技術に関するものである。
【背景技術】
【0002】
日々増大するネットワーク需要を背景に、DDoS(Distributed Denial of Service)攻撃にあげられるようなネットワークトラヒック資源を大量消費する不正行為が増えてきた。このような不正行為でネットワーク帯域が浪費されてしまえば、一般ユーザの通信品質を著しく劣化させることにつながる。そのため、このDDoS攻撃のような異常トラヒックが発生したことを一刻も早く検知し、対策することがネットワーク管理者に求められている。
【0003】
異常トラヒックの発生を検知する技術として、観測トラヒックのボリューム変化に着目する技術がある。ここで観測トラヒックとは、ある決められた時間間隔毎に測定される、パケット数やバイト数などのデータ量の時間推移を言う。この技術では、観測トラヒックが基準値からある一定量以上の逸脱を示したとき、トラヒックに異常が発生したと判定する。従来、この「基準値(ベーストラヒック)」と「ある一定量(閾値)」は、オペレータの経験により決定されていた。
【0004】
しかし、大規模ネットワークの綿密な監視を想定したとき、監視対象が膨大となるため、人手により全てを管理することは不可能に近い。何故なら、それぞれの監視対象におけるトラヒックデータは、通常のトラヒック量やトラヒック量の変動幅も異なるため、ベーストラヒック(基準値)と閾値(一定量)は監視対象毎個別に設定する必要があるためである。そこで、閾値(一定量)設定を自動化することが望まれる。
【0005】
閾値設定を自動化する技術として、観測トラヒックの平均値や標準偏差といった統計量を用い、統計的根拠に基づいた外れ値判定を利用する技術がある。例えば非特許文献1において記載されているように、移動平均値をベーストラヒック(基準値)、標準偏差を閾値(一定量)として用いるボリンジャーバンドと呼ばれる技術が、特に多用されている。
【0006】
しかし、このボリンジャーバンドをそのままトラヒックの異常検知に適用しても、精度の良い異常検知を行うことは難しい。その理由は、ボリンジャーバンドは観測トラヒックにおける統計的性質の変化を検出できるが、実際の観測トラヒックでは統計的性質の変化がそのまま異常であるとは言い切れないためである。
【0007】
すなわち、トラヒックの生成が人間の生活サイクルに依存し、この場合、トラヒックデータは一日単位、一週間単位、一年単位といった周期性を見せることがある。
【0008】
例えば、ネットワークトラヒックにおいては、一日単位の周期的傾向としては、人々の活動が少ない深夜から朝にかけてはトラヒック量が少なく、人々の活動が活発となる昼から夜にかけてはトラヒック量が増加するという傾向が見られ、また、一週間単位の周期的傾向としては、平日はトラヒック量が多く、休日はトラヒック量が減少するという傾向が見られ、さらに、一年単位の周期的傾向としては、長期休暇が見られる時期はトラヒック量が少なく、休暇明けと見られる時期にはトラヒック量が増加するという傾向が見られるといったものである。
【0009】
また、観測トラヒックのばらつき具合も、トラヒック量と共に周期的な増減を見せる。
【0010】
以上のように、トラヒック量が周期性を見せる場合、特定の時間帯でトラヒックの統計的性質が劇的に変化したとしても、毎周期起こっている変化であれば正常だといえる。
【0011】
しかし、ボリンジャーバンドのように、近傍過去の観測値のみを利用する移動平均値では、ベーストラヒックの統計的性質の周期的な変化に対応することができない。また、トラヒック量の観測値のばらつきを示す標準偏差も、近傍過去の観測値のみを利用するのであれば同様の問題が生じる。
【0012】
このように、ボリンジャーバンドは周期性を考慮する仕組みがないため、周期的トラヒックを対象とした場合、精度の良い異常検知を行うのは難しい。
【0013】
一方、周期性を考慮した異常検知技術として、例えば非特許文献2に記載のHolt−Winters法を用いる技術が知られている。この技術は、直近の過去の情報の他にも、より遠い過去の情報も利用し、周期性を考慮したベースラインの予測による異常検知を実現している。
【0014】
しかし、この技術では、複数のパラメタをトラヒックにあわせて経験的に調節する必要があり、複数の観測トラヒックを対象とした異常検知に用いるのは困難である。また、閾値設定においては、ボリンジャーバンドと同様の移動平均値を用いているため、観測トラヒックにおけるばらつき具合の周期性を考慮する仕組はない。
【0015】
【非特許文献1】John A. Bollinger(ジョン・A・ボリンジャー)著,長尾慎太郎監修,飯田恒夫訳,“ボリンジャーバンド入門”,パンローリング株式会社,2002,pp.95−117,351.
【非特許文献2】Jake D.Brutlag,“Aberrant Behavior Detection in Time Series for Network Monitoring”,14th Systems administration conference(LISA2000),Dec.2000,pp.138−146.
【発明の開示】
【発明が解決しようとする課題】
【0016】
解決しようとする問題点は、従来技術のボリンジャーバンドでは周期性を考慮する仕組みがないため、周期的トラヒックを対象とした場合、精度の良い異常検知を行うのは難しい点と、従来技術のHolt−Winters法を用いる技術では、複数のパラメタをトラヒックにあわせて経験的に調節する必要があり、複数の観測トラヒックを対象とした異常検知に用いるのが困難な点である。
【0017】
本発明の目的は、これら従来技術の課題を解決し、例えば、ネットワークで送受信されるデータ量などのトラヒックの異常検知を高精度に、かつ、効率的に行うことを可能とする閾値設定を行うことである。
【課題を解決するための手段】
【0018】
上記目的を達成するため、本発明では、例えば、観測したネットワークのトラヒックが予め定められた基準値から一定量以上逸脱したとき、当該トラヒックに異常が発生したと判定する際に用いる、一定量を意味する閾値を、プログラムされたコンピュータによって自動設定するために、プログラムされたコンピュータが実行する処理手段として、振分器2、統計量計算器3、閾値設定用統計量計算器4、閾値設定器5を設け、振分器2においては、予め記録されたコンフィグ情報(一周期の長さ、代表時刻と考慮期間)を参照して、入力された観測値(所定の時間間隔単位で時系列に集計されるデータ量)を、予め設定された代表時刻を含む考慮期間単位に分け、統計量計算器3においては、各考慮期間内のトラヒックデータの平均値と標準偏差を計算し、その組を統計量として求めると共に、コンフィグ情報(加重平均の重み)を参照して、現周期におけるいずれかの考慮期間に該当するデータが全て観測されるごとに計算される統計量と、過去周期までに計算された統計量の重み付け平均を計算しこれを平均統計量として求め、閾値設定用統計量計算器4においては、全ての代表時刻における各平均統計量の重み付け平均を閾値設定用統計量として算出し、閾値設定器5においては、閾値設定用統計量計算器4が算出した閾値設定用統計量と予め定められたパラメタαを用いて、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)により閾値を算出する。
【発明の効果】
【0019】
本発明によれば、周期性を考慮して統計量を見積もることにより、毎周期発生するトラヒック変動を加味した閾値を設定することが可能となり、トラヒックの昼夜変動などで生じる誤検出や非検出を軽減される。また、過去の統計情報も考慮するため、瞬時的な傾向変化を観測した後に閾値の精度が大きく損なわれることを回避できる。
【発明を実施するための最良の形態】
【0020】
以下、図を用いて本発明を実施するための最良の形態例を説明する。図1は、本発明に係る閾値設定システムの構成例を示すブロック図であり、図2は、図1における閾値設定システムでの閾値設定動作例を示す説明図、図3は、本発明に係る閾値設定方法の第1の処理手順例を示すフローチャート、図4は、本発明に係る閾値設定方法の第2の処理手順例を示すフローチャート、図5は、本発明に係る閾値設定方法の第3の処理手順例を示すフローチャートである。
【0021】
図1における閾値設定システム1は、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してCD−ROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、所定の時間間隔単位で時系列に集計されるデータの量が周期的に増減する際の、データの量の異常を判定する基準値を予測するシステムであって、プログラムされたコンピュータの処理機能として、振分器2、統計量計算器3、閾値設定用統計量算出器4、閾値計算器5を有する。
【0022】
本例では、所定の時間間隔単位で時系列に集計されるデータの量を、ネットワーク上のトラヒックとし、集計したネットワークトラヒックが基準値から一定量以上逸脱したときに当該トラヒックに異常が発生したと判定する際の、一定量を意味する閾値を自動設定する動作を説明する。
【0023】
本例で想定するトラヒックとは、トラヒック観測装置で観測されたネットワーク上で送受信されるパケット数やバイト数などを、一定間隔毎に集約・集計したものを言う。例えば、一分間隔に集約するなら、一時間の観測トラヒックは60個のデータ時系列となる。
【0024】
観測できるものであれば、フロー数やルータのメモリ使用量などをトラヒックとして取り扱っても良い。
【0025】
本例では、観測トラヒックを正常値とみなす基準値からの許容範囲(閾値)を設定することが目的であり、ここで、基準値は、過去のトラヒックデータの平均値でもいいし、予め与えられる値でも良い。
【0026】
実際の観測トラヒックは、時間によってデータのばらつき具合が変化する。ネットワークトラヒックを例に挙げれば、人々の活動が少ない朝方のトラヒック量は時刻毎の観測データにばらつきが少なく、人の活動が活発になる昼から夜にかけてのトラヒック量は時刻毎の観測データに大きなばらつきが見られる。
【0027】
このような観測データにおける時刻毎のばらつきの変化は、人間の生活サイクルに依存して周期的な振舞いを示し、滑らか(連続的)に生じる。そこで、本例では、観測トラヒックを周期毎に取り扱い、現時刻におけるばらつき予測に、過去周期に観測したトラヒックのばらつきを利用する。
【0028】
このように、本例では、予め定められる一定期間に計測されたフロー数やバイト数などの観測値について、一定期間に計測された観測値の時間変化をトラヒックと呼ぶ。また、観測値が記録されるタイミングを時刻と呼ぶ。
【0029】
このトラヒックについて、本例では、最初に、一周期分のデータ長を決定し、一周期の中に代表時刻と呼ぶ時刻を一つ以上設定する(図2における代表時刻を参照)。さらに、それぞれの代表時刻について考慮期間を設定する(図2における考慮期間を参照)。
【0030】
これらの一周期の長さと代表時刻および考慮時間の組のパターンは、本システムを制御するコンフィグ情報として予め定められるものとする。例えば、一周期の長さは監視対象によって様々な値をとる可能性はあるものの、人間の活動に依存するトラヒックであれば、一日、一週間、一年等が妥当である。
【0031】
また、代表時刻は、トラヒックデータの統計的性質を統計量としてサンプリングするためのものであり、代表時刻の個数は、実装時のメモリ容量に応じて最大限(一周期のデータ数)確保しても良いし、メモリ容量次第では適度に間引いても良い。
【0032】
例えば、一周期を1日とした場合、人間の生活サイクルに依存するトラヒックデータの変動は、大まかには朝方と夜の変動となるため、代表時刻を一時間毎、二時間毎に指定するなどでよい。
【0033】
ここで、代表時刻に選ばれなかった時刻の統計量は、代表時刻における統計量から推定する。
【0034】
尚、考慮期間は代表時刻を中心として前後等期間設定することが妥当である。また、統計的性質を一定とみなすためには考慮期間は短いほうが良い。
【0035】
このように推定された統計量に基づき、本例では閾値を設定する。本例では、代表時刻における観測値とベーストラヒック量(基準値)との差についての平均値や標準偏差といった統計量を見積もり、将来の閾値設定に利用する。
【0036】
これは、観測トラヒックに周期的な傾向が見られる場合、過去周期におけるある時点での統計的性質と、現在ないしは未来の同時点における統計的性質に高い相関性があるためである。
【0037】
本例では、過去に推定された統計量や過去周期の観測値を利用し、統計量見積精度を向上させる。これにおいて、考慮データ数を指定する移動平均や過去と現在の見積値を混合する加重平均を用いる。具体的には、以下の三つの技術がある。
【0038】
第一の技術は、各周期において代表時刻の考慮期間に該当するデータが集まり次第、統計量を見積り、過去の周期までに見積もられた統計量と最新の統計量との重み付け平均で統計量を更新する技術である。
【0039】
ここで、重み付け平均の重みは、予め定められる量とする。この技術は、統計量更新の頻度が少ないために、統計量計算のための処理量を抑えることができる。また、過去の観測データを間接的に利用できるため、統計量の推定精度が向上する。
【0040】
第二の技術は、各代表時刻について一定の記憶領域を用意し、考慮期間に該当するデータが観測されるたびに記憶し、統計量を計算するものである。ここで、記憶領域がデータで満杯になったときは、該当記憶領域内の最も古いデータを破棄して最新のデータを追加する。
【0041】
この技術では、統計量計算において重みを設定する必要がない。十分な記憶領域を確保することにより、統計量の推定精度が確保される。
【0042】
第三の技術は、各代表時刻について、考慮期間に該当するデータが観測されるたびに統計量を更新するものである。例えば、平均値や標準偏差といった統計量は、重み付平均を用いることで逐次的に更新することができる。
【0043】
ここで、重み付け平均の重みは、予め定められる量とする。この技術では、逐次的に統計量を更新するため、観測データの統計的性質変化を閾値へ即座に反映できる。また、大きな記憶領域を必要としない統計量の推定が可能である。
【0044】
本例において、予め定めるコンフィグ情報は、以上のように、
(1)一周期の長さ、
(2)代表時刻と考慮期間、
(3)加重平均の重み、
となる。
【0045】
ただし、これらのコンフィグ情報は精密に定める必要はない。何故なら、トラヒックの傾向変化は連続的に生じるものであり、一周期の長さに多少のずれがあっても、統計量推定値への影響は少ない。代表時刻と考慮期間は、実装に合わせてなるべく細密に設定すればよく、経験的に定める必要はない。また、観測トラヒックが周期性を有しているとき、各代表時刻の考慮期間内における統計的性質は各周期で似通ったものとなる。そのため、加重平均の重みについても、設定値の差が予測精度に与える影響は少ない。
【0046】
また、ばらつきの変化は連続的に起こるため、各代表時刻間の非代表時刻における統計量を、近傍の代表時刻の統計量の重み付け平均で計算する。これにより、保持すべき代表時刻数を削減することが可能となる。最も単純には、現在の時刻と前後の代表時刻についての内分率を重みとして設定するが、追加のコンフィグ情報として非代表時刻の統計量を計算するための重み付け係数を設定しても良い。
【0047】
本例では、以上の技術で推定された統計量(平均値、標準偏差)と予め定められたパラメタαを用い、各時刻(代表時刻、非代表時刻)の閾値を(平均値)±α(標準偏差)として設定する。
【0048】
このように、図1における閾値設定システム1では、プログラムされたコンピュータが実行する処理手段として、振分器2、統計量計算器3、閾値設定用統計量計算器4、閾値設定器5を具備し、これらの処理手段の処理により、所定の時間間隔単位で時系列に集計されるデータの量が周期的に増減する際の、このデータ量の異常・正常を判定するのに用いる基準値からの逸脱値(閾値)を設定する際、周期性を考慮して統計量を見積もることにより、毎周期発生するトラヒック変動を加味した閾値を設定する。これにより、トラヒックの昼夜変動などで生じる誤検出や非検出を軽減される。また、過去の統計情報も考慮するため、瞬時的な傾向変化を観測した後に閾値の精度が大きく損なわれることを回避できる。
【0049】
すなわち、閾値設定システム1において、振分器2は、図示されていない記憶装置に記録されたコンフィグ情報(一周期の長さ、代表時刻と考慮期間)を参照して、入力された観測値(所定の時間間隔単位で時系列に集計されるデータ量)を、予め設定された代表時刻を含む考慮期間単位に分け、図示していない記憶装置に格納する。
【0050】
統計量計算器3は、振分器2が格納した各考慮期間単位のデータを記憶装置から読み込み、各考慮期間内のトラヒックデータの平均値と標準偏差を計算し、この平均値と標準偏差の組を統計量として図示していない記憶装置に格納すると共に、コンフィグ情報(加重平均の重み)を参照して、現周期におけるいずれかの考慮期間に該当するデータが全て観測されるごとに計算される統計量と、過去周期までに計算された統計量の重み付け平均を計算しこれを平均統計量とし、図示していない記憶装置に格納する。
【0051】
閾値設定用統計量計算器4は、統計量計算器3が算出して格納した全ての代表時刻における各平均統計量を記憶装置から読み込み、各平均統計量の重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置に格納する。
【0052】
閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を記憶装置から読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出する。
【0053】
あるいは、統計量計算器3は、統計量(各考慮期間内のトラヒックデータの平均値と標準偏差の組)を計算し記憶装置に格納した後、ある考慮期間内のトラヒックデータが観測されるたびに、記憶装置に記憶されている最も古いトラヒックデータを新しいデータで置き換え、各代表時刻の統計量を逐次計算して記憶装置に格納し、閾値設定用統計量計算器4は、統計量計算器3が逐次計算して格納した、全ての代表時刻における統計量の重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置に格納し、閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を記憶装置から読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出することでも良い。
【0054】
また、統計量計算器3は、統計量(各考慮期間内のトラヒックデータの平均値と標準偏差の組)を計算し記憶装置に格納した後、ある考慮期間内のトラヒックデータが観測されるたびに、観測されたトラヒックデータとの重み付け平均により代表時刻の統計量を更新して平均統計量として記憶装置に格納し、閾値設定用統計量計算器4は、統計量計算器3が逐次計算して格納した、全ての代表時刻における平均統計量の重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置に格納し、閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を記憶装置から読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出することでも良い。
【0055】
以下、このような閾値設定システム1の動作の詳細を説明する。
【0056】
周期Tを持つ入力データy,y,…について、一周期中にN(≦T)個の予め定められる時刻に代表時刻tnを設定する。この入力データは、観測トラヒックそのままでもいいし、観測トラヒックとベースラインの差分でも良い。
【0057】
また、各代表時刻tnについて、予め定められる前後ln期間の入力データを考慮対象とし、考慮期間の入力データから推定される統計量を代表時刻tnの統計量Θnと定義する(図2参照)。
【0058】
尚、考慮期間[yn−ln,yn+ln]は異なる代表時刻で重なっても良いし、一周期全てのデータを考慮期間で覆わなくても良い。
【0059】
例えば、代表時刻tnの統計量Θnとして数1に示す平均値、数2に示す標準偏差を取り扱うとき、以下のような見積もり方が挙げられる。
【0060】
【数1】

【0061】
【数2】

【0062】
まず、各周期毎に統計量を見積もる場合、平均値と標準偏差は、それぞれ、数3,4に示すようにして計算される。ただし、数5に示す入力データが与えられているものとする。
【0063】
【数3】

【0064】
【数4】

【0065】
【数5】

【0066】
そして、代表時刻tnについて、一周期前までに計算された統計量を数6とし、
現周期のデータで計算される統計量を数7とするとき、現周期までの統計量(数8)を、数9に示すようにして推定する。ここで、「η」は予め定められるパラメタである。
【0067】
【数6】

【0068】
【数7】

【0069】
【数8】

【0070】
【数9】

【0071】
上記の例の場合、閾値は過去周期のデータにのみ依存することになる。そのため、周期的傾向が比較的安定している入力データに対して適している。
【0072】
また、データを受け取る都度、上述の統計量をリアルタイムに更新する場合、以下のようにすれば良い。
【0073】
各代表時刻tnについて、ある程度の大きさの記憶容量を用意する。そして、該当考慮期間のトラヒックデータが観測されるたび、最も古いデータを最新のデータに書き換え、記憶データの統計量を毎時刻評価を行う。
【0074】
この技術は、大きな記憶容量の確保を要求するが、加重平均のためのパラメタを必要としない。
【0075】
もし大きな記憶容量を確保できない場合、パラメタδを用い、考慮期間に該当するデータyを受け取るたび、以下の式のように計算すればよい。
【0076】
現在時刻tが代表時刻tnの考慮期間に属しているとき、時刻tにおける代表時刻tnの平均値を数10、標準偏差を数11で表すと、その平均値、標準偏差は数12,13として計算する。
【0077】
【数10】

【0078】
【数11】

【0079】
【数12】

【0080】
【数13】

【0081】
この技術は、パラメタδを1に近づけることで過去の傾向を維持する見積りとなり、パラメタδを0に近づけることで最新の傾向を反映する見積となる。
【0082】
上述の統計量の見積もりにおいて、代表時刻tnの統計量Θnは平均値や標準偏差に限らないとする。
【0083】
次に、時刻tにおける統計量θtの計算手法について説明する。
【0084】
ネットワークトラヒックにおける正常な統計的性質の時間変化は連続的に起こると仮定すると、隣接する代表時刻tnとtn+1に挟まれた時刻tは統計量の遷移期間と考えることができる。
【0085】
したがって、各時刻tn≦t<tn+1の統計量θtは、代表時刻tn,tn+1の統計量(数14,数15)から次の数16ように推定される。
【0086】
【数14】

【0087】
【数15】

【0088】
【数16】

【0089】
より一般的には、T個の予め定められるN次元単位ベクトルをwとするとき、時刻tにおける統計量θtは、重み付け平均により、次の数17で与えられる。ただし、wt,iはベクトルwの第i成分とした。
【0090】
【数17】

【0091】
以上の手順で計算された統計量θtに基づき、時刻tの閾値を計算する。
【0092】
統計量として平均値(数18)、標準偏差(数19)を用いる場合、時刻tにおける閾値は、数20として計算される。
【0093】
【数18】

【0094】
【数19】

【0095】
【数20】

【0096】
ここで、αは予め定められるパラメタである。
【0097】
次に、図3〜図5を用いて、図1における振分器2、統計量計算器3、閾値設定用統計量計算器4、閾値設定器5を具備した閾値設定システム1の処理手順を説明する。
【0098】
図3に示すように、閾値設定システム1は、まず、図示していない処理手段により、予め記録媒体に記録された、あるいは入力装置から入力された、コンフィグ情報(一周期の長さ、代表時刻と考慮期間、加重平均の重み等)を読み込み、コンフィグ設定ファイルとして記憶装置に格納する(ステップS301)。
【0099】
観測値(所定の時間間隔単位で時系列に集計されるデータ量)が入力されると、振分器2は、コンフィグ設定ファイルを参照して、入力された観測値を、予め設定された代表時刻を含む考慮期間単位に分け、考慮期間別データとして出力し、図示していない記憶装置に格納する(ステップS302)。
【0100】
統計量計算器3は、現周期におけるいずれかの考慮期間に該当するデータが全て観測される毎に、振分器2が格納した各考慮期間別のデータを記憶装置から読み込み、各考慮期間内のトラヒックデータの平均値と標準偏差を計算し、この平均値と標準偏差の組を統計量として出力し、図示していない記憶装置(統計量ファイル)に格納すると共に(ステップS303)、この統計量と、過去周期までに計算された統計量の重み付け平均を、コンフィグ情報設定ファイルにおける「加重平均の重み」を参照して計算し、これを平均統計量として出力し、図示していない記憶装置(平均統計量ファイル)に格納する(ステップS304)。
【0101】
閾値設定用統計量計算器4は、統計量計算器3が算出して格納した全ての代表時刻における各平均統計量を平均統計量ファイルから読み込み、各平均統計量の重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置(閾値設定用統計量ファイル)に出力して格納する(ステップS305)。
【0102】
閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を記憶装置(閾値設定用統計量ファイル)から読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出し、閾値ファイルとして出力する(ステップS306)。
【0103】
図4に示す手順では、閾値設定システム1は、まず、図示していない処理手段により、予め記録媒体に記録された、あるいは入力装置から入力された、コンフィグ情報(一周期の長さ、代表時刻と考慮期間、加重平均の重み等)を読み込み、コンフィグ設定ファイルとして記憶装置に格納する(ステップS401)。
【0104】
観測値(所定の時間間隔単位で時系列に集計されるデータ量)が入力されると、振分器2は、コンフィグ設定ファイルを参照して、入力された観測値を、予め設定された代表時刻を含む考慮期間単位に分け、考慮期間別データとして出力し、図示していない記憶装置に格納する(ステップS402)。
【0105】
統計量計算器3は、ある考慮期間内のトラヒックデータが観測される度に、記憶装置に記録されている最も古いトラヒックデータを新しいデータで置き換え、振分器2が格納した各考慮期間別のデータを記憶装置から読み込み、該考慮期間内のトラヒックデータの平均値と標準偏差を逐次計算し、この平均値と標準偏差の組を該代表時刻の統計量として出力し、図示していない記憶装置(各代表時刻統計量ファイル)に格納する(ステップS403)。
【0106】
閾値設定用統計量計算器4は、統計量計算器3が逐次計算して格納した、全ての代表時刻における統計量を各代表時刻統計量ファイルから読み出し、その重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置(閾値設定用統計量ファイル)に出力して格納する(ステップS404)。
【0107】
閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を閾値設定用統計量ファイルから読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出し、閾値ファイルとして出力する(ステップS405)。
【0108】
図5に示す手順では、閾値設定システム1は、まず、図示していない処理手段により、予め記録媒体に記録された、あるいは入力装置から入力された、コンフィグ情報(一周期の長さ、代表時刻と考慮期間、加重平均の重み等)を読み込み、コンフィグ設定ファイルとして記憶装置に格納する(ステップS501)。
【0109】
観測値(所定の時間間隔単位で時系列に集計されるデータ量)が入力されると、振分器2は、コンフィグ設定ファイルを参照して、入力された観測値を、予め設定された代表時刻を含む考慮期間単位に分け、考慮期間別データとして出力する(ステップS502)。
【0110】
統計量計算器3は、ある考慮期間内のトラヒックデータが観測される度に、当該代表時刻の平均値と標準偏差の組からなる統計量と、観測されたトラヒックデータとの重み付け平均を代表時刻統計量として算出し記憶装置(代表時刻統計量ファイル)に出力し格納する(ステップS503)。
【0111】
閾値設定用統計量計算器4は、統計量計算器3が逐次計算して格納した、全ての代表時刻における代表時刻統計量を読み出し、その重み付け平均を閾値設定用統計量として算出し、図示していない記憶装置(閾値設定用統計量ファイル)に出力して格納する(ステップS504)。
【0112】
閾値設定器5は、閾値設定用統計量計算器4が算出して格納した閾値設定用統計量を閾値設定用統計量ファイルから読み込み、予め定められたパラメタαを用いて、「(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)」により閾値を算出し、閾値ファイルとして出力する(ステップS505)。
【0113】
以上、図1〜図5を用いて説明したように、本例の閾値設定システムは、観測したネットワークのトラヒックが予め定められた基準値から一定量以上逸脱したとき、当該トラヒックに異常が発生したと判定する際に用いる、一定量を意味する閾値を、プログラムされたコンピュータによって自動設定するために、プログラムされたコンピュータが実行する処理手段として、振分器2、統計量計算器3、閾値設定用統計量計算器4、閾値設定器5を具備する。
【0114】
そして、振分器2は、予め記録されたコンフィグ情報(一周期の長さ、代表時刻と考慮期間)を参照して、入力された観測値(所定の時間間隔単位で時系列に集計されるデータ量)を、予め設定された代表時刻を含む考慮期間単位に分け、統計量計算器3は、各考慮期間内のトラヒックデータの平均値と標準偏差を計算し、その組を統計量として求めると共に、コンフィグ情報(加重平均の重み)を参照して、現周期におけるいずれかの考慮期間に該当するデータが全て観測されるごとに計算される統計量と、過去周期までに計算された統計量の重み付け平均を計算しこれを平均統計量として求める。
【0115】
閾値設定用統計量計算器4は、全ての代表時刻における各平均統計量の重み付け平均を閾値設定用統計量として算出し、閾値設定器5は、閾値設定用統計量計算器4が算出した閾値設定用統計量と予め定められたパラメタαを用いて、予め定められたパラメタαを用いて、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)により閾値を算出する。
【0116】
あるいは、統計量計算器3は、統計量(各考慮期間内のトラヒックデータの平均値と標準偏差の組)を求めると共に、ある考慮期間内のトラヒックデータが観測されるたびに、記憶装置に記憶されている最も古いトラヒックデータを新しいデータで置き換え、各代表時刻の統計量を逐次計算し、閾値設定用統計量計算器4は、統計量計算器3が逐次計算した全ての代表時刻における統計量の重み付け平均を閾値設定用統計量として算出し、閾値設定器5は、閾値設定用統計量計算器4が算出した閾値設定用統計量と、予め定められたパラメタαを用いて、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)により閾値を算出する。
【0117】
または、統計量計算器3は、統計量(各考慮期間内のトラヒックデータの平均値と標準偏差の組)を求めると共に、ある考慮期間内のトラヒックデータが観測されるたびに、観測されたトラヒックデータとの重み付け平均により代表時刻の統計量を更新して平均統計量として求め、閾値設定用統計量計算器4は、統計量計算器3が逐次計算した、全ての代表時刻における平均統計量の重み付け平均を閾値設定用統計量として算出し、閾値設定器5は、閾値設定用統計量計算器4が算出した閾値設定用統計量と、予め定められたパラメタαを用いて、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)により閾値を算出する。
【0118】
このように、本例では、所定の時間間隔単位で時系列に集計されるデータの量が周期的に増減する際の、このデータ量の異常・正常を判定するのに用いる基準値からの逸脱値(閾値)を設定する際、周期性を考慮して統計量を見積もることにより、毎周期発生するトラヒック変動を加味した閾値を設定する。これにより、トラヒックの昼夜変動などで生じる誤検出や非検出を軽減される。また、過去の統計情報も考慮するため、瞬時的な傾向変化を観測した後に閾値の精度が大きく損なわれることを回避できる。
【0119】
尚、本発明は、図1〜図5を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、「上述の統計量の見積もりにおいて、代表時刻tnの統計量Θnは平均値や標準偏差に限らないとする。」と記載しているように、例えば、「カルマンフィルタ」技術を用いることでも良い。
【0120】
カルマンフィルタモデルは、観測データ量情報に観測手法に起因するノイズが混入する際に有効な手法となる。現時刻をtとするとき、観測値(ノイズ含)をy、状態値(真のデータ量)をxと表す。このとき、ノイズを含む観測時系列を以下のようにモデル化する。
【0121】
まず、観測値と状態値の関係は、観測誤差vを用いて、「y=x+v」で表される。ここで、vは平均0、分散rのガウス雑音に従うとする。
【0122】
また、状態値は時間発展し、時刻間の関係はシステム誤差wを用いて、「x=xt−1+w」と表される。ここで、wは平均0、分散qのガウス雑音に従うとする。尚、vとwは独立であるとする。
【0123】
ここで、r,qは計測できない真のパラメタであるが、考慮期間の観測値を全て受け取った後、例えば、「R.H.Shumway and D.S.Stoffer,“Dynamic Linear Models With Switching” Journal of the American Statistical Association,September 1991, Vol.86, No.415」に記載の「EMアルゴリズム」によるパラメタ推定値を次の数21,22とする。
【0124】
【数21】

【0125】
【数22】

【0126】
カルマンフィルタは、観測値を受け取るたび、状態推定ステップと状態予測ステップを交互に繰り返す。
【0127】
具体的には、時刻tの観測トラヒックyを受け取ると、次のような更新式によりシステムの状態値推定(数23)、モデル分散値推定(数24)へとフィードバックする。なお、モデル分散値は、推定したトラヒックモデルの良さを表す指標である。
【0128】
【数23】

【0129】
【数24】

【0130】
ここで、kはカルマンゲインと呼ばれる量で、次の数25の式で与えられる。
【0131】
【数25】

【0132】
カルマンフィルタによる状態予測値は、システム状態の推定値xt|tよりシステム状態発展式に基づき、数26に示すように計算される。
【0133】
【数26】

【0134】
また、モデル分散値pも時間発展し、次の数27の式により計算される。
【0135】
【数27】

【0136】
こうして計算された状態推定値の平均値(数28)と、観測値に現れる誤差についての分散推定値(数29,30)を代表時刻統計量とする。そして、閾値は、数31により算出される。
【0137】
【数28】

【0138】
【数29】

【0139】
【数30】

【0140】
【数31】

【0141】
また、本例では、ネットワークにおける通信トラヒックを例に説明したが、道路上での交通量測定や施設への入場者数測定などにも適用することが可能である。
【0142】
また、コンピュータ構成例に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良く、また、記録媒体としても光ディスクに限らずFD(Flexible Disk)等を用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【0143】
【図1】本発明に係る閾値設定システムの構成例を示すブロック図である。
【図2】図1における閾値設定システムでの閾値設定動作例を示す説明図である。
【図3】本発明に係る閾値設定方法の第1の処理手順例を示すフローチャートである。
【図4】本発明に係る閾値設定方法の第2の処理手順例を示すフローチャートである。
【図5】本発明に係る閾値設定方法の第3の処理手順例を示すフローチャートである。
【符号の説明】
【0144】
1:閾値設定システム、2:振分器、3:統計量計算器、4:閾値設定用統計量計算器、5:閾値計算器。

【特許請求の範囲】
【請求項1】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際、該データの異常判定に用いる基準値からの逸脱量としての閾値を、プログラムされたコンピュータによって自動設定する方法であって、
プログラムされたコンピュータの処理手段として、第1の処理手段、第2の処理手段、第3の処理手段、第4の処理手段、第5の処理手段、第6の処理手段とを具備し、
前記第1の処理手段は、
予め設定される一周期分のデータ長と、該一周期内に予め設定される1以上の代表時刻と、各代表時刻それぞれに対して予め設定される当該代表時刻を含む考慮期間と、重み付け平均の算出に用いる重み情報とを含むコンフィグ情報を入力して第1の記憶領域に記録する第1の手順を実行し、
前記第2の処理手段は、
予め定められたサンプリング時間間隔で計測されたデータ量情報を取得し、前記第1の記憶領域に記録された前記代表時刻毎に対応させて第2の記憶領域に記録する第2の手順を実行し、
前記第3の処理手段は、
現周期におけるいずれかの考慮期間内のデータ量情報が全て前記第2の処理手段により前記第2の記憶領域に記録される毎に、前記第2の記憶領域から、前記第1の記録領域に記録された前記代表時刻に対する考慮期間内のデータ量情報を読み出し、当該考慮期間内のデータ量に対しカルマンフィルタを含む時系列解析手法を用いて当該代表時刻の統計量を算出して第3の記憶領域に記録する第3の手順を実行し、
前記第4の処理手段は、
前記第3の手順が実行される毎に、前記第3の処理手段で計算される前記統計量と、過去周期までに算出された当該考慮期間の統計量の重み付け平均を平均統計量として算出して第4の記憶領域に記録する第4の手順を実行し、
前記第5の処理手段は、
全ての代表時刻における第4の処理手段が算出した前記平均統計量の重み付け平均を閾値設定用統計量として算出して第5の記憶領域に記録する第5の手順を実行し、
前記第6の処理手段は、
前記設定する閾値を、前記第5の処理手段が算出した閾値設定用統計量と予め定められたパラメタαを用い、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)として求める第6の手順を実行する
ことを特徴とする閾値設定方法。
【請求項2】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際、該データの異常判定に用いる基準値からの逸脱量としての閾値を、プログラムされたコンピュータによって自動設定する方法であって、
プログラムされたコンピュータの処理手段として、第1の処理手段、第2の処理手段、第3の処理手段、第4の処理手段、第5の処理手段、第6の処理手段とを具備し、
前記第1の処理手段は、
予め設定される一周期分のデータ長と、該一周期内に予め設定される1以上の代表時刻と、各代表時刻それぞれに対して予め設定される当該代表時刻を含む考慮期間と、重み付け平均の算出に用いる重み情報とを含むコンフィグ情報を入力して第1の記憶領域に記録する第1の手順を実行し、
前記第2の処理手段は、
予め定められたサンプリング時間間隔で計測されたデータ量情報を取得し、前記第1の記憶領域に記録された前記代表時刻毎に対応させて第2の記憶領域に記録する第2の手順を実行し、
前記第3の処理手段は、
現周期におけるいずれかの考慮期間内のデータ量情報が全て前記第2の処理手段により前記第2の記憶領域に記録される毎に、前記第2の記憶領域から、前記第1の記録領域に記録された前記代表時刻に対する考慮期間内のデータ量情報を読み出し、当該考慮期間内のデータ量の平均値と標準偏差を算出して当該代表時刻の統計量として第3の記憶領域に記録する第3の手順を実行し、
前記第4の処理手段は、
前記第3の手順が実行される毎に、前記第3の処理手段で計算される前記統計量と、過去周期までに算出された当該考慮期間の統計量の重み付け平均を平均統計量として算出して第4の記憶領域に記録する第4の手順を実行し、
前記第5の処理手段は、
全ての代表時刻における第4の処理手段が算出した前記平均統計量の重み付け平均を閾値設定用統計量として算出して第5の記憶領域に記録する第5の手順を実行し、
前記第6の処理手段は、
前記設定する閾値を、前記第5の処理手段が算出した閾値設定用統計量と予め定められたパラメタαを用い、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)として求める第6の手順を実行する
ことを特徴とする閾値設定方法。
【請求項3】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際、該データの異常判定に用いる基準値からの逸脱量としての閾値を、プログラムされたコンピュータによって自動設定する方法であって、
プログラムされたコンピュータの処理手段として、第1の処理手段、第2の処理手段、第3の処理手段、第4の処理手段、第5の処理手段、第6の処理手段とを具備し、
前記第1の処理手段は、
予め設定される一周期分のデータ長と、該一周期内に予め設定される1以上の代表時刻と、各代表時刻それぞれに対して予め設定される当該代表時刻を含む考慮期間と、重み付け平均の算出に用いる重み情報とを含むコンフィグ情報を入力して第1の記憶領域に記録する第1の手順を実行し、
前記第2の処理手段は、
予め定められたサンプリング時間間隔で計測されたデータ量情報を取得し、前記第1の記憶領域に記録された前記代表時刻毎に対応させて第2の記憶領域に記録、ないしは該第2の記憶領域に記録されている最も古いデータ量情報を新しいデータ量情報に置き換える第2の手順を実行し、
前記第3の処理手段は、
前記第2の手順が実行される毎に、前記第1の記録領域に記録された前記代表時刻に対する考慮期間内のデータ量情報を読み出し、当該考慮期間内のデータ量の平均値と標準偏差を逐次算出して当該代表時刻の統計量として第3の記憶領域に記録する第3の手順を実行し、
前記第4の処理手段は、
全ての代表時刻における前記第3の処理手段が逐次算出した前記統計量の重み付け平均を閾値設定用統計量として算出して第4の記憶領域に記録する第4の手順を実行し、
前記第5の処理手段は、
前記設定する閾値を、前記第4の処理手段が算出した閾値設定用統計量と予め定められたパラメタαを用い、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)として求める第5の手順を実行する
ことを特徴とする閾値設定方法。
【請求項4】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際、該データの異常判定に用いる基準値からの逸脱量としての閾値を、プログラムされたコンピュータによって自動設定する方法であって、
プログラムされたコンピュータの処理手段として、第1の処理手段、第2の処理手段、第3の処理手段、第4の処理手段、第5の処理手段、第6の処理手段とを具備し、
前記第1の処理手段は、
予め設定される一周期分のデータ長と、該一周期内に予め設定される1以上の代表時刻と、各代表時刻それぞれに対して予め設定される当該代表時刻を含む考慮期間と、重み付け平均の算出に用いる重み情報とを含むコンフィグ情報を入力して第1の記憶領域に記録する第1の手順を実行し、
前記第2の処理手段は、
予め定められたサンプリング時間間隔で計測されたデータ量情報を取得し、前記第1の記憶領域に記録された前記代表時刻毎に対応させて第2の記憶領域に記録、ないしは該第2の記憶領域に記録されている最も古いデータ量情報を新しいデータ量情報に置き換える第2の手順を実行し、
前記第3の処理手段は、
前記第2の手順が実行される毎に、前記第1の記録領域に記録された前記代表時刻に対する考慮期間内のデータ量情報を読み出し、当該考慮期間内のデータ量に対しカルマンフィルタを含む時系列解析手法を用いて当該代表時刻の統計量を算出して第3の記憶領域に記録する第3の手順を実行し、
前記第4の処理手段は、
全ての代表時刻における前記第3の処理手段が逐次算出した前記統計量の重み付け平均を閾値設定用統計量として算出して第4の記憶領域に記録する第4の手順を実行し、
前記第5の処理手段は、
前記設定する閾値を、前記第4の処理手段が算出した閾値設定用統計量と予め定められたパラメタαを用い、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)として求める第5の手順を実行する
ことを特徴とする閾値設定方法。
【請求項5】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際、該データの異常判定に用いる基準値からの逸脱量としての閾値を、プログラムされたコンピュータによって自動設定する方法であって、
プログラムされたコンピュータの処理手段として、第1の処理手段、第2の処理手段、第3の処理手段、第4の処理手段、第5の処理手段、第6の処理手段とを具備し、
前記第1の処理手段は、
予め設定される一周期分のデータ長と、該一周期内に予め設定される1以上の代表時刻と、各代表時刻それぞれに対して予め設定される当該代表時刻を含む考慮期間と、重み付け平均の算出に用いる重み情報とを含むコンフィグ情報を入力して第1の記憶領域に記録する第1の手順を実行し、
前記第2の処理手段は、
予め定められたサンプリング時間間隔で計測されたデータ量情報を取得し、
前記第1の記録領域に記録された前記代表時刻毎に対応した
当該代表時刻の統計量である平均値と標準偏差と、
新たに取得されたデータ量情報との重み付け平均により
代表時刻の統計量を算出して第2の記憶領域に記録する第2の手順を実行し、
前記第3の処理手段は、
全ての代表時刻における前記第2の処理手段が算出した前記統計量の重み付け平均を閾値設定用統計量として算出して第3の記憶領域に記録する第3の手順を実行し、
前記第4の処理手段は、
前記設定する閾値を、前記第3の処理手段が算出した閾値設定用統計量と予め定められたパラメタαを用い、(閾値設定用統計量における平均値)±α×(閾値設定用統計量における標準偏差)として求める第4の手順を実行する
ことを特徴とする閾値設定方法。
【請求項6】
請求項1から請求項5のいずれかに記載の閾値設定方法であって、
前記所定の時間間隔単位で時系列に集計される周期的に増減するデータ量は、ネットワークトラヒックであることを特徴とする閾値設定方法。
【請求項7】
所定の時間間隔単位で時系列に集計されるデータ量が周期的に増減する際の、該データ量の異常判定に用いる基準値からの逸脱量である閾値を、プログラムされたコンピュータによって予測するシステムであって、
プログラムされたコンピュータの処理手段として、請求項1から請求項6のいずれかに記載の閾値設定方法における各手順を実行する処理手段を有することを特徴とする閾値設定システム。
【請求項8】
コンピュータに、請求項1から請求項6のいずれかに記載の閾値設定方法における各手順を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−311719(P2008−311719A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−155065(P2007−155065)
【出願日】平成19年6月12日(2007.6.12)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】