差分ディスク方式の仮想マシンシステムにおいて、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを格納するマスタディスクバッファファイルと、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄するディスク制御手段とを備えることを特徴とする仮想マシンシステム。前記マスタディスクファイルのブロック位置の更新の有無を示す情報と、ブロック位置情報と、当該ブロック位置へのデータの書き込み要求元である仮想マシンの仮想マシン情報とを記録する更新情報記録ファイルと、前記仮想マシンからの前記マスタディスクファイルへの書き込み要求が発生した場合に、前記ディスク制御手段から送信されるブロック位置情報と、前記更新情報記録ファイルのブロック位置情報を比較して更新の有無を判別し、更新がある場合に、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであるかどうかを判別する更新情報制御手段とを備えることを特徴とする請求項1に記載の仮想マシンシステム。前記更新情報制御手段がブロック位置の更新が無いと判定した場合、前記前記更新情報制御手段は、前記ブロック位置情報と、書き込み要求元となる仮想マシン情報を、前記更新情報記録ファイルに記録し、前記ディスク制御手段は、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする請求項2に記載の仮想マシンシステム。前記更新情報制御手段がブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであると判定した場合、前記ディスク制御手段は、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする請求項2または請求項3に記載の仮想マシンシステム。前記更新情報制御手段がブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なると判定した場合、前記ディスク制御手段は、書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一であるかを判定し、同じである場合、前記書き込み要求を破棄し、異なる場合、書き込み要求されたデータを、差分ディスクファイルに書き込みことを特徴とする請求項2から請求項4の何れかに記載の仮想マシンシステム。前記ディスク制御手段は、書き込み要求を破棄した場合に、仮想マシンが保持する差分ディスクファイルの当該ブロック位置にデータが存在する場合、当該データを削除することを特徴とする請求項5に記載の仮想マシンシステム。仮想マシンから前記マスタディスクファイルの所定のブロック位置のデータ読み込み要求が発生した場合、前記ディスク制御手段は、当該ブロック位置の更新が無い場合、前記マスタディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在する場合、前記差分ディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在しない場合、前記マスタディスクバッファファイルから読み込み要求データを読み込むことを特徴とする請求項1から請求項6の何れかに記載の仮想マシンシステム。差分ディスク方式の仮想マシンシステムの仮想ディスク制御方法において、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納し、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄することを特徴とする仮想ディスク制御方法。差分ディスク方式の仮想マシンシステム上で動作する仮想ディスク制御プログラムであって、仮想ディスクの制御を行うコンピュータに、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納する処理と、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄する処理を、実行させることを特徴とする仮想ディスク制御プログラム。しかし、VMwareViewComposerの再構築の機能は、再構築実施時に、マスタディスクファイルを参照する仮想マシンを全て停止する必要があるため、マスタディスクファイルの更新が緊急性を要する場合、仮想マシン運用に影響を与えてしまうという課題がある。また、仮想マシン個別にOSのセキュリティパッチやウイルス対策ソフトウェアの定義ファイルなどを適用しない、という運用ルールが前提となるため、各仮想マシン個別にマスタディスクファイルに該当する特定ブロック位置に対して、同一のデータ更新を行った場合における、ディスク性能低下および差分ディスクの肥大化という問題の根本的な解決とはならないという課題がある。一方、特許文献1の方法では、マスタディスクファイルに該当する特定ブロック位置に同一のデータ更新を行った場合でも、差分ディスクへの書き込み処理は行われるため、ディスク性能低下、および差分ディスクへ肥大化の発生が回避できないという課題がある。また、前述したOSのセキュリティパッチやウイルス対策ソフトの定義ファイルなどに関しては、該当データの移動または削除は通常発生しないため、差分ディスク内の不要ブロックの圧縮、解放は期待できず、差分ディスクの肥大化は回避できない可能性が高いという課題がある。発明の目的本発明の目的は、上述の課題を解決し、ディスク容量の削減効率を高める仮想マシンシステム、仮想ディスク管理方法、及び仮想ディスク管理プログラムを提供することである。本発明の第1の仮想マシンシステムは、差分ディスク方式の仮想マシンシステムにおいて、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを格納するマスタディスクバッファファイルと、仮想マシンからのマスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置についてマスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置におけるマスタディスクバッファファイルのデータと同一である場合に、書き込み要求を破棄するディスク制御手段とを備える。本発明の第1の仮想ディスク制御方法は、差分ディスク方式の仮想マシンシステムの仮想ディスク制御方法において、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納し、仮想マシンからのマスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置についてマスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置におけるマスタディスクバッファファイルのデータと同一である場合に、書き込み要求を破棄する。本発明の第1の仮想ディスク制御プログラムは、差分ディスク方式の仮想マシンシステム上で動作する仮想ディスク制御プログラムであって、仮想ディスクの制御を行うコンピュータに、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納する処理と、仮想マシンからのマスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置についてマスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置におけるマスタディスクバッファファイルのデータと同一である場合に、書き込み要求を破棄する処理を、実行させる。本発明によれば、マスタディスクファイルに対する同一内容のデータ書き込み処理を最小限に抑制することで、ディスク性能、つまり仮想マシン性能の低減を回避し、ディスク容量の削減効率を高めることができる。本発明は、差分ディスク方式において、仮想マシンからマスタディスクファイルに該当するブロック位置への書き込み処理が発生した場合、このブロック位置情報を確認し、既に他の仮想マシンから、同一ブロック位置への書き込み処理が行われたかを判断し、書き込みが行われていた場合は、さらに、そのデータ内容が同一であるかを確認し、同一である場合、この書き込み処理自体を破棄し、既に書き込まれた更新データを参照させることを特徴とする。具体的には、本発明にて実現するシステムでは、仮想マシンからのマスタディスクファイルに該当するブロック位置への書き込み処理が発生した場合に、このブロック位置情報と、書き込みデータ内容とを確認するディスク制御機能、ならびに、このディスク制御機能から伝達されるブロック位置情報を受信し、そのブロック位置情報と、書き込み要求元となる仮想マシン情報を記録する更新情報記録ファイルと、更新情報記録ファイルに書き込みおよび読み込み処理を行う更新情報制御機能、を具備する。更新情報記録ファイルに記録される仮想マシン情報は、該当ブロック位置におけるマスタディスクバッファファイルを参照する仮想マシン情報が記録される。ディスク制御機能は、データ読み込み時のブロック位置情報の確認、および仮想ディスクファイルから該当ブロック位置に格納されているデータを仮想マシンに伝達する機能、ならびに、各仮想ディスクファイルから、任意のブロック位置に格納されたデータを確認する機能も備える。また、任意の仮想マシンからマスタディスクファイルの所定のブロック位置への初めての書き込み処理が発生した場合、そのデータを格納するための仮想ディスクファイル以下、マスタディスクバッファファイルも具備する。ディスク制御機能は、仮想マシンからマスタディスクファイルに該当するブロック位置への書き込み処理が発生した場合、このブロック位置情報を確認し、更新情報制御機能に伝達する。更新情報制御機能は、伝達されたブロック位置情報と、更新情報記録ファイルに記録過去更新されたブロック位置情報との比較を行う。比較した結果は、ディスク制御機能に伝達される。比較結果が偽過去更新された記録無しである場合、更新情報制御機能は、該当ブロック位置における初めての書き込み処理と認識し、更新情報記録ファイルに今回の書き込みにより変更されるブロック位置情報と、書き込み要求元となる仮想マシン情報を記録し、ディスク制御機能は、マスタディスクバッファファイルにデータを書き込み、処理を終了する。比較結果が真=過去更新された記録ありである場合、次に、更新情報制御機能は、仮想マシン情報と、今回の書き込み要求元となる仮想マシン情報とを比較し、該当ブロック位置のデータを参照する仮想マシンが、今回の書き込み要求元となる仮想マシンだけであるかどうかを、確認する。確認の結果が真該当ブロック位置を参照する仮想マシンが、今回の書き込み要求元となる仮想マシンのみである場合、ディスク制御機能は、マスタディスクバッファファイルにデータを書き込む。確認の結果が偽該当ブロック位置を参照する仮想マシンが、今回の書き込み要求元となる仮想マシンのみではないである場合、ディスク制御機能は、該当ブロック位置におけるマスタディスクバッファファイルのデータと、今回の書き込み要求のデータとを比較し、同一であるかどうかを確認する。確認の結果が偽データが異なるである場合、ディスク制御機能は、今回の書き込み要求元となる仮想マシンが保持する差分ディスクにデータを書き込み、処理を終了する。確認の結果が真データが同一である場合、ディスク制御機能は、書き込み要求自体を破棄し、仮想ディスクファイルへの書き込み処理を実施させない。次に、更新情報制御機能が、更新情報記録ファイルに、今回の書き込み要求元となる仮想マシン情報を記録し、処理を終了する。仮想マシンからデータの読み込みが発生した場合、ディスク制御機能は、この読み込み対象となるブロック位置情報を更新情報制御機能に伝達する。更新情報制御機能は、伝達されたブロック位置情報と、更新情報記録ファイルに記録されたブロック位置情報との比較を行う。比較した結果は、ディスク制御機能に伝達される。受信した比較結果が偽=過去更新された記録なしである場合、ディスク制御機能は、該当ブロック位置におけるマスタディスクファイルからデータを読み込み、仮想マシンにデータを伝達し、処理を終了する。受信した比較結果が真=過去更新された記録ありである場合、ディスク制御機能は、読込み要求元となる仮想マシンが保持する差分ディスクファイルに対して該当ブロック位置のデータ有無を確認する。差分ディスクファイルの該当ブロック位置のデータがある場合、そのデータを読み込み、仮想マシンにデータを伝達し、処理を終了する。差分ディスクファイルの該当ブロック位置のデータがない場合、該当ブロック位置におけるマスタディスクバッファファイルからデータを読み込み、仮想マシンにデータを伝達し、処理を終了する。本発明により、マスタディスクファイルに対して複数の仮想マシンが同一ブロック位置かつ同一データの書き込み処理を実施した場合、マスタディスクバッファファイルにデータが書き込まれる処理は1台目の仮想マシンだけであり、2台目以降の仮想マシンからの書き込みは破棄することが可能となり、ディスク書き込みの低減、つまりディスク性能低下が実現できる。また、仮想マシンごとの差分ディスクへの書き込みも不要となるため、差分ディスクの肥大化を回避することが実現できる。本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。第1の実施の形態本発明の第1の実施の形態について、図面を参照して詳細に説明する。以下の図において、本発明の本質に関わらない部分の構成については適宜省略してあり、図示されていない。図1は、本実施の形態による仮想マシンシステム1000の構成を示すブロック図である。図1を参照すると、仮想マシンシステム1000は、仮想マシン100と、仮想マシン200と、仮想ディスク制御部400と、仮想基盤500と、記憶領域600と、から構成される。仮想マシン100は、仮想ハードウェア110と、ゲストOS101と、ゲストOS101上で動作するアプリケーション102から構成される。仮想ハードウェア110には、ゲストOS101ならびにアプリケーション102などのデータを格納するための、仮想ディスク120を備える。説明は省略するが、仮想マシン200も仮想マシン100と同様な構成となる。仮想ディスク120から読み込むデータは、後述する記憶領域610内のマスタディスクファイル611と、マスタディスクバッファファイル612と、差分ディスクファイル613に格納される。仮想ディスク120に書き込むデータは、マスタディスクバッファファイル612と、差分ディスクファイル613に格納される。仮想ディスク制御部400は、仮想マシンからのデータ読み込みおよび書き込みを制御するディスク制御手段410と、仮想ディスクファイル内のブロック更新位置情報、ならびに該当ブロックを参照する仮想マシン情報の確認および記録を制御する更新情報制御手段420と、ブロック更新位置情報と仮想マシン情報が記録される更新情報記録ファイル430と、を含む。ディスク制御手段410は、仮想マシン100からの読み込みまたは書き込み要求を受信し、要求元の仮想マシン情報と、書き込み要求におけるブロック位置情報と、書き込みデータ内容とを確認する機能を有する。また、ディスク制御手段410は、各構成要素に対して情報を伝達する機能、及び各仮想ディスクファイルに対して書き込みを実施する機能を有する。また、ディスク制御手段410は、書き込みデータ内容とマスタディスクバッファファイル612に書き込まれているデータとを比較し、該比較結果が同一である場合、書き込み要求を破棄する機能とを有する。更新情報制御手段420は、更新情報記録ファイル430に記録された情報をディスク制御手段410に伝達する機能を有する。また、更新情報制御手段420は、ディスク制御手段410から伝達される、要求元の仮想マシン情報と、書き込み要求におけるブロック位置情報と、を更新情報記録ファイル430に記録する機能を有する。また、更新情報制御手段420は、ディスク制御手段410から伝達された該情報と更新情報記録ファイル430に記録されている情報とを比較し、該比較結果をディスク制御手段410に伝達する機能を有する。更新情報記録ファイル430は、更新情報制御手段420から伝達される、仮想マシン情報とブロック位置情報とが記録される。仮想基盤500は、仮想マシン100ならびに仮想マシン200と、仮想ディスク制御部400と、を動作させる機能を備える。記憶装置600は、各仮想マシンが持つ仮想ディスクの実態となる仮想ディスクファイルを格納する記憶領域610を備える。記憶領域610は、各仮想マシンで共有可能なデータを持つマスタディスクファイル611と、任意の仮想マシンからマスタディスクファイル611に該当するブロック位置へ初めて書き込み処理が発生した場合、そのデータを格納するためのマスタディスクバッファファイル612と、各仮想マシンが保持する差分ディスクファイル613ならびに差分ディスクファイル614と、を備える。ここで、差分ディスクファイル612は、仮想マシン100が持つ仮想ディスク120、差分ディスクファイル613は、仮想マシン200が持つ仮想ディスク220が、それぞれ該当する。第1の実施の形態の動作の説明次に、本実施の形態による仮想マシンシステム1000の動作について、図面を参照して詳細に説明する。仮想ディスクファイルへの書き込みの動作の説明図2は、本実施の形態による仮想マシンシステム1000の仮想ディスクファイルへの書き込みの動作を示すフローチャートである。まず、仮想マシン100から、マスタディスクファイル611に該当するブロック位置に対して書き込み処理が発生した場合ステップB1、ディスク制御手段410は、このブロック位置情報を確認し、更新情報制御手段420に伝達する。更新情報制御手段420は、伝達されたブロック位置情報と、更新情報記録ファイル430に記録されたブロック位置情報との比較を行い、その結果をディスク制御手段410に伝達するステップB2、ステップB3。比較結果が偽である場合、更新情報制御手段420は、このブロック位置情報と仮想マシン100の情報を、更新情報記録ファイル430に記録するステップB4。ディスク制御手段410は、マスタディスクバッファファイル612に書き込み要求のあったデータを書き込みステップB10、書き込み処理を終了する。比較結果が真である場合、更新情報制御手段420は、このブロック位置を参照する仮想マシンが、今回の書き込み要求元となる仮想マシン100だけかどうかを、更新情報記録ファイル430から確認するステップB5、ステップB6。確認結果が真であれば、ディスク制御手段410は、マスタディスクバッファファイル612に書き込み要求のあったデータを書き込みステップB10、処理を終了する。確認結果が偽である場合、ディスク制御手段410は、マスタディスクバッファファイル612の該当ブロック位置におけるデータと、今回の書き込み要求のデータとを比較し、同一であるかどうかを確認するステップB7、ステップB8。データ比較結果が偽である場合、ディスク制御手段410は、今回の書き込み要求元となる仮想マシン100が保持する差分ディスクファイル613に、該当データを書き込みステップB11、処理を終了する。データ比較結果が真である場合、ディスク制御手段410は、仮想マシン100からの書き込み要求を破棄するステップB9。次に、更新情報制御手段420に対して、更新情報記録ファイル430に、今回の書き込み要求元となる仮想マシン100の情報を記録しステップB12、処理を終了する。仮想ディスクファイルからの読み込みの動作の説明図3は、本実施の形態による仮想マシンシステム1000の仮想ディスクファイルへからの読み込みの動作を示すフローチャートである。まず、仮想マシン100からデータの読み込み要求が発生した場合、ディスク制御手段410は、この読み込み対象となるブロック位置情報を更新情報制御手段420に伝達し、更新情報制御手段420は、伝達されたブロック位置情報と、更新情報記録ファイル430に記録されたブロック位置情報との比較を行い、その結果をディスク制御手段410に伝達するステップA2、ステップA3。比較結果が偽である場合、ディスク制御手段410は、該当ブロック位置におけるマスタディスクファイル611からデータを読み込みステップA7、仮想マシン100にデータを伝達し、処理を終了するステップA9。比較結果が真である場合、ディスク制御手段410は、読込み要求元となる仮想マシン100が保持する差分ディスクファイル613に対して、該当ブロック位置のデータ有無を確認するステップA4、ステップA5。差分ディスクファイル613にデータがある場合、そのデータを読み込みステップA6、仮想マシン100にデータを伝達し、処理を終了するステップA9。差分ディスクファイル613にデータがない場合、該当ブロック位置におけるマスタディスクバッファファイル612からデータを読み込みステップA8、仮想マシンにデータを伝達し、処理を終了するステップA9。第1の実施の形態による効果本実施の形態によれば、以下の効果を奏す。第1の効果は、差分ディスク方式の仮想マシンが複数動作する環境において、マスタディスクファイルに該当する同一ブロック位置かつ同一データの書き込みが複数仮想マシンから発生した場合でも、ディスク性能の低下を回避することができる点である。この結果、OSのセキュリティパッチやウイルス対策ソフトの定義ファイルなどが、複数の仮想マシンで適用された場合でも、仮想マシンのディスク性能低下を回避することが可能となる。その理由は、仮想マシンからのディスク書き込みに対して、そのブロック位置情報とデータ内容を確認することで、既に他の仮想マシンから同一の更新処理がされていた場合は、同一データが格納されたマスタディスクバッファファイルを参照するだけで、その書き込み処理を破棄することが可能となるからである。第2の効果は、差分ディスク方式の仮想マシンが複数動作する環境において、マスタディスクファイルに該当する同一ブロック位置かつ同一データの書き込みが複数仮想マシンから発生した場合でも、差分ディスクの肥大化を回避することが可能となる点である。この結果、記憶装置内のディスク使用領域の削減が可能となる。その理由は、第1の効果で説明した通り、同一ブロック位置かつ同一データの書き込みが複数仮想マシンから発生した場合は、差分ディスクへの書き込みが抑制されるためである。第2の実施の形態次に、本発明の第2の実施の形態について説明する。本実施の形態では、ディスク制御手段410が、差分ディスクファイル613の任意のブロック位置にあるデータ情報を削除する機能を有する。具体的には、仮想マシン100からの書き込み要求において、書き込み要求のデータが、マスタディスクバッファファイル612の該当するブロック位置におけるデータと、同じと判定された場合で、かつ差分ディスクファイル613の該当するブロック位置に不要なデータがある場合に、ディスク制御手段410が、そのデータを削除する。なお、仮想マシンシステム1000の構成自体は図1に示す第1の実施の形態と同様であるため説明は省略する。第2の実施の形態の動作の説明次に、本実施の形態による仮想マシンシステム1000の動作について、図4を参照して詳細に説明する。図4は、本実施の形態による仮想マシンシステム1000の仮想ディスクファイルへの書き込みの動作を示すフローチャートである。なお、図4のステップB13以外は、図2の処理フローで説明済みであるため、説明を適宜省略する。また、仮想ディスクファイルからの読み込みの動作については、図3に示す第1の実施の形態の動作と同様であるため、説明は省略する。図4を参照すると、仮想マシン100からデータ書き込み要求発生時、マスタディスクバッファファイル612の該当ブロック位置におけるデータと、今回の書き込み要求のデータとを比較し、同一であるかどうかを確認ステップB7、ステップB8した結果が真である場合、ディスク制御手段410は、仮想マシン100からの書き込み要求を破棄するステップB9。これにより、最新のデータはマスタディスクバッファファイル612に格納されているため、仮想マシン100が保持する差分ディスクファイル613の該当ブロック位置においてデータが存在している場合は不要とみなし、削除するステップB13。第2の実施の形態による効果本実施の形態によれば、第1の実施の形態の効果に加え、差分ディスクファイルの不要なデータの解放が実現可能となる。次に、本発明の仮想マシンシステム1000のハードウェア構成例について、図5を参照して説明する。図5は、仮想マシンシステム1000のハードウェア構成例を示すブロック図である。図5を参照すると、仮想マシンシステム1000は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPUCentralProcessingUnit801、RAMRandomAccessMemory等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部802、ネットワークを介してデータの送受信を行う通信部803、入力装置805や出力装置806及び記憶装置807と接続してデータの送受信を行う入出力インタフェース部804、上記各構成要素を相互に接続するシステムバス808を備えている。記憶装置807は、例えば、ROMReadOnlyMemory、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。本発明の仮想ディスク制御部400は、プログラムを組み込んだ、LSILargeScaleIntegration等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置807に格納し、そのプログラムを主記憶部802にロードしてCPU801で実行することにより、ソフトウェア的に実現することも可能である。以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。付記1差分ディスク方式の仮想マシンシステムにおいて、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを格納するマスタディスクバッファファイルと、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄するディスク制御手段とを備えることを特徴とする仮想マシンシステム。付記2前記マスタディスクファイルのブロック位置の更新の有無を示す情報と、ブロック位置情報と、当該ブロック位置へのデータの書き込み要求元である仮想マシンの仮想マシン情報とを記録する更新情報記録ファイルと、前記仮想マシンからの前記マスタディスクファイルへの書き込み要求が発生した場合に、前記ディスク制御手段から送信されるブロック位置情報と、前記更新情報記録ファイルのブロック位置情報を比較して更新の有無を判別し、更新がある場合に、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであるかどうかを判別する更新情報制御手段とを備えることを特徴とする付記1に記載の仮想マシンシステム。付記3前記更新情報制御手段がブロック位置の更新が無いと判定した場合、前記前記更新情報制御手段は、前記ブロック位置情報と、書き込み要求元となる仮想マシン情報を、前記更新情報記録ファイルに記録し、前記ディスク制御手段は、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする付記2に記載の仮想マシンシステム。付記4前記更新情報制御手段がブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであると判定した場合、前記ディスク制御手段は、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする付記2または付記3に記載の仮想マシンシステム。付記5前記更新情報制御手段がブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なると判定した場合、前記ディスク制御手段は、書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一であるかを判定し、同じである場合、前記書き込み要求を破棄し、異なる場合、書き込み要求されたデータを、差分ディスクファイルに書き込みことを特徴とする付記2から付記4の何れかに記載の仮想マシンシステム。付記6前記ディスク制御手段は、書き込み要求を破棄した場合に、仮想マシンが保持する差分ディスクファイルの当該ブロック位置にデータが存在する場合、当該データを削除することを特徴とする付記5に記載の仮想マシンシステム。付記7仮想マシンから前記マスタディスクファイルの所定のブロック位置のデータ読み込み要求が発生した場合、前記ディスク制御手段は、当該ブロック位置の更新が無い場合、前記マスタディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在する場合、前記差分ディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在しない場合、前記マスタディスクバッファファイルから読み込み要求データを読み込むことを特徴とする付記1から付記6の何れかに記載の仮想マシンシステム。付記8差分ディスク方式の仮想マシンシステムの仮想ディスク制御方法において、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納し、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄することを特徴とする仮想ディスク制御方法。付記9前記マスタディスクファイルのブロック位置の更新の有無を示す情報と、ブロック位置情報と、当該ブロック位置へのデータの書き込み要求元である仮想マシンの仮想マシン情報とを、更新情報記録ファイルに記録し、前記仮想マシンからの前記マスタディスクファイルへの書き込み要求が発生した場合に、書き込み要求されたブロック位置のブロック位置情報と、前記更新情報記録ファイルのブロック位置情報を比較して更新の有無を判別し、更新がある場合に、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであるかどうかを判別することを特徴とする付記8に記載の仮想ディスク制御方法。付記10ブロック位置の更新が無いと判定した場合、前記ブロック位置情報と、書き込み要求元となる仮想マシン情報を、前記更新情報記録ファイルに記録し、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする付記9に記載の仮想ディスク制御方法。付記11ブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであると判定した場合、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込むことを特徴とする付記9または付記10に記載の仮想ディスク制御方法。付記12ブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なると判定した場合、書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一であるかを判定し、同じである場合、前記書き込み要求を破棄し、異なる場合、書き込み要求されたデータを、差分ディスクファイルに書き込みことを特徴とする付記9から付記11の何れかに記載の仮想ディスク制御方法。付記13書き込み要求を破棄した場合に、仮想マシンが保持する差分ディスクファイルの当該ブロック位置にデータが存在する場合、当該データを削除することを特徴とする付記12に記載の仮想ディスク制御方法。付記14仮想マシンから前記マスタディスクファイルの所定のブロック位置のデータ読み込み要求が発生した場合、当該ブロック位置の更新が無い場合、前記マスタディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在する場合、前記差分ディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在しない場合、前記マスタディスクバッファファイルから読み込み要求データを読み込むことを特徴とする付記8から付記13の何れかに記載の仮想ディスク制御方法。付記15差分ディスク方式の仮想マシンシステム上で動作する仮想ディスク制御プログラムであって、仮想ディスクの制御を行うコンピュータに、マスタディスクファイルの所定のブロック位置毎に、当該ブロック位置に初めて書き込まれるデータ及び当該データの書き込みを行った仮想マシンと同じ仮想マシンからの書き込みデータを、マスタディスクバッファファイルに格納する処理と、仮想マシンからの前記マスタディスクファイルの所定のブロック位置への書き込み要求が発生した場合、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なり、かつ書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一である場合に、前記書き込み要求を破棄する処理を、実行させることを特徴とする仮想ディスク制御プログラム。付記16前記コンピュータに、前記マスタディスクファイルのブロック位置の更新の有無を示す情報と、ブロック位置情報と、当該ブロック位置へのデータの書き込み要求元である仮想マシンの仮想マシン情報とを、更新情報記録ファイルに記録する処理と、前記仮想マシンからの前記マスタディスクファイルへの書き込み要求が発生した場合に、書き込み要求されたブロック位置のブロック位置情報と、前記更新情報記録ファイルのブロック位置情報を比較して更新の有無を判別し、更新がある場合に、書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであるかどうかを判別する処理を、実行させることを特徴とする付記15に記載の仮想ディスク制御プログラム。付記17ブロック位置の更新が無いと判定した場合、前記ブロック位置情報と、書き込み要求元となる仮想マシン情報を、前記更新情報記録ファイルに記録し、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込む処理を行うことを特徴とする付記16に記載の仮想ディスク制御プログラム。付記18ブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと同じであると判定した場合、書き込み要求されたデータを、前記マスタディスクバッファファイルに書き込む処理を行うことを特徴とする付記16または付記17に記載の仮想ディスク制御プログラム。付記19ブロック位置の更新があり、かつ書き込み要求元の仮想マシンが当該ブロック位置について前記マスタディスクバッファファイルへの書き込みを行った仮想マシンと異なると判定した場合、書き込みデータが当該ブロック位置における前記マスタディスクバッファファイルのデータと同一であるかを判定し、同じである場合、前記書き込み要求を破棄し、異なる場合、書き込み要求されたデータを、差分ディスクファイルに書き込み処理を行うことを特徴とする付記16から付記18の何れかに記載の仮想ディスク制御プログラム。付記20書き込み要求を破棄した場合に、仮想マシンが保持する差分ディスクファイルの当該ブロック位置にデータが存在する場合、当該データを削除する処理を行うことを特徴とする付記19に記載の仮想ディスク制御プログラム。付記21仮想マシンから前記マスタディスクファイルの所定のブロック位置のデータ読み込み要求が発生した場合、当該ブロック位置の更新が無い場合、前記マスタディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在する場合、前記差分ディスクファイルから読み込み要求データを読み込み、当該ブロック位置の更新があり、差分ディスクファイルに読み込み要求データが存在しない場合、前記マスタディスクバッファファイルから読み込み要求データを読み込む処理を行うことを特徴とする付記15から付記20の何れかに記載の仮想ディスク制御プログラム。