(57)【要約】      （修正有）【課題】特定のユーザの資源の可用性を該ユーザにかかるコストが最低限になるように計算する態様で変更するシステム及び方法を開示する。【解決手段】パーティションサーバのクラスタは資源容量を追加する様々な方法に伴う様々なライセンスコストに関して任意の時点で追跡するマスタコントローラを有するよう構成される。ユーザが追加の容量を必要とする場合、本システムは最小コスト分析に基づいて幾つかの考え得る資源強化のうちの何れを開始すべきかを計算する。【選択図】図５
2008108261.tif 000002
【特許請求の範囲】
【請求項１】
特定のユーザに対する資源の可用性を変更する方法であって、
特定の期間にわたるユーザの資源割当てを変更する必要を判定し(507)、
該特定の期間にわたる該資源割当てを、前記ユーザに対して最小限の追加コストを追加するよう計算する態様で変更する(502,503,505,506)、
という各ステップを含む、特定のユーザに対する資源の可用性を変更する方法。
【請求項２】
前記ユーザに対する前記最小限の追加コストの前記計算が、前記変更を行う時点で行われる、請求項１に記載の方法。
【請求項３】
前記資源割当てを、前記ユーザに対して前記最小限の追加コストを追加するように第２の時点で計算する態様で該第２の変更の時点で再び変更するステップ(504)を更に含む、請求項２に記載の方法。
【請求項４】
前記変更ステップが、サーバ内移管、サーバ間移管、及び一時アクティブ化という３つの資源タイプから資源を選択するステップを含み、
前記サーバ内移管が、サーバの１つのパーティションにおける資源を非アクティブ化すると同時にそれと同じサーバの別のパーティションにおける資源をアクティブ化することであり、前記サーバ間移管が、１つのサーバの資源を非アクティブ化すると同時に第２のサーバの資源をアクティブ化することであり、
前記一時アクティブ化が、前記ユーザに予め割り当てられていない資源をアクティブ化することである、
請求項１に記載の方法。
【請求項５】
コンピュータシステムであって、
ユーザにとって利用可能な特定のタイプの複数の資源(11-11,11-12,11-13)と、
特定のパーティションサーバから特定の時点で前記ユーザに利用可能となる前記特定のタイプの資源の数に対する制限を確立する手段(30)と、
前記特定の資源のうちの追加の資源に対する必要性を判定する手段(302,507)と、
該判定手段により初期化される、前記特定の資源のうちの追加の資源の前記ユーザによる利用を可能とする手段(304)であって、前記特定の資源のうちの前記追加の資源が、資源の様々な利用可能なプールから選択可能であり、該プールの各々が、該プールに関連する異なるコストを有する、前記特定の資源のうちの追加の資源の前記ユーザによる利用を可能とする手段(304)と、
前記追加の資源を何れの前記資源プールから取得すべきかを選択する手段(307〜310)と
を含む、コンピュータシステム。
【請求項６】
前記プールが、サーバ内移管、サーバ間移管、及び一時アクティブ化という３つのプールタイプのうちの少なくとも２つから選択され、
前記サーバ内移管が、サーバの１つのパーティションにおける資源を非アクティブ化すると同時にそれと同じサーバの別のパーティションにおける資源をアクティブ化することであり、前記サーバ間移管が、１つのサーバの資源を非アクティブ化すると同時に第２のサーバの資源をアクティブ化することであり、
前記一時アクティブ化が、前記ユーザに予め割り当てられていない資源をアクティブ化することである、
請求項５に記載のコンピュータシステム。
【請求項７】
前記資源がCPUであり、前記追加の資源が一時的に利用可能となる、請求項６に記載のコンピュータシステム。
【請求項８】
前記サーバの各々がそれぞれ１つのコントローラによって制御され、それらコントローラが少なくとも部分的に１つのシステムコントローラによって制御される、請求項６に記載のコンピュータシステム。
【請求項９】
コンピュータシステムであって、
複数のパーティションA-Nを有するサーバ(10-1)であって、その各パーティションが、ユーザに対して利用可能となる固定量の資源を有しており、該パーティションの各々の前記固定量の資源のうちの幾つかがアクティブであり、及び該パーティションの該固定量の資源のうちの幾つかは非アクティブである、サーバ(10-1)と、
前記ユーザに対してときおり利用可能となる少なくとも１つの資源の追加の資源プール(12-11〜12-1N)であって、該追加の資源プールからの資源が、前記ユーザが使用するためにアクティブ化されると、該使用について該ユーザに対して料金が発生する、少なくとも１つの資源のプール(12-11〜12-1N)と、
ユーザが追加の資源のアクティブ化を必要としているときを判定するコントローラ(22)とを含み、
該コントローラが、前記非アクティブな同じパーティションの資源と、前記少なくとも１つの資源プールからの前記資源とから、何れの資源が、前記ユーザ(30)が使用するためにアクティブ化された際に該ユーザに対する最小限の追加コストをもたらすものとなるかを判定するように更に動作することが可能である、
コンピュータシステム。
【請求項１０】
前記コントローラが、前記ユーザが前記追加の資源を必要としていると判定した際に、前記判定された最低コストの追加の資源をときおり前記ユーザに対して利用可能とするように更に動作することが可能である、請求項９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、特に予備計算容量の追加に関する。
［関連出願の相互参照］
本出願は、同時係属中である本出願人の「APPARATUS AND METHOD TO AUTOMATICALLY ACTIVATE A RESERVE RESOURCE」と題する2000年11月9日出願の米国特許出願第09／709,705号、「AN ASSEMBLY AND METHOD FOR BALANCING PROCESSORS IN A PARTITION SERVER」と題する2003年3月21日出願の米国特許出願第10/394,608号、及び「MULTIPLE SERVER WORDLOAD MANAGEMENT USING INSTANT CAPACITY PROCESSORS」と題する2005年10月28日出願の米国特許出願第11/261,298号に関連するものである。
【背景技術】
【０００２】
コンピュータサーバアーキテクチャにおいて、予備容量機能、すなわち、幾つかのサーバコンポーネントを物理的に利用可能にすることができる（が、かかる追加のコンポーネントの必要性が生じるまでそれらはアクティブ化されない）能力を提供することが、一般的に行われるようになった。かかる手法を使用することにより、ユーザは、必要とされる場合にのみ永久的に又は一時的に起動されることになる非アクティブプロセッサを備えたシステムを有することができる。ユーザは、最初は、実際にアクティブ化されたプロセッサに対してしか代金を支払わず、その代金は、プロセッサ（又は他のコンポーネント）の全装備を有するシステムのコストの一部である。各追加のプロセッサ（又は他のコンポーネント）がアクティブ化されると、ユーザは、そのアクティブ化されたコンポーネントについて料金が請求されることになる。この料金は、一括払いとすることが可能であり、又は、場合によっては日割り料金とすることが可能である。
【０００３】
予備容量は、必要な場合に手動でアクティブ化される。これは最適とは言えない。なぜなら、追加の資源への迅速なアクセスを必要とする急な要求が、時間外に且つ短期間にわたり発生する可能性があるからである。この場合、手動でのアクティブ化は困難である。上記で列挙したような作業負荷管理における最近の開発により、容量を自動的に管理する幾つかの手法が提案された。かかる手法は、例えば、パーティションのうちの１つにおける急な要求に対応するために複数のパーティションにわたる予備プロセッサライセンスの自動的な移行を可能にすること、複数のサーバにわたり予備プロセッサライセンスを自動的に移行すること、及び一時的な予備容量を自動的に配備することである。
【発明の開示】
【課題を解決するための手段】
【０００４】
一実施形態では、特定のユーザの資源の可用性を、該ユーザにかかるコストが最低限になるように計算する態様で変更する、システム及び方法を開示する。パーティションサーバのクラスタは、一実施形態では、資源容量を追加する様々な方法に伴う様々なライセンスコストに関して任意の時点で追跡するマスタコントローラを有するよう構成される。ユーザが追加の容量を必要とする場合に、本システムは、最小コスト分析に基づいて幾つかの考え得る資源強化のうちの何れを開始すべきかを計算する。
【０００５】
本発明のより完全な理解のために、ここで、添付図面と共に以下の説明を参照する。
【発明を実施するための最良の形態】
【０００６】
図１は、作業負荷管理システム30を有するパーティションサーバコントローラ21-1によって制御されるアクティブ資源（11-11〜11-1N）と非アクティブ資源（12-11〜12-1N）とを共に有するパーティションサーバの一実施形態10-1を示している。
【０００７】
図示するように、任意の数のパーティション（A-N）を配置することができ、各パーティション内でアクティブ資源及び非アクティブ資源の数は任意数とすることができる。図１に示すように、アクティブ資源及び非アクティブ資源はCPUであるが、これは様々な資源の例示に過ぎず、例えば、入出力装置、アプリケーション、帯域幅割当て等とすることが可能である。既述のように、例えばパーティションAはときおり過負荷状態になる場合があり、ユーザが料金を支払ったCPUよりも更に多くのCPUを必要とする場合がある。かかる状況では、非アクティブ資源12-11のうちの１つ又は２つ以上をアクティブ化して、該追加の資源についてユーザがライセンス料を支払うようにすることが望ましい。問題は、割り当てることができる資源には様々なタイプが存在するということである。例えば、同じパーティションの非アクティブ資源をアクティブ化すること、又は一定期間にわたって別のパーティションからアクティブ資源もしくは非アクティブ資源を借りることが可能となり得る。これらの様々な可能性については以下で説明することとする。
【０００８】
図２は、パーティションサーバ10-1〜10-Nのクラスタの一実施形態20を示す。各サーバはパーティションコントローラ21-1〜21-N等のパーティションサーバコントローラにより制御され、次いでそれらサーバはマスタコントローラ22により制御される。マスタコントローラ22は、異なるコントローラから来る要求のアービトレータとして有効に機能する。パーティションサーバをクラスタで構成する目的は、例えば、サーバ10-1における非アクティブ資源をアクティブ化するためにクラスタ10-2におけるアクティブ資源を非アクティブ化することができるようにすることにある。これは、ユーザにとってコストＸを要するものとなり、該Ｘは、サーバ間のライセンス移行を制御するようにクラスタサーバを管理するために必要なラインセンスを与えるコストに関連するものである。
【０００９】
図３は、例えばポリシー定義エンジン301、監視エンジン302、及びアービトレーションエンジン303を有する作業負荷管理システムの一実施形態30を示している。これらのエンジンは、監視エンジン302が様々な資源の実際の使用を監視している間にポリシー定義エンジン301を介して各ユーザにとって利用可能なポリシーを確定するために利用される。様々な資源割当て間で競合が発生した際に、アービトレーションエンジン303は、様々な競合する経済状態とユーザとの間の争議を調停する。
【００１０】
コストベースコントローラ31は、例えば様々なオプション及び様々なオプションのコストを示すテーブル40等のテーブルを含むコストデータベース305を使用して、様々なオプションについてのコストを計算するよう動作する。
【００１１】
資源コントローラ307〜310は、各サーバ毎にパーティションを制御する。コストベース予備アクティブ化マネージャ304は、パーティションサーバ単位で各アプリケーションに対して何れの資源が利用可能であるかを制御する責務を負う資源コントローラと通信する。
【００１２】
図４は、様々な動作についてのコストチャートの一例40を示している。この例では、３つのアクティブ化動作（オプション）が列挙されている。その全ては固定のコストが各々割り当てられたCPUである。なお、より一般的な場合には、資源はメモリその他の何らかのコンピュータ資源とすることが可能であり、コストは一組の規則に基づいて動的に計算することが可能である、ということに留意されたい。例えば、ポリシー定義エンジン301（図３）の制御下で、あらゆる所与の時点における状況に応じて様々なコストを割り当てることが可能である。したがって、CPUがそれほど高価でない場合にメモリが貴重となる場合もある。
【００１３】
チャート40に示すように、サーバ内移管(intra-transfer)動作は、１つのパーティションにおけるCPUを非アクティブ化し、これと同時に異なるパーティションにおけるCPUをアクティブ化することである。図示の例では、この動作のドル・コストは0である。
【００１４】
サーバ間移管(inter-transfer)動作は、サーバA内の１つのパーティションにおけるCPUを非アクティブ化し、これと同時にサーバB内の異なるパーティションにおけるCPUをアクティブ化することである。この動作のドル・コストは、各動作毎に23ドルに固定されている。
【００１５】
一時動作は、一定時間にわたりプロセッサをアクティブ化することである。この動作について計算されるコストは87ドル／分である。
【００１６】
上記のチャート40は、パーティション単位でコストベース割当てマネージャにより維持され、及び作業負荷管理システムにより動作が実行される際に更新され、これは必要であれば監視エンジン302により監視することが可能である。
【００１７】
図５は、予備容量の追加の選択的な制御のためのプロセスの一実施形態50を示している。動作時、プロセス501は、可用性及びコストを含むアクティブ化動作のチャートを初期化する。例えば、チャート40（図４）を初期化する。例えばサーバ10-1のパーティションAにおいて追加の容量が必要であると仮定する。かかる条件下で、パーティションサーバコントローラ21-1（図１）は、サーバ10-1のパーティションAに関する追加容量のアクティブ化の必要性を通知する。
【００１８】
プロセス503は、利用可能なアクティブ化動作のチャート（例えば初期化されたチャート40（図４）等）を調べる。次いで、プロセス504は、最低コストの動作を選択する。
【００１９】
この例では、CPU資源のサーバ間移管により最低コスト（230ドル）がもたらされることになる。これは、必要な時間（3分）が261ドルであり、動作単位では10の動作が必要とされるからである。しかし、サーバ間移管動作は、この時点では利用可能でない（チャート40,図４参照）。チャートはプロセス50を介して更新され、別の選択がなされる。この場合には、サーバ内移管が利用可能となり、このため、プロセス506の下で実行される際のコストはゼロである。このときのパフォーマンスが許容可能である場合には、プロセス507は終了処理を制御する。しかし、許容可能でない場合には、プロセス507はプロセス502〜506を介して繰り返して追加の資源を追加する。
【００２０】
上述した実施形態は、ユーザに対して最低コストで開始し、追加の資源に対する必要性が満たされるまで、よりコストを要する方法を用いてコストを段階的に上げる、幾つかの予備容量戦略を提供するものである。コストによって分類される考え得る戦略の例は以下の通りである。
【００２１】
コストなし：障害の発生したパーティションから予備容量を有する別のパーティションへプロセッサライセンスを自動的に移行させる。サーバパーティションにおける予備容量は、障害の発生したパーティションにおいて現在利用不能な資源についてのクレジットを使用してアクティブ化される。
【００２２】
幾分かのコスト：同じサーバ内の異なるパーティションから更なるプロセッサ能力を緊急に必要とする別のパーティションへプロセッサライセンスを自動的に移行させる。また、異なるサーバ内の異なるパーティションから更なるプロセッサ能力を緊急に必要とする問題が発生したサーバ内のパーティションへプロセッサライセンスを自動的に移行する。
【００２３】
より高いコスト：テレフォンカード方式と同様に、短期間にわたり１つ又は２つ以上のプロセッサライセンスをアクティブ化する。
【図面の簡単な説明】
【００２４】
【図１】アクティブ資源及び非アクティブ資源を共に有するパーティションサーバの一実施形態を示すブロック図である。
【図２】パーティションサーバのクラスタの一実施形態を示すブロック図である。
【図３】作業負荷管理システムの一実施形態を示すブロック図である。
【図４】作業負荷管理システムの一実施形態における、様々な動作についてのコストチャートの一例を示す図である。
【図５】作業負荷管理システムの一実施形態における、予備容量追加の選択的制御のためのプロセスの一実施形態を示すフローチャートである。
【図１】
2008108261.tif 000003
【図２】
2008108261.tif 000004
【図３】
2008108261.tif 000005
【図４】
2008108261.tif 000006
【図５】
2008108261.tif 000007