説明

仮想化環境のための管理システム、方法、およびコンピュータ・プログラム

【課題】 仮想化環境のための管理システムおよび方法を提供する。
【解決手段】 この管理システムおよび方法は、資格に基づく使用制限を有するコンピュータ・エンティティを含む。プロセッサを使用し、メモリ・ストレージ・デバイス上にプログラミングされ、メモリ・ストレージ・デバイスから実行されるリソース・マネージャは仮想化環境内のリソースを管理するように構成される。資格使用率モジュールは、リソース・マネージャに結合され、仮想化環境の変化に応じて資格関連制約を追跡し、リソース・マネージャが資格関連制約を含む割り振り決定を行えるようにして、コンピュータ・エンティティについて使用制限を満たしていることを保証するように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想化システム管理に関し、詳細には、仮想化環境(virtualizedenvironment)を管理する際の使用権(usage right)および使用制限(usage limitation)の理由を説明するように構成されたシステムおよび方法に関する。
【背景技術】
【0002】
最新のエンタープライズ・ソフトウェアは、かなりの額の購入コスト、複雑なライセンス条件、ライセンス違反の場合の顧客に対する重大な罰則を伴う。伝統的に、ソフトウェアは単純にインストール済みコピーに関してライセンスされており、すなわち、顧客はインストールされたソフトウェアの各コピーごとに特定の金額を支払ってきた。したがって、顧客用のソフトウェアのコストは、顧客が使用している(または、より正確には、インストールした)コピーの数に、顧客がコピーごとに支払った価格を掛けたものである。使用されているもう1つの技法はいわゆる「ライセンス・プール」である。この技法では、顧客は現在実行しているソフトウェアのコピーについてのみ支払い、必要な数のコピーをインストールすることができるが、そのうちの非常に多くのコピーは同時に実行することができる。これらのモデルはいずれも、ワークステーション・ソフトウェア、すなわち、個々のパーソナル・コンピュータ上で実行されるソフトウェアの分野で広く使用されてきており、依然として広く使用されている。
【0003】
最新のサーバ・ソフトウェアにはさらに複雑なライセンス条件がある。推進例として、「プロセッサ・バリュー・ユニット(Processor Value Unit)」方法またはPVUについて考慮する。この手法は、インストール済みインスタンスによって単純にソフトウェアをライセンスするのではなく、顧客がそのソフトウェアから受け取る潜在的な価値を測定しようという試みに基づいてライセンスするものである。
【0004】
PVUベースのプロダクト・ライセンシングは、そのプロダクトについて均一料金を請求するわけではない。その代わりに、プロダクトにはPVUに関して値段が付けられる。PVUライセンス・プロダクトを購入するときに、顧客は、どのくらいの数のPVUが必要であるかを算出し、その数に当該プロダクトのPVUあたりの価格を掛ける。
【0005】
例として、アプリケーション・サーバの表示価格はPVUあたり60ドルである。価格計算を完了するために、顧客は次に、そのプロダクトを実行する予定であるCPUを調べる。各プロセッサ・タイプごとに「コアあたりのPVU」値が定義されており、それはどのくらいの数のPVUを購入すべきかを顧客に示すものである。たとえば、この例の表には、すべてのプロセッサ(複数コア付き)についてコアあたりのPVU値の価格を50としてリストされている。したがって、8つのコアを有する1台のマシン上でアプリケーション・サーバを実行したいと希望する顧客は、8*50=400PVUのアプリケーション・サーバを備える必要がある。PVUあたりのコストが60ドルである場合、これは60*400=24,000ドルを要することになるであろう。
【0006】
PVUベースのライセンシングの重要な態様の1つは、顧客がインストールし実行するアプリケーション・サーバのコピー数ではなく、そのコピーがアクセスするPVUの数のみが重要であることである。たとえば、顧客はその代わりにそれぞれが4つのコアを有する2台のマシンを実行することを決定することができ、PVU要件は依然として400(2*4*50)になるであろう。加えて、顧客は2台のマシンのそれぞれでアプリケーション・サーバの7つのコピーを実行することを決定することができ、その顧客のPVU要件は引き続き400になるであろう。
【0007】
この方式では、PVUはプロダクト間で交換可能ではない。PVUは、CPUタイプ間およびマシン間で交換可能である。例として、アプリケーション・サーバについて400のPVUを購入した顧客は、顧客が希望するマシンであればどのマシン上でもアプリケーション・サーバを実行することができるが、ただし、顧客は合計で400を超えるPVUを必要とするCPU上で実行しないものとする。しかし、顧客は、アプリケーション・サーバの実行を停止して、その代わりにPVU方式を使用してライセンスされた他の(第2の)ソフトウェア・プロダクトを実行することはできない。第2のソフトウェア・プロダクトのPVUあたりの価格はアプリケーション・サーバの価格とは異なるので、顧客はあるプロダクトについて購入したPVUを使用して他のプロダクトを実行することはできない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
その結果として、任意の所与のシステムには様々なライセンス・プロダクトが配備されることになり、顧客はライセンスの条件の遵守を保証するために各プロダクトごとにその資格(entitlement)および使用率(usage)を追跡する必要があることが分かる。
【課題を解決するための手段】
【0009】
仮想化環境のための管理システムおよび方法は、資格に基づく使用制限を有するコンピュータ・エンティティを含む。プロセッサを使用し、メモリ・ストレージ・デバイス上にプログラミングされ、メモリ・ストレージ・デバイスから実行されるリソース・マネージャは仮想化環境内のリソースを管理するように構成される。資格使用率モジュール(entitlement-usage module)は、リソース・マネージャに結合され、仮想化環境の変化に応じて資格関連制約を追跡し、リソース・マネージャが資格関連制約を含む割り振り決定を行えるようにして、コンピュータ・エンティティについて使用制限を満たしていることを保証するように構成される。
【0010】
仮想化環境内のリソースを管理するための方法は、1組の資格に関する制約を表すステップと、配置すべきコンピューティング・エンティティについて、許可される資格の数およびタイプを決定するステップとを含む。結果として得られる配置ソリューションが現在使用可能な資格を超えないように、配置プログラムが進行するにつれて、現行候補配置ソリューションについて資格使用率が計算される。
【0011】
上記その他の特徴および利点は、添付図面に関連して読むべきものである、その例示的な諸実施形態に関する以下の詳細な説明から明らかになるであろう。
【0012】
本発明は、以下の図面に関連して好ましい諸実施形態に関する以下の説明において詳細を提供するものである。
【図面の簡単な説明】
【0013】
【図1】仮想化環境を管理する際にライセンシング/資格を考慮するシステム/方法のブロック図/流れ図である。
【図2】本発明の原理による配置管理システムに関する例示的な例を示すブロック図である。
【図3】ライセンシング/資格を考慮しながら環境を管理するための例示的な例を示すブロック図である。
【図4】追加されたVMによりライセンシング/資格を考慮しながら図3の環境を管理するための他の例示的な例を示すブロック図である。
【図5】PVU共用によりライセンシング/資格を考慮しながら図4の環境を管理するための他の例示的な例を示すブロック図である。
【図6】追加されたVMの配置位置を考慮しながら図3の環境を管理するための他の例示的な例を示すブロック図である。
【図7】PVU共用により追加されたVMの配置位置を考慮しながら図4の環境を管理するための他の例示的な例を示すブロック図である。
【図8】一実施形態によりコンピュータ・エンティティと資格のバンドルとの関係を示すモデル構成体のブロック図である。
【図9】例示的な一実施形態によりライセンシング/資格を考慮する配置方法を示すブロック図/流れ図である。
【図10】他の例示的な実施形態によりライセンシング/資格を考慮する他の配置方法を示すブロック図/流れ図である。
【発明を実施するための形態】
【0014】
本発明の原理により、仮想化環境の統合管理のためのシステムおよび方法が提供される。特に有用な諸実施形態では、管理システムは、ライセンス認識(license awareness)を含み、この認識をその決定およびアクションに使用する。たとえば、管理システムが新しい仮想計算機を配備し、既存の仮想計算機をあちらこちらにマイグレーションすることができる場合、ライセンス認識を含むことの利益はさらに重大なものになる。
【0015】
仮想化とは、コンピューティング・リソースを抽象的なものにする能力を指す一般的用語である。この実施形態は、コンピュータ・システム(たとえば、ストレージまたはネットワークも使用できるが、これらとは対照的なもの)の仮想化を含む、プラットフォーム仮想化に含めることができる。あるタイプの仮想化は完全仮想化であり、その場合、通常は分離された複数のオペレーティング・システム・インスタンスを単一コンピュータ上で実行することができる。その他のタイプの仮想化、たとえば、オペレーティング・システム・レベルの仮想化も含まれ、その場合、単一オペレーティング・システム内に通常は分離された複数の空間が提示され、その内部でプログラムが実行される。
【0016】
完全仮想化の例としては、いくつか例を挙げると、IBM(R)のDLPAR(pSeriesおよびzSeries上)、IBM(R)のz/VM、VMware(R)のプロダクト・ファミリー、Citrix(R)のXenServerおよびXen、Linux(TM)のKVMを含む。「オペレーティング・システム・レベルの仮想化」の一般的な例としては、AIXオペレーティング・システム用のIBM(R)のWPAR、Sun(R)のSolaris Container、Linux(TM)のVServerを含む。
【0017】
仮想計算機は、たとえば、オペレーティング・システム・インスタンス(完全仮想化の場合)または空間(オペレーティング・システム・レベルの仮想化の場合)のいずれかを参照することができる。仮想化の関連態様の1つは、CPU割り振りを制御する能力である。たとえば、単一の物理マシン上で複数の仮想計算機を実行する場合、それぞれの仮想計算機がアクセスできる、物理マシン内のCPU(または物理CPU)およびその数を制限することは可能である。
【0018】
たとえば、8つのプロセッサ・コアを有する単一の物理マシンについて考慮する。この物理マシンは3つの仮想計算機を実行することができ、そのうちの第1の仮想計算機は2つの仮想CPUを有し、第2の仮想計算機は4つの仮想CPUを有し、第3の仮想計算機は8つの仮想CPUを有する。仮想計算機内部で実行されるソフトウェアは、仮想計算機がアクセスできるCPUの数に等しくすることができる。
【0019】
他の態様はライブ・マイグレーション(パーティション・モビリティおよびマイグレーションとも呼ばれる)を含む。これは、サービスを中断せずに仮想計算機をある物理マシンから他の物理マシンに移動する能力を指す。
【0020】
仮想化とソフトウェア・ライセンシングとの共通部分は、PVUタイプのライセンシングと仮想化を結合することができる。上記の仮想計算機の例と以前のアプリケーション・サーバの例を結合すると、顧客は元の400PVU要件について3つの仮想計算機すべてでアプリケーション・サーバを実行することを許可されるはずである。8つの物理コアがすべて使用されるので、8つすべてをライセンスしなければならない。単一マシン上でアプリケーション・サーバの複数のコピーを実行してもライセンス要件は変更されず、個別の仮想計算機内で異なるインスタンスが実行されるということは、このライセンシング方式では関連性はない。換言すれば、このマシン上でアプリケーション・サーバを実行するために顧客が購入する必要がある最も多いPVUは400であり、いくつのインスタンスまたは仮想計算機が稼働中であるかは重要ではない。
【0021】
PVUの共用について考慮する。この事例では、8つの仮想CPUである仮想計算機がまず作成される。その後、4つの仮想CPUと2つの仮想CPUである仮想計算機が作成される。第2の2つのVMについては追加のライセンスが不要であるので、それらは、第1の仮想計算機を作成するために必要であったライセンスを「共用」する。しかし、第1の仮想計算機については特別なことは何もなく、この例では、単に最初に作成されたものであり、物理コアをライセンスする必要性が促進された。次の2つの仮想計算機を配備するために追加のライセンスは一切不要である。
【0022】
たとえば、顧客が第1の仮想計算機(2つの仮想CPUを有するもの)でアプリケーション・サーバを実行するだけである場合など、顧客が400未満のPVUを必要とする場合がある。この場合、顧客は100PVUのみ(2つの物理コアのそれぞれについて50ずつ)を必要とする。このプラットフォーム上のこのタイプのライセンシングでは、顧客は仮想CPUの合計または物理コアの数のうちの少ない方に十分なPVUを有する必要がある。明瞭にするために詳細が省略されているので、PVUタイプのライセンシングの上記の説明は制限するためのものではなく、クラスタ化およびその他のプラットフォーム・タイプの問題は完全に除外されていることを理解されたい。上記の説明は、単に本発明の原理を実装できる環境を例証するためのものである。加えて、他のソフトウェア・プロバイダは他のライセンシング方式を有する。しかし、そのうちのいくつかは、上記のPVUベースの方式と同様の態様を有する。
【0023】
仮想化がエンドユーザ・データ・センタでますます普及するにつれて、仮想化管理がより重要なものになる。性能管理、高可用性、および省電力の分野では、大幅な進歩が見られた。しかし、顧客に重大な利益をもたらすのに無視されてきた領域はライセンス管理である。とりわけ、その他の管理関心事とともにライセンス管理を考慮する能力は特に有用である。配備およびマイグレーションのいずれも、任意の所与の時点でシステムが使用するライセンスの数を変更する可能性がある。たとえば、上記で使用した3つの仮想計算機のケースについてもう一度考慮するが、初めにその上にいかなる仮想計算機も配備されていない第2の物理マシンを導入する。第1の物理マシンから第2の物理マシンに仮想計算機をマイグレーションすると、システム全体をライセンスするのに必要なPVUの数が増加することになり、以前あったものより多くの物理コアがアプリケーション・サーバを実行していることが理解できるであろう。配備およびマイグレーションを伴う多数の他のケースも引用できるであろう。
【0024】
本発明の原理によれば、統合管理システムはライセンス認識機能を含む。管理システムが新しい仮想計算機を配備するか、あるいは既存の仮想計算機をあちらこちらにマイグレーションするか、またはその両方を行うことができる場合、決定を行うかまたはこのようなアクションを実行する際にライセンス認識が考慮される。このシステムは、他の管理考慮事項に加えてライセンス要件を考慮する。
【0025】
本発明全体を通して、単一の顧客に言及するが、この実施形態は、インフラストラクチャを共用する個別のライセンスを有する1組の顧客に等しく適用可能である。この実施形態によって提供されるいくつかの特徴としては以下のものを含む。すなわち、現在の顧客のソフトウェア・プロダクトについて、情報、ライセンス資格、および対応するライセンス・タイプを尋ねるために、システム管理者から情報を引き出すか、またはソフトウェア供給業者に電子的に接触することなど、1つまたは複数のメカニズムにより入手することである。これらのライセンス資格およびライセンス・ルールは、現在のライセンス使用率を計算できるように、管理されているインフラストラクチャに関する十分な情報を収集するために考慮に入れられる。この情報は、システム内の様々な物理マシンの数および特性、現在配備されている仮想計算機の数および特性(適用可能な場合)、どのソフトウェア・プロダクトがインストールされ、それがどこにインストールされているかに関する情報を含むが、これらに限定されない。
【0026】
管理中のシステムに対する潜在的な変更について考慮すると、この実施形態は、そのシステムに対するその変更の効果を(必要なライセンスに関して)計算することができ、その他のシステムレベルの影響(たとえば、性能、可用性、消費電力などを含む)に加えて、ライセンス要件に対するその影響に関して種々の組の潜在的変更を評価する。この実施形態は、顧客のライセンス資格内にシステムを保持するように、システムに対して行う1組の変更を選択することができる。これが不可能である場合、システムをオーバライドするための様々な手法が可能である。一実施形態では、システムはライセンス資格をオーバライドすることができない。他の実施形態では、システムはそのようにオーバライドすることができるが、システム管理者の許可がある場合に限られる。また、その他の実施形態も可能である。
【0027】
一例では、データ・センタは100台の物理マシンを含む。すべてのライセンス・プロダクトを同じ物理マシン上に配置し、他のものはいずれも使用しないことにより、ライセンス使用率を最小限にすることができる(このような手法は消費電力に対して有益な効果をもたらすであろう)。しかし、単一物理マシンのリソースはすべてのライセンス・プロダクトを十分に処理するためには不十分であるので、システムの性能はおそらく悪化するであろう。このようなソリューションは可用性に対して否定的な影響も及ぼすので、その単一マシンが故障すると、あらゆるものが故障することになる。
【0028】
当業者であれば分かるように、本発明の諸態様はシステム、方法、またはコンピュータ・プログラム(computer program product)として実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはハードウェアとソフトウェアの態様を結合する実施形態の形を取ることができ、いずれも一般に本明細書で「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本発明の諸態様は、そこにコンピュータ可読プログラム・コードが実施されている1つまたは複数のコンピュータ可読媒体(複数も可)で実施されたコンピュータ・プログラムの形を取ることができる。
【0029】
1つまたは複数のコンピュータ可読媒体(複数も可)の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、もしくは上記のものの任意の適切な組み合わせにすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)としては、1つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光ディスク・ストレージ・デバイス、磁気ディスク・ストレージ・デバイス、または上記のものの任意の適切な組み合わせを含むことになるであろう。本明細書に関しては、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管することができる任意の有形媒体にすることができる。
【0030】
コンピュータ可読信号媒体は、たとえば、ベースバンド内でまたは搬送波の一部として、コンピュータ可読プログラム・コードがそこに実施されている伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のうちのいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを通信、伝搬、または伝送することができる任意のコンピュータ可読媒体にすることができる。コンピュータ可読媒体上に実施されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、または上記のものの任意の適切な組み合わせ含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。
【0031】
本発明の諸態様の動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語ならびに「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。このプログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でかつ部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークにより、ユーザのコンピュータに接続される場合もあれば、(たとえば、インターネット・サービス・プロバイダを使用してインターネットにより)外部コンピュータに対して接続が行われる場合もある。
【0032】
本発明の諸態様については、本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラムの流れ図あるいはブロック図またはその両方に関連して以下に説明する。流れ図あるいはブロック図またはその両方の各ブロックならびに流れ図あるいはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができることが理解されるであろう。これらのコンピュータ・プログラム命令を汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供し、そのコンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するための手段を作成するようなマシンを生産することができる。
【0033】
また、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に保管された命令が、流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装する命令を含む装置(article of manufacture)を生産するような特定の方法で機能するよう、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスに指示することができるコンピュータ可読媒体に保管することもできる。
【0034】
または、これらのコンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップを実行させて、コンピュータまたはその他のプログラマブル装置上で実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/動作を実装するためのプロセスを提供するようなコンピュータ実装プロセスを生成するために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上にロードすることもできる。
【0035】
図面内の流れ図およびブロック図は、本発明の様々な諸実施形態によるシステム、方法、およびコンピュータ・プログラムについて可能な実装例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能(複数も可)を実装するための1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実装例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることにも留意されたい。たとえば、連続して示されている2つのブロックは、関係する機能に応じて、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックならびにブロック図あるいは流れ図またはその両方の複数ブロックの組み合わせは、指定の機能または動作を実行する特殊目的ハードウェアベースのシステムによって、または特殊目的ハードウェアとコンピュータ命令の組み合わせによって、実装可能であることも留意されるであろう。
【0036】
次に、同様の番号が同じかまたは同様の要素を表している図面を参照し、初めに図1を参照すると、仮想化環境において統合管理を提供するために使用権、制限、および制約を考慮に入れるシステム101が例示的に描写されている。システム101は、物理マシン102、104と、仮想計算機(VM)106と、リソース・マネージャ110と、ライセンシング/資格制約管理モジュール112と、ストレージ・リソース・マネージャ114とを有する仮想環境を例示的に含む。システム101は、コンピュータ・アーチファクトまたはエンティティの供給、変更、実行、マイグレーションなどが行われる、データ・センタ環境、ネットワーク環境、または任意のその他のコンピュータ環境を含むことができる。コンピュータ・アーチファクトまたはエンティティは仮想計算機(VM)を含むことができる。仮想計算機は、この例示的なシステム説明のために例示的に使用される。アプリケーションまたは他の計算エンティティも同様に使用できることを理解されたい。
【0037】
アプリケーション116は個々のVM106によって処理され、物理マシン102、104は複数のVM106を処理することができる。各VM106は、ブート時にVM106に割り振られたリソース(ネットワーク、メモリ、およびCPU)の一部分を有し、同じ物理マシン102、104内で共同処理(co-host)される他のVM106とリソースを共用する。物理マシンは複数のVM106を処理することができる。VM106は、他の物理マシンまたは環境にマイグレーションすることができる。
【0038】
ストレージ・リソース・マネージャ114は、システム101内のストレージ間でストレージ使用率をモニターする役割を担う。リソース・マネージャ110は、仮想計算機106の配置または再位置決め(マイグレーション)および再供給に関する決定を行う役割を担い、必要なときに、たとえば、潜在的な再位置決めのためにVM106が選択されたときに、モジュール112およびストレージ・リソース・マネージャ114と調整する。配置とは、所与の仮想計算機が所与の時点にどこで実行しなければならないかという決定を指す。
【0039】
配置決定は、複数の異なる考慮事項に基づいて行うことができる。たとえば、仮想計算機の性能を意識した配置ではVM配置の結果として性能利得を考慮し、仮想計算機の制約を意識した配置は制約に基づくものである。制約を意識した決定は、割り振り制限(たとえば、「これを特定の位置に配置してはならない」、「これは位置x、y、zのみに移動することができる」)およびコロケーション制限(「これはそれと共存できない」、「これはいずれとも共存できない」など)を考慮することができる。ライセンスを意識した配置は、性能を意識した配置あるいは制約を意識した配置またはその両方に含めることができる。仮想計算機の初期配備では、配備時に追加の貢献を考慮することができる。たとえば、ネットワーク接続、ストレージの可用性などである。
【0040】
リソース・マネージャ110およびハイパーバイザ120は、VMストレージ、マイグレーション、アプリケーション実行、およびその他の管理機能を管理する際に使用される。ライセンシング制約管理モジュール112は、リソース・マネージャ110およびハイパーバイザ120のうちの一方または両方と統合することができる。マイグレーション中に、システム101は以下の例示的な機能を実行する。すなわち、(1)リソース・マネージャ110はマイグレーションまたは再供給のためにVM106を指定する。(2)リソース・マネージャ110はライセンシング制約管理モジュール112を調査して、VM106をその現在の位置から新しい位置に移動するときに制約が存在するかどうかを判断する。これは、新しい位置への移動または古い位置からの移動を防止するための制約が存在するかどうかを判断することを含む。ライセンシング制約管理モジュール112は、サービス・レベル・アグリーメント(SLA)、ライセンス契約、著作権情報などから得られる可能性のある制約情報を保管する。有用な諸実施形態によれば、ライセンシング制約管理モジュール112は、リソースの変更に関する決定プロセスの一部としてリソース・マネージャ110によって調査される。ライセンシング制約管理モジュール112は、各資格タイプの現行レベルの使用率を呼び出し側に提供することができる。
【0041】
リソース・マネージャ110は、その決定にライセンス認識を含む管理システムを提供する。管理システムが新しい仮想計算機(106)を配備するか、既存の仮想計算機(106)をあちらこちらにマイグレーションするか、アプリケーションまたはVMを実行するか、あるいはVM(106)を再供給するか、またはこれらの組み合わせを行うと、ライセンス認識が重要になり、管理システムは他の管理考慮事項に加えてライセンス(およびその他の使用制約)について考慮する。システム101のライセンシング制約管理モジュール112は、競合する制約に優先順位を付ける能力をさらに含む。
【0042】
ライセンシング制約管理モジュール112は、現在の顧客のソフトウェア・プロダクトについて、情報、ライセンス資格、対応するライセンス・タイプなどを尋ねるために、システム管理者から情報を引き出すこと、ソフトウェア供給業者に電子的に接触することを含む、様々なメカニズムを使用して、資格データを入手する。リソース・マネージャ110(あるいはライセンシング制約管理モジュール112またはその両方)は、ライセンス資格およびライセンス・ルールの理由を説明し、現在のライセンス使用率を計算できるように、管理されているインフラストラクチャに関する十分な情報を収集する。この情報は、たとえば、システム101内の物理マシン102、104の数および特性、現在配備されている仮想計算機106の数および特性(適用可能な場合)、どのソフトウェア・プロダクトがインストールされているかならびにその位置に関する情報などを含むが、これらに限定されない。
【0043】
管理中のシステムに対する潜在的な変更について考慮すると、そのシステムに対するその変更について、このような変更の効果を(必要なライセンスなどに関して)計算する必要がある。その他のシステムレベルの影響(たとえば、性能、可用性、消費電力などを含む)に加えて、ライセンス要件に対するその影響に関して種々の組の潜在的変更を評価することができる。システムが顧客のライセンス資格内に保持されることを保証することができる1組の変更が選択される。これが不可能である場合、システムをオーバライドするための様々な手法が可能であるか、またはライセンス契約の精神に従う最良のソリューションを選択することができる。一実施形態では、システムはライセンス資格をオーバライドすることができない。他の実施形態では、システムはそのようにオーバライドすることができるが、システム管理者の許可がある場合に限られる。また、その他の実施形態も可能である。
【0044】
仮想化環境に関するプロダクト・ライセンス・ルールは複雑な場合が多い。最近では、インストールされたコピーの数に基づくのではなく、プロダクトがどの程度の作業を実行できるかに基づいて、プロダクトの料金を請求する場合がある。その結果、ライセンス使用率は、プロダクトのインストールされたコピーがどのように物理ハードウェア上に配置されるかによって決まる。仮想化環境に対処するための例示的な例として、プロセッサ・バリュー・ユニット(PVU)が使用される。PVUのスコアによって、特定のプロセッサ・タイプのライセンス・コストは決定される。プロダクトが使用するプロセッサごとに支払いを行わなければならない。同じプロダクトの複数のコピーが使用する1つのプロセッサについては、1回だけ支払えば良い。あるプロダクトが1つのプロセッサを使用できるVMにインストールされると、そのプロセッサはそのプロダクトによって使用され、停止されたプロダクトおよび停止されたVMは使用率としてカウントされる。グリニッジ標準時の午前0時に始まる24時間の期間ごとにあるプロダクトによって使用される各プロセッサがカウントされ、VMマイグレーションはPVU使用率に影響し、VMwareに関する特殊なクラスタ化ルールは、分散リソース・スケジューリング(DRS:Distributed Resource Scheduling)が使用されているときに(しかし、そのときに限られる)過剰請求を防止する。
【0045】
図2を参照すると、配置システム180は図1の制約マネージャ112内に含まれている。資格使用率を決定するためには、配置システム180がすべての可能な配置についてすべての資格の現行使用率を計算できることが必要である。加えて、配置システム180は、その配置に対して特定の変更を行うためにこれらの資格使用率に対する効果を計算できることも必要である。本明細書に記載されているライセンス資格、より具体的には(説明のみのために)PVUライセンスを一例に挙げると、配置システム180は、各物理マシン(104)上の物理コアの数、これらの物理コアのそれぞれのPVUの「点数」、各仮想計算機内の各プロダクトがアクセスできる仮想コアの数、各仮想計算機内のプロダクト(複数も可)という情報を把握する必要がある。
【0046】
この情報が与えられると、配置システム180は、任意の時点で、仮想計算機の所与の配置が消費する資格の数を計算することができる。したがって、配置ルーチンが進行するにつれて、すべてのステップで使用された各資格の量を再計算できることが分かる。さらに、配置ルーチンが変更を行うことを考慮する場合、そのルーチンは、その変更がシステム内の一つ一つの資格について及ぼすと思われる効果を計算することができる。
【0047】
システム180を実装するために、必要な情報を決定するためのセンサが実装される。物理マシン(PM)センサ182は物理マシン(104)の特性を検出し、その物理マシンは次に、所与のプロセッサ・タイプおよび数量に関するPVUの「点数」を把握しているソフトウェア・コンポーネント(たとえば、データベース)またはPVUエキスパート184と結合される。仮想計算機(VM)センサ186は仮想計算機に関する情報を提供し、プロダクト・センサ188はインストールされたプロダクトおよびそのライセンス条件に関する情報を提供する。配置システム180は、この情報およびその他の必要なデータの収集をサポートするために拡張された変更済みPMセンサ182およびVMセンサ186を含むことができる。
【0048】
配置システム180は、(センサからの)システム・データを配置実行器(placementexecutor)190内の標準形に伝達し、配置システムの関心事をセンサの特定の実装例から分離する。配置実行器190は次に、どの変更を行うかについて決定を行いながら、その標準形を検査することになる。この標準形は、本明細書に記載されている通り、資格のバケット(BoE:Buckets of Entitlement)などを含むことになる。
【0049】
加えて、システム180の実装例は、時間の経過につれてシステムの進行中の最適化および管理を含む。センサ(182、186、188)からのイベントは、現行配置を再評価するよう配置システム180をトリガすることになる。これらのイベントとしては、資格要件または資格可用性に対する変更を含むことになる。
【0050】
図3を参照すると、本発明の原理による概念を実証するために簡易化したPVUシステム200が描写されている。4台の物理マシン(PM)202はそれぞれ、4つの物理コンピュータ処理装置(pCPU)204を含む。それぞれのpCPU204は、たとえば、50PVUを含む。すべてのVM206および207は2つのvCPU208を含む。図2では、3つのVM206がアプリケーション・サーバ(AS)アプリケーション、たとえば、IBM(R)のWebsphere Application Server(TM)を実行し、1つのVM207がデータベース(DB)アプリケーション(たとえば、IBM(R)のDB2(TM))を実行する。それぞれのVM206が2つのpCPU204を使用するので(それぞれ2×50=100)、アプリケーション・サーバ・アプリケーション(AS)のPVU使用率は300である。それぞれのVM207は2つのpCPU204を使用するので(それぞれ2×50=100)、データベース・アプリケーション(DB)のPVU使用率は100である。
【0051】
図4では、第4のVM206’がアプリケーション・サーバ・アプリケーションを実行し、このアプリケーションのためのPVU消費が300から400に増加する。図5では、新しいVM209が作成され、同じマシンおよびCPUを共用することによる恩恵を受ける。すでにPVUカウントにカウントされているプロセッサ上にVM209を含めることにより、追加のPVU消費はまったく発生しない。
【0052】
もう一度、図3を参照して、顧客が400PVUのASアプリケーションを購入したとする。セットアップ時(またはその他の時点)にシステム101の強制モード(enforcement mode)中に、ライセンス・モジュール112またはリソース・マネージャ110(図1)は遵守をチェックする。400PVUが使用率について提案されているが、このシナリオでは、DB用に100が使用されており、顧客はDBアプリケーションの使用を認可されていないものと想定する。この場合、違反が存在する。システム101(図1)は、顧客に接触し、100PVUのDBアプリケーションについてその顧客をサインアップするかまたは単に現行のライセンス契約書の下でそのアプリケーションが使用不能であるという警告を送出することができる。一実施形態では、強制モードは、資格を遵守していることを保証するためにDBアプリケーションの無許可使用を遮断することになるであろう。
【0053】
図6では、図3の構成により新しいVM209(図5と同様)の追加が可能になるが、VM209の配置には選択肢が存在する。VM209用として4つの位置212が存在する。いずれの位置でも結果的に400というAS PVU消費になり、すべての配置が有効である。しかし、VM209の配置はそれぞれの位置212にあるものであり、その配置はそれぞれの場合に応じて同等ではないものとなる。管理決定は、VM209の最良の位置を決定するための性能ベースの配置など、追加の基準を含むことができる。
【0054】
一例では、VM209に加えて、他のVM(図示せず)をAS用に配置する必要がある場合、PVU限界400を超えることになるので、それは不可能である。すべてのオプションがAS PVU限界に違反するので、新しいVMを配置することはできない。顧客は、ASアプリケーションについてより多くのPVUをサインアップすることができるかまたはその他のアクションを取ることができるであろう。もう1つのシナリオはこの問題を解決することができる。図7に描写されている通り、第1の新しいVM209は4つの位置212のうちの1つの第1のPM202(左端のPM)上に配置され、新しいVM211はPVU共用をトリガするように配置することができる(図5を参照)。このようにして、AS用のPVUは400というPVU限界より下に維持され、余分なVM211に対応する。
【0055】
もう1つの例では、1つのPM202だけがPVU共用に使用可能である。PVU遵守を保証し、性能のバランスを取るために、VMのマイグレーションを使用することができる。たとえば、リソースを共用し、PVU消費を回避するために、PM202を完全に占有することができる。
【0056】
VMを移動すると、24時間ルールに問題を引き起こす可能性がある。任意のPM202が24時間の期間内に使用中である場合、PVUによる支払いがなされなければならない。たとえば、2つのAS VMが存在する。一方のVMは午前0時に実行されて午前6時に破壊され、第2のVMは正午に作成されて午後6時に破壊される。任意の時点で100PVUのみが使用中であっても、このシナリオのPVU消費は200になる。ライセンス圧縮を回避するために、24時間ルールが存在する。したがって、VMをマイグレーションすることは、追加のコストを含む可能性がある。これは、特殊なPVUカウント・ルールを使用して対処することができる。このようなルールは、資格遵守を保証し、使用率を最適化するために、制約として入力し、本発明の原理により使用することができる。
【0057】
上記の通り、もう1つの例では、所与の日の使用率は24時間ルールの下で200PVUになる。新しいVMがまったく配置されない場合、VMが解任されると次の日の使用率はゼロになる。しかし、IBM(R)ライセンス・メトリック・ツール(ILMT)は、クライアントが自分の全容量および仮想化容量(副容量)を決定するのを支援するものであり、PVUライセンス要件(またはその他のPVUメトリック・ツール)は、VMが解任されたことを把握していない。このようなツールは、たとえば、何も変化していないものと想定して、4週間カウントし続けることになる。また、これは、本発明の原理によるライセンスを意識した配置を使用して対処することもできる。
【0058】
図8を参照すると、アプリケーション、仮想計算機、コンピュータ・エンティティなどについてライセンスを意識した配置を行うために、モジュール112(およびシステム180)によりモデリング構成体302を使用することができる。VM配置はソフトウェア・ライセンス使用率に影響を及ぼす。ソフトウェア・ライセンス料は、ソフトウェアがインストールされたマシンのタイプおよび容量、ならびにソフトウェア・インスタンスに対するリソースの可用性によって決まる。動的配置は、ソフトウェア・ライセンス・ルールの違反を招く可能性がある。例示的な一実施形態によれば、構成体302は、接続による関係を定義し、ソフトウェア・コンポーネントのソフトウェア・ライセンス条件を取り込む。それぞれのVM/アプリケーション306およびコンテナ308は、1つまたは複数の資格のバケット(BoE)304に関連付けられている。BoE304は、ライセンス容量およびライセンス使用率の計算ルールを含み、その他の種類の制限もモデリングするために使用することができる。ライセンス条件のタイプは、全容量ベースであるか、副容量ベースであるか、インスタンスの数に基づくか、物理マシンの数などに基づくことができる。
【0059】
ライセンスを意識した配置によってモニターされる環境には、1つまたは複数のトポロジ310が含まれる。トポロジ310は、VM/アプリケーション306およびコンテナ308に関する構造を提供する。トポロジ310、VM/アプリケーション306、およびコンテナ308はいずれも、リソース・マネージャ(110、図1)によって処理されるリソース要件を有し、性能、システム管理、ライセンスなどに関連する可能性のある制約を含むことができる。
【0060】
BoE304は、トポロジ作成時に定義され、配備時に配置システムに提供される。BoE304は、アプリケーション・モニターを使用して、実行時に検出することができる。ある手法では、VMイメージ306はBoE304に関連付けられる。新しいソフトウェアがVMにインストールされると、ユーザによって新しいBoEを定義することができる。配置方法(たとえば、図9および図10を参照)は、(たとえば、強制モードで)BoE304を超えないことを保証する。一実施形態では、動作モードとしては、ライセンス条件を決して超えない強制モードを含むことができる。他のモードとしては警告モードを含むことができ、たとえば、強制によって性能の低下を招くかどうかをユーザに尋ねるか、または強制によってトポロジの配備が妨げられるかどうかをユーザに尋ねることができる。その他のモードは、特定のシステムに基づいて適合させることができる。
【0061】
モデリング概念302により、有利なことに、配置制約314に汎用拡張を追加することができる。これにより、その制約が容易に識別可能になる。資格は、単一マシンまたはアプリケーションに関する制約より複雑な制約314の表現を可能にし、すなわち、資格制限は複数のアプリケーションなどにまたがる可能性がある。資格はアーチファクト間で共用することができる。有利なことに、種々のタイプのライセンスについて、また種々のタイプの複雑な制約についても、将来、追加の実装例をサポートするように、配置問題の表現に資格が追加される。
【0062】
資格プロバイダまたはBoE304は、所与の資格のうちのいくつが使用可能であるか、その資格のうちのいくつが現在使用中であるかを計算する方法、示唆された変更が資格使用率に対してどのような影響を及ぼすかを計算する方法の表現を含むことができる。BoE304は、公式、要件を含むルックアップ・テーブル、プログラム論理などを含むことができる。配置問題では、資格クライアント312は既存のアーチファクト(たとえば、アプリケーション/VM306、コンテナ308など)に結びつけられる。単一の資格クライアント312は、そのアーチファクトを単一の資格プロバイダ304に結びつけ、プロバイダが全体的な使用率を計算するのを支援するためにアーチファクトごとの使用率情報を伝達する。
【0063】
図9を参照すると、一実施形態により資格を含む模範的な配置方法が示されている。ブロック402では、初期配置のために、変更が提案され、計算される。ブロック404では、配置ソリューションが改善されたかどうかについて判断が行われる。改善がまったくない場合、最後の最良ソリューションがブロック406の出力になる。改善が達成された場合、ブロック408で資格違反を回避するために配置ソリューションが変更される。ブロック410で十分な時間がある場合、この方法はもう一度繰り返し、ブロック402に戻る。十分な時間がない場合、この方法はブロック406に移行する。
【0064】
図10を参照すると、他の実施形態により資格を含む模範的な配置方法が示されている。ブロック412では、初期配置のために、内部で資格を考慮して、候補配置からの変更が計算される。ブロック414では、配置ソリューションが十分に改善されたかどうかについて判断が行われる。改善がまったくない場合、最後の最良ソリューションがブロック416の出力になる。改善が達成された場合、しかもブロック420で十分な時間がある場合、この方法はもう一度繰り返し、ブロック412に戻る。十分な時間がない場合、この方法はブロック416に移行する。
【0065】
仮想化環境におけるライセンス資格の管理のためのシステムおよび方法の好ましい諸実施形態(限定のためではなく、例示のためのものである)について説明してきたが、上記の教示を考慮して、当業者により修正および変形が可能であることは注目に値する。したがって、開示されている特定の実施形態において、特許請求の範囲によって概要が示されている本発明の範囲内にある変更を行うことができることを理解されたい。したがって、特許法が要求するように詳細かつ入念に本発明の諸態様について説明してきたが、特許証によって保護される請求内容は特許請求の範囲に明記されている。

【特許請求の範囲】
【請求項1】
仮想化環境のための管理システムであって、
資格に基づく使用制限を有する少なくとも1つのコンピュータ・エンティティと、
プロセッサを使用し、メモリ・ストレージ・デバイス上にプログラミングされ、前記メモリ・ストレージ・デバイスから実行されるリソース・マネージャであって、前記リソース・マネージャが仮想化環境内のリソースを管理するように構成されるリソース・マネージャと、
前記リソース・マネージャに結合され、前記仮想化環境の変化に応じて資格関連制約を追跡し、前記リソース・マネージャが前記資格関連制約を含む割り振り決定を行えるようにして、前記少なくとも1つのコンピュータ・エンティティについて前記使用制限を満たしていることを保証するように構成される、資格使用率モジュールと、
を含む、システム。
【請求項2】
前記少なくとも1つのコンピュータ・エンティティが、仮想計算機、アプリケーション、およびコンテナのうちの少なくとも1つを含む、請求項1記載のシステム。
【請求項3】
前記リソース・マネージャが、少なくとも1つの他の考慮事項に基づいて配置決定を行う、請求項1記載のシステム。
【請求項4】
前記少なくとも1つの他の考慮事項が、性能、コスト、およびセキュリティのうちの少なくとも1つを含む、請求項3記載のシステム。
【請求項5】
前記リソース・マネージャが、候補配置変更に基づいて配置決定を行うように構成されたプログラムを含む、請求項1記載のシステム。
【請求項6】
前記リソース・マネージャが、資格違反を回避するために配置ソリューションを変更することにより配置決定を行うように構成されたプログラムを含む、請求項1記載のシステム。
【請求項7】
前記少なくとも1つのコンピュータ・エンティティに関連し、前記少なくとも1つのコンピュータ・エンティティについて前記資格ベースの制約を識別するように構成される、資格のバケットをさらに含む、請求項1記載のシステム。
【請求項8】
その間に資格を超えることができない強制モードと、前記資格を超えるために個別の許可が必要である警告モードとをさらに含む、請求項1記載のシステム。
【請求項9】
仮想化環境内のリソースを管理するための方法であって、
コンピュータ記憶媒体内に1組の資格に関する制約を表すステップと、
配置すべきコンピューティング・エンティティについて、許可される資格の数およびタイプを決定するステップと、
結果として得られる配置ソリューションが現在使用可能な前記資格を超えないように、配置プログラムが進行するにつれて、プロセッサを使用して、現行候補配置ソリューションについて資格使用率を計算するステップと、
を含む、方法。
【請求項10】
1組の資格に関する制約を表す前記ステップが、制約情報を含むファイルについて指定された拡張を提供するステップを含む、請求項9記載の方法。
【請求項11】
前記1組の資格に関する前記制約によりリソース使用率を制限するステップをさらに含む、請求項9記載の方法。
【請求項12】
前記コンピューティング・エンティティが仮想計算機を含む、請求項9記載の方法。
【請求項13】
前記1組の資格がライセンス条件を含み、前記方法が、コンピュータ・エンティティおよびモデル・ライセンス制約に関連する資格のバケット内に前記ライセンス条件を取り込むステップをさらに含む、請求項9記載の方法。
【請求項14】
結果として得られる配置ソリューションが現在使用可能な前記資格およびそれぞれのメトリックのしきい値を超えないように、現行候補配置ソリューションについて、性能メトリック、コスト・メトリック、およびセキュリティ・メトリックのうちの少なくとも1つを計算するステップをさらに含む、請求項9記載の方法。
【請求項15】
資格違反を回避するために配置ソリューションを変更するステップをさらに含む、請求項9記載の方法。
【請求項16】
その間に資格を超えることができない強制モードと、前記資格を超えるために個別の許可が必要である警告モードとを提供するステップをさらに含む、請求項9記載の方法。
【請求項17】
各資格タイプの現行レベルの使用率を呼び出し側に提供するステップをさらに含む、請求項9記載の方法。
【請求項18】
コンピュータ・プログラムであって、請求項9乃至11および請求項13乃至17のいずれかに記載の前記ステップすべてを実行するようになっているコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−253523(P2011−253523A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2011−102705(P2011−102705)
【出願日】平成23年5月2日(2011.5.2)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】