(57)【特許請求の範囲】
【請求項１】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積する物理サーバ内測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記特定した前記他物理サーバで稼働する仮想サーバの通信到達性の情報を要求する測定パケットを送信し、前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された測定応答パケットの返信を監視し受信し、前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得ステップと、
前記各物理サーバにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして前記他物理サーバに返信する物理サーバ間測定結果送信ステップと、
を実行することを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
【請求項２】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積する物理サーバ内測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得ステップと、
前記各物理サーバにおいて、前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信し、前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得し、前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する物理サーバ間測定結果送信ステップと、
を実行することを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
【請求項３】
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定し、
前記特定した仮想サーバに対して、エコーリクエストを送信し、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得し、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積すること
を実行することを特徴とする請求項１または２のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項４】
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする請求項１ないし３のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
【請求項５】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積する物理サーバ内測定結果取得部と、
前記各物理サーバにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記特定した前記他物理サーバで稼働する前記各仮想サーバの通信到達性の情報を要求する測定パケットを送信し、前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された測定応答パケットの返信を監視し受信し、前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得部と、
前記各物理サーバにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして前記他物理サーバに返信する物理サーバ間測定結果送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
【請求項６】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積物理サーバ内測定結果取得処理と、
前記各物理サーバの前記コンピュータにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記特定した前記他物理サーバで稼働する前記各仮想サーバの通信到達性の情報を要求する測定パケットを送信し、前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された測定応答パケットの返信を監視し受信し、前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得処理と、
前記各物理サーバの前記コンピュータにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして前記他物理サーバに返信する物理サーバ間測定結果送信処理と、
を実行させるためのプログラム。
【請求項７】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積する物理サーバ内測定結果取得部と、
前記各物理サーバにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得部と、
前記各物理サーバにおいて、前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信し、前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得し、前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する物理サーバ間測定結果送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
【請求項８】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積する物理サーバ内測定結果取得処理と、
前記各物理サーバの前記コンピュータにおいて、他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積する物理サーバ間測定結果取得処理と、
前記各物理サーバの前記コンピュータにおいて、前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信し、前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得し、前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する物理サーバ間測定結果送信処理と、
を実行させるためのプログラム。
【請求項９】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得し、
前記各物理サーバにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに宛てて、前記他物理サーバで稼働する各仮想サーバに関する通信到達性の情報を要求する測定パケットを送信し、
前記各物理サーバにおいて、前記測定パケットの宛先である仮想サーバが稼動する他物理サーバが前記測定パケットの返信として送信した、前記仮想サーバに関する通信到達性の情報が格納された測定応答パケットを受信し、
前記各物理サーバにおいて、前記受信した測定応答パケットから、前記他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する、
ことを特徴とするネットワーク障害検知方法。
【請求項１０】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得し、
前記各物理サーバにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得し、
前記各物理サーバにおいて、前記他物理サーバから、前記自物理サーバで稼働する仮想サーバ宛てである、前記自物理サーバで稼働する仮想サーバに関する通信到達性の情報を要求する測定パケットを受信し、
前記各物理サーバにおいて、前記受信した測定パケットによって要求されている仮想サーバに関する通信到達性の情報を格納した測定応答パケットを、前記受信した測定パケットを送信した前記他物理サーバに向けて送信する、
ことを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
【請求項１１】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する第一取得部と、
前記各物理サーバにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに宛てて、前記他物理サーバで稼働する各仮想サーバに関する通信到達性の情報を要求する測定パケットを送信する測定パケット送信部と、
前記各物理サーバにおいて、前記測定パケットの宛先である仮想サーバが稼動する他物理サーバが前記測定パケットの返信として送信した、前記仮想サーバに関する通信到達性の情報が格納された測定応答パケットを受信する測定応答パケット受信部と、
前記各物理サーバにおいて、前記受信した測定応答パケットから、前記他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する第二取得部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
【請求項１２】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する第一取得部と、
前記各物理サーバにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する第二取得部と、
前記各物理サーバにおいて、前記他物理サーバから、前記自物理サーバで稼働する仮想サーバ宛てである、前記自物理サーバで稼働する仮想サーバに関する通信到達性の情報を要求する測定パケットを受信する受信部と、
前記各物理サーバにおいて、前記受信した測定パケットによって要求されている仮想サーバに関する通信到達性の情報を格納した測定応答パケットを、前記受信した測定パケットを送信した前記他物理サーバに向けて送信する送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
【請求項１３】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する処理と、
前記各物理サーバの前記コンピュータにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに宛てて、前記他物理サーバで稼働する各仮想サーバに関する通信到達性の情報を要求する測定パケットを送信する処理と、
前記各物理サーバの前記コンピュータにおいて、前記測定パケットの宛先である仮想サーバが稼動する他物理サーバが前記測定パケットの返信として送信した、前記仮想サーバに関する通信到達性の情報が格納された測定応答パケットを受信する処理と、
前記各物理サーバの前記コンピュータにおいて、前記受信した測定応答パケットから、前記他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する処理と、
を実行させるためのプログラム。
【請求項１４】
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を取得する処理と、
前記各物理サーバの前記コンピュータにおいて、前記自物理サーバ以外の他物理サーバで稼働する各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する処理と、
前記各物理サーバの前記コンピュータにおいて、前記他物理サーバから、前記自物理サーバで稼働する仮想サーバ宛てである、前記自物理サーバで稼働する仮想サーバに関する通信到達性の情報を要求する測定パケットを受信する処理と、
前記各物理サーバの前記コンピュータにおいて、前記受信した測定パケットによって要求されている仮想サーバに関する通信到達性の情報を格納した測定応答パケットを、前記受信した測定パケットを送信した前記他物理サーバに向けて送信する処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模なデータセンターにおいて、仮想サーバ間のネットワーク通信障害を検出する仮想マシン環境におけるネットワーク障害検知方法、装置、およびプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングの発展により、大量のサーバがデータセンターに配置され、複数サーバを利用してサービスを提供する形態がとられている。このような形態において、１台の物理サーバ上に複数台の仮想サーバを動作させるサーバ仮想化技術が知られている。１つのデータセンター内に数千、数万台規模の仮想サーバが配備され、仮想サーバ同士が通信を行うことにより膨大な量の処理を実現している。仮想サーバは、必要に応じ短時間で生成や削除を行うことが可能であり、また、別の物理サーバ上に移動することも可能である。
【０００３】
仮想サーバを含むネットワークシステムでは、ネットワーク構成が頻繁に変化するため、通信ができなくなるなど不安定な状態に陥る危険性が高まっている。このため、サーバ間ネットワークの通信正常性を周期的に確認し異常を早期に検出することでサービス停止時間の短縮を実現する、ネットワークの通信到達性確認技術が求められている。
【０００４】
ネットワークの通信到達性確認のための従来技術として、次のような技術が知られている（例えば特許文献１に記載の技術）。複数のセグメントが複数の中継ノードによって中継されるコンピュータネットワークの隣接するセグメント間の通信におけるコンピュータ及び中継ノードの異常を管理する方法において、ネットワークを構成する全てのコンピュータ及び中継ノードの異常の有無を管理するネットワーク管理装置を設け、各中継ノードは当該中継ノードが属するセグメントに属するコンピュータ及び当該セグメントに属する他の中継ノードに対してポーリングを行ってコンピュータ及び他の中継ノードの異常の有無を監視し、異常を発見した時はその旨をネットワーク管理装置に通知する技術である。
【０００５】
また、他の従来技術として、次のような技術が知られている（例えば特許文献２に記載の技術）。管理コンソールと複数の計算機とが通信路を介して相互に接続され、前記複数の計算機は、一または複数の計算機グループを構成し、前記一または複数の計算機グループは、管理コンソールをルートとする木構造により論理的に関連付けられている計算機監視方式であって、前記複数の計算機のそれぞれは、アドレスリストに登録されている計算機の計算機アドレスに基づいて、自計算機グループ内の計算機と相互に通信することにより相互監視する監視手段と、障害を検出する障害検出手段と、障害の検出結果を親ノードにあたる計算機グループに属する全ての計算機に通知する障害通知手段とを備えることを特徴とする技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−８８３９９号公報
【特許文献２】特開２００３−２７１４７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の従来技術はいずれも、サーバ間の通信正常性を確認する技術であり、通信正常性を確認する組み合わせ数を削減することが可能ではある。しかし、これらの従来技術では、宛先数も削減されてしまうため、全ての宛先に対して通信の正常性を確認することは不可能であるという問題点を有していた。
【０００８】
そこで、本発明の課題は、仮想サーバを宛先として実施するとともに、組み合わせ数を削減することにある。
【課題を解決するための手段】
【０００９】
態様の一例では、それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得ステップと、前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得ステップと、前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送受信ステップとを実行する。
【発明の効果】
【００１０】
自他物理サーバに含まれる全ての仮想サーバに関する通信到達性の情報を取得することが可能となる。
これにより、測定パケットを送受信する組み合わせ数を削減することが可能となり、ネットワーク負荷およびサーバの処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】一般的に考えられる通信到達性確認方式のネットワーク構成図である。
【図２】実施形態のネットワーク構成図である。
【図３】実施形態の機能ブロック図である。
【図４】実施形態における仮想サーバ情報テーブルのデータ構成例を示す図である。
【図５】実施形態における物理サーバ内測定処理のフローチャートである。
【図６】実施形態における物理サーバ間測定処理の送信側のフローチャートである。
【図７】実施形態における物理サーバ間測定処理の受信側のフローチャートである。
【図８】実施形態における物理サーバ間の測定パケットフォーマットの例を示す図である。
【図９】実施形態における物理サーバ間の測定応答パケットフォーマットの例を示す図である。
【図１０】実施形態における物理サーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
まず、ネットワークの通信到達性確認のための一般的に考えられる技術について説明し、その後、実施形態について説明する。
【００１３】
ネットワークの通信到達性を確認する技術として、プローブ装置を用いてＩＰネットワークの通信障害を検出する技術が一般に知られている。
図１は、一般的に考えられる通信到達性確認方式のネットワーク構成図である。図１において、複数の物理的なコンピュータであるサーバ１０１は、サブネットワーク１０４と呼ばれる幾つかのネットワークグループ＃１〜＃４に分割され、それぞれのサブネットワーク１０４は、ＩＰ（インターネットプロトコル）パケットのルーティングを行う装置であるルータ１０２によって相互に接続される。
【００１４】
このようなネットワークシステムにおいて一般的な通信到達性確認方式として、各サブネットワーク１０４内に１台ずつプローブ専用装置１０３（以下単に「プローブ１０３」と呼ぶ）を配置する構成が考えられる。サブネットワーク１０４毎に配置されたプローブ１０３間で、ルータ１０２を介して、全てのプローブ１０３の組合せで相互に完全に接続するフルメッシュ通信を行うことで、サブネットワーク１０４間の通信到達性を確認するものである。
【００１５】
しかし、課題１として、この方式は、サブネットワーク１０４間の通信到達性は確認することができても、サーバ１０１間の通信到達性の確認まではできなかった。
さらに近年では、１台の物理的なサーバ１０１上に複数台の仮想サーバを動作させるサーバ仮想化技術が普及してきている。この場合には、物理的なサーバ１０１にとどまらず、仮想サーバ同士で通信到達性の確認する技術も必要になる。このような背景において、仮想サーバにプローブ機能を内蔵し、仮想サーバ間でフルメッシュ通信を行うことも考えられる。しかし、課題２として、このような方式を採用した場合、物理的なサーバ１０１およびその上で動作する仮想サーバの数が多くなるにつれ、到達性確認の通信の組み合わせが膨大となり、通信量が大量となる。このような状況は、ネットワークの輻輳を誘発しかねない。
【００１６】
図２は、上述の課題を解決するための実施形態におけるネットワーク構成を示す図である。
物理サーバ２０１は、ルータ２０７によって接続される。物理サーバ２０１上では、所定のオペレーティングシステムのもとで動くソフトウェアシステムである仮想サーバ２０２が複数稼働する。
【００１７】
ハイパーバイザー２０３は、物理サーバ２０１上で稼働する複数の仮想サーバ２０２を統括的に制御する。具体的には、ハイパーバイザー２０３は、各仮想サーバ２０２を、それらが物理サーバ２０１のＣＰＵ（中央演算処理装置）やメモリ等のリソースを共用し、物理サーバ２０１のオペレーティングシステムと連携して動作できるように制御する。また、ハイパーバイザー２０３は、仮想スイッチ２０５の機能を有する。仮想スイッチ２０５は、物理サーバ２０１が搭載するネットワークインタフェースカード（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０６に対して入出力するパケットデータを、その物理サーバ２０１上の各仮想サーバ２０２に振り分ける。この機能により、物理サーバ２０１上の各仮想サーバ２０２は、ＮＩＣ２０６を介して、他の物理サーバ２０１上の仮想サーバ２０２や、ルータ２０７、その他、インターネット上のクライアントコンピュータなどと通信することができる。
【００１８】
また、本実施形態では、１つの物理サーバ２０１上のハイパーバイザー２０３は、その物理サーバ２０１に対応するプローブ２０４の機能を実装する。プローブ２０４は、自物理サーバ２０１内の各仮想サーバ２０２に疎通確認パケットを送信し、返信結果を保存する。また、プローブ２０４は、他物理サーバ２０１内の各仮想サーバ２０２宛にも疎通確認パケットを送信する。プローブ２０４は、他物理サーバ２０１からの自物理サーバ２０１内仮想サーバ２０２宛疎通確認パケットを受信すると、その仮想サーバ２０２の疎通状態を検索し、OKならOK、NGならNGを、他物理サーバ２０１に対して代理応答する。
【００１９】
以上のように、本実施形態では、プローブ２０４の機能が、仮想サーバ２０２の個々には配置されず、物理サーバ２０１に対応させてハイパーバイザー２０３内に配置される。このプローブ２０４の機能により、自他物理サーバ２０１内の全仮想サーバ２０２宛の通信正常性の確認を可能とするものである。この構成により、測定パケットを送受信する組み合わせ数を削減することを可能として、ネットワーク負荷およびサーバの処理負荷を軽減することを可能とする。
【００２０】
図３は、以上の効果を実現するための本実施形態の機能ブロック図であり、図２のプローブ２０４の機能ブロック構成を示す図である。
図３において、物理サーバ内測定結果取得部３００−１は、自物理サーバ２０１で稼働する各仮想サーバ２０２に関する通信到達性に関する情報を取得して管理する。より具体的には、物理サーバ内測定結果取得部３００−１は、自物理サーバ２０１で稼働する仮想サーバ２０２に対する通信到達性に関する測定結果および応答時間を取得し、測定結果３１４として蓄積する。このとき、物理サーバ内測定結果取得部３００−１は、仮想サーバ情報３１２のデータベーステーブルを参照して、自物理サーバ２０１で稼働する仮想サーバ２０２を特定する。
【００２１】
物理サーバ間測定結果取得部３００−２は、他物理サーバ２０１で稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する。より具体的には、物理サーバ間測定結果取得部３００−２は、他物理サーバ２０１に１台ずつ配置されるプローブ２０４に対して、その物理サーバ２０１に含まれる仮想サーバ２０２の通信到達性に関する測定結果および応答時間を測定パケットとして要求する。このとき、物理サーバ間測定結果取得部３００−２は、ネットワーク内サーバ情報３１３を参照して、他物理サーバ２０１で稼働する仮想サーバ２０２を特定する。物理サーバ間測定結果取得部３００−２は、他物理サーバ２０１に１台ずつ配置されるプローブ２０４から、その物理サーバ２０１に含まれる仮想サーバ２０２に関する通信到達性に関する測定結果および応答時間を、測定応答パケットとして受信する。そして、物理サーバ間測定結果取得部３００−２は、受信した測定結果および応答時間を、測定結果３１４として蓄積する。
【００２２】
物理サーバ間測定結果送信部３００−３は、他物理サーバ２０１に１台ずつ配置されるプローブ２０４からの測定パケットによる測定結果要求を受信し、自物理サーバ２０１に含まれる仮想サーバ２０２の通信到達性に関する測定結果と応答時間を取得する。このとき、物理サーバ間測定結果送信部３００−３は、測定結果３１４のデータベーステーブルを参照して、対象となる仮想サーバ２０２の測定結果を取得する。そして、物理サーバ間測定結果送信部３００−３は、その取得した測定結果および応答時間を、測定応答パケットとして、測定パケットを送信した物理サーバ２０１に返信する。
【００２３】
以上のようにして、本実施形態では、物理サーバ２０１毎に１台ずつ配置された図３に示される構成を有するプローブ２０４によって、物理サーバ２０１同士のみで測定パケットと測定応答パケットを送受信する。これにより、自他物理サーバ２０１に含まれる全ての仮想サーバ２０２に関する通信到達性の測定結果と応答時間を取得することが可能となる。
【００２４】
図３において、物理サーバ内測定結果取得部３００−１は、仮想サーバ情報取得部３０１と、対仮想サーバ測定パケット送信部３０２と、対仮想サーバ応答パケット受信部３０３と、対仮想サーバ測定結果蓄積部３０４を備える。物理サーバ内測定結果取得部３００−１は、仮想サーバ情報３１２のデータベーステーブルを参照して、自物理サーバ２０１で稼働する仮想サーバ２０２を特定する。対仮想サーバ測定パケット送信部３０２は、仮想サーバ情報取得部３０１が特定した仮想サーバ２０２に対して、ｐｉｎｇリクエストを送信する。そして、対仮想サーバ応答パケット受信部３０３は、そのｐｉｎｇリクエストに対応するｐｉｎｇ応答を監視することにより、自物理サーバ２０１で稼働する仮想サーバ２０２に対する測定結果および応答時間を取得する。対仮想サーバ測定結果蓄積部３０４は、上記取得された自物理サーバ２０１で稼働する仮想サーバ２０２に対する測定結果および応答時間を測定結果３１４として蓄積する。
【００２５】
以上のようにして、自物理サーバ２０１で稼働する仮想サーバ２０２に対しては、仮想サーバ情報３１２から得た仮想サーバ２０２に対してｐｉｎｇリクエストを送信するだけで、通信到達性の測定結果および応答時間を取得することが可能となる。
【００２６】
図３において、物理サーバ間測定結果取得部３００−２は、ネットワーク内サーバ情報取得部３０５と、対向サーバ測定パケット送信部３０６と、対向サーバ応答パケット受信部３０７と、対向サーバ測定結果蓄積部３０８を備える。ネットワーク内サーバ情報取得部３０５は、ネットワーク内サーバ情報３１３を参照して、他物理サーバ２０１で稼働する仮想サーバ２０２を特定する。対向サーバ測定パケット送信部３０６は、上記特定した他物理サーバ２０１で稼働する仮想サーバ２０２に向けて、通信到達性の測定結果等を要求する測定パケットを送信する。対向サーバ応答パケット受信部３０７は、上記測定パケットに対して対象となる物理サーバ２０１内のプローブ２０４が送信した通信到達性の測定結果が格納された測定応答パケットの返信を監視し受信する。対向サーバ測定結果蓄積部３０８は、上記受信した測定応答パケットから測定結果を取得すると共に、測定パケットを送信してから測定応答パケットを受信するまでの応答時間を算出する。そして、対向サーバ測定結果蓄積部３０８は、そのようにして取得した他物理サーバ２０１で稼働する仮想サーバ２０２に対応する測定結果および応答時間を、測定結果３１４として蓄積する。
【００２７】
以上のようにして、物理サーバ２０１に１台ずつ配置されたプローブ２０４は、他物理サーバ２０１内に複数の仮想サーバ２０２があっても、それらを含む１台の物理サーバ２０１のプローブ２０４と通信を行うだけで、それら複数の仮想サーバ２０２に関する通信到達性の測定結果および応答時間を取得することが可能となる。これにより、他物理サーバ２０１内の各仮想サーバ２０２の情報を効率的に収集することが可能となる。
【００２８】
図３において、物理サーバ間測定結果送信部３００−３は、対向サーバ測定パケット受信部３０９と、対向サーバ測定結果取得部３１０と、対向サーバ応答パケット送信部３１１を備える。対向サーバ測定パケット受信部３０９は、他物理サーバ２０１に１台ずつ配置されるプローブ２０４からの測定パケットによる自物理サーバ２０１で稼働する仮想サーバ２０２宛の測定結果要求を受信する。対向サーバ測定結果取得部３１０は、受信した測定パケットによって要求されている仮想サーバ２０２に関する測定結果を、測定結果３１４のデータベーステーブルから取得する。対向サーバ応答パケット送信部３１１は、取得した測定結果を格納した測定応答パケットを、受信した測定パケットを送信した物理サーバ２０１に向けて返信する。
【００２９】
以上のようにして、物理サーバ間測定結果送信部３００−３は、他の物理サーバ２０１に１台配置されるプローブ２０４からの要求に従って、自物理サーバ２０１で稼働する仮想サーバ２０２に関する通信到達性の測定結果を応答することが可能となる。
【００３０】
図４は、図３の仮想サーバ情報３１２、ネットワーク内サーバ情報３１３、および測定結果３１４の各データベーステーブルのデータ構成例を示す図である。
仮想サーバ情報３１２は、自物理サーバ２０１内の全仮想サーバ２０２に関する情報である。仮想サーバ情報３１２のテーブルは、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”の３つの情報からなるレコードを、自物理サーバ２０１内の各仮想サーバ２０２に対応して複数レコード記憶する。図４のＮｏ．１のテーブル構造である。“仮想サーバ名”は、仮想サーバ２０２のホスト名である。“仮想サーバＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス”は、仮想サーバ２０２が他サーバとの通信に使用するＭＡＣアドレスである。“仮想サーバＩＰアドレス”は、仮想サーバ２０２に割り当てられるインターネットプロトコルアドレスである。
【００３１】
ネットワーク内サーバ情報３１３は、他物理サーバ２０１内の全仮想サーバ２０２に関する情報である。ネットワーク内サーバ情報３１３のテーブルは、仮想サーバ情報３１２のテーブルと同様のレコード構成を有する。ネットワーク内サーバ情報３１３のテーブルは、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”の３つの情報からなるレコードを、把握できている他物理サーバ２０１内の各仮想サーバ２０２に対応して複数レコード記憶する。図４のＮｏ．２のテーブル構造である。
【００３２】
測定結果３１４は、自他物理サーバ２０１内の各仮想サーバ２０２の通信到達性に関する情報である。測定結果３１４のテーブルは、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、“仮想サーバＩＰアドレス”、応答の有無を示す“測定結果”、“遅延時間算出結果”からなるレコードを、確認した自他物理サーバ２０１の各仮想サーバ２０２に対応して複数レコード記憶する。図４のＮｏ．３のテーブル構造である。
【００３３】
図３の機能ブロック構成および図４のテーブル構成例を有する本実施形態の動作について以下に説明する。本実施形態は、大きく３つの処理に分類される。物理サーバ内測定処理、物理サーバ間測定処理の送信側の処理、物理サーバ間測定処理の受信側の処理である。以下順次、図５〜図７のフローチャートを使って説明する。これらの処理は、例えば後述する図１０の物理サーバ２０１のハードウェア構成で、ＣＰＵ１００１が、ハードディスク等の外部記憶装置１００５に記憶されているハイパーバイザー２０３の制御プログラムをメモリ１００２に読み出し実行する処理である。なお、以下の処理の説明においては随時、図２の物理サーバ２０１、仮想サーバ２０２、ハイパーバイザー２０３、プローブ２０４、仮想スイッチ２０５、ＮＩＣ２０６、ルータ２０７等を参照することとする。また、図３の各処理部３０１〜３１１と、仮想サーバ情報３１２、ネットワーク内サーバ情報３１３、および測定結果３１４の各データベースも参照することとする。
【００３４】
図５は、物理サーバ内測定処理の流れを示すフローチャートである。この処理は、図３の物理サーバ内測定結果取得部３００−１の機能に対応する処理である。
まず、仮想サーバ情報取得部３０１が、自物理サーバ２０１内に存在する仮想サーバ群２０２に関する仮想サーバ情報３１２をデータベーステーブルより取得する（ステップＳ５０１）。この仮想サーバ情報３１２のデータベーステーブルは、例えば後述する図１０の物理サーバ２０１のハードウェア構成におけるメモリ１００２または外部記憶装置１００５上に保持される。仮想サーバ情報３１２のテーブルは、仮想サーバ２０２を制御するハイパーバイザー２０３の機能にあらかじめ具備されているデータベースである。図４のＮｏ．１として例示したように、仮想サーバ情報３１２のテーブルは例えば、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、“仮想サーバＩＰアドレス”などから構成される。なお、仮想サーバ情報３１２は、その他の仮想サーバ２０２に関する管理情報を含んでもよい。
【００３５】
次に、対仮想サーバ測定パケット送信部３０２の処理として、ステップＳ５０１で取得した仮想サーバ群２０２の個々の“仮想サーバＩＰアドレス”宛に、測定パケットが送信される（ステップＳ５０３）。この送信処理は、“仮想サーバＩＰアドレス”毎の繰り返し処理となる（ステップＳ５０２とＳ５０４によるループ処理）。仮想サーバ２０２には特別な機能を具備させないため、測定パケットとしては一般的なサーバが応答可能なパケットである、ｐｉｎｇソフトウェアによるＩＣＭＰエコーリクエスト（以下、「ｐｉｎｇリクエスト」と呼ぶ）を使用する。インターネット制御通知プロトコル（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）ＩＣＭＰは、インターネットプロトコルにおける通信状態の診断を行ったりエラー通知を行ったりするために使われるプロトコルである。ｐｉｎｇソフトウェアは、ＩＣＭＰエコーリクエストであるｐｉｎｇリクエストを宛先サーバに投げ、宛先サーバからＩＣＭＰエコーリプライ（以下、「ｐｉｎｇ応答」と呼ぶ）が返ってくることで到達性の確認を行うことができる。
【００３６】
一連のｐｉｎｇリクエストが送信された後、対仮想サーバ応答パケット受信部３０３の処理として、ｐｉｎｇ応答待ちタイマが開始される（ステップＳ５０５）。このタイマとしては、例えば物理サーバ２０１に備わっているタイマ機能を使用する。
【００３７】
次に、対仮想サーバ応答パケット受信部３０３の処理として、ｐｉｎｇ応答待ちタイマの計時が満了したか否かが判定される（ステップＳ５０６）。
ｐｉｎｇ応答待ちタイマの計時が満了せずステップＳ５０６の判定がＮＯ（図中「［Ｎ］」と表示。以下同じ。）ならば、対仮想サーバ応答パケット受信部３０３の処理として、ｐｉｎｇ応答の返信が検出されたか否かが判定される（ステップＳ５０７）。
【００３８】
ｐｉｎｇ応答の返信が検出されずステップＳ５０７の判定がＮＯならば、対仮想サーバ応答パケット受信部３０３の処理として、ステップＳ５０６、Ｓ５０７の判定処理が繰り返される。
【００３９】
仮想サーバ２０２が正常に動作しており、物理サーバ２０１内の仮想スイッチ２０５を経由して正常に通信が可能であれば、仮想サーバ２０２からｐｉｎｇ応答が返信される。対仮想サーバ応答パケット受信部３０３の処理として、ｐｉｎｇ応答の返信が検出されステップＳ５０７の判定がＹＥＳ（図中「［Ｙ］」と表示。以下同じ。）となると、そのｐｉｎｇ応答が受信される（ステップＳ５０８）。
【００４０】
次に、対仮想サーバ測定結果蓄積部３０４の処理として、まず受信したｐｉｎｇ応答から送信元の仮想サーバＩＰアドレスが抽出される（ステップＳ５０９）。
続いて、対仮想サーバ測定結果蓄積部３０４の処理として、測定結果３１４のデータベーステーブルのステップＳ５０９で抽出した仮想サーバＩＰアドレスに対応するレコードに、以下の情報が書き込まれる（ステップＳ５１０）。このレコードは、図４のＮＯ．３のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“正常”（“ＯＫ”）、および遅延時間算出結果としてｐｉｎｇの応答時間、すなわち現在のｐｉｎｇ応答待ちタイマのタイマ値が記録される。
【００４１】
その後、対仮想サーバ測定結果蓄積部３０４の処理として、ｐｉｎｇリクエストを送信した全ての仮想サーバ２０２からｐｉｎｇ応答の返信があったか否かが判定される（ステップＳ５１１）。対仮想サーバ測定結果蓄積部３０４は、対仮想サーバ測定パケット送信部３０２から送信されたｐｉｎｇリクエストの送信先の仮想サーバ２０２の仮想サーバＩＰアドレスを受け取って保持している。そして、ステップＳ５０９でｐｉｎｇ応答の仮想サーバＩＰアドレスを抽出する毎に、保持している仮想サーバＩＰアドレスのリストから削除してゆく。そして、ステップＳ５１１において、このリストが空になったか否かを判定することにより、ｐｉｎｇリクエストを送信した全ての仮想サーバ２０２からｐｉｎｇ応答の返信があったか否かを判定する。
【００４２】
ｐｉｎｇリクエストを送信した全ての仮想サーバ２０２からのｐｉｎｇ応答の返信がまだ完了しておらずステップＳ５１１の判定がＮＯならば、ステップＳ５０６に戻る。この結果、対仮想サーバ応答パケット受信部３０３の処理として再び、ｐｉｎｇ応答待ちタイマの満了と次のｐｉｎｇ応答の返信の判定が繰り返される。
【００４３】
ｐｉｎｇリクエストを送信した全ての仮想サーバ２０２からのｐｉｎｇ応答の返信が完了しステップＳ５１１の判定がＹＥＳになると、図５の物理サーバ内測定処理を終了する。
【００４４】
一方、ｐｉｎｇリクエストを送信した全ての仮想サーバ２０２からのｐｉｎｇ応答の返信がまだ完了しないうちにｐｉｎｇ応答待ちタイマが満了しステップＳ５０６の判定がＹＥＳになると、次の処理が実行される。対仮想サーバ測定結果蓄積部３０４の処理として、まだｐｉｎｇ応答を受信していない仮想サーバ２０２の仮想サーバＩＰアドレスをリストから抽出する。そして、それらの仮想サーバＩＰアドレスに対応する各レコードに、以下の情報が書き込まれる。このレコードは、図４のＮＯ．３のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“異常”（“ＮＧ”）が記録される。
【００４５】
以上のようにして、本実施形態では、１台の物理サーバ２０１に対してハイパーバイザー２０３の機能として１台配置されるプローブ２０４によって、次のような動作が実現される。自物理サーバ２０１で稼働する仮想サーバ２０２の通信到達性に関する測定結果および応答時間を取得することが可能となる。
【００４６】
次に、図６は、物理サーバ間測定処理の送信側の流れを示すフローチャートである。この処理は、図３の物理サーバ間測定結果取得部３００−２の機能に対応する処理である。
まず、ネットワーク内サーバ情報取得部３０５が、他物理サーバ２０１内に存在する全仮想サーバ群２０２に関するネットワーク内サーバ情報３１３をデータベーステーブルから取得する（ステップＳ６０１）。このネットワーク内サーバ情報３１３のデータベーステーブルは、例えば後述する図１０の物理サーバ２０１のハードウェア構成におけるメモリ１００２に保持される。または外部記憶装置１００５上に保持される。図４のＮｏ．２として例示したように、ネットワーク内サーバ情報３１３は例えば、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、“仮想サーバＩＰアドレス”などから構成される。なお、ネットワーク内サーバ情報３１３は、その他の仮想サーバ２０２に関する管理情報を含んでもよい。ネットワーク内サーバ情報３１３の生成方式については、本実施形態では言及しない。保守者による静的作成でもよいし、ネットワーク内のサーバ群全体を管理する管理マネージャのような装置による動的生成でもよい。例えば、管理マネージャが各物理サーバ２０１に問い合わせて、各物理サーバ２０１が自分の中の全仮想サーバ２０２の情報を管理マネージャに返すような構成である。
【００４７】
次に、対向サーバ測定パケット送信部３０６の処理として、ステップＳ６０１で取得したネットワーク内サーバ情報３１３内の個々の“仮想サーバＩＰアドレス”宛に、測定パケットが送信される（ステップＳ６０３）。ここで、測定パケット内のパケット種別を示すフィールドに、リクエスト（すなわち測定パケット）であることを示す値が設定される。次に、測定パケット内の送信元アドレスを示すフィールドには、自物理サーバ２０１の物理サーバＩＰアドレスが設定される。また、測定パケット内の宛先ポート番号を示すフィールドには測定パケットの処理に対応する番号が設定される。さらに、パケットの中には送信時刻情報（ミリ秒の単位まで）を含む。測定パケットのパケットフォーマット例の詳細については、図８で後述する。以上の送信処理は、“仮想サーバＩＰアドレス”毎の繰り返し処理となる（ステップＳ６０２とＳ６０４によるループ処理）。
【００４８】
一連の測定パケットが送信された後、対向サーバ応答パケット受信部３０７の処理として、測定応答パケット待ちタイマが開始される（ステップＳ６０５）。このタイマとしては、例えば物理サーバ２０１に備わっているタイマ機能を使用する。
【００４９】
次に、対向サーバ応答パケット受信部３０７の処理として、測定応答パケット待ちタイマの計時が満了したか否かが判定される（ステップＳ６０６）。
測定応答パケット待ちタイマの計時が満了せずステップＳ６０６の判定がＮＯならば、対向サーバ応答パケット受信部３０７の処理として、測定応答パケットの返信が検出されたか否かが判定される（ステップＳ６０７）。具体的には、受信されたパケットの宛先ポート番号が測定応答パケットの処理に対応する番号であるか否かが判定される。
【００５０】
測定応答パケットの返信が検出されずステップＳ６０７の判定がＮＯならば、対向サーバ応答パケット受信部３０７の処理として、ステップＳ６０６、Ｓ６０７の判定処理が繰り返される。
【００５１】
対向サーバ応答パケット受信部３０７の処理として、測定応答パケットの返信が検出されステップＳ６０７の判定がＹＥＳとなると、その測定応答パケットが受信処理される（ステップＳ６０８）。
【００５２】
次に、対向サーバ測定結果蓄積部３０８の処理として、まず受信した測定応答パケットから送信元の仮想サーバＩＰアドレスが抽出される（ステップＳ６０９）。対向サーバ測定結果蓄積部３０８は、対向サーバ測定パケット送信部３０６から送信された測定パケットの送信先の仮想サーバ２０２の仮想サーバＩＰアドレスを受け取って保持している。そして、ステップＳ６０９で測定応答パケットの仮想サーバＩＰアドレスを抽出する毎に、保持している仮想サーバＩＰアドレスのリストから削除してゆく。
【００５３】
続いて、対仮想サーバ測定結果蓄積部３０４の処理として、測定結果３１４のデータベーステーブルのステップＳ６０９で抽出した仮想サーバＩＰアドレスに対応するレコードに、以下の情報が書き込まれる（ステップＳ６１０）。このレコードは、図４のＮｏ．３のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として、ステップＳ６０８で受信された測定応答パケット内に格納されている応答結果“正常”（“ＯＫ”）／“異常”（“ＮＧ”）が記録される。また、上記レコードに、“応答時間”として、ステップＳ６０８での測定応答パケットの受信時刻情報とその測定応答パケット内に含まれる送信元の時刻情報との差分の時間が記録される。
【００５４】
その後、ステップＳ６０６に戻る。この結果、対向サーバ応答パケット受信部３０７の処理として再び、測定応答パケット待ちタイマの満了と次の測定応答パケットの返信の判定が繰り返される。
【００５５】
そして、測定応答パケット待ちタイマが満了しステップＳ６０６の判定がＹＥＳになると、次の処理が実行される。対向サーバ測定結果蓄積部３０８の処理として、まだ測定応答パケットを受信していない仮想サーバ２０２の仮想サーバＩＰアドレスをリストから抽出する。そして、それらの仮想サーバＩＰアドレスに対応する各レコードに、以下の情報が書き込まれる。このレコードは、図４のＮＯ．３のテーブル構造を有する。なお、該当するレコードがない場合には、新たにレコードが作成されて、“仮想サーバ名”、“仮想サーバＭＡＣアドレス”、および“仮想サーバＩＰアドレス”がまず書き込まれる。そして、そのレコードに、“測定結果”として“未受信”が記録される。
【００５６】
以上のようにして、本実施形態では、１台の物理サーバ２０１に対してハイパーバイザー２０３の機能として１台配置されるプローブ２０４によって、次のような動作が実現される。他物理サーバ２０１に１台ずつ配置されるプローブ２０４に対して、その物理サーバ２０１に含まれる仮想サーバ２０２の通信到達性に関する測定結果および応答時間を要求することが可能となる。
【００５７】
最後に、図７は、物理サーバ間測定処理の受信側の流れを示すフローチャートである。この処理は、図３の物理サーバ間測定結果送信部３００−３の機能に対応する処理である。
【００５８】
まず、物理サーバ２０１に搭載されているＬＡＮインタフェースであるＮＩＣ２０６を経由して、対向サーバ測定パケット受信部３０９の処理として、任意のパケットを受信する待ち状態となっている（ステップＳ７０１の判定の繰り返し）。
【００５９】
任意のパケットが受信されてステップＳ７０１の判定がＹＥＳになると、対向サーバ測定パケット受信部３０９の処理として、そのパケットの宛先アドレスが自物理サーバ２０１で稼働する仮想サーバ２０２宛であるか否かが判定される（ステップＳ７０２）。
【００６０】
受信されたパケットの宛先アドレスが自物理サーバ２０１で稼働する仮想サーバ２０２宛ではなくステップＳ７０２の判定がＮＯならば、ステップＳ７０１のパケット受信待ち状態に戻る。
【００６１】
ステップＳ７０２の判定がＹＥＳになると、対向サーバ測定パケット受信部３０９の処理として、測定パケットが受信されたか否かが判定される（ステップＳ７０３）。具体的には、受信されたパケットの宛先ポート番号が測定パケットの処理に対応する番号であるか否かが判定される。
【００６２】
受信されたパケットが測定パケットを示してなくステップＳ７０３の判定がＮＯならば、ステップＳ７０１のパケット受信待ち状態に戻る。
受信されたパケットが測定パケットを示しておりステップＳ７０３の判定がＹＥＳならば、対向サーバ測定パケット受信部３０９の処理として、その測定パケットが受信処理される（ステップＳ７０４）。
【００６３】
次に、対向サーバ測定結果取得部３１０の処理として、測定結果３１４のデータベーステーブルより、ステップＳ７０４で受信された測定パケットの宛先アドレスに設定されている仮想サーバＩＰアドレスに対応するレコードの“測定結果”の値が取得される。すなわち、図４のＮｏ．３の測定結果３１４のテーブル構造から“測定結果”の値が取り出される（ステップＳ７０５）。
【００６４】
そして、対向サーバ応答パケット送信部３１１の処理として、次のような測定応答パケットが生成される（ステップＳ７０６）。まず、ステップＳ７０５で取得された測定結果と、ステップＳ７０４で受信された測定パケットに含まれていた送信元の時刻情報が格納された測定応答パケットが生成される。次に、測定応答パケット内のパケット種別を示すフィールドに、リプライ（すなわち測定応答パケット）であることを示す値が設定される。また、測定応答パケットの宛先アドレスには、ステップＳ７０４で受信された測定パケットの送信元アドレスとして設定されていた送信元の物理サーバ２０１の物理サーバＩＰアドレスが設定される。また、測定応答パケットの送信元アドレスには、ステップＳ７０４で受信された測定パケットの宛先アドレスとして設定されていた測定対象の仮想サーバ２０２の仮想サーバＩＰアドレスが設定される。さらに、測定応答パケット内の宛先ポート番号を示すフィールドには測定応答パケットの処理に対応する番号が設定される。測定応答パケットのパケットフォーマット例の詳細については、図９で後述する。
【００６５】
測定応答パケットの送信が完了したら、ステップＳ７０１のパケット受信待ち状態に戻る。
以上のようにして、本実施形態では、１台の物理サーバ２０１に対してハイパーバイザー２０３の機能として１台配置されるプローブ２０４によって、次のような動作が実現される。他物理サーバ２０１に１台ずつ配置されるプローブ２０４からの要求を受信して、自物理サーバ２０１に含まれる仮想サーバ２０２の通信到達性に関する測定結果および応答時間を、その物理サーバ２０１に応答することが可能となる。
【００６６】
図８は、本実施形態における物理サーバ間の測定パケットフォーマットの例を示す図である。図８は、測定パケットを、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）データグラムフォーマットを使用して転送する例について示している。
【００６７】
図８において、先頭の１４バイトは、イーサネット（登録商標）等の物理層に対応するヘッダ部である。６バイトからなる“Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ”フィールドには、宛先物理アドレス情報として、測定結果が取得される仮想サーバ２０２の仮想サーバＭＡＣアドレスが格納される。この情報を使って、イーサネット等の物理ネットワーク上での宛先サーバへのルーティングが実行される。物理層ヘッダ部の２番目の６バイトからなる“Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ”フィールドには、測定パケットの送信元物理アドレス情報として、自物理サーバ２０１の物理サーバＭＡＣアドレスが格納される。この情報を使って、測定応答パケットの返信時に、イーサネット等の物理ネットワーク上での自物理サーバ２０１への帰りのルーティングが実行される。物理層ヘッダ部の３番目の４バイトからなる“Ｅｔｈｅｒ  Ｔｙｐｅ”フィールドには、イーサネットタイプとしてＩＰｖ４（インターネットプロトコルバージョン４）を使用することを指定する値“０ｘ０８００”が格納される。ここで、“０ｘ”は、それに続く値“０８００”が１６進数であることを示している。なお、ＩＰｖ６（インターネットプロトコルバージョン６）が採用されてもよい。
【００６８】
次に、１４バイトの物理層ヘッダ部に続く２０バイトのＩＰヘッダ部（図中「ＩＰ  Ｈｅａｄｅｒ」で始まる領域）は、インターネットプロトコルに基づくＩＰパケットのヘッダ部である。先頭の１バイトからなる“Ｐｒｏｔｏｃｏｌ”フィールドには、ＵＤＰパケットであることを示す値“０ｘ１１”が格納される。ＩＰヘッダ部の２番目の４バイトからなる「Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドには、測定パケットの送信元ＩＰアドレス情報として、自物理サーバ２０１の物理サーバＩＰアドレスが格納される。ＩＰヘッダ部の３番目の４バイトからなる「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドには、宛先ＩＰアドレス情報として、測定結果が取得される物理サーバ２０１で稼働する仮想サーバ２０２の仮想サーバＩＰアドレスが格納される。これにより、ＩＰネットワークを経由して、宛先の仮想サーバ２０２まで、このパケットがルーティングされる。
【００６９】
次に、２０バイトのＩＰヘッダ部に続く８バイトのＵＤＰヘッダ部（図中「ＵＤＰ  Ｈｅａｄｅｒ」で始まる領域）は、ＵＤＰプロトコルに基づくＵＤＰデータグラムのヘッダ部である。先頭の２バイトからなる“Ｓｏｕｒｃｅ  Ｐｏｒｔ  Ｎｕｍｂｅｒ”フィールドには、任意の値が格納される。ＵＤＰヘッダ部の２番目の２バイトからなる「Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ  Ｎｕｍｂｅｒ」フィールドには、通信到達性確認のための測定パケットの処理であることを示す特定の値が決定されて格納される。
【００７０】
８バイトのＵＤＰヘッダ部に続く部分（図中「ＵＤＰ  Ｄａｔａ」で始まる領域）は、ＵＤＰプロトコルに基づくＵＤＰデータグラムのデータ部である。この部分は、本実施形態により規定される情報が格納される。先頭の１バイトからなる領域には、パケット種別としてリクエスト（すなわち測定パケット）であることを示す値“０ｘ０１”が格納される。上記１バイトに続く領域には、測定パケットの送信元の物理サーバ２０１のプローブ２０４が測定パケットを送信したときの時刻情報がミリ秒（ｍｓ）まで含む値として格納される。
【００７１】
以上の図８に示されるパケットフォーマットを有する測定パケットは、物理サーバ２０１のプローブ２０４の機能である、図３の対向サーバ測定パケット送信部３０６の機能または図６のステップＳ６０３の処理によって、生成され送信される。そして、この測定パケットは、宛先の物理サーバ２０１のプローブ２０４の機能である、図３の対向サーバ測定パケット受信部３０９の機能または図７のステップＳ７０４の処理によって受信される。受信側の物理サーバ２０１は、測定パケットのＩＰヘッダ部の「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドの仮想サーバＩＰアドレスから、図７のステップＳ７０２で、自サーバで稼働する仮想サーバ２０２宛てのパケットを認識できる。また、受信側の物理サーバ２０１は、測定パケットのＵＤＰヘッダ部の「Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ  Ｎｕｍｂｅｒ」と、ＵＤＰデータ部の「パケット種別」から、図７のステップＳ７０３で、測定パケットを認識できる。
【００７２】
図９は、本実施形態における物理サーバ間の測定応答パケットフォーマットの例を示す図である。図９も、図８と同様に、測定応答パケットを、ＵＤＰデータグラムフォーマットを使用して転送する例について示している。
【００７３】
図９において、先頭の１４バイトは、イーサネット等の物理層に対応するヘッダ部である。６バイトからなる“Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ”フィールドには、宛先物理アドレス情報として、測定応答パケットの宛先の測定結果を要求した物理サーバ２０１の物理サーバＭＡＣアドレスが格納される。受信側の物理サーバ２０１のプローブ２０４の機能は、受信した測定パケットの物理層ヘッダ部の「Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ」フィールド（図８）に格納されていた測定パケットの送信元物理サーバＭＡＣアドレスを、上記フィールドに格納する。この情報を使って、イーサネット等の物理ネットワーク上での測定結果の要求元の物理サーバ２０１への帰りのルーティングが実行される。物理層ヘッダ部の２番目の６バイトからなる“Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ”フィールドには、測定応答パケットの送信元物理アドレス情報として、測定結果が取得された仮想サーバ２０２の仮想サーバＭＡＣアドレスが格納される。物理層ヘッダ部の３番目の４バイトからなる“Ｅｔｈｅｒ  Ｔｙｐｅ”フィールドには、イーサネットタイプとしてＩＰｖ４を使用することを指定する値“０ｘ０８００”が格納される。なお、ＩＰｖ６（インターネットプロトコルバージョン６）が採用されてもよい。
【００７４】
次に、１４バイトの物理層ヘッダ部に続く２０バイトのＩＰヘッダ部（図中「ＩＰ  Ｈｅａｄｅｒ」で始まる領域）は、インターネットプロトコルに基づくＩＰパケットのヘッダ部である。先頭の１バイトからなる“Ｐｒｏｔｏｃｏｌ”フィールドには、ＵＤＰパケットであることを示す値“０ｘ１１”が格納される。ＩＰヘッダ部の２番目の４バイトからなる「Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドには、測定結果が取得された仮想サーバ２０２の仮想サーバＩＰアドレスが格納される。受信側の物理サーバ２０１は、受信した測定パケットのＩＰヘッダ部の「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドに格納されていた測定結果が取得された仮想サーバ２０２の仮想サーバＩＰアドレスを、上記フィールドに格納する。ＩＰヘッダ部の３番目の４バイトからなる「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドには、宛先ＩＰアドレス情報として、測定結果を要求した物理サーバ２０１の物理サーバＩＰアドレスが格納される。受信側の物理サーバ２０１は、受信した測定パケットのＩＰヘッダ部の「Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ」フィールド（図８）に格納されていた物理サーバＩＰアドレスを、上記フィールドに格納する。これにより、ＩＰネットワークを経由して、測定結果を要求した物理サーバ２０１まで、このパケットがルーティングされる。
【００７５】
次に、２０バイトのＩＰヘッダ部に続く８バイトのＵＤＰヘッダ部（図中「ＵＤＰ  Ｈｅａｄｅｒ」で始まる領域）は、ＵＤＰプロトコルに基づくＵＤＰデータグラムのヘッダ部である。先頭の２バイトからなる“Ｓｏｕｒｃｅ  Ｐｏｒｔ  Ｎｕｍｂｅｒ”フィールドには、通信到達性確認のための測定応答パケットの処理であることを示す特定の値が決定されて格納される。ＵＤＰヘッダ部の２番目の２バイトからなる「Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ  Ｎｕｍｂｅｒ」フィールドには、任意の値が格納される。
【００７６】
８バイトのＵＤＰヘッダ部に続く部分（図中「ＵＤＰ  Ｄａｔａ」で始まる領域）は、ＵＤＰプロトコルに基づくＵＤＰデータグラムのデータ部である。この部分は、本実施形態により規定される情報が格納される。先頭の１バイトからなる領域には、パケット種別としてリプライ（すなわち測定応答パケット）であることを示す値“０ｘ０２”が格納される。上記１バイトに続く１バイトの領域には、応答結果すなわち測定結果として“正常”（“ＯＫ”）を示す値“０ｘ００”または“異常”（“ＮＧ”）を示す値“０ｘ０１”が格納される。さらにその１バイトに続く領域には、測定結果を要求した物理サーバ２０１のプローブ２０４が測定パケットを送信したときの時刻情報がミリ秒（ｍｓ）まで含む値として格納される。受信側の物理サーバ２０１は、受信した測定パケットのＵＤＰデータ部に格納されていた測定結果要求時の時刻情報（図８）を、そのまま上記フィールドに格納する。
【００７７】
以上の図９に示されるパケットフォーマットを有する測定応答パケットは、物理サーバ２０１のプローブ２０４の機能である、図３の対向サーバ応答パケット送信部３１１の機能または図７のステップＳ７０６の処理によって送信される。そして、この測定応答パケットは、測定結果の要求元の物理サーバ２０１のプローブ２０４の機能である、図３の対向サーバ応答パケット受信部３０７の機能または図６のステップＳ６０８の処理によって受信される。測定結果の要求元の物理サーバ２０１は、測定応答パケットのＩＰヘッダ部の「Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ」フィールドの物理サーバＩＰアドレスから、図６のステップＳ６０７で、自物理サーバ２０１宛てのパケットを認識できる。また、測定結果の要求元の物理サーバ２０１は、測定応答パケットのＵＤＰヘッダ部の「Ｓｏｕｒｃｅ  Ｐｏｒｔ  Ｎｕｍｂｅｒ」と、ＵＤＰデータ部の「パケット種別」から、図６のステップＳ６０７で、測定応答パケットを認識できる。さらに、測定結果の要求元の物理サーバ２０１は、測定応答パケットの受信時刻情報とその測定応答パケットのＵＤＰデータ部に含まれる送信元の時刻情報との差分の時間として、測定結果を要求した仮想サーバ２０２の応答時間を算出できる。
【００７８】
以上説明した実施形態において、例えば図２の各物理サーバ２０１内で稼働する仮想サーバ２０２が増設、廃止、または移動されるような場合がある。そのような場合には、図２の仮想サーバ２０２自身が持つ機能にて図２のハイパーバイザー２０３内に保持されている図３の仮想サーバ情報３１２のデータベーステーブルの該当レコードの登録内容が更新されることになる。そこで、本実施形態では、図３の構成を有するプローブ２０４で稼働する仮想サーバ情報取得部３０１が定期的に仮想サーバ情報３１２を監視し変更を検出する。これによりにより、測定パケットを送信する対象仮想サーバ群２０２の一覧を自動で更新する。そして、その更新結果に基づいて、対仮想サーバ測定パケット送信部３０２、対仮想サーバ応答パケット受信部３０３、対仮想サーバ測定結果蓄積部３０４を再度動作させ、測定結果３１４を更新させるように構成することが可能となる。
【００７９】
以上の実施形態におけるプローブ２０４を使用することにより、以下の効果が得られる。
プローブ機能を仮想サーバ２０２の個々に配置せず、物理サーバ２０１に配置するだけで、全仮想サーバ２０２宛の通信正常性を確認することが可能となる。
【００８０】
測定パケットを送受信する組み合わせ数を削減することが可能となり、ネットワーク負荷およびサーバの処理負荷を軽減することが可能となる。
例えば、１台の物理サーバ２０１に３０台の仮想サーバ２０２が配備されている物理サーバ２０１が１００台で構成されているネットワークを考える。
【００８１】
一般的に考えられる方式として、仮想サーバ２０２上に１台ずつプローブ機能を配置し、全ての対向仮想サーバ２０２に対して通信到達性の確認を実施する場合と考える。この場合の通信回数は、
３，０００×２，９９９＝８，９９７，０００回
となる。これに対して、本実施形態の方式による通信回数は、
物理サーバ内通信数＝３０×１００＝３，０００回
物理サーバ間通信数＝９９×３０×１００＝２９７，０００回
合計＝３，０００＋２９７，０００＝３００，０００回
となる。よってこの例では、３００，０００／８，９９７，０００＝０．０３３＝３％程度に通信量を削減することが可能となる。
【００８２】
図１０は、上記実施形態における図２の物理サーバ２０１のハードウェア構成例を示す図である。
図１０に示されるコンピュータは、ＣＰＵ１００１、メモリ１００２、入力装置１００３、出力装置１００４、外部記憶装置１００５、可搬記録媒体１００９が挿入される可搬記録媒体駆動装置１００６、及び通信インタフェース１００７を有し、これらがバス１００８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００８３】
ＣＰＵ１００１は、当該コンピュータ全体の制御を行う。メモリ１００２は、プログラムの実行、データ更新等の際に、外部記憶装置１００５（或いは可搬記録媒体１００９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ１００１は、プログラムをメモリ１００２に読み出して実行することにより、全体の制御を行う。
【００８４】
入出力装置１００３は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をＣＰＵ１００１に通知し、ＣＰＵ１００１の制御によって送られてくるデータを表示装置や印刷装置に出力する。
【００８５】
外部記憶装置１００５は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置１００６は、光ディスクやＳＤＲＡＭ、コンパクトフラッシュ（登録商標）等の可搬記録媒体１００９を収容するもので、外部記憶装置１００５の補助の役割を有する。
【００８６】
通信インターフェース１００７は、例えばＬＡＮ（ローカルエリアネットワーク）又はＷＡＮ（ワイドエリアネットワーク）の通信回線を接続するための装置である。
本実施形態によるシステムは、図５、図６、図７のフローチャート等で実現される機能を搭載したプログラムをＣＰＵ１００１が実行することで実現される。そのプログラムは、例えば外部記憶装置１００５や可搬記録媒体１００９に記録して配布してもよく、或いはネットワーク接続装置１００７によりネットワークから取得できるようにしてもよい。
【００８７】
以上の実施形態に関して、更に以下の付記を開示する。
（付記１）
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得ステップと、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送受信ステップと、
を実行することを特徴とする仮想マシン環境におけるネットワーク障害検知方法。
（付記２）
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得ステップにおいて、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果ステップにおいて、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
ことを特徴とする付記１に記載の仮想マシン環境におけるネットワーク障害検知方法。
（付記３）
前記物理サーバ内測定結果取得ステップにおいて、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得し、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信し、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信し、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積すること、
を実行することを特徴とする付記２に記載の仮想マシン環境におけるネットワーク障害検知方法。
（付記４）
前記物理サーバ間測定結果取得ステップにおいて、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得し、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信し、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信（３０７）し、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積すること、
を実行することを特徴とする付記２または３のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
（付記５）
前記物理サーバ間測定結果送信ステップにおいて、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信し、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得し、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信すること、
を実行することを特徴とする付記２ないし４のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
（付記６）
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする付記１ないし５のいずれかに記載の仮想マシン環境におけるネットワーク障害検知方法。
（付記７）
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバで稼働し、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得部と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得部と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信部と、
を含むことを特徴とする仮想マシン環境におけるネットワーク障害検知装置。
（付記８）
前記物理サーバ内測定結果取得部は、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得部において、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果部において、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
ことを特徴とする付記７に記載の仮想マシン環境におけるネットワーク障害検知装置。
（付記９）
前記物理サーバ内測定結果取得部は、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得部と、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信部と、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信部と、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積部と、
を含むことを特徴とする付記８に記載の仮想マシン環境におけるネットワーク障害検知装置。
（付記１０）
前記物理サーバ間測定結果取得部は、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得部と、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信部と、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信部と、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積部と、
を含むことを特徴とする付記８または９のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
（付記１１）
前記物理サーバ間測定結果送信部は、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信部と、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得部と、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信部と、
を含むことを特徴とする付記８ないし１０のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
（付記１２）
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
ことを特徴とする付記７ないし１１のいずれかに記載の仮想マシン環境におけるネットワーク障害検知装置。
（付記１３）
それぞれ複数の仮想サーバが稼働し相互にネットワークで接続される各物理サーバのコンピュータにおいて、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して管理する物理サーバ内測定結果取得処理と、
前記各物理サーバにおいて、他物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を、前記他物理サーバに要求して取得する物理サーバ間測定結果取得処理（３００−２）と、
前記各物理サーバにおいて、他物理サーバからの要求に従って、自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を取得して、前記他物理サーバに応答する物理サーバ間測定結果送信処理と、
を実行させるためのプログラム。
（付記１４）
前記物理サーバ内測定結果取得処理において、
前記仮想サーバに関する情報である仮想サーバ情報のデータベーステーブルを参照することにより前記自物理サーバで稼働する仮想サーバを特定し、前記自物理サーバで稼働する仮想サーバに対する通信到達性に関する測定結果および応答時間を取得し、前記取得結果を測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果取得処理において、前記他物理サーバで稼働する仮想サーバに関する情報であるネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定し、前記他物理サーバに対して、前記他物理サーバに含まれる仮想サーバの通信到達性に関する情報を測定パケットにて要求し、前記他物理サーバから、前記他物理サーバに含まれる仮想サーバに関する通信到達性に関する情報を、測定応答パケットとして受信し、前記受信した通信到達性に関する情報を、測定結果のデータベーステーブルに蓄積し、
前記物理サーバ間測定結果処理において、前記他物理サーバから受信した前記測定パケットによる要求に従って、前記自物理サーバに含まれる仮想サーバの通信到達性に関する情報を前記測定結果のデータベーステーブルから取得して、前記測定応答パケットとして返信する、
処理を実行させるためのプログラム。
（付記１５）
前記物理サーバ内測定結果取得処理において、
前記仮想サーバ情報のデータベーステーブルを参照して、前記自物理サーバで稼働する仮想サーバを特定する仮想サーバ情報取得処理と、
前記特定した仮想サーバに対して、エコーリクエストを送信する対仮想サーバ測定パケット送信処理と、
前記エコーリクエストに対応するエコーリプライを監視することにより、前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を取得する対仮想サーバ応答パケット受信処理、
前記取得された前記自物理サーバで稼働する仮想サーバに対する前記通信到達性に関する情報を前記測定結果のデータベーステーブルに蓄積する対仮想サーバ測定結果蓄積処理と、
を実行させるためのプログラム。
（付記１６）
前記物理サーバ間測定結果取得処理において、
前記ネットワーク内サーバ情報のデータベーステーブルを参照して、前記他物理サーバで稼働する仮想サーバを特定するネットワーク内サーバ情報取得処理と、
前記特定した前記他物理サーバで稼働する仮想サーバに向けて、前記通信到達性の情報を要求する前記測定パケットを送信する対向サーバ測定パケット送信処理と、
前記測定パケットに対して対象となる前記物理サーバが送信した前記通信到達性の情報が格納された前記測定応答パケットの返信を監視し受信する対向サーバ応答パケット受信処理と、
前記受信した測定応答パケットから前記通信到達性に関する情報を取得すると共に、前記測定パケットを送信してから対応する前記測定応答パケットを受信するまでの応答時間を算出し、前記取得した通信到達性に関する情報および前記算出した応答時間を、前記測定結果のデータベーステーブルに蓄積する対向サーバ測定結果蓄積処理と、
を実行させるためのプログラム。
（付記１７）
前記物理サーバ間測定結果送信処理において、
前記他物理サーバからの前記測定パケットによる前記自物理サーバで稼働する仮想サーバ宛の測定結果要求を受信する対向サーバ測定パケット受信処理と、
前記受信した測定パケットによって要求されている前記仮想サーバに関する測定結果を、前記測定結果のデータベーステーブルから取得する対向サーバ測定結果取得処理と、
前記取得した測定結果を格納した前記測定応答パケットを、前記受信した測定パケットを送信した前記物理サーバに向けて返信する対向サーバ応答パケット送信処理と、
を実行させるためのプログラム。
（付記１８）
前記各物理サーバにおいて、前記自物理サーバでの仮想サーバの稼働状況を監視し、
前記仮想サーバの稼働状況に応じて、前記自物理サーバで稼働する前記各仮想サーバに関する通信到達性に関する情報を更新する、
処理を実行させるためのプログラム。
【符号の説明】
【００８８】
２０１  物理サーバ
２０２  仮想サーバ
２０３  ハイパーバイザー
２０４  プローブ
２０５  仮想スイッチ
２０６  ＮＩＣ
２０７  ルータ
３００−１  物理サーバ内測定結果取得部
３００−２  物理サーバ間測定結果取得部
３００−３  物理サーバ間測定結果送信部
３０１  仮想サーバ情報取得部
３０２  対仮想サーバ測定パケット送信部
３０３  対仮想サーバ応答パケット受信部
３０４  対仮想サーバ測定結果蓄積部
３０５  ネットワーク内サーバ情報取得部
３０６  対向サーバ測定パケット送信部
３０７  対向サーバ応答パケット受信部
３０８  対向サーバ測定結果蓄積部
３０９  対向サーバ測定パケット受信部
３１０  対向サーバ測定結果取得部
３１１  対向サーバ応答パケット送信部
３１２  仮想サーバ情報
３１３  ネットワーク内サーバ情報
３１４  測定結果
【図４】
0005686027.tif 000002
【図１０】
0005686027.tif 000003
【図１】
0005686027.tif 000004
【図２】
0005686027.tif 000005
【図３】
0005686027.tif 000006
【図５】
0005686027.tif 000007
【図６】
0005686027.tif 000008
【図７】
0005686027.tif 000009
【図８】
0005686027.tif 000010
【図９】
0005686027.tif 000011