(57)【要約】【課題】トラフィック異常の検出精度を高める。【解決手段】トラフィック管理装置１は、記憶部１ａと制御部１ｂを含む。記憶部１ａは、トラフィックの履歴情報を記憶する。制御部１ｂは、記憶部１ａに記憶されているトラフィックの履歴情報にもとづいてベースモデルを選択してトラフィックモデルｍ１を生成し、トラフィックモデルｍ１からトラフィックの予測値ｐｒ１を算出する。また、制御部１ｂは、トラフィックの予測値ｐｒ１と、トラフィックの実測値ｐｒ２との差分（乖離度）にもとづいてトラフィック異常を算出する。そして、制御部１ｂは、算出したトラフィック異常と、予め設定した閾値とを比較し、異常判定処理を行う。トラフィック異常が閾値を超過する場合は異常有りと判定される。【選択図】図１
2018195929.tif 000002
【特許請求の範囲】
【請求項１】
トラフィックの履歴情報を記憶する記憶部と、
前記履歴情報にもとづきベースモデルを選択してトラフィックモデルを生成し、前記トラフィックモデルから前記トラフィックの予測値を求め、前記予測値と、前記トラフィックの実測値とにもとづいて、トラフィック異常を検出する制御部と、
を有するトラフィック管理装置。
【請求項２】
前記制御部は、前記履歴情報の所定期間のトラフィック量の回帰直線の傾きにもとづいて、自己回帰モデル、自己回帰和分移動平均モデル、回帰直線モデルのうち１つを、前記ベースモデルとして選択する請求項１記載のトラフィック管理装置。
【請求項３】
前記制御部は、第１の周期で生成した第１のトラフィックモデルにもとづいて前記トラフィック異常の検出により異常値を検出した場合、前記第１の周期の次の第２の周期で取得した第１の履歴情報から前記異常値を除去し、前記異常値が除去された第２の履歴情報にもとづいて、前記第２の周期における第２のトラフィックモデルを生成し、前記第２のトラフィックモデルから前記予測値を求める請求項１記載のトラフィック管理装置。
【請求項４】
前記制御部は、前記第２のトラフィックモデルの生成時、前記異常値を除去することにより発生する欠損値を、前記異常値の近傍に位置する正常値を用いた近似曲線で補間する請求項３記載のトラフィック管理装置。
【請求項５】
前記制御部は、事前に予定されているトラフィック需要量を取得し、前記トラフィック需要量を含めた前記予測値を求める請求項１記載のトラフィック管理装置。
【請求項６】
コンピュータが、
トラフィックの履歴情報をメモリに蓄積し、
前記履歴情報にもとづきベースモデルを選択してトラフィックモデルを生成し、前記トラフィックモデルから前記トラフィックの予測値を求め、前記予測値と、前記トラフィックの実測値とにもとづいて、トラフィック異常を検出する、
トラフィック管理方法。
【請求項７】
コンピュータに
トラフィックの履歴情報をメモリに蓄積し、
前記履歴情報にもとづきベースモデルを選択してトラフィックモデルを生成し、前記トラフィックモデルから前記トラフィックの予測値を求め、前記予測値と、前記トラフィックの実測値とにもとづいて、トラフィック異常を検出する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラフィック管理装置、トラフィック管理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、仮想ネットワークやＩｏＴ（Internet of Things）等の普及に伴い、ネットワークのトラフィックは増加の一途を辿っている。ネットワーク運用者は、管理下にあるネットワークが正常に動作しているかを把握するため、トラフィック情報を定期的に収集し、何らかの異常（トラフィック急増・急減等）が発生した際には、早期に異常を検出することが求められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５００８３号公報
【特許文献２】特開２０１１−２４４０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在用いられているトラフィック監視技術は、トラフィック流量と、固定的な閾値とを比較し、閾値を超過すると異常有りと検出するものである。しかし、このような固定閾値ベースのトラフィック異常検出では、誤検知することも多い。
【０００５】
例えば、ソフトウェアのアップデートや回線加入者の増加等に伴って生じるトラフィック流量の増加を異常有りと判定してしまう可能性がある。また、トラフィック流量に異常は無くても、トラフィックの変動周期が早いケース等の異常トラフィックを正常と誤判定してしまう可能性がある。
【０００６】
１つの側面では、本発明は、トラフィック異常の検出精度を高めたトラフィック管理装置、トラフィック管理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、トラフィック管理装置が提供される。トラフィック管理装置は、記憶部と制御部を備える。記憶部は、トラフィックの履歴情報を記憶する。制御部は、履歴情報にもとづきベースモデルを選択してトラフィックモデルを生成し、トラフィックモデルからトラフィックの予測値を求め、予測値と、トラフィックの実測値とにもとづいて、トラフィック異常を検出する。
【０００８】
また、上記課題を解決するために、コンピュータが上記トラフィック管理装置と同様の制御を実行するトラフィック管理方法が提供される。
さらに、上記課題を解決するために、コンピュータに上記トラフィック管理装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【０００９】
１側面によれば、トラフィック異常の検出精度を高めることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】トラフィック管理装置の構成の一例を示す図である。
【図２】ネットワークシステムの構成の一例を示す図である。
【図３】フローテーブルの構成の一例を示す図である。
【図４】トラフィック管理装置のハードウェア構成の一例を示す図である。
【図５】トラフィック管理装置の機能ブロックの一例を示す図である。
【図６】急増トラフィックが発生するケースにおける異常度判定の一例を示す図である。
【図７】周期が異なるトラフィックが発生するケースにおける異常度判定の一例を示す図である。
【図８】周期的に急増トラフィックが発生するケースにおける異常度判定の一例を示す図である。
【図９】周期成分とトレンド成分を含むトラフィックに対し、ある周期のトラフィックが少量のケースにおける異常度判定の一例を示す図である。
【図１０】周期成分とトレンド成分を含むトラフィックに対し、一時的に大量トラフィックが発生するケースにおける異常度判定の一例を示す図である。
【図１１】トラフィック学習部の動作を示すフローチャートである。
【図１２】トラフィック学習部の動作を具体例で説明するための図である。
【図１３】トラフィック学習部の動作を具体例で説明するための図である。
【図１４】トラフィックモデル更新制御の動作シーケンスの一例を示す図である。
【図１５】トラフィックモデル更新制御によって異常度検出精度が向上する例を説明するための図である。
【図１６】トラフィックモデル更新制御によって異常度検出精度が向上する例を説明するための図である。
【図１７】トラフィックモデル更新制御によって異常度検出精度が向上する例を説明するための図である。
【図１８】トラフィック管理装置の構成の一例を示す図である。
【図１９】トラフィックデマンドを事前に受け付けて異常度判定を行う動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
第１の実施形態のトラフィック管理装置について図１を用いて説明する。図１はトラフィック管理装置の構成の一例を示す図である。トラフィック管理装置１は、記憶部１ａと制御部１ｂを含み、ネットワーク２を流れるトラフィックの管理制御を行う。
【００１２】
記憶部１ａは、トラフィックの履歴情報（以下、トラフィック情報）を記憶する。制御部１ｂは、トラフィック情報にもとづきベースモデル（時系列モデル）を選択してトラフィックモデルを生成する。そして、制御部１ｂは、トラフィックモデルからトラフィックの予測値を求め、予測値と、トラフィックの実測値とにもとづいて、トラフィック異常を検出する。
【００１３】
図１に示す例を用いて制御部１ｂの動作について説明する。グラフＧ１、Ｇ２の横軸は時間である。グラフＧ１の縦軸はパケット流量、グラフＧ２の縦軸は異常度である。
〔ステップＳ１〕制御部１ｂは、記憶部１ａに記憶されているトラフィック情報にもとづいて時系列モデルを選択してトラフィックモデルｍ１を生成する。
【００１４】
〔ステップＳ２〕制御部１ｂは、トラフィックモデルｍ１からトラフィックの予測値ｐｒ１を求める。
〔ステップＳ３〕制御部１ｂは、トラフィックの予測値ｐｒ１と、トラフィックの実測値ｐｒ２との差分（乖離度）にもとづいてトラフィック異常を検出する。
【００１５】
〔ステップＳ４〕制御部１ｂは、算出したトラフィック異常の値と、予め設定した閾値とを比較し、異常判定処理を行う。制御部１ｂは、トラフィック異常の値が閾値を超過する場合は異常有りと判定する。
【００１６】
このように、トラフィック管理装置１は、トラフィック情報に基づきベースモデルを選択してトラフィックモデルを生成し、トラフィックモデルから求めた予測値と、実測値とにもとづいて、トラフィック異常を検出する。これにより、トラフィック管理装置１は、トラフィック異常度の検出精度を高めることが可能になる。
【００１７】
［第２の実施の形態］
次に第２の実施の形態について説明する。まず、ネットワーク構成について説明する。図２はネットワークシステムの構成の一例を示す図である。ネットワークシステム１−１は、ホストｈ１、・・・、ｈ５、スイッチ（通信ノード）ｓｗ１、・・・、ｓｗ５およびトラフィック管理装置１０を備える。スイッチｓｗ１、・・・、ｓｗ５はそれぞれ、フローテーブルｆ１、・・・、ｆ５を有する。
【００１８】
フローテーブルｆ１、・・・、ｆ５は、ホスト間を結ぶトラフィックの流れであるフロー単位にもとづく統計情報（トラフィック情報）が登録されるテーブルである。統計情報は例えば、一定期間のパケット流量である。
【００１９】
各構成部の接続関係を記すと、ホストｈ１（アドレス：１０．１．１．１）は、スイッチｓｗ１のインタフェースｐ２に接続し、ホストｈ２（アドレス：１０．２．２．２）は、スイッチｓｗ１のインタフェースｐ３に接続する。ホストｈ３（アドレス：１０．３．３．３）は、スイッチｓｗ１のインタフェースｐ４に接続する。
【００２０】
スイッチｓｗ１のインタフェースｐ１と、スイッチｓｗ２のインタフェースｐ１が接続し、スイッチｓｗ２のインタフェースｐ３と、スイッチｓｗ４のインタフェースｐ１が接続する。
【００２１】
スイッチｓｗ２のインタフェースｐ２と、スイッチｓｗ３のインタフェースｐ１が接続し、スイッチｓｗ３のインタフェースｐ２と、スイッチｓｗ５のインタフェースｐ１が接続する。スイッチｓｗ４のインタフェースｐ２と、スイッチｓｗ５のインタフェースｐ２が接続する。
【００２２】
ホストｈ４（アドレス：１０．４．４．４）は、スイッチｓｗ５のインタフェースｐ３に接続し、ホストｈ５（アドレス：１０．５．５．５）は、スイッチｓｗ５のインタフェースｐ４に接続する。
【００２３】
一方、ホストｈ１とホストｈ４は、スイッチｓｗ１、ｓｗ２、ｓｗ３、ｓｗ５を通過するフローｆｗ１で通信が行われている。ホストｈ２とホストｈ４は、スイッチｓｗ１、ｓｗ２、ｓｗ３、ｓｗ５を通過するフローｆｗ２で通信が行われている。ホストｈ３とホストｈ５は、スイッチｓｗ１、ｓｗ２、ｓｗ４、ｓｗ５を通過するフローｆｗ３で通信が行われている。
【００２４】
トラフィック管理装置１０は、スイッチｓｗ１、・・・、ｓｗ５の少なくとも１つに接続し、所定のスイッチに統計情報リクエストを送信し、該スイッチから返信される統計情報リプライを受信する。
【００２５】
図３はフローテーブルの構成の一例を示す図である。スイッチｓｗ１に含まれるフローテーブルｆ１について示す。フローテーブルｆ１は、項目として、フロー番号、フロー識別子、アクション、統計情報および異常度を有する（その他のスイッチが有するフローテーブルも同様な構成である）。なお、アクションとは、ＯｐｅｎＦｌｏｗプロトコルにもとづきパケットの処理を記述したフローエントリの１つである。
【００２６】
図３では例えば、フローｆｗ２に対し、フロー識別子はＤｓｔ ＩＰ＝１０．２．２．２、アクションはＯｕｔｐｕｔ＝ｐ３、統計情報＝５００ｂｙｔｅ、異常度＝１００（異常）になっている。異常度は、トラフィック管理装置１０で判定されて所定のスイッチに通知され、通知を受けたスイッチ内のフローテーブルに登録される。
【００２７】
なお、上記では、スイッチ内のフローテーブルにもとづいて、トラフィック管理装置１０が統計情報を取得するとしたが、ＭＩＢ（Management Information Base）を通じて統計情報を取得してもよい。
【００２８】
＜ハードウェア構成＞
図４はトラフィック管理装置のハードウェア構成の一例を示す図である。トラフィック管理装置１０は、プロセッサ１００によって装置全体が制御されている。すなわち、プロセッサ１００は、トラフィック管理装置１０の制御部として機能する。
【００２９】
プロセッサ１００には、バス１０３を介して、メモリ１０１および複数の周辺機器が接続されている。プロセッサ１００は、マルチプロセッサであってもよい。プロセッサ１００は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３０】
メモリ１０１は、トラフィック管理装置１０の主記憶装置として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種データが格納される。
【００３１】
また、メモリ１０１は、トラフィック管理装置１０の補助記憶装置としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ１０１は、補助記憶装置として、フラッシュメモリやＳＳＤ（Solid State Drive）等の半導体記憶装置やＨＤＤ（Hard Disk Drive）等の磁気記録媒体を含んでもよい。
【００３２】
バス１０３に接続されている周辺機器としては、入出力インタフェース１０２およびネットワークインタフェース１０４がある。入出力インタフェース１０２は、プロセッサ１００からの命令にしたがってトラフィック管理装置１０の状態を表示する表示装置として機能するモニタ（例えば、ＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）等）が接続されている。
【００３３】
また、入出力インタフェース１０２は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
さらにまた、入出力インタフェース１０２は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース１０２は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）等がある。
【００３４】
また、入出力インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００３５】
ネットワークインタフェース１０４は、図２で上述したスイッチや、その他のネットワーク機器と接続するためのインタフェース処理を行う。ネットワークインタフェース１０４は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等が使用できる。ネットワークインタフェース１０４で受信されたデータは、メモリ１０１やプロセッサ１００に出力される。
【００３６】
以上のようなハードウェア構成によって、トラフィック管理装置１０の処理機能を実現することができる。例えば、トラフィック管理装置１０は、プロセッサ１００がそれぞれ所定のプログラムを実行することで、本発明のトラフィック管理制御を行うことができる。
【００３７】
トラフィック管理装置１０は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。トラフィック管理装置１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【００３８】
例えば、トラフィック管理装置１０に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【００３９】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４０】
＜機能ブロック＞
図５はトラフィック管理装置の機能ブロックの一例を示す図である。トラフィック管理装置１０は、統計情報（トラフィック情報）を学習して、トラフィック変動に応じた時系列モデルを選択してトラフィックモデルを生成する。そしてトラフィック管理装置１０は、該トラフィックモデルから予測値を求め、予測値と実測値との差分から異常度を算出し、閾値処理で異常度判定を行う。
【００４１】
トラフィック管理装置１０は、メッセージ送受信部１１、統計情報保持部１２、トラフィック学習部１３、トラフィック予測部１４、異常度算出部１５および異常度判定部１６を備える。
【００４２】
メッセージ送受信部１１は、図２に示したスイッチに接続し、メッセージの送受信として、統計情報リクエストの送信および統計情報リプライの受信を行う。統計情報保持部１２は、ネットワーク内の所定のスイッチから取得したトラフィック情報を保持する。
【００４３】
トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報から、トラフィックの変動を時系列にモデル化した時系列モデルを自動的に選択する。そして、トラフィック学習部１３は、時系列モデルのパラメータ値を設定してトラフィックモデルを生成する。
【００４４】
トラフィックモデルとしては、例えば、ＡＲ（Auto Regressive：自己回帰）によるトラフィックモデル、ＡＲＩＭＡ（Auto Regressive Integrated Moving Average：自己回帰和分移動平均）によるトラフィックモデル、回帰直線によるトラフィックモデル等がある。
【００４５】
トラフィック予測部１４は、トラフィック学習部１３が生成したトラフィックモデルを用いて、トラフィック予測値を求める。異常度算出部１５は、トラフィックの予測値と実測値とを比較し、両者の差分から異常度を算出する。異常度判定部１６は、算出された異常度が所定の閾値を超過した場合に異常有りと判定する（超過しない場合は異常無し（正常）と判定する）。
【００４６】
なお、上記のトラフィック学習部１３、トラフィック予測部１４、異常度算出部１５および異常度判定部１６の機能は、図４に示したプロセッサ１００によって実行される。また、統計情報保持部１２は、図４に示したメモリ１０１に対応し、メッセージ送受信部１１の機能は、ネットワークインタフェース１０４によって実行される。なお、各構成部を論理回路等によってハードウェア回路で構成することもできる。
【００４７】
また、図１に示した記憶部１ａの機能は、統計情報保持部１２で実現され、図１に示した制御部１ｂの機能は、トラフィック学習部１３、トラフィック予測部１４、異常度算出部１５および異常度判定部１６で実現される。
【００４８】
＜異常度の判定例＞
次に異常度の判定処理について、図６から図１０を用いて具体例を挙げながら説明する。最初に、異常度の判定例として、急増トラフィックが発生するケースについて説明する。図６は急増トラフィックが発生するケースにおける異常度判定の一例を示す図である。グラフｇ１、ｇ２の横軸は時間である。グラフｇ１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ２の縦軸は異常度である。
【００４９】
また、波形ｋ１はトラフィックモデルの学習データ、波形ｋ２はトラフィックの予測値、波形ｋ３はトラフィックの実測値、波形ｋ４は異常度である。
〔ステップＳ１１〕トラフィックの学習期間において、トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報にもとづいて、時系列モデルとしてＡＲモデルを選択する（定常（平均値が一定）で周期的なデータにはＡＲモデルが選択される）。そして、トラフィック学習部１３は、ＡＲモデルの次数と係数を算出して、ＡＲによるトラフィックモデル（波形ｋ１）を生成する。
【００５０】
ＡＲによるトラフィックモデルをｘ（ｔ）とすると、ｘ（ｔ）＝β1（ｔ−１）＋β2（ｔ−２）＋・・・＋βn（ｔ−ｎ）と表せる。トラフィック学習部１３は、例えば、ＡＲモデルの次数を７とすると、ｘ（ｔ）＝β1（ｔ−１）＋β2（ｔ−２）＋・・・＋β7（ｔ−７）となる。また、トラフィック学習部１３は、係数について例えば、β1＝−０．０２５、β2＝−０．３５、・・・、β7＝０．４０と算出する。
【００５１】
〔ステップＳ１２〕トラフィックの予測期間において、トラフィック予測部１４は、トラフィック学習部１３で生成されたＡＲによるトラフィックモデルから、所定時刻（所定サンプリング点）においてトラフィックの予測値（波形ｋ２）を求める。
【００５２】
なお、予測値を求める場合、例えば、学習期間で生成されたトラフィックモデルを、将来の所定期間中のトラフィック量になるものとみなし、該所定期間中に予測しうるトラフィック量の変動にもとづいて適応的に修正する。そして、修正後のモデルに対して所定時刻でサンプリングしたトラフィック量を予測値とする。
【００５３】
〔ステップＳ１３〕異常度算出部１５は、トラフィックの予測値（波形ｋ２）と、予測期間において統計情報保持部１２で蓄積されたトラフィックの実測値（波形ｋ３）とにもとづいて異常度を算出する。例えば、以下のように定義される式（１）で異常度を算出する。
【００５４】
異常度＝（（実測値）−（予測値））2・・・（１）
または、異常度算出部１５は、以下の式（２）を用いて異常度を算出してもよい。
異常度＝（（（実測値）−（予測値））／（予測値））2・・・（２）
〔ステップＳ１４〕異常度判定部１６は、算出された異常度と、閾値とを比較し、異常度が閾値を超過する場合は異常有りと判定する。例えば、閾値を２０とすると、図６の例では、算出された異常度は閾値を超過するため異常有りと判定される。
【００５５】
次に異常度の判定例として、周期が異なる（周期が急変する）トラフィックが発生するケースについて説明する。周期が異なるトラフィックが発生するケースの場合で異常トラフィックのものとしては、例えば、トラフィックの変動周期が早くなる経路フラッピングがある。経路フラッピングとは、ルータ内部の経路選択処理等の負荷が大きくなり、パケット転送に支障をきたす現象である。
【００５６】
図７は周期が異なるトラフィックが発生するケースにおける異常度判定の一例を示す図である。グラフｇ１１、ｇ１２の横軸は時間である。グラフｇ１１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ１２の縦軸は異常度である。また、波形ｋ１１はトラフィックモデルの学習データ、波形ｋ１２はトラフィックの予測値、波形ｋ１３はトラフィックの実測値、波形ｋ１４は異常度である。
【００５７】
〔ステップＳ２１〕トラフィックの学習期間において、トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報にもとづいて、時系列モデルとしてＡＲモデルを選択し、波形ｋ１１のＡＲによるトラフィックモデルを生成する。
【００５８】
〔ステップＳ２２〕トラフィックの予測期間において、トラフィック予測部１４は、トラフィック学習部１３で生成されたＡＲによるトラフィックモデルからトラフィックの予測値（波形ｋ１２）を求める。
【００５９】
〔ステップＳ２３〕異常度算出部１５は、トラフィックの予測値（波形ｋ１２）と、予測期間において統計情報保持部１２で蓄積されたトラフィックの実測値（波形ｋ１３）とにもとづいて、上述の式（１）または式（２）により異常度を算出する。
【００６０】
〔ステップＳ２４〕異常度判定部１６は、算出された異常度と、閾値とを比較し、異常度が閾値を超過する場合は異常有りと判定する。図７の例では、算出された異常度は、予め設定された閾値（例えば、２０）を超過するため異常有りと判定される。
【００６１】
上記のような、周期が異なるトラフィックが発生するケースにおいて、図７の例では、予測される変動周期を外れているため（例えば、経路フラッピングが起きて予測される変動周期が外れる場合）、異常有りと判定されている。
【００６２】
次に異常度の判定例として、周期的に急増トラフィックが発生するケースについて説明する。図８は周期的に急増トラフィックが発生するケースにおける異常度判定の一例を示す図である。例えば、２週間毎にデータバックアップが行われてトラフィックが急増するものとする（図中の１つの山状の波形の時間が１週間とする）。
【００６３】
グラフｇ２１、ｇ２２の横軸は時間である。グラフｇ２１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ２２の縦軸は異常度である。また、波形ｋ２１はトラフィックモデルの学習データ、波形ｋ２２はトラフィックの予測値、波形ｋ２３はトラフィックの実測値、波形ｋ２４は異常度である。
【００６４】
〔ステップＳ３１〕トラフィックの学習期間において、トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報にもとづいて、時系列モデルとしてＡＲＩＭＡモデルを選択する（非定常（平均値が一定でない）でかつ周期的なデータにはＡＲＩＭＡモデルが選択される）。そして、トラフィック学習部１３は、ＡＲＩＭＡモデルの次数と係数を算出して、ＡＲＩＭＡによるトラフィックモデル（波形ｋ２１）を生成する。
【００６５】
〔ステップＳ３２〕トラフィックの予測期間において、トラフィック予測部１４は、トラフィック学習部１３で生成されたＡＲＩＭＡによるトラフィックモデルからトラフィックの予測値（波形ｋ２２）を求める。
【００６６】
〔ステップＳ３３〕異常度算出部１５は、トラフィックの予測値（波形ｋ２２）と、予測期間において統計情報保持部１２で蓄積されたトラフィックの実測値（波形ｋ２３）とにもとづいて、上述の式（１）または式（２）により異常度を算出する。
【００６７】
〔ステップＳ３４〕異常度判定部１６は、算出された異常度と、閾値とを比較し、異常度が閾値を超過する場合は異常有りと判定する。図８の例では、算出された異常度は、予め設定された閾値（例えば、２０）を超過しないため異常無しと判定される。
【００６８】
上記のような、周期的に急増トラフィックが発生するケースにおいて、図８の例のように、拠点間のデータバックアップを２週間毎に実施するトラフィックのような、予測可能な急増トラフィックについては異常無しと判定されている。
【００６９】
次に異常度の判定例として、周期成分とトレンド成分を含むトラフィックにて、ある周期のトラフィックが少量のケースについて説明する。なお、トレンド成分とは、一定の増加傾向、または減少傾向のような所定期間に渡ってデータが示す一定の傾向のことである。
【００７０】
図９は周期成分とトレンド成分を含むトラフィックに対し、ある周期のトラフィックが少量のケースにおける異常度判定の一例を示す図である。グラフｇ３１、ｇ３２の横軸は時間である。グラフｇ３１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ３２の縦軸は異常度である。また、波形ｋ３１はトラフィックモデルの学習データ、波形ｋ３２はトラフィックの予測値、波形ｋ３３はトラフィックの実測値、波形ｋ３４は異常度である。
【００７１】
〔ステップＳ４１〕トラフィックの学習期間において、トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報にもとづいて、時系列モデルとしてＡＲモデルを選択し、波形ｋ３１のＡＲによるトラフィックモデルを生成する。
【００７２】
〔ステップＳ４２〕トラフィックの予測期間において、トラフィック予測部１４は、トラフィック学習部１３で生成されたＡＲによるトラフィックモデルからトラフィックの予測値（波形ｋ３２）を求める。
【００７３】
〔ステップＳ４３〕異常度算出部１５は、トラフィックの予測値（波形ｋ３２）と、予測期間において統計情報保持部１２で蓄積されたトラフィックの実測値（波形ｋ３３）とにもとづいて、式（１）または式（２）により異常度を算出する。
【００７４】
〔ステップＳ４４〕異常度判定部１６は、算出された異常度と、閾値とを比較し、異常度が閾値を超過する場合は異常有りと判定する。図９の例では、算出された異常度は、予め設定された閾値（例えば、２０）を超過するため異常有りと判定される。
【００７５】
上記のような、周期成分とトレンド成分を含むトラフィックに対し、ある周期のトラフィックが少量のケースにおいて、図９の例では、ある周期のトラフィックが継続的に異常有りと判定されている。
【００７６】
次に異常度の判定例として、周期成分とトレンド成分を含むトラフィックにて、一時的に大量トラフィックが発生するケースについて説明する。図１０は周期成分とトレンド成分を含むトラフィックに対し、一時的に大量トラフィックが発生するケースにおける異常度判定の一例を示す図である。
【００７７】
グラフｇ４１、ｇ４２の横軸は時間である。グラフｇ４１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ４２の縦軸は異常度である。また、波形ｋ４１はトラフィックモデルの学習データ、波形ｋ４２はトラフィックの予測値、波形ｋ４３はトラフィックの実測値、波形ｋ４４は異常度である。
【００７８】
〔ステップＳ５１〕トラフィックの学習期間において、トラフィック学習部１３は、統計情報保持部１２が蓄積するトラフィック情報にもとづいて、時系列モデルとしてＡＲＩＭＡモデルを選択し、波形ｋ４１のＡＲＩＭＡによるトラフィックモデルを生成する。
【００７９】
〔ステップＳ５２〕トラフィックの予測期間において、トラフィック予測部１４は、トラフィック学習部１３で生成されたＡＲＩＭＡによるトラフィックモデルからトラフィックの予測値（波形ｋ４２）を求める。
【００８０】
〔ステップＳ５３〕異常度算出部１５は、トラフィックの予測値（波形ｋ４２）と、予測期間において統計情報保持部１２で蓄積されたトラフィックの実測値（波形ｋ４３）とにもとづいて、式（１）または式（２）により異常度を算出する。
【００８１】
〔ステップＳ５４〕異常度判定部１６は、算出された異常度と、閾値とを比較し、異常度が閾値を超過する場合は異常有りと判定する。図１０の例では、算出された異常度は、予め設定された閾値（例えば、２０）を超過するため異常有りと判定される。
【００８２】
上記のような、周期成分とトレンド成分を含むトラフィックにて、一時的に大量トラフィックが発生するケースにおいて、図１０の例では、異常有りと判定されている。
＜トラフィック学習部の動作＞
次にトラフィック学習部１３の動作について、図１１から図１３を用いて説明する。図１１はトラフィック学習部の動作を示すフローチャートである。
【００８３】
〔ステップＳ６１〕トラフィック学習部１３は、統計情報保持部１２で蓄積されたトラフィック情報から、一定期間におけるトラフィック量の時系列データを抽出する。
〔ステップＳ６２〕トラフィック学習部１３は、時系列データ内の最大トラフィック量で正規化を行う。なお、トラフィック量は、回線の帯域によって変化するので統一して扱うために正規化が行われる。
【００８４】
〔ステップＳ６３〕トラフィック学習部１３は、正規化後のトラフィック量の回帰直線の傾きを算出する。
〔ステップＳ６４〕トラフィック学習部１３は、回帰直線の傾きは閾値を超過するか否かを判定する。超過する場合はステップＳ６５へ処理が進み、超過しない場合はステップＳ６９へ処理が進む。なお、ステップＳ６４の処理により、回帰直線の傾きが閾値以下と判定された場合、トレンド成分は無視できるため、ＡＲモデルへの適合性がステップＳ６９以降で判定される。
【００８５】
〔ステップＳ６５〕トラフィック学習部１３は、正規化したトラフィック量から回帰直線成分を差し引いた時系列データの自己相関度（Ｃ１）が最大となるラグ（Ｔｇ１）を算出する。なお、ラグとは、元の時系列データに対する時間軸のずれ量である。
【００８６】
〔ステップＳ６６〕トラフィック学習部１３は、ラグ（Ｔｇ１）における自己相関度（Ｃ１）は閾値を超過するか否かを判定する。超過する場合はステップＳ６７へ処理が進み、超過しない場合はステップＳ６８へ処理が進む。
【００８７】
なお、ステップＳ６６の処理では、自己相関度（Ｃ１）により周期性の有無を判定しており、自己相関度（Ｃ１）が閾値を超過する場合（周期性有りの場合）は、ＡＲＩＭＡによるトラフィックモデルが生成される。
〔ステップＳ６７〕トラフィック学習部１３は、ＡＲＩＭＡによるトラフィックモデルを生成する。なお、ＡＲＩＭＡモデルは、自己回帰の次数（ｐ）、差分の次数（ｑ）および移動平均の次数（ｒ）のパラメータを持つ。トラフィック学習部１３は、モデルの当てはまり度合いを示す尺度として、例えば、ＡＩＣ（Akaike's Information Criterion（赤池情報基準））が最小となるように、該パラメータの値を設定する。
【００８８】
〔ステップＳ６８〕トラフィック学習部１３は、回帰直線によるトラフィックモデルを生成する。
〔ステップＳ６９〕トラフィック学習部１３は、時系列データの自己相関度（Ｃ２）が最大となるラグ（Ｔｇ２）を算出する。
【００８９】
〔ステップＳ７０〕トラフィック学習部１３は、ラグ（Ｔｇ２）における自己相関度（Ｃ２）は閾値を超過するか否かを判定する。超過する場合はステップＳ７１へ処理が進み、超過しない場合はステップＳ７２へ処理が進む。
【００９０】
なお、ステップＳ７０の処理では、自己相関度（Ｃ２）により周期性の有無を判定しており、自己相関度（Ｃ２）が閾値を超過する場合（周期性有りの場合）は、ＡＲによるトラフィックモデルが生成されることになる。
【００９１】
〔ステップＳ７１〕トラフィック学習部１３は、ＡＲによるトラフィックモデルを生成する。この場合、トラフィック学習部１３は、例えば、上記のＡＩＣが最小となるような自己回帰の次数（ｐ）を選択する。
【００９２】
〔ステップＳ７２〕トラフィック学習部１３は、モデリング不可とし、ランダムノイズと判定する。
図１２、図１３はトラフィック学習部の動作を具体例で説明するための図である。図１１に示したフローチャートのステップＳ６１からステップＳ６７に関連する処理を具体例で示す。グラフｇ５１、ｇ５２、ｇ５３、ｇ５５の横軸は時間、グラフｇ５４の横軸はラグである。グラフｇ５１、ｇ５５の縦軸はパケット流量、グラフｇ５２、ｇ５３の縦軸は正規化度、グラフｇ５４の縦軸は自己相関度である。
【００９３】
〔グラフｇ５１〕トラフィック学習部１３は、統計情報保持部１２で蓄積されたトラフィック情報から、一定期間におけるトラフィックの時系列データｔｓ１を抽出する。
〔グラフｇ５２〕トラフィック学習部１３は、時系列データｔｓ１内の最大トラフィック量で正規化を行い、回帰直線の傾きＲ１を算出する。
【００９４】
〔グラフｇ５３〕トラフィック学習部１３は、回帰直線の傾きＲ１が閾値を超過する場合、正規化したトラフィック量から回帰直線成分を差し引いた時系列データｔｓ２を生成する。
【００９５】
〔グラフｇ５４〕トラフィック学習部１３は、時系列データｔｓ２の自己相関度Ｃ１が最大となるラグＴｇ１を検出し、自己相関度Ｃ１と閾値とを比較判定する。図の場合、ラグＴｇ１＝２４において、自己相関度Ｃ１は閾値を超過していると判定される。
【００９６】
〔グラフｇ５５〕トラフィック学習部１３は、自己相関度Ｃ１は閾値を超過しているため、ＡＲＩＭＡによるトラフィックモデルｍ１ａを生成する。
＜トラフィックモデルの更新＞
次にトラフィックモデル更新制御について、図１４から図１６を用いて説明する。トラフィックモデル更新制御は、異常度判定部１６で異常有りと判定されたトラフィックモデルの異常データがトラフィック学習部１３に通知される。そして、トラフィック学習部１３では、実測データから異常データが除去された学習データにもとづいて、トラフィックモデルの更新（トラフィック学習の更新）を行うものである。
【００９７】
図１４はトラフィックモデル更新制御の動作シーケンスの一例を示す図である。
〔ステップＳ８１〕トラフィック収集周期Ｔ０において、トラフィック学習部１３は、統計情報保持部１２からトラフィック情報を取得し、学習データａ０（トラフィックモデル）を生成する。
【００９８】
〔ステップＳ８２〕トラフィック収集周期Ｔ１において、トラフィック予測部１４は、学習データａ０にもとづきトラフィックの予測データｂ１を求める。また、異常度算出部１５は、統計情報保持部１２からトラフィック情報（実測データｃ１）を取得する。
【００９９】
〔ステップＳ８３〕トラフィック収集周期Ｔ１において、異常度算出部１５は、予測データｂ１と実測データｃ１とにもとづいて異常度を算出し、異常度判定部１６は、異常度判定処理を行う。
【０１００】
〔ステップＳ８４〕トラフィック収集周期Ｔ１において、異常度判定部１６は、異常度判定処理を行って異常有りと判定した異常データｅ１をトラフィック学習部１３に通知する。
【０１０１】
〔ステップＳ８５〕トラフィック収集周期Ｔ１において、トラフィック学習部１３は、実測データｃ１から異常データｅ１を除去したデータにもとづき、学習データａ１（トラフィックモデル）を生成する。
【０１０２】
〔ステップＳ８６〕トラフィック収集周期Ｔ２において、トラフィック予測部１４は、学習データａ１にもとづき、トラフィックの予測データｂ２を求める。また、異常度算出部１５は、統計情報保持部１２からトラフィック情報（実測データｃ２）を取得する。
【０１０３】
〔ステップＳ８７〕トラフィック収集周期Ｔ２において、異常度算出部１５は、予測データｂ２と実測データｃ２とにもとづいて異常度を算出し、異常度判定部１６は、異常度判定処理を行う。
【０１０４】
〔ステップＳ８８〕トラフィック収集周期Ｔ２において、異常度判定部１６は、異常度判定処理を行って異常有りと判定した異常データｅ２をトラフィック学習部１３に通知する。
【０１０５】
〔ステップＳ８９〕トラフィック収集周期Ｔ２において、トラフィック学習部１３は、実測データｃ２から異常データｅ２を除去したデータにもとづき、学習データａ２（トラフィックモデル）を生成する。
【０１０６】
なお、トラフィック学習部１３は、実測データから異常データを除去してトラフィックモデルを生成する場合、異常データを除去することにより発生するトラフィックモデル上の欠損値を、異常データの近傍に位置する正常データを用いた近似曲線で補間する。これにより、更新によるトラフィックモデルを効率よく生成することができる。
【０１０７】
図１５、図１６、図１７はトラフィックモデル更新制御によって異常度検出精度が向上する例を説明するための図である。図１５において、グラフｇ６１、ｇ６２は、周期Ｔｎで異常度判定処理が行われたときの状態を示している。グラフｇ６１、ｇ６２の横軸は時間、グラフｇ６１の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ６２の縦軸は異常度である。異常度算出部１５は、グラフｇ６１の予測値と実測値とにもとづいて異常度を算出し、異常度判定部１６は、異常度が閾値を超過するため異常有りと判定している。
【０１０８】
図１６において、グラフｇ６３、ｇ６４は、次周期Ｔ（ｎ＋１）で異常値を含めてＡＲＩＭＡモデルで予測した場合において、異常度判定処理が行われたときの状態を示している。グラフｇ６３、ｇ６４の横軸は時間、グラフｇ６３の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ６４の縦軸は異常度である。
【０１０９】
グラフｇ６３に示すように、予測値が異常値に引きずられて急峻なピーク波形が現れている。このため、グラフｇ６４に示すように、予測値と実測値との乖離が大きくなるため、異常度判定部１６では、本来は正常である状態を異常有りと誤判定している。
【０１１０】
図１７において、グラフｇ６５、ｇ６６は、次周期Ｔ（ｎ＋１）で異常値を除去してＡＲＩＭＡモデルで予測した場合において、異常度判定処理が行われたときの状態を示している。グラフｇ６５、ｇ６６の横軸は時間、グラフｇ６５の縦軸はパケット流量（Ｍｂｐｓ）、グラフｇ６６の縦軸は異常度である。
【０１１１】
グラフｇ６５に示すように、予測値が異常値に引きずられることがなく、予測値と実測値との乖離は小さい。このため、グラフｇ６６に示すように、予測値と実測値との乖離が小さくなるため、異常度判定部１６では、異常無しとして正しく判定している。
【０１１２】
このように、異常データを含めてトラフィックモデルの学習を行うと予測データの精度が低下する可能性がある。このため、トラフィック学習部１３では、異常度判定部１６で異常有りと判定されたトラフィックモデルの異常データを実測データから除去し、異常データを含まない学習データにもとづいて、トラフィックモデル更新する。これにより、予測データ（予測値）の精度を高めることができる。
【０１１３】
なお、上記では、トラフィック学習部１３は、異常有りと判定された異常データを実測値から除去したデータにもとづいてトラフィックモデルを更新するとした。これに対し、トラフィック学習部１３において、異常データが発生した周期のデータを正常データも含めて除去し、該周期の１つ前の周期のデータにもとづいてトラフィックモデルを更新することもできる。
【０１１４】
＜トラフィックデマンドの事前受付＞
次にトラフィックデマンド（トラフィック需要量）を事前に受け付けて異常度判定を行う場合について、図１８、図１９を用いて説明する。図１８はトラフィック管理装置の構成の一例を示す図である。トラフィック管理装置１０ａは、メッセージ送受信部１１、統計情報保持部１２、トラフィック学習部１３、トラフィック予測部１４ａ、異常度算出部１５、異常度判定部１６およびトラフィックデマンド受付部１７を備える。
【０１１５】
トラフィックデマンド受付部１７は、ネットワーク運用者から入力された予定されているトラフィックデマンドを事前に登録する。トラフィック予測部１４ａは、過去のトラフィック傾向から求められる予測値と、トラフィックデマンド受付部１７に登録されたトラフィック量との合計を予測値とする。なお、その他の構成要素は図５と同様である。
【０１１６】
図１９はトラフィックデマンドを事前に受け付けて異常度判定を行う動作の一例を示す図である。グラフｇ７１、ｇ７２の横軸は時間、グラフｇ７１の縦軸はパケット流量、グラフｇ７２の縦軸は異常度である。
【０１１７】
〔ステップＳ９１〕トラフィック予測部１４ａは、トラフィックデマンド受付部１７に登録されたトラフィック量を、過去のトラフィック傾向から求められる予測値ｄ１に重畳して、予測値ｄ１ａを求める。
【０１１８】
〔ステップＳ９２〕異常度算出部１５は、実測値ｄ２と、トラフィックデマンドを含めた予測値ｄ１ａとにもとづいて異常度を算出し、異常度判定部１６は、異常度と閾値とを比較して異常度判定処理を行う。
【０１１９】
トラフィックデマンドを受け付けずに異常度判定を行った場合、異常度Ｅ１となって閾値を超過する可能性があるが、トラフィック量がソフトウェアアップデート等により一時的に増加するものは異常トラフィックではないため誤判定となる。
【０１２０】
一方、トラフィックデマンドを事前に受け付けて異常度判定を行った場合、異常度Ｅ２となって閾値を下回る。したがって、トラフィック量がソフトウェアアップデート等により一時的に増加するものは、異常トラフィックとみなさないように正しく判定できる。
【０１２１】
このように、トラフィック管理装置１０ａは、トラフィックデマンドを事前に受け付けて異常度判定を行うことにより、正常な通信状態において生じるトラフィック変動を異常トラフィックとみなさないように判定することが可能になる。
【０１２２】
以上説明したように、本発明によれば、トラフィック異常度の検出精度を高めることが可能になる。これにより、例えば、固定閾値ベースでは異常有りと判定してしまう変動トラフィックに対しても、過去のトラフィック傾向から予期される変動であれば正常と判定するので、ネットワーク運用者は誤判定に対応していた従前の作業負担を軽減することができる。
【０１２３】
さらに、トラフィック量に異常はなくても、変動周期が早いトラフィックに対し、早期にネットワーク障害を検出することができるので、異常トラフィックの見逃しが無くなり、障害規模の拡大防止が可能になる。
【０１２４】
上記で説明した本発明のトラフィック管理装置１、１０の処理機能は、コンピュータによって実現することができる。この場合、トラフィック管理装置１、１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１２５】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）等がある。
【０１２６】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【０１２８】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【０１２９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１３０】
１  トラフィック管理装置
１ａ  記憶部
１ｂ  制御部
２  ネットワーク
Ｇ１、Ｇ２  グラフ
ｍ１  トラフィックモデル
ｐｒ１  予測値
ｐｒ２  実測値
【図１】
2018195929.tif 000003
【図２】
2018195929.tif 000004
【図３】
2018195929.tif 000005
【図４】
2018195929.tif 000006
【図５】
2018195929.tif 000007
【図６】
2018195929.tif 000008
【図７】
2018195929.tif 000009
【図８】
2018195929.tif 000010
【図９】
2018195929.tif 000011
【図１０】
2018195929.tif 000012
【図１１】
2018195929.tif 000013
【図１２】
2018195929.tif 000014
【図１３】
2018195929.tif 000015
【図１４】
2018195929.tif 000016
【図１５】
2018195929.tif 000017
【図１６】
2018195929.tif 000018
【図１７】
2018195929.tif 000019
【図１８】
2018195929.tif 000020
【図１９】
2018195929.tif 000021