(57)【要約】【課題】ユーザ端末における操作履歴を他の端末で再生するのに適した端末操作履歴記憶システムおよびユーザ端末を提供すること。【解決手段】ユーザ端末が、ウィンドウ表示画面と対応するＧＵＩオブジェクトツリー構造から、端末操作履歴情報となる局所ＧＵＩオブジェクトツリーを生成し、これをスケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングでファイルサーバに送信し、ファイルサーバが、ユーザ端末から受信した一連のスケルトンＧＵＩオブジェクト情報をユーザ識別子と対応付けて、端末操作履歴として記憶する端末操作履歴記憶システム。【選択図】図５
2010160538.tif 000002
【特許請求の範囲】
【請求項１】
ファイルサーバと、ネットワークを介して上記ファイルサーバに接続されるユーザ端末とを有する端末操作履歴記憶システムであって、
上記ユーザ端末が、
表示画面上に生成される各ウィンドウの表示／非表示の状態、表示位置および表示内容を指定するための複数の情報項目からなる複数のグラフィックユーザインタフェース（ＧＵＩ）オブジェクトをツリー構造形式で記憶するＧＵＩオブジェクト情報ファイルを格納するファイル格納部と、
上記表示画面に対するユーザ操作に応じて、上記ＧＵＩオブジェクト情報ファイルに記憶されているＧＵＩオブジェクトの内容を更新するＧＵＩオブジェクト管理モジュールと、
上記ＧＵＩオブジェクト情報ファイルに記憶されたＧＵＩオブジェクトツリー構造から、表示状態にあるＧＵＩオブジェクトからなるツリー構造部分を抽出し、情報項目の一部が除去されたＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリーを生成して、スケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記ファイルサーバに送信するスケルトンＧＵＩ情報取得モジュールとを備え、
上記ファイルサーバが、上記ユーザ端末から受信した一連のスケルトンＧＵＩオブジェクト情報を該ユーザ端末のユーザの識別子と対応付けて、端末操作履歴として記憶する端末操作履歴記憶モジュールを有することを特徴とする端末操作履歴記憶システム。
【請求項２】
前記スケルトンＧＵＩ情報取得モジュールが、前記局所ＧＵＩオブジェクトツリー毎に、日付と時刻を示すタイムスタンプ情報を付与することを特徴とする請求項１に記載の端末操作履歴記憶システム。
【請求項３】
前記スケルトンＧＵＩ情報取得モジュールが、前記ＧＵＩオブジェクトツリー構造から抽出された各ＧＵＩオブジェクトの情報項目のうち、ビットマップ情報を除外して、前記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクトを生成することを特徴とする請求項１または請求項２に記載の端末操作履歴記憶システム。
【請求項４】
前記各ＧＵＩオブジェクトが、前記複数の情報項目の１つとしてクラス情報を含み、
前記局所ＧＵＩオブジェクトツリーが、クラス情報でデスクトップ画面を指定したＧＵＩオブジェクトを頂点として、それぞれが階層化された複数のＧＵＩオブジェクトからなるウィンドウ毎のＧＵＩオブジェクト群を含むことを特徴とする請求項３に記載の端末操作履歴記憶システム。
【請求項５】
前記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクが、オブジェクトのクラス情報と、表示／非表示の区別を示す表示状態情報と、オブジェクト識別子と、表示位置を示す矩形座標情報と、表示内容を示すテキスト情報と、前後順序情報を含むことを特徴とする請求項４に記載の端末操作履歴記憶システム。
【請求項６】
前記スケルトンＧＵＩ情報取得モジュールが、前記ＧＵＩオブジェクト管理モジュールから通知されたタイミングで、前記局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１〜請求項５の何れかに記載の端末操作履歴記憶システム。
【請求項７】
前記スケルトンＧＵＩ情報取得モジュールが、所定の周期で、前記局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１〜請求項５の何れかに記載の端末操作履歴記憶システム。
【請求項８】
前記スケルトンＧＵＩ情報取得モジュールが、前記スケルトンＧＵＩオブジェクト情報として記憶された先行画面の局所ＧＵＩオブジェクトツリーと、新たな画面で生成された局所ＧＵＩオブジェクトツリーとの間の差分情報によって、前記スケルトンＧＵＩオブジェクト情報として記憶すべき新たな局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１〜請求項７の何れかに記載の端末操作履歴記憶システム。
【請求項９】
前記ネットワークに接続された前記ユーザ端末を複数含み、
前記ファイルサーバが、上記複数のユーザ端末から受信したスケルトンＧＵＩオブジェクト情報を各ユーザ端末のユーザの識別子と対応する端末操作履歴として記憶することを特徴とする請求項１〜請求項８の何れかに記載の端末操作履歴記憶システム。
【請求項１０】
前記ネットワークに接続された管理者端末を含み、該管理者端末が、
検索条件を指定して、前記ファイルサーバに端末操作履歴の送信を要求し、上記ファイルサーバから端末操作履歴として受信したスケルトンＧＵＩオブジェクト情報に基いて、該管理者端末の表示画面に、前記ユーザ端末の操作履歴となるウィンドウ表示画面を時系列的に再生するスケルトンＧＵＩ再生モジュールを備えたことを特徴とする請求項１〜請求項９の何れかに記載の端末操作履歴記憶システム。
【請求項１１】
ネットワークを介してファイルサーバに接続されるユーザ端末であって、
ネットワークに接続されるネットワークインタフェースと、
上記ネットワークインタフェースに接続されるプロセッサと、
上記プロセッサに接続される記憶部とを備え、
上記記憶部が、表示画面上に生成される各ウィンドウの表示／非表示の状態、表示位置および表示内容を指定するための複数の情報項目からなる複数のグラフィックユーザインタフェース（ＧＵＩ）オブジェクトをツリー構造形式で記憶するＧＵＩオブジェクト情報ファイルを格納し、
上記プロセッサが、上記表示画面に対するユーザ操作に応じて、上記ＧＵＩオブジェクト情報ファイルに記憶されているＧＵＩオブジェクトの内容を更新し、上記ＧＵＩオブジェクト情報ファイルに記憶されたＧＵＩオブジェクトツリー構造から、表示状態にあるＧＵＩオブジェクトからなるツリー構造部分を抽出し、情報項目の一部が除去されたＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリーを生成して、スケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記ファイルサーバに上記ネットワークインタフェースを介して送信することを特徴とするユーザ端末。
【請求項１２】
前記プロセッサは、前記一連のスケルトンＧＵＩオブジェクト情報にユーザ端末識別子を付与して、前記ファイルサーバに送信することを特徴とする請求項１１に記載のユーザ端末。
【請求項１３】
前記プロセッサは、前記局所ＧＵＩオブジェクトツリー毎に、日付と時刻を示すタイムスタンプ情報を付与することを特徴とする請求項１１または請求項１２に記載のユーザ端末。
【請求項１４】
前記プロセッサは、前記ＧＵＩオブジェクトツリー構造から抽出された各ＧＵＩオブジェクトの情報項目のうち、ビットマップ情報を除外して、前記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクトを生成することを特徴とする請求項１１〜請求項１３の何れかに記載のユーザ端末。
【請求項１５】
前記各ＧＵＩオブジェクトが、前記複数の情報項目の１つとしてクラス情報を含み、
前記局所ＧＵＩオブジェクトツリーが、クラス情報でデスクトップ画面を指定したＧＵＩオブジェクトを頂点として、それぞれが階層化された複数のＧＵＩオブジェクトからなるウィンドウ毎のＧＵＩオブジェクト群を含むことを特徴とする請求項１４に記載のユーザ端末。
【請求項１６】
前記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクが、オブジェクトのクラス情報と、表示／非表示の区別を示す表示状態情報と、オブジェクト識別子と、表示位置を示す矩形座標情報と、表示内容を示すテキスト情報と、前後順序情報を含むことを特徴とする請求項１５に記載のユーザ端末。
【請求項１７】
前記プロセッサが、
前記表示画面に対するユーザ操作に応じて、前記ＧＵＩオブジェクト情報ファイルに記憶されているＧＵＩオブジェクトの内容を更新するためのＧＵＩオブジェクト管理モジュールと、
上記ＧＵＩオブジェクト情報ファイルに記憶されたＧＵＩオブジェクトツリー構造から、表示状態にあるＧＵＩオブジェクトからなるツリー構造部分を抽出し、情報項目の一部が除去されたＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリーを生成して、スケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記ファイルサーバに上記ネットワークインタフェースを介して送信するスケルトンＧＵＩ情報取得モジュールとを実行し、
上記スケルトンＧＵＩ情報取得モジュールが、上記ＧＵＩオブジェクト管理モジュールから通知されたタイミングで、前記局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１１〜請求項１６の何れかに記載のユーザ端末。
【請求項１８】
前記スケルトンＧＵＩ情報取得モジュールが、所定の周期で、前記局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１７に記載のユーザ端末。
【請求項１９】
前記スケルトンＧＵＩ情報取得モジュールが、前記スケルトンＧＵＩオブジェクト情報として記憶された先行画面の局所ＧＵＩオブジェクトツリーと、新たな画面で生成された局所ＧＵＩオブジェクトツリーとの間の差分情報によって、前記スケルトンＧＵＩオブジェクト情報として記憶すべき新たな局所ＧＵＩオブジェクトツリーを生成することを特徴とする請求項１７に記載のユーザ端末。
【請求項２０】
計算機に対する操作の履歴を管理する操作履歴管理方法であって、
上記計算機が提供する表示画面上に生成される各ウィンドウの表示／非表示の状態、表示位置および表示内容を指定するための複数の情報項目からなる複数のグラフィックユーザインタフェース（ＧＵＩ）オブジェクトをツリー構造形式でするＧＵＩオブジェクト情報ファイルに記憶し、
上記表示画面に対するユーザ操作に応じて、上記ＧＵＩオブジェクト情報ファイルに記憶されているＧＵＩオブジェクトの内容を更新し、
上記ＧＵＩオブジェクト情報ファイルに記憶されたＧＵＩオブジェクトツリー構造から、表示状態にあるＧＵＩオブジェクトからなるツリー構造部分を抽出し、
情報項目の一部が除去されたＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリーを生成し、スケルトンＧＵＩオブジェクト情報として時系列的に記憶し、
複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記計算機を管理する管理端末ファイルサーバに送信することを特徴とする操作履歴管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末操作履歴記憶システムおよびユーザ端末に関し、更に詳しくは、ユーザ端末のウィンドウ表示画面の遷移を再生可能に記憶する端末操作履歴記憶システムおよびユーザ端末に関する。
【背景技術】
【０００２】
サーバと端末とからなる情報処理システムでは、端末の操作履歴を残す必要がある。特に、端末ユーザが、大量の定型業務を処理するバックオフィスや、端末ユーザが、サーバに蓄積された情報を利用して、顧客からの相談に応ずるコンタクトセンタでは、各端末におけるユーザ操作履歴として、表示画面の時系列的な変化を再現可能にする端末操作履歴の記憶システムが必要となる。
【０００３】
サーバに接続されたクライアント端末、例えば、パーソナルコンピュータでは、表示画面にアプリケーション対応のウィンドウを生成し、各ウィンドウ内に用意されたメニュー、ファンクション釦、データ入力ボックスに入力操作することによって、サーバに登録すべきデータの入力と、サーバ蓄積情報の参照が行なわれる。
【０００４】
時系列的に変化するウィンドウ表示画面の再生を可能にする操作履歴情報として、端末画面の表示内容を示すビットマップデータを記憶する方式では、操作履歴として記憶すべき情報量が膨大になるため、大容量の記憶装置が必要となる。
【０００５】
操作履歴の情報量を削減する１つの方法として、例えば、特開平８−１６１２０６号公報（特許文献１）は、ワークステーションに搭載されたウィンドウシステムサーバとクライアント・アプリケーションとの間に記録再生処理装置を配置し、この記録再生処理装置が、クライアント・アプリケーションとウィンドウシステムサーバとの間の送受信メッセージを中継し、イベントメッセージを検出したとき、そのコピーをイベントメッセージメモリに保存することを提案している。上記記録再生処理装置は、操作履歴を再生するとき、上記イベントメッセージメモリから読み出したイベントメッセージをあたかもユーザ入力によって発生したかの如く、クライアント・アプリケーションに送信することによって、操作履歴記録時にユーザが行った入力を再生し、再生入力に基づいて、ユーザの作業内容を再現するようにしている。
【０００６】
また、特開２００５−６３２７９号公報（特許文献２）は、端末（パーソナルコンピュータ）に、ＰＣ操作記録ファイルとＰＣ操作記録プログラムとを備えておき、ＰＣ操作記録プログラムが、ＯＳのインタフェースから、マウス入力、キーボード入力、音声入力、ウィンドウ情報、アプリケーションプログラム情報などを受け取り、これらの情報項目を例えば、タイトル記録、画面情報記録、プログラム起動記録、ファイル入力記録、マウスデータ記録、キーボードデータ記録、音声データ記録、ウィンドウ情報記録として、ＰＣ操作記録ファイルに記録している。ＰＣ操作履歴は、ＰＣ操作記録ファイルから読み出した記録データを出力装置およびアプリケーションプログラムに与えることによって、再生される。
【０００７】
【特許文献１】特開平８−１６１２０６号公報
【特許文献２】特開２００５−６３２７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
然るに、特許文献１が提案する操作履歴の記録再生方式は、イベントメッセージメモリから読み出したイベントメッセージをクライアント・アプリケーションに入力し、操作履歴記録時と同一のアプリケーションを動作させることを原理としているため、操作履歴を再現する端末には、操作履歴記録時と同じ動作環境が必要となる。従って、操作履歴を再現する端末には、操作履歴を記録した端末と同一のアプリケーション、同一のファイルデータが必要となり、アプリケーションの種類によっては、操作履歴の再生が制約される場合がある。
【０００９】
一方、特許文献２が提案する操作履歴の記録再生方式は、例えば、講演や会議などにおけるコンピュータの操作、画面に提示された会議資料、説明音声などを再現することを目的としており、ＰＣ操作履歴が、ＰＣ操作記録ファイルから読み出した記録データを出力装置およびアプリケーションプログラムに与えることによって、再生されているため、特許文献１と同様の問題がある。
【００１０】
本発明は、ユーザ端末における操作履歴を他の端末で再生するのに適した端末操作履歴記憶システムおよびユーザ端末を提供することにある。
本発明の他の目的は、複数のユーザ端末で行われた操作の履歴を他の端末で再生するのに適した端末操作履歴記憶システムおよびユーザ端末を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の端末操作履歴記憶システムは、ネットワークを介して接続されるファイルサーバとユーザ端末とからなり、上記ユーザ端末が、グラフィックユーザインタフェース（ＧＵＩ）オブジェクトツリーから、ウィンドウ表示画面毎に、端末操作履歴情報となる局所ＧＵＩオブジェクトツリーを生成し、これをスケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記ファイルサーバに送信する。上記ファイルサーバは、ユーザ端末から受信した一連のスケルトンＧＵＩオブジェクト情報をユーザ識別子と対応付けて記憶しておき、上記ネットワークに接続された他の端末、例えば、管理者端末からの要求に応じて、特定ユーザ端末のスケルトンＧＵＩオブジェクト情報を要求基端末に送信する。
【００１２】
上記ＧＵＩオブジェクトツリーは、ウィンドウと対応した複数のＧＵＩオブジェクト群からなり、各ＧＵＩオブジェクトの状態は、ユーザの端末操作に応じて更新され、ＧＵＩオブジェクトの状態変化に伴って、ユーザ端末のウィンドウ表示画面が変化する。従って、管理者端末は、上記ファイルサーバから取得した局所ＧＵＩオブジェクトツリーに基いて、ユーザ端末における操作履歴となるウィンドウ表示画面を再生できる。
【００１３】
更に詳述すると、本発明に端末操作履歴記憶システムでは、上記ユーザ端末が、
表示画面上に生成される各ウィンドウの表示／非表示の状態、表示位置および表示内容を指定するための複数の情報項目からなる複数のＧＵＩオブジェクトをツリー構造形式で記憶するＧＵＩオブジェクト情報ファイルと、
上記表示画面に対するユーザ操作に応じて、上記ＧＵＩオブジェクト情報ファイルに記憶されているＧＵＩオブジェクトの内容を更新するためのＧＵＩオブジェクト管理モジュールと、
上記ＧＵＩオブジェクト情報ファイルに記憶されたＧＵＩオブジェクトツリー構造から、表示状態にあるＧＵＩオブジェクトからなるツリー構造部分を抽出し、情報項目の一部が除去されたＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリーを生成して、スケルトンＧＵＩオブジェクト情報として時系列的に記憶しておき、複数画面分の一連のスケルトンＧＵＩオブジェクト情報を所定のタイミングで上記ファイルサーバに送信するスケルトンＧＵＩ情報取得ルーチンと、
上記ＧＵＩオブジェクト管理モジュールと上記スケルトンＧＵＩ情報取得ルーチンを実行するプロセッサを備えたことを特徴とする。
【００１４】
本発明の一態様では、上記スケルトンＧＵＩ情報取得ルーチンが、局所ＧＵＩオブジェクトツリー毎に、日付と時刻を示すタイムスタンプ情報を付与する。また、上記スケルトンＧＵＩ情報取得ルーチンが、ＧＵＩオブジェクトツリー構造から抽出された各ＧＵＩオブジェクトから、特定の情報項目、例えば、ビットマップ情報を除外して、上記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクトを生成する。
【００１５】
各ＧＵＩオブジェクトは、上述した複数の情報項目の１つとしてクラス情報を含み、上記スケルトンＧＵＩ情報取得ルーチンで生成される局所ＧＵＩオブジェクトツリーは、クラス情報でデスクトップ画面を指定したＧＵＩオブジェクトを頂点として、表示中の各ウィンドウと対応する複数の階層化ＧＵＩオブジェクト群を含む。
【００１６】
本発明の一態様では、上記局所ＧＵＩオブジェクトツリーの構成要素となる各ＧＵＩオブジェクが、例えば、オブジェクトのクラス情報と、表示／非表示の区別を示す表示状態情報と、オブジェクト識別子と、表示位置を示す矩形座標情報と、表示内容を示すテキスト情報と、前後順序情報を含む簡略化された構成となる。
【００１７】
また、本発明の一態様では、上記スケルトンＧＵＩ情報取得ルーチンが、例えば、上記ＧＵＩオブジェクト管理モジュールから通知されたタイミングで、局所ＧＵＩオブジェクトツリーを生成する。但し、局所ＧＵＩオブジェクトツリーは、所定の周期で生成してもよい。
【００１８】
本発明の他の態様では、上記スケルトンＧＵＩ情報取得ルーチンが、スケルトンＧＵＩオブジェクト情報として記憶された先行画面の局所ＧＵＩオブジェクトツリーと、新たな画面で生成された局所ＧＵＩオブジェクトツリーとの間の差分情報によって、スケルトンＧＵＩオブジェクト情報として記憶すべき新たな局所ＧＵＩオブジェクトツリーを生成することを特徴とする。
【００１９】
本発明の端末操作履歴記憶システムによれば、上記ネットワークに接続された複数のユーザ端末を含み、各ユーザ端末が、上述したＧＵＩオブジェクト情報ファイルと、ＧＵＩオブジェクト管理モジュールと、スケルトンＧＵＩ情報取得ルーチンを備えることによって、上記ファイルサーバが、これら複数のユーザ端末から受信したスケルトンＧＵＩオブジェクト情報を各ユーザ端末のユーザの識別子と対応する端末操作履歴として記憶することができる。
【００２０】
上記ネットワークに接続された管理者端末は、例えば、検索条件を指定して、上記ファイルサーバに端末操作履歴の送信を要求し、上記ファイルサーバから端末操作履歴として受信したスケルトンＧＵＩオブジェクト情報に基いて、該管理者端末の表示画面に、前記ユーザ端末の操作履歴となるウィンドウ表示画面を時系列的に再生するスケルトンＧＵＩ再生ルーチン備える。
【発明の効果】
【００２１】
本発明によれば、端末操作履歴情報として、端末画面と対応する局所ＧＵＩオブジェクトツリーが生成され、複数画面分の局所ＧＵＩオブジェクトツリーが時系列的にファイルサーバに蓄積されるため、ファイルサーバに接続される他の端末（管理者端末）が、ファイルサーバに特定ユーザの局所ＧＵＩオブジェクトツリーを要求し、この局所ＧＵＩオブジェクトツリーに基いて、表示画面にユーザ端末の操作画面を描画できる。従って、本発明によれば、各ユーザ端末上で実際に実行されていたアプリケーションプログラムには関係なく、端末操作履歴を再現できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明による端末操作履歴記憶システムの実施例について、図面を参照して説明する。
【００２３】
図１は、本実施例による端末操作履歴記憶システムの構成例を示す。
本実施例による端末操作履歴記憶システムは、ネットワークＮＷ１に接続された複数の端末１０（１０−１〜１０−ｎ）と、ネットワークＮＷ１に接続された管理者端末２０と、ネットワークＮＷ１に接続されたファイルサーバ３０とからなる。ネットワークＮＷ１は、例えば、企業内に構築されたＬＡＮであり、ゲートウェイ（ＧＷ）４０を介して、外部のネットワークＮＷ２に接続されている。ネットワークＮＷ２は、例えば、各種のウェブサーバ５０（５０Ａ、５０Ｂ、・・・）が接続されたインターネットである。
【００２４】
端末１０は、企業内の従業員（一般ユーザ）が操作する端末、例えば、パーソナルコンピュータ（ＰＣ）であり、ファイルサーバ３０と交信する通信機能と、後述する端末操作画面情報の記録機能を備えている計算機の一例である。各端末１０で記録された端末操作画面情報は、ファイルサーバ３０に送信され、ファイルサーバ３０のデータストレージに保存される。ファイルサーバ３０は、各種のデータ管理システムを構成するための複数のアプリケーションプログラムと、これらのアプリケーションで使用する複数種類のデータファイルを備えている計算機の一例である。本実施例では、各端末１０は、ファイルサーバ３０と交信して、データ管理システムへのデータ入力、またはデータ管理システムの蓄積データを参照した業務を実行する。ファイルサーバ３０は、各端末１０から受信した端末操作画面情報をユーザ識別子と対応付けて、操作履歴として蓄積する情報ファイルも備えている。
【００２５】
管理者端末２０は、管理者が操作する端末、例えば、パーソナルコンピュータ（ＰＣ）であり、ファイルサーバ３０と交信する通信機能と、ファイルサーバ３０から受信した操作履歴情報に基いて、端末操作画面を表示画面に再生する機能を備えている計算機の一例である。本発明の端末操作履歴記憶システムでは、端末２０を操作する管理者が、ファイルサーバ３０に端末操作履歴として蓄積された端末操作画面情報のなかから、特定従業員の端末操作画面情報を検索し、端末２０の表示画面上に従業端末の操作画面を再生する。これによって、特定従業員が行った端末操作に応答して変化する端末１０の表示画面の推移を確認できる。
【００２６】
例えば、従業員ＸとＹが、各々の端末１０からファイルサーバ３０が提供する各種のデータ管理システムをアクセスして、各自の担当業務を遂行する場合を想定する。同一種類の業務を実行する場合であっても、従業員ＸとＹの能力や経験の違いによって、所要時間には差がでる。また、投資信託業務のように、顧客の要望や質問に応じた資料提示が必要となる窓口業務の場合、状況によって、従業員は、Ｗｅｂサーバ５０をアクセスして、適切な情報を入手する必要がある。この場合、管理者は、端末２０の表示画面上で、優秀な従業員の端末操作履歴と、そうでない従業員の端末操作履歴を再現し、それを比較することによって、従業員の能力向上と業務改善のヒントを得ることができる。
【００２７】
図２は、端末１０の表示画面の１例を示す。
ここで、１０００Ａは、デスクトップ画面、Ｗ１は、ファイルサーバ３０が提供する旅費システムのウィンドウ、Ｗ２は、例えば、Ｗｅｂサーバ５０Ａが提供する経路検索システムのウィンドウを示している。各ウィンドウは、後述するように、階層化された複数のＧＵＩオブジェクトに基づいて描画される。図２では、デスクトップ画面１０００Ａの背景が、図面を明瞭化するために白地に変更してあるが、一般的に、これらのウィンドウは、背景に色彩と模様をもつデスクトップ画面上に生成される。また、各ウィンドウは、データ入力枠が明確になるように、領域の一部に色彩や模様が施され、ウィンドウを特徴づけるイラストや写真（ここでは、列車）を含むことが多い。
【００２８】
図３は、本実施例において、管理者端末２０に再生される表示画面１０００Ｂの１例を示す。ウィンドウＷ１とＷ２は、図２のウィンドウＷ１とＷ２と対応している。
本実施例では、端末１０の表示画面に出力されたデスクトップ画面１０００ＡおよびウィンドウＷ１、Ｗ２、・・・から、例えば、背景やイラストなどを表示するためのビットマップ情報など、端末操作履歴には不要となる情報を削除することによって、ファイルサーバ３０に保存すべき操作履歴の情報量を削減している。本明細書では、不要情報が削除されたウィンドウ表示画面を生成するためのＧＵＩオブジェクトをスケルトンＧＵＩオブジェクトと呼ぶことにする。
【００２９】
図４は、一般ユーザ（従業員）が利用する端末１０の構成例を示す。
端末１０は、プロセッサ１１と、表示装置１２と、入力装置１３（キーボード１３Ａとマウス１３Ｂ）と、ネットワークＮＷ１と接続するための通信インタフェース部１４と、メモリ１５および１６と、データストレージ１７とから構成され、これらの構成要素は、バス１８で相互接続されている。
【００３０】
メモリ１５には、プロセッサ１２が実行するプログラムとして、オペレーションシステム（ＯＳ）１００と、ウィンドウ表示制御モジュール１１０と、ＧＵＩ情報管理モジュール１２０と、通信制御モジュール１３０と、スケルトンＧＵＩ情報取得ルーチン１４０と、各種のアプリケーションプログラム１８０が格納されている。尚、ウィンドウ表示制御モジュール１１０とＧＵＩ情報管理モジュール１２０は、ＯＳ１００の一部として各端末に搭載されるが、本実施例では、ＧＵＩオブジェクト情報からスケルトンＧＵＩオブジェクト情報を抽出するスケルトンＧＵＩ情報取得ルーチン１４０の機能を説明するために、これらのモジュールをＯＳの他の機能とは分けて示している。
【００３１】
メモリ１６には、ユーザＩＤ、端末ＩＤ、端末アドレス、日付などのパラメータ情報を記憶するためのメモリ領域と、ウィンドウ表示制御モジュール１１０が参照するＧＵＩオブジェクト情報ファイル１６０と、アプリケーションプログラム１８０が利用するデータエリア１６１が形成されている。データストレージ１７は、記憶容量の大きい外部メモリ、例えば、ディスクであり、データストレージ１７には、スケルトンＧＵＩ情報取得ルーチン１４０によって生成されたスケルトンＧＵＩオブジェクトからなる局所ＧＵＩオブジェクトツリー構造を一時的に蓄積するためのスケルトンＧＵＩオブジェク情報ファイル１７０と、その他の情報記憶エリア１９０が形成される。
【００３２】
図５は、ＧＵＩ情報管理モジュール１２０と、スケルトンＧＵＩ情報取得ルーチン１４０の機能を概略的に説明するための図である。
ＧＵＩオブジェクト情報ファイル１６０には、デスクトップ画面に描画される各種ウィンドウを定義するための複数のＧＵＩオブジェクトからなるＧＵＩオブジェクトツリー構造が記憶されている。ウィンドウ表示制御モジュール１１０は、ＧＵＩオブジェクト情報ファイル１６０に記憶されたＧＵＩオブジェクトの状態に従がって、表示画面にウィンドウを描画する。
【００３３】
例えば、ユーザが、マウス１３Ｂによって、表示画面上の特定ウィンドウ内の特定の文字入力枠を選択し、キーボード１３Ａで文字列を入力した場合、ＧＵＩ情報管理モジュール１２０が、これらの入力文字列をＧＵＩオブジェクト情報ファイル１６０に記憶されている上記ウィンドウと対応するＧＵＩオブジェクトにテキスト情報として記憶する。ユーザが入力した文字列は、ウィンドウ表示制御モジュール１２０によって、表示画面上の文字入力枠に順次に出力される。
【００３４】
ユーザが、マウス１３Ｂによって、何れかのウィンドウを移動操作すると、ＧＵＩ情報管理モジュール１２０が、上記ウィンドウと対応するＧＵＩオブジェクトの表示位置座標情報を更新し、ウィンドウ表示制御モジュール１１０が、更新されたＧＵＩオブジェクト情報に従がって、表示画面上のウィンドウ位置を変更する。ユーザが、ウィンドウ内に用意された特定のファンクション釦をクリックすると、ＯＳ１００が、ウィンドウ内の入力文字列をファイルサーバ３０（またがＷｅｂサーバ６０）に送信する。上記ファンクション釦のクリックに応答して、ＧＵＩ情報管理モジュール１２０が、ＧＵＩオブジェクト情報ファイル１６０に記憶された特定のＧＵＩオブジェクトの表示状態情報を書き換えると、ウィンドウ表示制御モジュール１１０が、更新されたＧＵＩオブジェクトツリー構造に従がって、表示画面上のウィンドウの表示状態を変更する。
【００３５】
スケルトンＧＵＩ情報取得ルーチン１４０は、ＧＵＩ情報管理モジュール１２０と連携して、所定のタイミングで、ＧＵＩオブジェクト情報ファイル１６０から、ＧＵＩオブジェクトツリー構造を読み出す。スケルトンＧＵＩ情報取得ルーチン１４０は、上記ＧＵＩオブジェクトツリー構造から、非表示常態にあるＧＵＩオブジェクトを除外し、端末操作履歴として不必要な情報が除去された複数のＧＵＩオブジェクト（スケルトンＧＵＩオブジェクト）からなる局所ＧＵＩオブジェクトツリーを生成し、これをデータストレージ１７のスケルトンＧＵＩオブジェクト情報ファイル１７０に記憶する。スケルトンＧＵＩ情報取得ルーチン１４０については、後で図１２を参照して詳述する。
【００３６】
図６は、ＧＵＩオブジェクト情報ファイル１６０に記憶されるＧＵＩオブジェクトツリー構造の１例を示す。
ＧＵＩオブジェクトツリー構造は、クラス情報＝「desktop」をもつデスクトップＧＵＩオブジェクトＯＢＪ１０００を頂点として階層化された複数のＧＵＩオブジェクト群からなる。ここでは、各ＧＵＩオブジェクトは、表示状態情報６０、クラス情報６１、オブジェクトＩＤ６２、矩形座標情報６３、前後順位情報６４、テキスト情報６５、ビットマップ情報６６、その他の情報６７を示している。
【００３７】
図６のＧＵＩオブジェクトツリー構造は、図２では非表示状態のウィンドウと対応するＧＵＩオブジェクトＯＢＪ２０００と、表示状態にあるウィンドウＷ１と対応するＧＵＩオブジェクト群の一部ＯＢＪ３０００〜ＯＢＪ３３００、およびウィンドウＷ２と対応するＧＵＩオブジェクト群の一部ＯＢＪ４０００を示している。
【００３８】
ＯＢＪ１０００において、ビットマップ情報「desktop.bmp」は、デスクトップ画面の背景模様を示す（但し、図２では、デスクトップ画面の背景を空白で示してある）。ＯＢＪ３０００は、図２の「旅費システム」ブラウザ枠３０００と対応し、ＯＢＪ３１００は、図２のツールバー枠３１００と対応し、ＯＢＪ３２００は、図２の文字列「アドレス」の表示と対応し、ＯＢＪ３３００は、図２のhttpアドレス枠３３００と対応している。ＯＢＪ３０００には、ＯＢＪ３１００〜ＯＢＪ３３００と同じ階層に、図２の「出張内容の入力画面」３４００と対応するＧＵＩオブジェクトがリンクしているが、図６では省略されている。
【００３９】
図７は、スケルトンＧＵＩ情報取得ルーチン１４０によって、図６のＧＵＩオブジェクトツリー構造から生成されるスケルトンＧＵＩオブジェクトツリー（局所ＧＵＩオブジェクトツリー）の構造を示す。
スケルトンＧＵＩオブジェクトＳＫＬ１０００〜ＳＫＬ３３００は、図６に示したＯＢＪ１０００〜ＯＢＪ３３００と対応している。図６と比較して明らかなように、スケルトンＧＵＩオブジェクトツリー構造には、端末画面で非表示状態にあったＧＵＩオブジェクトＯＢＪ２０００と対応するＧＵＩオブジェクトＳＫＬ２０００が除外されている。また、各スケルトンＧＵＩオブジェクトは、表示状態情報６０、クラス情報６１、オブジェクトＩＤ６２、矩形座標情報６３、前後順位情報６４、テキスト情報６５からなり、ビットマップ情報６６とその他の情報６７は除外されている。
【００４０】
図８は、スケルトンＧＵＩオブジェクト情報ファイル１７０におけるスケルトンＧＵＩオブジェクト情報の蓄積形態の１例を示す。
本実施例では、端末１０の画面操作履歴を示すスケルトンＧＵＩオブジェクトツリー情報は、snapshot_seriesノード７３に生成順にリンクさせた形式で、スケルトンＧＵＩオブジェクト情報ファイル１７０に蓄積される。snapshot_seriesノード７３は、端末１０のユーザＩＤ７１と端末ＩＤ７２と対応付けられている。スケルトンＧＵＩオブジェクトツリー情報７４（７４−１〜７４−ｍ）は、日付情報（date）と時刻情報（time）とからなるタイムスタンプ（snapshot date）７４１と、ツリー構造化されたスケルトンＧＵＩオブジェクト記述７４２とからなる。
【００４１】
スケルトンＧＵＩオブジェクト情報ファイル１７０に蓄積された複数画面分のスケルトンＧＵＩオブジェクトツリー情報は、所定のタイミングでファイルサーバ３０に送信され、ファイルサーバ３０に蓄積される。本実施例では、スケルトンＧＵＩオブジェクトツリー情報７４−１〜７４−ｍが、それぞれsnapshotノード（局所ＧＵＩオブジェクトツリー）として生成され、snapshot_seriesノード７３に順次に追加される。
【００４２】
図９は、スケルトンＧＵＩオブジェクト記述の１例を示す。
図９において、１行目は、snapshot_seriesノードと、端末１０のユーザＩＤ（user=xxxx）と、端末ＩＤ（PC=xxxxx）との対応関係を示している。２行目の＜snapshot date＝xxxx/xx/xx xx:xx:xx＞７４１は、snapshotノードの開始位置を示し、２４行目の＜/snapshot＞は、snapshotノードの終了位置、すなわち、１画面分局所ＧＵＩオブジェクトとリーの終了位置を示す。スケルトンＧＵＩオブジェクト記述７４２は、snapshotノードの内容として、３行目〜２３行目に記述される。
【００４３】
ここに例示したスケルトンＧＵＩオブジェクト記述７４２は、図７に示したスケルトンＧＵＩオブジェクトツリー構造と対応しており、ツリー構造における階層順に配列されたスケルトンＧＵＩオブジェクトＳＫＬ３１００、ＳＫＬ３２００、ＳＫＬ３３００、ＳＫＬ４０００と、図７では省略されたスケルトンＧＵＩオブジェクトＳＫＬ４０００を含んでいる。各スケルトンＧＵＩオブジェクトの記述は、＜gui class=xxxx……＞で始まり、＜/gui＞で終わる。
【００４４】
図１０は、管理者端末２０の構成例を示すブロック図である。
管理者端末２０は、プロセッサ２１と、表示装置２２と、入力装置２３（キーボード２３Ａとマウス２３Ｂ）と、ネットワークＮＷ１と接続するための通信インタフェース部２４と、メモリ２５および２６と、データストレージ２７とから構成され、これらの構成要素は、バス２８で相互接続されている管理計算機の一例である。
【００４５】
メモリ２５は、プロセッサ２２が実行するプログラムとして、端末１０と同様、オペレーションシステム（ＯＳ）１００と、ウィンドウ表示制御モジュール１１０と、ＧＵＩ情報管理モジュール１２０と、通信制御モジュール１３０と、各種のアプリケーションプログラム２８０を記憶している。本実施例では、管理者端末のメモリ２５に、ファイルサーバ３０からスケルトンＧＵＩオブジェクト情報を取得して、端末操作履歴となるウィンドウ表示画面を生成するスケルトンＧＵＩ再生処理ルーチン２４０が記憶されている。メモリ１６には、アプリケーションプログラム２８０が利用するデータエリアと、ＧＵＩ情報管理モジュール１２０によって管理されるＧＵＩオブジェクト情報ファイル２６０Ａと、スケルトンＧＵＩ再生処理ルーチン２４０が利用するスケルトンＧＵＩオブジェクト情報記憶エリア２６０Ｂが定義される。スケルトンＧＵＩ再生処理ルーチン２４０については、後で図１５を参照して詳述する。
【００４６】
図１１は、ファイルサーバ３０の構成例を示すブロック図である。
ファイルサーバ３０は、プロセッサ３１と、表示装置３２と、入力装置３２３（キーボード３３Ａとマウス３３Ｂ）と、ネットワークＮＷ１と接続するための通信インタフェース部３４と、メモリ３５および３６と、データストレージ３７とから構成され、これらの構成要素は、バス３８で相互接続されている。
【００４７】
メモリ３５は、プロセッサ３２が実行するソフトウェアとして、オペレーションシステム（ＯＳ）３００と、通信制御モジュール３３０と、ファイルサーバ３０が提供する各種のデータ管理システムを構成する複数のアプリケーションプログラム３８０を記憶している。本実施例では、メモリ３５に、スケルトンＧＵＩオブジェクト情報管理ルーチン３４０が用意さる。メモリ３６には、アプリケーションプログラム３８０とスケルトンＧＵＩオブジェクト情報管理ルーチン３４０が利用するデータエリアが定義される。また、データストレージ３７には、ファイルサーバ３０が提供する各種データ管理システムと対応したデータファイル３７０と、スケルトンＧＵＩオブジェクト情報管理ルーチン３４０によって管理されるスケルトンＧＵＩオブジェクト情報ファイル３９０が形成される。
【００４８】
図１２は、各端末１０のプロセッサ１１が実行するスケルトンＧＵＩ情報取得ルーチン１４０を示すフローチャートである。スケルトンＧＵＩ情報取得ルーチン１４０は、例えば、ユーザ（従業員）が、端末１０の電源をオンにし、表示装置１２にデスクトップ画面が表示されたとき、自動的に起動される。
【００４９】
スケルトンＧＵＩ情報取得ルーチン１４０において、プロセッサ１１は、予めメモリ１６に記憶されているユーザＩＤ、端末ＩＤ、日付情報を取得し、スケルトンＧＵＩオブジェクト情報ファイル１７０に、図８で説明したsnapshot_seriesノード７３を生成（ステップ１４１）した後、ＧＵＩオブジェクト情報フィル１６０から、デスクトップＧＵＩオブジェクトＯＢＪ１０００のＩＤ値を読み出す（１４２）。図６に示した例では、デスクトップＧＵＩオブジェクトのＩＤ値として「1000」が読み出される。ステップ１４１では、デスクトップＧＵＩオブジェクトのＩＤ値「1000」をＺで表記している。
【００５０】
プロセッサ１１は、端末１０が備える内部時計から現在の時刻情報を取得し、スケルトンＧＵＩオブジェクト情報ファイル１７０に、日時情報と時刻情報とからなるタイムスタンプ７４１をもつsnapshotノードを生成し、パラメータＰにデスクトップＧＵＩオブジェクトのＩＤ値Ｚを設定（１４４）した後、スケルトンＧＵＩオブジェクトノード生成処理１５０を実行する。パラメータＰは、階層化されたＧＵＩオブジェクトを生成するために再帰的に実行されるスケルトンＧＵＩオブジェクトノード生成処理１５０において、オブジェクトＩＤの引数となる。
【００５１】
スケルトンＧＵＩオブジェクトノード生成処理１５０では、図１３で詳述するように、ＧＵＩオブジェクト情報ファイル１６０に記憶されているＧＵＩオブジェクトツリーから、表示状態情報６０が表示中となっているＧＵＩオブジェクトを階層順に読出し、各ＧＵＩオブジェクトから予め指定された特定項目の情報を抽出することによって、snapshotノードの内容となるスケルトンＧＵＩオブジェクト記述を順次に生成する。
【００５２】
プロセッサ１１は、スケルトンＧＵＩオブジェクトノード生成処理１５０によって、１画面分のsnapshotノード（局所ＧＵＩオブジェクトツリー）の生成が終了すると、このsnapshotノードをスケルトンＧＵＩオブジェクト情報ファイル１７０に生成してあるsnapshot_seriesノード７３に追加（１４５）する。これによって、例えば、図８に示したsnapshot_seriesノード７３に最初のsnapshotノード７４−１が追加される。
【００５３】
この後、プロセッサ１１は、ＧＵＩ情報管理モジュール１２０からの終了指示の有無をチェックし(１４７)、終了指示があった場合は、スケルトンＧＵＩオブジェクト情報ファイル１７０に蓄積されたスケルトンＧＵＩオブジェクト情報をファイルサーバ３０に送信して(１４９)、このルーチン１４０を終了する。
【００５４】
ステップ１４７で終了指示がなかった場合、プロセッサ１１は、ＧＵＩ情報管理モジュール１２０からの表示画面の変更通知（表示変更）の有無をチェックする(１４８)。表示変更がなければ、ステップ１４７、１４８が繰り返される。表示変更があった場合、プロセッサ１１は、ステップ１４４で新たなsnapshotノードを生成して、上述した動作を繰り返す。これによって、新たなウィンドウ画面のsnapshotノード（局所ＧＵＩオブジェクトツリー）が生成され、snapshot_seriesノード７３に追加される。
【００５５】
例えば、ユーザ操作によってデスクトップ画面上のウィンドウの表示状態が遷移したタイミングで、ＧＵＩ情報管理モジュール１２０から表示変更が発行されるようにしておけば、デスクトップ画面の状態変化の都度、スケルトンＧＵＩ情報取得ルーチン１４０で、snapshot_seriesノードに新たなsnapshotノードを追加できる。従がって、ＧＵＩオブジェクト情報ファイル１６０には、デスクトップ画面の状態遷移を示すスケルトンＧＵＩ情報が、端末操作履歴情報として時系列的に蓄積されることになる。
【００５６】
ファイルサーバ３０のプロセッサ３１は、端末１０からスケルトンＧＵＩオブジェクト情報を受信すると、スケルトンＧＵＩファイル管理ルーチン３４０を実行して、受信したスケルトンＧＵＩオブジェクト情報をスケルトンＧＵＩオブジェクト情報ファイル３９０に蓄積する。スケルトンＧＵＩオブジェクト情報は、ユーザＩＤ７１および端末ＩＤ７２と対応付けてファイル３９０に蓄積され、管理者端末２０から指定されたユーザＩＤとタイムスタンプ情報を検索キーとして読み出される。
【００５７】
図１３は、スケルトンＧＵＩオブジェクトノード生成処理１５０の詳細を示すフローチャートである。
スケルトンＧＵＩオブジェクトノード生成処理１５０では、プロセッサ１１は、ＧＵＩオブジェクト情報ファイル１６０から、ＩＤ＝Ｐのオブジェクトの表示状態情報６０を読み取り（１５１）、表示状態情報６０を判定する（１５２）。表示状態情報６０が「非表示」となっていた場合、プロセッサ１１は、この処理１５０を終了する。スケルトンＧＵＩオブジェクトノード生成処理１５０の最初の実行時点では、パラメータＰは、デスクトップＧＵＩオブジェクトＯＢＪ１０００のＩＤ値（＝Ｚ）を示しており、オブジェクト情報ファイル１６０から読み出された表示状態情報６０は「表示」となっている。従って、プロセッサ１１は、ＩＤ＝Ｐ（＝１０００）のＧＵＩオブジェクト、今回はデスクトップＧＵＩオブジェクトＯＢＪ１０００について、スケルトン描画情報抽出処理１５３を実行する。
【００５８】
本実施例では、スケルトン描画情報抽出処理１５３は、図１４に示すように、ＩＤ＝ＰのＧＵＩオブジェクトから、クラス情報６１（ステップ１５３１）、矩形座標情報６３（ステップ１５３２）、前後順序情報６４（ステップ１５３３）、テキスト情報６５（ステップ１５３４）を抽出する。
【００５９】
図１３に戻って、プロセッサ１１は、スケルトン描画情報抽出処理１５３で抽出された情報を含む新たなguiノードを生成して、これを親ノードに追加する（１５４）。今回は、デスクトップ用のスケルトンＧＵＩオブジェクトＳＫＬ１０００を示すguiノードが生成され、図９に示すように、親ノードであるsnapshotノードに追加される。
【００６０】
プロセッサ１１は、次に、ＩＤ＝ＰのＧＵＩオブジェクトにリンクした子オブジェクトの個数Ｎをカウントし（１５４）、処理すべき子オブジェクトを指定するためのパラメータｉを初期値０に設定（１５６）した後、パラメータｉの値をインクリメントする（１５７）。プロセッサ１１は、次に、ＧＵＩオブジェクト情報ファイル１６０から、第ｉＧＵＩオブジェクトのＩＤ値（＝Ｘ）を読み取り、このＩＤ値をパラメータＰに設定して（１５８）、スケルトンＧＵＩオブジェクトノード生成処理１５０を再帰的に実行する（１５０Ｒ）。
プロセッサ１１は、パラメータｉの値を変えて、ステップ１５８と１５９を繰り返し、パラメータｉの値がＮに達したとき（１６０）、このスケルトンＧＵＩオブジェクトノード生成処理１５０を終了する。
【００６１】
ＧＵＩオブジェクト情報ファイル１６０に記憶されたＧＵＩオブジェクトツリーが、例えば、図６に示した構造となっていた場合、ステップ１５４で、スケルトンＧＵＩオブジェクトＳＫＬ１０００を示すguiノードが生成されたとき、ステップ１５０Ｒでは、ＧＵＩオブジェクトＯＢＪ２０００、ＯＢＪ３０００、ＯＢＪ４０００、・・・に対して、スケルトンＧＵＩオブジェクトノード生成処理１５０が再帰的に実行される。
【００６２】
ＧＵＩオブジェクトＯＢＪ２０００は、表示状態情報６０が「非表示」となっているため、guiノードを生成することなく、スケルトンＧＵＩオブジェクトノード生成処理が終了する。ＧＵＩオブジェクトＯＢＪ３０００は、表示状態情報６０が「表示」となっているため、ステップ１５４で、スケルトンＧＵＩオブジェクトＳＫＬ３０００を示すguiノードが生成され、図９に示すように、親ノードＳＫＬ１０００に追加される。
【００６３】
ＧＵＩオブジェクトＯＢＪ３０００に対して実行されたスケルトンＧＵＩオブジェクトノード生成処理１５０では、ステップ１５０Ｒで、ＧＵＩオブジェクトＯＢＪ３０００にリンクした子オブジェクトＯＢＪ３１００、ＯＢＪ３２００、ＯＢＪ３３００、・・・を処理対象として、スケルトンＧＵＩオブジェクトノード生成処理１５０が再帰的に実行される。その結果、スケルトンＧＵＩオブジェクトＳＫＬ３１００、ＳＫＬ３２００、ＳＫＬ３３００を示すguiノードが順次に生成され、これらのスケルトンＧＵＩオブジェクトが、図９に示すように、親ノードＳＫＬ３０００に追加される。
【００６４】
ＧＵＩオブジェクトＯＢＪ３０００に対する再帰的なスケルトンＧＵＩオブジェクトノード生成処理１５０に実行１５０Ｒが終了すると、ＧＵＩオブジェクトＯＢＪ４０００に対して、スケルトンＧＵＩオブジェクトノード生成処理１５０が再帰的に実行される（１５０Ｒ）。ＧＵＩオブジェクトＯＢＪ４０００は、表示状態情報６０が「表示」となっているため、ステップ１５４で、スケルトンＧＵＩオブジェクトＳＫＬ４０００を示すguiノードが生成され、図９に示すように、親ノードＳＫＬ１０００に追加される。
【００６５】
図６では、実際にはＧＵＩオブジェクトＯＢＪ４０００にリンクしている子オブジェクトが省略されているが、図２に示したウィンドウＷ２の内容から明らかなように、ＧＵＩオブジェクトＯＢＪ４０００にも、複数の子オブジェクトがリンクしている。従って、ＯＢＪ４０００に対するスケルトンＧＵＩオブジェクトノード生成処理１５０では、これらの子オブジェクトに対するスケルトンＧＵＩオブジェクトノード生成処理１５０が再帰的に実行され（１５０Ｒ）、ＳＫＬ４０００に複数のスケルトンＧＵＩオブジェクトが追加される。
【００６６】
図１５は、管理者端末２０のプロセッサ２１が実行するスケルトンＧＵＩ再生処理ルーチン２４０を示すフローチャートである。
スケルトンＧＵＩ再生処理ルーチン２４０は、端末２０のユーザ（管理者）が、例えば、デスクトップ画面に表示されている端末履歴検索用の特定のアイコンを選択することによって起動される。
【００６７】
スケルトンＧＵＩ再生処理ルーチン２４０が起動されると、プロセッサ２１は、端末２０のデスクトップ画面に生成された操作履歴再生ウィンドウ２００に、例えば、図１６に示す操作履歴の検索条件入力画面を表示し（２４１）、ユーザからの検索指示の入力を待つ（２４２）。検索条件入力画面は、端末操作履歴の検索対象となる従業員のユーザ名（ユーザＩＤ）の入力ボックス２０１、再生すべき操作履歴の日付入力ボックス２０２および開始時刻のデータ入力ボックス２０３と、検索ボタン２０４Ａおよび終了ボタン２０４Ｂを含む。
【００６８】
ユーザが、検索条件入力画面で、検索条件となるユーザ名、日付、時刻を入力した後、検索ボタン２０４Ａをクリックすると、プロセッサ２１は、ファイルサーバ３０に対して、検索条件を指定して、最初の画面のスケルトンＧＵＩ情報の要求メッセージを送信し（２４３）、ファイルサーバ３０からの応答を待つ（２４４）。
【００６９】
本実施例では、ファイルサーバ３０のプロセッサ３１は、端末２０から要求メッセージを受信すると、スケルトンＧＵＩファイル管理ルーチン３４０によって、受信した要求メッセージから検索条件を抽出し、スケルトンＧＵＩ情報ファイル３９０から、検索条件が示すユーザ名（ユーザＩＤ）に対応するsnapshot_seriesノードを検索する。
【００７０】
プロセッサ３１は、上記snapshot_seriesノードにリンクしたsnapshotノード群の中から、タイムスタンプ７４１が上記検索条件で指定された日付、時刻に一致しているsnapshotノードを検索して、要求元の端末２０に送信する。スケルトンＧＵＩ情報ファイル３９０に、タイムスタンプ時刻が指定時刻に一致するsnapshotノードが存在しなかった場合、プロセッサ３１は、指定時刻直前のタイムスタンプ時刻をもつsnapshotノードを検索して、要求元の端末２０に送信する。
【００７１】
もし、検索条件で指定されたタイムスタンプ日付をもつsnapshot_seriesノードがスケルトンＧＵＩ情報ファイル３９０に存在しなかった場合、ファイルサーバ３０から端末２０に、日付エラーを示す応答メッセージを返送して、管理者に検索条件を変更させる。但し、プロセッサ３１に、タイムスタンプの日付が指定日付の直前のsnapshot_seriesノードにリンクしたsnapshotノード群の中から、タイムスタンプの時刻が指定時刻に一致するsnapshotノードを検索して、要求元の端末２０に送信させるようにしてもよい。
【００７２】
端末２０のプロセッサ２１は、ファイルサーバ３０からsnapshotノードデータを受信すると、受信したsnapshotノードデータをメモリ１６のスケルトンＧＵＩオブジェクト情報記憶エリア２６０Ｂに格納し、このsnapshotノードデータに基いて、操作履歴再生ウィンドウ２００内に、従業員端末の操作履歴を示すウィンドウ画面を再生する（２４５）。このウィンドウ画面は、スケルトンＧＵＩ再生処理ルーチン２４０が備える描画モジュールによって再生される。
【００７３】
従業員の操作履歴は、例えば、図１７に示すように、操作履歴再生ウィンドウ２００内に定義された従業員端末デスクトップ表示領域１０００Ｃに再生される。このとき、操作履歴再生ウィンドウ２００には、例えば、「閉じる」ボタン２０５と、表示領域１０００Ｃの内容を変更するための幾つかのファンクションボタン２０６Ａ〜２０６Ｄが表示されている。
【００７４】
プロセッサ２１は、ユーザからファンクションボタンの選択を待ち、「終了」ボタン２０６Ｄがクリックされた場合（２４６）は、ステップ２４１で操作履歴の検索条件入力画面を表示して、ステップ２４２以降のシーケンスを繰り返し、「閉じる」ボタン２０５がクリックされた場合（２４７）は、このルーチン２４０を終了する。
【００７５】
「進む」ボタン２０６Ｃがクリックされた場合（２４８）は、プロセッサ２１は、ユーザ名と、今回受信したsnapshotノードに付されたタイムスタンプを基準にして、その次の画面のスケルトンＧＵＩオブジェクト情報（snapshotノード）の要求する要求メッセージをファイルサーバ３０に送信して（２５０）、ステップ２４４以降のシーケンスを繰り返す。「戻る」ボタン２０６Ｂがクリックされた場合（２４８）は、プロセッサ２１は、ユーザ名と、今回受信したsnapshotノードに付されたタイムスタンプを基準にして、その前の画面のスケルトンＧＵＩオブジェクト情報（snapshotノード）を要求する要求メッセージをファイルサーバ３０に送信して（２５１）、ステップ２４４以降のシーケンスを繰り返す。
【００７６】
ファイルサーバ３０のプロセッサ３１は、端末２０から、次画面のスケルトンＧＵＩオブジェクト情報の要求メッセージを受信すると、スケルトンＧＵＩ情報ファイル３９０から、受信メッセージで指定されたユーザＩＤ（ユーザ名）とタイムスタンプをもつsnapshotノードを検索し、その次のsnapshotノードを読み出して、要求元の端末２０に送信する。また、前画面のスケルトンＧＵＩオブジェクト情報の要求メッセージを受信した場合、プロセッサ３１は、スケルトンＧＵＩ情報ファイル３９０から、受信メッセージで指定されたユーザＩＤとタイムスタンプをもつsnapshotノードを検索し、その前のsnapshotノードのデータを読み出して、要求元の端末２０に送信する。
【００７７】
上記実施例によれば、管理者は、「進む」ボタン２０６Ｃのクリックを繰り返すことによって、端末２０の表示画面上で、ユーザ名で指定した端末におけるウィンドウ表示画面の状態遷移を観察することができる。また、必要に応じて「戻る」ボタン２０６Ｂと「進む」ボタン２０６Ｃを交互にクリックすることによって、管理者は、特定時点におけるウィンドウ画面の表示内容を解析することが可能となる。
【００７８】
図１６に示した検索条件の入力画面では、検索条件として、ユーザ名２０１と、タイムスタンプ日付２０２、時刻２０３を指定したが、例えば、図１７に示したように、検索キーワードとして、ファイルサーバ３０が提供しているデータ管理システムの名称を指定できるようにしてもよい。管理者が、検索条件としてユーザ名、日付、時刻と、キーワードを指定した場合、ファイルサーバ３０に、スケルトンＧＵＩ情報ファイル３９０から、指定ユーザ名（ユーザＩＤ）に対応するsnapshot_seriesノードを検索させ、このノードにリンクしたsnapshotノード群のなかから、タイムスタンプ日付が指定日付で、テキスト情報６５が指定キーワードと一致する最初のsnapshotノードを検索して、管理者端末２０に送信させることが可能となる。
【００７９】
図１８は、管理者端末２０で実行されるスケルトンＧＵＩ再生処理ルーチン２４０の第２実施例を示すフローチャートである。図１５と同じ符号を付したステップでは、第１実施例と同様の動作が実行されるため、これらのステップについては、説明を簡略化する。
【００８０】
第２実施例のスケルトンＧＵＩ再生処理ルーチン２４０では、ステップ２４３で、管理者端末２０からファイルサーバ３０に、検索条件に該当する画面から始まる複数画面分のスケルトンＧＵＩオブジェクト情報の送信を要求する。
ファイルサーバ３０のプロセッサ３１は、端末２０からスケルトンＧＵＩオブジェクト情報の要求メッセージを受信すると、スケルトンＧＵＩファイル管理ルーチン３４０によって、受信した要求メッセージから検索条件を抽出し、スケルトンＧＵＩ情報ファイル３９０から、検索条件で指定されたユーザ名とタイムスタンプ日付をもつsnapshot_seriesノードを検索し、このsnapshot_seriesノードにリンクしているsnapshotノード群のなかから、検索条件で指定されたタイムスタンプ時刻をもつsnapshotノードを検索する。
【００８１】
第２実施例では、ファイルサーバ３０のプロセッサ３１が、同一snapshot_seriesノードにリンクした指定時刻以降の複数画面分のsnapshotノードデータをまとめて要求元端末２０に送信する。検索されたsnapshot_seriesノードに指定時刻のsnapshotノードが存在しなかった場合、プロセッサ３１は、指定時刻直前のタイムスタンプ時刻をもつsnapshotノードから始まる一連のsnapshotノードのデータを要求元の端末２０に送信する。
【００８２】
もし、検索条件で指定されたタイムスタンプ日付をもつsnapshot_seriesノードがスケルトンＧＵＩ情報ファイル３９０になかった場合、ファイルサーバ３０から端末２０に、日付エラーを示す応答メッセージを返送して、管理者に検索条件を変更させる。但し、プロセッサ３１に、指定日付直前のタイムスタンプ日付をもつsnapshot_seriesノードから、検索条件で指定されたタイムスタンプ時刻をもつsnapshotノードを検索させ、指定時刻以降の複数画面分のsnapshotノードを要求元の端末２０に送信させてもよい。
【００８３】
本実施例では、管理者端末２０のプロセッサ２１は、検索条件に該当するスケルトンＧＵＩオブジェクト情報として、ファイルサーバ３０から一連のsnapshotノードのデータを受信すると、これらのデータをデータストレージ２７に格納する（２５２）。この後、プロセッサ２１は、データストレージ２７から最初の画面のsnapshotノードをスケルトンＧＵＩ情報記憶エリア２６０Ｂに読み出し（２４３）、このsnapshotノードに基いて、表示画面に従業員端末１０の最初のウィンドウ表示画面を再生する（２４５）。
【００８４】
本実施例では、端末操作履歴を時系列的に再現する複数画面分のスケルトンＧＵＩ情報が、端末２０のデータストレージ２７に格納済みとなっているため、管理者が「進む」ボタン２０６Ｃをクリックした時、プロセッサ２１は、データストレージ２７から次画面のsnapshotノードをスケルトンＧＵＩ情報記憶エリア２６０Ｂに読み出して（２５０）、表示画面に従業員端末１０のウィンドウ表示画面を再生できる（２４５）。また、管理者が「戻る」ボタン２０６Ｂをクリックした時、プロセッサ２１は、データストレージ２７から前画面のsnapshotノードをメモリ２６のスケルトンＧＵＩ情報記憶エリア２６０Ｂに読み出して（２５１）、表示画面に従業員端末１０のウィンドウ表示画面を再生できる（２４５）。
【００８５】
図１９は、管理者端末２０に表示される操作履歴再生ウィンドウ２００の他の実施例を示す。ここに示した操作履歴再生ウィンドウ表示画面は、画面の下部に、表示領域１０００Ｃの表示内容の切替え速度（インターバルΔＴ）を変更するための速度コントロールバー２０７を備えている。
【００８６】
上記操作履歴再生ウィンドウ表示画面は、端末２０のユーザが「進む」、「戻る」のボタンクリックを繰り返さなくても、スケルトンＧＵＩ再生処理ルーチン２４０が、速度コントロールバー２０７で指定されたインターバルΔＴで、操作履歴の表示画面を自動的に切り替える場合に有効となる。この場合、プロセッサ２１は、ユーザが、一旦「進む」ボタンをクリックすると、その後は時間経過方向にΔＴ間隔で自動的に操作履歴の表示画面を切り替え、途中で、「戻り」ボタンがクリックされると、時間を遡る方向にΔＴ間隔で操作履歴の表示画面を切り替える。ユーザは、マウス操作で速度コントロールバー２０７のレバー位置を変更することによって、ΔＴを調整できる。
【００８７】
上述した操作履歴表示画面の自動切替えを行なうためには、図１５、図１８で説明したスケルトンＧＵＩ再生処理ルーチン２４０に、画面の切替え方向を記憶する方向フラグを適用して、例えば、「進む」ボタンがクリックされた時（ステップ２４８）、方向フラグを「進む」状態に、「戻り」ボタンがクリックされた時（ステップ２４９）、方向フラグを「戻り」状態に設定しておき、ステップ２４９の判定結果が「ＮＯ」の場合に、ΔＴの時間経過を待って、方向フラグの状態に応じたスケルトンＧＵＩオブジェクト情報の読み出し（２５０または２５１）を実行すればよい。
【００８８】
次に、図２０〜図２３を参照して、本発明の第３実施例について説明する。
第３実施例の特徴は、端末１０のスケルトンＧＵＩ情報取得ルーチン１４０が、第２画面以降のスケルトンＧＵＩオブジェクト情報として、前画面との差分を記述したsnapshotノードを生成することにある。
【００８９】
図２０は、各端末１０で実行される第３実施例のスケルトンＧＵＩ情報取得ルーチン１４０のフローチャートを示す。図１２と同じ符号を付したステップでは、第１実施例と同一の動作が実行されるため、これらのステップについては、説明を簡略化する。
【００９０】
第３実施例のスケルトンＧＵＩ情報取得ルーチン１４０において、プロセッサ１１は、snapshot_seriesノードの生成し（１４１）、ＧＵＩオブジェクト情報フィル１６０からのデスクトップＧＵＩオブジェクトＯＢＪ１０００のＩＤ値の読み出した後（１４２）、prevノードを生成する。prevノードは、差分情報の抽出に必要となる前画面のsnapshotノードの内容を記憶するために使用される。
【００９１】
プロセッサ１１は、prevノードを生成した後、第１実施例と同様、スケルトンＧＵＩオブジェクト情報ファイル１７０に、タイムスタンプ７４１を付したsnapshotノードを生成し、パラメータＰにデスクトップＧＵＩオブジェクトのＩＤ値Ｚを設定して（１４４）、図１３で説明したスケルトンＧＵＩオブジェクトノード生成処理１５０を実行する。スケルトンＧＵＩオブジェクトノード生成処理１５０の実行によって、snapshotノードに、スケルトンＧＵＩオブジェクトのノード記述が順次に追加される。
【００９２】
第３実施例では、プロセッサ１１は、スケルトンＧＵＩオブジェクトノード生成処理１５０が終了すると、図２１に示すオブジェクト差分情報抽出処理１４５Ａを実行する。
図２１に示すように、オブジェクト差分情報抽出処理１４５Ａでは、プロセッサ１１は、snapshot_seriesノードの現在の状態を判定する（１４５１）。snapshot_seriesノードが空状態、すなわち、スケルトンＧＵＩ情報取得ルーチン１４０が、端末操作履歴の最初の画面のスケルトンＧＵＩオブジェクトを生成している状態では、プロセッサ１１は、snapshot_seriesノードに、スケルトンＧＵＩオブジェクトノード生成処理１５０で生成されたguiノードを含むsnapshotノードを追加して（１４５２）、オブジェクト差分情報抽出処理１４５Ａを終了する。
【００９３】
snapshot_seriesノードが、既にsnapshotノードを含んでいた場合、すなわち、スケルトンＧＵＩ情報取得ルーチン１４０が、端末操作履歴の第２画面以降の画面でスケルトンＧＵＩオブジェクトを生成している状態では、プロセッサ１１は、前画面との差分情報を記述するためのdiffノードを生成し（１４５３）、前画面のスケルトンＧＵＩオブジェクト群を示すprevノードと、新たな画面のスケルトンＧＵＩオブジェクト群を示すsnapshotノードとの差分情報を検出して、diffノードに記述する。
【００９４】
本実施例では、プロセッサ１１は、snapshotノードとprevノードの双方に存在し、属性情報が異なるguiノードを記述したupdateノードをdiffノードに追加し（１４５４）、prevノードには存在するが、snapshotノードには無いguiノードを記述したremoveノードをdiffノードに追加し（１４５５）、snapshotノードに存在するが、prevノードには無いguiノード記述したaddノードをdiffノードに追加する（１４５６）。
【００９５】
プロセッサ１１は、ステップ１４５４〜１４５６を実行した後、diffノードの状態を判定し（１４５７）、diffノードが空状態の場合、すなわち、今回生成されたsnapshotノードが全画面のsnapshotノードと同一の場合は、diffノードを利用することなく、オブジェクト差分情報抽出１４５Ａを終了する。diffノードが空状態でなければ、プロセッサ１１は、snapshot_seriesノードにdiffノードを追加して（１４５８）、オブジェクト差分情報抽出処理１４５Ａを終了する。
【００９６】
図２０に戻って、プロセッサ１１は、オブジェクト差分情報抽出１４５Ａが終了すると、今回生成されたsnapshotノードの内容をprevノードにコピー（１４６）した後、図１２で説明したステップ１４７以降の動作を実行する。
【００９７】
図２２は、第３実施例のスケルトンＧＵＩ情報取得ルーチン１４０によって生成されるスケルトンＧＵＩオブジェクト記述の１例を示す。
最初の画面のスケルトンＧＵＩオブジェクト情報は、図９に示したsnapshotノード７４−１と同一内容となる。第２画面のスケルトンＧＵＩオブジェクト情報は、図２１で説明したオブジェクト差分情報処理１４５Ａにおけるステップ１４５３〜１４５６の実行によって、updateノード、remove ノード、addノードを含むdiffノードが生成されるため、diffノード７４−２で示すように、第１画面と第２画面との差分を示すupdateノード、remove ノード、addノードからなる簡単化された記述となる。第３画面以降も、ノード７４−２と同様、簡略化されたdiffノード記述となる。
【００９８】
図２３は、管理者端末２０で実行される第３実施例のスケルトンＧＵＩ再生処理ルーチン２４０のフローチャートを示す。ここでは、第２実施例と同様、管理者端末２０からファイルサーバ３０に、検索条件に該当する画面から始まる複数画面分のスケルトンＧＵＩオブジェクト情報の送信を要求するものとし、図１８と同じ符号を付したステップでは、第２実施例と同一の動作が実行されるため、これらのステップについての説明は簡略化する。
【００９９】
第３実施例のスケルトンＧＵＩ再生処理ルーチン２４０では、プロセッサ３１は、データストレージ２７から最初の画面のスケルトンＧＵＩオブジェクト情報をメモリ２６に読み出すと（２５３）、このスケルトンＧＵＩオブジェクト情報がsnapshotノードか否かを判定する（２５４）。データストレージ２７から読み出されたスケルトンＧＵＩオブジェクト情報がsnapshotノードのデータ場合は、プロセッサ３１は、第２実施例と同様、snapshotノードのデータに基いてウィンドウ表示画面を再生して（２４５）、判定ステップ２４６以降の手順を実行する。
【０１００】
データストレージ２７から読み出されたスケルトンＧＵＩオブジェクト情報がsnapshotノードでない場合、すなわち、diffノードの場合、プロセッサ３１は、データストレージ２７に格納されているsnapshotノードから今回のdiffノードまでの時系列データから、ＧＵＩ描画データdrawを生成し（２５５）、このdrawデータに基いてウィンドウ表示画面を再生（２５６）した後、判定ステップ２４６以降の手順を実行する。
【０１０１】
第３実施例では、第２画面以降のスケルトンＧＵＩオブジェクト情報が、前画面との差分情報となっているため、局所ＧＵＩオブジェクトツリーの情報量を削減できる。従がって、各ユーザ端末、管理者端末、ファイルサーバ３０におけるスケルトンＧＵＩオブジェクト情報用のメモリ容量を低減できると言う利点がある。
【０１０２】
尚、第３実施例では、前画面との差分情報から各ウィンドウ表示画面が再生されるため、新たな表示画面の生成に時間がかかる。しかしながら、本発明では、表示画面の切替えは、管理者がユーザ端末の操作履歴を検証できるように、比較的長いインターバルで行なわれるため、新たな表示画面の生成所要時間が増加しても、実用上の問題にはならない。特に、表示画面をΔＴ間隔で自動的に切替える場合、画面の切替え所要時間は、ΔＴよりも十分に小さい値となっているため、仮にΔＴが最短時間に設定されたとしても、新たな表示画面の生成所要時間が障害になることはない。
【０１０３】
以上の実施例では、スケルトンＧＵＩ情報取得ルーチン１４０が、ＯＳ（ＧＵＩ情報管理モジュール）からの画面変更通知に応答して、端末操作履歴となるスケルトンＧＵＩオブジェクト情報（局所ＧＵＩオブジェクトツリー：snapshotノード）を生成したが、スケルトンＧＵＩオブジェクト情報の生成は、例えば、タイマー割り込みに応答して、定期的に実行されるようにしてもよい。特に、第３実施例のように、スケルトンＧＵＩオブジェクト情報として、前画面と新画面との差分情報（diffノード）を生成する方式の場合は、ウィンドウ表示画面に変化がなければ、snapshot_seriesノードへのdiffノードの追加は行なわれないため、diffノードの生成処理を定期的に実行しても、無用なデータが重複してスケルトンＧＵＩ情報ファイルに記憶されるおそれはない。
【０１０４】
また、実施例で示したスケルトンＧＵＩ情報取得ルーチン１４０では、ＧＵＩオブジェクトツリーに含まれる表示状態にあるＧＵＩオブジェクトから、複数種類の特定の情報項目を抽出して、スケルトンＧＵＩオブジェクトを生成しているが、ＧＵＩオブジェクトから抽出すべき情報項目は、管理者側で自由に指定できるようにしてもよい。この場合、管理者端末２０に、スケルトンＧＵＩ情報取得ルーチン１４０の編集プログラムを備えておき、管理者が、この編集プログラムによって、スケルトンＧＵＩ情報取得ルーチン１４０の一部、例えば、図１４に例示したスケルトン描画情報抽出処理１５３の機能を変更し、各従業員端末１０に対して、スケルトンＧＵＩ情報取得ルーチン１４０をダウンロードすればよい。
【０１０５】
上記編集プログラムは、例えば、図２４に示すように、ＧＵＩ描画情報となる複数の情報項目を含む取得項目選択画面２０００を管理者端末２０に表示し、上記取得項目選択画面で管理者が選択した情報項目がＧＵＩオブジェクトツリーから抽出されるように、スケルトン描画情報抽出処理１５３の内容を変更する。
【０１０６】
具体的には、図１４に示したスケルトン描画情報抽出処理１５３に、例えば、取得項目選択画面２０００に表示された情報項目と対応する複数種類の情報抽出ステップと、情報抽出ステップ毎に実行の要否を示すフラグの判定ステップを用意しておき、上記編集プログラムが、管理者によって選択された情報項目と対応するフラグをオン状態に設定するようにすればよい。
【図面の簡単な説明】
【０１０７】
【図１】本発明による端末操作履歴記憶システムの構成例を示す図。
【図２】端末１０の表示画面の一例を示す図。
【図３】端末操作画面情報に基づいて管理者端末２０に再生される表示画面１０００Ｂの一例を示す図。
【図４】端末１０の１実施例を示すブロック図。
【図５】ＧＵＩ情報管理モジュール１２０と、スケルトンＧＵＩ情報取得ルーチン１４０の機能を概略的に説明するための図。
【図６】ＧＵＩオブジェクト情報ファイル１６０に記憶されるＧＵＩオブジェクトツリー構造の一例を示す図。
【図７】図６のＧＵＩオブジェクトツリー構造から生成される局所ＧＵＩオブジェクトツリー（スケルトンＧＵＩオブジェクトツリー）構造を示す図。
【図８】スケルトンＧＵＩオブジェクト情報ファイル１７０におけるスケルトンＧＵＩオブジェクト情報の蓄積形態の一例を示す図。
【図９】スケルトンＧＵＩオブジェクト記述の一例を示す図。
【図１０】管理者端末２０の一例を示すブロック図。
【図１１】ファイルサーバ３０の１実施一例を示すブロック図。
【図１２】端末１０で実行されるスケルトンＧＵＩ情報取得ルーチン１４０の一例を示すフローチャート。
【図１３】図１２におけるスケルトンＧＵＩオブジェクトノード生成処理１５０の詳細を示すフローチャート。
【図１４】図１３におけるスケルトン描画情報抽出処理１５３の詳細を示すフローチャート。
【図１５】管理者端末２０で実行されるスケルトンＧＵＩ再生処理ルーチン２４０の一例を示すフローチャート。
【図１６】管理者端末２０に表示される端末操作履歴再生ウィンドウ２００に表示される検索条件入力画面の一例を示す図。
【図１７】操作履歴再生ウィンドウ２００に表示される端末ウィンドウ画面１０００Ｃの一例を示す図。
【図１８】管理者端末２０で実行されるスケルトンＧＵＩ再生処理ルーチン２４０の第２実施例を示すフローチャート。
【図１９】操作履歴再生ウィンドウ２００に表示される端末ウィンドウ画面１０００Ｃの他の例を示す図。
【図２０】端末１０で実行されるスケルトンＧＵＩ情報取得ルーチン１４０の第３実施例を示すフローチャート。
【図２１】第３実施例のスケルトンＧＵＩ情報取得ルーチン１４０におけるオブジェクト差分情報抽出処理１４５Ａの詳細を示すフローチャート。
【図２２】第３実施例のスケルトンＧＵＩ情報取得ルーチン１４０で生成されるスケルトンＧＵＩオブジェクト記述の一例を示す図。
【図２３】管理者端末２０で実行されるスケルトンＧＵＩ再生処理ルーチン２４０の第３実施例を示すフローチャート。
【図２４】管理者端末２０に表示される取得項目選択画面２０００の一例を示す図。
【符号の説明】
【０１０８】
１０：ユーザ端末、２０：管理者端末、３０：ファイルサーバ、４０ゲートウェイ、
５０：Ｗｅｂサーバ、
１１、２１、３１：プロセッサ、１２、２３、３３：表示装置、
１３Ａ、２３Ａ、３３：キーボード、１３Ｂ、２３Ｂ、３３Ｂ：マウス、
１４、２４、３４：通信インタフェース、
１５、１６、２５、２６、３５、３５：メモリ、
１７、２７、３７：データストレージ、１００、３００：ＯＳ、
１１０：ウィンドウ表示制御モジュール、１２０：ＧＵＩ情報管理モジュール、
１３０、３３０：通信制御モジュール、１４０：スケルトンＧＵＩ情報取得ルーチン、
１８０、３８０：アプリケーションプログラム、
１６０：ＧＵＩオブジェクト情報ファイル、
１７０：スケルトンＧＵＩオブジェクト情報ファイル、
２４０：スケルトンＧＵＩ再生ルーチン、
３４０：スケルトンＧＵＩオブジェクト情報管理ルーチン。
【図１】
2010160538.tif 000003
【図２】
2010160538.tif 000004
【図３】
2010160538.tif 000005
【図４】
2010160538.tif 000006
【図５】
2010160538.tif 000007
【図６】
2010160538.tif 000008
【図７】
2010160538.tif 000009
【図８】
2010160538.tif 000010
【図９】
2010160538.tif 000011
【図１０】
2010160538.tif 000012
【図１１】
2010160538.tif 000013
【図１２】
2010160538.tif 000014
【図１３】
2010160538.tif 000015
【図１４】
2010160538.tif 000016
【図１５】
2010160538.tif 000017
【図１６】
2010160538.tif 000018
【図１７】
2010160538.tif 000019
【図１８】
2010160538.tif 000020
【図１９】
2010160538.tif 000021
【図２０】
2010160538.tif 000022
【図２１】
2010160538.tif 000023
【図２２】
2010160538.tif 000024
【図２３】
2010160538.tif 000025
【図２４】
2010160538.tif 000026