(57)【要約】【課題】  サービス義務を果たすのに必要なリソースのフリープール・サイズを推定する改善された方法及びシステムを提供する。【解決手段】  本発明は、オンデマンド・データ・センタにおいて顧客に提供されるコンピュータ・リソースを管理するためのコンピュータ実装プロセスを含む。プロセスは、共有コンピュータ環境を提供するステップと、共有コンピュータ環境内におけるコンピュータ・リソースの１つ又は複数の論理パーティションを各々の顧客に提供するステップと、少なくとも１つの処理エンジンを各々の論理パーティションに割り当てるステップと、選択された顧客のリソース利用率をベータ分布としてモデル化するステップと、ベータ分布からランダムなリソース利用率値を繰り返し選択し、論理パーティションごとに処理エンジン差を計算するステップと、繰り返しごとに、全処理エンジン差が最適な処理エンジン差に収束するまで全処理エンジン差を計算するステップと、最適なフリープール・サイズを達成するために、最適な処理エンジン差によって処理エンジンの数を調整するステップとを含む。【選択図】      図２
2009524135.tif 000002
【特許請求の範囲】
【請求項１】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するためのコンピュータ実装方法であって、前記コンピュータ・リソースは前記ユーザ間で共有され、前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、前記方法は、
選択されたユーザのリソース利用率をベータ分布としてモデル化するステップであって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、ステップと、
前記ベータ分布からランダムなリソース利用率値を選択するステップと、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するステップと、
を含む方法。
【請求項２】
前記ランダムなリソース利用率値を用いて前記ランダムなリソース利用率をサポートするための第１の処理エンジンの数を決定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の処理エンジンの数を用いて第１の利用率値を決定するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記論理パーティションごとに複数の利用率値を計算するステップと、
前記複数の利用率値を用いて平均利用率値を計算するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記平均利用率値と目標利用率値とを比較して前記平均利用率値と前記目標利用率値とが収束したかどうかを判断するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記論理パーティションごとに第１の処理エンジン差を計算するステップであって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、ステップをさらに含む、請求項２に記載の方法。
【請求項７】
前記ベータ分布からランダムなリソース利用率値を繰り返し選択するステップと、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するステップと、
をさらに含む、請求項６に記載の方法。
【請求項８】
第１のフリープール・サイズを達成するために、前記第２の処理エンジン差を用いて、前記論理パーティションの各々に割り当てられた処理エンジンの数を調整するステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記選択されたユーザの予想リソース利用率は、予想ピーク・リソース利用率を含む、請求項１に記載の方法。
【請求項１０】
前記選択されたユーザの予想リソース利用率は、予想平均リソース利用率を含む、請求項１に記載の方法。
【請求項１１】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するためのコンピュータ・プログラムであって、前記コンピュータ・リソースは前記ユーザ間で共有され、前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、コンピュータ・プログラム製品が、コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含み、前記コンピュータ・プログラムは、コンピュータ上で実行されたときに、
選択されたユーザのリソース利用率をベータ分布としてモデル化するステップであって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、ステップと、
前記ベータ分布からランダムなリソース利用率値を選択するステップと、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するステップと、
を行うように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【請求項１２】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記ランダムなリソース利用率値を用いて前記ランダムなリソース利用率をサポートするための第１の処理エンジンの数を決定するステップ、
を行うように適合された、請求項１１に記載のコンピュータ・プログラム。
【請求項１３】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記第１の処理エンジンの数を用いて第１の利用率値を決定するステップ、
を行うように適合された、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記論理パーティションごとに複数の利用率値を計算し、前記複数の利用率値を用いて平均利用率値を計算するステップ、
を行うように適合された、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記平均利用率値と目標利用率値とを比較して前記平均利用率値と前記目標利用率値とが収束したかどうかを判断するステップ、
を行うように適合された、請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記論理パーティションごとに第１の処理エンジン差を計算するステップであって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、ステップ、
を行うように適合された、請求項１２に記載のコンピュータ・プログラム。
【請求項１７】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
前記ベータ分布からランダムなリソース利用率値を繰り返し選択するステップと、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するステップと、
を行うように適合された、請求項１６に記載のコンピュータ・プログラム。
【請求項１８】
前記プログラム・コード手段は、前記コンピュータ・プログラムがコンピュータ上で実行されたときに、
第１のフリープール・サイズを達成するために、前記第２の処理エンジン差を用いて、前記論理パーティションの各々に割り当てられた処理エンジンの数を調整するステップ、
を行うように適合された、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記選択されたユーザの予想リソース利用率は、予想ピーク・リソース利用率を含む、請求項１１に記載のコンピュータ・プログラム。
【請求項２０】
前記選択されたユーザの予想リソース利用率は、予想平均リソース利用率を含む、請求項１１に記載のコンピュータ・プログラム。
【請求項２１】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するための装置であって、
前記コンピュータ・リソースは前記ユーザ間で共有され、
前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、
少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、
前記装置は、
選択されたユーザのリソース利用率をベータ分布としてモデル化するための手段であって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、手段と、
前記ベータ分布からランダムなリソース利用率値を選択するための手段と、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するための手段と、
を含む装置。
【請求項２２】
前記ランダムなリソース利用率値を用いて前記ランダムなリソース利用率をサポートする第１の処理エンジンの数を決定するための手段をさらに含む、請求項２１に記載の装置。
【請求項２３】
前記第１の処理エンジンの数を用いて第１の利用率値を決定するための手段をさらに含む、請求項２２に記載の装置。
【請求項２４】
前記論理パーティションごとに複数の利用率値を計算するための手段と、
前記複数の利用率値を用いて平均利用率値を計算するための手段と、
をさらに含む、請求項２３に記載の装置。
【請求項２５】
前記平均利用率値と目標利用率値とを比較して前記平均利用率値と前記目標利用率値とが収束したかどうかを判断するための手段をさらに含む、請求項２４に記載の装置。
【請求項２６】
前記論理パーティションごとに第１の処理エンジン差を計算するための手段であって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、手段をさらに含む、請求項２２に記載の装置。
【請求項２７】
前記ベータ分布からランダムなリソース利用率値を繰り返し選択するための手段と、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するための手段と、
をさらに含む、請求項２６に記載の装置。
【請求項２８】
第１のフリープール・サイズを達成するために、前記第２の処理エンジン差を用いて、前記論理パーティションの各々に割り当てられた処理エンジンの数を調整するための手段をさらに含む、請求項２７に記載の装置。
【請求項２９】
前記選択されたユーザの予想リソース利用率は、予想ピーク・リソース利用率を含む、請求項２１に記載の装置。
【請求項３０】
前記選択されたユーザの予想リソース利用率は、予想平均リソース利用率を含む、請求項２１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電気システムをモデル化するためにデータ処理を用いることに関し、特に、コンピュータの性能をモデル化することに関する。
【背景技術】
【０００２】
長年にわたって、ネットワーク技術は、世界中のコンピュータ・リソースの共有及び遠隔アクセスを可能にしてきた。１つのコンピュータは、廊下の先にあるコンピュータ又は別の国にあるコンピュータと容易にデータを交換することができる。当然のことながら、ビジネスの世界でグローバル・ネットワークの力が利用されるのに時間はかからず、ネットワーク技術によって、これらのネットワークにわたってサービスを提供することに重点を置いた新たな産業全体の成長が促進された。
【０００３】
この新たな産業は、顧客の要求が大きくなるにつれて、既存のリソースを最大限に活用しながら、顧客の処理のニーズを予想して、それに対応することができなければならない。リソースを最大限に活用する１つの方法は、顧客がコンピュータ・リソース及びネットワーク・リソースを共有できるようにすることである。この方法の１つの実装形態においては、サービス・プロバイダは、コンピュータ・リソースの「論理」パーティションを（通常、「メインフレーム」コンピュータとして知られる）１次処理ユニット上に作成する。本明細書では、こうした共有オンデマンド環境内における処理キャパシティの個々のユニットは、「エンジン（engine）」と呼ばれる。典型的には、サービス・プロバイダは、何人もの顧客と一定レベルのサービスを各々の顧客に提供する契約を結び、その義務を果たすために、各々の顧客に対してリソースの論理パーティション（ＬＰＡＲ）を作成するか又は割り当てる。しかしながら、契約のうちの１つ又は複数は、高ピーク使用量の場合における増加の余裕を考慮に入れる場合がある。
【０００４】
１人の顧客による使用量が大きい場合には、サービス・プロバイダは、他の顧客のリソース利用に悪影響を与えることなく、追加リソースをその顧客に提供することができなければならない。これらの追加リソースを提供するために、サービス・プロバイダは、その顧客の使用量が通常の状態に戻るまで、様々な論理パーティション間でコンピュータ・リソースを再割り当てすることがある。しかしながら、顧客がリソースを共有することを可能にするには、サービス・プロバイダは、共有リソースを注意深くバランスさせて監視することが必要であり、こうすることでプロバイダは全てのサービス義務を果たすことができる。
【０００５】
新しい顧客がオンデマンド・サービスに加入する際には、キャパシティ・プランナは、サービス・プロバイダが全ての顧客のために十分なリソース・キャパシティを有することも保証しなければならない。オンデマンドの顧客の要求に対応するのに利用できる余剰リソース・キャパシティは、「フリープール（free pool）」と呼ばれる。キャパシティ・プランナは、ＬＰＡＲ利用率の目標レベル（targetlevel）を設定することも多い。ＬＰＡＲ利用率は、利用可能なエンジンの数に対する使用中のエンジンの比率として表わされ、通常は、全キャパシティの百分率として表わされる。ＬＰＡＲ利用率目標には、顧客需要の不測の増加に対応するのに必要なリソースを提供すること、及び、顧客需要が予想外に少ない場合にリソースを無駄にするのを避けることの２つの目的がある。
【０００６】
オンデマンド・フリープール・キャパシティ・プランニングの既存の方法では、数学モデル又は統計モデルを用いて新たな顧客のためのリソース使用量を予測する。キャパシティは、新たな顧客の各々の予想されるニーズに対応するためにエンジンを追加することによって増大する。現在のキャパシティ・プランニング方法は、新たな顧客の各々の予想されるニーズと直接関連させてキャパシティを追加する。キャパシティ・プランニングの予測は、一部のデータ又は推定データに基づくものであるため、従来から不正確である。さらに、既存のキャパシティ・プランニング方法は、いずれかの時点におけるキャパシティに関して２以上の顧客の影響を考慮したものではない。例えば、現在のプランニング技術は、多数の顧客が予想キャパシティを上回るキャパシティを同時に用いることを考慮したものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、当該技術分野では、サービス義務を果たすのに必要なリソースのフリープール・サイズを推定する改善された方法及びシステムの必要性が存在する。
【課題を解決するための手段】
【０００８】
本発明は、請求項１に記載の方法、コンピュータ・プログラム及び装置を提供する。
【０００９】
以下に詳述される好ましい実施形態は、オンデマンド・データ・センタにおいて顧客に提供されるコンピュータ・リソースを管理するためのコンピュータ実装プロセス並びに付帯製品及び装置を含み、コンピュータ実装プロセスは、コンピュータ・リソースが顧客間で共有される共有コンピュータ環境を提供するステップと、共有コンピュータ環境内におけるコンピュータ・リソースの１つ又は複数の論理パーティションを顧客の各々に提供するステップと、少なくとも１つの処理エンジンを論理パーティションの各々に割り当てるステップと、選択された顧客のリソース利用率をベータ分布としてモデル化するステップであって、ベータ分布の最頻値は選択された顧客の予想リソース利用率を示す、ステップと、ベータ分布からランダムなリソース利用率値（random resource utilization value)を繰り返し選択し、論理パーティションごとに処理エンジン差（processing engine differential）を計算するステップであって、処理エンジン差は論理パーティションの各々に割り当てられた処理エンジンの数とランダムなリソース利用率を論理パーティションの各々に与えるのに必要な処理エンジンの数との差である、ステップと、繰り返しごとに、全処理エンジン差（collective processing engine differential）が最適な処理エンジン差に収束するまで全処理エンジン差を計算するステップと、最適なフリープール・サイズを達成するために、最適な処理エンジン差によって処理エンジンの数を調整するステップとを含む。
【００１０】
好ましくは、繰り返し数は少なくとも２０００回である。
【発明を実施するための最良の形態】
【００１１】
本発明の特性と考えられる新規な特徴は、特許請求の範囲に記載される。しかしながら、本発明自体、並びに、本発明の好ましい使用形態、更なる目的、及び利点は、添付の図面と共に読まれたときに例示としての実施形態についての以下の詳細な説明を参照することによって、最もよく理解される。
【００１２】
本発明の原理は、種々のコンピュータ・ハードウェア構成及びコンピュータ・ソフトウェア構成に適用できる。本明細書で用いられるときには、「コンピュータ・ハードウェア」又は「ハードウェア」という用語は、論理演算を受け取って実行し、データを格納し、又はデータを表示することが可能な、プロセッサ及びメモリを含むがこれらに限定されない、いずれかのマシン又は装置を指し、「コンピュータ・ソフトウェア」又は「ソフトウェア」という用語は、コンピュータ・ハードウェアに演算を実行させるように機能する命令のいずれかの組を指す。本明細書で用いられるときには、「コンピュータ」という用語は、限定されるものではないがハードウェアとソフトウェアとのいずれかの有用な組み合わせを含み、「コンピュータ・プログラム」又は「プログラム」は、限定されるものではないがコンピュータ・ハードウェアに論理演算を受け取らせて実行させ、データを格納させ、又はデータを表示させるように機能するいずれかのソフトウェアを含む。コンピュータ・プログラムは、限定されるものではないがサブルーチン、モジュール、機能、方法及び手順を含む、複数の小さいプログラミング・ユニットで構成することができ、また多くの場合、そのように構成される。従って、本発明の機能は、複数のコンピュータ及びコンピュータ・プログラム間に分散させることができる。しかしながら、本発明は、本発明の新規な態様を実装するように１つ又は複数の汎用コンピュータを構成し、それを可能にする、単一のコンピュータ・プログラムとして最もよく説明される。説明のために、本発明のコンピュータ・プログラムは、「オンデマンド・フリープール・モデラー」又は「ＯＤＦＰＭ」と呼ぶ。
【００１３】
さらに、ＯＤＦＰＭは、例示的なオンデマンド動作環境を参照して以下で説明される。オンデマンド・データ・センタにおいては、ハードウェア及びソフトウェアは共有され、自由度の高い自動化された方法で多数の顧客に同時に提供される。ＯＤＦＰＭは、標準化され、カスタマイズをほとんど必要とせず、拡張可能であり、従量料金モデルによってキャパシティをオンデマンドで提供する。図１は、本発明のオンデマンド動作環境１００のアーキテクチャの概要を示す。基盤サービス・レベル１０５においては、環境のコンポーネントは、サーバ１０６、ストレージ１０７、及びデータ１０８等のシステム・オブジェクトとすることも、特定の垂直産業のために定義されるか若しくはより一般的には産業全体にわたって水平方向に適用される、請求書発行１０９及び計測１１０等のビジネス・オブジェクトとすることもできる。アプリケーション・サービス・レベル１１５においては、コンポーネントは、高性能であるがはるかに自由度の高いアプリケーションを構成する、動的に統合されたアプリケーション・モジュールである。
【００１４】
ＯＤＦＰＭ２００と、そのコンポーネントである構成コンポーネント４００及び計算コンポーネント５００とは、典型的には、図２においてメモリ２２０として概略的に表わされるメモリに格納される。本明細書で用いられるときには、「メモリ」という用語は、コンピュータがデータ又はソフトウェアを任意の期間にわたって格納できる、電気回路、磁気ディスク、又は光ディスク等のいずれかの揮発性媒体又は永続的媒体を含むが、これらに限定されるものではない。単一のメモリは、複数の媒体を含むものとすることができ、複数の媒体にわたって分散させることもできる。従って、図２は、単に説明のための手段として含まれており、必ずしもメモリ２２０の特定の物理的実施形態のいずれかを示すものではない。しかしながら、図２に示されるように、メモリ２２０は、付加的なデータ及びプログラムを含むことができる。ＯＤＦＰＭ２００にとって特に重要なことは、メモリ２２０が、構成データ・ファイル２４０及び計算データ・ファイル２５０を含むことができ、ＯＤＦＰＭ２００がこれらと対話することである。
【００１５】
ＯＤＦＰＭ２００は、ベータ分布シミュレーションを用いて、利用率目標を達成するのに必要なフリープール・サイズを予測する。このシミュレーションは、確率を用いて、特定の可能性のある結果の範囲内で何千もの「仮定（what-if）」シナリオを実行する。事象の確率は、釣鐘曲線又はベータ分布として表現することができる。シミュレーションの結果をプロットし、統計的に分析して、最も可能性の高い結果を判断し、所望の結果を達成するための最適な変数の構成を計算することができる。ベータ分布シミュレーションは、所与の利用率目標のために必要なキャパシティを予測するのに顧客のリソース使用量の推定しか必要としない。ＯＤＦＰＭ２００は、ベータ分布を用いて顧客のリソース利用率を推定する。ベータ分布は、釣鐘曲線のような、閉積分（closed integral）である。全ての顧客は、それぞれのＬＰＡＲの０％から１００％までのどこかを用いる。ほとんどの時間、顧客は、例えば７０％といった利用可能なキャパシティの一部のみを用いる。ベータ分布は、顧客による使用量の全ての可能性のあるレベルを表わすランダムな利用率（random utilization）の、予測可能で反復可能な組を与える。ベータ分布の「最頻値」すなわち頂点は、顧客の予想利用率を示す。ベータ分布の曲線は、予想レベル又はそれに近いレベルでリソースを使用する顧客の確率が高いことを示し、両端での使用の確率が低いことを示す。例えば、図３は３つのベータ分布を示す。図３においては、ベータ分布３０１は０．５すなわち５０％で最頻値を有し、ベータ分布３０２は０．７すなわち７０％で最頻値を有し、ベータ分布３０３は０．９すなわち９０％で最頻値を有する。このベータ分布シミュレーションは、可能性のあるリソース利用率のベータ分布を用いて何千ものシナリオを実行し、目標利用率（target utilization）を達成するのに必要な変化を判断する。シミュレーションの結果は、目標利用率レベルに対応するのにどの程度のキャパシティが必要であるかを示すことになる。
【００１６】
図４は、構成コンポーネント４００の１つの実施形態を示す。構成コンポーネント４００は、キャパシティ・プランナによって起動されたときに開始する（４１０）。構成コンポーネント４００は、構成データ・ファイル２４０を開き（４１２）、シミュレーション入力値の入力をキャパシティ・プランナに要求する（４１４）。シミュレーション入力値は、ＬＰＡＲの数と、ＬＰＡＲの各々に対して割り当てられたエンジンの数と、全てのＬＰＡＲについての全目標利用率と、ＬＰＡＲの各々についての予想顧客利用率目標とを含む。パーティションの数と、パーティションの各々についてのエンジンの数は、リソースの初期構成を表わす。顧客利用率目標は、各々の顧客によってもたらされるＬＰＡＲ利用率の推定値であり、これは、通常、エンジンの費用と所望の性能基準とをバランスさせるものである。シミュレーション入力値は、構成データ・ファイル２４０に保存され（４１６）、構成コンポーネント４００は停止する（４１８）。
【００１７】
図５は、計算コンポーネント５００の１つの実施形態を示す。計算コンポーネント５００は、キャパシティ・プランナによって起動されたときに開始し（５１０）、構成データ・ファイル２４０及び計算データ・ファイル２５０を開く（５１２）。ＬＰＡＲの各々に関する実際の利用率について利用可能な既知の値は存在しないため、計算コンポーネント５００は、ベータ分布を作成して、可能性のあるＬＰＡＲ利用率のレベルの範囲を推定する（５１４）。ベータ分布の「最頻値」は、予想ＬＰＡＲ利用率に設定される。計算コンポーネント５００は、ベータ分布からランダムな利用率を選択し、ランダムに生成された利用率をサポートするのに必要なエンジンの数を計算し、計算値を計算データ・ファイル２５０に格納する（５１６）。本発明の１つの実施形態においては、キャパシティは完全エンジン（whole engine）の関数であり、結果は次の整数値に切り上げられる。しかしながら、代替的な実施形態は、部分エンジン（fractional engine）をサポートするものであり、従って、整数に切り上げる必要性が軽減される。しかしながら、部分エンジンを用いたときでも、次の整数値に切り上げることが望ましい場合がある。必要な新しいエンジンの数を計算するための式は、
(new_#_engines)=ceil(random_utilization/target_utilization*#_engines)
である。例えば、キャパシティ・プランナが、目標利用率５２％、パーティション内に３つのエンジンを指定し、ベータ分布からランダムに生成された利用率が８０%の場合は、式は、以下の結果、すなわち、
(new_#_engines)=ceil(0.80/0.52*3)=ceil(4.6)=5engines
となる。処理エンジン差は、新たな処理エンジンの数と、所与のＬＰＡＲに割り当てられた処理エンジンの数との差である（すなわち、new_#_engines - #_engines）。この例においては、顧客の予想利用率に対して目標利用率を達成するのに２つの追加エンジンが必要であるため、処理エンジン差は２つの追加エンジンに等しい。計算コンポーネント５００は、エンジンの新たな数に基づいてパーティションの新たな利用率を計算し、計算値を計算データ・ファイル２５０に格納する（５１８）。エンジンの新たな数を用いてパーティションの利用率を計算する式は、
new_utilization=random_utilization*#_engines/new_#_engines
である。計算コンポーネント５００は、ＬＰＡＲごとにステップ５１６−５１８を繰り返す（５２０）。ＬＰＡＲごとに利用率が計算された後、計算コンポーネント５００は、全処理エンジン差を計算し、計算値を計算データ・ファイル２５０に保存する（５２２）。全処理エンジン差は、全てのＬＰＡＲのために必要な新たな処理エンジンの数と、オンデマンド・データ・センタにおいて全てのＬＰＡＲのために割り当てられた元の処理エンジンの数との差を示す（すなわち、sum(new_#_engines)-sum(#_engines)）。計算コンポーネント５００はまた、新しい全ＬＰＡＲ平均利用率を計算し、計算値を計算データ・ファイル２５０に保存する（５２４）。計算コンポーネント５００は、次に、平均利用率を目標利用率と比較し、ステップ５１４−５２４は、平均利用率が目標利用率に収束するまで繰り返される（５２６）。
【００１８】
計算コンポーネント５００は、平均利用率が目標利用率に収束するまでに、２，０００回を超える繰り返しを実行することがある。平均利用率が目標利用率に十分近くなったときに繰り返しを止めるように閾値を設定することができる。新たな平均利用率は、ステップ５１６において次の全エンジンに切り上げることによって生じる制約のため、正確には目標利用率ではないことがある。全ての繰り返しが完了した後、計算コンポーネント５００は、最終的な計算されたフリープール及び最終的な目標利用率を表示する（５２８）。最終的な計算されたフリープールは、新しい顧客をサポートし、目標利用率を維持するのに必要な新しいエンジンの数である。最終的な目標利用率は、新しいフリープールによってサポートされる平均利用率である。出力を表示した後、計算コンポーネント５００は停止する（５３０）。
【００１９】
本発明の好ましい形態が、図面に示され、上で説明されたが、当業者であれば、好ましい形態の変化形が明らかであろう。前述の説明は単に例示を目的とするものであり、本発明は、示され説明された特定の形態に限定されるものと解釈されるべきではない。本発明の範囲は、特許請求の範囲の言葉のみによって限定されるべきである。
【図面の簡単な説明】
【００２０】
【図１】例示的なオンデマンド動作環境を表す。
【図２】コンピュータのメモリ内におけるプログラム及びファイルを示す。
【図３】例示的なベータ分布のグラフである。
【図４】構成コンポーネントのフロー・チャートである。
【図５】計算コンポーネントのフロー・チャートである。
【図１】
2009524135.tif 000003
【図２】
2009524135.tif 000004
【図３】
2009524135.tif 000005
【図４】
2009524135.tif 000006
【図５】
2009524135.tif 000007
【手続補正書】
【提出日】平成21年3月19日(2009.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するためのコンピュータ実装方法であって、前記コンピュータ・リソースは前記ユーザ間で共有され、前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、前記方法は、
選択されたユーザのリソース利用率をベータ分布としてモデル化するステップであって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、ステップと、
前記ベータ分布からランダムなリソース利用率値を繰り返し選択するステップと、
前記論理パーティションごとに第１の処理エンジン差を計算するステップであって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、ステップと、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するステップと、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するステップと、
を含む方法。
【請求項２】
前記ランダムなリソース利用率値を用いて前記ランダムなリソース利用率をサポートするための第１の処理エンジン数を決定するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の処理エンジンの数を用いて第１の利用率値を決定するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記論理パーティションごとに複数の利用率値を計算するステップと、
前記複数の利用率値を用いて平均利用率値を計算するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記平均利用率値と目標利用率値とを比較して前記平均利用率値と前記目標利用率値とが収束したかどうかを判断するステップをさらに含む、請求項４に記載の方法。
【請求項６】
第１のフリープール・サイズを達成するために、前記第２の処理エンジン差を用いて、前記論理パーティションの各々に割り当てられた処理エンジンの数を調整するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記選択されたユーザの予想リソース利用率は、予想ピーク・リソース利用率を含む、請求項１に記載の方法。
【請求項８】
前記選択されたユーザの予想リソース利用率は、予想平均リソース利用率を含む、請求項１に記載の方法。
【請求項９】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するためのコンピュータ・プログラムであって、前記コンピュータ・リソースは前記ユーザ間で共有され、前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、前記コンピュータ・プログラムは、コンピュータ上で実行されたときに、
選択されたユーザのリソース利用率をベータ分布としてモデル化するステップであって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、ステップと、
前記ベータ分布からランダムなリソース利用率値を繰り返し選択するステップと、
前記論理パーティションごとに第１の処理エンジン差を計算するステップであって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、ステップと、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するステップと、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するステップと、
を行うように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【請求項１０】
データ・センタにおいてユーザに提供されるコンピュータ・リソースを管理するための装置であって、
前記コンピュータ・リソースは前記ユーザ間で共有され、
前記コンピュータ・リソースの１つ又は複数の論理パーティションが前記ユーザの各々に割り当てられ、
少なくとも１つの処理エンジンが前記論理パーティションの各々に割り当てられており、
前記装置は、
選択されたユーザのリソース利用率をベータ分布としてモデル化するための手段であって、前記ベータ分布の最頻値は前記選択されたユーザの予想リソース利用率と関連する、手段と、
前記ベータ分布からランダムなリソース利用率値を繰り返し選択する手段と、
前記論理パーティションごとに第１の処理エンジン差を計算するための手段であって、前記第１の処理エンジン差は前記論理パーティションの各々に割り当てられた処理エンジンの数と前記第１の処理エンジンの数との差を含む、手段と、
繰り返しごとに、全処理エンジン差が第２の処理エンジン差に収束するまで前記全処理エンジン差を計算するための手段と、
前記ランダムなリソース利用率値を用いてフリープール・サイズを決定するための手段と、
を含む装置。
【国際調査報告】
2009524135.tif 000008
2009524135.tif 000009
2009524135.tif 000010