(57)【要約】【課題】物理回線を使わないで仮想計算機間で通信する仮想計算機群が、異なるホストコンピュータに分散配置されることを防止し、外部ネットワークの帯域消費や信頼性低下を抑止する。【解決手段】物理コンピュータ上に形成された複数の仮想計算機と、仮想計算機間の通信処理を実行するハイパーバイザを備えた仮想計算機システムにおいて、ハイパーバイザに、複数の仮想計算機間の通信処理を監視する通信管理部と、仮想計算機間の依存度を判定する依存度判定部と、を有する。仮想計算機が異なるコンピュータに移行する場合、移行を要求された仮想計算機と依存度の強い仮想計算機が存在するかを判定し、その判定の結果、依存度の強い仮想計算機が存在する場合、移行要求に対して警告を出力する。【選択図】図１
2008299791.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理コンピュータが通信回線を介して接続され、かつ該物理コンピュータ上に形成することができる複数の仮想計算機と、該複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおいて、該ハイパーバイザに、該複数の仮想計算機間の通信処理を監視する通信管理部と、該通信管理部からの情報を用いて該仮想計算機間の依存度を判定する依存度判定部と、を備え、該依存度判定部による判定に応じて、ある物理コンピュータ上に形成された該仮想計算機を、同じ該物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示することを特徴とする仮想計算機システム。
【請求項２】
前記通信管理部は、該仮想計算機間の通信経路情報を保持し、
前記依存度判定部は、該通信経路情報を用いて仮想計算機間の依存度を判定することを特徴とする請求項１の仮想計算機システム。
【請求項３】
前記通信管理部は、該仮想計算機間の通信履歴情報を保持し、
前記依存度判定部は、該通信履歴情報を用いて仮想計算機間の依存度を判定することを特徴とする請求項１の仮想計算機システム。
【請求項４】
前記依存度判定部は、依存度を判定する少なくとも１つの条件を保持し、
前記ハイパーバイザは、前記依存度を判定する条件を変更する依存度条件設定部を有することを特徴とする請求項１乃至３のいずれかの仮想計算機システム。
【請求項５】
前記複数の物理コンピュータに接続され、該仮想計算機を管理する管理装置を有し、
該管理装置は、ある物理コンピュータ上に形成された該仮想計算機を、他の物理コンピュータに移行する要求、及び該依存度判定部の判定結果を入力する入力部と、該入力部より指定された、移行を要求された仮想計算機と依存度の強い仮想計算機が存在するかを判定する手段と、該判定手段による判定の結果、依存度の強い仮想計算機が存在する場合、該移行要求に対する警告を出力する出力部とを有する請求項１乃至４のいずれかの仮想計算機システム。
【請求項６】
前記管理装置は、該仮想計算機間の依存度情報を該出力部に出力することを特徴とする、請求項５の仮想計算機システム。
【請求項７】
前記依存度判定部は、移行により該仮想計算機が物理的な通信回線を用いて接続される、と判定した場合には、該仮想計算機を他の仮想計算機へ移行することを禁止することを特徴とする請求項２の仮想計算機システム。
【請求項８】
前記依存度判定部は、該通信履歴情報の有効期間と、通信頻度と、通信量の閾値に関する情報に基づいて該仮想計算機間の依存度を判定することを特徴とする請求項３の仮想計算機システム。
【請求項９】
複数の物理コンピュータが通信回線を介して接続され、かつ該物理コンピュータ上に形成することができる複数の仮想計算機と、該複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおける仮想計算機の管理方法であって、
該複数の仮想計算機間の通信処理を監視する通信管理ステップと、該仮想計算機間の依存度を判定する依存度判定ステップと、該通信管理に関連して該依存度の判定に応じて、ある物理コンピュータ上に形成された該仮想計算機を、同じ該物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示するステップと、を有することを特徴とする仮想計算機の管理方法。
【請求項１０】
前記通信管理ステップにおいて、該仮想計算機間の通信経路情報を保持しておき、保持された通信経路情報を用いて仮想計算機間の依存度を判定することを特徴とする請求項９の仮想計算機の管理方法。
【請求項１１】
前記通信管理部ステップにおいて、該仮想計算機間の通信履歴情報を保持しておき、保持された該通信履歴情報を用いて仮想計算機間の依存度を判定することを特徴とする請求項９の仮想計算機の管理方法。
【請求項１２】
複数の物理コンピュータが通信回線を介して接続され、かつ該物理コンピュータ上に形成することができる複数の仮想計算機と、該複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおいて、該ハイパーバイザ上で実行される仮想計算機の管理のためのプログラムであって、該複数の仮想計算機間の通信処理を監視する通信管理機能と、該仮想計算機間の依存度を判定する依存度判定機能と、該通信管理に関連して該依存度の判定に応じて、ある物理コンピュータ上に形成された該仮想計算機を、同じ該物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示する機能と、を実現することを特徴とする仮想計算機の管理のためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムに関し、特に、ある物理コンピュータ上に構築された仮想計算機が他の物理コンピュータに移行する場合における仮想計算機間の依存度の管理に関する。
【背景技術】
【０００２】
１台の物理サーバ上に複数業務を集約するサーバ仮想化技術では、プロセッサやメモリ、入出力装置などのハードウェアリソースの利用効率を上げるとともに、処理量に応じてリソース割当を変更することが可能である。計算機システムの過剰な初期投資を抑えることができることから、ハイエンドサーバのみでなくＰＣアーキテクチャにおいても、サーバ仮想化技術に対する期待が高まっている。１台の物理サーバ上に複数の仮想計算機を構築したとき、仮想計算機の間で動作上の相互依存性があると考えられる様々なアプリケーションを処理することがある。
【０００３】
たとえば、特許文献１（特開２００２−３４２２８０号公報）には、電子商取引において、物理サーバ上の区分内にあるオペレーティング・システム（ＯＳ）間での安全なメッセージ受け渡し方法が開示されている。仮想計算機間の通信を共用記憶域経由とすることにより、ネットワーク装置を用いずにメモリ速度で記憶内容を移動させることが可能である。
【０００４】
また、サーバ仮想化技術では、ある物理サーバ上で実行している仮想計算機を、他の物理サーバ上に移動させることができる。仮想計算機の移行は、ある仮想計算機の資源増強のために別の仮想計算機を異なるサーバへ移行する場合、サーバを保守予防する場合、或いはサーバに障害が発生した時の対策として実施される。マイグレーション中には通信と入出力操作を停止させることが多いが、特許文献２（特開２００５−３２７２７９号公報）に開示された仮想計算機マイグレーション方法によれば、通信キューを移動後の仮想計算機と共用するメモリに常駐させることにより、通信を失ったり、後続の通信を停止せずに、マイグレーションすることができる。
【０００５】
【特許文献１】特開２００２−３４２２８０号公報
【特許文献２】特開２００５−３２７２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
然るに、特許文献２に開示されるように、仮想計算機を移行するとき、物理回線を使わないで仮想計算機間通信している一方の仮想計算機を別のコンピュータに移行すると、仮想計算機間通信が物理回線経由となり、外部ネットワークの帯域を消費する。また、ネットワーク機器の故障やセキュリティ確保が困難になる（即ち外部から覗かれる）ため、信頼性が低下する。
【０００７】
本発明の目的は、コンピュータ上に構築される仮想計算機間の依存度を管理して、外部ネットワークの帯域消費や信頼性の低下を防ぐことにある。
本発明は、より具体的には、物理コンピュータ上に構築された仮想計算機間で物理回線を使わないで通信している仮想計算機群が、異なる他のコンピュータに分散することを防止することにある。
【課題を解決するための手段】
【０００８】
本発明に係る仮想計算機システムは、好ましくは、複数の物理コンピュータが通信回線を介して接続され、かつ物理コンピュータ上に形成することができる複数の仮想計算機と、複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおいて、ハイパーバイザに、複数の仮想計算機間の通信処理を監視する通信管理部と、通信管理部からの情報を用いて仮想計算機間の依存度を判定する依存度判定部と、を備え、依存度判定部による判定に応じて、ある物理コンピュータ上に形成された仮想計算機を、同じ物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示することを特徴とする仮想計算機システムとして構成される。
【０００９】
好ましい例では、前記通信管理部は、仮想計算機間の通信経路情報を保持し、前記依存度判定部は、通信経路情報を用いて仮想計算機間の依存度を判定する。
また、好ましくは、前記通信管理部は、仮想計算機間の通信履歴情報を保持し、前記依存度判定部は、通信履歴情報を用いて仮想計算機間の依存度を判定する。
また、好ましくは、前記依存度判定部は、依存度を判定する少なくとも１つの条件を保持し、前記ハイパーバイザは、前記依存度を判定する条件を変更する依存度条件設定部を有する。
【００１０】
また、好ましい例では、前記複数の物理コンピュータに接続され、仮想計算機を管理する管理装置を有し、管理装置は、ある物理コンピュータ上に形成された仮想計算機を、他の物理コンピュータに移行する要求、及び依存度判定部の判定結果を入力する入力部と、入力部より指定された、移行を要求された仮想計算機と依存度の強い仮想計算機が存在するかを判定する手段と、判定手段による判定の結果、依存度の強い仮想計算機が存在する場合、移行要求に対する警告を出力する出力部とを有する仮想計算機システムとして構成される。
好ましくは、前記管理装置は、仮想計算機間の依存度情報を出力部に出力する。
また、好ましくは、前記依存度判定部は、仮想計算機が物理的な通信回線を用いて接続される、と判定した場合には、仮想計算機を他の仮想計算機へ移行することを禁止する。
【００１１】
本発明に係る仮想計算機の管理方法は、好ましくは、複数の物理コンピュータが通信回線を介して接続され、かつ物理コンピュータ上に形成することができる複数の仮想計算機と、複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおける仮想計算機の管理方法であって、
複数の仮想計算機間の通信処理を監視する通信管理ステップと、仮想計算機間の依存度を判定する依存度判定ステップと、通信管理に関連して依存度の判定に応じて、ある物理コンピュータ上に形成された仮想計算機を、同じ物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示するステップと、を有することを特徴とする仮想計算機の管理方法として構成される。
【００１２】
また、本発明に係る仮想計算機の管理のためのプログラムは、好ましくは、複数の物理コンピュータが通信回線を介して接続され、かつ物理コンピュータ上に形成することができる複数の仮想計算機と、複数の仮想計算機間の通信処理を実行するハイパーバイザを有する仮想計算機システムにおいて、ハイパーバイザ上で実行される仮想計算機の管理のためのプログラムであって、複数の仮想計算機間の通信処理を監視する通信管理機能と、仮想計算機間の依存度を判定する依存度判定機能と、通信管理に関連して依存度の判定に応じて、ある物理コンピュータ上に形成された仮想計算機を、同じ物理コンピュータ内に形成された他の仮想計算機へ又は他の物理コンピュータに形成される仮想計算機へ移行することの可否を提示する機能と、を実現することを特徴とする仮想計算機の管理のためのプログラムとして構成される。
【発明の効果】
【００１３】
本発明によれば、コンピュータ上に構築される仮想計算機間の依存度を管理することができる。とりわけ、依存度の高い仮想計算機群の一部が他のコンピュータに移動することになった場合に警告を発して、物理回線を使わないで仮想計算機間で通信している仮想計算機群が異なるコンピュータに分散することを防止できる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の一実施例について説明する。
図１は、一実施例における仮想計算機システム１０の構成を概略的に示す。仮想計算機システム１０は、物理コンピュータ上に構築される複数の仮想計算機２００と、各仮想計算機２００間の通信を管理するハイパーバイザ３００を備えて構成される。なお、個別の仮想計算機についてそれぞれ２００１、〜２００ｎと示すことがある。
各仮想計算機２００はそれぞれ異なるＯＳを搭載して実行することができる。仮想計算機２００に搭載されるＯＳをゲストＯＳ２０１と呼ぶ。また、仮想計算機２００には、ゲストＯＳ２０１が使用する仮想通信装置２０２が備えられる。
【００１５】
ハイパーバイザ３００は、通信装置エミュレータ３０１と、複数の仮想計算機間の通信処理を監視する仮想計算機間通信管理部（以下、単に通信管理部という）３０４と、仮想計算機間の依存度を判定する仮想計算機依存度管理部（以下、単に依存度管理部という）３０５を有する。ハイパーバイザ３００は、仮想計算機２００が仮想通信装置２０２を用いて通信処理を実行するとき、データを送信先に渡すために仲介するコンポーネントである。上記通信管理部３０４及び依存度管理部３０５の機能については後で詳述する。なお、仮想計算機の同義語として、論理パーティションを言い換えた「ＬＰＡＲ」が用いられることもある。
【００１６】
図２は、仮想計算機システムが実現されるコンピュータシステムのハードウェアの構成を示す。
物理コンピュータとしての２台のホストコンピュータ１００１，１００２と、記憶装置４００と、管理装置５００が、ネットワークを介して接続される。ここで、ホストコンピュータ１００１，１００２を、総称して符号１００と表す。なお、記憶装置４００は、ホストコンピュータ１００内にあってもよい。
【００１７】
ホストコンピュータ１００は、通信装置１０１と、ＣＰＵ１０２と、メモリ１０３と、入力装置１０４と、表示装置１０５と、他のホストコンピュータ１００と記憶装置４００と管理装置５００との接続のためのインタフェース（Ｉ／Ｆ）１０６を有する。
管理装置５００は、ホストコンピュータ１００を使用している仮想計算機システム１０の制御を行うコンピュータであり、ホストコンピュータ１００と同様に、通信装置５０１と、ＣＰＵ５０２と、メモリ５０３と、入力装置５０４と、表示装置５０５と、ホストコンピュータ１００と記憶装置４００との接続のためのインタフェース（Ｉ／Ｆ）５０６を有する。
【００１８】
図３は、異なるホストコンピュータ上の仮想計算機間が物理回線を使って通信する場合のシステム構成を示す。ホストコンピュータ１００１と１００２は、通信回線１０７を介して接続される。ホストコンピュータ１００１には仮想計算機２００１、２００２，２００３が構築され、他方のホストコンピュータ１００２には仮想計算機２００４が構築されている。
【００１９】
例えば、同じホストコンピュータ１００１上の仮想計算機２００１と仮想計算機２００２の間で通信する場合、例えば仮想計算機２００１の仮想通信装置２０２からハイパーバイザ３００１に通信要求が送られ、仮想計算機２００２の仮想通信装置２０２との間で、例えばデータコピー等の処理を行うことができる。その際、ホストコンピュータ１００１の通信インタフェース１０６を経由することもあるが、ハイパーバイザ３００１の通信装置エミュレータ３０１が２つの仮想計算機２００１と２００２の仮想通信装置２０２として用意した通信バッファ間でデータをコピーすることがある。このような通信経路を使用する場合には、外部の通信回線１０７を介さないため、通信回線１０７が故障してもデータの通信が可能であり、本来の通信先以外の装置にデータが渡ったり、通信中にデータが改ざんされることは防止できる。
【００２０】
これに対して、例えば仮想計算機２００３と、仮想計算機２００４とが通信するときには、ホストコンピュータが異なるため、２つの仮想計算機間２００３，２００４で外部の通信回線１０７を通らなければならない。同様に、仮想計算機２００４が、仮想計算機ではなくて実際の計算機である場合にも、同様に通信回線１０７を通らねばならない。この場合には外部の通信回線１０７を通るので、同じホストコンピュータ内の仮想計算機間でバッファを経由して通信する場合に比べると、本来の通信先以外の装置にデータが送られるおそれがあったり、通信中にデータが改ざんされる場合もあり、データ通信の信頼性が低下する。
【００２１】
図４は、ハイパーバイザ３００の内部にある仮想計算機間通信管理部３０４の内部構成を概略的に示す。仮想計算機間通信管理部３０４は、通信経路情報３４１と、通信履歴情報３４２と、通信履歴処理プログラム３４３と、仮想計算機間の通信を実行する通信実行プログラム３４４を有する。これらの機能やプログラム等についてはそれぞれ後で詳述する。
【００２２】
図５は、ハイパーバイザ３００の内部にある仮想計算機依存度管理部３０５の内部構成を概略的に示す。仮想計算機依存度管理部３０５は、仮想計算機依存度判定条件３５１と、仮想計算機依存度情報３５２と、仮想計算機情報管理処理プログラム３５３と、仮想計算機依存度判定プログラム３５４とからなる。これらの機能やプログラム等についてはそれぞれ後で詳述する。
【００２３】
図６は、管理装置５００のメモリ５０３の内部構成を概略的に示す。メモリ５０３には、仮想計算機管理情報６０１と、仮想計算機依存度判定条件設定プログラム６０２と、仮想計算機管理プログラム６０３と、仮想計算機移行手続きプログラム６０４と、仮想計算機依存度情報表示プログラム６０５が記憶される。管理装置５００のＣＰＵ５０２（図２）は、仮想計算機依存度判定条件設定プログラム６０２と、仮想計算機依存度情報表示プログラム６０３と、仮想計算機移行手続きプログラム６０４と、をメモリ５０３から読み出して実行することにより、仮想計算機の構築に伴う各種処理を行う。これらの機能やプログラムについてはそれぞれ後述する。
【００２４】
図１４は、通信装置エミュレータ３０１内の、仮想計算機間２００間の通信経路の例を概略的に示す。通信装置エミュレータ３０１は、仮想計算機２００１における通信要求に従い、仮想通信装置２０２から通信データを受け取る。送信先の仮想計算機情報と、どの通信経路を使用するかの判定は仮想計算機間通信管理部３０４の通信実行プログラム３４４が実行する。例えば、直接メモリアクセス回路１４１０を使用すると、ＣＰＵ１０２の処理ステップを消費せずに、送信先仮想通信装置２０２にデータを渡すことができる。これとは別に、仮想通信装置間メモリコピー処理１４２０を使用すると、仮想通信装置２０２の送信元バッファから送信先バッファへＣＰＵ１０２がメモリコピーを処理する。さらに別に、データコピー処理１４３０を使用すると、データを一旦通信装置１０１にコピーし、そこから折り返して、送信先バッファにデータコピー処理１４３１を実行する。この通信経路を使用すると、仮想通信装置間メモリコピー処理１４２０を使用する場合と比較して、データコピー回数とＣＰＵ処理ステップ数が増大し、通信時間が増大する。
【００２５】
図７は、仮想計算機通信経路情報３４１（図４）の内容の一例を示す。
仮想計算機通信経路情報３４１は、仮想計算機システム１０の仮想計算機２００を識別する情報７１０と、情報７１０が示す仮想計算機２００と通信経路を有する可能性のある仮想計算機システム１０の仮想計算機２００を識別する情報７２０を有し、仮想計算機識別情報７１０と、仮想計算機識別情報７２０の組合せを示すフィールド７３０は、仮想計算機間の通信経路情報を有する。
【００２６】
本実施例では、ＬＰＡＲ１とＬＰＡＲ２の通信経路には直接メモリアクセス回路１４１０（図１４）を用い、ＬＰＡＲ２とＬＰＡＲ３の通信経路にはデータコピー処理１４３０および１４３１（図１４）を介す通信装置１０１を用い、ＬＰＡＲ３とＬＰＡＲ４の通信経路には物理回線１０７を用い、ＬＰＡＲ１とＬＰＡＲ４の通信経路には仮想通信装置間メモリコピー処理１４２０（図１４）を用いることを示している。仮想計算機間で通信しない構成のときには、通信経路がないという情報になる。
【００２７】
次に、図９及び図１７を参照して、管理装置５００における仮想計算機間の依存度条件設定処理６０２について説明する。
図１７は、仮想計算機依存度判定条件３５１(図５)の内容の一例を示す。
仮想計算機依存度判定条件３５１には、判定条件が、仮想計算機間通信経路に関するものか１７１０、通信履歴に関するものか１７２０、仮想計算機の識別情報を示して直接条件設定するものか１７３０、という条件種別を分けて登録する。条件種別毎に、条件項目を設定し、条件項目に対する仮想計算機間の依存度の強弱を条件値で示す。条件値が大きいほど、対応する条件項目の優先度が大きいものとする。
【００２８】
条件種別が仮想計算機間通信経路であるならば、通信装置エミュレータ３０１（図１４）の直接メモリアクセス回路１４１０と、仮想通信装置間メモリコピー処理１４２０と、通信装置内折り返しデータコピー処理１４３０および１４３１のどの経路を介して通信する仮想計算機間の依存度が強いかを示す数値を、エリア１７１０に設定する。
【００２９】
条件種別が通信履歴であるならば、通信履歴情報の有効期間とともに、通信頻度と、通信量の閾値と、これらに対応する仮想計算期間の依存度の関係を示す数値を、エリア１７２０に設定する。
また、仮想計算機の識別情報を直接指定して条件を設定する場合には、エリア１７３０を用いる。
上記エリア１７１０と１７２０と１７３０に新たな条件が設定されたとき、エリア１７４０に更新時刻をセットする。
【００３０】
図９を参照して、依存度条件設定処理６０２について説明する。
まず、管理装置メモリ５０３が、入力装置５０４から依存度判定条件更新要求を受信する（Ｓ９１０）。この要求には、条件種別と、条件項目と、条件値が含まれる。次に、要求の条件種別が通信経路であるかどうかを判定する（Ｓ９２０）。判定の結果、通信経路でないと判定された場合には、処理はＳ９４０に進む。一方、通信経路であると判定された場合には、処理はＳ９３０に進む。Ｓ９３０では、依存度判定条件３５１のエリア１７１０（図１７）に、条件項目としての経路情報と、条件値を格納する。
【００３１】
そしてＳ９４０で、要求の条件種別が通信履歴であるかどうかを判定する。その判定の結果、通信履歴でないと判定された場合には、処理はＳ９７０に進む。一方、通信履歴であると判定された場合には、処理はＳ９５０に進む。Ｓ９５０では、依存度判定条件３５１のエリア１７２０（図１７）に、仮想計算機通信履歴情報３４２に格納された情報の中から、使用する履歴情報の有効期間を格納する。続いて、通信履歴条件をエリア１７２０（図１７）に格納する（Ｓ９６０）。
【００３２】
その後、要求の条件種別が直接条件であるかどうかを判定する（Ｓ９７０）。その判定の結果、直接条件でないと判定された場合には、処理はＳ９９０に進む。一方、直接条件であると判定された場合には、処理はＳ９８０に進む。Ｓ９８０では、依存度判定条件３５１のエリア１７３０（図１７）に、仮想計算機を特定した依存度判定条件を格納する。
【００３３】
図１７のエリア１７３０の例では、ＬＰＡＲ１という仮想計算機識別子の仮想計算機２００１は、現在実行しているホストコンピュータ１００１と異なるホストコンピュータ１００２へ移行してもよいことを示す「×」を格納している。また、ＬＰＡＲ２という仮想計算機識別子の仮想計算機２００２は、現在実行しているホストコンピュータ１００１と異なるホストコンピュータ１００２へ移行しないことを示す「○」を格納している。さらに、ＬＰＡＲ３という仮想計算機識別子の仮想計算機２００３と、ＬＰＡＲ２という仮想計算機識別子の仮想計算機２００２とは、異なるホストコンピュータ１００２に分離することを禁止する条件を設定している。ここで、ＬＰＡＲ３とＬＰＡＲ２との仮想計算機識別子の仮想計算機２００３，２００２は、依存度が非常に強いことを表す。
【００３４】
その後、現在時刻を依存度判定条件３５１（図１７）の更新時刻エリア１７４０に格納し（Ｓ９９０）、依存度判定条件３５１が更新されたことを、ホストコンピュータ１００１の仮想計算機依存度管理部３０５（図５）に通知する（Ｓ９９５）。
この実施例によれば、仮想計算機システム１０で、仮想計算機２００間の依存度を判定する条件を設定することができる。
【００３５】
次に、図１０及び図１３を参照して、仮想計算機依存度管理部３０５における仮想計算機間の依存度判定処理３５４について説明する。
図１３は、仮想計算機依存度情報３５２（図５）の内容の一例を示す。フィールド１３１０とフィールド１３２０とには、仮想計算機システム１０で実行している仮想計算機２００の識別情報を登録している。仮想計算機依存度情報３５２では、フィールド１３１０とフィールド１３２０との格子フィールドに、２つの仮想計算機間の依存度情報を格納する。２つの仮想計算機識別情報が同一の仮想計算機２００を表す格子フィールドは、仮想計算機依存度判定条件３５１の直接条件エリア１７３０（図１７）にセットされている仮想計算機２００に設定された移行条件を格納する。
【００３６】
２つの仮想計算機識別情報のうち、フィールド１３１０で示す仮想計算機２００の識別情報が、フィールド１３２０で示す仮想計算機２００の識別情報より大きい格子フィールドには、仮想計算機依存度判定条件３５１の通信経路条件エリア１７１０（図１７）にセットされている通信経路条件に基づく依存度情報を格納する。
【００３７】
２つの仮想計算機識別情報のうち、フィールド１３１０で示す仮想計算機２００の識別情報が、フィールド１３２０で示す仮想計算機２００の識別情報より小さい格子フィールドには、仮想計算機依存度判定条件３５１の通信履歴条件エリア１７２０（図１７）にセットされている通信履歴条件に基づく依存度情報を格納する。
フィールド１３４０には、仮想計算機依存度情報の更新時刻を格納する。
【００３８】
図１０を参照して、仮想計算機依存度判定処理３５４について説明する。
まず、仮想計算機依存度判定処理プログラム３５４が、仮想計算機間の依存度判定要求を受け付ける（Ｓ１００５）。そして、仮想計算機依存度判定条件３５１の条件更新時刻１７４０（図１７）が、仮想計算機依存度情報３５２の依存度情報更新時刻１３４０より大きいかどうか判定する（Ｓ１０１０）。判定の結果、条件更新時刻１７４０（図１７）が、依存度情報更新時刻１３４０より大きくないと判定された場合には、処理Ｓ１０５０に進む。一方、条件更新時刻１７４０（図１７）が、依存度情報更新時刻１３４０より大きいと判定された場合には、処理Ｓ１０１５に進む。
【００３９】
Ｓ１０１５において、仮想計算機依存度判定条件３５１に直接条件が設定されているかどうか判定する。判定の結果、直接条件が設定されていないと判定された場合には、処理Ｓ１０５０に進む。一方、直接条件が設定されていると判定された場合には、処理Ｓ１０２０に進む。
【００４０】
Ｓ１０２０において、仮想計算機依存度判定条件３５１に設定されている直接条件が、移行禁止であるかどうか判定する。その判定の結果、直接条件が移行禁止でないと判定された場合には、処理Ｓ１０２５に進む。一方、直接条件が移行禁止であると判定された場合には、処理Ｓ１０２５に進む。Ｓ１０２５では、仮想計算機依存度情報３５２の、２つの仮想計算機識別情報が同一で、直接条件に一致している、フィールド１３１０とフィールド１３２０との格子フィールドに、移行禁止の「○」印を格納する。
【００４１】
Ｓ１０３０において、仮想計算機依存度判定条件３５１に設定されている直接条件が、移行推奨であるかどうか判定する。その判定の結果、直接条件が移行推奨でないと判定された場合には、処理Ｓ１０４０に進む。一方、直接条件が移行禁止であると判定された場合には、処理Ｓ１０３５に進む。Ｓ１０３５では、仮想計算機依存度情報３５２の、２つの仮想計算機識別情報が同一で、直接条件に一致している、フィールド１３１０とフィールド１３２０との格子フィールドに、移行推奨の「×」印を格納する。
【００４２】
Ｓ１０４０において、仮想計算機依存度判定条件３５１に設定されている直接条件が、分離不可条件であるかどうか判定する。その結果、直接条件に分離不可条件がないと判定された場合には、処理Ｓ１０５０に進む。一方、直接条件に分離不可条件があると判定された場合には、処理Ｓ１０４５に進む。Ｓ１０４５では、仮想計算機依存度情報３５２の、分離不可に指定された２つの仮想計算機識別情報に対応する、フィールド１３１０とフィールド１３２０との格子フィールドに、分離不可の「不可」印を格納する。
【００４３】
Ｓ１０５０において、仮想計算機通信経路情報３４１の更新時刻フィールド７４０が、仮想計算機依存度判定条件３５１の条件更新時刻１７４０（図１７）より大きいかどうか判定する。その結果、更新時刻フィールド７４０が、条件更新時刻１７４０（図１７）より大きくないと判定された場合には、処理Ｓ１０６５に進む。一方、更新時刻フィールド７４０が、条件更新時刻１７４０（図１７）より大きいと判定された場合には、処理Ｓ１０５５に進む。Ｓ１０５５では、仮想計算機通信経路情報３４１をチェックし、２つの仮想計算機間の最新の通信経路情報を取得する。そして、Ｓ１０５５で取得した通信経路情報に対応する、仮想計算機依存度判定条件３５１の通信経路条件１７１０をチェックし、対象の通信経路に指定された依存値を、指定された２つの仮想計算機識別情報に対応する、フィールド１３１０とフィールド１３２０との格子フィールドに格納する（Ｓ１０６０）。
【００４４】
次に、Ｓ１０６５において、仮想計算機依存度判定条件３５１の通信履歴条件１７２０の有効期間を取得し、仮想計算機間通信履歴情報３４２（図８）から、有効期間内の通信履歴情報を選択する。そして、Ｓ１０７０では、Ｓ１０６５で選択した通信履歴情報から、２つの仮想計算機の組合せ毎に通信回数を求め、有効期間あたりの通信回数を算出し、通信履歴条件１７２０の頻度条件より大きいかどうか判定する。その結果、通信頻度が、通信履歴条件１７２０の頻度条件より大きくないと判定された場合には、処理Ｓ１０８０に進む。一方、通信頻度が、通信履歴条件１７２０の頻度条件より大きいと判定された場合には、処理Ｓ１０７５に進む。Ｓ１０７５では、Ｓ１０７０で使用した、仮想計算機依存度判定条件３５１の通信履歴条件１７２０に指定された依存値を、指定された２つの仮想計算機識別情報に対応する、フィールド１３１０とフィールド１３２０との格子フィールドに格納する。
【００４５】
Ｓ１０８０では、Ｓ１０６５で選択した通信履歴情報から、２つの仮想計算機の組合せ毎に通信量を求め、有効期間内の通信量を加算する。そして、Ｓ１０８５において、Ｓ１０８０で求めた通信量が、通信履歴条件１７２０の通信量条件より大きいかどうか判定する。その判定の結果、通信量が、通信履歴条件１７２０の通信量条件より大きくないと判定された場合には、処理を終了する。一方、通信量が、通信履歴条件１７２０の通信量条件より大きいと判定された場合には、処理Ｓ１０９０に進む。Ｓ１０９０では、Ｓ１０８５で使用した、仮想計算機依存度判定条件３５１の通信履歴条件１７２０に指定された依存値を、指定された２つの仮想計算機識別情報に対応する、フィールド１３１０とフィールド１３２０との格子フィールドに格納する。
この実施例によれば、仮想計算機システム１０では、仮想計算機２００間の依存度を判定し、依存度情報を格納することができる。
【００４６】
次に、図８及び図１６を参照して、仮想計算機間通信管理部３０４における仮想計算機間の通信履歴生成処理３４３について説明する。
図８は、仮想計算機間通信管理部３０４（図４）の仮想計算機通信履歴情報３４２の内容の一例を示す。フィールド８１０には、送信元となる仮想計算機２００の識別情報を格納し、フィールド８２０には、通信データのサイズを格納し、フィールド８３０には、送信先の仮想計算機２００の識別情報を格納し、フィールド８４０には、仮想計算機間通信の発生時刻を格納する。
【００４７】
図１６を参照して、仮想計算機間通信履歴生成処理について説明する。
まず、通信履歴生成プログラム３４３が、通信実行プログラム３４４で仮想計算機間通信を完了したことを検知する（Ｓ１６１０）。すると、仮想計算機通信履歴情報３４２に、新しい履歴情報を格納するためのエントリを追加する（Ｓ１６２０）。次に、新エントリに、仮想計算機間通信履歴情報を格納する（Ｓ１６３０）。仮想計算機間通信履歴情報は、フィールド８１０の送信元仮想計算機識別情報と、フィールド８２０の通信サイズと、フィールド８３０の送信先仮想計算機識別情報と、フィールド８４０の通信発生時刻である。
【００４８】
続いて、通信実行プログラム３４４が使用した仮想計算機間の通信経路を取得する（Ｓ１６４０）。そして、Ｓ１６４０で取得した仮想計算機間の通信経路が、仮想計算機通信経路情報３４１（図７）に登録されている送信元と送信先仮想計算機に対応した通信経路と等しいかどうか判定する（Ｓ１６５０）。判定の結果、登録されている通信経路であると判定された場合には、処理を終了する。一方、登録されている通信経路とは異なると判定された場合には、処理はＳ１６６０に進む。
Ｓ１６６０では、仮想計算期間通信経路情報３４１（図７）の送信元と送信先の仮想計算機に対応する通信経路情報７３０を、Ｓ１６４０で取得した最新の経路情報に更新する。
【００４９】
上記の処理により、仮想計算機通信履歴情報３４２には、送信元仮想計算機ＬＰＡＲ１から５１２バイトを送信先仮想計算機ＬＰＡＲ２に時刻ｔ１に送った履歴と、送信元仮想計算機ＬＰＡＲ２から３２バイトを送信先仮想計算機ＬＰＡＲ１に時刻ｔ２に送った履歴と、送信元仮想計算機ＬＰＡＲ３から４０９６バイトを送信先仮想計算機ＬＰＡＲ４に時刻ｔ３に送った履歴と、が格納される。
この実施例によれば、仮想計算機システム１０において、仮想計算機２００間の通信履歴情報を保持することができる。また、仮想計算機間の通信経路が変更になっても、最新の通信経路情報を登録することができる。
【００５０】
次に、図１８及び図１９を参照して、管理装置５００における仮想計算機依存度情報表示処理６０３について説明する。図１９は、仮想計算機の依存度情報表示操作と、管理装置５００の表示装置５０５に表示する依存度情報表示画面の一例を示す。
【００５１】
図１８を参照して、仮想計算機依存情報表示処理について説明する。
まず、管理装置５００のＣＰＵ５０２が、入力装置５０４から依存度情報表示要求を受け付ける（Ｓ１８１０）。依存度情報表示画面１９００のフィールド１９１０は、この要求を入力するコマンドを示す。また、フィールド１９２０は、この要求に応えるための依存度情報表示フィールドである。
【００５２】
次に、ホストコンピュータ１００の仮想計算機依存度情報３５２（図１３）を入力する（Ｓ１８２０）。そして、仮想計算機依存度情報３５２をチェックし、移行推奨に指定されている仮想計算機識別情報を表示し、移行禁止に指定されている仮想計算機識別情報を表示し、分離不可に指定されている２つ以上の仮想計算機識別情報を表示する（Ｓ１８２５）。次に、仮想計算機依存度情報３５２で同一仮想計算機ペアの依存度の数値が複数あるか判定する（Ｓ１８３０）。その結果、依存度の数値が１つだけ登録されていると判定された場合には、処理Ｓ１８５０に進む。一方、依存度の数値が複数登録されていると判定された場合には、処理Ｓ１８４０に進む。
【００５３】
Ｓ１８４０では、仮想計算機依存度情報３５２に登録されている同一仮想計算機ペアの依存度の数値の中で、最大の値以外を消去する。そして、仮想計算機依存度情報３５２に登録されているすべての仮想計算機ペアの依存度の値を大きい順に、依存度情報表示画面１９００に表示する（Ｓ１８５０）。
【００５４】
上記した処理により、依存度情報表示フィールド１９２０に、移行推奨仮想計算機識別情報として、仮想計算期間依存度情報３５２に「×」印が登録されている「ＬＰＡＲ１」を、移行禁止仮想計算機識別情報として、仮想計算期間依存度情報３５２に「○」印が登録されている「ＬＰＡＲ２」を、分離不可の仮想計算機識別情報として、仮想計算機間依存度情報３５２に「不可」印が格納されている「ＬＰＡＲ２−ＬＰＡＲ３」を、依存関係情報として、依存度の大きい順に、ＬＰＡＲ１とＬＰＡＲ２が依存度８０、ＬＰＡＲ１とＬＰＡＲ４が依存度７０であることを表示することができる。
この実施例によれば、管理装置５００において仮想計算機２００の依存度情報を表示することができる。
【００５５】
次に、図１１及び図１２を参照して、管理装置５００における仮想計算機の移行手続き処理６０４について説明する。図１１は、仮想計算機の移行手続き処理の流れを示す。また、図１２は、仮想計算機の移行操作と、管理装置５００の表示装置５０５に表示される警告文の表示画面の一例を示す。
【００５６】
図１１を参照するに、まず、管理装置５００のＣＰＵ５０２が、入力装置５０４から仮想計算機の移行要求を受け付ける（Ｓ１１１０）。移行操作画面１２００のフィールド１２１０は、この要求を入力するコマンドである。また、フィールド１２２０は、この要求に応えるための移行手続き結果表示フィールドである。
【００５７】
次に、フィールド１２１０で入力した情報から、移行を要求された仮想計算機識別情報を取得する（Ｓ１１２０）。そして、仮想計算機依存度情報３５２を入力する（Ｓ１１３０）。次に、移行対象の仮想計算機が、仮想計算機依存度情報３５２で移行禁止仮想計算機に指定されているかを判定する（Ｓ１１４０）。その結果、移行禁止仮想計算機に指定されていると判定された場合には、Ｓ１１７５に進む。
Ｓ１１７５では、移行警告文として、「移行禁止仮想計算機に指定されている」という理由をセットする。一方、移行禁止仮想計算機に指定されていないと判定された場合には、処理はＳ１１５０に進む。
【００５８】
次に、Ｓ１１５０において、移行対象の仮想計算機が、仮想計算機依存度情報３５２で移行推奨仮想計算機に指定されているかを判定する（Ｓ１１５０）。その結果、移行推奨仮想計算機に指定されていると判定された場合には、処理Ｓ１１９０に進み、仮想計算機の移行処理を開始する。一方、Ｓ１１５０で、移行推奨仮想計算機に指定されていないと判定された場合には、処理Ｓ１１６０に進む。
【００５９】
Ｓ１１６０では、移行対象の仮想計算機が、仮想計算機依存度情報３５２で依存度の大きい仮想計算機ペアの情報があるかを判定する。その結果、例えば、依存度が５０より大きい仮想計算機ペアがないと判定された場合には、処理Ｓ１１９０に進む。一方、依存度が５０より大きい仮想計算機ペアがあると判定された場合には、処理はＳ１１７０に進む。Ｓ１１７０では、移行警告文として、「依存度の大きい仮想計算機が存在している」という理由をセットする。そして、指定の仮想計算機を移行することに関する警告文をフィールド１２２０に表示する（Ｓ１１８０）。その後、移行処理に合意する入力を検知すると（Ｓ１１８５）、処理Ｓ１１９０進む。
【００６０】
上記の処理により、ＬＰＡＲ２を移行する要求に対し、仮想計算機依存度情報３５２に、ＬＰＡＲ２とＬＰＡＲ１の通信経路から得た依存度が「８０」と高い数値が登録されていることから、図１２に示すように、表示画面のフィールド１２２０に、ＬＰＡＲ２の通信経路が分離不可条件に合致しているという警告文を表示することができる。
この実施例によれば、管理装置５００において、仮想計算機２００の移行要求に対する警告文を表示することができる。
【００６１】
次に、図１５及び図２０を参照して、仮想計算機依存度管理部３０５における仮想計算機の構成情報を管理する処理３５３について説明する。
図１５において、仮想計算機情報管理プログラム３５３が、仮想計算機システム１０の構成変更発生を検知すると（Ｓ１５１０）、次に、構成変更が、新たな仮想計算機の起動であるか判定する（Ｓ１５２０）。その結果、仮想計算機の起動でないと判定された場合には、処理Ｓ１５４０に進む。一方、仮想計算機の起動であると判定された場合には、処理はＳ１５３０に進む。Ｓ１５３０では、仮想計算機通信経路情報３４１（図４）に、新たに起動される仮想計算機の通信経路情報を追加登録する。
【００６２】
Ｓ１５４０において、構成変更が、仮想計算機の終了であるか判定する。その結果、仮想計算機の終了でないと判定された場合には、処理は終了する。一方、仮想計算機の終了であると判定された場合には、処理Ｓ１５５０に進む。Ｓ１５５０では、関連情報のエントリを削除する。即ち、仮想計算機通信経路情報３４１（図４）から、終了する仮想計算機の通信経路情報を削除し、仮想計算機通信履歴情報３４２（図４）から、終了する仮想計算機に関する通信履歴を削除し、仮想計算機依存度情報３５２（図５）から、終了する仮想計算機に関する依存度情報を削除し、仮想計算機依存度判定条件３５１（図５）から、終了する仮想計算機に関する直接条件を削除する。
【００６３】
図２０は、仮想計算機追加起動後の仮想計算機通信経路情報３４１（図４）の内容の一例を示す。本実施例では、ＬＰＡＲ５が追加になったとき、フィールド７５０を追加して、ＬＰＡＲ５が使用する通信経路が直接メモリアクセス回路であることを示す情報を格納している。
以上説明したように、仮想計算機システム１０では、仮想計算機２００の起動および終了に合わせて、仮想計算機間通信管理部３０４と仮想計算機依存度管理部３０５とが有する情報を、最新の仮想計算機の構成に更新することができる。
【００６４】
本実施例における仮想計算機の管理によれば、仮想計算機２００間の依存度を判定する条件を設定することができる。また、仮想計算機２００間の依存度を判定し、依存度情報を格納することができる。さらに、仮想計算機２００間の最新の通信経路情報を登録することができる。また、仮想計算機２００の起動および終了に合わせて、仮想計算機間通信管理部３０４と仮想計算機依存度管理部３０５とが有する情報を、最新の仮想計算機構成に更新することができる。
【００６５】
管理装置５００では、仮想計算機２００間の依存度情報を表示することができる。また、仮想計算機２００を移行する要求に対し、仮想計算機２００を異なるホストコンピュータ１００に移行することによって信頼性が低下する場合に、移行中止を促す警告文を表示することができる。
【図面の簡単な説明】
【００６６】
【図１】一実施例における仮想計算機システムの構成を示す図。
【図２】仮想計算機システムが実現されるコンピュータシステムのハードウェアの構成を示す図。
【図３】異なるホストコンピュータ上の仮想計算機間が物理回線を使って通信するシステム構成を示す図。
【図４】仮想計算機間通信管理部３０４の内部構成を示す図。
【図５】仮想計算機依存度管理部３０５の内部構成を示す図。
【図６】管理装置５００のメモリ５０３の内部構成を概略的に示す図。
【図７】仮想計算機通信経路情報の一例を示す図。
【図８】仮想計算機通信履歴情報の一例を示す図。
【図９】依存度条件設定処理の流れを示すフローチャート。
【図１０】仮想計算機依存度判定処理の流れを示すフローチャート。
【図１１】仮想計算機の移行手続き処理の流れを示すフローチャート。
【図１２】仮想計算機の移行操作と警告表示画面の一例を示す図。
【図１３】仮想計算機依存度情報の一例を示す図。
【図１４】仮想計算機間通信経路の属性を示す図。
【図１５】仮想計算機情報管理処理の流れを示すフローチャート。
【図１６】仮想計算機間通信履歴生成処理の流れを示すフローチャート。
【図１７】仮想計算機依存度判定条件の一例を示す図。
【図１８】仮想計算機依存情報表示処理の流れを示すフローチャート。
【図１９】仮想計算機の依存度情報表示操作と依存度情報表示画面の一例を示す図。
【図２０】仮想計算機の追加起動後の仮想計算機通信経路情報の一例を示す図。
【符号の説明】
【００６７】
１０：仮想計算機システム  １００：ホストコンピュータ  １０１：通信装置  １０２： ＣＰＵ  １０３：メモリ  １０４：入力装置  １０５：表示装置  １０６：インタフェース  １０７：物理回線ネットワーク  ２００：仮想計算機  ２０１：ゲストＯＳ  ２０２：仮想通信装置  ３００：ハイパーバイザ  ３０１：通信装置エミュレータ  ３０４：仮想計算機間通信管理部  ３０５：仮想計算機依存度管理部  ４００：記憶装置  ５００：管理装置  １４１０：直接メモリアクセス回路  １４２０：仮想通信装置間メモリコピー処理部  １４３０：通信装置データコピー処理部。
【図１】
2008299791.tif 000003
【図２】
2008299791.tif 000004
【図３】
2008299791.tif 000005
【図４】
2008299791.tif 000006
【図５】
2008299791.tif 000007
【図６】
2008299791.tif 000008
【図７】
2008299791.tif 000009
【図８】
2008299791.tif 000010
【図９】
2008299791.tif 000011
【図１０】
2008299791.tif 000012
【図１１】
2008299791.tif 000013
【図１２】
2008299791.tif 000014
【図１３】
2008299791.tif 000015
【図１４】
2008299791.tif 000016
【図１５】
2008299791.tif 000017
【図１６】
2008299791.tif 000018
【図１７】
2008299791.tif 000019
【図１８】
2008299791.tif 000020
【図１９】
2008299791.tif 000021
【図２０】
2008299791.tif 000022