(57)【要約】【課題】ネットワーク内の各ノード間の交流トラヒック量の推定精度を向上させる。【解決手段】交流トラヒック計算装置１０は、Ｇｒａｖｉｔｙ法により通信ネットワーク４０内の交流トラヒック量の推定値の初期値ｔｇを計算する。そして、その初期値ｔｇと、通信ネットワーク４０内のフローのトラヒック量の実測値との比較を行う。ここで、初期値ｔｇとトラヒック量の実測値との誤差が大きかった場合、このトラヒック量の実測値をも初期値ｔｇを補正し、この補正した初期値ｔｇを用いてＴｏｍｏＧｒａｖｉｔｙ法により交流トラヒック量の推定値Ｔｅｓｔを計算する。【選択図】図２
2010177908.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの任意の２つのノード間におけるフローのトラヒック量の推定値を計算する交流トラヒック計算装置であって、
前記ネットワークを構成する各ノードのインタフェースの識別情報ごとに、そのインタフェースの入出力トラヒック量を示したインタフェース単位トラヒック情報と、前記ネットワークを流れるフローごとに、そのフローの始点ノードおよび終点ノードの識別情報と、そのフローにおける始点ノードおよび終点ノード間において経由するインタフェースの識別情報とを示した経路情報とを取得し、記憶部に記憶する情報収集部と、
前記取得したインタフェース単位トラヒック情報および経路情報を記憶する記憶部と、
前記経路情報を参照して、前記ネットワークを構成するノード群から任意の２つのノードのペアを選択し、その選択したノードのペアそれぞれについて、前記インタフェース単位トラヒック情報から前記ノードのペアそれぞれのインタフェース単位の入出力トラヒック量を読み出し、その読み出した入出力トラヒック量を用いてＧｒａｖｉｔｙ法により、このネットワークにおける各フローのトラヒック量の推定値の初期値ｔｇｍの集合である初期値ｔｇを計算する初期値計算部と、
前記ネットワーク内のフロー群からフローを選択するフロー選択部と、
前記選択したフローのトラヒック量を測定するトラヒック量測定部と、
前記測定したフローのトラヒック量ｔＮＦと、前記初期値ｔｇとの差が所定の閾値以上であるか否かを判定する誤差判定部と、
前記誤差判定部により、前記測定したフローのトラヒック量ｔＮＦと、前記初期値ｔｇとの差が所定の閾値以上であると判定されたとき、
（１）前記初期値ｔｇから、前記トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みαを計算して記憶部に記憶し、
（２）前記初期値ｔｇにおける、前記トラヒック量の測定対象のフローの値を、前記ｔＮＦに示される値に置き換え、前記初期値ｔｇにおける、前記トラヒック量の測定対象のフロー以外のフローの値のうち、前記記憶部に前記αの値が記憶されているフローの値について、当該αと、前記インタフェース単位トラヒック情報に示される、当該フローの始点ノードおよび終点ノードそれぞれの最新のインタフェース単位の入出力トラヒック量とを用いて計算したトラヒック量の値に補正した初期値ｔｇ´を計算する初期値補正処理を行う初期値補正部と、
前記初期値ｔｇ´に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、前記ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算するトラヒック量推定部と、
前記計算した推定値Ｔｅｓｔを出力する交流トラヒック出力部とを備えることを特徴とする交流トラヒック計算装置。
【請求項２】
前記トラヒック量推定部は、前記初期値計算部により計算された初期値ｔｇに、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、前記ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算し、
前記初期値補正部は、前記測定したフローのトラヒック量ｔＮＦと、前記推定値Ｔｅｓｔとの差が所定の閾値以上であったとき、前記初期値補正処理を実行することを特徴とする請求項１に記載の交流トラヒック計算装置。
【請求項３】
前記トラヒック量測定部は、前記過去にトラヒックを測定したフローの識別情報と、そのフローの始点ノードおよび終点ノードの識別情報とを示した測定フロー情報を前記記憶部に記憶し、
前記フロー選択部は、前記測定フロー情報を参照して、前回のトラヒック量の測定対象としていないフローを選択することを特徴とする請求項１または請求項２に記載の交流トラヒック計算装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の交流トラヒック計算装置と、前記ネットワーク内の経路情報およびインタフェース単位トラヒック情報を収集し、この収集した経路情報およびインタフェース単位トラヒック情報を、前記交流トラヒック計算装置からの要求に応じて送信するノードとを含むことを特徴とする交流トラヒック計算システム。
【請求項５】
ネットワークの任意の２つのノード間におけるフローのトラヒック量の推定値を計算する交流トラヒック計算装置が、
前記ネットワークを構成する各ノードのインタフェースの識別情報ごとに、そのインタフェースの入出力トラヒック量を示したインタフェース単位トラヒック情報と、前記ネットワークを流れるフローごとに、そのフローの始点ノードおよび終点ノードの識別情報と、そのフローにおける始点ノードおよび終点ノード間において経由するインタフェースの識別情報とを示した経路情報とを取得し、記憶部に記憶するステップと、
前記経路情報を参照して、前記ネットワークを構成するノード群から任意の２つのノードのペアを選択し、その選択したノードのペアそれぞれについて、前記インタフェース単位トラヒック情報から前記ノードのペアのインタフェースに関するトラヒック量を読み出し、その読み出したトラヒック量を用いてＧｒａｖｉｔｙ法により、このネットワークにおける各フローのトラヒック量の推定値の初期値ｔｇｍの集合である初期値ｔｇを計算するステップと、
前記ネットワーク内のフロー群からフローを選択するステップと、
前記選択したフローのトラヒック量を測定するステップと、
前記測定したフローのトラヒック量ｔＮＦと、前記初期値ｔｇとの差が所定の閾値以上であるか否かを判定するステップと、
前記ステップにおいて前記測定したフローのトラヒック量ｔＮＦと、前記初期値ｔｇとの差が所定の閾値以上であると判定されたとき、
（１）前記初期値ｔｇから、前記トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みαを計算して記憶部に記憶するステップと、
（２）前記初期値ｔｇにおける、前記トラヒック量の測定対象のフローの値を、前記ｔＮＦに示される値に置き換え、前記初期値ｔｇにおける、前記トラヒック量の測定対象のフロー以外のフローの値のうち、前記記憶部に前記αの値が記憶されているフローの値について、当該αと、前記インタフェース単位トラヒック情報に示される、当該フローの始点ノードおよび終点ノードそれぞれの最新のインタフェース単位の入出力トラヒック量とを用いて計算したトラヒック量の値に補正した初期値ｔｇ´を計算する初期値補正処理を行うステップと、
前記初期値ｔｇ´に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、前記ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算するステップと、
前記計算した推定値Ｔｅｓｔを出力するステップとを実行することを特徴とする交流トラヒック計算方法。
【請求項６】
請求項５に記載の交流トラヒック計算方法を、コンピュータである前記交流トラヒック計算装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）やＭＰＬＳ（Multi-Protocol Label Switching）等の通信ネットワークおける交流トラヒック量の計算技術に関する。
【背景技術】
【０００２】
ネットワークにおいて、ネットワークトポロジおよび経路を最適化することで、ネットワーク全体の資源を有効活用し、転送品質の維持、ネットワークコストの低減を図ることが重要である。このようなネットワークのトポロジおよび経路を最適化するためには、ネットワークのトポロジや経路の情報に加えて、任意の２つのノード間のトラヒック量である交流トラヒック量の情報が必要である。従来、ネットワーク内のノードにＮｅｔＦｌｏｗ（登録商標）や、ｓＦＬＯＷ（登録商標）等のｘＦｌｏｗを実装することで、フロー（ネットワーク内の任意の２つのノードを発側ノード、着側ノードとするフロー）単位のトラヒック量の測定が可能である。しかし、このフロー単位のトラヒック量をネットワーク内のすべてのノード間について計測しようとすると、長時間を要し、実用的ではない（非特許文献１参照）。
【０００３】
このような問題点を解決する方法として、ネットワークからの情報収集負荷が比較的低い各ノードのインタフェース単位の入出力トラヒック量をもとに、重力モデル等を用いて交流トラヒック量(各ノード間の往復のトラヒック量)を推定する交流トラヒック推定法が提案されている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】N.Benameur and J.W.Roberts、"Traffic Matrix Inference in IP Networks "、Networks and Spatial Economics、Volume 4, Number 1、p.103-114、2004年3月
【非特許文献２】Y.Ohsita,et al.、"Estimation of current traffic matrices from long-term traffic variations information"、Broadnets2008,2008年9月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、この交流トラヒック推定法で用いられるモデル（例えば、重力モデル等）が実際のネットワーク内のトラヒックの傾向と異なる場合には、交流トラヒック量の推定誤差が大きくなるという問題がある。この問題を、図７を用いて説明する。
【０００６】
図７は、比較例となる交流トラヒック推定方法を説明した図である。この重力モデルを用いた交流トラヒック推定法（Ｇｒａｖｉｔｙ法）では、ネットワークを構成する各ノードの入出力トラヒック量から、２つのノード間の交流トラヒック量を計算する。例えば、ノードＡ，Ｂ，Ｃの入出力トラヒック量が１００Ｍ（ｂｐｓ）である場合、（ａ）に示すようにＧｒａｖｉｔｙ法で推定されるノードＡ，Ｂ，Ｃ間の交流トラヒック量は、それぞれ５０Ｍ（ｂｐｓ）となる。しかし、実際の交流トラヒック量は、それぞれ５０Ｍ（ｂｐｓ）であるとは限らない。例えば、（ｂ）に示すように、ノードＢからノードＣへの実際のトラヒック量が２５Ｍ（ｂｐｓ）である場合には、（ａ）のＧｒａｖｉｔｙ法によるトラヒック量は５０Ｍ（ｂｐｓ）と推定され、実際のトラヒック量と、Ｇｒａｖｉｔｙ法による推定値との間には大きな差があることが分かる。
【０００７】
そこで、本発明は、前記した課題を解決し、ネットワーク内の各ノード間の交流トラヒック量の推定精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、請求項１に記載の発明は、ネットワークの任意の２つのノード間におけるフローのトラヒック量の推定値を計算する交流トラヒック計算装置であって、ネットワークを構成する各ノードのインタフェースの識別情報ごとに、そのインタフェースの入出力トラヒック量を示したインタフェース単位トラヒック情報と、ネットワークを流れるフローごとに、そのフローの始点ノードおよび終点ノードの識別情報と、そのフローにおける始点ノードおよび終点ノード間において経由するインタフェースの識別情報とを示した経路情報とを取得し、記憶部に記憶する情報収集部と、取得したインタフェース単位トラヒック情報および経路情報を記憶する記憶部と、経路情報を参照して、ネットワークを構成するノード群から任意の２つのノードのペアを選択し、その選択したノードのペアそれぞれについて、インタフェース単位トラヒック情報からノードのペアそれぞれのインタフェース単位の入出力トラヒック量を読み出し、その読み出した入出力トラヒック量を用いてＧｒａｖｉｔｙ法により、このネットワークにおける各フローのトラヒック量の推定値の初期値ｔｇｍの集合である初期値ｔｇを計算する初期値計算部と、ネットワーク内のフロー群からフローを選択するフロー選択部と、選択したフローのトラヒック量を測定するトラヒック量測定部と、測定したフローのトラヒック量ｔＮＦと、初期値ｔｇとの差が所定の閾値以上であるか否かを判定する誤差判定部と、誤差判定部により、測定したフローのトラヒック量ｔＮＦと、初期値ｔｇとの差が所定の閾値以上であると判定されたとき、（１）初期値ｔｇから、トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みαを計算して記憶部に記憶し、（２）初期値ｔｇにおける、トラヒック量の測定対象のフローの値を、ｔＮＦに示される値に置き換え、初期値ｔｇにおける、トラヒック量の測定対象のフロー以外のフローの値のうち、記憶部にαの値が記憶されているフローの値について、当該αと、インタフェース単位トラヒック情報に示される、当該フローの始点ノードおよび終点ノードそれぞれの最新のインタフェース単位の入出力トラヒック量とを用いて計算したトラヒック量の値に補正した初期値ｔｇ´を計算する初期値補正処理を行う初期値補正部と、初期値ｔｇ´に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算するトラヒック量推定部と、計算した推定値Ｔｅｓｔを出力する交流トラヒック出力部とを備えることを特徴とする。
【０００９】
また、請求項５に記載の発明は、ネットワークの任意の２つのノード間におけるフローのトラヒック量の推定値を計算する交流トラヒック計算装置が、ネットワークを構成する各ノードのインタフェースの識別情報ごとに、そのインタフェースの入出力トラヒック量を示したインタフェース単位トラヒック情報と、ネットワークを流れるフローごとに、そのフローの始点ノードおよび終点ノードの識別情報と、そのフローにおける始点ノードおよび終点ノード間において経由するインタフェースの識別情報とを示した経路情報とを取得し、記憶部に記憶するステップと、経路情報を参照して、ネットワークを構成するノード群から任意の２つのノードのペアを選択し、その選択したノードのペアそれぞれについて、インタフェース単位トラヒック情報からノードのペアのインタフェースに関するトラヒック量を読み出し、その読み出したトラヒック量を用いてＧｒａｖｉｔｙ法により、このネットワークにおける各フローのトラヒック量の推定値の初期値ｔｇｍの集合である初期値ｔｇを計算するステップと、ネットワーク内のフロー群からフローを選択するステップと、選択したフローのトラヒック量を測定するステップと、測定したフローのトラヒック量ｔＮＦと、初期値ｔｇとの差が所定の閾値以上であるか否かを判定するステップと、ステップにおいて測定したフローのトラヒック量ｔＮＦと、初期値ｔｇとの差が所定の閾値以上であると判定されたとき、（１）初期値ｔｇから、トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みαを計算して記憶部に記憶するステップと、（２）初期値ｔｇにおける、トラヒック量の測定対象のフローの値を、ｔＮＦに示される値に置き換え、初期値ｔｇにおける、トラヒック量の測定対象のフロー以外のフローの値のうち、記憶部にαの値が記憶されているフローの値について、当該αと、インタフェース単位トラヒック情報に示される、当該フローの始点ノードおよび終点ノードそれぞれの最新のインタフェース単位の入出力トラヒック量とを用いて計算したトラヒック量の値に補正した初期値ｔｇ´を計算する初期値補正処理を行うステップと、初期値ｔｇ´に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算するステップと、計算した推定値Ｔｅｓｔを出力するステップとを実行することを特徴とする交流トラヒック計算方法とした。
【００１０】
このようにすることで、交流トラヒック計算装置は、Ｇｒａｖｉｔｙ法の初期値ｔｇと実際のトラヒック量の測定値との誤差が所定の範囲を超えていたとき、実際の測定値（ｔＮＦ）を用いて、初期値ｔｇを補正する。そして、交流トラヒック計算装置は、この補正した初期値ｔｇ（初期値ｔｇ´）に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算する。このようにすることで、交流トラヒック計算装置は、ネットワーク内の交流トラヒックの推定精度を向上させることができる。
【００１１】
請求項２に記載の発明は、請求項１に記載の交流トラヒック計算装置のトラヒック量推定部が、初期値計算部により計算された初期値ｔｇに、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、ネットワークの任意の２つのノードにおけるフローのトラヒック量の推定値Ｔｅｓｔを計算し、初期値補正部は、測定したフローのトラヒック量ｔＮＦと、推定値Ｔｅｓｔとの差が所定の閾値以上であったとき、初期値補正処理を実行することを特徴とする。
【００１２】
このようにすることで、交流トラヒック計算装置は、トラヒック量の測定値ｔＮＦと、トラヒック量の推定値Ｔｅｓｔとの誤差が、実際に所定の範囲を超えていることを確認した上で、Ｇｒａｖｉｔｙ法の初期値ｔｇの補正を行うことができる。つまり、実際にはあまり誤差がないにもかかわらず、初期値ｔｇの補正を行うことがなくなる。したがって、交流トラヒック計算装置は、交流トラヒック量の推定値を求めるための計算量を低減することができる。
【００１３】
請求項３に記載の発明は、請求項１または請求項２に記載の交流トラヒック計算装置のトラヒック量測定部が、過去にトラヒックを測定したフローの識別情報と、そのフローの始点ノードおよび終点ノードの識別情報とを示した測定フロー情報を記憶部に記憶し、フロー選択部は、測定フロー情報を参照して、前回のトラヒック量の測定対象としていないフローを選択することを特徴とする。
【００１４】
このようにすることで、交流トラヒック計算装置は、複数回にわたり、交流トラヒックの推定を行う場合において、ネットワーク内の様々なフローを測定して、実際の測定値と初期値ｔｇ（または推定値Ｔｅｓｔ）との誤差があるか否かを判断することができる。
【００１５】
請求項４に記載の発明は、請求項１から請求項３のいずれか１項に記載の交流トラヒック計算装置と、ネットワーク内の経路情報およびインタフェース単位トラヒック情報を収集し、この収集した経路情報およびインタフェース単位トラヒック情報を、交流トラヒック計算装置からの要求に応じて送信するノードとを含むことを特徴とする交流トラヒック計算システムとした。
【００１６】
このようにすることで、交流トラヒック計算装置が、各ノードからネットワーク内の経路情報およびインタフェース単位トラヒック情報を収集し、ネットワークの交流トラヒック量を推定するシステムを実現できる。
【００１７】
請求項６に記載の発明は、請求項５に記載の交流トラヒック計算方法を、コンピュータである交流トラヒック計算装置に実行させるためのプログラムとした。
【００１８】
このようなプログラムによれば、請求項５に記載の交流トラヒック計算方法を一般的なコンピュータに実行させることができる。
【発明の効果】
【００１９】
本発明によれば、ネットワーク内の各ノード間の交流トラヒック量の推定精度を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態の交流トラヒック計算装置による交流トラヒック計算処理の概要を概念的に説明した図である。
【図２】本実施の形態の交流トラヒック計算装置による交流トラヒック計算処理の概要を概念的に説明した図である。
【図３】本実施の形態の交流トラヒック計算装置を含むシステムの構成例を示した図である。
【図４】図３の交流トラヒック計算装置の構成を示した図である。
【図５】図４の交流トラヒック計算装置の処理手順を説明したフローチャートである。
【図６】図５の初期値ｔｇの補正処理の詳細を示したフローチャートである。
【図７】比較例となる交流トラヒック推定方法を説明した図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態について説明する。まず、本実施の形態の交流トラヒック計算装置による交流トラヒック計算処理の概要を説明する。図１および図２は、本実施の形態の交流トラヒック計算装置による交流トラヒック計算処理の概要を概念的に説明した図である。
【００２２】
ここで、交流トラヒック計算装置は、図１に示す通信ネットワーク（ネットワーク）４０内の任意の２つのノード２０（２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ）間の交流トラヒック量の推定値を計算する場合を例に説明する。まず、交流トラヒック計算装置は、（１）通信ネットワーク４０のＩＦ（インタフェース）単位トラヒック情報１３１および経路情報１３２をもとにＧｒａｖｉｔｙ法を用いて、通信ネットワーク４０の各ノード２０間の交流トラヒック量の推定値の初期値ｔｇを計算する。このＩＦ単位トラヒック情報１３１は、通信ネットワーク４０内の各ノード２０のインタフェース単位の入出力トラヒック量を示した情報である。また、経路情報１３２は、通信ネットワーク４０内のフローごとに、そのフローの発側ノード（始点ノード）および着側ノード（終点ノード）の識別情報、そのフローにおいて経由するノード２０のインタフェースの識別情報をその経由順に示した情報である。つまり、経路情報１３２は、この通信ネットワーク４０におけるトポロジと、そのトポロジ上の各フローについて、そのフローが経由するリンクを、そのリンクの両端となるインタフェースの識別情報により記述した情報である。
【００２３】
交流トラヒック計算装置は、図１のノード２０（２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ）間の交流トラヒック量の推定値の初期値ｔｇ（通信ネットワーク４０におけるフローｍのトラヒック量の推定値の初期値ｔｇｍの集合を、ベクトルとして表現したもの）として、図１に示す６つの交流トラヒック量（交流トラヒック量は、往復のフローを示したものなので、実際には合計１２本のフローのトラヒック量）を計算する。ここでの初期値ｔｇは、Ｇｒａｖｉｔｙ法により計算する。そして、交流トラヒック計算装置は、この計算した各フローのトラヒック量の推定値の初期値ｔｇｍの集合である初期値ｔｇを、フローの識別情報、そのフローの発側（始点）ノードおよび着側（終点）ノードの識別情報と対応付けて交流トラヒック情報１３３に記録する。例えば、初期値ｔｇのうち、フロー１の交流トラヒック量の推定値ｔ１を、図１のＩＤ「１」に示す情報を交流トラヒック情報１３３に記録する。また、初期値ｔｇのうち、フロー２の交流トラヒック量の推定値ｔ２を、図１のＩＤ「２」に示す情報を交流トラヒック情報１３３に記録する。そして、交流トラヒック計算装置は、この交流トラヒック量情報１３３に記録された初期値ｔｇに対し、ＴｏｍｏＧｒａｖｉｔｙ法を用いて、各フローのトラヒック量の推定値Ｔｅｓｔを計算する。
【００２４】
ここで、ＴｏｍｏＧｒａｖｉｔｙ法について簡単に説明する。通信ネットワーク４０のＩＦ単位トラヒック情報１３１をベクトル表記したものをｘ、経路情報１３２を行列表記したもの（ルーティング行列）をＡ、交流トラヒック量の推定値をベクトル表記したものをｔとしたとき、その関係は以下の式（１）に示すようになる。なお、式（２）は、ＩＦの数が「３」、フローの数が「３」である場合の式（１）の例を示した式である。ＴｏｍｏＧｒａｖｉｔｙ法では、通信ネットワーク４０内の交流トラヒック量が重力モデルに近い分布をしているという前提のもとに、Ｇｒａｖｉｔｙ法で計算した交流トラヒック量の推定値の初期値ｔｇを、この式（１）を満たすような値ｔとして求めるものである。
【数１】
2010177908.tif 000003
【００２５】
このようにして、ＴｏｍｏＧｒａｖｉｔｙ法により各フローのトラヒック量の推定値Ｔｅｓｔを計算するとき、この推定値Ｔｅｓｔの計算に用いる初期値ｔｇの誤差が大きいと、その誤差は推定値Ｔｅｓｔにも影響することになる。そこで、本実施の形態の交流トラヒック計算装置は、通信ネットワーク４０から直接測定したトラヒック量を用いて、この初期値ｔｇを補正した初期値ｔｇ´を計算し、この初期値ｔｇ´を用いて、ＴｏｍｏＧｒａｖｉｔｙ法により推定値を計算する。
【００２６】
図２を用いて、本実施の形態における交流トラヒック量の推定について説明する。ここでは、交流トラヒック計算装置がフロー１，２のトラヒック量を推定する場合を例に説明する。グラフの横軸はフロー１のトラヒック量を示し、縦軸はフロー２のトラヒック量を示す。ここで、交流トラヒック計算装置が、Ｇｒａｖｉｔｙ法の初期値ｔｇとして符号２０１に示す値を計算したとき、交流トラヒック計算装置は、この初期値ｔｇを、直接測定したトラヒック量により初期値ｔｇ´（符号２０３に示す値）に補正する。そして、この初期値ｔｇ´を用いてＴｏｍｏＧｒａｖｉｔｙ法により、交流トラヒック量の最終的な推定値Ｔｅｓｔ（符号２０４に示す値）を計算する。つまり、交流トラヒック計算装置は、初期値ｔｇを補正せずに、そのままＴｏｍｏＧｒａｖｉｔｙ法を適用して、推定値Ｔｅｓｔを計算すると、符号２０２に示す初期解Ｔｅｓｔとなる。ところが、この符号２０２に示す初期解Ｔｅｓｔは、ＩＦ単位トラヒック情報から規定される解空間に属する解にはなるが、直接測定したトラヒック量を含む解空間の解にはならない可能性がある。そこで、交流トラヒック計算装置が、直接測定したトラヒック量をもとに初期値ｔｇを補正してから、ＴｏｍｏＧｒａｖｉｔｙ法による推定値Ｔｅｓｔを計算することで、推定値Ｔｅｓｔを、直接測定したトラヒック量を含む解空間内の解とすることができる。つまり、より精度の高いトラヒック量の推定値Ｔｅｓｔを得ることができる。
【００２７】
＜構成＞
ここで、適宜図１を参照しつつ、図３を用いて、このような交流トラヒック計算装置を含むシステム（交流トラヒック計算システム）の構成例を説明する。
【００２８】
図３に示すように、システムは、端末装置３０と、通信ネットワーク４０と、交流トラヒック計算装置１０とを含んで構成される。通信ネットワーク４０は、ＰＣ（Personal Computer）等の端末装置３０同士のデータ通信を行うためのネットワークであり、複数のノード２０を含んで構成される。この通信ネットワーク４０は、例えば、ＩＰ（Internet Protocol）やＭＰＬＳ（Multi-Protocol Label Switching）等であり、ノード２０は、例えば、ＩＰルータやＭＰＬＳ用のルータである。交流トラヒック計算装置１０は、ノード２０から通信ネットワーク４０内の経路情報１３２やＩＦ単位トラヒック情報１３１を取得し、通信ネットワーク４０の各ノード２０間の交流トラヒック量の推定値を計算する。
【００２９】
このような交流トラヒック計算装置１０の構成を、図４を用いて説明する。図４に示すように、交流トラヒック計算装置１０の機能は大きく、入出力部１１、処理部１２および記憶部１３に分けられる。
【００３０】
入出力部１１は、通信ネットワーク４０のＩＦ単位トラヒック情報１３１や経路情報１３２等の入力を受け付ける。入出力部１１は、通信ネットワーク４０との通信インタフェースや、外部装置とのデータ入出力を行うため入出力インタフェースから構成される。
【００３１】
処理部１２は、この交流トラヒック計算装置１０全体の制御を司り、ここでは主に、交流トラヒック量の推定値の計算を行う。この処理部１２は、この交流トラヒック計算装置１０が備えるＣＰＵ（Central Processing Unit）によるプログラム実行処理や、専用回路等により実現される。
【００３２】
記憶部１３は、交流トラヒック量の推定値の計算時に参照されるＩＦ単位トラヒック情報１３１や経路情報１３２等を記憶するまた、さらに、記憶部１３は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ等の記憶媒体から構成される。なお、交流トラヒック計算装置１０をプログラム実行処理により実現する場合、記憶部１３には、この交流トラヒック計算装置１０の機能を実現するためのプログラムが格納される。なお、この交流トラヒック計算装置１０には、この交流トラヒック計算装置１０へ各種指示入力を行うためのキーボードやマウス等の入力装置や、交流トラヒック計算装置１０の記憶部１３に記憶された各種情報を出力する液晶モニタ等の出力装置等が接続されていてもよい。
【００３３】
処理部１２は、情報収集部１２１と、初期値計算部１２２と、フロー選択部１２３と、トラヒック量測定部１２４と、誤差判定部１２５と、初期値補正部１２６と、トラヒック量推定部１２７と、交流トラヒック出力部１２８とを備える。
【００３４】
情報収集部１２１は、例えば、所定期間ごとに、入出力部１１経由で図３の通信ネットワーク４０のノード２０から、各ノード２０のＩＦ単位トラヒック情報１３１および通信ネットワーク４０の経路情報１３２を収集する。収集したＩＦ単位トラヒック情報１３１および経路情報１３２は記憶部１３に記憶される。
【００３５】
初期値計算部１２２は、ＩＦ単位トラヒック情報１３１および経路情報１３２を参照して、通信ネットワーク４０を構成するノード群から任意の２つのノード２０のペアのインタフェースにおける入出力トラヒック量を読み出す。そして、その読み出した入出力トラヒック量を用いてＧｒａｖｉｔｙ法により、ノード２０間を流れる各フローの交流トラヒック量の推定値の初期値ｔｇを計算する。計算した初期値ｔｇ（フローごとの初期値ｔｇｍの集合）は、交流トラヒック情報１３３に記録しておく。
【００３６】
フロー選択部１２３は、トラヒック量測定部１２４によるトラヒック量を測定対象のフローの選択を行う。ここでのフローの選択は、例えば、測定フロー情報１３４（過去にトラヒックを測定したフローの識別情報と、そのフローの発側ノードおよび着側ノードの識別情報とを示した情報）を参照して、前回トラヒック量の測定対象としていないフロー、または、いままでトラヒック量の測定対象としてないフローを選択する。
【００３７】
トラヒック量測定部１２４は、フロー選択部１２３により選択されたフローのトラヒック量ｔＮＦを測定する。測定したトラヒック量ｔＮＦは、記憶部１３の測定フロー情報１３４（後記）に記録する。なお、ここでのトラヒック量の測定は、例えば、ＮｅｔＦｌｏｗ（登録商標）等のｘＦｌｏｗにより行う。
【００３８】
誤差判定部１２５は、トラヒック量測定部１２４により測定されたフローのトラヒック量ｔＮＦと、初期値ｔｇとの差（誤差）が所定の閾値以上であるか否かを判定する。ここでの差の判定は、例えば、初期値ｔｇから、トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が、所定の閾値以上であるか否かにより判定される。また、‖ｔＮＦ−tｇＳＵＢ‖を用いる方法以外に、ｔＳＵＢと、測定されたトラヒック量ｔＮＦとの相関係数を計算し、その相関係数が所定の閾値より小さいとき誤差があると判定し、その相関係数が所定の閾値以上のとき誤差はないと判定するようにしてもよい。
【００３９】
初期値補正部１２６は、誤差判定部１２５により測定されたトラヒック量ｔＮＦと、初期値ｔｇとの差が所定の閾値以上であると判定されたとき、トラヒック量ｔＮＦをもとに、初期値ｔｇを補正して初期値ｔｇ´とする。すなわち、まず、初期値補正部１２６は、初期値ｔｇから、トラヒック量の測定対象のフローの値を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みαを計算する。つまり、実際のトラヒック量にもっともフィットするＧｒａｖｉｔｙ法の重みαを計算する。この重みαは、Ｇｒａｖｉｔｙ法により初期値ｔｇのフローｍ（発側ノードｘ、着側ノードｙ）の初期値ｔｇｍを以下の式（３）を用いて計算するときに用いられる値である。このαは、フローｍごと、つまり、フローの発側ノードおよび着側ノードの組み合わせごとに用意される。
フローｍのトラヒック量＝α（ｘｙ）×Ｐｘ×Ｐｙ…式（３）
α（ｘｙ）：フローｍ（発側ノードｘ、着側ノードｙ）の重み
Ｐｘ：発側ノードｘの入出力トラヒック量から計算される値
Ｐｙ：着側ノードｙの入出力トラヒック量から計算される値
【００４０】
また、初期値補正部１２６は、計算した重みαの値をフローの識別情報（または、そのフローの発側ノードおよび着側ノードの識別情報）と対応付けて、重み情報１３５（後記）に記録する。この重み情報１３５は、初期値補正部１２６が、次に初期値ｔｇ´を計算するときに参照される。
【００４１】
重みαを計算した初期値補正部１２６は、初期値ｔｇに示される値のうち、トラヒック量を測定したフローｍＮＦの値を、測定したトラヒック量ｔＮＦに示される値に置き換える。また、初期値補正部１２６は、今回トラヒック量を測定したフローｍＮＦ以外のフロー（フローｍＮＦ´）の値のうち、記憶部１３の重み情報１３５にαの値が記憶されているフロー（つまり、過去にトラヒック量の測定を行ったことのあるフロー）について、このαの値と、このフローの発側ノードおよび着側ノードの最新のＩＦ単位トラヒック量（ＩＦ単位トラヒック情報１３１に記録されるＩＦ単位トラヒック量）とを用いて式（３）により、このフローのトラヒック量を計算する。そして、初期値補正部１２６は、この初期値ｔｇにおける、フローｍＮＦ´の値を、この計算したトラヒック量の値に置き換える。つまり、初期値補正部１２６は、過去にトラヒック量の測定をしたことのあるフローｍＮＦ´については、重み情報１３５に記録されているαに、現在のＩＦ単位トラヒック量を適用して、トラヒック量を計算する。そして、初期値ｔｇにおける、そのフローｍＮＦ´の値を、この計算したトラヒック量の値に置き換える。このようにして補正した初期値ｔｇ´は交流トラヒック情報１３３に記録される。
【００４２】
トラヒック量推定部１２７は、初期値補正部１２６により計算された初期値ｔｇ´に、ＴｏｍｏＧｒａｖｉｔｙ法を適用して、交流トラヒック量の推定値Ｔｅｓｔを計算する。なお、このＴｏｍｏＧｒａｖｉｔｙ法については、Y.Zhang et al.,"Fast，accurate computation of large-scale IP traffic matrics from link measurements",ACM SGMETRICS 2003に記載されている。
【００４３】
交流トラヒック出力部１２８は、トラヒック量推定部１２７により計算された交流トラヒック量の推定値Ｔｅｓｔを出力する。ここでの出力先は、記憶部１３でもよいし、入出力部１１経由で接続される外部装置であってもよい。
【００４４】
記憶部１３は、ＩＦ単位トラヒック情報１３１と、経路情報１３２と、交流トラヒック情報１３３と、測定フロー情報１３４と、重み情報１３５とを記憶する。
【００４５】
ＩＦ単位トラヒック情報１３１は、前記したとおり、通信ネットワーク４０内の各ノード２０のインタフェース単位の入出力トラヒック量を示した情報である（図１参照）。
【００４６】
経路情報１３２は、通信ネットワーク４０内のフローごとに、そのフローの発側ノードおよび着側ノードの識別情報と、そのフローの経由インタフェース情報（そのフローにおいて経由するノード２０のインタフェースの識別情報をその経由順に示した情報）とを示した情報である（図１参照）。
【００４７】
このＩＦ単位トラヒック情報１３１および経路情報１３２は、初期値計算部１２２が交流トラヒック量の推定値の初期値ｔｇを計算したり、トラヒック量推定部１２７が交流トラヒック量の推定値Ｔｅｓｔを計算したりするときに参照される。
【００４８】
交流トラヒック情報１３３は、フローごとに、そのフローのトラヒック量を示した情報である（図１参照）。この交流トラヒック情報１３３には、例えば、フローの発側ノードおよび着側ノードの識別情報と、そのフローのトラヒック量とが記載される。この交流トラヒック情報１３３には、最初、Ｇｒａｖｉｔｙ法により計算された交流トラヒック量の推定値の初期値ｔｇ（フローごとの初期値ｔｇｍの集合）が記録され、その後、この初期値ｔｇを補正した初期値ｔｇ´が記録され、最終的には交流トラヒック量の推定値Ｔｅｓｔが記録される。
【００４９】
測定フロー情報１３４は、トラヒック量測定部１２４により測定されたトラヒック量と、そのトラヒック量が測定されたフローの識別情報（およびそのフローの発側ノードおよび着側ノードの識別情報）とを対応付けて示した情報である。この測定フロー情報１３４は、初期値補正部１２６が初期値ｔｇ´を計算する際に参照される。
【００５０】
重み情報１３５は、過去にトラヒック量測定部１２４がトラヒック量を測定したフローｍＮＦ´の、Ｇｒａｖｉｔｙ法の重みαを示した情報である。この重み情報１３５は、初期値補正部１２６が初期値ｔｇ´を計算するときに参照される。
【００５１】
＜処理手順＞
次に、適宜図１を参照しつつ、図５を用いて、図４の交流トラヒック計算装置１０の処理手順を説明する。ここでは、既に、図４の交流トラヒック計算装置１０の情報収集部１２１が、図１の通信ネットワーク４０の各ノード２０からＩＦ単位トラヒック情報１３１および経路情報１３２を収集し、記憶部１３に記憶しているものとする。
【００５２】
まず、交流トラヒック計算装置１０の初期値計算部１２２は、ＩＦ単位トラヒック情報１３１および経路情報１３２を参照して、Ｇｒａｖｉｔｙ法で、通信ネットワーク４０の各ノード２０間の交流トラヒック量の推定値の初期値ｔｇを計算する（Ｓ１０１）。つまり、通信ネットワーク４０の各フローについて、それぞれのフローごとにトラヒック量の推定値の初期値ｔｇｍを計算する。このときの計算結果は、交流トラヒック情報１３３（図１参照）に記録しておく。
【００５３】
次に、フロー選択部１２３は、ネットワーク内のフロー群から１以上のフローを選択する（Ｓ１０２）。そして、トラヒック量測定部１２４は、この選択したフローのトラヒック量ｔＮＦを測定する（Ｓ１０３）。そして、誤差判定部１２５は、初期値ｔｇと、フローのトラヒック量ｔＮＦとの誤差が所定値以上か否かを判定する（Ｓ１０４）。ここで、誤差が所定の閾値以上であったとき（Ｓ１０４のＹｅｓ）、初期値補正部１２６は、初期値ｔｇの補正を行う（Ｓ１０５）。そして、Ｓ１０６へ進む。このＳ１０５での初期値ｔｇの補正の詳細は後記する。一方、Ｓ１０４において、誤差が所定の閾値より小さかったとき（Ｓ１０４のＮｏ）、Ｓ１０５をスキップして、Ｓ１０６へ進む。そして、トラヒック量推定部１２７は、初期値ｔｇ´または初期値ｔｇを用いてＴｏｍｏＧｒａｖｉｔｙ法により、交流トラヒック量の推定値Ｔｅｓｔを計算する（Ｓ１０６）。この後、交流トラヒック出力部１２８は、Ｓ１０６で得られた推定値Ｔｅｓｔを、通信ネットワーク４０の交流トラヒック量の推定値として、交流トラヒック情報１３３に記録する。または、この推定値Ｔｅｓｔを入出力部１１で外部装置へ出力する。
【００５４】
このような交流トラヒック計算装置１０によれば、トラヒック量の測定値と、Ｇｒａｖｉｔｙ法で計算した初期値ｔｇとの誤差が比較的大きいとき、このトラヒック量の測定値を用いて、初期値ｔｇを初期値ｔｇ´に補正する。そして、交流トラヒック計算装置１０は、この初期値ｔｇ´を用いてＴｏｍｏＧｒａｖｉｔｙ法による交流トラヒック量の推定値Ｔｅｓｔを計算する。よって、交流トラヒック計算装置１０は精度の高い交流トラヒック量の推定結果を得ることができる。
【００５５】
＜初期値ｔｇの補正＞
ここで、Ｓ１０５の初期値ｔｇの補正処理の詳細を、図６を用いて説明する。図４の交流トラヒック計算装置１０の初期値補正部１２６は、図６に示すように、初期値ｔｇから、トラヒック量の測定対象のフローの要素を抽出したｔＳＵＢについて、‖ｔＮＦ−tｇＳＵＢ‖が最小となるＧｒａｖｉｔｙ法の重みα（ｘｙ）を計算する（Ｓ２０１）。この重みα（ｘｙ）は、Ｇｒａｖｉｔｙ法によりフローｍ（発側ノードｘ、着側ノードｙ）の初期値ｔｇｍを、前記した式（３）を用いて計算するときに用いられる値である。このα（ｘｙ）は、フローｍごと、つまり、フローの発側ノードおよび着側ノードの組み合わせごとに用意される。
【００５６】
次に、初期値補正部１２６は、計算したα（ｘｙ）をフローの識別情報（または、そのフローの発側ノードおよび着側ノードの識別情報）と対応付けて、重み情報１３５（後記）に記録する（Ｓ２０２）。このとき重み情報１３５に記録したα（ｘｙ）は、初期値補正部１２６が、次回初期値ｔｇ´を計算するときに参照される。
【００５７】
また、初期値補正部１２６は、初期値ｔｇにおける、今回トラヒック量を測定したフローｍＮＦの値を、測定したトラヒック量ｔＮＦに置き換える（Ｓ２０３）。また、初期値補正部１２６は、今回トラヒック量を測定したフローｍＮＦ以外のフローのうち、記憶部１３の重み情報１３５にαの値が記憶されているフロー（つまり、過去にトラヒック量の測定を行い、αを計算したことのあるフローｍＮＦ´）について、このフローｍＮＦ´のαの値を読み出す（Ｓ２０４）。そして、このαの値と、このフローの発側ノードおよび着側ノードの最新のＩＦ単位トラヒック量（ＩＦ単位トラヒック情報１３１に記録されるＩＦ単位トラヒック量）とを用いて、前記した式（３）により、このフローｍＮＦ´のトラヒック量を計算する（Ｓ２０５）。初期値補正部１２６は、この初期値ｔｇにおける、フローｍＮＦ´のトラヒック量の値を、この計算したトラヒック量の値に置き換える（Ｓ２０５）。つまり、初期値補正部１２６は、過去にトラヒック量の測定をしたことのあるフローについては、重み情報１３５に記録されている重みαに、現在のＩＦ単位トラヒック量を適用して、トラヒック量を計算する。そして、初期値補正部１２６は、初期値ｔｇにおける、そのフローｍＮＦ´のトラヒック量の値を、この計算したトラヒック量の値に置き換える（Ｓ２０６）。このようにして補正した初期値ｔｇ´は、交流トラヒック情報１３３に記録される。
【００５８】
このように初期値補正部１２６は、実際に測定したトラヒック量の値を用いて初期値ｔｇを補正する。ここで、初期値補正部１２６は、過去に重みαを計算したことのあるフローｍＮＦ´の重みαを情報１３５から読み出し、読み出した重みαに、このフローｍＮＦ´の発側ノードおよび着側ノードの最新のＩＦ単位トラヒック量を適用してトラヒック量を計算する。よって、初期値補正部１２６は、過去の計算実結果を反映して初期値ｔｇ´を計算するので、より実際のトラヒック量との誤差が少ない（精度の高い）初期値ｔｇ´を得ることができる。
【００５９】
また、初期値補正部１２６は、誤差判定部１２５が初期値ｔｇと、通信ネットワーク４０内のトラヒック量の測定値との誤差を検出するたび、Ｇｒａｖｉｔｙ法の重みαの計算結果を、重み情報１３５に蓄積していく。そして、初期値補正部１２６は、様々なフローに関する重みαの計算結果を用いて初期値ｔｇを補正することができるので、初期値ｔｇの補正の精度を向上させることができる。また、このように精度の高い初期値ｔｇの補正結果（初期値ｔｇ´）を用いて交流トラヒック量の推定値Ｔｅｓｔを計算するので、交流トラヒック量の推定精度を向上させることができる。
【００６０】
なお、交流トラヒック計算装置１０の誤差判定部１２５は、初期値ｔｇと、実際に測定したトラヒック量ｔＮＦとを比較して、誤差判定を行うこととしたが、これに限定されない。例えば、まず、トラヒック量推定部１２７が、初期値ｔｇをもとに交流トラヒック量の推定値Ｔｅｓｔを計算しておく。そして、誤差判定部１２５は、この推定値Ｔｅｓｔと、実際に測定したトラヒック量ｔＮＦとを比較して、誤差判定を行うようにしてもよい。つまり、初期値補正部１２６は、測定したフローのトラヒック量ｔＮＦと、計算した推定値Ｔｅｓｔとの差が所定の閾値以上であったとき、初期値補正処理を実行するようにしてもよい。このようにすることで、交流トラヒック計算装置１０は、トラヒック量の測定値ｔＮＦと、トラヒック量の推定値Ｔｅｓｔとの誤差が、確かに大きいことを確認した上で、Ｇｒａｖｉｔｙ法の初期値ｔｇの補正を行うことができる。つまり、交流トラヒック計算装置１０は、実際にはあまり誤差がないにもかかわらず、初期値ｔｇの補正を行うことがなくなるので、無駄な計算を省くことができる。
【００６１】
さらに、フロー選択部１２３がフローを選択するときには、測定フロー情報１３４を参照して、過去所定期間以内に測定していないフローから優先的に選択するほか、ＩＦ単位トラヒック情報１３１に示される入出力トラヒック量が多いノードを、発側ノードまたは着側ノードとするフローを優先的に選択するようにしてもよい。また、フロー選択部１２３は、前回の交流トラヒック量の推定値Ｔｅｓｔを参照して、交流トラヒック量の推定値Ｔｅｓｔが大きかったフローを優先的に選択するようにしてもよい。さらに、フロー選択部１２３は、ＩＦ単位トラヒック情報１３２を参照して、入出力トラヒック量の変動の大きいノードを発側ノードまたは着側ノードとするフローを優先的に選択するようにしてもよい。また、交流トラヒック量の変動の大きいフローを優先的に選択するようにしてもよい。このようにすることで、交流トラヒック計算装置１０は、推定したトラヒック量と、実際に測定したトラヒック量との誤差が生じやすいフローに着目して、交流トラヒック量の推定値Ｔｅｓｔを計算するので、通信ネットワーク４０の交流トラヒック量の推定値Ｔｅｓｔと、実際のトラヒック量との誤差をできるだけ小さくできる。つまり、交流トラヒック量の推定精度を向上させることができる。
【００６２】
本実施の形態に係る交流トラヒック計算装置１０は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。
【符号の説明】
【００６３】
１０    交流トラヒック計算装置
１１    入出力部
１２    処理部
１３    記憶部
２０    ノード
３０    端末装置
４０    通信ネットワーク
１２１  情報収集部
１２２  初期値計算部
１２３  フロー選択部
１２４  トラヒック量測定部
１２５  誤差判定部
１２６  初期値補正部
１２７  トラヒック量推定部
１２８  交流トラヒック出力部
１３１  ＩＦ（インタフェース）単位トラヒック情報
１３２  経路情報
１３３  交流トラヒック情報
１３４  測定フロー情報
１３５  重み情報
【図１】
2010177908.tif 000004
【図２】
2010177908.tif 000005
【図３】
2010177908.tif 000006
【図４】
2010177908.tif 000007
【図５】
2010177908.tif 000008
【図６】
2010177908.tif 000009
【図７】
2010177908.tif 000010