(57)【要約】【課題】専用ハードウェアを持たないコンピュータにおいて、ＣＰＵ稼働時間を計測するレンタルメータを実現する。【解決手段】ＣＰＵ稼働時間計測プロセス１２は、動作履歴テーブル２２を参照してＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、レンタルメータ駆動ハードウェア３０に実装されている駆動カウンタ３１の値を読み出して値が０になるまで待ち合わせ、駆動カウンタ３１の値が０になったときに総ＣＰＵ稼働時間を駆動カウンタ３１へ書き込む。レンタルメータ駆動ハードウェア３０は、駆動カウンタの値が０でない時に駆動信号を出力する。レンタルメータ２は、レンタルメータ駆動ハードウェア３０から出力される駆動信号によりカウントアップされる。【選択図】  図１
2004206184.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵが実装されたコンピュータにおいて、
業務処理等を行うプロセス，および一定時間ごとに起動され一定時間内のＣＰＵ稼働時間を計測するＣＰＵ稼働時間計測プロセスが実行される複数のＣＰＵと、
各ＣＰＵに対応したＣＰＵ動作フラグがプロセスの起動でセットされ、プロセスの終了でリセットされるＣＰＵ動作フラグテーブルと、
プロセス開始時刻およびＣＰＵ稼働時間の組が登録される動作履歴テーブルと、
単位時間ごとに減算される駆動カウンタを持ち、該駆動カウンタの値が０でない時に駆動信号を出力するレンタルメータ駆動ハードウェアと、
前記レンタルメータ駆動ハードウェアから出力される駆動信号によりカウントアップされるレンタルメータと、
前記動作履歴テーブルを参照してＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込むＣＰＵ稼働時間計測プロセスと
を有することを特徴とするレンタルメータ実現方式。
【請求項２】
複数のＣＰＵが実装され、ネットワークに接続されたコンピュータにおいて、
業務処理等を行うプロセス，および一定時間ごとに起動され一定時間内のＣＰＵ稼働時間を計測するＣＰＵ稼働時間計測プロセスが実行される複数のＣＰＵと、
各ＣＰＵに対応したＣＰＵ動作フラグが、プロセスの起動でセットされ、プロセスの終了でリセットされるＣＰＵ動作フラグテーブルと、
プロセス開始時刻およびＣＰＵ稼働時間の組が登録される動作履歴テーブルと、
単位時間ごとに減算される駆動カウンタを持ち、該駆動カウンタの値が０でない時に駆動信号を出力するレンタルメータ駆動ハードウェアと、
前記レンタルメータ駆動ハードウェアから出力される駆動信号によりカウントアップされるレンタルメータと、
前記動作履歴テーブルを参照してＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込み、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新するＣＰＵ稼働時間計測プロセスと、
前記ＣＰＵ稼働時間計測プロセスが保持するＣＰＵ稼働時間の総計をネットワークにつながれた遠隔端末に通信する通信手段と
を有することを特徴とするレンタルメータ実現方式。
【請求項３】
前記プロセスが、起動時に、前記ＣＰＵ動作フラグテーブルのＣＰＵ動作フラグが１つでもセットされていたときに処理を開始し、前記ＣＰＵ動作フラグテーブルの全てのＣＰＵ動作フラグがリセット状態のときには自ＣＰＵに対応するＣＰＵ動作フラグをセットし、コンピュータの内蔵時計から現在時刻を読み出し、現在時刻を前記動作履歴テーブルの書き込みポインタが示すエントリのプロセス開始時刻に書き込んで処理を開始することを特徴とする請求項１または請求項２記載のレンタルメータ実現方式。
【請求項４】
前記プロセスが、終了時に、前記ＣＰＵ動作フラグテーブルの自ＣＰＵに対応するＣＰＵ動作フラグをリセットし、前記ＣＰＵ動作フラグテーブルを参照して１つでもセットされているＣＰＵ動作フラグがあれば処理を終了し、前記ＣＰＵ動作フラグテーブルの全てのＣＰＵ動作フラグがリセット状態であったときにコンピュータの内蔵時計から現在時刻を読み出して現在時刻と前記動作履歴テーブルの参照ポインタが示すエントリのプロセス開始時刻との差をとってＣＰＵ稼働時間を算出し、算出したＣＰＵ稼働時間を前記動作履歴テーブルの書き込みポインタが示すエントリに書き込み、書き込みポインタを１つ進めることを特徴とする請求項１または請求項２記載のレンタルメータ実現方式。
【請求項５】
前記ＣＰＵ稼働時間計測プロセスが、前記動作履歴テーブルの現在の書き込みポインタの値を退避し、前記動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、参照ポインタを退避した書き込みポインタの値に更新し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込むことを特徴とする請求項１記載のレンタルメータ実現方式。
【請求項６】
前記ＣＰＵ稼働時間計測プロセスが、前記動作履歴テーブルの現在の書き込みポインタの値を退避し、前記動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、参照ポインタを退避した書き込みポインタの値に更新し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込み、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新することを特徴とする請求項２記載のレンタルメータ実現方式。
【請求項７】
動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、
動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、
参照ポインタを退避した書き込みポインタの値に更新する工程と、
レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、
駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程と
を含むことを特徴とするＣＰＵ稼働時間計測方法。
【請求項８】
動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、
動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、
参照ポインタを退避した書き込みポインタの値に更新する工程と、
レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、
駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程と、
総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新する工程と
を含むことを特徴とするＣＰＵ稼働時間計測方法。
【請求項９】
コンピュータに、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程とを実行させるためのＣＰＵ稼働時間計測プログラム。
【請求項１０】
コンピュータに、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程と、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新する工程とを実行させるためのＣＰＵ稼働時間計測プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はレンタルメータ実現方式，ＣＰＵ稼働時間計測方法およびＣＰＵ稼働時間計測プログラムに関し、特に複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えるコンピュータにおけるＣＰＵ稼働時間を示すレンタルメータ実現方式，ＣＰＵ稼働時間計測方法およびＣＰＵ稼働時間計測プログラムに関する。
【０００２】
【従来の技術】
従来の汎用コンピュータでは、ＣＰＵ稼働時間を示すレンタルメータは、ＣＰＵにＣＰＵ稼働中を示すハードウェア信号線を持っており、各ＣＰＵのハードウェア信号線の論理和でレンタルメータを駆動することで実現していた。
【０００３】
また、従来の技術では、ＣＰＵとＳＶＰ（ＳｅｒＶｉｃｅ  Ｐｒｏｃｅｓｓｏｒ）とをつなぐ専用のインタフェースを必要としているものがあったが、プロセス実行時間を計測するための専用のハードウェアを必要としていた（例えば、特許文献１参照）。
【０００４】
さらに、従来技術では、単一プログラムの実行時間計測を行うようにしたものがあったが、複数プロセスが同時動作している時のＣＰＵ実行時間を効率よく計測することはできなかった（例えば、特許文献２参照）。
【０００５】
さらにまた、従来技術では、タイマにより一定時間ごとにレンタルメータの読み出しを行い、この情報を送信しているものがあったが、ＣＰＵ実行時間の累積をメモリ上に確保しネットワークを通じて常時読み出し可能とすることはできなかった（例えば、特許文献３参照）。
【０００６】
また、従来技術では、電源ＯＮからＯＦＦまでの稼働時間の計測を行うものがあったが、実際にプロセスが起動している間の時間を計測するものではなかった（例えば、特許文献４参照）。
【０００７】
【特許文献１】
特開平９−０１６４４２号公報（第３頁、図１）
【特許文献２】
実開平１−１３８１０７号公報（第７−９頁、図１）
【特許文献３】
特開平４−２４０９５５号公報（第２頁、図１）
【特許文献４】
特開平１１−１８３６５６号公報（第３頁、図２）
【０００８】
【発明が解決しようとする課題】
しかし、現在のサーバ等で使用されているＣＰＵは、稼働中を示すハードウェア信号線を持っておらず、レンタルメータを実現することができない。
【０００９】
また、レンタルメータを駆動するハードウェアをＰＣＩ（ＰｅｒｉｐｈｅｒａｌＣｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス等の拡張バスに実装し、ＣＰＵの稼働時、すなわちプロセスの開始でレンタルメータの駆動開始、プロセスの終了でレンタルメータの駆動終了という制御を行うと、レンタルメータを駆動するハードウェアへのアクセスが大量に発生し、拡張バスの性能では処理できず、実際はレンタルメータを制御することができなかった。
【００１０】
さらに、レンタルメータのあるコンピュータ設置場所まで行かないと、ＣＰＵ稼働時間を確認することができなかった。
【００１１】
本発明の目的は、ＣＰＵ稼働時間を計測する専用のハードウェアを持たないコンピュータにおいて、ＣＰＵ稼働時間を計測するレンタルメータを実現するレンタルメータ実現方式を提供することにある。
【００１２】
また、本発明の他の目的は、レンタルメータを駆動するハードウェア（以下、レンタルメータ駆動ハードウェアと記す）をＰＣＩバス等の拡張バスに実装するが、レンタルメータ駆動ハードウェアへのアクセスを抑制して、レンタルメータの制御を可能とするレンタルメータ実現方式を提供することにある。
【００１３】
さらに、本発明の別の目的は、レンタルメータのあるコンピュータ設置場所まで行かなくともＣＰＵ稼働時間の確認が遠隔地より可能になるレンタルメータ実現方式を提供することにある。
【００１４】
【課題を解決するための手段】
本発明のレンタルメータ実現方式は、複数のＣＰＵが実装されたコンピュータにおいて、業務処理等を行うプロセス，および一定時間ごとに起動され一定時間内のＣＰＵ稼働時間を計測するＣＰＵ稼働時間計測プロセスが実行される複数のＣＰＵと、各ＣＰＵに対応したＣＰＵ動作フラグがプロセスの起動でセットされ、プロセスの終了でリセットされるＣＰＵ動作フラグテーブルと、プロセス開始時刻およびＣＰＵ稼働時間の組が登録される動作履歴テーブルと、単位時間ごとに減算される駆動カウンタを持ち、該駆動カウンタの値が０でない時に駆動信号を出力するレンタルメータ駆動ハードウェアと、前記レンタルメータ駆動ハードウェアから出力される駆動信号によりカウントアップされるレンタルメータと、前記動作履歴テーブルを参照してＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込むＣＰＵ稼働時間計測プロセスとを有することを特徴とする。
【００１５】
また、本発明のレンタルメータ実現方式は、複数のＣＰＵが実装され、ネットワークに接続されたコンピュータにおいて、業務処理等を行うプロセス，および一定時間ごとに起動され一定時間内のＣＰＵ稼働時間を計測するＣＰＵ稼働時間計測プロセスが実行される複数のＣＰＵと、各ＣＰＵに対応したＣＰＵ動作フラグが、プロセスの起動でセットされ、プロセスの終了でリセットされるＣＰＵ動作フラグテーブルと、プロセス開始時刻およびＣＰＵ稼働時間の組が登録される動作履歴テーブルと、単位時間ごとに減算される駆動カウンタを持ち、該駆動カウンタの値が０でない時に駆動信号を出力するレンタルメータ駆動ハードウェアと、前記レンタルメータ駆動ハードウェアから出力される駆動信号によりカウントアップされるレンタルメータと、前記動作履歴テーブルを参照してＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込み、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新するＣＰＵ稼働時間計測プロセスと、前記ＣＰＵ稼働時間計測プロセスが保持するＣＰＵ稼働時間の総計をネットワークにつながれた遠隔端末に通信する通信手段とを有することを特徴とする。
【００１６】
さらに、本発明のレンタルメータ実現方式は、前記プロセスが、起動時に、前記ＣＰＵ動作フラグテーブルのＣＰＵ動作フラグが１つでもセットされていたときに処理を開始し、前記ＣＰＵ動作フラグテーブルの全てのＣＰＵ動作フラグがリセット状態のときには自ＣＰＵに対応するＣＰＵ動作フラグをセットし、コンピュータの内蔵時計から現在時刻を読み出し、現在時刻を前記動作履歴テーブルの書き込みポインタが示すエントリのプロセス開始時刻に書き込んで処理を開始することを特徴とする。
【００１７】
さらにまた、本発明のレンタルメータ実現方式は、前記プロセスが、終了時に、前記ＣＰＵ動作フラグテーブルの自ＣＰＵに対応するＣＰＵ動作フラグをリセットし、前記ＣＰＵ動作フラグテーブルを参照して１つでもセットされているＣＰＵ動作フラグがあれば処理を終了し、前記ＣＰＵ動作フラグテーブルの全てのＣＰＵ動作フラグがリセット状態であったときにコンピュータの内蔵時計から現在時刻を読み出して現在時刻と前記動作履歴テーブルの参照ポインタが示すエントリのプロセス開始時刻との差をとってＣＰＵ稼働時間を算出し、算出したＣＰＵ稼働時間を前記動作履歴テーブルの書き込みポインタが示すエントリに書き込み、書き込みポインタを１つ進めることを特徴とする。
【００１８】
また、本発明のレンタルメータ実現方式は、前記ＣＰＵ稼働時間計測プロセスが、前記動作履歴テーブルの現在の書き込みポインタの値を退避し、前記動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、参照ポインタを退避した書き込みポインタの値に更新し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込むことを特徴とする。
【００１９】
さらに、本発明のレンタルメータ実現方式は、前記ＣＰＵ稼働時間計測プロセスが、前記動作履歴テーブルの現在の書き込みポインタの値を退避し、前記動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出し、参照ポインタを退避した書き込みポインタの値に更新し、前記駆動カウンタの値を読み出して値が０になるまで待ち合わせ、前記駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を前記駆動カウンタへ書き込み、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新することを特徴とする。
【００２０】
一方、本発明のＣＰＵ稼働時間計測方法は、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程とを含むことを特徴とする。
【００２１】
また、本発明のＣＰＵ稼働時間計測方法は、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程と、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新する工程とを含むことを特徴とする。
【００２２】
他方、本発明のＣＰＵ稼働時間計測プログラムは、コンピュータに、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程とを実行させることを特徴とする。
【００２３】
また、本発明のＣＰＵ稼働時間計測プログラムは、コンピュータに、動作履歴テーブルの現在の書き込みポインタの値を退避する工程と、動作履歴テーブルの参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する工程と、参照ポインタを退避した書き込みポインタの値に更新する工程と、レンタルメータ駆動ハードウェアに実装されている駆動カウンタの値を読み出し、値が０になるまで待ち合わせる工程と、駆動カウンタの値が０になったときに総ＣＰＵ稼働時間を駆動カウンタへ書き込む工程と、総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新する工程とを実行させることを特徴とする。
【００２４】
図１において、ＣＰＵ稼働時間計測プロセス１２は、一定時間間隔に起動され、一定時間内のＣＰＵ稼働時間を集計する。ＣＰＵ稼働時間計測プロセス１２は、集計結果をレンタルメータ駆動ハードウェア３０の駆動カウンタ３１に書き込むことで集計されたＣＰＵ稼働時間だけレンタルメータ２がカウントされる。このようにして、ＣＰＵが稼働時間を示す専用のハードウェア信号線を持たなくてもレンタルメータ２を実現することができる。
【００２５】
さらに、通信手段４０を設けることでネットワーク３を介し遠隔地よりＣＰＵ稼働時間計測プロセス１２のＣＰＵ稼働時間を得ることができる。このようにしてレンタルメータ２のあるコンピュータ設置場所まで行かなくともＣＰＵ稼働時間の確認が遠隔地より可能になる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２７】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るレンタルメータ実現方式の構成を示すブロック図である。本実施の形態に係るレンタルメータ実現方式は、レンタルの対象となるコンピュータ１と、コンピュータ１に接続されたレンタルメータ２と、コンピュータ１が接続されたネットワーク３とから、その主要部が構成されている。
【００２８】
コンピュータ１は、複数のＣＰＵ１０と、メモリ２０と、レンタルメータ駆動ハードウェア３０と、通信手段４０とを含んで構成されている。
【００２９】
各ＣＰＵ１０では、例えば、業務処理等を行うプロセス１１と、ＣＰＵ稼働時間計測プロセス１２とが実行されるようになっている。
【００３０】
ＣＰＵ稼働時間計測プロセス１２は、一定時間ごとに起動されるソフトウェアで、一定時間内のＣＰＵ稼働時間を計測する。また、ＣＰＵ稼働時間計測プロセス１２は、自身でもネットワーク３への出力用にＣＰＵ稼働時間の総計を持っている。
【００３１】
メモリ２０上には、ＣＰＵ動作フラグテーブル２１と、動作履歴テーブル２２とが用意されている。
【００３２】
図２を参照すると、ＣＰＵ動作フラグテーブル２１には、実装されているＣＰＵ１０それぞれに対応したＣＰＵ動作フラグがあり、プロセス１１の起動でＣＰＵ動作フラグがセットされ、プロセス１１の終了でＣＰＵ動作フラグがリセットされる。
【００３３】
図３を参照すると、動作履歴テーブル２２は、循環使用されるためにリングバッファ等で実現され、プロセス開始時刻およびＣＰＵ稼働時間の組が登録される。プロセス開始時刻およびＣＰＵ稼働時間は、ＣＰＵ１０のプロセス１１の起動時および終了時に書き込みポインタの指し示すエントリが更新される。また、プロセス開始時刻およびＣＰＵ稼働時間は、ＣＰＵ稼働時間計測プロセス１２から参照ポインタにより参照される。
【００３４】
レンタルメータ駆動ハードウェア３０は、ＰＣＩバス等の一般的な拡張バスに実装されるハードウェアで、ソフトウェアからアクセス可能な駆動カウンタ３１を持つ。
【００３５】
駆動カウンタ３１は、単位時間ごとに減算される減算カウンタで、その値が０でない時にレンタルメータ２への駆動信号を出力する。
【００３６】
通信手段４０は、ネットワーク３につながれた遠隔地にある端末（以下、遠隔端末と記す。図示せず）と通信を行う手段であり、ネットワーク３を介してＣＰＵ稼働時間計測プロセス１２で積算したＣＰＵ稼働時間の総計を遠隔端末から得ることを可能とする。
【００３７】
レンタルメータ２は、接続されるコンピュータ１のＣＰＵ稼働時間の総計を示すメータで、レンタルメータ駆動ハードウェア３０からの駆動信号によりカウントアップされる。
【００３８】
図４を参照すると、プロセス１１の起動時の処理は、全ＣＰＵ動作フラグリセット判定ステップＳ１０１と、自ＣＰＵ動作フラグセットステップＳ１０２と、内蔵時計読み込みステップＳ１０３と、プロセス開始時刻書き込みステップＳ１０４とからなる。
【００３９】
図５を参照すると、プロセス１１の終了時の処理は、自ＣＰＵ動作フラグリセットステップＳ２０１と、全ＣＰＵ動作フラグリセット判定ステップＳ２０２と、内蔵時計読み込みステップＳ２０３と、ＣＰＵ稼働時間計算ステップＳ２０４と、ＣＰＵ稼働時間書き込みステップＳ２０５と、書き込みポインタ更新ステップＳ２０６とからなる。
【００４０】
図６を参照すると、ＣＰＵ稼働時間計測プロセス１２の処理は、書き込みポインタ値退避ステップＳ３０１と、総ＣＰＵ稼働時間算出ステップＳ３０２と、参照ポインタ更新ステップＳ３０３と、駆動カウンタ値０判定ステップＳ３０４と、ＣＰＵ稼働時間書き込みステップＳ３０５と、ＣＰＵ稼働時間総計計算ステップＳ３０６とからなる。
【００４１】
次に、このように構成された第１の実施の形態に係るレンタルメータ実現方式の動作について、図１ないし図６を参照して詳細に説明する。
【００４２】
（１）  プロセス１１の起動時の動作（図４参照）
【００４３】
プロセス１１の起動がかかると、プロセス１１は、まずＣＰＵ動作フラグテーブル２１を参照し、ＣＰＵ動作フラグが１つでもセットされていたならば（ステップＳ１０１でノー）、処理を始める。
【００４４】
一方、ＣＰＵ動作フラグテーブル２１の全てのＣＰＵ動作フラグがリセット状態の場合は（ステップＳ１０１でイエス）、プロセス１１は、自ＣＰＵ１０に対応するＣＰＵ動作フラグをセットする（ステップＳ１０２）。
【００４５】
次に、プロセス１１は、コンピュータ１の内蔵時計（図示せず）から現在時刻を読み出し（ステップＳ１０３）、現在時刻を動作履歴テーブル２２の書き込みポインタが示すエントリのプロセス開始時刻に書き込み（ステップＳ１０４）、処理を始める。
【００４６】
（２）  プロセス１１の終了時の動作（図５参照）
【００４７】
まず、プロセス１１は、ＣＰＵ動作フラグテーブル２１の自ＣＰＵ１０に対応するＣＰＵ動作フラグをリセットする（ステップＳ２０１）。
【００４８】
次に、プロセス１１は、ＣＰＵ動作フラグテーブル２１を参照し、１つでもセットされているＣＰＵ動作フラグがあれば（ステップＳ２０２でノー）、処理を終了する。
【００４９】
一方、ＣＰＵ動作フラグテーブル２１の全てのＣＰＵ動作フラグがリセット状態であったならば（ステップＳ２０２でイエス）、プロセス１１は、コンピュータ１の内蔵時計から現在時刻を読み出し（ステップＳ２０３）、現在時刻と動作履歴テーブル２２の参照ポインタが示すエントリのプロセス開始時刻との差をとってＣＰＵ稼働時間を算出する（ステップＳ２０４）。
【００５０】
最後に、プロセス１１は、算出したＣＰＵ稼働時間を動作履歴テーブル２２の書き込みポインタが示すエントリに書き込み（ステップＳ２０５）、書き込みポインタを１つ進め（ステップＳ２０６）、処理を終了する。
【００５１】
（３）  ＣＰＵ稼働時間計測プロセス１２の動作（図６参照）
【００５２】
ＣＰＵ稼働時間計測プロセス１２は、一定時間ごとに起動され、以下の動作を行う。
【００５３】
まず、ＣＰＵ稼働時間計測プロセス１２は、動作履歴テーブル２２の現在の書き込みポインタの値を退避し（ステップＳ３０１）、参照ポインタから退避した書き込みポインタまでのエントリのＣＰＵ稼働時間を合計して総ＣＰＵ稼働時間を算出する（ステップＳ３０２）。
【００５４】
次に、ＣＰＵ稼働時間計測プロセス１２は、参照ポインタを退避した書き込みポインタの値に更新する（ステップＳ３０３）。
【００５５】
続いて、ＣＰＵ稼働時間計測プロセス１２は、レンタルメータ駆動ハードウェア３０に実装されている駆動カウンタ３１の値を読み出し、その値が０になるまで待ち合わせる（ステップＳ３０４）。
【００５６】
駆動カウンタ３１の値が０になると（ステップＳ３０４でイエス）、ＣＰＵ稼働時間計測プロセス１２は、総ＣＰＵ稼働時間を駆動カウンタ３１へ書き込む（ステップＳ３０５）。
【００５７】
最後に、ＣＰＵ稼働時間計測プロセス１２は、自身でもネットワーク３への出力用にＣＰＵ稼働時間の総計を持っており、駆動カウンタ３１に書き込んだ総ＣＰＵ稼働時間を加えてＣＰＵ稼働時間の総計を更新する（ステップＳ３０６）。
【００５８】
なお、遠隔地に存在する監視者は、遠隔端末からネットワーク３を介して、ＣＰＵ稼働時間計測プロセス１２が持つＣＰＵ稼働時間の総計を、通信手段４０により読み取ることができる。
【００５９】
［第２の実施の形態］
図７は、本発明の第２の実施の形態に係るレンタルメータ実現方式の構成を示すブロック図である。本実施の形態に係るレンタルメータ実現方式は、図１に示した第１の実施の形態に係るレンタルメータ実現方式をコンピュータとして、ＣＰＵ稼働時間計測プログラム１００を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付して、それらの詳しい説明を省略する。
【００６０】
ＣＰＵ稼働時間計測プログラム１００は、コンピュータ１に読み込まれ、コンピュータ１の動作を、ＣＰＵ稼働時間計測プロセス１２として制御する。ＣＰＵ稼働時間計測プログラム１００の制御によるＣＰＵ稼働時間計測プロセス１２の動作は、第１の実施の形態におけるＣＰＵ稼働時間計測プロセス１２の動作と全く同様になるので、その詳しい説明を割愛する。
【００６１】
【発明の効果】
第１の効果は、ＣＰＵ稼働時間を計測する専用のハードウェアを持たないコンピュータにおいて、ＣＰＵ稼働時間を計測することができることである。その理由は、ＣＰＵ稼働時間計測プロセスにより一定時間ごとにＣＰＵ稼働時間を計測するようにしたからである。
【００６２】
第２の効果は、レンタルメータの駆動をＰＣＩバス等の一般的なバスを介して可能にすることである。その理由は、コンピュータに、ソフトウェアからアクセス可能な駆動カウンタを持つレンタルメータ駆動ハードウェアを接続するようにしたからである。
【００６３】
第３の効果は、ＣＰＵ稼働時間を遠隔端末より確認可能にしたことである。その理由は、コンピュータに通信手段を設け、ネットワークを介して遠隔端末からＣＰＵ稼働時間計測プロセスが持つＣＰＵ稼働時間の総計を読み取ることができるようにしたからである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るレンタルメータ実現方式の構成を示すブロック図である。
【図２】図１中のＣＰＵ動作フラグテーブルの内容を示す図である。
【図３】図１中の動作履歴テーブルの内容を示す図である。
【図４】図１中のプロセスの起動時の動作を示すフローチャートである。
【図５】図１中のプロセスの終了時の動作を示すフローチャートである。
【図６】図１中のＣＰＵ稼働時間計測プロセスの動作を示すフローチャートである。
【図７】本発明の第２の実施の形態に係るレンタルメータ実現方式の構成を示すブロック図である。
【符号の説明】
１  コンピュータ
２  レンタルメータ
３  ネットワーク
１０  ＣＰＵ
１１  プロセス
１２  ＣＰＵ稼働時間計測プロセス
２０  メモリ
２１  ＣＰＵ動作フラグテーブル
２２  動作履歴テーブル
３０  レンタルメータ駆動ハードウェア
３１  駆動カウンタ
４０  通信手段
１００  ＣＰＵ稼働時間計測プログラム
Ｓ１０１  全ＣＰＵ動作フラグリセット判定ステップ
Ｓ１０２  自ＣＰＵ動作フラグセットステップ
Ｓ１０３  内蔵時計読み込みステップ
Ｓ１０４  プロセス開始時刻書き込みステップ
Ｓ２０１  自ＣＰＵ動作フラグリセットステップ
Ｓ２０２  全ＣＰＵ動作フラグリセット判定ステップ
Ｓ２０３  内蔵時計読み込みステップ
Ｓ２０４  ＣＰＵ稼働時間計算ステップ
Ｓ２０５  ＣＰＵ稼働時間書き込みステップ
Ｓ２０６  書き込みポインタ更新ステップ
Ｓ３０１  書き込みポインタ値退避ステップ
Ｓ３０２  総ＣＰＵ稼働時間算出ステップ
Ｓ３０３  参照ポインタ更新ステップ
Ｓ３０４  駆動カウンタ値０判定ステップ
Ｓ３０５  ＣＰＵ稼働時間書き込みステップ
Ｓ３０６  ＣＰＵ稼働時間総計計算ステップ
【図１】
2004206184.tif 000003
【図２】
2004206184.tif 000004
【図３】
2004206184.tif 000005
【図４】
2004206184.tif 000006
【図５】
2004206184.tif 000007
【図６】
2004206184.tif 000008
【図７】
2004206184.tif 000009