(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置であって、
前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段と、
前記操作手段の操作工数を取得する操作工数取得手段と、
前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段と、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段と、
前記取得開始のタイミングを示す時刻データを取得する時刻取得手段と、
前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録手段と
を備え、
前記制御手段は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知手段と、
前記切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、前記切り替え検知手段が次のアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が次の所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを前記取得期間における取得終了タイミングとして決定するタイミング決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置であって、
前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段と、
前記操作手段の操作工数を取得する操作工数取得手段と、
前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段と、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段と、
前記取得開始のタイミングを示す時刻データを取得する時刻取得手段と、
前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録手段と
を備え、
前記制御手段は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知手段と
を備え、
前記制御手段は、
前記切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングから、前記切り替え検知手段が次にアクティブウインドウの切り替えを検知したタイミングまでを第１のサブ期間として前記操作工数取得手段に操作工数を取得させるとともに、前記経過検知手段が所定期間の経過を検知したタイミングから前記経過検知手段が次の所定期間の経過を検知したタイミングまでを第２のサブ期間として前記操作工数取得手段に操作工数を取得させ、
前記記録手段は、
前記第１のサブ期間に取得された操作工数と前記第１のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録するとともに、前記第２のサブ期間に取得された操作工数と前記第２のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録する
ことを特徴とする情報処理装置。
【請求項３】
前記時刻取得手段は、前記取得期間の開始タイミングを示す時刻データとして、前記サブ期間の開始タイミングを示す時刻データを取得することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記操作工数は、
前記操作手段の１つであるキーボードの打鍵数と、
前記操作手段の１つであるポインティングデバイスのポインタの移動距離とのうち少なくとも一方を含むことを特徴とする請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理システムであって、
請求項１ないし４のいずれか１項に記載の情報処理装置と、
前記情報処理装置において取得された操作履歴を分析する情報分析装置と
を備え、
前記情報分析装置は、
前記操作履歴に含まれているアプリケーションプログラムの名称に基づいて、対応する時刻データから該アプリケーションプログラムの操作時間を積算する操作時間積算手段と、
前記操作履歴に含まれているアプリケーションプログラムの名称に基づいて、対応する操作工数を積算する操作工数積算手段と、
前記操作時間と、前記積算された操作工数の値とを対応するアプリケーションプログラムの名称とともに分析結果として出力する出力手段と
を備えることを特徴とする情報処理システム。
【請求項６】
前記操作工数積算手段は、複数の操作履歴に含まれているそれぞれの操作工数のうち閾値を超える操作工数のみを積算することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置において実行される情報処理方法であって、
前記情報処理装置に備えられている操作工数取得手段が、前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段の操作工数を取得する操作工数取得工程と、
前記情報処理装置に備えられている名称取得手段が、前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得工程と、
制御手段が、前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得工程における操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得工程における操作工数の取得開始と取得終了とを制御する制御工程と、
前記情報処理装置に備えられている時刻取得手段が、前記取得開始のタイミングを示す時刻データを取得する時刻取得工程と、
前記情報処理装置に備えられている記録手段が、前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録工程と
を備え、
前記制御工程は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知工程と、
所定期間の経過を検知する経過検知工程と、
前記切り替え検知工程がアクティブウインドウの切り替えを検知したタイミングと前記経過検知工程が所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、前記切り替え検知工程が次のアクティブウインドウの切り替えを検知したタイミングと前記経過検知工程が次の所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを前記取得期間における取得終了タイミングとして決定するタイミング決定工程と
を備える
ことを特徴とする情報処理方法。
【請求項８】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置において実行される情報処理方法であって、
前記情報処理装置に備えられている操作工数取得手段が、前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段の操作工数を取得する操作工数取得工程と、
前記情報処理装置に備えられている名称取得手段が、前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得工程と、
制御手段が、前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得工程における操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得工程における操作工数の取得開始と取得終了とを制御する制御工程と、
前記情報処理装置に備えられている時刻取得手段が、前記取得開始のタイミングを示す時刻データを取得する時刻取得工程と、
前記情報処理装置に備えられている記録手段が、前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録工程と
を備え、
前記制御工程は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知工程と
を備え、
前記制御工程は、
前記切り替え検知工程がアクティブウインドウの切り替えを検知したタイミングから、前記切り替え検知工程が次にアクティブウインドウの切り替えを検知したタイミングまでを第１のサブ期間として前記操作工数取得工程に操作工数を取得させるとともに、前記経過検知工程が所定期間の経過を検知したタイミングから前記経過検知工程が次の所定期間の経過を検知したタイミングまでを第２のサブ期間として前記操作工数取得工程に操作工数を取得させ、
前記記録工程は、
前記第１のサブ期間に取得された操作工数と前記第１のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録するとともに、前記第２のサブ期間に取得された操作工数と前記第２のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録する
ことを特徴とする情報処理方法。
【請求項９】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置に、
前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段と、
前記操作手段の操作工数を取得する操作工数取得手段と、
前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段と、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段と、
前記取得開始のタイミングを示す時刻データを取得する時刻取得手段と、
前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録手段と
して機能させ、
前記制御手段は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知手段と、
前記切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、前記切り替え検知手段が次のアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が次の所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを前記取得期間における取得終了タイミングとして決定するタイミング決定手段と
して機能させることを特徴とするプログラム。
【請求項１０】
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置に、
前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段と、
前記操作手段の操作工数を取得する操作工数取得手段と、
前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段と、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段と、
前記取得開始のタイミングを示す時刻データを取得する時刻取得手段と、
前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録手段と
を備え、
前記制御手段は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知手段と
として機能させ、
前記制御手段は、
前記切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングから、前記切り替え検知手段が次にアクティブウインドウの切り替えを検知したタイミングまでを第１のサブ期間として前記操作工数取得手段に操作工数を取得させるとともに、前記経過検知手段が所定期間の経過を検知したタイミングから前記経過検知手段が次の所定期間の経過を検知したタイミングまでを第２のサブ期間として前記操作工数取得手段に操作工数を取得させ、
前記記録手段は、
前記第１のサブ期間に取得された操作工数と前記第１のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録するとともに、前記第２のサブ期間に取得された操作工数と前記第２のサブ期間の開始タイミングにおける前記アクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各端末装置におけるアプリケーションの利用状況を収集する情報処理装置、情報処理方法、情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
コンピュータが普及し、企業ではコンピュータの利用が既に一般的となっている。従業員は、コンピュータを通じて就業時間の大半を資料の作成に費やしたり、メールを作成したり、Ｗｅｂサイトを閲覧したりする。一方で、従業員が使用するアプリケーションが多様化している。よって、従業員によるアプリケーションの使用状況を把握することは、従業員の生産性や業務効率の向上に繋がると考えられる。
【０００３】
特許文献１によれば、アクティブ状態のアプリケーション実行ウィンドウと、インアクティブ状態のアプリケーション実行ウィンドウの時間に関する情報から、アプリケーション毎の稼働率を出力するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−９１１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によれば、アプリケーション毎の稼働時間を把握することは可能だろう。しかし、特許文献１のシステムでは、従業員がアプリケーションを用いて実際に作業をしている時間（操作時間）を把握することができない。例えば、あるアプリケーションのウィンドウが連続して１時間にわたってアクティブになっていたからといって、従業員がそのアプリケーションを操作している時間もそのまま１時間というわけではない。１時間のうち、３０分程度はコンピュータが設置されているブースから従業員が離席している可能性もある。とりわけ、実際の操作時間を把握するために役立つ情報は、従業員がアプリケーションを操作する際のキーボードの打鍵数やポインティングデバイスの移動距離などの操作工数の情報である。
【０００６】
そこで、本発明は、このような課題および他の課題のうち、少なくとも１つを解決することを目的とする。例えば、本発明は、操作者によるアプリケーションの操作時間を把握しやすくすることを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、
複数のアプリケーションプログラムが同時に稼働可能な情報処理装置であって、
前記複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段と、
前記操作手段の操作工数を取得する操作工数取得手段と、
前記アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段と、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御するとともに、所定期間が経過するタイミングを契機として、前記操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段と、
前記取得開始のタイミングを示す時刻データを取得する時刻取得手段と、
前記取得開始から前記取得終了までを１つの取得期間として取得された前記操作工数と、該取得開始における前記アクティブウインドウに対応したアプリケーションプログラムの名称と、前記時刻データとを対応付けて操作履歴として記録する記録手段と
を備え、
前記制御手段は、
前記情報処理装置において動作している前記複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段と、
所定期間の経過を検知する経過検知手段と、
前記切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、前記切り替え検知手段が次のアクティブウインドウの切り替えを検知したタイミングと前記経過検知手段が次の所定期間の経過を検知したタイミングとのうちいずれか先に到来したタイミングを前記取得期間における取得終了タイミングとして決定するタイミング決定手段と
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、アクティブウインドウの切り替えタイミングと、一定期間の経過したタイミングとを契機として操作履歴を記録する。そのため、この操作履歴を分析に用いれば、操作者によるアプリケーションの操作時間を把握しやすくなる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの一例を示す図である。
【図２Ａ】端末装置のハードウエア構成を示す図である。
【図２Ｂ】ログ管理サーバのハードウエア構成を示す図である。
【図２Ｃ】情報分析装置のハードウエア構成を示す図である。
【図３】操作履歴取得の一例を示す図である。
【図４】操作履歴の一例を示す図である。
【図５】操作履歴取得の一例を示す図である。
【図６】操作履歴の一例を示す図である。
【図７】端末装置の処理の一例を示すフローチャートである。
【図８】情報分析処理の一例を示すフローチャートである。
【図９】分析結果の一例を示す図である。
【図１０】操作履歴取得の一例を示す図である。
【図１１】端末装置の処理の一例を示すフローチャートである。
【図１２】端末装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
＜第一実施形態＞
（システム構成）
図１は、情報処理システムの一例を示す図である。情報処理システムは、複数の端末装置１１ａ、１１ｂと、ログ管理サーバ１２と、情報分析装置１３を備えている。端末装置１１ａ、１１ｂは、企業内に配置された端末の一例である。ログ管理サーバ１２は、企業内に配置された端末装置にて実行されるアプリケーションプログラムの操作ログ（操作履歴）を管理する。情報分析装置１３は、企業内に配置された端末装置におけるアプリケーションプログラムの操作履歴を分析する情報分析装置の一例である。これらの装置はＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）を含むイントラネットやインターネットなどの各種のネットワーク５０を介して接続されている。端末装置１１ａ、１１ｂに共通する事項について説明するときは、単に端末装置１１と記載することにする。
【００１１】
ログ管理サーバ１２は、端末装置１１が設置されている企業内に配置されていてもよいし、他の企業内に配置されていてもよい。同様に、情報分析装置１３も、端末装置１１が設置されている企業内に配置されていてもよいし、他の企業内に配置されていてもよい。また、ログ管理サーバ１２と情報分析装置１３は、同一企業によって管理されてもよいし、それぞれ他の企業によって管理されてもよい。
【００１２】
端末装置１１は、複数のアプリケーションプログラムが同時に稼働可能な情報処理装置として機能する。また、端末装置１１は、監視部１４を備えている。監視部１４は、端末装置において動作しているアプリケーションプログラムの名称と、アプリケーションプログラムのアクティブウインドウのタイトル表示部に表示されるタイトル情報と、アプリケーションプログラムが動作しているときに端末装置の入力装置に対するユーザの操作工数などを監視し、操作履歴として記録する。操作履歴に関するこれらの情報はオペレーティングシステム（ＯＳ）やウインドウマネージャなどから取得可能である。操作履歴には、例えば、次の情報が含まれうる。
・端末装置の識別情報・・・コンピュータ名、ＩＰアドレス、ＭＡＣアドレスなど
・ユーザ名・・・端末装置にログインしているユーザのＩＤなど
・操作日時・・・操作履歴が取得された日時
・アクティブウインドウのアプリケーション名・・・プロセス名など
・アクティブウインドウのタイトル名・・・キャプション名（編集されているファイルの名称など）
・キーボードの打鍵数
・入力文字コード・・・全角／半角、２バイト系文字／１バイト系文字、Ｕｎｉｃｏｄｅ／ＥＵＣ／ＩＳＯ／ＪＩＳなど
・入力確定文字・・・フロントエンドプロセッサ（ＦＥＰ）を通じて確定された文字
・ポインティングデバイスのポインタの移動距離
・ポインティングデバイスのクリック数
端末装置１１の監視部１４は、アクティブウインドウが切り替えられたとき、または、所定の監視期間（例えば、１分）が開始されたときに、そのアクティブウインドウについての操作履歴の取得を開始し、別のアクティブウインドウに切り替えられたとき、または、所定の監視期間が終了したときに、操作履歴の取得を終了し、ログ管理サーバ１２に送信する。また、端末装置１１の監視部１４は、予め設定された監視期間ごと、及び、アクティブウインドウが切り替えられるごとに各々操作履歴を作成し、ログ管理サーバ１２に送信してもよい。後述する操作開始日時は、操作履歴の取得開始時になるため、各アクティブウインドウのより詳細な操作時間を操作開始日時から算出できるようになる。
【００１３】
このようにして取得された操作履歴を端末装置１１がログ管理サーバ１２に操作履歴を送信する条件は、種々考えられる。例えば、所定時間が経過したとき（例：２時間毎）、所定量以上の操作履歴が蓄積されたとき、端末装置１１が起動したとき、端末装置１１がシャットダウンを指示されたとき、ログ管理サーバ１２からの操作履歴の送信を要求されたときなどである。
【００１４】
ログ管理サーバ１２は、複数の端末装置１１のそれぞれから収集した操作履歴を蓄積し、蓄積した操作履歴を情報分析装置１３へ送信する情報処理装置（コンピュータ）である。図１が示すように、ログ管理サーバ１２は、ログ管理ＤＢ１５を備える。ＤＢはデータベースの略称である。ログ管理サーバ１２は、端末装置１１から受信した操作履歴に基づいて、ログ管理ＤＢ１５に、端末装置毎（またはユーザ毎）に操作履歴を記録する。
【００１５】
情報分析装置１３は、分析部１８および分析結果ＤＢ１９を備える情報処理装置である。情報分析装置１３は、ログ管理サーバ１２からネットワーク５０を介して受信した操作履歴に基づいて、アプリケーションプログラムやＯＳに対する操作内容（例えば、アプリケーションプログラムの利用状況）を分析して出力する。情報分析装置１３のネットワークインターフェースは、端末における操作履歴を入力する一例である。分析部１８は、入力された操作履歴からアプリケーションプログラムの利用状況を分析する。分析部１８は、例えば、ユーザごとまたは端末装置ごとに分析結果を作成し、作成した分析結果を分析結果ＤＢ１９に記録する。分析結果ＤＢ１９に記録された分析結果は、グラフや表として表示装置に出力されたり、印刷装置によって記録媒体に出力されたり、電子メールの本文として出力されたり、ＷｅｂサイトのＷｅｂページとして出力されたりしてもよい。
【００１６】
ログ管理サーバ１２から情報分析装置１３への操作履歴の受け渡しは、ネットワーク５０であってもよいし、外部記憶媒体（ＦＤ、ＭＯ、ＵＳＢメモリ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭ等）であってもよい。
【００１７】
（ハードウエア構成）
図２Ａは、端末装置１１のハードウエア構成を示す図である。端末装置１１は、オフィスなどに配置されるパーソナルコンピュータなどの情報処理装置である。端末装置１１では、ハードディスクドライブ（ＨＤＤ２５）に記憶されているソフトウエアにしたがってＣＰＵ２１が各種手段として機能する。とりわけ、ＣＰＵ２１は、上述した監視部１４として機能し、アプリケーションプログラムの名称、キャプション名、操作日時および操作工数などを監視し、操作履歴を作成してログ管理サーバ１２へ送信する。表示装置２２は、情報を表示するためのユーザインタフェースである。メモリ２３は、ＲＡＭやＲＯＭなどを含む。ネットワークインターフェース２４は、ネットワーク５０を通じて他のコンピュータと通信するための通信回路である。ＨＤＤ２５は、アプリケーションプログラム２７や、操作工数などを監視して操作履歴を作成する監視プログラム２８などを記憶する。入力部２６（入力装置）は、ポインティングデバイス（マウスやタッチパネル）やキーボードなどである。キーボードはソフトウエアキーボードであってもよい。また、入力部２６は、入力された操作者の音声を音声認識機能により認識してＣＰＵ２１へ指示を入力する音声認識入力部であってもよい。入力部２６は、複数のアプリケーションプログラムのうちアクティブウインドウに対応しているアプリケーションプログラムを操作するための操作手段の一例である。
【００１８】
図２Ｂは、ログ管理サーバ１２のハードウエア構成を示す図である。ログ管理サーバ１２も、コンピュータの一種である。ログ管理サーバ１２では、ハードディスクドライブ（ＨＤＤ３５）に記憶されているソフトウエアにしたがってＣＰＵ３１が各種手段として機能する。メモリ３３は、ＲＡＭやＲＯＭなどを含む。ネットワークインターフェース３４は、ネットワーク５０を通じて他のコンピュータと通信するための通信回路である。ＨＤＤ３５は、ログ管理プログラム３６やログ管理ＤＢ１５を記憶する。
【００１９】
図２Ｃは、情報分析装置１３のハードウエア構成を示す図である。情報分析装置１３も、コンピュータの一種である。情報分析装置１３では、ハードディスクドライブ（ＨＤＤ４５）に記憶されているソフトウエアにしたがってＣＰＵ４１が各種手段として機能する。メモリ４３は、ＲＡＭやＲＯＭなどを含む。ネットワークインターフェース４４は、ネットワーク５０を通じて他のコンピュータと通信するための通信回路である。ＨＤＤ４５は、情報分析プログラム４７や、分析結果ＤＢ１９を記憶する。出力部４６は、分析結果を出力する表示装置や印刷装置などである。
【００２０】
（監視部１４の監視処理）
監視部１４の処理について、図３〜５を参照して説明する。端末装置１１の監視部１４は監視プログラム２８にしたがって、この処理を実行する。
【００２１】
＜基本的な監視処理＞
図３によれば、所定監視期間ごとに、アプリケーション名、キーボードの打鍵数およびポインティングデバイスのポインタの移動距離を監視する手法が示されている。この手法では、監視部１４として機能するＣＰＵ２１がタイマーをスタートし、第１の取得時刻のデータ（００：００：００）と、まずＯＳ（オペレーティングシステム）やウインドウマネージャからアプリケーション名を取得する。ＣＰＵ２１は、タイマー値が第２の取得時刻になると、第２の取得時刻のデータ（００：０１：００）およびアプリケーション名、それまでに取得したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（操作履歴）としてメモリ２３に記憶する。さらに、ＣＰＵ２１は、第２の取得時刻におけるアプリケーション名を取得する。ＣＰＵ２１は、タイマー値が第３の取得時刻になると、第３の取得時刻のデータ（００：０２：００）およびアプリケーション名、それまでに取得したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（操作履歴）としてメモリ２３に記憶する。なお、第１の取得時刻、第２の取得時刻および第３の取得時刻の間隔（取得間隔または取得周期）は、一定時間である。
【００２２】
図４には、メモリ２３に記録されている操作履歴の一例が示されている。この基本処理によれば、所定時間ごとに、アクティブウインドウのアプリケーション名と操作工数（ポインタの移動距離や打鍵数）を記録できる。よって、情報分析装置１３は、操作工数から、端末装置１１の操作者がその時間帯に離籍していたのかもしくは在籍していたのか、または、作業に集中していたのかもしくは考え事をしていたのかなどを分析できる。
【００２３】
しかし、図３から明らかなように、操作履歴を１分程度に設定してしまうと、その期間内でアクティブウインドウが切り替わったことを十分に反映できないおそれがある。例えば、図３によれば、００：０１：００〜００：０２：００の期間において「表計算ソフトウエア」から「文書作成ソフトウエア」に切り替わり、さらにそのあとで「表計算ソフトウエア」にアクティブウインドウが切り替わっている。しかし、図４が示すように、「文書作成ソフトウエア」に関する打鍵数とポインタの移動距離が操作履歴には一切反映されていない。
【００２４】
仮に、取得間隔を５秒程度に短くすれば、このような「文書作成ソフトウエア」についての操作履歴の取りこぼしは防げるであろう。しかし、取得間隔を短くすれば操作履歴のトータルでのデータサイズが大きくなりすぎ、記憶装置を圧迫するだけでなく、監視部１４の負荷も非常に重くなってしまうだろう。そこで、このような課題を解決することが望まれている。
【００２５】
＜改良案＞
本実施形態では、操作履歴の取得開始と取得終了のタイミングを２つの条件に基づいて決定する。１つ目の条件は、上述した基本案で説明したように所定間隔ごとに、取得開始のタイミングと取得終了タイミングを確定することである。２つ目の条件は、アクティブウインドウの切り替えタイミングを取得開始のタイミングと取得終了タイミングとして確定することである。この２つの条件のいずれかが満たされたときに、監視部１４は、操作履歴の取得を終了し、次の操作履歴の取得を開始する。
【００２６】
図５および図６を用いて改良案について具体的な技術思想について説明する。監視部１４として機能するＣＰＵ２１は、第１の取得時刻において、第１の取得時刻のデータ（００：００：００）と、ＯＳやウインドウマネージャからアプリケーション名を取得する。ＣＰＵ２１は、タイマー値とアクティブウインドウの双方を監視する。つまり、ＣＰＵ２１は、タイマー値が第２の取得時刻になったかどうかと、あるアクティブウインドウから別のアクティブウインドウに切り替わったかどうかを判定する。図５に示した事例では、タイマー値が（００：００：２０）になったときに、あるアクティブウインドウから別のアクティブウインドウに切り替わったことをＣＰＵ２１が検出する。そこで、ＣＰＵ２１は、予めタイマーから取得しておいた取得開始時刻のデータ（００：００：００）、ＯＳから取得しておいたアプリケーション名、その時点までに取得したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（操作履歴）としてメモリ２３に記憶する。さらに、ＣＰＵ２１は、タイマーからその時刻のデータ（００：００：２０）を取得し、ＯＳからアクティブウインドウのアプリケーション名を取得する。なお、ＣＰＵ２１は、移動距離Ｍ、および、打鍵数Ｋをそれぞれゼロにリセットする。ＣＰＵ２１は、タイマー値が第２の取得時刻になったかどうかと、あるアクティブウインドウから別のアクティブウインドウに切り替わったかどうかを判定する。ＣＰＵ２１は、第２の取得時刻（００：０１：００）になったことを検知すると、予めタイマーから取得しておいた取得開始時刻のデータ（００：００：２０）、ＯＳから取得しておいたアプリケーション名、その時点までに取得したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（操作履歴）としてメモリ２３に記憶する。これらの動作を繰り返すことで、図６に示した操作履歴が完成する。
【００２７】
図６が示した操作履歴によれば、所定の取得間隔の途中でアクティブウインドウが切り替えられたことも操作履歴に反映されていることがわかる。つまり、端末装置１１に負荷をかけすぎることなく、必要な操作履歴を取り漏らさずに取得できるようになる。
【００２８】
図７は、監視部１４が実行する操作履歴の取得処理の一例を示すフローチャートである。以下では、ＣＰＵ２１が監視プログラム２８を実行することで、監視部１４として機能する。
【００２９】
Ｓ７０１で、ＣＰＵ２１は、ポインタの移動距離Ｍ、および、打鍵数Ｋといった変数をゼロにリセットする。
【００３０】
Ｓ７０２で、ＣＰＵ２１は、タイマーから取得開始時刻のデータを取得するとともに、その時点でウィンドウがアクティブとなっているアプリケーションの名称をＯＳまたはウインドウマネージャから取得する。このように、ＣＰＵ２１は、アクティブウインドウに対応したアプリケーションプログラムの名称を取得する名称取得手段として機能する。
【００３１】
Ｓ７０３で、ＣＰＵ２１は、ポインティングデバイスとキーボードを監視し、ポインタの移動距離Ｍ、および、打鍵数Ｋを積算して更新する。このように、ＣＰＵ２１は、取得開始のタイミングを示す時刻データを取得する時刻取得手段と、操作手段の操作工数を取得する操作工数取得手段として機能する。
【００３２】
Ｓ７０４で、ＣＰＵ２１は、タイマーから現在の時刻データを取得し、操作履歴の取得を開始した時刻から所定の監視期間（例えば、１分）が経過したか否かを判定する。よって、ＣＰＵ２１は、所定期間の経過を検知する経過検知手段として機能する。所定の監視期間が経過していなければ、Ｓ７０５に進む。所定の監視期間が経過すると、Ｓ７０５をスキップして、Ｓ７０６に進む。
【００３３】
Ｓ７０５で、ＣＰＵ２１は、アクティブウインドウが切り替わったかどうかを判定する。よって、ＣＰＵ２１は、情報処理装置において動作している複数のアプリケーションプログラム間でのアクティブウインドウの切り替えを検知する切り替え検知手段として機能する。例えば、ＣＰＵ２１は、ＯＳから取得した現在のアクティブウインドウのアプリケーション名と、Ｓ７０２で取得しておいた操作履歴の取得開始時におけるアプリケーション名とを比較し、両者が一致するか否かを判定する。つまり、ＣＰＵ２１は両者が一致していればアクティブウインドウが切り替わっていないと判定し、両者が一致していなければアクティブウインドウが切り替わったと判定する。アクティブウインドウが切り替わっていれば、Ｓ７０６に進み、アクティブウインドウが切り替わっていなければ、Ｓ７０３に戻る。
【００３４】
Ｓ７０１ないしＳ７０５のループが示すように、ＣＰＵ２１は、情報処理装置において動作している複数のアプリケーションプログラム間でアクティブウインドウが切り替えられるタイミングを契機として、操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段として機能する。また、ＣＰＵ２１は、所定期間が経過するタイミングを契機として、操作工数取得手段の操作工数の取得開始と取得終了とを制御する制御手段として機能する。また、ＣＰＵ２１は、切り替え検知手段がアクティブウインドウの切り替えを検知したタイミング、または、経過検知手段が所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、切り替え検知手段が次のアクティブウインドウの切り替えを検知したタイミング、または、経過検知手段が次の所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを取得期間における取得終了タイミングとして決定するタイミング決定手段として機能している。
【００３５】
Ｓ７０６で、ＣＰＵ２１は、Ｓ７０２で取得しておいた取得開始時刻のデータ、ＯＳから取得しておいたアプリケーション名、その時点までに積算したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（操作履歴）としてメモリ２３に記憶する。このように、ＣＰＵ２１やメモリ２３は、取得開始から取得終了までを１つの取得期間として取得された操作工数と、取得開始におけるアクティブウインドウに対応したアプリケーションプログラムの名称と、時刻データとを対応付けて操作履歴として記録する記録手段として機能する。
【００３６】
Ｓ７０７で、ＣＰＵ２１は、監視終了か否かを判定する。例えば、ＣＰＵ２１は、現在時刻が予め設定された監視終了時刻に一致したか否かや、ＯＳのシャットダウンがキーボード等から指示されたか否かに基づいて、監視を終了すべきか否かを判定する。監視を終了するときはＳ７０８に進み、監視を終了しないときはＳ７０１に戻り、ＣＰＵ２１は、監視を継続する。
【００３７】
Ｓ７０８で、ＣＰＵ２１は、メモリ２３から操作履歴を読み出して、ログ管理サーバ１２にネットワークインターフェース２４を通じて送信する。ログ管理サーバ１２のＣＰＵ３１は、ログ管理プログラム３６にしたがってネットワークインターフェース３４を使用して操作履歴を受信し、ログ管理ＤＢ１５に書き込む。その際に、ＣＰＵ３１は、操作履歴を送信してきた端末装置のＰＣ名とユーザ名も操作履歴に対応付けてログ管理ＤＢ１５に書き込んでもよい。端末装置のＰＣ名とユーザ名は、ＣＰＵ２１が送信するものとする。
【００３８】
ここでは、メモリ２３に操作履歴を一時的に保存したが、ＨＤＤ２５に保存してもよい。
【００３９】
（情報分析処理）
図８は、情報分析処理の一例を示すフローチャートである。
【００４０】
情報分析装置１３のＣＰＵ４１は情報分析プログラム４７にしたがってこの情報分析処理を実行する。これにより、ＣＰＵ４１は、分析部１８として機能することになる。なお、本処理が実行される前に、ログ管理サーバ１２は、端末装置１１から操作履歴を受信し、それをログ管理ＤＢ１５に登録する。
【００４１】
Ｓ８０１で、ＣＰＵ４１は、操作履歴をメモリ４３に入力する。例えば、ＣＰＵ４１は、ログ管理サーバ１２のログ管理ＤＢ１５から操作履歴を受信してもよいし、ＣＤ−ＲＯＭなどのデータ記憶媒体から読み出してもよい。なお、操作履歴の読出単位は、ユーザ名、ＰＣ名、操作開始日時等、自由に設定できる。なお、本実施形態では、操作履歴を所定の監視期間単位でも記憶しているため、操作履歴の読み出し単位として一定の期間を指定することができる。例えば、監視期間が１分であれば、読み出し単位を１分単位で指定できる利点がある。一般には、１時間、８時間、午前の就業時間（４時間）、午後の就業時間（４時間）などを読み出しの単位として指定できる。
【００４２】
Ｓ８０２で、ＣＰＵ４１は、読み出した操作履歴から該当するレコードを１つずつ読み出し、キーボード打鍵数Ｋが所定の閾値ｔｈ１を超えているか否かを判定する。キーボード打鍵数Ｋが閾値ｔｈ１を超えていれば、Ｓ８０４に進む。閾値ｔｈ１は、各職場ごとに経験的に決定される閾値である。打鍵数Ｋが数回など極めて小さい場合は、誤検知の可能性がある。そこで、誤検知をカウントしないようにするために、閾値以下の打鍵数は積算しないようにしている。
【００４３】
一方、キーボード打鍵数Ｋが閾値ｔｈ１を超えていなければ、Ｓ８０３に進む。キーボード打鍵数Ｋが閾値ｔｈ１を超えていれば、Ｓ８０４に進む。
【００４４】
Ｓ８０３で、ＣＰＵ４１は、操作履歴を参照し、ポインタ移動距離Ｍが所定の閾値ｔｈ２を超えているか否かを判定する。閾値ｔｈ２も、各職場ごとに経験的に決定される閾値である。机の振動などにより、ポインティングデバイスのポインタが移動してしまうことがある。これをカウントしてしまうと、操作者が離籍しているか在籍しているのかを精度よく検知できなくなってしまう。そこで、閾値以下のポインタ移動距離Ｍに関しても積算しないようにしている。ポインタ移動距離Ｍが閾値ｔｈ２を超えていれば、Ｓ８０４に進む。キーボード打鍵数Ｋが閾値ｔｈ１を超えておらず、かつ、ポインタ移動距離が閾値ｔｈ２を超えていなければ、操作履歴から求められる操作時間を、該当するアプリケーションの操作時間に加算せず、Ｓ８０５に進む。
【００４５】
Ｓ８０４で、ＣＰＵ４１は、操作履歴から求められる操作時間と操作工数とを、該当するアプリケーションの操作時間と操作工数にそれぞれ加算するカウント処理を行う。ＣＰＵ４１は、ポインタ移動距離Ｍとキーボード打鍵数Ｋとをそれぞれ個別に積算する。なお、カウント後の積算値はメモリ４３に記憶される。このように、ＣＰＵ４１は、操作履歴に含まれているアプリケーションプログラムの名称に基づいて、対応する時刻データからアプリケーションプログラムの操作時間を積算する操作時間積算手段として機能する。操作履歴に含まれているアプリケーションプログラムの名称に基づいて、対応する操作工数を積算する操作工数積算手段として機能する。
【００４６】
Ｓ８０５で、ＣＰＵ４１は、読み出した操作履歴を構成するすべてのレコードについて分析処理を終了したか否かを判定する。分析処理が終了していなければ、次のレコードについて分析するために、Ｓ８０２に戻る。分析処理が終了していれば、Ｓ８０６に進む。
【００４７】
Ｓ８０６で、ＣＰＵ４１は、各アプリケーションの操作時間を算出し、分析結果ＤＢ１９に分析結果を書き込む。
【００４８】
Ｓ８０７で、ＣＰＵ４１は、分析結果を出力部４６から出力する。ＣＰＵ４１や出力部４６は、操作時間と、積算された操作工数の値とを対応するアプリケーションプログラムの名称とともに分析結果として出力する出力手段として機能する。
【００４９】
図９は、分析結果の一例を示す図である。とりわけ、図９（Ａ）は、図６に示した操作履歴のうち、最初の３分間の操作履歴を積算した結果を示している。この結果、各アプリケーションがどの程度の時間にわたって使用されているかがわかる。また、ＣＰＵ４１は、所定期間（例：５分）ごとに上記の積算処理を行ってもよい。その結果、ある期間において、アクティブウインドウの切り替えが発生していなければ、操作者は、端末装置１１の表示画面を見ながら考えごとをしているか、離籍している可能性がある。
【００５０】
図９（Ｂ）は、操作者が離籍しているときの分析結果を示している。５分間にわたってアクティブウインドウの切り替えが発生しておらず、かつ、ポインティングデバイスもキーボードも操作されていない。そのため、ＣＰＵ４１は、操作者が離籍していることを示すメッセージを表示する。なお、このような分析結果をＣＰＵ４１が分析結果ＤＢ１９に書き込んでもよい。ＣＰＵ４１は、ある積算期間において、ポインタ移動距離Ｍの積算値が閾値ｔｈ３を超えておらず、かつ、キーボード打鍵数Ｋが閾値ｔｈ４を超えていなければ、この離籍メッセージを出力してもよい。
【００５１】
図９（Ｃ）は、操作者が考えごとをしているときの分析結果を示している。５分間にわたってアクティブウインドウの切り替えが発生していないが、ポインティングデバイスが多少移動している。そのため、ＣＰＵ４１は、操作者が画面を見ながら考えごとをしていることを示すメッセージを表示する。このような分析結果もＣＰＵ４１が分析結果ＤＢ１９に書き込んでもよい。例えば、ＣＰＵ４１は、ある積算期間において、ポインタ移動距離Ｍの積算値が閾値ｔｈ３以下であるか、または、キーボード打鍵数Ｋが閾値ｔｈ４以下であれば、この操作者の作業効率が低下していることを示すメッセージを出力してもよい。
【００５２】
以上のように、第一実施形態によれば、アクティブウインドウの切り替えを検知したタイミング、または、所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、次のアクティブウインドウの切り替えを検知したタイミング、または、次の所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得終了タイミングとして決定することで、従来よりも正確なアプリケーションごとの操作時間を把握できるようになる。
【００５３】
＜第二実施形態＞
第一実施形態の監視部１４は、アクティブウインドウの切り替えを検知したタイミング、または、所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、次のアクティブウインドウの切り替えを検知したタイミング、または、次の所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得終了タイミングとして決定することに特徴があった。
【００５４】
しかし、アクティブウインドウの切り替えを検知したタイミングから、次にアクティブウインドウの切り替えを検知したタイミングまでを第１のサブ期間として操作履歴（サブ履歴）を取得し、所定期間の経過を検知したタイミングから次の所定期間の経過を検知したタイミングまでを第２のサブ期間として操作履歴（サブ履歴）を取得してこれらを分析しても第一実施形態と同様の効果が得られる。
【００５５】
図１０は、２つのサブ期間を説明するための図である。図１０が示すように、第２実施形態では、監視部１４が２つのサブ期間についてそれぞれサブ履歴を記録してゆく。第１のサブ期間（ｉ）は、アクティブウインドウの切り替えタイミングが起点と終点になるため、基本的に、長さが可変の期間である。よって、監視部１４は、アクティブウインドウの切り替えごとに、サブ履歴をログ管理サーバ１２に送信する。一方、第２のサブ期間は、一定期間（例：１分）である。よって、監視部１４は、一定期間ごとに、サブ履歴をログ管理サーバ１２に送信する。
【００５６】
図１１は、アクティブウインドウの切り替えごとにサブ履歴を取得することを示したフローチャートである。図１２は、一定期間ごとにサブ履歴を取得することを示したフローチャートである。これらの処理はＣＰＵ２１によって同時並行的に実行される。なお、第１実施形態と共通する部分には同一の参照符号を付与している。
【００５７】
図１１において、Ｓ７０１ないしＳ７０３を実行したあとでＳ１１０１に進む。Ｓ１１０１で、ＣＰＵ２１は、アクティブウインドウが切り替わったかどうかを判定する。アクティブウインドウが切り替わっていれば、Ｓ１１０２に進み、アクティブウインドウが切り替わっていなければ、Ｓ７０３に戻る。
【００５８】
Ｓ１１０２で、ＣＰＵ２１は、ＣＰＵ２１は、Ｓ７０２で取得しておいた取得開始時刻のデータ、ＯＳから取得しておいたアプリケーション名、その時点までに積算したポインタの移動距離Ｍ、および、打鍵数Ｋを１つのレコード（サブ履歴）としてメモリ２３に記憶する。なお、第二実施形態では、取得期間の開始タイミングを示す時刻データとして、サブ期間の開始タイミングを示す時刻データが取得されることになる。
【００５９】
Ｓ１１０３で、ＣＰＵ２１は、メモリ２３からサブ履歴を読み出して、ログ管理サーバ１２にネットワークインターフェース２４を通じて送信する。
【００６０】
Ｓ１１０４で、ＣＰＵ２１は、監視終了か否かを判定する。監視を終了しないときはＳ７０１に戻り、ＣＰＵ２１は、監視を継続する。
【００６１】
このように、ＣＰＵ２１は、切り替え検知手段がアクティブウインドウの切り替えを検知したタイミングから、切り替え検知手段が次にアクティブウインドウの切り替えを検知したタイミングまでを第１のサブ期間として操作工数取得手段に操作工数を取得させる制御手段として機能する。また、ＣＰＵ２１は、第１のサブ期間に取得された操作工数と第１のサブ期間の開始タイミングにおけるアクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録する記録手段として機能する。
【００６２】
図１２において、Ｓ７０１ないしＳ７０３を実行したあとでＳ１２０１に進む。Ｓ１２０１で、ＣＰＵ２１は、一定期間が終了したかどうかを判定する。一定期間が終了していれば、Ｓ１１０２に進み、一定期間が終了していなければ、Ｓ７０３に戻る。Ｓ１１０２ないしＳ１１０４は、図１１で説明したとおりであるため説明を省略する。
【００６３】
このように、ＣＰＵ２１は、経過検知手段が所定期間の経過を検知したタイミングから経過検知手段が次の所定期間の経過を検知したタイミングまでを第２のサブ期間として操作工数取得手段に操作工数を取得させる制御手段として機能する。また、ＣＰＵ２１は、第２のサブ期間に取得された操作工数と第２のサブ期間の開始タイミングにおけるアクティブウインドウに対応したアプリケーションプログラムの名称とを対応付けて操作履歴として記録する記録手段として機能する。
【００６４】
情報分析装置１３のＣＰＵ４１は、第１のサブ履歴と、第２のサブ履歴をログ管理サーバ１２から読み出し、アクティブウインドウの切り替えを検知したタイミング、または、所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得開始のタイミングとし、次のアクティブウインドウの切り替えを検知したタイミング、または、次の所定期間の経過を検知したタイミングのうちいずれか先に到来したタイミングを１つの取得期間における取得終了タイミングとして決定することで、１つの取得期間ごとの操作履歴（メイン履歴）を作成する。作成されたメイン履歴は、図６に示した操作履歴と同様の履歴となる。操作履歴の分析処理は、第一実施形態と同様である。なお、操作履歴の作成は、情報分析装置１３のＣＰＵ４１の代わりに、端末装置１１のＣＰＵ２１やログ管理サーバ１２のＣＰＵ３１が実行してもよい。いずれもサブ履歴にアクセス可能だからである。
【００６５】
このように第二実施形態によっても第一実施形態と同様の効果が得られる。なお、サブ履歴を取得した後に、各職場の環境に応じて監視期間（一定期間）を変更してもよい。この場合に、第二実施形態では、アプリケーションの操作時間を把握できるだろう。
【００６６】
＜他の実施形態＞
上述したログ管理サーバ１２と情報分析装置１３が同一のサーバ上で実現してもよいし、それぞれ異なるサーバ上で実行されてもよい。前者の場合、ログ管理サーバ１２と情報分析装置１３とがネットワーク５０を通じてデータ通信を行う必要がなくなるメリットがある。この場合、情報分析装置１３が、ログ管理ＤＢ１５、分析部１８、分析結果ＤＢ１９を備えることになる。このように、ログ管理サーバ１２と情報分析装置１３を同一のサーバ上で実現することで、同一企業内での操作履歴と分析結果を管理が可能となる。よって、よりセキュリティを考慮した分析が可能となる。
【図１】
0005710939.tif 000002
【図２Ａ】
0005710939.tif 000003
【図２Ｂ】
0005710939.tif 000004
【図２Ｃ】
0005710939.tif 000005
【図３】
0005710939.tif 000006
【図４】
0005710939.tif 000007
【図５】
0005710939.tif 000008
【図６】
0005710939.tif 000009
【図７】
0005710939.tif 000010
【図８】
0005710939.tif 000011
【図９】
0005710939.tif 000012
【図１０】
0005710939.tif 000013
【図１１】
0005710939.tif 000014
【図１２】
0005710939.tif 000015