(57)【要約】  本発明は、仮想マシンのアクティビティに関する情報を用いての仮想マシンの管理に関する。特に本発明は、仮想マシンのアクティビティに少なくとも部分的に基づいての、仮想マシン内でのリソースの再割り当てに関する。
2007512632.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の仮想マシンのアクティビティを評価する工程、及び
前記評価されたアクティビティに少なくとも部分的に基づいて、前記仮想マシンに物理リソースを再割り当てする工程を含む方法。
【請求項２】
１つ以上の仮想マシンのアクティビティをモニタリングする工程をさらに含む請求項１に記載の方法。
【請求項３】
１つ以上の仮想マシンのアクティビティをモニタリングする前記工程は、
割り込み使用状況、プロセッサ使用状況、ネットワーク使用状況、ディスク使用状況、及び前記仮想マシンがタイムクリティカルなタスクを実行しているかどうかの状況を含むグループから選択されるアクティビティをモニタリングする工程を含む請求項２に記載の方法。
【請求項４】
１つ以上の仮想マシンのアクティビティをモニタリングする前記工程は、
前記仮想マシンの実行と実質的にパラレルに、前記仮想マシンのアクティビティをモニタリングする工程を含む請求項２に記載の方法。
【請求項５】
評価された前記アクティビティに少なくとも部分的に基づいて、仮想マシンに物理リソースを再割り当てする前記工程は、
前記仮想マシンの物理リソースにアクセスする能力を増加又は減少させる工程を含む請求項１に記載の方法。
【請求項６】
前記仮想マシンに物理リソースを再割り当てする前記工程は、
前記仮想マシンの第１の物理リソースにアクセスする能力を増加させる工程、及び
前記仮想マシンの第２の物理リソースにアクセスする能力を減少させる工程を含む請求項５に記載の方法。
【請求項７】
前記仮想マシンに物理リソースを再割り当てする前記工程は、
前記仮想マシンが実行される順番に変更する工程、
仮想マシン間でスワップする工程、
仮想マシンにコアアフィニティを割り当る工程、
仮想マシンにプロセッサアフィニティを割り当て、
前記仮想マシンに割り当てられたタイムクオンタムを変更する工程を含むグループから選択される再割り当て工程を含む請求項５に記載の方法。
【請求項８】
前記仮想マシンに物理リソースを再割り当てする前記工程は、仮想マシンアクティビティを評価する目的で、リソースマネージャを備える仮想マシンモニタによって実行される請求項１に記載の方法。
【請求項９】
前記リソースマネージャは集積回路の一部分である請求項８に記載の方法。
【請求項１０】
１つ以上の仮想マシンのアクティビティを評価する前記工程は、
前記仮想マシンのアクティビティがリソースアロケーションにおいて変更を誘発するのに十分であるかどうかを判断する工程、
リソースアロケーションを提案する工程、及び、
前記提案されたリソースアロケーションが別の仮想マシンのパフォーマンスにマイナス
の影響を与えるかどうかを判断する工程を含む請求項１に記載の方法。
【請求項１１】
複数のマシンアクセシブル命令を備える記憶媒体を含む物品であって、
前記命令が実行されたとき、前記命令は
１つ以上の仮想マシンのアクティビティを評価する工程、及び、
前記評価されたアクティビティに少なくとも部分的に基づいて、前記仮想マシンに物理リソースを再割り当てする工程を提供する物品。
【請求項１２】
１つ以上の仮想マシンのアクティビティをモニタリングする工程を提供する命令を更に含む請求項１１に記載の物品。
【請求項１３】
１つ以上の仮想マシンのアクティビティをモニタリングする工程を提供する前記命令は、
割り込み使用状況、プロセッサ使用状況、ネットワーク使用状況、ディスク使用状況、及び前記仮想マシンがタイムクリティカルなタスクを実行しているかどうかの状況を含むグループから選択される前記アクティビティをモニタリングする工程を提供する命令を含む請求項１２に記載の物品。
【請求項１４】
１つ以上の仮想マシンのアクティビティをモニタリングする工程を提供する前記命令は、
前記仮想マシンの実行と実質的にパラレルに、前記仮想マシンのアクティビティをモニタリングする工程を提供する命令を含む請求項１２に記載の物品。
【請求項１５】
前記評価されたアクティビティに少なくとも部分的に基づいて、前記仮想マシンに物理リソースを再割り当てする工程を提供する前記命令は、
前記仮想マシンの物理リソースにアクセスする能力を増加又は減少させる工程を提供する命令を含む請求項１１に記載の物品。
【請求項１６】
前記仮想マシンに物理リソースを再割り当てする工程を提供する前記命令は、
前記仮想マシンの第１の物理リソースにアクセスする能力を増加させる工程、及び
前記仮想マシンの第２の物理リソースにアクセスする能力を減少させる工程を提供する命令を含む請求項１５に記載の物品。
【請求項１７】
前記仮想マシンに物理リソースを再割り当てする工程を提供する前記命令は、
前記仮想マシンが実行される順番に変更し、
仮想マシン間でスワップし、
仮想マシンにコアアフィニティを割り当て、
仮想マシンにプロセッサアフィニティを割り当て、
前記仮想マシンに割り当てられたタイムクオンタムを変更する工程を含むグループから選択される再割り当て工程を含む請求項１５に記載の物品。
【請求項１８】
前記仮想マシンに物理リソースを再割り当てする工程を提供する前記命令は、
仮想マシンアクティビティを評価する目的で、リソースマネージャを備える仮想マシンモニタによって実行される請求項１１に記載の物品。
【請求項１９】
前記リソースマネージャは集積回路の一部分である請求項１８に記載の物品。
【請求項２０】
１つ以上の仮想マシンのアクティビティを評価する工程を提供する前記命令は、
前記仮想マシンのアクティビティがリソースアロケーションにおいて変更を誘発するのに十分であるかどうかを判断し、
リソースアロケーションを提案し、
前記提案されたリソースアロケーションが別の仮想マシンのパフォーマンスにマイナス
の影響を与えるかどうかを判断する工程を提供する命令を含む請求項１１に記載の物品。
【請求項２１】
複数の物理リソースをシェアする複数の仮想マシンと、
前記仮想マシンのアクティビティをモニタリングするアクティビティモニタと、
前記仮想マシンを管理し、モニタリングされた前記アクティビティに少なくとも部分的に基づいて、前記仮想マシン内で前記物理リソースへのアクセスを再割り当てする仮想マシンマネージャとを含む装置。
【請求項２２】
前記仮想マシンモニタは、前記仮想マシン内で前記物理リソースへのアクセスを再割り当てするリソースマネージャを含む請求項２１に記載の装置。  
【請求項２３】
前記アクティビティモニタは、
割り込み使用状況、プロセッサ使用状況、ネットワーク使用状況、ディスク使用状況、及び前記仮想マシンがタイムクリティカルなタスクを実行しているかどうかの状況を含むグループから選択されるアクティビティをモニタリングする請求項２１に記載の装置。
【請求項２４】
前記アクティビティモニタは、前記仮想マシンの実行に本質的にパラレルに、前記仮想マシンのアクティビティをモニタリングする請求項２３に記載の装置。
【請求項２５】
前記仮想マシンモニタは、前記仮想マシンの物理リソースにアクセスする能力を増加又は減少させる請求項２１に記載の装置。
【請求項２６】
前記仮想マシンモニタは、前記仮想マシンの第１の物理リソースにアクセスする能力を増加させること、及び
前記仮想マシンの第２の物理リソースにアクセスする能力を減少させることにより、
前記仮想マシンに物理リソースを再割り当てする請求項２５に記載の装置。
【請求項２７】
前記仮想マシンモニタは、
前記仮想マシンが実行される順番に変更し、
仮想マシン間でスワップし、
仮想マシンにコアアフィニティを割り当て、
仮想マシンにプロセッサアフィニティを割り当て、
前記仮想マシンに割り当てられたタイムクオンタムを変更する工程を含むグループから選択することにより、
前記仮想マシンに物理リソースを再割り当てする請求項２５に記載の装置。
【請求項２８】
前記リソースマネージャは、モニタリングされた前記仮想マシンのアクティビティを更に評価する請求項２２に記載の装置。
【請求項２９】
前記リソースマネージャは、
１つ以上の仮想マシンのアクティビティを評価する工程が、
前記仮想マシンのアクティビティがリソースアロケーションにおいて変更を誘発するのに十分であるかどうかを判断し、
リソースアロケーションを提案し、
前記提案されたリソースアロケーションが別の仮想マシンのパフォーマンスにマイナス
の影響を与えるかどうかを判断する工程を含むことによって、
モニタリングされた前記仮想マシンのアクティビティを評価する請求項２８に記載の装置。
【請求項３０】
前記アクティビティモニタ及び仮想マシンモニタは同一回路に集積化される請求項２９に記載の装置。
【請求項３１】
プロセッサ、及びネットワークインターフェースを備える複数のリソースと、
前記複数の物理リソースへのアクセスをシェアする複数の仮想マシンと、
前記仮想マシンのアクティビティをモニタリングするアクティビティモニタと、
前記仮想マシンを管理し、モニタリングされた前記アクティビティに少なくとも部分的に基づいて、前記仮想マシン内で前記物理リソースへのアクセスを再割り当てする仮想マシンマネージャとを含むシステム。
【請求項３２】
前記仮想マシンモニタは、前記仮想マシン内で前記物理リソースへのアクセスを再割り当てするリソースマネージャを含む請求項３１に記載のシステム。
【請求項３３】
前記アクティビティモニタは、
割り込み使用状況、プロセッサ使用状況、ネットワーク使用状況、ディスク使用状況、及び前記仮想マシンがタイムクリティカルなタスクを実行しているかどうかの状況を含むグループから選択されるアクティビティをモニタリングする請求項３１に記載のシステム。
【請求項３４】
前記アクティビティモニタは、前記仮想マシンの実行に本質的にパラレルに、前記仮想マシンのアクティビティをモニタリングする請求項３３に記載のシステム。
【請求項３５】
前記仮想マシンモニタは、前記仮想マシンの物理リソースにアクセスする能力を増加又は減少させる請求項３１に記載のシステム。
【請求項３６】
前記仮想マシンモニタは、前記仮想マシンの第１の物理リソースにアクセスする能力を増加させること、及び
前記仮想マシンの第２の物理リソースにアクセスする能力を減少させることにより、
前記仮想マシンに物理リソースを再割り当てする請求項３５に記載のシステム。
【請求項３７】
前記仮想マシンモニタは、
前記仮想マシンが実行される順番に変更し、
仮想マシン間でスワップし、
仮想マシンにコアアフィニティを割り当て、
仮想マシンにプロセッサアフィニティを割り当て、
前記仮想マシンに割り当てられたタイムクオンタムを変更する工程を含むグループから選択することにより、
前記仮想マシンに物理リソースを再割り当てする請求項３５に記載のシステム。
【請求項３８】
前記リソースマネージャは、モニタリングされた前記仮想マシンのアクティビティを更に評価する請求項３２に記載のシステム。
【請求項３９】
前記リソースマネージャは、
１つ以上の仮想マシンのアクティビティを評価する工程が、
前記仮想マシンのアクティビティがリソースアロケーションにおいて変更を誘発するのに十分であるかどうかを判断し、
リソースアロケーションを提案し、
前記提案されたリソースアロケーションが別の仮想マシンのパフォーマンスにマイナス
の影響を与えるかどうかを判断する工程を含むことによって、
モニタリングされた前記仮想マシンのアクティビティを評価する請求項３８に記載のシステム。
【請求項４０】
前記アクティビティモニタ及び仮想マシンモニタは同一回路に集積化される請求項３９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンのアクティビティに関する情報を用いての仮想マシンの管理に関する。特に本発明は、仮想マシンのアクティビティに少なくとも部分的に基づいての、仮想マシン内でのリソースの再割り当てに関する。
【背景技術】
【０００２】
マシンリソースの仮想化は、以前から非常に重要視されている。しかしながら、例えばディープリパイプライン、スーパーパイプライン及びハイパースレッディング型プロセッサ、さらに明示的並列命令コンピューティング技術(ＥＰＩＣ)アーキテクチャを備えたプロセッサが挙げられるが、これらプロセッサはさらに多様且つ複雑になってきており、またより大量の命令及びデータキャッシュを必要とするので、マシンリソースの仮想化は益々重要なものとなっている。いくつかのベンダは、マシンの基盤となるハードウェアが１つ以上の独立して稼動する仮想マシン(ＶＭ)としてみなせるよう、マシンにパーティションをかけるソフトウェア製品を提供している。これは一般的に、仮想マシンモニタ(ＶＭＭ)と呼ばれるソフトウェアのシンレイヤを、このレイヤ上に１つ以上のＶＭを実行するハードウェア上で実行することにより達成される。ＶＭを抽象的に説明すれば、ＶＭ内にインストールされたソフトウェアは、基盤となるハードウェアの排他的所有権を持つかのようにみなされる。他方では、ＶＭのそれぞれは独自のオペレーティングシステム(ＯＳ)又はＯＳのコピーを、及び/又は多様なソフトウェア・アプリケーションを実行する自己完結型プラットフォームとして機能してもよい。ＶＭ内で実行するソフトウェアは集合的に「ゲストソフトウェア」として呼ばれている。
【０００３】
ＶＭのコントローラとして考えてもよい標準的なＶＭＭは、ある状況においては、基盤となる物理マシンへ直接アクセスできるようにして、ＶＭのパフォーマンスを高めてもよい。これはオペレーションがゲストソフトウェア内において非特権モードで実行され、物理マシンへのアクセスが制限されているとき、又はＶＭＭがコントロールを保持すべく、物理マシン内においてオペレーションがハードウェアリソースを活用しないときに特にふさわしいと思われる。ＶＭＭはゲストソフトウェアのステートを物理マシンのプロセッサ、デバイス、メモリ及びレジスタに対してスワップイン及びスワップアウトしてもよく、一方でプロセッサはＶＭとＶＭＭの間での処理の間、あるステートをスワップイン及びスワップアウトしてもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＶＭＭによる多様なＶＭに対してのリソースの再割り当てにおいては従来、ラウンドロビン又は他の予め定められた優先度に基づく体系に従った、多様なＶＭの間でのタイムスライシングが用いられる。例えば、各ＶＭに対して予め定められた割り当てタイムピリオド(又はタイムクォンタム)は、各ＶＭに対して以前に割り当てられたタイムピリオドに基づいて、ＶＭの間を定期的にスイッチングするようＶＭＭに指示を与える目的で、メモリ内に保存されてもよい。ＶＭは予め定められた計画及び体系に従うよう制限を受けるので、ラウンドロビン又は予め定められた優先度に基づく体系は本来、ＶＭの管理においてきめの細かいコントロール又はオーソリティーをＶＭＭに提供できない。別の言い方をすれば、今日利用できる方法、装置及びシステムは一般的にラウンドロビン又はＶＭのタイムスライシングに制限を受け、プロセッサの特性及び/又はヒストリ、ゲストソフトウェアの特性及び/又はヒストリ、ＶＭの特性及び/又はヒストリ、そしてマシンの特性及び/又はヒストリを含んだプロセッサステート情報を用いて、ＶＭ間でインテリジェントにスワップさせるＶＭＭを提供することができない。カリフォルニア、パロアルトのヴイエムウェア株式会社(ＶＭＷａｒｅ)によって提示された１つのソリューションは、ＶＭ間でスワップする目的でＶＭＭを用いるのに、ＯＳスレッドスケジューリングに頼っている。ヴイエムウェアのソリューションはＬｉｎｋｓ、Ｍｉｃｒｏｓｏｆｔ及びＷｉｎｄｏｗｓ等の２つ以上のオペレーティングシステムを、基盤となるハードウェア上で稼動するオペレーティングシステムによって提供されるファシリティーを用いることによって単独のマシン上で稼動させることができる。このシステムは、ＶＭをスケジューリングするのにＯＳスケジューリングポリシーに依存している。しかしながら、(ＶＭをスケジューリングする目的での)ＯＳスケジューリングに基づいた仮想化は、プロセッサのステート又はプロセッサさえも考えずに実行される。更に、ＶＭ機能がハードウェアに移行することによって、プロセッサに対するコンテキストスイッチインターバルの最適化を試みるＯＳベースのソリューションはプロセッサ、基盤となるシステム及びそれらのビヘイビアをより意識しなくなるか、もしくは全く意識しなくなるであろう。また更に、ＯＳベースのソリューションは異なるプロセッサの特性にばかりか、単独ファミリのプロセッサの特性にも適合できない。
【発明を実施するための最良の形態】
【０００５】
以下の詳細な説明において、開示された本主題の完全な理解を提供する目的で多数の詳細を説明する。しかしながら、開示された主題はこれら具体的な詳細なしで実行されてもよいことは当業者であれば理解されるであろう。他の事例として、公知の方法、手順、要素及び回路は、開示する発明を曖昧にしない目的で詳細に説明していない。
【０００６】
図1は開示された主題に従った、仮想マシン内でのリソース再割り当て手法の実施例を示すフローチャートである。ブロック１２０は仮想マシン(ＶＭ)のアクティビティはモニタリングされてもよい事を示す。１つの形態として、仮想マシンモニタ(ＶＭＭ)はＶＭをモニタリングしてもよい。１つの形態として、アクティビティとは例えばプロセッサ使用状況、ネットワーク使用状況、ディスク使用状況、又はＶＭがタイムクリティカルなタスクを実行しているかどうかを示す。しかしながら、これらは単に２、３の限定しない例に過ぎず、これらによって開示された主題は限定されない。
【０００７】
１つの形態として、そのアクティビティはＶＭの実行と実質的にパラレルにモニタリングされてもよい。そのアクティビティのモニタリングは、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせによって達成されてもよいと考えられる。１つの形態として、ＶＭリソースアクセスを真のリソースにマップする方法で、そのアクティビティはモニタリングされてもよい。１つの形態として、ＶＭと物理システムとの間のメッセージが仮想バイオスによって取得され、モニタリングされてもよい。別の形態として、ＶＭと物理システムとの間のメッセージはソフトウェア・アプリケーションによって取得されモニタリングされてもよい。１つの形態として、ＶＭのアクティビティはプロセッサコア内の１つのロジック部分によってモニタリングされてもよい。当然、これらは単なる２、３の具体例に過ぎず、これらによって開示された主題は限定されない。
【０００８】
ブロック１３０は、アクティビティはその後に評価されてもよい事を示す。１つの形態として、モニタリングされたアクティビティは一般のＶＭに対する標準使用モデルと比較されてもよい。他の形態として、モニタリングされたアクティビティは、それがタイムクリティカルな要素を含むかどうかを判断する目的で検査されてもよい。１つの形態として、モニタリングされたアクティビティは、仮想マシンがあるリソースを大量に使用して、他のリソースは使用していない事を示してもよい。当然、これらはモニタリングされたアクティビティがどのように評価されるかの単なる２、３の限定しない例に過ぎず、これらによって開示された主題は限定されない。
【０００９】
ブロック１４０は、ＶＭのアクティビティが仮想マシンによって使用されるリソースの割り当てにおいて変化を誘発するかどうかが判断されてもよい事を示す。１つの具体的な形態として、ＶＭは主にプロセッサリソースを使用してもよい。例えば、ＶＭはデータの計算又はリストのソートをしてもよい。さらにＶＭの持つプロセッサへのアクセス量が不十分であるか、また物理プロセッサへのアクセスの増加によりＶＭが恩恵を受けるかどうかが判断されてもよい。第２の具体的な形態においては、ＶＭはやはりプロセッサリソースを主に使用してもよいが、物理プロセッサリソースへのアクセスを増加しても、ＶＭのパフォーマンスは著しく上がらないであろう。この形態においては、ブロック１１０によって示されるとおり、図1によって示された手法は次のＶＭ上で実行されてもよく、又システム内で単独のＶＭだけが稼動している場合は同一のＶＭ上で反復されてもよい。
【００１０】
ＶＭは多くのリソースへのアクセスを持ってもよい一方で、ＶＭに整備又は再割り当てされてよいリソースの数は、ＶＭが利用できるトータルリソースよりは少ないと考えられる。例えば１つの形態として、ホストシステムがＶＭを実行できる時間だけ再割り当てができてもよい。他の形態として、例えばプロセッサ、ネットワークインターフェース、ハードドライブのような特定のリソースへのアクセスが再割り当てされてもよい。別の形態として、ＶＭの優先度が、又はＶＭがラウンドロビン方式で実行される場合はその順序付けが、１つまたはそれ以上のＶＭのパフォーマンスを向上する目的で再編成されてもよい。例えば、システムステータスのレポーティング又は他のＶＭを立ち上げる等のタスクを直ちに遂行しなければならないステートにＶＭが入った場合、そのタスクを適切に遂行する目的で、できる限り素早く実行するべく、ＶＭはランドロビン方式におけるノーマルポジションから出てセットされてもよい。さらに別の形態として、ブロック１４０において、マルチプロセッサ又はマルチコア環境内に特定のＶＭが、特定のプロセッサ又はコアそれぞれとのプロセッサ又はコアアフィニティを持つよう再割り当て又は構築されてもよい。あるオペレーティングシステムは特定のプロセッサ又はコアに対して、処理を結合するよう要求する。カーネルは処理がリスケジュールされたとき、その処理がそのプロセッサ/コア上で実行されることを、そして理想的には、パフォーマンスが向上されることを保証する。特定の形態は、上記これら再割り当て手法の１つ以上を用いてもよく、その手法は互いに排他的とみなすことはできないと考えられる。さらに、開示された主題は前記のいくつかの具体例には限定されず、他のリソースアロケーション手法も開示された主題の範囲内において考えられる。
【００１１】
ブロック１５０において、１つの形態として、判断されたリソース再割り当てが別の仮想マシンと競合する場合、それは実行されてもされなくてもよい。例えば、もし２つのＶＭが共にネットワークに束縛されている場合、すなわちネットワークを通して受信又は送信するデータ量によって制限を受ける場合、第２のＶＭのパフォーマンスを低下させずに第１のＶＭへ十分なリソースを再割り当てする事はできないであろう。１つの形態として、図1に示したとおり、もし再割り当てが発生しない場合、再割り当ての試みは行われなくてよく、ブロック１１０で示すとおりその手法は次の仮想マシン上で反復されてもよい。別の形態として、それぞれのＶＭのリソースニーズを詳述するデータベースが保持されてもよい。もし提案されたリソースの再割り当てができない場合、新しいリソース割り当てはそのデータベースを活用する方法であってもよい。しかしながら、これらは単なる２つの具体的な形態であり、他の形態も開示された主題の範囲内においては考えられる。
【００１２】
ブロック１６０はリソースがＶＭに再割り当てされてよい事を示している。１つの特定の形態として、もし第１のＶＭがプロセッサに束縛され、第２のＶＭがネットワークに束縛されている場合、さらなるプロセッサタイム又はアクセスが第１のＶＭに割り当てられ、さらなるネットワークインターフェースタイム又はアクセスが第２のＶＭに割り当てられてもよい。反対に第２のＶＭにおけるプロセッサタイムは減少してよく、第１のＶＭへのネットワークインターフェースアクセスも同様に減少してもよい。当然、これは単なる具体的な例にすぎず、これにより開示された事項は限定されない。
【００１３】
１つの形態として、図１の手法は全体又は部分的に、ブロック１１０によって示すとおりシリアル方式で各ＶＭ上において実行されてもよい。他の形態として、その手法は各ＶＭ上でパラレルに実行されてもよい事が考えられる。更にある形態においては、その手法の一部はパラレルに、そして一部はシリアルに実行してもよい事が考えられる。
【００１４】
図２は、開示された主題に従った仮想マシンのアクティビティに関する情報を用いて、仮想マシンの管理を行うことができるシステム２００及び装置２０１の実施形態を示すブロック図である。１つの形態として、その装置は複数の仮想マシン２１０、２２０、２３０、アクティビティモニタ２４０、仮想マシンモニタ(ＶＭＭ)２５０、及びリソースマネージャ２６０を含んでもよい。図２においては３つの仮想マシンが示されているが、本装置は如何なる数の仮想マシンを含んでもよい事は明らかである。
【００１５】
１つの形態として、仮想マシン２１０、２２０、２３０はオペレーティングシステム２８０及び多様なアプリケーション２７３、２７６、２７９を稼動する能力を持ってもよい。２つまたはそれ以上の仮想マシンがオペレーティングシステム又はアプリケーションをシェアしてもよい事も考えられる。更に、仮想マシンは物理リソースへマップされる複数の仮想リソースを用いる能力をもってもよい。アクティビティモニタ２４０は、仮想マシンのアクティビティをモニタリングする能力を持ってもよい。１つの形態として、アクティビティモニタは図１に示された前記手法の一部を実行する能力を持ってもよい。アクティビティモニタは、ハードウェア、ファームウェア、ソフトウェア又はそれらのコンビネーションによって具現化されてもよい事が考えられる。
【００１６】
１つの形態として、ＶＭＭ２５０は複数の仮想マシンによって利用される仮想リソースを物理リソースへマッピングしてもよい。ＶＭＭはまたシステムの物理リソースへの仮想マシンのアクセスを管理してもよい。１つの形態として、ＶＭＭはまた、仮想マシンへ割り当てられたリソースの再割り当てを行うリソースマネージャ２６０を含んでもよい。１つの形態として、リソースマネージャが図１に示された前記手法を実行してもよい。アクティビティモニタはハードウェア、ファームウェア、ソフトウェア、又はそれらのコンビネーションによって具体化されてもよい事が考えられる。
【００１７】
システム２００は装置２０１及び複数の物理リソース２９０を含んでもよい。１つの形態として、複数の物理リソースは例えばマウス、キーボード又はタッチパッド等の入力デバイス２９２、例えばブラウン管(ＣＲＴ)又は液晶ディスプレイ(ＬＣＤ)等のディスプレイ２９４、例えばネットワークインターフェースカード又はモデム等の通信デバイス２９６、メモリエレメント２９８及びプロセッサ２９９を含んでもよい。複数の仮想マシン２１０、２２０、２３０は複数の物理リソースをシェアしてもよい。これは各ＶＭに複数の仮想リソースを作り出し、仮想リソースを物理リソースへマッピングする事によって達成されてもよい。
【００１８】
ここに示した手法はある特定のハードウェア又はソフトウェア・コンフィギレーションに限定されず、如何なるコンピュータ又はプロセッサ環境においてもその適用性が見出されるであろう。本手法はハードウェア、ソフトウェア、ファームウェア、又はそれらのコンビネーションによって実行されてもよい。本手法はプロセッサによって読み出し又はアクセス可能な記憶媒体(揮発性及び不揮発性メモリ及び/又は記憶エレメントを含む)、少なくとも１つの入力デバイス、及び１つ以上の出力デバイスを含む以下に類似のデバイス、プロセッサ、モバイル又はステイショナリコンピュータ、及び個人用の携帯情報端末等のプログラマブルマシン上で実行するプログラムにおいて実行されてもよい。プログラムコードは前記機能を実行する目的で入力デバイスを用いて入力されるデータに適用され、また出力情報を生成する事にも適用される。出力情報は、１つ以上の出力デバイスに適用されてもよい。
【００１９】
各プログラムは、プロセッシングシステムと通信する目的でハイレベルプロシージャ言語又はオブジェクト指向プログラミング言語において実行されてもよい。しかしながら、プログラムは必要に応じてアセンブリ言語又はマシン言語において実行されてもよい。いずれにしても、その言語はコンパイル又はインタープリトされてもよい。
【００２０】
そのような各プログラムは、例えばコンパクトディスク読み出し専用メモリ(ＣＤ−ＲＯＭ)、デジタル多目的ディスク(ＤＶＤ)、ハードディスク、ファームウェア、不揮発性メモリ、磁気ディスク又は、記憶媒体又は記憶デバイスがここで記載された手続きを実行する目的でコンピュータによって読み出されるとき、そのマシンを構成又は稼動するための汎用又は特定用途プログラマブルマシンによって読み出せる類似の媒体又はデバイス等の記憶媒体又はデバイス上に格納されてもよい。このシステムはマシンを特定の方法で稼動させるプログラムが組み込まれたマシン読み出し可能記憶媒体又はアクセス可能記憶媒体の形で実行される事もまた考えられる。また他の形態も、以下の請求項の範囲に含まれる。
【００２１】
開示された主題の特定の特徴を図と共に説明してきたが、数々の改良、代用、変更及び相当物も当業者によって生み出されるだろう。それゆえ、本請求項は開示された本主題の真の精神に逸脱しない、全ての改良及び変更の保護を意図していることは明らかであろう。
【図面の簡単な説明】
【００２２】
主題は、特に本明細書の結びの部分において明示され、明確に主張される。しかしながら、実施の機構及び方法に関する開示された主題はそれらの目的、特徴及び利点と共に、以下の添付図面及び詳細の説明を参照することにより最も理解されるであろう。
【図１】開示された主題に従った、仮想マシン内でのリソース再割り当ての手法の実施例を示すフローチャートである。
【図２】開示された主題に従った、仮想マシンのアクティビティに関する情報を用いて仮想マシンの管理を行うことができるシステム及び装置の実施例を示すブロック図である。
【図１】
2007512632.tif 000003
【図２】
2007512632.tif 000004
【国際調査報告】
2007512632.tif 000005
2007512632.tif 000006
2007512632.tif 000007