JP4661066B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP4661066B2 JP4661066B2 JP2004083308A JP2004083308A JP4661066B2 JP 4661066 B2 JP4661066 B2 JP 4661066B2 JP 2004083308 A JP2004083308 A JP 2004083308A JP 2004083308 A JP2004083308 A JP 2004083308A JP 4661066 B2 JP4661066 B2 JP 4661066B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- event
- snapshot
- timing
- recording
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、コンピュータやPDA等、情報処理作業に用いられる情報処理装置に関する。 The present invention relates to an information processing apparatus used for information processing work such as a computer and a PDA.
近年の企業では、コンピュータ等の情報処理機器を用いた業務が増加している。ところがこうした情報処理機器の操作においてその作業を一旦中断すると、作業に復帰したときに中断前の作業経過を一々思い出さなければならない。 In recent years, businesses using information processing devices such as computers are increasing. However, once the operation is interrupted in the operation of such information processing equipment, it is necessary to remember the progress of the operation before the interruption when returning to the operation.
従来から、こうした作業経過を思い出させるための装置として、作業中断直前に行っていた作業を再現できるよう、表示画面を記録しておき、作業に復帰したときに当該記録しておいた表示画面を利用者に提示する装置(特許文献1)などが考えられている。
しかしながら、上記従来の装置では、表示画面というデータ量の大きい情報を記録しているので、記録するべきデータ量が膨大となって個々の作業記録までを再現できず、作業者の記憶をある程度呼び起こすことができるに留まる。 However, since the above-described conventional apparatus records a large amount of information such as a display screen, the amount of data to be recorded becomes enormous and individual work records cannot be reproduced, and the memory of the worker is evoked to some extent. Stay in it.
一方で、キーボードマクロのように、すべての操作情報を単体で保持していたのでは、特定の時点に遡って、作業内容を見たいという場合に、最初からすべての作業内容を再実行しなければ、当該特定の時点での作業状態を再現できないことになって、利便性が低い。 On the other hand, if you keep all the operation information by itself like a keyboard macro, you need to re-execute all the work contents from the beginning if you want to see the work contents from a specific point in time. In this case, the work state at the specific time cannot be reproduced, and the convenience is low.
本発明は上記実情に鑑みて為されたもので、作業者の操作内容を逐次的に再現して利用者の作業経過を提示でき、かつ利便性を向上できる情報処理装置を提供することを、その目的の一つとする。 The present invention has been made in view of the above circumstances, and provides an information processing apparatus that can reproduce the operation contents of the operator sequentially to present the work progress of the user and improve convenience. One of its purposes.
上記従来例の問題点を解決するための本発明は、情報処理装置であって、利用者からの操作内容、又はネットワークからの受信内容の少なくとも一方を逐次、イベント情報として記録する第1記録手段と、所定のタイミングごとに、各タイミングにおける装置の情報記憶状態を復元するためのスナップショット情報を記録する第2記録手段と、を有することを特徴としている。 The present invention for solving the problems of the above conventional example is an information processing apparatus, and first recording means for sequentially recording at least one of an operation content from a user or a content received from a network as event information And second recording means for recording snapshot information for restoring the information storage state of the apparatus at each timing at each predetermined timing.
また、上記従来例の問題点を解決するための本発明は、情報処理プログラムであって、コンピュータに、利用者からの操作内容、又はネットワークからの受信内容の少なくとも一方を逐次、イベント情報として記録する第1記録手順と、所定のタイミングごとに、各タイミングにおける装置の情報記憶状態を復元するためのスナップショット情報を記録する第2記録手順と、を実行させることを特徴としている。 The present invention for solving the problems of the conventional example is an information processing program, in which at least one of operation content from a user or content received from a network is sequentially recorded as event information on a computer. And a second recording procedure for recording snapshot information for restoring the information storage state of the apparatus at each timing at a predetermined timing.
また、前記第1記録手順は、各イベント情報について、利用者からの操作、又はネットワークからの受信があった時点を特定する情報を関連づけて記録する手順であり、前記第2記録手順は、各タイミングの時点を、前記イベント情報との関連で特定する情報を関連づけて記録する手順であり、過去の時点を指定して操作を再現するべき指示を受けて、当該指定された時点より前に前記第2記録手段によって記録されたスナップショット情報を取得し、装置の情報記憶状態を当該スナップショット情報に対応する状態に更新し、当該取得したスナップショット情報に関連づけられた時点以降のイベントとして、前記第1記録手段によって記録されたイベント情報を順次読出して、当該イベントを処理した結果を逐次的に提示する逐次提示手順をコンピュータに実行させ、前記逐次提示手順が前記イベント情報を順次読出す際に、次に読出すべきイベント情報より前の時点に関連づけられたスナップショット情報がある場合には、当該スナップショット情報を取得して、装置の情報記憶状態を当該スナップショット情報に対応する状態に更新することとしてもよい。 In addition, the first recording procedure is a procedure for associating and recording information specifying the time point when each event information is received from the user or received from the network, and the second recording procedure is It is a procedure for recording the timing point in association with the information specified in relation to the event information, receiving an instruction to reproduce the operation by designating a past point in time, and before the designated point The snapshot information recorded by the second recording means is acquired, the information storage state of the device is updated to a state corresponding to the snapshot information, and the event after the time point associated with the acquired snapshot information is Sequential presentation procedure for sequentially reading the event information recorded by the first recording means and sequentially presenting the results of processing the event When the sequential presentation procedure sequentially reads the event information, if there is snapshot information associated with a time point before the event information to be read next, the snapshot information is acquired. Then, the information storage state of the apparatus may be updated to a state corresponding to the snapshot information.
さらに前記逐次提示手順が、記録されたイベント情報を順次読出して、当該イベントを処理した結果を逐次的に提示している間に、利用者から停止操作があった場合、又は読出すイベント情報がなくなった場合、の少なくとも一方となった場合に、利用者の次の操作内容を予測する手順と、当該予測された操作内容を提示する手順と、をコンピュータに実行させることとしてもよい。 Further, when the sequential presentation procedure sequentially reads the recorded event information and sequentially presents the results of processing the event, if there is a stop operation from the user, or the event information to be read is If there is at least one of them, the computer may execute a procedure for predicting the user's next operation content and a procedure for presenting the predicted operation content.
さらに前記第2記録手順がスナップショット情報を記録するタイミングは、利用者からスナップショット情報を記録すべき旨の指示を受けたタイミングと、前回スナップショット情報を記録した後に第1記録手段が記録したイベント情報の数が所定しきい値を越えたタイミングと、所定の時間ごとのタイミングと、の少なくとも一つのタイミングであることとしてもよい。 Furthermore, the timing at which the second recording procedure records the snapshot information is the timing at which the user has received an instruction to record the snapshot information, and the first recording means recorded after the previous snapshot information was recorded. It may be at least one of a timing at which the number of event information exceeds a predetermined threshold and a timing for each predetermined time.
また、前記第2記録手段がスナップショット情報を記録するタイミングは、アプリケーションプログラムが終了するタイミングであってもよい。 The timing at which the second recording unit records the snapshot information may be a timing at which the application program ends.
さらに上記従来例の問題点を解決するための本発明は、情報処理方法であって、利用者からの操作内容、又はネットワークからの受信内容の少なくとも一方を逐次、イベント情報として記録する第1記録工程と、所定のタイミングごとに、各タイミングにおける装置の情報記憶状態を復元するためのスナップショット情報を記録する第2記録工程と、を実行することを特徴としている。 Furthermore, the present invention for solving the problems of the above conventional example is an information processing method, in which at least one of operation content from a user or content received from a network is sequentially recorded as event information. And a second recording step of recording snapshot information for restoring the information storage state of the apparatus at each timing at predetermined timings.
本発明の実施の形態について図面を参照しながら説明する。本実施の形態の情報処理装置は、図1に示すように制御部11と、主記憶部12と、二次記憶部13と、操作部14と、表示部15と、通信部16とを含んで構成されている。
Embodiments of the present invention will be described with reference to the drawings. As shown in FIG. 1, the information processing apparatus according to the present embodiment includes a
制御部11は、CPU(Central Processing Unit)などの演算処理ユニットを含んで構成され、主記憶部12又は二次記憶部13に格納されたプログラムに従って動作している。この制御部11は、ワードプロセッサやスプレッドシート・アプリケーションなど、種々のアプリケーションプログラム(以下、「アプリケーション」と略称する)に従って、文書処理等を行う。また、この制御部11は、後に詳しく説明するように利用者がアプリケーションに対して行った操作内容と、アプリケーションに関する情報記憶状態とを記憶させる処理(履歴取得処理)と、当該記憶している各情報に基づいて過去に行った利用者の操作を再現する処理(履歴再生処理)とを行う。
The
主記憶部12は、RAM(Random Access Memory)や、ROM(Read Only Memory)などで構成される。この主記憶部12は、制御部11によって実行されるプログラムを保持し、また、制御部11がアプリケーション等を実行する際に、例えば文書のデータ等アプリケーションデータを一時的に保持するなど、制御部11のワークメモリとしても動作している。二次記憶部13は、例えばハードディスク等であり、制御部11によって実行されるプログラムを保持している。この二次記憶部13は、主記憶部12の記憶内容を一時的に保持したり(いわゆる仮想記憶を実現するためのスワップ領域を保持するなど)、プログラムの実行に係る各種のパラメータ情報(設定情報など)を保持する。
The main storage unit 12 includes a RAM (Random Access Memory), a ROM (Read Only Memory), and the like. The main storage unit 12 holds a program executed by the
操作部14は、マウスやキーボードなどを含んで構成され、利用者の行った操作の内容を制御部11に伝達する。表示部15は、例えば液晶ディスプレイ装置等であり、制御部11から入力される指示に従って、利用者に情報を提示する。通信部16は、制御部11から入力される指示に従い、ネットワークを介してデータを送信し、また、ネットワークを介して到来するデータを受信して制御部11に出力している。
The operation unit 14 includes a mouse, a keyboard, and the like, and transmits the contents of the operation performed by the user to the
ここで制御部11は、一般にオペレーティングシステム(OS)と呼ばれる実行環境の下でアプリケーションを実行している。具体的に、利用者が操作部14を介して行った操作の内容は、「イベント」と呼ばれる情報として、アプリケーション側に出力される。このイベントは、具体的には、イベントの種類(マウスボタンの押下やキー操作などの別)、イベントの行われた位置(例えばマウスボタンが押下されたときのマウスポインタの位置)、イベントのあった時刻、イベントの内容(押下されたキーの内容など)などの情報要素が含まれる。なお、通信部16を介してデータが送受信される場合も、イベントとしてアプリケーション側と情報を授受することになる。例えばネットワークを介して到来した電子メールのデータを受信した場合、OS側ではメールアプリケーションに対するイベント(通信のイベント)として、メールアプリケーションに対して当該電子メールのデータを出力することになる。
Here, the
また、多くのOSにおいては、こうしたイベントをアプリケーション側に出力する前に、その内容を取得して記録することが可能になっている。そして、利用者が実際に操作を行わなくても、OSに対して、イベントの情報を生成させ、アプリケーションに出力させることもできるようになっている。具体的にマクロなどの言語の中には、このようなOSのしくみを利用したものがあり、これらの処理は広く知られているので、その詳細な説明を省略する。 Further, in many OSs, it is possible to acquire and record the contents of such events before outputting them to the application side. Even if the user does not actually perform the operation, the OS can generate event information and output it to the application. Specifically, some languages such as macros use such an OS mechanism, and since these processes are widely known, a detailed description thereof will be omitted.
以下、制御部11の動作である履歴取得処理と、履歴再生処理とについて説明する。まず、履歴取得処理について説明する。制御部11は、利用者から特定のアプリケーション(少なくとも一つのアプリケーションをその名称などによって特定する、以下注目アプリケーションと呼ぶ)についての履歴を取得するべき指示を受けると、図2に示す処理を開始し、OS側で生成した入力操作のイベント(マウス移動、マウスクリック、キー入力など)や、ネットワークからのデータ送受信のイベントなどを取得する(S1)。
Hereinafter, a history acquisition process and a history reproduction process which are operations of the
そして当該イベントの種類の情報等を参照し、予め記録するべきものと定められているイベントであるか否かを調べる(S2)。具体的には、当該イベントが注目アプリケーションに関するものであるか否か(イベントの行われた位置が、アプリケーションのウインドウ内であるか等によって判定できる)や、利用者から特定されたサーバからの通信のイベントであるか否か、さらには、イベントの種類が予め定められた特定のものであるか否かなど、予め定めた記録ルールに基づいて判断する。 Then, by referring to the information on the type of the event, it is checked whether or not the event is predetermined to be recorded (S2). Specifically, whether or not the event is related to the application of interest (can be determined by whether the location where the event occurred is within the application window, etc.), or communication from the server specified by the user It is determined based on a predetermined recording rule such as whether or not the event is an event, and whether or not the event type is a predetermined specific event.
ここで記録するべきイベントであると判断した場合は(Yesの場合)、当該イベントに関する情報を主記憶部12又は二次記憶部13に格納する(S3)。イベントに関する情報は、図3に示すような態様で格納される。すなわち、イベントの取得(発生)順に、イベント識別子としての一連のイベント番号を発行しておき、このイベント番号と、イベントの発生時刻(日時と時刻など)と、イベントの種類と、イベントの内容と、を関連づけて格納する。ここでイベント識別子とイベントの発生時刻との少なくとも一方が、イベント情報の一例としてのイベントの操作時点を特定する情報に相当する。なお、このイベントのうち、通信のイベントなど、その内容が所定のサイズしきい値を越える場合などにおいては、当該内容の情報をLZ方式などによって情報圧縮して保持してもよい。制御部11は、また、これらイベントに関する情報を主記憶部12に格納したときには、後にその少なくとも一部を二次記憶部13に引き写して格納する。
If it is determined that the event is to be recorded (Yes), information related to the event is stored in the main storage unit 12 or the secondary storage unit 13 (S3). Information about the event is stored in a manner as shown in FIG. That is, a series of event numbers as event identifiers are issued in the order of event acquisition (occurrence), and the event number, event occurrence time (date and time, etc.), event type, event content, Are stored in association with each other. Here, at least one of the event identifier and the event occurrence time corresponds to information for specifying an event operation time as an example of event information. Of these events, when the content exceeds a predetermined size threshold, such as a communication event, the information of the content may be compressed by the LZ method and held. In addition, when the information related to these events is stored in the main storage unit 12, the
次に制御部11は、アプリケーションに関する情報記憶状態の情報(以下、スナップショット情報と呼ぶ)を保管するタイミングとして、予め定められているタイミングが到来したか否かを調べる(S4)。このタイミングは、例えば、前回スナップショット情報を記録した後に、処理S3にて格納されたイベントに関する情報の数(記録イベント数)が、所定のしきい値を越えたタイミングとしてもよいし、所定の時間ごとのタイミングとしてもよい。ここで記録イベント数を用いる場合は、処理S3において主記憶部12に保持したカウンタをインクリメントし、当該カウンタの値が所定のしきい値を越えたか否かによって、上記予め定められているタイミングが到来したか否かを判断すればよい。このときには、後に説明するスナップショット情報を保管する処理を行ったときに、当該カウンタを「0」にリセットしてもよい。
Next, the
また、所定の時間ごとのタイミングとするときは、例えば前回スナップショット情報を保管した時刻を記憶しておき、図示しない時計を参照して当該時刻から現在時刻までの間に、所定の時間が経過したと判断されるときに、予め定められているタイミングが到来したとすることになる。 In addition, when the timing is set every predetermined time, for example, the time when the previous snapshot information was stored is stored, and a predetermined time elapses between the time and the current time with reference to a clock (not shown). When it is determined that the predetermined timing has been reached, it is assumed that a predetermined timing has arrived.
制御部11は、処理S4にて、予め定められたタイミングが到来していないと判断したときには(Noのときには)、処理S1に戻って処理を続ける。また、処理S4にて予め定められたタイミングが到来したと判断したときには(Yesのときには)、スナップショット情報を保管する処理を行い(S5)、処理S1に戻って処理を続ける。
When the
ここでスナップショット情報を保管する処理では、例えば制御部11のCPU内部のレジスタの値や、プログラムカウンタの値、スタックポインタ等のレジスタコンテクストや、注目アプリケーションが利用するメモリ空間内のテキストやデータ、スタック、共有メモリなどのユーザレベルコンテクスト、さらにOSが利用する各種情報(例えば複数のアプリケーションをマルチタスク処理している場合の、各アプリケーションに対応するプロセスの管理テーブルに関する情報など)であるシステムレベルコンテクストなど、制御部11での処理状態を再現する情報を二次記憶部13に格納する。また制御部11は、そのタイミングでの二次記憶部13の少なくとも一部(例えば利用者のディスクエリア)を再現するディスク内容再現情報を、記憶部13に格納する。ディスク内容再現情報は、いわゆるログ・ファイルシステム(LFS)やジャーナリング(journaling)の技術を用いて生成できる。ログ・ファイルシステムの技術は、例えばBSD LFSなどとして既に実用されており、ジャーナリングの技術についても広く用いられているので、ここでの詳細な説明を省略する。なお、本実施の形態ではログ・ファイルシステムを用いてディスク内容再現情報の情報量を低減しているものとして説明する。
Here, in the process of storing the snapshot information, for example, a register value in the CPU of the
制御部11は、このディスク内容再現情報を格納するときに、その時点で最新のイベントについて発行されたイベント識別子を、ディスク内容再現情報に関連付けて格納する。
When storing the disc content reproduction information, the
制御部11は、処理S2において、処理S1で取得したイベントが予め記録するべきものと定められているイベントでないと判断した場合、当該イベントが、利用者からスナップショット情報を記録するべき旨の指示であったか否かを調べ(S6)、その旨の指示であれば(Yesであれば)、処理S5に移行して処理を続ける。一方、処理S6において、スナップショット情報を記録するべき旨の指示でなかった場合(Noの場合)、制御部11は、最後に処理S1で取得したイベントが、注目アプリケーションを終了する指示であったか否かを調べる(S7)。ここで、注目アプリケーションを終了する指示であった場合(Yesの場合)は、処理S5に移行して処理を続ける。また、処理S7において、注目アプリケーションを終了する指示でないならば(Noならば)、次に、当該イベントが状態を復元するべき旨の指示であったか否かを調べる(S8)。ここで、当該イベントが状態を復元するべき旨の指示であったならば(Yesならば)、状態復元処理を開始する(S9)。また、この履歴再生処理が完了したら、処理S1に戻って処理を続ける。
When the
ここで状態復元処理とは、利用者の指示操作によって受け入れた時点の装置の状態を復元する処理である。具体的にこの処理では、復元の時点を特定する情報として、例えば時刻の情報を受け入れる。制御部11は、当該受け入れた情報で特定される時刻の直前に発生したイベントを、イベントに関する情報から検索する。具体的には指定された情報で特定される時刻と、二次記憶部13等に格納されているイベントの発生時刻の情報と、イベントの発生時刻の順に比較していき、比較中のイベントの発生時刻が上記特定された時刻より後となった最初のイベント識別子を取得する。そして当該取得したイベント識別子の一つ前のイベント識別子に関連付けられたイベントが、上記受け入れた情報で特定される時刻の直前に発生したイベント(直前イベント)ということになる。イベントの検索は、イベントの発生時刻をキーとした二分木(B木)を構築することで、高速化することも可能である。
Here, the state restoration process is a process for restoring the state of the apparatus at the time of being accepted by the user's instruction operation. Specifically, in this process, for example, time information is accepted as information for specifying the time point of restoration. The
そして制御部11は、当該直前イベントから順に発生順に遡りながらそれぞれのイベント識別子に関連付けられたスナップショット情報があるか否かを調べ、最初に見つけられたスナップショット情報を取得する。つまり、制御部11は、特定された時刻の直前に格納されたスナップショット情報を見いだすことになる。なお、以下の説明で、当該特定された時刻の直前に格納されたスナップショット情報に関連付けられたイベント識別子を開始イベント識別子と呼ぶ。
Then, the
制御部11は次に、このスナップショット情報に含まれるディスク内容再現情報に基づいて、二次記憶部13の内容を書換える。また、スナップショット情報に含まれる制御部11での処理状態を再現する各情報を主記憶部12や、二次記憶部13、制御部11のCPU等に設定できるようにする(プロセスの処理状態を再現する)。
Next, the
そして制御部11は、開始イベント識別子に関連付けられたイベントから、直前イベントまでの各イベントに対する処理を実行する(例えばキーの押下やマウスの移動、クリックなどがあったとして、それらに応答する処理を行う)。
Then, the
これにより装置の状態は、利用者が指定した時点の状態に復元されることなる。なお、二次記憶部13の内容を書換える際に、制御部11の状態復元処理が持続できなくなることを防止するため、書換えの対象となる二次記憶部13の内容を利用者領域に制限してもよい。この場合、イベントの情報やディスク内容再現情報などは利用者の領域ではなく、システム領域など、他の領域に書込んでおく。また、システム領域などがない場合は、主記憶部12を用いてRAMディスクを生成して、当該生成したRAMディスクに状態復元に必要となる情報(イベントの情報や、状態復元処理のプログラムなど)を複写しておいてもよい。
As a result, the state of the apparatus is restored to the state specified by the user. In addition, when the contents of the secondary storage unit 13 are rewritten, the contents of the secondary storage unit 13 to be rewritten are restricted to the user area in order to prevent the state restoration process of the
また処理S8において、イベントが状態を復元するべき旨の指示でなかったならば(Noならば)、制御部11は、イベントが、過去の時点を指定した操作を再現するべき指示(再生指示)であったか否かを調べ(S10)、再生指示であったならば(Yesならば)、後に説明する履歴再生処理を開始する(S11)。
In step S8, if the event is not an instruction to restore the state (if No), the
一方、処理S10において、再生指示でなかったならば(Noならば)、イベントの記録の終了指示があったか否かを調べ(S12)、終了指示があったならば、そのまま処理を終了する。また、終了指示がなければ、処理S1に戻って処理を続ける。 On the other hand, if it is determined in step S10 that the instruction is not a reproduction instruction (if No), it is checked whether or not an event recording end instruction has been issued (S12). If there is an end instruction, the process ends. If there is no end instruction, the process returns to step S1 and continues.
次に、履歴再生処理の内容について説明する。制御部11は、図4に示すように、再生指示において指定された時点の直前に記録されたスナップショット情報を取得する(S21,この処理は上述の状態復元処理におけるものと同じものでよい)。そして、このスナップショット情報に含まれるディスク内容再現情報に基づいて、二次記憶部13の内容を書換え、スナップショット情報に含まれる制御部11での処理状態(注目アプリケーションの実行状態)を再現する各情報を主記憶部12や、二次記憶部13、制御部11のCPU等に設定できるようにして、アプリケーションの処理状態を再現する(S22)。例えばUNIX(登録商標)等においては、主記憶部12や二次記憶部13内に、スナップショット情報の取得時点の情報を設定してもよい。これによるとプロセステーブルやプログラムポインタなどが設定され、利用者の利用環境全体を当該指定された時点以前の状態に設定されることになる。
Next, the contents of the history reproduction process will be described. As shown in FIG. 4, the
次に制御部11は、処理S21で取得したスナップショット情報に関連付けられたイベント識別子を取得して、当該取得したイベント識別子に関連するイベントに対する処理を実行する(S23)。これにより、表示部15には、アプリケーションが当該イベントに応答する様子が表示される。なお、このときに処理するイベントの内容を表す文字列やアイコンなどを併せて表示してもよい。
Next, the
そして制御部11は、イベント識別子をインクリメントし(S24)、停止指示があったか又はインクリメント後のイベント識別子に対応するイベントがあるか否かを判断する(S25)。ここで停止指示がなかったか、又はインクリメント後のイベント識別子に関連付けられたイベントがなければ(「処理継続」ならば)、処理S24でインクリメントした後のイベント識別子に関連付けられたスナップショット情報があるか否かを調べ(S26)、スナップショット情報があれば(Yesならば)、処理S22と同様にして、アプリケーションの処理状態を再現し(S27)、処理S23に戻って処理を続ける(A)。また、処理S26においてスナップショット情報がなければ、そのまま処理S23に戻って処理を続ける(A)。
Then, the
制御部11は、また、処理S25において停止指示があった場合、又はインクリメント後のイベント識別子に対応するイベントがなければ(「処理停止」ならば)、操作予測処理を開始する(S28)。
Further, the
これにより、指定された過去の一時点との関係において取得されたスナップショット情報以降の操作内容についてのイベントを順次読出して、各イベントを実行した結果を逐次的に提示していく。このとき、次に読出すべきイベントより前の時点に関連づけられたスナップショット情報がある場合には、当該スナップショット情報を取得して、装置の情報記憶状態を当該スナップショット情報に対応する状態に更新する。これにより、記録されなかったイベントの処理があっても、スナップショットの時点ごとに処理状態が保持されることとなっており、より的確な再生を行うことができるようになっている。 As a result, events regarding the operation contents after the snapshot information acquired in relation to the designated point in the past are sequentially read, and the results of executing each event are sequentially presented. At this time, if there is snapshot information associated with a time point before the next event to be read out, the snapshot information is acquired, and the information storage state of the device is changed to a state corresponding to the snapshot information. Update. As a result, even when an event that has not been recorded is processed, the processing state is held at each snapshot time point, so that more accurate reproduction can be performed.
次に制御部11によって行う操作予測処理について説明する。本実施の形態では、イベントを逐次的に実行して、その結果を提示している間に、利用者から停止操作があった場合、又はイベントがなくなったときに、その時点までに実行した一連のイベントと、過去に実行した一連のイベントに関する情報とに基づき、例えばベイズ理論によって次に実行されるべきイベントが何であるかを予測して、当該予測の結果を表示部15に表示する。具体的に、イベントがマウスクリックであると予測された場合、クリックされるべき位置とクリックするべきこととを表す文字列やアイコンなどを表示する。また、制御部11は、仮に当該予測されたイベントが実行されたとしたときのアプリケーションの応答結果(アプリケーションの動作の様子)を表示部15に表示させてもよい。また、ここでは表示部15に表示することとしているが、これに代えて音声を鳴動してもよい。
Next, operation prediction processing performed by the
制御部11は、ここで予測したイベントを実行するか否かの指示を入力するよう利用者に指示し、利用者から実行する旨の指示を受けた場合には、上記予測したイベントを実行する。また、実行しない旨の指示を受けた場合は、処理を終了する。
The
このように本実施の形態では、OS内部、又はOSの拡張機能として動作するプログラムを用い、利用者のアプリケーション操作内容等のイベントを逐次的に記憶するとともに、所定のタイミングごとに、アプリケーションの実行環境を再生するためのCPUやメモリ、ディスクなどの内容の情報をスナップショット情報として記憶しておく。 As described above, according to the present embodiment, events such as the contents of application operations of the user are sequentially stored using the program operating in the OS or as an extended function of the OS, and the application is executed at every predetermined timing. Information on the contents of the CPU, memory, disk, etc. for reproducing the environment is stored as snapshot information.
そしてこれら逐次的に記憶されたアプリケーションの操作内容や、スナップショット情報を用い、次のようにして過去の作業を再現する。すなわち、指定された時点直前に記録したスナップショット情報を取得し、そのスナップショット情報取得時点の装置状態を再現し、当該スナップショット情報取得時点以降のイベントを順次読出して、各イベントを実行した結果を逐次的に提示していく。このとき、次に読出すべきイベントより前の時点に関連づけられたスナップショット情報がある場合には、当該スナップショット情報を取得して、装置の情報記憶状態を当該スナップショット情報に対応する状態に更新する。 Then, using the operation contents of the application and the snapshot information stored sequentially, the past work is reproduced as follows. That is, the snapshot information recorded immediately before the specified time is acquired, the device status at the time of acquiring the snapshot information is reproduced, the events after the time when the snapshot information is acquired are sequentially read, and the results of executing each event Are presented sequentially. At this time, if there is snapshot information associated with a time point before the next event to be read out, the snapshot information is acquired, and the information storage state of the device is changed to a state corresponding to the snapshot information. Update.
なお、ここでは指定された時点の直前のスナップショット情報取得時点以降のイベント処理結果が逐次的に提示されることとなるが、例えば指定された時点の直前のイベントの処理を完了するまでは、表示部15の表示内容を変更しないように制御しておき、指定された時点以降のイベントの処理結果のみを提示するようにしてもよい。 Here, the event processing results after the snapshot information acquisition time immediately before the designated time point will be presented sequentially, but for example, until the processing of the event immediately before the designated time point is completed, Control may be performed so that the display content of the display unit 15 is not changed, and only event processing results after the specified time point may be presented.
また、過去のイベントを逐次的に処理している間は、各イベントの発生時刻の情報を表示部15に表示してもよい。さらにここではイベント識別子を発行して、イベントの先後関係やスナップショット情報の取得時点とを関連付けているが、利用者が時刻合わせなどを行わない場合、イベント識別子を発行せず、単にイベント発生時刻の情報を記録し、各スナップショット情報にもその取得時点を表す時刻(日時及び時刻)の情報を関連付けて記録しても、上述と同様の処理を行うことができる。 In addition, while processing past events sequentially, information on the occurrence time of each event may be displayed on the display unit 15. Furthermore, here, event identifiers are issued to correlate the event's predecessor relationship and snapshot information acquisition time, but if the user does not set the time, the event identifier is not issued and the event occurrence time is simply The above-described processing can be performed even if each snapshot information is recorded in association with the time information (date and time) indicating the acquisition time.
このように本実施の形態では表示画面を記録せず、基本的には個々の作業記録を含むイベントを記録しているので、個々の作業記録までを再現でき、利用者の作業内容を逐次的に確認できる。また、すべての作業記録を単体で保持せず、所定タイミングごとにスナップショット情報を記録しているので、最初からすべての作業内容を再実行する必要がない。これにより、各操作内容を逐次的に再現して利用者の作業経過を提示でき、かつ利便性を向上できる。 As described above, in the present embodiment, the display screen is not recorded, and the event including the individual work records is basically recorded. Therefore, the individual work records can be reproduced, and the user's work contents are sequentially recorded. Can be confirmed. In addition, since all work records are not held alone and snapshot information is recorded at every predetermined timing, it is not necessary to re-execute all work contents from the beginning. Thereby, each operation content can be reproduced sequentially to show the user's work progress, and convenience can be improved.
11 制御部、12 主記憶部、13 二次記憶部、14 操作部、15 表示部、16 通信部。
11 control unit, 12 main storage unit, 13 secondary storage unit, 14 operation unit, 15 display unit, 16 communication unit.
Claims (5)
所定のタイミングごとに、各タイミングにおける自装置の情報記憶状態を復元するためのスナップショット情報を記録する第2記録手段であって、各タイミングの時点を、前記イベント情報との関連で特定する情報を関連づけて記録する第2記録手段と、
過去の時点を指定して操作を再現するべき指示を受け入れる手段と、
当該指定された時点より前に前記第2記録手段によって記録されたスナップショット情報を取得する制御を行う制御手段と、を含み、
前記制御手段が、
自装置の情報記憶状態を当該取得したスナップショット情報に対応する状態に更新する制御と、
当該取得したスナップショット情報に関連づけられた時点以降のイベントとして、前記第1記録手段によって記録されたイベント情報を順次読出して、当該イベントを処理した結果を、表示手段を用いて逐次的に提示する制御であって、前記イベント情報を順次読出す際に、次に読出すべきイベント情報より前の時点に関連づけられたスナップショット情報がある場合には、当該次に読出すべきイベント情報より前の時点に関連づけられたスナップショット情報を取得して、自装置の情報記憶状態を当該スナップショット情報に対応する状態に更新する逐次提示制御と、
を行うことを特徴とする情報処理装置。 First recording means for recording, as event information, at least one of the operation content from the user or the content received from the network sequentially in association with the information specifying the time when the operation from the user or the reception from the network is received When,
2nd recording means for recording snapshot information for restoring the information storage state of the own device at each timing for each predetermined timing, the information specifying the time point of each timing in relation to the event information Second recording means for recording in association with each other;
A means of accepting instructions to reproduce the operation by specifying a past point in time,
Control means for performing control for obtaining snapshot information recorded by the second recording means before the designated time point ,
The control means is
Control to update the information storage state of the own device to a state corresponding to the acquired snapshot information;
Event information recorded by the first recording means is sequentially read as events after the time point associated with the acquired snapshot information, and the results of processing the events are sequentially presented using the display means. In the control , when the event information is sequentially read out, and there is snapshot information associated with a time point before the event information to be read out next, the event information before the event information to be read out next is read Sequential presentation control for acquiring snapshot information associated with the time point and updating the information storage state of the own device to a state corresponding to the snapshot information;
An information processing apparatus characterized by performing
利用者からスナップショット情報を記録すべき旨の指示を受けたタイミングと、
前回スナップショット情報を記録した後に第1記録手段が記録したイベント情報の数が所定しきい値を越えたタイミングと、
所定の時間ごとのタイミングと、
の少なくとも一つのタイミングであることを特徴とする請求項1記載の情報処理装置。 The timing at which the second recording means records the snapshot information is as follows:
When receiving an instruction to record snapshot information from the user,
Timing when the number of event information recorded by the first recording means after recording snapshot information last time exceeds a predetermined threshold;
The timing of every predetermined time,
The information processing apparatus according to claim 1, wherein the timing is at least one timing.
アプリケーションプログラムが終了するタイミングであることを特徴とする請求項1または2に記載の情報処理装置。 The timing at which the second recording means records the snapshot information is as follows:
The information processing apparatus according to claim 1, wherein the application program ends.
表示手段に当該予測の結果を表示させる制御と、
をさらに行うことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。 In the sequential presentation control, when the control unit sequentially reads the recorded event information and sequentially presents the result of processing the event, or when the user performs a stop operation, Processing using Bayesian theory based on event information of a series of events executed up to that point and event information of a series of events executed in the past when there is no event information to be output Accordingly, a control of predicting an event to be executed next,
Control to display the result of the prediction on the display means ;
The information processing apparatus according to any one of claims 1 to 3, characterized by further performing.
利用者からの操作内容、又はネットワークからの受信内容の少なくとも一方を逐次、利用者からの操作、又はネットワークからの受信があった時点を特定する情報に関連づけてイベント情報として記録する第1記録手段と、
所定のタイミングごとに、各タイミングにおける自装置の情報記憶状態を復元するためのスナップショット情報を記録する第2記録手段であって、各タイミングの時点を、前記イベント情報との関連で特定する情報を関連づけて記録する第2記録手段と、
過去の時点を指定して操作を再現するべき指示を受け入れる手段と、
当該指定された時点より前に前記第2記録手段によって記録されたスナップショット情報を取得する制御を行う制御手段と、として機能させ、
前記制御手段として機能させる際に、
自装置の情報記憶状態を当該取得したスナップショット情報に対応する状態に更新する制御と、
当該取得したスナップショット情報に関連づけられた時点以降のイベントとして、前記第1記録手段によって記録されたイベント情報を順次読出して、当該イベントを処理した結果を、表示手段を用いて逐次的に提示する制御であって、前記イベント情報を順次読出す際に、次に読出すべきイベント情報より前の時点に関連づけられたスナップショット情報がある場合には、当該次に読出すべきイベント情報より前の時点に関連づけられたスナップショット情報を取得して、自装置の情報記憶状態を当該スナップショット情報に対応する状態に更新する逐次提示制御と、
を行わせるための情報処理プログラム。 Computer
First recording means for recording, as event information, at least one of the operation content from the user or the content received from the network sequentially in association with the information specifying the time when the operation from the user or the reception from the network is received When,
2nd recording means for recording snapshot information for restoring the information storage state of the own device at each timing for each predetermined timing, the information specifying the time point of each timing in relation to the event information Second recording means for recording in association with each other;
A means of accepting instructions to reproduce the operation by specifying a past point in time,
And functioning as control means for performing control to acquire snapshot information recorded by the second recording means before the designated time point ,
When functioning as the control means,
Control to update the information storage state of the own device to a state corresponding to the acquired snapshot information;
Event information recorded by the first recording means is sequentially read as events after the time point associated with the acquired snapshot information, and the results of processing the events are sequentially presented using the display means. In the control , when the event information is sequentially read out, and there is snapshot information associated with a time point before the event information to be read out next, the event information before the event information to be read out next is read Sequential presentation control for acquiring snapshot information associated with the time point and updating the information storage state of the own device to a state corresponding to the snapshot information;
An information processing program for performing
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083308A JP4661066B2 (en) | 2004-03-22 | 2004-03-22 | Information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004083308A JP4661066B2 (en) | 2004-03-22 | 2004-03-22 | Information processing device |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2005275444A JP2005275444A (en) | 2005-10-06 |
| JP2005275444A5 JP2005275444A5 (en) | 2007-04-19 |
| JP4661066B2 true JP4661066B2 (en) | 2011-03-30 |
Family
ID=35175103
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004083308A Expired - Fee Related JP4661066B2 (en) | 2004-03-22 | 2004-03-22 | Information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4661066B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4530995B2 (en) * | 2006-01-17 | 2010-08-25 | 三菱電機株式会社 | Information processing apparatus, operation log collection method, and operation log collection program |
| US8468283B2 (en) * | 2006-06-01 | 2013-06-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Arbiter diagnostic apparatus and method |
| JP2009205502A (en) * | 2008-02-28 | 2009-09-10 | Nec Corp | Application recorder/reproducer, method for rewinding application, and application recording/reproduction program |
| US12436677B2 (en) * | 2022-06-09 | 2025-10-07 | Sony Interactive Entertainment Inc. | Application process context compression and replay |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02240762A (en) * | 1989-03-14 | 1990-09-25 | Canon Inc | information processing equipment |
| JPH03125234A (en) * | 1989-10-09 | 1991-05-28 | Fuji Xerox Co Ltd | Display device with process history function |
| JPH04250539A (en) * | 1991-01-11 | 1992-09-07 | Nippon Telegr & Teleph Corp <Ntt> | Journal acquisition system |
| JPH0764820A (en) * | 1993-08-31 | 1995-03-10 | Omron Corp | Debug processor |
| JPH0850555A (en) * | 1994-08-08 | 1996-02-20 | Matsushita Electric Ind Co Ltd | Fault analysis device and fault detection device |
| JP3467949B2 (en) * | 1996-02-09 | 2003-11-17 | 日本電気株式会社 | Information management device |
| JPH10143397A (en) * | 1996-11-05 | 1998-05-29 | Nec Corp | Plural window history managing system |
| JP2897741B2 (en) * | 1996-11-19 | 1999-05-31 | 日本電気株式会社 | User interface device, operation sequence generation method in the user interface device, and storage medium storing operation sequence generation program |
| JPH11203002A (en) * | 1998-01-20 | 1999-07-30 | Fujitsu Ltd | Input data recording / reproduction device |
| JP2000259607A (en) * | 1999-03-12 | 2000-09-22 | Fuji Xerox Co Ltd | Information processor |
| GB0013010D0 (en) * | 2000-05-26 | 2000-07-19 | Ncr Int Inc | Method and apparatus for predicting whether a specified event will occur after a specified trigger event has occurred |
| JP2002024055A (en) * | 2000-06-30 | 2002-01-25 | Toshiba Corp | Computer system and application program operation reproduction method |
-
2004
- 2004-03-22 JP JP2004083308A patent/JP4661066B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005275444A (en) | 2005-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8499254B2 (en) | Surfacing and management of window-specific controls | |
| US8214367B2 (en) | Systems, methods, means, and media for recording, searching, and outputting display information | |
| US9354982B2 (en) | Manipulating electronic backups | |
| KR101311037B1 (en) | Readsheet cell-based notifications | |
| EP2642394B1 (en) | Test device | |
| US20070255979A1 (en) | Event trace conditional logging | |
| US20080209443A1 (en) | Apparatus and method for displaying process operation | |
| US10146418B2 (en) | In-lane exception handling | |
| JPWO2017046939A1 (en) | Job management apparatus, job management method, and job management program | |
| US20100162113A1 (en) | Operation support system, operation support method, and operation support program | |
| JP4661066B2 (en) | Information processing device | |
| JPH0944379A (en) | Programming support device and programming support method | |
| CN118642808B (en) | Application program prompting method, terminal equipment and readable storage medium | |
| JP6941980B2 (en) | Test scenario execution system and test scenario execution method | |
| JP2008257438A (en) | Exception processing device, exception processing method, exception processing program used for controlling debug device, and television and mobile phone incorporating the exception processing device | |
| JPH05274186A (en) | Input data processor | |
| JP4395496B2 (en) | Dump method and dump device | |
| US20190057017A1 (en) | Correlation Of Function Calls To Functions In Asynchronously Executed Threads | |
| JP6182654B1 (en) | Operation history management device and program | |
| JP2005275443A (en) | Work support device | |
| JPH0452730A (en) | menu display device | |
| JP3166690B2 (en) | Data transfer system, data transfer method, and recording medium recording data transfer program | |
| CN116820644A (en) | Operating vehicle screen recording method, device, electronic equipment and storage medium | |
| CN113806318A (en) | Page-based browser log output method, device, device and storage medium | |
| JP2007272771A (en) | Information selection apparatus, restoration apparatus, and information selection processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070302 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070302 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071112 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071115 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090410 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090624 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100330 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100528 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101207 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101220 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4661066 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |