(57)【要約】【課題】仮想化システムにおいて、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、アプリケーション又は仮想マシンの異常か、ネットワーク側の異常かを切り分け可能にする。【解決手段】スイッチを介した仮想マシン同士のアプリケーション通信、すなわち物理マシンの物理ＩＰアドレス・ＴＣＰポート番号を用いたアプリケーション通信を行う仮想化システムにおいて、ネットワーク障害が無いかを、物理マシンの物理ＩＰアドレス・ＵＤＰポート番号を用いた監視通信で監視する。本監視用ＵＤＰパケットは、アプリケーション通信用ＴＣＰパケットをコピーして生成し、ＴＣＰポート番号とＵＤＰポート番号には同じ値が格納される。その結果、アプリケーション通信用ＴＣＰパケットと監視用ＵＤＰパケットを同一の経路で転送することが出来、監視用ＵＤＰパケットの死活監視を行うことで、ネットワーク障害を確認する。【選択図】図２
2014007609.tif 000002
【特許請求の範囲】
【請求項１】
第１の仮想マシンを含む第１の物理装置と、
第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置であって、前記第１の物理装置からのパケットをパケット内のポート番号に従い該第２の物理装置への複数の経路のうちのひとつへ出力するスイッチからパケットを受信する第２の物理装置と
を備え、
前記第１の物理装置は、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを前記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
前記監視パケット生成部により送信した監視パケットの数と、前記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと
を有し、
前記第２の物理装置は、
前記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを前記第１の物理装置に送信する返信パケット生成部
を有する仮想化システム。
【請求項２】
前記通信パケットはＴＣＰパケットであり、前記監視パケット及び前記返信パケットはＵＤＰパケットであり、
前記監視パケット生成部は、第１の仮想マシンから第２の仮想マシンへのＴＣＰパケットのヘッダ情報をコピーして、ＵＤＰパケットである監視パケットを生成することで、ポート番号が該通信パケットのポート番号と同じであり、かつ、ポート番号のヘッダ情報内の位置が該通信パケットのポート番号の位置と対応した監視パケットを生成する請求項１に記載の仮想化システム。
【請求項３】
前記第１の物理装置は、
仮想マシンからの通信パケットに含まれる仮想ＩＰアドレス及びポート番号を、第１の物理マシンの物理ＩＰアドレス及びポート番号に変換して出力するマッピング部
をさらに有し、
前記監視パケット生成部は、前記マッピング部からの通信パケットに基づき、監視パケットを生成し、
前記マッピング部からの通信パケットと、生成された監視パケットが前記スイッチに出力される請求項１に記載の仮想化システム。
【請求項４】
前記第１の物理装置は、
前記監視パケットカウンタの監視パケットの数と返信パケットの数を参照して、第１の仮想マシンと第２の仮想マシン間の通信パケットが通る経路のネットワーク障害を検出する障害検出部
をさらに備える請求項１に記載の仮想化システム。
【請求項５】
前記監視パケット生成部は、予め設定された送信周期内で送信する監視パケットの数を、所定数以内に制限する請求項１に記載の仮想化システム。
【請求項６】
第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、前記第１の物理装置からのパケットを、パケット内のポート番号に従い、前記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおける前記第１又は第２の物理装置である通信装置であって、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを前記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
前記監視パケット生成部により送信した監視パケットの数と、前記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと、
対向する通信装置から送信され、前記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを該対向する通信装置に送信する返信パケット生成部と
を備えた通信装置。
【請求項７】
第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、前記第１の物理装置からのパケットを、パケット内のポート番号に従い、前記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおけるネットワーク障害監視方法であって、
第１の物理装置が、第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットをスイッチに送信する処理と、
第２の物理装置が、スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを第１の物理装置に送信する処理と、
第１の物理装置が、監視パケットに応答して返信される返信パケットを受信する処理と、
第１の物理装置が、送信した監視パケットの数と、受信した返信パケットの数をカウントする処理と、
カウントされた監視パケットの数と返信パケットの数に基づいて、第１の物理装置と第２の物理装置間のネットワークの障害を検出する処理と
を含むネットワーク障害監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システム、通信装置及びネットワーク障害監視方法に係り、特に、仮想化システムにおけるＵＤＰパケットを利用した仮想化システム、通信装置及びネットワーク障害監視方法に関する。
【背景技術】
【０００２】
近年、コンピューティングおよびストレージの仮想化技術の発展により、ハードウェアリソース、ソフトウェアリソース、データリソース等の物理的なコンピューティングリソースを、ユーザが意識することなく利用出来るサービス形態、すなわちクラウドコンピューティングが注目を集めている。
最近では、このクラウドコンピューティングにおいて、より高い柔軟性・拡張性が求められており、そのアプローチとして、コンピューティングの仮想化に加え、ネットワークの仮想化が検討されている。ネットワーク仮想化の実現方法としては、ＵＳ２０１０／０２５７２６３（特許文献１）のような技術が公開されている。
ネットワーク仮想化では、ユーザは物理的なネットワークリソースを意識することなくネットワークを利用することが出来る。また、仮想ネットワークによって、ユーザと物理的なネットワークリソースとが分離されるため、通信事業者においても、物理的なネットワークの帯域拡張や負荷分散をより柔軟に行うことが出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１０／０２５７２６３号明細書（ＵＳ２０１０／０２５７２６３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このような仮想化システムでは、物理的なリソースを隠蔽しているが故に、仮想マシン上で利用しているアプリケーションの動作に異常がある時、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが困難である。
本発明は、以上の点に鑑み、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが可能な仮想化システム、通信装置及びネットワーク障害監視方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の解決手段によると、
第１の仮想マシンを含む第１の物理装置と、
第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置であって、上記第１の物理装置からのパケットをパケット内のポート番号に従い該第２の物理装置への複数の経路のうちのひとつへ出力するスイッチからパケットを受信する第２の物理装置と
を備え、
上記第１の物理装置は、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを上記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
上記監視パケット生成部により送信した監視パケットの数と、上記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと
を有し、
上記第２の物理装置は、
上記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを上記第１の物理装置に送信する返信パケット生成部
を有する仮想化システムが提供される。
【０００６】
本発明の第２の解決手段によると、
第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、上記第１の物理装置からのパケットを、パケット内のポート番号に従い、上記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおける上記第１又は第２の物理装置である通信装置であって、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを上記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
上記監視パケット生成部により送信した監視パケットの数と、上記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと、
対向する通信装置から送信され、上記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを該対向する通信装置に送信する返信パケット生成部と
を備えた通信装置が提供される。
【０００７】
本発明の第３の解決手段によると、
第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、上記第１の物理装置からのパケットを、パケット内のポート番号に従い、上記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおけるネットワーク障害監視方法であって、
第１の物理装置が、第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットをスイッチに送信する処理と、
第２の物理装置が、スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを第１の物理装置に送信する処理と、
第１の物理装置が、監視パケットに応答して返信される返信パケットを受信する処理と、
第１の物理装置が、送信した監視パケットの数と、受信した返信パケットの数をカウントする処理と、
カウントされた監視パケットの数と返信パケットの数に基づいて、第１の物理装置と第２の物理装置間のネットワークの障害を検出する処理と
を含むネットワーク障害監視方法が提供される。
【発明の効果】
【０００８】
本発明によれば、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ＵＤＰパケットを利用したネットワーク障害有無監視を行う仮想化システムの一構成例。
【図２】物理マシンの一構成例。
【図３】ＵＤＰパケット監視部の一構成例。
【図４】送信／返信ＵＤＰパケットカウンタの一構成例。
【図５】送信ＵＤＰパケット数が返信ＵＤＰパケット数と等しくなる場合のシーケンス図。
【図６】送信ＵＤＰパケット数が返信ＵＤＰパケット数を上回る場合のシーケンス図。
【発明を実施するための形態】
【００１０】
１．概要
本実施の形態では、仮想化システムにおいて、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）パケットを利用してネットワーク障害有無監視を実現する。具体的には、仮想マシン同士のアプリケーション通信、すなわち物理マシンの物理ＩＰアドレス・ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）ポート番号を用いたアプリケーション通信において、ネットワーク障害が無いかを、物理マシンの物理ＩＰアドレス・ＵＤＰポート番号を用いた監視通信で監視する。本監視用ＵＤＰパケットは、アプリケーション通信用ＴＣＰパケットをコピーして生成し、ＴＣＰポート番号とＵＤＰポート番号には同じ値が格納される。その結果、アプリケーション通信用ＴＣＰパケットと監視用ＵＤＰパケットを同一の経路で転送することが出来、監視用ＵＤＰパケットの死活監視を行うことで、アプリケーション通信時のネットワーク障害有無を確認することが出来る。
以下、図面を参照して本発明の実施例について説明する。
【００１１】
２．実施例１
図１は、本実施例によるＵＤＰパケットを利用したネットワーク障害有無監視方法を適用した仮想化システムの構成の一例を示す。本仮想化システムは、仮想マシン１０１〜１０３、１０４〜１０６、１０７〜１０９をそれぞれ収容する物理マシン（物理装置）１１０〜１１２と、物理マシン１１０〜１１２とＬＡＮなどのネットワークでそれぞれ接続し、物理マシン１１０〜１１２から受信したパケットの出力先物理インタフェースを振分け、レイヤ２転送を行う振分けスイッチ１１３〜１１５と、振分けスイッチ１１３〜１１５から受信したパケットをレイヤ２転送する分散スイッチ１１６〜１１９とを備える。
仮想マシン１０１〜１０９は、それぞれが異なるユーザに割り当てられ、独立したマシンとして動作する。例えば、仮想マシン同士がアプリケーション通信する。振分けスイッチ１１３〜１１５は、物理マシン１１０〜１１２からそれぞれ受信したパケットのポート番号をもとに出力先物理インタフェースを振分ける為、振分けスイッチ１１３〜１１５および分散スイッチ１１６〜１１９で構成するレイヤ２ネットワーク内での負荷分散が可能である。これら各スイッチにより、物理マシンのひとつからのパケットが、ポート番号に基づいて他の物理マシンへの複数の経路のうちのひとつに振り分けられる。
本システムにおけるサービス提供形態の一例として、仮想マシン１０１〜１０９および物理マシン１１０〜１１２はクラウド事業者が所有し、クラウドサービスとしてユーザへ仮想マシンを提供し、一方、振分けスイッチ１１３〜１１５および分散スイッチ１１６〜１１９は通信事業者が所有し、クラウドサービスのためのレイヤ２ネットワークインフラとしてクラウド事業者へ提供する形態が考えられる。
なお、物理マシン、仮想マシン、振り分けスイッチ、分散スイッチの数は、図１に示す数に限らず適宜の数でもよい。
【００１２】
図２は、物理マシン１１０の構成の一例を示す。物理マシン１１０は、仮想マシン１０１〜１０３に相当する処理を行う仮想マシン処理部１１０１〜１１０３、仮想アドレス／物理アドレスマッピング部２０１、ＵＤＰパケット監視部２０２、及び、ＬＡＮ制御部２０３を備える。なお、仮想マシン処理部１１０１〜１１０３は、ひとつ又は複数の処理部（ＣＰＵ）で実現されることができる。
仮想マシン１０１〜１０３はそれぞれ仮想ＩＰアドレス・ポート番号を持ち、仮想マシン同士がアプリケーション通信を行う際は、仮想ＩＰアドレス・ポート番号を用いて通信する。なお、本明細書において、ＩＰアドレスの表記とポート番号の表記の間の「・」は、「及び」を表す。仮想アドレス／物理アドレスマッピング部２０１は、物理マシンを跨った仮想マシン同士のアプリケーション通信のために、仮想マシン１０１〜１０３の仮想ＩＰアドレス・ポート番号と、物理マシン１１０の物理ＩＰアドレス・ＴＣＰポート番号とのマッピングを行う。ＵＤＰパケット監視部２０２は、物理マシンを跨った仮想マシン同士のアプリケーション通信、すなわち物理マシン１１０の物理ＩＰアドレス・ＴＣＰポート番号を用いたアプリケーション通信において、ネットワーク障害が無いかをＵＤＰパケットを利用して監視する。本ＵＤＰパケットは、物理マシン１１０の物理ＩＰアドレス・ＵＤＰポート番号を用いた監視通信用のパケットである。ＬＡＮ制御部２０３は、前述のアプリケーション通信用ＴＣＰパケット、監視用ＵＤＰパケットをＬＡＮインタフェースで送受信するための処理を行う。
【００１３】
図３は、物理マシン１１０内のＵＤＰパケット監視部２０２の構成の一例を示す。ＵＤＰパケット監視部２０２は、送信／返信ＵＤＰパケット処理部３０１、受信ＵＤＰパケット処理部３０２、監視処理判断部３０７、及び、ネットワーク障害検出部３０８を備える。また、送信／返信ＵＤＰパケット処理部３０１は、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部（監視パケット生成部）３０３、返信ＵＤＰパケット処理部（返信パケット処理部）３０４、送信／返信ＵＤＰパケットカウンタ（監視パケットカウンタ）３０５を備え、受信ＵＤＰパケット処理部３０２は、受信ＵＤＰパケット処理／返信ＵＤＰパケット生成部（返信パケット生成部）３０６を備える。
送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３は、自装置から送信するアプリケーション通信用ＴＣＰパケット（通信パケット）をコピーし、これをもとに監視用ＵＤＰパケット（監視パケット）を生成し、対向する物理マシン１１１へ送信する。ＴＣＰとＵＤＰは、それぞれのヘッダ内の同じビット位置に送信元ポート番号とあて先ポート番号を持つ為、アプリケーション通信用ＴＣＰパケットのコピーから、容易に監視用ＵＤＰパケットを生成することが出来る。尚、このときＴＣＰポート番号とＵＤＰポート番号は同じ値が格納される。
【００１４】
物理マシン１１１からパケットを受信した振分けスイッチ１１３は、ＴＣＰとＵＤＰとが同じビット位置にポート番号を持つという特徴から、ＴＣＰかＵＤＰかを意識することなく同一の処理で振分けを行うことが出来る。また、ＴＣＰポート番号とＵＤＰポート番号には同じ値が格納されていることから、ＴＣＰパケットとＵＤＰパケットを同一の出力先物理インタフェースへ振分けることが出来る。
返信ＵＤＰパケット処理部３０４は、対向する物理マシン１１１から返信された監視用ＵＤＰパケット（返信パケット）を受信する。送信／返信ＵＤＰパケットカウンタ３０５は、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３で送信した送信ＵＤＰパケット数と、返信ＵＤＰパケット処理部３０４で受信した返信ＵＤＰパケット数を計上する。
受信ＵＤＰパケット処理／返信ＵＤＰパケット生成部３０６は、対向する物理マシン１１１から送信された監視用ＵＤＰパケットを受信し、これをもとに、対向する物理マシン１１１へ返信する監視用ＵＤＰパケットを生成して、返信する。
監視処理判断部３０７は、ＬＡＮ制御部２０３から入力されるパケットが、ＴＣＰパケットであるかＵＤＰパケットであるかを判断する。監視処理判断部３０７は、ＴＣＰパケットであれば、パケットをそのまま仮想アドレス／物理アドレスマッピング部２０１へ転送する。一方、監視処理判断部３０７は、ＵＤＰパケットであれば、パケットを受信ＵＤＰパケット処理部３０２に転送する。また、監視処理判断部３０７は、仮想アドレス／物理アドレスマッピング部２０１から入力したパケットは送信／返信ＵＤＰパケット処理部３０１に転送し、送信／返信ＵＤＰパケット処理部３０１から入力したパケットはＬＡＮ制御部２０３に転送する。なお、監視処理判断部３０７は、ＵＤＰパケット監視部２０２に備えられる以外にも、ＬＡＮ制御部２０３に備えられてもよいし、他の適宜の箇所に備えられてもよい。
【００１５】
他の物理マシン１１１、１１２についても同様の構成であるので、説明を省略する。
図４は、送信／返信ＵＤＰパケットカウンタ３０５の構成の一例を示す。送信／返信ＵＤＰパケットカウンタ３０５は、物理ＩＰアドレス・ＵＤＰポート番号フィールド４０１、送信ＵＤＰパケット数フィールド４０２、及び、返信ＵＤＰパケット数フィールド４０３を備える。
物理ＩＰアドレス・ＵＤＰポート番号フィールド４０１に格納される物理ＩＰアドレス・ＵＤＰポート番号は、仮想マシン同士のアプリケーション通信に用いられる物理ＩＰアドレス・ＴＣＰポート番号と一意に対応しており、各々のアプリケーション通信に対する監視通信を識別する識別子としての役割を持つ。送信ＵＤＰパケット数フィールド４０２は、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３が送信したＵＤＰパケットの数が格納される。返信ＵＤＰパケット数フィールド４０３は、返信ＵＤＰパケット処理部３０４で受信された返信ＵＤＰパケットの数が格納される。
【００１６】
それぞれの物理ＩＰアドレス・ＵＤＰポート番号の組合せに対して、送信ＵＤＰパケット数４０２と返信ＵＤＰパケット数４０３を計上し管理することが出来、仮想マシン同士のアプリケーション通信毎に、経路上のネットワーク障害を監視できる。
図５は、送信／返信ＵＤＰパケットカウンタ３０５において、送信ＵＤＰパケット数が返信ＵＤＰパケット数と等しくなる場合のシーケンス図の一例を示す。この場合、送信ＵＤＰパケット５０１に対する返信ＵＤＰパケット５０２が正しく受信出来ており、送信ＵＤＰパケット数可算５０３と返信ＵＤＰパケット数可算５０４が同じ回数だけ行われる。その結果、送信ＵＤＰパケット数が返信ＵＤＰパケット数と等しくなり、ネットワーク障害無しと判定することが出来る。なお、図５では、監視用パケットの一往復分について図示するが、複数の監視用パケットが送受信される。
以下、図５を参照して処理の流れを説明する。ここでは、物理マシン１１０の仮想マシンと物理マシン１１１の仮想マシンとのアプリケーション通信について説明するが、他の物理マシン、仮想マシンの組み合わせでも同様である。なお、他の仮想マシン又は他のアプリケーションの場合、パケットが通過する分散スイッチ（経路）は図５の場合と異なる場合がある。
【００１７】
まず、ＵＤＰパケット監視部２０２の監視処理判断部３０７は、仮想アドレス／物理アドレスマッピング部２０１から送信ＴＣＰパケットを入力すると、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３に転送する。なお、仮想アドレス／物理アドレスマッピング部２０１から送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３に送信ＴＣＰパケットが直接入力されてもよい。
送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３は、送信ＴＣＰパケットをコピーして、上述のように送信ＵＤＰパケット（監視用ＵＤＰパケット）を作成する。ここで、送信ＴＣＰパケットと送信ＵＤＰパケットの宛先物理アドレス、送信元物理アドレス、ポート番号（ＴＣＰポート番号及びＵＤＰポート番号）は同じになる。なお、送信ＴＣＰパケットのヘッダ情報をコピーして、送信ＵＤＰパケットのペイロードはブランク又は適宜のデータでもよい。送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３は、ＬＡＮ制御部２０３を介して送信ＵＤＰパケットを振り分けスイッチ１１３に送信する。送信ＴＣＰパケットとも同様に振り分けスイッチ１１３に送信される、また、送信／返信ＵＤＰパケットカウンタ３０５は、送信したＵＤＰパケットの物理ＩＰアドレス・ＵＤＰポート番号４０１に対応する送信ＵＤＰパケット数４０２を増加させる。なお、該当する物理ＩＰアドレス・ＵＤＰポート番号４０１が存在しない場合は、新規に登録する。
【００１８】
振り分けスイッチ１１３は、物理マシン１１０からの送信ＴＣＰパケットと送信ＵＤＰパケットを受信し、ポート番号に従い分散スイッチ１１６〜１１９のいずれかに転送する。ここで、送信ＴＣＰパケットと送信ＵＤＰパケットはポート番号の位置が同じため、送信ＴＣＰパケットと送信ＵＤＰパケットは同じ経路を通って物理マシン１１１に到達する。
物理マシン１１１の監視処理判断部は、パケットを受信するとＴＣＰパケットかＵＤＰパケットかを判断する。一例として、パケット内のプロトコルを識別する識別子を参照して判断できる。ここで、送信ＴＣＰパケットは仮想アドレス／物理アドレスマッピング部に転送され、送信ＵＤＰパケットは受信ＵＤＰパケット処理部５０６に転送される。
物理マシン１１１の受信ＵＤＰパケット処理部５０６では、受信ＵＤＰパケット処理／返信ＵＤＰパケット生成部５０７が、送信ＵＤＰパケットに対する返信ＵＤＰパケットを作成し、対向する物理装置１１０に向けて出力する。返信の経路もＴＣＰパケットと同じ経路を通るようにすることができる。例えば、物理マシン１１１から物理マシン１１０へ送信される送信ＴＣＰパケットと、ポート番号が同じになるように設定できる。
物理マシン１１０の監視処理判断部３０７は、返信ＵＤＰパケットを受信すると、返信ＵＤＰパケットであることを検出し、返信ＵＤＰパケット処理部３０４へ転送する。なお、返信ＵＤＰパケットであることは、パケットにフラグを設けるなど、パケット内の適宜の情報に基づき判断できる。返信ＵＤＰパケット処理部３０４は、返信ＵＤＰパケットの物理ＩＰアドレス及びＵＤＰポート番号を送信／返信ＵＤＰパケットカウンタ３０５に出力する。送信／返信ＵＤＰパケットカウンタ３０５は、該当する物理ＩＰアドレス・ＵＤＰポート番号４０１に対応する返信パケット数を増加する。
【００１９】
ＵＤＰパケット監視部２０２のネットワーク障害検出部３０８は、適宜のタイミングで送信／返信ＵＤＰパケットカウンタ３０５を参照して送信ＵＤＰパケット数と返信ＵＤＰパケット数を比較し、両者が同じ数であればネットワーク障害なしと判断し、送信ＵＤＰパケット数が返信ＵＤＰパケット数より大きければネットワーク障害ありと判断する。なお、この判断は、送信ＵＤＰパケットを送信してから所定時間（例えば、ラウンドトリップタイム以上の時間）が経過していない場合は、所定時間が経過するのを待ってから行ってもよい。
ネットワーク障害検出部３０８は、例えば、ネットワーク障害有無の判断時刻と判断結果を記憶してもよい。また、ネットワーク障害検出部３０８は、記憶された判断結果を適宜の端末に出力又は表示してもよい。
【００２０】
図６は、送信／返信ＵＤＰパケットカウンタ３０５において、送信ＵＤＰパケット数が返信ＵＤＰパケット数を上回る場合のシーケンス図の一例を示す。この場合、物理マシン１１０において、送信ＵＤＰパケット５０１に対する返信ＵＤＰパケット５０２が正しく受信出来ておらず、送信ＵＤＰパケット数可算５０３の方が返信ＵＤＰパケット数可算５０４よりも多く行われる。その結果、送信ＵＤＰパケット数が返信ＵＤＰパケット数を上回り、ネットワーク障害有りと判定することが出来る。
物理マシン１１０での送信ＵＤＰパケットの送信処理は図５と同様である。この例では、ネットワークでの障害のため、返信ＵＤＰパケットが物理マシン１１０に戻ってこない。したがって、物理マシン１１０の送信／返信ＵＤＰパケットカウンタ３０５では、送信ＵＤＰパケット数４０２と返信ＵＤＰパケット数４０３で差が生じる。
なお、上述の送信ＵＤＰパケットの生成及び送信、ネットワークの障害監視は、送信ＴＣＰパケットに対して常に行ってもよい。
上記実施形態によれば、仮想マシン上で利用しているアプリケーションの動作に異常（問題）があるとき、利用しているアプリケーションあるいは仮想マシンの問題なのか、それともネットワーク側の問題なのかの切り分けが可能となる。
【００２１】
３．実施例２
本実施例においては、ＵＤＰパケット監視部２０２にＵＤＰパケット送信周期を設定でき、より柔軟性の高い構成にすることができる。一例として、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部の中に、ＵＤＰパケット送信周期設定部を有することができる。
送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３は、設定されたＵＤＰパケット送信周期内で送信する送信ＵＤＰパケットの数を所定数（ひとつ又はふたつ以上）に制限する。ここで物理ＩＰアドレス・ＵＤＰポート番号で特定される監視対象それぞれに対して、所定数以内になるように制限できる。
なお、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部３０３にＵＤＰパケット送信周期設定部を有する以外にも、例えば、監視処理判断部３０７が、設定されたＵＤＰパケット送信周期内で送信する送信ＵＤＰパケットの数が所定数を超えた場合には、パケットを送信／返信ＵＤＰパケット処理部３０１や受信ＵＤＰパケット処理部３０２に振り分けないようにしてもよいし、これに限らず適宜の構成でもよい。
このような構成により、監視パケットによるネットワーク帯域の消費量増大を防ぎ、パケットカウンタを格納するストレージ・メモリリソースの増大を防ぐことができる。また、ＵＤＰパケット監視部２０２の処理負荷を軽減できる。
【００２２】
４．構成例
本ネットワーク障害有無監視方法は、例えば、それぞれ異なるユーザに割り当てられ、独立したマシンとして動作する仮想マシンと、仮想マシンを複数台収容する物理マシンと、物理マシンとＬＡＮで接続し、物理マシンから受信したパケットの出力先物理インタフェースを振分け、レイヤ２転送を行う振分けスイッチと、振分けスイッチから受信したパケットをレイヤ２転送する分散スイッチとで構成される仮想システムにおけるネットワーク障害有無監視方法であって、上記物理マシンは、仮想アドレス／物理アドレスマッピング部において、物理マシンを跨った仮想マシン同士のアプリケーション通信のために、仮想マシンの仮想ＩＰアドレス・ポート番号と物理マシンの物理ＩＰアドレス・ＴＣＰポート番号とのマッピングを行い、ＵＤＰパケット監視部において、物理マシンを跨った仮想マシン同士のアプリケーション通信、すなわち物理マシンの物理ＩＰアドレス・ＴＣＰポート番号を用いたアプリケーション通信でのネットワーク障害が無いかをＵＤＰパケットを利用して監視することを特徴のひとつとする。
上記ＵＤＰパケット監視部は、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部において、アプリケーション通信用ＴＣＰパケットをコピーし、これをもとに監視用ＵＤＰパケットを生成し、対向する物理マシンへ送信することを特徴のひとつとする。
上記ＵＤＰパケット監視部は、返信ＵＤＰパケット処理部において、対向する物理マシンから返信された監視用ＵＤＰパケットを受信し、送信／返信ＵＤＰパケットカウンタにおいて、送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部で送信した送信ＵＤＰパケット数と、返信ＵＤＰパケット処理部で受信した返信ＵＤＰパケット数を計上し、その差分の有無によりネットワーク障害有無を判定することを特徴のひとつとする。
上記送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部は、監視用ＵＤＰパケット生成時、ＴＣＰポート番号とＵＤＰポート番号に同じ値を格納することを特徴のひとつとする。
【００２３】
５．適用例
［適用例１］
本仮想化システムは、例えば、
第１の仮想マシンを含む第１の物理装置と、
第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置であって、上記第１の物理装置からのパケットをパケット内のポート番号に従い該第２の物理装置への複数の経路のうちのひとつへ出力するスイッチからパケットを受信する第２の物理装置と
を備え、
上記第１の物理装置は、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを上記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
上記監視パケット生成部により送信した監視パケットの数と、上記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと
を有し、
上記第２の物理装置は、
上記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを上記第１の物理装置に送信する返信パケット生成部を有する。
これにより、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが可能となる。
【００２４】
［適用例２］
適用例１に記載の仮想化システムにおいて、
上記通信パケットはＴＣＰパケットであり、上記監視パケット及び上記返信パケットはＵＤＰパケットであり、
上記監視パケット生成部は、第１の仮想マシンから第２の仮想マシンへのＴＣＰパケットのヘッダ情報をコピーして、ＵＤＰパケットである監視パケットを生成することで、ポート番号が該通信パケットのポート番号と同じであり、かつ、ポート番号のヘッダ情報内の位置が該通信パケットのポート番号の位置と対応した監視パケットを生成する。
これにより、ＴＣＰパケットとＵＤＰパケットのポート番号に位置が同じであることを利用して、送信ＴＣＰパケットと同じ経路を通る監視用ＵＤＰパケットを生成できる。
【００２５】
［適用例３］
適用例１に記載の仮想化システムにおいて、
上記第１の物理装置は、
仮想マシンからの通信パケットに含まれる仮想ＩＰアドレス及びポート番号を、第１の物理マシンの物理ＩＰアドレス及びポート番号に変換して出力するマッピング部
をさらに有し、
上記監視パケット生成部は、上記マッピング部からの通信パケットに基づき、監視パケットを生成し、
上記マッピング部からの通信パケットと、生成された監視パケットが上記スイッチに出力される。
これにより、物理マシンから出力される通信パケットのポート番号と、監視パケットのポート番号が同じになる。
【００２６】
［適用例４］
適用例１に記載の仮想化システムにおいて、
上記第１の物理装置は、
上記監視パケットカウンタの監視パケットの数と返信パケットの数を参照して、第１の仮想マシンと第２の仮想マシン間の通信パケットが通る経路のネットワーク障害を検出する障害検出部をさらに備える。
これにより、第１の仮想マシンと第２の仮想マシン間の通信パケットが通る経路のネットワーク障害を検出できる。
【００２７】
［適用例５］
適用例１に記載の仮想化システムにおいて、
上記監視パケット生成部は、予め設定された送信周期内で送信する監視パケットの数を、所定数以内に制限する。
これにより、監視パケットによるネットワーク帯域の消費量増大、パケットカウンタを格納するストレージ・メモリリソースの増大、監視パケットの処理負荷を軽減できる。
【００２８】
［適用例６］
本通信装置は、例えば、第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、上記第１の物理装置からのパケットを、パケット内のポート番号に従い、上記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおける上記第１又は第２の物理装置である通信装置であって、
第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットを上記スイッチに送信する監視パケット生成部と、
監視パケットに応答して返信される返信パケットを受信する返信パケット処理部と、
上記監視パケット生成部により送信した監視パケットの数と、上記返信パケット処理部で受信した返信パケットの数をカウントする監視パケットカウンタと、
対向する通信装置から送信され、上記スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを該対向する通信装置に送信する返信パケット生成部と
を備える。
これにより、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが可能となる。
【００２９】
［適用例７］
本ネットワーク障害監視方法は、第１の仮想マシンを含む第１の物理装置と、第１の仮想マシンと通信する第２の仮想マシンを含む第２の物理装置と、上記第１の物理装置からのパケットを、パケット内のポート番号に従い、上記第２の物理装置への複数の経路のうちのひとつへ出力するスイッチと備えた仮想化システムにおけるネットワーク障害監視方法であって、
第１の物理装置が、第１の仮想マシンから第２の仮想マシンへの通信パケットのポートに基づき、ポート番号が該通信パケットのポート番号と同じ監視パケットを生成し、該監視パケットをスイッチに送信する処理と、
第２の物理装置が、スイッチがポート番号に従い通信パケットと同じ経路に出力した監視パケットを受信し、該監視パケットに対する返信パケットを第１の物理装置に送信する処理と、
第１の物理装置が、監視パケットに応答して返信される返信パケットを受信する処理と、
第１の物理装置が、送信した監視パケットの数と、受信した返信パケットの数をカウントする処理と、
カウントされた監視パケットの数と返信パケットの数に基づいて、第１の物理装置と第２の物理装置間のネットワークの障害を検出する処理と
を含む。
これにより、仮想マシン上で利用しているアプリケーションの動作に異常があるとき、利用しているアプリケーションあるいは仮想マシンの異常なのか、それともネットワーク側の異常なのかの切り分けが可能となる。
【００３０】
６．付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００３１】
１０１〜１０９  仮想マシン
１１０〜１１２  物理マシン
１１３〜１１５  振分けスイッチ
１１６〜１１９  分散スイッチ
２０１  仮想アドレス／物理アドレスマッピング部
２０２  ＵＤＰパケット監視部
２０３  ＬＡＮ制御部
３０１  送信／返信ＵＤＰパケット処理部
３０２  受信ＵＤＰパケット処理部
３０３  送信ＴＣＰパケットコピー／送信ＵＤＰパケット生成部
３０４  返信ＵＤＰパケット処理部
３０５  送信／返信ＵＤＰパケットカウンタ
３０６  受信ＵＤＰパケット処理／返信ＵＤＰパケット生成部
３０７  監視処理判断部
３０８  ネットワーク障害検出部
４０１  物理ＩＰアドレス・ＵＤＰポート番号フィールド
４０２  送信ＵＤＰパケット数フィールド
４０３  返信ＵＤＰパケット数フィールド
５０１  送信ＵＤＰパケット
５０２  返信ＵＤＰパケット
５０３  送信ＵＤＰパケット数可算
５０４  返信ＵＤＰパケット数可算
１１０１〜１１０３  仮想マシン処理部
【図１】
2014007609.tif 000003
【図２】
2014007609.tif 000004
【図３】
2014007609.tif 000005
【図４】
2014007609.tif 000006
【図５】
2014007609.tif 000007
【図６】
2014007609.tif 000008