(57)【要約】【課題】ノード間におけるサービス毎の交流トラヒックを把握可能とする。【解決手段】交流トラヒック推定装置１０は、端末装置に接続されたノードのインターフェースである入出力インターフェースを仮想ノードとし、仮想ノードと端末装置に接続されたノードとをつなぐ仮想リンクを設定して、通信ネットワークのトポロジを仮想ノードおよび仮想リンクを含む仮想トポロジに拡張する仮想トポロジ設定部１０４と、リンクトラヒック情報およびルーティング情報を用いて、仮想トポロジ上のフローそれぞれのトラヒック量の推定値を算出する交流トラヒック算出部１０６とを備える。【選択図】図３
2018032929.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと前記ノード同士を接続するリンクとによって構成され、前記ノードに接続された端末装置間の通信経路を形成するネットワークにおいて、前記ネットワーク内の任意の２つのノード間におけるフローのトラヒック量の推定値を算出する交流トラヒック推定装置であって、
前記ネットワークを構成する各ノードのインターフェースの識別情報ごとに当該インターフェースの入出力トラヒック量を示したリンクトラヒック情報と、前記ネットワークを流れるフローごとに当該フローの始点ノードおよび終点ノードの識別情報と当該フローにおける始点ノードおよび終点ノード間において経由するノードの識別情報とを示したルーティング情報とを取得するネットワーク情報取得部と、
前記端末装置に接続されたノードのインターフェースである入出力インターフェースを仮想ノードとし、前記仮想ノードと前記端末装置に接続されたノードとをつなぐ仮想リンクを設定して、前記ネットワークのトポロジを前記仮想ノードおよび前記仮想リンクを含む仮想トポロジに拡張する仮想トポロジ設定部と、
前記リンクトラヒック情報および前記ルーティング情報を用いて、前記仮想トポロジ上の前記フローそれぞれのトラヒック量の推定値を算出する交流トラヒック算出部と、
を備えることを特徴とする交流トラヒック推定装置。
【請求項２】
前記ネットワーク情報取得部は、それぞれの前記入出力インターフェースが使用されるサービスの種別を取得し、
前記交流トラヒック算出部は、使用されるサービスが異なる前記入出力インターフェース間のトラヒック量を０として前記トラヒック量の推定値を算出する、
ことを特徴とする請求項１に記載の交流トラヒック推定装置。
【請求項３】
前記交流トラヒック算出部は、前記リンクトラヒック情報を用いてＧｒａｖｉｔｙ法により前記トラヒック量の推定値の初期値を示す初期値ベクトルを算出し、前記初期値ベクトルに対してＴｏｍｏＧｒａｖｉｔｙ法を適用して真の前記トラヒック量の推定値を示す交流トラヒック量ベクトルを算出する、
ことを特徴とする請求項１または請求項２に記載の交流トラヒック推定装置。
【請求項４】
複数のノードと前記ノード同士を接続するリンクとによって構成され、前記ノードに接続された端末装置間の通信経路を形成するネットワークにおいて、前記ネットワーク内の任意の２つのノード間におけるフローのトラヒック量の推定値を算出する交流トラヒック推定装置の交流トラヒック推定方法であって、
前記交流トラヒック推定装置は、
前記ネットワークを構成する各ノードのインターフェースの識別情報ごとに当該インターフェースの入出力トラヒック量を示したリンクトラヒック情報と、前記ネットワークを流れるフローごとに当該フローの始点ノードおよび終点ノードの識別情報と当該フローにおける始点ノードおよび終点ノード間において経由するノードの識別情報とを示したルーティング情報とを取得するネットワーク情報取得ステップと、
前記端末装置に接続されたノードのインターフェースである入出力インターフェースを仮想ノードとし、前記仮想ノードと前記端末装置に接続されたノードとをつなぐ仮想リンクを設定して、前記ネットワークのトポロジを前記仮想ノードおよび前記仮想リンクを含む仮想トポロジに拡張する仮想トポロジ設定ステップと、
前記リンクトラヒック情報および前記ルーティング情報を用いて、前記仮想トポロジ上の前記フローそれぞれのトラヒック量の推定値を算出する交流トラヒック算出ステップと、
を実行することを特徴とする交流トラヒック推定方法。
【請求項５】
前記ネットワーク情報取得ステップでは、それぞれの前記入出力インターフェースが使用されるサービスの種別を取得し、
前記交流トラヒック算出ステップでは、使用されるサービスが異なる前記入出力インターフェース間のトラヒック量を０として前記トラヒック量の推定値を算出する、
ことを特徴とする請求項４に記載の交流トラヒック推定方法。
【請求項６】
前記交流トラヒック算出ステップでは、前記リンクトラヒック情報を用いてＧｒａｖｉｔｙ法により前記トラヒック量の推定値の初期値を示す初期値ベクトルを算出し、前記初期値ベクトルに対してＴｏｍｏＧｒａｖｉｔｙ法を適用して真の前記トラヒック量の推定値を示す交流トラヒック量ベクトルを算出する、
ことを特徴とする請求項４または請求項５に記載の交流トラヒック推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）網に代表されるパケット交換網における交流トラヒックの推定技術に関する。
【背景技術】
【０００２】
ネットワーク事業者においては、ネットワークのトポロジおよび経路を最適化することで、ネットワーク全体の資源を有効に利用し、転送品質の維持、ネットワークコストの低減を図ることが重要である。このようにネットワークのトポロジおよび経路の設計を最適化するためには、ネットワークのトポロジや経路の情報に加えて、交流トラヒック（任意の２つのノード間のフロー）のトラヒック量の情報が必要である。
【０００３】
一般的に、ネットワーク内に用いられる装置（ノード）には、ＮｅｔＦｌｏｗ（登録商標）、ｓＦｌｏｗ（登録商標）（以下、ｘＦｌｏｗと呼ぶ）等の技術が実装されており、フロー単位のトラヒック量の測定が可能である（非特許文献１参照）。しかしながら、フロー単位の情報は情報量が非常に多く、取得後の加工が必要といった点で扱いが困難であるという課題がある。
また、近年装置コスト低減の観点から、汎用スイッチの使用が広まっているが、このような汎用スイッチには、ｘＦｌｏｗ機能が具備されていないという課題がある。
【０００４】
これらの問題点を解決する方法として、例えば交流トラヒック推定技術が提案されている（非特許文献２参照）。交流トラヒック推定技術では、ネットワークからの情報収集が容易なリンクトラヒック情報（ノードのインターフェース（ポート）単位のトラヒック情報）に基づいて、より粒度の細かい交流トラヒックを推定する。また、リンクトラヒック情報を収集する外部オペレーション装置等において演算によって交流トラヒックを把握するため、汎用スイッチで構成されるネットワークにおいても適用が可能となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】P. Phaal, et al., "InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks," in IETF RFC 3176, ［online］，［平成28年8月13日検索］，インターネット<ＵＲＬ：https://www.ietf.org/rfc/rfc3176.txt>
【非特許文献２】Y. Zhang, M. Roughan, N. Duffield, A. Greenberg, "Fast accurate computation of large-scale IP traffic matrices from link loads," in SIGMETRICS '03 Proceedings of the 2003 ACM SIGMETRICS international conference on Measurement and modeling of computer systems Pages 206-217
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方で、交流トラヒック推定技術は、ノード単位で発生するマクロなトラヒック交流を算出する技術であるため、ある２つのノード間で発生する交流トラヒックの内訳を識別することができないという課題がある。例えば、１つのノードが複数のサービス（ユーザ）を収容している場合に、サービス毎の交流トラヒックの分計が行えない点が課題となる。
【０００７】
図１１は、従来の交流トラヒック推定技術を模式的に示す説明図である。
図１１では、ネットワークが２台のＳｐｉｎｅスイッチ（Ｓｐｉｎｅスイッチ１，２）と６台のＬｅａｆスイッチ（Ｌｅａｆスイッチ１〜６）で構成されているものとする。ＳｐｉｎｅスイッチやＬｅａｆスイッチが、ネットワークを構成するノードとなる。
Ｌｅａｆスイッチ１〜６は、ユーザに接続される複数のポートを有している。各ポート（インターフェース）上にそれぞれスライスが構築され、それぞれのスライスで異なるサービスを提供している。例えばＬｅａｆスイッチ１にはスライスＡ、スライスＢ、スライスＣの３つのスライスが構築されており、Ｌｅａｆスイッチ２にはスライスＡおよびスライスＢの２つのスライスが構築されている。
【０００８】
従来の交流トラヒック推定技術では、例えば、Ｌｅａｆスイッチ１とＬｅａｆスイッチ４との間のトラヒック量の総和を特定することはできるものの、各スライスにおけるトラヒック量を特定することはできない。例えば、Ｌｅａｆスイッチ１とＬｅａｆスイッチ４との間のトラヒック量が１１．０Ｇｂｐｓと特定された場合、この値はスライスＡ、スライスＢ、スライスＣの３つのスライスにおけるトラヒック量の総和であるが、個々のスライスにおけるトラヒック量は特定することができない。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、ノード間におけるサービス毎の交流トラヒックを把握可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
上述の目的を達成するため、請求項１に記載の発明は、複数のノードと前記ノード同士を接続するリンクとによって構成され、前記ノードに接続された端末装置間の通信経路を形成するネットワークにおいて、前記ネットワーク内の任意の２つのノード間におけるフローのトラヒック量の推定値を算出する交流トラヒック推定装置であって、前記ネットワークを構成する各ノードのインターフェースの識別情報ごとに当該インターフェースの入出力トラヒック量を示したリンクトラヒック情報と、前記ネットワークを流れるフローごとに当該フローの始点ノードおよび終点ノードの識別情報と当該フローにおける始点ノードおよび終点ノード間において経由するノードの識別情報とを示したルーティング情報とを取得するネットワーク情報取得部と、前記端末装置に接続されたノードのインターフェースである入出力インターフェースを仮想ノードとし、前記仮想ノードと前記端末装置に接続されたノードとをつなぐ仮想リンクを設定して、前記ネットワークのトポロジを前記仮想ノードおよび前記仮想リンクを含む仮想トポロジに拡張する仮想トポロジ設定部と、前記リンクトラヒック情報および前記ルーティング情報を用いて、前記仮想トポロジ上の前記フローそれぞれのトラヒック量の推定値を算出する交流トラヒック算出部と、を備えることを特徴とする交流トラヒック推定装置とした。
【００１１】
また、請求項４に記載の発明は、複数のノードと前記ノード同士を接続するリンクとによって構成され、前記ノードに接続された端末装置間の通信経路を形成するネットワークにおいて、前記ネットワーク内の任意の２つのノード間におけるフローのトラヒック量の推定値を算出する交流トラヒック推定装置の交流トラヒック推定方法であって、前記交流トラヒック推定装置が、前記ネットワークを構成する各ノードのインターフェースの識別情報ごとに当該インターフェースの入出力トラヒック量を示したリンクトラヒック情報と、前記ネットワークを流れるフローごとに当該フローの始点ノードおよび終点ノードの識別情報と当該フローにおける始点ノードおよび終点ノード間において経由するノードの識別情報とを示したルーティング情報とを取得するネットワーク情報取得ステップと、前記端末装置に接続されたノードのインターフェースである入出力インターフェースを仮想ノードとし、前記仮想ノードと前記端末装置に接続されたノードとをつなぐ仮想リンクを設定して、前記ネットワークのトポロジを前記仮想ノードおよび前記仮想リンクを含む仮想トポロジに拡張する仮想トポロジ設定ステップと、前記リンクトラヒック情報および前記ルーティング情報を用いて、前記仮想トポロジ上の前記フローそれぞれのトラヒック量の推定値を算出する交流トラヒック算出ステップと、を実行することを特徴とする交流トラヒック推定方法とした。
【００１２】
このように、既存の交流トラヒック推定技術を実行する前に、それぞれの入出力インターフェースを仮想トポロジとして設定することにより、サービス毎のトラヒックを推定することが可能なり、汎用スイッチ等のｘＦｌｏｗ技術が利用できないネットワーク装置で構成される環境においても、サービス毎のトラヒック交流を把握することが可能となる。
【００１３】
また、請求項２に記載の発明は、前記ネットワーク情報取得部は、それぞれの前記入出力インターフェースが使用されるサービスの種別を取得し、前記交流トラヒック算出部は、使用されるサービスが異なる前記入出力インターフェース間のトラヒック量を０として前記トラヒック量の推定値を算出する、ことを特徴とする交流トラヒック推定装置とした。
【００１４】
また、請求項５に記載の発明は、前記ネットワーク情報取得ステップでは、それぞれの前記入出力インターフェースが使用されるサービスの種別を取得し、前記交流トラヒック算出ステップでは、使用されるサービスが異なる前記入出力インターフェース間のトラヒック量を０として前記トラヒック量の推定値を算出する、ことを特徴とする交流トラヒック推定方法とした。
【００１５】
このように、使用されるサービスが異なるためにトラヒックが発生しない区間を予め計算対象から除外することで、解の探索範囲を絞ることができ、トラヒックの推定精度を向上することができるとともに、演算時間の短縮を図ることができる。
【００１６】
また、請求項３に記載の発明は、前記交流トラヒック算出部は、前記リンクトラヒック情報を用いてＧｒａｖｉｔｙ法により前記トラヒック量の推定値の初期値を示す初期値ベクトルを算出し、前記初期値ベクトルに対してＴｏｍｏＧｒａｖｉｔｙ法を適用して真の前記トラヒック量の推定値を示す交流トラヒック量ベクトルを算出する、ことを特徴とする交流トラヒック推定装置とした。
【００１７】
また、請求項６に記載の発明は、前記交流トラヒック算出ステップでは、前記リンクトラヒック情報を用いてＧｒａｖｉｔｙ法により前記トラヒック量の推定値の初期値を示す初期値ベクトルを算出し、前記初期値ベクトルに対してＴｏｍｏＧｒａｖｉｔｙ法を適用して真の前記トラヒック量の推定値を示す交流トラヒック量ベクトルを算出する、ことを特徴とする交流トラヒック推定方法とした。
【００１８】
このように、ＴｏｍｏＧｒａｖｉｔｙ法を用いることにより、変数よりも少ない数の連立方程式を用いて一意に解を得ることができ、精度よく交流トラヒックを推定することができる。
【発明の効果】
【００１９】
本発明によれば、ノード間におけるサービス毎の交流トラヒックを把握することができる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態にかかる交流トラヒック推定装置を含むネットワークＮＷの構成例を示す説明図である。
【図２】通信ネットワークのネットワークモデルを示す説明図である。
【図３】交流トラヒック推定装置の機能的構成を示すブロック図である。
【図４】通信ネットワークのネットワークモデルを示す説明図である。
【図５】仮想リンクにおけるトラヒックの流れを示す説明図である。
【図６】ネットワークのトポロジとルーティング情報の一例を示す図である。
【図７】図６のネットワークにおける交流トラヒック推定の計算例を示す図である。
【図８】通信ネットワークのネットワークモデルにおける他の例を示す説明図である。
【図９】図８のネットワークにおける交流トラヒック推定の計算例を示す図である。
【図１０】交流トラヒック推定装置による処理を示すフローチャートである。
【図１１】従来の交流トラヒック推定技術を模式的に示す説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態（以下、実施の形態とする）について説明する。
図１は、実施の形態にかかる交流トラヒック推定装置１０を含むネットワークＮＷの構成例を示す説明図である。
図１に示すように、ネットワークＮＷは、端末装置２４同士が通信を行うための通信ネットワーク２０と、通信ネットワーク２０のネットワーク情報（リンクトラヒック情報、ルーティング情報）を取得し、交流トラヒック量の推定値を算出する交流トラヒック推定装置１０とを含んで構成される。以下の説明において、交流トラヒックとは、ネットワークＮＷにおける任意の端末装置２４間を流れるフローの集合を示すものとする。
また、通信ネットワーク２０は、端末装置２４から送信されたパケットを転送する複数のノード２２と、これらノード２２同士、および、ノード２２と端末装置２４を接続するリンクによって構成される。ノード２２は、例えば、汎用的なＩＰルータである。それぞれのノード２２は複数のインターフェース（ポート）を有しており、インターフェース毎に入出力トラヒック量を計測している。
この他、ネットワークＮＷには、通信ネットワーク２０のネットワーク構成情報を管理するオペレーション装置（図示なし）が設けられている。
【００２２】
図２は、通信ネットワーク２０のネットワークモデルを示す説明図である。
図２（ａ）に示すように、本実施の形態では、通信ネットワーク２０がＬｅａｆ−Ｓｐｉｎｅ構成のトポロジを構成しているものとする。図２（ａ）では、２台のＳｐｉｎｅスイッチ（Ｓｐｉｎｅスイッチ１，２）と６台のＬｅａｆスイッチ（Ｌｅａｆスイッチ１〜６）で構成されるトポロジとなっている。
Ｌｅａｆスイッチ１〜６がトラヒックの入出力ノードであり、それぞれ複数のインターフェース（ポート）を有する。Ｌｅａｆスイッチ１〜６の配下には、複数のポートに対応して複数のスライスが存在し、各スライスがサービス（ユーザ）に紐付けされる。各スライスには論理ポートがＮ個（Ｎ≧１）帰属するものとする。また、異なるスライスを跨いだ通信は発生しないものとする。
【００２３】
図２（ａ）のＬｅａｆ−Ｓｐｉｎｅトポロジでは、Ｌｅａｆ間ではＥＣＭＰ（Equal Cost Multi Path）ルーティング（等価複数経路へのトラヒック分配）が行われるのが一般的である。このとき、エンドエンドの交流を算出する上では、Ｌｅａｆ−Ｓｐｉｎｅ構成の対称性を利用し、図２（ｂ）に示すＥＣＭＰの無いトポロジを前提としても問題はない。このとき、図２（ｂ）のトポロジでは、リンクトラヒックは変換前（図２（ａ））の合算値を用いればよい。以降、簡単のため、図２（ｂ）のトポロジを例に説明する。
【００２４】
図３は、交流トラヒック推定装置１０の機能的構成を示すブロック図である。
なお、交流トラヒック推定装置１０として、例えばＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスク装置、キーボード、マウス、ディスプレイ、入出力インターフェース等を備えた一般的なコンピュータを用いることができる。
交流トラヒック推定装置１０は、上記ＣＰＵが上記ＲＯＭ等に記憶された交流トラヒック推定プログラムを実行することにより、ネットワーク情報取得部１０２、仮想トポロジ設定部１０４、交流トラヒック算出部１０６を実現する。
【００２５】
ネットワーク情報取得部１０２は、通信ネットワーク２０を構成する各ノード２２（図１）のインターフェース（ポート）の識別情報ごとに当該インターフェースの入出力トラヒック量を示したリンクトラヒック情報と、通信ネットワーク２０を流れるフローごとに当該フローの始点ノードおよび終点ノードの識別情報と当該フローにおける始点ノードおよび終点ノード間において経由するノードの識別情報とを示したルーティング情報とを取得する。
【００２６】
ルーティング情報は、通信ネットワーク２０内の交流トラヒックのフローごとに、そのフローが経由するノード２２（またはリンクであってもよい）を示した情報である。このルーティング情報に基づいて、後述する図７の行列Ａが生成される。なお、ネットワーク情報取得部１０２は、ルーティング情報の前提として、通信ネットワーク２０を構成するノード２２とノード２２同士の接続関係を示すトポロジ情報も取得している。
また、ネットワーク情報取得部１０２は、端末装置２４に接続されたノード２２（図２の入出力ノード）のインターフェースである入出力インターフェースが、それぞれ使用されるサービスの種別（インターフェース種別情報）を取得する。
ネットワーク情報取得部１０２は、ルーティング情報やトポロジ情報、インターフェース種別情報を、通信ネットワーク２０のネットワーク構成情報を管理するオペレーション装置（図示なし）経由、またはオペレータからの入力によって取得し、網構成情報データベース（ＤＢ）１１０に格納する。
【００２７】
また、リンクトラヒック情報は、通信ネットワーク２０内のリンクごとに、そのリンクのトラヒック量を示した情報である。上述のように、それぞれのノード２２はポート毎にトラヒック量を計測している。このリンクトラヒック情報に基づいて、後述する図７のリンクトラヒック量ベクトルＸが生成される。
ネットワーク情報取得部１０２は、このポートごとのリンクトラヒック量を各ノードから取得し、リンク負荷情報データベース（ＤＢ）１１２に格納する。
【００２８】
仮想トポロジ設定部１０４は、端末装置２４に接続されたノード２２（入出力ノード）のインターフェースである入出力インターフェースを仮想ノードとし、仮想ノードと入出力ノードとをつなぐ仮想リンクを設定して、通信ネットワーク２０のトポロジを仮想ノードおよび仮想リンクを含む仮想トポロジに拡張する。
仮想トポロジ設定部１０４は、まず、入出力ノードであるＬｅａｆスイッチの対象インターフェースの数だけ仮想ノードを作成する。ここで、対象インターフェースとはユーザトラヒックに接続するインターフェース（ポート）であり、Ｓｐｉｎｅスイッチと接続するポートは含まない。次に、仮想ノードと該当入出力ノードを仮想リンクにより接続する。
【００２９】
図４を参照してより具体的に説明する。
図４（ａ）に示すネットワークモデルでは、Ｌｅａｆスイッチ１はユーザトラヒック側に３つのポート（対象インターフェース）を有し、それぞれサービスＡ，Ｂ，Ｃに用いられている。仮想トポロジ設定部１０４は、３つの対象インターフェースをそれぞれ仮想ノード（仮想ノード０〜２）とし、仮想ノード０〜２とＬｅａｆスイッチ１を示すノードＭ１とを仮想リンクＬ１〜Ｌ３で接続する（図４（ｂ）参照）。
他のＬｅａｆスイッチについても同様の処理を行い、図４（ａ）に示すトポロジでは、計１４個の仮想ノードおよびこれと接続する仮想リンクが生成される。
【００３０】
なお、仮想リンクのトラヒック量は、対象インターフェースのトラヒック量の値を参照することにより特定することができる。すなわち、ある仮想リンクにおいて、ネットワーク情報取得部１０２が収集した対象インターフェースへ入力される（上り方向）トラヒックが仮想リンクの上りトラヒック量、対象インターフェースから出力される（下り方向）トラヒックが仮想リンクの下りリンクトラヒック量として特定される。図５の例では、仮想リンクＬ１における上りトラヒック量は仮想ノード０に対応するポートに入力されるトラヒック量（Ａｂｐｓ）であり、仮想リンクＬ１における下りトラヒック量は、仮想ノード０に対応するポートから出力されるトラヒック量（Ｂｂｐｓ）である。
【００３１】
図３に戻り、交流トラヒック算出部１０６は、リンクトラヒック情報およびルーティング情報を用いて、仮想トポロジ上のフローそれぞれのトラヒック量の推定値を算出する。交流トラヒック算出部１０６は、リンクトラヒック情報を用いてＧｒａｖｉｔｙ法によりトラヒック量の推定値の初期値を示す初期値ベクトルを算出し、初期値ベクトルに対してＴｏｍｏＧｒａｖｉｔｙ法（非特許文献２参照）を適用して真のトラヒック量の推定値を示す交流トラヒック量ベクトルを算出する。
【００３２】
交流トラヒック算出部１０６による処理について、図６および図７を用いて説明する。
図６は、ネットワークのトポロジとルーティング情報の一例を示す。図６（ａ）に示すトポロジは、ネットワーク内の各ノードが、どのリンクを用いてどのノードに接続されているかを示した情報である。図６（ｂ）に示すルーティング情報は、各トラヒック（フロー）が経由するリンクを示した情報である。各リンクのリンクトラヒック量は、例えばすべて１００Ｍｂｐｓとする。
【００３３】
図７に、図６のネットワークの交流トラヒック推定の計算例を示す。各リンクのリンクトラヒック量は、ベクトルＸとして表現され、ルーティング情報は行列Ａとして表現される。ルーティング行列Ａにおいて、１はそのリンクを経由することを示し、０はそのリンクを経由しないことを示す。また、求めたい交流トラヒック量（交流トラヒックのフローそれぞれのトラヒック量）はベクトルＴとして表現される。
【００３４】
このとき、リンクトラヒック量ベクトルＸと、ルーティング行列Ａ，交流トラヒック量ベクトルＴにはＸ＝Ａ＊Ｔの関係が成り立つ。Ｘ＝Ａ＊Ｔの演算を連立方程式として表現したものを図７に示す。不確定の変数を含む式のみ抽出すると、４つの式と８個の変数からなる８元一次方程式が得られる。式は４つしかないため、交流トラヒック量を示すベクトルＴのＴ１、Ｔ２、Ｔ５、Ｔ６、Ｔ８、Ｔ９、Ｔ１０、Ｔ１２は複数の値を取り得る。
よって、交流トラヒック算出部１０６は、以下のような手順で連立方程式を満たす初期解から最小二乗解を算出し、真の交流トラヒックを推定する。
【００３５】
＜処理１＞交流トラヒックの初期値ベクトルを算出する。
初期値は、以下の計算式（Ｇｒａｖｉｔｙ法）により求める。
ＴＡＢ＝Ｘ（Ａ，ＩＮ）×｛Ｘ（Ｂ，ＯＵＴ）／Σ（Ｘ（ｉ，ＯＵＴ））・・・（式１）
ここで、ＴＡＢはノードＡからノードＢへ発生する交流トラヒック量、Ｘ（Ａ，ＩＮ）はノードＡに外部から流入するリンクトラヒック量、Ｘ（Ｂ，ＯＵＴ）はノードＢから外部へ出力するリンクトラヒック量、Σ（Ｘ（ｉ，ＯＵＴ））は全ノードにおける外部へ出力するリンクトラヒック量の総和を意味する。すなわち、Ｘ（Ａ，ＩＮ）やＸ（Ｂ，ＯＵＴ）は、個々のノード２２から取得したリンクトラヒック量そのものであり、Σ（Ｘ（ｉ，ＯＵＴ））は、個々に取得したリンクトラヒック量を全てのノードについて加算したものとなる。
【００３６】
＜処理２＞ＴｏｍｏＧｒａｖｉｔｙ法により、各リンクにおいて、リンクトラヒック量＝そのリンクに収容される交流トラヒック量の総和となる方程式を満たす解を発見する。
具体的には、処理１で得られた初期値ベクトルから、方程式を満たす最小二乗解を算出する。すなわち、上述のようにリンクトラヒック量ベクトルＸと、ルーティング行列Ａ，交流トラヒック量ベクトルＴにはＸ＝Ａ＊Ｔの関係が成り立つ。ここで、１で求めた初期値ベクトルをＴ０と表記すると、交流トラヒックは以下の手順で計算される。
２−１．Ａの疑似逆行列Ａ−１を計算
２−２．下記式２を算出する
Ｔ＝Ｔ０＋Ａ−１（Ｘ−Ａ＊Ｔ０）
なお、Ａ−１はルーティング行列のリンク数×ノード数２（フロー数）の大きさとなる疑似逆行列である。
このように算出した交流トラヒック量ベクトルＴにより、真の交流トラヒック量の推定値が得られる。
【００３７】
ここで、上述した説明ではネットワーク上の全てのリンクで通信が行われる可能性があるものとして交流トラヒックの推定を行った。しかしながら、実際には異なるサービス間（異なるサービスに割り当てられたスライス間）では通信は発生しない。よって、通信が発生しない仮想ノード間の交流トラヒックを計算対象から除外することにより、より効率的にトラヒック量の算出を行うことが可能である。
【００３８】
例えば、図８に示すトポロジでは、Ｌｅａｆスイッチ１およびＬｅａｆスイッチ４は、それぞれユーザトラヒック側に３つのポート（対象インターフェース）を有し、各ポートはそれぞれサービスＡ，Ｂ，Ｃに用いられている。一方、他のＬｅａｆスイッチ（Ｌｅａｆスイッチ２，３，５，６）は、それぞれユーザトラヒック側に２つのポート（対象ポート）を有し、各ポートはそれぞれサービスＡに用いられている。
この場合、例えばサービスＡに用いられる仮想ノード０においては、異なるサービス（サービスＢ，Ｃ）に用いられる仮想ノード１，２，８，９との通信は発生しない。よって、この仮想ノード間の交流トラヒックをゼロと置くことができ、交流トラヒックを効率的に算出することができる。
【００３９】
より詳細には、交流トラヒック算出部１０６は、以下のような手順で異なるサービス間の通信を計算対象から除いて交流トラヒックを推定する。
＜処理１＞計算対象から除く対地（ノード）間を記憶し、その交流トラヒック値をゼロとする。
＜処理２＞計算対象から除く対地を表す列をルーティング行列Ａから除外する。交流トラヒック量ベクトルＴにおいても、計算対象から除く対地を表す行は削除する。
例えば、図６に示したトポロジおよびルーティング情報において、交流トラヒックＴ５，Ｔ６，Ｔ７が異なるサービス間の通信である場合、図９（ａ），（ｂ）に示すように交流トラヒックＴ５，Ｔ６，Ｔ７に対応する列をルーティング行列Ａから除外する。また、交流トラヒック量ベクトルＴからも交流トラヒックＴ５，Ｔ６，Ｔ７に対応する行を削除する。
＜処理３＞処理２で不要な部分を削除した行列Ａ，Ｔおよびリンクトラヒック量ベクトルＸを用いて、交流トラヒック演算処理を実行する。
＜処理４＞処理１で記憶しておいた値と併せて、最終的な出力とする。値がゼロであるＴ５，Ｔ６，Ｔ７も含んだ結果を出力する。
【００４０】
図１０は、交流トラヒック推定装置１０による処理を示すフローチャートである。
交流トラヒック推定装置１０は、まず、ネットワーク情報取得部１０２によってリンクトラヒック情報およびルーティング情報を取得する（ステップＳ１０）。
つぎに、仮想トポロジ設定部１０４によって対象ポートを仮想ノードとし、仮想ノードと入出力ノードとを仮想リンクで接続して、仮想トポロジを設定する（ステップＳ１２）。
【００４１】
続いて、交流トラヒック算出部１０６は、リンクトラヒック情報およびルーティング情報を参照してリンクトラヒック量ベクトルＸ、ルーティング行列Ａ、交流トラヒック量ベクトルＴを算出する（ステップＳ１４）。また、交流トラヒック算出部１０６は、インターフェース種別情報を参照して異なるサービス間のトラヒック量はゼロであるものとして計算対象から除外する（ステップＳ１６）。
そして、Ｇｒａｖｉｔｙ法およびＴｏｍｏＧｒａｖｉｔｙ法を用いて、交流トラヒック量ベクトルＴの真の値を求めることにより、交流トラヒック量を算出して（ステップＳ１８）、本フローチャートによる処理を終了する。
【００４２】
以上説明したように、実施の形態にかかる交流トラヒック推定装置１０によれば、既存の交流トラヒック推定技術を実行する前に、それぞれの入出力インターフェースを仮想トポロジとして設定することにより、サービス毎のトラヒックを推定することが可能なり、汎用スイッチ等のｘＦｌｏｗ技術が利用できないネットワーク装置で構成される環境においても、サービス毎のトラヒック交流を把握することが可能となる。
また、使用されるサービスが異なるためにトラヒックが発生しない区間を予め計算対象から除外することで、解の探索範囲を絞ることができ、トラヒックの推定精度を向上することができるとともに、演算時間の短縮を図ることができる。
また、ＴｏｍｏＧｒａｖｉｔｙ法を用いることにより、変数よりも少ない数の連立方程式を用いて一意に解を得ることができ、精度よく交流トラヒックを推定することができる。
【符号の説明】
【００４３】
ＮＷ  ネットワーク
１０  交流トラヒック推定装置
１０２  ネットワーク情報取得部
１０４  仮想トポロジ設定部
１０６  交流トラヒック算出部
１１０  網構成情報データベース
１１２  リンク負荷情報データベース
２０  通信ネットワーク
２２  ノード
２４  端末装置
【図１】
2018032929.tif 000003
【図２】
2018032929.tif 000004
【図３】
2018032929.tif 000005
【図４】
2018032929.tif 000006
【図５】
2018032929.tif 000007
【図６】
2018032929.tif 000008
【図７】
2018032929.tif 000009
【図８】
2018032929.tif 000010
【図９】
2018032929.tif 000011
【図１０】
2018032929.tif 000012
【図１１】
2018032929.tif 000013