(57)【要約】【課題】  仮想ディスクを迅速に更新する。【解決手段】  ディスク管理装置は、更新されたデータ（以下、「更新データ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新データとを取得し、前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新データを格納する。【選択図】      図１４
2015176427.tif 000002
【特許請求の範囲】
【請求項１】
更新されたデータ（以下、「更新データ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新データとを取得し、前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新データを格納する管理手段を備えるディスク管理装置。
【請求項２】
前記管理手段は、前記差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、他のデータが格納されている場合は、前記他のデータを前記論理アドレスとは異なる論理アドレスの領域に移動させる、請求項１のディスク管理装置。
【請求項３】
自装置が参照するデータを格納する記憶領域を指定し、前記記憶領域が更新された場合、自装置が参照するディスクを、前記更新データを格納する記憶領域に変更し、前記管理手段に通知する制御手段を更に備える請求項１または２のいずれかに記載のディスク管理装置。
【請求項４】
前記制御手段は、前記差分ディスクに格納されているデータの中に、前記更新データの一部もしくは全部と同一のデータがある場合、前記差分ディスクから前記データを削除する請求項３に記載のディスク管理装置。
【請求項５】
更新されたマスタデータ（以下、「更新マスタデータ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新マスタデータとを取得し、
前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新データを格納する管理処理をコンピュータに実行させるディスク管理プログラム。
【請求項６】
前記差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、他のデータが格納されている場合は、前記他のデータを前記論理アドレスとは異なる論理アドレスの領域に移動させる、前記管理処理を前記コンピュータに実行させる、請求項５に記載のディスク管理プログラム。
【請求項７】
自装置が参照するデータを格納する記憶領域を指定し、前記記憶領域が更新された場合、自装置が参照するディスクを、前記更新データを格納する記憶領域に変更する制御処理を、前記コンピュータに実行させる、請求項５または６のいずれかに記載のディスク管理プログラム。
【請求項８】
前記差分ディスクに格納されているデータの中に、前記更新データの一部もしくは全部と同一のデータがある場合、前記差分ディスクから前記データを削除する前記制御処理を前記コンピュータに実行させる請求項７に記載のディスク管理プログラム。
【請求項９】
更新されたデータ（以下、「更新データ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新データとを取得し、
前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新されたデータを格納するディスク管理方法。
【請求項１０】
前記差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、他のデータが格納されている場合は、前記他のデータを前記論理アドレスとは異なる論理アドレスの領域に移動させる、請求項９のディスク管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタディスク装置と差分ディスク装置の更新を管理する技術に関する。
【背景技術】
【０００２】
仮想ディスクトップインフラ（以降、ＶＤＩ：Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅと略す）に代表される仮想環境は、マスタディスクと差分ディスクとで構成される。このような仮想環境において、パッチを適用する方法には、２つの方法がある。その一つは、マスタディスクに対してパッチを適用する方法である。他の一つは、各ヴァーチャルマシン（以下、本明細書においては、ＶＭ：Ｖｅｒｔｕａｌ  Ｍａｃｈｉｎｅ、又は仮想マシンと呼ぶ）に対して適用する方法である。ＶＭに対して適用する後者の方法は、差分ディスクにパッチが適用される。
【０００３】
前者のマスタディスクに対してパッチを適用する方法では、マスタディスクと差分ディスクとの間で、同じ論理アドレスのディスク領域に、互いに異なるデータが書き込まれる状態となる。そのため、パッチを適用されたマスタディスクのデータと、差分ディスクのデータとの整合をとるためには、差分ディスクを一旦初期化することが必要となる。差分ディスクを初期化するためには、差分データは削除される必要がある。したがって、パッチを適用した結果をマスタディスクと差分ディスクとの両方に反映させるためには、多くの時間がかかる。
【０００４】
一方、各ＶＭにパッチを適用する方法では、それぞれのＶＭが参照する差分ディスクのサイズが増大する。
【０００５】
特許文献１の技術は、各仮想クライアントに対してマスタデータに対する共通の更新処理を行なう。この技術は、その結果生成される共通更新データを記憶し、共通更新データと、各仮想クライアントの更新データ記憶部に記憶されている更新データとを比較する。この技術は、比較の結果に基づいて、各仮想クライアントの更新データ記憶部に記憶されている更新データのうち、共通更新データに一致する更新データについて、共通更新データを参照するように変更する。変更の後、各仮想クライアントにおいて、共通更新データを参照するように変更された更新データで使用されていた、更新データ記憶部の記憶領域は、解放される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−５８９５７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の技術は、共通更新データと各仮想クライアントの更新データ記憶部に記憶されている更新データとを比較し、共通更新データと更新データとを一致させる変更操作を行う。この際、共通更新データの論理アドレスは、必ずしも対応する更新データの論理アドレスに一致していないため、比較処理に時間がかかる。
【０００８】
本発明の主たる目的の一つは、仮想ディスクの更新を迅速に行なうことである。
【課題を解決するための手段】
【０００９】
本発明の一つの見地は、更新されたデータ（以下、「更新データ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新データとを取得し、前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新データを格納する管理手段を備えるディスク管理装置である。
【００１０】
本発明の他の見地は、更新されたマスタデータ（以下、「更新マスタデータ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新マスタデータとを取得し、
前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新データを格納する管理処理をコンピュータに実行させるディスク管理プログラムである。
【００１１】
本発明の別の他の見地は、更新されたデータ（以下、「更新データ」）を格納する記憶領域から、更新された領域の論理アドレスと前記更新データとを取得し、
前記更新データと前記データとの差分を格納する差分ディスクの、前記論理アドレスと同じ論理アドレスの領域に、前記更新されたデータを格納するディスク管理方法である。
【００１２】
また、同目的は、上記構成を有するディスク管理装置、方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１３】
本発明によれば、仮想ディスクの更新を迅速に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係るディスク管理装置を備えるシステムのブロック図である。
【図２】第１の実施形態における管理ＶＭによるマスタディスクへのパッチ適用動作の説明図である。
【図３】第１の実施形態におけるユーザ仮想マシンでのパッチ適用動作の説明図である。
【図４】第１の実施形態におけるファイル更新情報テーブルの一例である。
【図５】第１の実施形態におけるユーザＶＭでのファイル更新処理の動作を表すフローチャートである。
【図６】第１の実施形態における管理ＶＭでのパッチ適用時の動作を表すフローチャートである。
【図７】第１の実施形態におけるユーザＶＭでの差分ディスクへのパッチ適用時の動作を表すフローチャートである。
【図８】第２の実施形態に係るディスク管理装置を備えるシステムのブロック図である。
【図９】第２の実施形態における管理ＶＭによるマスタディスクへのパッチ適用動作の説明図である。
【図１０】第２の実施形態におけるユーザＶＭでのパッチ適用動作の説明図である。
【図１１】第２の実施形態における管理ＶＭでのパッチ適用時の動作を表すフローチャートである。
【図１２】第２の実施形態におけるユーザＶＭでの差分ディスクへのパッチ適用時の動作を表すフローチャートである。
【図１３】第３の実施形態に係るディスク管理装置のブロック図である。
【図１４】本発明をコンピュータプログラムで実行することが可能な情報処理装置の構成を例示するブロック図である。
【図１５】第１の実施形態における管理ＶＭでのパッチ適用時のブロックの状態を示す。
【図１６】第１の実施形態における管理ＶＭでのパッチ適用時のファイル更新情報テーブルを示す。
【図１７】第１の実施形態におけるユーザＶＭでの差分ディスクへのパッチ適用時のブロックの状態を示す。
【図１８】第２の実施形態における管理ＶＭでのパッチ適用時のブロックの状態を示す。
【図１９】第２の実施形態における管理ＶＭでのパッチ適用時のファイル更新情報テーブルを示す。
【図２０】第２の実施形態におけるユーザＶＭでの差分ディスクへのパッチ適用時のブロックの状態を示す。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
図１は、本発明の全体構成を示す。管理ＶＭ１１、ユーザＶＭ１２−１〜ＶＭ１２−ｎは、ハイパーバイザー１６で動作する仮想マシンである。ハイパーバイザーとは、仮想マシンを実現するための制御プログラムである。本実施形態においては、ハイパーバイザーは制御部とも呼ばれる。
【００１６】
本実施形態のシステムはＶＤＩ環境（ＶＤＩ：Ｖｉｒｔｕａｌ  Ｄｅｓｋｔｏｐ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）にある。すべての仮想マシンは同じ構成を備えている。また、すべての仮想マシンにおいては、同じゲストＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）で、同じユーザアプリケーションが動作している。
【００１７】
管理ＶＭ１１の動作は、マスタディスク（「記憶領域」とも呼ぶ）１９−０のみを、参照して行われる。管理ＶＭ１１の動作は、通常の運用中は停止している。管理ＶＭ１１は、マスタディスク１９−０にパッチを適用する場合においてのみ、稼働する。管理ＶＭ１１のゲストＯＳは事前にパッチ更新されるファイル名をファイルリスト３０に保持している。ユーザＶＭ１２−１〜ＶＭ１２−ｎには、すべてのユーザＶＭに共有されるマスタディスク１９−０と各ユーザＶＭが更新したイメージを格納する差分ディスク２０−１〜差分ディスク２０−ｎにより構成されている。全ての仮想ディスク(マスタディス１９−０と差分ディスク２０−１〜差分ディスク２０−ｎ)は、仮想ディスク記憶装置１８に格納されている。管理ＶＭ１１のゲストＯＳでは、管理部１３が動作しており、ハイパーバイザー１６と通信することができる。また全てのユーザＶＭ１２−１〜ＶＭ１２−ｎで動作するゲストＯＳは、管理部１４によって制御されている。管理部１４は、ハイパーバイザー１６と通信を行っている。また、ゲストＯＳのファイルシステムでは、スペースアロケータ１５がファイル領域の割り当て処理（本実施形態では、「割り当て処理」を「アロケーション処理」とも呼ぶ）を行っている。
【００１８】
本実施形態においては、管理部１４はディスク管理装置１００を構成する部位の一つである。また、本実施形態においては、「部」を「手段」と称することもある。
【００１９】
図２は、管理ＶＭ１１による、マスタディスク１９−０への、パッチ適用時の動作を表す図である。管理ＶＭ１１でのマスタディスク１９−０へのパッチ適用時、ハイパーバイザー１６は適用するパッチに関する情報(更新するファイル情報)を、ファイル更新情報テーブル１７に格納する。パッチ適用処理の最初にハイパーバイザー１６は、マスタディスク１９−０のコピーを行い、マスタディスク１９−１を作成する。
【００２０】
ハイパーバイザー１６は、マスタディスク１９−１の作成の完了を、管理部１３に通知する。管理部１３は、マスタディスク１９−１を管理ＶＭ１１が参照するディスクに設定する(構成するともいう)。
【００２１】
マスタディスク１９−１に対してパッチが適用された後、管理部１３がファイルリスト３０を元に、更新されたファイル（更新ファイルまたは更新データ、とも呼ぶ）の仮想ディスク中の論理アドレスの情報をハイパーバイザー１６へ通知する。ハイパーバイザー１６は、この論理アドレスの情報を基にファイル更新情報テーブル１７を作成する。
【００２２】
図３は、ユーザ仮想マシンでのパッチ適用時の動作を示す図である。本実施形態では、ユーザＶＭ１２−１について説明するが、他のユーザ仮想マシンにおいても、同様の動作が行われる。ユーザＶＭ１２−１が、パッチを適用する場合、管理部１４は、パッチで更新されるファイルに関する情報を、ファイル更新情報テーブル１７から受信する。この情報を基に、管理部１４は、ゲストＯＳのファイルシステムに設定されたスペースアロケータ１５に、ファイルの配置を指令する。スペースアロケータ１５は、ファイル更新情報テーブル１７に記録された論理アドレスに配置するように、ファイル領域を確保する。管理部１４は、確保されたファイル領域にデータを書き込む。
【００２３】
次に、ハイパーバイザー１６が、ユーザＶＭ１２−１での仮想ディスクをマスタディスク１９−１と差分ディスク２０−１と、に構成変更する。ハイパーバイザー１６は、パッチ適用後に、マスタディスク１９−０を参照しているＶＭが存在しなくなった時点で、マスタディスク１９−０を削除（点線）する。
【００２４】
図４は、パッチで更新されたファイル情報を記録したファイル更新情報テーブル１７の一例を示す。ファイル更新情報テーブル１７は、更新したファイルのパス情報とデータが格納されている論理ブロックの位置情報と、を格納する。なお、論理ブロックの位置情報は、論理アドレスに対応している。
【００２５】
図５は、ユーザＶＭ１２−１での、パッチ適用時のファイル更新処理の動作のフローチャートである。ゲストＯＳの管理部１４が、管理ＶＭ１１でのパッチ適用後に作成した、パッチで更新されたファイル情報を記録したファイル更新情報テーブル１７をハイパーバイザー１６から入手する（ステップＳ−５１）。管理部１４が、ファイル更新情報テーブル１７の情報に基づき、ゲストＯＳで動作するスペースアロケータ１５に、ファイルの論理ブロック位置情報を使用して、ファイルスペースの割り当て要求を行う（ステップＳ−５２）。
【００２６】
スペースアロケータ１５は、指定された論理ブロックの領域に、他のデータが格納されていない場合、割り当て可能と判断する（ステップＳ−５３にてＹＥＳ）。スペースアロケータ１５は、指定された論理ブロックの領域に、データを書き込む（ステップＳ−５４）。
【００２７】
スペースアロケータ１５は、指定された論理ブロックの領域に他のデータが格納されていた場合、割り当て不可能と判断する（ステップＳ−５３にてＮＯ）。この場合、スペースアロケータ１５は、空き領域へ既存のデータ（ファイル）を移動させる（ステップＳ−５５）。その後、スペースアロケータ１５は、ステップＳ−５２で要求した領域にデータを書き込む（ステップＳ−５４）。
【００２８】
最後に、要求した領域が新たなファイルデータとなるように、メタデータの更新を行う（ステップＳ−５６）。
【００２９】
本実施形態においては、「データ」と呼ぶ対象には、「ファイル」も含まれる。
【００３０】
ユーザＶＭ１２−１以外のユーザ仮想マシンも、同様の動作を行う。
【００３１】
図６は、管理ＶＭ１１パッチ適用時動作を示すフローチャートである。また、各ステップにおけるディスクのブロック（セクタとも呼ぶ）の状況をステップの右側に図示した。
【００３２】
開始時のマスタディスク１９−０のブロックは、図１５（ａ）に示されるブロックＢ０である。ブロックＢ０はマスタディスク１９−０の内部を、簡略化して示している。説明を簡単にするため、本実施形態ではマスタディスク１９−０は、６つのブロックを持つものとした。各ブロックは、ブロック番号が、左から“１”〜“６”と採番されている。マスタディスク１９−０は、ブロック番号“２”と“３”と“４”と“６”に、この順に、ファイルＢとファイルＣとファイルＤとファイルＦとが格納されている。ブロック番号は論理ブロックの位置を表すものでもある。
【００３３】
最初に、マスタディスク１９−０を複写した（コピーした）、マスタディスク１９−１が作成される。マスタディスク１９−１の内部のブロックは、図１５（ｂ）に示すように、ブロックＢ１で表される。
【００３４】
ハイパーバイザー１６は、マスタディスク１９−１を、管理ＶＭ１１が参照する対象のディスクに設定する（ステップＳ−６１）。
【００３５】
ハイパーバイザー１６は、管理ＶＭ１１を起動する。管理ＶＭ１１はマスタディスク１９−１にパッチを適用する（ステップＳ−６２）。パッチとして、適用されるのはファイルａとファイルｅである。ファイルａとファイルｅは、この順番で、ブロック番号“１”とブロック番号“５”の位置に、格納される。パッチが適用されたマスタディスク１９−１の内部のブロックは、図１５（ｃ）に示すように、ブロックＢ２で表される。
【００３６】
ハイパーバイザー１６は、更新されたファイルについての情報を格納した、ファイル更新情報テーブル１７を作成する（ステップＳ−６３）。この実施形態では、ファイルパスの情報としてファイル名と、それに関連づけられた論理ブロック位置情報とが、ファイル更新情報テーブル１７に格納される。図１６にファイル更新情報テーブル１７の一例を示す。
【００３７】
管理ＶＭ１１を停止し処理を終了する（ステップＳ−６４）。
【００３８】
図７は、ユーザ仮想マシンでの、差分ディスクへのパッチ適用時の動作を示すフローチャートである。本実施形態では、ユーザＶＭ１２−１とユーザＶＭ１２−２についてのパッチ適用時の動作が説明される。他のユーザ仮想マシンでも、ユーザＶＭ１２−１、ユーザＶＭ１２−２と同様にパッチ適用が実施される。パッチ適用時のファイル更新の処理は、図５で説明した処理を行う。この際、ステップＳ−６３で作成したファイル更新情報テーブル１７に基づき、ファイルａとファイルｅとを、ユーザＶＭ用差分ディスク２０−１と、ユーザＶＭ用差分ディスク２０−２と、に配置する（ステップＳ−７１）。
【００３９】
ハイパーバイザー１６は、対象となるユーザ仮想マシンを停止させ、マスタディスク１９−１に対応する、差分ディスクイメージＩ１と差分ディスクイメージＩ２と、図１７（ａ）に示すように作成する（ステップＳ−７２）。
【００４０】
ハイパーバイザー１６は、ユーザＶＭ１２−１の構成を、マスタディスク１９−１とその差分ディスクである、ユーザＶＭ用差分ディスク２０−１とに構成変更する。また、ハイパーバイザー１６は、ユーザＶＭ１２−２の構成を、マスタディスク１９−１とその差分ディスクである、ユーザＶＭ用差分ディスク２０−２とに構成変更する。図１７（ｂ）に示すブロックＤ１は、ユーザＶＭ用差分ディスク２０−１の仮想のブロックである。同じく図１７（ｂ）に示すブロックＤ２は、ユーザＶＭ用差分ディスク２０−２の仮想のブロックである。ファイルａとファイルｅは、これらを格納するブロックのブロック番号を、マスタディスク１９−１と一致させたことにより、マスタディスク１９−１で参照することができる。したがって、ブロックＤ１、ブロックＤ２に示すように、ユーザＶＭ用差分ディスク２０−１とユーザＶＭ用差分ディスク２０−２には、ファイルａとファイルｅとが、格納されない。
【００４１】
ハイパーバイザー１６は、ユーザＶＭ１２−１とユーザＶＭ１２−２とを起動する（ステップＳ−７３）。ハイパーバイザー１６は、マスタディスク１９−０を構成しているユーザ仮想マシンが存在するか否かを確認する（ステップＳ−７４）。
【００４２】
マスタディスク１９−０を構成しているユーザ仮想マシンが存在する場合（ステップＳ−７４にてＹＥＳ）は、ハイパーバイザー１６はその処理を終了する。
【００４３】
マスタディスク１９−０を構成しているユーザ仮想マシンが存在しない場合（ステップＳ−７４にてＮＯ）には、マスタディスク１９−０を削除する（ステップＳ−７５）。ハイパーバイザー１６はステップＳ−７５の後、その処理を終了する。
【００４４】
本発明による第１の効果は、マスタディスクへのパッチ適用時の、ユーザ仮想マシンの環境復元のための時間短縮である。その理由は、マスタディスクへのパッチ適用時に差分ディスクのクリアが不要となるためである。本実施形態は、差分ディスクの情報を保持したままのマスタディスクへのパッチ適用処理が可能となるためである。また、さらに、マスタディスクが最新のパッチを適用したイメージで保持することが可能なため、新規の仮想マシンを作成する場合に、追加でのパッチの適用が不要となる。したがって、迅速な運用開始が実現する。
【００４５】
管理部１３、管理部１４、スペースアロケータ１５、ハイパーバイザー１６は、論理素子を組み合わせて実現するハードウェアで実施されてもよいし、図１４に図示するように、情報処理装置１０００の記憶装置１３００に格納されたプログラムをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）が実行することで実現されてもよい。
【００４６】
第２の効果は、差分ディスクの容量の削減が可能となることである。その理由は、各ＶＭによるパッチ適用の後の、パッチで更新されたファイルの配置を、マスタディスクのファイルの配置と同一にすることができるからである。ファイルの配置が、マスターディスクと差分ディスクとで同一であるため、パッチ適用による更新ファイルイメージを差分ディスクに格納する必要がない。したがって、差分ディスクの容量削減が可能となる。
（第２の実施形態）
第１の実施形態では、マスタディスク１９−０を複製したマスタディスク１９−１にパッチを適用した。第２の実施形態は、このような複製は行われない。パッチを適用する際に、マスタディスク１９−０の内容は、マスタディスク１９−０と管理ＶＭ用差分ディスク１９−ｄ１とに分けて格納される。
【００４７】
図８は、第２の実施形態の構成を示す。仮想ディスク記憶装置１８は、マスタディスク１９−１ではなく、管理ＶＭ用差分ディスク１９−ｄ１を備える。
【００４８】
図９は、管理ＶＭ１１による、マスタディスク１９−０への、パッチ適用時の動作を表した図である。管理ＶＭ１１でのマスタディスク１９−０へのパッチ適用時、ハイパーバイザー１６は適用するパッチに関する情報(更新するファイル情報)を、ファイル更新情報テーブル１７に格納する。ハイパーバイザー１６は、管理ＶＭ用差分ディスク１９−ｄ１にパッチが適用する。その後、管理部１３がファイルリスト３０を基に、更新されたファイルの仮想ディスク中の論理アドレスの情報をハイパーバイザー１６へ通知する。ハイパーバイザー１６は、ファイル更新情報テーブル１７を作成する。
【００４９】
図１０は、ユーザＶＭによる、マスタディスク１９−０へのパッチ適用時の動作を示した図である。本実施形態では、ユーザＶＭ１２−１について説明するが、他のユーザ仮想マシンにおいても、同様の動作が行われる。ユーザＶＭ１２−１が、パッチを適用する場合、管理部１４は、パッチで更新されるファイルに関する情報を、ファイル更新情報テーブル１７から受信する。この情報をもとに、管理部１４は、ゲストＯＳのファイルシステムに設定されたスペースアロケータ１５に、ファイルの配置を指令する。スペースアロケータ１５は、ファイル更新情報テーブル１７に記録された論理アドレスに配置するように、ファイル領域を確保する。管理部１４は、確保されたファイル領域にデータを書き込む。
【００５０】
次に、ハイパーバイザー１６が、ユーザＶＭ１２−１での仮想ディスクをマスタディスク１９−０と管理ＶＭ用差分ディスク１９−ｄ１と差分ディスク２０−１と、に構成変更する。
【００５１】
図１１は、本実施形態における、管理ＶＭ１１でのパッチ適用時動作を示すフローチャートである。
【００５２】
管理ＶＭ１１が参照するディスクを、マスタディスク１９−０と管理ＶＭ用差分ディスク１９−ｄ１とに変更する（ステップＳ−８１）。図１８（ａ）に示すように、ブロックＢ１は、第１の実施形態と同様、マスタディスク１９−０のブロックである。また、図１８（ｂ）に示す、ブロックＭ１は、管理ＶＭ用差分ディスク１９−ｄ１の仮想ブロックである。
【００５３】
ハイパーバイザー１６は、管理ＶＭ１１を起動する。管理ＶＭ１１は、管理ＶＭ用差分ディスク１９−ｄ１とにパッチを適用する（ステップＳ−８２）。図１８（ｃ）に示すブロックＭ２は、パッチの適用を受けた後の管理ＶＭ用差分ディスク１９−ｄ１のブロックである。
【００５４】
ハイパーバイザー１６は、更新されたファイルについてファイル更新情報テーブル１７を作成する（ステップＳ−８３）。図１９にファイル更新情報テーブル１７の一例を示す。管理ＶＭ１１を停止し処理を終了する（ステップＳ−８４）。
【００５５】
図１２は、本実施形態における、ユーザ仮想マシンでの、差分ディスクへのパッチ適用時の動作を示すフローチャートである。本実施形態では、ユーザＶＭ１２−１とユーザＶＭ１２−２についてのパッチ適用時の動作が説明される。他のユーザ仮想マシンでも、ユーザＶＭ１２−１及びユーザＶＭ１２−２と同様に、パッチ適用が実施される。パッチ適用時のファイル更新の処理としては、図５で説明した処理が行なわれる。この時、ステップＳ−６３で作成したファイル更新情報テーブル１７に基づき、ファイルａとファイルｅとを、ユーザＶＭ用差分ディスク２０−１と、ユーザＶＭ用差分ディスク２０−２と、に配置する（ステップＳ−９１）。
【００５６】
ハイパーバイザー１６は、対象となるユーザ仮想マシンを停止させ、マスタディスク１９−１に対応する差分ディスクイメージを作成する（ステップＳ−９２）。図２０（ａ）に示す差分ディスクイメージＩ１は、ファイルａとファイルeとを配置された後の、ユーザＶＭ用差分ディスク２０−１のイメージである。同じく図２０（ａ）に示す差分ディスクイメージＩ２は、ファイルａとファイルeとを配置された後の、ユーザＶＭ用差分ディスク２０−２のイメージである。
【００５７】
ハイパーバイザー１６は、ユーザＶＭ１２−１の仮想ディスク構成をマスタディスク１９−０と、管理ＶＭ用差分ディスク１９−ｄ１と、ユーザＶＭ用差分ディスク２０−１とに構成変更する。また、ハイパーバイザー１６は、ユーザＶＭ１２−２の仮想ディスク構成をマスタディスク１９−０と、管理ＶＭ用差分ディスク１９−ｄ１と、ユーザＶＭ用差分ディスク２０−２とに構成変更する。ハイパーバイザー１６は、ユーザＶＭ１２−１とユーザＶＭ１２−２とを起動する（ステップＳ−９３）。
【００５８】
ファイルａとファイルｅは、これらを格納するブロックのブロック番号（論理アドレスとも呼ぶ）を管理ＶＭ用差分ディスク１９−ｄ１と一致させたことにより、管理ＶＭ用差分ディスク１９−ｄ１で参照することができる。したがって、図２０（ｂ）の、ブロックＤ１とブロックＤ２と、に示すように、ユーザＶＭ用差分ディスク２０−１とユーザＶＭ用差分ディスク２０−２には、ファイルａとファイルeとが、格納されない。
【００５９】
ハイパーバイザー１６はステップＳ−９３の後、その処理を終了する。
【００６０】
第２の実施形態では、マスタディスク１９−０を複製する必要がないので、第１の実施形態の効果に加えて、複製に伴う煩雑な工程が不要となるという効果が生まれる。
（第３の実施形態）
本発明の第３の実施形態について、図１３を参照して説明する。
【００６１】
本発明の第３の実施形態に係るディスク管理装置１００の管理部１４は、自装置が参照するマスタディスク１９−０（図２）に格納されたマスタデータが更新されたマスタディスク１９−１（図２）の、更新された領域の論理アドレスと、更新されたマスタデータとを取得する。管理部１４は、更新されたマスタデータと更新される前のマスタデータとの差分を格納する差分ディスクにおいて、上記の論理アドレスと同じ論理アドレスの領域に取得した更新されたマスタデータを格納する。
【００６２】
本実施形態によれば、仮想ディスクの更新を迅速に行うことができる。
（コンピュータに実行させる形態）
上述した第１乃至第３の実施形態を例に説明した本発明は、当該実施形態の説明において参照したフローチャート（図５、図６、図７、図１１、図１２）の機能、或いは少なくとも図１、図８、図１０に示したブロック図における管理部１４を実現可能なプログラムを、図１３に示す情報処理装置１０００に対して供給した後、そのプログラムをＣＰＵ１１００（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に対して実行することによっても達成される。
【００６３】
また、情報処理装置１０００内に供給されたプログラムは、読み書き可能な一時記憶メモリ１２００またはハードディスクドライブ等の不揮発性の記憶装置１３００に格納すればよい。
【符号の説明】
【００６４】
１１    管理ＶＭ
１２−１    ユーザＶＭ
１２−２    ユーザＶＭ
１３    管理部
１４    管理部
１５    スペースアロケータ
１６    ハイパーバイザー
１７    ファイル更新情報テーブル
１８    仮想ディスク記憶装置
１９−０    マスタディスク
１９−１    マスタディスク
１９−ｄ１    管理ＶＭ用差分ディスク
２０−１    ユーザＶＭ用差分ディスク
２０−２    ユーザＶＭ用差分ディスク
Ｂ０    ブロック
Ｂ１    ブロック
Ｂ２    ブロック
Ｉ１    差分ディスクイメージ
Ｉ２    差分ディスクイメージ
Ｄ１    ブロック
Ｄ２    ブロック
Ｍ１    ブロック
Ｍ２    ブロック
１００    ディスク管理装置
１０００    情報処理装置
１１００    ＣＰＵ
１２００    一時記憶メモリ
１３００    記憶装置
【図１】
2015176427.tif 000003
【図２】
2015176427.tif 000004
【図３】
2015176427.tif 000005
【図４】
2015176427.tif 000006
【図５】
2015176427.tif 000007
【図６】
2015176427.tif 000008
【図７】
2015176427.tif 000009
【図８】
2015176427.tif 000010
【図９】
2015176427.tif 000011
【図１０】
2015176427.tif 000012
【図１１】
2015176427.tif 000013
【図１２】
2015176427.tif 000014
【図１３】
2015176427.tif 000015
【図１４】
2015176427.tif 000016
【図１５】
2015176427.tif 000017
【図１６】
2015176427.tif 000018
【図１７】
2015176427.tif 000019
【図１８】
2015176427.tif 000020
【図１９】
2015176427.tif 000021
【図２０】
2015176427.tif 000022