(57)【要約】【課題】１つまたは複数の中央処理装置を有するコンピュータシステムで使用されるハードウェアベース使用量計測装置を提供すること。【解決手段】ハードウェアベースの使用量計測装置、およびこれに対応する方法が、ＣＰＵ使用量の計測値を供給するために、１以上の中央演算装置（ＣＰＵ）を有するコンピュータシステムにおいて使用される。本装置は、ＣＰＵに接続した状態インジケータ含む。状態インジケータは、ＣＰＵがビジー状態である第１の状態の時、表示を受け取る。カウンタは状態インジケータおよびシステムクロックに接続し、システムクロックからシステム時間の計測値を受け取り、ＣＰＵが第１の状態の時に、表示に関連するデータを受け取り、ＣＰＵが第１の状態である時間を示すカウンタ値を生成する。カウンタに接続するデータ使用プロバイダは、カウンタ値を不揮発性の値に保持する。【選択図】図１Ａ
2004054932.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアベースの使用量計測装置であって、
プロセッサに連結され、該プロセッサが第１の状態にある時を示す表示を受取る状態インジケータと、
該状態インジケータおよびシステムクロックに連結され、該システムクロックからシステム時間の測定値を受取るとともに前記プロセッサが前記第１の状態にある時を示す前記表示に関連するデータを受取り、該プロセッサが該第１の状態にある時間を示すカウンタ値を生成する、カウンタと、
該カウンタに連結され、前記カウンタ値を提供することができるデータ使用プロバイダと、
を備える装置。
【請求項２】
前記第１の状態はビジー状態であり、前記状態インジケータはアイドルインジケータである請求項１記載の装置。
【請求項３】
前記プロセッサは、該プロセッサが処理を行っていない時に該プロセッサを停止させるオペレーティングシステムを備え、前記アイドルインジケータは、前記プロセッサのピンに連結されたハードウェア装置であって、該ハードウェア装置は、アイドル表示を受取るために前記ピンにおいてアサートされる信号を読取るハードウェア装置である請求項２記載の装置。
【請求項４】
前記プロセッサは、該プロセッサがアイドルである時に該プロセッサをアイドルループに入れるオペレーティングシステムを備え、前記アイドルインジケータは、該プロセッサが該アイドル状態であることを示す値を保持する外部的に可視のレジスタを備える請求項２記載の装置。
【請求項５】
前記カウンタ値は、前記プロセッサが前記ビジー状態にある時にシステム時間の前記測定値に基づいて増分する請求項２記載の装置。
【請求項６】
前記プロセッサに電源が投入されると、前記カウンタは前記カウンタ値の現在の値を受取る請求項１記載の装置。
【請求項７】
前記データ使用プロバイダを外部ネットワークに連結し、プロセッサ使用量データを前記外部ネットワークに提供するために使用されるインタフェースをさらに備える請求項１記載の装置。
【請求項８】
複数のプロセッサを備えたコンピュータシステムにおいてプロセッサ使用量を測定するハードウェアベースの方法であって、
前記複数のプロセッサのうちのいずれかがビジーである時を確定するステップと、
ビジープロセッサに接続するカウンタにビジー表示を提供するステップと、
前記カウンタにおいてコンピュータシステム時間の測定値を受取るステップと、
提供された前記ビジー表示と前記プロセッサがビジーであると確定されるコンピュータシステム時間の量とに基づいて、前記カウンタのカウンタ値を増分するステップと、
該カウンタ値を保持するステップと、
を含む方法。
【請求項９】
前記プロセッサに電源が投入された時、前記カウンタ値の保持された値を使用して、前記カウンタの該カウンタ値を再初期化するステップをさらに含む請求項８記載の方法。
【請求項１０】
前記カウンタ値を保持するステップは、
使用データプロバイダにおいて前記カウンタからの前記カウンタ値の現在の値を更新するステップと、
更新された現在の前記カウンタ値を格納するステップと、
を含む請求項９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本技術分野は、中央プロセッサによる計測を使用して課金および他の目的のためにプロセッサ使用量を確定する従量課金（ｐａｙ−ｐｅｒ−ｕｓｅ）システムおよび方法に関する。
【０００２】
【従来の技術】
多くのコンピュータシステムユーザは、コンピュータシステム内のプロセッサ使用量の何らかの測度に基づいて課金される従量課金概念に目を向けてきている。プロセッサ使用量の測度は、プロセッサが使用中である時を確定する計測方式に基づいてよい。かかるプロセッサ使用量の計測は、目下、コンピュータシステムのオペレーティングシステム内で実行するソフトウェアによって達成される。
パーティション分割することができるハードウェアを有するコンピュータシステムでは、ハードウェアシステムからプロセッサ使用量データを収集するために、計測アプリケーションとハードウェア内で実行しているすべてのオペレーティングシステムとの間の通信が必要である。オペレーティングシステムが意図的に、他のオペレーティングシステムから分離され、他のオペレーティングシステムからの使用量データに対する可視性を有していないため、異なるオペレーティングシステムとの通信が必要であることによって重要な課題が提起される。さらに、パーティション分割されたシステムが配備されると、同じハードウェア上の異なるオペレーティングシステム間でネットワーク接続性が可能でなくなる場合があり、プロセッサ使用量を正確に計測する能力がさらに複雑になる。現行の解決法は、各オペレーティングシステムと独立して通信し、後に情報を統合することを含む。この解決法は、ネットワークアクセスが制限されており、エージェントソフトウェアがインストールされておらず、オペレーティングシステムが一時的に非稼動である等の場合に、厄介となる可能性がある。また、各パーティションがオペレーティングシステムの異なるインスタンスを実行することができるため、この解決法には、オペレーティングシステム特定エージェントの開発が必要である。特に、パーティション分割可能なコンピュータシステム内のオペレーティングシステムは、デフォルトにより互いと通信しないため、データプロバイダ（ソフトウェアエージェント）は、各オペレーティングシステム上で各パーティションからの使用量データを収集および送信し、または他の方法で提供するように実行することが必要とされる。このように収集された使用量データを統合することにより、プロセッサ使用量に対する全体の値が提供される。
【０００３】
【発明が解決しようとする課題】
本発明の目的は、１つまたは複数の中央処理装置を有するコンピュータシステムで使用されるハードウェアベース使用量計測装置および対応する方法を提供することである。
【０００４】
【課題を解決するための手段】
開示するものは、１つまたは複数の中央処理装置（ＣＰＵ）を有するコンピュータシステムで使用されるハードウェアベース使用量計測装置であって、ＣＰＵに連結され、ＣＰＵが第１の状態にある時を示す表示を受取る状態インジケータと、状態インジケータに連結されかつシステムクロックに連結され、システムクロックからシステム時間の測定値を受取るとともにＣＰＵが第１の状態にある時を示す表示に関連するデータを受取り、ＣＰＵが第１の状態にある時間を示すカウンタ値を生成する、カウンタと、カウンタに連結され、カウンタ値を提供することができるデータ使用プロバイダと、を備える装置である。
【０００５】
また、複数のプロセッサを備えたコンピュータシステムにおいてプロセッサ使用量を計測するハードウェアベースの方法であって、複数のプロセッサのうちのいずれかがビジーである（すなわち、アイドルでない）時を確定するステップと、ビジープロセッサに接続するカウンタにビジー表示を提供するステップと、カウンタにおいてコンピュータシステム時間の測定値を受取るステップと、受取られたビジー表示とプロセッサがビジーであると確定されるコンピュータシステム時間の量とに基づいて、カウンタのカウンタ値を増分するステップと、カウンタ値を保持するステップと、を含む方法も開示する。
【０００６】
最後に、開示するものは、複数のＣＰＵを備えたコンピュータシステムにおいてＣＰＵのハードウェアベース使用量計測を提供する装置である。ＣＰＵには、コンピュータシステム時間を計測する手段が接続される。さらに、複数のＣＰＵの各々に対し、本装置は、プロセッサがビジーである時を確定する手段と、プロセッサがビジーである時のビジー表示を提供する手段と、ビジー表示とコンピュータシステム時間の測定値とを受取る手段と、ビジー表示とコンピュータシステム時間の測定値とを結合してプロセッサ使用量を示すカウンタ値を生成する手段と、カウンタ値を保持する手段と、を含む。
【０００７】
詳細な説明は、以下の図面を参照するが、これらの図面において同様の数字は同様の要素を参照する。
【０００８】
【発明の実施の形態】
従量課金システムにより、コンピュータユーザは、特にユーザに対しシステム中央処理装置（ＣＰＵ）の実際の使用量のみに対して請求することにより、ユーザの特定の必要に合せることができる所与のコンピューティング能力を獲得することができる。ＣＰＵ使用量の測度は、プロセッサが使用中またはビジーである時を確定する計測方式に基づいてよい。かかるＣＰＵ使用量の計測は、目下、コンピュータシステムのオペレーティングシステム内で実行しているソフトウェアによって達成される。このオペレーティングシステム内で実行するソフトウェアを使用するＣＰＵ計測の方法は、オペレーティングシステムの単一のインスタンス（すなわち、タイプまたはバージョン）を実行しているＣＰＵには許容可能である。たとえば、かかる方式は、ＵＮＩＸのみまたはＷｉｎｄｏｗｓ（商標）のみを実行しているコンピュータシステムには許容可能である。しかしながら、ハードウェアおよびソフトウェアがパーティション分割可能であってよいコンピュータシステムの場合、ハードウェアシステムからＣＰＵ使用量データを収集するには、計測アプリケーションとハードウェア内で実行しているすべてのオペレーティングシステムとの間の通信が必要である。オペレーティングシステムが意図的に、他のオペレーティングシステムから分離され、他のオペレーティングシステムからの使用量データに対する可視性を有していないため、異なるオペレーティングシステムとの通信が必要であることによって重要な課題が提起される。さらに、パーティション分割されたシステムが配備されると、同じハードウェア上の異なるオペレーティングシステム間でネットワーク接続性が可能でなくなる場合があり、ＣＰＵ使用量を正確に計測する能力がさらに複雑になる。現行の解決法は、各オペレーティングシステムと独立して通信し、後に情報を統合することを含む。この解決法は、ネットワークアクセスが制限されており、エージェントソフトウェアがインストールされておらず、オペレーティングシステムが一時的に非稼動である等の場合に、厄介となる可能性がある。また、各パーティションがオペレーティングシステムの異なるインスタンスを実行することができるため、この解決法には、オペレーティングシステム特定エージェントの開発が必要である。特に、パーティション分割可能なコンピュータシステム内のオペレーティングシステムは、デフォルトにより互いと通信しないため、データプロバイダ（ソフトウェアエージェント）は、各オペレーティングシステム上で各パーティションからの使用量データを収集および送信し、または他の方法で提供するように実行することが必要とされる。このように収集された使用量データを統合することにより、ＣＰＵ使用量に対する全体の値が提供される。
【０００９】
ＣＰＵ使用量データを収集する開示された装置および方法は、これらの問題を克服する。装置および方法は、ＣＰＵが第１の状態にあるかまたは第２の状態にあると想定する。ＣＰＵ使用量は、ＣＰＵが一方の状態または他方の状態で費やす時間の測度に基づいてよい。実施形態では、第１の状態はビジー状態であってよく、それは概してＣＰＵがコンピュータシステムのユーザに対して有用な作業を実行するプロセスを実行していることを意味する。代替的に、第１の状態は、ＣＰＵが有用な作業を実行していないアイドル状態であってよい。ＣＰＵ使用量は、ＣＰＵが第１の状態にある時を検出するかまたは確定することに基づいてよい。第１の状態がビジー状態である実施形態では、本装置は、ＣＰＵがビジーであるか否かを判断する手段を含んでよい。ＣＰＵがビジーであるか否かを判断する手段は、ハードウェア手段を含んでよい。代替的に、ＣＰＵがビジーであるか否かを判断する手段は、ソフトウェア手段を含んでよい。また、本装置は、システム時間を測定し提供する手段と、システム時間とＣＰＵビジー表示とを結合してＣＰＵ使用量値を提供する手段と、をも含む。実施形態では、ＣＰＵ使用量はカウンタ値であってよい。たとえば、ＣＰＵがアイドル状態でないシステムクロックサイクル毎に、カウンタを１増分してよい。ＣＰＵがビジーであるか否かを判断するハードウェア手段は、コンピュータシステムに対するハードウェア変更を含む場合がある。ＣＰＵがアイドルであるか否かを判断する代替ソフトウェア手段は、ＣＰＵのオペレーティングシステムに対する変更を含む場合がある。さらに、本装置は、ＣＰＵ使用量値の不揮発バージョンを格納する手段と、ＣＰＵの起動時にＣＰＵ使用量値を初期化する手段と、コンピュータシステムの外部のシステムまたはネットワークにＣＰＵ使用量値を報告する手段と、を含んでよい。
【００１０】
図１Ａは、ハードウェアベース使用量計測を実施するコンピュータシステム１００の基本ブロック図である。システム１００は、オペレーティングシステムの複数のインスタンスが実行してよいＣＰＵ１１０を含む。すなわち、ＣＰＵ１１０は、異なるタイプのオペレーティングシステム（たとえば、ＵＮＩＸ、Ｗｉｎｄｏｗｓ（商標））と、特定のタイプのオペレーティングシステムの異なるバージョンと、をサポートしてよい。ＣＰＵ１１０には、アイドルインジケータ１２０が結合される。アイドルインジケータ１２０は、「アイドル」表示かまたは「非アイドル」／「ビジー」表示のいずれかを提供することができる。実施形態では、アイドルインジケータ１２０は、ＣＰＵ１１０が「アイドル」であるか否かを示す出力を提供する。アイドルインジケータ１２０の動作および構造については後述する。アイドルインジケータ１２０の出力は、カウンタ１４０に提供される。また、カウンタ１４０は、システムクロック１３０からも出力を受取る。システムクロック１３０は、チック（ｔｉｃｋ）またはサイクル、あるいはシステム時間の他の任意の測度を測定し、その後このデータ、またはシステム時間データの変更された形態をカウンタ１４０に提供してよい。
【００１１】
ＣＰＵ１１０がアイドル状態ではなくシステム１００のユーザに対しサービスを実行している場合、カウンタ１４０は、システムクロック１３０およびアイドルインジケータ１２０からの出力を使用して、ＣＰＵ１１０に対しＣＰＵサイクルを測定する。したがってＣＰＵ１１０に電源が投入されている間、カウンタ１４０は、図１Ａに示すようにカウンタ値を保持してよく、カウンタ値（たとえば、ＣＰＵサイクル）はシステム時間データおよびアイドルインジケータ出力に基づいて更新される。
【００１２】
カウンタ値は、カウンタ１４０から使用データプロバイダ１５０に提供される。カウンタ値を、周期的にまたはカウンタ１４０が使用データプロバイダ１５０によってポーリングされる時に、使用データプロバイダ１５０に提供してよい。
使用データプロバイダ１５０は、カウンタ値を追跡し、カウンタ値の不揮発マスタコピーを保持する。ＣＰＵ１１０に電源が投入される（または、ＣＰＵ１１０を含むハードウェアコンポーネントに電源が投入される）と、保存された不揮発カウンタ値は、使用データプロバイダ１５０からカウンタ１４０に提供され、カウンタ１４０のカウンタ値が初期化される。使用データプロバイダ１５０がカウンタ値の不揮発コピーを保持するため、電源喪失状態だけでなく、ＣＰＵ１１０または他のハードウェアコンポーネントが取除かれた場合でも、カウンタ値の最新のまたは略最新の値が常に入手可能である。
【００１３】
使用データプロバイダ１５０は、コンピュータシステム１００の外部のシステムまたはネットワーク（図示せず）への接続すなわちネットワークインタフェース１６０を維持する。たとえば、インタフェース１６０は、ローカルエリアネットワーク（ＬＡＮ）に対するローカルエリアネットワークインタフェースであってよい。ＬＡＮは、ＣＰＵ使用量を示すカウンタ値を含む、ＬＡＮに結合されたあらゆるコンピュータシステムからの情報を、受取り処理する、管理サーバを含んでよい。使用データプロバイダ１５０は、ネットワークインタフェース１６０によりカウンタ値の現在の値をネットワークに提供することができる。カウンタ値を、周期的にまたはネットワークにポーリング（ｐｏｌｌ：調査）される時に提供してよい。
【００１４】
上述したように、アイドルインジケータ１２０は、ＣＰＵ１１０がアイドルでないという表示を提供する。アイドルインジケータを、コンピュータシステム１００に対するハードウェア変更として実施してよい。たとえば、ＣＰＵによっては、ＣＰＵチップ上に、停止（アイドル）表示を提供するピンを含む。オペレーティングシステムによっては、ＣＰＵがコマンドを処理していない（すなわち、ＣＰＵがアイドルである）時にＣＰＵを停止させ、停止（アイドル）表示（すなわち、ハイまたはロー、あるいは０または１の値）をピンにおいてアサートしてよい。実施形態では、アイドルインジケータ１２０がピンに結合されることにより、停止（アイドル）表示を読出してよい。ＣＰＵがアイドルである時、他のオペレーティングシステムはＣＰＵを停止させない。代りに、オペレーティングシステムがＣＰＵ処理を必要とするまでＣＰＵが残っている場合、オペレーティングシステムはＣＰＵをアイドルループに入れてよい。実施形態では、アイドルループに入ると、外部的に可視のレジスタ値が、ＣＰＵがアイドルであることを示すように設定されるよう、オペレーティングシステムに対する変更を行ってよい。ＣＰＵがアイドルループから出る時、レジスタはクリアされる。上記のようなアイドルインジケータ１２０の２つの実施形態に加えて、ＣＰＵ１１０がアイドルであることを示すために他の構造および方法を使用してよい。
【００１５】
図１Ｂは、図１Ａに示すハードウェアベース使用量計測コンポーネントに対する実施形態の代替態様１０１を示す。図１Ｂにおいて、ＣＰＵ１１０は、使用データプロバイダ１５０に対する通信チャネル１４０’を有するオペレーティングシステムを実行してよい。通信チャネル１４０’を使用して、使用データプロバイダ１５０によって収集されるためにＣＰＵ使用量基準を通信してよい。この実施形態では、ＣＰＵ１１０を直接計測するハードウェア変更は、必要ではない。
【００１６】
図１Ｃは、ハードウェアベース使用量計測装置の選択されたコンポーネントをより詳細に示す。図１Ｃでは、カウンタ１４０を、任意選択のプロセッサ１４５を含むように示しており、このプロセッサ１４５を使用して、アイドル表示およびシステム時間データを処理することにより、カウンタ値に加えてＣＰＵ使用量基準を生成してよい。たとえば、プロセッサ１４５は、ＣＰＵ１１０がアイドルでない累積的な実時間またはシステム時間を計算してよい。使用データプロバイダ１５０を、カウンタ１４０から受取ったカウンタ値を格納する不揮発性記憶域１５５を含むように示す。不揮発性記憶域１５５は、カウンタ値を受取り格納することができるいかなる不揮発性記憶装置であってもよい。また、使用データプロバイダ１５０は、任意選択のプロセッサ１５６も含んでよく、このプロセッサ１５６を使用して、受取ったカウンタ値を、たとえばリアルタイムに総ＣＰＵ非アイドル時間等のＣＰＵ基準に変換してよい。また、プロセッサ１５６は、インタフェース１６０を介する使用量データに対する要求を処理してもよく、あるいはインタフェース１６０に接続されたＬＡＮ上の外部システムに周期的に使用量データを送信する要求を処理してもよい。
【００１７】
図２は、ＣＰＵ使用量データを計測するコンピュータシステム１００’のブロック図であり、ここではコンピュータシステム１００’は、オペレーティングシステムの複数のインスタンスを実行する複数のＣＰＵを含む。図２では、コンピュータシステム１００’は、ＣＰＵ１ないしＣＰＵ　Ｎ（１１０〜１１３として示す）を含む。この構成は、コンピュータシステム１００’がＮ個（Ｎは整数）のＣＰＵを含んでよい、ということを示すように意図されている。ＣＰＵ１１０〜１１３の各々には、対応するアイドルインジケータ（それぞれ１２０〜１２３）と対応するカウンタ（それぞれ１４０〜１４３）とが接続される。カウンタ１４０〜１４３の各々は、そのそれぞれのアイドルインジケータとシステムクロック１３０とから入力を受取る。図２に示すシステムクロック１３０は、図１Ａに示すシステムクロック１３０と同じ機能を実行し同じ構造を有する。カウンタの各々は、使用データプロバイダ１５０’に出力（そのそれぞれのＣＰＵに対するカウンタ値）を提供する。使用データプロバイダ１５０’は、図１Ａに示す使用データプロバイダ１５０と類似するが、コンピュータシステム１００’のＣＰＵ１１０〜１１３の各々に対するカウンタ値の不揮発測定値を保持する。最後に、コンピュータシステム１００’は、コンピュータシステム１００’の外部のシステムまたはネットワーク（図示せず）にＣＰＵ使用量データ（カウンタ値）を通信するインタフェース１６０を含む。
【００１８】
図３は、パーティションまたはセルに配置された複数のＣＰＵを有するコンピュータシステム１００”のブロック図である。ＣＰＵのうちの１つまたは複数は、オペレーティングシステムの複数のインスタンスを実行してよく、あるいは、いくつかのＣＰＵはオペレーティングシステムの特定のインスタンスを実行し他のＣＰＵはオペレーティングシステムの他のインスタンスを実行してよい。図３に示すように、コンピュータシステム１００”は、それぞれセル２００、３００および４００として示すハードウェアセル１〜Ｋを含む。この構成は、コンピュータシステム１００”がＫ個のセルを有してよい（Ｋは、コンピュータシステム１００”が１つのセルを有することを示す１を含む整数）、ということを示すよう意図されている。セルの各々は、コンピュータシステム１００”からグループとして取除くことができる一組のコンポーネントである。図３において分かるように、各セル内のコンポーネントの構成は、コンポーネントのタイプおよび数という意味で同一である。しかしながら、セルは、同じタイプかまたは同じ数のコンポーネントを含む必要はない。ハードウェアセル１〜Ｋの間のコンポーネントの分割に加えて、コンポーネントをパーティション分割するかまたは論理的に分類してよい。パーティションは、いかなる数のＣＰＵまたはいかなる数のセルを有してもよい。たとえば、セル１（２００）は、セル１にインストールされたＣＰＵの各々に対して１つずつの、４つの別々のパーティションを有してよい。代替的に、セル１（２００）およびセル２（３００）は第１のパーティションを有してよく、残りのセルはさらなるパーティションを有してよい。
【００１９】
セル２００を例にとると、４つのＣＰＵ２１０〜２１３が含まれている。しかしながら、セル２００は、４つより多いか少ないＣＰＵを含んでよい。ＣＰＵ２１０〜２１３の各々には、対応するアイドルインジケータ２２０〜２２３が接続される。アイドルインジケータの各々は、その接続するＣＰＵがアイドルである時を示す表示を受取り、現在のカウンタ値（ＣＰＵ使用量基準）を提供する対応するカウンタ２４０〜２４３に出力を提供する。カウンタ２４０〜２４３の各々は、システムクロック２３０から入力を受取る。システムクロック２３０は、図１Ａに示すシステムクロック１３０と同じ方法で機能する。
【００２０】
カウンタ２４０〜２４３の各々は、その接続するカウンタ値を使用データプロバイダ５００に提供する。使用データプロバイダ５００は、セル２００、３００および４００のＣＰＵの各々に対しカウンタ値のコピー（図３においてそれぞれ５０１〜５１２として示す）を保持する。使用データプロバイダ５００は、コンピュータシステム１００”の外部のシステムまたはネットワーク（図示せず）に対するインタフェース１６０を含む。
【００２１】
セル２００、３００および４００の構成により、コンピュータシステム１００”を動作させながら、コンピュータシステム１００”からセルのうちの１つまたは複数を取除くことができる。取除かれたセルのＣＰＵに対するカウンタ値の喪失を防止するために、カウンタ値は使用データプロバイダ５００に格納される。
実施形態では、格納されたカウンタ値を、不揮発性記憶域に保持してよい。動作時、ＣＰＵに最も近接するカウンタ値（すなわち、カウンタのカウンタ値）は増分され、使用データプロバイダ５００のカウンタ値は周期的に更新される。カウンタ値を、特定の報告間隔に基づいて、または使用データプロバイダ５００によって起動されるポーリング動作によって、更新してよい。
【００２２】
セル２００、３００または４００のうちの１つが、新たなセルか、または元のセルであるが１つまたは複数の新たなＣＰＵを含むセルに置換される場合、セルの電源が停止されるとカウンタ値が喪失する可能性がある。このため、セルに電源が投入される時はいつでも、使用データプロバイダ５００は、そのセルの対応するカウンタを再初期化する。たとえば、セル２００が取除かれＣＰＵ２１０が新たなＣＰＵ２１０’に置換される場合、元のセル２００が再インストールされそれに電源が投入されると、使用データプロバイダ５００は、格納されたカウンタ値５０１をカウンタ２４０に提供する。また、使用データプロバイダ５００は、それぞれ格納されたカウンタ値５０２〜５０４を提供することにより、カウンタ２４１〜２４３も初期化する。ＣＰＵ２１０が新たなＣＰＵ２１０’で置換されたため、提供されたカウンタ値５０１は、ＣＰＵ２１０に対しＣＰＵ使用量を反映する。ＣＰＵ２１０’の後続する非アイドル時間は、カウンタ２４０を増分することによってカウントされる。
【００２３】
上記実施例では、ＣＰＵ置換２１０’はすべての点で元のＣＰＵ２１０と類似しており、そのためインストールされた新たなＣＰＵ２１０によるカウンタ２４０の増分は、元のＣＰＵ２１０と同様に進行しなければならない。しかしながら、新たなＣＰＵ２１０はいくつかの点で元のＣＰＵ２１０と異なる可能性もある。実施形態では、ＣＰＵ使用量を計測する装置および方法は、ＣＰＵ間の相違を考慮する必要な手段を含んでよい。たとえば、カウンタ２４０のプロセッサ（図１Ｃに示すプロセッサ１４５と同様）かまたは使用データプロバイダ５００のプロセッサ（図１Ｃに示すプロセッサ１５６と同様）は、ＣＰＵ２１０が異なるタイプまたはモデルのＣＰＵに置換される場合、またはシステムクロック２３０がクロックレートを変更する場合、またはカウンタ２４０において先に確定されたカウンタ値の確定が変化するように、ＣＰＵ２１０で実行しているオペレーティングシステムが変化する場合、ＣＰＵ２１０の累積的カウンタ値を調整してよい。たとえば、システムクロック２３０が、元のシステムクロック２３０より高いクロックレートを有するシステムクロックに置換される場合、カウンタ２４０のプロセッサは、確定されたカウンタ値に元のクロックレートの新たなクロックレートに対する比を単に乗算することにより、元のクロックレートを使用して確定されたものと新たなクロックレートを使用して確定されたものとからカウンタ値の変化の一貫したレートを生成することができる。
【００２４】
図４は、図３のシステム１００”を使用するハードウェアベースＣＰＵ使用量計測動作６００を示すフローチャートである。動作６００は、ブロック６１０で開始する。ブロック６２０において、セル２００が置換され、セル２００のハードウェアコンポーネントに電源が投入される。ブロック６３０において、使用データプロバイダ５００は、セル２００コンポーネントの電源投入の表示を受取り、使用データプロバイダ５００は、格納されたカウンタ値５０１〜５０４をそれぞれカウンタ２４０〜２４３に送出する。ブロック６４０において、受取られたカウンタ値を使用して、カウンタ２４０〜２４３を最初期化する。しかしながら、ＣＰＵ２１０〜２１３はアイドルであり（オペレーティングシステムが処理を行っていない）、ブロック６５０において、アイドルインジケータ２２０〜２２３は、それらのそれぞれのカウンタ２４０〜２４３に対してアイドル表示を提供し、それによりカウンタ値が増分しないようにする。ブロック６６０において、ＣＰＵ２１０は、オペレーティングシステムの実行を開始し、アイドルインジケータ２２０は、カウンタ２４０に対し、ＣＰＵ２１０がアイドルでないことを示す表示を送出する。ブロック６７０において、カウンタ２４０は、非アイドル表示とシステムクロック２３０からのシステム時間とを受取り、ＣＰＵ２１０に対しカウンタ値の増分を開始する。ブロック６８０において、ＣＰＵ２１０で実行しているオペレーティングシステムは、処理を中断し、ＣＰＵ２１０を停止し、停止表示をアサートする。ブロック６９０において、カウンタ２４０は、アイドル表示を受取り、カウンタ値の増分を停止する。動作６００は、システム１００”の他のＣＰＵに対しカウンタ値を増分し続けてよく、使用データプロバイダ５００の不揮発カウンタ値を更新するルーチンを含んでよい。
【図面の簡単な説明】
【図１Ａ】オペレーティングシステムの複数のインスタンスを実行するコンピュータシステムにおけるＣＰＵ使用量データを計測するシステムの基本ブロック図。
【図１Ｂ】オペレーティングシステムの複数のインスタンスを実行するコンピュータシステムにおいてＣＰＵ使用量データを計測する代替システムの基本ブロック図。
【図１Ｃ】図１Ａのシステムの特定コンポーネントのより詳細なブロック図。
【図２】オペレーティングシステムの複数のインスタンスを実行する複数のＣＰＵを有するコンピュータシステムにおいてＣＰＵ使用量データを計測するシステムのさらなるブロック図。
【図３】オペレーティングシステムの複数のインスタンスを実行する複数のＣＰＵを有するコンピュータシステムにおいてＣＰＵ使用量データを計測するシステムのさらなるブロック図。
【図４】オペレーティングシステムの複数のインスタンスを実行する複数のＣＰＵを有するコンピュータシステムにおいてＣＰＵ使用量を計測する方法のブロック図。
【図１Ａ】
2004054932.tif 000003
【図１Ｂ】
2004054932.tif 000004
【図１Ｃ】
2004054932.tif 000005
【図２】
2004054932.tif 000006
【図３】
2004054932.tif 000007
【図４】
2004054932.tif 000008