(57)【特許請求の範囲】
【請求項１】
コンピュータ装置に実行され、前記コンピュータ装置には、複数の仮想マシンがインストールされている仮想マシンのメモリー管理システムであって、
ユーザーがメモリー容量の配分を要求した時に、前記コンピュータ装置のメモリー容量が不足している場合、各々の仮想マシンのアイドルメモリー容量を検出するために用いられる検出モジュールと、
各々の仮想マシンのアイドルメモリー容量に基づいて、全ての仮想マシンの総アイドルメモリー容量を計算し、且つ総アイドルメモリー容量が配分しようとするメモリー容量より少ないかどうかを判断する計算モジュールと、
総アイドルメモリー容量が配分しようとするメモリー容量以上である場合、各々の仮想マシンのアイドルメモリーに対して標識を添付する標識モジュールと、
各々の仮想マシンから開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて各々の仮想マシンのアイドルメモリーを開放する開放モジュールと、
各々の仮想マシンのアイドルメモリーに添付された標識を除去する除去モジュールと、を備えることを特徴とする仮想マシンのメモリー管理システム。
【請求項２】
前記検出モジュールは、各々の仮想マシンのメモリー監視部によって、各々の仮想マシンのアイドルメモリー容量を検出することを特徴とする請求項１に記載の仮想マシンのメモリー管理システム。
【請求項３】
各々の仮想マシンのアイドルメモリーのアイドルページに対して標識を添付することを特徴とする請求項１又は２に記載の仮想マシンのメモリー管理システム。
【請求項４】
各々の仮想マシンから開放されたメモリー容量の平均値とは、全ての仮想マシンの総アイドルメモリー容量を仮想マシンの台数で割った値であることを特徴とする請求項１〜３のいずれか１項に記載の仮想マシンのメモリー管理システム。
【請求項５】
請求項１から４のいずれか１項に記載の仮想マシンのメモリー管理システムを使用する仮想マシンのメモリー管理方法であって、
ユーザーがメモリー容量の配分を要求した時に、前記コンピュータ装置のメモリー容量が不足している場合、各々の仮想マシンのアイドルメモリー容量を検出するステップと、
各々の仮想マシンのアイドルメモリー容量に基づいて、全ての仮想マシンの総アイドルメモリー容量を計算し、且つ総アイドルメモリー容量が配分しようとするメモリー容量より小さいかどうかを判断するステップと、
総アイドルメモリー容量が配分しようとするメモリー容量以上である場合、各々の仮想マシンのアイドルメモリーに対して標識を添付するステップと、
各々の仮想マシンから開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて各々の仮想マシンのアイドルメモリー容量を開放するステップと、
各々の仮想マシンのアイドルメモリーに添付された標識を除去するステップと、
を備えることを特徴とする仮想マシンのメモリー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリー管理方法に関するものであり、特に仮想マシンのメモリー管理システム及び方法に関するものである。
【背景技術】
【０００２】
現在、仮想マシンのメモリー容量を十分に利用できるよう、仮想メモリーをスワップする方法が採用されている。しかし、この方法では、メモリー容量が不足した場合、ある仮想マシンに対してのみメモリーを開放するため、各々の仮想マシンのアイドルメモリー容量を十分に利用することはできない。従って、如何に1つの物理マシンのメモリーを、効果的に各々の仮想マシンに配分して、各々の仮想マシンのアイドルメモリー容量を最少にするかが、現在の主要課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
以上の問題点に鑑みて、本発明は、各々の仮想マシンのアイドルメモリー容量を最少にする仮想マシンのメモリー管理システム及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明に係る仮想マシンのメモリー管理システムは、コンピュータ装置に実行され、前記コンピュータ装置には、複数の仮想マシンがインストールされている。ユーザーがメモリー容量の配分を要求した時に、前記コンピュータ装置のメモリー容量が不足している場合、各々の仮想マシンのアイドルメモリー容量を検出する検出モジュールと、各々の仮想マシンのアイドルメモリー容量に基づいて、全ての仮想マシンの総アイドルメモリー容量を計算し、且つ総アイドルメモリー容量が配分しようとするメモリーより少ないかどうかを判断する計算モジュールと、総アイドルメモリー容量が配分しようとするメモリー容量以上である場合、各々の仮想マシンのアイドルメモリー容量に対して標識を添付する標識モジュールと、各々の仮想マシンから開放されたメモリー容量の平均値を計算し、且つ平均値に基づいて、各々の仮想マシンのアイドルメモリー容量を開放する開放モジュールと、各々の仮想マシンのアイドルメモリーに添付された標識を除去する除去モジュールと、を備える。
【０００５】
また、本発明に係る仮想マシンのメモリー管理方法は、ユーザーがメモリー容量の配分を要求した時に、前記コンピュータ装置のメモリー容量が不足している場合、各々の仮想マシンのアイドルメモリー容量を検出するステップと、各々の仮想マシンのアイドルメモリー容量に基づいて、全ての仮想マシンの総アイドルメモリー容量を計算し、且つ総アイドルメモリー容量が配分しようとするメモリー容量より少ないかどうかを判断するステップと、総アイドルメモリー容量が配分しようとするメモリー容量以上である場合、各々の仮想マシンのアイドルメモリーに対して標識を添付するステップと、各々の仮想マシンから開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて、各々の仮想マシンのアイドルメモリー容量を開放するステップと、各々の仮想マシンのアイドルメモリーに添付された標識を除去するステップと、を備える。
【発明の効果】
【０００６】
従来の技術に比べて、本発明の仮想マシンのメモリー管理システム及びその方法は、各々の仮想マシンの開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて、各々の仮想マシンのアイドルメモリー容量を開放する。従って、ある仮想マシンに対してのみメモリー容量を開放することによる仮想メモリーのスワップを避けることができるため、各々の仮想マシンのアイドルメモリー容量は最少になり、仮想マシンの機能を向上させる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係る仮想マシンのメモリー管理システムの応用環境を示す図である。
【図２】図１に示す仮想マシンのメモリー管理システムのブロック図である。
【図３】本発明の実施形態に係る仮想マシンのメモリー管理方法のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、本発明の実施形態について説明する。
【０００９】
図１は、本発明の実施形態に係る仮想マシンのメモリー管理システムの応用環境を示す図である。仮想マシンのメモリー管理システム１０及び複数の仮想マシン１１は、コンピュータ装置１２にインストールして実行される。コンピュータ装置１２は、記憶装置１３及びプロセッサ１４を備える。記憶装置１３は、内部メモリー、外部メモリー、キャッシュなどのような各種の記憶装置を含み、仮想マシンのメモリー管理システム１０及び複数の仮想マシン１１のコンピュータ化されたプログラムコード及び実行する過程で使用されるデータを記憶するために用いられる。プロセッサ１４は、前記コンピュータ化されたプログラムコードを実行して、仮想マシン１１に対してメモリー管理を行う。
【００１０】
図２は、図１に示す仮想マシンのメモリー管理システム１０のブロック図である。仮想マシンのメモリー管理システム１０は、検出モジュール２００と、計算モジュール２１０と、標識モジュール２２０と、開放モジュール２３０と、除去モジュール２４０と、を備える。
【００１１】
検出モジュール２００は、ユーザーがメモリー容量の配分を要求した時に、コンピュータ装置１２のメモリー容量が不足している場合、各々の仮想マシン１１のアイドルメモリー容量を検出するために用いられる。ユーザーは、新しい仮想マシン１１をコンピュータ装置１２にインストールすることを要求する際、該新しい仮想マシン１１に対してメモリー容量を配分することを要求するか、又はコンピュータ装置１２における現有の仮想マシン１１のメモリー容量が不足する場合、現有の仮想マシン１１に対してメモリー容量を配分することを要求することができる。本実施形態において、各々の仮想マシン１１の内部には、メモリー監視部が設けられており、このメモリー監視部は、仮想マシン１１のアイドルメモリー容量をリアルタイムに監視する。検出モジュール２００は、各々の仮想マシン１１のメモリー監視部によって、各々の仮想マシン１１のアイドルメモリー容量を検出する。
【００１２】
計算モジュール２１０は、各々の仮想マシン１１のアイドルメモリー容量に基づいて、全ての仮想マシン１１の総アイドルメモリー容量を計算し、且つ総アイドルメモリー容量が、配分しようとするメモリー容量より少ないかどうかを判断するために用いられる。
【００１３】
標識モジュール２２０は、総アイドルメモリー容量が、配分しようとするメモリー容量以上である場合、各々の仮想マシン１１のアイドルメモリーに対して標識を添付する。これにより、各々の仮想マシン１１が各アイドルメモリーを使用することを避けることができる。本実施形態において、メモリーは、ページを単位としてデータを記憶する。標識モジュール２２０は、メモリーのアイドルページに対して標識を添付する。例えば、 “Ｉｄｌｅ”によってアイドルメモリーを標示し、“Ａｃｔｉｖｅ”によって既に使用されたメモリーを標示する。
【００１４】
開放モジュール２３０は、各々の仮想マシン１１から開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて、各々の仮想マシン１１のアイドルメモリー容量を開放するために用いられる。ここで、各々の仮想マシン１１から開放されたメモリー容量の平均値とは、全ての仮想マシン１１の総アイドルメモリー容量を仮想マシンの台数で割った値のことである。仮想マシン１１のアイドルメモリー容量が平均値以上である場合、平均値のアイドルメモリー容量を開放する。仮想マシン１１のアイドルメモリー容量が平均値より小さい場合、仮想マシン１１のアイドルメモリー容量を開放し、不足する部分は他のアイドルメモリー容量から開放される。
【００１５】
除去モジュール２４０は、各々の仮想マシン１１のアイドルメモリーに添付された標識を除去し、各々の仮想マシン１１は、残りのアイドルメモリー（即ち、開放されていないアイドルメモリー）を使用することを許可する。標識が除去されたアイドルメモリーは、各々の仮想マシン１１の開放されたアイドルメモリー及び各々の仮想マシン１１の残りのアイドルメモリーを含む。
【００１６】
図３は、本発明の実施形態に係る仮想マシンのメモリー管理方法のフローチャートである。ユーザーがメモリー容量の配分を要求した時に、コンピュータ装置１２のメモリー容量が不足している場合、ステップＳ３０１を実行し、検出モジュール２００は、各々の仮想マシン１１のアイドルメモリー容量を検出する。ユーザーは、新しい仮想マシン１１をコンピュータ装置１２にインストールすることを要求する際、該新しい仮想マシン１１に対してメモリー容量を配分することを要求するか、又はコンピュータ装置１２における現有の仮想マシン１１のメモリー容量が不足する場合、現有の仮想マシン１１に対してメモリー容量を配分することを要求することができる。本実施形態において、各々の仮想マシン１１の内部には、メモリー監視部が設けられており、このメモリー監視部は、仮想マシン１１のアイドルメモリーをリアルタイム監視する。検出モジュール２００は、各々の仮想マシン１１のメモリー監視部によって、各々の仮想マシン１１のアイドルメモリーを検出する。
【００１７】
ステップＳ３０２において、計算モジュール２１０は、各々の仮想マシン１１のアイドルメモリー容量に基づいて、全ての仮想マシン１１の総アイドルメモリー容量を計算し、且つこの総アイドルメモリー容量が、配分しようとするメモリー容量より少ないかどうかを判断する。総アイドルメモリー容量が配分しようとするメモリー容量より少ない場合、プロセスはここで終了する。
【００１８】
前記総アイドルメモリー容量が、配分しようとするメモリー容量以上である場合、ステップＳ３０３において、標識モジュール２２０は、各々の仮想マシン１１のアイドルメモリーに対して標識を添付する。これにより、各々の仮想マシン１１が、各アイドルメモリーを使用することを避けることができる。本実施形態において、メモリーはページを単位としてデータを記憶する。標識モジュール２２０は、メモリーのアイドルページに対して標識を添付する。
【００１９】
ステップＳ３０４において、開放モジュール２３０は、各々の仮想マシン１１から開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて、各々の仮想マシン１１のアイドルメモリー容量を開放する。ここで、各々の仮想マシン１１から開放されたメモリー容量の平均値とは、全ての仮想マシン１１の総アイドルメモリー容量を仮想マシンの台数で割った値のことである。仮想マシン１１のアイドルメモリー容量が平均値以上である場合、平均値であるアイドルメモリー容量を開放する。仮想マシン１１のアイドルメモリー容量が平均値より少ない場合、仮想マシン１１のアイドルメモリーを開放し、不足する部分は他のアイドルメモリーから開放される。
【００２０】
ステップＳ３０５において、除去モジュール２４０は、各々の仮想マシン１１のアイドルメモリーに添付された標識を除去し、各々の仮想マシン１１は、残りのアイドルメモリー（即ち、開放されていないアイドルメモリー）を使用することを許可する。標識が除去されたアイドルメモリーは、各々の仮想マシン１１の開放されたアイドルメモリー及び各々の仮想マシン１１の残りのアイドルメモリーを含む。
【００２１】
本発明の仮想マシンのメモリー管理システム及びその方法は、各々の仮想マシン１１の開放されたメモリー容量の平均値を計算し、且つこの平均値に基づいて、各々の仮想マシン１１のアイドルメモリーを開放する。従って、ある仮想マシンに対してのみメモリーを開放することによる仮想メモリーのスワップを避けることができるため、各々の仮想マシンのアイドルメモリーは最少になり、仮想マシンの機能を向上させる。
【００２２】
以上、本発明を実施形態に基づいて具体的に説明したが、本発明は、上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲において、種々の変更が可能であることは勿論であって、本発明の保護範囲は、添付の特許請求の範囲によって決まる。
【符号の説明】
【００２３】
１０  仮想マシンのメモリー管理システム
１１  仮想マシン
１２  コンピュータ装置
１３  記憶装置
１４  プロセッサ
２００  検出モジュール
２１０  計算モジュール
２２０  標識モジュール
２３０  開放モジュール
２４０  除去モジュール
【図１】
0005539559.tif 000002
【図２】
0005539559.tif 000003
【図３】
0005539559.tif 000004