(57)【特許請求の範囲】
【請求項１】
通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、トラヒック変動量を推定するトラヒック変動量推定装置であって、
前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成手段により生成された時系列のフロー数から算出する近似式算出手段と、
前記近似式算出手段により算出されたパラメータα(p)とβ(p)を有する前記近似式y=α(p)x2  +  β(p)xを用いて、トラヒック変動量の推定を行うトラヒック推定手段とを備えるトラヒック変動量推定装置であり、
前記トラヒック変動量推定装置は、前記サンプルフロー情報におけるフローの発信元ＩＰアドレスをキーとして用いることにより、当該フローをM（Ｍは自然数）個のグループに分割するフロー分類手段を備え、
前記フロー分類手段は、前記フローを、M1個とM2個（M1とM2はそれぞれ自然数）の２通りに分類し、
前記近似式算出手段は、前記時系列データ生成手段により生成されたグループm（m=1〜M）毎の時系列のフロー数から、標本平均X(m)(p)と標本分散Vx(m)(p)を計算し、グループ全体の標本平均の期待値をSE(M)(p)=1/M  ΣX(m)(p)（m=1〜Mで和を取る）、標本分散の期待値をSV(M)(p)=1/M  ΣVx(m)(p)  （m=1〜Mで和を取る）として計算する処理をM=M1とM2の２通りに対して実施し、M=Mi（i=1,  2）のときのSE(Mi)(p)とSV(Mi)(p)の組を(xi、yi)として、前記パラメータα(p)とβ(p)を
【数１】
0005511562.tif 000036
により算出する
ことを特徴とするトラヒック変動量推定装置。
【請求項２】
前記フロー分類手段は、前記発信元ＩＰアドレスをキーとして用いることに代えて、着信先IPアドレスをキーとするか、または、発信元IPアドレス、着信先IPアドレス、発信元ポート番号、着信先ポート番号、及びプロトコル番号の５つのうちのいくつかの組み合わせをキーとして用いることにより、前記フローをグループに分類することを特徴とする請求項１に記載のトラヒック変動量推定装置。
【請求項３】
前記トラヒック推定手段は、将来の平均トラヒック量がx_estになったと仮定したときの分散y_estを前記トラヒック変動量として前記近似式y_est=α(p)  (x_est)2  +  β(p)(x_est)により推定することを特徴とする請求項１又は２に記載のトラヒック変動量推定装置。
【請求項４】
前記フロー分類手段は、M1個のグループに分類されるフローの各々をさらにM’個に分割し、全体としてM2個の分類を行うことにより、前記M1個とM2個の２通りの分類を行う請求項１に記載のトラヒック変動量推定装置。
【請求項５】
通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、異常トラヒック監視に適したフロー分割数を決定するトラヒック管理装置であって、
前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、
前記時系列データ生成手段から、時系列のフロー数を受け取り、当該フロー数が所定の異常検出閾値を超えた場合に異常であると判定する異常検出手段と、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記異常検出手段により異常と判定されていない正常時の時系列のフロー数から算出する近似式算出手段と、
正常フロー数に異常フロー数が加わったときの(平均，分散)を、(x+m_d,  α(p)x2+β(p)x+v_d)とし、正常フロー数に平均がm_dで分散がv_dとなる異常フロー数が加わったときのフロー数の平均と分散を持つ確率分布Fx(u)において、異常判定閾値をthとし、予め定めた異常見逃し率をεとして、Fx(th)<εを満たす正常平均フロー数x*を計算し、フローをMの分割数で分割したときのグループjのフロー数の標本平均X(j)(p)を求め、グループ全体の標本平均SE(M)(p)  =1/M  ΣX(m)(p)（m=1〜Mで和を取る）とx*とを比較して、x*/  SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくする処理を行うことにより、異常トラヒック監視に適したフロー分割数を決定する分割数決定手段と
を備えたことを特徴とするトラヒック管理装置。
【請求項６】
通信ネットワークを介してL個（Lは自然数）のサーバに接続され、当該L個のサーバに対してトラヒックのフローを分配するトラヒック分配装置であって、
前記フローをL個（Lは自然数）のグループに分類し、グループ毎に各サーバへフローを転送するフロー分類手段と、
前記フロー分類手段で分類された各グループのフロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成手段により生成された時系列のフロー数から算出する近似式算出手段と、
フローの振り分け先サーバを変更するか否かを決定する振分先サーバ決定手段と、を備え、
サーバj（j=1〜L）へ振り分けられているフローをグループjのフローとした場合に、前記近似式算出手段は、グループjのフロー数の標本平均X(j)(p)と標本分散Vx(j)(p)を計算し、組(X(j)(p)  ,  Vx(j)(p))を(xj,  yj)として、前記近似式y=α(p)x2  +  β(p)xにフィットさせることにより、前記パラメータα(p)とβ(p)を求め、
前記振分先サーバ決定手段は、前記近似式を用いることにより、前記フロー数が平均x、分散α(p)x2+β(p)xをパラメータにもつあらかじめ定めた分布に従うものとして上位Xパーセンタイルのフロー数を算出し、当該上位Xパーセンタイルのフロー数がサーバkの処理能力Bk×a (aは係数で1未満の値)となるような、平均x_target_kを算出し、X(1)(p)+  X(2)(p)+…+  X(J)(p)<=  x_target_kを満たす範囲で、グループ1,  2,  …,  Jのフローをサーバkに収容替えする計算処理を、残りのグループ全てがいずれかのサーバに収容されるまで各サーバについて繰り返して実施し、その結果、もし不要となったサーバが存在する場合に、フローの振り分け先サーバを変更すると決定する
ことを特徴とするトラヒック分配装置。
【請求項７】
通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、トラヒック変動量を推定するトラヒック変動量推定装置が実行するトラヒック変動量推定方法であって、
前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成ステップと、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成ステップにより生成された時系列のフロー数から算出する近似式算出ステップと、
前記近似式算出ステップにおいて算出されたパラメータα(p)とβ(p)を有する前記近似式y=α(p)x2  +  β(p)xを用いて、トラヒック変動量の推定を行うトラヒック推定ステップとを備えるトラヒック変動量推定方法であり、
前記トラヒック変動量推定方法は、前記サンプルフロー情報におけるフローの発信元ＩＰアドレスをキーとして用いることにより、当該フローをM（Ｍは自然数）個のグループに分割するフロー分類ステップを備え、
前記フロー分類ステップにおいて、前記トラヒック変動量推定装置は、前記フローを、M1個とM2個（M1とM2はそれぞれ自然数）の２通りに分類し、
前記近似式算出ステップにおいて、前記トラヒック変動量推定装置は、前記時系列データ生成ステップにより生成されたグループm（m=1〜M）毎の時系列のフロー数から、標本平均X(m)(p)と標本分散Vx(m)(p)を計算し、グループ全体の標本平均の期待値をSE(M)(p)=1/M  ΣX(m)(p)（m=1〜Mで和を取る）、標本分散の期待値をSV(M)(p)=1/M  ΣVx(m)(p)  （m=1〜Mで和を取る）として計算する処理をM=M1とM2の２通りに対して実施し、M=Mi（i=1,  2）のときのSE(Mi)(p)とSV(Mi)(p)の組を(xi、yi)として、前記パラメータα(p)とβ(p)を
【数２】
0005511562.tif 000037
により算出する
ことを特徴とするトラヒック変動量推定方法。
【請求項８】
通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、異常トラヒック監視に適したフロー分割数を決定するトラヒック管理装置が実行するフロー分割数決定方法であって、
前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成ステップと、
前記時系列データ生成ステップで生成された時系列のフロー数を受け取り、当該フロー数が所定の異常検出閾値を超えた場合に異常であると判定する異常検出ステップと、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記異常検出ステップにより異常と判定されていない正常時の時系列のフロー数から算出する近似式算出ステップと、
正常フロー数に異常フロー数が加わったときの(平均，分散)を、(x+m_d,  α(p)x2+β(p)x+v_d)とし、正常フロー数に平均がm_dで分散がv_dとなる異常フロー数が加わったときのフロー数の平均と分散を持つ確率分布Fx(u)において、異常判定閾値をthとし、予め定めた異常見逃し率をεとして、Fx(th)<εを満たす正常平均フロー数x*を計算し、フローをMの分割数で分割したときのグループjのフロー数の標本平均X(j)(p)を求め、グループ全体の標本平均SE(M)(p)  =1/M  ΣX(m)(p)（m=1〜Mで和を取る）とx*とを比較して、x*/  SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくする処理を行うことにより、異常トラヒック監視に適したフロー分割数を決定する分割数決定ステップと
を備えたことを特徴とするフロー分割数決定方法。
【請求項９】
通信ネットワークを介してL個（Lは自然数）のサーバに接続され、当該L個のサーバに対してトラヒックのフローを分配するトラヒック分配装置が実行する振分先サーバ決定方法であって、
前記フローをL個（Lは自然数）のグループに分類し、グループ毎に各サーバへフローを転送するフロー分類ステップと、
前記フロー分類ステップで分類された各グループのフロー数の時系列データをトラヒック量として生成する時系列データ生成ステップと、
トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成ステップにより生成された時系列のフロー数から算出する近似式算出ステップと、
フローの振り分け先サーバを変更するか否かを決定する振分先サーバ決定ステップと、を備え、
前記近似式算出ステップにおいて、サーバj（j=1〜L）へ振り分けられているフローをグループjのフローとした場合に、グループjのフロー数の標本平均X(j)(p)と標本分散Vx(j)(p)を計算し、組(X(j)(p)  ,  Vx(j)(p))を(xj,  yj)として、前記近似式y=α(p)x2  +  β(p)xにフィットさせることにより、前記パラメータα(p)とβ(p)を求め、
前記振分先サーバ決定ステップにおいて、前記近似式を用いることにより、前記フロー数が平均x、分散α(p)x2+β(p)xをパラメータにもつあらかじめ定めた分布に従うものとして上位Xパーセンタイルのフロー数を算出し、当該上位Xパーセンタイルのフロー数がサーバkの処理能力Bk×a (aは係数で1未満の値)となるような、平均x_target_kを算出し、X(1)(p)+  X(2)(p)+…+  X(J)(p)<=  x_target_kを満たす範囲で、グループ1,  2,  …,  Jのフローをサーバkに収容替えする計算処理を、残りのグループ全てがいずれかのサーバに収容されるまで各サーバについて繰り返して実施し、その結果、もし不要となったサーバが存在する場合に、フローの振り分け先サーバを変更すると決定する
ことを特徴とする振分先サーバ決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IPネットワークにおけるトラヒックを管理する技術に関するものである。
【背景技術】
【０００２】
IPネットワークが広く利用されてくるに伴って、トラヒックを測定し、適切なネットワーク設計や運用に反映させる必要がある。例えば、ネットワークの帯域を設計する場合にはトラヒック量の平均だけでなく、変動量（例えばトラヒック量の95%値）を把握することが重要である。
【０００３】
また、ネットワークを流れるフロー数に関しても見積もる必要がある場合がある。ここでフローとは、発信元IPアドレス(srcIP)、着信先IPアドレス(dstIP)、発信元ポート番号(srcPort)、着信先ポート番号(dstPort)、プロトコル(protocol)の５つ組を同じくするパケット群のことを指す。例えば、ネットワーク上を流れるトラヒックをフローレベルで測定するNetFlowやsFlowといった技術がルータに実装されており、ルータで観測されたフロー情報を、コレクタと呼ばれる監視装置へexportさせてコレクタで分析することで、ネットワークの状態を把握する。このとき、コレクタへ到着するフロー数がどの程度かを見積もる必要がある。その際も、平均だけでなく、変動量を把握して、適切な処理能力のコレクタを用意する必要がある。あるいは、SIPのようなセッション（フロー）単位で通信を制御する場合には、SIPサーバでのセッション数を把握する必要がある。
【０００４】
さらに、近年、DDoS(Distributed Denial of Service)やスキャンといった異常トラヒックが急増しているため、これら異常トラヒックを測定を通じて検出する必要性も増している。このとき、異常トラヒックをみつけるためには平常時のトラヒックの変動がどの程度かを正確に見積もり、その変動の範囲を超えてトラヒックが急増したら、異常トラヒックが発生したとする、といった手法（例えば非特許文献１）も考えられているため、その点においても、トラヒックの変動量を適切に把握することが重要となる。
【０００５】
一方、回線速度の高速化に対応可能な測定を実施するため、パケットサンプリングを通じてトラヒックを測定分析する技術が近年注目されている（非特許文献２）。例えばN個に1個のパケットを周期的に参照し、パケットがサンプルされたフロー情報（どのフローから何パケットサンプルされたか）を収集分析する技術である。このようなサンプルフロー情報を集計し、一定周期（例えば５分）毎にある監視単位（リンク毎、ルータ毎、あるいは対地毎）に発生したパケット数、バイト数、フロー数に関する時系列データを作成し、分析することが考えられている（非特許文献３）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】原田薫明, 川原亮一, 森達哉, 上山憲昭, 廣川裕, 山本公洋, "異常トラヒック発生検出および終了判定手法," 信学技報, vol. 106, no. 420, IN2006-133, pp. 115-120, 2006年12月.
【非特許文献２】[PSAMP] RFC 5474 on A Framework for Packet Selection and Reporting http://www.faqs.org/rfcs/rfc5474.html
【非特許文献３】大倉 他，信学ソ大，B-7-70, 2006
【非特許文献４】T. MORI,  T. TAKINE,  J. PAN,  R. KAWAHARA,  M. UCHIDA, and S. GOTO, "Identifying Heavy-Hitter Flows from Sampled Flow Statistics," IEICE TRANSACTIONS on Communications, Vol.E90-B, No.11,  pp.3061-3072, Nov 2007.
【非特許文献５】C. Estan and G. Varghese, "New Directions in Traffic Measurement and Accounting," ACM SIGCOMM2002, Aug. 2002.
【非特許文献６】N. Duffield, C. Lund, and M. Thorup, "Properties and Prediction of Flow Statistics from Sampled Packet Streams," ACM SIGCOMM Internet Measurement Conference 2002, Nov. 2002.
【非特許文献７】N. Duffield, C. Lund, and M. Thorup, ``Estimating Flow Distributions from Sampled Flow Statistics,'' In Proceedings of ACM SIGCOMM, pp. 325-336, Aug. 2003.
【非特許文献８】R. Kawahara, T. Mori, N. Kamiyama, S. Harada, and S. Asano, "A study on detecting network anomalies using sampled flow statistics," SAINT 2007Workshop on Internet measurement technology and its applications to building next generation Internet, Jan. 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のようにパケットサンプリングを通じてトラヒックを測定分析する技術においては、パケットサンプリングしているために、必要な情報が失われている可能性があり、元のフロー統計量を推定する必要がある。非特許文献４では、パケットサンプリングを用いてリンク帯域の占有率が高いフローを特定する方法を提案している。非特許文献５では、フローサイズが大きいフローの統計を精度よく得る方法を提案している。また、非特許文献６、７では、サンプルされたSYNパケット（TCPフラグの一つで、通信開始を意味する）の数を用いて、サンプルされていない全体のフロー発生数やフローサイズの平均や分布を推定する方法を提案している。
【０００８】
しかしながら、これらの提案技術は、トラヒック時系列の変動量を推定することを可能にするものではなかった。
【０００９】
本発明は、上述の問題点に鑑みてなされたものであり、観測可能なデータから、観測が困難なトラヒックの変動量を推定することを可能にする技術を提供するとともに、その推定されたトラヒック変動量を用いて、トラヒック管理を実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明は、通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、トラヒック変動量を推定するトラヒック変動量推定装置であって、前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2  +  β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成手段により生成された時系列のフロー数から算出する近似式算出手段と、前記近似式算出手段により算出されたパラメータα(p)とβ(p)を有する前記近似式y=α(p)x2  +  β(p)xを用いて、トラヒック変動量の推定を行うトラヒック推定手段とを備えるトラヒック変動量推定装置であり、前記トラヒック変動量推定装置は、前記サンプルフロー情報におけるフローの発信元ＩＰアドレスをキーとして用いることにより、当該フローをM（Ｍは自然数）個のグループに分割するフロー分類手段を備え、前記フロー分類手段は、前記フローを、M1個とM2個（M1とM2はそれぞれ自然数）の２通りに分類し、前記近似式算出手段は、前記時系列データ生成手段により生成されたグループm（m=1〜M）毎の時系列のフロー数から、標本平均X(m)(p)と標本分散Vx(m)(p)を計算し、グループ全体の標本平均の期待値をSE(M)(p)=1/M  ΣX(m)(p)（m=1〜Mで和を取る）、標本分散の期待値をSV(M)(p)=1/M  ΣVx(m)(p)  （m=1〜Mで和を取る）として計算する処理をM=M1とM2の２通りに対して実施し、M=Mi（i=1,  2）のときのSE(Mi)(p)とSV(Mi)(p)の組を(xi、yi)として、前記パラメータα(p)とβ(p)を
【数３】
0005511562.tif 000002
により算出することを特徴とするトラヒック変動量推定装置として構成することができる。
【００１１】
また、本発明は、通信網においてサンプリング率ｐでのパケットサンプリングにより収集されたサンプルフロー情報を受信し、当該サンプルフロー情報から、異常トラヒック監視に適したフロー分割数を決定するトラヒック管理装置であって、前記サンプルフロー情報に基づき、フロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、前記時系列データ生成手段から、時系列のフロー数を受け取り、当該フロー数が所定の異常検出閾値を超えた場合に異常であると判定する異常検出手段と、トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2 + β(p)xにおけるパラメータα(p)とβ(p)を、前記異常検出手段により異常と判定されていない正常時の時系列のフロー数から算出する近似式算出手段と、正常フロー数に異常フロー数が加わったときの(平均，分散)を、(x+m_d, α(p)x2+β(p)x+v_d)とし、正常フロー数に平均がm_dで分散がv_dとなる異常フロー数が加わったときのフロー数の平均と分散を持つ確率分布Fx(u)において、異常判定閾値をthとし、予め定めた異常見逃し率をεとして、Fx(th)<εを満たす正常平均フロー数x*を計算し、フローをMの分割数で分割したときのグループjのフロー数の標本平均X(j)(p)を求め、グループ全体の標本平均SE(M)(p) =1/M ΣX(m)(p)（m=1〜Mで和を取る）とx*とを比較して、x*/ SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくする処理を行うことにより、異常トラヒック監視に適したフロー分割数を決定する分割数決定手段とを備えたことを特徴とするトラヒック管理装置として構成される。
【００１２】
また、本発明は、通信ネットワークを介してL個（Lは自然数）のサーバに接続され、当該L個のサーバに対してトラヒックのフローを分配するトラヒック分配装置であって、前記フローをL個（Lは自然数）のグループに分類し、グループ毎に各サーバへフローを転送するフロー分類手段と、前記フロー分類手段で分類された各グループのフロー数の時系列データをトラヒック量として生成する時系列データ生成手段と、トラヒック量に関する標本分散の期待値yと、標本平均の期待値xとの間の関係を示す近似式y=α(p)x2 +β(p)xにおけるパラメータα(p)とβ(p)を、前記時系列データ生成手段により生成された時系列のフロー数から算出する近似式算出手段と、フローの振り分け先サーバを変更するか否かを決定する振分先サーバ決定手段と、を備え、サーバj（j=1〜L）へ振り分けられているフローをグループjのフローとした場合に、前記近似式算出手段は、グループjのフロー数の標本平均X(j)(p)と標本分散Vx(j)(p)を計算し、組(X(j)(p) , Vx(j)(p))を(xj, yj)として、前記近似式y=α(p)x2 + β(p)xにフィットさせることにより、前記パラメータα(p)とβ(p)を求め、
前記振分先サーバ決定手段は、前記近似式を用いることにより、前記フロー数が平均x、分散α(p)x2+β(p)xをパラメータにもつあらかじめ定めた分布に従うものとして上位Xパーセンタイルのフロー数を算出し、当該上位Xパーセンタイルのフロー数がサーバkの処理能力Bk×a (aは係数で1未満の値)となるような、平均x_target_kを算出し、X(1)(p)+ X(2)(p)+…+ X(J)(p)<= x_target_kを満たす範囲で、グループ1, 2, …, Jのフローをサーバkに収容替えする計算処理を、残りのグループ全てがいずれかのサーバに収容されるまで各サーバについて繰り返して実施し、その結果、もし不要となったサーバが存在する場合に、フローの振り分け先サーバを変更すると決定することを特徴とするトラヒック分配装置として構成することもできる。
【００１３】
また、本発明は、上記各装置の処理方法に対応する方法の発明として構成することもできる。
【発明の効果】
【００１４】
本発明によれば、観測可能なデータから、観測が困難なトラヒックの変動量を推定することを可能にする技術を提供できるとともに、その推定されたトラヒック変動量を用いて、フロー分割数の決定や、フロー振り分け先の変更等のトラヒック管理を実現する技術を提供できる。
【図面の簡単な説明】
【００１５】
【図１】異常トラヒック検出閾値と、誤検出率、見逃し率の関係を説明する図である。
【図２】本発明の実施例１におけるシステム構成を示す図である。
【図３】本発明の実施例１におけるトラヒック変動量推定装置１０の構成例を示すブロック図である。
【図４】本発明の実施例１におけるトラヒック変動量推定装置１０の動作手順を示すフローチャートである。
【図５】本発明の実施例３におけるトラヒック管理装置３０の構成例を示すブロック図である。
【図６】本発明の実施例３におけるトラヒック管理装置３０の動作手順を示すフローチャートである。
【図７】本発明の実施例４におけるシステム構成を示す図である。
【図８】本発明の実施例４におけるトラヒック分配装置４０の構成例を示すブロック図である。
【図９】本発明の実施例４におけるトラヒック分配装置４０の動作手順を示すフローチャートである。
【図１０】本発明に係る技術での近似式の有効性を実験した結果を示すグラフである。
【発明を実施するための形態】
【００１６】
まず、本発明の各実施例における装置が実行する処理方法として用いられる第１〜第７の方法について説明する。
【００１７】
（第１の方法）
第１の方法は、通信網において、フローを発信元IPアドレス(srcIP)、着信先IPアドレス(dstIP)、発信元ポート番号(srcPort)、着信先ポート番号(dstPort)、プロトコル番号(Protocol)の５つ組みを同じくするパケット群と定義し、サンプリング率pでのパケットサンプリングによりフローに関するトラヒックデータを収集し、観測して得られるデータから、観測が困難なトラヒック変動量を推定するトラヒック変動量推定法である。
【００１８】
この第１の方法では、トラヒック量として一定周期毎に観測されたサンプルフロー数（少なくとも一つのパケットがサンプルされたフロー数）の時系列データを扱うこととし、トラヒック量の時系列に関する標本平均と標本分散について、標本分散の期待値yと、標本平均の期待値xの関係式をy=α(p)x2 +β(p)xで近似することとし、本近似式において用いるパラメータα(p)とβ(p)を観測されたデータから推定することとしている。
【００１９】
これにより、観測が困難な領域、つまり平均トラヒック量が観測されている領域よりも仮に大きくあるいは小さくなったとしたときに、そのときの分散を上記近似式を用いて推定することが可能になる。
【００２０】
ここで、この近似式の導出方法を以下で説明する。
【００２１】
＜近似式の導出方法＞
（１）問題設定
K単位時間の間、ランダムパケットサンプリングを用いて無作為標本抽出を行い、標本抽出されたパケットの集約フロー指標（例えば、送信元IPアドレス）をハッシュ関数にかけ、M個のグループに分類する。以下では、標本抽出は時間間隔(0,K]で行われるものとし、時間区間(k-1,k](k=1, 2,…..,K)を区間ｋと呼ぶ。また、サンプリング率をpで表す。
【００２２】
母集団におけるフローの総数をFとし、集約フロー指標の異なり数をFAとする。また、m番目(m=1,2,…M)のグループに分類されるフロー数をF(m)とし、m番目(m=1,2,…M)のグループに分類される集約フロー指標の異なり数をFA(m)とする。定義より
【００２３】
【数１】
0005511562.tif 000003
である。
【００２４】
j番目(j=1,2,3,…., FA)の集約フロー指標がm番目(m=1,2,…M)のグループに分類されるという事象に対する指示関数JAj(m) を次式で定義する。
【００２５】
【数２】
0005511562.tif 000004
また、j番目(j=1,2,3,…,FA)の集約フロー指標をもつフローの総数をFjで表す。よって、m番目のグループに分類される集約フロー指標の総数FA(m)ならびにm番目のグループに分類されるフローの総数F(m)は
【００２６】
【数３】
0005511562.tif 000005
で与えられる。以下では、各グループに属するフローに番号を振り、個々のフローを区別する。
【００２７】
m番目(m=1,2,…,M)のグループに属するi番目(i=1,2,3,…,F(m))のフロー（以下、フロー(m,i)と呼ぶ）に含まれるパケットが、区間kにおいて少なくとも一つ抽出されるという事象に対する指示関数Yi(m)(k|p)(k=1,2,…,K)を次式で定義する。
【００２８】
【数４】
0005511562.tif 000006
さらに、グループmにおいて区間kで少なくとも一つのパケットが抽出されるフローの数X(m)(k)を定義する。
【００２９】
【数５】
0005511562.tif 000007
このとき、標本抽出実験の結果得られる、K個の単位区間に渡って得られるX (m)(k|p)の標本平均
【００３０】
【数６】
0005511562.tif 000008
ならびに標本分散
【００３１】
【数７】
0005511562.tif 000009
は次式で与えられる。
【００３２】
【数８】
0005511562.tif 000010
定義より、これらの期待値は、
【００３３】
【数９】
0005511562.tif 000011
【００３４】
【数１０】
0005511562.tif 000012
で与えられる。以下では、
【００３５】
【数１１】
0005511562.tif 000013
と
【００３６】
【数１２】
0005511562.tif 000014
の関係を議論する。
（２）モデル
この節では、以下の仮定を置く。
【００３７】
仮定１：j番目(j=1,2,3,…,FA)の集約フロー指標がm番目(m=1,2,…,M)のグループに分類されるという事象に対する指示関数JAj(m) は他の事象とは独立であり、その期待値は
【００３８】
【数１３】
0005511562.tif 000015
で与えられる。
【００３９】
仮定２：j番目(j=1,2,3,…,FA)の集約フロー指標をもつフローの総数Fjは独立同一な分布に従う。  
母集団における集約フロー指標の異なり数FAを（未知の）確定値として扱うと
【００４０】
【数１４】
0005511562.tif 000016
であり、式（１）、式（２）、仮定１、仮定２より、F(m)の平均と分散はそれぞれ次式で与えられる。
【００４１】
【数１５】
0005511562.tif 000017
【００４２】
【数１６】
0005511562.tif 000018
ただし、Cは
【００４３】
【数１７】
0005511562.tif 000019
である。
【００４４】
仮定３：区間kにおいてフロー(m,i)(m=1,2,…,M, i=1,2,…, F(m))のパケットが少なくとも１つ抽出されるという事象に対する指示関数の組{Yi(m)(k|p); k=1,2,…,K}はm, iの値に依らず、同じ結合分布を持つ。
【００４５】
仮定３より、任意のフロー(m, i)に対する{ Yi(m)(k|p); k=1,2,…,K}と同じ結合分布に従う確率変数の組{ Y(k|p); k=1,2,…,K}が定義できる。これを用いるとグループmにおける観測期間内でランダムに選ばれた時間区間におけるフロー数X(m)(p)の平均E[X(m)(p)]と分散Var[X(m)(p)]は次式で与えられる。
【００４６】
【数１８】
0005511562.tif 000020
【００４７】
【数１９】
0005511562.tif 000021
式（９）に現れる鍵括弧内の項は、凸関数に対するJensenの不等式より
【００４８】
【数２０】
0005511562.tif 000022
であり、等号はE[Y(k|p)]がkに依らず一定の場合のみ成立することに注意する。
【００４９】
式（８）より
【００５０】
【数２１】
0005511562.tif 000023
が得られ、これと式（６）より
【００５１】
【数２２】
0005511562.tif 000024
が成立する。これらを式（９）へ代入し、整理すると
【００５２】
【数２３】
0005511562.tif 000025
を得る。ただし、A(p), B(p)は任意のフローを特徴付ける確率変数{Y(k|p);k=1,2,…,K}のみで定まる値であり、
【００５３】
【数２４】
0005511562.tif 000026
で与えられる。
【００５４】
式（１０）はm番目のグループに分類されるフローの数の分散Var[X(m)(p)]が平均E[X(m)(p)]の２次関数で与えられることを示している。すなわち、平均分散曲線は未知の定数α(p)、β(p)を含む２次曲線
y=α(p)x2 +β(p)x                      (12)
となる。
【００５５】
ここで、Mに対するデータX(m)(k|p)の標本平均
【００５６】
【数２５】
0005511562.tif 000027
と標本分散
【００５７】
【数２６】
0005511562.tif 000028
が既知であるとする。まず、それぞれの分類におけるE[X(m)(p)]とVar[X(m)(p)] (m = 1, 2, …, M)に対応する標本平均SE(M)(p)、標本分散SV(M)(p)を次式により算出する。
【００５８】
【数２７】
0005511562.tif 000029
式（３）と式（８）より、
【００５９】
【数２８】
0005511562.tif 000030
が成立するため、SE(M)(p)は平均E[X(m)(p)]の不偏推定量である。一方、式（４）から、
【００６０】
【数２９】
0005511562.tif 000031
にはK個の時間区間内での共分散を含む項が含まれており、偏りがある。今後、以下を仮定する。
【００６１】
仮定４：
【００６２】
【数３０】
0005511562.tif 000032
における共分散を含む項は無視できる。すなわち、
【００６３】
【数３１】
0005511562.tif 000033
が成立する。
【００６４】
従って、標本平均の期待値と、標本分散の期待値との間に、式（１２）の２次関数の関係式が成り立つことになる。
【００６５】
（第２の方法）
次に、第２の方法について説明する。第２の方法では、第１の方法において、観測されたフローのsrcIPをキーとして予め用意したハッシュ関数に入力し、そのハッシュ値を元にM個のグループに分割する。
【００６６】
例えば、ハッシュ値をMで割った余りを同じくするフローを同一グループへと分類する。このときのm番目（m=1〜M）のグループに属するフロー数時系列に関して、その標本平均X(m)(p)と標本分散Vx(m)(p)を計算し、グループ全体の標本平均の期待値をSE(M)(p)=1/M ΣX(m)(p)（m=1〜Mで和を取る）、標本分散の期待値をSV(M)(p)=1/M ΣVx(m)(p)（m=1〜Mで和を取る）で推定する。これを、M=M1とM2の２通りに対して実施し、M=Mi（i=1、2）のときのSE(Mi)(p)とSV(Mi)(p)の組を(xi, yi)として、第１の方法におけるパラメータα(p)とβ(p)を以下の式で推定することとしている。
【００６７】
【数３２】
0005511562.tif 000034
（第３の方法）
次に、第３の方法について説明する。第３の方法では、第２の方法において、srcIPをキーとしてグループに分けていた代わりに、dstIPをキーにするか、または｛発信元IPアドレス(srcIP)、着信先IPアドレス(dstIP)、発信元ポート番号(srcPort)、着信先ポート番号(dstPort)、プロトコル番号(Protocol)｝の５つ組みのうちのいくつかの組み合わせでキーを定義してグループに分類することとしている。
【００６８】
どのようにキーを定義してグループ分けするかについては、そのときの目的に応じて設定すればよい。例えば、後述する第６の方法においては、異常トラヒック監視を目的としている。その場合には、例えばsrcIPをキーとしてグループに分類することで、スキャンのようなある特定のsrcIPから多数のdstIPやdstPortへトラヒックを分散させている異常を見つけるのに適している。なぜならば、そのような異常トラヒックについては、srcIPをキーにしてグループ分類を行った際には全て同一のグループに集約されるため、異常トラヒックを検出しやすくなるためである（非特許文献８）。
【００６９】
（第４の方法）
次に、第４の方法について説明する。第４の方法においては、第２の方法により求めたパラメータを用いて、標本分散の期待値yと標本平均の期待値xの関係式y=α(p)x2 + β(p)xを導出しておき、将来の平均トラヒック量がx_estになったと仮定したときの分散をy_est=α(p) (x_est)2 + β(p)(x_est)により推定する。
【００７０】
一方、トラヒックは平均x_est、分散y_estをパラメータにもつあらかじめ定めた分布（正規分布等）に従うものとして、上位Xパーセンタイルを導出し、それを該将来時点において加わるトラヒック量とみなして必要な設備を設計することとしている。
【００７１】
（第５の方法）
続いて、第５の方法について説明する。第５の方法においては、ネットワークに加わるトラヒックをM個のグループに分割して監視しているものとし、各グループに分類されるフローをハッシュ関数を用いてさらにM'個に分割することで、第２の方法におけるM1、M2の２つのグループ数への分類を実現し、第２の方法の手順で、第１の方法のパラメータα(p)とβ(p)を推定することしている。
【００７２】
（第６の方法）
次に、第６の方法について説明する。第６の方法においては、フローをM個のグループに分割して、各グループm（m=1〜M）のフロー数時系列を観測し、該フロー数の急激な変化を監視することで異常トラヒックを検出しているとする。このとき、現在のトラヒックにおいて異常トラヒックが存在しないと判定されている場合には、第５の方法でパラメータα(p)とβ(p)を推定しておき、正常フロー数の標本分散の期待値yと標本平均の期待値xの関係式y=α(p)x2 + β(p)xを導出しておく。
【００７３】
一方、フロー数は平均x、分散yをパラメータにもつあらかじめ定めた分布（正規分布等）に従うとする。ここで、(m_d, v_d)を検出すべき異常トラヒックの(フロー数の平均，フロー数の分散)とする。これらは予め定める値である。そして、仮に該異常トラヒックが印加された場合に予め定めた異常見逃し率ε以下で検出可能となるように適切な分割数M*を以下で決定する。  
正常フロー数に異常フロー数が加わったときの(平均，分散)を、(x+m_d, α(p)x2+β(p)x+v_d)とし、正常フロー数＋異常フロー数がこの平均と分散を持つ確率分布Fx(u)に従うとみなす。ここで、Fx(u)は正常フロー数の平均がxのときに、正常フロー数+異常フロー数という確率変数Uがu以下となる確率を意味する。つまり、Fx(u)=P[U=<u]である。該確率分布においてFx(th)<εを満たすx*を計算する。なおthは異常と判定する閾値であり、予め定めるパラメータγ(例えばγ=3)を用いてth=x+γ√{α(p)x2+β(p)x}とする。
【００７４】
そして、現在のMグループに分割したときのグループ全体の標本平均SE(M)(p) =1/M ΣX(m)(p)（m=1〜Mで和を取る）とx*を比較して、x*/ SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくする。具体的には、分割数をINT[SE(M)(p)/ x* ×M]（INT[a]はaの小数点少数を切り上げて整数にすること）と更新する。
【００７５】
以下、上記の方法の基本的考え方について説明する。
【００７６】
バックボーンでトラヒックを観測していると、トラヒック量が大きいため、異常トラヒックがその中に混在していても、見つけることが困難となる。そこで、監視トラヒックを適切なグループ数に分割して、グループ毎にトラヒックを監視することで異常トラヒック検出を行うことが考えられる。グループ内の正常トラヒック量が小さくなり、異常トラヒックだけ特定のグループに集約できれば、異常トラヒックを検出しやすくなる。
【００７７】
一般に異常トラヒックの検出は、トラヒックの時系列を監視し、トラヒック量が閾値を超えたら（急激に増加したら）、異常トラヒックが発生したと判断する。このような判断においては、正常時に閾値を超える確率（誤検出率）をなるべく小さくし、同時に異常発生時には見逃し率をなるべく小さくできるようにする必要がある。
【００７８】
図１は、正常フロー数、ならびに正常フロー数＋異常フロー数の分布と、誤検出率・見逃し率の関係を示す図である。一般に、閾値thは「平均x+γ√(分散)」と設定する。例えば正規分布の場合、γ=3にセットすると、閾値を超える確率、つまり誤検出率は0.13%程度に抑えられる。一方で、異常混在時のフロー数は(x+m_d, α(p)x2+β(p)x+v_d)を(平均、分散)とする確率分布Fx(u)に従うことになる。ここで、Fx(u)は正常フロー数の平均がxのときに、正常フロー数+異常フロー数という確率変数Uがu以下となる確率を意味する（つまり、Fx(u)=P[U=<u]）。このとき、異常発生時には閾値を下回る確率（つまり見逃し率）とは該確率分布においてFx(th)がその確率に相当する。
【００７９】
従って、Fx(th)<εを満たすように、分割数を設定すれば（つまり、正常トラヒック量の平均がこの不等式を満たす程度にできれば）よいことになるため、Fx(th)<εを満たす平均正常トラヒックx*を計算し、現在のMグループに分割したときのグループ全体の標本平均SE(M)(p) =1/M ΣX(m)(p)（m=1〜Mで和を取る）とx*を比較して、x*/ SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくすることとしている。具体的には、分割数をINT[SE(M)(p)/ x* ×M]（INT[a]はaの小数点少数を切り上げて整数にすること）と更新する。
【００８０】
（第７の方法）
次に、第７の方法について説明する。第７の方法においては、フローを処理するサーバがL台存在するものとし、サーバjの処理能力をBj[flow/s]とする。また、これらサーバへフローを振り分ける装置が存在するとし、現在、サーバjへ振り分けられているフローをグループjのフローと呼ぶことにし、グループjのフロー数の標本平均X(j)(p)と標本分散Vx(j)(p)を計算する。そして、組(X(j)(p) , Vx(j)(p))（j=1〜L）を(xj, yj)として、y=α(p)x2 + β(p)xにフィットさせて、パラメータα(p)とβ(p)を求める。第７の方法では、この関係式を用いて、フローの振り分け先サーバを変更するかどうかを以下の手順で決定する。
【００８１】
トラヒックは平均x、分散α(p)x2+β(p)xをパラメータにもつあらかじめ定めた分布（正規分布等）に従うとして上位Xパーセンタイルを導出し、その上位Xパーセンタイルがサーバkの処理能力Bk×a (aは係数で1未満に設定)となるような、平均x_target_kを算出する。該サーバkには、X(1)(p)+ X(2)(p)+…+ X(J)(p)<= x_target_kを満たす範囲で、グループ1, 2, …, Jのフローをサーバkに収容替えするとする。この手順を残りのグループ全てがいずれかのサーバに収容されるまで繰り返し実施し、その結果、もし不要となったサーバが存在したら、該サーバをsleep状態にして、実際にフローの収容替えを実施する。その後、activeなサーバjの中で、該サーバjへのフロー数の分散から決まる上位Xパーセンタイルの値がa×Bjを超えた場合には、sleepになっているサーバをactiveにして、該サーバjで収容中のフローの一部をsleepサーバへ収容替えをする。
【００８２】
上記の方法では、複数台のサーバで負荷分散をしているケースを想定し、トラヒックが減ってきて全部のサーバをアクティブ状態にしなくても処理可能な程度のトラヒックであれば、トラヒックを一部のサーバに片寄せし、残りのサーバをsleep状態とすることで、低消費電力化を図っている。
【００８３】
以下、上述した本発明に係る方法を実装した各実施例を図面を参照して説明する。
【実施例１】
【００８４】
まず、実施例１について説明する。図２は、実施例１に係るシステムの基本構成の一例を示す構成図である。図２に示すように、このシステムは、IPネットワーク１を構成する複数のルータ２と、トラヒック変動量推定装置１０とを備えている。
【００８５】
本システムでは、図２に示すように、各ルータ２においてパケットサンプリング率pで測定されたサンプルフロー情報を、トラヒック変動量推定装置１０が収集する構成となっている。ここで、上記サンプルフロー情報は、フローIDと統計情報のセットであり、フローIDとして、送信元IPアドレス、着信先IPアドレス、送信元ポート番号、着信先ポート番号、プロトコル番号を持ち、統計情報として、サンプルパケット数、サンプルパケットの総バイト数を持つ。
【００８６】
トラヒック変動量推定装置１０は、第１から第４の方法を用いてトラヒック変動量推定を行う装置である。図３に、トラヒック変動量推定装置１０の機能構成図を示す。図３に示す通り、トラヒック変動量推定装置１０は、フロー分類部１１と、時系列データ生成部１２と、近似式算出部１３と、トラヒック予測部１４を備えている。当該構成を有するトラヒック変動量推定装置１０の動作を、図４に示す処理手順に沿って説明する。
【００８７】
ステップ１０１）フロー分類部１１は、各ルータから到着したサンプルフロー情報を受け取り、該フローの（送信元IPアドレス、着信先IPアドレス、送信元ポート番号、着信先ポート番号、プロトコル番号）を読み出し、フローID照合手段におけるメモリ等に予め登録されているルールを参照し、当該ルールに従ってフローを複数のグループに分類する。
【００８８】
一例として、フロー分類部１１は、srcIPをキーとしてハッシュ関数に入力し、そのハッシュ値の先頭8ビットをみて、M＝2^8個のグループに分類する。ここではsrcIPをキーとする例を示したが、srcIPではなく、dstIP、または｛発信元IPアドレス(srcIP)、着信先IPアドレス(dstIP)、発信元ポート番号(srcPort)、着信先ポート番号(dstPort)、プロトコル番号(Protocol)｝の５つ組みのうちのいくつかの組み合わせでキーを定義してもよい。なお、ここでは、フロー分類部１１は、M個のグループへの分類をM=M1とM2の２通りに対して実施する。例えばM1=2、 M2=4とセットする。
【００８９】
分類後、該フロー情報と該フローがマッピングされたグループ番号m1、m2（前者はM= M1としたとき、後者はM= M2としたときのグループ番号）をセットにして、時系列データ生成部１２に通知する。
【００９０】
ステップ１０２）時系列データ生成部１２は、各グループmのフロー数を一定周期（例えば１分毎）毎にカウントしておく。これを、予め定めた測定期間（例えば１分×１８０回）実施し、測定期間終了時に、フロー数の時系列データを近似式算出部１３へ転送する。
【００９１】
ステップ１０３）近似式算出部１３は、各グループ番号mの標本平均X(m)(p)と標本分散Vx(m)(p)を計算し、グループ全体の標本平均の期待値をSE(M)(p)=1/M ΣX(m)(p)（m=1〜Mで和を取る）、標本分散の期待値をSV(M)(p) = 1/M ΣVx(m)(p) （m=1〜Mで和を取る）で推定する。これを、M=M1とM2の２通りに対して実施し、M=Mi（i=1, 2）のときのSE(Mi)(p)とSV(Mi)(p)の組を(xi, yi)として、パラメータα(p)とβ(p)を以下の式を用いて算出する。
【００９２】
【数３３】
0005511562.tif 000035
パラメータを決定したら、当該パラメータを、トラヒック予測部１４へ通知する。
【００９３】
ステップ１０４）トラヒック予測部１４では、近似式算出部１３により決定されたパラメータを用いて、標本分散の期待値yと標本平均の期待値xの関係式y=α(p)x2 + β(p)xを導出しておき、将来の平均トラヒック量がx_estになったと仮定したときの分散をy_est=α(p) (x_est)2 + β(p)(x_est)により推定する。一方、トラヒックは平均x_est、分散y_estをパラメータにもつあらかじめ定めた分布（正規分布等）に従うとして、上位Xパーセンタイルを導出し、それを該将来時点において加わるトラヒック量の予測値として出力する。
【００９４】
トラヒック予測部１４により予測されたトラヒック量は、例えば、オペレータの端末に出力される。また、トラヒック予測部１４は、上記のようにして推定された分散を出力し、トラヒック量の予測を他の手段で行うこととしてもよい。
【００９５】
トラヒック変動量推定装置１０は、例えば、ＣＰＵやメモリ、ハードディスク等を備えた一般的なコンピュータに、各機能部に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等のコンピュータ読み取り可能な記録媒体に記録して配布してもよいし、ネットワーク上のサーバからダウンロードすることもできる。このように、トラヒック変動量推定装置１０をコンピュータとプログラムで構成した場合、CPUは、プログラムの命令に従って、フロー数等の処理データの読み書きをメモリに対し行うことにより処理を進め、これにより、トラヒック変動量推定装置１０における各機能部が実現される。
【００９６】
また、トラヒック変動量推定装置１０を、各機能部の処理機能を埋め込んだハードウェアロジック回路を用いて実現することも可能である。
【００９７】
上記のようにコンピュータとプログラム、もしくはハードウェアロジック回路で実現できる点は、他の実施例における装置についても同様である。
【実施例２】
【００９８】
実施例２における装置構成は、実施例１と同じである。実施例２では、実施例１のフロー分類部１１のようにして予めセットした２通りのグループ分類を実施する代わりに、以下のようなグループ分けを行う。
【００９９】
ここではネットワークを流れるトラヒックがM個のグループに分類されているとする。例えば後述する実施例３のように、異常トラヒック監視目的で、M個（これをM1個とする)のグループに分けてトラヒックを監視しているものとする。そして、フロー分類部１１は、各グループに分類されるフローをハッシュ関数を用いてさらにM'個に分割することで、全体としてM2個のグループ分けを実現し、実施例1に記載のM1、M2の２つのグループ数への分類を実現し、あとは実施例１と同様の手順で、トラヒック変動量を推定する。
【実施例３】
【０１００】
次に、実施例３を説明する。図５に、本実施例におけるトラヒック管理装置３０の機能構成図を示す。このトラヒック管理装置３０は、図２に示したシステムにおいて、トラヒック変動量推定装置１０に代えて備えられ、運用することを想定している。あるいは、トラヒック変動量推定装置１０の中に付加的に、トラヒック管理装置３０としての機能を実現するために必要な機能部を備えることとしてもよい。
【０１０１】
図５に示す通り、トラヒック管理装置３０は、フロー分類部３１と、時系列データ生成部３２と、異常検出部３３と、近似式算出部３４と、グループ数決定部３５を備えている。当該構成を有するトラヒック管理装置３０の動作を、図６に示す処理手順に沿って説明する。
【０１０２】
ステップ３０１にて、フロー分類部３１が、フローをM個のグループに分類し、ステップ３０２にて、時系列データ生成部３２が、各グループのフロー数時系列を生成する。ここまでの処理は実施例１におけるステップ１０１及びステップ１０２と同じ処理である。
【０１０３】
ステップ３０３）時系列データ生成部３２は、一定周期毎に時系列データが追加されるたびに、異常検出部３３へそのデータを転送する。
【０１０４】
ステップ３０４）異常検出部３３では、各グループmのフロー数の平均と分散を過去の時系列データから計算しておき、異常検出閾値を「平均＋γ×√（分散）」に設定し、現時点のフロー数がこの閾値を超えたら異常が発生したと判断する。異常と判定された場合はその旨を近似式算出部３４へ伝える。
【０１０５】
ステップ３０５）近似式算出部３４では、現在のトラヒックにおいて、異常検出部３３により異常トラヒックが存在しないと判定されている場合には、実施例２の方法でパラメータα(p)とβ(p)を推定しておき、正常フロー数の標本分散の期待値yと標本平均の期待値xの関係式y=α(p)x2 +β(p)xを導出しておく。そして、その結果をグループ数決定部３５に通知する。
【０１０６】
ステップ３０６）グループ数決定部３５では、以下の手順で異常トラヒック監視のために適したグループ数（分割数）を決定する。
【０１０７】
まず、フロー数は平均x、分散yをパラメータにもつあらかじめ定めた分布（正規分布等）に従うとする。ここで、(m_d, v_d)を検出すべき異常トラヒックの(フロー数の平均、フロー数の分散)とする。なお、異常トラヒックの(フロー数の平均、フロー数の分散)は予め定める値である。そして、仮に該異常トラヒックが印加された場合に予め定めた異常見逃し率ε以下となるように適切な分割数M*を以下のようにして決定する。
【０１０８】
正常フロー数に異常フロー数が加わったときの(平均，分散)を、(x+m_d, α(p)x2+β(p)x+v_d)とし、正常フロー数＋異常フロー数がこの平均と分散を持つ確率分布Fx(u)に従うとみなす。ここで、Fx(u)は正常フロー数の平均がxのときに、正常フロー数+異常フロー数という確率変数Uがu以下となる確率を意味する。つまり、Fx(u)=P[U=<u]である。該確率分布においてFx(th)<εを満たすx*を計算する。なおthは異常と判定する閾値であり、予め定めるパラメータγ（例えばγ=3)を用いてth=x+γ√{α(p)x2 + β(p)x}とする。現在のMグループに分割したときのグループ全体の標本平均SE(M)(p) =1/M ΣX(m)(p)（m=1〜Mで和を取る）とx*を比較して、x*/ SE(M)(p)が予め定めた閾値よりも小さければ、分割数をMより大きくする。具体的には、分割数をINT[SE(M)(p)/ x* ×M]（INT[a]はaの小数点少数を切り上げて整数にすること）と更新することにより、分割数を決定する。
【実施例４】
【０１０９】
次に、実施例４について説明する。本実施例におけるシステムは、図７に示すように、トラヒック分配装置４０とL台のサーバ（５０）が、ネットワークを介して接続された構成を有する。
【０１１０】
図７の構成において、トラヒック分配装置４０が、L台のサーバへフローを分配している。なお、サーバjの処理能力をBj[flow/s]とする。現在、サーバjへ振り分けられているフローをグループjのフローと呼ぶことにする。
【０１１１】
図８に、本実施例におけるトラヒック分配装置４０の機能構成図を示す。図８に示すとおり、トラヒック分配装置４０は、フロー分類部４１と、時系列データ生成部４２と、近似式算出部４３と、振分先サーバ決定部４４を備えている。当該構成を有するトラヒック分配装置４０の動作を、図９に示す処理手順に沿って説明する。
【０１１２】
ステップ４０１）フロー分類部４１では、フローをL個のグループに分類し、該当するグループ番号のサーバへフローを転送している。同時に、各グループのサンプルフロー数の情報と、どのフローをどのグループ番号へ割り当てたかを時系列データ生成部４２へ通知する。
【０１１３】
ステップ４０２）時系列データ生成部４２において、各グループのフロー数時系列を生成する。この手順は実施例１におけるステップ１０２と同じである。すなわち、時系列データ生成部４２は、グループmのフロー数を一定周期（例えば１分毎）毎にカウントしておく。これを、予め定めた測定期間（例えば１分×１８０回）実施し、測定期間終了時に、時系列データを近似式算出部４３へ転送する。
【０１１４】
ステップ４０３）近似式算出部４３では、グループjのフロー数の標本平均X(j)(p)と標本分散Vx(j)(p)を計算する。組(X(j)(p) , Vx(j)(p))（j=1〜L）を(xj, yj)として、近似式y=α(p)x2 + β(p)xにフィットさせて、パラメータα(p)とβ(p)を求める。その結果を振分先サーバ決定部４４へ通知する。
【０１１５】
ステップ４０４）振分先サーバ決定部４４では、上記近似式を用いて、フローの振り分け先サーバを変更するかどうかを以下の手順で決定する。
【０１１６】
ここでは、トラヒックは平均x、分散α(p)x2+β(p)xをパラメータにもつあらかじめ定めた分布（正規分布等）に従うとして上位Xパーセンタイルを導出し、その上位Xパーセンタイルがサーバkの処理能力Bk×a (aは係数で1未満に設定)となるような、平均x_target_kを算出する。そして、X(1)(p)+ X(2)(p)+…+ X(J)(p)<= x_target_kを満たす範囲で、グループ1, 2, …, Jのフローをサーバkに収容替えする計算処理を行う。この手順を残りのグループ全てがいずれかのサーバに収容されるまで繰り返し実施し、その結果、もし不要となったサーバが存在したら、該サーバをsleep状態にして、上記計算処理の結果に従って、実際にフローの収容替えを実施する。一方、activeなサーバjの中で、該サーバjへのフロー数の分散から決まる上位Xパーセンタイルの値がa×Bjを超えた場合には、sleepになっているサーバをactiveにして、該サーバjで収容中のフローの一部をsleepサーバへ収容替えをする。 
（実施の形態の効果）
以上、各実施例を用いて説明した本発明に係る技術によれば、観測されているサンプルデータから、直接観測が困難なトラヒックの変動量を推定することが可能になるとともに、その変動量を用いて、分割数の決定や、振り分け先サーバの収容替え制御等のトラヒック管理を実現することが可能になる。
【０１１７】
ここで、本発明において提案する近似式が正しく実際のトラヒック変動を推定できていることを実データを用いて示す。インターネットバックボーンで測定されたパケットキャプチャデータ（１７１分）を用いて以下の実験を行った。
【０１１８】
まず、パケットをサンプリング率p=1/1024でサンプリングし、少なくとも１パケットサンプルされたフローについて、グループ数M=1、2、4、8、16、32、64、128、256、512、1024の１１パタンで分類し、１分周期で各グループのサンプルフロー数の時系列を作成した。そして、各グループの（標本平均、標本分散）を計算し、それらをプロットした結果を図１０に示す。X軸が平均、Y軸が分散である。
【０１１９】
同時に、M=1とM=2のときの結果を用いて、近似式y=α(p)x2+β(p)xを計算した。このときα=0.002910、β=0.626320となった。その近似曲線も図１０に示す。これより、本発明の技術を用いることで、M=４以上の領域について近似できていることが確認できる。
【産業上の利用可能性】
【０１２０】
IPネットワークにおけるトラヒック変動量を推定することを含むトラヒックの管理を行うための技術に適用できる。
【０１２１】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【０１２２】
１  IPネットワーク
２  ルータ
１０  トラヒック変動量推定装置
１１、３１、４１  フロー分類部
１２、３２、４２  時系列データ生成部
１３、３４、４３  近似式算出部
１４  トラヒック予測部
３０  トラヒック管理装置
３３  異常検出部
３５  グループ数決定部
４０  トラヒック分配装置
４４  振り分け先サーバ決定部
５０  サーバ
【図１】
0005511562.tif 000038
【図２】
0005511562.tif 000039
【図３】
0005511562.tif 000040
【図４】
0005511562.tif 000041
【図５】
0005511562.tif 000042
【図６】
0005511562.tif 000043
【図７】
0005511562.tif 000044
【図８】
0005511562.tif 000045
【図９】
0005511562.tif 000046
【図１０】
0005511562.tif 000047