仮想化環境のための管理システムであって、資格に基づく使用制限を有する少なくとも1つのコンピュータエンティティと、プロセッサを使用し、メモリストレージデバイス上にプログラミングされ、前記メモリストレージデバイスから実行されるリソースマネージャであって、前記リソースマネージャが仮想化環境内のリソースを管理するように構成されるリソースマネージャと、前記リソースマネージャに結合され、前記仮想化環境の変化に応じて資格関連制約を追跡し、前記リソースマネージャが前記資格関連制約を含む割り振り決定を行えるようにして、前記少なくとも1つのコンピュータエンティティについて前記使用制限を満たしていることを保証するように構成される、資格使用率モジュールと、を含む、システム。前記少なくとも1つのコンピュータエンティティが、仮想計算機、アプリケーション、およびコンテナのうちの少なくとも1つを含む、請求項1記載のシステム。前記リソースマネージャが、少なくとも1つの他の考慮事項に基づいて配置決定を行う、請求項1記載のシステム。前記少なくとも1つの他の考慮事項が、性能、コスト、およびセキュリティのうちの少なくとも1つを含む、請求項3記載のシステム。前記リソースマネージャが、候補配置変更に基づいて配置決定を行うように構成されたプログラムを含む、請求項1記載のシステム。前記リソースマネージャが、資格違反を回避するために配置ソリューションを変更することにより配置決定を行うように構成されたプログラムを含む、請求項1記載のシステム。前記少なくとも1つのコンピュータエンティティに関連し、前記少なくとも1つのコンピュータエンティティについて前記資格ベースの制約を識別するように構成される、資格のバケットをさらに含む、請求項1記載のシステム。その間に資格を超えることができない強制モードと、前記資格を超えるために個別の許可が必要である警告モードとをさらに含む、請求項1記載のシステム。仮想化環境内のリソースを管理するための方法であって、コンピュータ記憶媒体内に1組の資格に関する制約を表すステップと、配置すべきコンピューティングエンティティについて、許可される資格の数およびタイプを決定するステップと、結果として得られる配置ソリューションが現在使用可能な前記資格を超えないように、配置プログラムが進行するにつれて、プロセッサを使用して、現行候補配置ソリューションについて資格使用率を計算するステップと、を含む、方法。1組の資格に関する制約を表す前記ステップが、制約情報を含むファイルについて指定された拡張を提供するステップを含む、請求項9記載の方法。前記1組の資格に関する前記制約によりリソース使用率を制限するステップをさらに含む、請求項9記載の方法。前記コンピューティングエンティティが仮想計算機を含む、請求項9記載の方法。前記1組の資格がライセンス条件を含み、前記方法が、コンピュータエンティティおよびモデルライセンス制約に関連する資格のバケット内に前記ライセンス条件を取り込むステップをさらに含む、請求項9記載の方法。結果として得られる配置ソリューションが現在使用可能な前記資格およびそれぞれのメトリックのしきい値を超えないように、現行候補配置ソリューションについて、性能メトリック、コストメトリック、およびセキュリティメトリックのうちの少なくとも1つを計算するステップをさらに含む、請求項9記載の方法。資格違反を回避するために配置ソリューションを変更するステップをさらに含む、請求項9記載の方法。その間に資格を超えることができない強制モードと、前記資格を超えるために個別の許可が必要である警告モードとを提供するステップをさらに含む、請求項9記載の方法。各資格タイプの現行レベルの使用率を呼び出し側に提供するステップをさらに含む、請求項9記載の方法。コンピュータプログラムであって、請求項9乃至11および請求項13乃至17のいずれかに記載の前記ステップすべてを実行するようになっているコンピュータプログラム。その結果として、任意の所与のシステムには様々なライセンスプロダクトが配備されることになり、顧客はライセンスの条件の遵守を保証するために各プロダクトごとにその資格entitlementおよび使用率usageを追跡する必要があることが分かる。仮想化環境のための管理システムおよび方法は、資格に基づく使用制限を有するコンピュータエンティティを含む。プロセッサを使用し、メモリストレージデバイス上にプログラミングされ、メモリストレージデバイスから実行されるリソースマネージャは仮想化環境内のリソースを管理するように構成される。資格使用率モジュールentitlementusagemoduleは、リソースマネージャに結合され、仮想化環境の変化に応じて資格関連制約を追跡し、リソースマネージャが資格関連制約を含む割り振り決定を行えるようにして、コンピュータエンティティについて使用制限を満たしていることを保証するように構成される。仮想化環境内のリソースを管理するための方法は、1組の資格に関する制約を表すステップと、配置すべきコンピューティングエンティティについて、許可される資格の数およびタイプを決定するステップとを含む。結果として得られる配置ソリューションが現在使用可能な資格を超えないように、配置プログラムが進行するにつれて、現行候補配置ソリューションについて資格使用率が計算される。上記その他の特徴および利点は、添付図面に関連して読むべきものである、その例示的な諸実施形態に関する以下の詳細な説明から明らかになるであろう。本発明は、以下の図面に関連して好ましい諸実施形態に関する以下の説明において詳細を提供するものである。本発明の原理により、仮想化環境の統合管理のためのシステムおよび方法が提供される。特に有用な諸実施形態では、管理システムは、ライセンス認識licenseawarenessを含み、この認識をその決定およびアクションに使用する。たとえば、管理システムが新しい仮想計算機を配備し、既存の仮想計算機をあちらこちらにマイグレーションすることができる場合、ライセンス認識を含むことの利益はさらに重大なものになる。仮想化とは、コンピューティングリソースを抽象的なものにする能力を指す一般的用語である。この実施形態は、コンピュータシステムたとえば、ストレージまたはネットワークも使用できるが、これらとは対照的なものの仮想化を含む、プラットフォーム仮想化に含めることができる。あるタイプの仮想化は完全仮想化であり、その場合、通常は分離された複数のオペレーティングシステムインスタンスを単一コンピュータ上で実行することができる。その他のタイプの仮想化、たとえば、オペレーティングシステムレベルの仮想化も含まれ、その場合、単一オペレーティングシステム内に通常は分離された複数の空間が提示され、その内部でプログラムが実行される。完全仮想化の例としては、いくつか例を挙げると、IBMRのDLPARpSeriesおよびzSeries上、IBMRのz/VM、VMwareRのプロダクトファミリー、CitrixRのXenServerおよびXen、LinuxTMのKVMを含む。オペレーティングシステムレベルの仮想化の一般的な例としては、AIXオペレーティングシステム用のIBMRのWPAR、SunRのSolarisContainer、LinuxTMのVServerを含む。仮想計算機は、たとえば、オペレーティングシステムインスタンス完全仮想化の場合または空間オペレーティングシステムレベルの仮想化の場合のいずれかを参照することができる。仮想化の関連態様の1つは、CPU割り振りを制御する能力である。たとえば、単一の物理マシン上で複数の仮想計算機を実行する場合、それぞれの仮想計算機がアクセスできる、物理マシン内のCPUまたは物理CPUおよびその数を制限することは可能である。たとえば、8つのプロセッサコアを有する単一の物理マシンについて考慮する。この物理マシンは3つの仮想計算機を実行することができ、そのうちの第1の仮想計算機は2つの仮想CPUを有し、第2の仮想計算機は4つの仮想CPUを有し、第3の仮想計算機は8つの仮想CPUを有する。仮想計算機内部で実行されるソフトウェアは、仮想計算機がアクセスできるCPUの数に等しくすることができる。他の態様はライブマイグレーションパーティションモビリティおよびマイグレーションとも呼ばれるを含む。これは、サービスを中断せずに仮想計算機をある物理マシンから他の物理マシンに移動する能力を指す。仮想化とソフトウェアライセンシングとの共通部分は、PVUタイプのライセンシングと仮想化を結合することができる。上記の仮想計算機の例と以前のアプリケーションサーバの例を結合すると、顧客は元の400PVU要件について3つの仮想計算機すべてでアプリケーションサーバを実行することを許可されるはずである。8つの物理コアがすべて使用されるので、8つすべてをライセンスしなければならない。単一マシン上でアプリケーションサーバの複数のコピーを実行してもライセンス要件は変更されず、個別の仮想計算機内で異なるインスタンスが実行されるということは、このライセンシング方式では関連性はない。換言すれば、このマシン上でアプリケーションサーバを実行するために顧客が購入する必要がある最も多いPVUは400であり、いくつのインスタンスまたは仮想計算機が稼働中であるかは重要ではない。PVUの共用について考慮する。この事例では、8つの仮想CPUである仮想計算機がまず作成される。その後、4つの仮想CPUと2つの仮想CPUである仮想計算機が作成される。第2の2つのVMについては追加のライセンスが不要であるので、それらは、第1の仮想計算機を作成するために必要であったライセンスを共用する。しかし、第1の仮想計算機については特別なことは何もなく、この例では、単に最初に作成されたものであり、物理コアをライセンスする必要性が促進された。次の2つの仮想計算機を配備するために追加のライセンスは一切不要である。たとえば、顧客が第1の仮想計算機2つの仮想CPUを有するものでアプリケーションサーバを実行するだけである場合など、顧客が400未満のPVUを必要とする場合がある。この場合、顧客は100PVUのみ2つの物理コアのそれぞれについて50ずつを必要とする。このプラットフォーム上のこのタイプのライセンシングでは、顧客は仮想CPUの合計または物理コアの数のうちの少ない方に十分なPVUを有する必要がある。明瞭にするために詳細が省略されているので、PVUタイプのライセンシングの上記の説明は制限するためのものではなく、クラスタ化およびその他のプラットフォームタイプの問題は完全に除外されていることを理解されたい。上記の説明は、単に本発明の原理を実装できる環境を例証するためのものである。加えて、他のソフトウェアプロバイダは他のライセンシング方式を有する。しかし、そのうちのいくつかは、上記のPVUベースの方式と同様の態様を有する。仮想化がエンドユーザデータセンタでますます普及するにつれて、仮想化管理がより重要なものになる。性能管理、高可用性、および省電力の分野では、大幅な進歩が見られた。しかし、顧客に重大な利益をもたらすのに無視されてきた領域はライセンス管理である。とりわけ、その他の管理関心事とともにライセンス管理を考慮する能力は特に有用である。配備およびマイグレーションのいずれも、任意の所与の時点でシステムが使用するライセンスの数を変更する可能性がある。たとえば、上記で使用した3つの仮想計算機のケースについてもう一度考慮するが、初めにその上にいかなる仮想計算機も配備されていない第2の物理マシンを導入する。第1の物理マシンから第2の物理マシンに仮想計算機をマイグレーションすると、システム全体をライセンスするのに必要なPVUの数が増加することになり、以前あったものより多くの物理コアがアプリケーションサーバを実行していることが理解できるであろう。配備およびマイグレーションを伴う多数の他のケースも引用できるであろう。本発明の原理によれば、統合管理システムはライセンス認識機能を含む。管理システムが新しい仮想計算機を配備するか、あるいは既存の仮想計算機をあちらこちらにマイグレーションするか、またはその両方を行うことができる場合、決定を行うかまたはこのようなアクションを実行する際にライセンス認識が考慮される。このシステムは、他の管理考慮事項に加えてライセンス要件を考慮する。本発明全体を通して、単一の顧客に言及するが、この実施形態は、インフラストラクチャを共用する個別のライセンスを有する1組の顧客に等しく適用可能である。この実施形態によって提供されるいくつかの特徴としては以下のものを含む。すなわち、現在の顧客のソフトウェアプロダクトについて、情報、ライセンス資格、および対応するライセンスタイプを尋ねるために、システム管理者から情報を引き出すか、またはソフトウェア供給業者に電子的に接触することなど、1つまたは複数のメカニズムにより入手することである。これらのライセンス資格およびライセンスルールは、現在のライセンス使用率を計算できるように、管理されているインフラストラクチャに関する十分な情報を収集するために考慮に入れられる。この情報は、システム内の様々な物理マシンの数および特性、現在配備されている仮想計算機の数および特性適用可能な場合、どのソフトウェアプロダクトがインストールされ、それがどこにインストールされているかに関する情報を含むが、これらに限定されない。管理中のシステムに対する潜在的な変更について考慮すると、この実施形態は、そのシステムに対するその変更の効果を必要なライセンスに関して計算することができ、その他のシステムレベルの影響たとえば、性能、可用性、消費電力などを含むに加えて、ライセンス要件に対するその影響に関して種々の組の潜在的変更を評価する。この実施形態は、顧客のライセンス資格内にシステムを保持するように、システムに対して行う1組の変更を選択することができる。これが不可能である場合、システムをオーバライドするための様々な手法が可能である。一実施形態では、システムはライセンス資格をオーバライドすることができない。他の実施形態では、システムはそのようにオーバライドすることができるが、システム管理者の許可がある場合に限られる。また、その他の実施形態も可能である。一例では、データセンタは100台の物理マシンを含む。すべてのライセンスプロダクトを同じ物理マシン上に配置し、他のものはいずれも使用しないことにより、ライセンス使用率を最小限にすることができるこのような手法は消費電力に対して有益な効果をもたらすであろう。しかし、単一物理マシンのリソースはすべてのライセンスプロダクトを十分に処理するためには不十分であるので、システムの性能はおそらく悪化するであろう。このようなソリューションは可用性に対して否定的な影響も及ぼすので、その単一マシンが故障すると、あらゆるものが故障することになる。当業者であれば分かるように、本発明の諸態様はシステム、方法、またはコンピュータプログラムcomputerprogramproductとして実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、またはハードウェアとソフトウェアの態様を結合する実施形態の形を取ることができ、いずれも一般に本明細書で回路、モジュール、またはシステムと呼ぶことができる。さらに、本発明の諸態様は、そこにコンピュータ可読プログラムコードが実施されている1つまたは複数のコンピュータ可読媒体複数も可で実施されたコンピュータプログラムの形を取ることができる。1つまたは複数のコンピュータ可読媒体複数も可の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、もしくは上記のものの任意の適切な組み合わせにすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例非網羅的なリストとしては、1つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能プログラマブル読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリCD-ROM、光ディスクストレージデバイス、磁気ディスクストレージデバイス、または上記のものの任意の適切な組み合わせを含むことになるであろう。本明細書に関しては、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管することができる任意の有形媒体にすることができる。コンピュータ可読信号媒体は、たとえば、ベースバンド内でまたは搬送波の一部として、コンピュータ可読プログラムコードがそこに実施されている伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のうちのいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを通信、伝搬、または伝送することができる任意のコンピュータ可読媒体にすることができる。コンピュータ可読媒体上に実施されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、または上記のものの任意の適切な組み合わせ含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。本発明の諸態様の動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、Cなどのオブジェクト指向プログラミング言語ならびにCプログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。このプログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、あるいは完全にリモートコンピュータまたはサーバ上で、実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワークLANまたは広域ネットワークWANを含む任意のタイプのネットワークにより、ユーザのコンピュータに接続される場合もあれば、たとえば、インターネットサービスプロバイダを使用してインターネットにより外部コンピュータに対して接続が行われる場合もある。本発明の諸態様については、本発明の諸実施形態による方法、装置システム、およびコンピュータプログラムの流れ図あるいはブロック図またはその両方に関連して以下に説明する。流れ図あるいはブロック図またはその両方の各ブロックならびに流れ図あるいはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータプログラム命令によって実装することができることが理解されるであろう。これらのコンピュータプログラム命令を汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブルデータ処理装置のプロセッサに提供し、そのコンピュータまたはその他のプログラマブルデータ処理装置のプロセッサを介して実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するための手段を作成するようなマシンを生産することができる。また、これらのコンピュータプログラム命令は、コンピュータ可読媒体に保管された命令が、流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装する命令を含む装置articleofmanufactureを生産するような特定の方法で機能するよう、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイスに指示することができるコンピュータ可読媒体に保管することもできる。または、これらのコンピュータプログラム命令は、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させて、コンピュータまたはその他のプログラマブル装置上で実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するためのプロセスを提供するようなコンピュータ実装プロセスを生成するために、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイス上にロードすることもできる。図面内の流れ図およびブロック図は、本発明の様々な諸実施形態によるシステム、方法、およびコンピュータプログラムについて可能な実装例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能複数も可を実装するための1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実装例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることにも留意されたい。たとえば、連続して示されている2つのブロックは、関係する機能に応じて、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックならびにブロック図あるいは流れ図またはその両方の複数ブロックの組み合わせは、指定の機能または動作を実行する特殊目的ハードウェアベースのシステムによって、または特殊目的ハードウェアとコンピュータ命令の組み合わせによって、実装可能であることも留意されるであろう。次に、同様の番号が同じかまたは同様の要素を表している図面を参照し、初めに図1を参照すると、仮想化環境において統合管理を提供するために使用権、制限、および制約を考慮に入れるシステム101が例示的に描写されている。システム101は、物理マシン102、104と、仮想計算機VM106と、リソースマネージャ110と、ライセンシング/資格制約管理モジュール112と、ストレージリソースマネージャ114とを有する仮想環境を例示的に含む。システム101は、コンピュータアーチファクトまたはエンティティの供給、変更、実行、マイグレーションなどが行われる、データセンタ環境、ネットワーク環境、または任意のその他のコンピュータ環境を含むことができる。コンピュータアーチファクトまたはエンティティは仮想計算機VMを含むことができる。仮想計算機は、この例示的なシステム説明のために例示的に使用される。アプリケーションまたは他の計算エンティティも同様に使用できることを理解されたい。アプリケーション116は個々のVM106によって処理され、物理マシン102、104は複数のVM106を処理することができる。各VM106は、ブート時にVM106に割り振られたリソースネットワーク、メモリ、およびCPUの一部分を有し、同じ物理マシン102、104内で共同処理cohostされる他のVM106とリソースを共用する。物理マシンは複数のVM106を処理することができる。VM106は、他の物理マシンまたは環境にマイグレーションすることができる。ストレージリソースマネージャ114は、システム101内のストレージ間でストレージ使用率をモニターする役割を担う。リソースマネージャ110は、仮想計算機106の配置または再位置決めマイグレーションおよび再供給に関する決定を行う役割を担い、必要なときに、たとえば、潜在的な再位置決めのためにVM106が選択されたときに、モジュール112およびストレージリソースマネージャ114と調整する。配置とは、所与の仮想計算機が所与の時点にどこで実行しなければならないかという決定を指す。配置決定は、複数の異なる考慮事項に基づいて行うことができる。たとえば、仮想計算機の性能を意識した配置ではVM配置の結果として性能利得を考慮し、仮想計算機の制約を意識した配置は制約に基づくものである。制約を意識した決定は、割り振り制限たとえば、これを特定の位置に配置してはならない、これは位置x、y、zのみに移動することができるおよびコロケーション制限これはそれと共存できない、これはいずれとも共存できないなどを考慮することができる。ライセンスを意識した配置は、性能を意識した配置あるいは制約を意識した配置またはその両方に含めることができる。仮想計算機の初期配備では、配備時に追加の貢献を考慮することができる。たとえば、ネットワーク接続、ストレージの可用性などである。リソースマネージャ110およびハイパーバイザ120は、VMストレージ、マイグレーション、アプリケーション実行、およびその他の管理機能を管理する際に使用される。ライセンシング制約管理モジュール112は、リソースマネージャ110およびハイパーバイザ120のうちの一方または両方と統合することができる。マイグレーション中に、システム101は以下の例示的な機能を実行する。すなわち、1リソースマネージャ110はマイグレーションまたは再供給のためにVM106を指定する。2リソースマネージャ110はライセンシング制約管理モジュール112を調査して、VM106をその現在の位置から新しい位置に移動するときに制約が存在するかどうかを判断する。これは、新しい位置への移動または古い位置からの移動を防止するための制約が存在するかどうかを判断することを含む。ライセンシング制約管理モジュール112は、サービスレベルアグリーメントSLA、ライセンス契約、著作権情報などから得られる可能性のある制約情報を保管する。有用な諸実施形態によれば、ライセンシング制約管理モジュール112は、リソースの変更に関する決定プロセスの一部としてリソースマネージャ110によって調査される。ライセンシング制約管理モジュール112は、各資格タイプの現行レベルの使用率を呼び出し側に提供することができる。リソースマネージャ110は、その決定にライセンス認識を含む管理システムを提供する。管理システムが新しい仮想計算機106を配備するか、既存の仮想計算機106をあちらこちらにマイグレーションするか、アプリケーションまたはVMを実行するか、あるいはVM106を再供給するか、またはこれらの組み合わせを行うと、ライセンス認識が重要になり、管理システムは他の管理考慮事項に加えてライセンスおよびその他の使用制約について考慮する。システム101のライセンシング制約管理モジュール112は、競合する制約に優先順位を付ける能力をさらに含む。ライセンシング制約管理モジュール112は、現在の顧客のソフトウェアプロダクトについて、情報、ライセンス資格、対応するライセンスタイプなどを尋ねるために、システム管理者から情報を引き出すこと、ソフトウェア供給業者に電子的に接触することを含む、様々なメカニズムを使用して、資格データを入手する。リソースマネージャ110あるいはライセンシング制約管理モジュール112またはその両方は、ライセンス資格およびライセンスルールの理由を説明し、現在のライセンス使用率を計算できるように、管理されているインフラストラクチャに関する十分な情報を収集する。この情報は、たとえば、システム101内の物理マシン102、104の数および特性、現在配備されている仮想計算機106の数および特性適用可能な場合、どのソフトウェアプロダクトがインストールされているかならびにその位置に関する情報などを含むが、これらに限定されない。管理中のシステムに対する潜在的な変更について考慮すると、そのシステムに対するその変更について、このような変更の効果を必要なライセンスなどに関して計算する必要がある。その他のシステムレベルの影響たとえば、性能、可用性、消費電力などを含むに加えて、ライセンス要件に対するその影響に関して種々の組の潜在的変更を評価することができる。システムが顧客のライセンス資格内に保持されることを保証することができる1組の変更が選択される。これが不可能である場合、システムをオーバライドするための様々な手法が可能であるか、またはライセンス契約の精神に従う最良のソリューションを選択することができる。一実施形態では、システムはライセンス資格をオーバライドすることができない。他の実施形態では、システムはそのようにオーバライドすることができるが、システム管理者の許可がある場合に限られる。また、その他の実施形態も可能である。仮想化環境に関するプロダクトライセンスルールは複雑な場合が多い。最近では、インストールされたコピーの数に基づくのではなく、プロダクトがどの程度の作業を実行できるかに基づいて、プロダクトの料金を請求する場合がある。その結果、ライセンス使用率は、プロダクトのインストールされたコピーがどのように物理ハードウェア上に配置されるかによって決まる。仮想化環境に対処するための例示的な例として、プロセッサバリューユニットPVUが使用される。PVUのスコアによって、特定のプロセッサタイプのライセンスコストは決定される。プロダクトが使用するプロセッサごとに支払いを行わなければならない。同じプロダクトの複数のコピーが使用する1つのプロセッサについては、1回だけ支払えば良い。あるプロダクトが1つのプロセッサを使用できるVMにインストールされると、そのプロセッサはそのプロダクトによって使用され、停止されたプロダクトおよび停止されたVMは使用率としてカウントされる。グリニッジ標準時の午前0時に始まる24時間の期間ごとにあるプロダクトによって使用される各プロセッサがカウントされ、VMマイグレーションはPVU使用率に影響し、VMwareに関する特殊なクラスタ化ルールは、分散リソーススケジューリングDRS:DistributedResourceSchedulingが使用されているときにしかし、そのときに限られる過剰請求を防止する。図2を参照すると、配置システム180は図1の制約マネージャ112内に含まれている。資格使用率を決定するためには、配置システム180がすべての可能な配置についてすべての資格の現行使用率を計算できることが必要である。加えて、配置システム180は、その配置に対して特定の変更を行うためにこれらの資格使用率に対する効果を計算できることも必要である。本明細書に記載されているライセンス資格、より具体的には説明のみのためにPVUライセンスを一例に挙げると、配置システム180は、各物理マシン104上の物理コアの数、これらの物理コアのそれぞれのPVUの点数、各仮想計算機内の各プロダクトがアクセスできる仮想コアの数、各仮想計算機内のプロダクト複数も可という情報を把握する必要がある。この情報が与えられると、配置システム180は、任意の時点で、仮想計算機の所与の配置が消費する資格の数を計算することができる。したがって、配置ルーチンが進行するにつれて、すべてのステップで使用された各資格の量を再計算できることが分かる。さらに、配置ルーチンが変更を行うことを考慮する場合、そのルーチンは、その変更がシステム内の一つ一つの資格について及ぼすと思われる効果を計算することができる。システム180を実装するために、必要な情報を決定するためのセンサが実装される。物理マシンPMセンサ182は物理マシン104の特性を検出し、その物理マシンは次に、所与のプロセッサタイプおよび数量に関するPVUの点数を把握しているソフトウェアコンポーネントたとえば、データベースまたはPVUエキスパート184と結合される。仮想計算機VMセンサ186は仮想計算機に関する情報を提供し、プロダクトセンサ188はインストールされたプロダクトおよびそのライセンス条件に関する情報を提供する。配置システム180は、この情報およびその他の必要なデータの収集をサポートするために拡張された変更済みPMセンサ182およびVMセンサ186を含むことができる。配置システム180は、センサからのシステムデータを配置実行器placementexecutor190内の標準形に伝達し、配置システムの関心事をセンサの特定の実装例から分離する。配置実行器190は次に、どの変更を行うかについて決定を行いながら、その標準形を検査することになる。この標準形は、本明細書に記載されている通り、資格のバケットBoE:BucketsofEntitlementなどを含むことになる。加えて、システム180の実装例は、時間の経過につれてシステムの進行中の最適化および管理を含む。センサ182、186、188からのイベントは、現行配置を再評価するよう配置システム180をトリガすることになる。これらのイベントとしては、資格要件または資格可用性に対する変更を含むことになる。図3を参照すると、本発明の原理による概念を実証するために簡易化したPVUシステム200が描写されている。4台の物理マシンPM202はそれぞれ、4つの物理コンピュータ処理装置pCPU204を含む。それぞれのpCPU204は、たとえば、50PVUを含む。すべてのVM206および207は2つのvCPU208を含む。図2では、3つのVM206がアプリケーションサーバASアプリケーション、たとえば、IBMRのWebsphereApplicationServerTMを実行し、1つのVM207がデータベースDBアプリケーションたとえば、IBMRのDB2TMを実行する。それぞれのVM206が2つのpCPU204を使用するのでそれぞれ2×50=100、アプリケーションサーバアプリケーションASのPVU使用率は300である。それぞれのVM207は2つのpCPU204を使用するのでそれぞれ2×50=100、データベースアプリケーションDBのPVU使用率は100である。図4では、第4のVM206’がアプリケーションサーバアプリケーションを実行し、このアプリケーションのためのPVU消費が300から400に増加する。図5では、新しいVM209が作成され、同じマシンおよびCPUを共用することによる恩恵を受ける。すでにPVUカウントにカウントされているプロセッサ上にVM209を含めることにより、追加のPVU消費はまったく発生しない。もう一度、図3を参照して、顧客が400PVUのASアプリケーションを購入したとする。セットアップ時またはその他の時点にシステム101の強制モードenforcementmode中に、ライセンスモジュール112またはリソースマネージャ110図1は遵守をチェックする。400PVUが使用率について提案されているが、このシナリオでは、DB用に100が使用されており、顧客はDBアプリケーションの使用を認可されていないものと想定する。この場合、違反が存在する。システム101図1は、顧客に接触し、100PVUのDBアプリケーションについてその顧客をサインアップするかまたは単に現行のライセンス契約書の下でそのアプリケーションが使用不能であるという警告を送出することができる。一実施形態では、強制モードは、資格を遵守していることを保証するためにDBアプリケーションの無許可使用を遮断することになるであろう。図6では、図3の構成により新しいVM209図5と同様の追加が可能になるが、VM209の配置には選択肢が存在する。VM209用として4つの位置212が存在する。いずれの位置でも結果的に400というASPVU消費になり、すべての配置が有効である。しかし、VM209の配置はそれぞれの位置212にあるものであり、その配置はそれぞれの場合に応じて同等ではないものとなる。管理決定は、VM209の最良の位置を決定するための性能ベースの配置など、追加の基準を含むことができる。一例では、VM209に加えて、他のVM図示せずをAS用に配置する必要がある場合、PVU限界400を超えることになるので、それは不可能である。すべてのオプションがASPVU限界に違反するので、新しいVMを配置することはできない。顧客は、ASアプリケーションについてより多くのPVUをサインアップすることができるかまたはその他のアクションを取ることができるであろう。もう1つのシナリオはこの問題を解決することができる。図7に描写されている通り、第1の新しいVM209は4つの位置212のうちの1つの第1のPM202左端のPM上に配置され、新しいVM211はPVU共用をトリガするように配置することができる図5を参照。このようにして、AS用のPVUは400というPVU限界より下に維持され、余分なVM211に対応する。もう1つの例では、1つのPM202だけがPVU共用に使用可能である。PVU遵守を保証し、性能のバランスを取るために、VMのマイグレーションを使用することができる。たとえば、リソースを共用し、PVU消費を回避するために、PM202を完全に占有することができる。VMを移動すると、24時間ルールに問題を引き起こす可能性がある。任意のPM202が24時間の期間内に使用中である場合、PVUによる支払いがなされなければならない。たとえば、2つのASVMが存在する。一方のVMは午前0時に実行されて午前6時に破壊され、第2のVMは正午に作成されて午後6時に破壊される。任意の時点で100PVUのみが使用中であっても、このシナリオのPVU消費は200になる。ライセンス圧縮を回避するために、24時間ルールが存在する。したがって、VMをマイグレーションすることは、追加のコストを含む可能性がある。これは、特殊なPVUカウントルールを使用して対処することができる。このようなルールは、資格遵守を保証し、使用率を最適化するために、制約として入力し、本発明の原理により使用することができる。上記の通り、もう1つの例では、所与の日の使用率は24時間ルールの下で200PVUになる。新しいVMがまったく配置されない場合、VMが解任されると次の日の使用率はゼロになる。しかし、IBMRライセンスメトリックツールILMTは、クライアントが自分の全容量および仮想化容量副容量を決定するのを支援するものであり、PVUライセンス要件またはその他のPVUメトリックツールは、VMが解任されたことを把握していない。このようなツールは、たとえば、何も変化していないものと想定して、4週間カウントし続けることになる。また、これは、本発明の原理によるライセンスを意識した配置を使用して対処することもできる。図8を参照すると、アプリケーション、仮想計算機、コンピュータエンティティなどについてライセンスを意識した配置を行うために、モジュール112およびシステム180によりモデリング構成体302を使用することができる。VM配置はソフトウェアライセンス使用率に影響を及ぼす。ソフトウェアライセンス料は、ソフトウェアがインストールされたマシンのタイプおよび容量、ならびにソフトウェアインスタンスに対するリソースの可用性によって決まる。動的配置は、ソフトウェアライセンスルールの違反を招く可能性がある。例示的な一実施形態によれば、構成体302は、接続による関係を定義し、ソフトウェアコンポーネントのソフトウェアライセンス条件を取り込む。それぞれのVM/アプリケーション306およびコンテナ308は、1つまたは複数の資格のバケットBoE304に関連付けられている。BoE304は、ライセンス容量およびライセンス使用率の計算ルールを含み、その他の種類の制限もモデリングするために使用することができる。ライセンス条件のタイプは、全容量ベースであるか、副容量ベースであるか、インスタンスの数に基づくか、物理マシンの数などに基づくことができる。ライセンスを意識した配置によってモニターされる環境には、1つまたは複数のトポロジ310が含まれる。トポロジ310は、VM/アプリケーション306およびコンテナ308に関する構造を提供する。トポロジ310、VM/アプリケーション306、およびコンテナ308はいずれも、リソースマネージャ110、図1によって処理されるリソース要件を有し、性能、システム管理、ライセンスなどに関連する可能性のある制約を含むことができる。BoE304は、トポロジ作成時に定義され、配備時に配置システムに提供される。BoE304は、アプリケーションモニターを使用して、実行時に検出することができる。ある手法では、VMイメージ306はBoE304に関連付けられる。新しいソフトウェアがVMにインストールされると、ユーザによって新しいBoEを定義することができる。配置方法たとえば、図9および図10を参照は、たとえば、強制モードでBoE304を超えないことを保証する。一実施形態では、動作モードとしては、ライセンス条件を決して超えない強制モードを含むことができる。他のモードとしては警告モードを含むことができ、たとえば、強制によって性能の低下を招くかどうかをユーザに尋ねるか、または強制によってトポロジの配備が妨げられるかどうかをユーザに尋ねることができる。その他のモードは、特定のシステムに基づいて適合させることができる。モデリング概念302により、有利なことに、配置制約314に汎用拡張を追加することができる。これにより、その制約が容易に識別可能になる。資格は、単一マシンまたはアプリケーションに関する制約より複雑な制約314の表現を可能にし、すなわち、資格制限は複数のアプリケーションなどにまたがる可能性がある。資格はアーチファクト間で共用することができる。有利なことに、種々のタイプのライセンスについて、また種々のタイプの複雑な制約についても、将来、追加の実装例をサポートするように、配置問題の表現に資格が追加される。資格プロバイダまたはBoE304は、所与の資格のうちのいくつが使用可能であるか、その資格のうちのいくつが現在使用中であるかを計算する方法、示唆された変更が資格使用率に対してどのような影響を及ぼすかを計算する方法の表現を含むことができる。BoE304は、公式、要件を含むルックアップテーブル、プログラム論理などを含むことができる。配置問題では、資格クライアント312は既存のアーチファクトたとえば、アプリケーション/VM306、コンテナ308などに結びつけられる。単一の資格クライアント312は、そのアーチファクトを単一の資格プロバイダ304に結びつけ、プロバイダが全体的な使用率を計算するのを支援するためにアーチファクトごとの使用率情報を伝達する。図9を参照すると、一実施形態により資格を含む模範的な配置方法が示されている。ブロック402では、初期配置のために、変更が提案され、計算される。ブロック404では、配置ソリューションが改善されたかどうかについて判断が行われる。改善がまったくない場合、最後の最良ソリューションがブロック406の出力になる。改善が達成された場合、ブロック408で資格違反を回避するために配置ソリューションが変更される。ブロック410で十分な時間がある場合、この方法はもう一度繰り返し、ブロック402に戻る。十分な時間がない場合、この方法はブロック406に移行する。図10を参照すると、他の実施形態により資格を含む模範的な配置方法が示されている。ブロック412では、初期配置のために、内部で資格を考慮して、候補配置からの変更が計算される。ブロック414では、配置ソリューションが十分に改善されたかどうかについて判断が行われる。改善がまったくない場合、最後の最良ソリューションがブロック416の出力になる。改善が達成された場合、しかもブロック420で十分な時間がある場合、この方法はもう一度繰り返し、ブロック412に戻る。十分な時間がない場合、この方法はブロック416に移行する。仮想化環境におけるライセンス資格の管理のためのシステムおよび方法の好ましい諸実施形態限定のためではなく、例示のためのものであるについて説明してきたが、上記の教示を考慮して、当業者により修正および変形が可能であることは注目に値する。したがって、開示されている特定の実施形態において、特許請求の範囲によって概要が示されている本発明の範囲内にある変更を行うことができることを理解されたい。したがって、特許法が要求するように詳細かつ入念に本発明の諸態様について説明してきたが、特許証によって保護される請求内容は特許請求の範囲に明記されている。