(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数のタブを表示するＷｅｂブラウザに表示されているアドレス情報であって、当該Ｗｅｂブラウザの前記複数のタブのうちアクティブなタブが表示しているページのアドレス情報を表示するアドレスバーに表示されているアドレス情報を、前記タブがアクティブに切り替えられると、当該アドレスバーに当該アドレス情報を設定するために発行された情報をインターセプトし、インターセプトされた当該情報に基づいて、取得するアドレス情報取得手段と、
前記アドレス情報取得手段により取得されたアクティブなタブのアドレス情報を記録する履歴記録手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記インターセプトされた情報は、ウインドウメッセージであり、
前記アドレス情報取得手段は、前記ウインドウメッセージから前記アドレス情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
さらに、
前記情報処理装置を操作しているユーザの識別情報または当該情報処理装置の識別情報をオペレーティングシステムから取得する識別情報取得手段を備え、
前記履歴記録手段は、前記アドレス情報と、前記識別情報取得手段により取得された識別情報とを関連付けて前記ユーザの操作履歴とすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記アドレス情報取得手段は、前記Ｗｅｂブラウザが発行するウインドウメッセージからグローバルフックによってインターセプトすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記アドレス情報取得手段にて取得された前記Ｗｅｂブラウザが発行するウインドウメッセージが文字列としてｈｔｔｐまたはｆｔｐを含むか否かを判定する判定手段をさらに
備え、
前記判定手段にて、文字列としてｈｔｔｐまたはｆｔｐを含むと判定された場合、前記アドレス情報取得手段は、前記Ｗｅｂブラウザが発行するウインドウメッセージのうち、文字列としてｈｔｔｐまたはｆｔｐを含むウインドウメッセージを抽出し、抽出したウインドウメッセージから前記アドレス情報を取得することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記履歴記録手段は、前記情報処理装置が備える記憶装置またはネットワーク上のサーバに前記操作履歴として記録することを特徴とする請求項３ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置において履歴情報を取得する方法であって、
複数のタブを表示するＷｅｂブラウザに表示されているアドレス情報であって、当該Ｗｅｂブラウザの前記複数のタブのうちアクティブなタブが表示しているページのアドレス情報を表示するアドレスバーに表示されているアドレス情報を、前記タブがアクティブに切り替えられると、当該アドレスバーに当該アドレス情報を設定するために発行された情報をインターセプトし、インターセプトされた当該情報に基づいて、取得するアドレス情報取得工程と、
前記アドレス情報取得工程において取得されたアクティブなタブのアドレス情報を記録する履歴記録工程と
を備えたことを特徴とする方法。
【請求項８】
情報処理装置において実行されるコンピュータプログラムであって、
複数のタブを表示するＷｅｂブラウザに表示されているアドレス情報であって、当該Ｗｅｂブラウザの前記複数のタブのうちアクティブなタブが表示しているページのアドレス情報を表示するアドレスバーに表示されているアドレス情報を、前記タブがアクティブに切り替えられると、当該アドレスバーに当該アドレス情報を設定するために発行された情報をインターセプトし、インターセプトされた当該情報に基づいて、取得するアドレス情報取得手段と、
前記アドレス情報取得手段により取得されたアクティブなタブのアドレス情報を記録する履歴記録手段として前記情報処理装置を機能させることを特徴とするコンピュータプログラム。
【請求項９】
複数の情報処理装置と、当該複数の情報処理装置から履歴情報を収集するサーバとを備えたシステムであって、
前記複数の情報処理装置のそれぞれは、
複数のタブを表示するＷｅｂブラウザに表示されているアドレス情報であって、当該Ｗｅｂブラウザの前記複数のタブのうちアクティブなタブが表示しているページのアドレス情報を表示するアドレスバーに表示されているアドレス情報を、前記タブがアクティブに切り替えられると、当該アドレスバーに当該アドレス情報を設定するために発行された情報をインターセプトし、インターセプトされた当該情報に基づいて、取得するアドレス情報取得手段と、
前記アドレス情報取得手段により取得されたアクティブなタブのアドレス情報を前記サーバに送信する送信手段と
を備え、
前記サーバは、
前記複数の情報処理装置のそれぞれから送信された前記アドレス情報を受信する受信手段と、
前記受信手段が受信したアドレス情報を記録する履歴記録手段と
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グローバルフックを用いたログ収集に関するものである。
【背景技術】
【０００２】
企業、学校および行政機関においてコンピュータは広く普及し、そのコンピュータがインターネットに接続されていることも今や普通である。インターネットに接続されたコンピュータが普及したことで、会社員、教師、生徒および公務員などのユーザが、それぞれに課せられた業務とは関係ない操作を行ってしまうことが問題となっている。そこで、これらのユーザが業務外でコンピュータを使用することを減らすために、コンピュータ操作ログ（業務履歴）を収集するアプリケーションが提案されている。取得された業務履歴は、コンピュータを使用するユーザがどのような業務を行っているかを分析するために役立つ（業務分析）。
【０００３】
特許文献１によれば、ＷｅｂブラウザでのＷｅｂサイトへのアクセス（Ｗｅｂサイトの閲覧、ＦＴＰサーバへのファイルアップロード等）を検出する発明が提案されている。通常、Ｗｅｂサイトとのアクセスを検出するには、特許文献１のように、ネットワークを通過するパケットをキャプチャして解析するネットワーク監視装置や、Ｗｉｒｅｓｈａｒｋ  （登録商標）  等のスニッフィング用のアプリケーションが利用される。また、そのようなアプリケーションを開発するにはパケットキャプチャドライバが必要となる。パケットキャプチャドライバとしては、オープンソースのＷｉｎｐｃａｐ  というパケットキャプチャドライバが公開されている。サードパーティは、このパケットキャプチャドライバからパケット情報を取得して分析するアプリケーションを開発すれば、いつ、どのようなＷｅｂサイトとアクセスしたかを記録した業務履歴を作成できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２１７８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来技術では、パケットキャプチャドライバから取得したパケット情報がＳＳＬ等により暗号化されていると、業務を分析することができないという課題があった。具体的には、ＨＴＴＰＳやＦＴＰＳ等のプロトコルでアクセスしたＷｅｂサイトのＵＲＬすら、パケット情報から分析することができない。
【０００６】
一方、近年には、それぞれ異なるＵＲＬのページを表示する複数のタブを切り替えながらユーザが使用可能なタブブラウザが一般的になりつつある。タブブラウザでは、各タブにＵＲＬを設定してページ情報がキャッシュされると、アクティブなタブが切り替えられたとしても、ＵＲＬを含むパケット情報が送信されない。つまり、パケットキャプチャではユーザが各時刻において実際に閲覧しているタブのＵＲＬが分からないという課題がある。すなわち、ＵＲＬの更新がなければ、どのタブの（つまり、どのＵＲＬのページ）を閲覧しているのかを把握できない。
【０００７】
さらに、パケットキャプチャでは、広告などユーザが実際には閲覧したわけではないＷｅｂ情報のＵＲＬも取得されてしまうため、業務履歴に含まれるノイズが大きくなってしまう。
【０００８】
そこで、本発明は、従来よりも正確に操作履歴（閲覧履歴）を取得することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によれば、
情報処理装置であって、
複数のタブを表示するＷｅｂブラウザに表示されているアドレス情報であって、当該Ｗｅｂブラウザの前記複数のタブのうちアクティブなタブが表示しているページのアドレス情報を表示するアドレスバーに表示されているアドレス情報を、前記タブがアクティブに切り替えられると、当該アドレスバーに当該アドレス情報を設定するために発行された情報をインターセプトし、インターセプトされた当該情報に基づいて、取得するアドレス情報取得手段と、
前記アドレス情報取得手段により取得されたアクティブなタブのアドレス情報を記録する履歴記録手段と
を備えたことを特徴とする情報処理装置が提供される。
【発明の効果】
【００１０】
本発明によれば、ウインドウに表示されているアドレス情報であって、当該ウインドウのテキストボックスに表示されているアドレス情報を取得してユーザの操作履歴として記録する。ウインドウのテキストボックスに表示されているアドレス情報は暗号化されていない文字列であり、かつ、パケットキャプチャを使用しなくても取得できるため、従来よりも正確に操作履歴を取得することが可能となる。また、ウインドウのテキストボックスには、ユーザがその時点で閲覧しているアクティブなウインドウ（タブ）のアドレス情報が含まれている。よって、ウインドウがタブブラウザであっても、従来よりも正確に操作履歴を取得できるようになる。また、ウインドウのテキストボックスには、広告などのアドレス情報は表示されないため、操作履歴に含まれるノイズを削減できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態における情報処理装置と履歴情報を収集するサーバ装置とを含むシステムのハードウェア構成を示す図である。
【図２】ＯＳとスレッド間のウインドウメッセージの流れを示す図である。
【図３】グローバルフックがウインドウメッセージをインターセプトしていることを示す図である。
【図４】Ｗｅｂブラウザのユーザインタフェースを示す図である。
【図５】業務履歴データの取得方法を示すフローチャートである。
【図６】業務履歴データの一例を示す図である。
【発明を実施するための形態】
【００１２】
図１は、情報処理装置と履歴情報を収集するサーバ装置とを含む業務履歴取得システムの一例を示す図である。情報処理装置１０は、たとえば、企業、学校、行政機関または家庭などに設置され、ユーザの業務履歴（操作履歴ないしは閲覧履歴）を取得するコンピュータの一例である。サーバ装置４０は、複数の情報処理装置１０から業務履歴データ１９を取得して、データベース化したり、業務分析したりするコンピュータである。なお、サーバ装置４０は、オプションであり、必ずしも必要ではない。情報処理装置１０は、インターネットやイントラネットなどのネットワーク１００を介してサーバ装置４０やＷｅｂサーバ、ＦＴＰサーバなどと接続されている。なお、情報処理装置１０とサーバ装置４０は簡潔化のために１台ずつ示されているが、実際には複数であってもよい。
【００１３】
なお、業務履歴取得システムは、シンクライアント（例えば、ターミナルサービスなど）を利用した構成でもよい。シンクライアントとは、情報処理装置がサーバ装置にリモート接続し、サーバ装置上に生成された仮想デスクトップ環境を利用してサーバ装置上でアプリケーションプログラムを実行できるようにするシステムである。
【００１４】
情報処理装置１０は、オフィス（企業、学校および行政機関）や家庭などに配置されるパーソナルコンピュータなどの情報処理装置である。情報処理装置１０では、記憶装置１５に記憶されているソフトウエアにしたがってＣＰＵ１１が各種手段として機能する。記憶装置１５は、ハードディスクドライブ（ＨＤＤ）やＳＳＤなどである。ＣＰＵ１１は、Ｗｅｂブラウザ１７におけるＷｅｂページの表示時間に基づいて操作者（閲覧者）による情報の閲覧時間を推定する推定手段として機能する。また、ＣＰＵ１１は、推定手段により推定された各閲覧時間を合計して合計閲覧時間を算出する合計手段として機能する。閲覧時間は、閲覧者ごとにページ単位で推定される。メモリ１３は、ＲＡＭやＲＯＭなどを含む。ＲＯＭには、ＢＩＯＳなどのブートプログラムが記憶されている。ブートプログラムにしたがって、オペレーティングシステム（ＯＳ）が起動され、さらにＯＳにしたがって、各種の常駐プログラム（履歴記録プログラム１８など）が起動される。ＲＡＭは、ワークエリアとして機能する。ネットワークインターフェース１４は、ネットワーク１００を通じて他のコンピュータと通信するための通信回路である。ＣＰＵ１１およびネットワークインターフェース１４は、情報をサーバ装置から受信する受信手段や情報をサーバ装置に送信する送信手段として機能する。記憶装置１５は、Ｗｅｂブラウザ１７だけでなく、ＯＳや、インターネットの閲覧履歴（業務履歴）を記録する履歴記録プログラム１８、業務履歴である業務履歴データ１９などを記憶する。履歴記録プログラム１８は、たとえば、グローバルフックを用いてウインドウメッセージを監視し、ウインドウメッセージに含まれているアドレス情報を抽出して、業務履歴データ１９として記憶装置１５に書き込むコンピュータプログラムである。なお、履歴記録プログラム１８は、業務履歴データ１９をサーバ装置４０に送信してもよい。ＯＳとしては、一例として、Ｗｉｎｄｏｗｓ（登録商標）について説明するが、ＭａｃＯＳ、Ｌｉｎｕｘ（登録商標）、ｉＯＳ、Ａｎｄｒｏｉｄなどであってもよい。これらのＯＳでも、システムフック、動的バインド、イベントのディスパッチなど、グローバルフックと呼べるような機能をサポートしているからである。記憶装置１５には、ブラウザプロセス名リストも記憶されている。ブラウザプロセス名リストは、閲覧履歴（ログ）の取得対象となるプロセスの名称を掲載したリストである。このプロセスとしては、たとえば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、Ｓａｆａｒｉなど、Ｗｅｂブラウザを示すプロセスの名称が登録されている。ＣＰＵ１１は、ブラウザプロセス名リストに登録されているプロセスの動作を監視する。入力部１６は、ポインティングデバイス（マウスやタッチパネル）やキーボードなどである。キーボードはソフトウエアキーボードであってもよい。また、入力部１６は、入力された操作者の音声を音声認識機能により認識してＣＰＵ１１へ指示を入力する音声認識入力部であってもよい。表示装置１２は、情報を表示するためのユーザインタフェースである。ＣＰＵ１１および表示装置１２は、受信手段により受信された情報を表示する表示手段��して機能する。
【００１５】
サーバ装置４０の記憶装置４５は、ハードディスクドライブ（ＨＤＤ）やＳＳＤなどであり、サーバプログラム４７を記憶している。メモリ４３は、ＲＡＭやＲＯＭなどを含む。ＣＰＵ４１は、サーバプログラム４７をＲＡＭにロードし、複数の情報処理装置１０から業務履歴データ１９を取得して、データベース化したり、業務分析したりする。ＣＰＵ４１は、複数の情報処理装置１０から業務履歴データ１９を業務履歴データ４８として記憶装置４５に記憶する。ネットワークインターフェース４４は、ネットワーク１００を通じて他のコンピュータと通信するための通信回路である。
【００１６】
Ｗｅｂブラウザのウインドウに表示されているページのアドレス情報（例：ＵＲＬやパス名を含むファイル名など）は、Ｗｅｂブラウザのテキストボックス（アドレスバー）に表示される。したがって、ＣＰＵ１１は、履歴記録プログラム１８にしたがって、テキストボックスに表示されているアドレス情報を、定期的にまたはアドレス情報が変更されるたびに、取得する。アドレス情報を取得する方法としては、たとえば、アドレス情報が変更されるたびに発行されるウインドウメッセージをグローバルフックによって取得し、ウインドウメッセージからアドレス情報を抽出する方法や、定期的にＷｅｂブラウザのテキストボックスからアドレス情報を取得する方法などがある。ここでは、グローバルフックを利用する方法を中心に説明する。
【００１７】
図２は、ＯＳとスレッド間におけるウインドウメッセージの一般的な流れを示す図である。オペレーティングシステム２１は、任意のプロセスのＷｉｎｄｏｗＰｒｏｃｅｄｕｒｅを持つ任意のスレッドに対して、ウインドウメッセージ２３を発行することができる。
【００１８】
図３は、グローバルフックが起動した場合のＯＳとスレッドとの関係を示している。ユーザからの入力が入力部１６にあると、オペレーティングシステム２１は、ウインドウメッセージ２３をスレッド２２へ発行する。グローバルフック２４は、オペレーティングシステム２１からスレッド２２へ発行されるウインドウメッセージ２３をインターセプトできる機能である。ここではＯＳからスレッド方向への命令をインターセプトしているが、スレッドからＯＳへの返答もインターセプト可能である。Ｗｅｂブラウザ１７が備える複数のタブのうち、ユーザによって任意のタブがアクティブに切り替えられると、このタブを表示するためにウインドウメッセージ２３をＷｅｂブラウザ１７がオペレーティングシステム２１に発行する。オペレーティングシステム２１は、ウインドウメッセージ２３に含まれるＷｅｂページのアドレス情報をアドレスバーに設定し、アクティブなタブを切り替える。これにより、Ｗｅｂブラウザ１７は、アクティブなタブが表示しているＷｅｂページのアドレス情報をアドレスバーに表示する。ウインドウメッセージ２３には、このＷｅｂページのアドレス情報が含まれている。そこで、ＣＰＵ１１は、グローバルフック２４によって、Ｗｅｂページのアドレス情報を含んでいるウインドウメッセージ２３をインターセプトすることで、アクティブタブのアドレス情報を取得できる。
【００１９】
図４（Ａ）および図４（Ｂ）は、Ｗｅｂブラウザのユーザインタフェースの一例を示す図である。Ｗｅｂブラウザ１７のウインドウ３０には、複数のタブ３１と、アクティブタブが表示しているページのアドレス情報を表示するアドレスバー３２と、ページを表示する表示領域３３とが設けられている。図４（Ａ）では、３つあるタブ３１のうち一番右に配置されているタブ３１がアクティブになっている。よって、一番右に配置されているタブ３１に対応したページのＵＲＬがアドレスバー３２に表示されている。図４（Ｂ）は、ユーザが入力部１６のポインティングデバイスを操作して、中央のタブ３１を選択したときのＷｅｂブラウザのユーザインタフェースを示している。中央のタブ３１がアクティブに変更されたため、Ｗｅｂブラウザ１７（ＣＰＵ１１）は、中央のタブ３１に対応するページのＵＲＬをアドレスバー３２に表示する。このタブの切り替えの際に発行されるウインドウメッセージ２３には、ＵＲＬが含まれている。なお、オペレーティングシステム２１は、入力部１６のキーボードを通じてアドレスバー３２に対して、アクティブなタブ３１についてのＵＲＬの入力を受け付け、ＵＲＬを含むウインドウメッセージ２３をＷｅｂブラウザ１７に送信することもある。この際のウインドウメッセージ２３も、グローバルフックによって履歴記録プログラム１８（ＣＰＵ１１）がインターセプトできる。
【００２０】
図５は、本実施形態にかかる業務履歴情報を記録する方法を示すフローチャートである。ここでは、履歴記録プログラム１８にしたがって、ＣＰＵ１１が業務履歴記録方法を実行する。ここでは、アドレス情報として、ＵＲＬを一例として説明するが、閲覧したページを構成するファイルが格納されている場所（パスを含むファイル名など）を示す情報でもよい。
【００２１】
Ｓ５０１で、ＣＰＵ１１は、グローバルフックにより、ウインドウメッセージをインターセプトする。Ｗｅｂブラウザ１７は、ＵＲＬの示すＷｅｂページの閲覧を開始するために、確定したＵＲＬを示す文字列を含む、「ＷＭ＿ＳＥＴＴＥＸＴ」というウインドウメッセージ２３をアドレスバー３２に送信することで、アドレスバー３２にＵＲＬをセットする。グローバルフック２４はいかなるウインドウメッセージ２３でもインターセプトできる。そこで、Ｗｅｂブラウザ１７に対してグローバルフック２４を設定する。ＣＰＵ１１は、Ｗｅｂブラウザ１７が備えるすべてのテキストボックスに対するＷＭ＿ＳＥＴＴＥＸＴをインターセプトする。なお、テキストボックス情報の取得は、ＷＭ＿ＳＥＴＴＥＸＴの受信をインターセプトすることに限定されず、ブラウザのテキストボックスに対して分析プログラムが定期的に文字列の確認を行い、変化に気づく等の手段でもよい。すなわち、ＯＳに限定されるものではない。
【００２２】
Ｓ５０２で、ＣＰＵ１１は、ウインドウメッセージ２３からテキストボックスの情報を取得する。テキストボックスの情報には、ウインドウメッセージ２３を発行したプロセスの名称（プロセス名）、テキストボックスに表示されている文字列、各テキストボックスを区別するためにプロセスが割り当てた識別情報（ＩＤ）およびオブジェクトのクラス名などが含まれている。
【００２３】
Ｓ５０３で、ＣＰＵ１１は、テキストボックスの情報からプロセス名を取得する。なお、記憶装置１５には、あらかじめそれぞれ異なるＷｅｂブラウザ１７のプロセス名が登録されたブラウザプロセス名リストを記憶している。Ｗｅｂブラウザ１７のプロセス名としては、一般的に普及しているものを対象とすればよいが、管理者によって、追加されてもよい。
【００２４】
Ｓ５０４で、ＣＰＵ１１は、取得したプロセス名が、ブラウザプロセス名リストに登録されているプロセス名と一致するかどうかを判定する。一致しなければ、インターセプトしたＷＭ＿ＳＥＴＴＥＸＴは、Ｗｅｂブラウザ１７とは異なる他のプロセスが発行したＷＭ＿ＳＥＴＴＥＸＴである。よって、業務履歴として記録せずに、本処理を終了する（履歴記録プログラム１８が実行されているかぎり、Ｓ５０１ないしＳ５０７は繰り返し実行される）。一方で、取得したプロセス名が、ブラウザプロセス名リストに登録されているプロセス名と一致すれば、Ｓ５０５に進む。
【００２５】
Ｓ５０５で、ＣＰＵ１１は、取得したテキストボックス情報に、テキストボックス（アドレスバー）に設定されるアドレス情報（ＵＲＬ）が記述されているかどうかを判定する。Ｗｅｂブラウザ１７は複数のテキストボックスを備えていることがあるため、アドレスバー３２以外のテキストボックス（例：検索バー）も存在する。よって、すべてのテキストボックスに対するＷＭ＿ＳＥＴＴＥＸＴをインターセプトしてしまうと、業務履歴のノイズが増加してしまう。そこで、ＣＰＵ１１は、空でないＷＭ＿ＳＥＴＴＥＸＴであり、かつ、文字列の先頭がｈｔｔｐやｆｔｐで始まる等の条件を満たすＷＭ＿ＳＥＴＴＥＸＴを識別することで、ＵＲＬが記述されているＷＭ＿ＳＥＴＴＥＸＴを抽出する。取得したテキストボックス情報にアドレス情報が含まれていなければ、本処理を終了する。一方、取得したテキストボックス情報にアドレス情報が含まれていれば、Ｓ５０６に進む。
【００２６】
なお、アドレスバー３２あてのＷＭ＿ＳＥＴＴＥＸＴを識別する方法としては、たとえば、各プロセスによってテキストボックスごとに付与されているＩＤを用いて識別することも可能である。具体的には、あらかじめアドレスバー３２を示すＩＤをプロセスごとに記憶装置１５に記憶しておき、取得したテキストボックスの情報に含まれているＩＤと、記憶装置１５に記憶されているＩＤが一致するか否かをＣＰＵ１１が判定することで、アドレスバー３２あてのＷＭ＿ＳＥＴＴＥＸＴを識別してもよい。
【００２７】
また、ウインドウ３０内におけるアドレスバー３２の位置情報をあらかじめ記憶装置１５に記憶しておき、ＷＭ＿ＳＥＴＴＥＸＴが発行されたテキストボックスの位置情報と、記憶装置１５に記憶されている位置情報とが一致するかどうかをＣＰＵ１１が判定することで、アドレスバー３２あてのＷＭ＿ＳＥＴＴＥＸＴを識別してもよい。
【００２８】
Ｓ５０６で、ＣＰＵ１１は、テキストボックスの情報からアドレス情報に相当する文字列を抽出する。このように、ＣＰＵ１１は、Ｗｅｂブラウザのウインドウに表示されているページのアドレス情報であって、当該Ｗｅｂブラウザのテキストボックスに表示されているアドレス情報を取得するアドレス情報取得手段として機能する（Ｓ５０１〜Ｓ５０６）。アドレス情報が変更されるたびに、アドレスバー３２あてのＷＭ＿ＳＥＴＴＥＸＴが発行されるため、ＣＰＵ１１は、アドレス情報が変更されるたびにアドレス情報を取得することになる。また、グローバルフックを利用せずに、アドレスバー３２のアドレス情報を定期的に監視して、アドレス情報を取得してもよい。
【００２９】
Ｓ５０７で、ＣＰＵ１１は、ユーザ名やＰＣ名をオペレーティングシステムから取得するとともに、現在日時を閲覧開始日時として取得し、抽出したアドレス情報とともに業務履歴データ１９を作成し、記憶装置１５に記憶する。ユーザ名は、たとえば、オペレーティングシステムに対するユーザＩＤなどである。ＰＣ名は、たとえば、各情報処理装置に付与されているコンピュータ名である。このように、ＣＰＵ１１は、情報処理装置を操作しているユーザの識別情報または当該情報処理装置の識別情報をオペレーティングシステムから取得する識別情報取得手段として機能する。また、ＣＰＵ１１は、アドレス情報取得手段により取得されたアドレス情報と、識別情報取得手段により取得された識別情報とを関連付けてユーザの業務履歴として記録する履歴記録手段として機能する。さらに、ＣＰＵ１１は、アドレス情報取得手段により取得されたアドレス情報と、識別情報取得手段により取得された識別情報とを関連付けてユーザの業務履歴を作成する業務履歴作成手段として機能する。
図６は、業務履歴データ１９の一例を示している。ユーザ名は、情報処理装置を操作しているユーザの識別情報である。情報処理装置の識別情報であるＰＣ名が業務履歴データ１９に記録されてもよい。閲覧開始日時は、ＷＭ＿ＳＥＴＴＥＸＴまたはアドレスバー３２から抽出されたアドレス情報に対応したＷｅｂページの閲覧を開始した日時のデータである。ＵＲＬは、ＷＭ＿ＳＥＴＴＥＸＴまたはアドレスバー３２から抽出されたアドレス情報である。閲覧時間は、Ｗｅｂページの閲覧時間である。
【００３０】
なお、ＣＰＵ１１は、業務履歴データ１９をサーバ装置４０に送信してもよい。なお、ＣＰＵ１１は、各アドレス情報ごとのＷｅｂページの閲覧時間を継続し、業務履歴データ１９に記録してもよい。たとえば、ＣＰＵ１１は、これまで閲覧していたアドレス情報から別のアドレス情報に切り替わったかどうかを判定する。ＣＰＵ１１は、アドレス情報の切り替わりを検知すると、これまでの閲覧していたＷｅｂページの閲覧開始日時と、別のアドレス情報のＷｅｂページの閲覧開始日時との差分から閲覧開始時間を算出してもよい。
【００３１】
なお、ＣＰＵ１１は、ネットワーク上のサーバ装置４０に業務履歴データを送信して記録してもよい。この場合、ＣＰＵ１１やネットワークインターフェース１４は、業務履歴作成手段が作成した業務履歴をサーバに送信する送信手段として機能する。サーバ装置４０のＣＰＵ４１やネットワークインターフェース４４は、複数の情報処理装置のそれぞれから送信された業務履歴を受信する受信手段として機能する。また、ＣＰＵ４１や記憶装置４５は、受信手段が受信した業務履歴を記録する履歴記録手段として機能する。
【００３２】
本実施形態によれば、ＣＰＵ１１は、履歴記録プログラム１８を実行することで、Ｗｅｂブラウザ１７のウインドウ３０に表示されているＷｅｂページのアドレス情報であって、Ｗｅｂブラウザ１７のテキストボックスに表示されているアドレス情報を取得してユーザの業務履歴として記録する。Ｗｅｂブラウザ１７のテキストボックスであるアドレスバー３２に表示されているアドレス情報は暗号化されていない文字列であり、かつ、パケットキャプチャを使用しなくてもＣＰＵ１１が取得できる。つまり、ＨＴＴＰＳやＦＴＰＳ等のプロトコルを介してアクセスしたＷｅｂサイトのＵＲＬであっても、本実施形態であれば、取得することができる。そのため、本実施形態では、従来よりも正確に業務履歴を取得することが可能となる。また、Ｗｅｂブラウザ１７のアドレスバー３２には、ユーザがその時点で閲覧しているアクティブなタブ３１のＷｅｂページのアドレス情報が含まれている。よって、Ｗｅｂブラウザ１７がタブブラウザであっても、ＣＰＵ１１は、従来よりも正確に業務履歴を取得できるようになる。また、Ｗｅｂブラウザ１７のテキストボックスには、広告などのアドレス情報は表示されない。つまり、ＣＰＵ１１は、広告などのアドレス情報を業務履歴に記録しないため、業務履歴に含まれるノイズを削減できる。
【００３３】
アドレス情報を取得する方法としては、Ｗｅｂブラウザ１７が発行するウインドウメッセージ２３からＣＰＵ１１がグローバルフックによってアドレス情報を取得する方法がある。グローバルフックは、すべてのウインドウメッセージをインターセプトできるため、アドレス情報を含むウインドウメッセージを漏らさず取得できる。また、ＣＰＵ１１は、Ｗｅｂブラウザ１７が発行するウインドウメッセージ２３のうち、文字列としてｈｔｔｐまたはｆｔｐを含むウインドウメッセージを抽出することで、アドレス情報を含むウインドウメッセージのみを効率よく抽出できる。また、これにより、ノイズとなるような情報が業務履歴に記録されてしまうことを抑制できる。なお、ノイズとなるような情報を減らせれば、記憶装置１５、４５の記憶容量を無駄なく使用できる。
【００３４】
ＣＰＵ１１は、グローバルフックを使用せずに、アドレス情報を取得してもよい。たとえば、ＣＰＵ１１は、Ｗｅｂブラウザ１７のウインドウ３０に含まれるテキストボックスに表示されているアドレス情報を定期的に監視することで、アドレス情報を取得してもよい。アドレスバー３２には、アクティブなタブに表示されているＷｅｂページのアドレス情報が表示されるからである。なお、アドレス情報を取得する方法としては、たとえば、ＣＰＵ１１が、ＦｉｎｄＷｉｎｄｏｗでＨＷＮＤを取得し、取得したＨＷＮＤからＧｅｔＷｉｎｄｏｗＴｅｘｔを用いる方法が考えられる。また、ＣＰＵ１１は、アドレスバー３２の表示位置情報（メインウインドウの左上からアドレスバー３２の左上までのベクトル）を予めメモリに記憶させておき、表示位置情報をメモリから読み出すことで、アドレスバー３２を特定し、アドレスバー３２に表示されているアドレス情報を取得してもよい。
【００３５】
＜その他＞
業務履歴は、グローバルフックから直接的に記憶装置１５に書き出さなくてもよい。たとえば、別のスレッドや別のプロセス等にアドレス情報を転送し、そこから記憶装置１５に書き込んでもよい。
【００３６】
履歴記録プログラム１８やサーバプログラム４７は、業務履歴データ１９、４８を分析してもよい。たとえば、ＣＰＵ１１やＣＰＵ４１は、ＵＲＬごとの閲覧時間の合計を算出することで、ユーザにとって閲覧されやすいＷｅｂサイトを特定できる。あらかじめ複数のＵＲＬをカテゴリーごとに分類してリストを作成しておいてもよい。つまり、記憶装置１５、４５には、各カテゴリー別にＵＲＬを登録したリストが記憶されている。ＣＰＵ１１は、このリストを参照し、カテゴリーごとの閲覧時間の合計を算出してもよい。
【図１】
0006356377.tif 000002
【図２】
0006356377.tif 000003
【図３】
0006356377.tif 000004
【図４】
0006356377.tif 000005
【図５】
0006356377.tif 000006
【図６】
0006356377.tif 000007