(57)【要約】【課題】マルチテナントにおける仮想マシンのイメージファイルに対してアクセス効率を向上することを目的とする。【解決手段】ファイル読込み部１１０は、仮想マシンのイメージファイルの元になるオリジナルファイル１０１を読み込む。ファイル分割・複製部１２０は、オリジナルファイル１０１を複数の分割データ１０２に分割する。ファイル分割・複製部１２０は、分割データ１０２を選択し、選択した分割データ１０２を複製する。ファイル書込み部１３０は、複製して得られた複数の分割データ１０２を磁気ディスク１９０に並べて書き込む。ファイル分割・複製部１２０とデータ書込み部１３０とは、分割データ１０２の選択、複製および書き込みを全ての分割データ１０２について繰り返すことにより、各仮想マシンのイメージファイルに含まれる同じ種類のファイルをまとめて磁気ディスク１９１に書き込む。【選択図】図１
2012128756.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み部と、
前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製部と、
前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み部と
を備えたことを特徴とするファイル複製装置。
【請求項２】
前記ファイル複製装置は、さらに、
前記ファイル読込み部により読み込まれたオリジナルファイルを所定の分割サイズ毎に分割して複数の分割ファイルを生成するファイル分割部を備え、
前記ファイル複製部は、前記ファイル分割部により生成された複数の分割ファイルそれぞれを複製することにより、複数の分割ファイルから成る複数の複製ファイルを生成し、
前記ファイル書込み部は、前記ファイル複製部により生成された複数の複製ファイルに基づいて複数の複製ファイルそれぞれの複数の分割ファイルを複製ファイル内での位置が同じ分割ファイルの組み合わせ毎に複製ファイル内での位置順に並べて前記ディスク媒体へ書き込むことにより、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とする請求項１記載のファイル複製装置。
【請求項３】
前記ファイル複製装置は、さらに、
前記オリジナルファイルに含まれる複数種類のデータそれぞれのアクセス頻度を示すアクセス頻度情報を記憶するアクセス頻度情報記憶部と、
前記ファイル読込み部により読み込まれたオリジナルファイルと前記アクセス頻度情報記憶部に記憶されたアクセス頻度情報とに基づいて、前記オリジナルファイルに含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイルを生成するデータ並び替え部とを備え、
前記ファイル分割部は、前記ファイル読込み部により読み込まれたオリジナルファイルの代わりに前記データ並び替え部により生成された新たなオリジナルファイルを分割して複数の分割ファイルを生成する
ことを特徴とする請求項２記載のファイル複製装置。
【請求項４】
前記ファイル複製装置は、さらに、
前記ファイル複製部により生成された複数の複製ファイルそれぞれを所定の分割サイズ毎に分割することにより、複数の分割ファイルから成る複数の複製ファイルを生成するファイル分割部を備え、
前記ファイル書込み部は、前記ファイル分割部により生成された複数の複製ファイルに基づいて複数の複製ファイルそれぞれの複数の分割ファイルを複製ファイル内での位置が同じ分割ファイルの組み合わせ毎に複製ファイル内での位置順に並べて前記ディスク媒体へ書き込むことにより、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とする請求項１記載のファイル複製装置。
【請求項５】
前記ファイル複製装置は、さらに、
前記オリジナルファイルに含まれる複数種類のデータそれぞれのアクセス頻度を示すアクセス頻度情報を記憶するアクセス頻度情報記憶部と、
前記ファイル読込み部により読み込まれたオリジナルファイルと前記アクセス頻度情報記憶部に記憶されたアクセス頻度情報とに基づいて、前記オリジナルファイルに含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイルを生成するデータ並び替え部とを備え、
前記ファイル複製部は、前記ファイル読込み部により読み込まれたオリジナルファイルの代わりに前記データ並び替え部により生成された新たなオリジナルファイルを複製して複数の複製ファイルを生成する
ことを特徴とする請求項４記載のファイル複製装置。
【請求項６】
ファイル読込み部が、複数種類のデータを含んだオリジナルファイルを読み込み、
ファイル複製部が、前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成し、
ファイル書込み部が、前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とするファイル複製装置のファイル複製方法。
【請求項７】
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み処理と、
前記ファイル読込み処理により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製処理と、
前記ファイル複製処理により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み処理であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み処理と
をコンピュータに実行させるファイル複製プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置へ記憶するファイル複製装置、ファイル複製装置のファイル複製方法およびファイル複製プログラムに関するものである。
【背景技術】
【０００２】
従来、磁気ディスクに記憶されたファイルにアクセスするためのヘッドシークの発生頻度を減らすことによって、ファイルのアクセス効率を向上させる技術が提案されている（特許文献１、特許文献２）。
特許文献１は、ファイルが分割されて磁気ディスクの複数のトラックに配置されている場合に複数のトラックに配置されている分割ファイルを一つのトラックに配置することによってヘッドシークの発生頻度を減らす技術を開示している。
特許文献２は、ファイルのアクセス頻度を調べてアクセス頻度の高いファイルを同一トラックまたは隣接するトラックに配置することによってヘッドシークの発生頻度を減らす技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１１９１２４号公報
【特許文献２】特開平７−１４６７５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の仮想マシンを同様に動作させるマルチテナントの場合、従来の技術には以下のような課題がある。
【０００５】
特許文献１の技術の場合、仮想マシンを構成する複数のファイル（イメージファイル）は一つのトラックに記憶される。つまり、仮想マシンＡのイメージファイルはトラックＡに記憶され、仮想マシンＢのイメージファイルはトラックＢに記憶される。
このため、複数の仮想マシンそれぞれのファイルにアクセスするためには複数のトラックをシークする必要があり、ヘッドの移動量が増え、ファイルの読み込みに時間がかかる。
【０００６】
特許文献２の技術の場合、複数の仮想マシンを同様に動作させるマルチテナントではファイルのアクセス頻度が各仮想マシンでほぼ等しくなるため、ファイルの配置は変わらず、ファイルのアクセス効率は改善されない。
【０００７】
また、これらの技術では、ファイルの数、ファイルのサイズ、ファイルの並び順、トラックの記憶容量などの条件によってファイルのアクセス効率が仮想マシン毎に大きく異なってしまう場合がある。この場合、仮想マシンの利用者に対して平等なパフォーマンスを提供することができない。
【０００８】
本発明は、例えば、マルチテナントにおけるファイルのアクセス効率を向上し、ファイルのアクセス効率を各仮想マシンで平準化し、各仮想マシンの利用者に平等なパフォーマンスを提供できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明のファイル複製装置は、
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み部と、
前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製部と、
前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み部とを備える。
【発明の効果】
【００１０】
本発明によれば、例えば、複数の仮想マシンのイメージファイル（複製ファイルの一例）を磁気ディスク（ディスク媒体の一例）に記憶する際に、イメージファイルを構成する構成ファイル（同じ種類のデータの一例）毎に、各仮想マシンの同じ種類の構成ファイルを同じトラックに記憶することができる。
これにより、例えば、マルチテナントにおけるファイルのアクセス効率を向上し、ファイルのアクセス効率を各仮想マシンで平準化し、各仮想マシンの利用者に平等なパフォーマンスを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１における仮想マシンイメージファイル生成装置１００の機能構成図。
【図２】実施の形態１における仮想マシンのイメージファイル２３９の概念図。
【図３】実施の形態１における仮想マシンイメージファイル生成方法を示すフローチャート。
【図４】実施の形態１における仮想マシンイメージファイル生成方法の概要図。
【図５】実施の形態１における磁気ディスク１９１内のイメージファイル２３９の配置図。
【図６】実施の形態１と異なるイメージファイル２３９の配置を示す図。
【図７】実施の形態１における仮想マシンイメージファイル生成装置１００のハードウェア資源の一例を示す図。
【図８】実施の形態２における仮想マシンイメージファイル生成方法を示すフローチャート。
【図９】実施の形態２における仮想マシンイメージファイル生成方法の概要図。
【図１０】実施の形態３における仮想マシンイメージファイル生成装置１００の機能構成図。
【図１１】実施の形態３における仮想マシンイメージファイル生成方法を示すフローチャート。
【図１２】実施の形態３における仮想マシンイメージファイル生成方法を示すフローチャートの別例。
【発明を実施するための形態】
【００１２】
実施の形態１．
仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置に記憶する形態について説明する。
但し、仮想マシンのイメージファイルは複製するファイルの一例であり、磁気ディスク装置はファイルデータを記憶するディスク媒体の一例である。
【００１３】
図１は、実施の形態１における仮想マシンイメージファイル生成装置１００の機能構成図である。
実施の形態１における仮想マシンイメージファイル生成装置１００の機能構成について、図１に基づいて説明する。
【００１４】
仮想マシンイメージファイル生成装置１００は、仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置１９０に記憶する。
【００１５】
図２は、実施の形態１における仮想マシンのイメージファイル２３９の概念図である。
実施の形態１における仮想マシンのイメージファイル２３９について、図２に基づいて説明する。
【００１６】
計算機を仮想化することにより、１台の計算機（実計算機、物理計算機）に複数の仮想計算機（仮想マシン）を実装することができる。
このような仮想化技術により、例えば、複数の利用者に対して利用者毎に仮想計算機を用意し、仮想計算機を使用して各利用者に同等の情報処理サービスを提供することができる。このように複数の仮想計算機を実装するシステム環境を「マルチテナント」という。
以下、仮想計算機を「ＶＭ２３０（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）」といい、仮想計算機が実装された実計算機を「ＶＭサーバ２００」という。
【００１７】
ＶＭサーバ２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やメモリなどのハードウェア２１０を備える。
ＶＭＭ２２０（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）は、複数のＶＭ２３０を管理するソフトウェアであり、ハードウェア２１０によって実行される。
ＶＭ２３０は、計算機を仮想化するソフトウェアである。各ＶＭ２３０にはハードウェア２１０のリソースが割り当てられ、各ＶＭ２３０は割り当てられたハードウェア２１０のリソースを用いて実行される。例えば、各ＶＭ２３０にはメモリの記憶領域が割り当てられ、割り当てられた記憶領域には、ＯＳ２３２（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、アプリ２３１（アプリケーションプログラム）、レジスタの設定値（図示省略）など、計算機に必要な各種データ（ファイルともいう）が記憶される。
【００１８】
実施の形態１において、ＯＳ２３２、アプリ２３１、レジスタの設定値など、ＶＭ２３０を構成する複数種類のデータ（ファイル）から成るファイルを「イメージファイル２３９」という。
【００１９】
図１に戻り、仮想マシンイメージファイル生成装置１００の機能構成の説明を続ける。
【００２０】
仮想マシンイメージファイル生成装置１００（ファイル複製装置の一例）は、ファイル読込み部１１０、ファイル分割・複製部１２０、ファイル書込み部１３０および装置記憶部１８０を備える。
【００２１】
オリジナルファイル１０１は、仮想マシン（仮想計算機）のイメージファイルとして複製される複製元のイメージファイルである。
設定ファイル１８１は、イメージファイルの複製数や分割サイズなどが予め設定されたファイルである。
【００２２】
ファイル読込み部１１０（ファイル読込み部の一例）は、複数種類のデータ（ファイル）を含んだオリジナルファイル１０１を読み込む。
【００２３】
ファイル分割・複製部１２０（ファイル複製部、ファイル分割部の一例）は、ファイル読込み部１１０により読み込まれたオリジナルファイル１０１を複製して複数の複製ファイル（イメージファイル）を生成する。
【００２４】
具体的に、ファイル分割・複製部１２０は、ファイル読込み部１１０により読み込まれたオリジナルファイル１０１を設定ファイル１８１に設定された分割サイズ毎に分割して複数の分割データ１０２（分割ファイル）を生成する。
そして、ファイル分割・複製部１２０は、複数の分割データ１０２それぞれを複製することにより、複数の分割データ１０２から成る複数の複製ファイルを生成する。
【００２５】
ファイル書込み部１３０（ファイル書込み部の一例）は、ファイル分割・複製部１２０により生成された複数の複製ファイルを複数のトラック（またはシリンダ、以下同様）を有する磁気ディスク装置１９０（ディスク媒体の一例）へ書き込む。
特に、ファイル書込み部１３０は、複数の複製ファイルそれぞれに含まれる同じ種類のデータ（ファイル）を同じトラック（または隣接するトラック）へ書き込む。
【００２６】
具体的に、ファイル書込み部１３０は、ファイル分割・複製部１２０により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ１０２を複製ファイル内での位置が同じ分割データ１０２の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置１９０へ書き込む。
【００２７】
図３は、実施の形態１における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態１における仮想マシンイメージファイル生成方法（ファイル複製方法の一例）の処理の流れついて、図３に基づいて説明する。
【００２８】
まず、仮想マシンイメージファイル生成方法の概要について説明する。
【００２９】
ファイル読込み部１１０は、オリジナルファイル１０１を読み込む（Ｓ１１０、ファイル読込み処理の一例）。
ファイル分割・複製部１２０は、オリジナルファイル１０１を複数の分割データ１０２に分割する（Ｓ１２０、ファイル分割処理の一例）。
ファイル分割・複製部１２０は、分割データ１０２を選択し、選択した分割データ１０２を複製する（Ｓ１２１、ファイル複製処理の一例）。
ファイル書込み部１３０は、複製して得られた複数の分割データ１０２を磁気ディスク１９１に並べて書き込む（Ｓ１３０、ファイル書込み処理の一例）。
Ｓ１２１およびＳ１３０は、全ての分割データ１０２を処理し終わるまで繰り返される（Ｓ１３１）。
【００３０】
次に、仮想マシンイメージファイル生成方法の詳細について説明する。
【００３１】
Ｓ１１０において、ファイル読込み部１１０は、仮想マシンファイル生成装置１００の外部から又は装置記憶部１８０からオリジナルファイル１０１と設定ファイル１８１とを読み込む（入力する）。
Ｓ１１０の後、Ｓ１２０に進む。
【００３２】
Ｓ１２０において、ファイル分割・複製部１２０は、Ｓ１１０で読み込まれた設定ファイル１８１を参照し、Ｓ１１０で読み込まれたオリジナルファイル１０１をファイルの先頭から設定ファイル１８１に設定されている分割サイズ毎に分割する。
以下、オリジナルファイル１０１を分割して得られたデータを「分割データ１０２」という。
Ｓ１２０の後、Ｓ１２１に進む。
【００３３】
Ｓ１２１において、ファイル分割・複製部１２０は、Ｓ１２０で得られた複数の分割データ１０２からオリジナルファイル１０１内での並び順（位置順）に分割データ１０２を一つ選択する。
そして、ファイル分割・複製部１２０は、Ｓ１１０で読み込まれた設定ファイル１８１を参照し、選択した分割データ１０２を設定ファイル１８１に設定されている複製数だけ複製する。これにより、選択した分割データ１０２に対して、設定ファイル１８１に設定されている複製数の分割データ１０２が生成される。
Ｓ１２１の後、Ｓ１３０に進む。
【００３４】
Ｓ１３０において、ファイル書込み部１３０は、Ｓ１２１で生成された複数の分割データ１０２を磁気ディスク装置１９０の磁気ディスク１９１に並べて書き込む。
Ｓ１３０の後、Ｓ１３１に進む。
【００３５】
Ｓ１３１において、ファイル分割・複製部１２０は、未選択の分割データ１０２が残っているか否かを判定する。
未選択の分割データ１０２が残っている場合（ＹＥＳ）、Ｓ１２１に戻る。
未選択の分割データ１０２が残っていない場合（ＮＯ）、仮想マシンイメージファイル生成方法の処理は終了する。
【００３６】
図４は、実施の形態１における仮想マシンイメージファイル生成方法の概要図である。
図５は、実施の形態１における磁気ディスク１９１内のイメージファイル２３９の配置図である。
実施の形態１における仮想マシンイメージファイル生成方法（図３参照）の概要について、図４および図５に基づいて説明する。
【００３７】
図４において、オリジナルファイル１０１にはファイルＡ、ファイルＢおよびファイルＣが含まれる。
このオリジナルファイル１０１はＶＭａ用のイメージファイル２３９と、ＶＭｂ用のイメージファイル２３９と、ＶＭｃ用のイメージファイル２３９との３つのイメージファイル２３９に複製され、磁気ディスク１９１に記憶されるものとする。
【００３８】
（１）例えば、オリジナルファイル１０１は、３つの分割データ１０２Ａ−Ｃに分割される（Ｓ１２０）。
分割データ１０２ＡはファイルＡを含み、分割データ１０２ＢはファイルＢを含み、分割データ１０２ＣはファイルＣを含んでいる。
（２）先頭の分割データ１０２ＡはＶＭａ用の分割データ１０２Ａと、ＶＭｂ用の分割データ１０２Ａと、ＶＭｃ用の分割データ１０２Ａとの３つの分割データ１０２Ａに複製される（Ｓ１２１）。
そして、３つの分割データ１０２Ａは順番に磁気ディスク１９１に書き込まれる（Ｓ１３０）。
（３）同様に、２番目の分割データ１０２Ｂも３つの分割データ１０２Ｂに複製され（Ｓ１２１）、３つの分割データ１０２Ｂは順番に磁気ディスク１９１に書き込まれる（Ｓ１３０）。
（４）また、最後の分割データ１０２Ｃも３つの分割データ１０２Ｃに複製され（Ｓ１２１）、３つの分割データ１０２Ｃは順番に磁気ディスク１９１に書き込まれる（Ｓ１３０）。
【００３９】
図５において、磁気ディスク１９１は３つのトラック１９２Ａ−Ｃを有するものとする。
また、各トラック１９２Ａ−Ｃの記憶容量は等しいものとする。
【００４０】
９つの分割データ１０２Ａ−Ｃ（図４参照）は磁気ディスク１９１の外側のトラック１９２Ａから内側のトラック１９２Ｃへ順に時計回りに書き込まれる。
つまり、３つの分割データ１０２Ａは外側のトラック１９２Ａに書き込まれる。外側のトラック１９２Ａの空き領域が無くなった場合、３つの分割データ１０２Ｂは２番目のトラック１９２Ｂに書き込まれる。真ん中のトラック１９２Ｂの空き領域が無くなった場合、３つの分割データ１０２Ｃは最内のトラック１９２Ｃに書き込まれる。
これにより、３つのＶＭａ−ｃそれぞれのファイルＡは外側のトラック１９２Ａに記憶され、３つのＶＭａ−ｃそれぞれのファイルＢは真ん中のトラック１９２Ｂに記憶され、３つのＶＭａ−ｃそれぞれのファイルＣは最内のトラック１９２Ｃに記憶される。
【００４１】
各ＶＭａ−ｃの同じ種類のファイル（例えば、ファイルＡ）が同時に（または連続して）使用されるマルチテナント環境では、図５に示すように同じ種類のファイルを一つのトラック１９２に記憶することにより、ファイルのアクセス効率を向上させることができる。
例えば、ＶＭａのファイルＡにアクセスした後、ＶＭｂ（またはＶＭｃ）のファイルＡにアクセスする場合、磁気ディスク装置１９０の磁気ヘッドを外側のトラック１９２Ａから移動する必要がないからである。
【００４２】
図６は、実施の形態１と異なるイメージファイル２３９の配置を示す図である。
図６（１）には、３つの分割データ１０２Ａをランダムに磁気ディスク１９１に配置した場合を示し、図６（２）には、各ＶＭａ−ｃのイメージファイル２３９を異なるトラック１９２に配置した場合を示している。
実施の形態１におけるイメージファイル２３９の配置（図５参照）は、図６（１）（２）の配置に比べて、ファイルのアクセス効率が高い。
例えば、各ＶＭａのファイルＡにアクセスする場合、図６（１）（２）では磁気ヘッドを全てのトラック１９２Ａ−Ｃに移動する必要がある。しかし、実施の形態１におけるイメージファイル２３９の配置（図５参照）であれば、磁気ヘッドをトラック１９２Ａから移動する必要がない。
【００４３】
実施の形態１（図５参照）において、９つの分割データ１０２Ａ−Ｃは磁気ディスク１９１の内側のトラック１９２Ｃから外側のトラック１９２Ａへ順に書き込んでも構わないし、各トラック１９２Ａ−Ｃに時計と反対回りに書き込んでも構わない。
各トラック１９２Ａ−Ｃの記憶容量は異なっていても構わない。
各トラックＡ−Ｃの記憶容量または各分割データ１０２Ａ−Ｃのデータサイズに応じて、複数種類の分割データ１０２が同じトラック１９２に書き込まれても構わないし、同じ種類の分割データ１０２が隣接する複数のトラック１９２に書き込まれても構わない。例えば、６つの分割データ１０２Ａ−Ｂを外側のトラック１９２Ａに書き込んでも構わない。また、３つの分割データ１０２Ａのうち２つの分割データ１０２Ａが外側のトラック１９２Ａに書き込まれ、残りの１つの分割データ１０２Ａが真ん中のトラック１９２Ｂに書き込まれても構わない。同じ種類の分割データ１０２を隣接する複数のトラック１９２に書き込んだ場合であっても、磁気ヘッドの移動量および移動回数は図６（１）（２）の配置に比べて少なく、ファイルのアクセス効率は向上する。
【００４４】
図７は、実施の形態１における仮想マシンイメージファイル生成装置１００のハードウェア資源の一例を示す図である。
図７において、仮想マシンイメージファイル生成装置１００は、ＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ドライブ装置９０４、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９０４は、ＦＤ（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
【００４５】
通信ボード９１５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００４６】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
【００４７】
プログラム群９２３には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、ＣＰＵ９１１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００４８】
ファイル群９２４には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００４９】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【００５０】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００５１】
実施の形態１において、例えば、以下のような仮想マシンイメージファイル生成装置１００について説明した。
【００５２】
仮想マシンイメージファイル生成装置１００は、マルチテナント環境を構築する際に仮想マシンのイメージファイルを複製する。
マルチテナントとは、１つの物理リソース（ＣＰＵ、メモリ、ディスク等）を複数の利用者（仮想マシンのユーザ）が共有する形態のことであり、各仮想マシンが同環境で同様の動作をすることを意味する。
仮想マシンイメージファイル生成装置１００は、ファイル読込み部１１０と、ファイル分割・複製部１２０と、ファイル書込み部１３０とを備える。
ファイル読込み部１１０は、ファイルの分割サイズおよび複製数が定義された設定ファイル１８１と複製元となる仮想マシンのイメージファイル（オリジナルファイル１０１）とを読み込む。
ファイル分割・複製部１２０は、仮想マシンのイメージファイルをファイルの先頭から設定ファイル１８１に定義された分割サイズ毎に分割し、分割する度に分割したデータを設定ファイル１８１に定義された複製数回だけ複製し、複製した順にデータを出力する。
ファイル書込み部１３０は、ファイル分割・複製部１２０から渡されたデータを渡された順に、磁気ディスク１９１のトラックの外側から内側へ（もしくは内側から外側へ）書き込む。
【００５３】
仮想マシンイメージファイル生成装置１００は、仮想マシンのイメージファイル（オリジナルファイル１０１）を分割し、複製し、ラウンドロビン的に磁気ディスク１９１に書き込む。
このため、マルチテナントのように各ＶＭ（仮想マシン）が同様の動作をする環境において各ＶＭの特定のファイルを読み込む場合、読み込み対象のファイルが同一トラック上（もしくは隣接するトラック上）に配置される可能性が高い。
これにより、磁気ヘッドの位置決めの頻度が減り、各ＶＭのディスクアクセス性能が向上する。また、各ＶＭのディスクアクセス性能が平準化され、各ＶＭの利用者に対して、平等なパフォーマンスを提供することが可能となる。
【００５４】
実施の形態１において、磁気ディスク装置１９０が複数枚の磁気ディスク１９１を備える場合、磁気ディスク１９１の「トラック１９２」は、磁気ディスク装置１９０の「シリンダ」として読み替えることができる。
磁気ディスク１９１は複数のトラックを有するディスク形状の記憶媒体（ディスク媒体）の一例あり、磁気ディスク１９１の代わりにＦＤ、ＣＤ−ＲＯＭ、ＤＶＤなどのディスク媒体を用いても構わない。
仮想マシンのイメージファイル２３９は複数のデータ（例えば、ファイルＡ−Ｃ）を含んだファイルの一例であり、仮想マシンのイメージファイル２３９以外のファイルをディスク媒体に記憶しても構わない。
【００５５】
実施の形態２．
仮想マシンイメージファイル生成方法においてオリジナルファイル１０１の分割処理と複製処理とを処理順序を入れ替えて実行する形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略した事項は実施の形態１と同様である。
【００５６】
仮想マシンイメージファイル生成装置１００の機能構成は、実施の形態１（図１参照）と同じである。
【００５７】
但し、ファイル分割・複製部１２０は、ファイル読込み部１１０により読み込まれたオリジナルファイル１０１を複製して複数の複製ファイル（イメージファイル）を生成する。
そして、ファイル分割・複製部１２０は、複数の複製ファイルそれぞれを設定ファイル１８１に設定された分割サイズ毎に分割することにより、複数の分割データ１０２（分割ファイル）から成る複数の複製ファイルを生成する。
【００５８】
また、ファイル書込み部１３０は、ファイル分割・複製部１２０により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ１０２を複製ファイル内での位置が同じ分割データ１０２の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置１９０へ書き込む。
【００５９】
図８は、実施の形態２における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態２における仮想マシンイメージファイル生成方法の処理について、図８に基づいて説明する。
【００６０】
仮想マシンイメージファイル生成方法において、ファイル複製処理（Ｓ２２０）、ファイル分割処理（Ｓ２２１）およびファイル書込み処理（Ｓ２３０−Ｓ２３２）が実施の形態１の処理（Ｓ１２０−Ｓ１３１）と異なる。
以下、Ｓ２２０−Ｓ２３２について主に説明する。
【００６１】
Ｓ２１０において、ファイル読込み部１１０は、実施の形態１（図３、Ｓ１１０）と同じく、オリジナルファイル１０１と設定ファイル１８１とを読み込む。
Ｓ２１０の後、Ｓ２２０に進む。
【００６２】
Ｓ２２０において、ファイル分割・複製部１２０は、Ｓ２１０で読み込まれた設定ファイル１８１を参照し、Ｓ２１０で読み込まれたオリジナルファイル１０１を設定ファイル１８１に設定されている複製数だけ複製する。これにより、オリジナルファイル１０１に対して複数のイメージファイル２３９が生成される。
Ｓ２２０の後、Ｓ２２１に進む。
【００６３】
図９は、実施の形態２における仮想マシンイメージファイル生成方法の概要図である。
例えば、オリジナルファイル１０１は、図９（１）に示すように、ＶＭａ用のイメージファイル２３９と、ＶＭｂ用のイメージファイル２３９と、ＶＭｃ用のイメージファイル２３９との３つのイメージファイル２３９に複製される（図８、Ｓ２２０）。
【００６４】
図８に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【００６５】
Ｓ２２１において、ファイル分割・複製部１２０は、Ｓ２１０で読み込まれた設定ファイル１８１を参照し、Ｓ２２０で生成された複数のイメージファイル２３９それぞれを設定ファイル１８１に設定されている分割サイズ毎に分割する。
以下、各イメージファイル２３９を分割して得られたデータを「分割データ１０２」という。
Ｓ２２１の後、Ｓ２３０に進む。
【００６６】
図９（２）において、３つのイメージファイル２３９はそれぞれ３つの分割データ１０２Ａ−Ｃに分割され、合計９つの分割データ１０２Ａ−Ｃが得られる（図８、Ｓ２２１）。
【００６７】
図８に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【００６８】
Ｓ２３０において、ファイル書込み部１３０は、Ｓ２２１で得られた複数の分割データ１０２をオリジナルファイル１０１内の位置が同じ分割データ１０２の組み合わせ毎にグループ分けする。
Ｓ２３０の後、Ｓ２３１に進む。
【００６９】
図９において、９つの分割データ１０２Ａ−Ｃは、分割データ１０２Ａの組み合わせと、分割データ１０２Ｂの組み合わせと、分割データ１０２Ｃの組み合わせとの３つの組み合わせに分けられる（図８、Ｓ２３０）。
【００７０】
図８に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【００７１】
Ｓ２３１において、ファイル書込み部１３０は、分割データ１０２の複数の組み合わせからオリジナルファイル１０１内での並び順（位置順）に分割データ１０２の組み合わせを一つ選択する。
そして、選択した分割データ１０２の組み合わせを磁気ディスク装置１９０の磁気ディスク１９１に並べて書き込む。
Ｓ２３１の後、Ｓ２３２に進む。
【００７２】
Ｓ２３２において、ファイル書込み部１３０は、磁気ディスク１９１に書き込んでいない分割データ１０２の組み合わせが残っているか否かを判定する。
分割データ１０２の組み合わせが残っている場合（ＹＥＳ）、Ｓ２３１に戻る。
分割データ１０２の組み合わせが残っていない場合（ＮＯ）、仮想マシンイメージファイル生成方法の処理は終了する。
【００７３】
図９において、まず、分割データ１０２Ａの組み合わせが磁気ディスク１９１に書き込まれ、次に、分割データ１０２Ｂの組み合わせが磁気ディスク１９１に書き込まれ、最後に、分割データ１０２Ｃの組み合わせが磁気ディスク１９１に書き込まれる（図８、Ｓ２３１−Ｓ２３２）。
その結果、各ＶＭａ−ｃのイメージファイル２３９は、実施の形態１と同じように、磁気ディスク１９１に配置される（図５参照）。
【００７４】
したがって、実施の形態２の仮想マシンイメージファイル生成装置１００は、実施の形態１と同じく、ファイルのアクセス効率を向上させることができる。
【００７５】
実施の形態３．
オリジナルファイル１０１に含まれる複数のファイルをアクセス頻度順に並び替えて、ファイルのアクセス効率をさらに向上する形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明する。説明を省略した事項は実施の形態１、２と同様である。
【００７６】
図１０は、実施の形態３における仮想マシンイメージファイル生成装置１００の機能構成図である。
実施の形態３における仮想マシンイメージファイル生成装置１００の機能構成について、図１０に基づいて説明する。
【００７７】
仮想マシンイメージファイル生成装置１００は、実施の形態１の構成（図１参照）に加えて、ファイルアクセス頻度分析部１１１とファイル書換え部１１２とを備える。
【００７８】
装置記憶部１８０（アクセス頻度情報記憶部の一例）は、オリジナルファイル１０１に含まれる複数種類のデータ（例えば、ファイルＡ−Ｃ）それぞれのアクセス頻度を示すアクセス頻度ファイル１８２（アクセス頻度情報の一例）を記憶する。
【００７９】
ファイルアクセス頻度分析部１１１（アクセス頻度判定部の一例）は、オリジナルファイル１０１に含まれる複数種類のデータのアクセス頻度の順番をアクセス頻度ファイル１８２に基づいて判定する。
【００８０】
ファイル書換え部１１２（データ並び替え部の一例）は、オリジナルファイル１０１とアクセス頻度ファイル１８２とに基づいて、オリジナルファイル１０１に含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイル１０９を生成する。
【００８１】
ファイル分割・複製部１２０は、ファイル読込み部１１０により読み込まれたオリジナルファイル１０１の代わりにファイル書換え部１１２により生成された新たなオリジナルファイル１０９を分割して複数の分割ファイルを生成する。
または、ファイル分割・複製部１２０は、ファイル読込み部１１０により読み込まれたオリジナルファイル１０１の代わりにファイル書換え部１１２により生成された新たなオリジナルファイル１０９を複製して複数の複製ファイルを生成する。
【００８２】
ファイル書込み部１３０は、ファイル分割・複製部１２０により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ１０２を複製ファイル内での位置が同じ分割データ１０２の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置１９０へ書き込む。
【００８３】
図１１は、実施の形態３における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態３における仮想マシンイメージファイル生成方法の処理の流れについて、図１１に基づいて説明する。
【００８４】
仮想マシンイメージファイル生成方法において、Ｓ３１１（アクセス頻度順判定処理の一例）とＳ３１２（データ並び替え処理の一例）とを実行する。
Ｓ３１１、Ｓ３１２以外の処理は、実施の形態１の処理（Ｓ１１０−Ｓ１３１）に対応する処理である。
但し、ファイル読込み処理（Ｓ３１０）とファイル分割処理（Ｓ３２０）とは、実施の形態１の処理（Ｓ１１０、Ｓ１２０）と一部異なる。
以下、Ｓ３１０−Ｓ３２０について主に説明する。
【００８５】
Ｓ３１０において、ファイル読込み部１１０は、オリジナルファイル１０１と設定ファイル１８１とに加えて、アクセス頻度ファイル１８２を読み込む。
アクセス頻度ファイル１８２は、オリジナルファイル１０１を構成する複数のファイルそれぞれのアクセス頻度を分析（判定）するための情報を示す。例えば、アクセス頻度ファイル１８２は、オリジナルファイル１０１（またはオリジナルファイル１０１から複製されたイメージファイル２３９）を使用するシステムにおける過去のアクセス履歴として、各構成ファイルのアクセス日時を示す。
Ｓ３１０の後、Ｓ３１１に進む。
【００８６】
Ｓ３１１において、ファイルアクセス頻度分析部１１１は、Ｓ３１０で読み込まれたオリジナルファイル１０１とアクセス頻度ファイル１８２とに基づいて、オリジナルファイル１０１を構成する複数のファイルそれぞれのアクセス頻度を分析する。
そして、ファイルアクセス頻度分析部１１１は、分析結果に基づいて、オリジナルファイル１０１の複数の構成ファイルについてアクセス頻度の順番を示す分析結果情報１８３を生成する。
【００８７】
例えば、ファイルアクセス頻度分析部１１１は、アクセス頻度ファイル１８２に示される各構成ファイルのアクセス履歴に基づいて、各構成ファイルの単位時間当たりのアクセス回数を算出する。
そして、ファイルアクセス頻度分析部１１１は、オリジナルファイル１０１の複数の構成ファイルをアクセス回数の多い順（または少ない順）に示す分析結果情報１８３を生成する。
【００８８】
Ｓ３１１の後、Ｓ３１２に進む。
【００８９】
Ｓ３１２において、ファイル書換え部１１２は、Ｓ３１１で生成された分析結果情報１８３に基づいて、オリジナルファイル１０１の複数の構成ファイルをアクセス頻度の高い順に並べ替え、新たなオリジナルファイル１０９を生成する。
Ｓ３１２の後、Ｓ３２０に進む。
【００９０】
Ｓ３２０において、ファイル分割・複製部１２０は、Ｓ３１０で読み込まれたオリジナルファイル１０１の代わりに、Ｓ３１２で生成されたオリジナルファイル１０９を分割する。
Ｓ３２０の後、Ｓ３２１に進む。
【００９１】
Ｓ３２１−Ｓ３３１は、実施の形態１の処理（図３、Ｓ１２１−Ｓ１３１）と同様である。
【００９２】
実施の形態３において、実施の形態２と同様に、オリジナルファイル１０１の分割処理と複製処理とを処理順序を入れ替えて実行してもよい。
【００９３】
図１２は、実施の形態３における仮想マシンイメージファイル生成方法を示すフローチャートの別例である。
実施の形態２と同様にオリジナルファイル１０１の分割処理と複製処理とを処理順序を入れ替えて実行する場合について、図１２に基づいて説明する。
【００９４】
Ｓ４１０−Ｓ４１２は、Ｓ３１０−Ｓ３１２（図１０参照）と同じである。
【００９５】
Ｓ４２０において、ファイル分割・複製部１２０は、Ｓ４１０で読み込まれたオリジナルファイル１０１の代わりにＳ４１２で生成された新たなオリジナルファイル１０９を複製することにより、複数のイメージファイル２３９を生成する。
【００９６】
Ｓ４２１−Ｓ４３２は、実施の形態２の処理（図８、Ｓ２２１−Ｓ２３２）と同じである。
【００９７】
実施の形態３において、例えば、以下のような仮想マシンイメージファイル生成装置１００について説明した。
【００９８】
仮想マシンイメージファイル生成装置１００は、さらに、ファイルアクセス頻度分析部１１１とファイル書換え部１１２とを備える。
ファイルアクセス頻度分析部１１１は、仮想マシンのイメージファイル（オリジナルファイル１０１）内にあるファイルについて、アクセス頻度の高いファイルを分析する。
ファイル書換え部１１２は、仮想マシンのイメージファイル内のファイルをアクセス頻度の高い順にイメージファイルの先頭に集めるために、イメージファイルを書き換える。
【００９９】
仮想マシンイメージファイル生成装置１００は、仮想マシンのイメージファイル（オリジナルファイル１０１）内のファイルをアクセス頻度の高い順にイメージファイルの先頭に集める。そして、仮想マシンイメージファイル生成装置１００は、イメージファイルを分割し、複製し、ラウンドロビン的に磁気ディスク１９１に書き込む。
これにより、アクセス頻度の高いファイルが集約されるため、各ＶＭのファイルを読み込む場合に実施の形態１よりもディスクアクセス性能の向上が見込める。
【符号の説明】
【０１００】
１００  仮想マシンイメージファイル生成装置、１０１  オリジナルファイル、１０２  分割データ、１０９  オリジナルファイル、１１０  ファイル読込み部、１１１  ファイルアクセス頻度分析部、１１２  ファイル書換え部、１２０  ファイル分割・複製部、１３０  ファイル書込み部、１８０  装置記憶部、１８１  設定ファイル、１８２  アクセス頻度ファイル、１８３  分析結果情報、１９０  磁気ディスク装置、１９１  磁気ディスク、１９２  トラック、２００  ＶＭサーバ、２１０  ハードウェア、２２０  ＶＭＭ、２３０  ＶＭ、２３１  アプリ、２３２  ＯＳ、２３９  イメージファイル、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ドライブ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2012128756.tif 000003
【図２】
2012128756.tif 000004
【図３】
2012128756.tif 000005
【図４】
2012128756.tif 000006
【図５】
2012128756.tif 000007
【図６】
2012128756.tif 000008
【図７】
2012128756.tif 000009
【図８】
2012128756.tif 000010
【図９】
2012128756.tif 000011
【図１０】
2012128756.tif 000012
【図１１】
2012128756.tif 000013
【図１２】
2012128756.tif 000014