(57)【要約】【課題】アプリケーション・ソフトウエア自体や、コンピュータ装置側に稼働実績を取得する機能を備えていなくても、アプリケーション・ソフトウエアの稼働実績を容易に取得することができるようにする。【解決手段】稼働監視プログラム４の実行中は、監視手段５、集計手段６およびログ生成手段７として、オペレーティング・システム２およびハードウエア１を機能させる。監視手段５は、オペレーティング・システム２によって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する。集計手段６およびログ生成手段７は、監視手段５が収集する情報に含まれるアプリケーション・ソフトウエア３についてのプロセスの実行状況を集計して、そのアプリケーション・ソフトウエア３の稼働実績についてのログ・ファイルを生成する。【選択図】      図１
2004259036.tif 000002
【特許請求の範囲】
【請求項１】
処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能なオペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働状況を監視する装置であって、
オペレーティング・システムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する監視手段と、
監視手段が収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、該アプリケーション・ソフトウエアの稼働実績を生成する生成手段とを含むことを特徴とするソフトウエア稼働監視装置。
【請求項２】
前記監視手段は、予め定める時間間隔で、前記監視を継続的に行うことを特徴とする請求項１記載のソフトウエア稼働監視装置。
【請求項３】
前記生成手段は、予め前記時間間隔よりも長く設定される単位時間内で、該時間間隔毎の稼働状況に基づく前記アプリケーション・ソフトウエアの利用率を算出することを特徴とする請求項２記載のソフトウエア稼働監視装置。
【請求項４】
前記生成手段は、前記利用率を予め設定される基準で評価し、利用率が基準を満たすか否かに従って、該アプリケーション・ソフトウエアが該単位時間ですべて稼働か非稼働かを判定することを特徴とする請求項３記載のソフトウエア稼働監視装置。
【請求項５】
前記生成手段は、前記稼働実績をログ・ファイルの形式で生成することを特徴とする請求項１〜４のいずれかに記載のソフトウエア稼働監視装置。
【請求項６】
請求項１〜５のいずれかに記載のソフトウエア稼働監視装置として、コンピュータを作動させるためのプログラム。
【請求項７】
請求項１〜５のいずれかに記載のソフトウエア稼働監視装置として、コンピュータを作動させるためのプログラムが記録され、コンピュータ読取り可能な記録媒体。
【請求項８】
処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能なオペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働状況を監視する方法であって、
オペレーティング・システムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する監視ステップと、
監視ステップで収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、該アプリケーション・ソフトウエアの稼働実績を生成する集計ステップとを含むことを特徴とするソフトウエア稼働監視方法。
【請求項９】
ソフトウエアの稼働状況を監視するソフトウエア稼働監視装置において、
前記ソフトウエアについてのプロセスの稼働状況を監視する監視手段と、
予め定められた単位時間内における前記監視手段により監視されるプロセスの稼働状況に基づき、前記単位時間について前記ソフトウエアが稼働状態にあるか非稼働状態にあるかを判断する判断手段とを備えたことを特徴とするソフトウエア稼働監視装置。
【請求項１０】
ソフトウエアの稼働状況を監視するソフトウエア稼働監視方法において、
予め監視のための単位時間を定めておき、
前記単位時間内における前記ソフトウエアについてのプロセスの稼働状況に基づき、前記単位時間について前記ソフトウエアが稼働状態にあるか非稼働状態にあるかを判断することを特徴とするソフトウエア稼働監視方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータのオペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働状況を監視するソフトウエア稼働監視装置および方法、ならびにプログラム、コンピュータ読取り可能な記録媒体に関する。
【０００２】
【従来の技術】
従来から、パーソナルコンピュータやワークステーションなどのコンピュータ装置には、汎用的なオペレーティング・システムが搭載されている。オペレーティング・システムは、コンピュータ装置毎のハードウエアの違いを吸収し、コンピュータ装置を効率的に稼働させる各種インタフェースを提供するので、共通なプラットホームとなり、そのオペレーティング・システム上で実行可能な各種アプリケーション・ソフトウエアが開発され、広く利用されている。
【０００３】
汎用的なコンピュータ装置でアプリケーション・ソフトウエアを使用するためには、ハードディスクなどのそのコンピュータ装置に内蔵されている大容量記憶装置にプログラムを格納しておいて、必要に応じて主記憶装置に読出して動作させることが可能なインストール処理を行っておく必要がある。比較的小規模のアプリケーション・ソフトウエアであれば、必要時に情報通信ネットワークを介してダウンロードして動作させることもできるけれども、製造企業等の技術的業務に使用するＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ）システムなど、比較的大規模なアプリケーション・ソフトウエアは、ダウンロードに時間がかかるからである。また、業務上の使用に耐えるようなアプリケーション・ソフトウエアは、インストール作業などにもソフトウエアに対する専門知識を要し、コンピュータ装置の使用者ではなく、企業内のコンピュータ装置全体の管理を行うシステム管理者がインストール作業を行う必要があることも多い。
【０００４】
業務の遂行に必要となるアプリケーション・ソフトウエアは、たとえばＣＡＤシステムの他に、情報の収集、通信、管理、報告など、複数存在する。企業等で業務を遂行する際には、一般に組織的な分業が行われるので、分担する業務の内容に応じて、必要となるアプリケーション・ソフトウエアの組合せも異なる。また、アプリケーション・ソフトウエアを効率良く使用するためには、慣れも必要である。このため、同一の業務でも、担当者によって異なるアプリケーション・ソフトウエアが必要となることもある。
【０００５】
コンピュータ装置に、使用する可能性があるすべてのアプリケーション・ソフトウエアを予めインストールしておくことは、ハードディスクなどの記憶容量が無限ではないので、不可能である。また、アプリケーション・ソフトウエアは有償であり、インストールするコンピュータ装置に個別に、あるいはその数に応じて段階的に費用が発生する。したがって、使用する可能性が小さいようなアプリケーション・ソフトウエアを予めインストールしておくことは好ましくない。
【０００６】
企業の業務遂行では、業務の内容や組織の構成が、時間的に変化するので、必要なアプリケーション・ソフトウエアも、時間的に変化する。アプリケーション・ソフトウエア自体も、不具合の修正や新機能の追加などでバージョンアップがなされる。システム管理者は、バージョンアップ時のメンテナンスを含めて、管理対象となっているコンピュータ装置へのアプリケーション・ソフトウエアの稼働実績を常に把握しておく必要がある。
【０００７】
各アプリケーション・ソフトウエアの稼働実績を把握するためには、実際に動作している時間などの情報を測定する機能を、アプリケーション・ソフトウエア自体に予め組込んでおくことが考えられる（たとえば、特許文献１参照）。また、アプリケーション・ソフトウエアを主記憶上にロードすると、実行を計上して課金する機能をロード手段に設けることも提案されている（たとえば、特許文献２参照）。さらに、複数のオペレーティング・システムで複数の入出力チャネルを利用するコンピュータ複合体で、各チャネルの使用中時間を測定する構成を設けることも提案されている（たとえば、特許文献３参照）。
【０００８】
【特許文献１】
特許第２８７２７５４号公報
【特許文献２】
特許第２６３８４４８号公報
【特許文献３】
特許第２７５０３１２号公報
【０００９】
【発明が解決しようとする課題】
企業等で、複数の汎用的なコンピュータ装置を使用する際には、各コンピュータ装置にインストールするアプリケーション・ソフトウエアを、常に適切なものとなるように管理しておく必要がある。アプリケーション・ソフトウエアのインストール数が不足すると、使用したいアプリケーション・ソフトウエアがインストールされているコンピュータ装置が近くになく、使用希望者が離れた位置のコンピュータ装置まで移動して業務を行うなどの事態が発生し、業務の効率が低下してしまう。アプリケーション・ソフトウエアのインストール数が過剰になると、他の必要なアプリケーション・ソフトウエアに割当てるべきコンピュータ資源を占有してしまい、業務に支障が生じたり、余分な費用を発生させたりする。
【００１０】
アプリケーション・ソフトウエアの適切な管理のためには、前述のように、各アプリケーション・プログラムの稼働実績を把握することが必要となる。従来は、稼働実績を取得したい場合、アプリケーション・ソフトウエア側の内部での対応が必要となる。特許文献１では、被測定プログラムのソースファイルをコンパイルする際に、測定実行プログラムを組込むようにしている。しかしながら、このような測定実行プログラムは、アプリケーション・ソフトウエアが対応していないと利用することができず、稼働実績を取得することができない。さらに、対応可能であっても、システム管理者などが測定結果を利用するためには、取得のための準備工数が発生してしまう。
【００１１】
たとえば、実行時のログを出力する機能を利用する場合、その結果を専用の集計ツールを使用して集計するか、独自の工夫で加工・集計を行い、さらにその結果を他のアプリケーション・ソフトウエアについての結果と比較するという２段階のステップが必要となり、全体を把握するまでに時間と工数がかかってしまう。また、アプリケーション・ソフトウエアに稼働実績をログなどとして出力する機能が備えられていても、ログの書式などが統一されていないと、集計などにさらに余分な工数がかかってしまう。
【００１２】
特許文献２には、ロード手段がオペレーティング・システムの機能の一部であるのか、あるいは、コンピュータ装置のハードウエアの機能の一部であるのかなどについて明確に記載されていないようである。いずれにしても、パーソナルコンピュータなどの汎用のコンピュータ装置で現在広く使用されているオペレーティング・システムやハードウエアでは、プログラムの実行時間を計上する機能を利用することはできない。特許文献３では、入出力チャネルの使用中時間を測定する機能を備えるコンピュータ複合体を必要とする。
【００１３】
本発明の目的は、アプリケーション・ソフトウエア自体や、コンピュータ装置側に稼働実績を取得する機能を備える必要がなく、アプリケーション・ソフトウエアの稼働実績を容易に取得することができるソフトウエア稼働監視装置および方法、ならびにプログラム、コンピュータ読取り可能な記録媒体を提供することである。
【００１４】
【課題を解決するための手段】
本発明は、処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能なオペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働状況を監視する装置であって、
オペレーティング・システムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する監視手段と、
監視手段が収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、該アプリケーション・ソフトウエアの稼働実績を生成する生成手段とを含むことを特徴とするソフトウエア稼働監視装置である。
【００１５】
本発明に従えば、稼働状況を監視する対象となるアプリケーション・ソフトウエアは、処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能なオペレーティング・システム上で実行される。稼働状況を監視する装置は、監視手段と生成手段とを含む。監視手段は、オペレーティング・システムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する。生成手段は、監視手段が収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、アプリケーション・ソフトウエアの稼働実績を生成する。アプリケーション・ソフトウエアの稼働状況の監視と、稼働実績の生成とを監視手段と生成手段とで行うので、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に稼働実績を取得する機能を備える必要がなく、アプリケーション・ソフトウエアの稼働実績を容易に取得することができる。
【００１６】
また本発明で、前記監視手段は、予め定める時間間隔で、前記監視を継続的に行うことを特徴とする。
【００１７】
本発明に従えば、アプリケーション・ソフトウエアの実行状況の監視は、予め定める時間間隔で継続的に行われるので、アプリケーション・ソフトウエアの稼働実績の時間的な変化を、容易に取得することができる。
【００１８】
また本発明で、前記生成手段は、予め前記時間間隔よりも長く設定される単位時間内で、該時間間隔毎の稼働状況に基づく前記アプリケーション・ソフトウエアの利用率を算出することを特徴とする。
【００１９】
本発明に従えば、アプリケーション・ソフトウエアの実行状況を監視する時間間隔よりも長く設定される単位時間内で、その時間間隔毎の稼働状況に基づくアプリケーション・ソフトウエアの利用率を算出するので、単位時間毎のアプリケーション・ソフトウエアの稼働実績を、利用率で知ることができる。
【００２０】
また本発明で、前記生成手段は、前記利用率を予め設定される基準で評価し、利用率が基準を満たすか否かに従って、該アプリケーション・ソフトウエアが該単位時間ですべて稼働か非稼働かを判定することを特徴とする。
【００２１】
本発明に従えば、単位時間毎に、アプリケーション・ソフトウエアが稼働か非稼働かを、利用率を予め設定される基準で評価して判定するので、アプリケーション・ソフトウエアの稼働実績を、単位時間毎の稼働か非稼働かの判定結果から容易に知ることができる。
【００２２】
また本発明で、前記生成手段は、前記稼働実績をログ・ファイルの形式で生成することを特徴とする。
【００２３】
本発明に従えば、アプリケーション・ソフトウエアの稼働実績がログ・ファイルの形式で生成されるので、複数のアプリケーション・ソフトウエアを対象としても、同一の形式でログ・ファイルを取得し、容易に比較することができる。
【００２４】
さらに本発明は、前述のいずれかに記載のソフトウエア稼働監視装置として、コンピュータを作動させるためのプログラムである。
【００２５】
本発明に従えば、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に稼働実績を取得する機能を備えていなくても、コンピュータ装置にアプリケーション・ソフトウエアの稼働実績を容易に取得することが可能な機能を備えさせることができる。
【００２６】
さらに本発明は、前述のいずれかに記載のソフトウエア稼働監視装置として、コンピュータを作動させるためのプログラムが記録され、コンピュータ読取り可能な記録媒体である。
【００２７】
本発明に従えば、記録しているプログラムをコンピュータ装置に読取らせて、コンピュータ装置のオペレーション・システム上で実行されるアプリケーション・ソフトウエアの稼働実績を容易に取得することができる。
【００２８】
さらに本発明は、処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能なオペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働状況を監視する方法であって、
オペレーティング・システムによって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する監視ステップと、
監視ステップで収集する情報に含まれるアプリケーション・ソフトウエアについてのプロセスの実行状況を集計して、該アプリケーション・ソフトウエアの稼働実績を生成する集計ステップとを含むことを特徴とするソフトウエア稼働監視方法である。
【００２９】
本発明に従えば、オペレーティング・システム上で、稼働状況を監視する対象となるアプリケーション・ソフトウエアが実行される。オペレーティング・システムは、実行するプロセスについての情報を、プログラム・インタフェースを介して提供可能である。この機能を利用して実行するプロセスについての情報を収集し、プロセスの実行状況を監視する。収集する情報は、アプリケーション・ソフトウエアについてのプロセスの実行状況が含まれるので、その実行状況を集計し、アプリケーション・ソフトウエアの稼働実績を生成する。アプリケーション・ソフトウエアの稼働状況の監視と、稼働実績の生成とを、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に稼働実績を取得する機能を備えていなくても行うことができ、アプリケーション・ソフトウエアの稼働実績を容易に取得することができる。
【００３０】
さらに本発明は、ソフトウエアの稼働状況を監視するソフトウエア稼働監視装置において、
前記ソフトウエアについてのプロセスの稼働状況を監視する監視手段と、
予め定められた単位時間内における前記監視手段により監視されるプロセスの稼働状況に基づき、前記単位時間について前記ソフトウエアが稼働状態にあるか非稼働状態にあるかを判断する判断手段とを備えたことを特徴とするソフトウエア稼働監視装置である。
【００３１】
本発明に従えば、ソフトウエア稼働監視装置は、監視手段と判断手段とを備える。監視手段は、ソフトウエアについてのプロセスの稼働状況を監視する。判断手段は、予め定められた単位時間内で監視手段によって監視されるプロセスの稼働状況に基づき、単位時間についてソフトウエアが稼働状態にあるか非稼働状態にあるかを判断する。監視対象となるソフトウエアに稼働実績を取得する機能が備えられていなくても、単位時間内での稼働実績を容易に取得することができる。
【００３２】
さらに本発明は、ソフトウエアの稼働状況を監視するソフトウエア稼働監視方法において、
予め監視のための単位時間を定めておき、
前記単位時間内における前記ソフトウエアについてのプロセスの稼働状況に基づき、前記単位時間について前記ソフトウエアが稼働状態にあるか非稼働状態にあるかを判断することを特徴とするソフトウエア稼働監視方法である。
【００３３】
本発明に従えば、予め定められた監視のための単位時間内でのソフトウエアについてのプロセスの稼働状況に基づき、単位時間についてソフトウエアが稼働状態にあるか非稼働状態にあるかを判断する。監視対象となるソフトウエアに稼働実績を取得する機能が備えられていなくても、単位時間内での稼働実績を容易に取得することができる。
【００３４】
【発明の実施の形態】
図１は、本発明の実施の一形態であるソフトウエア稼働監視装置の概略的な構成を示す。ハードウエア１は、基本的に、パーソナルコンピュータやワークステーションなどと呼ばれている汎用的なコンピュータ装置である。ハードウエア１には、オペレーティング・システム２が搭載される。オペレーション・システム２は、ハードウエア１に備えられている機能を、統一したＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ  ）などのプログラム・インタフェースを介して提供する。オペレーティング・システム２上で実行されるアプリケーション・ソフトウエア３は、ハードウエア１の個々の構成部分を直接制御しないで、オペレーティング・システム２のＡＰＩを介して、ハードウエア１の資源を利用することができる。
【００３５】
本実施形態のオペレーティング・システム２は、処理すべきプログラムを、予め定めるプロセスを単位として実行し、実行するプロセスに関する情報をプログラム・インタフェースを介して提供可能である。稼働監視プログラム４は、オペレーティング・システム２上で実行されるアプリケーション・ソフトウエアの一つであり、他のアプリケーション・ソフトウエア３の稼働状況を監視する。稼働監視プログラム４のインストールも、他のアプリケーション・ソフトウエア３と同様に、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭなどの光学的記録媒体や、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  ）などの磁気的記録媒体にプログラム・コードを記録しておいて、その記録媒体をコンピュータ装置に読込ませて行うことができる。また、情報通信でプログラム・コードをダウンロードすることによっても、稼働監視プログラム４のコンピュータ装置へのインストールを行うことができる。
【００３６】
稼働監視プログラム４の実行中は、監視手段５、記録手段６、集計手段７およびログ生成手段８として、オペレーティング・システム２およびハードウエア１を機能させる。監視手段５は、オペレーティング・システム２によって実行されるプロセスについての情報を、プログラム・インタフェースを利用して収集し、プロセスの実行状況を監視する。記録手段６、集計手段７およびログ生成手段８は、監視手段５が収集する情報に含まれるアプリケーション・ソフトウエア３についてのプロセスの実行状況をそれぞれ記録し、集計して、そのアプリケーション・ソフトウエア３の稼働実績を生成する。アプリケーション・ソフトウエア３の稼働状況の監視と、稼働実績の生成とを稼働監視プログラム４で行うので、アプリケーション・ソフトウエア３自体や、オペレーティング・システム２やコンピュータ装置のハードウエア１側に稼働実績を取得する機能を備える必要がなく、アプリケーション・ソフトウエア３の稼働実績を容易に取得することができる。
【００３７】
図２は、図１の稼働監視プログラム４がアプリケーション・ソフトウエア３の稼働実績を取得する概略的な手順を示す。稼働監視プログラム４は予めコンピュータ装置にインストールされており、かつそのコンピュータ装置の起動時にスタートアップ処理手順中に起動するように設定されているものとする。ステップｓ０から手順を開始し、ステップｓ１ではオペレーティング・システム２の起動が行われる。ステップｓ２では、ステップｓ１でのオペレーティング・システム２起動に続いて、稼働監視プログラム４の起動が行われる。これらの起動は、図１のハードウエア１内に含まれるハードディスク装置などの記録媒体から、オペレーティング・システム２やアプリケーション・ソフトウエア４を構成するプログラム・モジュールなどを主記憶上に読出し、ＣＰＵが実行可能な状態に移行させる。稼働監視プログラム４は、起動後に、ステップｓ３で、記録手段６によって記録されている前日の記録を集計手段７によって集計し、ログ生成手段９によって、集計手段７が集計した稼働実績についてのログ・ファイルを生成する。
【００３８】
ステップｓ４では、インストールされているアプリケーション・ソフトウエア３についての起動要求があるか否かを判断する。起動要求は、スタートアップ処理手順として、コンピュータ装置の起動時に、自動的に行われるように設定される場合もあり、また、起動後に、利用者からの指示によって行われる場合もある。アプリケーション・ソフトウエア３の起動要求があるときには、オペレーティング・システム２は、ステップｓ５で要求されているアプリケーション・ソフトウエア３主記憶上に読出し、プロセスとして実行可能な状態とする。オペレーティング・システム２は、複数のアプリケーション・ソフトウエア３を見かけ上、同時に実行することもできる。１つのアプリケーション・ソフトウエア３が利用者の入出力を待つ間に、他のアプリケーション・ソフトウエア３を実行したり、短時間で複数のアプリケーション・ソフトウエア３を切換えて、並行して実行させたりすれば、見かけ上、複数のアプリケーション・ソフトウエア３が同時に実行される。本実施形態の稼働監視プログラム４も、このようにして、アプリケーション・ソフトウエア３と同時に実行される。
【００３９】
ステップｓ４でアプリケーション・ソフトウエア３についての起動要求が無いと判断されるとき、またはステップｓ５で起動要求のあるアプリケーション・ソフトウエア３を起動すると、ステップｓ６で、起動中のアプリケーション・ソフトウエア３について終了要求があるか否か判断する。終了要求があれば、ステップｓ７で、要求されたアプリケーション・ソフトウエア３を終了させる。
【００４０】
ステップｓ６でアプリケーション・ソフトウエア３の終了要求が無いと判断されるとき、またはステップｓ７で、要求されたアプリケーション・ソフトウエア３を終了させると、ステップｓ８で、一定時間、たとえば６０秒間が経過したか否かがタイマなどに基づいて判断される。一定時間経過と判断されると、ステップｓ９で、稼働監視プログラム４の監視手段５が動作し、オペレーティング・システム２のプログラム・インタフェースを介して、アプリケーション・ソフトウエア３のプロセス実行状況を監視する。監視によって取得する情報は、稼働監視プログラム４が管理する記憶領域に保管する。タイマは、再び一定時間の計時を行うように、リセットする。
【００４１】
ステップｓ８で一定時間経過していないと判断されるとき、またはステップｓ９でプロセス実行状況監視が終了すると、ステップｓ１０で、監視手段５によるプロセス実行状況の監視結果を記録手段６が記録する。監視結果の記録は、ハードディスクなどの不揮発性の記憶領域に記憶され、次回の起動時に、ステップｓ３でログ生成を行う際に利用される。
【００４２】
ステップｓ１０での監視結果記録が終了すると、ステップｓ１１でコンピュータ装置に対する終了要求がなされているか否かを判断する。終了要求が無ければ、ステップｓ４に戻り、ステップｓ４からステップｓ１１までの手順を繰返す。ステップｓ１１で終了要求があると判断されれば、ステップｓ１２でコンピュータ装置を使用する手順を終了する。
【００４３】
すなわち、本実施形態では、アプリケーション・ソフトウエア３側で対応ができない場合でも、稼働実績を取得するために、プロセスの増減の監視とＣＰＵの使用量の測定を、継続的に一定の間隔（Ｓ）で行うことによって、アプリケーション・ソフトウエア３の稼働状況（ＯＮ／ＯＦＦ）を把握する。さらに単位時間（Ｔ）の間の利用率（ｒ）の値によって、その時間（Ｔ）のすべてが稼働か非稼働かのいずれかにみなす。そしてその稼働単位時間の合計が起動から終了までの稼働実績時間となる。
【００４４】
まず、該当のアプリケーション・ソフトウエアについてのプロセスが開始されていない状態においては、
一定間隔（Ｓ）＝６０（秒）毎に
プロセスが開始されていないかを監視する。
【００４５】
次に、該当のアプリケーション・ソフトウエア３が実行中の場合においては、
一定間隔（Ｓ）毎に
プロセスが終了されていないかを監視する。
【００４６】
プロセスが終了されていない場合は、そのプロセスのＣＰＵ利用率を取得し、記録しておく。
【００４７】
該当プロセスが終了後の集計時には、次に示すような集計を行う。
一定間隔（Ｓ）＝６０（秒）
単位時間（Ｔ）＝６００（秒）
単位時間当りの測定回数（Ｎ）＝Ｔ／Ｓ＝１０（回）
Ｎ回の内、ＣＰＵの使用が稼働（ＯＮ）とみなされた回数（Ａ）が５回の場合、次の４つの場合を想定することができる。
【００４８】
ＣＡＳＥ：１  ｒ＝１００％
利用率が１００％以上の場合、稼働とみなすので、
この１０分間の単位時間（Ｔ）では、不稼働とみなす。
∵）ｒ＝１００で稼働とみなされるのは、Ｎ＝Ａ、
つまり測定のたびに稼働（ＯＮ）とみなされた場合のみである。
【００４９】
ＣＡＳＥ：２  ｒ＝５０
利用率が５０％以上の場合を稼働とみなすので、
この１０分間では稼働とみなす。
【００５０】
ＣＡＳＥ：３  ｒ＝２０
利用率が２０％以上の場合を稼働とみなすので、
この１０分間では稼働とみなす。
【００５１】
ＣＡＳＥ：４  ｒ＝０
利用率が０％以上の場合を稼働とみなすので、
この１０分間では稼働とみなす。
∵）ｒ＝０で稼働とみなされるのは、Ｎ≧Ａ、
つまりＣＰＵを使用していなくても稼働（ＯＮ）とみなされる。
よって、ｒには０より大きい値が必要である。
【００５２】
なお、本発明の実施形態に到るまでの経緯は、以下のとおりである。
すなわち、ＣＡＤソフト（アプリケーション・ソフトウエア３の一つ）の稼働状況を把握するために、ＣＡＤソフトの独自の機能を利用していたが、出力形態もＣＡＤソフト毎に異なるため、それをとりまとめるのが困難であった。またそのような機能を持たないＣＡＤソフトもある。このため、一定期間入力デバイスの操作がない場合に自動開始するスクリーンセーバの動作ログを元にＣＡＤソフトの稼働状況を間接的に予測計算し、稼働時間を取得していた。
【００５３】
実際には、ＣＡＤモデルの読み込み、変換、保存などの動作には時間がかかり、ＣＡＤソフトを使っていてもスクリーンセーバが動作することもあり、その誤差を把握できないまま、その状況は無視せざるを得なかった。
【００５４】
そこで、スクリーンセーバという間接的な方法ではなく、ＣＡＤソフトそのものを把握でき、しかも複数のＣＡＤソフトに共通で使えるという方法を検討した。
【００５５】
その結果、オペレーティング・システム（ＯＳ）２のタスクにＣＡＤソフトのモジュールが一定の名前で出現することに着目し、ＣＰＵの負荷を監視することでＣＡＤソフトの稼働状況を取得するという方法に辿りついた。
【００５６】
しかしながら、実際には監視した結果の０か１かをそのままダイレクトに稼働時間とみなすと、細かい間隔、たとえば１分間に監視すると正確な稼働状況を収集できるかわりに、１分毎の監視が実行される瞬間にソフトウエアが稼働しているかどうかで、実際には連続している利用が途切れているような値になってしまう（たとえば、作業者が１分おきに席をはずしたり着席したりすることは現実的ではない）。
【００５７】
そこで本実施の形態においては、一定の時間、すなわち単位時間（Ｔ）と、稼働比率、すなわち利用率（ｒ）を設定しておき、単位時間Ｔの間の稼働状況を集計した比率を算出し、その値が利用率ｒよりも大きければ、その単位時間Ｔ全体を動作時間とみなすことにより、より正確な監視と、実務に応じた稼働時間とを得ることができた。
【００５８】
たとえば、一定間隔（たとえば５分）で起動中のプロセス（アプリケーション・ソフトウエア）のＣＰＵ使用率（もしくは使用量等）を調査する。
【００５９】
それを一定時間（たとえば３０分）集めて、「使っていたか」か「使っていなかった」かを判断する。
【００６０】
「使っていなかった」と判断された場合は、その一定時間（上記の場合は３０分）は無効時間とする。
【００６１】
以上のように、ＣＡＤソフトのように読み込み実行などに時間がかかるようなアプリケーション・ソフトウエアのように、一見、動作が停止しているように思われるものであっても、正確に稼働状況を把握することができ、かつ、実際の作業に適応できるという格別な作用効果を奏する。
【００６２】
図３は、本実施形態のソフトウエア稼働監視を行うコンピュータシステムの概略的な構成を示す。なお、図３の構成はあくまで一例であって、本発明においては、その他の構成についても適用可能である。ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０を介して、複数のサーバ・コンピュータ装置と複数のクライアント・コンピュータ装置とが、全体として業務遂行のためのコンピュータシステムを構成する。サーバとなるコンピュータ装置には、電子メールの管理などを行うドメイン・サーバ（Ｄｏｍａｉｎ  ＳＶ  ）用のコンピュータ装置１１、データベースの管理などを行うデータベース・サーバ（ＤＢ  ＳＶ  ）用のコンピュータ装置１２、アプリケーション・ソフトウエアやサービスを提供するアプリケーション・サーバ（アプリ  ＳＶ  ）用のコンピュータ装置１３、Ｗｅｂページ形式で情報の提供を行うウェブ・サーバ（Ｗｅｂ  ＳＶ）用のコンピュータ装置１４および資料等のファイルを提供するファイル・サーバ（Ｆｉｌｅ  ＳＶ  ）用のコンピュータ装置１５などが含まれる。クライアント・コンピュータ装置には、３次元ＣＡＤ用を主目的とするパーソナルコンピュータ（３ＤＣＡＤ  ＰＣ）２１，２２，２３，２４や、事務処理を主目的とするパーソナルコンピュータ（事務処理  ＰＣ  ）２５などが含まれる。
【００６３】
図４は、図３に示す各コンピュータ装置の動作環境を示す。各クライアント（Ｃｌｉｅｎｔ）・コンピュータ装置は、オペレーティング・システム（ＯＳ）として、ＯＳ−Ａ  ＮＴ、ＯＳ−Ｂ  Ｐｒｏ、ＯＳ−Ｂなど、複数種類のオペレーティング・システム２のいずれかを搭載する。使用するアプリケーション・ソフトウエア３は、３ＤＣＡＤ、Ｗｅｂブラウザ、社内システム、業務アプリケーション等である。３次元ＣＡＤ用のパーソナルコンピュータ２１，２２，２３，２４には、３ＤＣＡＤとＷｅｂブラウザ、および社内システムなどがインストールされる。事務処理を行うパーソナルコンピュータ２５には、業務アプリケーション等と、Ｗｅｂブラウザ、および社内システムなどがインストールされる。３ＤＣＡＤには、ＭＷＣＡＤやＰＥＣＡＤ等、複数種類があり、業務内容や利用者の習熟度合によって選択される。各サーバ・コンピュータ装置にも、異なる種類のオペレーティング・システム２やサービス提供用のソフトウエアが搭載される。なお、これらのオペレーティング・システム２やアプリケーション・ソフトウエア３などの名称は、説明の便宜のための仮称である。
【００６４】
図５は、図３に示すようなコンピュータシステムで、各コンピュータ装置に関する情報としてのマスタデータの例を示す。各コンピュータ装置に関して、ホスト名（ＨＯＳＴ  ＮＡＭＥ  ）、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ）アドレス、登録日（ＲＥＧＩＳＴ  ＤＡＴＥ）、コード（ＡＤＤ＿ＵＰ＿ＣＯＤＥ）、主目的（ＭＡＩＮ  ＰＵＲＰＯＳＥ）、特記事項（ＮＯＴＥ）、電話番号（ＴＥＬ  ）、部屋（ＲＯＯＭ）などの情報が記録される。主目的には、そのコンピュータ装置で、主として使用する目的のアプリケーション・ソフトウエア３の名称が記録される。
【００６５】
図６は、図３のパーソナルコンピュータ２１，２２，２３，２４，２５などのコンピュータ装置に、米国マイクロソフト社製で登録商標「Ｗｉｎｄｏｗｓ  」を付して市販されているオペレーティング・システムを搭載して動作させるときに、利用者からの要求に応じて提供されるプロセス一覧の例を示す。このようなプロセス一覧は、オペレーティング・システム２に対して、稼働監視プログラム４の監視手段５から、図２のステップｓ９のように要求して取得することもできる。「イメージ名」は、各プロセスの実行用プログラム・コードを記述している実行形式ファイルの名称を表す。この実行形式ファイル名には、本来のファイル名とともに、「ｅｘｅ」または「ＥＸＥ」の拡張子が付されているものが多い。
【００６６】
図７は、図２のステップｓ３で生成されるログ・ファイルの例を示す。図５のように登録されているコンピュータ装置のうちの１つとして、ホスト名（ＨＯＳＴ  ＮＡＭＥ  ）が「ｈｖ１０」であるコンピュータ装置について収集されるログ・ファイルの例を示す。このコンピュータ装置の主目的は、「ＭＷＣＡＤ」であるけれども、この例の期間では、主として「ｘｔｏｐ．ｅｘｅ」の実行形式ファイル、すなわち３ＤＣＡＤのうちのＰＥＣＡＤが使用されていることが判る。
【００６７】
図８は、図２のステップｓ１１で稼働実績を集計するためのマスタデータの例を示す。「ＥＸＥＮＡＭＥ  」は、図６の「プロセス名」に対応し、短名称（ＳＮＡＭＥ  ）および長名称（ＬＮＡＭＥ  ）は、図４に示すサービスやアプリケーションの短縮した名称および正式名称をそれぞれ示す。このマスタデータを参照することによって、図７のログ・ファイルから、どのアプリケーション・ソフトウエア３が実行されているかを知ることができる。なお、このマスタデータは３ＤＣＡＤについてであり、前述のＰＥおよびＭＷ以外にも、いずれかのコンピュータ装置にインストールされているアプリケーション・ソフトウエアを列挙している。たとえば、ｍｇｒ．ｅｘｅ  は、図９の集計結果中には出現している。
【００６８】
図９は、図３の各コンピュータ装置について、図７に示すようなログ・ファイルの内容を集計して、アプリケーション・ソフトウエア３の全体的な稼働実績としてまとめた情報の例を示す。ＭＧＲ．ＥＸＥは、ｍｇｒ．ｅｘｅと同じものである。
【００６９】
図１０は、業務を分担する各部門に対する集計結果の例を示す。このような集計結果は、図３のウェブ・サーバ１４から各コンピュータ装置に提供することができる。
【００７０】
図１１は、図３のコンピュータシステムで、各アプリケーション・ソフトウエア３の稼働実績を、月別に時系列表示している例を示す。３ＤＣＡＤのうち、ＭＷ、ＰＥの順で多く使用されているけれども、特に、ＰＥが後半になって稼働が多くなってきていることが判る。
【００７１】
また本発明で、前記監視手段は、予め定める時間間隔で、前記監視を継続的に行うことを特徴とする。
【００７２】
以上のように、本実施形態の稼働監視プログラム４は、アプリケーション・ソフトウエア３の一つとしてオペレーティング・システム２上で実行され、次のような効果を奏することができる。
【００７３】
▲１▼外部からの稼働実績取得
従来は、アプリケーション・ソフトウエア３個別の機能に依存していた稼働実績の取得を、共通化することができ、迅速に対比することができる。アプリケーション・ソフトウエア３の外部から稼働実績を取得することができるので、対比不可能なアプリケーション・ソフトウエア３への対応が可能になる。
【００７４】
▲２▼集計による実値への近似
稼働実績を利用率に応じて集計することによって、より現状に近い値の算出が可能となる。
【００７５】
【発明の効果】
以上のように本発明によれば、オペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働実績を、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に機能を備えていなくても、容易に取得することができる。
【００７６】
また本発明によれば、アプリケーション・ソフトウエアの稼働実績の時間的な変化を、容易に取得することができる。
【００７７】
また本発明によれば、単位時間毎のアプリケーション・ソフトウエアの稼働実績を、利用率で知ることができる。
【００７８】
また本発明によれば、単位時間毎に、アプリケーション・ソフトウエアが稼働か非稼働かを、単位時間毎の判定結果から容易に知ることができる。
【００７９】
また本発明によれば、複数のアプリケーション・ソフトウエアを稼働実績監視の対象としても、同一の形式でログ・ファイルを取得し、容易に比較することができる。
【００８０】
さらに本発明によれば、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に稼働実績を取得する機能を備えていなくても、アプリケーション・ソフトウエアの稼働実績を容易に取得することができる。
【００８１】
さらに本発明によれば、プログラムをコンピュータ装置に読取らせて、オペレーション・システム上で実行されるアプリケーション・ソフトウエアの稼働実績を容易に取得することができる。
【００８２】
さらに本発明によれば、オペレーティング・システム上で実行されるアプリケーション・ソフトウエアの稼働実績を、アプリケーション・ソフトウエア自体や、オペレーティング・システムやコンピュータ装置のハードウエア側に機能を備えていなくても、容易に取得することができる。
【００８３】
さらに本発明によれば、予め定められた単位時間内で監視手段によって監視されるプロセスの稼働状況に基づき、判断手段は、単位時間についてソフトウエアが稼働状態にあるか非稼働状態にあるかを判断するので、ソフトウエアに稼働実績を取得する機能が備えられていなくても、単位時間内での稼働実績を容易に取得することができる。
【００８４】
さらに本発明によれば、予め定められた監視のための単位時間についてソフトウエアが稼働状態にあるか非稼働状態にあるかを、プロセスの稼働状況に基づいて判断するので、ソフトウエアに稼働実績を取得する機能が備えられていなくても、単位時間内での稼働実績を容易に取得することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態であるソフトウエア稼働監視装置の概略的な構成を示すブロック図である。
【図２】図１でアプリケーション・ソフトウエア３の稼働実績を取得する概略的な手順を示すフローチャートである。
【図３】図１の実施形態例で、ソフトウエア稼働監視を行うコンピュータシステムの概略的な構成を示すブロック図である。
【図４】図３に示す各コンピュータ装置の動作環境を示す図表である。
【図５】図３に示すようなコンピュータシステムで、各コンピュータ装置に関する情報としてのマスタデータの例を示す図表である。
【図６】図３のコンピュータ装置に、市販されているオペレーティング・システムで提供されるプロセス一覧の表示画面を示す図である。
【図７】図２のステップｓ３で生成されるログ・ファイルの例を示す図である。
【図８】図２のステップｓ１１で稼働実績を集計するためのマスタデータの例を示す図表である。
【図９】図３の各コンピュータ装置についてのログ・ファイルの内容を集計して、アプリケーション・ソフトウエア３の全体的な稼働実績としてまとめた情報の例を示す図表である。
【図１０】、図３のウェブ・サーバ１４から各コンピュータ装置に提供する集計結果表示画面の例を示す図である。
【図１１】図３のコンピュータシステムで、各アプリケーション・ソフトウエア３の稼働実績を、月別に時系列表示している例を示すグラフである。
【符号の説明】
１  ハードウエア
２  オペレーティング・システム
３  アプリケーション・ソフトウエア
４  稼働監視プログラム
５  監視手段
６  記録手段
７  集計手段
８  ログ生成手段
１０  ＬＡＮ
１１，１２，１３，１４，１５  コンピュータ装置
２１，２２，２３，２４，２５  パーソナルコンピュータ
【図１】
2004259036.tif 000003
【図２】
2004259036.tif 000004
【図３】
2004259036.tif 000005
【図４】
2004259036.tif 000006
【図５】
2004259036.tif 000007
【図６】
2004259036.tif 000008
【図７】
2004259036.tif 000009
【図８】
2004259036.tif 000010
【図９】
2004259036.tif 000011
【図１０】
2004259036.tif 000012
【図１１】
2004259036.tif 000013