(57)【要約】【課題】実運用時にテナントシステムの通信パケットが経由するネットワークの状態を分析する際、分析に要する時間を削減する。【解決手段】計算機が、テナントの情報処理システムのネットワークを構成するノードの構成情報に基づいて、通信記録情報を収集するノードを選択し、選択したノードに通信記録情報を収集させ、収集された通信記録情報を取得して、ネットワークの状態を分析し、ネットワークにおいて分析対象レイヤの端点となるノード間で通信パケットの通信経路を計算し、分析対象レイヤの第１の端点となる第１のノードの通信記録情報と、第２の端点となる第２のノードの通信記録情報とを比較して、第１のノードの通信パケットが第２のノードに到達したことを判定し、第２のノードに未到達の通信パケットを廃棄したノードを特定する。【選択図】図５
2014216991.tif 000002
【特許請求の範囲】
【請求項１】
サーバとネットワーク機器とを含む情報処理システム上に構築された１つ以上のテナントのネットワークの状態を分析する分析サーバであって、
前記分析サーバは、
前記テナントの前記情報処理システムのネットワークを構成するノードの構成情報と、
前記構成情報に基づいて、前記ネットワークのノードのうち通信記録情報を収集するノードを選択する設定処理部と、
前記選択されたノードに前記通信記録情報を収集させる収集処理部と、
前記収集された前記通信記録情報を取得して、前記ネットワークの状態を分析する分析処理部と、を備え、
前記分析処理部は、
前記ネットワークにおいて分析対象レイヤの端点となるノード間で通信パケットの通信経路を計算するサービス経路計算処理部と、
前記分析対象レイヤの第１の端点となる第１のノードの通信記録情報と、第２の端点となる第２のノードの通信記録情報とを比較し、前記第１のノードの通信パケットが、前記第２のノードに到達したことを判定する到達判定処理部と、
前記第２のノードに未到達の通信パケットを廃棄したノードを特定する特定処理部と、
を備えることを特徴とする分析サーバ。
【請求項２】
請求項１に記載の分析サーバであって、
前記設定処理部は、
前記ネットワークの状態を分析するレイヤ毎に、前記ネットワークの状態を分析するために通信記録情報を収集するノードとの対応関係を保持し、
前記分析対象レイヤを受け付けて、前記分析対象レイヤと前記対応関係とに基づいて、通信記録情報を収集するノードを選択することを特徴とする分析サーバ。
【請求項３】
請求項２に記載の分析サーバであって、
前記設定処理部は、さらに、
前記テナントの情報処理システムを構成するノードの種別と、前記ノードの通信記録情報を収集するノードとの対応関係を保持し、
前記対応関係に基づいて、前記通信記録情報を収集するノードを選択することを特徴とする分析サーバ。
【請求項４】
請求項３に記載の分析サーバであって、
前記ネットワークは、
通信コストが等しい複数の通信経路を含み、
前記設定処理部は、さらに、
前記テナントの情報処理システムを構成するノードと、前記ノードが使用する前記複数の通信経路におけるフロー割当アルゴリズムとの対応関係を保持し、
前記対応関係に基づいて、前記テナントの通信パケットが経由しないノードを通信記録情報を収集するノードから除外することを特徴とする分析サーバ。
【請求項５】
請求項１ないし請求項４のいずれかひとつに記載の分析サーバであって、
前記特定処理部は、
前記未到達の通信パケットに含まれる宛先となるノードの通信記録情報と、前記第１のノードの通信記録情報とを比較して、前記未到達の通信パケットを廃棄したノードまたはノードの範囲を特定することを特徴とする分析サーバ。
【請求項６】
請求項５に記載の分析サーバであって、
前記通信記録情報は、
トラフィックログを含み、
前記到達判定処理部は、さらに、
前記第２のノードに未到達の通信パケットが含まれるセッション情報を計算し、
前記特定処理部は、
前記通信記録情報を収集するノードの中から通信経路の端点となるノードを選択し、前記選択したノードの通信記録情報がトラフィックログである場合に、前記到達判定処理部が計算したセッション情報と、前記トラフィックログに記録されたセッション情報とを比較し、前記未到達の通信パケットを廃棄したノードを特定することを特徴とする分析サーバ。
【請求項７】
請求項１に記載の分析サーバであって、
前記通信記録情報は、
前記通信パケットを含み、
前記到達判定処理部は、
前記第１のノードの通信記録情報に記録された通信パケットと、もう一方の端点となる第２のノードの通信記録情報に記録された通信パケットのＴＣＰまたはＵＤＰヘッダのチェックサムを比較し、前記チェックサムが一致した場合に、ＴＣＰまたはＵＤＰペイロードを比較し、ペイロードが一致する場合に、到達と判断することを特徴とする分析サーバ。
【請求項８】
請求項７に記載の分析サーバであって、
前記到達判定処理部は、さらに
前記テナントの情報処理システムで変換される、変換前のＩＰアドレスとＴＣＰまたはＵＤＰポート番号と、変換後のＩＰアドレスとＴＣＰまたはＵＤＰポート番号との対応関係を保持し、
前記第１のノードで記録された通信記録情報の前記変換後のＴＣＰまたはＵＤＰチェックサムを計算し、
前記計算したチェックサムと、前記第２のノードで記録された通信記録情報のＴＣＰまたはＵＤＰチェックサムとを比較することを特徴とする分析サーバ。
【請求項９】
プロセッサとメモリを備えた計算機で、サーバとネットワーク機器とを含む情報処理システム上に構築された１つ以上のテナントのネットワークの状態を分析する分析方法であって、
前記計算機が、前記テナントの前記情報処理システムのネットワークを構成するノードの構成情報に基づいて、前記ネットワークのノードのうち通信記録情報を収集するノードを選択する第１のステップと、
前記計算機が、前記選択されたノードに前記通信記録情報を収集させる第２のステップと、
前記計算機が、前記収集された前記通信記録情報を取得して、前記ネットワークの状態を分析する第３のステップと、を含み、
前記第３のステップは、
前記ネットワークにおいて分析対象レイヤの端点となるノード間で通信パケットの通信経路を計算するステップと、
前記分析対象レイヤの第１の端点となる第１のノードの通信記録情報と、第２の端点となる第２のノードの通信記録情報とを比較し、前記第１のノードの通信パケットが、前記第２のノードに到達したことを判定するステップと、
前記第２のノードに未到達の通信パケットを廃棄したノードを特定するステップと、を含むことを特徴とする分析方法。
【請求項１０】
請求項９に記載の分析方法であって、
前記第１のステップは、
前記ネットワークの状態を分析するレイヤ毎に、前記ネットワークの状態を分析するために通信記録情報を収集するノードとの対応関係を保持し、前記分析対象レイヤを受け付けて、前記分析対象レイヤと前記対応関係とに基づいて、通信記録情報を収集するノードを選択することを特徴とする分析方法。
【請求項１１】
請求項１０に記載の分析方法であって、
第２のステップは、さらに、
前記テナントの情報処理システムを構成するノードの種別と、前記ノードの通信記録情報を収集するノードとの対応関係を保持し、
前記対応関係に基づいて、前記通信記録情報を収集するノードを選択することを特徴とする分析方法。
【請求項１２】
請求項１１に記載の分析方法であって、
前記ネットワークは、
通信コストが等しい複数の通信経路を含み、
前記第２のステップは、さらに、
前記テナントの情報処理システムを構成するノードと、前記ノードが使用する前記複数の通信経路におけるフロー割当アルゴリズムとの対応関係を保持し、
前記対応関係に基づいて、前記テナントの通信パケットが経由しないノードを通信記録情報を収集するノードから除外することを特徴とする分析方法。
【請求項１３】
請求項９ないし請求項１２のいずれかひとつに記載の分析方法であって、
前記第２のノードに未到達の通信パケットを廃棄したノードを特定するステップは、
前記未到達の通信パケットに含まれる宛先となるノードの通信記録情報と、前記第１のノードの通信記録情報とを比較して、前記未到達の通信パケットを廃棄したノードまたはノードの範囲を特定することを特徴とする分析方法。
【請求項１４】
請求項１３に記載の分析方法であって、
前記通信記録情報は、
トラフィックログを含み、
前記第１のノードの通信パケットが、前記第２のノードに到達したことを判定するステップは、さらに、
前記第２のノードに未到達の通信パケットが含まれるセッション情報を計算し、
前記第２のノードに未到達の通信パケットを廃棄したノードを特定するステップは、
前記通信記録情報を収集するノードの中から通信経路の端点となるノードを選択し、前記選択したノードの通信記録情報がトラフィックログである場合に、前記計算されたセッション情報と、前記トラフィックログに記録されたセッション情報とを比較し、前記未到達の通信パケットを廃棄したノードを特定することを特徴とする分析方法。
【請求項１５】
請求項９に記載の分析方法であって、
前記通信記録情報は、
前記通信パケットを含み、
前記第１のノードの通信パケットが、前記第２のノードに到達したことを判定するステップは、
前記第１のノードの通信記録情報に記録された通信パケットと、もう一方の端点となる第２のノードの通信記録情報に記録された通信パケットのＴＣＰまたはＵＤＰヘッダのチェックサムを比較し、前記チェックサムが一致した場合に、ＴＣＰまたはＵＤＰペイロードを比較し、ペイロードが一致する場合に、到達と判断することを特徴とする分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセンタ上に構築するテナントの情報通信システムのネットワークの状態を分析するための計算機および分析方法に関する。
【背景技術】
【０００２】
近年、サーバ、ネットワーク、ストレージ等の各種機器を設置し、運用することに特化した施設であるデータセンタが普及しつつある。データセンタでは、様々な仮想化技術を用いて、物理的な機器の計算機リソースを論理的に分割し、データセンタを利用する顧客の情報通信システムであるテナントシステムに分割した計算機リソースを割り当てている。サーバの仮想化技術は、物理的なサーバを複数の仮想マシンに分割する技術を含む。ネットワークでは、物理的なネットワークインタフェースを複数の仮想的なＬＡＮに分割するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、サブインタフェースのような仮想インタフェース技術を含む。
【０００３】
データセンタには、１つ以上のテナントシステムが構築されている。あるテナントに障害が発生した場合、その障害がネットワークに起因する障害なのか、テナントシステムを構成する仮想マシン等、ネットワーク以外に起因する障害なのかを特定するために、特定のテナントシステムに関連するネットワークの状態を迅速に分析する必要がある。
【０００４】
テナントシステムに関連するネットワークの状態は、テナントシステムに関連して生じる通信パケットを、パケットキャプチャ装置などで記録し、記録したキャプチャログを比較することで分析することができる。しかしながら、大規模なデータセンタでは、設置するネットワーク機器の数が多く、ネットワーク機器を経由する通信パケットの量も非常に多い。
【０００５】
また、特定のテナントシステムだけを分析する場合、分析対象となるテナントシステムの通信パケットは、データセンタ内の一部の機器だけを経由する。このため、すべてのネットワーク機器でキャプチャして分析する方法では、テナントシステムの通信パケットが含まれないキャプチャログを多く分析することになり、分析のための計算時間が長くなる。そこで、特定のテナントシステムのネットワーク状態を迅速に分析するために、キャプチャするネットワーク機器のインタフェース及びキャプチャログの量を削減することが必要である。また、どこで収集したログを最初に分析するか、キャプチャしたログの分析の順番を決定することも、データ量が多いログから迅速に必要な分析結果を得るためには重要である。
【０００６】
データセンタ内に構築されたテナントシステムの数が少ない場合には、テナントシステムの通信パケットが経由するネットワーク機器を管理者が予測し、キャプチャするインタフェースを削減することが可能である。また、どのキャプチャしたデータを最初に分析するかを決定することも容易である。しかし、テナントシステムの構成が複雑な場合には、管理者が手作業で通信パケットが経由するネットワーク機器を予測し、キャプチャしたパケットを迅速に分析できる順番を決定することは難しい。また、イーサネット（登録商標）ファブリックやマルチシャーシのリンクアグリゲーションを利用した構成では、同一コストで通信可能な通信経路が１つ以上存在する場合がある。このような場合、ネットワーク機器に実装されたフロー割り当てアルゴリズムに基づいて、どの通信経路を利用するかを通信フロー毎に選択するため、管理者が手作業で通信パケットが経由するネットワーク機器やインタフェースを予測することは非常に難しい。
【０００７】
本技術分野の背景技術として、特許文献１が知られている。この公報には、パケットのキャプチャに必要なキャプチャ装置の台数を低減するために、経路制御装置から中継装置に対して、キャプチャ対象とするプロトコルの経路を、キャプチャ装置向け、またはキャプチャ装置に隣接する中継装置に変更することが記載されている（例えば、段落００２１）。
【０００８】
また、特許文献２には、複数のファイヤウォールのログを収集し、複数のファイヤウォールのトラフィックログを比較することで、通信パケットのキャプチャログを利用せずに、通信経路を分析することが記載されている（例えば、段落００７８）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１５１５１号公報
【特許文献２】特開２０１２−２０５２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記特許文記載１の技術では、対象とするプロトコルをキャプチャするために、キャプチャ装置向けに通信パケットの経路を変更する。このため、キャプチャ時の通信経路と、実運用時の通信経路が異なり、実運用時の通信経路を利用した際のネットワークの状態を分析することはできない。
【００１１】
上記特許文記載２に記載の技術では、ファイヤウォールのトラフィックログを比較するため、トラフィックログに記録された通信パケットが、テナントシステムを構成する仮想マシンに到達したか否かを分析することはできない。また、トラフィックログに記載された通信フローを逐次追跡するため、大規模なネットワークでは最終的な経路を分析するためには、大量にトラフィックログを比較する必要がある。さらに、データセンタでは、顧客の拠点に配置したシステムと、データセンタに配置したシステムを専用線やＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）を用いて接続する場合は、ファイヤウォールを使用しない構成でテナントシステムを構築することも可能である。ファイヤウォールを使用しない構成では、上記特許文献２に記載の技術を利用して通信経路のネットワーク状態を分析することはできない。
【００１２】
本発明の課題は、実運用時にテナントシステムの通信パケットが経由するネットワークの状態を分析する際、分析に要する時間を削減することである。
【課題を解決するための手段】
【００１３】
本発明は、サーバとネットワーク機器とを含む情報処理システム上に構築された１つ以上のテナントのネットワークの状態を分析する分析サーバであって、前記分析サーバは、前記テナントの前記情報処理システムのネットワークを構成するノードの構成情報と、前記構成情報に基づいて、前記ネットワークのノードのうち通信記録情報を収集するノードを選択する設定処理部と、前記選択されたノードに前記通信記録情報を収集させる収集処理部と、前記収集された前記通信記録情報を取得して、前記ネットワークの状態を分析する分析処理部と、を備え、前記分析処理部は、前記ネットワークにおいて分析対象レイヤの端点となるノード間で通信パケットの通信経路を計算するサービス経路計算処理部と、前記分析対象レイヤの第１の端点となる第１のノードの通信記録情報と、第２の端点となる第２のノードの通信記録情報とを比較し、前記第１のノードの通信パケットが、前記第２のノードに到達したことを判定する到達判定処理部と、前記第２のノードに未到達の通信パケットを廃棄したノードを特定する特定処理部と、を備える。
【発明の効果】
【００１４】
本発明により、データセンタ内に構築した特定のテナントシステムで発生する通信パケットが経由するネットワークの状態を分析する際に、分析に要する時間を削減することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施例を示し、計算機システムの一例を示すブロック図である。
【図２】本発明の第１の実施例を示し、サーバの一例を示すブロック図である。
【図３Ａ】本発明の第１の実施例を示し、スイッチの一例を示すブロック図である。
【図３Ｂ】本発明の第１の実施例を示し、ファイヤウォールの一例を示すブロック図である。
【図４】本発明の第１の実施例を示し、分析サーバの一例を示すブロック図である。
【図５】本発明の第１の実施例を示し、分析サーバが実行する処理及び使用するデータの一例を示すブロック図である。
【図６Ａ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれるノード管理テーブルの一例を示す図である。
【図６Ｂ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれるインタフェース管理テーブルの一例を示す図である。
【図６Ｃ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれる仮想ノード管理テーブルの一例を示す図である。
【図７Ａ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれるアドレス変換テーブルの一例を示す図である。
【図７Ｂ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれるポリシー管理テーブルの一例を示す図である。
【図７Ｃ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれるログ種別管理テーブルの一例を示す図である。
【図７Ｄ】本発明の第１の実施例を示し、テナント構成ＤＢに含まれる分析レイヤ管理テーブルの一例を示す図である。
【図８】本発明の第１の実施例を示し、パケット蓄積テーブルの一例を示す図である。
【図９Ａ】本発明の第１の実施例を示し、収集管理ＤＢに含まれるテーブルの一例を示す図である。
【図９Ｂ】本発明の第１の実施例を示し、収集管理ＤＢに含まれる収集インタフェース管理テーブルの一例を示す図である。
【図１０】本発明の第１の実施例を示し、分析結果ＤＢに含まれるテーブルの一例を示す図である。
【図１１】本発明の第１の実施例を示し、収集処理の一例を示すシーケンス図である。
【図１２】本発明の第１の実施例を示し、分析処理の一例を示すシーケンス図である。
【図１３】本発明の第１の実施例を示し、収集機器選択処理の一例を示すフローチャートである。
【図１４Ａ】本発明の第１の実施例を示し、テナントシステムの論理構成を示すブロック図である。
【図１４Ｂ】本発明の第１の実施例を示し、テナントシステムの通信経路の一例を示すブロック図である。
【図１４Ｃ】本発明の第１の実施例を示し、テナントシステムの通信経路の他の例を示すブロック図である。
【図１４Ｄ】本発明の第１の実施例を示し、テナントシステムの通信経路の他の例を示すブロック図である。
【図１５Ａ】本発明の第１の実施例を示し、テナントシステムのサービス経路の一例を示すブロック図である。
【図１５Ｂ】本発明の第１の実施例を示し、テナントシステムのサービス経路の他の例を示すブロック図である。
【図１６Ａ】本発明の第１の実施例を示し、到達判定処理の一例を示すフローチャートである。
【図１６Ｂ】本発明の第１の実施例を示し、廃棄ノード特定処理の一例を示すフローチャートである。
【図１７】本発明の第１の実施例を示し、パケット比較処理の一例を示すフローチャートである。
【図１８】本発明の第１の実施例を示し、セッション比較処理の一例を示すフローチャートである。
【図１９Ａ】本発明の第１の実施例を示し、スイッチ管理テーブルの一例を示す図である。
【図１９Ｂ】本発明の第１の実施例を示し、等コスト機器選択処理の一例を示すフローチャートである。
【図２０Ａ】本発明の第１の実施例を示し、サービス経路の一例を示すブロック図である。
【図２０Ｂ】本発明の第１の実施例を示し、サービス経路の他の例を示すブロック図である。
【図２１Ａ】本発明の第２の実施例を示し、インタフェースグループ管理テーブルの一例を示す図である。
【図２１Ｂ】本発明の第２の実施例を示し、キャプチャノード管理テーブルの一例を示す図である。
【図２２】本発明の第２の実施例を示し、キャプチャ設定処理の一例を示すフローチャートである。
【図２３Ａ】本発明の第３の実施例を示し、サービスポート管理テーブルの一例を示す図である。
【図２３Ｂ】本発明の第３の実施例を示し、到達判定テーブルの一例を示す図である。
【図２４】本発明の第３の実施例を示し、到達判定処理の一例を示すフローチャートである。
【図２５】本発明の第２の実施例を示し、計算機システムの一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【実施例１】
【００１７】
本実施例では、テナントの構成情報、ネットワークの状態を分析するレイヤの情報、およびトラフィックログを用いて、通信パケットをキャプチャするインタフェースを削減する。また、テナントの構成情報からサービスの端点となるノードを特定し、サービスの端点となるノード間のネットワーク状態から分析することで、分析に要する時間を削減する例を説明する。なお、レイヤは、ＯＳＩ（Open Systems Interconnection）参照モデルの第１層から第７層に対応する例を示す。
【００１８】
図１は、本実施例１の計算機システムの一例を示すブロック図である。
【００１９】
データセンタ１００は、１つ以上のネットワーク機器およびサーバから構成される。ネットワーク機器には、スイッチ（ＳＷ）７ａ〜７ｈ、ファイヤウォール（ＦＷ）９ａ、ロードバランサ（ＬＢ）１０ａが含まれる。サーバ８ａ〜８ｆは、仮想基盤を用いることにより、仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）に、分割したサーバリソースを割り当てる。サーバ８ａ〜８ｆは、スイッチ７ａ〜７ｈのいずれかを介して、他のサーバおよびファイヤウォール９ａ、ロードバランサ１０ａと接続する。なお、図示の例では、ひとつのラックに１以上のサーバと、１以上のスイッチが格納される。例えば、スイッチ７ｆを収容したラックには、サーバ８ａとサーバ８ｂが収容され、サーバ８ａ、８ｂがスイッチ７ｆに接続されている。
【００２０】
分析サーバ１は、テナントシステムに関連するネットワークの状態を分析するための計算機である。キャプチャ装置４は、テナントシステムに関連する通信パケットをキャプチャするための装置である。分析サーバ１と、キャプチャ装置２は、データセンタ内のスイッチ７ａを介して他のネットワーク機器およびサーバ８ａ〜８ｅと接続する。また、キャプチャ装置２は、テナントシステムに関連する通信パケットをキャプチャするために、他のスイッチ（７ｂ〜７ｈ）と直接接続されていてもよい。
【００２１】
図２は、サーバ８ａの一例を示すブロック図である。サーバ８ｂ〜８ｆは、サーバ８ａと同様の構成である。サーバ８ａは、ハードウェアとして、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０２、メモリ８０３、インタフェース８０４を備え、それぞれはバス（またはインターコネクト）で接続される。
【００２２】
メモリ８０３は、ＣＰＵ８０２によって実行される処理である仮想基盤８０５や仮想マシンのＯＳ等を格納する。仮想基盤８０５は、ＣＰＵ８０２等のサーバリソースを論理的に分割して、仮想マシン（ＶＭ）に割り当てるための処理である。仮想基盤８０５としては例えば、ハイパーバイザやＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）などの仮想化部で構成することができる。
【００２３】
仮想基盤８０５は、仮想スイッチ８０６と、１つ以上の仮想マシン（１１、１２）と、キャプチャ機能８１０を提供する。仮想マシン１１は、仮想ＮＩＣ１１３、ＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）１１２、サービス１１１を備える。
【００２４】
仮想ＮＩＣ１１３は、仮想マシン１１が、他の機器と通信するための通信パケットを送受信するための仮想的なインタフェースである。仮想ＮＩＣの数は、仮想基盤８０５によって、適宜増減可能であり、１つ以上の仮想ＮＩＣ１１３を備えてもよい。
【００２５】
サービス１１１は、仮想マシン１１にインストールされたプログラムであり、ＯＳ１１２上で実行される。管理者は、管理する仮想マシン１１に任意のプログラムをインストールすることで仮想マシン１１にサービスを追加することができる。例えば、ファイヤウォール機能を提供するサービス１１１がインストールされている仮想マシン１１は、ファイヤウォール（ＦＷ）として機能する。ＷＥＢサーバとして機能するサービス１２１がインストールされている仮想マシンは１２、ＷＥＢサーバとして機能する。１つの仮想マシンに複数のサービスをインストールしてもよい。
【００２６】
仮想スイッチ８０６は、１つ以上のポート８０７、８０８、８０９を備える。各ポートには、仮想マシンの仮想ＮＩＣ１１３、１２３、またはインタフェース８０４が論理的に接続される。仮想スイッチ８０６は、インタフェース８０４が受信した通信パケットを適切な仮想ＮＩＣに転送したり、仮想ＮＩＣ１１３、１２３が送信した通信パケットを適切な仮想ＮＩＣやインタフェース８０４に転送する。図２の例では、仮想ＮＩＣ１１３はポート８０７、仮想ＮＩＣ１２３はポート８０８、インタフェース８０４はポート８０９に接続されている。通信パケットは、ネットワークを介して通信する装置間でやりとりするデータの最小単位である。通信パケットの最も代表的な例は、イーサネット（登録商標）フレームである。キャプチャ８１０は、仮想スイッチ８０６が送受信する通信パケットをすべてキャプチャするための機能である。
【００２７】
サーバ８ａで行われる処理としては、仮想基盤が仮想マシン１１、１２へ仮想ＮＩＣを割り当てる処理と、仮想ＮＩＣと論理的に接続された仮想スイッチ８０６が、インタフェース８０４または仮想マシン１１、１２同士で通信パケットを転送する処理と、キャプチャ８１０が仮想スイッチ８０６で転送される通信パケットを記録する処理と、を含む。
【００２８】
図３Ａは、スイッチ７ａの構成の一例を示すブロック図である。スイッチ７ｂ〜７ｈは、スイッチ７ａと同様の構成であるので重複する説明は。スイッチ７ａは、ハードウェアとしてＣＰＵ７１と、メモリ７２と、複数のインタフェース７３を備え、それぞれはバス等で接続される。メモリ７２は、各処理が参照するテーブルであるルーティングテーブル７２１と、ＣＰＵ７１によって実行される処理であるフロー割当処理７２２と、転送処理７２３とを備える。
【００２９】
ルーティングテーブル７２１は、スイッチ７ａに入力された通信パケットの宛先アドレスをもとに、スイッチ７ａから出力するインタフェース７３を決定するためのテーブルである。スイッチ７ａが、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ルーティングを行う場合は、レイヤ３のルーティングテーブルを備える。スイッチ７ａが、イーサネット（登録商標）ファブリックまたはマルチシャーシのリンクアグリゲーションに対応したスイッチである場合は、レイヤ２のルーティングテーブルを備える。スイッチ７ａは複数のレイヤのルーティングテーブルを備えていてもよい。
【００３０】
フロー割当処理７２２は、通信フローとルーティングテーブルのエントリとを割り当てるための処理である。イーサネット（登録商標）ファブリックや、マルチシャーシのリンクアグリゲーションのように、宛先に対して、同一コストの通信経路が１つ以上存在する場合は、通信フロー毎にどの通信経路に割り当てるかを決定する。
【００３１】
転送処理７２３は、インタフェース７３から入力された通信パケットの宛先アドレスと、ルーティングテーブル７２１を参照し、出力するインタフェースを決定する。スイッチ７ａがレイヤ３のスイッチ７ａとして機能する場合はレイヤ３のルーティングテーブルを参照する。レイヤ２のスイッチ７ａとして機能する場合は、レイヤ２のルーティングテーブルを参照する。なお、フロー割当処理７２２および、転送処理７２３は、ハードウェアとして実装していてもよい。
【００３２】
スイッチ７ａで行われる処理としては、スイッチ７ａが通信パケットを受け付ける処理と、通信パケットの宛先情報からルーティングテーブル７２１を参照して出力するインタフェース７３を決定する処理と、当該通信パケットを転送する処理と、含む。スイッチ７ａは、宛先に対して、同一コスト（ホップ数）の通信経路が１つ以上存在する場合には、フロー割当処理７２２によって通信フロー毎にどの通信経路に割り当てるかを決定する処理と、出力するインタフェース７３を決定する処理と、当該通信パケットを転送する処理と、を含む。
【００３３】
図３Ｂは、ファイヤウォール９ａの構成の一例を示すブロック図である。ファイヤウォール９ａは、ハードウェアとしてＣＰＵ９１と、メモリ９２と、１つ以上のインタフェース９３を備え、それぞれはバス等で接続される。メモリ９２は、各処理が参照するテーブルであるルーティングテーブル９２１と、ポリシーテーブル９２２と、ＣＰＵ７１によって実行される処理である転送処理９２３と、アドレス変換処理９２４と、アクセス制御処理９２５と、ログ記憶処理９２６とを備える。
【００３４】
ルーティングテーブル９２１は、ファイヤウォール９ａに入力された通信パケットに含まれる宛先ＩＰアドレスを基に、ファイヤウォール９ａから出力するインタフェース９３を決定するためのテーブルである。ファイヤウォール９ａが、ＩＰルーティングを行う場合は、レイヤ３のルーティングテーブルを備える。ポリシーテーブル９２２は、ファイヤウォールとして機能するためのルールを記述したテーブルである。特定の通信フローに対して、ファイヤウォール９ａで通過させたり、拒否したり、アドレス変換する等のアクションを記述する。アドレス変換には、ＶＩＰ（Ｖｉｒｔｕａｌ  ＩＰ）やＭＩＰ（Ｍａｐｐｅｄ  ＩＰ）等のＩＰヘッダの宛先アドレス、送信元アドレス、ＴＣＰまたはＵＤＰヘッダの宛先ポート番号、送信元ポート番号を変換する処理がすべてが含まれる。
【００３５】
転送処理９２３は、インタフェース９３から入力された通信パケットの宛先アドレスと、ルーティングテーブル９２１を参照し、出力するインタフェース９３を決定する。
【００３６】
アドレス変換処理９２４は、ポリシーテーブル９２２の記述に従い、ファイヤウォール９ａで受信した通信パケットに含まれるＩＰヘッダおよびＴＣＰヘッダの変換を行う。
【００３７】
アクセス制御処理９２５は、ポリシーテーブル９２２の記述に従い、ファイヤウォール９ａで受信した通信パケットを廃棄したり、通過させる。
【００３８】
ログ記録処理９２６は、通信フローに対してファイヤウォール９ａが行う処理を記録する。通信フローに対する記録は、通信パケット毎ではなく、ＴＣＰのセッション毎等、１つ以上の通信パケットをまとめた処理が記録される。なお、ファイヤウォール９ａで実行する各種処理（９２３〜９２６）は、ハードウェアとして実装していてもよい。
【００３９】
ファイヤウォール９ａの処理としては、ファイヤウォール９ａに入力された通信パケットについてポリシーテーブル９２２を参照し、当該通信パケットに対する操作（通過、拒否、アドレス変換）を決定する処理と、通信パケットの宛先ＩＰアドレスに基づいて、ルーティングテーブル９２１を参照して出力するインタフェース９３を決定する処理と、当該通信パケットの通信フローを記録する処理と、を含む。
【００４０】
図４は、分析サーバ１の構成の一例を示すブロック図である。分析サーバ１は、ＣＰＵ４０１、メモリ４０２を備える計算機を用いて実現することができる。メモリ４０２には、ＯＳや分析プログラム等の様々なプログラムを格納する。また、各プログラムは、必要なときに通信インタフェース４０３やメディアインタフェース４０４を経由して上記計算機が利用可能な媒体を介し、他の装置から上記記憶装置に導入されてもよい。媒体とは、たとえば、通信媒体（すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号）、またはメディアインタフェース４０４に着脱可能な外部記憶媒体４０６を指す。なお、分析サーバ１は、入出力装置４０５を介して管理サーバを操作するコンソール４０７に接続してもよい。
【００４１】
キャプチャ装置２の構成は、分析サーバと同様の装置構成であり、メモリ上に格納されたプログラムがそれぞれ異なる。すなわち、メモリ上にキャプチャプログラムが格納され、ＣＰＵによって実行されている点が分析サーバ１と異なる。
【００４２】
図５は、分析サーバが実行する処理及び使用するデータの一例を示すブロック図である。分析サーバ１は、ソフトウェアの構成要素として、指示受付処理５０１、設定処理５１０、収集処理５２０、分析処理５３０を備える。これらのソフトウェアは、指示受付処理部（５０１）と、設定処理部（５１０）と、収集処理部（５２０）と、分析処理部（５３０）として機能する。
【００４３】
指示受付処理５０１は、管理者が指示した収集開始、分析開始等の指示を受け付ける。受け付けた指示に応じて、設定処理５１０、収集処理５２０、分析処理５３０を呼び出す。収集開始は、特定のテナントに関連するネットワークの状態を分析するためのログまたは通信パケット等の通信記録情報の収集を開始するための指示である。分析開始は、特定のテナントのログの収集を終了し、収集したログまたは通信パケット等の通信記録情報から分析を開始するための指示である。
【００４４】
設定処理５１０は、構成要素として、収集機器選択処理５１１、キャプチャ設定処理５１２、トラフィックログ収集設定処理５１３を備える。
【００４５】
収集機器選択処理５１１は、テナント構成ＤＢ５４０を参照し、テナントシステムの通信パケットが経由するネットワーク機器、サーバを特定し、通信パケットをキャプチャする機器と、ログとしてトラフィックログを収集する機器を決定する。
【００４６】
キャプチャ設定処理５１２は、収集機器選択処理５１１の決定に従い、ネットワーク機器またはサーバに対して、通信パケットのパケットキャプチャの設定を行う。トラフィックログ収集設定処理５１３は、収集機器選択処理５１１の決定に従い、ネットワーク機器、サーバ、キャプチャ装置に対して、トラフィックログ収集のための設定を行う。
【００４７】
収集処理５２０は、構成要素として、トラフィックログ収集処理５２１、パケット収集処理５２２を備える。トラフィックログ収集処理５２１は、ネットワーク機器からトラフィックログを収集する。パケット収集処理５２２は、キャプチャ装置またはサーバから、キャプチャした通信パケットのファイルを収集し、パケット蓄積ＤＢ５５０に保存する。
【００４８】
分析処理５３０は、構成要素として、テナントパケット抽出処理５３１、到達判定処理５３２、廃棄ノート特定処理５３３を備える。テナントパケット抽出処理５３１は、パケット蓄積ＤＢ５５０に蓄積した通信パケットのうち、テナントの通信パケットを含む可能性のある通信パケットのファイルから、テナントの通信パケットを抽出する。
【００４９】
到達判定処理５３２は、抽出したテナントの通信パケットを比較し、サービスの最終的な宛先となるノードに通信パケットが到達したか否かを判定する。到達判定処理５３２で判定した結果を、分析結果ＤＢ５７０に記録する。廃棄ノード特定処理５３３は、最終的な宛先となるノードに到達したなった通信パケットがどこのノードで廃棄されたかを特定し、分析結果ＤＢ５７０に記録する。
【００５０】
ここで、分析サーバ１では設定処理５１０、収集処理５２０、分析処理５３０などの各機能部はプログラムとしてメモリ４０２にロードされる。ＣＰＵ４０１は、各機能部のプログラムに従って処理することによって、所定の機能部を実現する。例えば、ＣＰＵ４０１は、分析プログラムに従って処理することで分析処理部として機能する。他のプログラムについても同様である。さらに、ＣＰＵ４０１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部となる。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００５１】
分析部の各機能を実現するプログラム、テーブル等の情報は、外部記憶媒体４０６や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００５２】
図６Ａ、図６Ｂ、図６Ｃおよび図７Ａ、図７Ｂ、図７Ｃ、図７Ｄにテナント構成ＤＢ５４０の構成例を示す。テナント構成ＤＢ５４０は、テナントシステムの構成情報を管理するためのデータベースである。
【００５３】
テナント構成ＤＢ５４０は、テナント識別子５４１、ノード管理テーブル５４２、インタフェース管理テーブル５４３、仮想ノード管理テーブル５４４、アドレス変換テーブル５４５、ポリシー管理テーブル５４６、ログ種別管理テーブル５４７、分析レイヤ管理テーブル５４８を含む。各テーブルをテナント識別子５４１ごとに管理する。
【００５４】
テナント識別子５４１は、データセンタ内でテナントシステムを一意に識別するための識別子である。
【００５５】
図６Ａは、テナント構成ＤＢ５４０を構成するノード管理テーブル５４２の一例を示す図である。
【００５６】
ノード管理テーブル５４２は、テナントシステムを構成するノードを管理するためのテーブルである。ノード管理テーブルは、構成要素として、ノード識別子５４２１、ノード種別５４２２、サービス５４２３、通信種別５４２４、インタフェース識別子５４２５を含む。
【００５７】
ノード識別子５４２１は、データセンタ内でノードを一意に識別するための識別子である。ノード識別子は、スイッチ７、ファイヤウォール９、サーバ８のような物理的なノードだけでなく、仮想マシン（ＶＭ）１１〜１３や仮想スイッチ８０６のような仮想的（または論理的）なノードにも識別子を付与する。ノード種別５４２２は、ノード識別子で識別されるノードの種類を示す。
【００５８】
ノード種別５４２２には、クライアント、ファイヤウォール（ＦＷ）、仮想マシン（ＶＭ）、スイッチ（ＳＷ）等が含まれる。
【００５９】
サービス５４２３は、各ノードが提供するサービスの種類が格納される。サービス５４２３には、クライアント、ファイヤウォール（ＦＷ）、ウェブサービス（ＷＥＢ）、アプリケーション（ＡＰ）、スイッチ（ＳＷ）等が含まれる。
【００６０】
通信種別５４２４は、ノード識別子で識別されるノードが行う通信の種類を示す。通信種別５４２４には、“終端”と“転送”がある。“終端”は、ノードに含まれるインタフェースのＩＰアドレスを用いて、通信パケットを送受信することを示す。“転送”は、ノードに含まれるインタフェースのＩＰアドレスを用いた通信パケットの送受信は行わず、転送処理だけを行うことを示す。
【００６１】
インタフェース識別子５４２５は、ノード識別子で識別されるノードが備えるインタフェースの識別子である。インタフェースには、スイッチ７に含まれるインタフェース７３等物理的なインタフェースの他、仮想マシンにおける仮想ＮＩＣ１１３、１２３、仮想スイッチ８０６におけるポートのように、仮想的なインタフェースも含まれる。インタフェース識別子５４２５は、データセンタ内でインタフェースを一意に識別できる識別子である。なお、インタフェース識別子５４２５は、ノード内で一意に識別できる識別子としてもよい。ノード内で一意に識別できる識別子とする場合は、ノード識別子とインタフェース識別子を用いて、データセンタ内でインタフェースを一意に識別する。
【００６２】
図６Ａに示すノード管理テーブル５４２において、ノード識別子Ｎ１で識別されるノードは、ノードの種別５４２２はクライアントであり、インタフェース識別子５４２５＝Ｉ０で示されるインタフェースを備えていることを示す。
【００６３】
ノード識別子５４２１＝Ｎ３で識別されるノードは、ノードの種別５４２２は仮想マシン（ＶＭ）であり、インタフェース識別子Ｉ３、Ｉ４で示されるインタフェースを備えていることを示す。
【００６４】
図６Ｂは、テナント構成ＤＢ５４０を構成するインタフェース管理テーブル５４３の一例を示す図である。
【００６５】
インタフェース管理テーブル５４３は、テナントシステムを構成するノードが備えるインタフェースを管理するためのテーブルである。インタフェース管理テーブル５４３は、構成要素としてインタフェース識別子５４３１、ＶＬＡＮ５４３２、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）５４３３、ＩＰ５４３４、ノード識別子５４３５、隣接インタフェース５４３６を含む。
【００６６】
インタフェース識別子５４３１は、データセンタ内でインタフェースを一意に識別するための識別子である。ＶＬＡＮ５４３２は、インタフェース識別子５４３１で示されるインタフェースがＶＬＡＮに属する場合は、ＶＬＡＮ番号を登録する。ＶＬＡＮに属さない場合は、登録しなくてよい。
【００６７】
ＭＡＣ５４３３は、インタフェース識別子で示されるインタフェースに付与されているＭＡＣアドレスを示す。ＩＰ５４３４は、インタフェース識別子５４３１で示されるインタフェースに付与されているＩＰアドレスを示す。隣接インタフェース５４３６は、インタフェース識別子５４３１で示されるインタフェースが接続するインタフェースの識別子を示す。なお、ノード識別子５４３５は、ノード管理テーブル５４２のノード識別子５４２１に対応する識別子が格納される。
【００６８】
図６Ｃは、テナント構成ＤＢ５４０を構成する仮想ノード管理テーブル５４４の一例を示す図である。
【００６９】
仮想ノード管理テーブル５４４は、仮想ノードのノード識別子５４４１と、仮想ノードが配置されている物理ノードのノード識別子５４４２との対応関係を示す。図６Ｃに示した仮想ノード管理テーブル５４４では、ノード識別子Ｎ３、Ｎ４で示される仮想ノードが、Ｎ１１で示される物理ノードに配置されていることを示す。
【００７０】
図７Ａは、テナント構成ＤＢ５４０を構成するアドレス変換テーブル５４５の一例を示す図である。
【００７１】
アドレス変換テーブル５４５は、テナントシステムを構成するノードのいずれかで、変換するアドレスを管理するためのテーブルである。アドレス変換テーブル５４５は、構成要素として、変換前の送信元ＩＰアドレスとポート番号５４５１、変換前の宛先アドレスＩＰアドレスとポート番号５４５２、変換後の送信元ＩＰアドレスとポート番号５４５３、変換後の宛先ＩＰアドレスとポート番号５４５４と、ノード識別子５４５５を含む。
【００７２】
ノード識別子５４５５は、アドレス変換を行うノードの識別子である。変換前の送信元ＩＰアドレス：ポート番号５４５１および、宛先ＩＰアドレス：ポート番号５４５２に該当する通信パケットは、ノード識別子５４５５で示されるノードで、変換後の送信元ＩＰアドレス：ポート番号５４５３および、宛先ＩＰアドレス：ポート番号５４５４で示されるアドレスおよびポートに変換することを示す。図中“Ａｎｙ”はすべてのＩＰアドレスやポート番号が該当することを示す。また、アドレスやポート番号をレンジで指定してもよい。アドレス変換には、ＶＩＰやＭＩＰによるアドレス変換も含まれる。変換後が“ａｎｙ”の場合は、アドレスやポートの変換は行わないことを示す。
【００７３】
図７Ａに示すアドレス変換テーブル５４５の例では、ノード識別子５４５５がＮ２で示されるノードが、宛先 ＩＰアドレスがｘｘｘｘ、宛先ポート番号５４５２が８０の通信パケットを受信した場合に、宛先ＩＰアドレス５４５４をｚｚｚｚに変換することを示す。送信元ＩＰアドレス、送信元ポート番号の変換は行わない。
【００７４】
図７Ｂは、テナント構成ＤＢ５４０を構成するポリシー管理テーブル５４６の一例を示す図である。
【００７５】
ポリシー管理テーブル５４６は、テナントシステムを構成するファイヤウォールやロードバランサ等のポリシーを管理するためのテーブルである。ポリシー管理テーブル５４６は構成要素として、ノード識別子５４６１、ポリシーＩＤ５４６２、ポリシー５４６３を含む。ノード識別子５４６１は、ポリシー５４６３で指定された処理を実行するノードの識別子である。ポリシーＩＤ５４６２は、ノードに設定されているポリシーのＩＤである。ポリシー５４６３は実際にノードに設定されているポリシーである。図７Ｂにおいて、ノード識別子Ｎ２で示されるノードのポリシーＩＤ＝１０００に、ｚｏｎｅＡからｚｏｎｅＢに向かう宛先ＩＰアドレスｘｘｘｘ、宛先ポート番号８０の通信パケットを、宛先ＩＰアドレスｚｚｚｚにアドレス変換するように設定されていることを示す。
【００７６】
また、ノード識別子Ｎ３で示されるノードに、ｚｏｎｅＣからｚｏｎｅＤに向かう宛先ＩＰアドレスがｚｚｚｚ、宛先ポート番号が４４３の通信パケットを拒否するように設定されている。通過パケットに対する処理は、拒否（ｄｅｎｙ）、通過（ｐａｓｓ）、アドレス変換（ｎａｔ）等がある。
【００７７】
図７Ｃは、テナント構成ＤＢ５４０を構成するログ種別管理テーブル５４７の一例を示す図である。
【００７８】
ログ種別管理テーブル５４７は、ノードの種類ごとにログまたは通信パケット等の通信記録情報の収集方法を管理するためのテーブルである。ログ種別管理テーブル５４７は、構成要素としてノード種別５４７１、ログ種別５４７２、収集ノード５４７３、記録ノード５４７４を含む。
【００７９】
ノード種別５４７１は、テナントシステムを構成するノードの種類である。ノード種類には、仮想マシン（ＶＭ）、ファイヤウォール（ＦＷ）、スイッチ（ＳＷ）、クライアント等が含まれる。ログ種別５４７２は、ノード種別５４７１で示されるノードの通信記録情報をどのようなデータを収集するかが設定されている。ログ種別５４７２には、キャプチャとトラフィックログが含まれる。収集ノード５４７３は、ノード種別５４７１で示されるノードのログまたは通信パケットを収集するノードが記載されている。記録ノード５４７４には、収集したノードのログまたは通信パケットを記録するノードが記載されている。
【００８０】
図７Ｃのログ種別管理テーブル５４７において、ノード種別５４７１が“ＶＭ”のノードは、仮想スイッチで通信パケットのキャプチャを行い、キャプチャしたファイルは、サーバに記録されることを示す。また、ノード種別が“ＦＷ”のノードは、自ノードでトラフィックログ記録し、記録したトラフィックログは自ノードに記録されることを示す。なお、ログ種別管理テーブル５４７は、テナント毎ではなく、データセンタ全体で１つのログ種別管理テーブルを管理してもよい。
【００８１】
図７Ｄは、テナント構成ＤＢ５４０を構成する分析レイヤ管理テーブル５４８の一例を示す図である。
【００８２】
分析レイヤ管理テーブル５４８は、テナントシステムのネットワーク状態を分析するレイヤと、該当レイヤを分析するためにログまたは通信パケットを収集するノードとの対応関係を表すテーブルである。
【００８３】
分析レイヤ５４８１には、サービス、レイヤ３、レイヤ２が含まれる。収集機器５４８２には、テナントシステムを構成するノード管理テーブルに登録されたノード種別を含む。サービスは、レイヤ４以上の分析を行う。レイヤ３は、ＩＰレイヤ以上の分析を行う。レイヤ２は、イーサネット（登録商標）レイヤ以上の分析を行う。
【００８４】
図８は、パケット蓄積ＤＢ５５０の一例を示す図である。パケット蓄積ＤＢ５５０は、通信パケットをキャプチャしたファイルを管理するためのテーブルである。パケット蓄積ＤＢ５５０は、構成要素として、インタフェース識別子５５０１、ノード識別子５５０２、テナント識別子５５０３、ディレクトリ５５０４、ファイル名５５０５、タイムスタンプ５５０６を含む。
【００８５】
インタフェース識別子５５０１は、通信パケットをキャプチャしたインタフェースのインタフェース識別子である。ノード識別子５５０２は、インタフェースを含むノードの識別子である。テナント識別子５５０３は、該当のファイルに含まれる通信パケットが関連するテナントの識別子である。
【００８６】
ディレクトリ５５０４は、キャプチャしたファイルを格納したディレクトリ名であり、ファイル名５５０５は、キャプチャしたファイルの名前である。タイムスタンプ５５０６は、該当のファイルのキャプチャを開始した時刻と、終了した時刻が含まれる。
【００８７】
図９Ａ、図９Ｂは、収集管理ＤＢ５６０の一例を示す図である。収集管理ＤＢ５６０は、キャプチャ中のインタフェースを管理するためのテーブルである。収集管理ＤＢ５６０は、構成要素として、テナント識別子５６１、キャプチャインタフェース管理テーブル５６２、トラフィックログ収集管理テーブル５６３、収集インタフェース管理テーブル５６４を含む。
【００８８】
なお、キャプチャインタフェース管理テーブル５６２および、トラフィックログ収集管理テーブル５６３は、テナント識別子５６１毎に管理する。
【００８９】
図９Ａは、収集管理ＤＢに含まれるキャプチャインタフェース管理テーブル５６２及びトラフィックログ収集管理テーブル５６３の一例を示す図である。
【００９０】
キャプチャインタフェース管理テーブル５６２は、テナント識別子５６１に該当するテナントシステムでキャプチャするインタフェースを管理するためテーブルである。キャプチャインタフェース管理テーブル５６２の構成要素として、対象インタフェース５６２１、収集ノードのノード識別子５６２２、インタフェース識別子５６２３、記録ノードのノード識別子５６２４を含む。
【００９１】
対象インタフェース５６２１には、インタフェース識別子が含まれ、本項目で指定したインタフェースが送受信する通信パケットをキャプチャすることを示す。収集ノードのノード識別子５６２２は、対象インタフェース５６２１で指定したインタフェースが送受信する通信パケットをキャプチャするノードの識別子である。インタフェース識別子５６２３は、対象インタフェースで指定したインタフェースが送受信する通信パケットをキャプチャするインタフェースの識別子である。記録ノードのノード識別子５６２４は、対象インタフェース５６２１で指定したインタフェースが送受信する通信パケットをキャプチャし、キャプチャしたファイルを一時的に保管するノードの識別子である。
【００９２】
トラフィックログ収集管理テーブル５６３は、該当するテナントシステムにおいてトラフィックログを収集するノードの識別子５６３１と、ポリシーＩＤ５６３２およびポリシー５６３３を管理するためのテーブルである。ポリシー５６３３には、トラフィックログの収集対象などが定義される。
【００９３】
図９Ｂは、収集管理ＤＢに含まれる収集インタフェース管理テーブル５６４の一例を示す図である。
【００９４】
収集インタフェース管理テーブル５６４は、データセンタ内で通信パケットをキャプチャ中のインタフェースを管理するためのテーブルである。収集インタフェース管理テーブル５６４は、構成要素として、インタフェース識別子５６４１、ノード識別子５６４２、テナント識別子５６４３、記録ノードのノード識別子５６４４、キャプチャファイルのファイル名５６４５を含む。
【００９５】
図１０は、分析結果ＤＢ５７０に含まれるテーブルの一例を示す図である。分析結果ＤＢ５７０は、テナントシステムに関連するネットワーク状態を分析した結果を記録するためのＤＢである。分析結果ＤＢ５７０は、構成要素として、テナント識別子５７１、到達判定テーブル５７２、廃棄ノード特定テーブル５７３を含む。
【００９６】
到達判定テーブル５７２は、到達判定処理５３２の結果を記録するテーブルである。到達判定テーブル５７２は、構成要素として、サービスの送信元ノードの送信元ＩＰアドレス：ポート番号５７２１、宛先ＩＰアドレス：ポート番号５７２２、サービスの宛先ノードの送信元ＩＰアドレス：ポート番号５７２３、宛先ＩＰアドレス：ポート番号５７２４、到達判定５７２５、セッション情報５７２６を含む。
【００９７】
サービスの送信元ノードとは、アプリケーション通信の送信元となるノードを示し、サービスの宛先ノードとは、アプリケーション通信の宛先となるノードを示す。例えば、Ｗｅｂシステムの場合、サービスの送信元ノードとは、クライアント端末を示し、サービスの宛先ノードとはＷｅｂサーバを示す。Ｗｅｂサーバからクライアント端末への通信は、送信元と宛先が入れ替わる。
【００９８】
サービスの送信元ノードの送信元ＩＰアドレス：ポート番号５７２１は、サービスの送信元となるノードが送信した通信パケットの送信元ＩＰアドレスとポート番号を示す。サービスの送信元ノードの宛先ＩＰアドレス：ポート番号５７２２は、サービスの送信元となるノードが送信した通信パケットの宛先ＩＰアドレスとポート番号を示す。
【００９９】
サービスの宛先ノードの送信元ＩＰアドレス：ポート番号５７２３は、サービスの宛先となるノードに到達した通信パケットの送信元ＩＰアドレスとポート番号を示す。サービスの宛先ノードの宛先ＩＰアドレス：ポート番号５７２４は、サービスの宛先となるノードに到達した通信パケットの宛先ＩＰアドレスとポート番号を示す。
【０１００】
到達判定５７２５は、サービスの送信元ノードが送信した通信パケットが、サービスの宛先ノードに到達したか否かを示す。到達の場合は“到達”、未到達の場合は“未到達”と登録する。
【０１０１】
セッション情報５７２６は、サービスの送信元ノードが送信した通信パケットが含まれるＴＣＰセッションの開始時刻と終了時刻を示す。
【０１０２】
廃棄ノード特定テーブル５７３は、廃棄ノード特定処理５３３の結果を記録するテーブルである。廃棄ノード特定テーブル５７３は、構成要素として、到達判定５７３１、通信パケットの送信元ＩＰアドレス：ポート番号５７３２、通信パケットの宛先ＩＰアドレス：ポート番号５７３３、宛先ノードのノード識別子５７３４、ノード種別５７３５、アクション５７３６を含む。到達判定５７３１は、到達判定処理５３２の結果を示す。廃棄ノード特定処理５３３は、到達判定処理５３２の結果、未到達となった通信パケットのみ実施するため、到達判定の項目は常に“未到達”である。
【０１０３】
通信パケットの送信元ＩＰアドレス：ポート番号５７３２は、到達判定処理５３２の結果、未到達となった通信パケットの送信元ＩＰアドレスと送信元ポート番号を示す。通信パケットの宛先ＩＰアドレス：ポート番号５７３３は、到達判定処理５３２の結果、未到達となった通信パケットの宛先ＩＰアドレスと宛先ポート番号を示す。宛先ノードのノード識別子５７３４、ノード種別５７３５は、未到達となった通信パケットの宛先となるノードのノード識別子およびノード種別を示す。宛先ノードのアクション５７３６は、廃棄ノード特定処理５３３で特定した宛先ノードにおける通信パケットの処理結果が登録される。本実施例における処理結果の種類は、“拒否”、“通過”、“到達”、“未到達”である。“廃棄”および”通過“は、宛先ノードの種別がファイヤウォールの場合に、ファイヤウォールが通信パケットに対して行った処理結果を示す。なお、ファイヤウォールが“拒否”、“通過”以外の処理を行う場合は、処理結果に該当の処理を登録してもよい。“到達”は、宛先ノードまで通信パケットが到達したことを示す。"未到達"は、宛先ノードまで通信パケットが到達していないことを示す。廃棄ノード特定テーブル５７３は、未到達の通信パケット毎にテーブルを備える。
【０１０４】
テナント識別子５７１、到達判定テーブル５７２、廃棄ノード特定テーブル５７３は、テナント識別子５７１毎に管理する。
【０１０５】
図１１、図１２は、本発明の計算機システムで実行される処理の一例を示すシーケンス図である。
【０１０６】
管理者は、クライアント５から分析サーバ１に対して、ネットワークの状態を分析したいテナントの識別子と、ネットワーク状態を分析するためのログ収集（または通信パケット収集）を指示する（Ｓ１）。この指示は、クライアント５から広域ネットワーク６を経由して分析サーバ１に対して行ってもよいし、管理者が分析サーバ１のコンソール４０７を操作して行ってもよい。本実施例では、管理者がクライアント５を操作して、分析サーバ１に収集開始指示と、ネットワーク状態を分析するレイヤの情報と、テナント識別子を通知する。
【０１０７】
分析サーバ１は、図５に示した指示受付処理５０１を介して、テナント識別子と、ネットワーク状態を分析するレイヤの情報、収集開始指指示を受け付ける。指示受付処理は、指示の内容が“収集開始”であるので、図５に示した設定処理５１０の収集機器選択処理５１１を呼び出す（Ｓ２）。本実施例では、テナントの識別子は１０００、分析するレイヤは“サービスレイヤ”とする。なお、サービスレイヤは、前記ＯＳＩにおける第４層以上とする。
【０１０８】
収集機器選択処理５１１（Ｓ２）では、テナントの通信経路とサービス経路を後述するように算出し、ログまたは通信パケットを収集する機器（ノードとインタフェース）を選択する。そして、分析サーバ１は、選択した機器についてログまたは通信パケットの記録先などキャプチャ設定処理５１２（Ｓ３）を実施する。
【０１０９】
次に分析サーバ１は、トラフィックログ収集設定処理５１３で、トラフィックログの収集が必要なノードに対して、トラフィックログを記録するように設定する（Ｓ４）。
【０１１０】
分析サーバ１は、通信パケットの収集対象の設定と、トラフィックログの収集設定を完了すると、通信パケットまたはトラフィックログの収集を開始する（Ｓ５）。以降は、クライアント５が要求した処理を、ＦＷ９ａでアドレスを変換し（Ｓ６）、ＶＭ（ＦＷ）１１、ＶＭ（ＷＥＢ）１２、ＶＭ（ＡＰ）１３によって所定の処理を実行する（Ｓ７、Ｓ８）。
【０１１１】
図１３は、図１１の収集機器選択処理５１１（Ｓ２）、キャプチャ設定処理（Ｓ３）で行われる処理の一例を示すフローチャートを示す。なお、以下の説明では処理の主体を収集機器選択処理５１１とするが、上述のように収集機器選択処理５１１をプログラムで実現する場合には、収集機器選択プログラムを実行するＣＰＵ４０１が処理の主体となる。そして、ＣＰＵ４０１は収集機器選択部として機能する。また、収集機器選択処理５１１をハードウェアで実現する場合には、図示しない収集機器選択部が処理の主体となる。他のフローチャートについても同様である。
【０１１２】
収集機器選択処理５１１は、まず、テナントシステムに関連して発生する通信パケットの通信経路を計算する（ステップ１３０１）。通信経路の計算は、該当するテナントのテナント構成ＤＢ５４０におけるノード管理テーブル５４２およびインタフェース管理テーブル５４３を参照し、周知または公知の経路計算アルゴリズムを用いる。
【０１１３】
テナントシステム１０００の構成を図１４Ａ〜図１４Ｄに示す。図１４Ａは、テナントシステムの論理構成を示すブロック図である。図１４Ｂ、図１４Ｃ、図１４Ｄは、テナントシステムの通信経路の一例を示すブロック図である。
【０１１４】
テナント識別子＝１０００のテナントシステムの論理構成を図１４Ａに示す。テナントシステム１０００は、クライアント５、ファイヤウォール９ａ、ファイヤウォールサービスを提供する仮想マシン１１（以下ＶＭ（ＦＷ）と称す）、Ｗｅｂサーバサービスを提供する仮想マシン１２（以下ＶＭ（ＷＥＢ）と称す）、アプリケーションサーバサービスを提供する仮想マシン１３（以下ＶＭ（ＡＰ）と称す）で構成する。図１に示すように、ＶＭ（ＦＷ）１１およびＶＭ（ＷＥＢ）１２がサーバ８ａ、ＶＭ（ＡＰ）１３はサーバ８ｃに配置されている。
【０１１５】
経路計算処理１３０１により、通信種別が“終端”であるノード間の通信経路は、図１４Ｂのように計算される。
【０１１６】
図１４Ｂは、クライアント５とファイヤウォール９ａとの通信経路である。クライアント５に含まれるインタフェースであるＩ０は、スイッチ７ａ、７ｂ、７ｅ、仮想スイッチ８０６を介してファイヤウォール９ａに含まれるインタフェースＩ１と通信する。
【０１１７】
図中ノードに含まれるインタフェースは六角形で示す。インタフェースＩ０のＩＰアドレスは“Ａｎｙ”である。ＩＰアドレスが、“Ａｎｙ”の場合、該当インタフェースはあらゆるＩＰアドレスを使用可能である。クライアント５ａが、１つ以上の場合や、インタフェースを１つ以上有する場合は、“Ａｎｙ”やアドレスレンジ等でまとめて表記することも可能である。
【０１１８】
図１４Ｃは、ファイヤウォール９ａとＶＭ（ＷＥＢ）１２との通信経路である。ファイヤウォール９ａに含まれるインタフェースＩ２は、仮想スイッチ８０６、スイッチ７ｅ、７ｂ、７ｃ、７ｄ、７ｆ、仮想スイッチ８０６、ＶＭ（ＦＷ）１１、仮想スイッチ８０６を介してＶＭ（ＷＥＢ）１２に含まれるインタフェースであるＩ５と通信する。なお、スイッチの構成はファブリック構成のため、通信フローによりスイッチ７ｂ、７ｃ、７ｄのいずれかを経由する。
【０１１９】
図１４Ｄは、ＶＭ（ＷＥＢ）１２とＶＭ（ＡＰ）１３との通信経路である。ＶＭ（ＷＥＢ）１２に含まれるインタフェースＩ５は、仮想スイッチ８０６、ＶＭ（ＦＷ）１１、仮想スイッチ８０６、スイッチ７ｆ、７ｂ、７ｃ、７ｄ、７ｇ、仮想スイッチ８０６を介してＶＭ（ＡＰ）に含まれるインタフェースであるＩ６と通信する。
【０１２０】
図１３の収集機器選択処理では、経路計算処理１３０１の次に、サービス経路計算処理１３０２を実行する。サービス経路計算処理１３０２は、通信パケットに含まれるサービスレイヤのデータであるＴＣＰまたはＵＤＰパケットのペイロード部分の情報が、ＩＰヘッダのアドレス変換や、ＴＣＰまたはＵＤＰヘッダのポート番号変換を経て、最終的にサービスの宛先となるノードに到達するまでの経路（以下、サービス経路と称す）を計算する。
【０１２１】
サービス経路の計算は、該当するテナントのテナント構成ＤＢ５４０におけるアドレス変換テーブル５４５を収集機器選択処理５１１が参照し、通信種別が“終端”であるノードで、アドレス変換を行う場合は、経路計算処理１３０１で求めた通信経路を、アドレス変換を行うノードで連結する。
【０１２２】
収集機器選択処理５１１は、図７Ａで示したアドレス変換テーブル５４５の変換前の宛先ＩＰアドレスを参照し、変換後の宛先ＩＰアドレス５４５４と、アドレス変換を行うノード（５４５５）を特定する。さらに、変換後の宛先ＩＰアドレス５４５４を基に図６Ｂのインタフェース管理テーブル５４３を参照し、サービスの終端となるインタフェースの識別子５４３１とノードの識別子５４３５を特定する。
【０１２３】
収集機器選択処理５１１は、特定したインタフェース識別子５４３１とノード識別子５４３５から、連結する経路を特定し、サービス経路を計算する。サービス経路計算処理１３０２により、計算された通信経路を、図１５Ａに示す。
【０１２４】
図１５Ａは、テナントシステムのサービス経路の一例を示すブロック図である。図１５Ａにおいて、ファイヤウォール９ａ（ノードＮ２）でアドレス変換を行うことから、通信経路の図１４Ｂと図１４Ｃとを連結し、図１５Ａに示す通信経路をクライアント５（ノードＮ１）とＶＭ（ＷＥＢ）１２（ノードＮ４）間のサービス経路とする。
【０１２５】
図１４Ｄに示す通信経路では、アドレス変換を行わないため、通信経路の連結は行わず、ＶＭ（ＷＥＢ）１２と、ＶＭ（ＡＰ）１３間のサービス経路とする。図１５Ｂは、ＶＭ（ＷＥＢ）１２（ノードＮ４）、ＶＭ（ＡＰ）１３（ノードＮ５）間のサービス経路を示す。
【０１２６】
収集機器選択処理５１１では、サービス経路計算処理１３０２の次に、レイヤ別機器選択処理１３０３を実行する。レイヤ別機器選択処理１３０３は、管理者がネットワーク状態を分析したいレイヤに合わせて、通信パケットやログを収集する機器を選択する処理である。
【０１２７】
ログまたは通信パケットを収集する機器を選択するために、収集機器選択処理５１１は、テナント構成ＤＢ５４０の分析レイヤ管理テーブル５４８を参照する。管理者から指示された分析レイヤに対応する機器を、ログまたは通信パケットを収集する機器として選択する。指示された分析レイヤが、“サービス”である場合は、テナント構成ＤＢ５４０のノード管理テーブル５４２を参照し、通信種別５４２４が“終端”であるノードを選択する。この場合、ログまたは通信パケットを収集する機器は、クライアント５、ファイヤウォール９ａ、ＶＭ（ＷＥＢ）１２、ＶＭ（ＡＰ）である。
【０１２８】
分析レイヤが“レイヤ３”である場合は、テナント構成ＤＢ５４０のノード管理テーブル５４２を参照し、通信種別５４２４が“終端”であるノードと、通信種別５４２４が“転送”であるノードのうち、サービス５４２３がファイヤウォール（ＦＷ）とＬ３スイッチ（ＳＷ）であるノードを選択する。
【０１２９】
分析レイヤが“レイヤ２”である場合は、全てのノードを選択する。
【０１３０】
本実施例において、管理者が指示した分析レイヤは“サービス”であるので、ログまたは通信パケットを収集する機器として、クライアント５、ファイヤウォール９ａ、ＶＭ（ＷＥＢ）１２、ＶＭ（ＡＰ）１３を選択する。
【０１３１】
管理者が指示した分析レイヤが“レイヤ２”である場合（ステップ１３０４でＹｅｓ）には、等コスト機器選択処理１３０５を実行する。等コスト機器選択処理１３０５については、図１９Ｂで詳しく説明する。分析レイヤが“レイヤ２”以外である場合（ステップ１３０４でＮｏ）には、等コスト機器選択処理１３０５は実行せず、収集方法決定処理１３０６を実行する。
【０１３２】
分析レイヤが“サービス”の場合、分析レイヤ管理テーブル５４８より収集機器５４８２は通信種別が“終端”となり、ノード管理テーブル５４２からログまたは通信パケットを収集する機器は、通信種別５４２４＝“終端”となる、クライアント５（ノードＮ１）、ファイヤウォール９ａ（ノードＮ２２）、ＶＭ（ＷＥＢ）１２（ノードＮ４）、ＶＭ（ＡＰ）１３（ノードＮ５）である。
【０１３３】
収集方法決定処理１３０６は、通信パケットやログの収集が必要な機器毎に、通信パケットやログの収集方法を決定する処理である。通信パケットまたはログの収集方法を決定するために、テナント構成ＤＢ５４０のログ種別管理テーブル５４７を参照する。
【０１３４】
クライアント５は、ノード種別がクライアントであるため、ログ種別管理テーブル５４７においてログ種別５４７２は“キャプチャ”で、収集ノードは“隣接インタフェースを含むノード”、収集ノードは“キャプチャ装置”である。クライアント５に含まれるインタフェースはＩ０であり、インタフェース管理テーブル５４３を参照することにより、隣接インタフェースはＩ７であることが特定できる。インタフェース識別子Ｉ７を含むノードは、ノード管理テーブル５４２を参照することにより、スイッチ７ａ（ノード識別子＝Ｎ６）であることが特定できる。特定したノードのノード識別子とインタフェース識別子を、収集管理ＤＢ５６０のキャプチャインタフェース管理テーブル５６２に登録する。記録ノードのノード識別子には、キャプチャ装置のノード識別子を登録する。
【０１３５】
ファイヤウォール９ａは、ログ種別管理テーブル５４７においてログ種別５４７２が“トラフィックログ”、収集ノードは“自ノード”、記録ノードは“自ノード”である。ファイヤウォール９ａでは、ログの収集にトラフィックログを利用できることから、通信パケットのキャプチャは行わず、ネットワーク状態の分析にトラフィックログを用いる。トラフィックログは、ファイヤウォールやロードバランサ等において、通信セッションに対して行った処理を記録したログであり、設定したポリシーごとにログが記録される。
【０１３６】
ログ収集にトラフィックログを用いる場合は、収集管理ＤＢ５６０のトラフィック収集管理テーブル５６３に、ログを収集するノード（ＦＷ）の識別子５６３１とポリシーＩＤ５６３２と、ポリシー５６３３を登録する。ログ種別管理テーブル５４７において、ノード種別５４７１が“ＦＷ”の場合、収集ノード５４７３は“自ノード”であるので、ファイヤウォール９ａのノード識別子であるＮ２をノード識別子として登録する。
【０１３７】
また、収集方法決定処理１３０６は、ポリシー管理テーブル５４６を参照し、ノード識別子Ｎ２に設定されたポリシーＩＤと、ポリシーをトラフィックログ収集管理テーブル５６３に登録する。
【０１３８】
ＶＭ（ＷＥＢ）１２は、ログ種別管理テーブル５４７において、ノード種別５４７１がＶＭであるため、ログ種別５４７２は“キャプチャ”、収集ノード５４７３は、“仮想スイッチ”、記録ノード５４７４は“サーバ”である。
【０１３９】
収集方法決定処理１３０６は、テナント構成ＤＢ５４０のノード管理テーブル５４２を参照し、ＶＭ（ＷＥＢ）１２が接続する仮想スイッチのノード識別子５４２１と、ポートのインタフェース識別子５４２５を特定する。特定した識別子を、図９Ａに示したキャプチャインタフェース管理テーブル５６２の収集ノードのノード識別子５６２２およびインタフェース識別子５６２３に登録する。さらに、収集方法決定処理１３０６は、仮想ノード管理テーブル５４４を参照し、仮想マシンが配置されている物理ノード５４４２であるサーバを特定する。特定したサーバのノード識別子５４４２を、キャプチャインタフェース管理テーブル５６２の記録ノードのノード識別子５６２４に登録する。
【０１４０】
ＶＭ（ＡＰ）１３は、ノード種別がＶＭである。上記ＶＭ（ＷＥＢ）１２と同様のステップを用いて、ＶＭ（ＡＰ）１２が接続する仮想スイッチのノード識別子、インタフェース識別子、ＶＭ（ＡＰ）が配置されているサーバのノード識別子を収集管理ＤＢ５６０のキャプチャインタフェース管理テーブル５６２に登録する。
【０１４１】
以上により、トラフィックログを収集するノードと、通信パケットをキャプチャするノードおよびインタフェースを決定する。トラフィックログを収集する機器を図１５Ａにおいて二重線で示す。また、図１５Ａ、図１５Ｂにおいて、通信パケットをキャプチャするインタフェースを太線で示す。
【０１４２】
収集機器選択処理５１１の次に、分析サーバ１は、トラフィックログ収集設定処理５１３を実行する（図１１のＳ３）。
【０１４３】
トラフィックログ収集設定処理５１３は、トラフィックログの収集が必要なノードに対して、トラフィックログを記録するように設定する。収集管理ＤＢ５６０のトラフィックログ収集管理テーブル５６３を参照し、トラフィックログを記録するノードに対して、トラフィックログで記録するポリシーを通知し、トラフィックログの記録を開始するように設定する。以上で、トラフィックログ収集設定処理５１３を終了する。
【０１４４】
トラフィックログ収集設定処理５１３の次に、分析サーバ１はキャプチャ設定処理５１２を実行する（図１１のＳ４）。キャプチャ設定処理５１２は、収集機器選択処理５１１が生成した収集管理ＤＢ５６０のキャプチャインタフェース管理テーブル５６２を参照し、新たにキャプチャの設定が必要な機器を特定し、キャプチャのための設定を行う。
【０１４５】
収集インタフェース管理テーブル５６４は、データセンタ内でキャプチャ中のインタフェースを管理するためのテーブルである。キャプチャインタフェース管理テーブル５６２と、収集インタフェース管理テーブル５６４とを比較し、キャプチャインタフェース６６２に登録されているインタフェースが、収集インタフェース管理テーブル５６４に登録されていない場合は、キャプチャインタフェース管理テーブル５６２に登録されている収集ノードのノード識別子５６２２、インタフェース識別子５６２３、記録ノードのノード識別子５６２４と、テナント識別子５６１を、収集インタフェース管理テーブル５６４に登録する。
【０１４６】
新規に収集を開始する機器に対しては、収集ノードと記録ノードが異なる場合、収集ノードに対してポートミラーリングの設定を行う。記録ノードに対しては、キャプチャ開始の設定を行い、キャプチャした通信パケットを記録するためのファイル名と、ファイルを蓄積するディレクトリをキャプチャファイル名５６４５に登録する。
【０１４７】
既に収集を行っているインタフェースに対しては、テナント識別子５６１だけを登録する。
【０１４８】
以上で、キャプチャ設定処理５１２を終了する。分析サーバ１は、通信パケットまたはログの収集準備が整ったことをクライアント５に通知する。なお、この通知は、分析サーバのコンソール４０７に表示したり、テナント用のポータルに表示する方法でもよい。また、通知は行わなくてもよい。
【０１４９】
キャプチャ設定処理５１２により、通信パケットのキャプチャが開始されると、収集処理５２０のパケット収集処理５２２が定期的に実行される。パケット収集処理５２２は、収集管理ＤＢ５６０の収集インタフェース管理テーブル５６４を参照し、記録ノードから通信パケットを記録したファイルを収集し、収集したファイルにタイムスタンプを付与してパケット蓄積ＤＢ５５０に蓄積する。
【０１５０】
テナントのネットワーク状態を分析するために、通信パケットまたはログの収集準備が整ったデータセンタのテナントシステムに対して、処理リクエストを送信する。クライアント５からの処理リクエストは、ファイヤウォール９ａでアドレス変換、ＶＭ（ＦＷ）１１でアクセス制御が行われ、ＶＭ（ＷＥＢ）１２に到達する。また、ＶＭ（ＷＥＢ）１２、ＶＭ（ＡＰ）１３間の通信パケットは、ＶＭ（ＦＷ）１１でアクセス制御が行われ、宛先であるＶＭに到達する。この際、クライアントが送受信する通信パケットはスイッチ７ａ、ＶＭ（ＷＥＢ）１２が送受信される通信パケットは、仮想スイッチ８０６、ＶＭ（ＡＰ）１３が送受信する通信パケットは、仮想スイッチ８０６のキャプチャ機能８１０でキャプチャされる。また、ファイヤウォール９ａではトラフィックログが記録される。
【０１５１】
図１２は、分析開始指示以後のシーケンス図を示す。
【０１５２】
管理者は、分析サーバ１に対して、ネットワークの状態を分析したいテナントの識別子と、ネットワーク状態分析のためのログまたは通信パケットの収集を指示する。この指示は、クライアント５から広域ネットワーク６を経由して行ったり、管理者が分析サーバのコンソールを操作して行ってもよい。本実施例では、テナント管理者がクライアント５を操作して、分析サーバ１に分析開始指示と、テナント識別子を通知する（Ｓ１１）。
【０１５３】
分析サーバ１は、指示受付処理５０１を介して、テナント識別子と、分析開始指指示を受け付ける。指示受付処理は、指示の内容が“分析”である場合は、収集処理５２０のトラフィックログ収集処理５２１を呼び出す（Ｓ１２）。
【０１５４】
トラフィックログ収集処理５２１は、分析開始指示を行ったテナントのトラフィックログ収集管理テーブル５６３を参照し、テナントに関連してトラフィックログを記録しているノードに、ポリシーＩＤまたはポリシーを通知し、対応するトラフィックログを収集する（Ｓ１３）。
【０１５５】
トラフィックログ収集処理５２１の次に、トラフィックログ収集設定処理５２１を呼び出す。指示が“分析開始”の場合、トラフィックログの収集を終了する。該当テナントのトラフィックログ収集管理テーブル５６３を参照し、トラフィックログを記録しているノードに対して、記録を終了するように設定する（Ｓ１４、Ｓ１５）。
【０１５６】
トラフィックログ収集設定処理５１３の次に、キャプチャ設定処理５１２を呼び出す（Ｓ１６）。クライアント５からの指示が“分析開始”の場合、キャプチャ設定処理５１２は、関連するテナントの通信パケットの収集を終了する。
【０１５７】
分析サーバ１は、収集インタフェース管理テーブル５６４を参照し、該当するテナントのテナント識別子を削除する。該当するテナントのテナント識別子を削除することにより、収集インタフェースに登録されたテナント識別子がすべて削除された場合は、該当するインタフェースを収集インタフェース管理テーブル５６４から削除する。
【０１５８】
収集インタフェース管理テーブル５６４からインタフェースを削除する場合は、インタフェースを含むノードおよび収集ノードに対して、ポートミラーリングの設定を解除し、キャプチャを終了するように設定する。
【０１５９】
収集設定の解除後、分析処理５３０を呼び出し、テナントシステムのネットワーク状態を分析する。分析処理５３０では、まず、テナントパケット抽出処理５３１を呼び出す（Ｓ１７）。
【０１６０】
テナントパケット抽出処理５３１では、パケット蓄積ＤＢ５５０の蓄積ファイル管理テーブル５５１を参照し、該当するテナントの通信パケットが含まれるキャプチャファイルを抽出する。
【０１６１】
その後、サービスの端点となるノード間でのネットワーク状態を分析するために、到達判定処理５３２を呼び出す（Ｓ１８）。
【０１６２】
到達判定処理５３２は、該当テナントのサービス経路を参照し、サービスの端点となるノード間で通信パケットが到達したか否かを判定するための処理である。図１６Ａは到達判定処理５３２で行われる処理の一例を示すフローチャートである。
【０１６３】
まず、分析サーバ１は、図１５Ａに示したサービス経路を参照し、サービスの端点となるノードとインタフェースを選択する（ステップ１６０１）。図１５Ａで示したように、テナントシステム１０００では、サービス経路（ｃ１）の端点となるノードは、クライアント５（ノードＮ１）とＶＭ（ＷＥＢ）１２（ノードＮ４）で、これらのノードが送受信する通信パケットをキャプチャするインタフェースは、スイッチ７ａ（ノードＮ８）のインタフェースＩ７と、仮想スイッチ８０６（ノードＮ７）のインタフェースＩ１０である。到達判定処理５３２は、パケット蓄積ＤＢ５５０を参照し、選択したサービス経路の端点となるインタフェースが送受信する通信パケットを記録したキャプチャファイルを取得する。
【０１６４】
次にパケット比較処理１６０２を実行する。図１７に、パケット比較処理１６０２で行われる処理の一例を示すフローチャートを示す。パケット比較処理１６０２は、２点でキャプチャされた通信パケットを比較し、サービス経路の一方の端点となるインタフェースから送信された通信パケットが、他方の端点となるインタフェースまで到達したか否かを判定する処理である。
【０１６５】
まず、一方のインタフェースをキャプチャしたファイルから、該当インタフェースが送信した通信パケットを比較元パケットとして１つ選択する（ステップ１７０１）。
【０１６６】
比較元パケットのＩＰアドレスと、ＴＣＰ/ＵＤＰポート番号等が変換されてサービスの端点となるノードに転送される場合（ステップ１７０２でＹｅｓ）は、アドレス変換テーブル５４５を参照し、変換後のＩＰアドレス、ＴＣＰ／ＵＤＰポート番号等を用いて、変換後の比較元パケットのＴＣＰ／ＵＤＰチェックサムを計算する（ステップ１７０３）。
【０１６７】
サービス経路の他方のインタフェースをキャプチャしたファイルから、通信パケットを比較先パケットとして１つ取得する（ステップ１７０４）。ステップ１７０１で選択した比較元パケットと、比較先パケットのＴＣＰ／ＵＤＰチェックサムを比較する（ステップ１７０５）。比較するチェックサムの値は、ＩＰアドレス、ＴＣＰ／ＵＤＰポート番号が変換されている場合は、ステップ１７０５で計算したチェックサムと、比較先パケットのチェックサムであり、ＩＰアドレス、ＴＣＰ／ＵＤＰポート番号が変換されない場合は、ステップ１７０１で取得した比較元パケットと比較先パケットのチェックサムである。
【０１６８】
チェックサムが一致する場合（ステップ１７０６でＹｅｓ）は、ＴＣＰ／ＵＤＰのペイロード部分を比較する（ステップ１７０７）。ペイロード部分も含めて２つのパケットが一致する場合は（ステップ１７０８でＹｅｓ）、サービス経路の端点となるインタフェースから送信された比較元パケットが、他方のサービス経路の端点となるインタフェースに到達したと判定（ステップ１７１３）する。
【０１６９】
チェックサムが一致しない場合（ステップ１７０６でＮｏ）の場合は、比較元パケットと比較先パケットは異なるペイロード情報をもつと判定する。比較対象ファイルに含まれる全通信パケットの比較が終了したかを判定する（ステップ１７０９）。全通信パケットの比較が終了していない場合（ステップ１７０９でＮｏ）は、ステップ１７０４に戻り処理を継続する。全通信パケットの比較が終了した場合（ステップ１７０９でＹｅｓ）は、比較元パケットがサービス経路の他方の端点となるインタフェースに未到達と判定する（ステップ１７１０）。
【０１７０】
以上で、パケット比較処理１６０２を終了する。図１６Ａに戻り、到達判定処理５３２を説明する。パケット比較処理１６０２の実行後、到達判定処理５３２は、パケット蓄積ＤＢ５５０を参照して、比較元パケットを含むセッションの情報を特定する（ステップ１６０３）。セッションは、ＴＣＰコネクション確立から終了までであり、ＴＣＰのＳＹＮＣ、ＡＣ、ＦＩＮ等のシグナリングパケットと、シーケンス番号を利用して特定することができる。ＴＣＰのＳＹＮＣパケットが送信され、比較元パケットを含むＴＣＰセッションが開始された時刻と、ＦＩＮパケットが送信され比較元パケットを含むＴＣＰセッションが終了した時刻と、開始から終了までに送信したデータ量を特定する。
【０１７１】
次に、ステップ１６０２および１６０３の処理結果を、到達判定テーブル５７２に記録する（ステップ１６０４）。到達判定処理５３２は、パケット比較処理１６０２で使用した、比較元パケットの送信元および宛先ＩＰアドレスとＴＣＰ／ＵＤＰポートを、到達判定テーブル５７２のサービスの送信元ノードの欄（５７、２１５、７２２）に記録し、比較先パケットの送信元および宛先ＩＰアドレスとＴＣＰ／ＵＤＰポートをサービスの宛先ノードの欄（５７、２３５、７２４）に記録する。パケット比較処理１６０２の結果、通信パケットが到達と判断した場合は、到達判定（５７２５）の欄に“到達”、未到達と判断した場合は、到達判定の欄に“未到達”と記録する。セッション計算（ステップ１６０３）で特定した、セッションの開始時刻と終了時刻および、セッション開始から終了までに送信したデータ量を、セッションの欄（５７２６）に記録する。
【０１７２】
ステップ１６０１で取得したキャプチャファイルについて、選択したノードが送信する通信パケットの比較がすべて終了した場合（ステップ１６０５でＹｅｓ）は、到達判定処理を終了する。通信パケットの比較がすべて終了していない場合は、ステップ１６０２に戻り、処理を継続する。
【０１７３】
以上で、到達判定処理５３２を終了する。到達判定処理５３２は、サービス経路の端点となる全インタフェースについて実行する。到達判定処理５３２の終了後、廃棄ノード特定処理５３３を実行する（図１２のＳ１９）。
【０１７４】
図１６Ｂは、廃棄ノード特定処理の一例を示すフローチャートである。廃棄ノード特定処理５３３は、到達判定処理５３２において、未到達と判定した通信パケットについて、廃棄したノードを特定する処理である。
【０１７５】
まず、廃棄ノード特定処理５３３は、到達判定テーブル５７２から、判定結果５７２５が“未到達”であるサービス送信元ノードで送信した通信パケットの送信元および宛先のＩＰアドレスとポート番号（５７、２１５、７２２）を選択する（ステップ１６０６）。
【０１７６】
次に、廃棄ノード特定処理５３３は、到達判定テーブル５７２のサービスの送信元ノードの欄に記録された送信元ＩＰアドレスと宛先ＩＰアドレスの情報をもとに、インタフェース管理テーブル５４３と、収集機器選択処理５１１の経路計算処理１３０１で計算した通信経路を参照し、通信経路の端点となるノードを特定する。（ステップ１６０７）。
【０１７７】
廃棄ノード特定処理５３３は、ログ種別管理テーブル５４７を参照し、ノードのログ種別５４７２が“トラフィックログ”である場合（ステップ１６０８でＹｅｓ）には、セッション比較処理１６０９を実行する。
【０１７８】
セッション比較処理（１６０９）で行われる処理の一例を図１８のフローチャートに示す。セッション比較処理１６０９は、まず、該当ノードのトラフィックログを取得する（ステップ１８０１）。トラフィックログは、図１２のステップＳ１３で収集され、保持されるものである。
【０１７９】
取得したトラフィックログに記録されたセッション情報と、到達判定テーブル５７２のセッション情報５７２６の欄に記録されたセッション情報とを比較する。トラフィックログに記録された送信元および宛先のＩＰアドレスとポート番号、データ量を比較し、一致した場合（ステップ１８０２でＹｅｓ）は、セッション開始時刻と終了時刻を比較する。ＩＰアドレスとポート番号、データ量が一致するトラフィックログが存在しない場合（ステップ１８０２でＮｏ）は、処理を終了する。
【０１８０】
到達判定テーブル５７２に登録されたセッションの開始、終了時刻と、トラフィックログに記録されたセッションの開始、終了時刻は、ネットワークの転送遅延やジッタの影響を受けて時刻差が生じる。そのため、開始時刻と終了時刻の差が所定の閾値以下である場合（ステップ１８０３でＹｅｓ）には、トラフィックログが一致すると判定する（ステップ１８０４）。一方、時刻の差が閾値を超える場合（ステップ１８０４でＮｏ）は、処理を終了する。
【０１８１】
セッション比較処理１６０９は、トラフィックログの形式により異なってもよい。例えば、通信パケットのヘッダ情報と、通信パケットへのアクションとをトラフィックログに記録する形式では、トラフィックログに記録されたＩＰアドレス、ポート番号、識別子等のヘッダ情報と、キャプチャされた通信パケットのＩＰアドレス、ポート番号、識別子等のヘッダ情報とを比較し、一致する場合にトラフィックログが一致すると判定してもよい。
【０１８２】
以上で、セッション比較処理１６０９は終了である。図１６Ｂに戻り、廃棄ノード特定処理５３３を説明する。
【０１８３】
ノードのログ種別が“キャプチャ”の場合（ステップ１６０８でＮｏ）は、ステップ１６０６で取得した未到達の通信パケットと、ステップ１７０７で特定した通信パケットの宛先であるインタフェースのキャプチャファイルをもとに、図１７に示したパケット比較処理（１６０２）を実行する。
【０１８４】
廃棄ノード特定処理５３３は、セッション比較処理（１６０９）またはパケット比較処理（１６０２）の終了後、廃棄ノード特定テーブル５７３を更新する。宛先ノードのノード識別子５７３４およびノード種別５７３５には、ステップ１６、０７１、６０８で特定したノード識別子およびノード種別を記録する。アクション５７３６には、トラフィックログに記録されたアクション、または、パケット比較処理の判断結果を記録する。
【０１８５】
廃棄ノード特定テーブル５７３のアクション５７３６が、拒否の場合は、宛先ノードで通信パケットを廃棄したと特定する。アクション５７３６が未到達の場合は、通信経路上で、宛先ノードの手前のいずれかのノードで廃棄されており廃棄ノードの範囲が特定できる。アクション５７３６が、通過や到達の場合は、宛先ノード以降のいずれかのノードで廃棄されており廃棄ノードの範囲を特定できる。
【０１８６】
廃棄ノードが特定（ステップ１６１１でＹｅｓ）された場合は処理を終了する。廃棄ノードの範囲が特定されており、廃棄ノードの範囲に含まれるノードでログまたは通信パケットを収集している場合（ステップ１６１２でＹｅｓ）は、廃棄ノードの範囲に含まれるノードの中からノードを選択し、ステップ１６０８からの処理を繰り返す。廃棄ノードの範囲は特定されているが、ログまたは通信パケットを収集しているノードが含まれていない場合（ステップ１６１２でＮｏ）は、処理を終了する。
【０１８７】
以上により、未到達パケットを廃棄したノードまたは、未到達パケットを廃棄したノードの範囲が特定できる。
【０１８８】
本実施例では、クライアント５が送受信する通信パケットを、データセンタ１００内のスイッチ７ａ〜７ｈでキャプチャする例を説明したが、クライアント５が送受信する通信パケットをクライアント５自身およびデータセンタ１００内のスイッチ７ａ〜７ｈの両方でキャプチャすることにより、クライアント５とデータセンタ１００とを接続する広域ネットワーク６で廃棄された通信パケットを特定することも可能である。
【０１８９】
本実施例によると、テナントの構成情報を利用して、サービスの端点となるノード間での通信パケットの到達判定を最初に実施することにより、サービスの端点となるノード間のネットワーク状態の分析を迅速に行うことができる。
【０１９０】
また、テナントの構成情報を利用して、通信パケットのキャプチャやトラフィックログを収集するノードを選択することにより、通信パケットやログを収集するノードと、パケット比較のためのデータ量を削減することができる。
【０１９１】
さらに、テナントのネットワーク状態を分析するレイヤと、該当レイヤのネットワーク状態の分析のためにログまたは通信パケットの収集が必要なノードの種類との対応関係を予め用意することにより、分析レイヤに応じた収集機器を迅速に決定することができる。
【０１９２】
その上、ネットワーク状態の分析に、通信パケットのキャプチャだけでなく、トラフィックログを用いることにより、通信パケットの比較回数を削減し、迅速にネットワーク状態の分析を行うことができる。
【０１９３】
次に、図１３の収集機器選択処理のステップ１３０５で行われる等コスト機器選択処理について説明する。図１９Ｂは、等コスト機器選択処理の一例を示すフローチャートである。また、図１９Ａは、スイッチ管理テーブルの一例を示す図である。
【０１９４】
等コスト機器選択処理１３０５では、ネットワークの状態をレイヤ２について分析する例を説明する。分析サーバ１は、等コスト機器選択処理を実現するため、さらに、図１９Ａで示すように、テナント構成ＤＢ５４０にスイッチ管理テーブル５４９を備える。
【０１９５】
スイッチ管理テーブル５４９は、テナントシステムを構成するスイッチ７ａ〜７ｈのフロー割り当て処理７２２で用いるフロー割り当てアルゴリズムを管理するテーブルである。スイッチ管理テーブル５４９は、スイッチ７ａ〜７ｈのノード識別子５４９１と、フロー割り当てアルゴリズム５４９２から構成される。
【０１９６】
図１９Ｂにおいて、等コスト機器選択処理１３０５は、ファブリックやマルチシャーシのリンクアグリゲーションのように、同一コストとなる経路が１つ以上存在する場合、テナントシステムで発生し得る通信フローを基に、通信経路を計算し、テナントシステムで発生する通信パケットが経由するスイッチを選択する処理である。
【０１９７】
等コスト機器選択処理１３０５は、テナントシステムのサービス経路から、等コスト経路への分岐ノードを選択する（ステップ２００１）。図１５Ａのサービス経路では、クライアント５、ＶＭ（ＷＥＢ）１２間の通信経路は、スイッチ７ｂ、７ｃ、７ｄの何れかを経由する３つの経路が選択可能であり、スイッチ７ｅ、７ｆが分岐ノードである。図１５Ｂのサービス経路では、ＶＭ（ＷＥＢ）１２、ＶＭ（ＡＰ）１３間の通信経路は、スイッチ７ｂ、７ｃ、７ｄの何れかを経由する３つの経路が選択可能であり、スイッチ７ｂ、７ｇが分岐ノードである。
【０１９８】
等コスト機器選択処理１３０５は、分岐ノードを特定した後、スイッチ管理テーブル５４９を参照し、分岐ノードのフロー割り当てアルゴリズム５４９２を特定する。スイッチ７ａ〜７ｈは、スイッチを提供するベンダや、機種によって様々なフロー割当アルゴリズムを用いる。例えば、図１９Ａに示すスイッチ管理テーブル５４９において、ノード識別子Ｎ８で示されるノードは、通信パケットに含まれるイーサフレームの宛先ＭＡＣアドレスと送信元ＭＡＣアドレスのハッシュ値を用いて、通信フローの経路を割り当てることが登録されている。また、ノード識別子Ｎ９で表わされるノードのフロー割当アルゴリズムは不明である。
【０１９９】
等コスト機器選択処理１３０５は、ノード識別子Ｎ８で表わされるノードのように、フロー割当アルゴリズムが既知である場合（ステップ２００２でＹｅｓ）は、スイッチ管理テーブル５４９に登録されたフロー割当アルゴリズム５４９２に従って、サービス経路において通信フローが経由する通信経路を特定する（ステップ２００３）。
【０２００】
等コスト機器選択処理１３０５は、図１３で示したレイヤ別機器選択処理１３０３で選択したノードから、ステップ２００３で特定した通信経路上のノードを残し、ホップ数を通信経路のコストとして算出する。通信経路が複数存在する場合は、各通信経路毎にホップ数を算出する（ステップ２００４）。
【０２０１】
等コスト機器選択処理１３０５は、コストが等しい通信経路が複数存在する場合は、通信経路とならないノードを除外する（ステップ２００５）。
【０２０２】
一方、図１９Ａ で示したノード識別子Ｎ９で表わされるノードのように、フロー割当アルゴリズムが不明または既知ではない場合（ステップ２００２でＮｏ）は、機器の絞り込みは行わず処理を終了する。
【０２０３】
図２０Ａ、図２０Ｂは、サービス経路の一例を示すブロック図である。図２０Ａ、図２０Ｂに、等コスト機器選択処理１３０５により、通信パケットまたはログを収集する機器から除外されたノードを二重線で示す。図２０Ａでは、スイッチ７ｂおよび７ｄは、スイッチ７ｃの通信経路とコストは等しいが、スイッチ７ｂ、７ｄは通信経路ではないので通信パケットやログの収集対象から除外されたことを示す。
【０２０４】
以上により、ファブリックやマルチシャーシのリンクアグリゲーションのように、等コストの通信経路が１つ以上存在する場合に、分析サーバ１がスイッチ７ａ〜７ｈのフロー割当アルゴリズムを管理し、テナントシステムの通信パケットが経由する機器が事前に計算できる場合は、通信パケットが経由しない機器をログ（または通信パケット）の収集対象から除外することができる。これにより、通信パケットやログを収集するデータ量を削減し、分析にかける時間を削減することができる。
【０２０５】
以上のように、分析対象のレイヤが“レイヤ３”以上であれば、レイヤ別機器選択処理１３０３で選択したノードを通信パケットやログを収集する機器とし、分析対象のレイヤが“レイヤ２”であれば、全てのノードを選択した後に、通信経路とならないノードを除外する。これにより、テナントシステムが利用する通信経路から通信パケットやログの収集対象のノードを絞り込むことで、データ量の削減が可能となって、分析に要する時間を短縮できるのである。
【０２０６】
なお、上記実施例１では、分析サーバ１とキャプチャ装置２が独立した計算機で構成した例を示したが、同一の計算機で分析サーバの処理と、キャプチャ処理を実行しても良い。
【実施例２】
【０２０７】
本実施例２では、仮想マシンが送受信する通信パケットのキャプチャを、キャプチャ専用の仮想マシンを配備してキャプチャする例について説明する。キャプチャ専用の仮想マシンとは、パケットキャプチャソフトウェアをインストールした仮想マシンであったり、ＯＦ（Ｏｐｅｎ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｆｏｒｍａｔ）等で提供されるパケットキャプチャ機能を備えた仮想マシン等で構成することができる。
【０２０８】
図２５は、第２の実施例における計算機システムの一例を示すブロック図である。
【０２０９】
本実施例２における計算機システムの構成は、前記第１の実施例におけるキャプチャ装置２をサーバ８ｂの仮想マシン２Ａに配備し、分析サーバ１にはキャプチャ用の仮想マシン２Ａを管理する情報を追加し、その他の構成は前記第１の実施例と同様である。
【０２１０】
仮想マシン１１、１２、１３が送受信する通信パケットをキャプチャする仮想マシン２Ａを配置するネットワークを決定するために、分析サーバ１は、第１の実施例の構成に加えて、インタフェースグループ管理テーブル２２０１と、キャプチャ用の仮想マシン２Ａの構築と設定を行うためのキャプチャノード管理テーブル２２０２と、キャプチャ専用の仮想マシンに対応した収集方法決定処理１３０６ａおよびキャプチャ設定処理５１２ａを備える。
【０２１１】
図２１Ａは、インタフェースグループ管理テーブル２２０１の一例を示す図である。インタフェースグループ管理テーブル２２０１は、構成要素として、インタフェース識別子２２０１１、インタフェースが所属するグループを管理するためのグループ識別子２２０１２を含む。インタフェースグループの代表的な例は、仮想スイッチ８０６におけるポートグループである。仮想スイッチ８０６では、複数のポートを束ねてＶＬＡＮ等の設定を行うために、ポートグループに各ポートを関連づける。
【０２１２】
図２１Ｂは、キャプチャノード管理テーブル２２０２の一例を示す図である。キャプチャノード管理テーブル２２０２は、構成要素として、対象インタフェース２２０２１、インタフェースグループ２２０２２、物理ノード２２０２３、収集・記録ノード２２０２４、収集・記録インタフェース２２０２５を含む。対象インタフェース２２０２１は、キャプチャ対象とするインタフェースのインタフェース識別子である。インタフェースグループ２２０２２は、キャプチャ対象とするインタフェースが接続する仮想スイッチのインタフェースが所属するグループの識別子である。物理ノード２２０２３は、仮想スイッチ８０６が配備されている物理ノードのノード識別子である。収集・記録ノード２２０２４は、キャプチャ専用の仮想マシン２Ａのノード識別子であり、収集・記録インタフェース２２０２５は、キャプチャ専用の仮想マシン２Ａが備えるインタフェースのインタフェース識別子である。
【０２１３】
キャプチャ専用の仮想マシン２Ａに対応した収集方法決定処理１３０６ａは、第１の実施例で説明した収集方法決定処理１６０３の処理に加え、テナント構成ＤＢ５４０のログ種別管理テーブル５４７におけるノード種別５４７１が“ＶＭ”で、ログ種別５４７２が“キャプチャ”、収集ノード５４７３が“キャプチャＶＭ”、記録ノード５４７４が“キャプチャＶＭ”に対応した処理を追加する。他の処理については、第１の実施例と同様である。
【０２１４】
ＶＭ（ＷＥＢ）１２が送受信する通信パケットを仮想マシン２Ａでキャプチャする例をもとに説明する。
【０２１５】
分析サーバ１は、仮想マシン１１、１２、１３の通信パケットを、キャプチャ専用の仮想マシン２Ａでキャプチャする場合、ログ種別管理テーブル５４７には、ノード種別５４７１に“ＶＭ”、ログ種別５４７２に“キャプチャ”、収集ノード５４７３に“キャプチャＶＭ”、記録ノード５４７４に“キャプチャＶＭ”と事前に登録する。
【０２１６】
分析サーバ１は、収集ノード５４７３が“キャプチャＶＭ”である場合、テナント構成ＤＢ５４０のノード管理テーブル５４２およびインタフェース管理テーブル５４３を参照し、ＶＭ（ＷＥＢ）１２が接続する仮想スイッチ８０６のノード識別子５４、２３５、４３１と、ポートのインタフェース識別子５４３１を特定する。
【０２１７】
ＶＭ（ＷＥＢ）１２が接続する仮想スイッチ８０６のノード識別子はＮ７、仮想スイッチのポート８０８のインタフェース識別子はＩ１０である。特定したインタフェースのインタフェース識別子＝Ｉ１０をもとに、分析サーバ１は、インタフェースグループ管理テーブル２２０１を参照し、ＶＭ（ＷＥＢ）１２が接続する仮想スイッチ８０６のポート８０８が属するインタフェースグループを特定する。分析サーバ１は、インタフェース識別子＝Ｉ１０が属するインタフェースグループ識別子２２０１２はＮＷ５０と特定できる。
【０２１８】
分析サーバ１は、ＶＭ（ＷＥＢ）１２のインタフェース識別子Ｉ５をキャプチャノード管理テーブル２２０２の対象インタフェース２２０２１に、特定したインタフェースグループＮＷ５０を、キャプチャノード管理テーブル２２０２のインタフェースグループ２２０２２に登録する。
【０２１９】
さらに、分析サーバ１は、特定した仮想スイッチ８０６のノード識別子Ｎ７を基に、仮想ノード管理テーブル５４４を参照し、仮想スイッチ８０６が配置されている物理ノードであるサーバを特定する。特定したサーバのノード識別子５４４２をキャプチャノード管理テーブル２２０２の物理ノード２２０２３に登録する。
【０２２０】
収集・記録ノード２２０２４及び収集・記録インタフェース２２０２５には、キャプチャ専用の仮想マシン２Ａを生成した時に、分析サーバ１が、生成した仮想マシン２Ａのノード識別子と、インタフェース識別子を登録する。
【０２２１】
以上により、対象とする仮想マシンの通信パケットをキャプチャするために、キャプチャ専用の仮想マシン２Ａを配置するノード及び、仮想マシンの仮想ＮＩＣ１１３、１２３に接続する仮想スイッチ８０６のインタフェースが属するインタフェースグループを特定することができる。以上で、収集方法決定処理１３０６ａを終了する。
【０２２２】
続いて、キャプチャ専用の仮想マシン２Ａに対応したキャプチャ設定処理５１２ａについて説明する。キャプチャ設定処理５１２ａは、第１の実施例で説明した処理に加え、キャプチャノード管理テーブル２２０２を参照し、キャプチャ用の仮想マシン２Ａの構築と設定を行う。
【０２２３】
図２２は、キャプチャ設定処理５１２ａの一例を示すフローチャートである。まず、キャプチャ設定処理５１２ａは、キャプチャノード管理テーブル２２０２の対象インタフェース２２０２１に登録されているインタフェースを選択し、対象インタフェース２２０２１を含む仮想マシンを提供するサーバのノード識別子（２２０２３）を特定する（ステップ２３０１）。
【０２２４】
図２１Ｂに示すキャプチャノード管理テーブル２２０２では、対象インタフェース２２０２１＝Ｉ５と対象インタフェースが接続する仮想スイッチ８０６が配置されているサーバは、物理ノード２２０２３の欄を参照することにより、Ｎ１１で示されるノードであるサーバ８ａと特定できる。
【０２２５】
キャプチャ設定処理５１２ａは、特定したサーバ８ａの仮想基盤８０５に、該当するテナントのキャプチャ用仮想マシン２Ａが構築されているか否かを判定する（ステップ２３０２）。仮想マシン２Ａが構築いない場合（ステップ２３０２でＮｏ）、キャプチャ設定処理５１２ａは、特定したサーバ８ａの仮想基盤８０５に対して、キャプチャ用の仮想マシン２Ａを生成するように指示する（ステップ２３０５）。
【０２２６】
キャプチャ用の仮想マシン２Ａを構築した後、仮想基盤８０５は構築した仮想マシン２Ａに仮想ＮＩＣを追加（ステップ２３０６）し、追加した仮想ＮＩＣを、キャプチャ対象とする仮想マシンと同じインタフェースグループに属するようにキャプチャ設定処理５１２ａが設定する（ステップ２３０７）。設定が終了した後、キャプチャするインタフェース（２２０１１）とファイル名を指定して仮想マシン２Ａのキャプチャソフトウェアを実行する。
【０２２７】
キャプチャ設定処理５１２ａは、キャプチャノード管理テーブル２２０２に登録された記録・収集ノード２２０２４のノード識別子を、収集インタフェース管理テーブル５６４のノード識別子５６４２および記録ノード５６４４の欄に登録する。キャプチャ設定処理５１２ａは、収集・記録インタフェース２２０２５のインタフェース識別子を、収集インタフェース管理テーブル５６４のインタフェース識別子５６４１に登録する。また、テナント識別子５６４３およびキャプチャソフトウェアを実行する時に指定したディレクトリとファイル名をキャプチャファイル名５６４５の欄に登録する。
【０２２８】
キャプチャ設定処理５１２ａは、特定したサーバ８ａの仮想基盤８０５に、該当するテナントのキャプチャ用仮想マシン２Ａが構築されている場合（ステップ２３０２でＹｅｓ）は、新たなキャプチャ用仮想マシンの構築は行わない。キャプチャ設定処理５１２ａは、構築済みのキャプチャ用仮想マシン２Ａの仮想ＮＩＣが接続するポートを含むインタフェースグループ識別子２２０１２を取得し、キャプチャノード管理テーブル２２０２に登録されているインタフェースグループと比較する。インタフェースグループが一致しない場合（ステップ２３０３でＮｏ）は、キャプチャ用仮想マシン２Ａに仮想ＮＩＣを追加して、インタフェースグループを設定する（ステップ２３０６、２３０７）。そして、キャプチャ設定処理５１２ａは、収集インタフェース管理テーブル５６４に、インタフェース識別子５６４１、ノード識別子５６４２、テナント識別子５６４３、記録ノード５６４４、キャプチャファイル名５６４５を登録する。
【０２２９】
インタフェースグループが一致する場合（ステップ２３０３でＹｅｓ）は、収集インタフェース管理テーブル５６４のインタフェース識別子５６４１から、キャプチャノード管理テーブル２２０２の収集・記録インタフェース２２０２５に登録されたインタフェース識別子を取得し、テナント識別子５６４３のみを登録する。
【０２３０】
以上により、キャプチャ設定処理５１２ａを終了する。その他の処理については、第１の実施例と同様の処理を行う。
【０２３１】
以上により、仮想マシン１１〜１３の通信パケットをキャプチャ用の仮想マシン２Ａを用いてキャプチャすることが可能になる。本第２の実施例におけるキャプチャ設定処理によると、１つのサーバに複数の仮想マシンが構築されている場合でも、インタフェースグループが一致する場合には、１つのキャプチャ用の仮想マシン２Ａで複数の仮想マシンの通信パケットをキャプチャすることができ、キャプチャ用の仮想マシン２Ａの数を削減することができる。
【実施例３】
【０２３２】
本実施例３では、テナントシステムが提供するサービスと、サービスが利用するプロトコルのポート番号との対応関係を管理し、サービスを提供する仮想マシンのＩＰアドレスやポート番号の設定変更前後においてサービスが継続していることを分析する例について説明する。
【０２３３】
本実施例３におけるシステム構成は第１の実施例における構成と同様である。分析サーバ１は、第１の実施例で説明したすべての処理およびＤＢを備える。さらに、テナント構成ＤＢ５４０内に、テナントシステムで提供するサービスと、サービスが利用するポート番号との対応関係を登録したサービスポート管理テーブル２４０１と、第１の実施例の到達判定テーブル５７２の構成要素に、提供サービス５７２７を加えた到達判定テーブル５７２Ａを備える。
【０２３４】
図２３Ａは、第３の実施例のサービスポート管理テーブル２４０１の一例を示す図である。サービスポート管理テーブル２４０１は、構成要素として、サービス提供ノード２４０１１、サービス２４０１２、プロトコル２４０１３、ポート番号２４０１４を含む。
【０２３５】
サービス提供ノード２４０１１は、サービスを提供するノードのノード識別子である。サービス２４０１２は、サービス提供ノードで示されるノードが提供するサービスの名称である。例として、ＨＴＴＰ（Ｈｙｐｅｒ  ｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）やＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）等が含まれる。プロトコル２４０１３は、サービスを提供するために使用するプロトコルの種類である。例として、ＴＣＰ、ＵＤＰ、ＩＣＭＰ等が含まれる。ポート番号２４０１４は、サービスを提供するために利用するポート番号である。
【０２３６】
図２３Ｂは、第３の実施例の到達判定テーブル５７２Ａの一例を示す図である。到達判定テーブル５７２Ａは、第１の実施例の到達判定テーブル５７２に、ノードが提供するサービスの名称を格納する提供サービス５７２７を加えたもので、その他の構成は前記実施例１と同様である。
【０２３７】
管理者は、サービスを提供する仮想マシンの設定変更を実施する以前に、分析サーバ１に対して、情報の収集開始及び分析開始を指示し、テナントシステムに関連するネットワークの状態分析を依頼する。
【０２３８】
テナントシステムの論理構成は図１４Ａに示したとおりで第１の実施例と同一である。第１の実施例と同様に、分析サーバ１は、テナントシステムのネットワーク構成を分析する。
【０２３９】
図２４に、第３の実施例における到達判定処理５３２ａの一例を示すフローチャートを示す。第３の実施例における到達判定処理５３２ａでは、前記第１の実施例の図１６Ａに示したセッション計算１６０３の後に、サービス特定処理２５０１を加えたものであり、その他の構成は、第１の実施例の到達判定処理５３２と同様である。
【０２４０】
図２４のサービス特定処理２５０１は、パケット比較処理１６０２（図１７参照）で特定した比較先パケットの宛先ＩＰアドレスおよびポート番号から、該当テナントのサービスポート管理テーブル２４０１を参照し、サービスの宛先となるノードで提供するサービス２４０１２を特定する。
【０２４１】
ステップ１６０４では、ステップ１６０２、１６０３の処理結果に加え、サービス特定処理２５０１で特定したサービスを、分析サーバ１が到達判定テーブル５７２Ａの提供サービス５７２７の欄に登録し、変更前の到達判定テーブル５７２Ａを作成する。
【０２４２】
以上により、設定変更前のテナントシステムにおいて、サービスの宛先となるノードに通信パケットが到達しているサービスの一覧を含む到達判定テーブル５７２Ａを作成することができる。
【０２４３】
管理者によるサービスを提供する仮想マシンの設定の変更後、設定変更に伴って変更が必要なテナント構成ＤＢ５４０の各種テーブルの登録内容を分析サーバ１が変更する。例えば、仮想マシンの宛先ＩＰアドレスを変更した場合、ノード管理テーブル５４２、インタフェース管理テーブル５４３、アドレス管理テーブル５４５、ポリシー管理テーブル４５６への変更が必要である。
【０２４４】
テナント構成ＤＢ５４０の変更後、管理者は、分析サーバ１に対して、情報の収集開始及び分析開始を指示しテナントシステムに関連するネットワークの状態分析を指示する。分析サーバ１は、変更前と同様の処理を行い、設定変更後のテナントシステムにおいて、サービスの宛先となるノードに通信パケットが到達しているサービスの一覧を含む到達判定テーブル２４０２ｂ作成する。
【０２４５】
設定変更前の到達判定テーブル２４０２ａと、設定変更後の到達判定テーブル２４０２ｂに含まれるサービスを比較する。設定変更前の到達判定テーブル２４０２ａに含まれるすべてのサービスが、設定変更後の到達判定テーブル２４０２ｂに含まれている場合は、設定変更後もすべてのサービスが継続していると判定できる。一方、設定変更前の到達判定テーブル２４０２ａに含まれるサービスと、設定変更後の到達判定テーブル２４０２ｂに含まれるサービスが異なる場合は、設定変更により、サービスが継続できなかったと判定する。継続できなかったサービスの通信パケットを廃棄したノードは、廃棄ノード特定処理により特定できる。
【０２４６】
以上により、サービスを提供する仮想マシンの設定変更の前後において同一のサービスが継続していることを分析できる。
【０２４７】
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
【０２４８】
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体（例えば、非一時的な記憶媒体）に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
【０２４９】
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【符号の説明】
【０２５０】
１  分析サーバ
２  キャプチャ装置
５  クライアント
６  広域ネットワーク
７ａ〜７ｈ  スイッチ
８ａ〜８ｆ  サーバ
９ａ  ファイやウォール
１０ａ  ロードバランサ
１１、１２、１３  仮想マシン
１１１、１２１  サービス
１１２  １２２  ＯＳ
１１３、１２３  仮想ＮＩＣ
７１、９１、４０１、８０２  ＣＰＵ
７２、９２、４０２、８０３  メモリ
７３、９３、４０３、８０４  インタフェース
４０４  メディアインタフェース
４０５  入出力装置
４０６  外部記録媒体
４０７  コンソール
５０１  指示受付処理
５１０  設定処理
５１１  収集機器選択処理
５１２  キャプチャ設定処理
５１３  トラフィックログ収集設定処理
５１９  スイッチ管理テーブル
５２０  収集処理
５２１  トラフィックログ収集処理
５２２  パケット収集処理
５３０  分析処理
５３１  テナントパケット抽出処理
５３２  到達判定処理
５３３  廃棄ノード特定処理
５４０  テナント構成ＤＢ
５４１、５６１、５７１  テナント識別子
５４２  ノード管理テーブル
５４３  インタフェース管理テーブル
５４４  仮想ノード管理テーブル
５４５  アドレス変換テーブル
５４６  ポリシー管理テーブル
５４７  ログ種別管理テーブル
５４８  分析レイヤ管理テーブル
５５０  パケット蓄積ＤＢ
５６０  収集管理ＤＢ
５６２  キャプチャインタフェース管理テーブル
５６３  トラフィックログ収集管理テーブル
５６４  収集インタフェース管理テーブル
５７０  分析結果ＤＢ
５７２  到達判定テーブル
５７３  廃棄ノード特定テーブル
７２１、９２１  ルーティングテーブル
７２２  フロー割り当て処理
７２３  ９２３転送処理
８０６  仮想スイッチ
８０７、８０８、８０９  ポート
８１０  キャプチャ機能
９２２  ポリシーテーブル
９２４  アドレス変換処理
９２５  アクセス制御処理
９２６  ログ記録処理
【図１】
2014216991.tif 000003
【図２】
2014216991.tif 000004
【図３Ａ】
2014216991.tif 000005
【図３Ｂ】
2014216991.tif 000006
【図４】
2014216991.tif 000007
【図５】
2014216991.tif 000008
【図６Ａ】
2014216991.tif 000009
【図６Ｂ】
2014216991.tif 000010
【図６Ｃ】
2014216991.tif 000011
【図７Ａ】
2014216991.tif 000012
【図７Ｂ】
2014216991.tif 000013
【図７Ｃ】
2014216991.tif 000014
【図７Ｄ】
2014216991.tif 000015
【図８】
2014216991.tif 000016
【図９Ａ】
2014216991.tif 000017
【図９Ｂ】
2014216991.tif 000018
【図１０】
2014216991.tif 000019
【図１１】
2014216991.tif 000020
【図１２】
2014216991.tif 000021
【図１３】
2014216991.tif 000022
【図１４Ａ】
2014216991.tif 000023
【図１４Ｂ】
2014216991.tif 000024
【図１４Ｃ】
2014216991.tif 000025
【図１４Ｄ】
2014216991.tif 000026
【図１５Ａ】
2014216991.tif 000027
【図１５Ｂ】
2014216991.tif 000028
【図１６Ａ】
2014216991.tif 000029
【図１６Ｂ】
2014216991.tif 000030
【図１７】
2014216991.tif 000031
【図１８】
2014216991.tif 000032
【図１９Ａ】
2014216991.tif 000033
【図１９Ｂ】
2014216991.tif 000034
【図２０Ａ】
2014216991.tif 000035
【図２０Ｂ】
2014216991.tif 000036
【図２１Ａ】
2014216991.tif 000037
【図２１Ｂ】
2014216991.tif 000038
【図２２】
2014216991.tif 000039
【図２３Ａ】
2014216991.tif 000040
【図２３Ｂ】
2014216991.tif 000041
【図２４】
2014216991.tif 000042
【図２５】
2014216991.tif 000043