(57)【要約】【課題】仮想機械の遠距離ホットマイグレーションを実現する。【解決手段】移動経路候補を複数抽出する候補経路抽出部２３と、複数の移動経路候補のそれぞれについて、各移動経路候補における管理部１３間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部２８と、仮想機械１４の動作を停止させることなく、仮想機械１４を、移動元管理部１３から移動経路に沿って移動先管理部１３へ順次移動させる移動制御部２４とを備える。【選択図】図１
2016051448.tif 000002
【特許請求の範囲】
【請求項１】
仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する候補経路抽出部と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる移動制御部と
を備えることを特徴とする、仮想機械管理装置。
【請求項２】
前記状態情報が前記移動経路候補において通過する前記管理部の数を示すホップ数であり、前記経路選択部が、前記ホップ数が小さい移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、請求項１記載の仮想機械管理装置。
【請求項３】
前記状態情報が前記複数の管理部間の遅延時間であり、前記経路選択部が、前記管理部間毎の前記遅延時間をそれぞれ第１の閾値と比較し、前記第１の閾値以上の遅延時間の数が少ない移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、請求項１または２記載の仮想機械管理装置。
【請求項４】
前記状態情報が前記複数の管理部間におけるデータ通信帯域の空き容量であり、前記経路選択部が、移動対象の前記仮想機械のデータ量に対する前記帯域の空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、請求項１〜３のいずれか１項に記載の仮想機械管理装置。
【請求項５】
前記状態情報が前記複数の管理部間のリソースの空き容量であり、前記経路選択部が、前記移動元管理部のリソースに対する前記リソースの空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、請求項１〜４のいずれか１項に記載の仮想機械管理装置。
【請求項６】
前記経路選択部が、複数種類の前記状態情報に基づく複数の評価用数値から評価値を算出し、当該評価値に基づき、前記複数の移動経路候補の中から前記移動経路を選択する
ことを特徴とする、請求項１〜５のいずれか１項に記載の仮想機械管理装置。
【請求項７】
複数種類の前記状態情報に基づく前記評価用数値に、それぞれ重み係数が設定される
ことを特徴とする、請求項６記載の仮想機械管理装置。
【請求項８】
前記移動経路に沿った前記移動元管理部から前記移動先管理部への前記仮想機械の移動途中に、前記仮想機械の移動が不可能となった場合に、前記候補経路抽出部によって抽出された前記複数の移動経路候補を参照して、前記仮想機械がある前記管理部から、前記移動先管理部へ移動可能な他の移動経路を選択する経路変更部を備え、
前記移動経路候補制御部が、前記経路変更部によって選択された前記他の移動経路に沿って、前記仮想機械を、当該仮想機械がある前記管理部から前記移動先管理部へ順次移動させる
ことを特徴とする、請求項１〜７のいずれか１項に記載の仮想機械管理装置。
【請求項９】
前記候補経路抽出部は、
前記移動元管理部を始点として、各管理部間の遅延時間が第２の閾値以下となる他の管理部を候補管理部として選択する処理を、前記候補管理部が前記移動先管理部に一致するまで繰り返し行なうことで、前記候補経路を抽出することを特徴とする、請求項１〜８のいずれか１項に記載の仮想機械管理装置。
【請求項１０】
仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する処理と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する処理と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる処理と
を備えることを特徴とする、仮想機械管理方法。
【請求項１１】
仮想機械を管理する複数の管理部と、
前記複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する候補経路抽出部と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる移動制御部と
を備えることを特徴とする、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想機械管理装置、仮想機械管理方法及び情報処理システムに関する。
【背景技術】
【０００２】
近年、ＶＭｗａｒｅ（登録商標）社のｖＳｐｈｅｒｅ（登録商標）やＭｉｃｒｏｓｏｆｔ（登録商標）社のＨｙｐｅｒ−Ｖ（登録商標）など、仮想化基盤（hyper visor：ＨＶ
）を使用したホットマイグレーション技術が普及しつつある。
ここで、ホットマイグレーションとは、ある仮想化基盤で動作している仮想マシン（virtual machine：ＶＭ）を、当該仮想マシンのサービス等の動作を停止させることなく、
他の仮想化基盤に移動させる技術である。
【０００３】
例えば、従来、メモリデータの転送によりホットマイグレーションが実現される。このような場合、移動元の仮想マシンのメモリのデータ内容を移動先の仮想化基盤に転送し（これを「メモリ転送」と呼ぶ）、切り替え可能となった瞬間に、移動元の仮想マシンと移動先の仮想マシンとの間でサービス等の切り替えを行なう。なお、このメモリ転送はＩＰ（Internet Protocol）ルーティングを用いて行なわれる。
【０００４】
現在、ホットマイグレーションは、ハードウェアのメンテナンスなどのため、仮想マシンを停止することなく同一データセンタ（Data Center：ＤＣ）内にマイグレーションする際に利用されることが多い。
しかし、クラウドの普及により、今後、北海道−九州間のホットマイグレーションや海外へのホットマイグレーションなど、ノード間の距離が長距離化することが予想される。
【０００５】
クラウド環境間での接続の機会が増加し、ＤＣ間での負荷分散をさせるために、複数のクラウド環境やＤＣをまたがる仮想マシンのホットマイグレーションが必要となることが予想される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１０３５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このようなケースを想定し、例えば、ｖＳｐｈｅｒｅには、Ｍｅｔｒｏ  ｖＭｏｔｉｏｎ（登録商標）と呼ばれる長距離ホットマイグレーション用ソリューションが存在する。
ＶＭｗａｒｅ  Ｍｅｔｒｏ  ｖＭｏｔｉｏｎは、仮想化基盤間の往復遅延時間が５ｍｓを超える場合でも、仮想マシンを停止させることなく仮想マシンを移動させることができる。
【０００８】
図３１は従来の情報処理システム２０１の構成図である。
情報処理システム２０１は、データセンタ（data center：ＤＣ）２１１−１〜２１１
−３をそなえる。
ＤＣ２１１−１は、ゲートウェイ（ＧＷ）２１２−１、仮想化基盤２１３−１及び仮想マシン２１４−１をそなえる。
【０００９】
ＤＣ２１１−２は、ＧＷ２１２−２及び仮想化基盤２１３−２をそなえる。
ＤＣ２１１−３は、ＧＷ２１２−３及び仮想化基盤２１３−３をそなえる。
なお、以下、ＤＣを示す符号としては、複数のＤＣのうち１つを特定する必要があるときには符号２１１−１〜２１１−３を用いるが、任意のＤＣを指すときには符号２１１を用いる。
【００１０】
また、以下、ＧＷを示す符号としては、複数のＧＷのうち１つを特定する必要があるときには符号２１２−１〜２１２−３を用いるが、任意のＧＷを指すときには符号２１２を用いる。
また、以下、仮想化基盤を示す符号としては、複数の仮想化基盤のうち１つを特定する必要があるときには符号２１３−１〜２１３−３を用いるが、任意の仮想化基盤を指すときには符号２１３を用いる。
【００１１】
ＤＣ２１１は、仮想化環境に対応したデータセンタであり、不図示の各種コンピュータやデータ通信用の装置をそなえている。
ＧＷ２１２は、ＤＣ２１１を各種ネットワークに接続するゲートウェイである。ＧＷ２１２は、例えば、ＤＣ２１１の代表となる一般的なルータである。
仮想化基盤２１３は、仮想マシン２１４を実現するための制御プログラムである。
【００１２】
仮想化基盤２１３としては、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｈｙｐｅｒ−Ｖ、ＶＭｗａｒｅ  ｖＳｐｈｅｒｅなどがあるが、他の仮想化基盤を使用することができる。
仮想マシン２１４−１は、コンピュータ内に構築された疑似的なコンピュータシステムである。仮想マシン２１４は、仮想化基盤２１３上で動作するOperating System（ＯＳ）及びアプリケーションであり、後述するように別の仮想化基盤２１３にホットマイグレーションされる。
【００１３】
図３２は情報処理システム２０１における一般的なホットマイグレーション処理を示すフローチャートである。
ステップＳ２０１において、管理者等から、仮想化基盤２１３−１に対してマイグレーション指示が発行される。
ステップＳ２０２において、仮想化基盤２１３−１，２１３−２間の接続が確立される。
【００１４】
ステップＳ２０３において、移動（マイグレーション）先の仮想マシン２１４−２の構成情報が設定される。
ステップＳ２０４において、ホットマイグレーションが実行される。このとき、仮想マシン２１４−１のメモリのデータ内容が、仮想化基盤２１３−１から仮想化基盤２１３−２に転送される。
【００１５】
ステップＳ２０５において、仮想マシン２１４−１のメモリが変更されているか、または、仮想マシン２１４−１のメモリを、仮想化基盤２１３−１から仮想化基盤２１３−２に、所定の閾値（例として１ｍｓ）以内に転送可能であるかどうかが判定される。
仮想マシン２１４−１のメモリが変更されておらず、且つメモリを１ｍｓ以内に転送可能でない場合（ステップＳ２０５のＮＯルート参照）、処理がステップＳ２０４に戻る。
【００１６】
一方、仮想マシン２１４−１のメモリが変更されているか、または、仮想マシン２１４−１のメモリを１ｍｓ以内に転送可能である場合（ステップＳ２０５のＹＥＳルート参照）、ステップＳ２０６において、仮想化基盤２１３−１から仮想化基盤２１３−２への最後のメモリ転送が実行される。その後、仮想マシン２１４−１で実行されているプロセス（サービス）が停止され、仮想マシン２１４−１が不図示の共有ストレージから切断される。
【００１７】
ステップＳ２０７において、移動先の仮想マシン２１４−２においてプロセス（サービス）が開始され、共有ストレージが仮想マシン２１４−２にマウントされる。
ステップＳ２０８において、仮想マシン２１４−２がReverse Address Resolution Protocol（ＲＡＲＰ）リクエストを送出し、不図示のスイッチ（ＳＷ）が持つテーブルの書
き換えを要求する。
【００１８】
ところで、ｖＭｏｔｉｏｎでは、仮想マシンを移動可能な仮想化基盤間の最大往復遅延時間が、所定の閾値（例えば１０ｍｓ）に制約される。このため、遅延時間が１０ｍｓを超えるような長距離でのホットマイグレーションを行なうことができない。
例えば、図３１に示す例では、ＤＣ２１１−１とＤＣ２１１−２とはレイテンシが小さい（距離が近い）ため、ＤＣ２１１−１の仮想マシン２１４−１をＤＣ２１１−２に、仮想マシン２１４−２としてホットマイグレーションすることが可能である。
【００１９】
しかし、ＤＣ２１１−１とＤＣ２１１−３とは、距離が遠いなどの理由によりレイテンシが１０ｍｓを超えるため、ＤＣ２１１−１の仮想マシン２１４−１をＤＣ２１１−３にホットマイグレーションすることはできない。
１つの側面では、本発明は、仮想機械の遠距離ホットマイグレーションを実現することを目的とする。
【課題を解決するための手段】
【００２０】
このため、この仮想機械管理装置は、仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する候補経路抽出部と、前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部と、前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる移動制御部とを備える。
【発明の効果】
【００２１】
一実施形態によれば、仮想機械の遠距離ホットマイグレーションを実現することができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態の一例としての情報処理システムの機能構成を示す図である。
【図２】実施形態の一例としての情報処理システムにおける移動経路候補の抽出方法を説明するための図である。
【図３】実施形態の一例としての情報処理システムにおけるホップ数管理テーブルを例示する図である。
【図４】実施形態の一例としての情報処理システムにおけるホップ数の計数方法を説明するためのフローチャートである。
【図５】実施形態の一例としての情報処理システムにおける仮想化基盤間レイテンシ計測テーブルを例示する図である。
【図６】実施形態の一例としての情報処理システムにおけるレイテンシがレイテンシ閾値以上のホップの合計数の計数方法を説明するためのフローチャートである。
【図７】実施形態の一例としての情報処理システムにおける仮想化基盤間帯域計測テーブルを例示する図である。
【図８】実施形態の一例としての情報処理システムにおける仮想化基盤間リソース計測テーブルを例示する図である。
【図９】実施形態の一例としての情報処理システムにおける重み付け係数テーブルを例示する図である。
【図１０】実施形態の一例としての情報処理システムにおけるEnd to End係数を例示する図である。
【図１１】実施形態の一例としての情報処理システムにおける移動経路候補を例示する図である。
【図１２】実施形態の一例としての情報処理システムの最適経路再選択部による移動経路の変更方法を説明するための図である。
【図１３】実施形態の一例としてのＧＷのハードウェア構成を示す図である。
【図１４】実施形態の一例としての仮想化基盤が実行されているサーバ及び管理サーバのハードウェア構成を示す図である。
【図１５】実施形態の一例としての情報処理システムにおけるサイトテーブルを例示する図である。
【図１６】実施形態の一例としての情報処理システムにおける仮想化基盤テーブルを例示する図である。
【図１７】実施形態の一例としての情報処理システムにおける仮想マシンテーブルを例示する図である。
【図１８】実施形態の一例としての情報処理システムにおけるサイト間テーブルを例示する図である。
【図１９】実施形態の一例としての情報処理システムにおける仮想化基盤稼働率情報テーブルを例示する図である。
【図２０】実施形態の一例としての情報処理システムにおける情報処理手法を説明するための図である。
【図２１】実施形態の一例としての情報処理システムにおける情報処理手法を説明するための図である。
【図２２】実施形態の一例としての情報処理システムにおけるレイテンシ計測処理を示すシーケンス図である。
【図２３】実施形態の一例としての情報処理システムにおけるレイテンシ計測処理を説明するためのフローチャートである。
【図２４】実施形態の一例としての情報処理システムにおける情報収集処理を説明するためのフローチャートである。
【図２５】実施形態の一例としての情報処理システムの複数経路選択部による移動経路候補の抽出手法を説明するためのフローチャートである。
【図２６】実施形態の一例としての情報処理システムにおけるホットマイグレーション処理を示す図である。
【図２７】実施形態の一例としての情報処理システムにおけるホットマイグレーション処理を示す図である。
【図２８】実施形態の一例としての情報処理システムにおけるホットマイグレーション処理を示す図である。
【図２９】実施形態の一例としての情報処理システムにおけるホットマイグレーション処理を示すフローチャートである。
【図３０】実施形態の一例としての情報処理システムにおける移動経路の他の選択方法を説明するための図である。
【図３１】従来の情報処理システムの構成図である。
【図３２】情報処理システムにおける一般的なホットマイグレーション処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本実施形態の一例を説明する。
（Ａ）構成
まず、本実施形態の一例の情報処理システム１の構成について説明する。
図１は実施形態の一例としての情報処理システム１の機能構成を示す図である。
情報処理システム１には、管理サーバ（仮想機械管理装置）２１、端末装置３１、管理ネットワーク（ＮＷ）４１及びｎ個（ｎは自然数）のＤＣ１１−１〜１１−ｎをそなえる。
【００２４】
以下の説明並びに図面において、ＤＣ１１−１をＤＣ＃１と、ＤＣ１１−２をＤＣ＃２と、ＤＣ１１−（ｎ−１）をＤＣ＃ｎ−１と、ＤＣ１１−ｎをＤＣ＃ｎと、それぞれ記載することがある。
ＤＣ１１−１は、ＧＷ１２−１、仮想化基盤（管理部）１３−１及び仮想マシン（仮想機械）１４−１をそなえる。同様に、ＤＣ１１−２は、ＧＷ１２−２及び仮想化基盤１３−２をそなえ、ＤＣ１１−（ｎ−１）は、ＧＷ１２−（ｎ−１）及び仮想化基盤１３−（ｎ−１）をそなえる。ＤＣ１１−ｎは、ＧＷ１２−ｎ及び仮想化基盤１３−ｎをそなえる。
【００２５】
なお、以下、ＤＣを示す符号としては、複数のＤＣのうち１つを特定する必要があるときには符号１１−１〜１１−ｎを用いるが、任意のＤＣを指すときには符号１１を用いる。
また、以下、ＧＷを示す符号としては、複数のＧＷのうち１つを特定する必要があるときには符号１２−１〜１２−ｎを用いるが、任意のＧＷを指すときには符号１２を用いる。
【００２６】
また、以下、仮想化基盤を示す符号としては、複数の仮想化基盤のうち１つを特定する必要があるときには符号１３−１〜１３−ｎを用いるが、任意の仮想化基盤を指すときには符号１３を用いる。
ＤＣ１１は、仮想化環境に対応したＤＣであり、不図示の各種コンピュータやデータ通信用の装置をそなえている。以下、ＤＣ１１のことをサイトという場合がある。
【００２７】
ＧＷ１２は、ＤＣ１１を後述する管理ネットワーク４１に接続するゲートウェイである。ＧＷ１２は、例えば、ＤＣ１１の代表となる一般的なルータである。
仮想化基盤１３は、仮想マシン１４を実現するための制御プログラムであり、仮想マシン１４を管理する管理部として機能する。
仮想化基盤１３としては、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｈｙｐｅｒ−Ｖ、ＶＭｗａｒｅ  ｖＳｐｈｅｒｅなどがあるが、他の仮想化基盤を使用してもよい。
【００２８】
仮想マシン１４は、コンピュータ内に構築された疑似的なコンピュータシステムである。仮想マシン１４は、仮想化基盤１３上で動作するＯＳ及びアプリケーションであり、後述するように管理サーバ２１の指示により、別の仮想化基盤１３にホットマイグレーションされる。
なお、本実施形態においては、１つのＤＣ１１に１つの仮想化基盤１３が実現される例を示している。これにより、仮想化基盤１３へのホットマイグレーションと、ＤＣ１１（サイト）へのホットマイグレーションとが同義であるものとする。
【００２９】
端末装置３１は、情報処理システム１の管理者またはオペレータが管理作業に使用する情報処理装置であり、例えば、一般的なパーソナルコンピュータ（ＰＣ）である。オペレータは、この端末装置３１を用いて、例えば、ホットマイグレーションの実行指示等、各種入力操作を行なう。
管理サーバ２１は、各ＧＷ１２、仮想化基盤１３及び仮想マシン１４（以下、これらをまとめて「ノード」とも呼ぶ）を管理する情報処理装置であり、例えば、サーバ機能をそなえたコンピュータである。管理サーバ２１は、端末装置３１経由で管理者（またはオペレータ）からの指示を受け取る。
【００３０】
管理ネットワーク４１は、ＤＣ１１−１〜１１−ｎ、管理サーバ２１間を接続する管理用のネットワークであり、通常業務に使用されるネットワークとは別個に設けられる。
例えば、ＤＣ１１−１とＤＣ１１−２とはレイテンシが小さい（ｖＳｐｈｅｒｅに代表されるソリューションの閾値未満）場合には、ＤＣ１１−１の仮想マシン１４−１をＤＣ１１−２に、仮想マシン１４−２として直接ホットマイグレーションすることが可能である。しかし、ＤＣ１１−１とＤＣ１１−ｎとは距離が遠いなどの理由によりレイテンシが閾値を超える場合には、ＤＣ１１−１の仮想マシン１４−１をＤＣ１１−ｎに一度でホットマイグレーションすることはできない。なお、以下の説明において、「距離が遠い」、「距離が近い」という表現を、それぞれ、ネットワーク上の「レイテンシが大きい」、「レイテンシが小さい」と同義で用いる。
【００３１】
また、ホットマイグレーションの可／不可の判断基準となる閾値を、以下、レイテンシ閾値という場合がある。例えば、ＶＭｗａｒｅ  ｖＭｏｔｉｏｎの場合はレイテンシ閾値は１０ｍｓである。
そこで、実施形態の一例においては、ＤＣ１１−１の仮想マシン１４−１をＤＣ１１−２に、仮想マシン１４−２として一旦ホットマイグレーションしたのち、仮想マシン１４−２をＤＣ１１−ｎにホットマイグレーションする。つまり、仮想マシン１４をホットマイグレーションする際に、一度で目的の仮想化基盤１３にマイグレーションするのではなく、複数の仮想化基盤１３を経由して目的の仮想化基盤１３に段階的にマイグレーションを行なう。ここで、中継される仮想化基盤１３を「経由地」と呼ぶ。
【００３２】
管理サーバ２１は、情報収集・管理部２２、複数経路選択部（候補経路抽出部）２３、マイグレーション通知部（移動制御部）２４、ＧＷインタフェース２５、仮想化基盤インタフェース２６、管理サーバ間インタフェース（連携部）２７、最適経路選択部（経路選択部）２８及び最適経路再選択部２９をそなえる。
情報収集・管理部２２は各種情報の収集及び管理を行なう。例えば、各ノードの情報やノード間の遅延時間（レイテンシ）を採取する。また、情報収集・管理部２２は、各仮想化基盤（ＨＶ）１３間（ホップ）の帯域やリソースの情報を採取する。
【００３３】
これらの情報の採取は、例えば、予めシステム管理者等によって設定・登録されたシステム仕様の情報を参照することにより取得したり、テスト用プログラムの実行や各種測定を行なうことで取得する。なお、これらの情報の採取は既知の手法で実現することができ、その詳細な説明は省略する。
また、情報収集・管理部２２は、収集した各種情報を、後述する管理テーブル５１〜５５（図１５〜図１９参照）等に格納する。
【００３４】
マイグレーション通知部２４は、仮想化基盤１３に対してホットマイグレーションの実行を指示する。
すなわち、マイグレーション通知部２４は、仮想マシン１４の動作を停止させることなく、仮想マシン１４を移動元の仮想化基盤１３から移動経路に沿って移動先の仮想化基盤１３へ順次移動させる移動制御部として機能する。
【００３５】
ＧＷインタフェース２５は、ＧＷ１２との情報の仲介を行なう。
仮想化基盤インタフェース２６は、仮想化基盤１３との情報の仲介を行なう。
管理サーバ間インタフェース２７は、図示しない他の管理サーバとインタフェースして連携させる。この管理サーバ間インタフェース２７による連携により、例えば、Ａｍａｚｏｎ社のＡｍａｚｏｎクラウドとＧｏｏｇｌｅ社のＧｏｏｇｌｅクラウド間のホットマイグレーションなど、クラウド間のマイグレーションが可能となる。
【００３６】
なお、図１には、便宜上、管理サーバ２１のみが図示されているが、図示しない他の管理サーバも管理サーバ２１と同様の機能構成をそなえることが望ましい。
複数経路選択部２３は、移動元の仮想化基盤１３から、複数の仮想化基盤１３を経由して目的の仮想化基盤１３（移動先の仮想化基盤１３）に、移動対象の仮想マシンの段階的なホットマイグレーションを行なう際の移動経路候補を選択する。また、複数経路選択部２３は、本情報処理システム１に備えられた複数のＤＣ１１（仮想化基盤１３）から、複数の移動経路候補を抽出する。
【００３７】
すなわち、複数経路選択部２３は、複数のＤＣ１１（仮想化基盤１３：管理部）のうちの、移動元のＤＣ１１（仮想化基盤１３）から移動先のＤＣ１１（仮想化基盤１３）までの複数の移動経路候補を抽出する候補経路抽出部として機能する。
図２は実施形態の一例としての情報処理システム１における移動経路候補の抽出方法を説明するための図であり、本情報処理システム１に備えられるＤＣ１１によって構成されるネットワーク構造を示す。
【００３８】
この図２に示すネットワーク構造においては、ＤＣ１１（仮想化基盤１３）を黒丸で示すとともに、データ通信可能なＤＣ１１間を実線で接続して示している。そして、これらのＤＣ１１間を接続される各線が、ＤＣ１１（仮想化基盤１３）間を接続する連結路を示す。以下、ネットワーク構造において、連結路を介したＤＣ１１間の接続をホップという場合がある。
【００３９】
この図２に示す例においては、符号Ａ〜Ｌ，ＺによりＤＣ１１（サイト）を示している。特に、サイトＡが仮想マシン１４の移動元（始点）のＤＣ１１であり、サイトＺが仮想マシン１４の移動先（終点）のＤＣ１１であるものとする。
すなわち、ホットマイグレーションにより、サイトＡの仮想マシン１４であるＶＭ−ＡをサイトＺへ移動させる。サイトＢ〜Ｌが経由地として機能するＤＣ１１である。なお、図２においては、レイテンシ閾値が１０ｍｓである例について示すものとする。
【００４０】
複数経路選択部２３は、以下に示す処理（ａ１）〜（ａ３）を行なうことで、複数の移動経路候補を抽出する。
（ａ１）複数経路選択部２３は、先ず、移動元であるサイトＡからレイテンシが１０ｍｓ以内の範囲にあるサイトの中で、Ａ−Ｚ間のレイテンシよりも小さいサイト（候補管理部）を移動先の候補（第１ホップ群）として選択する。
【００４１】
図２に示す例においては、第１ホップ群の候補サイトとしてサイトＢ，Ｃが選択されている。
（ａ２）複数経路選択部２３は、候補サイトとして選択された各サイト（第１ホップ群）に対して、上記処理（ａ１）と同様に、各サイトからレイテンシが１０ｍｓ以内の範囲にあるサイトの中で、Ａ−Ｚ間のレイテンシよりも小さいサイトを移動先の候補（第２ホップ群）として選択する。
【００４２】
以下、この処理（ａ２）と同様の処理を、第Ｎホップ群まで繰り返し行なう。
図２に示す例においては、例えばサイトＢについて、第２ホップ群の候補サイトとして、サイトＫ，Ｌ，Ｅが選択されており、サイトＫについて、第３ホップ群の候補サイトとして、サイトＬ，Ｈが選択されている。
（ａ３）複数経路選択部２３は、第Ｎホップ群に含まれるいずれかの候補サイトにおいて、その次ホップ（Ｎ＋１ホップ）群の探索中に終点であるサイトＺが抽出された場合に、当該候補サイトのＮ＋１ホップ群の探索を終了する。このように、次ホップの探索において、終点であるサイトＺが抽出された（サイトＺに到達した）時点で、一つの移動経路候補が抽出され、当該候補サイトに対する次ホップ群の探索を終了する。
【００４３】
サイトＺに到達するまでに上記処理（ａ１）及び（ａ２）で抽出された連続する一連の候補サイトは、移動経路候補として取り扱われる。
図２に示す例において、例えばサイトＨについての次ホップの探索においてサイトＺが抽出されている。すなわち、サイトＡ→Ｂ→Ｋ→Ｈ→Ｚの順で構成される移動経路候補が抽出される。抽出された移動経路候補の情報は、後述するホップ数管理テーブル８１（図３参照）に登録される。
【００４４】
複数経路選択部２３は、第Ｎホップ群の残りの候補サイトのそれぞれに対して、次ホップ（Ｎ＋１ホップ）群の探索を行なう。
なお、全ての次ホップ群の探索が終了した段階で、候補サイトの数によっては移動区間（Ａ−Ｚ）に移動候補の経路が複数存在しない場合がある。
なお、移動経路候補が１つも存在しない場合には、ホットマイグレーションを実施することができない。また、移動経路候補が１つしか抽出されない場合には、この移動経路候補が移動経路として用いられる。
【００４５】
最適経路選択部（経路選択部）２８は、複数経路選択部２３によって抽出された複数の移動経路候補の中から、一の移動経路を選択する。
この最適経路選択部２８は、複数経路選択部２３によって抽出された複数の移動経路候補のそれぞれについて、各移動経路候補に含まれる各ホップの状態を示す状態情報に基づいてEnd to End係数（評価値）を算出する。そして、最適経路選択部２８は、この算出したEnd to End係数に基づいて、複数の移動経路候補から移動経路を選択する。
【００４６】
最適経路選択部２８は、複数経路選択部２３によって抽出された複数の移動経路候補のそれぞれに対して、各移動経路候補に含まれる各ホップの状態を数値化し、評価用数値（状態情報）で表す。
具体的には、最適経路選択部２８は、１つ以上の判断項目について、各移動経路候補に含まれる各ホップの状態を数値化する。以下に示す例では、最適経路選択部２８は、判断項目１〜４の４つの判断項目について、それぞれ評価用数値を求める。
【００４７】
［判断項目１：ホップ数］
最適経路選択部２８は、各移動経路候補について、当該移動経路候補において通過するサイトの数を示すホップ数を計数する。すなわち、最適経路選択部２８は、評価用数値としてホップ数を計数する、ホップ数計数機能を有する。また、最適経路選択部２８は、計数した各移動経路候補のホップ数を、ホップ数管理テーブル８１に記録する。
【００４８】
図３は実施形態の一例としての情報処理システム１におけるホップ数管理テーブル８１を例示する図である。
この図３に例示するホップ数管理テーブル８１は、ＩＤ及び経路にホップ数を関連付けることにより構成されている。
ＩＤは移動経路候補を特定するための識別情報である。経路は当該移動経路候補に含まれる複数のサイト（ＤＣ１１）を、その始点から終点まで順に並べることで表される。この経路は、前述した複数経路選択部２３によって登録される。
【００４９】
実施形態の一例としての情報処理システム１におけるホップ数の計数方法を、図４に示すフローチャート（ステップＡ１〜Ａ３）に従って説明する。
本処理は、ホップ数管理テーブル８１に登録されている各移動経路候補に対して行なわれる。
最適経路選択部２８は、処理対象の移動経路候補について、ホップ数管理テーブル８１を参照して経路を読み出し、この経路に登録されている複数のサイトに対して、その始点サイト（移動元）から終点サイト（移動先，目的地）まで、以下に示す処理を順次行なう。
【００５０】
また、最適経路選択部２８は、変数であるホップ数カウントｉを用いてホップ数を計数する。
ステップＡ１において、最適経路選択部２８は、ホップ数カウントｉに０を設定することで初期化する。
ステップＡ２において、処理対象のサイト（現在地）が終点サイト（目的地）であるか否かを確認する。
【００５１】
処理対象のサイトが終点サイトでない場合には（ステップＡ２のＮＯルート参照）、ステップＡ３において、最適経路選択部２８は、ホップ数カウントｉをインクリメントする。その後、ステップＡ２に戻る。
ステップＡ２において、処理対象のサイトが終点サイトである場合（ステップＡ２のＹＥＳルート参照）、すなわち、経路において終点サイトに到達した場合に、最適経路選択部２８は、ホップ数カウントｉの値をホップ数管理テーブル８１に登録し、処理を終了する。
【００５２】
なお、最適経路選択部２８は、目的地までのホップ数が少ない移動経路候補を優先して移動経路として選択する。
［判断項目２：レイテンシ］
最適経路選択部２８は、各移動経路候補について、当該移動経路候補におけるサイト間（ホップ）の遅延時間（レイテンシ）をそれぞれ所定の基準閾値（レイテンシ評価閾値）と比較し、レイテンシ評価閾値以上であるホップの数を計数する。以下、移動経路候補におけるレイテンシがレイテンシ評価閾値以上であるホップの数を遅延ホップ数という場合がある。
【００５３】
すなわち、最適経路選択部２８は、評価用数値としてレイテンシ評価閾値以上のレイテンシを有するホップの数（遅延ホップ数）を計数する、遅延ホップ数計数機能を有する。
また、最適経路選択部２８は、計数した遅延ホップ数を、仮想化基盤間レイテンシ計測テーブル８２に記録する。
図５は実施形態の一例としての情報処理システム１における仮想化基盤間レイテンシ計測テーブル８２を例示する図である。
【００５４】
なお、図中、テーブル中における既述の項目と同じ項目は同様の内容を示しているので、その説明は省略する。
この図５に例示する仮想化基盤間レイテンシ計測テーブル８２は、複数の移動経路候補のそれぞれについて、経路に対して、各ホップでのレイテンシと、レイテンシがレイテンシ評価閾値以上のホップ数の合計（遅延ホップ数）とを関連付けることにより構成されている。
【００５５】
例えば、この仮想化基盤間レイテンシ計測テーブル８２の先頭に登録されている、Ａ→Ｃ→Ｄ→Ｇ→Ｊ→Ｚの移動経路候補において、１ホップ目（Ａ→Ｃ）のレイテンシは“３”であり、２ホップ目（Ｃ→Ｄ）のレイテンシは“１”である。また、３ホップ目（Ｄ→Ｇ）、４ホップ目（Ｇ→Ｊ）、及び５ホップ目（Ｊ→Ｚ）の各レイテンシは、それぞれ“２”、“１”、及び“９”である。
【００５６】
例えば、レイテンシ評価閾値を“８”とした場合に、最適経路選択部２８は、この各ホップのレイテンシをこのレイテンシ評価閾値（８）と比較する。
図５に例示する仮想化基盤間レイテンシ計測テーブル８２にＩＤ“１”として登録されている、Ａ→Ｃ→Ｄ→Ｇ→Ｊ→Ｚの移動経路候補においては、５ホップ目（Ｊ→Ｚ）のレイテンシ（９）がレイテンシ評価閾値（８）よりも大きい。従って、当該移動経路候補に対して、レイテンシがレイテンシ評価閾値以上のホップの合計数として“１”が設定される。
【００５７】
なお、各ホップのレイテンシは、例えば、前述した情報収集・管理部２２が、後述するサイト間テーブル５４（図１８参照）から読み出すことによって取得され、この仮想化基盤間レイテンシ計測テーブル８２に格納される。
実施形態の一例としての情報処理システム１におけるレイテンシがレイテンシ評価閾値以上のホップの合計数の計数方法を、図６に示すフローチャート（ステップＢ１〜Ｂ６）に従って説明する。
【００５８】
本処理は、ホップ数管理テーブル８１に登録されている各移動経路候補に対して行なわれる。
なお、最適経路選択部２８は、変数としてlatency［ｉ］，threshold_sum及びthresholdを用いる。ここで、latency［ｉ］には各ホップ間のレイテンシが設定され、threshold_sumにはレイテンシがレイテンシ評価閾値以上のホップの合計数が設定される。変数thresholdには、レイテンシ評価閾値が設定される。
【００５９】
ステップＢ１において、最適経路選択部２８は、変数latency［ｉ］及びthreshold_sumにそれぞれ０を設定することで初期化する。また、thresholdにレイテンシ評価閾値である８を設定する（threshold=8）。
最適経路選択部２８は、移動経路候補の経路の各サイトに対して、その始点サイトから終点サイト（目的地）まで、以下に示す処理を順次行なう。
【００６０】
ステップＢ２において、最適経路選択部２８は、変数latency［ｉ］に、サイト間のレイテンシを設定する。
ステップＢ３において、最適経路選択部２８は、latency［ｉ］がthreshold以上であるか否かを確認する。latency［ｉ］がthreshold以上である場合には（ステップＢ３のＹＥＳルート参照）、ステップＢ４において、threshold_sumの値に１を加算（インクリメント）する。
【００６１】
その後、ステップＢ５において、処理対象のサイト（現在地）が終点サイト（目的地）であるか否かを確認する。
処理対象のサイトが終点サイトでない場合には（ステップＢ５のＮＯルート参照）、ステップＢ６において、最適経路選択部２８は、カウント値iをインクリメントし、経路における次のサイトに移動した後、ステップＢ２に戻る。
【００６２】
ステップＢ５において、処理対象のサイトが終点サイトである場合（ステップＢ５のＹＥＳルート参照）、すなわち、経路において終点サイトに到達した場合に、threshold_sumの値を仮想化基盤間レイテンシ計測テーブル８２に登録し、処理を終了する。
また、ステップＢ３における確認の結果、latency［ｉ］がthreshold未満である場合にも（ステップＢ３のＮＯルート参照）、ステップＢ６に移行する。
【００６３】
なお、最適経路選択部２８は、レイテンシがレイテンシ評価閾値以上のホップの合計数が少ない移動経路候補を優先して移動経路として選択する。これにより、仮想化基盤１３間のレイテンシが大きい（例えば、９ｍｓ以上）ホップを含む移動経路候補が移動経路から除外される可能性を高くすることができ、ホットマイグレーションを確実に実行できるようになる。
【００６４】
［判断項目３：帯域幅］
最適経路選択部２８は、各移動経路候補について、当該移動経路候補において通過するサイト間（ホップ）の連結路（データ通信路）のデータ通信帯域の状態を数値化する。以下、サイト間の連結路のデータ通信帯域を、単に帯域という。
ここで帯域とはデータ通信性能を表し、例えば、データ通信速度で表すことができ、ｂｐｓ（bits per second）等の単位で表される。例えば、情報収集・管理部２２が、移動経路候補の各サイト間の連結路について、それぞれ帯域の空き容量、すなわち、ホットマイグレーションに使用可能な帯域幅を測定する。サイト間の帯域の空き容量は、例えば、ダミーデータを送信して通信に要した時間を測定する等の手法を用いて採取することができる。
【００６５】
最適経路選択部２８は、移動経路候補を構成する各ホップの帯域において、それぞれ移動元のリソース、すなわち、移動対象である仮想マシン１４のデータ量（移動元トラヒック量）の何倍の空き容量があるかを、帯域状態値として算出する。帯域状態値は以下の式により求められる。
帯域状態値=帯域の空き容量／移動元トラヒック量
すなわち、最適経路選択部２８は、評価用数値として帯域状態値を算出する帯域状態値算出機能を備える。
【００６６】
また、最適経路選択部２８は、移動経路候補を構成するホップ毎に算出した帯域状態値を、仮想化基盤間帯域計測テーブル８３に記録する。
図７は実施形態の一例としての情報処理システム１における仮想化基盤間帯域計測テーブル８３を例示する図である。
なお、図中、テーブル中における既述の項目と同じ項目は同様の内容を示しているので、その説明は省略する。
【００６７】
この図７に例示する仮想化基盤間帯域計測テーブル８３は、複数の移動経路候補のそれぞれについて、経路に対して、各ホップでの帯域状態値を関連付けることにより構成されている。
例えば、この仮想化基盤間帯域計測テーブル８３にＩＤ“３”として登録されている、Ａ→Ｂ→Ｋ→Ｈ→Ｚの移動経路候補において、１ホップ目（Ａ→Ｂ）の帯域状態値は“２”であり、２ホップ目（Ｂ→Ｋ）の帯域状態値は“０．２”である。また、３ホップ目（Ｋ→Ｈ）、及び４ホップ目（Ｈ→Ｚ）の各帯域状態値は、それぞれ“０．１”、及び“０．７”である。なお、ＩＤ“３”の移動経路候補には５ホップ目はないので、帯域状態値として“０”が登録されている。
【００６８】
また、この仮想化基盤間帯域計測テーブル８３には、各移動経路候補に対して帯域空き容量も関連付けられている。この帯域空き容量は、移動経路候補の各ホップでの帯域状態値の和を逆数にした値である。
例えば、ＩＤ“３”の移動経路候補においては、各ホップの帯域状態値の和は、２＋０．２＋０．１＋０．７＋０=３として求められる。
【００６９】
従って、上述の如く算出した各ホップの帯域状態値の和である“３”の逆数“１／３”がＩＤ“３”の移動経路候補の帯域空き容量となる。
この帯域空き容量は、１つの移動経路候補全体での帯域の空き状況を示す値であり、この帯域空き容量の値が小さい程、当該移動経路候補において移動トラヒック量に対する帯域の空き容量が多いことを示す。
【００７０】
最適経路選択部２８は、移動トラヒック量に対する帯域の空き容量が多い移動経路候補を移動経路として優先して選択する。
［判断項目４：リソース容量］
最適経路選択部２８は、各移動経路候補について、当該移動経路候補において通過するサイト間（ホップ）の連結路のリソースの状態を数値化する。
【００７１】
ここでリソースとは、例えば、データ転送に使用可能なバッファ容量である。最適経路選択部２８は、移動経路候補の各サイト間の連結路について、それぞれリソースの空き容量を測定する。
サイト間のリソースの空き容量は、例えば、情報収集・管理部２２がダミーデータを送信して通信に要した時間を測定する等の手法を用いて採取することができる。
【００７２】
最適経路選択部２８は、移動経路候補の各サイト間の連結路について、それぞれリソースの空き容量が、移動元のリソースの何倍であるか、すなわち、“空きリソース／移動元リソース量”をリソース状態値として算出する。
すなわち、最適経路選択部２８は、評価用数値としてリソース状態値を算出するリソース状態値算出機能を備える。
【００７３】
また、最適経路選択部２８は、算出したリソース状態値を、仮想化基盤間リソース計測テーブル８４に記録する。
図８は実施形態の一例としての情報処理システム１における仮想化基盤間リソース計測テーブル８４を例示する図である。
なお、図中、テーブル中における既述の項目と同じ項目は同様の内容を示しているので、その説明は省略する。
【００７４】
この図８に例示する仮想化基盤間リソース計測テーブル８４は、複数の移動経路候補のそれぞれについて、経路に対して、各ホップでのリソース状態値を関連付けることにより構成されている。
例えば、この仮想化基盤間リソース計測テーブル８４にＩＤ“３”として登録されている、Ａ→Ｂ→Ｋ→Ｈ→Ｚの移動経路候補において、１ホップ目（Ａ→Ｂ）のリソース状態値は“２”であり、２ホップ目（Ｂ→Ｋ）のリソース状態値は“０．５”である。また、３ホップ目（Ｋ→Ｈ）、及び４ホップ目（Ｈ→Ｚ）の各帯域状態値は、それぞれ“１”、及び“０．５”である。なお、このＩＤ“３”の移動経路候補には５ホップ目はないので、リソース状態値として“０”が登録されている。
【００７５】
また、この仮想化基盤間リソース計測テーブル８４には、各移動経路候補に対してリソース空き容量も関連付けられている。このリソース空き容量は、移動経路候補の各ホップでのリソース状態値の和を逆数にした値である。
例えば、ＩＤ“３”の移動経路候補においては、各ホップのリソース状態値の和は、２＋０．５＋１＋０．５＋０=４として求められる。
【００７６】
従って、上述の如く算出した各ホップのリソース状態値の和である“４”の逆数“１／４”がＩＤ“３”の移動経路候補のリソース空き容量となる。
このリソース空き容量は、移動経路候補におけるリソースの空き状況を示す値であり、このリソース空き容量の値が小さい程、移動トラヒック量に対するリソースの空き容量が多いことを示す。
【００７７】
最適経路選択部２８は、移動トラヒック量に対するリソースの空き容量が多い移動経路候補を移動経路として優先して選択する。
また、最適経路選択部２８は、上述した各判断項目について算出した評価用数値（ホップ数，遅延ホップ数，帯域空き容量及びリソース空き容量）に基づき、複数の移動経路候補の中から、一の移動経路を選択する。
【００７８】
具体的には、最適経路選択部２８は、上述した各判断項目の評価用数値を用いて、End to End係数（評価値）を算出する。
例えば、End to End係数（評価値）は、以下の式（１）により算出される。
End to End係数＝α×ホップ数＋β×遅延ホップ数＋γ×帯域空き容量
＋θ×リソース空き容量  ・・・（１）
ここで、α，β，γ，θは、各判断項目に対して設定される重み付け係数であり、判断項目の重要度（優先度）に応じて予め設定される。具体的には、ホップ数に対してαが、また、遅延ホップ数に対してβが、帯域状態値に対してγが、リソース状態値に対してθが、それぞれ設定される。
【００７９】
図９は実施形態の一例としての情報処理システム１における重み付け係数テーブル８５を例示する図である。
この図９に示す例においては、ホップ数に対する重み付け係数（α）として１．２が、遅延ホップ数に対する重み付け係数（β）として１．２が、帯域空き容量に対する重み付け係数（γ）として０．８が、リソース空き容量に対する重み付け係数（θ）として１．０が、それぞれ設定されている。
【００８０】
本実施形態においては、重要な判断項目に対してより値が小さな重み付け係数を設定するものとする。
なお、重み付け係数は、この図９に示した値に限定されるものではなく、適宜変更して実施することができる。また、重要ではないと判断する判断項目に対して、重み付け係数として０を設定してもよい。
【００８１】
図１０は実施形態の一例としての情報処理システム１におけるEnd to End係数を例示する図である。
この図１０に示す例においては、複数の移動経路候補に対して、ホップ数，遅延ホップ数，帯域状態値及びリソース状態値を示すとともに、これらの評価用数値に基づき上記式（１）を用いて算出したEnd to End係数を示している。
【００８２】
なお、図１０においては、各判断項目についての重み付け係数α，β，γ及びθがいずれも１である例を示している。
最適経路選択部２８は、複数の移動経路候補の中から、End to End係数の値が小さい移動経路候補を移動経路として優先して選択する。
従って、図１０に示す例においては、最適経路選択部２８は、これらの３つの移動経路候補の中から、End to End係数の値が最も小さい、Ａ→Ｃ→Ｄ→Ｇ→Ｊ→Ｚの移動経路候補を選択する。
【００８３】
ホットマイグレーション部１３４は、他の仮想化基盤１３への仮想マシン１４のホットマイグレーションを実行する。
ホットマイグレーション部１３４は、最適経路選択部２８によって選択された移動経路に従って、当該移動経路を構成する仮想化基盤に対しホットマイグレーションを実行する。
【００８４】
すなわち、ホットマイグレーション部１３４は、移動対象の仮想マシンを、移動元のＤＣ１１（仮想化基盤１３）から移動先のＤＣ１１（仮想化基盤１３）まで、選択された移動経路に従って、サイト（仮想化基盤１３）上を、順次、移動させる。
最適経路再選択部２９は、ホットマイグレーション部１３４によるホットマイグレーションの途中（移動途中）に何らかの不具合が発生し、ホットマイグレーションが中断した場合に、移動経路の変更（再探索）を行なう。
【００８５】
具体的には、最適経路再選択部２９は、ホットマイグレーションが中断した場合に、その中断時に移動対象の仮想マシンが存在するサイト（仮想化基盤１３；現在位置）に基づき、ホップ数管理テーブル８１を参照して、移動経路候補の中から、現在位置から移動可能な他の移動経路を検索する。
図１１は実施形態の一例としての情報処理システム１における移動経路候補を例示する図であり、移動経路候補の一部に障害が発生した状態を示す。また、図１２は実施形態の一例としての情報処理システム１の最適経路再選択部２９による移動経路の変更方法を説明するための図であり、複数の移動経路候補を示している。また、図１２に示す４つの移動経路候補は、それぞれ図１１に図示されている。
【００８６】
以下に示す例においては、複数の移動経路候補のうち、図１２において経路１として示されている移動経路が最適経路選択部２８により移動経路として選択されたものとし、更に、図１１に示すように、サイトＧとサイトＪとの間に障害が発生しているものとする。
ホットマイグレーション部１３４は、最適経路選択部２８によって選択された移動経路に従って、サイトＡの仮想マシンを、サイトＡ→サイトＣ→サイトＤ→サイトＧ→サイトＪ→サイトＺの順に移動させることで、ホットマイグレーションを実施する。
【００８７】
しかしながら、サイトＧとサイトＪとの間に障害が発生しているので、ホットマイグレーション部１３４は、サイトＧからサイトＪへのホットマイグレーションを行なうことができない。
ホットマイグレーション部１３４によるホットマイグレーションの実行途中において、ホットマイグレーションを実行ができなくなり中断した場合には、最適経路再選択部２９は、以下の処理（ｉ）〜（ｖｉ）を行なうことで、移動経路の変更を行なう。
【００８８】
（ｉ）最適経路再選択部２９は、ホットマイグレーション対象の仮想マシンの現在位置の確認を行なう。
本例においては、ホットマイグレーション対象の仮想マシンの現在位置はサイトＧである。以下、ホットマイグレーション対象の仮想マシンの現在位置のことを単に現在位置という場合がある。
【００８９】
また、最適経路再選択部２９は、障害が発生していると想定される箇所である障害被疑箇所の認定を行なう。
本例においては、サイトＧからサイトＪへのホットマイグレーションを行なうことができないので、サイトＪに障害の可能性がある、もしくはサイトＧとサイトＪとの間のインタフェースや通信路に障害の可能性があると判断する。すなわち、サイトＪ及びサイトＧとサイトＪとの間の経路を障害被疑箇所と判断する。
【００９０】
（ｉｉ）最適経路再選択部２９は、複数経路選択部２３によって選択された複数の移動経路候補の中から、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を探索する。
すなわち、最適経路再選択部２９は、ホップ数管理テーブル８１に基づいて他の移動経路候補を参照して、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を探索する。
【００９１】
複数の移動経路候補の中から、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を見つけることができた場合には、最適経路再選択部２９は、この移動経路候補を新たな移動経路として決定する。
図１２に示す例においては、経路２で示される移動経路候補が、現在位置であるサイトＧを通り、且つ、障害被疑箇所であるサイトＪ及びサイトＧとサイトＪとの間の経路を経由しない移動経路候補に該当する（符号Ｌ１参照）。
【００９２】
また、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補が複数見つかった場合には、最適経路再選択部２９は、上述した最適経路選択部２８と同様に、End to End係数の値が小さい移動経路候補を移動経路として優先して選択する。
（ｉｉｉ）一方、上記処理（ｉｉ）において、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を見つけることができなかった場合には、最適経路再選択部２９は、ホットマイグレーション部１３４に、移動経路において、現在位置より一つ前のサイトにホットマイグレーション対象の仮想マシンを戻させる。
【００９３】
ここで、図１２に示す例において、経路２で示される移動経路候補が存在しない、すなわち、現在位置であるサイトＧを通り、且つ、障害被疑箇所であるサイトＪ及びサイトＧとサイトＪとの間の経路を経由しない移動経路候補が存在しないものとする。
この場合、最適経路再選択部２９は、ホットマイグレーション部１３４に対して、現在選択されている移動経路である経路１において、現在位置であるサイトＧよりも一つ前のサイトＤに仮想マシンを移動させる（さかのぼる）。これにより新たな現在位置はサイトＤとなる。
【００９４】
（ｉｖ）最適経路再選択部２９は、この移動経路における一つ前のサイトを新たな現在位置として、上記処理（ｉｉ）と同様の処理を行なう。
すなわち、最適経路再選択部２９は、この移動経路における一つ前のサイトを新たな現在位置として、ホップ数管理テーブル８１に基づいて他の移動経路候補を参照して、現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を探索する。
【００９５】
最適経路再選択部２９は、ホップ数管理テーブル８１に基づいて他の移動経路候補を参照して、新たな現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を探索する。
図１２に示す例においては、経路４で示される移動経路候補が、新たな現在位置であるサイトＤを通り、且つ、障害被疑箇所であるサイトＪ及びサイトＧとサイトＪとの間の経路を経由しない移動経路候補に該当する（符号Ｌ２参照）。
【００９６】
（ｖ）複数の移動経路候補の中から、新たな現在位置を通り、且つ、障害被疑箇所を経由しない他の移動経路候補を見つけることができた場合には、最適経路再選択部２９は、この移動経路候補を新たな移動経路として決定する。
（ｖｉ）以下、最適経路再選択部２９は、他の移動経路候補を見つけることができない場合には、上記処理（ｉｉｉ），（ｉｖ）を繰り返し行なうことで、移動経路の変更を行なう。
【００９７】
すなわち、最適経路再選択部２９は、ホットマイグレーションの途中に仮想マシン１４の移動が不可能となった場合に、複数経路選択部２３によって抽出された複数の移動経路候補を参照して、仮想マシン１４がある仮想化基盤１３（ＤＣ１１）から、移動先の仮想化基盤１３（ＤＣ１１）へ移動可能な他の移動経路を選択する経路変更部として機能する。
【００９８】
そして、ホットマイグレーション部１３４は、最適経路再選択部２９によって新たに選択された移動経路に従い、現在位置からホットマイグレーションを再開する。
ＧＷ１２−１は、ＤＣ１１の代表となるルータとしての機能を実現するものであり、ＧＷ・ルータ部１２１、インタフェース部１２２、及び情報計測部１２３としての機能をそなえる。
【００９９】
ＧＷ・ルータ部１２１は、ＧＷ・ルータとしての一般的な機能を実現する。
インタフェース部１２２は、管理サーバ２１との情報の仲介を行なう。
情報計測部１２３は、管理サーバ２１からの指示により、他ノードとのレイテンシを計測する。例えば、情報計測部１２３は、他のノードにコマンド等を発行し、その応答が返される時間を測定することによりレイテンシを計測する。
【０１００】
なお、図１にはＧＷ１２−１の構成のみが図示されているが、ＧＷ１２−２〜１２−ｎもＧＷ１２−１と同様の機能構成をそなえる。このため、ＧＷ１２−２〜１２−ｎの機能構成については説明及び図示を省略する。
仮想化基盤（ＨＶ）１３−１は、仮想マシン１４を管理し、ホットマイグレーションを実現するための機能を有する。この仮想化基盤１３−１は、ＨＶ部１３１、仮想マシン情報管理部１３２、インタフェース部１３３、ホットマイグレーション部１３４、ＮＷ管理部１３５、イベント通知部１３６、仮想化リソース管理部１３７及び仮想化リソース制御部１３８としての機能をそなえる。
【０１０１】
ＨＶ部１３１は、仮想マシン１４−１の実行、リソース割り当てや管理など、仮想化基盤としての一般的な機能を実現する。
仮想マシン情報管理部１３２は、仮想化基盤１３−１の配下の仮想マシン１４−１に関する各種情報を管理する。
インタフェース部１３３は、管理サーバ２１−１との情報の仲介を行なう。
【０１０２】
ＮＷ管理部１３５は、仮想化基盤１３−１のネットワーク接続を管理する。
イベント通知部１３６は、ホットマイグレーション等のイベントの発生時に、そのイベントに関する情報を管理サーバ２１−１に通知する。
仮想化リソース管理部１３７は、管理サーバ２１−１等からの指示に従い、仮想化リソースを管理する。具体的には、仮想化リソース管理部１３７は、仮想化リソースの捕捉、仮補足、及び解放を行なう。なお、これらの処理は既知の手法を用いて実現することができ、その詳細な説明は省略する。
【０１０３】
仮想化リソース制御部１３８は、上述した仮想化リソース管理部１３７による仮想化リソースの捕捉、仮補足、及び解放や、上述したホットマイグレーション部１３４によるホットマイグレーションの実行等のイベントに応じて、仮想化リソース状態を制御する。なお、この仮想化リソース状態の管理は既知の手法を用いて実現することができ、その詳細な説明は省略する。
【０１０４】
なお、図１には仮想化基盤１３−１の構成のみが図示されているが、仮想化基盤１３−２〜１３−ｎも仮想化基盤１３−１と同様の機能構成をそなえる。このため、仮想化基盤１３−２〜１３−ｎの機能構成については説明及び図示を省略する。
仮想マシン１４−１は、仮想マシン部１４１、ホットマイグレーション処理部１４２、及び情報収集部１４３をそなえる。
【０１０５】
仮想マシン部１４１は、仮想マシン１４−１としての一般的な機能を実現する。
ホットマイグレーション処理部１４２は、他の仮想化基盤１３に仮想マシン１４−１自身をホットマイグレーションさせる。
情報収集部１４３は、仮想マシン１４−１に関する各種情報を収集する。
なお、図１には仮想マシン１４−１の構成のみが図示されているが、仮想マシン１４−２〜１４−４も仮想マシン１４−１と同様の機能構成をそなえる。このため、仮想マシン１４−２〜１４−４の機能構成については説明及び図示を省略する。
【０１０６】
なお、図１に示す例では、ＤＣ１１−１〜１１−ｎが、１つの管理ネットワーク４１に接続されているが、本構成は例示に過ぎず、これに限定されるものではない。
例えば、ＤＣ１１−１〜１１−ｎの一部を他のネットワークに接続する等、種々変形して実施することができる。
図１３は実施形態の一例としてのＧＷ１２のハードウェア構成を示す図である。
【０１０７】
ＧＷ１２は、ＣＰＵ６１、Random Access Memory（ＲＡＭ）６２、インタフェース部６３、パケット転送エンジン６４、ルーティングテーブル６５、フォワーディングテーブル６６、及びフローテーブル６７をそなえる。
ＣＰＵ６１は、後述するＲＡＭ６２等に格納されているプログラムを実行することにより、各種処理を実行する処理装置である。ＣＰＵ６１としては、公知のＣＰＵを用いることができる。
【０１０８】
ＲＡＭ６２は、ＣＰＵ６１が実行するプログラムや種々のデータや、ＣＰＵ６１の動作により得られたデータ等を格納する。
インタフェース部６３は、ＧＷ１２をネットワークに接続するためのインタフェースである。
パケット転送エンジン６４は、ＧＷ１２が受信したパケットを他の装置に転送する。
【０１０９】
ルーティングテーブル６５は、パケットの転送先を記憶しているテーブルである。
フォワーディングテーブル６６は、パケットの次の転送先を記憶しているテーブルである。
フローテーブル６７は、パケットのフローに関する情報を記憶しているテーブルである。
【０１１０】
なお、ＧＷ１２において、情報計測部１２３としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読み取り装置を介してプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０１１１】
情報計測部１２３としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ６２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ６１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
図１４は実施形態の一例としての仮想化基盤１３が実行されているサーバ及び管理サーバ２１のハードウェア構成を示す図である。
【０１１２】
仮想化基盤１３が実行されているサーバ及び管理サーバ２１は、ＣＰＵ７１、主記憶部７２、補助記憶部７３、通信制御部７４、インタフェース部７５、及び媒体リーダ７６をそなえる。
ＣＰＵ７１は、仮想化基盤１３や管理サーバ２１の基本機能を実現するシステムソフトウェアである不図示のＯＳ等を実行する処理装置である。後述する主記憶部７２等に格納されているプログラム（仮想機械管理プログラム）を実行することにより、各種処理を実行する。ＣＰＵ７１としては、公知のＣＰＵを用いることができる。
【０１１３】
主記憶部７２は、ＣＰＵ７１が実行するプログラムや種々のデータや、ＣＰＵ７１の動作により得られたデータ等を格納する。主記憶部７２としては、例えば、Hard Disk Drive（ＨＤＤ）を使用することができる。
補助記憶部７３は、ＣＰＵ７１がプログラムを実行する際に、データを一時的に記憶する記憶域である。補助記憶部７３としては、例えば、ＲＡＭを使用することができる。
【０１１４】
通信制御部７４は、インタフェース部７５を制御して、外部ネットワークとの通信の制御を行なう。
インタフェース部７５は、仮想化基盤１３や管理サーバ２１を外部のネットワークに接続するためのアダプタであり、例えば、Local Area Network（ＬＡＮ）カードである。
媒体リーダ７６は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記録媒体７７を読み出すドライブであり、例えば、ＣＤ−ＲＯＭドライブやＤＶＤ−ＲＯＭドライブである。
【０１１５】
また、情報収集・管理部２２、複数経路選択部２３、マイグレーション通知部２４、ＧＷインタフェース２５、仮想化基盤インタフェース２６、管理サーバ間インタフェース２７、最適経路選択部２８および最適経路再選択部２９としての機能を実現するためのプログラム（仮想機械管理プログラム）や、仮想化基盤１３としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体７７に記録された形態で提供される。そして、コンピュータはその記録媒体７７から媒体リーダ７６を介してプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体７７）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０１１６】
また、情報収集・管理部２２、複数経路選択部２３、マイグレーション通知部２４、ＧＷインタフェース２５、仮想化基盤インタフェース２６、管理サーバ間インタフェース２７、最適経路選択部２８および最適経路再選択部２９としての機能や、仮想化基盤１３としての機能を実現する際には、内部記憶装置（本実施形態では主記憶部７２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ７１）によって実行される。このとき、記録媒体７７に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１１７】
次に、図１５〜図１９を用いて、実施形態の一例としての情報処理システム１において使用される各種管理テーブル５１〜５５について説明する。
図１５は実施形態の一例としての情報処理システム１におけるサイトテーブル５１を例示する図である。
サイトテーブル５１は、各サイト（ＤＣ１１）の情報、並びにＤＣ１１のＧＷ１２のＩＰを保持するテーブルである。
【０１１８】
図１５に示すように、サイトテーブル５１は、サイトＩＤ（Site ID）５１１、サイト名（Site Name）５１２、及びＧＷ  ＩＰ５１３の各フィールドを有する。
サイトＩＤ５１１は、各サイト（ＤＣ１１）を一意に識別するサイトの識別子（ＩＤ）を格納している。
【０１１９】
サイト名５１２は、サイトの名前を格納している。
ＧＷ  ＩＰ５１３は、サイトの代表ＧＷ１２のＩＰアドレスを格納している。
サイトテーブル５１に格納される情報は、管理サーバ２１の要求に応じて、ＧＷ１２によって収集される。
図１６は実施形態の一例としての情報処理システム１における仮想化基盤テーブル５２を例示する図である。
【０１２０】
仮想化基盤テーブル５２は、仮想化基盤１３の情報を格納するテーブルである。
仮想化基盤テーブル５２は、ＨＶ  ＩＤ５２１、ＨＶ名（HV Name）５２２、ＨＶ  Ｉ
Ｐ５２３、サイトＩＤ（Site ID）５２４、レイテンシ（Latency）５２５、及び最終更新日（Latest）５２６の各フィールドを有する。
ＨＶ  ＩＤ５２１は、各仮想化基盤１２を一意に識別する仮想化基盤１２の識別子を格納している。
【０１２１】
ＨＶ名５２２は、仮想化基盤１２の名前を格納している。
ＨＶ  ＩＰ５２３は、仮想化基盤１２のＩＰアドレスを格納している。
サイトＩＤ５２４は、仮想化基盤１２が存在するサイト（ＤＣ１１）のＩＤを格納している。
レイテンシ５２５は、ＧＷ１２と仮想化基盤１３との間のレイテンシ（遅延時間）を格納している。前述のように、レイテンシの値は、例えば、コマンドの往復応答時間を測定することによって計測される。
【０１２２】
最終更新日５２６は、各フィールド５２１〜５２５の情報の最終更新日を保持している。
仮想化基盤テーブル５２に格納される情報は、管理サーバ２１の要求に応じて、ＧＷ１２の情報計測部１２３によって収集される。
図１７は実施形態の一例としての情報処理システム１における仮想マシンテーブル５３を例示する図である。
【０１２３】
仮想マシンテーブル５３は、仮想マシン１４の情報、並びに仮想マシン１４のリソース情報を保持するテーブルである。
仮想マシンテーブル５３は、ＶＭ  ＩＤ５３１、ＶＭ名（VM Name）５３２、ＣＰＵ使
用率（CPU）５３３、メモリ使用量（Mem）５３４、ＨＤＤ使用量（HDD）５３５、ＮＩＣ５３６、ＮＷ名（NW-Name）５３７、及びＨＶ  ＩＤ５３８等リソース使用量の各フィールドを有する。
【０１２４】
ＶＭ  ＩＤ５３１は、各仮想マシン１４を一意に識別する仮想マシン１４の識別子を格納している。
ＶＭ名５３２は、仮想マシン１４の名前を格納している。
ＣＰＵ使用率５３３は、各仮想マシン１４に割り当てられているＣＰＵの使用率（％）を格納している。
【０１２５】
メモリ使用量５３４は、各仮想マシン１４に割り当てられているメモリの使用量（例えば、ＧＢ）を格納している。
ＨＤＤ使用量５３５は、各仮想マシン１４に割り当てられているＨＤＤの使用量（例えば、ＧＢ）を格納している。
ＮＩＣ５３６は、各仮想マシン１４に割り当てられているNetwork Interface Card（ＮＩＣ）の識別子を格納している。
【０１２６】
ＮＷ名５３７は、仮想マシン１４が接続しているネットワーク（ＮＷ）のネットワーク名を格納している。
ＨＶ  ＩＤ５３８は、仮想マシン１４が存在する仮想化基盤１３のＩＤを格納している。
仮想マシンテーブル５３に格納される情報は、管理サーバ２１の要求に応じて、ＧＷ１２によって収集される。
【０１２７】
図１８は実施形態の一例としての情報処理システム１におけるサイト間テーブル５４を例示する図である。
サイト間テーブル５４は、ＤＣ１１間のレイテンシ（遅延時間）を格納しているテーブルであり、ＤＣ１１毎にテーブルが作成される。
サイト間テーブル５４は、各サイト（ＤＣ１１）毎に、ＤＳＴサイトＩＤ（DST Site ID）５４１、レイテンシ（Latency）５４２、及び最終更新日（Latest）５４３の各フィールドを有する。
【０１２８】
ＤＳＴサイトＩＤ５４１は、接続先のサイト（ＤＣ１１）のＩＤを格納している。
レイテンシ５４２は、サイト間のレイテンシ（遅延時間）を格納している。前述のように、レイテンシの値は、例えば、コマンドの往復応答時間を測定することによって計測される。
最終更新日５４３は、レイテンシ５４１の情報が収集された日時を保持している。
【０１２９】
サイト間テーブル５４に格納される情報は、管理サーバ２１の要求に応じて、ＧＷ１２の情報計測部１２３によって収集される。
図１９は実施形態の一例としての情報処理システム１における仮想化基盤稼働率情報テーブル５５を例示する図である。
仮想化基盤稼働率情報テーブル５５は、仮想化基盤１３のハードウェア情報を保持するテーブルである。
【０１３０】
仮想化基盤稼働率情報テーブル５５は、ＨＶ  ＩＤ５５１、ＣＰＵ使用率（CPU）５５
２、メモリ使用量（Mem）５５３、ＨＤＤ使用量（HDD）５５４、ＮＩＣ５５５、及び最終更新日（Latest）５５６の各フィールドを有する。
ＨＶ  ＩＤ５５１は、各仮想化基盤１３を一意に識別する仮想化基盤１３の識別子を格納している。
【０１３１】
ＣＰＵ使用率５５２は、各仮想マシン１４に割り当てられているＣＰＵの使用率（％）を格納している。
メモリ使用量５５３は、各仮想マシン１４に割り当てられているメモリの使用量（例えば、ＧＢ）を格納している。
ＨＤＤ使用量５５４は、各仮想マシン１４に割り当てられているＨＤＤの使用量（例えば、ＴＧ）を格納している。
【０１３２】
ＮＩＣ５５５は、各仮想マシン１４に割り当てられているＮＩＣの識別子を格納している。
最終更新日５５６は、各フィールド５５１〜５５５の情報の最終更新日を保持している。
仮想化基盤稼働率情報テーブル５５に格納される情報は、管理サーバ２１の要求に応じて、ＧＷ１２によって収集される。
【０１３３】
（Ｂ）動作
次に、本実施形態の一例の情報処理システム１の動作について説明する。
最初に、図２０及び図２１を用いて、図１に示した情報処理システム１における情報処理手法について説明する。
まず、図２０のステップ（１）において、管理サーバ２１の情報収集・管理部２２が、各ノード（ＧＷ１２、仮想化基盤１３）に対して、レイテンシの計測を指示する。この際、例えば、情報収集・管理部２２は、各ノードに対し、ＤＣ１１間のレイテンシ、ＤＣ１１内の仮想マシン１４とＧＷ１２との間のレイテンシの情報を要求する。
【０１３４】
次に、図２０のステップ（２）において、ＧＷ１３の情報計測部１２３は、ＤＣ１１間のレイテンシ、並びにＤＣ１１内の仮想マシン１４とＧＷ１２との間のレイテンシを計測する。
次に、図２０のステップ（３）において、ＧＷ１３のインタフェース部１２２は、ステップ（２）で計測した各レイテンシを管理サーバ２１に通知する。管理サーバ２１の情報収集・管理部２２は、ＧＷ１２から通知されたレイテンシを、前述の仮想マシンテーブル５３（図１７参照）及びサイト間テーブル５４（図１８参照）に記憶する。
【０１３５】
また、図２１のステップ（４）において、管理サーバ２１の情報収集・管理部２２は、各ノード（仮想化基盤１３及び仮想マシン１４）に対して、各種情報の収集を指示する。この際、例えば、情報収集・管理部２２は、ＤＣ１１内の仮想化基盤１３の情報、及びＤＣ１１内の仮想マシン１４の情報を要求する。
そして、図２１のステップ（５）において、仮想化基盤１３のインタフェース部１３３は、ＤＣ１１内の仮想化基盤１３の情報、及びＤＣ１１内の仮想マシン１４の情報を管理サーバ２１に通知する。管理サーバ２１の情報収集・管理部２２は、仮想化基盤１３から通知された情報を、前述のサイトテーブル５１（図１５参照）、仮想化基盤テーブル５２（図１６参照）、仮想マシンテーブル５３（図１７参照）及びサイト間テーブル５４（図１８参照）に記憶する。
【０１３６】
次に、図２２を参照して、情報処理システム１におけるレイテンシ計測処理を説明する。
図２２は実施形態の一例としての情報処理システム１におけるレイテンシ計測処理を示すシーケンス図である。
ステップＳ１において、管理サーバ２１の情報収集・管理部２２が、ＧＷ１２−１に対して、情報提供要求を送信する。
【０１３７】
ステップＳ２において、ＧＷ１２−１は、ＧＷ１２−２に対して、レイテンシの計測を指示する。
ステップＳ３において、ＧＷ１２−２の情報計測部１２３は、レイテンシを測定し、測定したレイテンシをＧＷ１２−１に通知する。このレイテンシは、例えば、ｐｉｎｇコマンドを発行し、ｐｉｎｇコマンドを受け取るまでの時間を測定することにより求めることができる。
【０１３８】
ステップＳ４において、ＧＷ１２−１は、ＧＷ１２−３に対して、レイテンシの計測を指示する。
ステップＳ５において、ＧＷ１２−３の情報計測部１２３は、レイテンシを測定し、測定したレイテンシをＧＷ１２−１に通知する。
ステップＳ６において、ＧＷ１２−１は、仮想化基盤１３−１との間のレイテンシの計測を行なう。
【０１３９】
ステップＳ７において、仮想化基盤１３−１は、レイテンシの測定に用いられる情報をＧＷ１２−１に通知する。
なお、前述のステップＳ２，Ｓ４，Ｓ６は同時に実行されてもよい。
ステップＳ８において、ＧＷ１２−１は、収集したレイテンシの計測値を、管理サーバ２１に通知する。
【０１４０】
ステップＳ９において、管理サーバ２１は、仮想化基盤１３−１に対して、情報提供要求を送信する。
ステップＳ１０において、仮想化基盤１３−１は、管理サーバ２１に、仮想化基盤１３−１の情報を送信する。
ステップＳ１１において、管理サーバ２１は、ＧＷ１２−２に対して、情報提供要求を送信する。
【０１４１】
ステップＳ１２において、ＧＷ１２−２は、ＧＷ１２−１に対して、レイテンシの計測を指示する。
ステップＳ１３において、ＧＷ１２−１の情報計測部１２３は、レイテンシを測定し、測定したレイテンシをＧＷ１２−２に通知する。
ステップＳ１４において、ＧＷ１２−２は、ＧＷ１２−３に対して、レイテンシの計測を指示する。
【０１４２】
ステップＳ１５において、ＧＷ１２−３の情報計測部１２３は、レイテンシを測定し、測定したレイテンシをＧＷ１２−２に通知する。
ステップＳ１６において、ＧＷ１２−２は、仮想化基盤１３−２との間のレイテンシの計測を行なう。
ステップＳ１７において、仮想化基盤１３−２は、レイテンシの測定に用いられる情報をＧＷ１２−１に通知する。
【０１４３】
なお、前述のステップＳ１２，Ｓ１４，Ｓ１６は同時に実行されてもよい。
ステップＳ１８において、ＧＷ１２−２は、収集したレイテンシの計測値を、管理サーバ２１に通知する。
上記処理は、管理サーバ２１の管理下にある各ＤＣ１１のそれぞれに対して実行され、
管理サーバ２１の管理下にある各ＤＣ１１の各ノードのレイテンシ情報が収集される。
【０１４４】
次に、実施形態の一例としての情報処理システム１におけるレイテンシ計測処理を、図２３に示すフローチャート（ステップＳ１３１〜Ｓ１３６）に従って説明する。
ステップＳ１３１において、管理サーバ２１の情報収集・管理部２２は、計測先のＧＷ１２または仮想化基盤１３を選択する。
ステップＳ１３２において、管理サーバ２１の情報収集・管理部２２は、ステップＳ１３１で選択したＧＷ１２または仮想化基盤１３に対し、レイテンシ計測開始を指示し、宛先情報を通知する。
【０１４５】
ステップＳ１３３において、ＧＷ１２の情報計測部１２３は、指示されたＧＷ１２または仮想化基盤１３のレイテンシを計測する。
ステップＳ１３４において、ＧＷ１２の情報計測部１２３は、計測結果を管理サーバ２１に通知する。
ステップＳ１３５において、管理サーバ２１の情報収集・管理部２２は、ステップＳ１３２で通知された結果データを管理テーブル５１〜５５に格納する。
【０１４６】
ステップＳ１３６において、管理サーバ２１の情報収集・管理部２２は、レイテンシを計測するＧＷ１２または仮想化基盤１３が残っているかどうかを判定する。
レイテンシを計測するＧＷ１２または仮想化基盤１３が残っている場合（ステップＳ１３６のＹＥＳルート参照）、処理がステップＳ１３１に戻る。
一方、レイテンシを計測するＧＷ１２または仮想化基盤１３が残っていない場合（ステップＳ１３６のＮＯルート参照）、処理が終了する。
【０１４７】
次に、実施形態の一例としての情報処理システム１における情報収集処理を、図２４に示すフローチャート（ステップＳ１４１〜Ｓ１４６）に従って説明する。
ステップＳ１４１において、管理サーバ２１の情報収集・管理部２２は、情報収集先の仮想化基盤１３を選択する。
ステップＳ１４２において、管理サーバ２１の情報収集・管理部２２は、ステップＳ１４１で選択した仮想化基盤１３に対し、情報提供を依頼する。
【０１４８】
ステップＳ１４３において、仮想化基盤１３は取得する情報を収集する。
ステップＳ１４４において、仮想化基盤１３は、収集した情報を管理サーバ２１に通知する。
ステップＳ１４５において、管理サーバ２１の情報収集・管理部２２は、ステップＳ１４２で通知された結果データを管理テーブル５１〜５５に格納する。
【０１４９】
ステップＳ１４６において、管理サーバ２１の情報収集・管理部２２は、情報を収集する仮想化基盤１３が残っているかどうかを判定する。
情報を収集する仮想化基盤１３が残っている場合（ステップＳ１４６のＹＥＳルート参照）、処理がステップＳ１４１に戻る。
一方、情報を収集する仮想化基盤１３が残っていない場合（ステップＳ１４６のＮＯルート参照）、処理が終了する。
【０１５０】
次に、実施形態の一例としての情報処理システム１の複数経路選択部２３による移動経路候補の抽出手法を、図２５に示すフローチャート（ステップＣ１〜Ｃ１４）に従って説明する。
以下においては、図２に例示するネットワーク構造において複数の移動経路候補を抽出する例について説明する。
【０１５１】
ステップＣ１において、複数経路選択部２３は、カウンタ値ｉ，ｊ、始点変数Ｓ［１００］、終点変数Ｅ［１００］、レイテンシＬ［１００］、経由地変数ＫＳ［１００］，ＫＥ［１００］、及びレイテンシ閾値Ｔを確保する。ここで、［］内の数字は変数の要素数の最大値を示し、例えば、始点変数Ｓ［１００］は要素数１００の配列を、レイテンシＬ［１００］は要素数１００の配列を、それぞれ示す。ここで、要素数の１００等の値は経由地を記録するための最大数で、任意の値に変更できる。
【０１５２】
ステップＣ２において、複数経路選択部２３は、ステップＣ１で確保した各変数に初期値を設定する。
ここで、変数Ｓ［ｉ］，Ｅ［ｉ］はそれぞれサイトを示す。特に、Ｓ［０］は移動元（始点）のＤＣ１１を示し、サイトＡに相当する。また、Ｅ［０］は移動先（終点）のＤＣ１１を示し、サイトＺに相当する。また、Ｌ［ｉ］はサイトＳ［ｉ］とサイトＥ［ｉ］とのレイテンシを示す。
【０１５３】
ステップＣ３において、複数経路選択部２３は、Ｓ［ｉ］とＥ［ｉ］との間のレイテンシＬ［ｉ］が、レイテンシ閾値Ｔ以下であるかどうか判定する。
レイテンシＬ［ｉ］がレイテンシ閾値Ｔ以上の場合（ステップＣ３のＮＯルート参照）、ステップＣ６において、複数経路選択部２３は、カウンタ値ｉを１インクリメントし、ステップＣ３に戻る。
【０１５４】
一方、レイテンシＬ［ｉ］がレイテンシ閾値Ｔ未満の場合（ステップＣ３のＹＥＳルート参照）、ステップＣ４において、複数経路選択部２３は、サイトＳ［ｉ］を基準として次ホップ群の候補サイトの抽出を行なう。なお、抽出した各候補サイトは、例えば、主記憶部７２や補助記憶部７３等の所定の領域に保存する。
ステップＣ５において、複数経路選択部２３は、Ｓ［ｉ］=Ｅ［ｉ］であるか、すなわち、次ホップの探索において、終点であるサイトＺが抽出された（サイトＺに到達した）か否かを確認する。
【０１５５】
Ｓ［ｉ］=Ｅ［ｉ］でない場合には（ステップＣ５のＮＯルート参照）、ステップＣ６に移行する。
また、Ｓ［ｉ］=Ｅ［ｉ］である場合には（ステップＣ５のＹＥＳルート参照）、ステップＣ７に移行する。
ステップＣ７において、複数経路選択部２３は、ステップＣ４において抽出した各候補サイトをホップ数管理テーブル８１に格納（登録）する。
【０１５６】
また、複数経路選択部２３は、ホップ数管理テーブル８１に登録した各移動経路候補について、それぞれホップ数を計数し、ホップ数管理テーブル８１に登録する。
その後、最適経路選択部２８が、ステップＣ８において、サイト間テーブル５４を参照して、各仮想化基盤（ＨＶ）１３間（ホップ）のレイテンシを取得し、ステップＣ９において、仮想化基盤間レイテンシ計測テーブル８２に登録する。
【０１５７】
最適経路選択部２８は、仮想化基盤間レイテンシ計測テーブル８２に登録された各移動経路候補について、それぞれレイテンシがレイテンシ評価閾値以上であるホップの数（遅延ホップ数）を計数し、仮想化基盤間レイテンシ計測テーブル８２に登録する。
また、最適経路選択部２８は、ステップＣ１０において、情報収集・管理部２２によって取得された各ホップにおける帯域の空き容量に基づき、各移動経路候補について帯域状態値をそれぞれ算出する。そして、最適経路選択部２８は、ステップＣ１１において、算出した各帯域状態値を、仮想化基盤間帯域計測テーブル８３に登録する。また、最適経路選択部２８は、各帯域状態値に基づき、各移動経路候補に対して帯域空き容量を算出する。
【０１５８】
さらに、最適経路選択部２８は、ステップＣ１２において、情報収集・管理部２２によって取得された各ホップにおけるリソースの空き容量に基づき、各移動経路候補についてリソース状態値をそれぞれ算出する。さらに、最適経路選択部２８は、各移動経路候補に対してリソース空き容量を算出する。
また、最適経路選択部２８は、ステップＣ１３において、算出した各リソース状態値を仮想化基盤間リソース計測テーブル８４に登録する。
【０１５９】
その後、ステップＣ１４において、最適経路選択部２８は、各判断項目について算出した評価用数値（ホップ数，遅延ホップ数，帯域空き容量及びリソース空き容量）に基づき、複数の移動経路候補の中から、一の移動経路を選択する。
具体的には、最適経路選択部２８は、上述した各判断項目の評価用数値を用いて、End to End係数（評価値）を算出し、このEnd to End係数の値が小さい移動経路候補を移動経路として優先して選択する。
【０１６０】
次に、図２６〜図２８を用いて情報処理システムにおけるホットマイグレーション処理について説明する。
図２６〜図２８は、それぞれ実施形態の一例としての情報処理システム１におけるホットマイグレーション処理を示す図である。図２６はステップＳ５０〜Ｓ６１、図２７はステップＳ６２〜Ｓ７０、図２８はステップＳ７１〜Ｓ８２をそれぞれ示す。
【０１６１】
本例においては、仮想化基盤１３−１から仮想化基盤１３−３への仮想マシン１４−１のホットマイグレーションを行なう場合について説明する。
図２６のステップＳ５０において、管理者（またはオペレータ）が、管理サーバ２１に対して、仮想化基盤１３−１から仮想化基盤１３−３への仮想マシン１４−１のホットマイグレーションを指示する。
【０１６２】
ステップＳ５１において、管理サーバ２１の複数経路選択部２３が複数の移動経路候補を抽出する。
ステップＳ５２において、管理サーバ２１の最適経路選択部２８が、複数の移動経路候補の中から一の移動経路を選択する。
本例においては、最適経路選択部２８が選択した移動経路が、仮想化基盤１３−１から仮想化基盤１３−２を経由して仮想化基盤１３−３に移動させるものであるとする。
【０１６３】
ステップＳ５３において、管理サーバ２１のマイグレーション通知部２４は、最適経路選択部２８によって選択された移動経路に基づき、移動先の仮想化基盤１３−２に対し、仮想マシン１４の受け入れを通知する。
ステップＳ５４において、仮想化基盤１３−２は、サービスネットワークを設定し、仮想マシン１４の受け入れに備える。
【０１６４】
ステップＳ５５において、仮想化基盤１３−２は、サービスネットワーク設定の結果を管理サーバ２１に通知する。
ステップＳ５６において、管理サーバ２１のマイグレーション通知部２４は、仮想化基盤１３−１に対してホットマイグレーションを指示する。
ステップＳ５７において、仮想化基盤１３−１は、仮想化基盤１３−２にホットマイグレーション指示を発行する。ここでは、仮想化基盤１３−１の仮想マシン１４−１が、仮想化基盤１３−２にメモリ転送される。
【０１６５】
ステップＳ５８において、仮想化基盤１３−２のイベント通知部１３７は、ホットマイグレーション結果を仮想化基盤１３−１に通知する。
ステップＳ５９において、仮想化基盤１３−１は、管理サーバ２１に、ホットマイグレーション結果を通知する。
仮想マシン１４−１のホットマイグレーションが完了すると、ステップＳ６０において、仮想化基盤１３−２のイベント通知部１３３は、管理サーバ２１に、仮想マシン１４−２の情報を通知する。
【０１６６】
ステップＳ６１において、管理サーバ２１は、仮想化基盤１３−２に対して結果応答を返す。
次に、図２７のステップＳ６２において、管理サーバ２１のマイグレーション通知部２４は、最適経路選択部２８によって選択された移動経路に基づき、次の移動先の仮想化基盤１３−３に対し、仮想マシン１４の受け入れを通知する。
【０１６７】
ステップＳ６３において、仮想化基盤１３−３は、サービスネットワーク等を設定し、仮想マシン１４の受け入れに備える。
ステップＳ６４において、仮想化基盤１３−３は、サービスネットワーク等の設定の結果を管理サーバ２１に通知する。
ステップＳ６５において、管理サーバ２１のマイグレーション通知部２４は、仮想化基盤１３−２に対してホットマイグレーションを指示する。
【０１６８】
ステップＳ６６，Ｓ６７において、仮想化基盤１３−２は、仮想化基盤１３−３にホットマイグレーション指示を発行する。ここでは、仮想化基盤１３−２の仮想マシン１４−１が、仮想化基盤１３−３にメモリ転送される。
ステップＳ６８において、仮想化基盤１３−３のイベント通知部１３７は、ホットマイグレーション結果を仮想化基盤１３−２に通知する。ここでは、何等かの理由によりホットマイグレーションを行なうことができなかった旨が結果応答として通知される。
【０１６９】
ステップＳ６９において、仮想化基盤１３−２のイベント通知部１３７は、ホットマイグレーション結果、すなわちホットマイグレーションを実行できなかったこと（ＮＧ）を管理サーバ２１に通知する。
仮想マシン１４−１のホットマイグレーションを実行できなかった場合には、ステップＳ７０において、管理サーバ２１の最適経路再選択部２９が、移動経路の変更（再探索）を行なう。なお、本例においては、移動対象の仮想マシン１４−１の現在位置は仮想化基盤１３−１である。
【０１７０】
この最適経路再選択部２９による移動経路の再探索の結果、仮想化基盤１３−１から仮想化基盤１３−４を経由して仮想化基盤１３−３に移動させる移動経路が選択されたもとする。
管理サーバ２１や各仮想化基盤１３は、上述したステップＳ５３〜Ｓ６１と同様の処理を実行することで、仮想化基盤１３−１から仮想化基盤１３−４へのホットマイグレーションを行なう。さらに、管理サーバ２１や各仮想化基盤１３は、上述したステップＳ５３〜Ｓ６１と同様の処理を実行することで、仮想化基盤１３−４から仮想化基盤１３−３へのホットマイグレーションを行なう。
【０１７１】
これらの処理により、仮想化基盤１３−１から仮想化基盤１３−４を経由して仮想化基盤１３−３へのホットマイグレーションが行なわれる。
その後、図２８のステップＳ７１において、管理サーバ２１は、ホットマイグレーションが成功したかどうかの判定を行なう。
ステップＳ７２において、管理サーバ２１は、仮想化基盤１３−１に対して、サービスネットワークの削除を指示する。
【０１７２】
仮想化基盤１３−１は、ステップＳ７３において、サービスネットワークを削除し、ステップＳ７４において、サービスネットワークの削除結果を管理サーバ２１に通知する。
次に、ステップＳ７５において、管理サーバ２１は、仮想化基盤１３−２に対して、サービスネットワークの削除を指示する。
仮想化基盤１３−２は、ステップＳ７６において、サービスネットワークを削除し、ステップＳ７７において、サービスネットワークの削除結果を管理サーバ２１に通知する。
【０１７３】
また、ステップＳ７８において、管理サーバ２１は、仮想化基盤１３−４に対して、サービスネットワークの削除を指示する。
仮想化基盤１３−４は、ステップＳ７９において、サービスネットワークを削除し、ステップＳ８０において、サービスネットワークの削除結果を管理サーバ２１に通知する。
ステップＳ８１において、管理サーバ２１は、仮想化基盤１３−１，１３−２，１３−４から通知された削除結果に基づいて、サービスネットワークが正常に削除されたかどうかを判定する（クロージング判定）。
【０１７４】
ステップＳ８２において、管理サーバ２１は、ホットマイグレーションの終了をオペレータに通知する。その際、管理サーバ２１は、ホットマイグレーションの成功／不成功の結果やクロージング判定の結果等を併せて通知する。
図２９は実施形態の一例としての情報処理システム１におけるホットマイグレーション処理を示すフローチャートである。
【０１７５】
ステップＳ１１０において、オペレータが、管理サーバ２１に対してホットマイグレーション指示を発行する。ここでは、例えば、ＤＣ１１−１の仮想マシン１４−１をＤＣ１１−１からＤＣ１１−３へのホットマイグレーションが指示されたとする。
ステップＳ１１１において、管理サーバ２１の複数経路選択部２３が、移動元の仮想化基盤１３（ＤＣ１１−１）から移動先の仮想化基盤１３（ＤＣ１１−３へ）ホットマイグレーションを行なうための移動経路候補を、本情報処理システム１に備えられた複数のＤＣ１１（仮想化基盤１３）から抽出する。
【０１７６】
この際、移動元の仮想化基盤１３と移動元の仮想化基盤１３とのレイテンシが、レイテンシ閾値よりも大きい場合、すなわち、１度のホットマイグレーションで仮想マシンの移動を行なうことができない場合には、複数経路選択部２３は、段階的なホットマイグレーションを行なう経路を選択する。また、複数経路選択部２３は、可能な場合には、複数の移動経路候補を抽出する。
【０１７７】
ステップＳ１１２において、最適経路選択部２８は、複数経路選択部２３によって抽出された１以上の移動経路候補の中から、一の移動経路を選択する。この選択された移動経路において、その始点と終点とを除いた仮想化基盤１３が、経由地となる。
ステップＳ１１３において、管理サーバ２１のマイグレーション通知部２４は、選択された移動経路候補に基づいて、経由地である仮想化基盤１３−２に対して、ホットマイグレーションの受け入れ準備指示を発行する。
【０１７８】
ステップＳ１１４において、経由地（移動先）の仮想化基盤１３−２のＮＷ管理部１３５は、ネットワーク設定を行ない、インタフェース部１３３が管理サーバ２１に、ホットマイグレーション準備応答を返す。
準備応答を受けると、ステップＳ１１５において、管理サーバ２１のマイグレーション通知部２４は、移動元の仮想化基盤１３−１に対し、仮想化基盤１３−２へのホットマイグレーション指示（仮想マシン移動指示）を発行する。
【０１７９】
指示を受けた仮想化基盤１３−１のＮＷ管理部１３５は、ステップＳ１１６，Ｓ１１７において、仮想化基盤１３−２との接続を確立する。ステップＳ１１８において、仮想化基盤１３−１のホットマイグレーション部１３４は、ホットマイグレーションを実行する。このとき、ＤＣ１１−１の仮想化基盤１３−１の仮想マシン１４が、ＤＣ１１−２の仮想化基盤１３−２に移動される。
【０１８０】
ホットマイグレーションが完了すると、ステップＳ１１９において、仮想化基盤１３−１のＮＷ管理部１３５は、仮想化基盤１３−１をネットワークから切断する。
また、ステップＳ１２０において、仮想化基盤１３−２のＮＷ管理部１３５は、仮想化基盤１３−２をネットワークに接続する。
その後ステップＳ１２１において、仮想化基盤１３−１の仮想マシン１４で以前実行されていたプロセス（サービス）が、仮想化基盤１３−２の仮想マシン１４で再開される。
【０１８１】
管理サーバ２１は、仮想化基盤１３−２のイベント通知部１３７から、ホットマイグレーション結果通知を受け取ると、ステップＳ１２２において、現在仮想マシン１４が存在する地点（現在地）が目的地であるかどうかを判定する。
現在地が目的地ではない場合（ステップＳ１２２のＮＯルート参照）、処理がステップＳ１１３に戻り、次の経由地に対して受け入れ準備指示を発行する。
【０１８２】
現在地が目的地である場合（ステップＳ１２２のＹＥＳルート参照）、仮想マシン１４が目的に到達したため、ステップＳ１２３において、管理サーバ２１はオペレータに、ホットマイグレーション結果を通知する。
（Ｃ）効果
このように、実施形態の一例の長距離ホットマイグレーション技術は、往復遅延時間（レイテンシ）が小さく、仮想マシン１４を一時的に配置可能な経由地へのホットマイグレーションを繰り返す。これにより、物理的に距離があるなどの要因によりレイテンシが大きく、従来の方法でホットマイグレーションできないサイト間のホットマイグレーションを実現する。
【０１８３】
例えば、実施形態の一例の長距離ホットマイグレーション技術は、従来のホットマイグレーション技術ではマイグレーションできない、北海道と九州間や海外への長距離のホットマイグレーションを実現する。
また、管理サーバ２１の管理サーバ間インタフェース２７による連携により、ＡｍａｚｏｎクラウドとＧｏｏｇｌｅクラウド間のホットマイグレーションなど、クラウド間のマイグレーションが可能となる。
【０１８４】
さらに、複数経路選択部２３が、本情報処理システム１に備えられた複数のＤＣ１１（仮想化基盤１３）から、複数の移動経路候補を抽出する。
そして、最適経路選択部２８が、これらの複数の移動経路候補の中から、ホップ数が少ない移動経路候補を移動経路として優先して選択する。これにより、ホットマイグレーションの実行に伴う負荷を軽減し、ホットマイグレーションを迅速に行なうことができる。
【０１８５】
また、最適経路選択部２８が、複数の移動経路候補の中から、レイテンシがレイテンシ評価閾値以上のホップの合計数が少ない移動経路候補を優先して移動経路として選択する。これにより、仮想化基盤１３間のレイテンシが大きい（例えば、９ｍｓ以上）経路を含む移動経路候補が移動経路から除外される可能性を高くすることができ、ホットマイグレーションを確実に実行できるようになる。
【０１８６】
さらに、最適経路選択部２８は、複数の移動経路候補の中から、移動トラヒック量に対する帯域の空き容量が多い移動経路候補を移動経路として優先して選択する。これにより、ホットマイグレーションによるネットワーク負荷を軽減し、ホットマイグレーションを迅速かつ確実に行なうことができる。
また、最適経路選択部２８は、複数の移動経路候補の中から、移動トラヒック量に対するリソースの空き容量が多い移動経路候補を移動経路として優先して選択する。これによっても、ホットマイグレーションによるネットワーク負荷を軽減し、ホットマイグレーションを迅速かつ確実に行なうことができる。
【０１８７】
さらに、最適経路再選択部２９は、複数の移動経路候補の中から移動経路を選択するに際して、評価用数値（ホップ数，遅延ホップ数，帯域空き容量及びリソース空き容量）に基づき、End to End係数を算出し、このEnd to End係数に基づいて移動経路を選択する。これにより、移動経路を効率よく選択することができる。
また、マイグレーションが途中で失敗した場合には、最適経路再選択部２９が、移動経路候補の中から、その時点で移動対象の仮想マシンの位置（現在地）から移動可能な移動経路の再選択を行ない、この新たな移動経路に従ってホットマイグレーションを継続する。これにより、長距離マイグレーションの成功率を向上させることができる。
【０１８８】
更に、経由地の候補が複数存在する場合、１つの経由地がダウンしていてもほかの経由地を使用できるため、信頼性が向上する。
（Ｄ）その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１８９】
例えば、上述した実施形態においては、最適経路再選択部２９が、複数の移動経路候補の中から移動経路を選択するに際して、複数種類の評価用数値に基づいてEnd to End係数を算出し、このEnd to End係数に基づいて移動経路を選択している。すなわち、複数種類の評価用数値に基づき一度の処理で移動経路を選択しているが、これに限定されるものではない。
【０１９０】
図３０は実施形態の一例としての情報処理システム１における移動経路の他の選択方法を説明するための図である。
この図３０においては、複数の移動経路候補に対して評価用数値に基づく段階的な選択を繰り返し行なうことで、移動経路を選択する手法を例示している。
すなわち、第１のステップにおいて、複数経路選択部２３が複数の移動経路候補を抽出し、これらの複数の移動経路候補に対して、第２のステップにおいて、先ず、ホップ数に基づく絞り込みを行なう。すなわち、複数の移動経路候補に対して、ホップ数が４以下の移動経路候補を抽出する。
【０１９１】
図３０においては、図２に例示するネットワーク構造において、サイトＡ→Ｂ→Ｋ→Ｈ→Ｚの順で構成される移動経路候補と、サイトＡ→Ｂ→Ｌ→Ｈ→Ｚの順で構成される移動経路候補とが、第２のステップで抽出された例を示している。
第３ステップにおいて、これらの抽出された移動経路候補に対して、レイテンシに基づく絞り込みを行なう。すなわち、移動経路候補の各ホップのレイテンシを所定の閾値と比較し、この閾値より大きいレイテンシのホップを含む移動経路候補を除外する。
【０１９２】
例えば、サイトＫからサイトＨへのレイテンシが３ｍｓであり、サイトＬからサイトＨへのレイテンシが９ｍｓであり、閾値が８ｍｓである場合には、サイトＬからサイトＨへのホップを含む、サイトＡ→Ｂ→Ｌ→Ｈ→Ｚの順で構成される移動経路候補を除外する。
これにより、サイトＡ→Ｂ→Ｋ→Ｈ→Ｚの順で構成される移動経路候補が絞り込まれ、移動経路として決定される。
【０１９３】
このように、複数の移動経路候補に対して、段階的な絞り込みを行なうことにより移動経路の決定（選択）を行なってもよい。
また、上記の実施形態の一例を、ＤＣ１１をまたぐ仮想マシン１４のホットマイグレーションを例に挙げて説明したが、遅延量の大きな同一ＤＣ１１内での仮想マシン１４のホットマイグレーションにも使用することができる。
【０１９４】
または、上記の実施形態の一例においては、ｐｉｎｇコマンドを用いてレイテンシを求める例を説明したが、他の方法によってレイテンシを求めてもよい。
或いは、本技術を、Ｃｉｓｃｏ（登録商標）やＦ５  ＢＩＧ−ＩＰ（登録商標）などの既存のホットマイグレーション技術と組み合わせて使用することもできる。
また、上述した実施形態においては、最適経路再選択部２９が、移動経路を選択するための判断項目として、ホップ数，レイテンシ，帯域幅及びリソース容量を用いているが、これに限定されるものではなく、他の判断項目を用いる等、種々変形して実施することができる。
【０１９５】
上述した開示により本実施形態を当業者によって実施・製造することが可能である。
（Ｅ）付記
上記の実施形態に関し、更に以下の付記を開示する。
（付記１）
仮想機械を管理する複数の管理部と、
前記複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する候補経路抽出部と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる移動制御部と
を備えることを特徴とする、情報処理システム。
【０１９６】
（付記２）
前記状態情報が前記移動経路候補において通過する前記管理部の数を示すホップ数であり、前記経路選択部が、前記ホップ数が小さい移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１記載の情報処理システム。
【０１９７】
（付記３）
前記状態情報が前記複数の管理部間の遅延時間であり、前記経路選択部が、前記管理部間毎の前記遅延時間をそれぞれ第１の閾値と比較し、前記第１の閾値以上の遅延時間の数が少ない移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１または２記載の情報処理システム。
【０１９８】
（付記４）
前記状態情報が前記複数の管理部間におけるデータ通信帯域の空き容量であり、前記経路選択部が、移動対象の前記仮想機械のデータ量に対する前記帯域の空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１〜３のいずれか１項に記載の情報処理システム。
【０１９９】
（付記５）
前記状態情報が前記複数の管理部間のリソースの空き容量であり、前記経路選択部が、前記移動元管理部のリソースに対する前記リソースの空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１〜４のいずれか１項に記載の情報処理システム。
【０２００】
（付記６）
前記経路選択部が、複数種類の前記状態情報に基づく複数の評価用数値から評価値を算出し、当該評価値に基づき、前記複数の移動経路候補の中から前記移動経路を選択する
ことを特徴とする、付記１〜５のいずれか１項に記載の情報処理システム。
（付記７）
複数種類の前記状態情報に基づく前記評価用数値に、それぞれ重み係数が設定される
ことを特徴とする、付記６記載の情報処理システム。
【０２０１】
（付記８）
前記移動経路に沿った前記移動元管理部から前記移動先管理部への前記仮想機械の移動途中に、前記仮想機械の移動が不可能となった場合に、前記候補経路抽出部によって抽出された前記複数の移動経路候補を参照して、前記仮想機械がある前記管理部から、前記移動先管理部へ移動可能な他の移動経路を選択する経路変更部を備え、
前記移動経路候補制御部が、前記経路変更部によって選択された前記他の移動経路に沿って、前記仮想機械を、当該仮想機械がある前記管理部から前記移動先管理部へ順次移動させる
ことを特徴とする、付記１〜７のいずれか１項に記載の情報処理システム。
【０２０２】
（付記９）
前記候補経路抽出部は、
前記移動元管理部を始点として、各管理部間の遅延時間が第２の閾値以下となる他の管理部を候補管理部として選択する処理を、前記候補管理部が前記移動先管理部に一致するまで繰り返し行なうことで、前記候補経路を抽出することを特徴とする、付記１〜８のいずれか１項に記載の情報処理システム。
【０２０３】
（付記１０）
仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する候補経路抽出部と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する経路選択部と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる移動制御部と
を備えることを特徴とする、仮想機械管理装置。
【０２０４】
（付記１１）
前記状態情報が前記移動経路候補において通過する前記管理部の数を示すホップ数であり、前記経路選択部が、前記ホップ数が小さい移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１０記載の仮想機械管理装置。
【０２０５】
（付記１２）
前記状態情報が前記複数の管理部間の遅延時間であり、前記経路選択部が、前記管理部間毎の前記遅延時間をそれぞれ第１の閾値と比較し、前記第１の閾値以上の遅延時間の数が少ない移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１０または１１記載の仮想機械管理装置。
【０２０６】
（付記１３）
前記状態情報が前記複数の管理部間におけるデータ通信帯域の空き容量であり、前記経路選択部が、移動対象の前記仮想機械のデータ量に対する前記帯域の空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１０〜１２のいずれか１項に記載の仮想機械管理装置。
【０２０７】
（付記１４）
前記状態情報が前記複数の管理部間のリソースの空き容量であり、前記経路選択部が、前記移動元管理部のリソースに対する前記リソースの空き容量が多い移動経路候補を優先して前記移動経路として選択する
ことを特徴とする、付記１０〜１３のいずれか１項に記載の仮想機械管理装置。
【０２０８】
（付記１５）
前記経路選択部が、複数種類の前記状態情報に基づく複数の評価用数値から評価値を算出し、当該評価値に基づき、前記複数の移動経路候補の中から前記移動経路を選択する
ことを特徴とする、付記１０〜１４のいずれか１項に記載の仮想機械管理装置。
（付記１６）
複数種類の前記状態情報に基づく前記評価用数値に、それぞれ重み係数が設定される
ことを特徴とする、付記１５記載の仮想機械管理装置。
【０２０９】
（付記１７）
前記移動経路に沿った前記移動元管理部から前記移動先管理部への前記仮想機械の移動途中に、前記仮想機械の移動が不可能となった場合に、前記候補経路抽出部によって抽出された前記複数の移動経路候補を参照して、前記仮想機械がある前記管理部から、前記移動先管理部へ移動可能な他の移動経路を選択する経路変更部を備え、
前記移動経路候補制御部が、前記経路変更部によって選択された前記他の移動経路に沿って、前記仮想機械を、当該仮想機械がある前記管理部から前記移動先管理部へ順次移動させる
ことを特徴とする、付記１０〜１６のいずれか１項に記載の仮想機械管理装置。
【０２１０】
（付記１８）
前記候補経路抽出部は、
前記移動元管理部を始点として、各管理部間の遅延時間が第２の閾値以下となる他の管理部を候補管理部として選択する処理を、前記候補管理部が前記移動先管理部に一致するまで繰り返し行なうことで、前記候補経路を抽出することを特徴とする、付記１０〜１７のいずれか１項に記載の仮想機械管理装置。
【０２１１】
（付記１９）
仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出する処理と、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択する処理と、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる処理と
を備えることを特徴とする、仮想機械管理方法。
【０２１２】
（付記２０）
仮想機械を管理する複数の管理部のうちの、移動元管理部から移動先管理部までの、２つ以上の管理部を連結して構成される移動経路候補を複数抽出し、
前記複数の移動経路候補のそれぞれについて、各移動経路候補における管理部間の連結に関する状態を示す状態情報に基づいて評価値を算出し、当該評価値に基づいて、前記複数の移動経路候補の中から移動経路を選択し、
前記仮想機械の動作を停止させることなく、前記仮想機械を、前記移動元管理部から前記移動経路に沿って前記移動先管理部へ順次移動させる
処理をコンピュータに実行させることを特徴とする仮想機械管理プログラム。
【符号の説明】
【０２１３】
１    情報処理システム
１１−１〜１１−４，１１    ＤＣ
１２−１〜１２−４，１２    ＧＷ
１３−１〜１３−４，１３    仮想化基盤（管理部）
１４−１〜１４−４，１４    仮想マシン（仮想機械）
２１−１，２１−２，２１    管理サーバ（仮想機械管理装置）
２２    情報収集・管理部（遅延記憶部）
２３    複数経路選択部（候補経路抽出部）
２４    マイグレーション通知部（移動制御部）
２５    ＧＷインタフェース
２６    仮想化基盤インタフェース
２７    管理サーバ間インタフェース（連携部）
２８    最適経路選択部（経路選択部）
２９    最適経路再選択部（経路変更部）
５２    仮想化基盤テーブル
５３    仮想マシンテーブル
５４    サイト間テーブル
５５    仮想化基盤稼働率情報テーブル
８１    ホップ数管理テーブル
８２    仮想化基盤間レイテンシ計測テーブル
８３    仮想化基盤間帯域計測テーブル
８４    仮想化基盤間リソース計測テーブル
８５    重み付け係数テーブル
【図１】
2016051448.tif 000003
【図２】
2016051448.tif 000004
【図３】
2016051448.tif 000005
【図４】
2016051448.tif 000006
【図５】
2016051448.tif 000007
【図６】
2016051448.tif 000008
【図７】
2016051448.tif 000009
【図８】
2016051448.tif 000010
【図９】
2016051448.tif 000011
【図１０】
2016051448.tif 000012
【図１１】
2016051448.tif 000013
【図１２】
2016051448.tif 000014
【図１３】
2016051448.tif 000015
【図１４】
2016051448.tif 000016
【図１５】
2016051448.tif 000017
【図１６】
2016051448.tif 000018
【図１７】
2016051448.tif 000019
【図１８】
2016051448.tif 000020
【図１９】
2016051448.tif 000021
【図２０】
2016051448.tif 000022
【図２１】
2016051448.tif 000023
【図２２】
2016051448.tif 000024
【図２３】
2016051448.tif 000025
【図２４】
2016051448.tif 000026
【図２５】
2016051448.tif 000027
【図２６】
2016051448.tif 000028
【図２７】
2016051448.tif 000029
【図２８】
2016051448.tif 000030
【図２９】
2016051448.tif 000031
【図３０】
2016051448.tif 000032
【図３１】
2016051448.tif 000033
【図３２】
2016051448.tif 000034