(57)【要約】【課題】ネットワークシステムにおけるトラフィックの特性解析を、トラフィックデータが属するフロー単位で実行可能にすることを目的とする。【解決手段】本実施例におけるネットワークシステムは、各々が複数のフローに属するトラフィックデータをフローごとに宛先装置を切り替えて送信する複数の第１ノード装置と、複数の第１ノード装置と接続された管理装置と有するシステムである。複数の第１ノード装置の各々は、複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、サンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャあれたデータをサンプリングデータとして管理装置に送信するサンプリング実行部とを有し、管理装置は、複数の第１ノード装置の各々からサンプリングデータを受信し、受信されたサンプリングデータに基づいてフローの特性解析を行う。【選択図】図２
2013207748.tif 000002
【特許請求の範囲】
【請求項１】
各々が、複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数の第１ノード装置と、
前記複数の第１ノード装置と接続された管理装置と
を有するネットワークシステムであって、
前記複数の第１ノード装置の各々は、
前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、
前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部とを有し、
前記管理装置は、前記複数の第１ノード装置の各々から前記サンプリングデータを受信し、受信されたサンプリングデータに基づいて、前記フローの特性解析を行うことを特徴とするネットワークシステム。
【請求項２】
前記サンプリング管理部は、所定のサンプリングレートに従って所定の乱数値を生成し、前記生成された乱数値に基づいて、前記サンプリング対象とするフローを確率的に決定する
ことを特徴とする請求項２記載のネットワークシステム。
【請求項３】
前記サンプリング管理部は、前記トラフィックデータが前記フローの開始を示すフロー接続制御情報を含むとき、前記フロー接続制御情報を含むトラフィックデータが属するフローをサンプリング対象とするか否かを、確率的に決定する
ことを特徴とする請求項１又は２記載のネットワークシステム。
【請求項４】
前記サンプリング実行部は、前記サンプリング対象に決定されたフローに属する全てのトラフィックデータをキャプチャし、キャプチャされた全てのトラフィックデータを前記管理装置に送信する
ことを特徴とする請求項１ないし３のいずれか一項記載のネットワークシステム。
【請求項５】
前記管理装置は、前記フローの特性解析の結果に基づいて、前記複数のフローの中から、輻輳が発生したフローを検出する
ことを特徴とする請求項１ないし４のいずれか一項記載のネットワークシステム。
【請求項６】
前記管理装置はさらに、前記輻輳が発生したフローの通信経路上に位置するノード装置の中から、前記輻輳が発生したノード装置を検出し、前記輻輳が発生したフローの通信経路を、前記輻輳が発生したノード装置を迂回するように変更することを特徴とする請求項５記載のネットワークシステム。
【請求項７】
前記複数の第１ノード装置の各々は、
前記サンプリング対象に決定されたフローに属するトラフィックデータに対して、サンプリング対象のフローに属するトラフィックデータであることを示すマーキング情報を付加するマーキング部
を有することを特徴とする請求項１ないし６のいずれか一項記載のネットワークシステム。
【請求項８】
前記ネットワークシステムは、
各々が、前記管理装置に接続され、前記第１ノード装置から送信されたトラフィックデータを受信し、受信されたトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数の第２ノード装置を有し、
前記第２ノード装置の各々は、
前記受信されたトラフィックデータに前記マーキング情報が付加されているかを判定し、前記マーキング情報が付加されたトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部
を有することを特徴とする請求項７記載のネットワークシステム。
【請求項９】
複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信するノード装置であって、
前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、
前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、管理装置に送信するサンプリング実行部と
を有することを特徴とするノード装置。
【請求項１０】
複数のフローに属するトラフィックデータを受信し、受信されたトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信するノード装置であって、
前記受信されたトラフィックデータに、サンプリング対象のフローに属するトラフィックデータであることを示すマーキング情報が付加されているか否かを判定し、前記マーキング情報が付加されたトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、管理装置に送信するサンプリング実行部
を有することを特徴とするノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例の一側面において開示する技術は、ネットワークシステム及びノード装置に関する。
【背景技術】
【０００２】
ネットワークシステムにおいて、そのネットワークを流れるトラフィックデータを解析する手法として、ｓＦｌｏｗと呼ばれる手法が知られている。
【０００３】
図１は、ｓＦｌｏｗによるトラフィックデータの解析方法を説明するための図である。図１に示したように、ネットワークシステム１００を構成する、サーバやスイッチ装置等のノード装置１０２はそれぞれ、ｓＦｌｏｗエージェント１０４を含む。また、ネットワークシステム１００には、そのネットワークを流れるトラフィックデータを解析するための管理装置１０６が設けられている。管理装置１０６は、ｓＦｌｏｗコレクタ１０８を含む。
【０００４】
各ノード装置１０２が他のノード装置からトラフィックデータを受けとると、各ノード装置１０２に含まれるｓＦｌｏｗエージェント１０４は、事前に定めた一定の割合で、受けとったトラフィックデータをキャプチャすることにより、トラフィックデータのサンプリングを行う。ｓＦｌｏｗエージェント１０４は、キャプチャしたトラフィックデータをサンプリングデータとして、管理装置１０６に送信する。
【０００５】
管理装置１０６が各ノード装置１０２から、キャプチャされたトラフィックデータを受けとると、管理装置１０６に含まれるｓＦｌｏｗコレクタ１０８は、受けとったトラフィックデータのヘッダやペイロードの解析を行うことにより、トラフィックの特性解析を行う。管理装置１０６は、その特性解析の結果に基づいて統計処理を行うことより、ネットワークシステム１００全体のトラフィック傾向を推定する。
【０００６】
尚、ネットワークに流れるトラフィックデータの特定フローについて、事前に定めたサンプリング条件によって、対応するフローに属するトラフィックデータをサンプリングする技術が、下記特許文献１及び２に記載されている。また、サーバが送出するパケットにタグ情報を付加することにより測定対象フローを識別する技術が、下記特許文献３に記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−００５４０２号公報
【特許文献２】特開２００７−３３６５１２号公報
【特許文献３】特開２００４−０３２７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
大規模データセンターネットワークなどのネットワークシステムにおいて、ネットワークを構成するサーバにはそれぞれ、膨大な数の仮想マシン（Virtual Machine、以下ＶＭとも称する）が設けられる。各々の仮想マシンの間で、コネクションが確立され、トラフィックデータのフローが形成されるため、ネットワーク全体に形成される、トラフィックデータのフローの数も膨大なものとなり、その態様も多様で複雑なものとなる。
【０００９】
そのため、大規模データセンターネットワークなどのネットワークシステムにおいては、より精密なトラフィック特性解析を行うために、各ノード装置において、そのネットワークに流れるトラフィックデータの特性解析を、トラフィックデータが属するフロー単位で行うことが求められている。
【００１０】
しかしながら、上述のｓＦｌｏｗでは、各ノード装置において、トラフィックデータが属するフローとは無関係に、一定の割合で、受けとったトラフィックデータがキャプチャされるため、トラフィックデータをフロー単位でまとめてキャプチャすることにより、フロー単位でのトラフィック特性解析を行うことができない。
【００１１】
さらに、上述のｓＦｌｏｗでは、各ノード装置において独立してトラフィックデータのサンプリングが行われるため、特定のフローに属するトラフィックデータをネットワーク全体にわたって追跡することにより、トラフィック特性に関する各ノード装置の間の比較等の解析を行うことができない。
【００１２】
従って、本実施例の一側面においては、大規模データセンターネットワークなどのネットワークシステムにおいて、そのネットワークに流れるトラフィックの特性解析を、トラフィックデータが属するフロー単位で行うことが可能なネットワークシステム及びノード装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本実施例の一側面におけるネットワークシステムは、各々が、複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数の第１ノード装置と、前記複数の第１ノード装置と接続された管理装置を有するネットワークシステムであって、前記複数の第１ノード装置の各々は、前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部とを有し、前記管理装置は、前記複数の第１ノード装置の各々から前記サンプリングデータを受信し、受信されたサンプリングデータに基づいて、前記フローの特性解析を行うものである。
【発明の効果】
【００１４】
本実施例の一側面におけるネットワークシステムによれば、大規模データセンターネットワークなどのネットワークシステムにおいても、そのネットワークに流れるトラフィックの特性解析を、トラフィックデータが属するフロー単位で行うことができる。
【図面の簡単な説明】
【００１５】
【図１】ｓＦｌｏｗによるトラフィックデータの解析方法を説明するための図である。
【図２】第１実施例に係るデータセンタネットワークシステム２００の構成を示す図である。
【図３】サーバ２０２及びスイッチ装置２０４の内部構成を示す機能ブロック図である。
【図４】サンプリング管理部３０８の構成を示す機能ブロック図である。
【図５】コネクション管理テーブル４０４の一例を示す図である。
【図６】サンプリング管理部３０８における、サンプリング対象フローの決定方法を示すフローチャートである。
【図７】サンプリング実行部３１２の構成を示す機能ブロック図である。
【図８】サンプリング対象フローテーブル７０４の一例を示す図である。
【図９】サンプリング実行部３１２における、サンプリング対象フローの管理方法を示すフローチャートである。
【図１０】サンプリング実行部３１２における、サンプリング対象フローに属するトラフィックデータのキャプチャ方法を示すフローチャートである。
【図１１】サーバ２０２及びスイッチ装置２０４の内部構成を示すハードウェア構成図である。
【図１２】第２実施例に係るデータセンタネットワークシステム１２００の構成を示す図である。
【図１３】サーバ１２０２の内部構成を示す機能ブロック図である。
【図１４】トラフィックデータに付加されるマーキング情報の一例を示す図である。
【図１５】サンプリング実行部１３１２の構成を示す機能ブロック図である。
【図１６】サンプリング実行部１３１２における、サンプリング対象フローに属するトラフィックデータに対するマーキング指示方法を示すフローチャートである。
【図１７】スイッチ装置１２０４の内部構成を示す機能ブロック図である。
【図１８】サンプリング実行部１７１２における、サンプリング対象フローに属するトラフィックデータのキャプチャ方法を示すフローチャートである。
【図１９】データセンタネットワーク１９００において輻輳が発生した場合における通信経路の切り替え処理を説明するための図（その１）である。
【図２０】データセンタネットワーク１９００において輻輳が発生した場合における通信経路の切り替え処理を説明するための図（その２）である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について説明する。
【００１７】
尚、以下の実施例においては、本発明が適用されるシステムとして、データセンタネットワークシステムを例にとって説明するが、この例には限定されず、本発明は、サーバとスイッチ装置等を含むネットワークシステムに広く適用されるものである。
【実施例】
【００１８】
［１．第１実施例］
以下、第１実施例に係るノード装置、及び、ネットワークシステムについて説明する。
【００１９】
［１−１．データセンタネットワークシステム２００の構成］
図２は、第１実施例に係るデータセンタネットワークシステム２００の構成を示す図である。
【００２０】
図２に示したように、データセンタネットワークシステム２００は、サーバ２０２−１〜４、スイッチ装置２０４−１〜４、及び管理装置２０８を含む複数のノード装置を有する。サーバ２０２−１〜４と、スイッチ装置２０４−１〜４は、図２において実線で示した、データ通信用のネットワーク回線を介して接続されている。
【００２１】
サーバ２０２−１〜４の各々は、少なくとも１つの仮想スイッチと複数の仮想マシン（ＶＭ）を含む。例えば、サーバ２０２−１は、１つの仮想スイッチ２１４−１と２つのＶＭ２１２−１、２を含む。ＶＭ２１２−１、２はそれぞれ、仮想スイッチ２１４−１を介して、対応するスイッチ装置２０４−１に接続される。サーバ２０２−２〜４においても、サーバ２０２−１と同様に、複数の仮想マシン２１２−３〜８が仮想スイッチ２１４−２〜４を介して、対応するスイッチ装置２０４−１、２に接続される。
【００２２】
スイッチ装置２０４−１〜４は、ネットワーク中継器として機能する物理スイッチであり、レイヤ２スイッチ（Ｌ２スイッチ）である。スイッチ装置２０４−１〜４はそれぞれ、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。スイッチ装置２０４−１〜４は、サーバ又は他のスイッチ装置からトラフィックデータを受けとり、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、受けとったトラフィックデータの転送経路を決定する、周知のスイッチング制御を行う。
【００２３】
仮想スイッチ２１４−１〜４は、対応するサーバにおいてプロセッサが所定のプログラムを実行することによって実現される、仮想的に設けられたネットワーク中継器であり、レイヤ２（Ｌ２）スイッチである。仮想スイッチ２１４−１〜４はそれぞれ、スイッチ装置２０４−１〜４と同様に、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。仮想スイッチ２１４−１〜４は、ＶＭ又はスイッチ装置からトラフィックデータを受けとり、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、受けとったトラフィックデータの転送経路を決定するスイッチング制御を行う。
【００２４】
ＶＭ２１２−１〜８の各々は、他のＶＭとの間にコネクションを確立し、コネクションを確立したＶＭとの間でトラフィックデータの通信を行う。２つのＶＭとの間でコネクションが確立されると、その２つのＶＭの間には、仮想スイッチ２１４−１〜４、及び、スイッチ装置２０４−１〜４の少なくとも１つを経由する通信経路が確立される。各通信経路は、その通信経路上に位置するスイッチ装置及び仮想スイッチの各々において、上述したスイッチング制御が実行された結果として、確立されるものである。
【００２５】
そして、その２つのＶＭの間では、確立された通信経路によって、対応するフローに属するトラフィックデータが転送される。ここで、フローとは、ＴＣＰ（Transmission Control Protocol）やＵＤＰ（User Datagram Protocol）等の通信プロトコルに基づいて一体のデータ群として通信制御がなされる一連のトラフィックデータの集合体のことである。
【００２６】
図２に示した例では、ＶＭ２１２−１とＶＭ２１２−４の間にコネクションが確立され、ＶＭ２１２−１とＶＭ２１２−４の間には、太幅の実線で示したように、仮想スイッチ２１４−１、スイッチ装置２０４−１、及び仮想スイッチ２１４−２を経由した通信経路が確立されている。ＶＭ２１２−１とＶＭ２１２−４の間では、確立された通信経路によって、対応するフローに属するトラフィックデータが転送される。
【００２７】
また、ＶＭ２１２−２とＶＭ２１２−６の間にコネクションが確立され、ＶＭ２１２−２とＶＭ２１２−６の間には、太幅の実線で示したように、仮想スイッチ２１４−１、スイッチ装置２０４−１、２０４−３、２０４−２、及び仮想スイッチ２１４−３を経由した通信経路が確立されている。ＶＭ２１２−２とＶＭ２１２−６の間では、確立された通信経路によって、上述のＶＭ２１２−１とＶＭ２１２−４の間のフローとは別のフローに属するトラフィックデータが転送される。
【００２８】
さらに、データセンタネットワークシステム２００においては、サーバ２０２−１〜４は、フローサンプリング部２１６−１〜４を含む。スイッチ装置２０４−１〜４は、フローサンプリング部２１８−１〜４を含む。
【００２９】
フローサンプリング部２１６−１〜４は、ＶＭ２１２−１〜８が生成したトラフィックデータを受けとり、受けとったトラフィックデータに含まれるフロー制御データに基づいて、サンプリング対象とするフローを確率的に決定する。フローサンプリング部２１６−１〜４は、サンプリング対象として決定されたフロー（サンプリング対象フロー）に属する全てのトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置２０８に出力する。フローサンプリング部２１６−１〜４、及びフロー制御データの詳細については後述する。
【００３０】
フローサンプリング部２１８−１〜４は、自装置以外のサーバ２０２−１〜４又はスイッチ装置２０４−１〜４からトラフィックデータを受けとり、受けとったトラフィックデータに含まれるフロー制御データに基づいて、受けとったトラフィックデータをサンプリング対象とするか否かを確率的に決定する。フローサンプリング部２１８−１〜４は、サンプリング対象フローに属する全てのトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置２０８に出力する。フローサンプリング部２１８−１〜４、及びフロー制御データの詳細については後述する。
【００３１】
管理装置２０８は、サーバ２０２−１〜４、及びスイッチ装置２０４−１〜４と、図２において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。一点鎖線で示した、管理用のネットワーク回線は、実線で示した、データ通信用のネットワーク回線とは独立した回線である。管理装置２０８は、管理用のネットワーク回線を通じて、サーバ２０２−１〜４、及びスイッチ装置２０４−１〜４の各々から、サンプリングデータを受けとる。
【００３２】
管理装置２０８は、受けとったサンプリングデータのヘッダやペイロードの解析を行うことにより、サンプリング対象フローに関してフローの特性解析を実行する。フローの特性解析は例えば、そのフローの性能に関するパラメータの解析、すなわち、そのフローに属するトラフィックデータの流量、ロス率や再送回数に関する解析、及び、そのフローに属するトラフィックデータに関するＴＣＰのシーケンス解析等である。
【００３３】
管理装置２０８は、データセンタネットワークシステム２００が稼働している期間、サーバ２０２−１〜４及びスイッチ装置２０４−１〜４からのサンプリングデータの受信を継続する。管理装置２０８は、データセンタネットワークシステム２００の稼働期間中、各々のサーバ又はスイッチ装置から、定期的にサンプリングデータを受信し続け、それによって、各々のサーバ又はスイッチ装置からのサンプリングデータを蓄積していく。
【００３４】
管理装置２０８は、蓄積された個々のサンプリングデータに基づくサンプリング対象フローの特性解析の結果に対して統計処理を行うことにより、データセンタネットワークシステム２００に関する、フロー単位のトラフィック傾向を示す統計情報を取得する。管理装置２０８において行われる処理の詳細については後述する。
【００３５】
以上説明したように、第１実施例に係るネットワークシステム２００においては、ネットワークシステムを構成するサーバ２０２及びスイッチ装置２０４が、サンプリング対象フローに属する全てのトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置２０８に送信するので、管理装置２０８は、１つのフローに属する一連のサンプリングデータに基づいて、フロー単位でのトラフィック特性解析を実行することができ、フローの性能に関するパラメータ（フローの流量、ロス率、再送回数等）の解析結果を取得することができる。さらに、管理装置２０８は、その解析結果の統計処理によって、データセンタネットワークシステム２００全体のトラフィック傾向を、フロー単位でのトラフィック傾向として推定することができる。
【００３６】
尚、図２に示したデータセンタネットワークシステム２００においては、システムを構成するサーバ２０２−１〜４及びスイッチ装置２０４−１〜４の全てにフローサンプリング部２１６−１〜４、２１８−１〜４を設けたが、この構成には限定されない。サーバ２０２−１〜４及びスイッチ装置２０４−１〜４の中から選択された一部の装置にのみフローサンプリング部を設けるようにしてもよく、例えば、サーバ２０２−１〜４にのみフローサンプリング部２１６−１〜４を設け、スイッチ装置２０４−１〜４にはフローサンプリング部を設けないようにしてもよい。
【００３７】
［１−２．サーバ２０２、スイッチ装置２０４の内部構成］
図３は、サーバ２０２及びスイッチ装置２０４の内部構成を示す機能ブロック図である。図３は、サーバ２０２及びスイッチ装置２０４が有する機能のうち、トラフィックデータのスイッチング制御機能及びフローサンプリング機能に関連する部分を示したものであり、これらの機能はサーバ２０２及びスイッチ装置２０４において互いに同様である。よって、サーバ２０２及びスイッチ装置２０４について、図３を用いてまとめて説明する。
【００３８】
図３に示したように、サーバ２０２及びスイッチ装置２０４は、スイッチング部３０２及びフローサンプリング部３０４を含む。
【００３９】
スイッチング部３０２はトラフィックデータを受けとり、受けとったトラフィックデータを内部に保持する。スイッチング部３０２は、受けとった全てのトラフィックデータをフローサンプリング部３０４内のデータ識別部３０６に出力する。
【００４０】
スイッチング部３０２は、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブル（不図示）を有する。スイッチング部３０２は、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、内部に保持したトラフィックデータの転送経路を決定する、周知のスイッチング制御を行う。
【００４１】
サーバ２０２においては、スイッチング部３０２は、サーバ２０２の内部に設けられたＶＭ２１２からトラフィックデータを受けとり、受けとったトラフィックデータを、スイッチング制御によって決定されたスイッチ装置２０４に出力する。スイッチング部３０２は、サーバ２０２の内部に設けられた仮想スイッチ２１４に対応するものである。
【００４２】
スイッチ装置２０４においては、スイッチング部３０２は、サーバ２０２に設けられた仮想スイッチ２１４又は他のスイッチ装置２０４から、データ通信用のネットワーク回線を介して、トラフィックデータを受けとり、受けとったトラフィックデータを、スイッチング制御によって決定された他のスイッチ装置２０４タ又はサーバ２０２に設けられた仮想スイッチ２１４に出力する。
【００４３】
図３に示したように、フローサンプリング部３０４は、データ識別部３０６、サンプリング管理部３０８、及びサンプリング実行部３１２を含む。フローサンプリング部３０４は、図２に示したフローサンプリング部２１６、２１８に対応するものである。
【００４４】
データ識別部３０６は、スイッチング部３０２からトラフィックデータを受けとる。データ識別部３０６は、受けとったトラフィックデータが、そのトラフィックデータが属するフローの接続制御情報（フロー接続制御情報）を含むデータ（フロー制御データ）であるか否かを識別する。データ識別部３０６は、受けとったトラフィックデータがフロー制御データである場合、そのフロー制御データ（トラフィックデータ）をサンプリング管理部３０８に出力する。
【００４５】
上述したフロー接続制御情報は例えば、そのフローの開始又は終了を制御するための情報である。ＴＣＰに基づいて制御されるフローの場合、フロー接続制御情報は例えば、トラフィックデータのＴＣＰヘッダに含まれるＳＹＮフラグやＦＩＮフラグである。ＳＹＮフラグは、ＴＣＰヘッダに含まれる、ＴＣＰコネクションの開始の要求を示すフラグである。ＦＩＮフラグは、ＴＣＰヘッダに含まれる、ＴＣＰコネクションの終了の要求を示すフラグである。
【００４６】
また、データ識別部３０６は、受けとった全てのトラフィックデータをサンプリング実行部３１２に出力する。
【００４７】
サンプリング管理部３０８は、サンプリングレート記憶部３１０を含み、データ識別部３０６から、フロー制御データを受けとる。サンプリングレート記憶部３１０は、サンプリング対象とするフローを決定する際に用いられる、サンプリングレートを記憶する記憶部である。サンプリングレートは事前に設定される値である。サンプリング管理部３０８は、受けとったフロー制御データがフローの開始を示すフロー接続制御情報を含む場合、そのフローをトラフィックデータのサンプリング対象のフローとするか否かを、サンプリングレート記憶部３１０に記憶されたサンプリングレートに従って確率的に決定する。
【００４８】
サンプリング管理部３０８は、受けとったフロー制御データに対応するフローをサンプリング対象に決定した場合、受けとったフロー制御データから、フローを識別するためのフロー固有の識別情報（フロー識別情報）を取得する。取得されるフロー識別情報は例えば、送信元及び宛先を示すＭＡＣ（Media Access Control）アドレス、ＩＰ（Internet Protocol）アドレス、ポート番号である。
【００４９】
サンプリング管理部３０８は、取得されたフロー識別情報を含むサンプリング対象フロー情報を生成し、生成したサンプリング対象フロー情報をサンプリング実行部３１２に出力する。サンプリング管理部３０８の詳細については後述する。
【００５０】
サンプリング実行部３１２は、サンプリング対象フロー記憶部３１４を含み、サンプリング管理部３０８から、サンプリング対象フロー情報を受けとる。サンプリング対象フロー記憶部３１４は、サンプリング対象とするフローに関するフロー識別情報を記憶する記憶部である。サンプリング実行部３１２は、受けとったサンプリング対象フロー情報に含まれるフロー識別情報をサンプリング対象フロー記憶部３１４に記憶する。
【００５１】
サンプリング実行部３１２は、データ識別部３０６から、スイッチング部３０２において受信された全てのトラフィックデータを受けとる。サンプリング実行部３１２は、サンプリング対象フロー記憶部３１４に記憶された、サンプリング対象フローに関するフロー識別情報を参照することにより、受けとった各々のトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。
【００５２】
サンプリング実行部３１２は例えば、受けとったトラフィックデータに含まれるＴＣＰヘッダを参照することにより、受けとったトラフィックデータが属するフローに関するフロー識別情報を取得する。サンプリング実行部３１２は、取得したフロー識別情報と、サンプリング対象フロー記憶部３１４に記憶された、サンプリング対象フローに関するフロー識別情報を比較し、両者が一致した場合に、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【００５３】
サンプリング実行部３１２は、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定した場合、そのトラフィックデータをキャプチャする。サンプリング実行部３１２は、キャプチャしたトラフィックデータをサンプリングデータとして、管理用のネットワーク回線を介して、図２に示した管理装置２０８に出力する。サンプリング実行部３１２の詳細については後述する。
【００５４】
以上説明したように、第１実施例に係るサーバ２０２及びスイッチ装置２０４においては、サンプリング対象フローに属する全てのトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置２０８に送信することができる。
【００５５】
［１−３．サンプリング管理部３０８について］
［１−３−１．サンプリング管理部３０８の構成］
図４は、サンプリング管理部３０８の構成を示す機能ブロック図である。図５は、コネクション管理テーブル４０４の一例を示す図である。
【００５６】
図４に示したように、サンプリング管理部３０８は、コネクション管理部４０２、コネクション管理テーブル４０４、サンプリング決定部４０６、サンプリングレート記憶部４０８及びフロー情報設定部４１０を含む。
【００５７】
コネクション管理部４０２は、データ識別部３０６から、フロー制御データを受けとる。コネクション管理部４０２は、受けとったフロー制御データに含まれるフロー接続制御情報を取得する。フロー接続制御情報は上述したように、例えば、そのフローの開始又は終了を制御するための情報である。ＴＣＰに基づいて制御されるフローの場合、フロー接続制御情報は例えば、トラフィックデータのＴＣＰヘッダに含まれるＳＹＮフラグやＦＩＮフラグである。
【００５８】
コネクション管理部４０２は、取得したフロー接続制御情報がフローの開始又は終了を示すものであるか否かを判定する。コネクション管理部４０２は取得したフロー接続制御情報がフローの開始又は終了を示すものである場合、受けとったフロー制御データからさらに、フロー識別情報を取得する。
【００５９】
コネクション管理部４０２は、取得したフロー接続制御情報がフローの開始を示すものである場合、新規のフローが開始されることを認識し、取得したフロー識別情報を、コネクション管理テーブル４０４の所定のエントリに記憶する。
【００６０】
コネクション管理テーブル４０４は、コネクション管理部４０２によって取得された、新規に開始されるフローに関するフロー識別情報を記憶する記憶部である。図５に示したように、コネクション管理テーブル４０４には例えば、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、及び宛先ポート番号からなる複数の識別情報を含むフロー識別情報が、複数のエントリに分けて記憶されている。各々のフローは、対応するフロー識別情報に含まれる、複数の識別情報の全部又は一部の組合せによって識別される。
【００６１】
また、コネクション管理部４０２は、取得したフロー接続制御情報がフローの開始を示すものである場合、新規に開始されるフローが存在することを示すフロー開始情報を生成する。フロー開始情報は、新規に開始されるフローの特定情報を含む。新規に開始されるフローの特定情報は例えば、図５に示したコネクション管理テーブル４０４におけるエントリの識別番号の情報である。コネクション管理部４０２は、生成したフロー開始情報をサンプリング決定部４０６に通知する。
【００６２】
コネクション管理部４０２は、取得したフロー接続制御情報がフローの終了を示すものである場合、現存するフローの中で終了するフローが存在することを認識し、コネクション管理テーブル４０４から、取得したフロー識別情報が記憶されたエントリを削除する。
【００６３】
尚、コネクション管理部４０２は、取得したフロー識別情報に対応するエントリを削除する代わりに、そのエントリを無効化する処理を行ってもよい。コネクション管理部４０２は、コネクション管理テーブル４０４においてフロー識別情報のエントリを管理することによって、トラフィックデータの転送が継続中であるフローを管理する。
【００６４】
サンプリング決定部４０６は、コネクション管理部４０２からフロー開始情報を受けとる。サンプリング決定部４０６は、フロー開始情報を受けとったとき、受けとったフロー開始情報に含まれる、フローの特定情報に基づいて、コネクション管理テーブル４０４を参照する。これにより、サンプリング決定部４０６は、新規に開始されるフローに関するフロー識別情報を取得する。
【００６５】
また、サンプリング決定部４０６は、フロー開始情報を受けとったとき、サンプリングレート記憶部４０８を参照することにより、サンプリングレート記憶部４０８に記憶されたサンプリングレートの情報を取得する。そして、サンプリング決定部４０６は、新規に開始されるフローをトラフィックデータのサンプリング対象のフローとするか否かを、取得されたサンプリングレートによって決定される確率に従って確率的に決定する。
【００６６】
サンプリングレート記憶部４０８には、図３に示したサンプリングレート記憶部３１０に対応するものであり、サンプリング対象とするフローを決定する際に用いられる、サンプリングレートを記憶する記憶部である。ここで、サンプリングレートとは、サンプリング決定部４０６が上述のフロー開始情報を受けとったときに、対応するフローに対してサンプリングを実行する確率を表す値であり、一定時間内に開始される全てのフロー数に対してサンプリングを実行するフロー数の割合を示す値である。サンプリングレートは一定値（定数）として与えられる。
【００６７】
サンプリング決定部４０６において、サンプリングレートに従って確率的にサンプリング対象のフローを決定する方法としては、種々の方法が考えられる。
【００６８】
１つの例示的な方法として、サンプリング決定部４０６は、取得したサンプリングレートによって決定される確率に従って、予め定められた当たり値をランダムに生成する乱数発生器を備える。そして、サンプリング決定部４０６は、フロー開始情報を受けとる度に、１〜Ｎの整数を等確率で発生させる乱数発生器により乱数値を生成し、ランダムに生成された乱数値が上述の当たり値に一致したときに、そのフロー開始情報に対応するフローをトラフィックデータのサンプリング対象のフローに決定する。例えば、サンプリングレートが“１／Ｎ”（Ｎは正の整数）である場合、予め“１”を当たり値として定めておき、乱数発生器によって生成された乱数値が“１”であったときに、サンプリング決定部４０６はフロー開始情報に対応するフローをサンプリング対象フローに決定する。
【００６９】
あるいは、別の方法として、サンプリング決定部４０６は、フロー開始情報を受けとったとき、サンプリングレートの逆数に相当する回数のうちの１回の割合で、そのフロー開始情報に対応するフローをサンプリング対象フローに決定するようにしてもよい。例えば、サンプリングレートが“１／Ｎ”（Ｎは正の整数）である場合、サンプリング決定部４０６は、フロー開始情報を受けとった回数をカウントする。そして、サンプリング決定部４０６は、カウント数がサンプリングレートの逆数に相当するＮの倍数に到達する度に、そのときのフロー開始情報に対応するフローをサンプリング対象フローに決定する。
【００７０】
あるいは、別の方法として、サンプリング決定部４０６は、サンプリングレートに基づいて、一定の監視期間の一部としてサンプリング期間を設け、そのサンプリング期間に受けとったフロー開始信号に対応するフローをサンプリング対象とするようにしてもよい。例えば、サンプリングレートが“１／Ｎ”（Ｎは正の整数）である場合、サンプリング決定部４０６は、監視期間をＮ秒間、Ｎ秒の監視期間内の１秒間をサンプリング期間と定める。そして、サンプリング決定部４０６は、定められた１秒のサンプリング期間内に受けとったフロー開始情報に対応する新規フローをサンプリング対象フローに決定する。尚、全体のＮ秒間の中のどのタイミングで、１秒間のサンプリング期間を設定するかは、ランダムに選択するようにすればよい。
【００７１】
サンプリング決定部４０６は、受けとったフロー開始情報に対応する新規フローをサンプリング対象に決定した場合、取得したフロー識別情報をサンプリング対象フローに関するフロー識別情報として、フロー情報設定部４１０に出力する。
【００７２】
フロー情報設定部４１０は、サンプリング決定部４０６から、フロー識別情報を受けとる。フロー情報設定部４１０は、受けとったフロー識別情報に基づいて、サンプリング対象フローに関するフロー識別情報を含むサンプリング対象フロー情報を生成する。フロー情報設定部４１０は、生成したサンプリング対象フロー情報をサンプリング実行部３１２に出力する。
【００７３】
以上説明したように、第１実施例に係るサンプリング管理部３０８においては、サンプリング決定部４０６がサンプリング対象フローを、フロー開始情報に応答して、サンプリングレートによって決定される確率に従って確率的に決定するので、各々のサーバ２０２やスイッチ装置２０４においてサンプリングされるデータの数を増加させることなく、かつ、統計処理に必要となるサンプリングデータ全体としてランダム性を損なうことなく、トラフィックデータをフロー単位でサンプリングデータとしてキャプチャすることができる。
【００７４】
［１−３−２．サンプリング対象フローの決定方法］
図６は、サンプリング管理部３０８において実行される、サンプリング対象フローの決定方法を示すフローチャートである。以下、図６に加えて、図４を参照しながら、サンプリング管理部３０８において実行される、サンプリング対象フローの決定方法について説明する。
【００７５】
図６に示したように、ステップＳ６０２において、コネクション管理部４０２は、データ識別部３０６からフロー制御データを受信する。フロー制御データを受信することにより、サンプリング対象フローを決定するための一連の処理が開始される。
【００７６】
次に、ステップＳ６０４において、コネクション管理部４０２は、ステップＳ６０２で受信したフロー制御データからフロー接続制御情報を取得する。コネクション管理部４０２は、取得したフロー接続制御情報がフローの開始又は終了を示すものであるか否かを判定する。取得したフロー接続制御情報がフローの開始を示すものである場合、処理はステップＳ６０６に進む。取得したフロー接続制御情報がフローの終了を示すものである場合、処理はステップＳ６１４に進む。取得したフロー接続制御情報が開始又は終了以外の内容を示すものである場合、処理はステップＳ６２０に進む。
【００７７】
ステップＳ６０６において、コネクション管理部４０２は、ステップＳ６０２で受信したフロー制御データからフロー識別情報を取得する。コネクション管理部４０２は、取得したフロー識別情報を、コネクション管理テーブル４０４の所定のエントリに記憶する。また、コネクション管理部４０２は、新規に開始されるフローの特定情報を含むフロー開始情報をサンプリング決定部４０６に通知する。新規に開始されるフローの特定情報は例えば、図５に示したコネクション管理テーブル４０４におけるエントリの識別番号の情報である。
【００７８】
次に、ステップＳ６０８において、サンプリング決定部４０６は、フロー開始情報を受けとったことに応答して、フロー開始情報に対応するフローをサンプリング対象フローとするか否かを、サンプリングレートによって決定される確率に従って確率的に決定する。ここで用いられるサンプリングレートは、サンプリングレート記憶部４０８を参照することにより取得される。サンプリングレートに従って確率的にサンプリング対象のフローを決定する方法については、上述したとおりである。
【００７９】
次に、ステップＳ６１０において、フロー開始情報に対応するフローをサンプリング対象フローとすることが決定された場合、処理はステップＳ６１２に進む。一方、フロー開始情報に対応するフローをサンプリング対象フローとしないことが決定された場合、処理はステップＳ６２０に進む。
【００８０】
ステップＳ６１２において、サンプリング決定部４０６は、ステップＳ６０６で取得したフロー識別情報を、サンプリング対象フローのフロー識別情報として、フロー情報設定部４１０に出力する。フロー情報設定部４１０は、サンプリング決定部４０６から受けとったフロー識別情報を含むサンプリング対象フロー情報を生成し、生成したサンプリング対象フロー情報をサンプリング実行部３１２に出力する。
【００８１】
次に、ステップＳ６２０において、サンプリング対象フローを決定するための一連の処理を終了する。
【００８２】
一方、ステップＳ６１４において、コネクション管理部４０２は、ステップＳ６０２で受信したフロー制御データからフロー識別情報を取得する。コネクション管理部４０２は、取得したフロー識別情報に基づいて、コネクション管理テーブル４０４を検索し、コネクション管理テーブル４０４の中に、取得したフロー識別情報が記憶されたエントリが存在するか否かを確認する。
【００８３】
次に、ステップＳ６１６において、コネクション管理テーブル４０４の中に、取得したフロー識別情報が記憶されたエントリが存在する場合は、処理はステップＳ６１８に進む。一方、コネクション管理テーブル４０４の中に、取得したフロー識別情報が記憶されたエントリが存在しない場合は、処理はステップＳ６２０に進む。
【００８４】
ステップＳ６１８において、コネクション管理部４０２は、コネクション管理テーブル４０４から、ステップＳ６１４で取得されたフロー識別情報が記憶されたエントリを削除する。
【００８５】
［１−４．サンプリング実行部３１２について］
［１−４−１．サンプリング実行部３１２の構成］
図７は、サンプリング実行部３１２の構成を示す機能ブロック図である。図８は、サンプリング対象フローテーブル７０４の一例を示す図である。
【００８６】
図７に示したように、サンプリング実行部３１２は、サンプリング対象フロー管理部７０２、サンプリング対象フロー管理テーブル７０４、キャプチャ判定部７０６、キャプチャ実行部７０８、キャプチャメモリ７１０及びキャプチャデータ送信部７１２を含む。
【００８７】
サンプリング対象フロー管理部７０２は、サンプリング管理部３０８内のフロー情報設定部４１０から、サンプリング対象フロー情報を受けとる。サンプリング対象フロー管理部７０２は、受けとったサンプリング対象フロー情報に基づいて、サンプリング対象フローに関するフロー識別情報を取得する。サンプリング対象フロー管理部７０２は、取得した、サンプリング対象フローに関するフロー識別情報をサンプリング対象フロー管理テーブル７０４の所定のエントリに記憶する。サンプリング対象フロー管理部７０２は、サンプリング対象フロー管理テーブル７０４においてフロー識別情報のエントリを管理することによって、どのフローがサンプリング対象フローとなっているかを管理する。
【００８８】
サンプリング対象フロー管理テーブル７０４は、図３に示したサンプリング対象フロー記憶部３１４に対応するものであり、サンプリング対象フローに関するフロー識別情報を記憶する記憶部である。図８に示したように、サンプリング対象フロー管理テーブル７０４には例えば、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、及び宛先ポート番号からなる複数の識別情報を含むフロー識別情報が、複数のエントリに分けて記憶されている。各々のサンプリング対象フローは、対応するフロー識別情報に含まれる、複数の識別情報の全部又は一部の組合せによって識別される。
【００８９】
キャプチャ判定部７０６は、データ識別部３０６から、スイッチング部３０２において受信された全てのトラフィックデータを受けとる。キャプチャ判定部７０６は、受けとったトラフィックデータに基づいて、サンプリング対象フロー管理テーブル７０４に記憶された各々のエントリを参照することにより、受けとった各々のトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。
【００９０】
キャプチャ判定部７０６は例えば、受けとったトラフィックデータに含まれるＭＡＣヘッダ、ＩＰヘッダ、及びＴＣＰヘッダを参照することにより、受けとったトラフィックデータが属するフローのフロー識別情報を取得する。キャプチャ判定部７０６は、取得したフロー識別情報と、サンプリング対象フロー管理テーブル７０４の各エントリに記憶されたフロー識別情報を比較する。キャプチャ判定部７０６は比較の結果、両者が一致した場合に、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【００９１】
キャプチャ判定部７０６は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、そのトラフィックデータをキャプチャ対象のデータであると判定し、キャプチャ判定情報を生成する。キャプチャ判定情報は、そのトラフィックデータがキャプチャ対象のデータであることを示すものである。キャプチャ判定部７０６は、生成したキャプチャ判定情報と、対応するトラフィックデータを、キャプチャ実行部７０８に出力する。
【００９２】
キャプチャ実行部７０８は、キャプチャ判定部７０６から、キャプチャ判定情報と、対応するトラフィックデータを受けとる。キャプチャ実行部７０８は、キャプチャ判定情報に応答して、受けとったトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをキャプチャメモリ７１０に書き込む。キャプチャメモリ７１０は、キャプチャ実行部７０８によってキャプチャされたトラフィックデータを記憶する記憶部である。
【００９３】
キャプチャデータ送信部７１２は定期的に、キャプチャメモリ７１０に記憶されているデータを参照し、キャプチャメモリ７１０に新規のトラフィックデータが書き込まれたか否かを監視する。キャプチャデータ送信部７１２は、キャプチャメモリ７１０に新規に書き込まれたトラフィックデータがある場合、その新規トラフィックデータをキャプチャメモリ７１０から読み出す。キャプチャデータ送信部７１２は、読み出したトラフィックデータをサンプリングデータとして、管理用のネットワーク回線を介して、図２に示した管理装置２０８に送信する。
【００９４】
以上説明したように、第１実施例に係るサンプリング実行部３１２においては、キャプチャ判定部７０６が、全てのトラフィックデータの中から、サンプリング対象フローに属するトラフィックデータのみを適切に選別するので、キャプチャ実行部７０８がサンプリング対象フローに属するトラフィックデータのみをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置２０８に送信することができる。
【００９５】
［１−４−２．トラフィックデータのサンプリング実行方法］
図９及び図１０は、サンプリング実行部３１２において実行される、サンプリング対象フローに属するトラフィックデータのサンプリング実行方法を示すフローチャートである。図９は、サンプリング実行方法における、サンプリング対象フローの管理方法を示すフローチャートである。図１０は、サンプリング実行方法における、サンプリング対象フローに属するトラフィックデータのキャプチャ方法を示すフローチャートである。
【００９６】
以下、図９及び図１０に加えて、図７を参照しながら、サンプリング実行部３１２において実行される、サンプリング対象フローの決定方法について説明する。
【００９７】
図９に示したように、ステップＳ９０２において、サンプリング対象フロー管理部７０２は、サンプリング管理部３０８内のフロー情報設定部４１０から、サンプリング対象フロー情報を受信する。サンプリング対象フロー情報を受信することにより、サンプリング対象フローを管理するための一連の処理が開始される。
【００９８】
次に、ステップＳ９０４において、サンプリング対象フロー管理部７０２は、ステップＳ９０２で受信したサンプリング対象フロー情報に基づいて、サンプリング対象フローに関するフロー識別情報を、サンプリング対象フロー管理テーブル７０４の所定のエントリに記憶する。サンプリング対象フロー管理部７０２は、サンプリング対象フロー管理テーブル７０４においてフロー識別情報のエントリを管理することによって、どのフローがサンプリング対象となっているかを管理する。
【００９９】
ステップＳ９０６において、サンプリング対象フローを管理するための処理を終了する。
【０１００】
さらに、図１０に示したように、ステップＳ１００２において、キャプチャ判定部７０６は、データ識別部３０６から、スイッチング部３０２において受信されたトラフィックデータを受信する。トラフィックデータを受信することにより、サンプリング対象フローに属するトラフィックデータをキャプチャするための一連の処理が開始される。
【０１０１】
次に、ステップＳ１００４において、キャプチャ判定部７０６は、ステップＳ９０４においてサンプリング対象フロー管理テーブル７０４に記憶された各々のエントリを参照することにより、受信したトラフィックデータが、サンプリング対象フロー管理テーブル７０４のエントリに存在するフローに属するデータであるか否かを判定する。受信したトラフィックデータがサンプリング対象フロー管理テーブル７０４のエントリに存在するフローに属するデータである場合、処理はステップＳ１００６に進み、そうでない場合、処理はステップＳ１０１０に進む。
【０１０２】
キャプチャ判定部７０６は例えば、受信したトラフィックデータに含まれるＭＡＣヘッダ、ＩＰヘッダ、及びＴＣＰヘッダを参照することによってフロー識別情報を取得し、取得したフロー識別情報と、サンプリング対象フロー管理テーブル７０４の各エントリに記憶されたフロー識別情報を比較する。キャプチャ判定部７０６は比較の結果、両者が一致した場合に、受信したトラフィックデータが、サンプリング対象フロー管理テーブル７０４のエントリにおいて管理されているフローのデータ、すなわち、サンプリング対象フローに属するデータであると判定する。
【０１０３】
ステップＳ１００６において、キャプチャ実行部７０８は、ステップＳ１００４において受信したトラフィックデータがサンプリング対象フローに属するデータであると判定されたことに応答して、ステップＳ１００２において受信したトラフィックデータをキャプチャする。キャプチャ実行部７０８は、キャプチャされたトラフィックデータをキャプチャメモリ７１０に書き込む。
【０１０４】
次に、ステップＳ１００８において、キャプチャデータ送信部７１２は、ステップＳ１００６においてキャプチャメモリ７１０にトラフィックデータが新規に書き込まれたことに応答して、書き込まれたトラフィックデータをキャプチャメモリ７１０から読み出す。キャプチャデータ送信部７１２は、読み出したトラフィックデータをサンプリングデータとして、管理用のネットワーク回線を介して、管理装置２０８に送信する。
【０１０５】
ステップＳ１０１０において、サンプリング対象フローに属するトラフィックデータをキャプチャするための処理が終了する。
【０１０６】
［１−５．サーバ２０２、スイッチ装置２０４のハードウェア構成］
図１１は、サーバ２０２及びスイッチ装置２０４の内部構成を示すハードウェア構成図である。図１１は、図３に示した機能ブロック図と同様に、サーバ２０２及びスイッチ装置２０４が有する機能のうち、トラフィックデータのスイッチング制御機能及びフローサンプリング機能に関連する部分を示したものであり、これらの機能はサーバ２０２及びスイッチ装置２０４において互いに同様である。よって、サーバ２０２及びスイッチ装置２０４について、図１１を用いてまとめて説明する。
【０１０７】
図１１に示したように、サーバ２０２及びスイッチ装置２０４は、プロセッサ１１０２、メモリ１１０４、記憶装置１１０６、データ通信用の送受信インターフェース１１０８、管理用の送受信インターフェース１１１０、及びバス１１１２を含む。プロセッサ１１０２、メモリ１１０４、記憶装置１１０６及び送受信インターフェース１１０８、１１１０はそれぞれバス１１１２に接続されている。
【０１０８】
図３、図４及び図７に示したサーバ２０２及びスイッチ装置２０４の各機能ブロックの機能は、図１１に示したハードウェア構成によって実現することができる。ここで、メモリ１１０４は例えば、ＲＡＭである。記憶装置１１０６は例えば、ＲＯＭやフラッシュメモリ等の不揮発性メモリ、あるいは、ＨＤＤ（Hard Disk Drive）等の磁気ディスク装置である。
【０１０９】
図３に示したデータ識別部３０６の機能及び処理は、対応する機能及び処理を記述した処理プログラムを、プロセッサ１１０２が実行することにより実現することができる。
【０１１０】
図４に示したコネクション管理部４０２、サンプリング決定部４０６、及びフロー情報設定部４１０の機能及び処理は、対応する機能及び処理を記述した処理プログラムを、プロセッサ１１０２が実行することにより実現することができる。
【０１１１】
図７に示したサンプリング対象フロー管理部７０２、キャプチャ判定部７０６、及びキャプチャ実行部７０８の機能及び処理は、対応する機能及び処理を記述した処理プログラムを、プロセッサ１１０２が実行することにより実現することができる。
【０１１２】
上述の各処理プログラムは記憶装置１１０６に格納されており、プロセッサ１１０２が、記憶装置１１０６に格納された処理プログラムをメモリ１１０４に展開し、処理プログラムに記述された各処理を実行することにより、上述の各機能ブロックが実現される。
【０１１３】
図４に示したコネクション管理テーブル４０４及びサンプリングレート記憶部４０８は、メモリ１１０４又は記憶装置１１０６によって実現される。図７に示したサンプリング対象フロー管理テーブル７０４及びキャプチャメモリ７１０は同様に、メモリ１１０４又は記憶装置１１０６によって実現される。プロセッサ１１０２が、上述の処理プラグラムに記述された処理に基づいて、メモリ１１０４又は記憶装置１１０６に対して所望のアクセスを行うことにより、対応する記憶領域に対するデータの書き込み又は読み出しが行われる。
【０１１４】
図３に示したスイッチング部３０２の機能及び処理は、プロセッサ１１０２が、対応する機能及び処理を記述した処理プログラムを実行し、さらに、データ通信用のネットワーク回線に接続可能な送受信インターフェース１１０８を制御することによって実現することができる。送受信インターフェース１１０８は、例えば、周知のＩ／Ｏ（Input/Output）回路である。
【０１１５】
図７に示したキャプチャデータ送信部７１２の機能及び処理は、プロセッサ１１０２が、対応する機能及び処理を記述した処理プログラムを実行し、さらに、管理用のネットワーク回線に接続可能な送受信インターフェース１１１０を制御することによって実現することができる。送受信インターフェース１１１０は例えば、周知のＩ／Ｏ（Input/Output）回路である。
【０１１６】
尚、図３、図４及び図７に示した上述の各機能ブロックは、図１１に示したハードウェア構成のほかに、ＡＳＩＣ（Application Specified Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等のＬＳＩによって実現するようにしてもよい。
【０１１７】
［２．第２実施例］
以下、第２実施例に係るノード装置、及び、ネットワークシステムについて説明する。
【０１１８】
［２−１．データセンタネットワークシステム１２００の構成］
図１２は、第２実施例に係るデータセンタネットワークシステム１２００の構成を示す図である。
【０１１９】
図１２に示したように、データセンタネットワークシステム１２００は、サーバ１２０２−１〜４、スイッチ装置１２０４−１〜４、及び管理装置１２０８を含む複数のノード装置を有する。サーバ１２０２−１〜４と、スイッチ装置１２０４−１〜４は、図１２において実線で示した、データ通信用のネットワーク回線を介して接続されている。
【０１２０】
サーバ１２０２−１〜４の各々は、少なくとも１つの仮想スイッチと複数の仮想マシン（ＶＭ）を含む。例えば、サーバ１２０２−１は、１つの仮想スイッチ１２１４−１と２つのＶＭ１２１２−１、２を含む。ＶＭ１２１２−１、２はそれぞれ、仮想スイッチ１２１４−１を介して、対応するスイッチ装置１２０４−１に接続される。サーバ１２０２−２〜４においても、サーバ１２０２−１と同様に、複数の仮想マシン１２１２−３〜８が仮想スイッチ１２１４−２〜４を介して、対応するスイッチ装置１２０４−１、２に接続される。
【０１２１】
スイッチ装置１２０４−１〜４は、ネットワーク中継器として機能する物理スイッチであり、レイヤ２スイッチ（Ｌ２スイッチ）である。スイッチ装置１２０４−１〜４はそれぞれ、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。スイッチ装置１２０４−１〜４は、サーバ又は他のスイッチ装置からトラフィックデータを受けとり、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、受けとったトラフィックデータの転送経路を決定する、周知のスイッチング制御を行う。
【０１２２】
仮想スイッチ１２１４−１〜４は、対応するサーバにおいてプロセッサが所定のプログラムを実行することによって実現される、仮想的に設けられたネットワーク中継器であり、レイヤ２（Ｌ２）スイッチである。仮想スイッチ１２１４−１〜４はそれぞれ、スイッチ装置１２０４−１〜４と同様に、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブルを有する。仮想スイッチ１２１４−１〜４は、ＶＭ又はスイッチ装置からトラフィックデータを受けとり、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、受けとったトラフィックデータの転送経路を決定するスイッチング制御を行う。
【０１２３】
ＶＭ１２１２−１〜８の各々は、他のＶＭとの間にコネクションを確立し、コネクションを確立したＶＭとの間でトラフィックデータの通信を行う。２つのＶＭとの間でコネクションが確立されると、その２つのＶＭの間には、仮想スイッチ１２１４−１〜４、及び、スイッチ装置１２０４−１〜４の少なくとも１つを経由する通信経路が確立される。各通信経路は、その通信経路上に位置するスイッチ装置及び仮想スイッチの各々において、上述したスイッチング制御が実行された結果として、確立されるものである。
【０１２４】
そして、その２つのＶＭの間では、確立された通信経路によって、対応するフローに属するトラフィックデータが転送される。
【０１２５】
図１２に示した例では、ＶＭ１２１２−１とＶＭ１２１２−４の間にコネクションが確立され、ＶＭ１２１２−１とＶＭ１２１２−４の間には、太幅の実線で示したように、仮想スイッチ１２１４−１、スイッチ装置１２０４−１、及び仮想スイッチ１２１４−２を経由した通信経路が確立されている。ＶＭ１２１２−１とＶＭ１２１２−４の間では、確立された通信経路によって、対応するフローに属するトラフィックデータが転送される。
【０１２６】
また、ＶＭ１２１２−２とＶＭ１２１２−６の間にコネクションが確立され、ＶＭ１２１２−２とＶＭ１２１２−６の間には、太幅の実線で示したように、仮想スイッチ１２１４−１、スイッチ装置１２０４−１、１２０４−３、１２０４−２、及び仮想スイッチ１２１４−３を経由した通信経路が確立されている。ＶＭ１２１２−２とＶＭ１２１２−６の間では、確立された通信経路によって、上述のＶＭ１２１２−１とＶＭ１２１２−４の間のフローとは別のフローに属するトラフィックデータが転送される。
【０１２７】
さらに、データセンタネットワークシステム１２００においては、サーバ１２０１−１〜４は、フローサンプリング部１２１６−１〜４を含む。スイッチ装置１２０４−１〜４は、フローサンプリング部１２１８−１〜４を含む。
【０１２８】
フローサンプリング部１２１６−１〜４は、データセンタネットワークシステム１２００のエンドノードに設けられるものである。フローサンプリング部１２１６−１〜４は、ＶＭ１２１２−１〜８が生成したトラフィックデータを受けとり、受けとったトラフィックデータに含まれるフロー制御データに基づいて、受けとったトラフィックデータが属するフローをサンプリングの対象とするか否かを確率的に決定する。フローサンプリング部１２１６−１〜４は、サンプリング対象として決定されたフロー（サンプリング対象フロー）に属する全てのトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置１２０８に出力する。
【０１２９】
さらに、フローサンプリング部１２１６−１〜４は、サンプリング対象フローに属する全てのトラフィックデータに、サンプリング対象フローであることを示すマーキング情報を付加するように、仮想スイッチ１２１４−１〜４に指示する。
【０１３０】
仮想スイッチ１２１４−１〜４は、フローサンプリング部１２１６−１〜４からの指示に基づいて、サンプリング対象フローに属する全てのトラフィックデータに、予め定められたマーキング情報を付加する。マーキング情報は、トラフィックデータの予め定められたフィールドに格納される。仮想スイッチ１２１４−１〜４は、マーキング情報が付加されたトラフィックデータを、対応するスイッチ装置１２０４−１、２に送信する。
【０１３１】
フローサンプリング部１２１６−１〜４、仮想スイッチ１２１４−１〜4、フロー制御データ、及びマーキング情報の詳細については後述する。
【０１３２】
フローサンプリング部１２１８−１〜４は、自装置以外のサーバ１２０２−１〜４又はスイッチ装置１２０４−１〜４からトラフィックデータを受けとり、受けとったトラフィックデータに含まれるマーキング情報に基づいて、受けとったトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。フローサンプリング部１２１８−１〜４は、サンプリング対象フローに属すると判定された全てのトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置１２０８に出力する。
【０１３３】
すなわち、フローサンプリング部１２１８−１〜４は、送信元のサーバ１２０２のフローサンプリング部１２１６によって付加されたマーキング情報に基づいて、同一のサンプリング対象フローに属するトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置１２０８に送信する。
【０１３４】
フローサンプリング部１２１８−１〜４、及びマーキング情報の詳細については後述する。
【０１３５】
管理装置１２０８は、サーバ１２０２−１〜４、及びスイッチ装置１２０４−１〜４と、図１２において一点鎖線で示した、管理用のネットワーク回線を介して接続されている。一点鎖線で示した、管理用のネットワーク回線は、実線で示した、データ通信用のネットワーク回線とは独立した回線である。管理装置１２０８は、管理用のネットワーク回線を通じて、サーバ１２０２−１〜４、及びスイッチ装置１２０４−１〜４の各々から、サンプリングデータを受けとる。
【０１３６】
管理装置１２０８は、受けとったサンプリングデータのヘッダやペイロードの解析を行うことにより、サンプリング対象フローに関してフローの特性解析を実行する。フローの特性解析は例えば、そのフローの性能に関するパラメータの解析、すなわち、そのフローに属するトラフィックデータの流量、ロス率や再送回数に関する解析、及び、そのフローに属するトラフィックデータに関するＴＣＰのシーケンス解析等である。
【０１３７】
管理装置１２０８は、データネットワークネットワーク１２００が稼働している期間、サーバ１２０２−１〜４及びスイッチ装置１２０４−１〜４からのサンプリングデータの受信を継続する。管理装置１２０８は、データネットワークネットワーク１２００の稼働期間中、各々のサーバ又はスイッチ装置から、定期的にサンプリングデータを受信し続け、それによって、各々のサーバ又はスイッチ装置からのサンプリングデータを蓄積していく。
【０１３８】
管理装置１２０８は、蓄積された個々のサンプリングデータに基づくサンプリング対象フローの特性解析の結果に対して統計処理を行うことにより、データセンタネットワークシステム１２００に関する、フロー単位のトラフィック傾向を示す統計情報を取得する。
【０１３９】
さらに、管理装置１２０８は、各ノード装置がマーキング情報に基づいて、同一のサンプリング対象フローに属するサンプリングデータを送信することから、サンプリング対象フローに属する１つのトラフィックデータに関して、その１つのトラフィックデータが通過する通信経路上に位置する各々のノード装置から、同一のトラフィックデータに対応するサンプリングデータを取得する。
【０１４０】
これにより、管理装置１２０８は、１つのトラフィックデータに着目して、着目したトラフィックデータを、その通過経路上に位置する各々のノード装置において追跡しながら、フローの特性解析をノード横断的に実行する。管理装置２０８において行われる処理の詳細については後述する。
【０１４１】
以上説明したように、第２実施例に係るネットワークシステム１２００においては、ネットワークシステムを構成するサーバ１２０２及びスイッチ装置１２０４が、サンプリング対象フローに属する全てのトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置１２０８に送信するので、管理装置１２０８は、１つのフローに属する一連のサンプリングデータに基づいて、フロー単位でのトラフィック特性解析を実行することができ、フローの性能に関するパラメータ（フローの流量、ロス率、再送回数等）の解析結果を取得することができる。さらに、管理装置１２０８は、その解析結果の統計処理によって、データセンタネットワークシステム１２００全体のトラフィック傾向を、フロー単位でのトラフィック傾向として推定することができる。
【０１４２】
さらに、送信元のサーバ１２０２によって付加されたマーキング情報に基づいて、送信元のサーバ１２０２がサンプリング対象として決定したフローの通信経路上に位置する全てのノード装置が、同一のフローをサンプリング対象として選択するので、管理装置１２０８は、着目した１つのトラフィックデータをその通過経路上に位置する各ノード装置において追跡しながら、フローの特性解析をノード横断的に実行することができる。これにより、管理装置１２０８は、１つのトラフィックデータに関する、ノード装置間の推移時間や、各ノード装置における転送遅延時間等の解析を行うことが可能になる。
【０１４３】
尚、図１２に示したデータセンタネットワークシステム１２００においては、システムを構成するサーバ１２０２−１〜４及びスイッチ装置１２０４−１〜４の全てにフローサンプリング部１２１６−１〜４、１２１８−１〜４を設けたが、この構成には限定されない。サーバ２０２−１〜４及びスイッチ装置２０４−１〜４の中から選択された一部の装置にのみフローサンプリング部を設けるようにしてもよく、例えば、スイッチ装置１２０４−１〜４については、その一部のスイッチ装置にのみ選択的にフローサンプリング部を設けるようにしてもよい。
【０１４４】
［２−２．サーバ１２０２の内部構成］
図１３は、サーバ１２０２の内部構成を示す機能ブロック図である。図１３は、サーバ１２０２が有する機能のうち、トラフィックデータのスイッチング制御機能及びフローサンプリング機能に関連する部分を示したものである。
【０１４５】
図１３に示したサーバ１２０２は、図３に示したサーバ２０２と、スイッチング部３０２、フローサンプリング部３０４及びサンプリング実行部３１２の代わりに、スイッチング部１３０２、フローサンプリング部１３０４及びサンプリング実行部１３１２が設けられている点で異なるが、それ以外の部分は同様である。図３に示したサーバ２０２と同一又は対応する部分は、同一の符号で示されている。図１３において同一の符号で示した部分の動作や機能は、図３に関連して説明したとおりであるので、詳細な説明は省略する。
【０１４６】
図１３に示したように、サーバ１２０２はスイッチング部１３０２及びフローサンプリング部１３０４を含み、フローサンプリング部１３０４はサンプリング実行部１３１２を含む。フローサンプリング部１３０４は、図１２に示したフローサンプリング部１２１６に対応するものである。
【０１４７】
サンプリング実行部１３１２は、サンプリング対象フロー記憶部３１４を含み、サンプリング管理部３０８から、サンプリング対象フロー情報を受けとる。サンプリング実行部３１２は、受けとったサンプリング対象フロー情報に含まれるフロー識別情報をサンプリング対象フロー記憶部３１４に記憶する。
【０１４８】
サンプリング実行部１３１２は、データ識別部３０６から、スイッチング部１３０２において受信された全てのトラフィックデータを受けとる。サンプリング実行部１３１２は、サンプリング対象フロー記憶部３１４に記憶された、サンプリング対象フローに関するフロー識別情報を参照することにより、受けとった各々のトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。
【０１４９】
サンプリング実行部１３１２は例えば、受けとったトラフィックデータに含まれるＭＡＣヘッダ、ＩＰヘッダ、及びＴＣＰヘッダを参照することにより、受けとったトラフィックデータが属するフローに関するフロー識別情報を取得する。サンプリング実行部３１２は、取得したフロー識別情報と、サンプリング対象フロー記憶部３１４に記憶された、サンプリング対象フローに関するフロー識別情報を比較し、両者が一致した場合に、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【０１５０】
サンプリング実行部１３１２は、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定した場合、そのトラフィックデータをキャプチャする。サンプリング実行部３１２は、キャプチャしたトラフィックデータをサンプリングデータとして、管理用のネットワーク回線を介して、図２に示した管理装置２０８に出力する。
【０１５１】
さらに、サンプリング実行部１３１２は、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定した場合、マーキング指示情報を生成する。マーキング指示情報は、トラフィックデータにマーキング情報を付加することを指示する指示情報であり、マーキング情報は、そのトラフィックデータがサンプリング対象フローに属するデータであることを示す識別情報である。サンプリング実行部１３１２は、生成したマーキング指示情報をスイッチング部１３０２に出力する。サンプリング実行部１３１２の詳細については後述する。
【０１５２】
スイッチング部１３０２は、他のスイッチ装置１２０４、又はサーバ１２０２の内部に設けられたＶＭ１２１２からトラフィックデータを受けとり、受けとったトラフィックデータを内部に保持する。スイッチング部１３０２は、受けとった全てのトラフィックデータをフローサンプリング部１３０４内のデータ識別部３０６に出力する。
【０１５３】
スイッチング部１３０２は、トラフィックデータのフォワーディング情報が格納されたフォワーディング情報テーブル（不図示）を有する。スイッチング部１３０２は、フォワーディング情報テーブルを参照することにより、レイヤ２（データリンク層）の通信プロトコルに基づいて、内部に保持したトラフィックデータの転送経路を決定する、周知のスイッチング制御を行う。スイッチング部１３０２は、サーバ１２０２の内部に設けられた仮想スイッチ１２１４に対応するものである。
【０１５４】
さらに、スイッチング部１３０２は、サンプリング実行部１３１２からマーキング指示情報を受けとる。スイッチング部１３０２は、サンプリング実行部１３１２からマーキング指示情報を受けとった時点において内部に保持しているトラフィックデータに、予め定められたマーキング情報を付加する。マーキング情報は、トラフィックデータの予め定められたフィールドに格納される。
【０１５５】
よって、スイッチング部１３０２は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、マーキング情報が付加されたトラフィックデータを、スイッチング制御によって決定されたスイッチ装置２０４に出力することができる。すなわち、スイッチング部１３０２は、サンプリング対象フローに属するトラフィックデータにマーキング情報を付加するマーキング部として機能する。
【０１５６】
一方、スイッチング部１３０２は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、そのトラフィックデータをそのまま、スイッチング制御によって決定されたスイッチ装置２０４に出力する。
【０１５７】
図１４は、トラフィックデータに付加されるマーキング情報の一例を示す図である。図１４に示したように、データセンタネットワークシステム１２００を流れるトラフィックデータは、ペイロード、ＴＣＰヘッダ、ＩＰヘッダ、及びＭＡＣヘッダを含む。
【０１５８】
図１４に示した例では、ＩＰヘッダに含まれるＴｏＳ（Type of Service）フィールドに、マーキング情報が格納され、例えば、ＴｏＳフィールドを構成する、ビット“０”からビット“７”までの８ビットの中から、ビット“０”にマーキング情報が格納される。
【０１５９】
データセンタネットワークシステム１２００を構成するサーバやスイッチ装置において、例えば、ＴｏＳフィールドのビット“０”に情報“１”が格納されているとき、そのトラフィックデータがサンプリング対象フローに属するデータであることを示し、ビット“０”に情報“０”が格納されているとき、そのトラフィックデータがサンプリング対象フローに属するデータではないことを示すというルールを事前に取り決めておく。この場合、ＴｏＳフィールドのビット“０”に格納される情報“１”がマーキング情報となる。
【０１６０】
これにより、データセンタネットワークシステム１２００において、各サーバやスイッチ装置は、受けとったトラフィックデータに含まれるマーキング情報を参照することにより、そのトラフィックデータがサンプリング対象フローに属するデータであるか否かを認識することができる。
【０１６１】
以上説明したように、第２実施例に係るサーバ１２０２においては、スイッチング部１３０２が、サンプリング実行部１３１２から出力されるマーキング指示情報に基づいて、サンプリング対象フローに属するトラフィックデータにマーキング情報を付加するので、自装置が送信元のサーバである場合、サンプリング対象フローの通信経路上に位置する他のサーバ１２０２やスイッチ装置１２０４に、送信されるトラフィックデータがサンプリング対象フローに属するデータであることを通知することができる。
【０１６２】
尚、サーバ１２０２のハードウェア構成は、図１１に示したサーバ２０２のハードウェア構成と同様である。サーバ１２０２の各機能ブロックの機能は、図１１に示したサーバ２０２のハードウェア構成と同様のハードウェア構成によって実現することができる。よって、詳細な説明は省略する。
【０１６３】
［２−３．サンプリング実行部１３１２について］
［２−３−１．サンプリング実行部１３１２の構成］
図１５は、サーバ１２０２のフローサンプリング部１３０４に含まれる、サンプリング実行部１３１２の構成を示す機能ブロック図である。
【０１６４】
図１５に示したサンプリング実行部１３１２は、図７に示したサンプリング実行部３１２と、キャプチャ判定部７０６の代わりにキャプチャ判定部１５０６が設けられ、マーキング指示部１５１４が追加されている点で異なるが、それ以外の部分は同様である。図７に示したサンプリング実行部３１２と同一又は対応する部分は、同一の符号で示されている。図１５において同一の符号で示した部分の動作や機能は、図７に関連して説明したとおりであるので、詳細な説明は省略する。
【０１６５】
図１５において、キャプチャ判定部１５０６は、データ識別部３０６から、スイッチング部１３０２において受信された全てのトラフィックデータを受けとる。キャプチャ判定部１５０６は、受けとったトラフィックデータに基づいて、サンプリング対象フロー管理テーブル７０４に記憶された各々のエントリを参照することにより、受けとった各々のトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。
【０１６６】
キャプチャ判定部１５０６は例えば、受けとったトラフィックデータに含まれるＭＡＣヘッダ、ＩＰヘッダ、及びＴＣＰヘッダを参照することにより、受けとったトラフィックデータが属するフローのフロー識別情報を取得する。キャプチャ判定部１５０６は、取得したフロー識別情報と、サンプリング対象フロー管理テーブル７０４の各エントリに記憶されたフロー識別情報を比較する。キャプチャ判定部１５０６は比較の結果、両者が一致した場合に、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【０１６７】
キャプチャ判定部１５０６は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、そのトラフィックデータをキャプチャ対象のデータであると判定し、キャプチャ判定情報を生成する。キャプチャ判定情報は、そのトラフィックデータがキャプチャ対象のデータであることを示すものである。キャプチャ判定部１５０６は、生成したキャプチャ判定情報と、対応するトラフィックデータを、キャプチャ実行部７０８に出力する。
【０１６８】
さらに、キャプチャ判定部１５０６は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、受けとったトラフィックデータがマーキング情報を付加すべきデータであると判定し、マーキング判定情報を生成する。マーキング情報は、そのトラフィックデータがサンプリング対象フローに属するデータであることを示す識別情報であり、マーキング判定情報は、受けとったトラフィックデータが上述のマーキング情報を付加すべきデータであることを示す判定情報である。キャプチャ判定部１５０６は、生成したマーキング判定情報をマーキング指示部１５１４に出力する。
【０１６９】
マーキング指示部１５１４は、キャプチャ判定部１５０６からマーキング判定情報を受けとる。マーキング指示部１５１４は、受けとったマーキング判定情報に基づいて、マーキング指示情報を生成する。マーキング指示情報は、トラフィックデータに上述のマーキング情報を付加することを指示する指示情報である。マーキング指示部１５１４は、生成したマーキング指示情報をスイッチング部１３０２に出力する。
【０１７０】
以上説明したように、第２実施例に係るサンプリング実行部１３１２においては、キャプチャ判定部１５０６が、全てのトラフィックデータの中から、サンプリング対象フローに属するトラフィックデータのみを適切に選別するので、マーキング指示部１５１４が、スイッチング１３０２に対して、マーキング情報を付すべきサンプリング対象フローに属するトラフィックデータの情報を適切に通知することができる。
【０１７１】
［２−３−２．トラフィックデータのサンプリング実行方法］
図１６は、サンプリング実行部１３１２において実行される、サンプリング対象フローに属するトラフィックデータのサンプリング実行方法を示すフローチャートであり、サンプリング実行部１３１２における、サンプリング対象フローに属するトラフィックデータに対するマーキング指示方法を示すフローチャートである。
【０１７２】
尚、図１５に示したサンプリング実行部１３１２は、図７に示したサンプリング実行部３１２と同様に、サンプリング実行方法において、図９のフローチャートに示したサンプリング対象フローの管理方法、及び、図１０のフローチャートに示したサンプリング対象フローに属するトラフィックデータのキャプチャ方法を実行するが、各々の方法については、図９及び図１０で説明したとおりであるので、詳細な説明は省略する。
【０１７３】
以下、図１６に加えて、図１５を参照しながら、サンプリング実行部１３１２において実行される、マーキング指示方法について説明する。
【０１７４】
図１６に示したように、ステップＳ１６０２において、キャプチャ判定部１５０６は、データ識別部３０６から、スイッチング部１３０２において受信されたトラフィックデータを受信する。トラフィックデータを受信することにより、サンプリング対象フローに属するトラフィックデータに対するマーキングを指示するための一連の処理が開始される。
【０１７５】
次に、ステップＳ１６０４において、キャプチャ判定部１５０６は、サンプリング対象フロー管理テーブル７０４に記憶された各々のエントリを参照することにより、受信したトラフィックデータが、サンプリング対象フロー管理テーブル７０４のエントリに存在するフローに属するデータであるか否かを判定する。受信したトラフィックデータがサンプリング対象フロー管理テーブル７０４のエントリに存在するフローに属するデータである場合、処理はステップＳ１６０６に進み、そうでない場合、処理はステップＳ１６０８に進む。
【０１７６】
キャプチャ判定部１５０６は例えば、受信したトラフィックデータに含まれるＭＡＣヘッダ、ＩＰヘッダ、及びＴＣＰヘッダを参照することによってフロー識別情報を取得し、取得したフロー識別情報と、サンプリング対象フロー管理テーブル７０４の各エントリに記憶されたフロー識別情報を比較する。キャプチャ判定部７０６は比較の結果、両者が一致した場合に、受信したトラフィックデータが、サンプリング対象フロー管理テーブル７０４のエントリにおいて管理されているフローのデータ、すなわち、サンプリング対象フローに属するデータであると判定する。
【０１７７】
ステップＳ１６０６において、マーキング指示部１５１４は、ステップＳ１６０４において受信したトラフィックデータがサンプリング対象フローに属するデータであると判定されたことに応答して、スイッチング部１３０２に対して、ステップＳ１６０２において受信したトラフィックデータに対して、マーキング情報を付加することを指示する。マーキング情報は、そのトラフィックデータがサンプリング対象フローに属するデータであることを示す識別情報である。
【０１７８】
ステップＳ１６０８において、サンプリング対象フローに属するトラフィックデータに対するマーキングを指示するための処理が終了する。
【０１７９】
［２−４．スイッチ装置１２０４の内部構成］
図１７は、スイッチ装置１２０４の内部構成を示す機能ブロック図である。図１７は、スイッチ装置１２０４が有する機能のうち、トラフィックデータのスイッチング制御機能及びフローサンプリング機能に関連する部分を示したものである。
【０１８０】
図１７に示したスイッチ装置１２０４は、図３に示したスイッチ装置２０４と、フローサンプリング部３０４の代わりに、フローサンプリング部１７０４が設けられている点で異なるが、それ以外の部分は同様である。
【０１８１】
また、図１７に示したフローサンプリング部１７０４は、図３に示したフローサンプリング部３０４と、データ識別部３０６及びサンプリング管理部３０８が設けられておらず、サンプリング実行部３１２の代わりに、サンプリング実行部１７１２が設けられている点で異なる。フローサンプリング部１７０４は、図１２に示したフローサンプリング部１２１８に対応するものである。
【０１８２】
図３に示したスイッチ装置２０４及びフローサンプリング部３０４と同一又は対応する部分は、同一の符号で示されている。図１７において同一の符号で示した部分の動作や機能は、図３に関連して説明したとおりであるので、詳細な説明は省略する。
【０１８３】
尚、スイッチ装置１２０４のハードウェア構成は、図１１に示したスイッチ装置２０４のハードウェア構成と同様である。スイッチ装置１２０４の各機能ブロックの機能は、図１１に示したスイッチ装置２０４のハードウェア構成と同様のハードウェア構成によって実現することができる。よって、詳細な説明は省略する。
【０１８４】
［２−４−１．サンプリング実行部１７１２の構成］
図１７に示したサンプリング実行部１７１２は、図７に示したサンプリング実行部３１２と、サンプリング対象フロー管理部７０２及びサンプリング対象フロー管理テーブル７０４が設けられておらず、キャプチャ判定部７０６及びキャプチャ実行部７０８の代わりに、キャプチャ判定部１７１６及びキャプチャ実行部１７０８が設けられている点で異なるが、それ以外の部分は同様である。図７に示したサンプリング実行部３１２と同一又は対応する部分は、同一の符号で示されている。図１７において同一の符号で示した部分の動作や機能は、図７に関連して説明したとおりであるので、詳細な説明は省略する。
【０１８５】
図１７に示したように、キャプチャ判定部１７１６は、スイッチング部３０２から、スイッチング部３０２において受信された全てのトラフィックデータを受けとる。キャプチャ判定部１７１６は、受けとったトラフィックデータにマーキング情報が付加されているか否かを判定することにより、受けとった各々のトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。キャプチャ判定部１７１６は例えば、受けとったトラフィックデータの予め定められたフィールドにマーキング情報が格納されているか否かをチェックすることにより、受けとったトラフィックデータがサンプリング対象フローに属するデータであるか否かを判定する。
【０１８６】
キャプチャ判定部１７１６は例えば、図１４に示したように、受けとったトラフィックデータのＩＰヘッダに含まれるＴｏＳフィールドを参照し、ＴｏＳフィールドのビット“０”に、マーキング情報として、情報“１”が格納されているか否かをチェックする。キャプチャ判定部１７１６は、ＴｏＳフィールドのビット“０”に情報“１”（マーキング情報）が格納されている場合に、受けとったトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【０１８７】
キャプチャ判定部１７１６は、受けとったトラフィックデータがサンプリング対象フローに属するデータである場合、そのトラフィックデータをキャプチャ対象のデータであると判定し、キャプチャ判定情報を生成する。キャプチャ判定情報は、そのトラフィックデータがキャプチャ対象のデータであることを示すものである。キャプチャ判定部１７１６は、生成したキャプチャ判定情報と、対応するトラフィックデータを、キャプチャ実行部７０８に出力する。
【０１８８】
キャプチャ実行部１７０８は、キャプチャ判定部１７１６から、キャプチャ判定情報と、対応するトラフィックデータを受けとる。キャプチャ実行部１７０８は、キャプチャ判定情報に応答して、受けとったトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをキャプチャメモリ７１０に書き込む。
【０１８９】
以上説明したように、第２実施例に係るサンプリング実行部１７１２においては、キャプチャ判定部１７１６が、全てのトラフィックデータの中から、サンプリング対象フローに属するトラフィックデータのみを適切に選別するので、キャプチャ実行部１７０８がサンプリング対象フローに属するトラフィックデータのみをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして管理装置１２０８に送信することができる
さらに、キャプチャ判定部１７１６が、送信元のサーバ１２０２によって付加されたマーキング情報に基づいて、サンプリング対象フローに属するトラフィックデータを選別するので、送信元のサーバ１２０２がサンプリング対象として決定したフローの通信経路上に位置する他のノード装置と同一のフローをサンプリング対象として選択することができる。
【０１９０】
これにより、管理装置１２０８は、着目した１つのトラフィックデータをその通過経路上に位置する各ノード装置において追跡しながら、フローの特性解析をノード横断的に実行することができるようになる。
【０１９１】
［２−４−２．トラフィックデータのサンプリング実行方法］
図１８は、サンプリング実行部１７１２において実行される、サンプリング対象フローに属するトラフィックデータのサンプリング実行方法を示すフローチャートであり、サンプリング実行部１７１２における、サンプリング対象フローに属するトラフィックデータのキャプチャ方法を示すフローチャートである。以下、図１８に加えて、図１７を参照しながら、サンプリング実行部１７１２において実行される、トラフィックデータのキャプチャ方法について説明する。
【０１９２】
図１８に示したように、ステップＳ１８０２において、キャプチャ判定部１７１６は、スイッチング部３０２から、スイッチング部１３０２において受信されたトラフィックデータを受信する。トラフィックデータを受信することにより、サンプリング対象フローに属するトラフィックデータをキャプチャするための一連の処理が開始される。
【０１９３】
次に、ステップＳ１８０４において、キャプチャ判定部１７１６は、受けとったトラフィックデータの予め定められたフィールドにマーキング情報が格納されているか否かをチェックすることにより、受けとったトラフィックデータにマーキング情報が付加されているか否かを判定する。受信したトラフィックデータにマーキング情報が付加されている場合、処理はステップＳ１８０６に進み、そうでない場合、処理はステップＳ１８１０に進む。
【０１９４】
キャプチャ判定部１７１６は例えば、受けとったトラフィックデータのＩＰヘッダに含まれるＴｏＳフィールドのビット“０”に、マーキング情報として、情報“１”が格納されているか否かをチェックする。キャプチャ判定部１７１６は、ＴｏＳフィールドのビット“０”に情報“１”（マーキング情報）が格納されている場合に、受けとったトラフィックデータにはマーキング情報が付加されており、そのトラフィックデータがサンプリング対象フローに属するデータであると判定する。
【０１９５】
ステップＳ１８０６において、キャプチャ実行部１７０８は、ステップＳ１８０４において受信したトラフィックデータにマーキング情報が付加されていると判定されたことに応答して、ステップＳ１８０２において受信したトラフィックデータをキャプチャする。キャプチャ実行部１７０８は、キャプチャされたトラフィックデータをキャプチャメモリ７１０に書き込む。
【０１９６】
次に、ステップＳ１８０８において、キャプチャデータ送信部７１２は、ステップＳ１８０６においてキャプチャメモリ７１０にトラフィックデータが新規に書き込まれたことに応答して、書き込まれたトラフィックデータをキャプチャメモリ７１０から読み出す。キャプチャデータ送信部７１２は、読み出したトラフィックデータをサンプリングデータとして、管理用のネットワーク回線を介して、管理装置１２０８に送信する。
【０１９７】
ステップＳ１８１０において、サンプリング対象フローに属するトラフィックデータをキャプチャするための処理が終了する。
【０１９８】
［３．管理装置における処理について］
次に、第１実施例に係る管理装置２０８、及び、第２実施例に係る管理装置１２０８が実行する処理について説明する。
【０１９９】
上述したように、管理装置２０８は、データネットワークネットワーク２００の稼働期間中、データセンタネットワーク２００を構成する各ノード装置、すなわち、サーバ２０２−１〜４及びスイッチ装置２０４−１〜３から、定期的にサンプリングデータを受信し続け、それによって、各々のサーバ又はスイッチ装置からのサンプリングデータを蓄積していく。
【０２００】
そして、管理装置２０８は、蓄積された個々のサンプリングデータに基づいて、サンプリング対象フローの特性解析を行うとともに、その特性解析結果に対して統計処理を行うことにより、データセンタネットワークシステム２００に関する、フロー単位のトラフィック傾向を示す統計情報を取得する。
【０２０１】
同様に、管理装置１２０８は、データネットワークネットワーク１２００の稼働期間中、データセンタネットワーク１２００を構成する各ノード装置、すなわち、サーバ１２０２−１〜４及びスイッチ装置１２０４−１〜３から、断続的にサンプリングデータを受信し続け、それによって、各々のサーバ又はスイッチ装置からのサンプリングデータを蓄積していく。
【０２０２】
そして、管理装置１２０８は、蓄積された個々のサンプリングデータに基づいて、サンプリング対象フローの特性解析を行うとともに、その特性解析結果に対して統計処理を行うことにより、データセンタネットワークシステム１２００に関する、フロー単位のトラフィック傾向を示す統計情報を取得する。
【０２０３】
管理装置２０２及び１２０８は例えば、以上のように取得した、フロー単位のトラフィック傾向を示す統計情報に基づいて、以下に示す処理を実行する。
【０２０４】
［３−１．フロー単位での情報の可視化］
管理装置２０２及び１２０８は、取得した、フロー単位のトラフィック傾向を示す統計情報、対応するデータセンタネットワークのマップ情報（ノード装置の接続情報）、及び、各フローの経路情報に基づいて、データセンタネットワークにおける各ノード装置の接続関係を示すマップ上に、各フローの経路情報と、各フローの性能に関する統計情報（フローの流量、ロス率、再送回数等）を合わせて表示したステータス情報を生成する。監視装置２０２及び１２０８は、自装置に設けたディスプレイ等の表示装置（不図示）に、生成したステータス情報を表示する。
【０２０５】
ネットワーク管理者は、上記表示装置に表示されたステータス情報を参照することにより、どのフローに対応するどの通信経路にどの程度の流量のトラフィックデータが流れているかを把握することが可能になる。
【０２０６】
これにより、ネットワーク管理者は、ネットワーク上の各ノード装置に流れるトラフィックデータの偏りを低減し、各ノード装置において複数の転送経路の帯域の使用率が均等になるように、各フローの通信経路を変更したり、各サーバに生成されるＶＭの配置を変更したりすることが可能になる。
【０２０７】
尚、管理装置２０２及び１２０８は、生成したステータス情報をディスプレイ等の表示装置に表示させる代わりに、生成したステータス情報をネットワーク管理者の情報端末（パーソナルコンピュータやスマートフォン等）に送信するようにしてもよい。
【０２０８】
［３−２．プロビジョニングへの応用］
上述のように、ネットワーク管理者は、管理装置２０２及び１２０８より、どのフローに対応するどの通信経路にどの程度の流量のトラフィックデータが流れているか、といったステータス情報を取得することができる。ネットワーク管理者は、取得したステータス情報に基づいて、特定のフローの通信経路上に位置する特定のノード装置において、特定の転送経路の帯域が飽和状態に近づいている等の情報を導出することができる。
【０２０９】
これにより、ネットワーク管理者はプロビジョニングにより、対応するノート装置を利用するネットワーク利用者に対して、ノード装置の転送経路の帯域の拡張を要求したり、ノード装置の設備拡張を促したりすることができる。
【０２１０】
［３−３．通信経路の切り替え］
管理装置２０８及び１２０８は、取得した、フロー単位のトラフィック傾向を示す統計情報のうち、各フローの性能に関する、フローの流量、ロス率、再送回数等のパラメータを常時監視する。これらのパラメータは、ネットワーク上の輻輳や障害に関連するパラメータである。これにより、管理装置２０８及び１２０８は、対応するデータセンタネットワークシステム２０２及び１２０２において、特定のフローにおいて輻輳や障害が発生したことを検出することができる。
【０２１１】
管理装置２０８及び１２０８は例えば、フローの流量、ロス率、再送回送等のパラメータの値が予め設定された閾値を超えたとき、対応するフローにおいて輻輳や障害が発生したと判断する。管理装置２０８及び１２０８はさらに、輻輳や障害の発生が検出されたフローの通信経路と、他のフローの通信経路との重なり状況と、他のフローの性能に関するパラメータ等を参照することにより、輻輳や障害が発生しているノード装置を推定する。
【０２１２】
そして、管理装置２０８及び１２０８は例えば、輻輳や障害が発生していると推定されたノード装置を迂回するように、対応するフローの通信経路を変更する。
【０２１３】
図１９及び図２０は、データセンタネットワークシステム１９００において輻輳が発生した場合における通信経路の切り替え処理を説明するための図である。
【０２１４】
図１９に示したように、データセンタネットワークシステム１９００は、サーバ１９０２−１〜４、スイッチ装置１９０４−１〜４及び管理装置１９０８を含む。
【０２１５】
サーバ１９０２−１〜４はそれぞれ、ＶＭ１９１２−１〜８、仮想スイッチ１９１４−１〜４、フローサンプリング１９１６−１〜４を含む。フローサンプリング部１９１６−１〜４は、図３に示したフローサンプリング部３０２もしくは図１３に示したフローサンプリング部１３０４に対応するものである。
【０２１６】
スイッチ装置１９０４−１〜４はそれぞれ、フローサンプリング部１９１８−１〜４を含む。フローサンプリング部１９１８−１〜４は、図３に示したフローサンプリング部３０２もしくは図１７に示したフローサンプリング部１７０４に対応するものである。
【０２１７】
図１９に示した例では、データセンタネットワークシステム１９００には、
ＶＭ１９１２−３とＶＭ１９１２−８の間に、太幅の実線で示したように、仮想スイッチ１９１４−２、スイッチ装置１９０４−１、スイッチ装置１９０４−４、スイッチ装置１９０４−２及び仮想スイッチ１２１４−４を経由した通信経路Ｂが確立されている。また、ＶＭ１９１２−１とＶＭ１９１２−５の間に、太幅の実線で示したように、仮想スイッチ１９１４−１、スイッチ装置１９０４−１、スイッチ装置１９０４−４、スイッチ装置１９０４−２及び仮想スイッチ１９１４−３を経由した通信経路Ｂが確立されている。
【０２１８】
管理装置１９０８は、各々のサーバ１９０２及びスイッチ装置１９０４から送信されたサンプリングデータを蓄積する。管理装置１９０８は、蓄積されたサンプリングデータに基づいて、サンプリング対象フローの流量、ロス率、再送回数等のパラメータに関する特性解析及び統計処理を行うことにより、フローの性能に関する、フローの流量、ロス率、再送回数等のパラメータを常時監視し、そのパラメータの値が予め設定された閾値を超えたとき、対応するフローにおいて輻輳が発生したと判断する。
【０２１９】
図１９に示した例では、管理装置１９０８は、通信経路Ａに対応するフローにおいて輻輳が発生していることを検出したものとする。
【０２２０】
このとき、管理装置１９０８は、輻輳が検出されたフローの通信経路Ａと、他のフローの通信経路Ｂとが重なり状況と、通信経路Ｂに対応するフローの性能に関するパラメータ（フローの流量、ロス率、再送回数等）に基づいて、輻輳が検出されたフローの通信経路Ａに位置するノード装置の中から、輻輳が発生しているノード装置を推定する。
【０２２１】
図１９に示した例では、管理装置１９０８は、通信経路Ａと通信経路Ｂとが重なるスイッチ装置１９０４−４において輻輳が発生していると推定したものとする。
【０２２２】
このとき、管理装置１９０８は、輻輳が発生していると推定されたスイッチ装置１９０４−４を迂回するように、輻輳が検出されたフローの通信経路Ａを変更する。管理装置１９０８は、通信経路Ｂに対応するフローの性能に関するパラメータに基づいて、変更後の通信経路を決定する。
【０２２３】
図１９に示した例では、管理装置１９０８は、通信経路Ａを、図２０に示した新規の通信経路Ｃに変更することを決定したものとする。
【０２２４】
このとき、管理装置１９０８は、各スイッチ装置１９０４−１〜４に対して、決定された新規の通信経路Ｃが確立されるように、輻輳が検出されたフローに対応するフォワーディング情報テーブルを更新するように指示する。管理装置１９０８は、決定された新規の通信経路Ｃに基づいて、各スイッチ装置１９０４−１〜４に保持された、輻輳が検出されたフローに対応するフォワーディング情報テーブルの更新情報を生成する。管理装置１９０８は、管理用のネットワーク回線を介して、生成した更新情報を各スイッチ装置１９０４−１〜４に送信する。
【０２２５】
図２０に示した例では、管理装置１９０８は、スイッチ装置１９０４−１及び１９０４−２の各々において、輻輳が検出されたフローに関して、スイッチ装置１９０４−４との間の通信経路を、スイッチ装置１９０４−３との間の通信経路に変更するように、対応するフォワーディング情報テーブルを更新する。管理装置１９０８は、スイッチ装置１９０４−３において、輻輳が検出されたフローに関して、スイッチ装置１９０４−１、１９０４−２との間の通信経路を新規に確率するように、対応するフォワーディング情報テーブルを更新する。管理装置１９０８は、スイッチ装置１９０４−４において、輻輳が検出されたフローに関して、スイッチ装置１９０４−１、１９０４−２との間に既に確立されている通信経路を消滅させるように、対応するフォワーディング情報テーブルを更新する。
【０２２６】
［３−４．ＶＭ配置の変更］
管理装置２０８及び１２０８は、上述のように、取得した、フロー単位のトラフィック傾向を示す統計情報のうち、各フローの性能に関する、フローの流量、ロス率、再送回数等のパラメータを常時監視する。
【０２２７】
管理装置２０８及び１２０８は、例えば、フローの流量、ロス率、再送回送等のパラメータの値が予め設定された閾値を超えたとき、対応するフローにおいて輻輳や障害が発生したと判断し、さらに、輻輳や障害の発生が検出されたフローの通信経路と、他のフローの通信経路との重なり状況と、他のフローの性能に関するパラメータ等を参照することにより、輻輳や障害が発生しているノード装置を推定する。
【０２２８】
そして、管理装置２０８及び１２０８は例えば、輻輳や障害が発生していると推定されたノード装置を迂回するように、輻輳や障害が検出されたフローに対応するＶＭの配置を変更する。
【０２２９】
図１９に示した例において、通信経路Ａに対応するフローに関して、スイッチ装置１９０４−４において輻輳が発生していると推定された場合、管理装置２０８及び１２０８は例えば、サーバ１９０２−４に位置する、通信経路Ａに対応するＶＭ１９１２−８を、サーバ１９０２−１又は１９０２−２に移動させる。
【０２３０】
このとき、管理装置２０８及び１２０８は、移動元のサーバ１９０２−４と、移動先のサーバ１９０２−１又は１９０２−２に対して、ＶＭ１９１２−８のライブマイグレーション（Live Migration）の実行を指示する。
【０２３１】
以上、本発明の例示的な実施形態のノード装置、及びネットワークシステムについて説明したが、本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０２３２】
また、各実施例に開示された技術は、相互に矛盾することがない限り、適宜組み合せることが可能なものである。
【０２３３】
以上の第１ないし第３実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
各々が、複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数の第１ノード装置と、
前記複数の第１ノード装置と接続された管理装置と
を有するネットワークシステムであって、
前記複数の第１ノード装置の各々は、
前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、
前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部とを有し、
前記管理装置は、前記複数の第１ノード装置の各々から前記サンプリングデータを受信し、受信されたサンプリングデータに基づいて、前記フローの特性解析を行うことを特徴とするネットワークシステム。
（付記２）
前記サンプリング管理部は、所定のサンプリングレートに従って所定の乱数値を生成し、前記生成された乱数値に基づいて、前記サンプリング対象とするフローを確率的に決定することを特徴とする付記１記載のネットワークシステム。
（付記３）
前記サンプリング管理部は、前記トラフィックデータが前記フローの開始を示すフロー接続制御情報を含むとき、前記フロー接続制御情報を含むトラフィックデータが属するフローをサンプリング対象とするか否かを、確率的に決定することを特徴とする付記１又は２記載のネットワークシステム。
（付記４）
前記サンプリング実行部は、前記サンプリング対象に決定されたフローに属する全てのトラフィックデータをキャプチャし、キャプチャされた全てのトラフィックデータを前記管理装置に送信することを特徴とする付記１ないし３のいずれか１つ記載のネットワークシステム。
（付記５）
前記管理装置は、前記フローの特性解析の結果に基づいて、前記複数のフローの中から、輻輳が発生したフローを検出することを特徴とする付記１ないし４のいずれか１つ記載のネットワークシステム。
（付記６）
前記管理装置はさらに、前記輻輳が発生したフローの通信経路上に位置するノード装置の中から、前記輻輳が発生したノード装置を検出し、前記輻輳が発生したフローの通信経路を、前記輻輳が発生したノード装置を迂回するように変更することを特徴とする付記５記載のネットワークシステム。
（付記７）
前記複数の第１ノード装置の各々は、
前記サンプリング対象に決定されたフローに属するトラフィックデータに対して、サンプリング対象のフローに属するトラフィックデータであることを示すマーキング情報を付加するマーキング部
を有することを特徴とする付記１ないし６のいずれか１つ記載のネットワークシステム。
（付記８）
前記ネットワークシステムは、
各々が、前記管理装置に接続され、前記第１ノード装置から送信されたトラフィックデータを受信し、受信されたトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数の第２ノード装置
を有し、
前記第２ノード装置の各々は、
前記受信されたトラフィックデータに前記マーキング情報が付加されているかを判定し、前記マーキング情報が付加されたトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部
を有することを特徴とする付記７記載のネットワークシステム。
（付記９）
前記第２ノード装置のサンプリング実行部は、
前記マーキング情報に基づいて、前記受信されたトラフィックデータが前記サンプリング対象に決定されたフローに属するトラフィックデータであるか否かを判定することを特徴とする付記８記載のネットワークシステム。
（付記１０）
各々が、複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数のサーバと、
各々が、前記第１ノード装置から送信されたトラフィックデータを受信し、受信されたトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信する複数のスイッチ装置と、
前記複数のサーバ及び前記複数のスイッチ装置と接続された管理装置と
を有するネットワークシステムであって、
前記複数のサーバの各々は、
前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、
前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に出力するサンプリング実行部とを有し、
前記複数のスイッチ装置の各々は、
前記受信されたトラフィックデータに前記マーキング情報が付加されているかを判定し、前記マーキング情報が付加されたトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、前記管理装置に送信するサンプリング実行部
を有し、
前記管理装置は、前記複数のサーバ及び前記複数のスイッチ装置の各々から前記サンプリングデータを受信し、受信されたサンプリングデータに基づいて、前記フローの特性解析を行うことを特徴とするネットワークシステム。
（付記１１）
複数のフローに属するトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信するノード装置であって、
前記複数のフローの中から、サンプリング対象とするフローを、確率的に決定するサンプリング管理部と、
前記サンプリング管理部によってサンプリング対象に決定されたフローに属するトラフィックデータをフロー単位でキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、管理装置に送信するサンプリング実行部と
を有することを特徴とするノード装置。
（付記１２）
前記サンプリング管理部は、所定のサンプリングレートに従って所定の乱数値を生成し、前記生成された乱数値に基づいて、前記サンプリング対象とするフローを確率的に決定する
ことを特徴とする付記１１記載のノード装置。
（付記１３）
前記サンプリング管理部は、前記トラフィックデータが前記フローの開始を示すフロー接続制御情報を含むとき、前記フロー接続制御情報を含むトラフィックデータが属するフローをサンプリング対象とするか否かを、確率的に決定することを特徴とする付記１１又は１２記載のノード装置。
（付記１４）
前記サンプリング実行部は、前記サンプリング対象に決定されたフローに属する全てのトラフィックデータをキャプチャし、キャプチャされた全てのトラフィックデータを前記管理装置に送信することを特徴とする付記１１ないし１３のいずれか１つ記載のノード装置。
（付記１５）
前記サンプリング対象に決定されたフローに属するトラフィックデータに対して、サンプリング対象のフローに属するトラフィックデータであることを示すマーキング情報を付加するマーキング部
をさらに有することを特徴とする付記１１ないし１４のいずれか１つ記載のノード装置。
（付記１６）
複数のフローに属するトラフィックデータを受信し、受信されたトラフィックデータを前記フローごとに、宛先となるノード装置を切り替えて送信するノード装置であって、
前記受信されたトラフィックデータに、サンプリング対象のフローに属するトラフィックデータであることを示すマーキング情報が付加されているか否かを判定し、前記マーキング情報が付加されたトラフィックデータをキャプチャし、キャプチャされたトラフィックデータをサンプリングデータとして、管理装置に送信するサンプリング実行部
を有することを特徴とするノード装置。
（付記１７）
前記サンプリング実行部は、
前記マーキング情報に基づいて、前記受信されたトラフィックデータが前記サンプリング対象に決定されたフローに属するトラフィックデータであるか否かを判定することを特徴とする付記１６記載のノード装置。
【符号の説明】
【０２３４】
１００  ネットワークシステム、
１０２  ノード装置、
１０４  ｓＦｌｏｗエージェント、
１０６  管理装置、
１０８  ｓＦｌｏｗコレクタ、
２００  データセンタネットワークシステム、
２０２−１〜４  サーバ、
２０４−１〜４  スイッチ装置、
２０８  管理装置、
２１２−１〜４  ＶＭ、
２１４−１〜４  仮想スイッチ、
２１６−１〜４  フローサンプリング部、
２１８−１〜４  フローサンプリング部、
３０２  スイッチング部、
３０４  フローサンプリング部、
３０６  データ識別部、
３０８  サンプリング管理部、
３１０  サンプリングレート記憶部、
３１２  サンプリング実行部、
３１４  サンプリング対象フロー記憶部、
４０２  コネクション管理部、
４０４  コネクション管理テーブル、
４０６  サンプリング決定部、
４０８  サンプリングレート記憶部
４１０  フロー情報設定部
７０２  サンプリング対象フロー管理部、
７０４  サンプリング対象フロー管理テーブル、
７０６  キャプチャ判定部、
７０８  キャプチャ実行部、
７１０  キャプチャメモリ、
７１２  キャプチャデータ送信部、
１１０２  プロセッサ、
１１０４  メモリ、
１１０６  記憶装置、
１１０８  送受信インターフェース（データ通信用）
１１１０  送受信インターフェース（管理用）
１１１２  バス、
１２００  データセンタネットワークシステム、
１２０２−１〜４  サーバ、
１２０４−１〜４  スイッチ装置、
１２０８  管理装置、
１２１２−１〜４  ＶＭ、
１２１４−１〜４  仮想スイッチ、
１２１６−１〜４  フローサンプリング部（エンドノード）、
１２１８−１〜４  フローサンプリング部（中継ノード）、
１３０２  スイッチング部、
１３０４  フローサンプリング部、
１３１２  サンプリング実行部、
１５０６  キャプチャ判定部、
１５１４  マーキング指示部、
１７０８  キャプチャ実行部、
１７１６  キャプチャ判定部、
１９００  データセンタネットワークシステム、
１９０２−１〜４  サーバ、
１９０４−１〜４  スイッチ装置、
１９０８  管理装置、
１９１２−１〜４  ＶＭ、
１９１４−１〜４  仮想スイッチ、
１９１６−１〜４  フローサンプリング部、
１９１８−１〜４  フローサンプリング部
【図１】
2013207748.tif 000003
【図２】
2013207748.tif 000004
【図３】
2013207748.tif 000005
【図４】
2013207748.tif 000006
【図５】
2013207748.tif 000007
【図６】
2013207748.tif 000008
【図７】
2013207748.tif 000009
【図８】
2013207748.tif 000010
【図９】
2013207748.tif 000011
【図１０】
2013207748.tif 000012
【図１１】
2013207748.tif 000013
【図１２】
2013207748.tif 000014
【図１３】
2013207748.tif 000015
【図１４】
2013207748.tif 000016
【図１５】
2013207748.tif 000017
【図１６】
2013207748.tif 000018
【図１７】
2013207748.tif 000019
【図１８】
2013207748.tif 000020
【図１９】
2013207748.tif 000021
【図２０】
2013207748.tif 000022