(57)【特許請求の範囲】
【請求項１】
正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして複数の前記一時基準ベクトルを記憶している記憶部と、
現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出部と、
前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアの中で前記第２の異常スコアが前記閾値以下でかつ最小となる一時基準ベクトルを抽出する抽出処理を実行し、当該抽出処理によって抽出した今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なるか否かを判定し、前記今回の一時基準ベクトルと前記今回の直前に抽出された一時基準ベクトルとが異なる場合、異常状態が遷移したと判定する状態判定部と
を備えることを特徴とするネットワーク異常検出装置。
【請求項２】
前記第１および前記第２の異常スコアすべてが前記閾値より大きい場合、前記現在ベクトルを新しい一時基準ベクトルとして前記記憶部に追加して記憶する変更部
をさらに備えることを特徴とする請求項１に記載のネットワーク異常検出装置。
【請求項３】
前記記憶部は、前記一時基準ベクトルと前記第２の異常スコアが前記閾値以下となって継続している時間を示す継続時間とを関連付けて記憶しており、
前記変更部は、前記継続時間と閾値である第１の所定時間とを比較し、前記継続時間が前記第１の所定時間以上となっている前記一時基準ベクトルを前記基準ベクトルに変更し、当該基準ベクトルを前記一時基準ベクトルに変更する
ことを特徴とする請求項２に記載のネットワーク異常検出装置。
【請求項４】
前記記憶部は、前記一時基準ベクトルと当該一時基準ベクトルが生成された時期を示す生成時期とを関連付けて記憶しており、
前記変更部は、現在から前記生成時期までの第１の時間と閾値である第２の所定時間とを比較し、前記第１の時間が前記第２の所定時間以上となっている前記一時基準ベクトルを前記記憶部から削除する
ことを特徴とする請求項２または請求項３に記載のネットワーク異常検出装置。
【請求項５】
前記記憶部は、前記固有ベクトル算出部によって過去に算出された前記固有ベクトルを記憶しており、
前記第１の異常スコアが前記閾値以下の場合、過去に正常と判定されたときの前記過去に算出された固有ベクトルと前記現在ベクトルとを用いて基準ベクトルを算出する学習処理を実行して、当該算出した基準ベクトルで前記記憶部に記憶していた基準ベクトルを上書きする処理、または、前記現在ベクトルと前記今回の一時基準ベクトルと同じ一時基準ベクトルが前記抽出処理によって過去に抽出されたときに現在ベクトルであった前記過去に算出された固有ベクトルとを用いて一時基準ベクトルを算出する学習処理を実行して、当該学習処理によって算出した一時基準ベクトルで前記記憶部に記憶していた一時基準ベクトルを上書きする処理、を実行する学習処理部
をさらに備えることを特徴とする請求項２ないし請求項４のいずれか一項に記載のネットワーク異常検出装置。
【請求項６】
前記変更部は、前記基準ベクトルと前記一時基準ベクトルとの間の距離を算出し、前記距離と所定距離とを比較し、前記距離が前記所定距離以下となった場合、前記基準ベクトルの前記学習処理および当該一時基準ベクトルの前記学習処理に用いた前記過去に算出された固有ベクトルを用いて、新しい基準ベクトルを生成する所定の処理を実行し、前記新しい基準ベクトルで前記記憶部に記憶してある前記基準ベクトルを上書きする
ことを特徴とする請求項５に記載のネットワーク異常検出装置。
【請求項７】
正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして１つ記憶している記憶部と、
現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出部と、
前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアが前記閾値より大きいか否かを判定し、前記第２の異常スコアが前記閾値より大きい場合、異常状態が遷移したと判定する状態判定部と
を備えることを特徴とするネットワーク異常検出装置。
【請求項８】
ネットワーク内の異常を検出するネットワーク異常検出装置のネットワーク異常検出方法であって、
前記ネットワーク異常検出装置は、
正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして複数の前記一時基準ベクトルを記憶している記憶部を備え、
現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出ステップと、
前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアの中で前記第２の異常スコアが前記閾値以下でかつ最小となる一時基準ベクトルを抽出する処理を実行し、当該抽出する処理によって抽出した今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なるか否かを判定し、前記今回の一時基準ベクトルと前記今回の直前に抽出された一時基準ベクトルとが異なる場合、異常状態が遷移したと判定する状態判定ステップと
を実行することを特徴とするネットワーク異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに発生する異常を検出する技術に関する。
【背景技術】
【０００２】
通信事業者は、ネットワークサービスを安定して提供するために、ネットワークの装置（ノード）において障害の発生を検知できるようにしている。障害検出の方法としては、大きく分けて、２つの方法Ａ，Ｂが用いられている。
方法Ａは、SyslogやSNMP Trap(Simple Network Management Protocol Trap)等を用いて、ネットワークの装置から自発的に送信される警報を利用するものである。方法Ａでは、装置内の自装置監視プログラムが温度の上昇やリンク断といった異常を検出したときにのみ警報が発出される。したがって、方法Ａは、トラフィックが徐々に減少する事象等、自装置監視プログラムに設定されていない異常を検出することはできない。
方法Ｂは、Ping（Packet Internet Grouper）やSNMP Request等を用いて、装置に対して問い合わせて得た情報を解析して、障害を検出するものである。方法Ｂでは、装置に対して問い合わせて得たＣＰＵ（Central Processing Unit）温度やトラフィック情報等の種々の情報を収集可能であるが、収集した情報を別途分析することで正常／異常を判定することになるため、分析スキルが必要とされる。
【０００３】
例えば、正常時の挙動に近い現象は、方法Ａでは警報が発出されず、また、方法Ｂでも障害として検出することが難しい。その一例について、図７（ａ）（ｂ）を用いて説明する。図７（ａ）（ｂ）は、ルータＡ，Ｂ，Ｃが直列に接続されているケースを表している。図７（ａ）は、ルータＡ−Ｂ間のトラフィック流量とルータＢ−Ｃ間のトラフィック流量とが等しい場合を表している。この図７（ａ）の場合には、方法Ａ，Ｂ双方において正常と判定されるため、方法Ａでは警報が発出されることはなく、また、方法Ｂにおいても障害と判定されない。しかし、図７（ｂ）に示す例は、ルータＢにおいて経年劣化等の原因により障害が発生し、ルータＡ−Ｂ間のトラフィック流量とルータＢ−Ｃ間のトラフィック流量とが等しくなくなる現象が発生している場合である。図７（ｂ）の場合において、ルータＢ−Ｃ間のトラフィック流量が徐々に減少していったとしても、トラフィックが完全に遮断されていないため、方法Ａでは警報は発出されない。また、方法Ｂによって、各ルータからトラフィック量に関する情報を収集し、その収集した情報を分析したとしても、トラフィック量はネットワークの利用状況に依存して自然と減少するケース、または、災害やイベント等により突発的に増加するケースが発生するため、トラフィック量の増減傾向のみから障害によるものか否か判定することは難しい。
【０００４】
下記非特許文献１，２は、方法Ｂによる障害検出に関する技術を開示している。具体的には、図８に示すように、装置Ａ，Ｂ，Ｃが直列に接続されているケースにおいて、行列の行を送信側の装置、列を受信側の装置として、行列の要素にはトラフィック流量を用いる。行列は、所定の周期で取得された情報に基づいて生成される。また、その行列の固有ベクトルは、所定の周期で算出される。行列の固有ベクトルは、行列の全要素が定数倍された場合には変化しないが、行列の一部の要素の値が変化した場合には変化する。したがって、ネットワークの一部で障害等によるトラフィック変動が発生する場合に、固有ベクトルが変動することになり、障害を検出することができる。非特許文献１，２に記載の技術では、障害が発生していないときの過去Ｋ個の固有ベクトルの移動平均を、基準ベクトル（Vec-Ref）として定義する。基準ベクトル（Vec-Ref）は、現時点の固有ベクトル（現在ベクトル；Vec-Now）が異常か否かの判定基準として用いられる。そして、非特許文献１，２に記載の技術では、現在ベクトル（Vec-Now）と基準ベクトル（Vec-Ref）との間の角度差を異常スコアとして定義し、異常スコアが閾値を超える場合、ネットワークに障害を検出したと判定する。
【０００５】
また、下記非特許文献１，２は、基準ベクトル（Vec-Ref）を固定せずに、加入者の増減やサービスの変化等に伴うトラフィック流量の変化や装置の負荷の変化を考慮して、新たに算出される現在ベクトルを学習に用いつつ最新の基準ベクトル（Vec-Ref）を算出する方法を開示している。その学習の例としては、過去の一定期間の基準ベクトルの移動平均をとるケースが記載されている。また、非特許文献１，２は、閾値も固定せずに、過去の一定期間の角度差について出現頻度分布を求め、所定の確率（例えば、５％）となるときを閾値として採用している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ide, T. and Kashima, H. “Eigenspace-based anomaly detection in computer systems” In Proceedings of the 10th ACM SIGKDD international conference on knowledge discovery and data mining, ACM Press, New York, NY, USA, p.440-449, 2004
【非特許文献２】井手剛，鹿島久嗣, “固有空間におけるコンピュータシステムの障害検知", 第１８回人工知能学会全国大会予稿集, 3F3-05, 2004
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、非特許文献１，２では、基準ベクトル（Vec-Ref）しか定義していないために、ネットワークの障害を検出することはできても、その障害において異なる異常状態を区別することができない。例えば、異常状態Ａ（固有ベクトルＡ）と、その異常状態Ａとは異なる異常状態Ｂ（固有ベクトルＢ）とが存在し、かつ異常スコアが同じ場合、ネットワークの状態が異常状態Ａ（固有ベクトルＡ）から異常状態Ｂ（固有ベクトルＢ）に遷移したとしても、異常スコアが変化しないため、異常状態の遷移を検出することができない。
【０００８】
そこで、本発明は、障害中の異常状態遷移を検出することを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、ネットワーク異常検出装置が、正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして複数の前記一時基準ベクトルを記憶している記憶部と、現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出部と、前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアの中で前記第２の異常スコアが前記閾値以下でかつ最小となる一時基準ベクトルを抽出する抽出処理を実行し、当該抽出処理によって抽出した今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なるか否かを判定し、前記今回の一時基準ベクトルと前記今回の直前に抽出された一時基準ベクトルとが異なる場合、異常状態が遷移したと判定する状態判定部とを備えることを特徴とする。
【００１０】
また、本発明は、ネットワーク異常検出装置が、正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして１つ記憶している記憶部と、現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出部と、前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアが前記閾値より大きいか否かを判定し、前記第２の異常スコアが前記閾値より大きい場合、異常状態が遷移したと判定する状態判定部とを備えることを特徴とする。
【００１１】
また、本発明は、ネットワーク内の異常を検出するネットワーク異常検出装置のネットワーク異常検出方法であって、前記ネットワーク異常検出装置が、正常な状態のときのネットワーク内の装置間の状態を示す行列から算出される固有ベクトルを基準ベクトルとして記憶し、異常な状態のときのネットワーク内の装置間の状態を示す行列から算出された固有ベクトルを一時基準ベクトルとして複数の前記一時基準ベクトルを記憶している記憶部を備え、現時点のネットワーク内の装置間の状態を示す行列から固有ベクトルを算出し、当該算出した固有ベクトルを現在ベクトルとする固有ベクトル算出ステップと、前記基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第１の異常スコアとして求め、前記一時基準ベクトルと前記現在ベクトルとの角度差を算出して当該角度差を第２の異常スコアとして求め、前記第１の異常スコアが閾値より大きいか否かを判定し、当該第１の異常スコアが前記閾値以下の場合にネットワークを正常と判定し、当該第１の異常スコアが前記閾値より大きい場合に異常と判定し、異常と判定した場合に、前記第２の異常スコアの中で前記第２の異常スコアが前記閾値以下でかつ最小となる一時基準ベクトルを抽出する処理を実行し、当該抽出する処理によって抽出した今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なるか否かを判定し、前記今回の一時基準ベクトルと前記今回の直前に抽出された一時基準ベクトルとが異なる場合、異常状態が遷移したと判定する状態判定ステップとを実行することを特徴とする。
【００１２】
このような構成によれば、ネットワーク異常検出装置は、基準ベクトルと、その基準ベクトルとは異なる一時基準ベクトルとを備えている。そして、ネットワーク異常検出装置は、現在ベクトルと基準ベクトルとの角度差（第１の異常スコア）を算出し、算出した第１の異常スコアを閾値と比較して、第１の異常スコアが閾値より大きい場合には、異常（障害）ありと判定する。さらに、ネットワーク異常検出装置は、異常（障害）ありと判定した場合、現在ベクトルと一時基準ベクトルとの角度差（第２の異常スコア）と閾値との比較結果に基づいて異常状態遷移を検出することができる。
【００１３】
また、本発明は、前記ネットワーク異常検出装置が、前記第１および前記第２の異常スコアすべてが前記閾値より大きい場合、前記現在ベクトルを新しい一時基準ベクトルとして前記記憶部に追加して記憶する変更部をさらに備えることを特徴とする。
【００１４】
このような構成によれば、ネットワーク異常検出装置は、第１および第２の異常スコアすべてが閾値より大きい場合の現在ベクトルを新しい一時基準ベクトルとすることによって、それ以前には識別できなかった新たな異常状態への遷移を検出することができる。
【００１５】
また、本発明は、前記記憶部が、前記一時基準ベクトルと前記第２の異常スコアが前記閾値以下となって継続している時間を示す継続時間とを関連付けて記憶しており、前記変更部が、前記継続時間と閾値である第１の所定時間とを比較し、前記継続時間が前記第１の所定時間以上となっている前記一時基準ベクトルを前記基準ベクトルに変更し、当該基準ベクトルを前記一時基準ベクトルに変更することを特徴とする。
【００１６】
このような構成によれば、ネットワーク異常検出装置は、第２の異常スコアが閾値以下となって継続している時間（継続時間）が第１の所定時間以上となっている一時基準ベクトルと基準ベクトルとを交換する。継続時間が第１の所定時間以上になるということは、その一時基準ベクトルに対応する状態が新しいネットワークにおける正常な状態に変化している可能性が高い。そこで、ネットワーク異常検出装置は、基準ベクトルと当該一時基準ベクトルとを交換することによって、新しいネットワークに対応した基準ベクトルによって異常（障害）を検出することができる。
【００１７】
また、本発明は、前記記憶部が、前記一時基準ベクトルと当該一時基準ベクトルが生成された時期を示す生成時期とを関連付けて記憶しており、前記変更部が、現在から前記生成時期までの第１の時間と閾値である第２の所定時間とを比較し、前記第１の時間が前記第２の所定時間以上となっている前記一時基準ベクトルを前記記憶部から削除することを特徴とする。
【００１８】
このような構成によれば、ネットワーク異常検出装置は、一時基準ベクトルの数が増加し過ぎることを防ぎつつ、最新のネットワークの状態を反映できる。また、一時基準ベクトルの数を減少させることは、異常スコアの演算や比較演算に要する処理負荷やメモリの低減につながるという利点もある。
【００１９】
また、本発明は、前記記憶部が、前記固有ベクトル算出部によって過去に算出された前記固有ベクトルを記憶しており、前記第１の異常スコアが前記閾値以下の場合、過去に正常と判定されたときの前記過去に算出された固有ベクトルと前記現在ベクトルとを用いて基準ベクトルを算出する学習処理を実行して、当該算出した基準ベクトルで前記記憶部に記憶していた基準ベクトルを上書きする処理、または、前記現在ベクトルと前記今回の一時基準ベクトルと同じ一時基準ベクトルが前記抽出処理によって過去に抽出されたときに現在ベクトルであった前記過去に算出された固有ベクトルとを用いて一時基準ベクトルを算出する学習処理を実行して、当該学習処理によって算出した一時基準ベクトルで前記記憶部に記憶していた一時基準ベクトルを上書きする処理、を実行する学習処理部をさらに備えることを特徴とする。
【００２０】
このような構成によれば、ネットワーク異常検出装置は、基準ベクトルおよび一時基準ベクトルを、固定値とはせずに学習処理を実行することによって、加入者の増減やサービスの変化等にともなってネットワークに流れるトラフィック流量や装置の負荷の変化に適応させることができる。つまり、最新のネットワークの状態を基準ベクトルおよび一時基準ベクトルに反映して異常状態の識別領域を変化させることによって、最新のネットワークに適合した異常状態の遷移を検出することができる。
【００２１】
また、本発明は、前記変更部が、前記基準ベクトルと前記一時基準ベクトルとの間の距離を算出し、前記距離と所定距離とを比較し、前記距離が前記所定距離以下となった場合、前記基準ベクトルの前記学習処理および当該一時基準ベクトルの前記学習処理に用いた前記過去に算出された固有ベクトルを用いて、新しい基準ベクトルを生成する所定の処理を実行し、前記新しい基準ベクトルで前記記憶部に記憶してある前記基準ベクトルを上書きすることを特徴とする。
【００２２】
このような構成によれば、ネットワーク異常検出装置は、学習処理にともなって、基準ベクトルと一時基準ベクトルとが接近してきた場合に、両者を統合して新しい基準ベクトルを生成することができるので、無駄な一時基準ベクトルの数を減らすことができるとともに、異常スコアの演算や比較演算に要する処理負荷やメモリの低減につながるという利点もある。
【発明の効果】
【００２３】
本発明によれば、障害中の異常状態遷移を検出することができる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態におけるネットワーク異常検出装置を含むネットワーク異常検出システムの構成およびネットワーク異常検出装置の動作概要を示す図であり、（ａ）はネットワーク異常検出システムの構成を表し、（ｂ）は障害（異常）を検出したと判定するケースを表し、（ｃ）は異常状態の遷移を検出するときに用いる一時基準ベクトルと異常検出時の第２のベクトルとの関係を表している。
【図２】ネットワーク異常検出装置の構成例を示す図である。
【図３】固有ベクトルＤＢの一例を示す図である。
【図４】基準ベクトルＤＢの一例を示す図である。
【図５】ネットワーク異常検出装置における処理フロー例を示す図である。
【図６】基準ベクトルと一時基準ベクトルとを統合する例を示す図である。
【図７】従来技術において障害を検出しない場合の例を示す図であり、（ａ）は、正常な場合を表し、（ｂ）は、障害が発生している状態であっても障害の検出が困難な場合を表す。
【図８】従来技術において、障害を検出するための処理例を示す図である。
【発明を実施するための形態】
【００２５】
本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００２６】
（概要）
はじめに、本実施形態のネットワーク異常検出装置を含むネットワーク異常検出システムの構成およびネットワーク異常検出装置の動作概要について、図１（ａ）（ｂ）（ｃ）を用いて説明する。
【００２７】
ネットワーク異常検出システム１は、図１（ａ）に示すように、ネットワーク１１内のノードである装置１０Ａ，１０Ｂ，１０Ｃ（１０）とネットワーク異常検出装置１００とを通信可能に接続して構成される。ネットワーク異常検出装置１００は、前記した方法Ｂのように、装置１０に対して問い合わせて得た情報を分析して、障害を検出するとともに、その障害中の異常状態の遷移を検出する機能を備えている。なお、図１（ａ）では、装置が３台記載されているが、３台に限らなくてもよい。
【００２８】
ネットワーク異常検出装置１００は、障害を検出する場合には、非特許文献１，２に記載の方法（図８参照）と同様である。すなわち、基準ベクトル（Vec-Ref）を、現在ベクトル（Vec-Now）が異常か否かの判定基準として用いる。なお、基準ベクトル（Vec-Ref）は、ネットワーク１１が正常な状態のときのネットワーク１１内の装置１０間の状態を示す行列の固有ベクトルから算出される。現在ベクトル（Vec-Now）は、現時点のネットワーク１１内の装置１０間の状態を示す行列から算出される固有ベクトルである。また、ネットワーク異常検出装置１００は、現時点の現在ベクトル（Vec-Now）と基準ベクトル（Vec-Ref）との間の角度差（Fail-deg）を異常スコアとして定義し、異常スコアが閾値を超える場合、障害（異常）を検出したと判定する。
【００２９】
具体的には、ネットワーク異常検出装置１００は、図１（ｂ）に示すように、基準ベクトル（Vec-Ref）Ｒと現在ベクトルを示す第１のベクトル（Vec-Now）Ａとの角度差ＲＡ（異常スコア）が閾値より大きいか否かを比較し、角度差ＲＡ（異常スコア）が閾値より大きい場合に障害（異常）を検出したと判定する。なお、図１（ｂ）は、角度差ＲＡが閾値より大きい場合を表しているものとし、第１のベクトル（Vec-Now）Ａが障害（異常）であると判定された場合を示しているものとする。
【００３０】
図１（ｃ）は、本実施形態のネットワーク異常検出装置１００に特有の処理状態を表している。図１（ｃ）は、図１（ｂ）の異常状態の次の時刻（装置１０から情報を取得した時刻）に、再び異常が発生した場合を表しているものとする。この時の現在ベクトルは、第２のベクトル（Vec-Now）Ｂである。そして、基準ベクトル（Vec-Ref）Ｒと第２のベクトル（Vec-Now）Ｂとの角度差ＲＢが、角度差ＲＡとほぼ等しいものとする。
【００３１】
従来技術のように基準ベクトル（Vec-Ref）のみを用いた場合には、図１（ｃ）に示す状況は、図１（ｂ）の場面に続いて異常が発生した（異常状態が継続している）と判定することはできるが、異常状態の遷移までは知ることができない。異常状態が遷移したということは、障害の原因となっている事象が変わった、または前と異なる原因が追加された可能性が高いため、異常状態の遷移を知ることは、早く障害から復旧して安定なネットワークサービスを提供する上で重要である。例えば、大規模な障害や構成変更等によって、現時点のネットワーク１１の状態を示す現在ベクトル（Vec-Now）が、一瞬で図１（ｂ）に示す第１のベクトルＡから、図１（ｃ）に示す第２のベクトルＢに遷移する可能性があり得る。
【００３２】
そこで、本実施形態では、図１（ｃ）に示すように、ネットワーク異常検出装置１００障害（異常）を検出したと判定した第１のベクトルＡを、基準ベクトル（Vec-Ref）Ｒとは別の新たな補足的な基準として一時基準ベクトル（Vec-Refd-1）Ｔに設定する。そして、ネットワーク異常検出装置１００第２のベクトル（Vec-Now）Ｂと一時基準ベクトル（Vec-Refd-1）Ｔとの角度差ＴＢが閾値より大きいか否かを比較し、角度差ＴＢが閾値より大きい場合に、異常状態が遷移したと判定する。
【００３３】
なお、基準ベクトル（Vec-Ref）Ｒに対する異常スコアとの比較に用いた閾値と、一時基準ベクトル（Vec-Refd-1）Ｔに対する異常スコアとの比較に用いた閾値とは、等しくても異なっていても構わず、状況に応じて使い分けることができる。例えば、障害と判定する条件を狭くしたい場合には、基準ベクトル（Vec-Ref）Ｒに対する異常スコアとの比較に用いる閾値を小さくする。また、異常状態を識別するための領域を広くしたい場合には、一時基準ベクトル（Vec-Refd-1）Ｔに対する異常スコアとの比較に用いる閾値を大きくすればよい。
【００３４】
つまり、本実施形態では、図１（ｃ）に示すように、ネットワーク異常検出装置１００は、基準ベクトル（Vec-Ref）Ｒとは別に一時基準ベクトル（Vec-Refd-1）Ｔを設定することによって、異常状態の遷移を検出できるようになる。
なお、一時基準ベクトル（Vec-Refd-*）の数は、１つに限られず複数であっても構わない。例えば、第１（ｃ）に示す例では、異常が発生したと判定された第１のベクトルおよび異常状態が遷移したと判定された第２のベクトルがそれぞれ一時基準ベクトル（Vec-Refd-*）となることができる。なお、以下の説明では、基準ベクトル（Vec-Ref）および一時基準ベクトル（Vec-Refd-*）をまとめて総称する場合に、参照ベクトルと称している。また、＊印は、複数の一時基準ベクトルの集合内のいずれかの一時基準ベクトルを指すものとする。
【００３５】
（フレームワーク）
ここで、ネットワーク異常検出装置１００の構成について説明する前に、準備として、一時基準ベクトルを複数設定した場合において、考慮する処理内容（機能）について説明する。
【００３６】
基準ベクトル（Vec-Ref）とは別に、一時基準ベクトル（Vec-Refd-*）を１つ設定した場合については、図１（ｃ）を用いて、既に前記したとおりである。ネットワーク１１の状態が、どのように遷移し、過去のどの異常状態と類似しているかを判別できるようにするために、一時基準ベクトル（Vec-Refd-*）を複数設定することは有効と考えられる。
ネットワーク１１では、ルーティングの切り替えや切り戻しの繰り返しが実施される場合がある。この場合には、直近の状態と現時点の状態との間を行き来するような異常状態が発生する。また、装置が老朽化した場合、その装置は他の装置よりも故障が起きやすくなっており、似たような故障を繰り返す場合が起きる。さらに、ネットワーク１１の状態は、構成変更や使用状況等によって、時々刻々と変化する（状態ａ）。
【００３７】
そのため、一時基準ベクトル（Vec-Refd-*）が生成されてから所定時間以上経過した場合には、当該一時基準ベクトル（Vec-Refd-*）は、現時点のネットワーク１１の構成や使用状況と合致しなくなっていると考えられる（状態ｂ）。さらに、一時基準ベクトル（Vec-Refd-*）の数を増加させた場合には、異常状態を細かく判別することができるが、演算処理の負荷やリソースの増大をまねくために、一時基準ベクトル（Vec-Refd-*）の数を制限することが現実的であると考えられる。
さらに、基準ベクトル（Vec-Ref）および一時基準ベクトル（Vec-Refd-*）を現状のネットワーク１１の状態に合わせるために、学習処理を実行した場合、学習処理後の基準ベクトル（Vec-Ref）および一時基準ベクトル（Vec-Refd-*）同士が接近してくる場合が想定される（状態ｃ）。
【００３８】
したがって、ネットワーク異常検出装置１００は、以下に示す処理を機能として備えるものとする。
（１）参照ベクトルの異常スコアすべてが閾値より大きい場合には、その時の現在ベクトル（Vec-Now）を、新しい一時基準ベクトル（Vec-Refd-*）として参照ベクトルに追加する処理（前記状態ａに対応）
（２）所定時間にわたって異常スコアが閾値以下の一時基準ベクトル（Vec-Refd-*）と基準ベクトル（Vec-Ref）とを交換する処理（前記状態ａに対応）
（３）生成時期から所定時間以上経過した一時基準ベクトル（Vec-Refd-*）を削除する処理（前記状態ｂに対応）
（４）学習処理によって、基準ベクトル（Vec-Ref）と一時基準ベクトル（Vec-Refd-*）とが類似してきた場合、両者を統合する処理（前記状態ｃに対応）
【００３９】
（ネットワーク異常検出装置の構成）
ネットワーク異常検出装置１００の構成について、図２を用いて説明する（適宜、図１，８参照）。ネットワーク異常検出装置１００は、図２に示すように、処理部１１０、記憶部１２０、通信部１３０、および出力部１４０を備えている。
処理部１１０は、さらに、行列生成部１１１、固有ベクトル算出部１１２、参照ベクトル学習処理部１１３、状態判定部１１４、および参照ベクトル変更部１１５を備える。処理部１１０は、図示しないＣＰＵおよびメインメモリによって構成され、記憶部１２０に記憶されているアプリケーションプログラムをメインメモリに展開して、行列生成部１１１、固有ベクトル算出部１１２、参照ベクトル学習処理部１１３、状態判定部１１４、および参照ベクトル変更部１１５を具現化する。
【００４０】
行列生成部１１１は、通信部１３０を介して取得したネットワーク１１内の装置１０におけるトラフィック流量を要素として、行列の行を送信側の装置１０、列を受信側の装置１０として行列（図８参照）を生成する機能を有する。行列の生成は、所定の周期またはネットワーク１１の管理者もしくは保守者等に指示されたときに行われる。
固有ベクトル算出部１１２は、行列生成部１１１によって生成された行列の固有ベクトル（図８参照）を算出する機能を有する。また、固有ベクトル算出部１１２は、算出した固有ベクトルを、後記する固有ベクトルＤＢ１２１（図３参照）に記憶する機能を有する。
【００４１】
参照ベクトル学習処理部１１３は、過去に算出された固有ベクトル（Vec-Past）と現在ベクトル（Vec-Now）とを固有ベクトルＤＢ１２１から読み出して、参照ベクトルに学習処理を実行して、学習処理後の参照ベクトルで既に参照ベクトルＤＢ１２２に記憶してある参照ベクトルを上書きする（更新する）ように記憶する機能を有する。なお、学習処理の詳細については、後記する。
【００４２】
状態判定部１１４は、現在ベクトル（Vec-Now）と基準ベクトル（Vec-Ref）との角度差である異常スコア（第１の異常スコア）を算出し、算出した異常スコア（第１の異常スコア）と閾値とを比較し、当該異常スコア（第１の異常スコア）が閾値以下の場合に、正常と判定し、当該異常スコア（第１の異常スコア）が閾値より大きい場合に、障害（異常）が発生したと判定する機能を有する。また、状態判定部１１４は、現在ベクトル（Vec-Now）と一時基準ベクトル（Vec-Refd-*）との角度差である異常スコア（第２の異常スコア）を算出する機能も有する。そして、状態判定部１１４は、第２の異常スコアの中で第２の異常スコアが閾値以下でかつ最小となる一時基準ベクトルを抽出する抽出処理を実行し、当該抽出処理によって抽出した今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なるか否かを判定し、今回の一時基準ベクトルと今回の直前に抽出された一時基準ベクトルとが異なる場合、異常状態が遷移したと判定する機能を有する。また、状態判定部１１４は、遷移した異常状態等の情報を出力部１４０に出力する機能を有する。なお、閾値は、記憶部１２０に記憶されている。
【００４３】
参照ベクトル変更部１１５は、状態判定部１１４において参照ベクトルすべての異常スコアが閾値より大きいと判定された場合、現在ベクトル（Vec-Now）を新しい一時基準ベクトル（Vec-Refd-*）として参照ベクトルに追加（参照ベクトルＤＢ１２２に記憶）する機能を有する。また、参照ベクトル変更部１１５は、基準ベクトル（Vec-Ref）と所定時間（第１の所定時間）以上にわたって異常スコアが閾値以下の一時基準ベクトル（Vec-Refd-*）とを交換する機能を有する。なお、所定期間は、ネットワーク１１ごとに可変設定してもよい。例えば、所定期間は、状態変化の多いネットワーク１１では、時間オーダに設定し、状態変化の少ないネットワーク１１では、週オーダに設定するようにする。なお、所定時間（第１の所定時間）は、記憶部１２０に記憶されている。
【００４４】
さらに、参照ベクトル変更部１１５は、一時基準ベクトル（Vec-Refd-*）が生成された（参照ベクトルに追加された）時期を示す生成時期から所定時間（第２の所定時間）以上経過した当該一時基準ベクトル（Vec-Refd-*）を、参照ベクトルＤＢ１２２から削除する機能を有する。また、参照ベクトル変更部１１５は、基準ベクトル（Vec-Ref）と一時基準ベクトル（Vec-Refd-*）との間の距離を算出し、算出した距離と所定距離とを比較し、算出した距離が所定距離以下となった場合、基準ベクトル（Vec-Ref）の学習処理および一時基準ベクトル（Vec-Refd-*）の学習処理に用いた固有ベクトルを用いて、新しい基準ベクトル（Vec-Ref）を生成する学習処理を実行して、当該新しい基準ベクトル（Vec-Ref）で、既に参照ベクトルＤＢ１２２に記憶してある基準ベクトル（Vec-Ref）を上書き（更新）する。なお、新しい基準ベクトル（Vec-Ref）は、基準ベクトル（Vec-Ref）と一時基準ベクトル（Vec-Refd-*）との移動平均によって算出してもよい。なお、所定時間（第２の所定時間）および所定距離は、記憶部１２０に記憶されている。
【００４５】
通信部１３０は、ネットワーク１１を接続する通信インタフェースであり、ネットワーク１１内の装置１０にトラフィック流量等の情報を問い合わせるコマンドを送信したり、そのコマンドに対する応答情報を受信したりする。
出力部１４０は、表示装置を接続する出力インタフェースであって、処理部１１０の処理結果等の情報を出力する。
【００４６】
記憶部１２０は、ハードディスク等であって、固有ベクトルＤＢ１２１および参照ベクトルＤＢ１２２を格納している。
【００４７】
固有ベクトルＤＢ１２１は、図３に示すように、トラフィック流量等の情報を取得した時刻と固有ベクトル算出部１１２（図２参照）が算出した固有ベクトルとを関連付けて記憶している。なお、時刻ｔ（ｎ）におけるｎは、トラフィック流量等の情報を取得した周期を識別する番号である。固有ベクトルＤＢ１２１に記憶されている時刻ｔ（ｎ）は現在を表し、時刻ｔ（ｎ）の固有ベクトルは現在ベクトル（Vec-Now）となる。また、過去の固有ベクトルＵ（ｎ−１）等は、参照ベクトル学習処理部１１３（図２参照）における参照ベクトルの学習処理のために用いられる。
【００４８】
参照ベクトルＤＢ１２２は、図４に示すように（適宜、図２参照）、参照ベクトル（基準ベクトル（Vec-Ref）および一時基準ベクトル（Vec-Refd-*））を識別する参照ベクトルＩＤ、ベクトルの成分を表したベクトル成分、生成時期（生成時刻）、異常スコアが閾値以下となって継続している時間（継続時間）、更新フラグ、学習期間、および備考を関連付けて記憶している。
【００４９】
参照ベクトルＩＤ欄には、参照ベクトルを識別するＩＤが格納される。例えば、参照ベクトルＩＤは、基準ベクトルにはVec-Ref、一時基準ベクトル１にはVec-Refd-1というように付される。なお、一時基準ベクトル（Vec-Refd-*）が追加されるときには、参照ベクトル変更部１１５が、新たに参照ベクトルＩＤを発行し、行を追加する。また、参照ベクトルが削除されるときには、参照ベクトル変更部１１５が、該当の参照ベクトルＩＤの行全体を削除する。
【００５０】
ベクトル成分欄には、ベクトルの成分を表現する数値が参照ベクトル変更部１１５によって格納される。
生成時期（生成時刻）の欄には、参照ベクトルが生成されたときの時刻が、参照ベクトル変更部１１５によって格納される。生成時期（生成時刻）は、参照ベクトル変更部１１５が、生成時期から所定時間以上経過した一時基準ベクトル（Vec-Refd-*）を、参照ベクトルＤＢ１２２から削除するときに参照される。
【００５１】
異常スコアが閾値以下となって継続している時間（継続時間）の欄には、異常スコアが閾値以下となって継続している時間（継続時間）が格納される。なお、異常スコアが閾値以下となって継続している時間（継続時間）は、参照ベクトル変更部１１５が、継続時間が所定時間以上となっている一時基準ベクトル（Vec-Refd-*）を抽出するときに参照される。
【００５２】
更新フラグの欄には、更新フラグである１（ＯＮ；学習する）または０（ＯＦＦ；学習しない）のいずれかが、参照ベクトル学習処理部１１３によって格納される。
学習期間の欄には、更新フラグが１（ＯＮ；学習する）に設定されている期間が参照ベクトル学習処理部１１３によって格納される。そして、更新フラグが１（ＯＮ；学習する）に設定された参照ベクトルが、学習処理の対象となる。
【００５３】
ここで、学習処理と学習期間と更新フラグとの関係について説明する（適宜、図２，３，４参照）。
学習処理とは、例えば、参照ベクトルＤＢ１２２に示す一時基準ベクトル２（Vec-Refd-2）の場合には、更新フラグが１（ＯＮ；学習する）となっている間、学習期間の欄に格納されているｔ（ｎ−ｂ２）からｔ（ｎ−ｃ２）までの期間の固有ベクトル（Vec-Past）を固有ベクトルＤＢ１２１から読み出して、その読み出した固有ベクトル（Vec-Past）と現在ベクトル（Vec-Now）とを用いて所定の処理を実行し、当該処理の結果であるベクトルで既に参照ベクトルＤＢ１２２に記憶してある一時基準ベクトル２（Vec-Refd-2）を上書き（更新）する処理である。所定の処理とは、例えば、移動平均等である。基準ベクトル（Vec-Ref）についても、前記した一時基準ベクトル（Vec-Refd-*）の場合と同様に、更新フラグが１（ＯＮ；学習する）となっている間、学習期間の欄に格納されている期間の固有ベクトル（Vec-Past）を固有ベクトルＤＢ１２１から読み出して、その読み出した固有ベクトル（Vec-Past）と現在ベクトル（Vec-Now）とを用いて所定の処理を実行し、既に参照ベクトルＤＢ１２２に記憶してある基準ベクトル（Vec-Ref）を上書き（更新）する。
具体的には、参照ベクトル学習処理部１１３は、更新フラグが１（ＯＮ；学習する）となっている参照ベクトルに対して、学習処理を実行し、参照ベクトルＤＢ１２２のベクトル成分の欄を、学習処理後のベクトル成分に書き換える。
また、参照ベクトル学習処理部１１３は、更新フラグが１（ＯＮ）とされた時期を、学習期間に記憶する。
なお、学習処理に用いる固有ベクトル（Vec-Past）は、その数に上限（例えば、ｋ個以下）を設ける、または、当該固有ベクトルの生成された生成時期が現在から所定時間以内に入っているものに限定する、ようにしても構わない。
【００５４】
備考の欄には、参照ベクトルが生成された後で判明している障害原因等の情報、例えば、「装置△△に障害発生」等の情報が格納される。この備考の欄の情報は、ネットワーク１１の管理者または保守者等によって、異常状態の原因が解明された後に格納される。備考の欄は、状態判定部１１４が、異常状態を出力部１４０に出力する際に参照される。
【００５５】
（ネットワーク異常検出装置の処理フロー）
次に、ネットワーク異常検出装置１００の処理フロー例について、図５を用いて説明する（適宜、図２，３，４参照）。
ステップＳ５０１では、処理部１１０の行列生成部１１１は、通信部１３０を介して、ネットワーク１１内の装置１０からトラフィック流量等の情報を取得し、トラフィック流量を要素とする行列を生成する。行列の生成は、所定の周期またはネットワーク１１の管理者もしくは保守者等に指示されたときに行われる。
【００５６】
ステップＳ５０２では、固有ベクトル算出部１１２は、行列生成部１１１によって生成された行列から、固有ベクトルである現在ベクトル（Vec-Now）を算出する。また、固有ベクトル算出部１１２は、算出した現在ベクトル（Vec-Now）を、固有ベクトルＤＢ１２１に記憶する。
【００５７】
ステップＳ５０３では、状態判定部１１４は、参照ベクトルＤＢ１２２から参照ベクトルを読み出して、読み出した参照ベクトル（基準ベクトル（Vec-Ref）および一時基準ベクトル（Vec-Refd-*））と現在ベクトル（Vec-Now）との間の異常スコアを算出する。
【００５８】
ステップＳ５０４では、状態判定部１１４は、基準ベクトル（Vec-Ref）と現在ベクトル（Vec-Now）との間の異常スコア（第１の異常スコア）と閾値とを比較し、異常状態か否かを判定する。当該異常スコア（第１の異常スコア）が閾値以下の場合すなわち異常状態でないと判定した場合（ステップＳ５０４でＮｏ）、処理はステップＳ５０５へ進む。また、当該異常スコア（第１の異常スコア）が閾値より大きい場合すなわち異常状態であると判定した場合（ステップＳ５０４でＹｅｓ）、処理はステップＳ５０８へ進む。
【００５９】
ステップＳ５０５では、参照ベクトル学習処理部１１３は、基準ベクトル（Vec-Ref）の更新フラグを１（ＯＮ）に設定する。そして、参照ベクトル学習処理部１１３は、基準ベクトル（Vec-Ref）以外の参照ベクトルの更新フラグを０（ＯＦＦ）に設定する。
【００６０】
ステップＳ５０６では、参照ベクトル学習処理部１１３は、基準ベクトル（Vec-Ref）の学習処理を実行する。
ステップＳ５０７では、状態判定部１１４は、正常を示す情報を出力部１４０に出力する。ステップＳ５０７の処理後の処理は、ステップＳ５１４へ進む。
【００６１】
ステップＳ５０８では、状態判定部１１４は、すべての異常スコアが閾値より大きいか否かを判定する。次に、状態判定部１１４は、一時基準ベクトル（Vec-Refd-*）と現在ベクトル（Vec-Now）との間の異常スコア（第２の異常スコア）が閾値以下でかつ最小となる一時基準ベクトル（Vec-Refd-*）を抽出する処理を実行する。そして、すべての異常スコアが閾値以下であると判定した場合（ステップＳ５０８でＮｏ）、処理はステップＳ５０９へ進む。また、すべての異常スコアが閾値より大きいと判定した場合（ステップＳ５０８でＹｅｓ）、処理はステップＳ５１２へ進む。
【００６２】
ステップＳ５０９では、参照ベクトル学習処理部１１３は、異常スコアが最小となる一時基準ベクトル（Vec-Refd-*）の更新フラグを１（ＯＮ）に設定する。そして、参照ベクトル学習処理部１１３は、当該一時基準ベクトル（Vec-Refd-*）以外の参照ベクトルの更新フラグを０（ＯＦＦ）に設定する。
【００６３】
ステップＳ５１０では、参照ベクトル学習処理部１１３は、異常スコアが最小となる一時基準ベクトル（Vec-Refd-*）の学習処理を実行する。
そして、ステップＳ５１１では、状態判定部１１４は、異常が検出された（障害が検出された）情報、および、参照ベクトルＤＢ１２２を参照して、異常スコアが最小となる一時基準ベクトル（Vec-Refd-*）に関連付けられた備考の欄に格納されている情報を出力部１４０に出力する。ステップＳ５１１の処理後の処理は、ステップＳ５１４へ進む。
【００６４】
ステップＳ５１２では、参照ベクトル変更部１１５は、現在ベクトル（Vec-Now）を新しい一時基準ベクトル（Vec-Refd-*）として参照ベクトルに追加する。具体的には、参照ベクトル変更部１１５は、現在ベクトル（Vec-Now）を新しい一時基準ベクトル（Vec-Refd-*）として参照ベクトルＤＢ１２２に追加する。
【００６５】
ステップＳ５１３では、参照ベクトル学習処理部１１３は、新しい一時基準ベクトル（Vec-Refd-*）の更新フラグを１（ＯＮ）に設定する。そして、参照ベクトル学習処理部１１３は、当該一時基準ベクトル（Vec-Refd-*）以外の参照ベクトルの更新フラグを０（ＯＦＦ）に設定する。ステップＳ５１３の処理後の処理は、ステップＳ５１１へ進む。
なお、ステップＳ５１３の処理後のステップＳ５１１では、状態判定部１１４は、新しい異常状態が検出された情報を出力部１４０に出力する。
【００６６】
ステップＳ５１４では、参照ベクトル変更部１１５は、基準ベクトル（Vec-Ref）と所定時間以上にわたって異常スコア（第２の異常スコア）が閾値以下の一時基準ベクトル（Vec-Refd-*）とを交換する。具体的には、参照ベクトル変更部１１５は、第２の異常スコアが閾値以下となって継続している時間を示す継続時間と所定時間（第１の所定時間）とを比較し、継続時間が第１の所定時間以上となっている一時基準ベクトル（Vec-Refd-*）を基準ベクトル（Vec-Ref）に変更し、当該基準ベクトル（Vec-Ref）を一時基準ベクトル（Vec-Refd-*）に変更する。
【００６７】
ステップＳ５１５では、参照ベクトル変更部１１５は、生成時期から現在に至るまでの時間が所定時間（第２の所定時間）以上経過した一時基準ベクトル（Vec-Refd-*）を、参照ベクトルＤＢ１２２から削除する。
【００６８】
ステップＳ５１６では、参照ベクトル変更部１１５は、基準ベクトル（Vec-Ref）と一時基準ベクトル（Vec-Refd-*）との距離が所定距離以下となった場合、両者を統合する。ステップＳ５１６の処理後の処理は、ステップＳ５０１へ戻る。
【００６９】
ここで、前記した統合処理について、図６を用いて説明する。
図６は、基準ベクトル（Vec-Ref）Ｒと、一時基準ベクトル（Vec-Refd-*）Ｃとが存在している状態を表している。基準ベクトル（Vec-Ref）Ｒおよび一時基準ベクトル（Vec-Refd-*）Ｃは、それぞれ、更新フラグが１（ＯＮ）のときに学習処理を実行される。そのため、基準ベクトル（Vec-Ref）Ｒと一時基準ベクトル（Vec-Refd-*）Ｃとが接近してくる場合が起こる。
この場合に対応するために、図６に示すように、基準ベクトル（Vec-Ref）Ｒと一時基準ベクトル（Vec-Refd-*）Ｃとの間のベクトル間距離を、例えば、ユークリッド距離で定義する。そして、参照ベクトル変更部１１５は、ベクトル間距離を所定距離と比較し、ベクトル間距離が所定距離以下の場合、基準ベクトル（Vec-Ref）Ｒと一時基準ベクトル（Vec-Refd-*）Ｃとを統合し、統合後のベクトルを新しい基準ベクトル（Vec-Ref）Ｒ１として、参照ベクトルＤＢ１２２を更新する。なお、統合処理は、例えば、基準ベクトル（Vec-Ref）の学習処理および一時基準ベクトル（Vec-Refd-*）の学習処理に用いた固有ベクトルを用いて、新しい基準ベクトル（Vec-Ref）を生成する学習処理を実行するか、または、基準ベクトル（Vec-Ref）と一時基準ベクトル（Vec-Refd-*）との移動平均によって算出する。
【００７０】
以上、本実施形態で説明したネットワーク異常検出装置１００は、異常と判定するために用いる基準となる基準ベクトル（Vec-Ref）および１以上の一時基準ベクトル（Vec-Refd-*）（参照ベクトル）を備えている。その参照ベクトルのうち一時基準ベクトルは、すべての異常スコアが閾値より大きい場合に、その時の現在ベクトル（Vec-Now）を一時基準ベクトル（Vec-Refd-*）として追加することによって形成される。すなわち、一時基準ベクトル（Vec-Refd-*）同士は、相互に異なる異常状態を表している。したがって、ネットワーク異常検出装置１００は、基準ベクトル（Vec-Ref）を基準として、ネットワークの障害（異常）の有無を判定するとともに、一時基準ベクトル（Vec-Refd-*）を基準として、障害中の異常状態遷移を検出することができる。
【００７１】
なお、図５のステップＳ５１２とステップＳ５１３とは、処理の順番が逆であっても構わない。
【符号の説明】
【００７２】
１    ネットワーク異常検出システム
１０（１０Ａ，１０Ｂ，１０Ｃ）  装置
１１  ネットワーク
１００  ネットワーク異常検出装置
１１０  処理部
１１１  行列生成部
１１２  固有ベクトル算出部
１１３  参照ベクトル学習処理部（学習処理部）
１１４  状態判定部
１１５  参照ベクトル変更部（変更部）
１２０  記憶部
１２１  固有ベクトルＤＢ
１２２  参照ベクトルＤＢ
１３０  通信部
１４０  出力部
【図１】
0005498440.tif 000002
【図２】
0005498440.tif 000003
【図３】
0005498440.tif 000004
【図４】
0005498440.tif 000005
【図５】
0005498440.tif 000006
【図６】
0005498440.tif 000007
【図７】
0005498440.tif 000008
【図８】
0005498440.tif 000009