(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを含むプログラムを実行するＣＰＵとこのＣＰＵによってデータが記録される記録装置とを有し、キーボード、ポインティングデバイス及びディスプレイがそれぞれ接続された情報処理装置において、
上記キーボードからの入力であるキーボード入力と、上記ポインティングデバイスからの入力であるポインティングデバイス入力と、上記ディスプレイに表示される画面であるディスプレイ表示画面とを含む上記情報処理装置への入出力を処理する入出力処理部を備え、
上記ＣＰＵは、上記入出力処理部によって処理された入出力と、上記プログラムの命令実行状態とを、操作ログとして上記記録装置に記録し、
上記記録装置には、上記アプリケーションプログラムによって作成されるデータを上書して記録した第一のデータと、上記操作ログの時系列データである第二のデータと、上記第一のデータが変化する前の上記第一のデータを複製した第三のデータとが記録され、
上記アプリケーションプログラムの実行中にトラブルが発生したとき、上記情報処理装置を再生状態にしたのち、上記ＣＰＵは、上記第三のデータに基づき、ユーザによって指定された時刻までの上記第二のデータの入力データに応じるように、上記第三のデータを変化させ、この変化させた第三のデータを上記第一のデータに上書きし、上記第一のデータを復元することを特徴とする情報処理装置。
【請求項２】
上記第一のデータを復元するときの時刻の指定は、上記操作ログのディスプレイ表示画面を時系列に表示し、これをインデックスとして、復元する時刻を指定することにより行われることを特徴とする請求項１記載の情報処理装置。
【請求項３】
ディスプレイに表示される画面であるディスプレイ表示画面とを含む情報処理装置への入出力と、上記情報処理装置で実行されるプログラムの命令実行状態とを、発生順に操作ログの第二のデータとし、上記情報処理装置で実行されるアプリケーションプログラムが作成するデータを第一のデータとし、上記第一のデータが変化する前の上記第一のデータを複製し、第三のデータとして、それぞれ上記記録装置に記録するとともに、
上記アプリケーションプログラムの実行中にトラブルが発生したとき、上記情報処理装置を再生状態にしたのち、上記ＣＰＵは、上記第三のデータに基づき、ユーザによって指定された時刻までの上記第二のデータの入力データに応じるように、上記第三のデータを変化させ、この変化させた第三のデータを上記第一のデータに上書きし、上記第一のデータを復元することを特徴とする操作ログ収集方法。
【請求項４】
上記アプリケーションプログラムが作成したデータの復元に当たっては、上記操作ログのディスプレイ表示画面を時系列に表示し、これを上記データの復元のインデックスとして、復元する時刻を指定することを特徴とする請求項３記載の操作ログ収集方法。
【請求項５】
情報処理装置への入出力と、上記情報処理装置で実行されるプログラムの命令実行状態とを、発生順に操作ログの第二のデータとし、上記情報処理装置で実行されるアプリケーションプログラムが作成するデータを第一のデータとし、上記第一のデータが変化する前の上記第一のデータを複製し、第三のデータとして、それぞれ上記記録装置に記録するステップ、
上記アプリケーションプログラムの実行中にトラブルが発生したとき、上記情報処理装置を再生状態にしたのち、ユーザが復元する時刻を指定するステップ、
上記第三のデータに基づき、上記指定された時刻までの上記第二のデータの入力データに応じるように、上記第三のデータを変化させるステップ、
及びこの変化された第三のデータを上記第一のデータに上書きするステップを含むことを特徴とする操作ログ収集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力される操作ログを収集する情報処理装置、並びにこの情報処理装置に入力される操作ログを収集する操作ログ収集方法及び操作ログ収集プログラムに関するものである。
【背景技術】
【０００２】
従来の情報処理に関連する入力履歴の再現を可能とした入力履歴記録再生方法として、例えば、特許文献１には、情報処理装置本体からの映像信号、キーボード、カーソル情報の３つを多重化し、ビデオレコーダーに収集させることによって、トラブルが発生したときなどの解析を容易にする操作ログ収集装置が提案されている。
【０００３】
【特許文献１】特開平１０−１７１８８４号公報（第２〜３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１の従来装置では、キーボード、ポインティングデバイスの入力情報を、映像データとして多重化し、ビデオレコーダーを用いて操作ログとして収集を行っていた。ビデオレコーダーを用いて画像を記録する場合、データ量の増加、解像度の増加、マルチディスプレイ化といった問題に対して、それぞれの問題に対応したビデオレコーダーが必要となるという問題があった。
上記に加え、ビデオレコーダーでは、１秒間に記録できるコマ数には制限があり、制限コマ数以上の入力がある場合には記録することができなかった。
また、この従来装置では、キーボード、ポインティングデバイスの入力を対象としていたので、音声、静止画、動画といったマルチメディアデータの扱いが不可能であった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、入力される操作ログを、データ量の増加、解像度の増加、マルチディスプレイ化などに対応して収集すると共に、アプリケーション実行中のトラブル発生時にそのデータを復元できるようにする情報処理装置及び操作ログ収集方法及び操作ログ収集プログラムを得ることを目的にしている。
【課題を解決するための手段】
【０００６】
この発明に係わる情報処理装置においては、アプリケーションプログラムを含むプログラムを実行するＣＰＵとこのＣＰＵによってデータが記録される記録装置とを有し、キーボード、ポインティングデバイス及びディスプレイがそれぞれ接続された情報処理装置において、
キーボードからの入力であるキーボード入力と、ポインティングデバイスからの入力であるポインティングデバイス入力と、ディスプレイに表示される画面であるディスプレイ表示画面とを含む情報処理装置への入出力を処理する入出力処理部を備え、
ＣＰＵは、入出力処理部によって処理された入出力と、プログラムの命令実行状態とを、操作ログとして記録装置に記録し、
記録装置には、アプリケーションプログラムによって作成されるデータを上書して記録した第一のデータと、操作ログの時系列データである第二のデータと、第一のデータが変化する前の第一のデータを複製した第三のデータとが記録され、
アプリケーションプログラムの実行中にトラブルが発生したとき、情報処理装置を再生状態にしたのち、ＣＰＵは、第三のデータに基づき、ユーザによって指定された時刻までの第二のデータの入力データに応じるように、第三のデータを変化させ、この変化させた第三のデータを第一のデータに上書きし、第一のデータを復元するものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、アプリケーションプログラムを含むプログラムを実行するＣＰＵとこのＣＰＵによってデータが記録される記録装置とを有し、キーボード、ポインティングデバイス及びディスプレイがそれぞれ接続された情報処理装置において、
キーボードからの入力であるキーボード入力と、ポインティングデバイスからの入力であるポインティングデバイス入力と、ディスプレイに表示される画面であるディスプレイ表示画面とを含む情報処理装置への入出力を処理する入出力処理部を備え、
ＣＰＵは、入出力処理部によって処理された入出力と、プログラムの命令実行状態とを、操作ログとして記録装置に記録し、
記録装置には、アプリケーションプログラムによって作成されるデータを上書して記録した第一のデータと、操作ログの時系列データである第二のデータと、第一のデータが変化する前の第一のデータを複製した第三のデータとが記録され、
アプリケーションプログラムの実行中にトラブルが発生したとき、情報処理装置を再生状態にしたのち、ＣＰＵは、第三のデータに基づき、ユーザによって指定された時刻までの第二のデータの入力データに応じるように、第三のデータを変化させ、この変化させた第三のデータを第一のデータに上書きし、第一のデータを復元するので、操作ログをディジタルデータとして記憶するため、操作ログのデータ量の増加、解像度の増加、マルチディスプレイ化に対応することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
この発明の実施の形態１について、図を用いて以下に説明する。
図１は、この発明の実施の形態１による情報処理装置を示す構成図である。
図１において、情報処理装置１には、情報処理装置１へ入力を行うキーボード２及びポインティングデバイス３と、情報処理装置１からの表示を行うディスプレイ４と、情報処理装置１との間で入出力を行う、マイクやカメラなどのその他の外部端末１８とが接続されている。
情報処理装置１は、これら２〜４、１８に接続される入出力処理部２２と、この入出力処理部２２とバスにより接続された記録装置１９及びメモリ２０と、これらの記録装置１９、メモリ２０へのデータの書き込み及び読み出しを制御するＣＰＵ２１から構成されている。
記録装置１９には、キーボード２、ポインティングデバイス３からの入力と、その他の外部端末１８との間の入出力と、情報処理装置１からディスプレイ４に出力するディスプレイ表示画面とが操作ログとして記録される。
【０００９】
図２は、この発明の実施の形態１による情報処理装置の記録装置のデータ構造を示す説明図である。
図２において、Ｈ１（２００）（第一のデータ）は、アプリケーションプログラム（以下、アプリケーションという）によって作成されるデータである。このアプリケーションには、Ｈ１（２００）のデータを保存するアプリケーションと、アプリケーションの起動時にＨ１（２００）を作成し、アプリケーションの終了時にＨ１（２００）を削除するアプリケーションの２種類がある。
Ｈ２（２０１）（第二のデータ）は、保存する操作ログのデータであり、最低限必要なものとして、キーボード２、ポインティングデバイス３からの入力と、ディスプレイ４への出力であるディスプレイ表示画面が保存される。
Ｈ３（２０２）（第三のデータ）は、データの復元を可能にするため、変化する前のＨ１（２００）のデータをコピーしたデータである。空き容量２０３は、Ｈ１（２００）、Ｈ２（２０１）、Ｈ３（２０２）を除く記録装置１９の空き領域である。
【００１０】
図３は、この発明の実施の形態１による情報処理装置の動作を示すフローチャートである。
図４は、この発明の実施の形態１による情報処理装置の記録装置の記録内容を説明する図であり、図３のステップ３０２の説明に用いられる。
図４において、記録内容には、時刻４０１と、キーボード２から入力されたキーボード入力４０２と、ポインティングデバイス３から入力されたポインティングデバイス入力４０３と、ディスプレイ４に表示されるディスプレイ表示画面４０４と、どのような命令が実行されたかを記録する実行ファイル４０５（プログラムの実行状態）と、その他の外部端末から入力されたその他の外部端末入力４０６と、Ｈ１の各時刻におけるデータであるＨ１のデータ４０７と、Ｈ３の各時刻におけるデータであるＨ３のデータ４０８とが含まれる。なお、実行ファイル４０５とその他の外部端末入力４０６とは、オプションである。
【００１１】
図５は、図３のステップ３０６の詳細を示すフローチャートである。
図６は、図３のステップ３０５の詳細を示すフローチャートである。
図７は、図３のステップ３０８の詳細を示すフローチャートである。
【００１２】
次に、動作について説明する。
実施の形態１では、情報処理装置において、種々の入出力を操作ログとして保持し、アプリケーション実行中のトラブル発生時などに、アプリケーションが使用するデータを復元し、トラブルの分析を可能にするものである。
以下、図３により、情報処理装置のＣＰＵ（操作ログ収集プログラム）の動作について説明する。
まず、情報処理装置が、操作ログを記録することを目的としているか、データを復元することを目的としているかを選択する（ステップ３０１）。操作ログの記録を目的としたものであれば、記録装置１９の各データの記録を行い（ステップ３０２）、記録を終了する（ステップ３０３）。
【００１３】
ステップ３０１で、データの復元を目的としていれば、ディスプレイ４に表示されたディスプレイ表示画面による復元時刻の指定を行うか、ユーザーが復元時刻を直接指定するかを選択する（ステップ３０４）。
ディスプレイ表示画面による復元時刻の指定を行う場合には、ディスプレイ表示画面の再生により、データの復元時刻の指定を行う（ステップ３０５）。直接時刻指定の場合には、データの復元時刻を直接指定する（ステップ３０８）。
次いで、Ｈ３（２０２）が必要なデータをＨ２（２０１）より取得し、指定時刻のＨ１（２００）のデータになるようデータを作成（復元）する（ステップ３０６）。ここで、復元中、Ｈ３（２０２）は上書きされ、最終的に指定された時刻の第一のデータと同じになる。
次いで、Ｈ３（２０２）をＨ１（２００）に上書き（ステップ３０７）して、Ｈ１（２００）のデータ復元を行う。これにより、指定された時刻のＨ１（２００）のデータを復元したことになる。
ステップ３０７が終了したとき、復元状態が終了（ステップ３１０）となり、Ｈ２（２０１）、Ｈ３（２０２）のデータを消去する。
【００１４】
次に、図３の各ステップの詳細を以下に説明する。
まず、図３のステップ３０２の操作ログの記録動作の詳細を、図４により説明する。
図４で、操作ログを収集するパラメータの一つである時刻４０１毎に、それぞれの入出力データと、Ｈ１のデータ４０７と、Ｈ３のデータ４０８とが記録される。
また、Ｈ２（２０１）は、４０２〜４０６の入出力のデータを時刻ごとに記録する。
ディスプレイ表示画面４０４の保存では、一定時間間隔で自動的に保存される「定常時の画面保存」と、ポインティングデバイス３のボタン操作に連動した「ボタン操作時の画面保存」の２種類が存在する。
実行ファイル４０５は、どのような命令が実行されたかを記録する。これにより、トラブル発生時の原因の究明が可能となる。また、その他の外部端末入力４０６は、音声、静止画、動画等、マルチメディアデータに対応している。
【００１５】
次に、操作ログを記録する具体例と、Ｈ１（２００）、Ｈ２（２０１）、Ｈ３（２０２）の関係を説明する。
アプリケーションが起動し、Ｈ１（Ｔ００１）のデータ４０７が読み込まれたとすると、今後Ｈ１（Ｔ００１）のデータは、ユーザの操作によって変化していくため、時刻Ｔ００３において、Ｈ３のデータ４０８に、Ｈ１（Ｔ００１）のデータのコピーをとっている。時刻Ｔ００６において、アプリケーションの「保存」が実行されたことにより、Ｈ１のデータ４０７がＨ１（Ｔ００１）からＨ１（Ｔ００６）に更新されている。
【００１６】
次に、図３のステップ３０６の指定時刻のデータを復元する動作について説明する。例えば、図４の時刻Ｔ０１６においてトラブルが発生し、時刻Ｔ０１４の操作していた状態まで、Ｈ１のデータを復元する動作を図５により説明する。
図５のステップ３０５またはステップ３０８で、ユーザが復元したい時刻（Ｔ０１４）を指定する。次いで、ステップ３０６で、図５に示すように、Ｈ３（２０２）がＨ２（２０１）より、Ｔ０１４までの必要な操作ログを取得し、時刻Ｔ０１４のＨ１（２００）データと同じデータを作成して、作成したデータで、Ｈ３（２０２）に上書きする。
【００１７】
次に、データを復元させる時刻を指定する方法として、図３のステップ３０５、ステップ３０８がある。これについてそれぞれ図６、図７により説明する。
【００１８】
図６において、Ｈ１が時刻Ｔ０１６でエラー発生し、情報処理装置を再生状態にしたのち、ステップ３０５で、ＣＰＵ２１は、ディスプレイ４に対し、Ｈ２内にあるディスプレイ表示画面４０４のデータを時刻順にインデックスとして表示し、復元させる状態を視覚的にユーザに伝え、いずれかのデータの時刻をユーザに指定させる。すなわち、ディスプレイ表示画面４０４のデータを、復元時刻指定のためのインデックスとして利用する。
【００１９】
図７において、Ｈ１が時刻Ｔ０１６でエラー発生し、情報処理装置を再生状態にしたのち、ステップ３０８で、ユーザーは復元したい時刻Ｔ０１４を直接に指定する。
【００２０】
このように、実施の形態１は、入力される操作ログと、ディスプレイ４に出力されるディスプレイ表示画面をデジタルデータとして記録させることで、データ量の増加、解像度の増加、マルチディスプレイ化といった問題に対応できるようになる。例えば、映像のサイズを小さくしたり、色数を落としたり、記録する時間間隔を大きくすることによって、データ量の削減が可能となる。
また、ディスプレイ４に出力されるディスプレイ表示画面を操作履歴のインデックスとするため、データ量の削減が可能となる。
また、キーボード入力、ポインティングデバイス入力、その他の外部端末の入出力の操作ログの収集を行えるため、音声、静止画、動画といったマルチメディアデータの扱いを可能にしている。
【００２１】
実施の形態１によれば、情報処理装置において、大容量の操作ログの保持が可能である。
また、操作ログの収集種類が増えるため、再現、分析性能が向上する。
また、従来はディスプレイの画面の記録を収集するために、解像度別にハードウェアが必要であったが、情報処理装置のみで画面の記録が可能である。
また、ディスプレイの画面の記録を操作ログのインデックス代わりとするため、画面を縮小して記録し、データ量を減らすことができる。
また、ディスプレイの画面の記録を操作ログのインデックス代わりとするため、ディスプレイの画面の色数を減らして記録し、データ量を減らすことができる。
また、ディスプレイの画面の記録を操作ログのインデックス代わりとするため、記録時間間隔を増やすことにより、データ量を減らすことができる。
【００２２】
実施の形態２．
図８は、この発明の実施の形態２による情報処理装置の記録装置のデータ構造を示す説明図である。
図８において、１９、Ｈ１（２００）、Ｈ２（２０１）、Ｈ３（２０２）は図２におけるものと同一のものである。記録装置２０４は、記録装置１９を二重化したものである。
【００２３】
実施の形態２は、記録装置１９を二重化したものである。
すなわち、冗長性を持たせるために、記録装置１９の各々Ｈ１（２００）、Ｈ２（２０１）、Ｈ３（２０２）を二重化し、記録装置２０４とする。
この二重化を行うには、Ｈ１（２００）、Ｈ２（２０１）、Ｈ３（２０２）に対応した空き容量が必要である。記録装置２０４は、その他の外部端末１８における記録装置や、情報処理装置１の記録装置１９の空き容量を利用して構成することができる。
【００２４】
実施の形態２によれば、記録装置を二重化したので、より安全性を高めることができる。
【図面の簡単な説明】
【００２５】
【図１】この発明の実施の形態１による情報処理装置を示す構成図である。
【図２】この発明の実施の形態１による情報処理装置の記録装置のデータ構造を示す説明図である。
【図３】この発明の実施の形態１による情報処理装置の動作を示すフローチャートである。
【図４】この発明の実施の形態１による情報処理装置の記録装置の記録内容を説明する図である。
【図５】図３のステップ３０６の詳細を示すフローチャートである。
【図６】図３のステップ３０５の詳細を示すフローチャートである。
【図７】図３のステップ３０８の詳細を示すフローチャートである。
【図８】この発明の実施の形態２による情報処理装置の記録装置のデータ構造を示す説明図である。
【符号の説明】
【００２６】
１  情報処理装置
２  キーボード
３  ポインティングデバイス
４  ディスプレイ
１８  その他の外部端末
１９  記録装置
２０  メモリ
２１  ＣＰＵ
２２  入出力処理部
２００  Ｈ１
２０１  Ｈ２
２０２  Ｈ３
２０３  空き容量
２０４  二重化された記録装置
４０１  時刻
４０２  キーボード入力
４０３  ポインティングデバイス入力
４０４  ディスプレイ表示画面
４０５  オプション１  実行ファイル
４０６  オプション２  その他の外部端末入力
４０７  Ｈ１のデータ
４０８  Ｈ３のデータ
【図１】
0004530995.tif 000002
【図２】
0004530995.tif 000003
【図３】
0004530995.tif 000004
【図４】
0004530995.tif 000005
【図５】
0004530995.tif 000006
【図６】
0004530995.tif 000007
【図７】
0004530995.tif 000008
【図８】
0004530995.tif 000009