(57)【要約】【課題】  複数のホストマシンで実行されるVM相互間の通信が、同一ホストマシン内で完結している通信なのかどうかを明らかにする。【解決手段】  通信解析装置は、仮想マシンと仮想スイッチ含む複数のホスト装置が接続された通信網の仮想スイッチの、スイッチ番号、ホスト番号、通信網との接続端子番号を記憶する定義記憶手段と、仮想ホスト間の通信ごとに、中継した仮想スイッチから受信したスイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むレコードを記憶する履歴記憶手段と、出力端子番号が通信網との接続端子番号である第１のレコードと、入力端子番号が通信網との接続端子番号であり、かつ、第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出して、第１及び第２のレコードのスイッチ番号から得られるホスト装置間の通信を検出する取得手段と、を備える。【選択図】      図１
2015142269.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンと仮想スイッチ含む複数のホスト装置が接続された通信網における、仮想スイッチの、スイッチ番号、ホスト番号、前記通信網との接続端子番号を記憶する定義記憶手段と、
仮想ホスト間の通信ごとに、中継した仮想スイッチから受信した、スイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むレコードを記憶する履歴記憶手段と、
前記履歴記憶手段から、出力端子番号が前記通信網との接続端子番号である第１のレコードと、前記入力端子番号が前記通信網との接続端子番号であり、かつ、前記第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出すると、前記第１のレコードのスイッチ番号から得られるホスト装置と、前記第２のレコードのスイッチ番号から得られるホスト装置間の通信を検出する取得手段と、を備える通信解析装置。
【請求項２】
前記取得手段は、前記履歴記憶手段から、入力及び出力の両端子番号が前記通信網との接続端子番号でない第３のレコードを抽出すると、前記第３のレコードのスイッチ番号から得られるホスト装置内の通信を検出する、請求項１の通信解析装置。
【請求項３】
前記定義記憶手段は、仮想スイッチの通信ドメイン番号を包含し、
前記取得手段は、前記第１のレコードのスイッチ番号から得られるダメイン番号と、前記第２のレコードのスイッチ番号から得られるドメイン番号が一致すればドメイン内通信を、一致しなければドメイン間通信を検出する、請求項１または２の通信解析装置。
【請求項４】
前記定義記憶手段はユーザのユーザ名とＶＬＡＮ番号を包含し、
前記履歴記憶手段に格納されているレコードはＶＬＡＮ番号を包含し、
前記取得手段は、ユーザ名を入力されると、当該ユーザ名のユーザのＶＬＡＮ番号を包含するレコードから通信を検出する、請求項１乃至３の何れかの通信解析装置。
【請求項５】
仮想ホスト間の通信ごとに、当該通信を中継した仮想スイッチから前記レコードを受信して、前記履歴記憶手段に蓄積する蓄積手段を備える、請求項１乃至４の何れかの通信解析装置。
【請求項６】
前記複数のホスト装置と、
請求項１乃至５に何れかの通信解析装置を包含する、通信解析システム。
【請求項７】
仮想マシンと仮想スイッチ含む複数のホスト装置が接続された通信網における、仮想スイッチの、スイッチ番号、ホスト番号、前記通信網との接続端子番号を記憶し、
仮想ホスト間の通信ごとに、中継した仮想スイッチから受信した、スイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むレコードを記憶し、
出力端子番号が前記通信網との接続端子番号である第１のレコードと、前記入力端子番号が前記通信網との接続端子番号であり、かつ、前記第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出すると、前記第１のレコードのスイッチ番号から得られるホスト装置と、前記第２のレコードのスイッチ番号から得られるホスト装置間の通信を検出する通信解析方法。
【請求項８】
入力及び出力の両端子番号が前記通信網との接続端子番号でない第３のレコードを抽出すると、前記第３のレコードのスイッチ番号から得られるホスト装置内の通信を検出する、請求項７の通信解析方法。
【請求項９】
仮想スイッチの通信ドメイン番号を記憶し、
前記第１のレコードのスイッチ番号から得られるダメイン番号と、前記第２のレコードのスイッチ番号から得られるドメイン番号が一致すればドメイン内通信を、一致しなければドメイン間通信を検出する、請求項７または８の通信解析方法。
【請求項１０】
コンピュータに、請求項７乃至９の何れかの方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信解析装置、通信解析システム、通信解析方法、及び、プログラム、特に、仮想マシン(Virtual Machine, 以後VM)間の通信を対象とした通信解析装置、通信解析システム、通信解析方法、及び、プログラムに関する。
【背景技術】
【０００２】
昨今、クラウドシステムをマルチテナント構成で運用することが増えてきている。IaaS(Infrastructure as a Service)型のクラウドシステムの場合、クラウドシステムの事業者(以後クラウド事業者)は、VMを動作させるホストマシン(以後ホストマシン)を用意する。そして、クラウド事業者)は、ホストマシン上に複数の仮想マシンを用意し、それを複数の利用者(以後テナント利用者)に貸し出すなどしてマルチテナント構成を実現している。
【０００３】
1つのテナントは複数のホストマシン上に渡って構成されることもある。すなわち、テナント内の複数のVMが、複数のホストマシン上に分散配置されることもある。この場合、対障害性を確保するためなどの目的で、1つのVMが複数のホストマシンを自動的に移動する場合がある。このような技術には、例えばライブマイグレーションと呼ばれる既存技術がある。
【０００４】
テナントが複数のホストマシン上に渡って構成される場合、そのホストマシン群は、物理的に近い位置にいるとは限らない。クラウド業者は、例えば、VxLAN（Virtual eXtensible Local Area Network）などのネットワークトンネリング技術により仮想ネットワークを構築し、その仮想ネットワーク上にテナントを構成することができる。その場合、複数のホストマシンが物理的に離れた位置にあっても、テナント内は1つのネットワークとして通信が可能となる。
【０００５】
物理的に離れた位置にあるVM間の通信は、一般にはWAN(Wide Area Network)を経由するため、LAN(Local Area Network)内の通信よりも帯域が少なく往復時間もかかることが多く、一般的には遅くなる。そのため、同一テナント内であっても、VMが稼働するホストマシンの物理的距離が遠い場合は、VM間通信の速度が十分出ない場合も考えられる。
【０００６】
このような状況に対し、VM間の通信状況、すなわち、VM間の通信がどのホストマシン間で行われているのか、その通信量等はどれくらいか、という情報が可視化されると、運用における最適化計画が立てやすい等、都合がよい。また、この情報は、クラウド事業者だけでなく、テナント利用者自身から参照できるほうがよい。
【０００７】
ところで、通信の量をその内容ごとに統計的に収集する技術として、NetFlowやIPFIXといったフロー集計の標準プロトコルがある。ホストマシン上の仮想スイッチや、途中の経路にある物理スイッチがNetFlow等に対応していれば、NetFlow等を受信・蓄積できる装置またはソフトウェアを用意することによって、VM間の通信フローの情報を収集することは実現できる。
【０００８】
また、収集したフロー情報には、NetFlow等に含まれる情報、例えば送信元/宛先IPアドレス、VLAN情報、スイッチ上の通過インタフェース情報、などは含まれている。しかし、これらから、クラウド事業者やテナントの管理者が、直接的に同一ホストマシン内で完結している通信なのかどうかを容易に判断できない。
【０００９】
この状況は、マルチテナントシステムにおけるテナントに限られず、分散処理を実行する他のアプリケーションシステムについても発生しうる。
【００１０】
上記課題への対応に関連して、以下の技術が公開されている。
【００１１】
特許文献１は、クラウドネットワーク環境においても粒度の細かいネットワーク遅延を測定する装置を開示する。この装置は、転送装置から収集したフロー情報を蓄積し、蓄積されたフロー情報を参照してパケットが送信された時刻、応答が受信された時刻の差分を計算して遅延を測定する。この装置は、測定対象トラフィックの単位を特定するためのキー情報をフィルタリング条件に設定する。
【００１２】
特許文献２は、２つの拠点間をVPN(Virtual Private Network)で接続し、拠点間ではVLAN-ID（Virtual Local Area Network IDentIFier）を用い、拠点内では他のアドレスを用いて通信を行うクラウドシステムを開示する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開2013-240017号公報
【特許文献２】特開2013-162418号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献１及び２の技術が開示する装置、及び、システムは、通信とホストマシンの関係を管理、判断しない。本発明は、複数のホストマシンで実行されるVM相互間の通信が、同一ホストマシン内で完結している通信なのかどうかを判別する装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一実施形態にかかる通信解析装置は、仮想マシンと仮想スイッチ含む複数のホスト装置が接続された通信網における、仮想スイッチの、スイッチ番号、ホスト番号、前記通信網との接続端子番号を記憶する定義記憶手段と、仮想ホスト間の通信ごとに、中継した仮想スイッチから受信した、スイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むレコードを記憶する履歴記憶手段と、前記履歴記憶手段から、出力端子番号が前記通信網との接続端子番号である第１のレコードと、前記入力端子番号が前記通信網との接続端子番号であり、かつ、前記第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出すると、前記第１のレコードのスイッチ番号から得られるホスト装置と、前記第２のレコードのスイッチ番号から得られるホスト装置間の通信を検出する取得手段と、を備える。
【００１６】
本発明の一実施形態にかかる通信解析方法は、仮想マシンと仮想スイッチ含む複数のホスト装置が接続された通信網における、仮想スイッチの、スイッチ番号、ホスト番号、前記通信網との接続端子番号を記憶し、仮想ホスト間の通信ごとに、中継した仮想スイッチから受信した、スイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むレコードを記憶し、出力端子番号が前記通信網との接続端子番号である第１のレコードと、前記入力端子番号が前記通信網との接続端子番号であり、かつ、前記第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出すると、前記第１のレコードのスイッチ番号から得られるホスト装置と、前記第２のレコードのスイッチ番号から得られるホスト装置間の通信を検出する。
【発明の効果】
【００１７】
本発明にかかる装置等は、複数のホストマシンで実行されるVM相互間の通信が、同一ホストマシン内で完結している通信なのかどうかを明らかにすることができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、通信解析システム50の全体構成例を示す。
【図２】図２は、第１の実施形態にかかる通信制御装置10の構成図である。
【図３】図３は、履歴記憶部12に格納される情報の構成を示す。
【図４】図４は、定義記憶部13が記憶するテナント表62の構成を示す。
【図５】図５は、定義記憶部13が記憶するスイッチ表63の構成を示す。
【図６】図６は、取得部14の動作フローチャートである。
【図７】図７は、第２の実施形態にかかる通信制御装置10の構成図である。
【発明を実施するための形態】
【００１９】
＜第１の実施の形態＞
（構成）
図１は、本発明にかかる通信解析システム50の全体構成例を示す。通信解析システム50は、クラウドシステムである。通信解析システム50は、複数台のホスト装置20とホスト装置20を接続するスイッチ30を包含する複数のドメインが、WAN40（Wide Area Network）で接続されて構成される。何れかのドメインのスイッチ30には、通信解析装置10が接続される。
【００２０】
各ホスト装置20内には、VM29と仮想スイッチ22が配置されている。なお、VM29と仮想スイッチ22は、コンピュータであるホスト装置20のプロセッサが実行するソフトウェアによって仮想的に実現されている。
【００２１】
仮想スイッチ22は、複数の接続端子、即ち、接続インタフェースを備えており、VM29及びスイッチ30と接続されている。各接続インタフェースには、識別番号が割り当てられている。以降、VM29に接続されている接続インタフェースをアクセスIF23（ここで、IFはインタフェースの略）、スイッチ30に接続されている接続インタフェースをトランクIF24と記載する。
【００２２】
仮想スイッチ22は、全ての接続インタフェース（アクセスIF23及びトランクIF24）について通信フロー情報を取得して、通信解析装置10に送信する。ここでいう通信は、例えば、VM29間の通信である。
【００２３】
なお、VM29間の通信速度は、同一ホスト装置20内のVM29間が一番早く、次いで、同一ドメインの異なるホスト装置20内のVM29間が早く、異なるドメインのホスト装置20内のVM29間が一番遅い。したがって、VM29間の通信が、どのように実施されているかは、ユーザにとって関心事である。
【００２４】
図１が示す通信解析システム50の例においては、ドメイン1のホスト装置1、2はスイッチ1に接続され、ドメイン2のホスト装置3、4はスイッチ2に接続されている。スイッチ1と2は、WAN40を介して接続されている。通信解析装置10は、ドメイン1のスイッチ1に接続されている。
【００２５】
ホスト装置1乃至4の各々には、仮想スイッチ1乃至4がそれぞれ配置されている。また、ホスト装置１にはVM11とVM12が配置されている。ホスト装置2にはVN21が、ホスト装置3にはVN31が、ホスト装置4にはVN41が配置されている。
【００２６】
図１の通信解析システム50の例は、テナント毎に異なるVLANを割り当て、ネットワークを分離している。例えば、テナントAは、VM11、VM31、及び、VM41を含むVLAN10が割り当てられ、テナントBは、VM12、及び、VM21を含むVLAN20が割り当てられている。その上で、仮想スイッチ22は、各接続インタフェースについて、NetFlow等による通信フロー統計機能が有効に設定されている。また、仮想スイッチ22は、収集する情報にVLAN番号を含めるように設定される。このような設定は、非特許文献１に記載される技術により可能である。
【００２７】
【非特許文献１】"Sisco Systems NetFlow Services Export Version 9"、B. Claise, Ed.Cisco Systems, October 2004 <http://www.ietf.org/rfc/rfc3954.txt＞  図２は、通信解析装置10の構成図である。通信解析装置10は、蓄積部11、履歴記憶部12、定義記憶部13、及び、取得部14を備える。
【００２８】
仮想スイッチ22から送信されたフロー情報は、蓄積部11で受信されて履歴記憶部12に蓄積される。蓄積部11は、定義記憶部13からテナントに関する情報を読み込み、当該情報に基づいてフロー情報を分類する。蓄積部11は、分類したフロー情報をフローDB１とフローDB2に分けて保存する。分類の処理詳細は、後述する。
【００２９】
蓄積されたフロー情報（フローレコード60）は、ユーザからの要求に応じて取得、解析され、解析結果と共に通信解析装置10のディスプレイ装置（図示されず）等に出力される。ユーザからの要求は、取得部14が受け付け、要求内容に応じて、履歴記憶部12からフローレコード60を取得、解析、及び、出力する。
【００３０】
蓄積部11、及び、取得部14は、論理回路で構成される。蓄積部11、及び、取得部14は、コンピュータである通信解析装置10のメモリ（図示されず）に格納されて、プロセッサ（図示されず）により実行されるプログラムによって実現されても良い。履歴記憶部12、及び、定義記憶部13は、ディスク装置等の記憶装置である。
【００３１】
図３は、履歴記憶部12に格納される情報の構成を示す。履歴記憶部12は、フローレコード60とフロー方向61を関連付けて格納する。
【００３２】
フローレコード60は、蓄積部11が仮想スイッチ22から受信したフロー情報を包含する。フローレコード60は、例えば、収集スイッチ名、収集時刻、VLAN番号、入力IF、出力IF、通信アドレス、及び、通信量を包含する。
【００３３】
収集スイッチ名は、フローレコード60の元となったフロー情報を収集した仮想スイッチ22のスイッチ名である。収集スイッチ名は、例えば、図１における仮想スイッチ1である。
【００３４】
収集時刻は、仮想スイッチ22が、フローレコード60の元となったフロー情報を収集した時刻である。VLAN番号は、フロー情報が取得された通信が行われたVLANの識別番号である。VLAN番号は、例えば、VLAN10である。
【００３５】
入力IFは、通信パケットが仮想スイッチ22に入力された接続インタフェースの番号である。出力IFは、通信パケットが仮想スイッチ22から出力された接続インタフェースの番号である。
【００３６】
通信アドレスは、例えば、送信元IPアドレス、送信先IPアドレス、送信元TCPポート番号、及び、送信元TCPポート番号である。通信量は、行われた通信のデータ量である。
【００３７】
なお、フローレコード60は、フロー集計プロトコルで採取できるその他の情報を包含しても良い。
【００３８】
フロー方向61は、通信が、複数仮想スイッチ22をまたがる（「外」）か、一つの仮想スイッチ22内（「内」）か、の区別を示す。フロー方向61は、蓄積部11が、フローレコード60及び後述するスイッチ表63の情報から判別して、フローレコード60に付加する。
【００３９】
図４は、定義記憶部13が記憶するテナント表62の構成を示す。テナント表62は、テナントごとに、テナント名と当該テナントに割り当てられたVLANのVLAN番号を包含する。テナント表62は、テナントごとに、VM29のIPアドレスを包含していても良い。
【００４０】
図５は、定義記憶部13が記憶するスイッチ表63の構成を示す。スイッチ表63は、仮想スイッチ22ごとに、仮想スイッチ名、当該仮想スイッチ22が所属するホスト装置20の名称、当該ホスト装置20が属するドメインの情報、及び、トランクIF24またはアクセスIF23の接続インタフェース番号を包含する。
【００４１】
（動作）
まず、蓄積部11による、フローレコード60とフロー方向61の蓄積について説明する。フロー集計プロトコルをNetFlowと仮定するが、他のプロトコルを使用してもよい。
【００４２】
あるVM29の間で通信が発生する。この通信は、例えば、図１のVM11から別のVMへの通信である。この通信は、少なくとも仮想スイッチ1を通るので、仮想スイッチ1でNetFlowによる情報収集が行われる。収集されたフロー情報は、仮想スイッチ1から通信解析装置10に送信される。
【００４３】
VM11が送信元であるVM29間の通信は、送信先により経由する仮想スイッチ22及び接続インタフェースが変わる。
【００４４】
１．送信先が同一ホスト装置20上のVM29(例えばVM12)の場合、通信は仮想スイッチ1のみを通過する。仮想スイッチ1上で収集されるフロー情報は、入力IFがアクセスIF23-11、出力IFがアクセスIF23-12、となる。
【００４５】
２．送信先が同一ドメイン内の別ホスト装置20上のVM29(例えばVM21)の場合、通信は仮想スイッチ1及び仮想スイッチ2を通過する。仮想スイッチ1で収集されるフロー情報は、入力IFがアクセスIF23-11、出力IFがトランクIF24-1となる。また、仮想スイッチ2で収集されるフロー情報は、入力IFがトランクIF24-2、出力IFがアクセスIF23-21となる。
【００４６】
３．送信先が別ドメイン内の別ホスト装置20上のVM29(例えばVM31)の場合、通信は仮想スイッチ1及び仮想スイッチ3を通過する。仮想スイッチ1で収集されるフロー情報は、入力IFがアクセスIF23-11、出力IFがトランクIF24-1となる。また、仮想スイッチ3で収集されるフロー情報は、入力IFがトランクIF24-3、出力IFがアクセスIF23-31となる。
【００４７】
上記の状況１〜３で、蓄積部11は、フロー情報を送信した仮想スイッチ名をキーにスイッチ表63を検索して、入力IF及び出力IFがトランクIF24か否かを判断する。アクセスIF23は、トランクIF24ではない接続インタフェースなので、蓄積部11は、アクセスIF23も同様にスイッチ表63から判断する。
【００４８】
通信解析装置10の蓄積部11は、上記のようなフロー情報を各仮想スイッチ22から受信し、次のアルゴリズムに従って分類して、フローレコード60とフロー方向61を作成し、履歴記憶部12に保存する。
【００４９】
１.フロー情報の入力IFがアクセスIF23の場合、蓄積部11は、フローレコード60をフローDB1に保存する。蓄積部11は、保存の際、出力IFがトランクIF24の場合はフロー方向61を「外」に、それ以外の場合はフロー方向61を「内」として保存する。
２．フロー情報の入力IFがトランクIF24の場合、蓄積部11は、フローレコード60をフローDB2に保存する。蓄積部11は、フロー方向61を「外」として保存する。
【００５０】
任意の通信について、ある仮想スイッチ22上で入力IFがアクセスIF23、別の仮想スイッチ22上でも入力IFがアクセスIF23として収集されることがないのは、アクセスIF23の定義から明らかである。したがって、このように入力IFの種別ごとに保存するデータベースを分けることで、各データベース内で、ひとつのフロー情報が重複カウントされることはない。
【００５１】
次に、蓄積されたフローレコード60とフロー方向61を参照する処理について説明する。この処理は、取得部14によって実行される。
【００５２】
図６は、参照可能な情報に制限のないクラウド事業者等が、通信解析装置10に蓄積されたフローレコード60を参照する際の取得部14の動作フローチャートである。
【００５３】
取得部14は、ユーザが参照したいフローレコード60の条件を入力として受け取る（Ｓ１）。フローレコード60の条件とは、例えば送信元IPアドレスやフロー収集時刻の範囲といった、フローDB1に保存されているフローレコード60を選択する為の条件である。
【００５４】
取得部14は、入力した条件に合致するフローレコード60とそれに関連付けられたフロー方向61を、フローDB1から取り出し（Ｓ２）、取り出したフローレコード60のそれぞれ(以降、フローレコードFとする)について、Ｓ３乃至Ｓ１１を実行する。
【００５５】
取得部14は、フローレコードFの「VLAN番号」キーとして、テナント表62を引き、テナント名を得る（Ｓ３）。取得したテナント名は、例えば、テナントAである。
【００５６】
取得部14は、フローレコードFの「収集スイッチ」を用いて、当該仮想スイッチ22が所属するホスト装置20、及びドメインを、スイッチ表63から取得する（Ｓ４）。取得したホスト装置20はホスト装置H、取得したドメインはドメインDであったとする。
【００５７】
取得部14は、フローレコードFに関連付けられたフロー方向61が「内」であるか否かを判定し（Ｓ５）、「内」の場合（Ｓ５でＹ）、ホスト装置H内、ドメインD内で完結した通信を検出し、その旨を、テナント名、フローレコードFの内容と共に出力する。出力は、例えば、通信解析装置10のディスプレイ装置に行う。また、取得部14は、検出結果をフローレコードFに関連付けて履歴記憶部12に格納しても良い。
【００５８】
フローレコードFに関連付けられたフロー方向61が「外」である場合、このレコードのフロー情報を収集した仮想スイッチ22上の出力IFがトランクIF24である。この場合、当該仮想スイッチ22以外の仮想スイッチ22上で、入力IF＝トランクIF24としてフロー情報が収集されていることになる。つまり、フローDB2に、フローレコードFと、通信アドレス及び収集時刻が等しいフローレコード60が存在する。
【００５９】
この場合（Ｓ５でＮ）、取得部14は、フローレコードFと、通信アドレス及び収集時刻が等しいフローレコード60を、フローDB2から取得する（Ｓ７）。なお、取得部14は、収集時刻の差が、通信遅延時間範囲内であれば等しいとみなす。取得されたフローレコード60は、フローレコードF’であったとする。
【００６０】
フローレコードF’の「収集スイッチ」を用いて、当該仮想スイッチ22が所属するホスト装置20、及びドメインを、スイッチ表63から取得する（Ｓ８）。取得したホスト装置20はホスト装置H’、取得したドメインはドメインD’であったとする。
【００６１】
ドメインDとドメインD’が一致する場合（Ｓ９でＹ）、取得部14は、ドメインD内で、ホスト装置Hからホスト装置H’への通信を検出し、その旨を、テナント名、フローレコードF及びF’の内容と共に出力する（Ｓ１０）。また、取得部14は、検出結果をフローレコードF及びF’に関連付けて履歴記憶部12に格納しても良い。
【００６２】
ドメインDとドメインD’が異なる場合（Ｓ９でＮ）、取得部14は、ドメインDのホスト装置HからドメインD’のホスト装置H’への通信を検出し、その旨を、テナント名、フローレコードF及びF’の内容と共に出力する（Ｓ１１）。また、取得部14は、検出結果をフローレコードF及びF’に関連付けて履歴記憶部12に格納しても良い。
【００６３】
テナント利用者がフローレコード60とフロー方向61を参照する場合、自身のテナント名をキーにして、通信解析装置10に問い合わせ要求を送信する。通信解析装置10中の取得部14は、問い合わせ要求を受信すると、定義記憶部13中のテナント表62を参照し、テナント名に対応するVLAN番号を取得する。
【００６４】
その後、取得部14は、図３の動作フローチャートに従って処理を実行するのであるが、Ｓ２において取得するフローレコード60は、取得したVLAN番号に一致するものだけに、絞り込む。こうすることで、取得部14は、各テナント利用者には、自身のテナントの情報のみを参照可能なように制限することができる。
【００６５】
本実施の形態にかかる通信解析装置10は、複数のホスト装置20で実行されるVM29相互間の通信が、同一ホスト装置20内で完結している通信なのかどうかを明らかにすることができる。したがって、クラウド事業者等は、通信解析システム50内で、ホスト装置20をまたがる通信量がどれくらいあったか、という情報を容易に取得できる。その理由は、取得部14が、フローレコード60を取得する際、受信したVM29間の通信がどのホスト装置20からどのホスト装置20宛なのかどうかを、履歴記憶部12に保存された情報から計算するからである。
【００６６】
さらに、本実施の形態にかかる通信解析装置10は、クラウドシステム上を流れる通信フローやその統計情報を、クラウドシステムの利用者単位に分割して可視化できる。つまり、通信解析装置10は、あるテナント利用者が、他のテナントの情報を参照することを防止できる。その理由は、蓄積部11が、VLAN番号を含むフロー情報を履歴記憶部12に保存するからである。そして、あるテナント利用者が情報取得をする際には、取得部14が、そのテナントのVLAN番号に該当するフローレコード60のみを検索するようアクセス制御するからである。
（変形例）
蓄積部11は、フローレコード60を、フローDB1とフローDB2とに振り分けて履歴記憶部12に格納しなくても良い。さらに、蓄積部11は、フロー方向61をフローレコード60に付加しなくても良い。取得部14が、入力IF、出力IFを参照して、蓄積部11が行うとして上述したフロー情報の分類をしても良い。
【００６７】
仮想スイッチ22が、NetFlow等のフロー集計プロトコルに対応していない場合、代わりに、ホスト装置20が接続されている物理的なスイッチ30(スイッチ1または2)がNetFlow等の収集を行ってもよい。その場合、上記説明中、仮想スイッチ22と物理スイッチとを置き換えて考えればよい。
【００６８】
＜第２の実施形態＞
図７は、第２の実施形態にかかる通信解析装置10の構成図である。通信解析装置10は、取得部14、履歴記憶部12、及び、定義記憶部13を包含する。
【００６９】
定義記憶部13は、VM29と仮想スイッチ22含む複数のホスト装置20が接続された通信網における、仮想スイッチ22の、スイッチ番号、ホスト番号、通信網との接続端子番号を記憶する。履歴記憶部12は、VM29の間の通信ごとに、中継した仮想スイッチ22から受信した、スイッチ番号、入力端子番号、出力端子番号、通信アドレス、及び、通信時刻を包むフローレコード60を記憶する。
【００７０】
取得部14は、履歴記憶部12から、出力端子番号が通信網との接続端子番号である第１のレコードと、入力端子番号が通信網との接続端子番号であり、かつ、第１のレコードと通信アドレス及び通信時刻が一致する第２のレコードを抽出する。そして、取得部14は、第１のレコードのスイッチ番号から得られるホスト装置20と、第２のレコードのスイッチ番号から得られるホスト装置20との間の通信を検出する。
【００７１】
本実施の形態にかかる通信解析装置10は、複数のホスト装置20で実行されるVM29相互間の通信が、同一ホスト装置20内で完結している通信なのかどうかを明らかにすることができる。したがって、クラウド事業者等は、通信解析システム50内で、ホスト装置20をまたがる通信量がどれくらいあったか、という情報を容易に取得できる。その理由は、取得部14が、フローレコード60を取得する際、受信したVM29間の通信がどのホスト装置20からどのホスト装置20宛なのかどうかを、履歴記憶部12に保存された情報から計算するからである。
【００７２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７３】
10    通信解析装置
11    蓄積部
12    履歴記憶部
13    定義記憶部
14    取得部
20    ホスト装置
22    仮想スイッチ
23    アクセスIF
24    トランクIF
29    VM
30    スイッチ
40    WAN
50    通信解析システム
60    フローレコード
61    フロー方向
62    テナント表
63    スイッチ表
【図１】
2015142269.tif 000003
【図２】
2015142269.tif 000004
【図３】
2015142269.tif 000005
【図４】
2015142269.tif 000006
【図５】
2015142269.tif 000007
【図６】
2015142269.tif 000008
【図７】
2015142269.tif 000009