(57)【特許請求の範囲】
【請求項１】
送信元装置から宛先装置へのトンネリング環境におけるデータフレームの通信を規定するフローごとに、フローを特定するためのフロー特定情報と、その特定されるフロー通信量とを、前記送信元装置から収集するフロー収集処理部と、
前記送信元装置から前記宛先装置までのフローの経路上に位置するスイッチから、前記スイッチ間で構成されたフローが通過するパスについてのパス特定情報と、そのパスを通過するフローの前記フロー特定情報との対応関係を導き出すことが可能な、フロー／パス対応情報を収集するパス収集処理部と、
前記送信元装置から収集した前記フロー特定情報をキーに、前記フロー／パス対応情報を検索して導き出した前記パス特定情報により特定されるパスが経由する経路と経路マップを含むフロー経路情報を検索し、前記フロー特定情報に対応する、所定の基準でグループ化したグループの通信量を求める処理を行うことで、少なくとも前記経路マップの各リンクに流れるフロー通信量をトラフィック推測データとして作成する推測処理部とを有することを特徴とする
管理サーバ。
【請求項２】
送信元装置から宛先装置へのトンネリング環境におけるデータフレームの通信を規定するフローの通信量を処理する管理サーバによるフロー処理方法であって、
前記管理サーバは、
フローごとに、フローを特定するためのフロー特定情報と、その特定されるフローの通信量とを、前記送信元装置から収集し、
前記送信元装置から前記宛先装置までのフローの経路上に位置するスイッチから、前記スイッチ間で構成されたフローが通過するパスについてのパス特定情報と、そのパスを通過するフローの前記フロー特定情報との対応関係を導き出すことが可能な、フロー／パス対応情報を収集し、
前記送信元装置から収集した前記フロー特定情報をキーに、前記フロー／パス対応情報を検索して導き出した前記パス特定情報により特定されるパスが経由する経路と経路マップを含むフロー経路情報から検索することで、前記フロー特定情報に対応する、所定の基準でグループ化したグループの通信量を求める処理を行って、少なくとも前記経路マップの各リンクに流れる通信量をトラフィック推測データとして作成することを特徴とする
フロー処理方法。
【請求項３】
前記管理サーバは、前記送信元装置から前記宛先装置までのフローの経路を含むネットワークトポロジ図について、そのネットワークトポロジ図内の少なくとも前記経路マップの各リンクに流れる通信量を前記トラフィック推測データから読み取って表示するＧＵＩ（Graphical User Interface）を表示装置に出力する
ことを特徴とする請求項２に記載のフロー処理方法。
【請求項４】
前記管理サーバは、前記トラフィック推測データの少なくとも前記経路マップの各リンクに対して、フローの通信量の実装測データを取得し、前記トラフィック推測データ内の少なくとも前記経路マップの各リンクに流れる通信量と、取得した少なくとも前記経路マップの各リンクに流れる通信量の実装データとを比較し、その比較結果が不一致であるときに、その通信量に対応する少なくとも前記経路マップの各リンクに障害が発生したと判定する
ことを特徴とする請求項２に記載のフロー処理方法。
【請求項５】
前記管理サーバは、前記トラフィック推測データの少なくとも前記経路マップの各リンクに流れる通信量が、所定の通信量の閾値を超過するときに、その超過する通信量に対応する少なくとも前記経路マップの各リンクおよび少なくとも前記経路マップの各リンクを通過するフローを特定し、
特定したフローについて、特定した少なくとも前記経路マップの各リンクを通過しない別経路を再計算して、特定した少なくとも前記経路マップの各リンクを通過する現在のフローの経路から再計算したフローの経路へと経路変更処理を行う
ことを特徴とする請求項２に記載のフロー処理方法。
【請求項６】
前記管理サーバは、前記経路変更処理を行った後、特定した少なくとも前記経路マップの各リンクに流れる通信量が所定の通信量の閾値を下回ったときには、前記経路変更処理の変更後の経路から変更前の経路へと戻す
ことを特徴とする請求項５に記載のフロー処理方法。
【請求項７】
前記管理サーバは、前記フロー特定情報および前記パス特定情報のうちの少なくとも１つの特定情報について、装置アドレスと装置ＩＤとを１：１対応する対応テーブルを参照して、収集した特定情報内の装置ＩＤから対応する装置アドレスを特定する
ことを特徴とする請求項２に記載のフロー処理方法。
【発明の詳細な説明】
【参照による取り込み】
【０００１】
本出願は、２０１２年４月６日に出願された日本特許願第２０１２−８７７９９号の優先権を主張し、その内容を参照することにより本出願に取り込む。
【技術分野】
【０００２】
本発明は、管理サーバ、および、フロー処理方法に関する。
【背景技術】
【０００３】
複数のテナントを収容するようなマルチテナントのネットワークシステムにおいて、収容するテナント数が増加傾向にあり、ネットワークシステムの規模も大きくなってきている。各テナントは、他のテナントを考慮せずに、自身のフローをネットワークシステム上に流しているので、ネットワークシステム内でも特定のスイッチに多数のフローが集中する傾向にある。
フローとは、論理的に区別されるトラフィックの単位（かたまり）であり、例えば、同じ送信元アドレスと宛先アドレスの組が付されたフレームの集合が、同じ１つのフローに区分される。【０００４】
非特許文献１に記載されているように、ネットワークシステム上を流れる複数のフローについて、そのフローの通信量を実測データとして測定する手段が、ネットワークシステム内の各スイッチに実装されている。これにより、各スイッチの実測データを得た管理者は、ネットワークシステム内でフローが集中する箇所のスイッチを特定することができ、その集中するスイッチを高性能なスイッチに変更するなどしてネットワークシステム全体の輻輳を回避することができる。【０００５】
一方、輻輳を回避する別の手段として、ネットワークのトポロジのＦａｔ  Ｔｒｅｅ構成を用いてもよい。Ｆａｔ  Ｔｒｅｅ構成にマルチパスを用いることで、同じフローを送信するためのパスとして複数のパスを同時に利用することが可能となり、パス経路上の特定のスイッチへのトラフィックの集中を抑制することができる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Cisco Systems、“Cisco Systems NetFlow Services Export Version 9”、ＩＥＴＦ、［平成２４年３月２３日検索］、インターネット＜ＵＲＬ：http://www.ietf.org/rfc/rfc3954.txt＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
なお、ネットワークシステムの各スイッチの実測データは、ネットワークシステムの通信状況を高精度に示すデータであるものの、その実測コストは高い。なぜなら、ネットワークシステムの全スイッチに、非特許文献１などに示される実測手段をあらかじめ用意するとともに、各スイッチの処理能力として、各スイッチ本来のタスクであるデータ転送処理だけでなく、その転送したデータ量の実測処理を動作させるための処理能力が必要であるためである。【０００８】
とくに、データ量の実測処理で高負荷なのは、各データフレームのデータ量の取得処理よりも、各データフレームが属するフローの特定処理である。各データフレームが属するフローの特定情報は、各データフレーム内の様々なフレーム位置に格納されているので、これらのフローの特定情報の位置特定処理や特定された位置からのフローの特定情報の読み込み処理を、多数のデータフレームそれぞれについて行うことにより、データ量の実測処理が高負荷となる。【０００９】
一方、各スイッチの実測データを用いる代わりに、各スイッチの通信量の予測データを作成する手法も検討する。この予測データでは、データ量の実測処理を動作させる必要がないため、ネットワークシステムのトラフィックデータを低コストで取得することができる。【００１０】
しかし、低コストな反面、各スイッチの過去の統計データから作成した予測データでは、低精度なトラフィックデータしか得ることはできない。なぜなら、過去と現在とでは、稼働しているフローの内容や数などに大きく違いがあり、ネットワークシステムの通信状況とは、現在稼働しているフローに大きく影響を受けるためである。【００１１】
そこで、本発明は、前記した問題を解決し、ネットワークシステムの通信状況を示す高精度なデータを低コストで取得することを、主な目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するために、本発明は、送信元装置から宛先装置へのトンネリング環境におけるデータフレームの通信を規定するフローの通信量を処理する管理サーバによるフロー処理方法であって、
前記管理サーバが、
フローごとに、フローを特定するためのフロー特定情報と、その特定されるフローの通信量とを、前記送信元装置から収集し、
前記送信元装置から前記宛先装置までのフローの経路上に位置するスイッチから、前記スイッチ間で構成されたフローが通過するパスについてのパス特定情報と、そのパスを通過するフローの前記フロー特定情報との対応関係を導き出すことが可能な、フロー／パス対応情報を収集し、
前記送信元装置から収集した前記フロー特定情報をキーに、前記フロー／パス対応情報を検索して導き出した前記パス特定情報により特定されるパスが経由する経路と経路マップを含むフロー経路情報から検索することで、前記フロー特定情報に対応する、所定の基準でグループ化したグループの通信量を求める処理を行って、少なくとも前記経路マップの各リンクに流れる通信量をトラフィック推測データとして作成することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【００１３】
本発明によれば、ネットワークシステムの通信状況を示す高精度なデータを低コストで取得することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に関するネットワークシステムを示す構成図である。
【図２】本発明の一実施形態に関するトンネリング環境におけるデータフレームの送信処理を示す説明図である。
【図３】本発明の一実施形態に関するネットワークシステムの各装置のハードウェア構成を示す構成図である。図３（ａ）は、装置のハードウェア構成を示し、図３（ｂ）は、IDアドレス対応テーブルを示す。
【図４】本発明の一実施形態に関するネットワークシステムの各装置の機能構成を示す構成図である。
【図５】本発明の一実施形態に関する図４の機能構成の詳細を示す構成図である。
【図６】本発明の一実施形態に関するトラフィック推測処理を示すフローチャートである。
【図７】本発明の一実施形態に関する図５の各テーブルの詳細を示す構成図である。図７（ａ）は、フロー情報個別テーブルを示し、図７（ｂ）は、トラフィック推測部が読み込む各テーブルを示す。
【図８】本発明の一実施形態に関するネットワークシステムの各テーブルの詳細を示す構成図である。図８（ａ）は、パス経路テーブルを示し、図８（ｂ）は、トラフィック推測テーブルを示す。
【図９】本発明の一実施形態に関するネットワークシステムのデータフレームの送信処理を示すフローチャートである。
【図１０】本発明の一実施形態に関するネットワークシステムの経路変更処理を示すフローチャートである。
【図１１】本発明の一実施形態に関するリンクごとのフロー通信量を示すグラフである。図１１（ａ）は、経路変更前を示し、図１１（ｂ）は、経路変更時を示す。
【図１２】本発明の一実施形態に関するフローごとの経路を示す説明図である。図１２（ａ）は、リンクL41（ASW2a−TSW3d間）に、輻輳発生した旨を示し、図１２（ｂ）は、フローｆ３の経路変更により、輻輳を回避した旨を示す。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
【００１６】
図１は、ネットワークシステムを示す構成図である。なお、図１で例示した各装置のネットワークトポロジはあくまで一例であり、その各装置の台数や各装置間の接続構成は、別の構成としてもよい。
ネットワークシステムは、アグリゲーションスイッチであるＡＳＷ２（２ａ〜２ｃ）と、ＴｏＲ（Top of Rack）スイッチであるＴＳＷ３（３ａ〜３ｄ）と、物理マシン７とが、各リンク（Ｌ１１〜Ｌ１３，Ｌ２１〜Ｌ２３，Ｌ３１〜Ｌ３３，Ｌ４１〜Ｌ４３，Ｌ９１〜Ｌ９４）で接続されて構成される。つまり、ネットワークシステムの通信デバイスは、各装置（ＡＳＷ２、ＴＳＷ３、物理マシン７）と各装置間のリンクとで構成される。
【００１７】
管理サーバ１は、ネットワークシステム内の各リンクを通過するフローの量を推測するために、各物理マシン７と接続されている。ここで、フローとは、ネットワークシステム内で転送される共通の属性を持つデータフレームの情報を集約したものである。
【００１８】
各ＡＳＷ２は、各ＴＳＷ３とフルメッシュで接続されるＦａｔ  Ｔｒｅｅ構成であり、各ＴＳＷ３は、それぞれ１台の物理マシン７を収容する。物理マシン７内には、ソフトウェアがハードウェア資源を利用して構築した仮想計算機であるＶＳＷ８とＶＭ９とが構成されている。
ＶＳＷ８（８ａ〜８ｄ）は、ＴＳＷ３と接続される仮想スイッチであり、ＶＭ９（ＶＭ９１１〜９１３，ＶＭ９２１〜９２３，ＶＭ９３１〜９３３，ＶＭ９４１〜９４３）は、ＶＳＷ８に収容される仮想計算機である。
そして、フローは、あるＶＭ９から別のＶＭ９まで転送されるデータフレームである。なお、フローの起点（送信元）や終点（宛先）は、ＶＭ９に限定されず、他の装置（ＡＳＷ２、ＴＳＷ３、物理マシン７、ＶＳＷ８）としてもよい。
【００１９】
図２は、トンネリング環境におけるデータフレームの送信処理を示す説明図である。
フローｆ１は、送信元から順に、ＶＭ９１１→ＶＳＷ８ａ→ＴＳＷ３ａ→ＡＳＷ２ａ→ＴＳＷ３ｄ→ＶＳＷ８ｄ→ＶＭ９４１と通過するフローである（後記の図１２（ａ）も参照）。
フローｆ１の各データフレームは、データやフッタに加え、フローｆ１のフローを特定するための情報（以下、フロー特定情報）として、フローｆ１の送信元を示すＶＭＳＡ（Virtual Machine Source Address）と、フローｆ１の宛先を示すＶＭＤＡ（Virtual Machine Destination Address）との組がヘッダに付されている。
【００２０】
フローｆ１は、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）のトンネルであるパス（ＶＳＷ８ａ→ＴＳＷ３ａ→ＡＳＷ２ａ→ＴＳＷ３ｄ→ＶＳＷ８ｄの順に通過するパス）を用いて転送される。このパスを通過する各データフレームには、このパスを特定するための情報（以下、パス特定情報）として、パスの送信元を示すＶＳＳＡ（Virtual Switch Source Address）と、パスの宛先を示すＶＳＤＡ（Virtual Switch Destination Address）との組がヘッダにカプセリングされている。
【００２１】
なお、各アドレス情報（ＶＭＳＡ、ＶＭＤＡ）は、仮想マシンごとに付された装置アドレスとしてもよいし、仮想マシンが収容するネットワークインタフェースごとに付されたインタフェースアドレスとしてもよい。
さらに、フロー特定情報やパス特定情報をアドレス情報の組み合わせとして表現したが、特定情報としては、送信元／宛先ＭＡＣ（Media Access Control）アドレス、送信元／宛先ＩＰアドレス、送信元／宛先ポート番号、装置のＵＵＩＤ（Universally Unique Identifier）、および、プロトコル番号等の、特定対象の通信の違いを示す情報を、単独で、または、複数の情報の組み合わせとして構成してもよい。
なお、これらの列挙した特定情報の各パラメータは、あくまで一例であり、列挙したパラメータに限定されず、任意のパラメータを特定情報として用いてもよい。
また、前記トンネルは、必ずしもＶＸＬＡＮである必要はなく、もともとのフレームフォーマットに、新たにヘッダを追加するような他のトンネル方式であってもよい。
【００２２】
図３は、ネットワークシステムの各装置のハードウェア構成を示す構成図である。
図３（ａ）に示す各装置は、ＣＰＵ１１１、メモリ１１２、記憶装置１１３、外部媒体読込装置１１４、通信装置１１５、入力装置１１６、出力装置１１７、および、１つ以上のポート１１８を備え、それらが内部バスで接続されるコンピュータとして構成される。
メモリ１１２には、実行中のプログラムやデータが記録される。各装置内のプログラムやデータは、あらかじめメモリ１１２に格納しておいてもよいし、記憶装置１１３に格納しておいてもよいし、外部媒体読込装置１１４から入力してもよい。また、該当プログラムにより実現される機能を、専用のハードウェアにより実現してもよい。
外部媒体読込装置１１４が扱う記憶媒体は、例えば、ＳＤメモリーカードやＣＤ−ＲＯＭが挙げられる。
ポート１１８は、他装置と通信を行う際のネットワークインタフェースであり、例えば、ＩＥＥＥ８０２．３にて規定されたイーサネット（登録商標）規格に準拠した通信を行う。
【００２３】
図３（ｂ）に示すＩＤアドレス対応テーブルは、図３（ａ）に示す各装置の記憶装置１１３に格納されるデータである。ＩＤアドレス対応テーブルは、左列の「マシンＩＤ」と、右列の「マシンアドレス（図では、２桁×６のＭＡＣアドレスを例示）」とを１：１で対応付けるテーブルである。
【００２４】
装置は、自身が送信するデータフレーム内の各アドレス情報（ＶＭＳＡ、ＶＭＤＡ、ＶＳＳＡ、ＶＳＤＡ）の代わりに、それらの各アドレス情報からＩＤアドレス対応テーブルによって可逆変換で対応付けられる「マシンＩＤ」をデータフレーム内に記載することによって、データフレームのデータ量を圧縮することができる。なお、ＩＤアドレス対応テーブルには、複数のアドレス情報の組み合わせに対して１つのＩＤを対応付けることとしてもよい。
【００２５】
図４は、ネットワークシステムの各装置の機能構成を示す構成図である。図４は、各装置の構成要素を列挙するための図面であり、各構成要素の詳細は、図５以降で明らかにする。
管理サーバ１は、ＯＳ１１と、転送部１２と、転送テーブル１３と、パス経路テーブル１４と、トラフィック管理部１５と、経路管理部１６とを有する。
物理マシン７は、ＯＳ７１と、転送部７２と、転送テーブル７３と、トラフィック計測部７４と、ＶＳＷ８と、ＶＭ９とを有する。
【００２６】
ＶＳＷ８は、管理サーバ通信部８１と、経路制御部８２と、ＤＡ対応テーブル８３と、トンネル処理部８４と、ＶＳＷ制御部８５とを有する。
ＶＳＷ制御部８５は、ＣＰＵ１１１や、メモリ１１２や、通信装置１１５をはじめとした、物理マシン７上の構成要素を用い、ソフトウェアでコンピュータの機能を実行可能な仮想計算機として構成される仮想的なスイッチＳＷを制御する。
【００２７】
ＶＭ制御部９１は、物理マシン７に内蔵または外部接続されている記憶装置１１３に格納されるＶＭディスクイメージ９２を読み込み、物理マシン７のＣＰＵ１１１や、メモリ１１２の一部の領域を利用し、物理マシン７の内部で、ソフトウェアでコンピュータの機能を実行可能な仮想計算機としてＶＭ９を生成する。
ＶＭ９は、物理マシン７のバスに接続しているため、物理マシン７の各インタフェース（外部媒体読込装置１１４、通信装置１１５、入力装置１１６、出力装置１１７）を利用することができる。
【００２８】
図５は、図４の機能構成の詳細を示す構成図である。図５に示す各構成要素の詳細（図５の矢印で示す入出力の関係など）は、図６以降で明らかにする。
トラフィック計測部７４は、フロー情報計測部４１と、フロー情報個別テーブル４２と、管理サーバ通信部４３とを有する。
トラフィック管理部１５は、物理マシン通信部５１と、フロー情報記録部５２と、フロー情報集約テーブル５３と、トラフィック推測部５４と、トラフィック記録部５５と、トラフィック推測テーブル５６と、経路変更判断部５７とを有する。
経路管理部１６は、物理マシン通信部６１と、パス経路管理部６２と、ＤＡ対応テーブル６３と、ＶＭ収容管理テーブル６４と、ＳＡ対応テーブル６５と、経路マップ６６とを有する。経路管理部１６は、これらの情報を、各装置から収集する。
経路マップ６６は、ネットワークトポロジ（各装置と装置間のリンク）を示すデータである。
【００２９】
図６は、トラフィック推測処理を示すフローチャートである。
Ｓ２０１において、フロー情報計測部４１は、ＶＳＷ８から送信されるトラフィックの量、つまり、一定時間におけるデータフレームの数を、フロー情報個別テーブル４２に記録する。
Ｓ２０２において、管理サーバ通信部４３は、Ｓ２０１でフロー情報個別テーブル４２に記録されたトラフィックの量を読み取り、フロー特定情報に対応付けて管理サーバ１へ一定時間ごとに送信する。
【００３０】
Ｓ２０３において、物理マシン通信部５１は、Ｓ２０２で受信したトラフィック量の情報を、フロー情報記録部５２へ渡す。
Ｓ２０４において、フロー情報記録部５２は、Ｓ２０３で受け取った情報を、フロー情報集約テーブル５３へ書き込む（詳細は、図７（ａ）の説明）。
【００３１】
Ｓ２０５において、トラフィック推測部５４は、フロー情報集約テーブル５３と、パス経路テーブル１４と、ＤＡ対応テーブル６３と、ＶＭ収容管理テーブル６４（図５参照）と、ＳＡ対応テーブル６５（図５参照）と、経路マップ６６とを読み込む。
Ｓ２０６において、トラフィック推測部５４は、Ｓ２０５で読み込んだ各テーブルを元に、フロー特定情報ごとの通信量を算出する（詳細は、図７（ｂ）、図８の説明）。
Ｓ２０７において、トラフィック推測部５４は、Ｓ２０６の算出結果をトラフィック記録部５５に渡す。
Ｓ２０８において、トラフィック記録部５５は、Ｓ２０７の算出結果をトラフィック推測テーブル５６へ書き込む。
【００３２】
図７は、図５の各テーブルの詳細を示す構成図である。
図７（ａ）のフロー情報個別テーブル４２は、フロー特定情報（ＶＭＳＡとＶＭＤＡとの組み合わせ）ごとのフロー通信量を時系列に（時刻＝ｔ，ｔ＋１，ｔ＋２，…）格納する。フロー情報個別テーブル４２内のフロー通信量について、格納データを蓄積し続けてもよいし、所定期間よりも古いデータを削除してもよい。さらに、フロー通信量の値は、所定期間（時刻＝ｔから時刻＝ｔ＋１までの期間など）における全データフレームのデータ量の総和としてもよいし、その総和をデータフレームで除算したデータ量の平均値としてもよい。
なお、時刻ｔの表現方法は、任意とし、日時を表すものであっても良い。また、ｔ＋１、ｔ＋２・・と示した、時刻を計測する間隔についても、ある間隔に限定されるものではなく、任意の間隔でよい。例えば、１００ミリ秒、または、１秒、１０秒としてもよい。
【００３３】
フロー情報個別テーブル４２は、収容される物理マシン７ごとに作成されるので、フローｆ１の送信元である１台目の物理マシン７内のフロー情報個別テーブル４２と、フローｆ２の送信元である２台目の物理マシン７内のフロー情報個別テーブル４２とは、内容が異なることもある。
【００３４】
Ｓ２０４において、フロー情報記録部５２が書き込むフロー情報集約テーブル５３は、１つ以上のフロー情報個別テーブル４２のデータ内容を管理サーバ１が集約したテーブルであり、格納されるデータ形式は、フロー情報個別テーブル４２と同じである。
フロー情報集約テーブル５３内の情報は、フロー情報個別テーブル４２と同様に、一定時間ごとに更新する形でもよいし、過去の情報を蓄積する形でもよい。また、そのフロー情報集約テーブル５３は、一つのテーブルではなく、複数のテーブルに分割されていてもよい。
【００３５】
図７（ｂ）は、Ｓ２０５において、トラフィック推測部５４が読み込む各テーブルを示す。これらの各テーブルの内容は、時々刻々と変化するパスの設定状況に応じて、そのパスのエンドノードであるＶＳＷ８からの通知を管理サーバ１が受けて、更新され続ける。以下、トラフィック推測部５４がフロー特定情報をもとに、そのフローが通過するパスのパス特定情報を特定する処理（以下、パス解決処理とする）の詳細を明らかにする。
【００３６】
ＶＭ収容管理テーブル６４は、同じ物理マシン７に収容されるＶＳＷ８（その装置ＩＤであるＶＳＩＤ）とＶＭ９との対応データであり、ＶＳＷ８とＶＭ９との収容関係を示すテーブルである。例えば、図１のＶＳＷ８ａには、３台のＶＭ９（ＶＭ９１１〜９１３）が収容されているが、この収容関係は、ＶＭ収容管理テーブル６４内の第１行〜第３行のレコードに反映されている。
トラフィック推測部５４は、ＶＭ収容管理テーブル６４を参照することで、フロー特定情報（ＶＭＳＡ）からパス特定情報（ＶＳＩＤ）を解決する。
【００３７】
ＤＡ対応テーブル６３は、ＶＭＤＡが示すＶＭ９と、そのＶＭ９が収容されるＶＳＷ８（ＶＳＤＡ）との対応関係を示すテーブルである。トラフィック推測部５４は、ＤＡ対応テーブル６３を参照することで、フロー特定情報（ＶＭＤＡ）からパス特定情報（ＶＳＤＡ）を解決する。
例えば、フローｆ１のＶＭＤＡはＶＭ９４１であり、そのＶＭ９４１は、ＶＳＷ８ｄに収容されているので、ＶＭＤＡ「ＶＭ９４１」とＶＳＤＡ「ＶＳＷ８ｄ」との対応関係が、ＤＡ対応テーブル６３の第３行に記載されている。
【００３８】
ＳＡ対応テーブル６５は、ＶＳＷ８のＩＤであるＶＳＩＤと、そのＶＳＷ８に付与されるＶＳＳＡとの対応関係を示すテーブルである。１つのＶＳＷ８（例えば、ＶＳＷ８ａ）に対して、３つのＶＳＳＡ（ＶＳＷ８ａ１〜ＶＳＷ８ａ３）が付与されているのは、各ＶＳＳＡに対応付けられるパスが経由するＡＳＷ２がそれぞれ異なるためである。
トラフィック推測部５４は、ＳＡ対応テーブル６５を参照することで、パス特定情報（ＶＳＩＤ）からパス特定情報（ＶＳＳＡ）を解決する。
【００３９】
以上、図７で説明したように、トラフィック推測部５４は、ＤＡ対応テーブル６３、ＶＭ収容管理テーブル６４、ＳＡ対応テーブル６５を用いて、フロー特定情報（フローｆ１ならＶＭＳＡ「ＶＭ９１１」、ＶＭＤＡ「ＶＭ９４１」）からパス特定情報（ＶＳＳＡ「ＶＳＷ８ａ１」、ＶＳＤＡ「ＶＳＷ８ｄ」）を解決することができる。なお、解決したパス特定情報は、図２で説明したように、フローにカプセリングされるヘッダである。
【００４０】
図８は、ネットワークシステムの各テーブルの詳細を示す構成図である。
図８（ａ）のパス経路テーブル１４は、パス特定情報ごとに、そのパスが経由する経路を、通過するリンク順に記載したテーブルである。例えば、パス経路テーブル１４の第１行には、フローｆ１が通過するパス特定情報（ＶＳＳＡ「ＶＳＷ８ａ１」、ＶＳＤＡ「ＶＳＷ８ｄ」）のパス経路として、リンクＬ１１→リンクＬ４１の順に通過する旨が記載されている。
なお、パス経路テーブル１４は、パス特定情報に対応付ける情報として、パス経路そのものを保持する代わりに、パス経路を特定可能な別の情報（ＡＳＷ２やＴＳＷ３が保持している経路決定関数であり、パス特定情報を引数としてそのパスの経路を計算するものなど）を対応付けてもよい。
【００４１】
図８（ｂ）のトラフィック推測テーブル５６は、経路マップ６６に示されるリンクごとに、そのリンクを流れるトラフィック（フロー通信量）をフロー特定情報が示す成分ごとに格納する。なお、図８（ｂ）では、「フロー通信量」の列として、time=tの時刻だけの列を示したが、実際には、フロー情報集約テーブル５３と同様に、時系列分の列（time=t,t+1,t+2,…）が存在する。
【００４２】
例えば、トラフィック推測テーブル５６の第１行（リンクＬ１１の行）は、リンクＬ１１内を流れるフローのフロー特定情報が「ＶＭ９１１→ＶＭ９４３のフローｆ１」であり、そのフローｆ１単独でのフロー通信量が「100」であり、リンクＬ１１内を流れる他のフローが存在しないため、フロー通信量の合計も「100」である旨が記載されている。
【００４３】
Ｓ２０６において、トラフィック推測部５４は、フローｆ１のフロー通信量を登録するトラフィック推測テーブル５６内のレコードとして、パス経路テーブル１４を参照することで、リンクＬ１１のレコードと、リンクＬ４１のレコードを特定する。そして、トラフィック推測部５４は、特定したリンクＬ１１とＬ４１の各レコードについて、フローｆ１のフロー特定情報と、そのフローｆ１のフロー通信量とを対応付けて格納する。
つまり、トラフィック推測部５４は、フロー特定情報から解決したパス特定情報をもとに、そのパスが通過する各リンクごとのフロー通信量を求める演算を行うことで、トラフィック推測テーブル５６を作成する。
【００４４】
求めるフロー通信量は、リンクごとでなくても良く、各フロー通信量の合計値でも良いし、ある特定のテナントに係るフローの通信量であっても良い。すなわち、ここでは、トラフィック推測テーブル５６のレコードはリンクごとのレコードとしたが、リンクだけでなく、リンクにより接続される装置（ＡＳＷ２、ＴＳＷ３）ごとのレコードもトラフィック推測テーブル５６に追加してもよい。この場合は、トラフィック推測部５４は、そのパスが通過する各リンクおよび各装置ごとのフロー通信量を求める演算を行うことで、トラフィック推測テーブル５６を作成すればよい。リンクまたは装置ごとに求めるフロー通信量は、所定の基準でグループ化したフローの合計値であっても良い。例えば、各フロー通信量の合計値でも良いし、複数のリンクにまたがる、ある特定のテナントに係るフローの通信量であっても良い。
【００４５】
なお、トラフィック推測部５４は、同じフローｆ１のフロー通信量「100」を加算する時刻として、フローｆ１の上流側（Ｌ１１）と下流側（Ｌ４１）とで、フロー通信に伴う遅延時間を考慮してもよい。
例えば、遅延時間を考慮しないとすると、リンクＬ１１のtime=tの欄と、リンクＬ４１のtime=tの欄とにそれぞれフロー通信量「100」を加算するが、遅延時間を考慮すると、リンクＬ１１のtime=tの欄と、リンクＬ４１のtime=t+2の欄とにそれぞれフロー通信量「100」を加算する（この場合、Ｌ１１よりもＬ４１のほうが、time=2の分だけ遅延する）。
【００４６】
以上、トラフィック推測部５４によるトラフィック推測テーブル５６の作成処理の詳細を説明した。管理サーバ１は、以下に示すように、このトラフィック推測テーブル５６を様々な用途に活用することができる。以下、トラフィック推測テーブル５６の用途を３つ例示する。
【００４７】
第１の用途は、ネットワーク監視である。管理サーバ１は、トラフィック推測テーブル５６のトラフィック量情報を、例えば管理サーバ１から読み取り、管理サーバ１に内蔵または接続される表示装置に表示されるようなＧＵＩ（Graphical User Interface）を提供する。このＧＵＩの表示では、例えば、図１２のようなネットワーク上を通過する各フローを表示したりや、図１のようなネットワークトポロジ図の各リンクにトラフィック推測テーブル５６のフロー通信量の合計値を吹き出しで表示したりする。
そして、ＧＵＩの表示において、全フローを別々に見せるような方式をとってもよいし、例えば、自テナントのトラフィックと、他テナントのトラフィックと、余剰トラフィックというように表示させてもよい。表示させる情報は、管理サーバ１から取得するのではなく、個々の物理マシン７から取得してもよい。
【００４８】
このＧＵＩの表示により、どの経路に、どのエンドノード間のトラフィックが流れているかが明らかになるため、輻輳や、障害が発生した場合においても、即座に、影響を受けているエンドノードを特定することができる。
【００４９】
第２の用途は、自動障害検知である。管理サーバ１は、トラフィック推測テーブル５６の推測データに加えて、実際のトラフィック量の計測データを別途各スイッチ（ＡＳＷ２、ＴＳＷ３、ＶＳＷ８）から取得する。実際のネットワークにおいては、障害などにより、推測データと計測データとが異なることがありうる。そこで、管理サーバ１は、推測データと計測データとでデータ内容（トラフィックの種別および量など）を比較することにより、障害や、経路ルールの間違いなどを検知するなど、検証を実施することができる。
なお、この場合、管理サーバ１は、各物理マシン７と接続されているだけではなく、ＡＳＷ２、ＴＳＷ３とも接続されていても良い。
【００５０】
これにより、どのフローが、ネットワークシステム内のどの場所を流れているかを把握することで、ネットワークシステム内に輻輳や障害が発生した場合に、その影響範囲を特定することができる。
一方、比較例として、特開２００７−１８９６１５号公報には、障害や輻輳が発生した場合、ネットワーク装置から情報を取得し、その影響範囲を解析する旨が記載されている。しかし、トラフィック推測テーブル５６の推測データを用いずに、実際のトラフィック量の計測データを用いるだけでは、収集可能なネットワーク範囲が限られてくるので、輻輳や障害が発生した場合の影響範囲の特定が困難である。
【００５１】
第３の用途は、フローの経路変更である。トラフィック推測テーブル５６を参照すると、リンクごとのフロー通信量が時系列にわかるので、現在または将来のある時刻において、あるリンクが混雑することを検出できる。例えば、図８（ｂ）では、time=tにおけるリンクＬ４１の通信量が、３つのフローの合計（３１０）と高負荷になっている。よって、このリンクＬ４１を通過するフローのうちの少なくとも１つのフローを、新たにＬ４１を通過しないパスへと移動する（経路変更する）ことにより、輻輳を抑制することができる。後記する図１０〜図１２において、第３の用途であるフローの経路変更の詳細を説明する。
【００５２】
図９は、ネットワークシステムのデータフレームの送信処理を示すフローチャートである。図９では、フローｆ１の送信側の物理マシン７（ＶＳＷ８ａを収容する装置）の処理を示す。
【００５３】
Ｓ１０１において、ＶＭ９１１は、フローｆ１（ＶＭＳＡ＝ＶＭ９１１、ＶＭＤＡ＝ＶＭ９４１）のデータフレームをトンネル処理部８４に送信する。
Ｓ１０２において、トンネル処理部８４は、Ｓ１０１のデータフレームに対して、ＤＡ対応テーブル８３を参照してパス解決処理を行う。具体的には、トンネル処理部８４は、ＤＡ対応テーブル８３から「ＶＭＤＡ＝ＶＭ９４１」に対応する「ＶＳＤＡ＝ＶＳＷ８ｄ」を取得するとともに、ＶＭＳＡとＶＳＳＡとの対応情報（例えば、ＶＭ収容管理テーブル６４およびＳＡ対応テーブル６５の生成元となる情報）を参照して、「ＶＭＳＡ＝ＶＭ９１１」に対応する「ＶＳＳＡ＝ＶＳＷ８ａ１」を取得する。
【００５４】
Ｓ１０３において、トンネル処理部８４は、Ｓ１０２で解決したパス特定情報をＳ１０１のデータフレームにカプセリング（ヘッダを追加）する。
Ｓ１０４において、トンネル処理部８４は、ＶＳＷ制御部８５にＳ１０３のデータフレームを渡す。
Ｓ１０５において、ＶＳＷ制御部８５は、転送部７２にＳ１０４のデータフレームを渡す。
【００５５】
そして、転送部７２は、転送テーブル７３を参照して、Ｓ１０４のデータフレームにカプセリングされたパス特定情報を検索キーとして、転送テーブル７３からそのパス特定情報が示すパス経路の次ホップ（ここでは、リンクＬ９１で接続されるＴＳＷ３ａ）を特定する。転送部７２は、特定した次ホップへとＳ１０４のデータフレームを送信する。
【００５６】
図１０は、ネットワークシステムの経路変更処理を示すフローチャートである。トラフィック推測テーブル５６には、リンクごとのフロー通信量が記載されており、そのフロー通信量が多く輻輳が発生しうるリンクにトラフィックが偏らないように、データフレームが通過する経路を分散させる処理を、以下で説明する。
【００５７】
Ｓ３０１において、経路変更判断部５７は、トラフィック推測テーブル５６を監視し、リンクを使用するフロー通信量の合計が、所定閾値を超えるリンクを検知する（詳細は、図１１参照）。なお、トラフィック推測テーブル５６を元にした所定閾値を超えるリンクの検知処理の代わりに、他装置（ＶＭ９など）からの広帯域を要するフローの送信前の管理サーバ１への通知処理により、所定閾値を超えるリンクを検知してもよい。
【００５８】
Ｓ３０２において、Ｓ３０１で検知したリンクを通過するフロー群のフロー特定情報を所定閾値を超えるリンクと対応付けて、経路変更の対象フローとしてパス経路管理部６２に通知する。なお、リンクを通過するフロー群のうちの一部のフロー（フロー通信量の増加率が一番高いフロー、更新時間の一番新しいフローなど）に絞り込んでから、通知してもよい。
【００５９】
Ｓ３０３において、パス経路管理部６２は、Ｓ３０２のフロー特定情報からそのフローが通過するパス特定情報を求める（パス解決処理）。そのために、例えば、パス経路管理部６２は、ＶＭＳＡからＶＭ収容管理テーブル６４のＶＳＩＤ（仮想スイッチＩＤ）を抽出する。
Ｓ３０４において、パス経路管理部６２は、パス経路テーブル１４と、経路マップ６６とを参照する。
Ｓ３０５において、パス経路管理部６２は、所定閾値を超えるリンク（輻輳リンク）を通過しないパスのアドレスを算出することで、そのパスを変更先のパスとして選択する。具体的には、パス経路管理部６２は、Ｓ３０３でパス解決処理されたパス群（ＶＭＳＡのＶＭ９を収容するＶＳＷ８を送信元とするパス群（ＳＡ対応テーブル６５から特定可能）のうちのＶＭＤＡのＶＭ９を収容するＶＳＷ８を宛先とするパス群）の中から、所定閾値を超えるリンクを経由しないパスを抽出する。なお、リンクの経由情報は、Ｓ３０４で参照したパス経路テーブル１４内のパス経路列から取得できる。
Ｓ３０６において、パス経路管理部６２は、Ｓ３０５で算出したＶＳＷ８のアドレスをもとに、ＤＡ対応テーブル６３の情報を更新して書き込む。
【００６０】
Ｓ３０７において、物理マシン通信部６１は、ＤＡ対応テーブル６３のアドレス情報が更新されたことを検知する。
Ｓ３０８において、物理マシン通信部６１は、Ｓ３０７で検知したＤＡ対応テーブル６３のアドレス情報を、管理サーバ通信部８１へと送信する。
Ｓ３０９において、管理サーバ通信部８１は、Ｓ３０８で受信したアドレス情報を、経路制御部８２へ渡す。
Ｓ３１０において、経路制御部８２は、Ｓ３０９で受信したアドレス情報を元に、ＤＡ対応テーブル８３を更新する。
これにより、所定閾値を超えるリンク（輻輳発生が予想されるリンク）を通過するフローが減ることにより、所定閾値を超えるリンクへの輻輳発生を防止できる。
【００６１】
図１１は、リンクＬ４１のフロー通信量を示すグラフである。グラフの縦軸が帯域幅となり、横軸が時刻である。縦軸の「上限値」は、リンクＬ４１が通信可能な最大帯域幅であり、縦軸の「閾値」は、Ｓ３０１において経路変更判断部５７の判断に使用される閾値である。なお、この閾値は、運用の中でその値が最適な値となるよう、変更してもよい。値の変更の方法は特に限定せず、例えばコマンドラインにより変更する方法であっても良いし、もしくは、対話形式で変更するためのＧＵＩを提供しても良い。
【００６２】
図１１（ａ）では、リンクＬ４１を使用するフローは、２つ（フローｆ１、フローｆ２）であり、リンクＬ４１の帯域に余裕があるので、Ｓ３０１では所定閾値を超えるリンクとは判断されない。
図１１（ｂ）では、リンクＬ４１を使用する第３のフロー（フローｆ３）が追加された結果、その３つのフロー通信量の合計が経路変更契機の時刻において閾値を超過してしまう。これにより、経路変更判断部５７は、Ｓ３０１において、所定閾値を超えるリンクとして、リンクＬ４１を検出する。つまり、図１０の処理における経路変更対象のフローとして、３つのフロー（フローｆ１〜ｆ３）が検出される。
【００６３】
図１２は、フローごとの経路を示す説明図である。
図１２（ａ）では、図２で前記したように、フローｆ１は、送信元から順に、ＶＭ９１１→ＶＳＷ８ａ→ＴＳＷ３ａ→ＡＳＷ２ａ→ＴＳＷ３ｄ→ＶＳＷ８ｄ→ＶＭ９４１と通過するフローである。図１２では、ＶＭ９（ＶＭ９１１、ＶＭ９４１）の図示を省略している。
フローｆ２は、ＶＭ９２１→ＶＳＷ８ｂ→ＴＳＷ３ｂ→ＡＳＷ２ａ→ＴＳＷ３ｄ→ＶＳＷ８ｄ→ＶＭ９４１を経由する。
フローｆ３は、ＶＭ９３２→ＶＳＷ８ｃ→ＴＳＷ３ｃ→ＡＳＷ２ａ→ＴＳＷ３ｄ→ＶＳＷ８ｄ→ＶＭ９４１を経由する。
【００６４】
この図１２（ａ）で示した３つのフロー（フローｆ１〜ｆ３）は、リンクＬ４１（ＡＳＷ２ａ→ＴＳＷ３ｄ）を共有しているため、図１１（ｂ）で示したように、所定閾値を超えるリンクとして検出されてしまう。
よって、図１２（ｂ）で示すように、図１０のフローチャートを実行した結果、フローｆ３の経路がリンクＬ４１を通らないように（ＡＳＷ２ａ経由ではなくＡＳＷ２ｃ経由に変更するように）迂回することで、リンクＬ４１への輻輳を回避することができる。
【００６５】
一方、図１２（ｂ）の状態からリンクＬ４１の使用帯域に余裕が出てきたときには（フロー通信量の合計が閾値を大きく下回るなど）、図１２（ａ）へとフローｆ３の経路を戻すことでフロー転送に使用する装置の数を減らしてもよい。これにより、データフレームが流れる経路を一部の経路へ集約し、利用しない経路を構成するネットワーク装置を停止させることで、余分な電力の消費を抑えることができる。
【００６６】
以上説明した本実施形態では、トラフィック推測部５４が、フロー情報集約テーブル５３に記載されるフロー通信量を、パス経路テーブル１４に記載されるフローごとの通過リンクに対して割り当てていく演算により、トラフィック推測テーブル５６を作成する。
よって、トラフィック推測テーブル５６の作成のために、ＡＳＷ２やＴＳＷ３などのネットワークシステムの転送担当部分によって、自ら転送するフロー通信量を計測する手段は、不要であり、フローの転送を担当するネットワーク装置に負荷をかけずに済む。これにより、ネットワークシステムの通信状況を示すデータを低コストで取得することができる。
さらに、トラフィック推測テーブル５６内のデータは、ＶＭ９が実際に転送するフローごとのフロー通信量を反映したデータであるので、ＡＳＷ２やＴＳＷ３など装置単位の予測データよりも高精度な通信状況を示すデータである。
そして、取得したトラフィック推測テーブル５６内のデータは、ネットワーク監視処理や、自動障害検知処理や、輻輳リンク回避のためのフローの経路変更処理に活用することができる。
【００６７】
なお、管理サーバ１がフロー処理（トラフィック推測処理など）を行う対象のネットワークシステムとして、図１に示した仮想計算機（ＶＳＷ８、ＶＭ９）上で動作するＶＸＬＡＮ等のトンネリング環境だけでなく、物理計算機（ＶＳＷ８の機能を有する物理スイッチ、ＶＭ９の機能を有するユーザ端末）上で動作するトンネリングを用いない通常のＬＡＮ環境としてもよい。
まず、ＶＸＬＡＮのトンネリング環境では、トラフィック推測部５４（推測処理部）がトラフィック推測テーブル５６を作成するために、フロー情報記録部５２（フロー収集処理部）が収集したフロー特定情報をキーに、経路管理部１６（パス収集処理部）が収集した、ＤＡ対応テーブル６３と、ＶＭ収容管理テーブル６４と、ＳＡ対応テーブル６５（ＤＡ対応テーブル６３とＶＭ収容管理テーブル６４とＳＡ対応テーブル６５とを合わせてフロー／パス対応情報という）とを検索して、フロー特定情報に対応するパス特定情報を導き出す。推測処理部が、導き出したパス特定情報をキーに、パス経路テーブル１４と、経路マップ６６（パス経路テーブル１４と経路マップ６６とを合わせてフロー経路情報という）とを検索することによって、フロー特定情報によって特定されるフローの経路を特定していた。
一方、通常のＬＡＮ環境では、推測処理部が、トラフィック推測テーブル５６を作成するために、フロー収集処理部が収集したフロー特定情報をキーに、パス経路テーブル１４に相当するテーブル、すなわち、上記例では、パス特定情報をキーに検索できるパス経路テーブル１４を設けていたが、通常のＬＡＮ環境では、フロー特定情報と経路の対応状況を記録した、パス経路テーブル１４に相当するテーブルを用意し、フロー特定情報をキーに、当該テーブルと、経路マップ６６（パス経路テーブル１４に相当する前記テーブルと、経路マップ６６とを合わせてフロー経路情報という）とを検索することによって、フロー特定情報によって特定されるフロー経路を特定する。
【符号の説明】
【００６８】
１      管理サーバ
２      ＡＳＷ
３      ＴＳＷ
７      物理マシン
８      ＶＳＷ
９      ＶＭ
１１    ＯＳ
１２    転送部
１３    転送テーブル
１４    パス経路テーブル
１５    トラフィック管理部
１６    経路管理部
４１    フロー情報計測部
４２    フロー情報個別テーブル
４３    管理サーバ通信部
５１    物理マシン通信部
５２    フロー情報記録部
５３    フロー情報集約テーブル
５４    トラフィック推測部
５５    トラフィック記録部
５６    トラフィック推測テーブル
５７    経路変更判断部
６１    物理マシン通信部
６２    パス経路管理部
６３    ＤＡ対応テーブル
６４    ＶＭ収容管理テーブル
６５    ＳＡ対応テーブル
６６    経路マップ
７１    ＯＳ
７２    転送部
７３    転送テーブル
７４    トラフィック計測部
８１    管理サーバ通信部
８２    経路制御部
８３    ＤＡ対応テーブル
８４    トンネル処理部
８５    ＶＳＷ制御部
９１    ＶＭ制御部
９２    ＶＭディスクイメージ
【図１】
0005883926.tif 000002
【図２】
0005883926.tif 000003
【図３】
0005883926.tif 000004
【図４】
0005883926.tif 000005
【図５】
0005883926.tif 000006
【図６】
0005883926.tif 000007
【図７】
0005883926.tif 000008
【図８】
0005883926.tif 000009
【図９】
0005883926.tif 000010
【図１０】
0005883926.tif 000011
【図１１】
0005883926.tif 000012
【図１２】
0005883926.tif 000013