(57)【要約】【課題】アプリケーションプログラムの使用時間を容易かつ的確に管理することができる情報処理装置、アプリケーションプログラム管理方法およびこの管理をコンピュータに実現させるためのプログラムを提供する。【解決手段】本発明に係る情報処理装置は、作業ウインドウが非アクティブになってから所定の時間が経過すると、アプリケーションプログラムが非使用状態に移行したと判定して作業ウインドウがアクティブでないと判定された時刻を非使用状態の開始時刻として取得する非使用開始時刻取得部３６を備える。また、アプリケーションプログラムが非使用状態にある際に作業ウインドウがアクティブであると、アプリケーションプログラムが使用状態に移行したとして、作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得する再開時刻取得部３７を備える。【選択図】  図３
2011008662.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの起動時刻を取得する起動時刻取得部と、
表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するウインドウ状態判定部と、
前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する非使用開始時刻取得部と、
前記アプリケーションプログラムが前記非使用状態にある際に前記ウインドウ状態判定部により前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得する再開時刻取得部と、
前記アプリケーションプログラムに対する終了指示があった時刻を取得する終了時刻取得部と、
を有するアプリケーション使用時間管理部を備えたことを特徴とする情報処理装置。
【請求項２】
前記アプリケーションプログラムに対する指示を受け付ける操作入力部、
をさらに備え、
前記非使用開始時刻取得部は、
前記作業ウインドウがアクティブでないと判定されてから前記所定の時間が経過すると、または、前記操作入力部を介した最新の入力イベントが発生してから前記所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する、
請求項１記載の情報処理装置。
【請求項３】
前記アプリケーション使用時間管理部は、
前記アプリケーションプログラムの前記起動時刻および前記終了時刻ならびに前記非使用状態の開始時刻および前記使用再開時刻の情報を外部サーバに送信する使用時間送信部、
をさらに有する請求項１または２に記載の情報処理装置。
【請求項４】
前記再開時刻取得部は、
前記アプリケーションプログラムが前記非使用状態にある際に前記アプリケーションプログラムに対する前記操作入力部を介した指示があると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記操作入力部を介した指示があった時刻を使用再開時刻として取得する、
請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アプリケーションプログラムおよび前記アプリケーション使用時間管理部の起動順序を制御するアプリケーション起動制御部、
をさらに備え、
前記アプリケーション起動制御部は、
単独で起動指示されてまたは前記アプリケーションプログラムに対する起動指示に応じて前記アプリケーションプログラムよりも先に起動されて、前記アプリケーション使用時間管理部を起動してから前記アプリケーションプログラムを起動する、
請求項１ないし４のいずれか１項に記載の情報処理装置。
【請求項６】
前記アプリケーションプログラムの前記起動時刻および前記終了時刻ならびに前記非使用状態の開始時刻および前記使用再開時刻の情報を、それぞれ前記起動時刻取得部および前記終了時刻取得部ならびに前記非使用開始時刻取得部および前記終了時刻取得部により記録される記憶部、
をさらに備えた請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
アプリケーションプログラムの起動時刻を取得するステップと、
表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するステップと、
前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得するステップと、
前記アプリケーションプログラムが前記非使用状態にある際に前記作業ウインドウがアクティブであるか否かを判定するステップにおいて前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得するステップと、
前記アプリケーションプログラムに対する終了指示があった時刻を取得するステップと、
を有するアプリケーションプログラム管理方法。
【請求項８】
前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得するステップは、
前記作業ウインドウがアクティブでないと判定されてから前記所定の時間が経過すると、または、操作入力部を介した最新の入力イベントが発生してから前記所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得するステップである、
請求項７記載のアプリケーションプログラム管理方法。
【請求項９】
前記アプリケーションプログラムの前記起動時刻および前記終了時刻ならびに前記非使用状態の開始時刻および前記使用再開時刻の情報を外部サーバに送信するステップ、
をさらに有する請求項７または８記載のアプリケーションプログラム管理方法。
【請求項１０】
前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得するステップは、
前記アプリケーションプログラムが前記非使用状態にある際に前記アプリケーションプログラムに対する前記操作入力部を介した指示があると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記操作入力部を介した指示があった時刻を使用再開時刻として取得するステップである、
請求項７ないし９のいずれか１項に記載のアプリケーションプログラム管理方法。
【請求項１１】
コンピュータを、
アプリケーションプログラムの起動時刻を取得する起動時刻取得部と、
表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するウインドウ状態判定部と、
前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する非使用開始時刻取得部と、
前記アプリケーションプログラムが前記非使用状態にある際に前記ウインドウ状態判定部により前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得する再開時刻取得部と、
前記アプリケーションプログラムに対する終了指示があった時刻を取得する終了時刻取得部と、
を有するアプリケーション使用時間管理部として機能させることを特徴とするプログラム。
【請求項１２】
前記非使用開始時刻取得部は、
前記作業ウインドウがアクティブでないと判定されてから前記所定の時間が経過すると、または、操作入力部を介した最新の入力イベントが発生してから前記所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する、
請求項１１記載のプログラム。
【請求項１３】
前記アプリケーション使用時間管理部は、
前記アプリケーションプログラムの前記起動時刻および前記終了時刻ならびに前記非使用状態の開始時刻および前記使用再開時刻の情報を外部サーバに送信する使用時間送信部、
をさらに有する請求項１１または１２に記載のプログラム。
【請求項１４】
前記再開時刻取得部は、
前記アプリケーションプログラムが前記非使用状態にある際に前記アプリケーションプログラムに対する前記操作入力部を介した指示があると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記操作入力部を介した指示があった時刻を使用再開時刻として取得する、
請求項１１ないし１３のいずれか１項に記載のプログラム。
【請求項１５】
コンピュータを、さらに、
前記アプリケーションプログラムおよび前記アプリケーション使用時間管理部の起動順序を制御するアプリケーション起動制御部、
として機能させ、
前記アプリケーション起動制御部は、
単独で起動指示されてまたは前記アプリケーションプログラムに対する起動指示に応じて前記アプリケーションプログラムよりも先に起動されて、前記アプリケーション使用時間管理部を起動してから前記アプリケーションプログラムを起動する、
請求項１１ないし１４のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムの使用時間を管理する情報処理装置、アプリケーションプログラム管理方法およびこの管理をコンピュータに実現させるためのプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置を用いて作業を行う場合、ユーザは、作業を支援する機能を提供するアプリケーションプログラムを利用することが多い。このため、アプリケーションプログラムの使用時間の情報は、ユーザの作業効率を把握するためなどに利用することができる。
【０００３】
従来、この種のアプリケーションプログラムの使用時間を管理する技術に、特開２００６−１９５７７７号公報（特許文献１）に開示された技術がある。
【０００４】
この特許文献１に開示された作業時間内訳生成システムは、ユーザが起動したアプリケーションプログラムからこのアプリケーションプログラムの種別、使用開始時刻、使用終了時刻を作業単位データとして収集し送信する作業単位データ収集手段を備える。この作業単位データ収集手段は、アプリケーションプログラムの使用された機能別に機能別コードとその機能別の使用開始時刻、使用終了時刻を収集することができるため、アプリケーションプログラム自体の使用開始／終了時刻だけでなく、アプリケーションプログラムの使用された機能の種別および各機能の使用開始／使用終了時刻を管理することができるようになっている。このため、この作業時間内訳生成システムによれば、ユーザは容易に日頃の作業内容の時間配分を確認することができ、この作業内容の時間配分にもとづいて作業の効率化を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９５７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来のアプリケーションプログラムの使用時間を管理する技術では、管理対象となるアプリケーションプログラムの起動開始時刻から終了時刻までの時間（以下、起動時間という）のうち、アプリケーションプログラムがユーザに利用されていない状態（以下、非使用状態という）の時間（以下、非使用時間という）を把握することができない。これらの非使用時間には、ユーザが何らかの機能を使用中の時間が含まれる。非使用時間としては、ユーザが他のアプリケーションプログラムを利用している時間や離席している時間などをあげることができる。たとえば、ユーザが何らかの機能を使用開始した後使用終了する前に離席した場合、従来の技術では、この離席している間の非使用時間を取得することができない。このため、従来の技術では、ユーザが実際にアプリケーションプログラムを利用した時間（以下、使用時間という）を的確に把握することが難しい。
【０００７】
本発明は、上述した事情を考慮してなされたもので、アプリケーションプログラムの使用時間を容易かつ的確に管理することができる情報処理装置、アプリケーションプログラム管理方法およびこの管理をコンピュータに実現させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、上述した課題を解決するために、アプリケーションプログラムの起動時刻を取得する起動時刻取得部と、表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するウインドウ状態判定部と、前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する非使用開始時刻取得部と、前記アプリケーションプログラムが前記非使用状態にある際に前記ウインドウ状態判定部により前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得する再開時刻取得部と、前記アプリケーションプログラムに対する終了指示があった時刻を取得する終了時刻取得部と、を有するアプリケーション使用時間管理部を備えたことを特徴とするものである。
【０００９】
一方、本発明に係るプログラム管理方法は、上述した課題を解決するために、アプリケーションプログラムの起動時刻を取得するステップと、表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するステップと、前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得するステップと、前記アプリケーションプログラムが前記非使用状態にある際に前記作業ウインドウがアクティブであるか否かを判定するステップにおいて前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得するステップと、前記アプリケーションプログラムに対する終了指示があった時刻を取得するステップと、を有する方法である。
【００１０】
さらに、本発明に係るプログラムは、上述した課題を解決するために、コンピュータを、アプリケーションプログラムの起動時刻を取得する起動時刻取得部と、表示部に表示された前記アプリケーションプログラムの作業ウインドウがアクティブであるか否かを判定するウインドウ状態判定部と、前記作業ウインドウがアクティブでないと判定されてから所定の時間が経過すると、前記アプリケーションプログラムが非使用状態に移行したと判定して前記作業ウインドウがアクティブでないと判定された時刻を前記非使用状態の開始時刻として取得する非使用開始時刻取得部と、前記アプリケーションプログラムが前記非使用状態にある際に前記ウインドウ状態判定部により前記作業ウインドウがアクティブであると判定されると、前記アプリケーションプログラムが使用状態に移行したと判定し、前記作業ウインドウがアクティブであると判定された時刻を使用再開時刻として取得する再開時刻取得部と、前記アプリケーションプログラムに対する終了指示があった時刻を取得する終了時刻取得部と、を有するアプリケーション使用時間管理部として機能させることを特徴とするプログラムである。
【発明の効果】
【００１１】
本発明に係る情報処理装置、アプリケーションプログラム管理方法およびこの管理をコンピュータに実現させるためのプログラムによれば、アプリケーションプログラムの使用時間を容易かつ的確に管理することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る情報処理装置の一実施形態を示す概略的な全体構成図。
【図２】パーソナルコンピュータの内部構成例を概略的に示すブロック図。
【図３】主制御部のＣＰＵによる機能実現部の構成例を示す概略的なブロック図。
【図４】アプリケーション起動制御部が単独で起動指示される場合の表示画面の一例を示す説明図。
【図５】アプリケーション起動制御部がアプリケーションプログラムに対する起動指示に応じて起動される場合の表示画面の一例を示す説明図。
【図６】アプリケーションプログラムの作業ウインドウがアクティブであり、かつアプリケーションプログラムが非使用状態である場合の表示画面の一例を示す説明図。
【図７】アプリケーションプログラムの作業ウインドウが非アクティブである場合の表示画面の一例を示す説明図。
【図８】図１に示すパーソナルコンピュータの主制御部により、アプリケーションプログラムの使用時間を容易かつ的確に管理する際の手順を示すフローチャート。
【図９】図８に示した手順の途中でアプリケーションプログラムに対する終了指示があった場合におけるパーソナルコンピュータの動作の一例を示すフローチャート。
【発明を実施するための形態】
【００１３】
本発明に係る情報処理装置、アプリケーションプログラム管理方法およびプログラムの実施の形態について、添付図面を参照して説明する。
【００１４】
図１は、本発明に係る情報処理装置の一実施形態を示す概略的な全体構成図である。なお、本発明は、アプリケーションプログラムを利用する情報処理装置に適用することができる。本実施形態では、本発明に係る情報処理装置として、ノートブック型のパーソナルコンピュータ（以下、パーソナルコンピュータという）を用いる場合の一例について示す。
【００１５】
図１に示すように、パーソナルコンピュータ１０は、コンピュータ本体１１および表示装置としてのディスプレイユニット１２を備える。
【００１６】
コンピュータ本体１１は、薄い箱形の筐体を有し、この筐体上面の中央部には、操作入力部としてのキーボード１３が設けられる。コンピュータ本体１１の筐体上面の手前側には、パームレストが形成される。パームレストのほぼ中央部には、操作入力部としてのタッチパッド１４およびタッチパッドコントロールボタン１５が設けられる。コンピュータ本体１１の筐体上面の奥側には、パーソナルコンピュータ１０の電源をオン／オフするためのパワーボタン１６が配置される。
【００１７】
表示装置としてのディスプレイユニット１２は、表示パネル１７を有し、コンピュータ本体１１に対し開閉自在に支持する連結部（ヒンジ）１８を介して連結される。
【００１８】
図２は、パーソナルコンピュータ１０の内部構成例を概略的に示すブロック図である。
【００１９】
図２に示すように、パーソナルコンピュータ１０は、操作入力部（キーボード１３、タッチパッド１４、タッチパッドコントロールボタン１５）や表示パネル１７のほか、時刻情報出力部２２、タイマ２３、記憶部２４、ネットワーク接続部２５および主制御部２６を有する。
【００２０】
操作入力部（キーボード１３、タッチパッド１４、タッチパッドコントロールボタン１５）は、ユーザの操作に対応した操作入力信号を主制御部２６に与える。
【００２１】
表示パネル１７は、たとえば液晶ディスプレイ、ＯＬＥＤ（Organic Light Emitting Diode）ディスプレイ、発光ダイオードなどの一般的な表示出力装置により構成され、主制御部２６の制御に従って各種情報を表示する。本実施形態においては、表示パネル１７が液晶ディスプレイ（ＬＣＤ２１：Liquid Crystal Display）により構成される場合の例について示す。
【００２２】
時刻情報出力部２２は、たとえばＲＴＣ（Real Time Clock）などにより構成され、主制御部２６に対して現在時刻情報を出力する。この時刻情報出力部２２は、パーソナルコンピュータ１０の電源がＯＦＦであっても、ボタン電池などのバックアップ電源により給電されて常時稼動する。
【００２３】
タイマ２３は、主制御部２６により制御され、所定の時間をセットされて起動される。たとえば、タイマ２３は、所定の時間をセットされて起動されて計時開始後に所定の時間が経過すると、主制御部２６に対してタイムアウト信号を出力し計時を停止する。
【００２４】
記憶部２４は、磁気的もしくは光学的記録媒体または半導体メモリなどの、ＣＰＵにより読み取り可能な不揮発性の記憶媒体により構成される。記憶部２４は、たとえばハードディスクドライブやソリッドステートドライブなどにより構成することができる。
【００２５】
この記憶部２４は、アプリケーションプログラムの起動時刻および終了時刻の情報と、アプリケーションプログラムが非使用状態となった時刻（非使用状態の開始時刻）および使用が再開された時刻（使用再開時刻）の情報と、を少なくとも記憶する。
【００２６】
ネットワーク接続部２５は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装する。ネットワーク接続部２５は、この各種プロトコルに従ってパーソナルコンピュータ１０と他の電気機器とを接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線／有線ＬＡＮ（Local Area Network）やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
【００２７】
主制御部２６は、ＣＰＵ、ＲＡＭおよびＲＯＭをはじめとする記憶媒体などにより構成され、この記憶媒体に記憶されたプログラムに従って、パーソナルコンピュータ１０の処理動作を制御する。
【００２８】
主制御部２６のＣＰＵは、ＲＯＭをはじめとする記憶媒体に記憶されたアプリケーションプログラム、アプリケーション起動制御プログラム、アプリケーション使用時間管理プログラムおよびこれらのプログラムの実行のために必要なデータをＲＡＭへロードし、これらのプログラムに従って、アプリケーションプログラムの使用時間を容易かつ的確に管理するための処理を実行する。なお、このアプリケーションプログラムは、アプリケーション使用時間管理プログラムによって使用時間を監視される対象となるプログラムであり、ＣＡＤ（Computer Aided Design）プログラムなどをはじめ、どのようなプログラムであっても構わない。
【００２９】
主制御部２６のＲＡＭは、ＣＰＵが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。
【００３０】
主制御部２６のＲＯＭをはじめとする記憶媒体は、パーソナルコンピュータ１０の起動プログラム、オペレーティングシステム、アプリケーションプログラム、アプリケーション起動制御プログラム、アプリケーション使用時間管理プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
【００３１】
なお、ＲＯＭをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、ＣＰＵにより読み取り可能な記録媒体を含んだ構成を有し、たとえばハードディスクドライブやソリッドステートドライブなどにより構成することができる。また、これらの記憶媒体内のプログラムおよびデータの一部または全部は電子ネットワークを介してダウンロードされるように構成してもよい。
【００３２】
図３は、主制御部２６のＣＰＵによる機能実現部の構成例を示す概略的なブロック図である。なお、この機能実現部は、ＣＰＵを用いることなく回路などのハードウエアロジックによって構成してもよい。
【００３３】
図３に示すように、主制御部２６のＣＰＵは、アプリケーション起動制御プログラムによって、アプリケーション起動制御部３１として機能する。また、主制御部２６のＣＰＵは、アプリケーション使用時間管理プログラムによって、アプリケーション使用時間管理部３２として機能する。この各部３１および３２は、ＲＡＭの所要のワークエリアをデータの一時的な格納場所として利用する。
【００３４】
アプリケーション起動制御部３１は、単独で起動指示されて、またはアプリケーションプログラムに対する起動指示に応じてアプリケーションプログラムよりも先に起動される。アプリケーション起動制御部３１は、起動されると、アプリケーション使用時間管理部３２を起動してからアプリケーションプログラムを起動するように、アプリケーション使用時間管理部３２およびアプリケーションプログラムの起動順序を制御する。
【００３５】
図４は、アプリケーション起動制御部３１が単独で起動指示される場合の表示画面の一例を示す説明図である。
【００３６】
アプリケーション起動制御部３１が単独で起動指示される場合としては、たとえば、ＬＣＤ２１の表示画面上にアプリケーション起動制御プログラムに関連付けられたアイコン４１が描画されており、ユーザが操作入力部によりこのアイコン４１を介してアプリケーション起動制御プログラムに対して直接に起動指示を行う場合などを挙げることができる。
【００３７】
図５は、アプリケーション起動制御部３１がアプリケーションプログラムに対する起動指示に応じて起動される場合の表示画面の一例を示す説明図である。
【００３８】
アプリケーション起動制御部３１がアプリケーションプログラムに対する起動指示に応じて起動される場合としては、たとえば、ＬＣＤ２１の表示画面上に「見かけ上」アプリケーションプログラムそのものに関連付けられたアイコン４２が描画されており、かつ実際にはこのアイコン４２にはアプリケーション起動制御部３１が関連付けられている場合などを挙げることができる。この場合、ユーザは操作入力部によりこのアイコン４２を介してアプリケーションプログラムを起動したい旨の指示が行われると、このアプリケーションプログラムの起動指示に応じて、アプリケーションプログラムよりも先にアプリケーション起動制御部３１が起動されることになる。この場合、ユーザに対してアプリケーション起動制御プログラムを意識させることなく、アプリケーションプログラムよりも先にアプリケーション起動制御部３１を起動することができる。
【００３９】
いずれの場合でも、アプリケーション起動制御部３１は、起動指示を受けて起動されると、アプリケーション使用時間管理部３２を起動してからアプリケーションプログラムを起動する。
【００４０】
アプリケーション使用時間管理部３２は、少なくとも起動時刻取得部３３、アイドル状態判定部３４、ウインドウ状態判定部３５、非使用開始時刻取得部３６、再開時刻取得部３７、終了時刻取得部３８および使用時間送信部３９を有する。
【００４１】
起動時刻取得部３３は、アプリケーション起動制御部３１からアプリケーションを起動した旨の情報を受け、時刻情報出力部２２からアプリケーションプログラムが起動された時刻（起動時刻）を取得し、このアプリケーションプログラムの起動時刻を記憶部２４に記憶させる。
【００４２】
図６は、アプリケーションプログラムの作業ウインドウ４３がアクティブであり、かつアプリケーションプログラムが非使用状態である場合の表示画面の一例を示す説明図である。
【００４３】
アプリケーションプログラムが非使用状態（ユーザに利用されていない状態）であるか否かを判定する方法の１つに、システムが所定の時間以上アイドル状態であるか否かを判定する方法がある。システムが所定の時間以上アイドル状態である場合、ユーザが離席しているなどしてパーソナルコンピュータ１０の作業を中断している可能性が高い。この場合、たとえアプリケーションプログラムの作業ウインドウ４３がアクティブであっても、アプリケーションプログラムは非使用状態にあるといってよい。
【００４４】
以下の説明では、システムがアイドル状態にあるか否かを、操作入力部を介したカーソル４４の移動指示があるか否かをもって判定する場合の例について示す。
【００４５】
なお、オペレーティングシステムが、実行すべきタスクがなくなるなどの要因に応じてシステムアイドル状態であることを検出するとアイドル命令をコールしてシステムＢＩＯＳなどの制御プログラムに対してシステムアイドルを通知する機能を有する場合は、このシステムアイドルの通知をもってシステムのアイドル状態が開始されたものとしてもよい。
【００４６】
アイドル状態判定部３４は、操作入力部を介した入力イベントが発生しているか否かを判定することにより、システムがアイドル状態であるか否かを判定する。
【００４７】
図７は、アプリケーションプログラムの作業ウインドウ４３が非アクティブである場合の表示画面の一例を示す説明図である。
【００４８】
アプリケーションプログラムの作業ウインドウ４３が非アクティブである場合は、ユーザは、図７に示した例のように他のプログラムの作業ウインドウ４５をアクティブにして作業を行うなどして、アプリケーションプログラムを利用していない可能性が高い。この場合も、アプリケーションプログラムは非使用状態にあるといってよい。
【００４９】
そこで、ウインドウ状態判定部３５は、アプリケーションプログラムの作業ウインドウ４３がアクティブであるか否かを判定する。
【００５０】
非使用開始時刻取得部３６は、ウインドウが非アクティブであると判定されると、またはシステムがアイドル状態であると判定されると、タイマ２３を起動して所定の時間Ｔｔｈをセットする。そして、システムがアイドル状態のまま、またはウインドウが非アクティブのままタイマ２３がタイムアウト信号を出力すると、非使用開始時刻取得部３６は、アプリケーションプログラムが非使用状態に移行したと判定し、現在の時刻を時刻情報出力部２２から取得する。そして、非使用開始時刻取得部３６は、現在の時刻から所定の時間Ｔｔｈを減じることによりアプリケーションプログラムが非使用状態に移行した時刻（非使用状態の開始時刻）を算出し、この非使用状態の開始時刻を記憶部２４に記憶させる。なお、非使用状態の開始時刻として、簡略的にタイムアウト信号が出力された時刻を用いてもよい。
【００５１】
再開時刻取得部３７は、ウインドウ状態判定部３５からアプリケーションプログラムの作業ウインドウ４３がアクティブであるか否かの判定結果を受け、アプリケーションプログラムの使用が再開されたか否かを判定する。再開時刻取得部３７はまた、アイドル状態判定部３４から操作入力部を介してアプリケーションプログラムに対する入力イベントが発生しているか否かの判定結果を受け、アプリケーションプログラムの使用が再開されたか否かを判定する。再開時刻取得部３７は、作業ウインドウ４３がアクティブである場合またはアプリケーションプログラムに対する入力イベントが発生した場合は、使用状態に移行したと判定する。
【００５２】
終了時刻取得部３８は、アプリケーションプログラムに対する終了指示があった時刻（終了時刻）を取得し、この終了時刻を記憶部２４に記憶させる。
【００５３】
使用時間送信部３９は、記憶部２４を検索し、アプリケーションプログラムの起動時刻および終了時刻ならびに非使用状態の開始時刻および使用再開時刻の情報を、外部のサーバに送信する。
【００５４】
次に、本実施形態に係る情報処理装置の動作の一例について説明する。
【００５５】
図８は、図１に示すパーソナルコンピュータ１０の主制御部２６により、アプリケーションプログラムの使用時間を容易かつ的確に管理する際の手順を示すフローチャートである。図８において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。
【００５６】
この手順は、アプリケーション起動制御部３１が単独で起動指示されて、またはアプリケーションプログラムに対する起動指示に応じて、アプリケーションプログラムよりも先に起動された時点でスタートとなる。
【００５７】
まず、ステップＳ１において、アプリケーション起動制御部３１は、アプリケーション使用時間管理部３２を起動してからアプリケーションプログラムを起動する。
【００５８】
次に、ステップＳ２において、アプリケーション使用時間管理部３２の起動時刻取得部３３は、時刻情報出力部２２からアプリケーションプログラムが起動された時刻を取得し、記憶部２４に記憶させる。
【００５９】
次に、ステップＳ３において、アイドル状態判定部３４は、操作入力部を介した入力イベントが発生しているか否かを判定することにより、システムがアイドル状態であるか否かを判定する。操作入力部を介した入力イベントが発生している場合、ステップＳ４に進む。一方、入力イベントが発生していない場合、ステップＳ５に進む。
【００６０】
次に、ステップＳ４において、ウインドウ状態判定部３５は、アプリケーションプログラムの作業ウインドウ４３がアクティブであるか否かを判定する。アクティブである場合、つまり、システムアイドル状態ではなく、かつ作業ウインドウ４３がアクティブである場合は、アプリケーションプログラムは使用状態にあると判定し、ステップＳ３に戻る。一方、非アクティブである場合は、ステップＳ５に進む。
【００６１】
なお、ステップＳ３とステップＳ４は順序が入れ替わっても構わない。システムアイドル状態ではなく、かつ作業ウインドウ４３がアクティブである場合を除き、ステップＳ５に進めばよい。
【００６２】
次に、ステップＳ５において、非使用開始時刻取得部３６は、タイマ２３を起動して所定の時間Ｔｔｈをセットする。
【００６３】
次に、ステップＳ６において、ウインドウ状態判定部３５がアプリケーションプログラムの作業ウインドウ４３がアクティブであるか否かを判定するとともに、アイドル状態判定部３４が操作入力部を介してアプリケーションプログラムに対する入力イベントが発生しているか否かを判定する。ウインドウがアクティブである場合またはアプリケーションプログラムに対する入力イベントが発生した場合は、使用状態であるため、タイマ２３を停止し（ステップＳ７）、ステップＳ３に戻る。一方、アプリケーションプログラムの使用が再開されていない場合は、ステップＳ８に進む。
【００６４】
次に、ステップＳ８において、非使用開始時刻取得部３６は、タイマ２３からタイムアップ信号を受けたか否かにより、システムがアイドル状態となってから、または作業ウインドウ４３が非アクティブとなってから、所定の時間Ｔｔｈが経過したか否かを判定する。所定の時間Ｔｔｈが経過した場合、すなわちタイムアップ信号を受けた場合は、非使用状態に移行したと判定しステップＳ９に進む。タイマ２３は、タイムアップ信号を出力すると計時を停止する。一方、所定の時間Ｔｔｈが経過していない場合、すなわちタイムアップ信号を受けていない場合は、ステップＳ６に戻り引き続きアプリケーションプログラムの使用が再開されたか否かを判定する。
【００６５】
次に、ステップＳ９において、非使用開始時刻取得部３６は、現在の時刻を時刻情報出力部２２から取得し、現在の時刻から所定の時間Ｔｔｈを減じることによりアプリケーションプログラムが非使用状態に移行した時刻（非使用状態の開始時刻）を算出する。そして、非使用開始時刻取得部３６は、この非使用状態の開始時刻を記憶部２４に記憶させる。
【００６６】
以上のステップＳ３〜Ｓ９により、アプリケーションプログラムの非使用状態の開始時刻を取得することができる。
【００６７】
次に、ステップＳ１０において、再開時刻取得部３７は、ウインドウ状態判定部３５からアプリケーションプログラムの作業ウインドウ４３がアクティブであるか否かの判定結果を受けるとともに、アイドル状態判定部３４から操作入力部を介してアプリケーションプログラムに対する入力イベントが発生しているか否かの判定結果を受け、アプリケーションプログラムの使用が再開されたか否かを判定する。
【００６８】
再開時刻取得部３７は、作業ウインドウ４３がアクティブである場合またはアプリケーションプログラムに対する入力イベントが発生した場合は、使用状態に移行したと判定し、ステップＳ１１に進む。一方、作業ウインドウ４３が非アクティブであり、かつアプリケーションプログラムに対する入力イベントが発生していない場合は、非使用状態であるため、引き続き、アプリケーションプログラムの使用が再開されたか否かを監視する。
【００６９】
次に、ステップＳ１１において、再開時刻取得部３７は、現在の時刻を時刻情報出力部２２から取得し、この時刻を使用再開時刻として記憶部２４に記憶させてステップＳ３に戻る。
【００７０】
以上のステップＳ１０およびＳ１１により、アプリケーションプログラムが非使用状態から再び使用状態へと移行した使用再開時刻を取得することができる。
【００７１】
図８に示した手順は、ユーザによりキーボード１３などの操作入力部を介してアプリケーションプログラムを終了すべき旨の指示があると終了する。
【００７２】
図９は、図８に示した手順の途中でアプリケーションプログラムに対する終了指示があった場合におけるパーソナルコンピュータ１０の動作の一例を示すフローチャートである。図９において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。
【００７３】
ステップＳ２１において、終了時刻取得部３８は、ユーザによりキーボード１３などの操作入力部を介してアプリケーションプログラムに対する終了指示を受け付ける。
【００７４】
次に、ステップＳ２２において、終了時刻取得部３８は、現在の時刻を時刻情報出力部２２から取得し、この時刻をアプリケーションプログラムの終了時刻として記憶部２４に記憶させる。
【００７５】
次に、ステップＳ２３において、使用時間送信部３９は、記憶部２４を検索し、アプリケーションプログラムの起動時刻および終了時刻ならびに非使用状態の開始時刻および使用再開時刻の情報を、外部のサーバに送信する。
【００７６】
以上の手順により、アプリケーションプログラムに対する終了指示があると、今回起動されてから終了されるまでの非使用状態の開始時刻および使用再開時刻ならびにアプリケーションプログラムの起動時刻および終了時刻の情報を容易に記憶部２４から抽出することができるとともに、これらの時刻情報を外部のサーバに送信することができる。
【００７７】
本実施形態に係るパーソナルコンピュータ１０は、アプリケーションプログラムの起動開始時刻から終了時刻までの時間のうち、アプリケーションプログラムがユーザに利用されていない状態（非使用状態）の時間を容易かつ的確に把握することができる。このため、アプリケーションプログラムの起動時間だけでなく、実質的にユーザにより操作された時間を正確に把握することができる。したがって、この非使用状態の情報を利用することにより、従来の技術に比べ、よりプログラム利用者の作業の効率化が図られることが期待できる。
【００７８】
また、アプリケーションプログラムの作成者にとっては、作業時間の短縮を狙って行ったプログラムの改善を行った場合、アプリケーションプログラムの使用時間を把握することにより本人が意図した改善効果が実際にあったか否かを的確に把握することができる。このため、本実施形態に係るパーソナルコンピュータ１０によれば、アプリケーションプログラムの開発速度を向上させるとともにより質の高いプログラムを生産することが可能となる。
【００７９】
さらに、高価なアプリケーションプログラムの場合、複数のユーザが１つのアプリケーションプログラムを共有することも多い。この場合、本実施形態に係るパーソナルコンピュータ１０によれば、アプリケーションプログラムの使用時間を容易かつ的確に把握することができるため、アプリケーションプログラムを無駄に多く購入することを避けることができ、投資額や維持費といった経費を削減することができる。
【００８０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００８１】
たとえば、本発明は、本実施形態で説明したノートブック型のパーソナルコンピュータのほかにも、アプリケーションプログラムを利用する情報処理装置であれば適用可能である。
【００８２】
また、たとえばオフィスなどで複数のパーソナルコンピュータ１０に同じアプリケーションプログラムが搭載されている場合、各パーソナルコンピュータ１０におけるアプリケーションプログラムの使用時間の情報を１台のサーバに集約してもよい。複数のパーソナルコンピュータ１０からの情報を集約することで、たとえばオフィス全体のアプリケーションプログラムの使用傾向等を把握することができる。
【００８３】
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【符号の説明】
【００８４】
１０  パーソナルコンピュータ
１１  コンピュータ本体
１２  ディスプレイユニット
１３  キーボード
１４  タッチパッド
１５  タッチパッドコントロールボタン
１６  パワーボタン
１７  表示パネル
１８  連結部（ヒンジ）
２１  ＬＣＤ
２２  時刻情報出力部
２３  タイマ
２４  記憶部
２５  ネットワーク接続部
２６  主制御部
３１  アプリケーション起動制御部
３２  アプリケーション使用時間管理部
３３  起動時刻取得部
３４  アイドル状態判定部
３５  ウインドウ状態判定部
３６  非使用開始時刻取得部
３７  再開時刻取得部
３８  終了時刻取得部
３９  使用時間送信部
４１、４２  アイコン
４３  アプリケーションプログラムの作業ウインドウ
４４  カーソル
４５  他のプログラムの作業ウインドウ
【図１】
2011008662.tif 000003
【図２】
2011008662.tif 000004
【図３】
2011008662.tif 000005
【図４】
2011008662.tif 000006
【図５】
2011008662.tif 000007
【図６】
2011008662.tif 000008
【図７】
2011008662.tif 000009
【図８】
2011008662.tif 000010
【図９】
2011008662.tif 000011