物理ホストに適用できる、仮想マシンのストレージスペースを管理するための方法であって、前記物理ホストがハードウェアレイヤと、前記ハードウェアレイヤ上で動作する仮想マシンモニタレイヤと、前記VMMレイヤ上で動作するVMとを備え、前記VMにストレージバルーンエージェントモジュールが配備され、前記VMMレイヤにストレージバルーンデーモンモジュールが配備され、前記SBAモジュールによって、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、前記仮想ストレージブロックに対応する仮想ストレージ空きブロック情報を前記SBDモジュールに伝えるステップと、前記SBDモジュールによって、前記仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、前記解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするステップとを含む、方法。前記SBAモジュールによって、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズに従って、前記占有された仮想ストレージブロックの部分を取得し、前記仮想ストレージブロックに対応する前記仮想ストレージ空きブロック情報を前記SBDモジュールに伝える前記ステップが、前記SBAモジュールによって、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを入手した限界値範囲と比較するステップと、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースが、前記限界値範囲の下限値よりも小さい場合、ファイルシステムを呼び出して前記事前に定義されたファイルを拡張し、拡張された前記事前に定義されたファイルに仮想ストレージブロックを割り当てるステップと、前記ファイルシステムを呼び出して、前記事前に定義されたファイルの拡張部分で占有された仮想ストレージブロックを入手するステップと、前記仮想ストレージブロックを示す第1の仮想ストレージ空きブロック情報を前記SBDモジュールに伝えるステップとを含む、請求項1に記載の方法。前記SBDモジュールによって、前記仮想ストレージ空きブロック情報に対応する前記物理ストレージスペースの一部または全部を解放し、前記解放した物理ストレージスペースに対応する前記仮想ストレージブロックに利用できないとマーク付けする前記ステップが、前記SBDモジュールによって、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できるかどうかを判断し、前記第1の仮想ストレージ空きブロック情報に対応する前記仮想ストレージブロックが利用できる場合、前記仮想ストレージブロックを空いているとマーク付けするステップと、ポリシーにより、空いているとマーク付けされた前記仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放し、前記解放した物理ストレージスペースに対応する前記仮想ストレージブロックに利用できないとマーク付けするステップとを含む、請求項2に記載の方法。前記SBAモジュールによって、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを前記入手された限界値範囲と比較する前記ステップの後に、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースが、前記限界値範囲の上限値よりも大きい場合、前記ファイルシステムを呼び出して、縮小されるべき前記事前に定義されたファイルの部分によって占有された仮想ストレージブロックを入手するステップと、前記仮想ストレージブロックを示す第2の仮想ストレージ空きブロック情報を前記SBDモジュールに伝えるステップとをさらに含む、請求項2に記載の方法。前記仮想ストレージブロックを示す前記第2の仮想ストレージ空きブロック情報を前記SBDモジュールに伝える前記ステップの後に、前記SBDモジュールによって、前記第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いているかどうかを判断し、前記第2の仮想ストレージ空きブロック情報に対応する前記仮想ストレージブロックが空いている場合、前記仮想ストレージブロックに利用できるとマーク付けするステップと、前記SBAモジュールによって、前記ファイルシステムを呼び出して前記事前に定義されたファイルを縮小するステップとをさらに含む、請求項4に記載の方法。前記SBAモジュールによって、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを前記入手された限界値範囲と比較する前記ステップが、前記SBAモジュールによって、前記ファイルシステムを呼び出して仮想ストレージ空き領域のサイズおよび前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを取得し、前記SBDモジュールから下限比率および上限比率を入手するステップであって、前記事前に定義されたファイルが前記下限比率と前記上限比率との間で前記仮想ストレージ空き領域を占有することを許可されるステップと、前記下限比率および前記仮想ストレージ空き領域の前記サイズの積、ならびに前記上限比率および前記仮想ストレージ空き領域の前記サイズの積を、それぞれ前記限界値範囲の前記下限値および前記上限値とみなすステップと、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを、それぞれ前記限界値範囲の前記下限値および前記上限値と比較するステップとを含む、請求項2から5のいずれか一項に記載の方法。前記事前に定義されたファイルを拡張するために前記ファイルシステムを呼び出す前記ステップが、前記SBAモジュールによって、前記ファイルシステムの事前に割り当てられたインタフェースを呼び出すステップと、前記限界値範囲の中間値を前記拡張された事前に定義されたファイルのサイズとしてインポートするステップであって、前記中間値が前記限界値範囲の前記下限値と前記上限値の和の半分に等しいステップとを含む、請求項2または3に記載の方法。前記事前に定義されたファイルを縮小するために前記ファイルシステムを呼び出す前記ステップが、前記SBAモジュールによって、前記システムの切り捨てインタフェースを呼び出して、前記限界値範囲の中間値を縮小された前記事前に定義されたファイルのサイズとしてインポートするステップであって、前記中間値が前記限界値範囲の前記下限値と前記上限値との和の半分に等しいステップと、利用できるとマーク付けされ、前記事前に定義されたファイルの切り捨て部分に対応する仮想ストレージブロックを、前記ファイルシステムに返すステップとを含む、請求項5に記載の方法。前記仮想ストレージブロックを前記拡張された事前に定義されたファイルに割り当てる前記ステップの後に、前記SBAモジュールによって、前記ファイルシステムのロックインタフェースを呼び出して、前記拡張された事前に定義されたファイルに割り当てられた前記仮想ストレージブロックをロックするステップをさらに含む、請求項2または3に記載の方法。前記ポリシーに従って空いているとマーク付けされた前記仮想ストレージブロックの一部または全部に対応する前記物理ストレージスペースを解放する前記ステップが、前記VMにおいて前記ストレージスペースを割り当てるまたは解放する動作の頻度が、事前に設定された閾値よりも大きいかどうかを判断し、前記VMにおいて前記ストレージスペースを割り当てるまたは解放する前記動作の前記頻度が前記事前に設定された閾値以下である場合、事前に設定されたレートで前記事前に設定された比率を下げ、前記下げた比率で、空いているとマーク付けされた前記仮想ストレージブロックに対応する前記物理ストレージスペースを解放するステップを含む、請求項3に記載の方法。前記仮想ストレージブロックに対応する前記仮想ストレージ空きブロック情報を前記SBDモジュールに伝える前記ステップが、前記SBAモジュールによって、前記仮想ストレージブロックに対応する前記仮想ストレージ空きブロック情報を前記SBDモジュールにメモリを共有することによって伝えるステップを含む、請求項1から5のいずれか一項に記載の方法。仮想マシンのストレージスペースを管理するためのシステムであって、VMに配備されたストレージバルーンエージェントモジュールと、仮想マシンモニタレイヤに配備されたストレージバルーンデーモンとを備え、前記SBAモジュールが、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、前記仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成され、前記SBDモジュールが、前記仮想ストレージの空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、前記解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成された、システム。ハードウェアレイヤと、前記ハードウェアレイヤ上で動作する仮想マシンモニタレイヤと、前記VMM上で動作する少なくとも1つの仮想マシンとを備える物理ホストであって、前記VMにストレージバルーンエージェントモジュールが配備され、前記VMMレイヤにストレージバルーンデーモンモジュールが配備され、前記SBAモジュールが、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、前記仮想ストレージブロックに対応する仮想ストレージ空きブロック情報を前記SBDモジュールに伝えるように構成され、前記SBDモジュールが、前記仮想ストレージの空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、前記解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成された、物理ホスト。前記SBAモジュールが具体的には、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースの前記サイズを入手した限界値範囲と比較し、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースが前記限界値範囲の下限値よりも小さい場合、ファイルシステムを呼び出して前記事前に定義されたファイルを拡張し、前記拡張された事前に定義されたファイルに仮想ストレージブロックを割り当て、前記ファイルシステムを呼び出して、前記事前に定義されたファイルの拡張部分によって占有された仮想ストレージブロックを取得し、前記仮想ストレージブロックを示す第1の仮想ストレージ空きブロック情報を前記SBDモジュールに伝えるように構成され、前記SBDモジュールが具体的には、前記第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できるかどうかを判断し、前記第1の仮想ストレージ空きブロック情報に対応する前記仮想ストレージブロックが利用できる場合、前記仮想ストレージブロックを空いているとマーク付けし、空いているとマーク付けされた前記仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放し、前記解放した物理ストレージスペースに対応する仮想ストレージブロックをポリシーに従って利用できないとマーク付けするように構成された、請求項13に記載の物理ホスト。前記SBAモジュールがさらに、前記事前に定義されたファイルによって占有された前記仮想ストレージスペースが前記限界値範囲の上限値よりも大きい場合、前記ファイルシステムを呼び出して縮小されるべき前記事前に定義されたファイルの部分によって占有された仮想ストレージブロックを入手し、前記仮想ストレージブロックを示す第2の仮想ストレージ空きブロック情報を前記SBDモジュールに伝え、前記ファイルシステムを呼び出して前記事前に定義されたファイルを縮小するように構成され、前記SBDモジュールがさらに、前記第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いているかどうかを判断し、前記第2の仮想ストレージ空きブロック情報に対応する前記仮想ストレージブロックが空いている場合、前記仮想ストレージブロックに利用できるとマーク付けするように構成された、請求項14に記載の物理ホスト。本発明の諸実施形態は、ストレージスペースを効率的に管理して、ストレージシステムの利用率を上げるように、VMストレージスペースおよび物理ホストを管理するための方法を提供する。VMストレージスペースを管理するための方法を提供し、この方法は、物理ホストに適用でき、この方法では物理ホストは、ハードウェアレイヤと、ハードウェアレイヤ上で動作するVMMレイヤと、VMMレイヤ上で動作するVMとを含み、VMにストレージバルーンエージェントモジュールが配備され、VMMレイヤにストレージバルーンデーモンモジュールが配備され、この方法は事前に定義されたファイルにより占有される仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分をSBAモジュールによって取得して、仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるステップと、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部をSBDモジュールによって解放して、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするステップとを含む。VMストレージスペースを管理するためのシステムを提供し、このシステムは、VMに配備されたSBAモジュールと、VMMレイヤに配備されたSBDモジュールとを含み、SBAモジュールは、事前に定義されたファイルにより占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成され、SBDモジュールは、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成される。物理ホストを提供し、この物理ホストは、ハードウェアレイヤと、ハードウェアレイヤ上で動作するVMMレイヤと、VMMレイヤ上で動作する少なくとも1つのVMとを含み、この物理ホストではVMにSBAモジュールが配備され、VMMレイヤにSBDモジュールが配備され、SBAモジュールは、事前に定義されたファイルにより占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、仮想ストレージブロックのこの部分に対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成され、SBDモジュールは、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成される。本発明の諸実施形態は、次の技術的解決法を採用するSBAモジュールはVMに配備され、SBDモジュールはVMMレイヤに配備される。SBAモジュールは、事前に定義されたファイルにより占有された仮想ストレージスペースの占有に応じた仮想ストレージ空きブロック情報を取得し、仮想ストレージ空きブロック情報をSBDモジュールに伝える。SBDモジュールは、仮想ストレージ空きブロック情報に対応する物理ストレージスペースを解放する。この技術的解決法により、1つの態様では仮想ストレージ空きブロック情報は、リアルタイムで取得することができるため、リアルタイム特性に優れており、別の態様ではストレージシステムの数多くの読み書き動作を回避するため、システムオーバヘッドが低くなる。さらにこの方法では、ファイルシステムのインタフェースを使用して仮想ストレージ空きブロック情報を取得するため、ファイルシステムの実施の詳細を知る必要がなく、普遍性に優れている。この方法は、動的割当てイメージフォーマットおよび動的割当てミラーフォーマットの両方に適用できる。本発明の一実施形態は、物理ホストに適用されるVMストレージスペースを管理するための方法を提供する。物理ホストは、ハードウェアレイヤと、ハードウェアレイヤ上で動作するVMMレイヤと、VMMレイヤ上で動作するVMとを含み、VMにはSBAモジュールが配備され、VMMレイヤにはSBDモジュールが配備される。この方法では、VMに配備されたSBAは仮想ストレージ空きブロック情報を直接入手し、取得した仮想ストレージ空きブロック情報を、VMMレイヤにありSBAと協力するSBDへ伝え、SBDはVMストレージフォーマットの仮想ストレージ空きブロック情報に対応する物理ストレージスペースを解放する。本発明の一実施形態はさらに、VMストレージスペースおよび物理ホストを管理するための対応するシステムを提供する。次に詳細について説明する。図2は、本発明の一実施形態によるVMストレージスペースを管理するための方法を示す。この方法は、物理ホストに適用できる。物理ホストは、ハードウェアレイヤと、ハードウェアレイヤ上で動作するVMMレイヤと、VMMレイヤ上で動作するVMとを含み、VMにSBAモジュールが配備され、VMMレイヤにSBDモジュールが配備される。この方法は、次のステップを含むことができる。100SBAモジュールは、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、この仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝える。このステップでは、VMに配備されたSBAは、事前に定義されたファイルに占有される仮想ストレージスペースの占有により仮想ストレージ空きブロック情報を直接取得することができるので、ゼロ設定の書込み操作を各空きブロックに行う必要がない。さらに、ある実施の方法では、SBAモジュールは、メモリを共有することによって仮想ストレージブロックに対応する仮想ストレージ空きブロック情報を、VMMレイヤに配備されたSBDモジュールに伝えることができるので、読み取り操作を各空きブロックに行う必要がない。事前に定義されたファイルは、一定の仮想ストレージの空き領域を占有するように機能するいかなるタイプの事前に定義されたファイルであることも可能である。例えば、VMのWindowsオペレーティングシステムのドライブCについては、事前に定義されたファイルはCbaloonsysであることが可能である。本発明のこの実施形態は、事前に定義されたファイルとして既存ファイルを使用する、または事前に定義されたファイルとして新しいファイルを作成することができる。200SBDモジュールは、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けする。このステップでは、SBDは空きブロックの解放動作を行う。ある実施の方法では、事前に設定されたポリシーに従って、SBDは空いているとマーク付けされた仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けする。物理ホストのストレージシステムがディスクであるとき、事前に定義されたファイルはVDiskスペースを占有し、また解放されてマーク付けされる物理ストレージスペースは具体的には物理ディスクスペースであることを理解されたい。図2aを参照すると、好ましい解決法では、ステップ100は具体的には次のステップを含むことができる。110VMに配備されたSBAは、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを入手された限界値範囲と比較する。事前に定義されたファイルに占有される仮想ストレージスペースのサイズを限界値範囲と比較することによって得られる様々な結果に対して、様々な動作が行われることに注意されたい。限界値範囲は、事前に設定された固定値とすることができる、または他の取得パラメータに応じて特定アルゴリズムにより入手することができる。ある実施の方法では、ステップ110は具体的には次のステップを含むことができる。111SBAは、仮想ストレージの空き領域のサイズおよび事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを取得するために、ファイルシステムを呼び出し、SBDモジュールから下限比率および上限比率を入手し、事前に定義されたファイルはこの下限比率と上限比率の間で仮想ストレージの空き領域を占有することができる。VMは、ファイルシステムのインタフェースを介して仮想ストレージの空き領域情報を取得する。このステップは、一定の期間に従って繰り返して行われる。例えばこのステップは、1秒から5秒の間隔で行うことができる。下限比率および上限比率は、SBDモジュールにおいて事前に設定され、事前に定義されたファイルは、下限比率と上限比率との間で仮想ストレージの空き領域を占有することができる。上限比率は好ましくは80から90であり、下限比率は好ましくは60から70である。112SBAは、下限比率および仮想ストレージの空き領域のサイズの製品、ならびに上限比率および仮想ストレージの空き領域のサイズの製品を、それぞれ事前に設定された限界値範囲の下限値および上限値とみなす。仮想ストレージの空き領域のサイズがXであり、下限比率はL1であり、上限比率はL2であると仮定する場合、限界値範囲の下限値はXL1であり、限界値範囲の上限値はXL2である。113VMは、事前に定義されたファイルにより占有された仮想ストレージのサイズを、それぞれ限界値範囲の下限値および上限値と比較する。事前に定義されたファイルによって占有された仮想ストレージスペースのサイズがSである場合、SとXLl、ならびにSとXL2がそれぞれ比較される。120事前に定義されたファイルによって占有された仮想ストレージスペースのサイズが、限界値範囲の下限値よりも小さい場合、SBAは事前に定義されたファイルを拡張するためにファイルシステムを呼び出し、拡張された、事前に定義されたファイルに仮想ストレージブロックを割り当てる。事前に定義されたファイルが下限値よりも小さい場合、仮想ストレージの空き領域が大きすぎることを示すことに注意されたい。この場合、空き領域の一部を開放することが必要である。空き領域の一部を開放するために、事前に定義されたファイルはまず拡張されて、事前に定義されたファイルによって占有された空き領域を増大させ、事前に定義されたファイルの拡張部分に占有される空き領域を解放する必要がある。ある実施の方法では、ステップ120は具体的には次のステップを含むことができる。121SBAはファイルシステムの事前に割り当てられたインタフェースを呼び出し、拡張された事前に定義されたファイルのサイズとして限界値範囲の中間値をインポートする。中間値は、下限値と上限値の和の半分に等しい。下限値がXL1、上限値がXL2であるとき、中間値はX2である。122SBAのVMファイルシステムは、拡張された、事前に定義されたファイルに仮想ストレージブロックを割り当てる。例えば、X2のサイズを有する事前に定義されたファイルに、仮想ストレージブロックb1b2bnを割り当てることができる。123SBAはファイルシステムのロックインタフェースを呼び出し、拡張された事前に定義されたファイルに割り当てられた仮想ストレージブロックをロックし、ストレージデバイスのデフラグツールによって変更されないようにする。130SBAはファイルシステムを呼び出して、事前に定義されたファイルの拡張部分で占有された仮想ストレージブロックを入手する。事前に定義されたファイルの拡張部分、すなわち区間SX2ついて、VMはファイルシステムのfileoffsetdatablockマッピングを呼び出して、占有された仮想ストレージブロックbsbnを入手する。140SBAは、メモリを共有することによって、仮想ストレージブロックを示す第1の仮想ストレージ空きブロック情報をSBDモジュールに伝える。第1の仮想ストレージ空きブロック情報は、SBDモジュールに伝えられ、第1の仮想ストレージ空きブロック情報に対応する物理ストレージスペースが再使用および解放の候補である。第1の仮想ストレージ空きブロック情報は、メモリを共有することによって伝えられ、これは簡単で信頼できるものである。図2bを参照すると、ある実施の方法ではステップ200は、具体的には次のステップを含むことができる。210VMMレイヤに配備されたSBDは、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できるかどうかを判断し、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できる場合、この仮想ストレージブロックは空いているとマーク付けされる。SBDは、メモリを共有することによって第1の仮想ストレージ空きブロック情報を取得し、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できるかどうかを判断し、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できる場合、仮想ストレージブロックは空いているとマーク付けされ、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できない場合、処理は行われない。処理が完了した後に、SBDはSBAに応答する。220SBDは、空いているとマーク付けされた仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けする。このステップでは、SBDは空きブロックの解放動作を行う。事前に設定されたポリシーにより、SBDは、空いているとマーク付けされた仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放することができ、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けする。実際の実行では、簡単にするために単純なポリシーを実行することができ、すなわち、空いているとマーク付けされた仮想ストレージブロックについては、仮想ストレージブロックに対応する物理ストレージスペースが完全に解放され、解放された物理ストレージスペースに対応する仮想ストレージブロックは、利用できないとマーク付けされる。仮想ストレージの管理レベルを上げるために、好ましいポリシーを実行することもでき、すなわち、VMにおいてストレージスペースを割り当てるおよびまたは解放する動作の頻度が閾値以上であるとき、SBDは解放される空きブロックの比率を下げ、VMにおいてストレージスペースを割り当てるおよびまたは解放する動作の頻度が低いとき、SBDは解放されて空きブロックの比率を上げる。具体的には、SBDはVMにおいてストレージスペースを割り当てるまたは解放する動作の頻度が、事前に設定した閾値以上であるかどうかを判断し、VMにおいてストレージスペースを割り当てるまたは解放する動作の頻度が事前に設定した閾値以上ではない場合、SBDは事前に設定した比率で、空いているとマーク付けされた仮想ストレージブロックに対応する物理ストレージスペースを解放し、例えば、事前に設定した80の比率で物理ストレージスペースを解放し、VMにおいてストレージスペースを割り当てるまたは解放する動作の頻度が事前に設定した閾値以上である場合、SBDは事前に設定したレートで事前に設定した比率を下げ、下げた比率で、空いているとマーク付けされた仮想ストレージブロックに対応する物理ストレージスペースを解放する。例えば、事前に設定された80という比率は、毎秒1のレートで下げられ、物理ストレージスペースは、例えば75または70の下げた比率で解放される。解放される空きブロックの比率は、空きブロックが短時間後に再び使用される可能性が高いために下げられ、頻繁に解放および再割当てを行うことによるオーバヘッドを削減するようにする。厳密には、VMにおいてストレージスペースを割り当てるおよび解放する動作の頻度が低いとき、解放される空きブロックの比率は、適切に上げられるべきである。空きブロックに対応するストレージスペースがファイルである場合、データブロックを解放する関数は、ホストファイルシステムの内部インタフェースをエクスポートすることによる。仮想ストレージブロックに対応するストレージスペースがブロックデバイスである場合、空きブロックが解放されるとき、下位レイヤのデータブロックストレージシステムが、空きブロックを解放するよう命令される。図2aを参照すると、本発明の実施形態による方法では、ステップ110後に、すなわちSBAが事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを、入手した限界値範囲と比較した後に、この方法は、さらに次のステップを含むことができる。150事前に定義されたファイルによって占有された仮想ストレージスペースが、限界値範囲の上限値よりも大きい場合、ファイルシステムを呼び出して事前に定義されたファイルの部分によって占有された仮想ストレージブロックを入手して縮小する。事前に定義されたファイルが、上限値よりも大きい場合、このファイルは仮想ストレージの空き領域が小さすぎることを示す。この場合、事前に定義されたファイルによって占有された空き領域の部分をVMファイルシステムに返す必要がある。空き領域の部分を返すために、事前に定義されたファイルは縮小されて、事前に定義されたファイルに占有される空き領域を減らす必要があり、縮小された部分に占有された空き領域を解放するようにする。SBAは、縮小される事前に定義されたファイルのサイズとして目標値を取得する。目標値よりも大きい部分が、縮小されるべき部分であり、切り捨てられて削除される。ある実施の方法では、限界値範囲の中間値が、事前に定義されたファイルを縮小するための目標サイズとみなされる。事前に定義されたファイルの元のサイズがSであって、中間値がX2であるとき、縮小されるべき事前に定義されたファイルの部分は、区間X12Sである。この区間に対して、VMはシステムのfileoffsetdatablockマッピングインタフェースを呼び出して、対応する仮想ストレージブロックを入手する。160SBAは、縮小されるべき部分によって占有された仮想ストレージブロックを示す第2の仮想ストレージ空きブロック情報をSBDへ伝えて、縮小されるべき部分で占有されている仮想ストレージブロックを空いている状態とマーク付けしないようSBDに命令する。縮小されるべき部分によって占有された仮想ストレージブロックが空いている状態とマーク付けされる場合、縮小されるべき部分によって占有される仮想ストレージブロックはSBDによって解放され、VMファイルシステムに返すことができないため、縮小されるべき部分で占有された仮想ストレージブロックが空いているとマーク付けされないことを確実にするために、SBDに遅れることなく通知する必要がある。ある実施の方法では、第2の仮想ストレージ空きブロック情報は、メモリを共有することによって伝えられるが、これは簡単で確実である。SBDが、SBAによって伝えられた第2の仮想ストレージ空きブロック情報を受信した後、ステップ230が行われる。230SBDは、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いているかどうかを判断し、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いている場合、仮想ストレージブロックは利用できるとマーク付けされる。SBDは、メモリを共有することによって第2の仮想ストレージ空きブロック情報を取得し、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いているかどうかを判断し、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いている場合、仮想ストレージブロックは利用できるとマーク付けされ、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できない場合、処理は行われない。VMにおけるデータブロックの割当ては、仮想レイヤで行われるのみであり、物理ストレージスペースにおける実際のデータブロックの割当ては、書込み操作中に行われることに注意されたい。処理が完了した後に、SBDはSBAに応答する。170SBAは、ファイルシステムを呼び出して、事前に定義されたファイルを縮小する。SBAはファイルシステムの切り捨てインタフェースを呼び出して、縮小される事前に定義されたファイルのサイズとして事前に設定された限界値範囲の中間値をインポートする。中間値は、下限値と上限値の和の半分に等しい。縮小されるべき事前に定義されたファイルの部分によって占有され、利用できるとマーク付けされた仮想ストレージブロックは、VMファイルシステムに返される。この方法の好ましい解決法では、事前に定義されたファイルによって占有された仮想ストレージスペースが限界値範囲の下限値よりも小さい状況、および事前に定義されたファイルによって占有された仮想ストレージスペースが限界値範囲の上限値よりも大きい状況が、それぞれ処理される。事前に定義されたファイルのサイズが、限界値範囲の下限値と上限値の間であるとき、これは仮想ストレージの空き領域のサイズが適切であることを示し、処理は行われないことに注意されたい。本発明の実施形態によるVMストレージスペースを管理するための方法は、一定の期間に従って周期的に行われる。ステップ110後に、すなわちVMに配備されたSBAが、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを、入手した限界値範囲と比較した後に、比較の結果に従ってそれぞれ様々な動作が行われる。動作が行われた後に、たとえ事前に定義されたファイルのサイズおよび入手された限界値範囲が変更されても、手順は次の周期に戻る。要約すれば、本発明の実施形態によるVMストレージスペースを管理するための方法では、仮想ストレージの空きデータブロック情報は、VMのSBAによってリアルタイムで取得され、VMストレージスペースの使用状況がホストに活発に通知され、解放されるべき空きブロックの情報は、VMMレイヤに配備されたSBDに伝えられ、ホストはSBDによって仮想ストレージの空きブロックを解放し、再割当てする。ホストは、リアルタイムでVMストレージスペースの使用状況を取得することができるので、リアルタイム特性に優れていると理解することができる。さらに、本発明の実施形態によるVMストレージスペースを管理するための方法では、ストレージシステムの多数の読み書き操作を回避するため、システムオーバヘッドは小さくなり、またファイルシステムのインタフェースを使用して仮想ストレージの空きブロックを取得するため、ファイルシステムの実行の詳細を知る必要がなく、普遍性に優れている。さらに、本発明の実施形態によるVMストレージスペースを管理するための方法は、動的割当てイメージフォーマットおよび事前割当てミラーフォーマットの両方に適用できる。本発明の実施形態によるVMストレージスペースを管理するための方法では、VMストレージスペースの使用状況がリアルタイムで識別されるため、仮想ストレージの空きブロックに対応する物理ストレージスペースを解放して、ストレージスペースを効率的に管理するようにし、それによって下位レイヤのストレージシステムの利用率を上げることができる。さらに、有効データブロックが識別されて、オンラインストレージの移行、VMのクローン作成、およびイメージのバックアップなど、入力出力の集中動作の効率を効果的に上げることができる。本発明の実施形態によるVMストレージスペースを管理するための解決法は、ストレージシステムの自動的にシンプロビジョニングされたスペースを管理するために使用することができると理解することができる。図3に示すように、本発明の一実施形態は、TMストレージスペースを管理するためのシステムを提供し、このシステムはVMに配備されたSBAモジュールと、VMMレイヤに配備されたSBDモジュールとを含む。このシステムは、物理ホストで動作する。次では、VMストレージスペースを管理するためのシステムが動作する物理ホストの論理アーキテクチャについてまず説明する。図4に示すように、物理ホストは、ハードウェアレイヤと、ホストと、VMとを含む。ハードウェアレイヤは、仮想環境が動作するすべてのハードウェアプラットフォームであり、プロセッサ、メモリ、ストレージシステム、ネットワークインタフェースカード、IOデバイスなどを含むことができる。ホストすなわちVMMレイヤは、管理レイヤとしてハードウェアリソースの管理および割当てを完了し、VMに仮想ハードウェアプラットフォームを提示し、VMをスケジュールして独立させる。一部のVMMの実行中には、特権的VMの協力を必要とし、特権的VMおよびVMMは結合されてホストを形成する。仮想ハードウェアプラットフォームは、その上のVMに、仮想CPU、仮想メモリ、VDisk、および仮想NICなど、様々なハードウェアリソースを提供する。VDiskは、ホストにおけるファイルまたは論理ブロックデバイスに対応する。VDiskの連続ブロックは、ホストに別々に格納することができ、したがって構成および管理の便宜上、VMディスクイメージは、一般にイメージフォーマットで記述され、メタデータ領域が使用されてVDiskデータブロックとホストのデータブロックとのマッピング関係を格納する。VMは、ホストによって用意された仮想プラットフォームで動作する。大部分の時間では、VMの実行はホストによって影響を及ぼされない。次では、SBAモジュールおよびSBDモジュールについて説明する。SBAはVMに配備され、SBDはVMMレイヤに配備される。SBAモジュール401は、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、この仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成される。SBDモジュール402は、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成される。ある実施の方法では、SBAモジュール401は具体的には以下を含むことができる事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを入手した限界地範囲と比較するように構成された、比較ユニット。事前に定義されたファイルによって占有された仮想ストレージスペースが、限界値範囲の下限値よりも小さい場合、ファイルシステムを呼び出して事前に定義されたファイルを拡張し、拡張した事前に定義されたファイルにデータブロックを割り当てるように構成された、拡張ユニット。ファイルシステムを呼び出して事前に定義されたファイルの拡張部分によって占有される仮想ストレージブロックを取得するように構成された、取得ユニット。第1の仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成された、引渡ユニット。ある実施の方法では、SBDモジュール402は具体的には以下を含むことができる第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用可能であるかどうかを判定するように構成され、第1のストレージグリーブロック情報に対応する仮想ストレージブロックが利用でき、仮想ストレージブロックを空いているとマーク付けする、判定ユニット。ポリシーに従って、空いているとマーク付けされた仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成された、解放およびマーク付けユニット。要約すれば、本発明の実施形態によるVMストレージスペースを管理するためのシステムでは、仮想ストレージの空きデータブロック情報は、VMのSBAによってリアルタイムで取得され、VMストレージスペースの使用状況がホストに活発に通知され、解放されるべき空きブロックの情報は、VMMレイヤに配備されたSBDに伝えられ、ホストはSBDによって仮想ストレージの空きブロックを解放し、再割当てする。ホストは、VMストレージスペースの使用状況をリアルタイムで取得することができ、したがってリアルタイム特性に優れていると理解することができる。さらに、本発明の実施形態によるVMストレージスペースを管理するためのシステムでは、ストレージシステムの多数の読み書き操作が回避されるため、システムオーバヘッドは小さくなり、またファイルシステムのインタフェースを使用して仮想ストレージの空きブロックを取得するため、ファイルシステムの実行の詳細を知る必要がなく、普遍性に優れている。さらに、本発明の実施形態によるVMストレージスペースを管理するためのシステムは、動的割当てイメージフォーマットおよび事前割当てミラーフォーマットの両方に適用できる。本発明の実施形態によるVMストレージスペースを管理するためのシステムでは、VMストレージスペースの使用状況は、リアルタイムで識別されるため、仮想ストレージの空きブロックに対応する物理ストレージスペースを解放して、ストレージスペースを効率的に管理するようにし、それによって下位レイヤのストレージシステムの利用率を上げることができる。さらに、有効データブロックが識別されるため、オンラインストレージの移行、VMのクローン作成、およびイメージのバックアップなど、IO集中動作の効率を効果的に上げることができる。本発明の実施形態によるVMストレージスペースを管理するための解決法は、ストレージシステムの自動的にシンプロビジョニングされたスペースを管理するために使用することができると理解することができる。図4に示すように、本発明の一実施形態はさらに、ハードウェアレイヤと、ハードウェアレイヤ上で動作するVMMレイヤと、VMMレイヤ上で動作する少なくとも1つのVMとを含み、VMにSBAが配備され、VMMレイヤにSBDが配備された、物理ホストを提供する。SBAモジュールは、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズに従って、占有された仮想ストレージブロックの部分を取得し、この仮想ストレージブロックに対応する仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成される。SBDモジュールは、仮想ストレージ空きブロック情報に対応する物理ストレージスペースの一部または全部を解放し、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成される。ある実施の方法では、SBAモジュールは具体的には、事前に定義されたファイルによって占有された仮想ストレージスペースのサイズを入手した限界値範囲と比較する、事前に定義されたファイルによって占有された仮想ストレージスペースが限界値範囲の下限値よりも小さい場合、ファイルシステムを呼び出して事前に定義されたファイルを拡張し、拡張された事前に定義されたファイルに仮想ストレージブロックを割り当てる、ファイルシステムを呼び出して、事前に定義されたファイルの拡張部分によって占有された仮想ストレージブロックを取得する、仮想ストレージブロックを示す第1の仮想ストレージ空きブロック情報をSBDモジュールに伝えるように構成される。SBDモジュールは具体的には、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用できるかどうかを判断する、第1の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが利用可能である場合、仮想ストレージブロックを空いているとマーク付けする、ポリシーに従って、空いているとマーク付けされた仮想ストレージブロックの一部または全部に対応する物理ストレージスペースを解放する、解放した物理ストレージスペースに対応する仮想ストレージブロックに利用できないとマーク付けするように構成される。ある実施の方法では、SBAモジュールはさらに、事前に定義されたファイルによって占有された仮想ストレージスペースが限界値範囲の上限値よりも大きい場合、ファイルシステムを呼び出して縮小されるべき事前に定義されたファイルの部分によって占有された仮想ストレージブロックを入手する、仮想ストレージブロックを示す第2の仮想ストレージ空きブロック情報をSBDモジュールに伝える、ファイルシステムを呼び出して事前に定義されたファイルを縮小するように構成される。SBDモジュールはさらに、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いているかどうかを判断し、第2の仮想ストレージ空きブロック情報に対応する仮想ストレージブロックが空いている場合、仮想ストレージブロックは利用できるとマーク付けするように構成される。要約すれば、本発明の実施形態による物理ホストでは、仮想ストレージの空きデータブロック情報は、VMのSBAによってリアルタイムで取得され、VMストレージスペースの使用状況がホストに活発に通知され、解放されるべき空きブロックの情報は、VMMレイヤに配備されたSBDに伝えられ、ホストはSBDによって仮想ストレージの空きブロックを解放し、再割当てする。ホストは、VMストレージスペースの使用状況をリアルタイムで取得することができるため、リアルタイム特性に優れていると理解することができる。さらに、本発明の実施形態による物理ホストでは、ストレージシステムの多数の読み書き操作が回避されるため、システムオーバヘッドは小さくなり、またファイルシステムのインタフェースを使用して仮想ストレージの空きブロックを取得するため、ファイルシステムの実行の詳細を知る必要がなく、普遍性に優れている。さらに、本発明の実施形態による物理ホストは、動的割当てイメージフォーマットおよび事前割当てミラーフォーマットの両方に適用できる。本発明の実施形態による物理ホストでは、VMストレージスペースの使用状況がリアルタイムで識別されるため、仮想ストレージの空きブロックに対応する物理ストレージスペースを解放して、ストレージスペースを効率的に管理するようにし、それによって下位レイヤのストレージシステムの利用率を上げることができる。さらに、有効データブロックが識別されるため、オンラインストレージの移行、VMのクローン作成、およびイメージのバックアップなど、IO集中動作の効率を効果的に上げることができる。本発明の実施形態によるVMストレージスペースを管理するための解決法は、ストレージシステムの自動的にシンプロビジョニングされたスペースを管理するために使用することができると理解することができる。理解を容易にするための便宜上、前述の実施形態で説明したVMストレージスペースを管理するための方法は、特定の応用のシナリオにおいて詳細に説明している。明瞭にするために、SBAによって行われるステップは、SBDによって行われるステップとは別に説明している。この実施形態において、下位レイヤのストレージシステムがディスクであることは、説明のための一例とみなされる。したがって物理ストレージスペースは物理ディスクスペースであり、仮想ストレージスペースはVDiskスペースである。図5aに示すように、まずSBAによって行われるステップについて次に説明する。201事前に定義されたファイルのドライブCについては、事前に定義されたファイルは、Cballoonsysとすることができるが存在しない場合、事前に定義されたファイルを作成する。202事前に定義されたファイルFのファイルサイズSを取得する。203ファイルシステムのインタフェースを介して、空き領域のサイズXなど、VDiskの空き領域情報を入手する。204図4に示すように、SBDから、FがVDiskの空き領域を占有することができる下限比率および上限比率の設定を取得する。205事前に定義されたファイルのサイズSを事前に設定された限界値範囲と比較し、Sdatablockマッピングインタフェースを呼び出して、対応するVDiskのブロック群を入手する。2024メモリを共有することによってVDiskブロック群に対応する第1のVDisk空きブロック情報をSBDへ伝え、VDiskブロック群は、再使用および解放の候補として使用され、図4に示すように、第1のVDisk空きブロック情報は、例えば、231415161718192024であり、同時に、SBDへ拡張メッセージを伝えて、SBDに対応する動作を行うように命令する。206SXL2の場合、事前に定義されたファイルFによって占有された空き領域が大きすぎることを示し、事前に定義されたファイルを縮小する。2061システムはX2を縮小されたFのサイズとみなし、区間X2Sについて、ファイルシステムのfileoffsetdatablockマッピングインタフェースを呼び出して、対応するVDiskブロック群を入手する。2062メモリを共有することによって、VDiskブロック群に対応する第2のVDisk空きブロック情報をSBDに伝え、同時に、縮小メッセージをSBDに伝えて、SBDに対応する動作を行うように命令し、VDiskブロック群がSBDによって空いている状態とマーク付けされないようにする。2063ファイルシステムの切り捨てインタフェースを呼び出して、縮小されたFのサイズとしてX2をインポートし、VDiskブロック群をVMファイルシステムに返す。207XL1SXL2の場合、事前に定義されたファイルFによって占有された空き領域が適切であることを示し、事前に定義されたファイルを拡大または縮小する必要がない。208適切な期間の間待機した後、ステップ202に戻る。事前に定義されるファイルFのサイズがファイルシステムによって制限されるとき、複数の事前に定義されるファイルFを作成する必要がある可能性があることに注意されたい。図5bに示すように、SBDによって行われるステップについて次に説明する。301SBAにより事前に定義されたファイルがVDiskの空き領域を占有できる下限比率および上限比率を設定するためのユーザインタフェースを提供する。上限比率および下限比率は、柔軟に設定することができる。例えば、オンラインストレージの移行中、この率は適切に上げて、VDiskの空き領域のコピーをさらに削減する目的を達成する。一般に、下限比率は、約60に設定することができ、上限比率は80と90の間に設定することができる。302SBAによって送信された受信済み拡張メッセージを処理する。このステップでは、SBDは、メモリを共有することによって、解放されるべきVDiskブロックに対応する第1のVDiskの空きブロック情報を取得し、対応するVDiskブロックをマーク付けする。このステップは、具体的には次のステップを含む。3031第1のVDiskの空きブロック情報に対応するVDiskブロックが利用できるかどうかを判断し、第1のVDiskの空きブロック情報に対応するVDiskブロックが利用できる場合は、VDiskブロックを空いているとマーク付けし、第1のVDiskの空きブロック情報に対応するVDiskブロックが利用できない場合は、処理を行わない。3032判断およびマーク付けを完了した後、SBAに応答する。3033空きブロックの一部または全部に対応するディスクスペースを解放し、対応するブロックをポリシーに従って利用できないとマーク付けする。単純なポリシーは、空いているとマーク付けされたすべてのブロックを解放し、このブロックに利用できないとマーク付けすることである。好ましいポリシーは、次のようである。VMにおいてディスクスペースを割り当てるおよび解放する動作の頻度が、一定の閾値以上であるとき、空きデータブロックはおそらく短時間のうちに再び使用されるため、SBDは、頻繁な解放および再割当てによって引き起こされるオーバヘッドを減らすために、解放される空きデータブロックの比率を下げ、VMにおいてディスクスペースを割り当てるおよび解放する動作の頻度が低いとき、SBDは解放される空きデータブロックの比率を上げる。データブロックがファイルの形式であるとき、空きブロックを解放する関数は、ホストファイルシステムの内部インタフェースをエクスポートすることに依存し、データブロックがブロックインタフェースの形式では、下位レイヤのブロックストレージシステムが空きブロックを解放するよう命令されることに注意されたい。303SBAによって送信された受信済み縮小メッセージを処理する。このステップでは、SBDは、メモリを共有することによって、取り戻すべきVDiskブロックに対応する第2のVDisk空きブロック情報を取得し、対応するVDiskブロックをマーク付けする。このステップは、具体的には次のステップを含む。3031VDiskフォーマットの対応するVDiskブロックが空いているかどうかを判断し、VDiskフォーマットの対応するVDiskブロックが空いている場合、対応するVDiskブロックに利用できるとマーク付けする。3032VDiskフォーマットの対応するVDiskブロックが利用できないかどうかを判断し、VDiskフォーマットの対応するVDiskブロックが利用できない場合、処理を行わない。実際のデータブロックの割当ては、書込み操作中に行われることに注意されたい。3033SBAに応答する。要約すれば、本発明の実施形態によりVMストレージスペースを管理するための解決法では、仮想ストレージの空きデータブロック情報は、VMのSBAによってリアルタイムで取得され、VMストレージスペースの使用状況がホストに活発に通知され、解放されるべき空きブロックの情報は、VMMレイヤに配備されたSBDに伝えられ、ホストはSBDによって仮想ストレージの空きブロックを解放し、再割当てする。ホストは、VMストレージスペースの使用状況をリアルタイムで取得することができるため、リアルタイム特性に優れていると理解することができる。さらに、本発明の実施形態によるVMストレージスペースを管理するための解決法では、ストレージシステムの多数の読み書き操作が回避されるため、システムオーバヘッドは小さくなり、またファイルシステムのインタフェースを使用して仮想ストレージの空きブロックを取得するため、ファイルシステムの実行の詳細を知る必要がなく、普遍性に優れている。さらに、本発明の実施形態によるVMストレージスペースを管理するための解決法は、動的割当てイメージフォーマットおよび事前割当てミラーフォーマットの両方に適用できる。本発明の実施形態によりVMストレージスペースを管理するための解決法では、VMストレージスペースの使用状況がリアルタイムで識別されるため、仮想ストレージの空きブロックに対応する物理ストレージスペースを解放して、ストレージスペースを効率的に管理するようにし、それによって下位レイヤのストレージシステムの利用率を上げることができる。さらに、有効データブロックが識別されるため、オンラインストレージの移行、VMのクローン作成、およびイメージのバックアップなど、IO集中動作の効率を効果的に上げることができる。本発明の実施形態によるVMストレージスペースを管理するための解決法は、ストレージシステムの自動的にシンプロビジョニングされたスペースを管理するために使用することができると理解することができる。本発明の実施形態による方法のステップの全部または一部は、関連ハードウェアを命令するプログラムによって実行されることが可能であると、当業者には理解されたい。プログラムは、コンピュータ可読記憶媒体に格納することができる。記憶媒体には、リードオンリメモリ、ランダムアクセスメモリ、磁気ディスク、または光ディスクが含まれる。上記では、本発明の実施形態によるVMストレージスペースおよびコンピュータ端末を管理するための方法およびシステムについて、詳細に説明している。本明細書では特定の例を通して、本発明の原理および実施について説明している。本発明の実施形態についての説明は、本発明の方法および核となる考えの理解を容易にするために提供しているにすぎない。当業者は、本発明の理念により特定の実施および応用範囲に関して本発明に対する変更形態および修正形態を作成することができる。したがって本明細書は、本発明の制限と解釈されてはならない。