(57)【特許請求の範囲】
【請求項１】
課金サーバ・データ処理システムにネットワークを介して接続されうるクライアント・データ処理システム内で待機リソースの未返還リソース使用率を確定するための方法であって、前記待機リソースは指定されたアクティビティ期間を有し、前記方法は、
前記指定されたアクティビティ期間内で動作している前記待機リソースの予想使用データを確定するステップと、
測定可能な課金事象が検出されると、前記指定されたアクティビティ期間外で動作している前記待機リソースの未返還使用データを確定するステップであって、未返還の待機リソースの動作を中断することなく定期的に前記未返還リソース使用率データを確定するステップを更に含む、前記確定するステップと、
前記待機リソースの前記予想使用データとは別個に、前記待機リソースの前記確定された未返還使用データを処理するステップと、
前記処理された未返還使用データを出力するステップであって、前記クライアント・データ処理システムのメモリ内に前記処理された未返還使用データを格納するステップを含み、当該メモリは前記課金サーバ・データ処理システムによってアクセス可能である、前記格納するステップと
を含む、前記方法。
【請求項２】
前記未返還使用データを確定するステップが、前記指定されたアクティビティ期間外で動作している前記待機リソースに応答して、前記未返還使用データに関連付けられたカウントを開始するステップを更に含む、請求項１に記載の方法。
【請求項３】
測定可能な課金事象の検出に応答して前記カウントを増分（インクリメント）するステップを更に含む、請求項２に記載の方法。
【請求項４】
前記測定可能な課金事象の検出が、時間単位、１日、プロセッサ・サイクル、ソフトウエア・プロンプト、およびリソース使用率から成る群から選択される少なくとも１つのイベントの検出である、請求項３に記載の方法。
【請求項５】
前記未返還使用データを確定するステップが、前記待機リソースに関連したアクティビティ・レコードを含むメモリをサンプリングするステップを更に含む、請求項１に記載の方法。
【請求項６】
前記未返還使用データを確定するステップが、最小リソース要求、オペレーティング・システム設定、およびプログラム設定から成る群から選択される少なくとも１つの設定の前記データ処理システム内の指定に基づいて、前記待機リソースが回収不可能であることを判定するステップを更に含む、請求項１に記載の方法。
【請求項７】
前記未返還使用データを確定するステップが、前記未返還リソース使用率を確定することに応答して第２の待機リソースのアクティビティを制限するステップを更に含む、請求項１に記載の方法。
【請求項８】
前記未返還使用データを確定するステップが、前記待機リソースを回収するステップを更に含む、請求項１に記載の方法。
【請求項９】
前記指定されたアクティビティ期間外で動作している前記待機リソースのレコードを格納するステップを更に含む、請求項１に記載の方法。
【請求項１０】
測定可能な課金事象の検出に応答して、前記予想使用データに関連したカウントを減分（デクリメント）するステップを更に含む、請求項１に記載の方法。
【請求項１１】
前記待機リソースの前記未返還使用データを処理するステップが、前記予想使用データとは別個に前記未返還使用データを格納するステップを更に含む、請求項１に記載の方法。
【請求項１２】
前記出力するステップが、前記処理された未返還使用データを前記課金サーバ・データ処理システムに送信するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
前記送信するステップが、前記処理された未返還使用データを符号化するステップを更に含む、請求項１２に記載の方法。
【請求項１４】
前記送信するステップが、前記処理された未返還使用データを認証するステップを更に含む、請求項１２に記載の方法。
【請求項１５】
前記待機リソースの活性化を開始する要求を生成するステップを更に含む、請求項１に記載の方法。
【請求項１６】
予め構成した待機リソース要求オプションを生成するステップを更に含む、請求項１に記載の方法。
【請求項１７】
前記待機リソースを回収不可能として指定するステップを更に含む、請求項１に記載の方法。
【請求項１８】
前記待機リソースを前記データ処理システムに手動もしくは自動で割り当てるステップを更に含む、請求項１に記載の方法。
【請求項１９】
返還する前記待機リソースを指定するステップを更に含む、請求項１に記載の方法。
【請求項２０】
前記待機リソースは、ユーザによって一時的に活性化されるまで休止状態である、請求項１〜１９のいずれか一項に記載の方法。
【請求項２１】
指定されたアクティビティ期間を有する待機リソースを含むコンピュータに請求項１〜２０のいずれか一項に記載の方法の各ステップを実行させるプログラム。
【請求項２２】
課金サーバ・データ処理システムにネットワークを介して接続されうるクライアント・データ処理システム内で待機リソースの未返還リソース使用率を確定するための分散型コンピューティング・システムであって、ＣＰＵが請求項１〜２０のいずれか一項に記載の方法の各ステップを実行する、前記分散型コンピューティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング・システムに関し、更に具体的には、データ処理環境内での一時リソースの管理に関する。
【背景技術】
【０００２】
多くの場合、民間および政府による利用のためのコンピュータ・リソースの要求は、時が経つにつれて大きくなるか、または他の変化がある。例えば、企業は、最大アクティビティ期間を経験することがあり、この期間は、他の期間における相当する処理またはメモリ要求を上回る。別の状況では、売上高または従業員が増加すると、同様に、既存のコンピューティング・リソースに対して要求の増大で負担をかけることがある。これらのリソース要求の高まりに直面すると、ユーザは、従来、コンピューティング・ニーズの増大に対応することができる新たなハードウエア・リソースを購入しなければならなかった。かかる購入の必要は、ユーザにとって、不可能でないにしても大きな支出となる可能性があり、ユーザは急速な拡大の要求に対処する資本または時間が充分ではない場合がある。
【０００３】
この目的のため、International Business Machines Corporationによって開発された「キャパシティ・オン・デマンド（capacity on demand）」設計等のコンピューティング・アーキテクチャにより、カスタマは、必要に応じてプロセッサ等のリソースを効果的に「賃借する（rent）」ことができる。更に具体的には、カスタマは、機械内で最初は非作動である待機プロセッサ（standby processor）を一時的にイネーブルすることができる。所望の場合、待機プロセッサを機械の前払いの基本コストに含めない。このため、比較的小さい初期設備投資で、カスタマは、必要に応じて料金を払って待機プロセッサを活性化および非活性化することができる。
【０００４】
仮想プロセッサ環境においてイネーブルされると、多くの場合、待機プロセッサは多数のプロセス間で共有される。かかる環境は、従来、専用プロセッサおよび活性化した待機プロセッサの双方を含むために、１つ以上の物理的コントローラすなわち中央演算処理装置（ＣＰＵ）を有する単一のコンピューティング・マシンに依存する。このため、アクティブな待機プロセッサは、多数の仮想プロセッサをシミュレートするように構成されたソフトウエアを実行することができる。
【０００５】
マルチプロセッサ環境の中には、論理パーティショニング（logical partitioning）の概念的な実施をサポートするものがある。パーティショニングの実施によって、単一の機械が多数の仮想コンピュータの機能をシミュレートすることができる。更に具体的には、各論理パーティションが、コンピューティング資産を割り当てて他のパーティションと共有するために適したプログラムされたアーキテクチャを提供する。例えば、１つのパーティションは、論理的に、１つの予備または専用プロセッサの一部、ならびに、管理者（administrator）によって割り当てられたメモリおよび他のリソースを含むことができる。このため、管理者は、２つ以上のパーティションに同一の待機プロセッサを割り当てることができる。各パーティションは、更に、オペレーティング・システムおよび多数の仮想プロセッサのホストとなる。このように、各パーティションは、概して単独の（separate）コンピュータであるかのように動作する。
【０００６】
原則的に、待機（スタンバイ）プロセッサによってイネーブルされる各仮想プロセッサは、基礎にある物理的マシンの物理的リソースの多くにアクセスすることができる。代表的なリソースには、メモリ資産およびハードウエア・レジスタを含むことができる。仮想プロセッサは、更に、異なる仮想プロセッサ間でのような処理サイクルの割り当てを部分的に指示する（dictate）優先順位スキームまたはスケジュールを共有する場合がある。パーティション・マネージャと呼ばれる基礎にあるプログラムが、このスキームを用いて、待機プロセッサおよび基本プロセッサを各仮想プロセッサに割り当ててディスパッチすることができる。例えば、パーティション・マネージャは、オペレーティング・システムからのリソースの要求を代行受信（intercept）して、そのリソースをグローバルに共有し割り当てることができる。
【０００７】
このように、仮想プロセッサは、ホスト・パーティションのための論理的な実行スレッドとして機能する。このため、仮想プロセッサは、単独で命令を実行することができるが、その一方で単一の待機プロセッサを共有する。待機プロセッサおよび他の物理的資産の利用を繰り返すことで、パーティション化した環境は、性能および効率の向上を促進することができる。更に、プログラム可能なパーティションの柔軟性によって、リブートすることなく動的に負荷の変化に対応することができる。例えば、作業負荷が変化すると、１０の仮想プロセッサを含む２つのパーティションの各々が、共有する物理的システムの１０の利用可能な待機プロセッサおよび基本プロセッサの全てを占有し、リブートもオペレータの介入も必要ない。
【０００８】
このような文脈において、待機プロセッサを選択的に利用することで、カスタマは、もう一つの層のカスタマイズしたプロセッサ・アクセスおよび最適化した使用を得ることができる。逆の面から言えば、キャパシティ・オン・デマンド・システムによって、システム供給業者は、カスタマの性能およびコストの要求を満足させるための建設的な方法を得る一方で、更に収入源が増大する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このため、カスタマの待機プロセッサの使用を、課金（billing）および他の会計（accountability）の目的で監視しなければならない。しかしながら、待機リソース使用率の明細を明らかにすることに関連して生じる１つの問題は、割り当てた制限を超える使用に対処することである。例えば、待機プロセッサを、その規定されたアクティビティ期間（window of activity）内で回収する（reclaim）ことが、不可能であるかまたは望ましくないという状況が起こり得る。待機プロセッサの回収が違反のないシステム要求に影響を及ぼす場合に、かかる状況が起こり得る。従って、課金会社が、未返還（unreturned）の待機プロセッサの明細を適正に説明することができるように、監視機構が必要である。例えば、契約により明記された時間内に回収された待機プロセッサに対する料金よりも高い料金を、未返還のものに対して課することが望ましい場合がある。他の問題点は、契約した期間を超えて用いられたものが仮にあるとしたら、未返還の待機プロセッサをどのように回収するかということに関する。このため、未返還のプロセッサおよび他のコンピュータ・リソース使用（率）（usage）を確定する改善した方法が求められている。
【課題を解決するための手段】
【００１０】
本発明の原理に一致する１つの実施形態は、キャパシティ・オン・デマンド・データ処理システム内で未返還のリソースの使用を確定するように構成された装置、方法、およびプログラムを含む。１つの観点において、本発明に一致する実施は、未返還のリソース使用率データを確定して格納する。未返還使用データ（usage data）は、指定された契約期間内に返還されたリソースに関連した予想使用データとは別個に格納する。かかる区別によって、未返還リソース使用率データを別個に処理することができ、課金および他の会計上の実施の改善につながる。
【００１１】
所望の未返還リソース使用率出力に到達する際に、未返還および返還済みの双方の待機リソースの使用データを最初に確定する。例えば、待機リソースが、指定されたアクティビティ期間を超えて動作していることに応答して、未返還リソース使用率データを追跡するカウントを開始することができる。「アクティビティ期間」とは、概して、予想されたまたは契約されたリソースの使用を指す。カウントは、測定可能な課金事象が検出されるたびに増分することができる。かかる事象の例として、１課金日を含むことができる。そのように構成された場合、本発明に一致するプログラム・コードは、メモリからのカウントをサンプリングして、未返還リソース・ステータスを確定するか、あるいは以降または現在の待機リソース・アクセスを変化させるか、またはその両方とすることができる。例えば、プログラム・コードは、第１の待機リソースが未返還である場合、第２のものの活性化を制限する場合がある。本発明に一致する他のプログラム・コードは、待機リソースのアクティビティを中断することなく、未返還のリソース使用率（resource usage）を確定することができる。
【００１２】
いずれの場合でも、次に、予想リソース使用率データとは別個に未返還リソース使用率データを処理することができる。例えば、未返還リソース・データは、他の使用データとは異なるレートで課金する場合がある。また、かかる処理済みの未返還使用データは、適切な送り状（invoice）を作成する目的で、供給業者（プロバイダ）の課金コンピュータに送信することができる。
【００１３】
本発明の上述および他の目的および利点は、その添付図面および説明から明らかになろう。
【発明を実施するための最良の形態】
【００１４】
本明細書に組み込まれてその一部を構成する添付図面は、本発明の実施形態を例示し、先に与えた本発明の概略的な記載および以下に与える実施形態の詳細な説明と共に、本発明の原理を説明するのに役立つ。
【００１５】
本発明の一実施形態は、未返還の待機リソース使用率を確定するための装置、プログラム、および方法を含むことができる。一実施形態では、本発明に一致するプロセスは、未返還の予備使用データを他の待機リソース・データとは別個に監視し、格納し、または他の方法で処理する。使用の確定は、課金または他の会計上の目的のために用いることができる。図１および２に、かかる実施形態の実行に適したハードウエア環境を示す。
【００１６】
ハードウエアおよびソフトウエア環境
図１は、本発明の原理に一致する方法で、未返還の待機リソース１８の使用を確定するように構成された分散型コンピュータ・システム１０の実施形態を示す。更に具体的には、システム１０は、少なくとも１つの装置、例えば１つ以上のカスタマ・コンピュータ１２と、１つ以上の課金コンピュータ１４とを含む。本発明の目的のため、各コンピュータ１２、１４は、実質的に、分散型あるいはクライアント・サーバ環境またはその両方内で機能することができるいずれかのタイプのコンピュータ、コンピュータ・システム、または他のプログラマブル電子デバイスとすることができる。更に、各コンピュータ１２、１４は、例えばクラスタまたは他の分散型コンピューティング・システムにおいて、１つ以上のネットワーク化されたコンピュータを用いて実施することができる。多くの分散型システムにおいて一般的であるように、通常、多数のカスタマ・コンピュータ１２が、所与の課金コンピュータ１４に接続される。もっと高性能のコンピュータ・システムであれば、本発明の原理に一致するいくつかの実施形態において利点を与えることができるが、本明細書の目的のために適切な課金コンピュータ１４は、カスタマ・コンピュータ１２から送信された電子メッセージを受信し処理するように構成されたいずれかのデバイスを含めば良い。
【００１７】
カスタマ・コンピュータ１２は、典型的に、少なくとも１つの中央演算処理装置（ＣＰＵ）１６および１つ以上の待機リソース１８を含む。本明細書中で論じるように、本発明の原理に一致する適切な待機リソースは、コンピューティング環境の割り当て可能なコンポーネントまたは機能を含むことができる。このため、例示的な待機リソースには、他のコンポーネントの中でもとりわけ、プロセッサ、メモリ、プラグイン・カード、入力／出力コントローラ、アダプタまたはデバイス、および他のハードウエア・デバイスが含まれ得る。また、リソースは、かかるコンポーネントを多数含むことがある。例えば、ＮＵＭＡベースのアーキテクチャのため、ローカル・メモリおよび他のコンポーネントに結合した多数のプロセッサを含むプロセッサ・カードである場合がある。
【００１８】
例示した実施形態において、待機リソース１８は、ユーザによって一時的に活性化されるまで休止状態である（dormant）プロセッサとして実装される。かかる場合、ＣＰＵ１６および待機プロセッサ１８の双方は、メモリ１９に結合された少なくとも１つのマイクロプロセッサを含むことができる。メモリ１９は、ランダム・アクセス・メモリ（ＲＡＭ）デバイスとすれば良く、コンピュータ１２のメイン・ストレージ、および、例えばキャッシュ・メモリ、不揮発性またはバックアップ・メモリ（例えばプログラマブルまたはフラッシュ・メモリ）、リード・オンリ・メモリ等、いずれかの捕捉レベルのメモリを含むことができる。例えば、メモリは、指定されたアクティビティ期間内に非作動状態に戻っていない待機リソース１８の使用を確定するように構成されたプログラム・コード４２を含むことができる。更に、メモリ１９は、コンピュータ１２内の他のどこかに物理的に位置するメモリ・ストレージを含むと考えることができる。このメモリ・ストレージとは、例えば、ＣＰＵ１６におけるプロセッサ内のいずれかのキャッシュ・メモリまたはスマート・カード、ならびに、例えば大容量ストレージ・デバイス２０上または別のコンピュータ１２に結合された別のコンピュータ上に格納された仮想メモリとして用いるいずれかのストレージ・キャパシティである。
【００１９】
また、コンピュータ１２は通常、外部と情報を送受信するための多数の入力および出力を受け取る。例えば、ユーザまたはオペレータとのインタフェースとして、コンピュータ１２は、典型的にユーザ・インタフェース２２を含み、これは、１つ以上のユーザ入力デバイス（とりわけ、例えば、キーボード、マウス、トラックボール、ジョイスティック、タッチパッド、あるいはマイクロホンまたはそれら全て）およびディスプレイ（とりわけ、例えば、ＣＲＴモニタ、ＬＣＳディスプレイ・パネル、あるいはスピーカまたはそれら全て）を組み込んでいる。その他の場合、別のコンピュータまたは端末を介してユーザ入力を受信することができる。
【００２０】
追加のストレージのため、コンピュータ１２は、１つ以上の大容量ストレージ・デバイス２０も含むことができる。これは、とりわけ、例えば、フレキシブル・ディスクまたは他のリムーバブル・ディスク・ドライブ、ハード・ディスク・ドライブ、直接アクセス・ストレージ・デバイス（ＤＡＳＤ：direct access storage device）、光ドライブ（例えばＣＤドライブ、ＤＶＤドライブ等）、スマート・カード、あるいはテープ・ドライブまたはそれら全てである。例示的な大容量ストレージは、レジスタまたはデータベース４４を含むことができる。これは、格納されている未返還のリソース、要求されたリソース、およびリソース可用性ファイル４８、５６、および５２からそれぞれ発生した使用データを含む。以下で更に詳細に論じるが、システム１０は、システム１０の通常動作の間に記録したデータから、かかるファイル４８、５６、および５２を導出することができる。留意すべきことであるが、データベース、ファイル、および他の格納データの含有および分配は、本発明の原理に一致したまま実質的に変更可能であることは、当業者には認められよう。
【００２１】
更に、コンピュータ１２は、１つ以上のネットワーク（とりわけ、例えば、ＬＡＮ、ＷＡＮ、ワイヤレス・ネットワーク、あるいはインターネットまたはそれら全て）とのインタフェース２４を含んで、他のコンピュータおよび電子デバイスとの情報の伝達を可能とすることができる。コンピュータ１２は、通常、当技術分野において周知のように、ＣＰＵ１６とコンポーネント１８、２０、２２、および２４の各々との間の適切なアナログ・インタフェースあるいはデジタル・インタフェースまたはその両方を含むことは認められよう。
【００２２】
カスタマ・コンピュータ１２と同様に、課金コンピュータ１４は、ＣＰＵ２６、メモリ２８、大容量ストレージ２９、ユーザ・インタフェース３２、およびネットワーク・インタフェース３４を含む。更に、課金コンピュータ１４は、本人（借主）／賃主（lessor）双方の多数のコンピュータ、およびエージェント／ライセンシーのものも含むことができる。
【００２３】
コンピュータ１２、１４は、一般に、ネットワーク３６を介して互いに接続される。ネットワーク３６は、公共あるいは私有のものまたはその両方、有線あるいは無線またはその両方、局所（ローカル）あるいは広域またはその両方等とすることができる。更に、ネットワーク３６は、多数の相互接続ネットワークとすることも可能である。例示した実施形態では、例えば、ネットワーク３６はインターネットを含むことができる。かかる構成によって、カスタマ・コンピュータ１２上に格納した情報に容易にアクセスすることができ、適時な通知およびプログラム更新に役立つ。
【００２４】
各コンピュータ１２、１４は、オペレーティング・システム３８、４０の制御下で動作し、様々なコンピュータ・ソフトウエア・アプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、データ構造等を実行するかまたは他の方法で利用する。更に、様々なアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール等は、例えば分散型またはカスタマ課金コンピューティング環境において、ネットワークを介してコンピュータ１２、１４に結合された別のコンピュータにおける１つ以上のプロセッサ上で実行することができ、これによって、コンピュータ・プログラムの機能を実施するために必要な処理を、ネットワーク上の多数のコンピュータに割り当てることができる。
【００２５】
一般に、本発明の実施形態を履行するために実行するルーチンは、オペレーティング・システムの一部としてであれ、または特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、もしくは命令シーケンス、もしくはそのサブセットとして実装されるのであれ、本明細書では「コンピュータ・プログラム・コード」または単に「プログラム・コード」と称する。プログラム・コードは、通常、コンピュータ内の様々なメモリおよびストレージ・デバイスに様々な時点で存在する１つ以上の命令を含み、コンピュータ内の１つ以上のプロセッサによって読み取られて実行されると、本発明の様々な態様を具現化するステップまたは要素を実行するために必要なステップをコンピュータに実行させる。例えば、図１の実施形態は、未返還の待機リソース１８の使用を確定するように構成されたプログラム・コード４２を含む。補足的な（complementary）プログラム・コード４３が課金側に常駐することができるが、本発明の原理に一致する実施形態では、１つのみまたはいずれかの数の位置に常駐するプログラム・コードを使用可能であることは、当業者には認められよう。
【００２６】
更に、本発明は、完全に機能するコンピュータおよびコンピュータ・システムの文脈でこれまでもこの後も説明するが、本発明の様々な実施形態は、様々な形態のプログラムとして分配（配布）することができ、分配を実際に行うために用いる信号搬送媒体（signal bearing media）の特定のタイプとは無関係に本発明が同様に適用されることは、当業者には認められよう。信号搬送媒体の例は、とりわけ、揮発性および不揮発性メモリ・デバイス、フレキシブル・ディスク、および他のリムーバブル・ディスク、ハード・ディスク・ドライブ、磁気テープ、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ等）等の記録可能タイプの媒体、ならびに、デジタルおよびアナログ通信リンク等の送信タイプの媒体を含むことができるが、これらに限定されない。
【００２７】
更に、以下に説明する様々なプログラム・コードは、本発明の特定の実施形態においてそのコードを履行する用途に基づいて識別することができる。しかしながら、以下のいずれの特定のプログラム用語も単に便宜上のものに過ぎず、このため、本発明は、かかる用語によって識別あるいは暗示されるかまたはその両方であるいずれの特定の用途においてのみ用いることには限定されないことは認められよう。更に、コンピュータ・プログラムを、ルーチン、手順、方法、モジュール、オブジェクト等に組織化することができる方法が通常は無数にあり、更に、通常のコンピュータ内に常駐する様々なソフトウエア・レイヤ（例えば、オペレーティング・システム、ライブラリ、ＡＰＩ、アプリケーション、アプレット（applet）等）間にプログラム機能を割り当てることができる様々な方法があるので、本発明は、本明細書中に記載するプログラム機能性の特定の組織化および割り当てには限定されないことは認められよう。
【００２８】
上述のように、本発明に一致する多数の異なるコンピュータ・アーキテクチャにおいて、未返還の待機リソース使用率の追跡を実行することができる。本明細書に記載する機能を実施可能な１つの特定のアーキテクチャの例示として、図２は、論理的にパーティショニングしたコンピュータ・システム１００としてのコンピュータ１２の実施を示す。コンピュータ１００は、一般的に、例えば、ネットワーク・サーバ、中型コンピュータ、メインフレーム・コンピュータ等、多数のマルチ・ユーザ・コンピュータのいずれかとし、例えばＩＢＭ  ｅＳｅｒｖｅｒコンピュータであり、この内部で論理パーティショニングを利用する。しかしながら、本発明は、他のコンピュータおよびデータ処理システムにおいても実施可能であり、このため、本発明はこの特定の実施に限定されないことは認められよう。
【００２９】
コンピュータ１００は、一般に、バス１１６を介してメモリ１１４に結合された１つ以上のプロセッサ１１２を含む。各プロセッサ１１２は、シングル・スレッド・プロセッサ（single threaded processor）として、または、複数のハードウエア・スレッド１１９を組み込んで示すプロセッサ１１２ａによる等のマルチスレッド・プロセッサ（multithreaded processor）として実施可能である。主として、マルチスレッド・プロセッサ１１２ａの各ハードウエア・スレッド１１９は、コンピュータに常駐するソフトウエアによって、独立したプロセッサのように扱われる。この点で、この開示の目的のため、シングル・スレッド・プロセッサは、単一のハードウエア・スレッド、すなわち単一の独立した実行ユニットを組み込んでいると考えられる。しかしながら、シングル・スレッドおよびマルチスレッド・プロセッサの双方と関連付けて、ソフトウエア・ベースのマルチスレッディング（multithreading）またはマルチタスキングを用いて、コンピュータにおける多数のタスクの並列パフォーマンスを更にサポートすることができることは認められよう。
【００３０】
更に、図２にも示すように、プロセッサ１１２の１つ以上（例えばプロセッサ１１２ｂ）を、サービス・プロセッサとして実施することができる。これを用いて、専門のファームウエア・コードを実行して、システムの初期プログラム・ロード（ＩＰＬ：initial program load）を管理し、システム・ハードウエアを監視、診断、および構成する。一般に、コンピュータ１００は、１つのサービス・プロセッサおよび多数のシステム・プロセッサを含み、これらを用いて、コンピュータに常駐するオペレーティング・システムおよびアプリケーションを実行するが、本発明はこの特定の実施に限定されない。いくつかの実施において、サービス・プロセッサを、バス１１６を介する以外の方法で、コンピュータ内の様々な他のハードウエア・コンポーネントに結合することができる。図２に示すように、システム・プロセッサは、予備プロセサ１１８および他の一時リソース（temporary resource）を含むことができる。これらの待機プロセッサ１１８は、活性化されると、いずれかの他のプロセッサ１１２のようにコンピュータ内で機能することができる。
【００３１】
メモリ１１４は、当技術分野において周知のように、例えば、ＤＲＡＭベースのメイン・ストレージのようなメモリ・デバイスの１つ以上のレベルを含み、更に、データ、命令、あるいは、いくつかのキャッシュが個々のプロセッサまたは多数のプロセッサのいずれかに供する組み合わせキャッシュ、またはそれら全ての１つ以上のレベルを含むことができる。更に、メモリ１１４は、バス１２０を介して多数のタイプの外部デバイスに結合されている。外部デバイスは、例えば、１つ以上のネットワーク・アダプタ１２２（コンピュータをネットワーク（複数のネットワーク）１２４に接続するため）、１つ以上のストレージ・コントローラ１２６（コンピュータを１つ以上のストレージ・デバイス１２８に接続するため）、および、１つ以上のワークステーション・コントローラ１３０（複数のワークステーション・アダプタを介して１つ以上の端末またはワークステーション１３２に接続するため）である。
【００３２】
また、図２は、コンピュータ１００上で論理的にパーティショニングしたコンピューティング環境を実施する際に利用する主なソフトウエア・コンポーネントおよびリソースを更に詳細に示し、それらにはパーティション・マネージャ１３６によって管理される複数の論理パーティション１３４が含まれる。当技術分野において周知のように、いずれの数の論理パーティションでもサポートすることができ、コンピュータ内でいずれかの時点に存在する論理パーティションの数は、コンピュータからパーティションが追加または除去されると動的に変更することができる。
【００３３】
例示したＩＢＭ  ｅＳｅｒｖｅｒベースの実装では、パーティション・マネージャ１３６は、２つのプログラム・コード・レイヤから成る。第１のものは、本明細書ではノンディスパッチャブル部（non-dispatchable portion）１３８と称し、コンピュータ１００のファームウエア内、またはライセンス内部コード（ＬＩＣ：licensedinternal code）で実装され、これは、様々なハードウエア・コンポーネントに対する低レベルのインタフェースを提供するために用いられ、一方では、ハードウエア・アクセスの詳細から、例えばオペレーティング・システムのような高いレイヤを分離させる。また、ファームウエアは、サービス・プロセッサ１１２ｂ等のサービス・プロセッサと通信を行うことができる。また、ノンディスパッチャブル部１３８は、例えばページ・テーブル管理等、低レベルのパーティション管理機能の多くをコンピュータ１００に与える。また、ノンディスパッチャブル部１３８は、タスクの概念を有しておらず、もっと高いソフトウエア・レイヤから主に機能呼び出しを介してアクセス可能である。
【００３４】
パーティション・マネージャ１３６における第２のプログラム・コード・レイヤは、本明細書において、ディスパッチャブル（dispatchableportion）部１４７と称する。ノンディスパッチャブル部１３８が、タスクの概念を有さず、再配置（relocation）がオフの状態で動作し、より高いソフトウエア・レイヤからの機能呼び出しによってアクセス可能であるのに対して、ディスパッチャブル部１４７は、（あらゆるオペレーティング・システムと同様に）タスクの概念を有し、再配置がオンの状態で動作する。ディスパッチャブル部は通常、パーティションとほぼ同じように実行されるが、ユーザから隠されている点が異なる。ディスパッチャブル部は、一般に、パーティションの生成および削除、並行Ｉ／Ｏ維持、プロセッサ、メモリ、および他のハードウエア・リソースの様々なパーティション１３４への割り当て等、より高いレベルのパーティション管理動作を管理する。
【００３５】
各論理パーティション１３４は、通常、静的あるいは動的にまたはその両方で、コンピュータ１００における利用可能リソースの一部を割り当てられる。このリソースは、専用リソースおよび待機リソースのいずれかまたは双方を含むことができる。例えば、各論理パーティションに、１つ以上のプロセッサ１１２あるいは１つ以上のハードウエア・スレッド１１９またはその双方、ならびに、利用可能メモリ空間の一部を割り当てることができる。論理パーティションは、プロセッサ等の特定のハードウエア・リソースを共有して、２つ以上の論理パーティションによって所与のプロセッサを利用するようにすることができる。代替案では、ハードウエア・リソースを、一度に１つのみの論理パーティションに割り当てることができる。
【００３６】
当技術分野において周知の方法で、典型的に、例えば大容量ストレージ、バックアップ・ストレージ、ユーザ入力、ネットワーク接続、およびそのためのＩ／Ｏアダプタのような追加のリソースを、１つ以上の論理パーティションに割り当てる。リソースの割り当ては、例えば、バスごとに、またはリソースごとに、多数の論理パーティションが同一バス上のリソースを共有するように等、多くの方法で行うことができる。いくつかのリソースを、一度に多数の論理パーティションに割り当てることも可能である。
【００３７】
各論理パーティション１３４は、パーティショニングされていないコンピュータのオペレーティング・システムと同じように論理パーティションの主要動作を制御するオペレーティング・システム１４２を利用する。例えば、各オペレーティング・システム１４２は、International Business Machines Corporationから入手可能なＯＳ／４００オペレーティング・システムを用いて実装することができる。
【００３８】
各論理パーティション１３４は、別個のまたは独立したメモリ空間で動作し、このため、各論理パーティションは、かかる各論理パーティションにおいて動作する各ユーザ・アプリケーション（user app）１４４の観点から、独立した非パーティショニング・コンピュータとほとんど同じように機能する。このため、ユーザ・アプリケーションは、通常、パーティショニングした環境において用いるために特別な構成を何も必要としない。
【００３９】
別個の仮想コンポーネントとしての論理パーティション１３４の特性が与えられると、パーティション間通信をサポートして、論理パーティションが別個の物理マシン上にあるかのように論理パーティションを互いに通信可能とすることが望ましい場合がある。このため、いくつかの実装では、ノンディスパッチャブル部１３８において仮想ローカル・エリア・ネットワーク（ＬＡＮ）１４６をサポートして、イーサネット（登録商標）・プロトコル等のネットワーキング・プロトコルを介して論理パーティション１３４を互いに通信可能とすることが望ましい場合がある。また、本発明に従って、パーティション間の通信をサポートする他の方法も提供することができる。
【００４０】
本発明に従って、他の論理的にパーティショニングした環境を利用可能であることは認められよう。例えば、どのパーティション１３４からも独立したディスパッチャブル部１４７を利用するのではなく、代替案として、ディスパッチャブル部の機能性を１つ以上の論理パーティション内に組み込むことができる。更に、図２に示す具体的なリソースは本質的に単なる例示に過ぎず、代替案として、いかなるリソースの組み合わせおよび配置をいかなる論理パーティションに割り当てることも可能であることは認められよう。更に、いくつかの実施では、他の論理パーティションの必要性に対応するようにリソースを動的に再割り当てすることができることは認められよう。
【００４１】
図２に示し、本発明の実施形態を履行する様々なソフトウエア・コンポーネントおよびリソースは、多くの方法で実装可能である。その方法は、様々なコンピュータ・ソフトウエア・アプリケーション、ルーチン、コンポーネント、プログラム、オブジェクト、モジュール、データ構造、およびプログラムの使用を含む。更に、図１および２に示す例示的な環境は本発明を限定することを意図しないことは、当業者には理解されよう。例えば、本発明の原理がパーティショニングを行わない環境にも適用可能であることは認められよう。実際、本発明の範囲から逸脱することなく、他の代替的なハードウエアあるいはソフトウエア環境またはその両方を使用可能であることは、当業者には理解されよう。
【００４２】
未返還リソース確定機能
図３のフローチャートは、本発明の原理に一致する例示的な方法ステップを示す。フローチャートの方法ステップは、図１および２にそれぞれ関連付けて記載したもののような、キャパシティ・オン・デマンド・システム１０および１００上の待機リソース１８にアクセスしているユーザのために特に適している。一般に、図３の例示したプロセス・ステップ２００〜２５６は、本発明の原理に従って待機リソースの活性化および使用（率）確定プロセス（usage determination process）を開始する。
【００４３】
図３の実施形態のブロック２００〜２０４は、使用確定の前提条件として、本発明に一致するいくつかのアプリケーション内で機能することができる準備的なタスクおよび条件を含む。例えば、ブロック２００において、キャパシティ・オン・デマンド・サービスを望んでいるユーザは、最初に供給業者と契約を結ぶことができる。そうする際に、ユーザは、供給業者あるいは彼らのライセンシーまたはその両方に、リソース使用率の監視（モニタリング）を許可することに同意する場合がある。かかる監視は、例外的な状況のもとでは、カスタマ・コンピュータ１２からのファクス送信された印刷出力によって達成することができるが、通常、供給業者が、ネットワーク・リンクを介してカスタマ・コンピュータ１２上に常駐するメモリ１９あるいはレジスタまたはその両方にアクセスすることを含む。
【００４４】
このため、ブロック２０２において、ユーザは、彼らのカスタマ・コンピュータ１２に対するインターネットまたは他のネットワーク・リンクの確立を保証することができる。かかる保証によって、所定の動作期間中に契約上必要であり得る監視が可能となる。例えば、課金コンピュータ１４は、月単位で、ネットワーク３６を用いて、カスタマ・コンピュータ１２のプログラム・コード４２あるいはメモリ１９またはその両方に自動的にアクセスすることができる。すなわち、本発明と一致する一実施形態のプログラム・コード４２は、課金の照会に応答して使用データをアップロードするように構成することができる。
【００４５】
ブロック２００〜２０２に明記した全ての技術上および契約上の指示に応じるとすると、ブロック２０４において、提供業者は、イネーブル・コード（enablement code）をユーザに送信することができる。通常のイネーブル・コードは、英数字列または他の何らかのパスワードに同等のものを含むが、適切なイネーブル・コードは、更に、既定のトークン／キーあるいはバイオメトリック機構またはその両方を含むことができる。所望の場合、当技術分野において公知のいずれかの方法で、イネーブル・コードの送信およびイネーブル・コード自体を符号化（エンコード）することができる。例えば、符号化は、課金およびカスタマ・コンピュータ１４および１２のそれぞれの符号化および復号（デコード）ソフトウエア間の同期機構を含む場合がある。かかる予防策は、セキュリティを増し、有益なデータ・フォーマッティングを提供する。
【００４６】
ブロック２０６において、ユーザは、処理リソース増大についての現在または近い将来の必要性を認識する。例えば、ユーザの４つのプロセッサの基本（baseline）または専用のコンプリメント（compliment）は、新たなプロジェクトのための予想される作業負荷およびスケジュールを処理するには不適切である場合がある。このため、ユーザは、端末上で利用可能な待機リソース１８（例えばプロセッサを含む）を活性化することを選択して、作業負荷の増大に対処することができる。そして、ブロック２０８において、待機リソース１８の活性化を開始するため、ブロック２０４でユーザに供給したイネーブル・コードが、ユーザによってカスタマ・コンピュータ１２に入力される。
【００４７】
ユーザは、キャパシティ・オン・デマンド・セッション中にいつでもイネーブル・コードを入力することができ、フローチャートの残りのステップに関連するブロック２０８におけるイネーブル入力の挿入は例示的な目的のためのみであることは、当業者には認められよう。図３のフローチャートの全ステップおよびこの後のものと同様、ステップ２０８は、本発明の原理に従いながら、フローチャート内で再配置、省略、または増大（augment）することができる。例えば、本発明と一致する別の実施形態のプログラム・コード４２によって、課金コンピュータ１４は、イネーブル・コードを自動的にカスタマ・コンピュータ１２にダウンロードすることができ、ユーザによる労力を必要としない。
【００４８】
ブロック２１０では、カスタマ・コンピュータ１２のスマート・チップまたは他のコンポーネント上の認証プログラム５１によって、イネーブル・コードを検証することができる。ブロック２１０でイネーブル・コードが認証されたと仮定すると、ブロック２１２において、ステータス・ディスプレイをユーザに提示することができる。ステータス・ディスプレイは、待機リソースのアクティビティおよび可用性に関する情報をユーザに知らせることができる。例えば、ステータス・ディスプレイは、現時点では４つの待機リソース１８が活性化のために利用可能であるが、他の２つはすでに使用中であることを、ユーザのために確認することができる。
【００４９】
待機リソース活性化の要求が行われた場合に、かかるステータス情報を代替的または追加的にユーザに提示することができる。図３のブロック２１４において、ユーザは、かかる要求を開始する。すなわち、ブロック２１４において、ユーザは、１つ以上の待機リソース１８の活性化を引き起こすように構成された要求を開始（イニシエイト）する。要求は、通常、カスタマ・コンピュータ１２のプログラム・コード４２によって受信されて処理され、これが、カスタマ入力およびパーティション・マネージャ１３６を用いて、要求された待機リソース１８を活性化し割り当てる。しかしながら、その代わりに、本発明に一致する別の実施形態の課金コンピュータ１４では、ユーザから同様の要求を受信したことに応答して、待機リソース１８の活性化を開始することができる。
【００５０】
図４は、待機リソース要求を含む例示的なディスプレイ３００を示す。ディスプレイ３００は、ユーザ入力を受信するのに適したフィールド３０２〜３１０を含む。入力は、ユーザの短期間の処理要求を反映することができる。ディスプレイは、更に、ユーザによる参照のため、現在および過去のリソース使用率に関するステータス情報を含むことができる。例えば、図４のフィールド３０２は、カスタマ・コンピュータ１２が８の専用プロセッサを有することを示す。ユーザは、最大で図４のフィールド３０６に表示される数まで、要求する待機プロセッサ／リソース１８の数を入力フィールド３０４に入力することができる。
【００５１】
図４のフィールド３０５を用いて、要求した待機リソース１８の全てに対して活性化の期間（複数の期間）を指定することができる。本発明に一致する別の実施形態のディスプレイ３００では、ユーザが個々の待機リソース１８ごとに活性化期間を割り当てることができることは、当業者には認められよう。更に、典型的なかかる期間は日数を含むが、本発明の原理に従って、いかなる時間増分も代用することができる。本発明と一致するいくつかの実施形態では、プログラム・コード４２は、実際の使用日数には無関係に、またはこれに加えて、処理またはメモリ測定可能単位またはキャパシティでリソース利用を追跡する。課金できる単位または日数がいずれかの測定可能リソース性能特性を含み得る場合、かかる活性化の用語および実施は、更に、課金の実施へと変えることができる。
【００５２】
図４の例示的なディスプレイ３００は、更に、フィールド３０８および３１０に、それぞれいずれかの未返還リソース１８および要求されたリソース１８に関する履歴データを含む。そのように構成された場合、ユーザは、例えば「Ｆ８」または「エンター」のいずれかを押すことによって、要求の実行を取り消すかまたは開始することができる。マーケティング、効率、およびユーザの便宜を考慮すると、本発明に一致する実施形態は、ディスプレイ内に予め構成された待機リソース購入状況を含むことができる。例えば、ユーザは、フィールドまたはボタンをクリックまたは他の方法で示して、ディスプレイ３００上に提示された第１の予め構成したオプションを選択することができる。図４に示すように、第１のオプションは、３つの待機リソースをそれぞれ１０日間ずつ活性化することを含む。かかるオプションは、以前のユーザ要求と同様の内容を含むことができる。本発明に一致する別の実施形態のユーザは、追加の予め用意された購入状況を生成しカスタマイズして、彼ら自身の独特の要求傾向により良く合致させることができる。
【００５３】
要求を処理する前に、ブロック２１６において、カスタマ・コンピュータ１２は、ユーザに要求の細目を確認させることができる。例えば、ユーザは、「それぞれ１０日ずつの４つのプロセッサに対する要求を確認するためには、Ｆ１を押してください。または、要求を変更するためには、Ｆ２を押してください。」と書いてあるディスプレイを再検討する。このため、ブロック２１８において、ユーザは要求を変更または取り消すことができる。
【００５４】
あるいは、ユーザがブロック２１４における最初の要求のまま継続したい場合は、ブロック２２２において、プログラム・コード４２は、いずれかの待機リソース１８が現時点で未返還であるか否かを判定すれば良い。この目的のため、プログラム・コード４２は、リソース・ディスパッチを追跡しているカスタマ・コンピュータ１２のレジスタまたは他のメモリ１９を調べて、現在の未返還待機リソース１８の数を確認することができる。かかる機能は、未返還リソース１８の存在が残りの待機リソース１８の以降の可用性に影響を与える場合に、実施することができる。例えば、ブロック２２２において他の待機リソース１８が未返還のままである間、ブロック２２５において、本発明に一致する一実施形態のポリシおよびプログラム・コード４２は、ユーザが追加の待機リソース１８を活性化することを条件付きで防ぐ。代わりに、ブロック２２４において、プログラム・コード４２は、カスタマ・コンピュータ１２のユーザに通知を発行して、ポリシ仕様に従って未処理の（outstanding）リソースの１つ以上をまず戻すように忠告することができる。
【００５５】
あるいは、図３のブロック２２２において、プログラム・コードが、待機リソース１８はどれも未返還でないと判定した場合、プログラム・コード４２によってブロック２１４の要求を処理することができる。そのように構成した場合、ユーザは、ブロック２２６および２２８において、要求した待機リソース１８を割り当てることができる。例えば、ブロック２２８において、ユーザは、必要に応じて待機リソース１８を特定のパーティション１３４に割り当てることができる。
【００５６】
図５の例示的なディスプレイ４００は、本発明の原理に従って待機リソース１８をカスタマ・コンピュータ１２に割り当てる際に用いるためのインタフェースを示す。ディスプレイ４００は、カスタマ・コンピュータ１２の識別およびフィールド４０２を含むことができ、このフィールド４０２には、ユーザが要求した待機リソース１８の１つ以上を受信することを望むパーティション１３４の名前または他の識別子を指定することができる。このため、本発明に一致する実施形態は、異なるパーティション割り当てのために、多数のかかるディスプレイ４００を含むことができる。図５のディスプレイでは、同一または別のフィールド４０８によって、ユーザは、要求した待機リソース１８を共有プロセッサ・プールに割り当てることができる。本明細書中において論じるように、共有プロセッサ・プールは、パーティション１３４の各々が必要に応じてプロセッサのために使用可能である共通の（ユニバーサル）リソースとして機能することができる。
【００５７】
図５のディスプレイ４００のブロック４０６において、ユーザは、フィールド４０２および４０８でそれぞれ指定したパーティション１３４またはプールについて、待機リソース１８の最小数を指定することができる。この最小数は、ユーザが所与のパーティションにおいてアクティブであることを最低限に必要とするかあるいは所望するまたはその双方である待機リソース１８の数を表すことができる。このため、ユーザは、パーティションの現在または予想される作業負荷の関数として、最小数を割り当てることができる。本発明に一致する実施形態では、プログラム・コード４２は、最小限に必要であるとして指定した数の待機リソース１８を自動的に回収する（reclaim）ことができるが、通常はこれを行わない。例えば、最小限に指定した待機リソースの数は、別個にまたは全体として課金コンピュータ１４に伝達することができる。従って、本発明に一致する一実施形態のプログラム・コード４２は、それらの未返還のステータスにもかかわらず、未返還の待機リソース１８のアクティビティを中断しない。この特徴によって、ユーザにとって重要なプロセスの喪失および中断が防がれる。逆に、以下で更に詳細に述べるように、プログラム・コード４２によって、動作を実質的に中断することなく、最小限に指定していない数の未返還リソースを回復することが可能である。
【００５８】
図３に関して、ブロック２３０は、ユーザが待機リソース１８を重要であると指定可能な場合を反映する。図３のフローチャートは、ブロック２３４における活性化／利用の前にユーザが待機リソース１８の最小数を指定することを示すが、ユーザは、キャパシティ・オン・デマンド動作中のいかなる時点でも、条件の変化に応答して、かかる指定を変更することが可能であることは、当業者には認められよう。
【００５９】
あるいは、ユーザまたは提供業者は、図３のブロック２３２において、要求された待機リソース１８を手動でなく自動的に割り当てることを好む場合がある。このため、ブロック２３２において、プログラム・コード４２は、直接的なユーザの注目を必要とすることなく、システム１０のプロトコルごとに、要求された待機リソース１８を割り当てることができる。この特徴は、プログラム・コード４２がリソースを効果的に監視および割り当てることができる場合、あるいは待機リソース要求の頻度が高いシステムにおいて、またはその双方の場合、あるアプリケーションにおいて特に有利であり得る。
【００６０】
いずれの場合であっても、ユーザは、ブロック２３４において、ブロック２２６〜２３２で要求し割り当てた待機リソース１８を利用することができる。従って、ユーザは、カスタマ・コンピュータ１２の基本プロセッサ１６に関するものと同一または類似の方法で、要求した待機リソース１８にアクセスすることができる。更に具体的には、ユーザは、ブロック２３６において待機リソース１８の要求持続時間が終了するまで、通常のように待機リソース１８を利用することができる。かかる時間には、ブロック２３８において、ユーザは、１つ以上の待機リソース１８の終了または目前の終了の通知を受信することができる。
【００６１】
ブロック２４１においてプログラム・コード４２によって自動的に回復されない場合、ブロック２４０において、ユーザは、未返還の待機リソース１８の放棄（relinguish）を選択することができる。本発明に一致する一実施形態では、ブロック２４２において、ユーザは、ブロック２２８〜２３０で待機リソースを割り当てるため最初に用いたものと同様のプロセスを用いて、パーティション１３４あるいは返還する待機リソース１８またはその両方を指定することができる。所望の場合、かかる返還プロセス（return process）は、図５のものと同様のディスプレイを含むことができる。
【００６２】
いずれの場合でも、ユーザは、ブロック２４４において、待機リソース１８の返還に従うことができる。会計目的（accountability purpose）のため、ブロック２４８において、未返還の待機リソース１８の放棄を記録することができる。そのように構成された場合、カスタマ・コンピュータ１２においてローカルに、あるいは課金コンピュータ１４において遠隔で、またはその両方で、返還アクションを記録する。
【００６３】
あるいは、ブロック２４０において、ユーザは、未返還の待機リソース１８の放棄を断ることができる。本明細書において論じるように、この判定（決定）は、ブロック２３０で行った最小数の指定および他の設定から自動的に行うことができる。ブロック２４６において、ユーザによって、待機リソース１８の返還を断るというユーザの考えられる意図の通知を、確認あるいは会計目的またはその両方の目的のために再検討することができる。かかる通知は、テキスト・メッセージを含んで、未返還の待機リソース１８に関して、上昇したかまたはその他に変更した課金レートをユーザに知らせることができる。ブロック２４８において、通知およびユーザの判定の記録を行うことができる。
【００６４】
ある期間の後、ブロック２５０において、ユーザは供給業者からの送り状を受信し再検討することができる。例えば、ネットワーク３６を介して、カスタマ・コンピュータ１２に、電子メールの送り状が届く場合がある。ブロック２５４において、ユーザは、カスタマ・コンピュータ１２にローカルに格納された記録を用いて、送り状の細目の正確さを検証することができる。所望の場合、プログラム・コード４２は、かかる比較を自動的に実行することができる。従って、ユーザはその後、判定の結果に応じて、ブロック２５４または２５６において、送り状の支払いをするか、または供給業者もしくはそれらのエージェントに連絡を取ることができる。
【００６５】
図６は、図１の課金コンピュータ１４によって実行するのに適したプロセス・ステップを有するフローチャートを示す。更に具体的には、例示的な方法ステップは、課金コンピュータ１４のプログラム・コード４３により行うことができるアクションに関係する。１つの点で、プログラム・コード４３は、カスタマ・コンピュータ１２上の未返還の待機リソース使用（率）を確定し、その明細を明らかにする。ブロック５０４において、プログラム・コード４３は、確定プロセスを開始するため、カスタマ・コンピュータのソフトウエアあるいはハードウエアまたはその両方に問い合わせ（クエリ）を試みることができる。かかる問い合わせは、カスタマと供給業者との間の契約および必要な通信リンクが確立されていることを想定する場合がある。このため、ブロック５０４の問い合わせの試みはネットワーク通信を伴うことがある。この通信は、プログラマム命令あるいは符号語（code word）またはその双方を含むことができ、更に、課金サイクルと同時に行うことができる。例えば、かかる問い合わせは、月ごとあるいは日ごとまたはその両方で定期的に実行することができる。
【００６６】
ブロック５０６において、課金コンピュータ１４が、カスタマ・コンピュータ１２のソフトウエアあるいはメモリ１９またはその両方にアクセスすることに失敗した場合、供給業者は、ブロック５０８において、別の通信機構を介してユーザに連絡を取ろうと試みることができる。例えば、供給業者は、ユーザにファクスを送り、手紙を書き、または電話をかけて、通信リンクの故障およびその結果として何らかのサービス変更があることをユーザに知らせることができる。逆に、ブロック５０６におけるリンク確立が成功すると、ブロック５１０で課金コンピュータ１４によって認証することができる。かかる認証の技法は、当業者に公知の符号化送信技法を伴う場合がある。
【００６７】
ブロック５１２〜５１８において、課金コンピュータ１４は、カスタマ・コンピュータ１２のスマート・カードまたは他のコンポーネントのメモリ１９に問い合わせることができる。例えば、ブロック５１２において、課金コンピュータ１４は、現時点でユーザに利用可能な待機リソース１８の数に対応する数を、メモリ１９から検索することができる。同様に、ブロック５１４において、課金コンピュータ１４は、カスタマ・コンピュータ１２内で現在アクティブな待機リソース１８の数を反映するデータを、カスタマ・コンピュータ１２から検索することができる。ブロック５１６において、課金コンピュータ１４は、カスタマ・コンピュータ１２上でアクティブである未返還の待機リソース１８の数を示すデータをサンプリングすることができる。
【００６８】
ブロック５１８における別のステップは、未処理／未返還のリソースの現在の日数もしくは合計日数または他の課金可能な測定単位を検索することに関する。図８に関連付けて更に詳細に説明するが、未返還リソース日数は、待機リソースが未返還のままである各日ごとにカウントを増分することによって算出することができる。かかる算出は通常カスタマ・コンピュータ１２において行うが、本発明に一致する別の実施形態の未返還リソース日数は、課金コンピュータ１４によってアクティブに算出することができる。例えば、かかる実施形態のプログラム・コード４３は、カスタマ・コンピュータ１２あるいはローカルな課金メモリ２８またはその両方から検索した他の情報を処理して、未返還リソース使用（率）を確定することができる。
【００６９】
図７は、図６のブロック５１０〜５１８での課金コンピュータ１４による検索に適した例示的なリポート６００の内容を示す。リポート６００に、カスタマ・コンピュータ１２のシリアル・ナンバ６１４および型６１５をリストすることができる。リポート６００は、更に、システム・プロセッサの数６０２、ならびに、フィールド６０４および６０８にそれぞれ未返還および利用可能な待機プロセッサ数を含むことができる。所望の場合、リポート６００は、要求したおよび未返還のプロセッサの日数のそれぞれ関する履歴データを６１０および６１２に含む。図７のリポート６００のフィールド６０２〜６１５および図６の５１０〜５１８のブロックは、本発明のいくつかの実施形態に関して特定の用途を有することができるが、本発明の原理に従って、代替的あるいは付加的にまたはその両方で他のデータを課金コンピュータ１４に送信可能であることは、当業者には認められよう。
【００７０】
図６のブロック５１０〜５１８でカスタマ・コンピュータ１２から検索したデータの一部または全ては、ブロック５２０において、課金コンピュータ１４にローカルに格納されたデータと自動的に比較することができる。実装される場合、この特徴（フィーチャ）は、リポート精度の追加の層を与えることができる。例えば、供給業者は、カスタマ・コンピュータ１２を調べることによって、いずれかの不具合に手動で対処することができる。いずれの場合でも、ブロック５２４において、図６のブロック５１８で検索した未返還のプロセッサ日数を処理する。例えば、未返還プロセッサ日数は、供給業者によってブロック５２２で設定された課金レートで乗算することができる。かかる課金レートは、未返還ステータスを共有しない待機リソース１８のための通常の動作レートとは異なる場合がある。このため、本発明の実施形態は、未返還リソース使用率を他の予想待機リソース使用率から見分ける方法を提供する。未返還の待機リソース日数を説明し区別する能力により、課金手法の区別が可能となり、これによって、例えば、未返還リソース日数を、他の待機リソース日数よりも高いかまたは他の点で異なるレートで課金することができる。
【００７１】
次いで、ブロック５２６において、ブロック５２４で求めた課金可能量を、他の送り状データと組み合わせることができる。例えば、ブロック５２８において生成したカスタマ送り状は、未返還リソース日数データおよび通常のレートで賃借した待機リソース日数に関連付けた予想使用データの双方を含むことができる。
【００７２】
図８は、図１のコンピュータ・システム１０による実行に適した方法ステップを有するフローチャートである。更に具体的には、これらのステップは、本発明の原理に一致する方法で未返還リソース使用率を確定するように構成されている。通常、カスタマ・コンピュータ１２が、図８のプロセス・ステップ７００〜７３２を達成する。例えば、ブロック７００において、カスタマ・コンピュータ１２のプログラム・コード４２は、要求した待機リソース１８の活性化を開始することができる。本明細書中において論じるように、ブロック７００のプロセスは、待機リソース１８を適用可能パーティション１３４に割り当てるようにユーザに促すことを含み、更に、パーティション・マネージャ１３６のディスパッチ・プロセスを開始することを含むことができる。
【００７３】
ブロック７０２において、プログラム・コード４２は、ブロック７００の待機リソース要求の細目（particulars）の格納を開始することができる。かかる細目は、要求した待機リソース１８の数、識別子、持続時間、およびディスパッチ時間を含むことができる。ブロック７０４において、カスタマ・コンピュータ１２のカウンタ・プログラムあるいはレジスタまたはその両方が、購入した待機リソース１８の持続時間に相当する時間の減分（デクリメント）を開始することができる。すなわち、ブロック７０４において、活性化した待機リソースについて契約で規定した時間は減少し、ブロック７０６において終了する。
【００７４】
ブロック７０８において、活性化した待機リソース１８の持続時間の終了（expiration）を記録することができる。ブロック７１０において、プログラム・コード４２は、ユーザに対してその終了したステータスの通知を開始することができる。ブロック７１０のこの通知の後、ブロック７１２において、プログラム・コード４２は、ユーザから命令を受信して、未返還の待機リソース１８を放棄する。ユーザが予備プロセスを解放する場合、ブロック７１４においてプログラム・コード４２はそれらを回収する。会計目的のために所望の場合、ブロック７１６において、待機リソース１８の回収を予想リソース使用率として記録する。
【００７５】
ブロック７１２において、未返還の待機リソース１８が自発的に引き渡されない場合、図８のブロック７１８において、プログラム・コード４２は、未返還の待機リソース１８が最小の指定のもとで保護されているか否かを判定することができる。かかる指定は、ユーザによって割り当てられて、重要なアプリケーションのための連続的な（中断のない）処理を保証することができる。別の例では、オペレーティング・システムまたはパーティションにおいて実行する不正プログラムによって、待機リソース１８の回収（reclamation：再利用）が妨げられる場合がある。ブロック７１８において、かかる回収の制限が行われ得る場合、他の状況および設定が存在することは、当業者には認められよう。かかる保護あるいは設定またはその両方がしかるべき所に存在しない場合、ブロック７２０において、システム・ポリシによって、プログラム・コード４２は、ある数の未返還リソース１８を自動的に回収することができる。最小設定によって与えられるかかる保護は、ある文脈では有利である場合があるが、本発明に一致する他の実施形態では、かかる設定には無関係に未返還待機リソース１８を回収可能であることは、当業者には理解されよう。かかる状況は、カスタマが供給業者のガイドラインに従うのを拒否した場合に起こり得る。
【００７６】
逆に、ブロック７１８において未返還の待機リソース１８が回収不可能なままである場合、ブロック７２２において、プログラム・コード４２は、各未返還待機リソースごとに記録カウントを開始することができる。ブロック７２２において、カウントを増分（インクリメント）して、課金事象の経過または実現に一致させることができる。本明細書において論じるように、適切な課金可能事象は、サイクル、ソフトウエア・プロンプト、あるいはリソース性能のいずれかの測定可能特性またはそれら全てを含むことができるが、典型的に、動作の日数または他の何らかの時間的な測定基準（temporal metric）を含む。ブロック７２８において、適宜、カスタマ・コンピュータ１２は、ブロック７２２の増分の通知をユーザに表示することができる。ブロック７２４において未返還の待機リソース１８が取り戻されるまで、カウントはこのように増分を続けることができる。ブロック７２４における未処理の待機リソースの返還によって、ブロック７２６においてカウントの進行が終了する。
【００７７】
いずれの場合であっても、カウントは、課金コンピュータ１４にアクセス可能な方法で、カスタマ・コンピュータ１２のメモリ１９内に維持することができる。更に、カウントは、未返還リソースの総日数を表す。このため、ブロック７３２において、本発明に一致する一実施形態のカスタマ・コンピュータ１２は、課金コンピュータ１４への未返還待機リソース使用率の出力を開始することができる。処理または他の事項のために所望の場合には、課金コンピュータ１４のプログラム・コード４３は、個々の待機リソース・データとは無関係に、全ての未返還リソース使用率を表す総計数のみを検索することができる。
【００７８】
本発明について、様々な実施形態の記載によって例示し、これらの実施形態について相当に詳細に説明してきたが、特許請求の範囲をかかる詳細に制限すること、またはいかなる意味でも限定することは、本出願人等の意図するところではない。例えば、本発明の一実施形態において、ネットワーク化通信リンクは、情報交換のための最も有利な媒体を表すことができるが、本発明に一致する別の実施形態は、他の機構を利用する場合がある。例えば、企業は、本発明のプログラム・コード４２を用いて、使用リポートを印刷することができる。リポートは、以後、供給業者または供給業者のエージェントにファクス送信または郵送することができる。その他の利点および変形は、当業者には容易に明らかとなろう。従って、本発明はその広い態様において、具体的な詳細、代表的な装置および方法、ならびに図示し記載した実例となる例に限定されない。従って、本出願人等の広い発明の概念の範囲から逸脱することなく、かかる詳細から外れることがあり得る。
【図面の簡単な説明】
【００７９】
【図１】本発明に一致するソフトウエアを有する分散型コンピュータ・システムのブロック図である。
【図２】図１のカスタマ・コンピュータにおける主なソフトウエア・コンポーネントおよびリソースのブロック図である。
【図３】図１のカスタマによって実行するのに適した方法ステップを有するフローチャートである。
【図４】図３のフローチャートにおいて開始する待機リソース要求を受信するように構成されたディスプレイである。
【図５】図３のフローチャートのプロセスに従って図２のパーティションに待機リソースを割り当てるように構成されたディスプレイである。
【図６】図１の課金コンピュータによって実行するのに適した方法ステップを有するフローチャートである。
【図７】図６のフローチャートの方法ステップに関連して図１の課金コンピュータによって処理される例示的なリポートである。
【図８】図１のカスタマ・コンピュータ上での未返還リソース使用率を確定するのに適した方法ステップを有するフローチャートである。
【図１】
0005116304.tif 000002
【図２】
0005116304.tif 000003
【図３】
0005116304.tif 000004
【図４】
0005116304.tif 000005
【図５】
0005116304.tif 000006
【図６】
0005116304.tif 000007
【図７】
0005116304.tif 000008
【図８】
0005116304.tif 000009