(57)【要約】【課題】  複数のホストＶＭ上に構築されたゲストＶＭの構成を把握しなくても，ホットスタンバイ構成をとるゲストＶＭの所属するホストＶＭの組合せを検知する手段を提供する。【解決手段】  物理計算機上で動作する第１の仮想計算機、第１の仮想計算機上で動作する第２の仮想計算機とを備え、第２の仮想計算機から受信した通信データを分析する通信データ分析部１０６が，仮想サーバからの通信データの内容を分析して仮想サーバとネットワークセグメントの対応関係を明確にするとともに，各ネットワークセグメントの通信内容が冗長構成をとる仮想サーバ特有のものであるかを明確にし，ホットスタンバイ構成分析部１１２は複数サーバの通信データ分析部１０６からの情報を集約し，冗長構成の関係にある仮想サーバを特定する。【選択図】  図１
2014032475.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理計算機と、
前記物理計算機上で第１の仮想化機構の制御により動作する複数の第１の仮想計算機と、
前記第１の仮想計算機上で第２の仮想化機構の制御により動作する複数の第２の仮想計算機と、
前記物理計算機および前記第１の仮想化機構を管理する第１の管理装置と、
前記第２の仮想計算機から送信される通信データを受信して、前記受信した通信データを前記第１の仮想計算機に送信する第２の仮想スイッチと、
前記第１の仮想計算機から送信される通信データを受信して、前記受信した通信データを複製する第１の仮想スイッチと、
前記第１の仮想スイッチで複製された通信データを受信して、前記受信した通信データを分析する通信データ分析部とを備え、
前記通信データ分析部は、
前記第１の仮想計算機を識別する第１の識別子を前記第１の仮想スイッチから受信し、前記通信データを送受信する前記複数の第２の仮想計算機のグループに割り当てられるネットワークセグメントを識別するタグ情報を前記通信データから抽出し、前記第１の識別子と前記タグ情報との対応を前記第１の仮想化機構毎に管理するタグ分析部と、
前記複製された通信データから前記タグ情報を抽出し、前記通信データが前記複数の第２の仮想計算機のグループ内で送受信されるハートビート通信データであるかを判定し、ハートビート通信データの検出結果と前記タグ情報との対応を前記第１の仮想化機構毎に管理するハートビートデータ分析部とを有し、
前記第１の管理装置は、
全ての物理計算機の第１の仮想化機構に関する前記第１の識別子と前記タグ情報との対応を前記タグ分析部から取得し、前記全ての物理計算機の第１の仮想化機構に関する前記ハートビート通信データの検出結果と前記タグ情報との対応を前記ハートビート分析部から取得し、前記タグ情報と前記第１の識別子と前記ハートビート通信データの検出結果との対応を管理するネットワーク構成情報を生成する第１の仮想化機構管理部を有する
ことを特徴とする仮想計算機システム。
【請求項２】
前記第１の仮想化機構管理部は、複数の前記第１の仮想計算機と複数の前記第１の仮想化機構との対応を、前記第１の仮想化機構毎に管理する配置情報を有し、
前記ネットワーク構成情報を参照して、前記ハートビート通信データの検出結果のうちハートビート通信データが検出されているタグ情報を検索し、前記ハートビート通信データが検出されているタグ情報に対応する複数の第１の識別子を検索し、
前記配置情報を参照して、前記検索した複数の第１の識別子が含まれる前記第１の仮想化機構のエントリを検索し、
前記検索した複数の第１の識別子が複数のエントリに含まれる場合、前記複数の第１の仮想計算機は複数の異なる物理計算機上で動作していると判定し、
前記検索した複数の第１の識別子が複数の１つのエントリに含まれる場合、前記複数の第１の仮想計算機は１つの物理計算機上で動作していると判定する
ことを特徴とする請求項１記載の仮想計算機システム。
【請求項３】
前記第１の仮想化機構管理部は、前記複数の第１の仮想計算機が１つの物理計算機上で動作していると判定すると、
前記複数の第１の仮想計算機のうち少なくとも１つ以上を、前記１つの物理計算機とは異なる物理計算機へ移行する
ことを特徴とする請求項２記載の仮想計算機システム。
【請求項４】
前記第２の仮想計算機は、前記ハートビート通信データを制御するホットスタンバイ制御部を有することを特徴とする請求項３記載の仮想計算機システム。
【請求項５】
前記第１の仮想計算機を管理する第２の管理装置を備えることを特徴とする請求項３記載の仮想計算機システム。
【請求項６】
前記第１の仮想化機構は、前記第１の仮想スイッチおよび前記通信データ分析部を有し、
前記第２の仮想化機構は、前記第２の仮想スイッチを有する
ことを特徴とする請求項３記載の仮想計算機システム。
【請求項７】
仮想計算機システムにおける仮想計算機の制御方法であって、
前記仮想計算機システムは、複数の物理計算機と、前記物理計算機上で第１の仮想化機構の制御により動作する複数の第１の仮想計算機と、前記第１の仮想計算機上で第２の仮想化機構の制御により動作する複数の第２の仮想計算機と、前記物理計算機および前記第１の仮想化機構を管理する第１の管理装置と、前記第２の仮想計算機から送信される通信データを受信して、前記受信した通信データを前記第１の仮想計算機に送信する第２の仮想スイッチと、前記第１の仮想計算機から送信される通信データを受信して、前記受信した通信データを複製する第１の仮想スイッチと、前記第１の仮想スイッチで複製された通信データを受信して、前記受信した通信データを分析する通信データ分析部とを備え、
前記通信データ分析部のタグ分析部は、前記第１の仮想計算機を識別する第１の識別子を前記第１の仮想スイッチから受信し、前記通信データを送受信する前記複数の第２の仮想計算機のグループに割り当てられるネットワークセグメントを識別するタグ情報を前記通信データから抽出し、前記第１の識別子と前記タグ情報との対応を前記第１の仮想化機構毎に管理し、
前記通信データ分析部のハートビートデータ分析部は、前記複製された通信データから前記タグ情報を抽出し、前記通信データが前記複数の第２の仮想計算機のグループ内で送受信されるハートビート通信データであるかを判定し、ハートビート通信データの検出結果と前記タグ情報との対応を前記第１の仮想化機構毎に管理し、
前記第１の管理装置の第１の仮想化機構管理部は、全ての物理計算機の第１の仮想化機構に関する前記第１の識別子と前記タグ情報との対応を前記タグ分析部から取得し、前記全ての物理計算機の前記第１の仮想化機構に関する前記ハートビート通信データの検出結果と前記タグ情報との対応を前記ハートビート分析部から取得し、前記タグ情報と第１の識別子と前記ハートビート通信データの検出結果との対応を管理するネットワーク構成情報を生成する
ことを特徴とする仮想計算機の制御方法。
【請求項８】
前記第１の仮想化機構管理部は、複数の前記第１の仮想計算機と複数の前記第１の仮想化機構との対応を、前記第１の仮想化機構毎に管理する配置情報を有し、
前記ネットワーク構成情報を参照して、前記ハートビート通信データの検出結果のうちハートビート通信データが検出されているタグ情報を検索し、前記ハートビート通信データが検出されているタグ情報に対応する複数の第１の識別子を検索し、
前記配置情報を参照して、前記検索した複数の第１の識別子が含まれる前記第１の仮想化機構のエントリを検索し、
前記検索した複数の第１の識別子が複数のエントリに含まれる場合、前記複数の第１の仮想計算機は複数の異なる物理計算機上で動作していると判定し、
前記検索した複数の第１の識別子が複数の１つのエントリに含まれる場合、前記複数の第１の仮想計算機は１つの物理計算機上で動作していると判定する
ことを特徴とする請求項７記載の仮想計算機の制御方法。
【請求項９】
前記第１の仮想化機構管理部は、前記複数の第１の仮想計算機が１つの物理計算機上で動作していると判定すると、
前記複数の第１の仮想計算機のうち少なくとも１つ以上を、前記１つの物理計算機とは異なる物理計算機へ移行する
ことを特徴とする請求項８記載の仮想計算機の制御方法。
【請求項１０】
前記仮想計算機システムは、前記第１の仮想計算機を管理する第２の管理装置を備えることを特徴とする請求項９記載の仮想計算機の制御方法。
【請求項１１】
前記第２の仮想計算機は、前記ハートビート通信データを制御するホットスタンバイ制御部を有することを特徴とする請求項９記載の仮想計算機の制御方法。
【請求項１２】
前記第１の仮想化機構は、前記第１の仮想スイッチおよび前記通信データ分析部を有し、
前記第２の仮想化機構は、前記第２の仮想スイッチを有する
ことを特徴とする請求項９記載の仮想計算機の制御方法
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，仮想化技術を用いた計算機システムにかかわり，特に仮想化技術を用いた計算機システムにおける冗長化構成の構築方式に関する。
【背景技術】
【０００２】
本技術分野の背景技術として，特開２００９−００３７４９号公報（特許文献１）がある。この公報には，「ホストＶＭＭの呼び出しの要因に応じて、第２の仮想プロセッサ上のユーザプログラムを実行するためのゲスト状態エリア２２１と、ゲストＶＭＭを実行するためのホスト状態エリア２２２の何れかを選択し、物理プロセッサを制御するためのシャドウＶＭＣＢのゲスト状態エリア１３１を更新することで、第１の仮想プロセッサ上で仮想化機能を備えた次世代ＯＳをユーザプログラムとして実行する。」と記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−００３７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には，仮想化技術を用いた計算機システム上に構築された仮想サーバで仮想化機能を備えたＯＳを起動する手段，いわゆる多段仮想化技術が示されている。
【０００５】
この手段は、以下のような形態で利用することができる。すなわち、データセンタ等において、運用管理者が物理サーバ上の仮想化機構（ホストＶＭＭ）を用いて仮想サーバ（ホストＶＭ）を作成し，ホストＶＭＭを用いて作成された仮想サーバを利用者に提供する。そして、仮想サーバの提供を受けた利用者が、ホストＶＭＭを用いて作成された仮想サーバ上で仮想化機能を備えたソフトウェア（ゲストＶＭＭ）を動作させて独自の仮想化環境を構築し，そのゲストＶＭＭを用いて一つまたは複数の仮想サーバ（ゲストＶＭ）を作成して、計算機システムを構築・運用する利用形態である。
【０００６】
上記のような運用を実施する際には，データセンタ運用管理者は、サーバ等の物理的な計算機資源およびその物理計算機資源上に作成したホストＶＭの管理に、専念している。そして、データセンタ運用管理者は，利用者に提供したホストＶＭの上で、利用者がどのような情報システムを構築・運用するかについての情報に、関知しない場合が多い。
【０００７】
また，仮想化技術を利用したリソースプール型のデータセンタ運用では，ホストＶＭの提供を受けた利用者は，その仮想サーバがどの物理サーバ上に構築されたかについて、関知しない場合が多い。
【０００８】
このような状況において、利用者が複数のホストＶＭ上に複数のゲストＶＭを作成し，その複数ＶＭ間でホットスタンバイ構成を構築する場合に、以下のような課題がある。
【０００９】
上記利用方法では，例えば複数のホストＶＭの提供を受けた利用者は、その上に複数のゲストＶＭを作成して，そのうち２つ以上のゲストＶＭの間でホットスタンバイ構成を組む。その際，利用者は、冗長性を担保することを意図して、異なるホストＶＭ上のゲストＶＭを使用するかもしれない。しかし、データセンタ運用管理者が、それらのホストＶＭを同じ物理サーバ上に構築していた場合，ホットスタンバイ構成をとるゲストＶＭのうち、そのホストＶＭ上にあるものは結果的に同じ物理サーバ上に存在することになり，その物理サーバの障害に対して冗長性を担保できなくなる。
【００１０】
この場合，先に述べたように、ホストＶＭの利用者は、自分の使用するホストＶＭがどの物理サーバ上に構築することを知らない。そのため，利用者は、ホットスタンバイ構成を構築するに際し、物理サーバの障害に対して冗長性が担保されるようなゲストＶＭの選択ができないため、この問題を回避することはできない。
【００１１】
同様に、データセンタ運用管理者は、ホストＶＭ上で利用者がどのような情報システムを構築するかを知らない。そのため、データセンタ運用管理者は、ホストＶＭの物理サーバへの配置をどのように調整したらよいのかわからず、この問題を回避することができない。
【００１２】
仮に、この問題を回避するために、データセンタ運用管理者がホストＶＭの物理サーバへの配置情報を利用者に提供する場合，データセンタ運用管理者は、ホストＶＭの物理サーバへの配置を変更する毎に、その旨を利用者へ通知しなくてはならないので、ホストＶＭの物理サーバへの配置変更作業が煩雑になってしまう。また利用者は、データセンタ運用管理者からホストＶＭの物理サーバへの配置変更を通知された場合、そのホストＶＭの配置変更によって、ホットスタンバイ構成を組む２つまたはそれ以上のゲストＶＭが同一物理サーバ上に配置されていないかを確認する必要がある。
【００１３】
さらにその結果、ホットスタンバイ構成をとる２つ以上のゲストＶＭが同一の物理サーバ上に配置されていた場合は、ゲストＶＭの配置を変更してそのような状況を解消する必要がある。このように利用者には、データセンタ運用管理者によるホストＶＭの配置制御によって、新たな運用管理作業が発生する。このため，効率のよいデータセンタ運用が困難になるという懸念がある。
【００１４】
また、仮に、利用者がホストＶＭ上でどのように情報システムを構築・運用しているかの情報をデータセンタ運用管理者が把握する場合，データセンタ運用管理者は、多数の利用者のシステム構築・運用状況に関する情報を適切に管理する必要が生じるので，非常に煩雑なデータセンタ運用管理業務を処理することになりかねない。また、ホストＶＭ上で仮想環境を構築して運用する利用者は，仮想環境の利点であるゲストＶＭの動的な配置変更を行うたびに、データセンタ運用管理者にゲストＶＭの配置変更の情報を連絡しなくてはならないので，効率の悪い情報システム構築・運用作業となりかねない。
【００１５】
そこで、本発明の目的は，この課題を解決するために複数のホストＶＭ上に構築されたゲストＶＭの構成を知ることなく，ホットスタンバイ構成をとるゲストＶＭの所属するホストＶＭの組合せを検知する手段を提供することである。
【課題を解決するための手段】
【００１６】
上述の課題を解決するために、本発明に係る過仮想計算機システムおよび仮想計算機の制御方法では、複数の物理計算機と、物理計算機上で第１の仮想化機構の制御により動作する複数の第１の仮想計算機と、第１の仮想計算機上で第２の仮想化機構の制御により動作する複数の第２の仮想計算機と、物理計算機および第１の仮想化機構を管理する第１の管理装置と、第２の仮想計算機から送信される通信データを受信して、受信した通信データを第１の仮想計算機に送信する第２の仮想スイッチと、第１の仮想計算機から送信される通信データを受信して、受信した通信データを複製する第１の仮想スイッチと、第１の仮想スイッチで複製された通信データを受信して、受信した通信データを分析する通信データ分析部とを備える。
【００１７】
通信データ分析部は、第１の仮想計算機を識別する第１の識別子を第１の仮想スイッチから受信し、通信データを送受信する複数の第２の仮想計算機のグループに割り当てられるネットワークセグメントを識別するタグ情報を通信データから抽出し、第１の識別子とタグ情報との対応を第１の仮想化機構毎に管理するタグ分析部と、複製された通信データからタグ情報を抽出し、通信データが複数の第２の仮想計算機のグループ内で送受信されるハートビート通信データであるかを判定し、ハートビート通信データの検出結果とタグ情報との対応を第１の仮想化機構毎に管理するハートビートデータ分析部とを有する。
【００１８】
第１の管理装置は、全ての物理計算機の第１の仮想化機構に関する第１の識別子とタグ情報との対応をタグ分析部から取得し、全ての物理計算機の第１の仮想化機構に関するハートビート通信データの検出結果とタグ情報との対応をハートビート分析部から取得し、タグ情報と第１の識別子とハートビート通信データの検出結果との対応を管理するネットワーク構成情報を生成する１の仮想化機構管理部を有する。
【発明の効果】
【００１９】
本発明によれば，複数のホストＶＭ上に構築されたゲストＶＭの構成を把握しなくても，複数のゲストＶＭ間で確立されたホットスタンバイ構成の組合せを、検知することができる。
【図面の簡単な説明】
【００２０】
【図１】仮想化システム構成分析装置の構成。
【図２】多段仮想化技術を用いたデータセンタのシステム構成例。
【図３】多段仮想化技術を用いたデータセンタにおけるホットスタンバイ構成の冗長性確保方法の例を示した模式図。
【図４】通信データ分析部の構成図。
【図５】ホストＶＭＭ管理部の構成図。
【図６】仮想化システムのネットワーク構成図の一つの例。
【図７】仮想化システムのネットワーク構成図のもう一つの例。
【図８】ネットワーク（ＮＷ）構成テーブル。
【図９】タグ集計テーブル。
【図１０】ハートビート（ＨＢ）通信一覧テーブル。
【図１１】ＨＢ通信検出結果テーブル。
【図１２】本発明の処理概要を説明するシーケンス図。
【図１３】通信データ分析部によるタグ集計テーブル作成処理を説明するフローチャート。
【図１４】ホットスタンバイ構成分析部によるタグ集計テーブルの分析処理を説明するフローチャート。
【図１５】通信データ分析部によるＨＢ通信検出テーブル作成処理を説明するフローチャート。
【図１６】ホットスタンバイ構成分析部によるＨＢ通信検出結果テーブルの分析処理を説明するフローチャート。
【図１７】多段仮想化技術を用いたデータセンタにおけるホットスタンバイ構成の冗長性確保方法のもう一つの例を示した模式図。
【図１８】ホットスタンバイの動作を説明する図。
【図１９】通信データのフォーマットを説明する図。
【図２０】ホストＶＭ配置情報テーブル
【発明を実施するための形態】
【００２１】
以下，実施例を図面を用いて説明する。
【実施例１】
【００２２】
図１は、本発明の仮想化システム構成分析装置の、構成図の例である。
【００２３】
複数の物理サーバ１０１上には、それぞれサーバ仮想化を実現するハードウェア装置もしくはソフトウェアプログラムで構成されるホストＶＭＭ１０４が稼働している。ホストＶＭＭ１０４の制御によって、物理サーバ１０１内に複数のホストＶＭ１０７が生成されて稼働している。ホストＶＭＭ１０４は、仮想スイッチ１０５を有し，複数のホストＶＭ１０７の通信データを制御している。
【００２４】
各々のホストＶＭ１０７では、サーバ仮想化を実現するソフトウェアが稼働してゲストＶＭＭ１０８を構成している。ゲストＶＭＭ１０８によって、ホストＶＭ１０７内に１つまたは複数のゲストＶＭ１０９が生成されて稼働している。
【００２５】
ゲストＶＭ１０９は、ネットワークを通じて他のゲストＶＭ１０９とデータ通信を行う。この時、お互いに通信データをやり取りする複数のゲストＶＭ１０９同士がグループを構成しており、そのゲストＶＭ１０９のグループ毎に１つ以上のネットワークセグメントが割り当てられる。なお、通信データとは、やり取りされている全てのデータのことである。
【００２６】
複数のゲストＶＭ１０９が物理サーバ１０１で稼動している構成では、異なったネットワークセグメントの通信データが、１つの物理サーバ１０１のネットワークインターフェイスを共有する。このように、１つの物理サーバ１０１のネットワークインターフェイスを複数のネットワークセグメントが共有する方法として、ＶＬＡＮ技術がある。
【００２７】
ＶＬＡＮ技術では、それぞれの通信データ内に、どのネットワークセグメントで送受信されるかを示すＶＬＡＮタグを有し、ネットワークスイッチやサーバは、それぞれの通信データ内のＶＬＡＮタグを参照することで、どのネットワークセグメントの通信データかを判断して、通信処理を実行する。
【００２８】
本実施例では、複数のゲストＶＭ１０９にネットワークセグメントを割り当てる方法として、上記ＶＬＡＮ技術を使用する。つまり、ゲストＶＭ１０９が送受信する通信データは、ネットワークセグメントを示すＶＬＡＮタグを有している。
【００２９】
複数の物理サーバ１０１にネットワークで接続されているサーバ管理装置１０３は，物理サーバ１０１およびその上で稼働するホストＶＭＭ１０４を管理する。また、ホストＶＭ１０７の利用者のために例えば利用者数分用意されたＶＭ管理装置１０２は，それぞれ管理対象となるホストＶＭ１０７上のゲストＶＭＭ１０８およびゲストＶＭ１０９に対する制御を行う。
【００３０】
ホストＶＭＭ１０４内には、仮想スイッチ１０５と、通信データ分析部１０６とがある。仮想スイッチ１０５は、通信データを受け取ると、受け取った通信データを物理ＮＩＣ（図１には図示されない）へ送信すると同時に、複製部（図１には図示されない）により通信データを複製し、その複製した通信データを通信データ分析部１０６へ送信する。通信データ分析部１０６は、仮想スイッチ１０５を通過する通信データの複製を受取り，その複製した通信データのフォーマット等の内容を分析してホットスタンバイ構成の特定に必要な情報を抽出し，サーバ管理装置１０３に情報を送信する。
【００３１】
サーバ管理装置１０３は、物理サーバ管理部１１０とホストＶＭＭ管理部１１１を有する。ホストＶＭＭ管理部１１１は、ホットスタンバイ構成分析部１１２を有する。ホットスタンバイ構成分析部１１２は、複数のホストＶＭＭ１０４の通信データ分析部１０６から情報を受信し、受信した情報を集計することで、ホットスタンバイを構成するゲストＶＭ１０９が所属するホストＶＭ１０７の組合せを、特定する。
【００３２】
図４は、図１で示した通信データ分析部１０６の構成例である。
【００３３】
通信データ分析部１０６は，ホストＶＭＭ１０４から通信データを取得する通信データ取得部４０１，取得した通信データがどのネットワークセグメントで送受信されているかを示すＶＬＡＮタグ（以降、このＶＬＡＮタグをタグと呼ぶ）を分析するタグ分析部４０２，タグ分析部４０２が集計したタグ情報を記録するタグ集計テーブル４０３，取得した通信データからホットスタンバイ制御部１８０１が送受信するハートビート通信データ（以下、ＨＢ通信データ）を検出するＨＢデータ分析部４０４，ＨＢデータ分析部がＨＢ通信データを検出するために参照するＨＢ通信一覧テーブル４０５，ＨＢデータ分析部４０４によるＨＢ通信データの検出結果を格納するＨＢ通信検出結果テーブル４０６，通信データ分析部による分析結果が最終的に格納されるタグ集計テーブルをサーバ管理装置１０３へ送信するタグ集計テーブル送信部４０７を備える。なお、ＨＢ通信データとは、通信データの一種である。
【００３４】
なお，本実施例では、通信データ分析部１０６がホストＶＭＭ１０４内にある構成をとっているが，本発明はこの構成に限定されるものではない。例えば，通信データ分析部１０６がサーバ管理装置１０３のホストＶＭＭ管理部１１１内に構成されていてもよい。この場合，通信データ取得部４０１は、仮想スイッチ１０５からの通信データをネットワークを通して受信することで、本実施例の構成と同等の機能を実現できる。
【００３５】
図９に、通信データ分析部１０６中にあるタグ集計テーブル４０３の例を示す。
【００３６】
タグ集計テーブル４０３には、ホストＶＭ１０８の識別子であるホストＶＭ識別子９０１ならびにそのホストＶＭ１０８が送受信する通信データを分析して集計されたタグ４０３が、格納されている。
【００３７】
図１０に、通信データ分析部１０６中にあるＨＢ通信一覧テーブル４０５の例を示す。
【００３８】
ＨＢ通信一覧テーブル４０５には、ホットスタンバイ制御ソフトウェアの名称１００１およびそのソフトウェアが使用するＨＢ通信データ１００２のデータ列が、セットで格納されている。
【００３９】
図１１に、通信データ分析部１０６中にあるＨＢ通信検出結果テーブル４０６の例を示す。
【００４０】
ＨＢ通信検出結果テーブル４０６には、ネットワークセグメントを示すタグ１１０１およびそのネットワークセグメントでＨＢ通信が検出されたか否かの判定結果であるＨＢ通信検出結果１１０２が、格納される。なお、ＨＢ通信検出結果テーブル４０６は、物理サーバ１０１毎（すなわちホストＶＭＭ１０４毎）に作成される。
【００４１】
図５は、図１で示したサーバ管理装置１０３内にあるホストＶＭＭ管理部１１１の構成例である。
【００４２】
ホストＶＭＭ管理部１１１は，ホストＶＭＭ１０４の稼働の監視，ホストＶＭＭ１０４によって生成されたホストＶＭ１０７の管理，などを行うために様々な機能や情報を保持している。
【００４３】
ホストＶＭＭ管理部１１１は，ホストＶＭＭ１０４からの通信データを受信するデータ受信部５０１，受信したデータを分析しホットスタンバイ構成を特定するホットスタンバイ構成分析部１１２，分析結果を格納するＮＷ構成テーブル５０３，現在存在するホストＶＭ１０７の配置は属性データを格納したホストＶＭ一覧テーブル５０４，ホストＶＭ配置情報テーブル５０８、利用者が情報を見たり処理命令を入力したりする表示／入力装置５０７，ＮＷ構成テーブル５０３に格納された分析結果を表示／入力装置５０７に出力する出力部５０２，表示／入力装置５０７から入力された処理命令データを受け付ける入力部５０４，入力した処理命令データに基づいてホストＶＭＭ１０４に送信する制御コマンドを生成する制御コマンド生成部５０５，生成された制御コマンドをホストＶＭＭ１０４に送信する送信部５０６を有する。
【００４４】
図２０に、ホストＶＭ配置情報テーブル５０８の例を示す。ホストＶＭ配置情報テーブル５０８は、どのホストＶＭ１０７がどのホストＶＭＭ１０４上で稼動しているかの対応情報を格納したテーブルである。
【００４５】
ホストＶＭＭ１０４がホストＶＭＭ管理部１１１に登録された場合や、ホストＶＭＭ上にホストＶＭ１０７が生成された場合に、ホストＶＭＭ管理部１１１は、それら登録されたホストＶＭＭ１０４やホストＶＭ１０７に対してホストＶＭＭ識別子２００１やホストＶＭ識別子２００２を付与し、ホストＶＭ配置情報テーブル５０８にそれら識別子を登録する。
【００４６】
図８に、ホストＶＭＭ管理部１１１内にあるＮＷ構成テーブル５０３の例を示す。
【００４７】
ＮＷ構成テーブル５０３には、ネットワークセグメントを示すタグ８０１，そのネットワークセグメントに属するホストＶＭ１０８の識別子８０２ならびにそのネットワークセグメントでＨＢ通信が行われているかを示すＨＢ通信フラグ８０３が、格納されている。
【００４８】
以下，図１，図４，図５で示した仮想化システム構成分析装置の動作を説明するが，この説明の理解を助けるために，まず本発明の適用対象となる情報システムの例について説明する。
【００４９】
図２は、本発明の適用対象となる多段仮想化技術を用いた情報システムの構成例である。
【００５０】
複数の物理サーバ１０１内で、それぞれ仮想化機構（ホストＶＭＭ）１０４が稼働し，そのホストＶＭＭ１０４上に、複数の仮想サーバ（ホストＶＭ）１０７が稼働している。図２内では省略しているが，複数の物理サーバ１０１はそれぞれネットワークに接続されており，そのネットワークを経由してサーバ管理装置１０３と通信が可能となっている。
【００５１】
複数のホストＶＭ１０７上では、それぞれ仮想化機構（ゲストＶＭＭ）１０８が稼働し，そのゲストＶＭＭ１０８上に、複数の仮想サーバ（ゲストＶＭ）１０９が稼働する。さらに、１つまたは複数のゲストＶＭＭ管理装置１０２がネットワークに接続され，ゲストＶＭＭ１０８の管理を担う。
【００５２】
サーバ管理装置１０３は、主にデータセンタ運用管理者が使用することを想定し，物理サーバ１０１，ホストＶＭＭ１０４，ホストＶＭ１０７を管理対象とする。図２では、1台のサーバ管理装置１０３が上記管理対象全てを管理することを想定しているが，例えば複数の管理サーバ１０３を用意し，それらが管理対象を分担して受け持つ構成にしてもよい。
【００５３】
ゲストＶＭＭ管理装置１０２は、ホストＶＭを利用する利用者毎に用意され，その利用者が使用するホストＶＭ１０７上のゲストＶＭＭ１０８およびその上に起動されるゲストＶＭ１０９を、管理する。
【００５４】
この構成のシステムにおいて，２つもしくはそれ以上のゲストＶＭ１０９の間で、ホットスタンバイ構成２０１をとる。ホットスタンバイ構成２０１の動作を、図１８を参照しながら説明する。
【００５５】
ホットスタンバイ構成を組む現用系および予備系のゲストＶＭ１０９は，その中にホットスタンバイ制御部１８０１を持つ。予備系ゲストＶＭ１０９のホットスタンバイ制御部１８０１は、仮想ＮＩＣ６０８ｂを通して、現用系ゲストＶＭ１０９のホットスタンバイ制御部１８０１と定期的に通信を行うことで、現用系である相手ゲストＶＭ１０９が正常に稼働しているか否かを判定する。この定期的な通信を、ＨＢ通信と呼ぶ。このＨＢ通信の間隔は、例えば数秒単位であってもよいし、数分単位であってもよい。  予備系のゲストＶＭ１０９は、現用系のゲストＶＭ１０９からのＨＢ通信が一定時間以上途絶えると、現用系ゲストＶＭ１０９に異常が発生したと認識する。そして、予備系ゲストＶＭ１０９は異常が発生した現用系ゲストＶＭ１０９の代わりに自身が現用系となるために、系切替処理を開始する。
【００５６】
このように、ホットスタンバイ制御部１８０１が行うＨＢ通信は，対応する他のホットスタンバイ制御部１８０１との間のみで、通信を行う。そのため、他のアプリケーションからの通信データや、自分自身とホットスタンバイ構成２０１をとってない他のゲストＶＭ１０９にあるホットスタンバイ制御部１８０１からのＨＢ通信が送信されてくることのないように、別の専用ネットワークセグメント（プライベートネットワーク）として構築され，独自のアドレスが設定される。一方で、通常のアプリケーション１８０２がその他のサーバと通信するネットワークを、パブリックネットワークと呼ぶ。この２つのネットワークセグメントを接続するために，ゲストＶＭ１０９は、ゲストＶＭＭ１０８からそれぞれ別のネットワークセグメントに接続される２つの仮想ＮＩＣ（６０８ａ，６０８ｂ）の提供を受け，それぞれアプリケーションプログラム１８０２は仮想ＮＩＣ６０８ａのパブリックネットワークを，ホットスタンバイ制御部１８０１は仮想ＮＩＣ６０８ｂのプライベートネットワークを使用するよう設定する。
【００５７】
仮想ＮＩＣ６０８ａ，６０８ｂをゲストＶＭ１０９に提供するゲストＶＭＭ１０８は，内部にそれぞれの仮想ＮＩＣ（６０８ａ，６０８ｂ）を経由する通信データを集約または分配するための仮想スイッチ６０５を持つ。
【００５８】
仮想スイッチ６０５は、仮想ポート６０６を持ち，ゲストＶＭ１０９に提供した仮想ＮＩＣ６０８をその仮想ポート６０６のいずれかに接続する。仮想スイッチ６０５は、複数の仮想ＮＩＣ６０８からの通信データを識別するために，ＶＬＡＮタグ６０７をポートに対して設定するＶＬＡＮタグ設定部（図示しない）を有する。そして、仮想スイッチ６０５は，ゲストＶＭ１０９が仮想ＮＩＣ６０８に対して送信した通信データに対して対応する仮想ポート６０６に設定されたＶＬＡＮタグ６０７を付与して、ホストＶＭの仮想ＮＩＣ６０４に対して送信する。
【００５９】
図１９は、通信データフォーマットの例である。
【００６０】
通信データ１９０１は、ヘッダ１９０２および本体１９０３で構成される。仮想ポート６０６が設定するＶＬＡＮタグ６０７は、このうちヘッダ１９０２内の所定の位置に格納される。このようなＶＬＡＮタグ６０７を含んだ通信データ１９０１の具体的なフォーマットは，例えばＩＥＥＥ８０２．１Ｑとして制定されている。
【００６１】
このように、ＶＬＡＮタグ６０７が付加された通信データは，必要に応じて通信経路途中のスイッチで、そのＶＬＡＮタグ６０７を参照され，送付先が制限される。これにより、ホットスタンバイ制御部１８０１が接続されるネットワークセグメントには、ホットスタンバイ構成をとるゲストＶＭ１０９のホットスタンバイ制御部１８０１からのＨＢ通信用データのみが、送受信されることになる。したがって，このネットワークセグメントに通信データを送信しているホストＶＭ１０７の組合せは，それぞれにホットスタンバイ構成をとるゲストＶＭ１０９が存在することになる。
【００６２】
次に，上記説明を踏まえて本発明による仮想化システム構成分析装置の動作について説明する。
【００６３】
図６は、本発明の動作を説明するための多段仮想化技術を用いた情報システムの構成例である。
【００６４】
図１８を用いた説明で示したとおり，それぞれのゲストＶＭ１０９には、２つの仮想ＮＩＣ６０８が用意されている。ゲストＶＭ１０９が有する２つの仮想ＮＩＣ６０８は，それぞれ別のネットワークセグメントに、接続されている。ネットワークセグメントの設定は、ＶＭ管理装置１０２を通して、ゲストＶＭＭ１０８内の仮想スイッチ６０５に、ＶＬＡＮタグ６０７を設定することで実施する。
【００６５】
図６の構成例では、２つのゲストＶＭ１０９で構成されるホットスタンバイ構成が、２組ある。アプリケーションが使用するパブリックネットワークに対しては、ＶＬＡＮタグ６０７の値を１００に設定する。ホットスタンバイ制御部１８０１が使用するプライベートネットワークに対しては、ＶＬＡＮタグ６０７の値をそれぞれ１０２，１０４に設定している。
【００６６】
なお，ネットワークセグメントの設定は、図６、１８で示すようにゲストＶＭＭ１０８内の仮想スイッチ６０５で行うことに、限るものではない。たとえば，図７に示す構成例では、ゲストＶＭ１０９が，自分に割り当てられた仮想ＮＩＣ６０８に対してＶＬＡＮタグ６０７を設定する例を示している。ＶＬＡＮタグ６０７は、通信データのヘッダ１９０２内に設定されるデータであるため，ゲストＶＭ１０９が通信データの作成時に、ＶＬＡＮタグ６０７を通信データ内に設定しても構わない。
【００６７】
図６に示すこの構成例にもとづいて、本発明の仮想化システム構成分析装置の一連の動作を，図１２に示すシーケンス図を参照しながら説明する。
【００６８】
ゲストＶＭ１０９から発せられた通信データは、ゲストＶＭＭ１０８の仮想スイッチ６０５において、ポート６０６毎に設定されたＶＬＡＮタグ６０７を付加され，ホストＶＭＭ１０７内の仮想スイッチ１０５に入力される。通信データを受け取った仮想スイッチ１０５は、通信データを物理ＮＩＣ６０１へ送信すると同時に、複製した通信データを通信データ分析部１０６へ送付する（処理１２０１）。
【００６９】
複製された通信データを受け取った通信データ分析部１０６は，複製された通信データ内に付加されたＶＬＡＮタグを抽出し，タグ集計テーブル４０３へ抽出したＶＬＡＮタグの情報を追加する（処理１２０２）。なお、詳細は図１３を用いて後述する。
【００７０】
さらに、複製された通信データ１９０１内の本体１９０３とＨＢ通信一覧テーブル４０５のＨＢ通信データ欄１００２とを比較分析し，複製された通信データ１９０１のデータ列がＨＢ通信データのデータ列に該当する（Ｔ）か該当しない（Ｆ）かを判定する。その判定結果を、ＨＢ通信検出結果テーブル４０６に反映する（処理１２０３）。なお、詳細は図１５を用いて後述する。
【００７１】
そして，その処理を一定期間実行した後，タグ集計テーブル４０３とＨＢ通信検出結果テーブル４０６を、サーバ管理装置１０３内のホストＶＭＭ管理部１１１へ送付する（処理１２０４）。
【００７２】
ホストＶＭＭ管理部１１１は，自身の管理する複数のホストＶＭＭ１０４の通信データ分析部１０６から、タグ集計テーブル４０３およびＨＢ通信検出結果テーブル４０６を受信し，受信したタグ集計テーブル４０３とＨＢ通信検出結果テーブル４０６の内容を分析してＮＷ構成テーブル５０３を作成する（処理１２０５）。なお、詳細は図１４、１６を用いて後述する。
【００７３】
次に、ＮＷ構成テーブル５０３とホストＶＭ配置情報テーブル５０８とを用いて，ホットスタンバイ構成のサーバ冗長性が確保できるホストＶＭ１０７の配置修正案を導出する（処理１２０６）。
【００７４】
そして、導出したホストＶＭ１０７の配置修正案を、表示／入力装置５０７へ表示する（処理１２０７）。
【００７５】
そして、データセンタ運用管理者により表示／入力装置５０７へ入力された処理命令に応じて、制御コマンド生成部５０５がホストＶＭ１０７の配置変更を行うコマンドを生成し，ホストＶＭＭ１０４に送信する（処理１２０８）。
【００７６】
以下，この一連の動作の処理内容についてフローチャートを用いて詳細に説明する。
【００７７】
最初に，通信データ分析部１０６が有するタグ分析部４０２によるタグ集計テーブル４０３への情報追加処理の詳細を、図１３のフローチャートを用いて説明する。なお、図１３は、処理ステップ１２０２に相当する。
【００７８】
通信データ分析部１０６は、仮想スイッチ１０５から複製された通信データとその通信を行うホストＶＭ１０７のホストＶＭ識別子とを受信する（処理１３０１）。
【００７９】
通信データ分析部１０６は、処理１３０１で受信した複製された通信データから、ＶＬＡＮタグ６０７を抽出する（処理１３０２）。
【００８０】
そして，通信データ分析部１０６は、受信したホストＶＭ１０７のホストＶＭ識別子をキーとして、タグ集計テーブル４０３のホストＶＭ識別子９０１を検索する（処理１３０３）。
【００８１】
処理１３０３の検索において、キーとしたホストＶＭ識別子とタグ集計テーブル４０３のホストＶＭ識別子９０１とで一致するレコードが存在するかを判定する（処理１３０４）。
【００８２】
処理１３０４において、一致するレコードが存在しなかった場合、タグ集計テーブル４０３に新しいレコードを追加し，ホストＶＭ識別子９０１に受信したホストＶＭ識別子を格納する（処理１３０５）。
【００８３】
そして、そのレコードのタグ９０２に、受信したＶＬＡＮタグ６０７を格納する（処理１３０８）。
【００８４】
処理１３０４において、一致するレコードが見つかった場合，受信したＶＬＡＮタグ６０７をキーとして、レコード内のタグ欄９０２を検索する（処理１３０６）。
【００８５】
処理１３０６の検索において、受信したＶＬＡＮタグ６０７が、既にそのレコードのタグ９０２に存在するかを判定する（処理１３０７）。
【００８６】
処理１３０７において、受信したＶＬＡＮタグ６０７がレコードのタグ９０２にまだ格納されていない場合，受信したＶＬＡＮタグ６０７をそのレコードのタグ９０２に追加し，タグ集計テーブル４０３を更新する（処理１３０８）。
【００８７】
その後，以前処理１３１０によりタグ集計テーブル４０３を送信した時刻から所定時間を経過しているかどうかを判定する（処理１３０９）。なお、所定時間とは通信データ分析部１０６がタグ集計テーブル４０３をホットスタンバイ構成分析部１１２へ定期的に送信する際の時間間隔のことである。この所定時間は、通信データ分析部１０６が内部パラメータとして保持している。また、通信データ分析部１０６は、この所定時間の値をユーザが変更できる機能を有してもよい。
【００８８】
判定の結果、以前処理１３１０によりタグ集計テーブル４０３を送信した時刻から所定時間を経過していない場合、再び、仮想スイッチ１０５からの通信データおよびホストＶＭ識別子の受信処理である処理１３０１にもどる。
【００８９】
判定の結果、以前処理１３１０によりタグ集計テーブル４０３を送信した時刻から所定時間を経過している場合、タグ集計テーブル４０３をホストＶＭＭ管理部１１１へ送信し，タグ集計テーブル４０３のレコードを消去する。そして再び、仮想スイッチ１０５からの通信データおよびホストＶＭ識別子の受信処理である処理１３０１にもどる（処理１３１０）。
【００９０】
次に，通信データ分析部１０６からタグ集計テーブル４０３を受信したホストＶＭＭ管理部１１１の動作を，図１４に示すフローチャートを参照しながら説明する。なお、図１４は、処理ステップ１２０５に相当する。
【００９１】
ホストＶＭＭ管理部１１１のデータ受信部５０１は，通信データ分析部１０６からタグ集計テーブル４０３を受信する（処理１４０１）。ここで、ホストＶＭＭ管理部１１１におけるタグ集計テーブル４０３の受信間隔は、例えば１０分である。
【００９２】
タグ集計テーブル４０３を受信したデータ受信部５０１は、ホットスタンバイ構成分析部１１２に、タグ集計テーブル４０３を転送する。ホットスタンバイ構成分析部１１２は、受信したタグ集計テーブル４０３から、レコードを順番に抽出する（処理１４０２）。なお、ここで抽出したレコードを、以下の説明ではレコードＡと呼ぶ。
【００９３】
ホストＶＭＭ管理部１１１は、受信したタグ集計テーブル４０３内のすべてのレコードを、抽出したかを判定する（処理１４０３）。
【００９４】
処理１４０３において、受信したタグ集計テーブル４０３内のすべてのレコードを既に抽出済みの場合，再びタグ集計テーブル４０３の受信待ち（処理１４０３）に戻る。
【００９５】
処理１４０３において、新たなレコードＡを抽出できた場合，ホットスタンバイ構成分析部１１２は、そのレコードＡのタグ欄９０２からタグ情報を順番に抽出する（処理１４０４）。
【００９６】
ホストＶＭＭ管理部１１１は、レコードＡのタグ欄９０２に格納されている全てのタグ情報を、抽出し終えたかを判定する（処理１４０５）。
【００９７】
処理１４０５において、レコードＡのタグ欄９０２に格納されている全てのタグ情報を抽出し終わった場合，処理処理１４０２に戻る。
【００９８】
処理１４０５において、レコードＡのタグ欄９０２に格納されている全てのタグ情報を抽出し終わっていない場合、タグ情報を抽出したホットスタンバイ構成分析部１１２は、そのタグ情報をキーとして、ＮＷ構成テーブル５０３のタグ欄８０１から、該当するレコード（以下レコードＢと呼ぶ）を検索する（処理１４０６）。
【００９９】
ホストＶＭＭ管理部１１１は、処理１４０６の検索において、ＮＷ構成テーブル５０３のタグ欄８０１に、該当するレコードＢが存在するかを判定する（処理１４０７）。
【０１００】
処理１４０７において、該当するレコードＢが存在しない場合、ホストＶＭＭ管理部１１１は、ＮＷ構成テーブル５０３に新しいレコードを追加し，そのタグ欄８０１に検索に用いたタグ情報を格納する（処理１４０８）。
【０１０１】
処理１４０７において、該当するレコードＢが存在した場合，ホストＶＭＭ管理部１１１は、レコードＡ内のホストＶＭ識別子９０２をキーとして、レコードＢ内のホストＶＭ識別子欄８０２を検索する（処理１４０９）。
【０１０２】
ホストＶＭＭ管理部１１１は、レコードＡ内のホストＶＭ識別子と同じ識別子が、レコードＢ内のホストＶＭ識別子欄８０２に存在するかを、確認する（処理１４１０）。
【０１０３】
処理１４１０において、レコードＡ内のホストＶＭ識別子と同じ識別子がレコードＢ内に存在した場合、レコードＡ内の次のタグ情報を抽出する処理（処理１４０４）に戻る（処理１４１０）。
【０１０４】
処理１４０８の実行後，もしくは処理１４１０において、レコードＡ内のホストＶＭ識別子と同じ識別子がレコードＢ内に存在しなかった場合，レコードＡ内のホストＶＭ識別子をレコードＢのホストＶＭ識別子欄８０２に追加し，ＮＷ構成テーブル５０３を更新する。その後，レコードＡ内の次のタグ情報を抽出する処理（処理１４０４）に戻る（処理１４１１）。
【０１０５】
この一連の処理により，ホストＶＭＭ１０４の通信データ分析部１０６によって集計されたホストＶＭとタグ情報との関係を、ＮＷ構成テーブル５０３に反映することができる。そして，この反映されたＮＷ構成テーブル５０３から，タグ欄８０１の値で識別されるネットワークセグメントで通信を行っているホストＶＭ１０７の一覧を、特定できるようになる。
【０１０６】
次に、図１５および図１６のフローチャートを用いて，ＨＢ通信が行われているＮＷセグメントを分析する処理について説明する。
【０１０７】
まず、図１５のフローチャートを用いて、通信データ分析部１０６が有するＨＢデータ分析部４０４の処理について説明する。なお、図１５は、処理ステップ１２０３に相当する。
【０１０８】
通信データ分析部１０６は、仮想スイッチ１０５から複製された通信データを受け取る（処理１５０１）。
【０１０９】
通信データ分析部１０６のＨＢデータ分析部４０４は、受け取った複製された通信データからタグ情報を抽出する（処理１５０２）。
【０１１０】
ＨＢデータ分析部４０４は、抽出したタグ情報をキーとして、ＨＢ通信検出結果テーブル４０６を検索する（処理１５０３）。
【０１１１】
ＨＢデータ分析部４０４は、処理１５０３において検索したＨＢ通信検出結果テーブル４０６内に、抽出したタグが既に登録しているレコード（以降、レコードＣと呼ぶ）が存在するかを確認する（処理１５０４）。
【０１１２】
処理１５０４において、レコードＣが存在しなかった場合、ＨＢ通信検出結果テーブル４０６に新しいレコードを追加する。そして，そのタグ欄に、抽出したタグ情報を，ＨＢ通信検出結果欄１１０２にはＨＢ通信未検出であることを示す値（本明細書および図面ではＦとする）を格納する（処理１５０５）。
【０１１３】
処理１５０４において、該当するレコードＣが既に存在する場合，その抽出したレコードＣのＨＢ通信検出結果欄１１０２を確認し，ＨＢ通信検出済みであることを示す値（本明細書および図面ではＴとする）であれば処理を終了し，次の通信データ受信処理（処理１５０１）に戻る。
【０１１４】
ＨＢ通信検出結果１１０２の値がＦである場合，もしくは処理１５０５によって新しいレコードを追加した場合は，通信データの本体１９０１をキーにＨＢ通信一覧テーブル４０５のＨＢ通信データ欄１００２を検索する（処理１５０７）。
【０１１５】
ＨＢデータ分析部４０４は、処理１５０７において検索したＨＢ通信データ欄１００２内に、一致するレコード（以降レコードＤとする）が存在するかを判定する(処理１５０８）。
【０１１６】
処理１５０８において、一致するレコードＤが存在しない場合、後述する処理１５１０に移る。
【０１１７】
処理１５０８において、一致するレコードＤが存在した場合、ＨＢ通信検出結果欄４０５の値をＴに変更し，ＨＢ通信検出結果テーブルを更新する（処理１５０９）。
【０１１８】
次に，以前ＨＢデータ分析部４０４がＨＢ通信検出結果テーブル４０６をホストＶＭＭ管理部１１１に送付した時点から任意の所定時間を経過しているかを確認する。（処理１５１０）。
【０１１９】
処理１５１０において、所定時間を超えている場合、ＨＢデータ分析部４０４はＨＢ通信検出結果テーブル４０６をホストＶＭＭ管理部１１１へ送付し，処理を終了して通信データ受信処理（処理１５０１）に戻る（処理１５１１）。
【０１２０】
処理１５１０において、所定時間を超えていない場合、処理１５１１を行わず、ただちに処理１５０１に戻る。
【０１２１】
次に，通信データ分析部１０６からＨＢ通信検出結果テーブル４０６を受信したホストＶＭＭ管理部１１１の動作を，図１６に示すフローチャートを参照しながら説明する。なお、図１６は、処理ステップ１２０５に相当する。
【０１２２】
ホストＶＭＭ管理部１１１のデータ受信部５０１は，通信データ分析部１０６からＨＢ通信検出結果テーブル４０６を受信する（処理１６０１）。ホストＶＭＭ管理部１１１におけるＨＢ通信検出結果テーブル４０６の受信間隔は、前述の処理１５１０に記載されるように例えば任意の所定時間である。
【０１２３】
ＨＢ通信検出結果テーブル４０６をを受信したデータ受信部５０１は、ホットスタンバイ構成分析部１１２に、ＨＢ通信検出結果テーブル４０６を転送する。ホットスタンバイ構成分析部１１２は、受信したＨＢ通信検出結果テーブル４０６から、レコードを順番に抽出する（処理１６０２）。ここで抽出したレコードを以下の説明ではレコードＥと呼ぶ。
【０１２４】
ホットスタンバイ構成分析部１１２は、処理１６０２におけるレコードを全て抽出したかを判定する（処理１６０３）。
【０１２５】
処理１６０３において、ＨＢ通信検出結果テーブル４０６のレコードを全て抽出済みの場合、新しいレコードを抽出できないので、，処理を中止して通信データ分析部１０６からのデータ受信処理に戻る。
【０１２６】
処理１６０３において、ＨＢ通信検出結果テーブル４０６のレコードを全て抽出済みでない場合、新しいレコードＥを抽出したら，その中のＨＢ通信検出結果１１０２の値を確認する（処理１６０４）。
【０１２７】
ＨＢ通信検出結果１１０２の値がＦであれば、次レコードの抽出処理（処理１６０２）に戻る。
【０１２８】
ＨＢ通信検出結果１１０２の値がＴであれば、レコードＥ内のタグ欄１１０１からタグ情報を抽出する（処理１６０５）。
【０１２９】
次に，抽出したタグ情報をキーとして、ＮＷ構成テーブル５０３のタグ欄８０１を検索する。（処理１６０６）
ホットスタンバイ構成分析部１１２は、ＮＷ構成テーブル５０３のタグ欄に、抽出したタグ情報と一致する値を持つレコード（以降これをレコードＦと呼ぶ）が存在するかを判定する（処理１６０７）。
【０１３０】
処理１６０７において、該当するレコードＦが存在しない場合、ＮＷ構成テーブル５０３に新しいレコードを追加し，タグ欄８０１にタグ情報を格納する（処理１６０８）。
【０１３１】
処理１６０７において、該当するレコードＦが存在した場合，レコードＦ内のＨＢ通信フラグ欄８０３を確認する（処理１６０９）
処理１６０９において、確認したＨＢ通信フラグ欄の値がＴであった場合、処理を終了し，次のレコードＥ抽出処理（処理１６０１）に戻る。
【０１３２】
処理１６０９において、確認したＨＢ通信フラグ欄の値がＦであった場合，ならびに処理１６０８により新たなレコードＦを追加した場合，レコードＦのＨＢ通信フラグ欄８０３をＴに変更してＮＷ構成テーブルを更新し，再びレコードＥの抽出処理（処理１６０２）に戻る（処理１６１０）。
【０１３３】
この一連の処理により，ＮＷ構成テーブル５０３のＨＢ通信フラグには，タグ欄８０１の値で示されるネットワークセグメントでＨＢ通信が行われている場合はＴが，行われていない場合はＦが設定されることになり，それによってどのネットワークセグメントで
ＨＢ通信が行われているかが特定できる。
【０１３４】
つまり，このような処理で作成されたＮＷ構成テーブル５０３を参照し、ＨＢ通信フラグが「Ｔ」であるタグに対応づけられたホストＶＭ識別子の組を特定することで，ゲストＶＭの構成までもは把握しなくても、ホットスタンバイ構成を組むゲストＶＭが存在するホストＶＭ１０７の組み合わせを、把握することが可能となる。
【０１３５】
さて、ＮＷ構成テーブル５０３を用いて、ホットスタンバイ構成のサーバ冗長性を確保する構成変更例を図３を用いて説明する。
【０１３６】
図３の上半分の点線の枠組み内３０１は、冗長性確保前のシステム構成例を示す。図３の下半分の点線の枠組み内３０２は、冗長性確保後のシステム構成例を示す。
【０１３７】
構成変更前の構成例３０１では、２組のゲストＶＭ１０９間でホットスタンバイ構成が組まれている（２０１ａ，２０１ｂ）。この時，ホットスタンバイ構成２０１ａについては，その構成要素である２つのゲストＶＭ１０９が、同じ物理サーバ１０１上に配置されており，物理サーバの冗長性が確保されていない。一方で，もう一つのホットスタンバイ構成２０１ｂについては，その構成要素である２つのゲストＶＭ１０９は別の物理サーバに分散配置されており，物理サーバの冗長性が確保されている。
【０１３８】
また、図６に示すシステム構成例は、図３で示した冗長性確保前のシステム構成例３０１のうち、物理サーバ１および物理サーバ２について、システムの内部構成を示している。さらに図８および図２０は、それぞれ図６で示すシステム構成において実際に作成される、ＮＷ構成テーブル５０３およびホストＶＭ配置情報テーブルの内容を示す。
【０１３９】
以下、図３、６、８を用いて、ホストＶＭＭ管理部１１１がホットスタンバイ構成のサーバ冗長性を確保する構成変更案を導き出す過程を、説明する。
【０１４０】
ホストＶＭＭ管理部１１１は、ＮＷ構成テーブル５０３のＨＢ通信フラグ欄５０３を検索して、フラグがＴになっているネットワークセグメントを抽出する。
【０１４１】
図８の例では、１０２および１０５のタグ値を持つネットワークセグメントが抽出される。ＨＢ通信フラグがＴということは、ＨＢ通信が検出済みであることを意味する。したがって、１０２および１０５のタグ値を持つネットワークセグメントが、ホットスタンバイ構成のＨＢ通信に使用されていることがわかる。
【０１４２】
次に、抽出したネットワークセグメントに属するホストＶＭ１０７を特定するために、フラグがＴであるネットワークセグメント、即ち１０２および１０５のタグ値を持つネットワークセグメントに対応するホストＶＭ識別子欄８０２を、ＮＷ構成テーブルのから抽出する。
【０１４３】
図８の例では、タグ値１０２のネットワークセグメントには、ホストＶＭ識別子が１および２の、ホストＶＭ１０７が属することがわかる。この結果は、ホストＶＭ識別子が１及び２のホストＶＭ１０７上には、ホットスタンバイ構成をとるゲストＶＭ１０９がそれぞれ存在することを示している。なお、ホストＶＭ識別子が１及び２のホストＶＭ１０７上にゲストＶＭ１０９が存在することは把握しているが、ゲストＶＭ１０９の構成は把握していない。
【０１４４】
このようにして、ホットスタンバイ構成をとるゲストＶＭ１０９の組み合わせがわかるので、たとえば本例では、ホストＶＭ識別子が１であるホストＶＭ１０７及びホストＶＭ識別子が２であるホストＶＭ１０７を同じ物理サーバ１０１上で稼動させると、ホットスタンバイ構成をとる一対のゲストＶＭ１０９が同じ物理サーバ１０１上で稼動することになる。
【０１４５】
なお、タグ値１０５のネットワークセグメントには、ホストＶＭ識別子が４のホストＶＭ１０７が、属することがわかる。実際には、図３を参照すると、ホストＶＭ識別子が４のホストＶＭ１０７とホットスタンバイ構成２０１ｂを組んでいるホストＶＭ識別子が５のホストＶＭ１０７も、タグ値１０５のネットワークセグメントに属することも推定できる。ただし、以降では、タグ値１０３のネットワークセグメントに属するホストＶＭ１０７の組み合わせで説明をし、タグ値１０５のネットワークセグメントに属するホストＶＭ１０７の組み合わせについては説明を省略する。
【０１４６】
次に、ホストＶＭＭ管理部１１１は、図２０に示すホストＶＭ配置情報テーブル５０８を参照し、ホストＶＭ識別子が１のホストＶＭ１０７およびホストＶＭ識別子が２のホストＶＭ１０７が属するホストＶＭＭ１０４を、特定する。本例では、いずれのホストＶＭ１０７も、ホストＶＭＭ識別子が１１であるホストＶＭＭ１０４に属することがわかる。ホストＶＭＭ１０４と物理サーバ１０１とは、１対１に対応している。したがって、ホストＶＭ識別子が１のホストＶＭ１０７およびホストＶＭ識別子が２のホストＶＭ１０７は、ホストＶＭＭ識別子が１１であるホストＶＭＭ１０４が稼動している物理サーバ１上で、いずれも稼動していることになる。
【０１４７】
ここまでの分析の結果から以下の２点が把握できる。１点目は、本構成例のシステムで、ホットスタンバイ構成のサーバ冗長性を確保する目的のために、同じホストＶＭ１０４上で稼動させてはいけないホストＶＭ１０７の組み合わせとは、ホストＶＭ識別子が１のホストＶＭ１０７およびホストＶＭ識別子が２のホストＶＭ１０７であること。２点目は、ホストＶＭ識別子１のホストＶＭ１０７およびホスト識別子２のホストＶＭ１０７が、同じホストＶＭ１０４上で稼動していること。
【０１４８】
この結果に基づき、ホストＶＭＭ管理部１１１は、同じホストＶＭＭ１０４上で稼動しているホストＶＭ識別子が１のホストＶＭ１０７およびホストＶＭ識別子が２のホストＶＭ１０７のうちいずれか一方を、別のホストＶＭＭ１０４に移動させる。移動させるホストＶＭ１０７、およびその移動先となるホストＶＭＭ１０４の移動先については、任意の方法で選択してよい。例えば、図３に示す例では、ホストＶＭ識別子が２のホストＶＭ１０７とホストＶＭ識別子が３のホストＶＭ１０７とを交換しているが、その他の組み合わせでも問題ない。
【０１４９】
このようにして、ＮＷ構成テーブル５０３およびホストＶＭ配置情報テーブル５０８を用いて、ホットスタンバイ構成をとるゲストＶＭの組み合わせを同一サーバで稼動させないように制御することが可能となる。
【０１５０】
つまり、本発明を適用した実施例１によれば、ホットスタンバイ構成をとるゲストＶＭの所属するホストＶＭの組合せを検知可能となるので、たとえば公知の配置最適化の手段を適用し、検知したホストＶＭの組合せ情報に基づいてホストＶＭの物理サーバへの配置を制御し、ホットスタンバイ構成の物理サーバ冗長性を確保することができる。
【実施例２】
【０１５１】
本実施例では，ホットスタンバイ構成のサーバ冗長性を確保するためのホストＶＭ１０７の配置変更手段についての、もう一つの例を示す。ここでの説明は、実施例１と異なる部分のみ説明し，実施例１と同じ機能については説明を省略する。
【０１５２】
図１７は，サーバ冗長性を確保するためのＶＭ配置変更の、もう一つの例を示す。
【０１５３】
図１７中の上半分の点線の枠組み内１７０１は、本発明の手段による構成変更前のシステム構成例であり，下半分の点線の枠組み内１７０２は、構成変更後のシステム構成例である。ホストＶＭ１０７ｆ上のゲストＶＭ１０９と、ホストＶＭ１０７ｇ上のゲストＶＭ１０９との間で、ホットスタンバイ構成が組まれている。また同様に、ホストＶＭ１０７ｈ上のゲストＶＭ１０９と、ホストＶＭ１０７ｉ上のゲストＶＭ１０９との間で、ホットスタンバイ構成が組まれている。
【０１５４】
実施例１の図３による構成変更例では，構成変更前の構成例３０１ではサーバ冗長性を確保できていないホットスタンバイ構成２０１ａがあり，本発明の手段で同じサーバ１０１上に配置してはいけないホストＶＭ１０７の組合せを特定し，それを解消するようホストＶＭ１０７の配置を変更した。この場合，最初から複数のホストＶＭ１０７を１つのサーバ上に配置することが可能である反面，実際に運用を開始して本発明の手段を適用するまでの間はサーバ冗長性を確保できないホットスタンバイ構成が存在することになる。
【０１５５】
これに対し、実施例２の図１７に示す構成変更例では，各ホストＶＭ１０７を最初に全て別のサーバ上に配置することにより，運用開始時からサーバ冗長性を確保できないホットスタンバイ構成を作らない。そして運用を開始して本発明の手段を適用することで同一サーバ上に配置してはいけないホストＶＭ１０７の組合せを特定したら，そこから逆に同一サーバに配置して問題のないホストＶＭ１０７の組合せを導出し，それらを同じサーバ上に集約する。本実施例２では，初期状態では複数ホストＶＭ１０７を１つのサーバに集約できず，仮想化によるリソース利用効率向上を図れてないが，運用を開始してホットスタンバイ構成を分析できた後にホストＶＭ１０７を少数の物理サーバ上に集約して利用効率を上げることができる。この場合，初期状態から構成変更後に至るまでホットスタンバイ構成のサーバ冗長性は常に確保できる。
【０１５６】
なお，本発明は上記した実施例に限定されるものではなく，様々な変形例が含まれる。例えば，上記した実施例は本発明をわかりやすく説明するために詳細に説明した者であり，必ずしも説明した全ての構成を備えるものに限定されるものではない。また，ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり，また，ある実施例の構成に他の実施例の構成を加えることも可能である。また，各実施例の構成の一部について，他の構成の追加・削除・置換をすることが可能である。
【０１５７】
また，上記の各構成，機能，処理部，処理手段等は，それらの一部または全部を，例えば集積回路で設計する等によりハードウェアで実現してもよい。また，上記の各構成，機能等は，プロセッサがそれぞれの機能を実現するプログラムを解釈し，実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム，テーブル，ファイル等の情報を，メモリや，ハードディスク，ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置，またはＩＣカード，ＳＤカード，ＤＶＤ等の記録媒体に置くことができる。
【０１５８】
また，制御線や情報線は説明上必要と考えられるものを示しており，製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際にはほとんどすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１５９】
１０１  物理サーバ
１０２  ＶＭ管理装置
１０３  サーバ管理装置
１０４  ホストＶＭＭ
１０５  仮想スイッチ
１０６  通信データ分析部
１１１  ホストＶＭＭ管理部
１１２  ホットスタンバイ構成分析部
【図１】
2014032475.tif 000003
【図２】
2014032475.tif 000004
【図３】
2014032475.tif 000005
【図４】
2014032475.tif 000006
【図５】
2014032475.tif 000007
【図６】
2014032475.tif 000008
【図７】
2014032475.tif 000009
【図８】
2014032475.tif 000010
【図９】
2014032475.tif 000011
【図１０】
2014032475.tif 000012
【図１１】
2014032475.tif 000013
【図１２】
2014032475.tif 000014
【図１３】
2014032475.tif 000015
【図１４】
2014032475.tif 000016
【図１５】
2014032475.tif 000017
【図１６】
2014032475.tif 000018
【図１７】
2014032475.tif 000019
【図１８】
2014032475.tif 000020
【図１９】
2014032475.tif 000021
【図２０】
2014032475.tif 000022