(57)【要約】  ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機と、複数の計算機を管理する管理計算機とを備え、管理計算機は、操作者の操作入力を受ける入力部と、第１計算機上で第１仮想計算機を稼働した状態で、第１仮想計算機を第１計算機から第２計算機に移行するライブマイグレーションに関する進捗情報を第１計算機から取得し、その取得した進捗情報に基づきライブマイグレーションに関する統計情報を生成し、統計情報を含む統計画面を生成する画面生成部と、その統計画面を表示する出力部と、を備える。
2014030221.tif 000002
【特許請求の範囲】
【請求項１】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機と、
前記複数の計算機を管理する管理計算機と、を備え、
前記管理計算機は、
操作者の操作入力を受ける入力部と、
第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションに関する進捗情報を前記第１計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成する画面生成部と、
前記統計画面を表示する出力部と、
を備える仮想計算機システム。
【請求項２】
前記ハイパバイザは、
前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
前記メモリと前記仮想メモリとの対応関係を前記仮想計算機毎に管理するメモリ管理情報を有し、
前記第１計算機のハイパバイザは、前記第１仮想計算機に割り当てられた前記第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送する
請求項１記載の仮想計算機システム。
【請求項３】
前記計算機のメモリは、前記メモリを分割した領域に対応するメモリページを複数有し、
前記メモリ管理情報は、前記メモリのメモリページと前記仮想メモリのメモリページとの対応関係及び前記メモリページの書き換えの有無を管理し、
前記画面生成部は、前記管理計算機の出力部が前記統計画面としてメモリマップを表示する場合、
前記第１計算機のハイパバイザから、前記第１仮想計算機のメモリ管理情報を取得し、
前記取得した第１仮想計算機のメモリ管理情報を参照して、書き換えのあるメモリページと書き換えの無いメモリページとを異なる表示形式としたメモリマップ画面を生成し、
前記メモリマップ画面を前記出力部に出力する
請求項２記載の仮想計算機システム。
【請求項４】
前記書き換えのあるメモリページは、前記メモリ管理情報においてメモリページ書き換え有りの書き換えフラグが付与されたダーティページであり、
前記書き換えの無いメモリページは、前記メモリ管理情報においてメモリページ書き換え無しの書き換えフラグが付与されたクリーンページであり、
前記画面生成部は、前記取得したメモリ管理情報における書き換えフラグを参照して、前記メモリページ毎の書き換えフラグに基づき、前記メモリマップ画面を生成する
請求項３記載の仮想計算機システム。
【請求項５】
前記メモリ管理情報は、前記ライブマイグレーションにおける前記メモリページの転送の可否を表す転送フラグを有する
請求項４記載の仮想計算機システム。
【請求項６】
前記第１計算機のハイパバイザは、
前記ライブマイグレーションの実行状況に関する情報を前記仮想計算機毎に管理するステータス管理情報を更に有し、
前記画面生成部は、
前記第１計算機の前記ハイパバイザから各時点で前記ステータス管理情報を取得し、各時点で取得された前記ステータス管理情報を基に、前記ライブマイグレーション処理における所定種類の値の変化を表すグラフを有するグラフ画面を生成し、
前記出力部が、前記グラフ画面を表示する、
請求項４記載の仮想計算機システム。
【請求項７】
前記ステータス管理情報は、前記ダーティページの合計量を有し、
前記所定種類の値は、前記ダーティページの合計量である
請求項６記載の仮想計算機システム。
【請求項８】
前記ステータス管理情報は、前記第１計算機から前記第２計算機にマイグレーションが完了したメモリページの総量を有し、
前記画面生成部は、各時点の前記メモリページの総量に基づいてメモリページの転送速度を算出し、
前記所定種類の値は、前記メモリページの転送速度である
請求項７に記載の仮想計算機システム。
【請求項９】
前記第１計算機のハイパバイザは、所定のタイムアウト時間を経過すると、前記ライブマイグレーション処理を中止し、
前記画面生成部は、
前記ダーティページの合計量及び前記メモリページの転送速度の時間的変化から前記ライブマイグレーション処理が完了するまでの残り時間を算出し、当該残り時間が、所定のタイムアウト時間までの残り時間よりも長い場合に、前記ライブマイグレーション処理が完了しない旨を示す警告画面を生成し、
前記出力部が、前記警告画面を表示する、
請求項８記載の仮想計算機システム。
【請求項１０】
前記画面生成部は、前記ライブマイグレーション処理の中止の要求を受け付ける中止受付画面を生成し、
前記出力部が、前記警告画面と共に前記中止受付画面を表示する、
請求項９記載の仮想計算機システム。
【請求項１１】
前記画面生成部は、
前記タイムアウト時間の延長の要求を受け付ける延長受付画面を生成し、
前記出力部が、前記警告画面と共に前記延長受付画面を表示する、
請求項１０記載の仮想計算機システム。
【請求項１２】
前記第１計算機のハイパバイザは、前記ライブマイグレーション処理に関する設定情報を有し、当該設定情報に基づいて前記ライブマイグレーション処理を実行し、
前記画面生成部は、前記設定情報に関するパラメタの入力を受け付けるパラメタ入力画面を生成し、当該パラメタ入力画面において入力されたパラメタを前記ハイパバイザの有する前記設定情報に反映させる
請求項２記載の仮想計算機システム。
【請求項１３】
前記パラメタ入力画面は、前記ライブマイグレーション処理のタイムアウト時間の入力領域を有し、当該入力領域に入力された前記タイムアウト時間は、前記設定情報に反映され、
前記第１計算機のハイパバイザは、前記設定情報に反映された前記タイムアウト時間が経過すると、前記ライブマイグレーション処理を中止する
請求項１２記載の仮想計算機システム。
【請求項１４】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する管理計算機であって、
操作者の操作入力を受ける入力部と、
第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションに関する進捗情報を前記第１計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成する画面生成部と、
前記統計画面を表示する出力部と、
を備える管理計算機。
【請求項１５】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する計算機管理方法であって、
操作者の操作入力を受け、
第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションに関する進捗情報を前記第１計算機から取得し、
その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、
前記統計情報を含む統計画面を生成し、
前記統計画面を表示する、
計算機管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムの管理に関する。
【背景技術】
【０００２】
仮想計算機システムは、１台の物理的な計算機（以下「物理計算機」という）上に、１又は複数の仮想的な計算機（以下「仮想計算機」という）を構築できる。そして、仮想計算機システムは、仮想計算機（ＬＰＡＲ（Ｌｏｇｉｃａｌ  Ｐａｒｔｉｔｉｏｎ）と呼ばれることもある）上の各々で、独立してＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を動作させることができる。これにより、１台の物理計算機上で、複数のＯＳを同時に稼働させることができる。【０００３】
また、仮想計算機システムにおいて、或る物理計算機上の仮想計算機を構成するデータを、その仮想計算機を稼働させた状態のまま、他の物理計算機上の仮想計算機にマイグレーションするライブマイグレーション技術が知られている（特許文献１、２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０３３４０３号公報
【特許文献２】特開２０１２−１０８８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ライブマイグレーションは、ＬＰＡＲ上のＯＳ等を稼働した状態で実行される。したがって、メモリの保持するデータをマイグレーション元の計算機からマイグレーション先の計算機に転送している間にも、複数のページ（記憶領域）を有するメモリにおいて、ページが更新される（例えば、ページ内のデータが更新される、或いは、転送されるべきデータが新たにページに書き込まれる）ことがある。この場合、更新されたページのデータは、マイグレーション先の計算機に転送される。【０００６】
マイグレーションでは、ハードウェア構成からメモリ上のデータまで、マイグレーション元の計算機の構成及び状態等の全ての情報を、マイグレーション先の計算機に転送する必要がある。「ライブ」マイグレーションは、計算機が稼働している状態でのマイグレーションである。したがって、マイグレーション中に更新されたメモリ上のデータも、全て正しくマイグレーション先の計算機に転送される必要がある。【０００７】
ユーザは、ライブマイグレーションを実行した場合であっても仮想計算機システムを問題なく運用しなければならない。したがって、仮想計算機システムの管理者（ユーザ）は、ライブマイグレーションに関する状態をより詳細に管理及び制御したいというニーズを有する。例えば、仮にＬＰＡＲ上のＯＳ等がメモリに頻繁にアクセスしていると、そのアクセスによって更新されたメモリページの転送が何度も発生してしまい、ライブマイグレーションがいつまでも完了しない可能性がある。よって、ユーザは、仮想計算機システムを適切に運用するために、ライブマイグレーション処理が正常に完了するか否かを前もって把握しておきたいというニーズを有する。【０００８】
本発明の目的は、ユーザが、仮想計算機システムにおけるライブマイグレーション処理の状態を把握し、マイグレーションの対象を適切に管理及び制御できるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明の一実施形態に係る仮想計算機システムは、ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機と、複数の計算機を管理する管理計算機と、を備え、管理計算機は、操作者の操作入力を受ける入力部と、第１計算機上で第１仮想計算機を稼動した状態で、第１仮想計算機を第１計算機から第２計算機に移行するライブマイグレーションに関する進捗情報を第１計算機から取得し、その取得した進捗情報に基づきライブマイグレーションに関する統計情報を生成し、統計情報を含む統計画面を生成する画面生成部と、統計画面を表示する出力部と、を備える。【００１０】
なお、出力部が行う「表示する」という処理は、管理計算機が有する表示装置上に統計画面を表示することであっても良いし、管理計算機に接続されており表示装置を有する遠隔の計算機に統計画面の情報を送信することであっても良い。後者の場合、その遠隔の計算機が、管理計算機から受信した情報を基に、その遠隔の計算機が有する表示装置上に統計画面を表示する。
【発明の効果】
【００１１】
本発明によれば、ユーザは、仮想計算機システムにおけるライブマイグレーション処理の状態を把握し、マイグレーションの対象を適切に管理及び制御することができる。
【図面の簡単な説明】
【００１２】
【図１】計算機システムの全体構成。
【図２】ハイパバイザの有するメモリ管理情報の例。
【図３】ハイパバイザの有するステータス管理情報の例。
【図４】管理計算機の有する機能構成。
【図５】ライブマイグレーションの選択画面の例。
【図６】ライブマイグレーションの設定画面の例。
【図７】ライブマイグレーションの進捗画面の例。
【図８】ライブマイグレーションの統計画面の例。
【図９】統計画面に表示されるマイグレーション統計情報の表の例。
【図１０】統計画面に表示される転送速度のグラフ。
【図１１】統計画面に表示されるダーティページ量のグラフ。
【図１２】メモリマップ画面の例。
【図１３】第１の表示に対応するメモリマップの生成及び表示の例。
【図１４】第２の表示に対応するメモリマップの生成及び表示の例。
【図１５】第３の表示に対応するメモリマップの生成及び表示の例。
【図１６】第４の表示に対応するメモリマップの生成及び表示の例。
【図１７】ライブマイグレーション処理のシーケンスチャート。
【図１８】第１計算機のメモリ書き込み処理のフローチャート。
【図１９】第１計算機のメモリ書き込み処理のフローチャートの変形例。
【図２０】第１計算機のメモリデータ転送処理のフローチャート。
【図２１】第１計算機のクリーンページのデータ転送処理のフローチャート。
【図２２】管理計算機における画面生成処理のフローチャート。
【図２３】メモリ管理情報からメモリマップを生成する方法の説明図。
【発明を実施するための形態】
【００１３】
以下、ライブマイグレーション中の各種情報をユーザにグラフィカルに提示する仮想計算機システムの一実施形態を説明する。
【００１４】
図１は、仮想計算機システムの全体構成を示す。仮想計算機システム１は、例えば、第１計算機４−１及び第２計算機４−２と、管理計算機２と、ストレージ装置６とを備える。以下、第１計算機４−１と第２計算機４−２を区別せずに計算機４という場合がある。
【００１５】
管理計算機２と、第１計算機４−１と、第２計算機４−２とは、通信ネットワーク４１で接続されている。入力部３ａは、入力ＩＦ１５ａを介して管理計算機２に接続されている。出力部３ｂは、出力ＩＦ１５ｂを介して管理計算機２に接続されている。
【００１６】
第１計算機４−１及び第２計算機４−２は、ＦＣ−ＳＷ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ−Ｓｗｉｔｃｈ）５を介して、ストレージ装置６と、ＦＣケーブル４２で接続されている。なお、ＦＣ−ＳＷ５に代えて他種のスイッチが採用されても良いし、ＦＣケーブル４２に代えて他種のケーブルが採用されても良い。
【００１７】
出力部３ｂは、管理計算機２が生成した出力情報を出力する。出力部３ｂは、例えば画面の情報を表示する。入力部３ａは、ユーザからの入力指示を受け付けて、その入力指示を管理計算機２に伝える。出力部３ｂは、例えば、画面による出力を行う液晶ディスプレイ、音声による出力を行うスピーカ等である。入力部３ａは、例えば、キーボード、マウス、マイク等である。さらに又、入力部３ａと出力部３ｂとを兼用するタッチパネルディスプレイ等であってもよい。
【００１８】
ストレージ装置６は、計算機４に係るデータを記憶する。ストレージ装置６は、ディスクユニット３１及びＦＣ−ＨＢＡ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ−Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）３２を備える。なお、ＦＣ−ＨＢＡ３２に代えて他種のＨＢＡが採用されても良い。
【００１９】
ＦＣ−ＨＢＡ３２には、ＦＣケーブル４２が接続される。ストレージ装置６は、計算機４から送信された書き込みデータをディスクユニット３１に書き込む。ストレージ装置６は、計算機４から要求された読み出しデータをディスクユニット３１から読み出して、計算機４に返す。ディスクユニット３１は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリ等で構成される。
【００２０】
計算機４は、様々な演算処理を実行する。計算機４は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、メモリ２２と、ハイパバイザ２３と、通信ＩＦ２５と、ＦＣ−ＨＢＡ２４とを備える。これら要素２１〜２５は、双方向にデータの伝送が可能なバス（不図示）で接続されている。
【００２１】
ＣＰＵ２１は、メモリ２２に展開されたコンピュータプログラムを実行する。ＣＰＵ２１は、複数備えられても良い。
【００２２】
ハイパバイザ２３は、仮想化機能を実現する。一般的に、計算機４は、ＣＰＵ２１及びメモリ２２等から構成される一つのチップセット上で一つのＯＳしか実行できない。しかし、ハイパバイザ２３を介することにより、計算機４は、ＣＰＵ２１及びメモリ２２等から構成される一つのチップセット上で複数のＯＳを同時に実行することができる。例えば、ハイパバイザ２３上に仮想計算機として第１ＬＰＡＲ１００−１と第２ＬＰＡＲ１００−２を構築し、第１ＬＰＡＲ１００−１と第２ＬＰＡＲ１００−２の各々において異なるＯＳを同時に実行することができる。
【００２３】
ハイパバイザ２３は、各ＬＰＡＲ（又はＯＳ）に対するＣＰＵ２１及びメモリ２２等のリソースの配分（割当）を管理する。つまり、ハイパバイザ２３は、同時に実行されている複数のＯＳに対して、物理的なＣＰＵ２１及びメモリ２２のリソースを、その時々の状況に応じて適切に配分する。各ＯＳからは、ハイパバイザ２３から配分された仮想的なＣＰＵ及びメモリのリソースが、実際のＣＰＵ及びメモリと認識される。この仮想的なＣＰＵ及びメモリを、仮想ＣＰＵ及び仮想メモリと呼ぶ場合がある。
【００２４】
ハイパバイザ２３は、各ＯＳと、ストレージ装置６の所定の記憶領域との関係を管理する。ハイパバイザ２３は、或るＯＳからストレージ装置６に対するデータの書き込み／読み出しの指示を受けると、ＦＣ−ＨＢＡ２４を介して、その指示をストレージ装置６に伝送する。ハイパバイザ２３は、ＦＣ−ＨＢＡ２４を介して、ストレージ装置６から或るＯＳに対する書き込み／読み出しの応答を受けると、その受けた応答を適切なＯＳに伝える。ＦＣ−ＨＢＡ２４が２つ備えられているのは、ライブマイグレーションを適切に実現するためと、冗長性を高めるためである。
【００２５】
ハイパバイザ２３は、例えば、チップセットのファームウェアとして実行される。つまり、ハイパバイザ２３は、物理的なＣＰＵ２１及びメモリ２２等のリソースを、直接的に制御及び管理することができる。ハイパバイザ２３は、物理的なチップセットのような物として実現されても良いし（例えば、コンピュータプログラムとしてのハイパバイザ２３を記憶した物理的な記憶資源とそのハイパバイザ２３を実行する物理的なＣＰＵとを有しておりその物理的なＣＰＵでハイパバイザ２３を実行することによってはハイパバイザとして機能する回路であっても良いし）、物理的なＣＰＵ上で実行されるコンピュータプログラムとして実現されても良い。
【００２６】
ハイパバイザ２３は、各ＬＰＡＲ１００とメモリ２２との対応関係を管理するメモリ管理情報１０２と、各ＬＰＡＲ１００及びＣＰＵ２１の設定及び状態に関する情報を管理するステータス管理情報１０１を保持する。次に、これらの管理情報１０１、１０２について説明する。
【００２７】
図２は、ハイパバイザ２３の有するメモリ管理情報１０２の例を示す。メモリ管理情報１０２は、ハイパバイザ２３上で実行されているＯＳに提供している仮想メモリのページアドレスと、物理的なメモリ２２のページアドレスとの対応関係を管理する。つまり、ハイパバイザ２３は、ＬＰＡＲ１００毎にメモリ管理情報１０２を管理する。
【００２８】
メモリ管理情報１０２は、データ項目として、仮想メモリページ開始アドレス１２１と、物理メモリページ開始アドレス１２２と、ページサイズ１２３と、書き換えフラグ１２４と、転送フラグ１２５とを有する。
【００２９】
なお、ページとは、メモリを複数に分割した領域の単位のことである。ライブマイグレーションを行うためには、ハードウェアの支援として、ページ単位でのＯＳによる書き込みを監視する機能が重要である。
【００３０】
「メモリページ」は、一般的にページング方式と呼ばれるメモリ管理方式で扱われるメモリの管理単位である。つまり、メモリの領域を、１ビット単位ではなく、所定サイズのページ単位（一般的には、４ｋＢｙｔｅ又は２ＭＢｙｔｅ）で扱う。例えば、１ページ内に含まれる１ビットでもデータの更新があった場合、１ページ全体が更新された（書き換えられた）として扱われる。
【００３１】
仮想メモリページ開始アドレス１２１は、或るＯＳが認識している仮想的なメモリページの開始アドレスを示す。
【００３２】
物理メモリページ開始アドレス１２２は、仮想メモリページ開始アドレス１２１に対応する物理的なメモリページの開始アドレスを示す。
【００３３】
ページサイズ１２３は、仮想メモリページ開始アドレス１２１又は物理メモリページ開始アドレスから開始されるメモリページのサイズを示す。
【００３４】
書き換えフラグ１２４は、メモリページに書き換えが発生したか否かを示すフラグである。つまり、書き換えフラグ１２４は、ライブマイグレーションのメモリ転送中に、メモリへの書込み要求が発生して書き換えられたメモリページを、ダーティページとして管理するためのフラグである。つまり、書き換えフラグ１２４は、該当するメモリページが、ダーティページであるか否かを判別するために使用される。書き換えフラグ１２４が「１」の場合は書き換えが発生したことを示し、書き換えフラグが「０」の場合は書き換えが発生していないことを示す。書き換えフラグ１２４が更新されるタイミングの詳細については後述する。なお、書き換えフラグ１２４を管理するためには、メモリへのアクセスを常に監視する必要がある。そのため、メモリの読み書きの性能は、監視しない時と比較して、低下する可能性がある。そのため、通常稼動時（つまり、ライブマイグレーションの実行中以外）は、書き換えフラグ１２４は管理されない運用が望ましい。
【００３５】
以下、ダーティページについて更に説明する。ダーティページとは、マイグレーション元となる第１計算機４−１のＬＰＡＲのＯＳが動作している状態で、第１計算機４−１のメモリが、マイグレーション先となる第２計算機４−２のメモリに転送されるライブマイグレーション処理において、マイグレーション元となる第１計算機４−１のメモリが有する複数のページのうち、マイグレーション先となる第２計算機４−２へのデータ転送中に、ＯＳ等による何らかの書き込み等により書き換えられたページのことである。
【００３６】
例えば、ライブマイグレーションの移行元であるＬＰＡＲの使用している仮想メモリは、ページアドレス１から１００を有するとする。なお、このページアドレスは、ＬＰＡＲ上のＯＳが認識している仮想メモリのページアドレスであり、物理メモリのページアドレスとは異なり得る。仮想メモリと物理メモリのページアドレスの対応は、メモリ管理情報１０２で管理される。
【００３７】
ライブマイグレーションが開始されると、ハイパバイザ２３が、ページアドレス１から１ページずつ順番にメモリデータを、移行元の計算機から移行先の計算機に転送する。この時、Ｎ番目（Ｎは正の整数）のページがすでに書き換えられていた場合、そのページの転送をスキップする。
【００３８】
上記の手順でアドレス１００までの処理を終えた時点で、ハイパバイザ２３は、メモリ全体（ページアドレス１〜１００）の状態を確認する。メモリには、ａ）書き換えられていたので転送をスキップしたページと、ｂ）転送後に書き換えられたページとが存在している。上記ａ）及びｂ）のいずれの場合も、書き換えフラグ１２４が「１」になっている。ハイパバイザ２３は、これら書き換えフラグ１２４が「１」になっているページを、ダーティページと見なす。
【００３９】
このダーティページ量が所定の閾値以下の場合は、ハイパバイザ２３は、移行元の計算機を一時的に停止させて、その時点の残りの状態及びデータを全てまとめて転送するライブマイグレーションの最終処理に移行する。ダーティページ量が所定の閾値より大きい場合は、ダーティページを転送する処理を行う。以降、ダーティページ量が所定の閾値以下となるまで、稼働中の計算機によるメモリの書き換えと、ハイパバイザ２３によるダーティページのデータ転送とが繰り返される。
【００４０】
転送フラグ１２５は、メモリページのデータの転送（マイグレーション）の可否を示すフラグである。転送フラグが「１」の場合は転送の許可を示す。転送フラグが「０」の場合は転送の禁止を示す。
【００４１】
例えば、或るページにデータが書き込まれている場合、そのページに対応した転送フラグ１２５は、「０」とされる。これにより、ページのデータが、書き込みの発生している途中で転送されないように保護することができる。具体的には、メモリ内容の変更の為の書き込みと、転送のための読み込みとが競合した場合に、中途半端なデータが転送されないようにする。結果として、システムの信頼性を高めることができる。
【００４２】
図２に示すメモリ管理情報１０２の第１レコード１２７は、仮想メモリページにおける開始アドレス「ＡＤＤＲ＿Ｌ０（所定のページアドレス番号）」が、物理メモリページにおける開始アドレス「ＡＤＤＲ＿Ｐ０（所定のページアドレス番号）」に対応することを示す。そして、このメモリページのサイズが「ＭＰ０（所定のバイトサイズ）」であることを示す。そして、このメモリページには書き換えが発生しており（書き換えフラグ１２４が「１」）、このメモリページのデータは転送が禁止されている（転送フラグ１２５が「０」）ことを示す。
【００４３】
図３は、ハイパバイザ２３の有するステータス管理情報１０１の例を示す。ステータス管理情報１０１は、ＬＰＡＲ１００のライブマイグレーション処理に関する実行状況及び設定の情報を管理する。つまり、ハイパバイザ２３は、ＬＰＡＲ１００毎にステータス管理情報１０１を有する。ステータス管理情報１０１は、ＬＰＡＲ１００上のＯＳ等の実行状態によって変化し得る情報（以下「状態情報」という）と、ユーザからの設定によって変更され得る情報（以下「設定情報」という）とを有する。
【００４４】
ステータス管理情報１０１は、データ項目として、項目名１１１と、値１１２と、設定フラグ１１３とを有する。設定フラグ１１３が「１」の場合、ユーザは、値１１２を設定できる。設定フラグ１１２が「０」の場合、ユーザは、値１１２を設定できない。
【００４５】
ステータス管理情報１０１は、ライブマイグレーション処理に関係する項目名１１１として、例えば、現在時刻１１５ａ、マイグレーション状況１１５ｂ、実行中コマンド１１５ｃ、転送済みデータ量１１５ｄ、ダーティページ量１１５ｅ、判定閾値１１５ｆ、転送帯域の上限値１１５ｇ、仮想ＣＰＵ割当リソースの上限値１１５ｈ、ＤＭＡ割込の上限値１１５ｉ、タイムアウト時間１１５ｊを有する。
【００４６】
現在時刻１１５ａは、現在の時刻を示す状態情報である。マイグレーション状況１１５ｂは、ライブマイグレーション処理の現在の状況を示す状態情報である。マイグレーション状況１１５ｂは、例えば、未実行／実行中／最終処理中等の情報を有する。実行中コマンド１１５ｃは、ライブマイグレーション処理において、現在実行中のコマンドを示す状態情報である。転送済みデータ量１１５ｄは、ライブマイグレーション処理において、現在までに転送を完了したデータの総量を示す状態情報である。ダーティページ量１１５ｅは、ライブマイグレーション処理において、現在残存しているダーティページの量（本実施形態では、ダーティページの数）である。
【００４７】
判定閾値１１５ｆは、ライブマイグレーションの最終処理の開始を判定するための設定値である。ライブマイグレーションの最終処理とは、マイグレーション元のＬＰＡＲ上においてＯＳ等が実行されている間は転送することができない残りのデータを、一時的にＬＰＡＲの仮想ＣＰＵを停止させて、マイグレーション先のＬＰＡＲに転送する処理である。つまり、ライブマイグレーションの最終処理は、最後まで残存しているダーティページを、一時的にＬＰＡＲの仮想ＣＰＵを停止させて、まとめて転送する。ここで、ＬＰＡＲ上のＯＳ等の実行に影響を与えることなく仮想ＣＰＵを停止させることが可能な時間は、限られている。したがって、ライブマイグレーションの最終処理は、ダーティページ量が十分に少なくなってから開始されなければならない。判定閾値は、ダーティページ量が、このライブマイグレーションの最終処理を開始できるくらい十分に少ないか否かを判定するために用いられる。
【００４８】
転送帯域の上限値１１５ｇは、ライブマイグレーション処理のデータ転送に使用可能な通信帯域の上限を示す設定値である。
仮想ＣＰＵ割当リソースの上限値１１５ｈは、ライブマイグレーション実行中において、マイグレーション元のＬＰＡＲが使用する仮想ＣＰＵに割り当てられるリソース（物理ＣＰＵの利用可能時間）の上限を示す設定値である。つまり、仮想ＣＰＵ割当リソースの上限値１１５ｈとは、例えばライブマイグレーションを所定時間内で完了させたい場合に、ライブマイグレーション中のダーティページの増加を抑えることを目的として、ＯＳあるいはＬＰＡＲの処理性能を一時的に落として遅くさせるために設定される値である。
【００４９】
ＤＭＡ割込の上限値１１５ｉは、ライブマイグレーション処理時におけるＤＭＡからの割込遅延時間の上限を示す設定値である。タイムアウト時間１１５ｊは、ライブマイグレーション処理のタイムアウトまでの時間を示す設定値である。ライブマイグレーション処理は、このタイムアウト時間までに完了しない場合、強制的に中止となる。以下、図１の説明に戻る。
【００５０】
管理計算機２は、複数の計算機４を管理する。管理計算機２は、例えば、ＣＰＵ１１と、メモリ１２と、ストレージ１３と、通信ＩＦ１４と、入力ＩＦ１５ａと、出力ＩＦ１５ｂとを備え、各要素１１〜１５は、双方向にデータ伝送可能なバス１６で接続されている。
【００５１】
ＣＰＵ１１は、メモリ１２に展開されたコンピュータプログラムを実行して、後述する管理計算機２の有する各種機能を実現する。
【００５２】
ストレージ１３は、コンピュータプログラム及びデータ等を保持する。コンピュータプログラム及びデータは、必要に応じてメモリ１２に展開され、ＣＰＵ１１に実行される。
【００５３】
通信ＩＦ１４は、通信ネットワーク４１と接続する。ＣＰＵ１１は、通信ＩＦ１４を通じて、各計算機４とデータを送受信できる。
【００５４】
入力ＩＦ１５ａには、入力部３ａが接続される。出力ＩＦ１５ｂには、出力部３ｂが接続される。ＣＰＵ１１は、出力ＩＦ１５ｂを通じて出力部３ｂに画面表示用の信号を出力したり、入力ＩＦ１５ａを通じて入力部３ａからユーザ操作に関する信号を受けたりする。
【００５５】
図４は、管理計算機２の有する機能構成を示す。管理計算機２は、例えば、ユーザが複数の計算機４を簡単に管理できるようなＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を生成する。管理計算機２は、ユーザからＧＵＩを通じて指示を受け、その指示を実現するためのコマンドを各計算機４に送信する。
【００５６】
管理計算機２は、画面入出力部２０１と、画面生成部２０２とを有する。画面入出力部２０１は、後述する画面生成部２０２によって生成された各種画面（ＧＵＩ）を、出力部（表示部）３ｂに出力して表示させる。また、画面入出力部２０１は、出力部３ｂにＧＵＩのボタン等として表示された命令群を、入力部３ａからユーザ操作で選択させ、その選択結果をユーザ指示として画面生成部２０２及び／又はマイグレーション指示部２０３に伝える。マイグレーション指示部２０３は、画面入出力部２０１から伝えられた指示に基づいて、各計算機４にライブマイグレーション処理に関するコマンドを送信したり、各計算機４からライブマイグレーション処理に関する応答を受信したりする。
【００５７】
上記機能２０１、２０２、２０３は、例えば、対応するコンピュータプログラムが、ＣＰＵ１１において実行されることによって実現される。上記機能２０１、２０２、２０３の全部又は一部は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のような専用のハードウェアによって実現されても良い。
【００５８】
画面生成部２０２は、ライブマイグレーション処理に関する各種画面を生成する。画面生成部２０２は、例えば、選択画面２１１、設定画面２１２、進捗画面２１３、統計画面２１４、メモリマップ画面２１５等を生成する。以下、各画面の詳細について説明する。
【００５９】
図５は、ライブマイグレーション処理の選択画面の例を示す。ユーザは、選択画面２１１で、ライブマイグレーション処理の対象とするＬＰＡＲ１００を選択する。
【００６０】
選択画面２１１は、マイグレーション元の選択領域３０１と、マイグレーション元のＬＰＡＲ情報表示領域３０３と、マイグレーション先の選択領域３０２と、マイグレーション先のＬＰＡＲ情報表示領域３０４とを有する。また、選択画面２１１は、チューニングボタン３０５と、実行ボタン３０６を有する。
【００６１】
ユーザが、マイグレーション元の選択領域３０１からマイグレーション元の第１ＬＰＡＲ３０７を選択すると、その選択された第１ＬＰＡＲ３０７のＬＰＡＲ情報が、マイグレーション元のＬＰＡＲ情報表示領域３０３に表示される。ＬＰＡＲ情報表示領域３０３には、例えば、第１ＬＰＡＲ３０７のシャーシＩＤ、ＨＶＭ  ＩＤ、ＬＰＡＲ番号及びＬＰＡＲ名称等が表示される。
【００６２】
ユーザが、マイグレーション先の選択領域３０２からマイグレーション先の第４ＬＰＡＲ３０８を選択すると、その選択された第４ＬＰＡＲ３０８のＬＰＡＲ情報がマイグレーション先のＬＰＡＲ情報表示領域３０４に表示される。ユーザは、未使用のＬＰＡＲを、マイグレーション先として選択する。
【００６３】
そして、ユーザが実行ボタン３０６を選択すると、ライブマイグレーション処理が開始され、後述する進捗画面２１３に遷移する。
【００６４】
ユーザが実行ボタン３０６を選択する前に、チューニングボタン３０５を選択すると、設定画面２１２に遷移する。次に、設定画面２１２について説明する。
【００６５】
図６は、ライブマイグレーション処理の設定画面２１２の例を示す。ユーザは、設定画面２１２で、ライブマイグレーション処理に関する設定値をセットすることができる。
【００６６】
設定画面２１２は、タイムアウト時間設定領域３１１と、仮想ＣＰＵ割当リソースの上限値設定領域３１２と、ＤＭＡ割込の上限値設定領域３１３と、転送帯域の上限値設定領域３１４と、仮想ＣＰＵ停止時間設定領域３１５とを有する。また、設定画面２１２は、ＯＫボタン３１７と、キャンセルボタン３１８とを有する。
【００６７】
タイムアウト時間設定領域３１１には、ライブマイグレーション処理のタイムアウトまでの時間の最大値を入力することができる。この設定領域３１１に入力された値は、ステータス管理情報１０１のタイムアウト時間に設定される。
【００６８】
仮想ＣＰＵ割当リソースの上限値設定領域３１２には、ライブマイグレーション実行中におけるマイグレーション元のＬＰＡＲが利用可能な仮想ＣＰＵに割り当てられるリソース（例えば、物理ＣＰＵが割り当てられる時間）の上限値（最大値）を入力することができる。この設定領域３１２に入力された値は、ステータス管理情報１０１の仮想ＣＰＵ割当リソースの上限値１１５ｈに設定される。このように、ライブマイグレーション実行中において、仮想ＣＰＵに割り当てるリソースに敢えて上限を設けて仮想ＣＰＵの性能を落とすことによって、マイグレーション元のＬＰＡＲの性能が落ちるので、ダーティページ量の増加を抑えることができる。
【００６９】
ＤＭＡ割込の上限値設定領域３１３には、ライブマイグレーション処理時におけるＤＭＡからの割込遅延時間の上限値を入力することができる。この設定領域３１３に入力された値は、ステータス管理情報１０１のＤＭＡ割込の上限値１１５ｉに設定される。
【００７０】
転送帯域の上限値設定領域３１２には、ライブマイグレーション処理のデータ転送のために使用する通信帯域の上限値を入力することができる。この設定領域３１４に入力された値は、ステータス管理情報１０１の転送帯域の上限値１１５ｇに設定される。
【００７１】
仮想ＣＰＵ停止時間設定領域３１５には、仮想ＣＰＵを停止可能な時間を入力することができる。この設定領域３１５に入力された値は、ライブマイグレーションの最終処理の開始を判定するために用いられる。つまり、この設定領域３１５に入力された値は、転送帯域の上限値との積から判定閾値に換算され、ステータス管理情報１０１の判定閾値に設定される。
【００７２】
ＯＫボタン３１７が選択されると、各設定領域３１１〜３１５に入力された値が、ステータス管理情報１０１に設定される。ここで、ライブマイグレーション処理の実行中にＯＫボタン３１７が選択された場合、各設定領域３１１〜３１５に入力された値は、当該実行中のライブマイグレーション処理に反映される。
【００７３】
キャンセルボタン３１８が選択されると、各設定領域３１１〜３１５に入力された値は破棄され、直前の画面に遷移する。
【００７４】
図７は、ライブマイグレーションの進捗画面の例を示す。例えば、図５に示す選択画面２１１において実行ボタン３０６が選択されて、ライブマイグレーション処理が実行されると、第１ＬＰＡＲ３０７の有するＯＳ及び仮想メモリ上のデータは、全て第４ＬＡＰＲの仮想環境に転送される。さらに、「ライブ」マイグレーションであるので、転送中であっても、第１ＬＰＡＲ３０７の有するＯＳ等は実行され続ける。
【００７５】
進捗画面２１３には、実行中のライブマイグレーションに係る進捗情報が表示される。進捗画面２１３は、マイグレーション元のＬＰＡＲ情報表示領域３２１と、マイグレーション先のＬＰＡＲ情報表示領域３２２と、進捗情報表示領域３２３と、マイグレーション実行ステップ表示領域３２４とを有する。また、進捗画面２１３は、延長ボタン３２５と、中止ボタン３２６と、チューニングボタン３２７と、統計情報ボタン３２８とを有する。
【００７６】
マイグレーション元のＬＰＡＲ情報表示領域３２１には、マイグレーション元のＬＡＰＲを特定するためのＬＰＡＲ情報が表示される。マイグレーション先のＬＰＡＲ情報表示領域３２２には、マイグレーション先のＬＰＡＲを特定するためのＬＰＡＲ情報が表示される。
【００７７】
進捗状況表示領域３２３には、ライブマイグレーションの進捗状況が表示される。進捗状況としては、例えば、ライブマイグレーション処理の開始時刻３３２、ライブマイグレーション処理開始からの経過時間３３３、ライブマイグレーション処理の完了までの予想残り時間（完了予想時間）３３５、ライブマイグレーション処理のタイムアウトまでの残り時間（タイムアウト時間）３３４、現在実行中の処理の状況３３１等が表示される。
【００７８】
なお、経過時間３３３は、実行ボタン３０６が選択された時刻と管理計算機２の現在時刻との差分を計算することで、求められる。また、タイムアウトまでの残り時間３３４は、タイムアウト設定値（固定値）から、ライブマイグレーション処理開始からの経過時間３３３を差し引いた値として求められる。
【００７９】
実行ステップ表示領域３２４には、ライブマイグレーション処理において、既に実行されたステップ、実行中のステップ及びこれから実行される予定のステップ等が、一覧形式で表示される。そして、ステップ毎に、ステップ名と、実行済み／実行中／未実行等の実行状態と、実行に要した時間（実行時間）、処理内容の説明等が表示される。
【００８０】
延長ボタン３２５は、選択されると、マイグレーション指示部２０３が、ライブマイグレーション処理のタイムアウト時間を延長する。中止ボタン３２６は、選択されると、マイグレーション指示部２０３が、ライブマイグレーションを中止する。チューニングボタン３２７は、選択されると、上記図６に示す設定画面２１２に遷移する。この進捗画面２１３から遷移した設定画面２１２で設定された値は、実行中のライブマイグレーション処理にリアルタイムに反映される。統計情報ボタン３２８は、選択されると、後述する統計画面２１４に遷移する。
【００８１】
ユーザが、統計画面２１４を表示させるために、統計情報ボタン３２８を選択する契機としては、例えば以下の２つがある。
【００８２】
一つ目の例は、ユーザが、ライブマイグレーション実行前の事前設計、或いは見積りどおりにライブマイグレーションが完了するかどうかを確認したい場合である。一般に、ユーザは、ライブマイグレーションにおけるメモリ転送に必要な時間の概算値を、「サーバのメモリ量／メモリ転送速度」として見積もる。実際には、ダーティページの存在があるため、上式の値よりも長くなることがある。そこで、ユーザは、この見積りどおりにライブマイグレーション処理が進行しているかどうかを確認するために、統計画面２１４の表示を指示する。
【００８３】
二つ目の例は、ユーザが、ライブマイグレーションが予想終了時刻を過ぎても終わらないときの原因追求、又は対策立案に向けた現状確認をしたい場合である。ユーザは、ライブマイグレーションの現在の進捗がどうなっているのか（ダーティページが想定より多くて転送に時間が掛かっているのか、それとも、転送速度又はダーティページの増減が想定外の値となっているのか）を確認するために、統計画面２１４の表示を指示する。
【００８４】
従来の仮想計算機システムでは、ライブマイグレーションの詳細な現在の状況を知る術が無かった。そのため、ライブマイグレーション開始後は、１）正常に終了、２）タイムアウトで強制終了（ゆえに、ライブマイグレーション失敗）、３）キャンセル操作で強制終了（ゆえに、ライブマイグレーション失敗）のうちいずれかに至っていた。
【００８５】
これに対し、本実施例の仮想計算機システムでは、ライブマイグレーションの詳細な現在の状況を知ることができるので、正常に終了した場合であっても、ａ）転送速度やタイムアウト時間に対し十分なマージンがある、ｂ）転送速度やタイムアウト時間に対し、ほとんどマージンが無い、のどちらの状態に近いのかを分析可能となる。或いは、タイムアウトまたはキャンセルした場合でも、ｃ）転送速度又はタイムアウト時間に対し、もう少しマージンがあれば正常終了した、ｄ）転送速度又はタイムアウト時間が足りていない、のどちらの状況に近いのかを分析可能となる。
【００８６】
このように、ライブマイグレーション実行中の状況を知ることで、上記ａ）の場合は問題ないが、上記ｂ）〜ｄ）の場合はマージンを十分に確保する等の対策が必要である、ということが分かる。
【００８７】
図７において、「完了予想時間＞タイムアウト時間」の場合は、ライブマイグレーション処理が完了する前に、タイムアウト時間によってライブマイグレーション処理が中止されてしまう虞がある。そこで、このような場合は、表示領域３２３に、その旨の警告画面を表示する。例えば、完了予想時間３３５を通常とは異なる目立つ赤色等に変化させる。警告画面を表示することにより、ユーザはライブマイグレーション処理が正常に完了しない虞があることに気づき、様々な対処を迅速に行うことができる。
【００８８】
例えば、ユーザは、延長ボタン３２５を選択して、タイムアウト時間を延長しても良い。例えば、ユーザは、中止ボタン３２６を選択して、ライブマイグレーション処理を中止しても良い。例えば、ユーザは、チューニングボタン３２７を選択して、ライブマイグレーション処理に使用するリソースを調整しても良い。例えば、ユーザは、統計情報ボタン３２８を選択して、統計情報を確認し、その原因を分析しても良い。
【００８９】
図８は、ライブマイグレーションの統計画面２１４の例を示す。統計画面２１４には、実行中のライブマイグレーションに関する様々な統計情報が表示される。
【００９０】
統計画面２１４は、マイグレーション元のＬＰＡＲ情報表示領域３４１と、マイグレーション先のＬＰＡＲ情報表示領域３４２と、統計情報表示領域３４３と、転送速度グラフ表示領域３４４と、ダーティページ量グラフ表示領域３４５とを有する。
【００９１】
また、統計画面２１４は、延長ボタン３４６と、中止ボタン３４７と、チューニングボタン３４８と、メモリマップボタン３４９と、進捗状況ボタン３５０とを有する。延長ボタン３４６と、中止ボタン３４７と、チューニングボタン３４８については、上述と同様であるので、説明を省略する。進捗状況ボタン３５０は、選択されると、図７に示す進捗画面２１３に戻る。メモリマップボタン３４９は、選択されると、後述するメモリマップ画面２１５を表示する。
【００９２】
さて、ライブマイグレーションでは、マイグレーション元の計算機のメモリの内容を、マイグレーション先の計算機のメモリへ転送する、その過程では、ダーティページを考慮しなければいけない。すなわち、ライブマイグレーションが所定の時間内に完了するかどうかは、ダーティページの転送完了の可否が重要なポイントになる。
【００９３】
ダーティページの転送を確実に完了させるためには、ライブマイグレーションを実行中の、マイグレーション元の計算機のメモリの状態を知ることが必要となる。その際、転送速度又はダーティページの残量といった統計的・定量的な情報に加え、メモリの使用状況、具体的にはどのプログラムがどの程度頻繁にアクセスしているのか、を把握することが、非常に有用である。メモリの使用状況が把握できれば、ダーティページの発生原因がどこにあるのか、例えばＯＳのカーネル領域なのか若しくはアプリケーション領域なのか、を判断する手助けとなる。
【００９４】
メモリマップ画面２１５から得られるこのような情報を総合的に参照することで、複数あるライブマイグレーション処理に関わる設定値のうち、どれを変更すればライブマイグレーションが所定の時間内に完了するかを判断することが可能となる。なお、その判断は、ユーザが行なってもよいし、管理計算機２等が自動的に判断してもよい。
【００９５】
マイグレーション元のＬＰＡＲ情報表示領域３４１には、実行中のマイグレーション元のＬＡＰＲのステータス管理情報１０１が表示される。マイグレーション先のＬＰＡＲ情報表示領域３４２には、実行中のマイグレーション先のＬＡＰＲのステータス管理情報１０１が表示される。
【００９６】
統計情報表示領域３４３は、実行中のマイグレーションに関する統計情報を表形式で表示する。次に、その統計情報について説明する。
【００９７】
図９は、統計情報表示領域３４３に表示される統計情報の表の例である。
【００９８】
統計情報１０３は、データ項目として、時刻１３１と、転送速度１３２と、平均転送速度１３３と、ダーティページ量１３４と、ダーティページ量の増減１３５と、総転送量１３６と、判定閾値１３７とを表示する。
【００９９】
時刻１３１は、その統計情報１０３が計算機４から取得された時刻である。転送速度１３２は、マイグレーション元からマイグレーション先への転送データの転送速度を示す。転送速度１３２は、例えば、マイグレーション元の計算機４の通信ＩＦ２５から出力されたデータ量に基づいて算出されても良い。後述する転送速度グラフ表示領域３４４に表示されるグラフは、この転送速度１３２の値に基づいて生成される。平均転送速度１３３は、所定の時間における転送データの転送速度１３２の平均を示す。
【０１００】
ダーティページ量１３４は、残存しているダーティページ量を示す。後述するダーティページ量グラフ表示領域３４５は、このダーティページ量１３４の値に基づいて生成される。
【０１０１】
ダーティページ量の増減１３５は、例えば、前回の統計情報１０３に係るダーティページ量１０４と、今回の統計情報１０３に係るダーティページ量１０４との間の増減値を示す。
【０１０２】
総転送量１３６は、これまでに転送を完了したデータ量を示す。判定閾値１３７は、ライブマイグレーションの最終処理を開始するか否かを判定するための閾値である。この判定閾値１３７は、ステータス管理情報１０１の判定閾値に対応する。
【０１０３】
図１０は、転送速度グラフ表示領域３４４に表示される転送速度のグラフ４０１の例を示す。転送速度のグラフ４０１は、横軸が時刻、縦軸が転送速度を示す。つまり、ユーザはこのグラフ４０１によって、転送データの転送速度が時間の経過と共にどのように変化しているかを知ることができる。
【０１０４】
例えば、或る時間帯に一時的に転送速度が遅くなっていたとしても、その後回復しているのであれば、ユーザは、マイグレーション元からマイグレーション先との間の通信経路には問題がないと分析することができる。しかし、或る時刻から転送速度が遅くなってしまい、その後回復しないようであれば、ユーザは、マイグレーション元からマイグレーション先との間の通信経路に問題があるかもしれないと分析できる。
【０１０５】
図１１は、ダーティページ量グラフ表示領域３４５に表示されるダーティページ量のグラフ４０２の例を示す。ダーティページ量のグラフ４０２は、横軸が時刻、縦軸がダーティページ量を示す。つまり、ユーザはこのグラフ４０２によって、ダーティページ量が時間の経過と共にどのように変化しているかを知ることができる。
【０１０６】
例えば、時間の経過と共にダーティページ量が減少傾向にある場合、ユーザは、マイグレーション処理は順調であると分析することができる。しかし、或る時刻からダーティページ量が減少しない、又はダーティページ量が増加傾向にある場合、ユーザは、マイグレーション処理の完了までに時間がかかるかもしれないと分析することができる。
【０１０７】
ライブマイグレーション処理の進捗に問題がある場合、転送速度のグラフ４０１及びダーティページ量のグラフ４０２の両方を分析することによって、その原因をある程度切り分けることができる。それによって、ユーザは、適切な対処を行うことができる。
【０１０８】
例えば、ダーティページ量は減少傾向にあるが転送速度が遅い場合、ユーザは、マイグレーション元とマイグレーション先との間の通信経路に原因があるかもしれないと分析することができる。そして、例えば、通信経路のトラフィックを専有していた他のアプリケーションを停止させる等の対処を行うことができる。
【０１０９】
例えば、転送速度は十分高速であるが、ダーティページ量が減少しない場合、ユーザは、マイグレーション元のＬＰＡＲで実行されているＯＳに原因があるかもしれないと分析することができる。そして、例えば、ＬＰＡＲのＯＳ上で頻繁に仮想メモリにアクセスしているアプリケーションを停止させる等の対処を行うことができる。若しくは、ユーザは、チューニングボタン３４８を選択して、設定画面２１２を表示させ、ライブマイグレーション処理に要するリソースを調整することができる。若しくは、ユーザは、メモリマップボタン３４９を選択して、後述するメモリマップ画面２１５を表示させ、更に詳細に分析をすることができる。
【０１１０】
本実施形態では、ダーティページ量の変化が転送速度の変化に影響しているという考えに従い、転送速度の変化を示すグラフ４０１と共に、ダーティページ量の変化を示すグラフ４０２が表示される。転送速度の変化が生じる原因として、ダーティページ量の変化以外の原因、すなわち、ダーティページ量以外の状態情報の変化が考えられる。このため、転送速度の変化の原因をユーザが推測することを支援するためのグラフとして、図１１に示したグラフに代えて又は加えて、ダーティページ量とは異なる状態情報の実測値の変化を示すグラフが表示されても良い。
【０１１１】
図１２は、メモリマップ画面２１５の例を示す。メモリマップ画面２１５は、ダーティページの状態を示す。
【０１１２】
メモリマップ画面２１５には、前ボタン３６１と、時刻表示領域３６２と、次ボタン３６３と、表示選択ボタン３６４、３６５、３６６と、メモリマップ表示領域３６７とを有する。
【０１１３】
時刻表示領域３６２には、メモリマップ表示領域３６７に表示するメモリマップに対応する時刻を表示する。前ボタン３６１は、選択されると、存在する場合は一つ前の時点のメモリマップを、メモリマップ表示領域３６７に表示する。次ボタン３６３は、押下されると、存在する場合は一つ後の時点のメモリマップを、メモリマップ表示領域３６７に表示する。
【０１１４】
表示選択ボタン３６４、３６５、３６６は、選択されると、それぞれに対応する表示方法で、メモリマップ表示領域３６７にメモリマップを表示する。図１２のメモリマップ表示領域３６７に示すメモリマップは、後述する第１の表示に対応する。以下、第１の表示、第２の表示、第３の表示及び第４の表示に対応するメモリマップの生成及び表示について説明する。
【０１１５】
図１３は、第１の表示に係るメモリマップの生成及び表示の例である。第１の表示は、或る時刻におけるダーティページの状態をグラフィカルなメモリマップとして表示する。
【０１１６】
図１３（Ａ）は、時刻Ｔにおけるダーティページの状態を示す。時刻Ｔは、ダーティページの状態をチェックした時刻である。このダーティページの状態は、計算機４のハイパバイザ２３のメモリ管理情報１０２によって管理される。図２に示されるメモリ管理情報１０２の書き換えフラグ１２４において、値が「１」のページがダーティページであり、値が「０」のページがダーティページではないページ（以下「クリーンページ」という）である。
【０１１７】
メモリ管理情報１０２の書き換えフラグ１２４を図示化したものが、図１３（Ａ）である。図１３（Ａ）においても、値が「１」のページがダーティページであり、値が「０」のページがクリーンページである。
【０１１８】
第１の表示は、図１３（Ａ）に示すダーティページの状態を、図１３（Ｂ）に示すようなグラフィカルなメモリマップとして、図１２のメモリマップ表示領域３６７に表示する。図１３（Ｂ）に示すメモリマップの個々の要素をマップ要素と呼ぶことがある。メモリマップは、メモリを構成する複数のページにそれぞれ対応した複数のマップ要素を有している。各マップ要素は、例えば、領域（図示の例では矩形領域）である。第１の表示に係るメモリマップは、例えば、ダーティページ（つまり、値が「１」のページ）に対応したメモリ要素を網掛け有りに、クリーンページ（つまり、値「０」のページ）を網掛け無しとして、二値階調で表示する。
【０１１９】
ユーザは、第１の表示に係るメモリマップによって、或る時刻において、メモリのどのページにどのくらいのダーティページが残っているのかを一目で確認することができる。
【０１２０】
図１４は、第２の表示に対応するメモリマップの生成及び表示の例である。第２の表示は、或る時間帯におけるダーティページの頻度状態をグラフィカルなメモリマップとして表示する。
【０１２１】
図１４（Ａ）は、時刻Ｔ３、Ｔ２、Ｔ１（Ｔ３＞Ｔ２＞Ｔ１）におけるダーティページの状態を示す。時刻Ｔ３、Ｔ２、Ｔ１は、それぞれダーティページの状態をチェックした時刻である。それぞれのダーティページの状態は、計算機４のハイパバイザ２３によって管理される。ここで、値が「１」のページはダーティページであり、値が「０」のページはダーティページではない。
【０１２２】
図１４（Ｂ）は、時刻Ｔ３、Ｔ２、Ｔ１における各ページの値（「０」又は「１」）を合計して算出する。これを、ダーティページの頻度状態と呼ぶ。例えば、或るページが時刻Ｔ３、Ｔ２、Ｔ１の何れにおいても「１」の場合、そのページを「３」とする。同様に、或るページが時刻Ｔ３、Ｔ２、Ｔ１の何れにおいても「０」の場合、そのページを「０」とする。つまり、ダーティページの頻度状態において、値の大きいページは、より頻繁に更新されていることを示す。このダーティページの頻度状態は、管理計算機２が、マイグレーション元の計算機４から異なる時刻に取得した複数のダーティページの状態を用いて算出する。
【０１２３】
第２の表示は、図１４（Ｂ）に示すダーティページの頻度状態を、図１４（Ｃ）に示すようなグラフィカルなメモリマップとして、図１２のメモリマップ表示領域３６７に表示する。第２の表示に係るメモリマップは、例えば、値が「０」の部分を網掛け無しに、値が「１」の部分を薄い網掛けに、値が「２」の部分を濃い網掛けに、値が「３」の部分を塗りつぶしにして、多値階調で表示する。
【０１２４】
ユーザは、第２の表示に係るメモリマップによって、或る時間帯において、どのページがどのくらいの頻繁で更新されているのかを一目で確認することができる。
【０１２５】
図１５は、第３の表示に対応するメモリマップの生成及び表示の例である。第３の表示は、或る時刻におけるダーティページの概要状態をグラフィカルなメモリマップとして表示する。
【０１２６】
図１５（Ａ）は、時刻Ｔにおけるダーティページの状態を示す。時刻Ｔは、ダーティページの状態をチェックした時刻である。ここで、値が「１」のページはダーティページであり、値が「０」のページはダーティページではない。
【０１２７】
図１５（Ｂ）は、３つのページの値を合計して算出する。これが、ダーティページの概要状態である。例えば、メモリの先頭から３ページの値がそれぞれ「１」、「１」、「０」の場合、それらを合計して「２」を有する１ページを生成する。以降、３ページ毎にこれを繰り返して、図１５（Ｂ）に示すようなダーティページの概要状態を生成する。このダーティページの概要状態は、計算機４のハイパバイザ２３によって管理される。
【０１２８】
第３の表示は、図１５（Ｂ）に示すダーティページの概要状態を、図１５（Ｃ）に示すようなグラフィカルなメモリマップとして、図１２のメモリマップ表示領域３６７に表示する。第３の表示に係るメモリマップは、例えば、値が「０」の部分を網掛け無しに、値が「１」の部分を薄い網掛けに、値が「２」の部分を濃い網掛けに、値が「３」の部分を塗りつぶしにして、多値階調で表示する。
【０１２９】
図１５（Ａ）に示すダーティページの状態を、図１５（Ｂ）に示すダーティページの概要状態に変換することにより、ハイパバイザ２３で管理するデータ量を削減することができる。さらに、管理計算機２は、計算機４からメモリマップの概要状態を取得することで、管理計算機２と計算機との間の通信データ量を削減することができる。
【０１３０】
図１６は、第４の表示に対応するメモリマップの生成及び表示の例である。第４の表示は、或る時間帯におけるメモリの更新回数をグラフィカルなメモリマップとして表示する。
【０１３１】
図１６（Ａ）は、或る時刻から時刻Ｔまでのメモリの更新回数を示す。このメモリの更新回数は、計算機４のハイパバイザ２３によって管理される。ここで、各ページの値は、そのページが更新された回数を示す。例えば、値が「３」のページは、その時間帯に３回更新されたことを示す。
【０１３２】
第４の表示は、図１６（Ａ）に示すメモリの更新回数を、図１６（Ｂ）に示すようなグラフィカルなメモリマップとして、図１２のメモリマップ表示領域３６７に表示する。第４の表示に係るメモリマップは、例えば、更新回数が０回の部分を網掛け無しに、更新回数が１回の部分を薄い網掛けに、更新回数が２回の部分を濃い網掛けに、更新回数が３回以上の部分を塗りつぶしにして、多値階調で表示する。
【０１３３】
ユーザは、第４の表示に係るメモリマップによって、或る時間帯において、どのページがどのくらい頻繁に更新されているのかを一目で確認することができる。
【０１３４】
図１７は、ライブマイグレーション処理のシーケンスチャートを示す。以下、図１７を用いて、管理計算機２と、第１計算機４−１と、第２計算機４−２との間の処理を説明する。
【０１３５】
管理計算機２の画面入出力部２０１は、出力部３ｂに選択画面２１１を出力する（Ｓ１０１）。ユーザは、出力部３ｂに表示された選択画面２１１において、入力部３ａを通じて、マイグレーション元として第１ＬＰＡＲ３０７を、マイグレーション先として第４ＬＰＡＲ３０８を選択し、実行ボタン３０６を選択する。このＬＰＡＲの選択結果は、管理計算機２に伝えられる（Ｓ１０２）。
【０１３６】
管理計算機２のマイグレーション指示部２０３は、マイグレーション元の第１計算機４−１と、マイグレーション先の第２計算機４−２に、ライブマイグレーション処理の開始を要求する（Ｓ１０３）。第１計算機４−１及び第２計算機４−２は、マイグレーション進行状態（例えば、現在の実行ステップと状態）を、適宜（例えば定期的に）、管理計算機２に通知する（Ｓ１０４）。
【０１３７】
第１計算機４−１のハイパバイザ２３は、第２計算機４−２に、マイグレーション元の第１ＬＰＡＲ３０７の構成情報を送信する（Ｓ１０５）。第２計算機４−２のハイパバイザ２３は、その第１計算機４−１から受信した構成情報に基づいて、マイグレーション先となるＬＰＡＲを定義する。そして、第１計算機４−１のハイパバイザ２３は、第２計算機４−２との間でメモリデータ転送を実行する（Ｓ１０６）。この処理の詳細については後述する。
【０１３８】
管理計算機２のハイパバイザ２３は、必要に応じて、第１計算機４−１に転送状態に関する情報を要求する（Ｓ１０７）。第１計算機４−１のハイパバイザ２３は、この要求に応じて、転送状態に関する情報を送信する（Ｓ１０８）。
【０１３９】
管理計算機２の画面生成部２０２は、取得した転送状態に関する情報を用いて進捗画面２１３及び統計画面２１４を生成し、出力部３ｂに出力する（Ｓ１０９）。
【０１４０】
第１計算機４−１のハイパバイザ２３は、メモリデータ転送処理を完了し、マイグレーションの最終処理を開始すると、マイグレーション元のＬＰＡＲの仮想ＣＰＵを停止させる（Ｓ１１０）。第１計算機４−１のハイパバイザ２３は、マイグレーション元のＬＰＡＲのデバイス状態を取得して、それを第２計算機４−２のマイグレーション先のＬＰＡＲに送信する（Ｓ１１１）。第２計算機４−２のハイパバイザ２３は、第１計算機４−１から受信したデバイス状態を、マイグレーション先のＬＰＡＲに反映させる（Ｓ１１２）。
【０１４１】
第１計算機４−１のハイパバイザ２３は、残りのダーティページを、第２計算機４−２に転送する（Ｓ１１２）。第２計算機４−２のハイパバイザ２３は、第１計算機４−１から受信したダーティページを、マイグレーション先のＬＰＡＲのメモリに反映させる（Ｓ１１３）。第２計算機４−２のハイパバイザ２３は、マイグレーション先のＬＰＡＲの仮想ＣＰＵを開始させ、マイグレーション先のＬＰＡＲの実行を開始する（Ｓ１１５）。第１計算機４−１のハイパバイザ２３は、マイグレーション元のＬＰＡＲを削除する（Ｓ１１６）。
【０１４２】
第１計算機４−１及び第２計算機４−２のハイパバイザ２３は、ライブマイグレーション処理が完了したことを管理計算機２に通知する（Ｓ１１７）。管理計算機２の画面生成部２０２は、この完了通知を受けて、ライブマイグレーション処理の完了画面を生成し、出力部３ｂに出力する（Ｓ１１８）。
【０１４３】
図１８は、第１計算機４−１のメモリ書き込み処理のフローチャートを示す。第１計算機４−１のハイパバイザ２３は、データの書き込み先のページアドレスを確認する（Ｓ２０１）。第１計算機４−１のハイパバイザ２３は、書き込み先のページアドレスに対応するメモリ管理情報１０２の書き換えフラグを「１」に、転送フラグを「０」にセットする（Ｓ２０２）。つまり、第１計算機４−１のハイパバイザ２３は、当該メモリページが書き換えられたことを登録し、現在書き換え中の当該メモリページのデータ転送をロックする。そして、第１計算機４−１のハイパバイザ２３は、書き込み先のページアドレスに対応するメモリページにデータを書き込む（Ｓ２０３）。
【０１４４】
図１９は、第１計算機４−１のメモリ書き込み処理のフローチャートの変形例を示す。このフローチャートは、図１８に示す処理の変形例である。
【０１４５】
第１計算機４−１のハイパバイザ２３は、データの書き込み先のページアドレスを確認する（Ｓ３０１）。第１計算機４−１のハイパバイザ２３は、書き込み先のアドレスに対応するメモリ管理情報１０２の書き換えフラグに「１」を加算し、転送フラグを「０」にセットする（Ｓ２０２）。つまり、書き換えフラグの値は、書き換えられる度に加算される。第１計算機４−１は、書き込み先のアドレスに対応するメモリページにデータを書き込む（Ｓ４０３）。
【０１４６】
図２０は、第１計算機４−１のメモリデータ転送処理のフローチャートを示す。このフローチャートは、図１７に示すシーケンスチャートのメモリデータ転送処理（Ｓ１０６）における第１計算機４−１の処理である。
【０１４７】
第１計算機４−１のハイパバイザ２３は、メモリ管理情報１０２の転送フラグを「１」にセットする（Ｓ４０１）。つまり、第１計算機４−１のハイパバイザ２３は、転送対象のメモリのデータ転送のロックを解除する。
【０１４８】
第１計算機４−１のハイパバイザ２３は、初回の転送処理であるか否かを判定する（Ｓ４０２）。つまり、ステップＳ４０５から再帰した後の処理でないことを判定する。
【０１４９】
初回の転送でない場合（Ｓ４０２：ＮＯ）、第１計算機４−１のハイパバイザ２３は、ステップＳ４０４の処理に進む。初回の転送の場合（Ｓ４０２：ＹＥＳ）、第１計算機４−１のハイパバイザ２３は、メモリ管理情報１０２の書き換えフラグを「０」にセットする（Ｓ４０３）。
【０１５０】
そして、第１計算機４−１のハイパバイザ２３は、クリーンページのデータ転送処理を実行する（Ｓ４０４）。この処理の詳細については、後述する。
【０１５１】
第１計算機４−１のハイパバイザ２３は、「ダーティページ量が閾値以下」であるか否かを判定する（Ｓ４０５）。この閾値は、図３のステータス管理情報１０１における判定閾値である。「ダーティページ量が閾値以下」の場合（Ｓ４０５：ＹＥＳ）、第１計算機４−１のハイパバイザ２３は、当該処理を終了し、ライブマイグレーションの最終処理に進む。「ダーティページ量＞閾値」の場合（Ｓ４０５：ＮＯ）、第１計算機４−１のハイパバイザ２３は、ステップＳ４０１の処理に戻る。
【０１５２】
図２１は、第１計算機４−１のダーティページ以外のデータ転送処理のフローチャートを示す。この処理は、図２０に示すフローチャートのダーティページ以外のデータ転送処理（Ｓ４０４）に該当する。
【０１５３】
第１計算機４−１のハイパバイザ２３は、アドレスを初期化する（Ｓ５０１）。第１計算機４−１のハイパバイザ２３は、メモリ管理情報１０２を読み出す（Ｓ５０２）。
【０１５４】
第１計算機４−１のハイパバイザ２３は、初回の転送であるか否かを判定する（Ｓ５０３）。まず、初回の転送である場合（Ｓ５０３：ＹＥＳ）について、説明する。
【０１５５】
第１計算機４−１のハイパバイザ２３は、書き換えフラグが「０」且つ転送フラグが「１」であるか否かを判定する（Ｓ５０４）。つまり、第１計算機４−１のハイパバイザ２３は、書き換えが発生しておらず、且つ転送が許可されているか否かを判定する。
【０１５６】
ステップＳ５０４の判定が否定的な場合（Ｓ５０４：ＮＯ）、第１計算機４−１のハイパバイザ２３は、そのままステップＳ５１０の処理に進む。つまり、第１計算機４−１のハイパバイザ２３は、データ転送を行わない。
【０１５７】
ステップＳ５０４の判定が肯定的な場合（Ｓ５０４：ＹＥＳ）、第１計算機４−１のハイパバイザ２３は、メモリページのデータを第２計算機４−２に転送し（Ｓ５０５）、ステップＳ５１０の処理に進む。
【０１５８】
次に、ステップＳ５０３の判定において、初回の転送でない場合（Ｓ５０３：ＮＯ）について、説明する。
【０１５９】
第１計算機４−１のハイパバイザ２３は、書き換えフラグが「１」且つ転送フラグが「１」であるか否かを判定する（Ｓ５０６）。つまり、第１計算機４−１のハイパバイザ２３は、書き換えられたデータであって、且つ転送が許可されているか否かを判定する。
【０１６０】
ステップＳ５０６の判定が否定的な場合（Ｓ５０６：ＮＯ）、第１計算機４−１のハイパバイザ２３は、そのままステップＳ５１０の処理に進む。つまり、第１計算機４−１のハイパバイザ２３は、データ転送を行わない。
【０１６１】
ステップＳ５０６の判定が肯定的な場合（Ｓ５０６：ＹＥＳ）、第１計算機４−１のハイパバイザ２３は、メモリページのデータを第２計算機４−２に転送する（Ｓ５０７）。そして、第１計算機４−１のハイパバイザ２３は、書き換えられたデータの転送を完了したので、メモリ管理情報１０２の書き換えフラグを「０」にセットして、ステップＳ５１０の処理に進む。
【０１６２】
ステップＳ５１０において、第１計算機４−１のハイパバイザ２３は、転送すべき次のメモリページがまだ存在するか否かを判定する（Ｓ５１０）。転送すべき次のメモリページがまだ存在する場合（Ｓ５１０：ＹＥＳ）、第１計算機４−１のハイパバイザ２３は、その次のページのアドレスをセットして（Ｓ５１１）、ステップＳ５０２の処理に戻る。転送すべき次のメモリページが存在しない場合（Ｓ５１０：ＮＯ）、第１計算機４−１のハイパバイザ２３は、当該処理を終了して、図２０に示すステップＳ４０４以降の処理に進む。
【０１６３】
図２２は、管理計算機２における進捗画面２１３及び統計画面２１４の生成処理のフローチャートを示す。
【０１６４】
管理計算機２の画面生成部２０２は、第１計算機４−１から進捗情報を取得する（Ｓ６０１）。この進捗情報には、この取得が実行された時点における第１計算機４−１のステータス管理情報１０１及びメモリ管理情報１０２が保持されている。管理計算機２の画面生成部２０２は、１つ前の進捗情報が存在するか否かを判定する（Ｓ６０２）。
【０１６５】
１つ前の進捗情報が存在しない場合（Ｓ６０２：ＮＯ）、管理計算機２の画面生成部２０２は、差分等は無いものとして（Ｓ６０４）、ステップＳ６０５の処理に進む。１つ前の進捗情報が存在する場合（Ｓ６０２：ＹＥＳ）、管理計算機２の画面生成部２０２は、１つ前の進捗情報と今回取得した進捗情報との差分等を算出し（Ｓ６０３）、ステップＳ６０５の処理に進む。
【０１６６】
管理計算機２の画面生成部２０２は、ステップＳ６０３で算出した差分等に基づいて、統計情報の表、グラフ及びメモリマップ等を生成する（Ｓ６０５）。以下、この生成について更に説明する。
【０１６７】
進捗情報に含まれるステータス管理情報１０１は、その時点までに転送が完了したデータの総量である転送済みデータ量１１５ｄを有する（図３参照）。そこで、画面生成部２０２は、１つ前の転送済みデータ量１１５ｄと、今回の転送済みデータ量１１５ｄとの差分を算出することにより、１つ前から今回までの時間帯におけるデータ転送量を求めることができる。そして、画面生成部２０２は、「データ転送量／時間帯」を算出することにより、その時間帯におけるデータ転送速度を求めることができる。画面生成部２０２は、このデータ転送量及びデータ転送速度に基づいて、表及びグラフ４０１を生成する。
【０１６８】
また、進捗情報に含まれるステータス管理情報１０１は、その時点におけるダーティページ量１１５ｅを有する（図３参照）。そこで、画面生成部２０２は、１つ前のダーティページ量１１５ｅと、今回のダーティページ量１１５ｅとの差分を算出することにより、１つ前から今回までの時間帯におけるダーティページの増減量を求めることができる。そして、画面生成部２０２は、「ダーティページの増減量／時間帯」を算出することにより、その時間帯におけるダーティページ量の増減速度を求めることができる。画面生成部２０２は、このダーティページの増減量及びダーティページの増減速度に基づいて、表及びグラフ４０２を生成する。
【０１６９】
また、進捗情報に含まれるメモリ管理情報１０２は、その時点における各ページの書き換えフラグ１２４の値（つまり、ダーティページの状態）を有する。画面生成部２０２は、この書き換えフラグ１２４の値を用いて、その時点におけるメモリマップを生成する。また、画面生成部２０２は、過去のメモリ管理情報１０２と今回のメモリ管理情報１０２とを用いて、図１４又は図１６に示すようなメモリマップを生成しても良い。以下、メモリ管理情報１０２からメモリマップを生成する方法を更に説明する。
【０１７０】
図２３は、メモリ管理情報１０２からメモリマップを生成する方法の説明図である。管理計算機２の画面生成部２０２は、進捗情報に含まれるメモリ管理情報１０２から、書き換えフラグ１２４の値をページアドレスの先頭から順番に抽出し、一次元のデータ列とする（図２３（Ａ）参照）。そして、画面生成部２０２は、この一次元のデータ列を所定の個数ずつ（例えば１００個ずつ）で折り返し、二次元座標を有するデータに変換する（図２３（Ｂ））。そして、画面生成部２０２は、この二次元座標を有するデータについて、例えば、値が「０」のデータを「色無し」、値が「１」のデータを「色有り」とした画像を生成して、出力部３ｂに表示する（図２３（Ｃ））。これにより、或る時点におけるメモリ内の書き換え状況をグラフィカルに表現することができる。以下、図２２の説明に戻る。
【０１７１】
管理計算機２の画面生成部２０２は、データ転送に係る平均転送速度に基づいて、ライブマイグレーション処理の完了予想時間を算出する（Ｓ６０７）。
【０１７２】
管理計算機２の画面生成部２０２は、「完了予想時間＞タイムアウト時間」であるか否かを判定する（Ｓ６０７）。
【０１７３】
「完了予想時間≦タイムアウト時間」の場合（Ｓ６０７：ＮＯ）、管理計算機２の画面生成部２０２は、そのままステップＳ６０９の処理に進む。「完了予想時間＞タイムアウト時間」の場合（Ｓ６０７：ＹＥＳ）、管理計算機２の画面生成部２０２は、警告画面を生成し（Ｓ６０８）、ステップＳ６０９の処理に進む。
【０１７４】
ステップＳ６０９において、管理計算機２の画面生成部２０２は、進捗画面２１３又は統計画面２１４を生成して出力部３ｂに出力する（Ｓ６０９）。ここで、ステップＳ６０８において警告画面が生成された場合は、その警告画面を含めた画面を生成する。
【０１７５】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。例えば、クリーンページは、ダーティページ以外のページであることに代えて、ライブマイグレーション処理において移行されたデータであって移行後にその仮想計算機から更新されていないデータを記憶しているページであっても良い。この場合、ダーティページ以外のページとして、クリーンページの他に、他種のページ、例えばデータが格納されていないフリーページが管理されても良い。
【符号の説明】
【０１７６】
１‥計算機システム  ２‥管理計算機  ３‥入出力装置  ４‥計算機  ２３‥ハイパバイザ  ２１１‥選択画面  ２１２‥設定画面  ２１３‥進捗画面  ２１４‥統計画面  ２１５‥メモリマップ画面
【図１】
2014030221.tif 000003
【図２】
2014030221.tif 000004
【図３】
2014030221.tif 000005
【図４】
2014030221.tif 000006
【図５】
2014030221.tif 000007
【図６】
2014030221.tif 000008
【図７】
2014030221.tif 000009
【図８】
2014030221.tif 000010
【図９】
2014030221.tif 000011
【図１０】
2014030221.tif 000012
【図１１】
2014030221.tif 000013
【図１２】
2014030221.tif 000014
【図１３】
2014030221.tif 000015
【図１４】
2014030221.tif 000016
【図１５】
2014030221.tif 000017
【図１６】
2014030221.tif 000018
【図１７】
2014030221.tif 000019
【図１８】
2014030221.tif 000020
【図１９】
2014030221.tif 000021
【図２０】
2014030221.tif 000022
【図２１】
2014030221.tif 000023
【図２２】
2014030221.tif 000024
【図２３】
2014030221.tif 000025
【手続補正書】
【提出日】平成27年12月28日(2015.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機と、
前記複数の計算機を管理する管理計算機と、を備え、
前記計算機のメモリは、前記メモリを分割した領域に対応するメモリページを複数有し、
前記ハイパバイザは、
前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
前記メモリのメモリページと前記仮想メモリのメモリページとの対応関係及び前記メモリページの書き換えの有無を前記仮想計算機毎に管理するメモリ管理情報を有し、
第１計算機のハイパバイザは、第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた当該第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送し、
前記管理計算機は、
操作者の操作入力を受ける入力部と、
前記ライブマイグレーションに関する進捗情報を前記第１計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成するにあたり、前記統計画面としてメモリマップを表示する場合、前記第１計算機のハイパバイザから、前記第１仮想計算機のメモリ管理情報を取得し、前記取得した第１仮想計算機のメモリ管理情報を参照して、書き換えのあるメモリページと書き換えの無いメモリページとを異なる表示形式としたメモリマップ画面を生成する、画面生成部と、
前記画面生成部によって生成されたメモリマップ画面を表示する出力部と、
を備える仮想計算機システム。
【請求項２】
前記書き換えのあるメモリページは、前記メモリ管理情報においてメモリページ書き換え有りの書き換えフラグが付与されたダーティページであり、
前記書き換えの無いメモリページは、前記メモリ管理情報においてメモリページ書き換え無しの書き換えフラグが付与されたクリーンページであり、
前記画面生成部は、前記取得したメモリ管理情報における書き換えフラグを参照して、前記メモリページ毎の書き換えフラグに基づき、前記メモリマップ画面を生成する
請求項１記載の仮想計算機システム。
【請求項３】
前記メモリ管理情報は、前記ライブマイグレーションにおける前記メモリページの転送の可否を表す転送フラグを有する
請求項２記載の仮想計算機システム。
【請求項４】
前記第１計算機のハイパバイザは、
前記ライブマイグレーションの実行状況に関する情報を前記仮想計算機毎に管理するステータス管理情報を更に有し、
前記画面生成部は、
前記第１計算機の前記ハイパバイザから各時点で前記ステータス管理情報を取得し、各時点で取得された前記ステータス管理情報を基に、前記ライブマイグレーション処理における所定種類の値の変化を表すグラフを有するグラフ画面を生成し、
前記出力部が、前記グラフ画面を表示する、
請求項２記載の仮想計算機システム。
【請求項５】
前記ステータス管理情報は、前記ダーティページの合計量を有し、
前記所定種類の値は、前記ダーティページの合計量である
請求項４記載の仮想計算機システム。
【請求項６】
前記ステータス管理情報は、前記第１計算機から前記第２計算機にマイグレーションが完了したメモリページの総量を有し、
前記画面生成部は、各時点の前記メモリページの総量に基づいてメモリページの転送速度を算出し、
前記所定種類の値は、前記メモリページの転送速度である
請求項５に記載の仮想計算機システム。
【請求項７】
前記第１計算機のハイパバイザは、所定のタイムアウト時間を経過すると、前記ライブマイグレーション処理を中止し、
前記画面生成部は、
前記ダーティページの合計量及び前記メモリページの転送速度の時間的変化から前記ライブマイグレーション処理が完了するまでの残り時間を算出し、当該残り時間が、所定のタイムアウト時間までの残り時間よりも長い場合に、前記ライブマイグレーション処理が完了しない旨を示す警告画面を生成し、
前記出力部が、前記警告画面を表示する、
請求項６記載の仮想計算機システム。
【請求項８】
前記画面生成部は、前記ライブマイグレーション処理の中止の要求を受け付ける中止受付画面を生成し、
前記出力部が、前記警告画面と共に前記中止受付画面を表示する、
請求項７記載の仮想計算機システム。
【請求項９】
前記画面生成部は、
前記タイムアウト時間の延長の要求を受け付ける延長受付画面を生成し、
前記出力部が、前記警告画面と共に前記延長受付画面を表示する、
請求項８記載の仮想計算機システム。
【請求項１０】
前記第１計算機のハイパバイザは、前記ライブマイグレーション処理に関する設定情報を有し、当該設定情報に基づいて前記ライブマイグレーション処理を実行し、
前記画面生成部は、前記設定情報に関するパラメタの入力を受け付けるパラメタ入力画面を生成し、当該パラメタ入力画面において入力されたパラメタを前記ハイパバイザの有する前記設定情報に反映させる
請求項１記載の仮想計算機システム。
【請求項１１】
前記パラメタ入力画面は、前記ライブマイグレーション処理のタイムアウト時間の入力領域を有し、当該入力領域に入力された前記タイムアウト時間は、前記設定情報に反映され、
前記第１計算機のハイパバイザは、前記設定情報に反映された前記タイムアウト時間が経過すると、前記ライブマイグレーション処理を中止する
請求項１０記載の仮想計算機システム。
【請求項１２】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する管理計算機であって、
前記計算機のメモリが、前記メモリを分割した領域に対応するメモリページを複数有しており、
前記ハイパバイザが、
前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
前記メモリのメモリページと前記仮想メモリのメモリページとの対応関係及び前記メモリページの書き換えの有無を前記仮想計算機毎に管理するメモリ管理情報を有し、
第１計算機のハイパバイザは、第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた当該第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送する、ようになっており、
操作者の操作入力を受ける入力部と、
前記ライブマイグレーションに関する進捗情報を前記第１計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成するにあたり、前記統計画面としてメモリマップを表示する場合、前記第１計算機のハイパバイザから、前記第１仮想計算機のメモリ管理情報を取得し、前記取得した第１仮想計算機のメモリ管理情報を参照して、書き換えのあるメモリページと書き換えの無いメモリページとを異なる表示形式としたメモリマップ画面を生成する、画面生成部と、
前記画面生成部によって生成されたメモリマップ画面を表示する出力部と、
を備える管理計算機。
【請求項１３】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する計算機管理方法であって、
前記計算機のメモリが、前記メモリを分割した領域に対応するメモリページを複数有しており、
前記ハイパバイザが、
前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
前記メモリのメモリページと前記仮想メモリのメモリページとの対応関係及び前記メモリページの書き換えの有無を前記仮想計算機毎に管理するメモリ管理情報を有し、
第１計算機のハイパバイザは、第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた当該第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送する、ようになっており、
操作者の操作入力を受け、
前記ライブマイグレーションに関する進捗情報を前記第１計算機から取得し、その取得した前記進捗情報に基づき前記ライブマイグレーションに関する統計情報を生成し、前記統計情報を含む統計画面を生成するにあたり、前記統計画面としてメモリマップを表示する場合、前記第１計算機のハイパバイザから、前記第１仮想計算機のメモリ管理情報を取得し、前記取得した第１仮想計算機のメモリ管理情報を参照して、書き換えのあるメモリページと書き換えの無いメモリページとを異なる表示形式としたメモリマップ画面を生成し、
前記生成したメモリマップ画面を表示する、
計算機管理方法。
【手続補正書】
【提出日】平成28年4月18日(2016.4.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機と、
前記複数の計算機を管理する管理計算機と、を備え、
前記計算機のメモリは、前記メモリを分割した領域に対応するメモリページを複数有し、
前記ハイパバイザは、前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
第１計算機のハイパバイザは、前記第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた前記第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送し、
前記第１計算機のハイパバイザは、
前記第１計算機のメモリのメモリページと前記第１仮想計算機の仮想メモリのメモリページとの対応関係、及び、前記ライブマイグレーション実行中に書き換えられたメモリページであるダーティページ、を管理するメモリ管理情報と、
前記ライブマイグレーション実行中におけるダーティページ量を含むステータス管理情報と、を有し、
前記管理計算機は、
操作者の操作入力を受ける入力部と、
前記ライブマイグレーションの進捗状況に関する情報を示す進捗画面を生成する画面生成部であって、
前記ライブマイグレーション実行中における、第１の時点の進捗状況を示す画面を生成するにあたり、
前記第１の時点と前記第１の時点より以前である第２の時点とにおけるステータス管理情報のダーティページ量に基づいて、前記第２の時点から前記第１の時点までの間のダーティページ増減量を算出し、
前記第１の時点と前記第２の時点とにおけるメモリ管理情報に基づいて、前記第２の時点から前記第１の時点までの間に発生したダーティページを特定し、
前記進捗画面に表示させる情報として、その特定したダーティページに関するメモリマップと、その算出したダーティページ増減量に関するグラフとを生成する、画面生成部と、
前記画面生成部によって生成された進捗画面を表示する出力部と、を有する
仮想計算機システム。
【請求項２】
前記メモリ管理情報において、前記ダーティページとそれ以外のメモリページとは、書き換えフラグによって識別されており、
前記画面生成部は、前記メモリ管理情報におけるメモリページ毎の書き換えフラグに基づき、ダーティページを特定する
請求項１記載の仮想計算機システム。
【請求項３】
前記メモリ管理情報は、前記ライブマイグレーションにおけるメモリページの転送の可否を表す転送フラグを有する
請求項２記載の仮想計算機システム。
【請求項４】
前記ステータス管理情報は、前記ライブマイグレーション実行中において移行を完了したメモリページの総量を有し、
前記画面生成部は、
前記第２の時点から前記第１の時点までの間に移行を完了したメモリページの総量に基づいて、メモリページの転送速度を算出し、
その算出したメモリページの転送速度に関するグラフを生成する
請求項３に記載の仮想計算機システム。
【請求項５】
前記第１計算機のハイパバイザは、所定のタイムアウト時間を経過すると、前記ライブマイグレーション処理を中止し、
前記画面生成部は、
前記ダーティページの合計量及び前記メモリページの転送速度の時間的変化から前記ライブマイグレーション処理が完了するまでの残り時間を算出し、当該残り時間が、所定のタイムアウト時間までの残り時間よりも長い場合に、前記ライブマイグレーション処理が完了しない旨を示す警告画面を生成し、
前記出力部が、前記警告画面を表示する、
請求項４記載の仮想計算機システム。
【請求項６】
前記画面生成部は、前記ライブマイグレーション処理の中止の要求を受け付ける中止受付画面を生成し、
前記出力部が、前記警告画面と共に前記中止受付画面を表示する、
請求項５記載の仮想計算機システム。
【請求項７】
前記画面生成部は、
前記タイムアウト時間の延長の要求を受け付ける延長受付画面を生成し、
前記出力部が、前記警告画面と共に前記延長受付画面を表示する、
請求項６記載の仮想計算機システム。
【請求項８】
前記第１計算機のハイパバイザは、前記ライブマイグレーション処理に関する設定情報を有し、当該設定情報に基づいて前記ライブマイグレーション処理を実行し、
前記画面生成部は、前記設定情報に関するパラメタの入力を受け付けるパラメタ入力画面を生成し、当該パラメタ入力画面において入力されたパラメタを前記ハイパバイザの有する前記設定情報に反映させる
請求項１記載の仮想計算機システム。
【請求項９】
前記パラメタ入力画面は、前記ライブマイグレーション処理のタイムアウト時間の入力領域を有し、当該入力領域に入力された前記タイムアウト時間は、前記設定情報に反映され、
前記第１計算機のハイパバイザは、前記設定情報に反映された前記タイムアウト時間が経過すると、前記ライブマイグレーション処理を中止する
請求項８記載の仮想計算機システム。
【請求項１０】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する管理計算機であって、
前記計算機のメモリが、前記メモリを分割した領域に対応するメモリページを複数有しており、
前記ハイパバイザが、前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
第１計算機のハイパバイザは、前記第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた前記第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送する、ようになっており、
前記第１計算機のハイパバイザは、
前記第１計算機のメモリのメモリページと前記第１仮想計算機の仮想メモリのメモリページとの対応関係、及び、前記ライブマイグレーション実行中に書き換えられたメモリページであるダーティページ、を管理するメモリ管理情報と、
前記ライブマイグレーション実行中におけるダーティページ量を含むステータス管理情報と、を有しており、
操作者の操作入力を受ける入力部と、
前記ライブマイグレーションの進捗状況に関する情報を示す進捗画面を生成する画面生成部であって、
前記ライブマイグレーション実行中における、第１の時点の進捗状況を示す画面を生成するにあたり、
前記第１の時点と前記第１の時点より以前である第２の時点とにおけるステータス管理情報のダーティページ量に基づいて、前記第２の時点から前記第１の時点までの間のダーティページ増減量を算出し、
前記第１の時点と前記第２の時点とにおけるメモリ管理情報に基づいて、前記第２の時点から前記第１の時点までの間に発生したダーティページを特定し、
前記進捗画面に表示させる情報として、その特定したダーティページに関するメモリマップと、その算出したダーティページ増減量に関するグラフとを生成する、画面生成部と、
前記画面生成部によって生成された進捗画面を表示する出力部と、
を備える管理計算機。
【請求項１１】
ハイパバイザにより少なくとも１つ以上の仮想計算機が稼動する複数の計算機を管理する計算機管理方法であって、
前記計算機のメモリが、前記メモリを分割した領域に対応するメモリページを複数有しており、
前記ハイパバイザが、前記計算機が有する演算部及びメモリを論理的に分割した仮想演算部及び仮想メモリを、前記計算機で動作する仮想計算機に割り当て、
第１計算機のハイパバイザは、前記第１計算機上で第１仮想計算機を稼動した状態で、前記第１仮想計算機を前記第１計算機から第２計算機に移行するライブマイグレーションを実行するにあたり、前記第１仮想計算機に割り当てられた前記第１計算機のメモリが有する情報を、前記第２計算機のメモリに転送する、ようになっており、
前記第１計算機のハイパバイザは、
前記第１計算機のメモリのメモリページと前記第１仮想計算機の仮想メモリのメモリページとの対応関係、及び、前記ライブマイグレーション実行中に書き換えられたメモリページであるダーティページ、を管理するメモリ管理情報と、
前記ライブマイグレーション実行中におけるダーティページ量を含むステータス管理情報と、を有しており、
操作者の操作入力を受け、
前記ライブマイグレーション実行中における、第１の時点の進捗状況を示す画面を生成するにあたり、
前記第１の時点と前記第１の時点より以前である第２の時点とにおけるステータス管理情報のダーティページ量に基づいて、前記第２の時点から前記第１の時点までの間のダーティページ増減量を算出し、
前記第１の時点と前記第２の時点とにおけるメモリ管理情報に基づいて、前記第２の時点から前記第１の時点までの間に発生したダーティページを特定し、
前記進捗画面に表示させる情報として、その特定したダーティページに関するメモリマップと、その算出したダーティページ増減量に関するグラフとを生成し、
前記生成した進捗画面を表示する、
計算機管理方法。
【国際調査報告】
2014030221.tif 000026
2014030221.tif 000027
2014030221.tif 000028