JP2009205502A - Application recorder/reproducer, method for rewinding application, and application recording/reproduction program - Google Patents
Application recorder/reproducer, method for rewinding application, and application recording/reproduction program Download PDFInfo
- Publication number
- JP2009205502A JP2009205502A JP2008048023A JP2008048023A JP2009205502A JP 2009205502 A JP2009205502 A JP 2009205502A JP 2008048023 A JP2008048023 A JP 2008048023A JP 2008048023 A JP2008048023 A JP 2008048023A JP 2009205502 A JP2009205502 A JP 2009205502A
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- application
- event
- log
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明はアプリケーション記録再生方法、記録再生装置、および記録再生プログラムに関する。 The present invention relates to an application recording / reproducing method, a recording / reproducing apparatus, and a recording / reproducing program.
従来から、アプリケーションのメモリ状態(内容)などの実行状態や、画面表示を記憶装置に記録し、必要に応じて後から再生することでアプリケーションを任意の時刻における状態に戻す方法が利用されている。アプリケーションの利用者は、好きな時にアプリケーションを過去の状態へ巻き戻すことができるため、不注意による操作ミスを簡単に修正することができる。 Conventionally, a method has been used in which an execution state such as a memory state (contents) of an application and a screen display are recorded in a storage device, and the application is returned to a state at an arbitrary time by playing it later as necessary. . Since the user of the application can rewind the application to a past state at any time, an operation mistake due to carelessness can be easily corrected.
特許文献1に開示されたアプリケーション記録再生装置においては、アプリケーションの状態を保存・復元するために、オペレーティングシステム(OS)から得られる情報を元に、アプリケーションのメモリ状態や、アプリケーションが利用しているデバイスの状態、OS 内部のメモリ状態など、アプリケーションに関連するすべての状態をOS内で取得し、保存する。 In the application recording / reproducing apparatus disclosed in Patent Document 1, in order to save and restore the application state, the application memory state and the application are used based on information obtained from the operating system (OS). Acquire and save all application related statuses such as device status and OS internal memory status in the OS.
非特許文献1に開示されたアプリケーション記録再生装置においては、仮想的なデバイスドライバを提供し、このデバイスドライバにおいてアプリケーション画面の時間変化における画像の差分をビットマップデータとしてすべて記録することで、アプリケーション画面を記録・復元する。
従来の記録再生装置では、コンピュータの状態を記録するために、特許文献1のようにOSを含めたすべてのプログラム状態を状態として保存する方法や、非特許文献1のように特殊なデバイスドライバを用いてアプリケーション画面の画像差分を保存する手法があった。 In the conventional recording / reproducing apparatus, in order to record the state of the computer, a method for saving all program states including the OS as a state as in Patent Document 1 and a special device driver as in Non-Patent Document 1 are used. There has been a technique of using and saving image differences of application screens.
特許文献1の方法によれば、アプリケーションのある時刻における状態を記録し、再生するためには、OSのカーネルやデバイスドライバ、およびアプリケーションのメモリ内容など、OS全体で使用されるメモリ状態をすべて記憶装置へ保存する。この場合、保存しなければならないメモリ状態は通常大きくなるため、記憶装置の使用量が大きくなる。 According to the method of Patent Document 1, in order to record and play back the state of an application at a certain time, all the memory states used by the entire OS, such as the OS kernel and device driver, and the memory contents of the application are stored. Save to device. In this case, since the memory state that must be saved is usually large, the usage amount of the storage device is large.
非特許文献1の方法によれば、アプリケーションのある時刻における状態を 記録し、再生するためには、アプリケーションのメモリ状態を定期的に保存するとともに、特殊なデバイスドライバを用いてアプリケーション画面の画像差分およびユーザ入力をすべて保存する。画像差分データはビットマップ データでありデータ量が大きくなる傾向がある。このため特許文献1の方法 における問題と同様に、記憶装置の使用量が大きくなる。 According to the method of Non-Patent Document 1, in order to record and play back the state of an application at a certain time, the memory state of the application is periodically saved and the image difference of the application screen using a special device driver. And save all user input. Image difference data is bitmap data and tends to have a large amount of data. For this reason, similarly to the problem in the method of Patent Document 1, the usage amount of the storage device becomes large.
本発明の目的は、記憶装置の使用量を減らしつつ記録再生が可能なアプリケー ション記録再生方法を提供することにある。 An object of the present invention is to provide an application recording / reproducing method capable of recording / reproducing while reducing the amount of use of a storage device.
本発明のアプリケーション記録再生装置は、ユーザからの入力イベントをその発生時刻順に取得し、再生する入力イベントログ取得・再生部と、アプリケーションからのGUIイベントをその発生時刻順にGUI(Graphical User Interface)イベントログとして取得し、再生するGUIイベントログ取得・再生部と、アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生部と、入力イベントログとGUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いてアプリケーションの巻き戻し 再生の制御を行う記録再生制御部とを有する。 The application recording / playback apparatus of the present invention acquires input events from a user in the order of their occurrence times and plays back the input event log acquisition / playback unit, and GUI events from the application in the order of their occurrences as GUI (Graphical User Interface) events GUI event log acquisition / reproduction unit to obtain and replay as a log, checkpoint that is a snapshot of the execution state of the application, and replay checkpoint acquisition / reproduction unit, input event log and GUI event log to replay A recording / reproducing control unit that stores the input event log, the GUI event log, and the rewinding application using the checkpoint in accordance with an instruction from the user. .
本発明によれば、アプリケーションの状態を保存するための記憶装置の使用量を抑えつつ、アプリケーションの実行履歴と画面表示を記録し、ユーザの必 要に応じて任意の時刻におけるアプリケーションの状態を復元することができる。アプリケーションを再生するためのデータとして使用するイベントログはメモリ内容のスナップショットに比べて非常に小さいため、記憶装置の使用量を減らすことができる。 According to the present invention, the application execution history and the screen display are recorded while the usage amount of the storage device for saving the application state is suppressed, and the application state at an arbitrary time is restored according to the user's need. can do. Since the event log used as data for reproducing the application is very small compared to the snapshot of the memory contents, the usage amount of the storage device can be reduced.
次に、本発明の実施形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施の形態によるアプリケーション記録再生装置の構成を示すブロック図である。本アプリケーション記録再生装置1は、入力イベントログ取得・再生部11とGUIイベントログ取得・再生部12とチェックポイント取得・再生部13と記録再生制御部40を有する。
FIG. 1 is a block diagram showing a configuration of an application recording / playback apparatus according to an embodiment of the present invention. The application recording / playback apparatus 1 includes an input event log acquisition /
入力イベントログ取得・再生部11は、ユーザ8からの入力ログを取得し、再生する。GUIイベントログ取得・再生部12は、アプリケーション7からのGUIイベントをログに保存し、再生する。チェックポイント取得・再生部13はアプリケーション7の実行状態のスナップショットであるチェックポイントを取得し、再生する。記録再生制御部14は、入力イベントログとGUIイベントログを再生可能な形式で保存し、ユーザ8からの指示に応じてログとチェックポイントを用いてアプリケーション7の過去の状態を再生する。ユーザ8は操作部2を通じて記録再生制御部14へアプリケーション7の再生方法を指示する。指示可能な操作としては、巻き戻し・早送り・再生など、一般的な個人向けビデオレコーダと同等の機能を提供する。図2に操作部2の例を示す。この例では操作部2をGUIとして実現しており、ユーザはそれぞれのボタンを押すことにより巻き戻しや早送りなどを操作することができる。
The input event log acquisition /
アプリケーション7は、ユーザ8がコンピュータ上で動作させるGUIアプリケーションである。アプリケーション7は入力として、表示サーバ5からユーザ8の入力イベントを受け取り、イベントに応じたハンドラ処理を行う。ウィンドウの表示などハンドラ内で何らかの画面表示を伴う場合には、表示サーバ5に対してGUIイベントを発行し、画面表示を依頼する。
The application 7 is a GUI application that the user 8 operates on the computer. The application 7 receives an input event of the user 8 from the
表示サーバ5は、アプリケーション7から発行されるGUIイベントに応じてディスプレイ6にGUIを表示する。また、ユーザ8からの入力イベントを取得し、GUIイベントに変換してGUIイベントログ取得・再生部12を通じてアプリケーション7への入力とする。
The
入力イベントログ取得・再生部12はユーザ8と表示サーバ5間を中継し、ユーザ8からの、キーボードやマウスといった入力装置による入力イベントを発生時刻順に入力イベントログとして取得する。図3に入力イベントの例を示す。入力イベントの種類としては、キーボードのあるキーの押下と開放、マウス ボタンのクリック、押下と開放、マウスポインタの移動やドラッグなどがある。
The input event log acquisition /
入力イベントログ取得・再生部11はそれぞれのイベントにイベントの発生時刻情報を付加した入力イベントログを生成し、記録再生制御部14への入力とする。図4に入力イベントログの例を示す。この図からわかるように、たとえば「Key 'A' on」イベントのログでは、イベントの発生時刻は「2005-04-01T09:30:12.034」である。
The input event log acquisition /
GUIイベントログ取得・再生部12は、アプリケーション7から表示サーバ5へのGUI描画イベントを中継し、GUIイベントを発生時刻順にGUIイベント ログとして取得する。図5にGUIイベントの例を示す。GUIイベントの種類 としては、ウィンドウやボタンといったウィジェットの作成や、ウィジェットの配置などがある。
The GUI event log acquisition /
GUIイベントログ取得・再生部20はそれぞれのイベントにイベントの発生時刻情報を付加したGUIイベントログを生成し、記録再生制御部14への入力とする。図6にGUIイベントログの例を示す。この図からわかるように、たとえば「Window#new」イベントのログでは、イベントの発生時刻は「2005-04-01T09:30:12.034」である。
The GUI event log acquisition / reproduction unit 20 generates a GUI event log in which event occurrence time information is added to each event, and uses the generated GUI event log as an input to the recording /
アプリケーション7および表示サーバ5はチェックポイント取得・再生部13の制御下で実行され、チェックポイント取得・再生部13によって定期的にチェックポイントが取得される。チェックポイントを取得するために、それぞれのアプリケーション7および表示サーバ5は内部状態を後から復元可能な形 式に直列化するためのインタフェースと、直列化された内部状態を読み込むためのインタフェースを備える。
The application 7 and the
図7にアプリケーション7に実装されたチェックポイント用のインタフェース例を示す。図7によると、アプリケーション7は内部状態を直列化した文字列 を返す関数checkpoint()と、直列化された内部状態をロードするための関数load#checkpoint()を備える。チェックポイント取得・再生部13は一定間隔ごとにアプリケーションのcheckpoint() 関数を呼び出し、直列化された内部状態をチェックポイント保存部4へ保存する。また、チェックポイント指示部21からの指示に応じて、チェックポイント取得・再生部13はアプリケーション7のload#checkpoint()関数を呼び出し、チェックポイント保存部4に保存された直列化データを読み込み、以前の状態を復元する。
FIG. 7 shows an example of a checkpoint interface implemented in the application 7. According to FIG. 7, the application 7 includes a function checkpoint () that returns a character string obtained by serializing an internal state, and a function load # checkpoint () for loading the serialized internal state. The checkpoint acquisition /
チェックポイント保存部4は、チェックポイント取得・再生部13によって取得されたチェックポイントと関連情報を保持するための記憶手段である。
The checkpoint storage unit 4 is storage means for holding the checkpoint acquired by the checkpoint acquisition /
図8にチェックポイント保存部4に保存されるチェックポイントデータの例を示す。図8によると、各時刻におけるチェックポイントデータは16進として直列化され、それぞれのデータにはcheckpoint()関数が呼び出された時刻が保存されている。 FIG. 8 shows an example of checkpoint data stored in the checkpoint storage unit 4. According to FIG. 8, the checkpoint data at each time is serialized as hexadecimal, and the time when the checkpoint () function is called is stored in each data.
記録再生制御部14は、チェックポイント指示部21と依存関係設定部22とチェックポイント選択部23と依存関係解析部24とログ再生指示部 45から構成される。依存関係設定部22は、入力イベントおよび GUIイベントに送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する。表示サーバ5およびアプリケーション7の実行履歴 は、チェックポイントが取得された時刻によっていくつかの区間に区切られる。これをチェックポイント区間と呼び、それぞれに0から始まる通し番号を振る。依存関係設定部22はこのチェックポイント区間番号を用いて、GUIイベントの送信者と受信者、および送受信されたチェックポイント区間の組をログ保存部3へ保存する。
The recording /
依存関係設定部22の動作の具体例を図9に示す。たとえば、イベントbの送信者はアプリケーション7で、受信者は表示サーバ5である。イベントbがアプリケーション7から発行されたチェックポイント区間は1であり、チェックポイント区間1でのイベント送受信発生順序の最初であるため、送信情報は「アプリケーション:(1,1)」と表わされる。同様に、イベントbが表示サーバ5で受信されたチェックポイント区間は2であり、同区間内の送受信発生順 序は0であるため、受信情報は「表示サーバ:(2, 0)」と表わされる。以上より、イベントbのIDは送信=「アプリケーション:(1,1)」、受信=「表示サーバ:(2, 0)」と表わされる。
A specific example of the operation of the dependency
ログ保存部3は、入力イベントログ取得・再生部11およびGUIイベント ログ取得・再生部12によって取得されたイベントログと依存関係設定部22によって設定された依存情報を保持するための記憶手段である。
The log storage unit 3 is a storage unit for holding the event log acquired by the input event log acquisition /
チェックポイント選択部23は、ユーザ8が指定する巻き戻し/早送りの指示に応じて、表示サーバ5が巻き戻すチェックポイントを選択する。
The check
チェックポイント選択部23の動作の具体例を図10に示す。図10におい て、ユーザ8が操作部2により巻き戻したい時刻(巻き戻し地点)tを指定したとする。チェックポイント選択部23は、巻き戻し地点が含まれるチェックポイント区間をチェックポイント保存部4より割り出し、このチェックポイント区間を開始するチェックポイントを決定する。図10の例では、チェックポイントC0がこれに対応する。
A specific example of the operation of the
ログ再生指示部25は、ユーザ8が指定した巻き戻し地点に応じてGUIイベントログ取得・再生部12および入力イベントログ取得・再生部11で再生するログをログ保存部3より取得し、それぞれの入力イベントログ取得・再生部11へ渡し、ログを再生させる。
The log
ログ再生指示部25の動作の具体例を図11に示す。巻き戻し地点tへ表示サーバ5を巻き戻すためには、チェックポイント選択部23によって選択されたチェックポイントC0を起点として、表示サーバ5とユーザ8もしくはアプリケーション7の間で送受信されるイベントを再生する必要がある。ここで、ログ保存部3に保存されたイベントログより、チェックポイントC0と巻き戻し地点の間のイベントはaとbの2 つであることがわかる。ログ再生指示部25は、この2つのログを取り出し、イベントaをGUIイベントログ取得・再生部12へ、またイベントbを入力イベントログ取得・再生部11へ渡し、再生を依頼する。
A specific example of the operation of the log
依存関係解析部24は、依存関係設定部22によって設定された依存関係と表示サーバ5の巻き戻し地点より、アプリケーション8の巻き戻し地点を算出する。
The dependency
依存関係解析部24の動作の具体例を図12に示す。依存関係解析部24は、ログ保存部3に保存されたGUIイベントログより、表示サーバ5の巻き戻し地点以前の、アプリケーション7から表示サーバ5へのイベントのうち、最も新しいイベントを選択する。このイベントがアプリケーション7により発行された時刻の直後がアプリケーション7の巻き戻し地点として選択される。巻き戻し地点が決定した後は表示サーバ5の巻き戻しと同様に、巻き戻し地点に対応するチェックポイントとイベントをチェックポイント選択部23およびログ再生指示部25により求め、ログを再生することによりアプリケーション7を巻き戻し地点の状態に戻す。
A specific example of the operation of the dependency
次に、図13のフローチャートを参照して、表示サーバ5の巻き戻し処理の動作について詳細に説明する。
ステップ101に、ユーザ8は操作部2を通じて、アプリケーション7を巻き戻したい時刻(巻き戻し地点)を決定する。
ステップ102に、チェックポイント選択部23は、表示サーバ5の巻き戻し地点よりも古いチェックポイントのうち、最新のチェックポイントを、表示サーバ5を巻き戻すチェックポイントと決定する。
ステップ103に、ログ再生指示部25は、ステップ102において求められたチェックポイントとステップ101において指定された巻き戻し地点の間に表示サーバ5に対して送受信されたイベントをログ保存部3より選択する。
ステップ104に、チェックポイント指示部21は、ステップ102において決定されたチェックポイントをチェックポイント取得・再生部13へ渡し、チェックポイントの再生を依頼する。
ステップ105に、入力イベントログ取得・再生部11およびGUIイベ ントログ取得再生部12は、ステップ103において選択された入力イベントログおよびGUIイベントログを入力としてログを再生することで、表示サーバ5の状態を巻き戻し地点の状態へ戻す。
Next, the operation of the rewinding process of the
In
In
In
In
In
次に、図14のフローチャートを参照して、アプリケーション7の巻き戻し処理の動作について詳細に説明する。
ステップ201に、依存関係解析部24はステップ101において決定された巻き戻し地点より前の、アプリケーション7から表示サーバ5へのイベントのうち、最も新しいイベントを選択する。
ステップ202に、チェックポイント選択部23は、ステップ201によって決定したイベントが発行されたアプリケーション7のチェックポイント区間を求め、さらにこのチェックポイント区間を開始したチェックポイントを決定する。
ステップ203に、ログ再生指示部25は、ステップ202において求められたチェックポイントとステップ201において決定されたイベントの発生時刻と間のアプリケーション7に対して送受信されたイベントをログ保存部3より選択する。
ステップ204に、チェックポイント指示部21は、ステップ202において決定されたチェックポイントをチェックポイント取得・再生部30へ渡し、チェックポイントの再生を依頼する。
ステップ205に、入力イベントログ取得・再生部11およびGUIイベントログ取得再生部12は、ステップ203において選択された入力イベントログおよびGUIイベントログを入力としてログを再生し、アプリケーション7を巻き戻し地点の状態へ戻す。
Next, the rewinding operation of the application 7 will be described in detail with reference to the flowchart of FIG.
In
In
In
In
In
なお、以上説明したアプリケーション記録再生装置の機能は、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。 The function of the application recording / reproducing apparatus described above is executed by recording a program for realizing the function on a computer-readable recording medium, and causing the computer to read the program recorded on the recording medium. It may be a thing. The computer-readable recording medium refers to a recording medium such as a flexible disk, a magneto-optical disk, and a CD-ROM, and a storage device such as a hard disk device built in a computer system. Further, the computer-readable recording medium is a medium that dynamically holds the program for a short time (transmission medium or transmission wave) as in the case of transmitting the program via the Internet, and in the computer serving as a server in that case Such as a volatile memory that holds a program for a certain period of time.
本発明のアプリケーション記録再生装置は、GUIを備えるパーソナルコンピュータやワークステーション、およびサーバなどのコンピュータに対して適用することができる。 The application recording / reproducing apparatus of the present invention can be applied to computers such as personal computers, workstations, and servers equipped with a GUI.
1 アプリケーション記録再生装置
2 操作部
3 ログ保存部
4 チェックポイント保存部
5 表示サーバ
6 ディスプレイ
7 アプリケーション
8 ユーザ
11 入力イベントログ取得・再生部
12 GUIイベントログ取得・再生部
13 チェックポイント取得・再生部
14 記録再生制御部
21 チェックポイント指示部
22 依存関係設定部
23 チェックポイント選択部
24 依存関係解析部
25 ログ再生指示部
101〜105,201〜205 ステップ
DESCRIPTION OF SYMBOLS 1 Application recording / reproducing apparatus 2 Operation part 3 Log storage part 4 Checkpoint preservation | save
Claims (8)
アプリケーションからのGUIイベントをその発生時刻順にGUIイベントログとして取得し、再生するGUIイベントログ取得・再生部と、
前記アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生部と、
前記入力イベントログと前記GUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いて前記アプリケーションの巻き戻し 再生の制御を行う記録再生制御部と
を有するアプリケーション記録再生装置。 An input event log acquisition / reproduction unit that acquires and reproduces input events from users in the order of their occurrence time, and
GUI event log acquisition / playback unit that acquires and plays back GUI events from the application in the order of their occurrence as GUI event logs,
A checkpoint acquisition / reproduction unit that obtains and reproduces a checkpoint that is a snapshot of the execution state of the application;
The input event log and the GUI event log are stored in a log storage unit in a reproducible format, and the application is rewound using the input event log, the GUI event log, and the checkpoint according to an instruction from a user. An application recording / reproducing apparatus comprising: a recording / reproducing control unit that controls reproduction.
前記入力イベントおよび前記GUIイベントに該イベントの送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する依存関係設定部と、
前記表示サーバの巻き戻し時、ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択し、前記アプリケーションの巻き戻し時、選択されたイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを選択するチェックポイント選択部と、
前記チェックポイント選択部によって選択されたチェックポイントを前記チェックポイント取得・再生部に渡し、該チェックポイントの再生を依頼するチェックポイント指示部と、
前記表示サーバの巻き戻し時、前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生部、前記GUIイベントログ取得・再生部にログの再生を依頼し、前記アプリケーションの巻き戻し時、前記の選択されたチェックポイントと前記の選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生部、前記GUIイベントログ取得・再生部にログの再生を依頼するログ再生指示部と、
前記アプリケーションの巻き戻し時、前記依存関係設定部によって設定されたイベント間の依存関係を用い、前記表示サーバの巻き戻し地点より前の、アプリケーションから前記表示サーバへのイベントのうち、最も新しいイベントを選択し、該イベントが前記アプリケーションによって発行された時刻の直後を前記アプリケーションの巻き戻し地点として選択する依存関係解析部と、
を含む、請求項1に記載のアプリケーション記録再生装置。 The recording / playback control unit
A dependency setting unit that sets a dependency between events by setting a unique ID indicating the sender and receiver of the event and the order of transmission and reception in the input event and the GUI event;
At the time of rewinding the display server, in accordance with the user's rewind instruction, select a checkpoint that starts the checkpoint section that the display server rewinds, including the rewind point of the application specified by the user, and At the time of rewinding, a checkpoint selection unit that obtains a checkpoint section of an application in which the selected event is issued and selects a checkpoint that starts the checkpoint section;
A checkpoint instruction unit that passes the checkpoint selected by the checkpoint selection unit to the checkpoint acquisition / reproduction unit, and requests reproduction of the checkpoint;
At the time of rewinding the display server, an event transmitted / received to / from the display server between the selected checkpoint and the designated rewinding point is acquired from the log storage unit, and the input event Log acquisition / reproduction unit, requesting the GUI event log acquisition / reproduction unit to reproduce the log, and when rewinding the application, between the selected checkpoint and the occurrence time of the selected event An event transmitted / received to / from an application is acquired from the log storage unit, the input event log acquisition / reproduction unit, a log reproduction instruction unit that requests the GUI event log acquisition / reproduction unit to reproduce a log,
When the application is rewound, the dependency between events set by the dependency setting unit is used, and the latest event among the events from the application to the display server before the rewinding point of the display server is determined. A dependency analysis unit that selects and selects immediately after the time when the event is issued by the application as a rewind point of the application;
The application recording / reproducing apparatus according to claim 1, comprising:
ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択することと、
前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを取得することと、
前記の選択されたチェックポイントを再生すること、
前記取得されたイベントのログを再生することと、
を有する、表示サーバの巻き戻し方法。 A method for rewinding a display server in an application recording / reproducing apparatus,
In accordance with the user's rewind instruction, selecting a checkpoint that starts the checkpoint section that the display server rewinds, including the rewind point of the application specified by the user,
Obtaining events sent to and received from the display server between the selected checkpoint and the designated rewind point;
Playing the selected checkpoint,
Replaying the log of the acquired events;
A display server rewinding method comprising:
ユーザが指定した、アプリケーションの巻き戻し地点より前の、アプリケーションから表示サーバへのイベントのうち、最も新しいイベントを選択することと、
前記の最も新しいイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを決定することと、
前記の決定されたチェックポイントと、前記選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを選択することと、
前記の決定されたチェックポイントを再生することと、
前記アプリケーションに対して送受信されたイベントを再生することと
を有する、アプリケーションの巻き戻し方法。 An application rewinding method in an application recording / playback apparatus,
Selecting the most recent event from the application to the display server before the application rewind point specified by the user;
Determining a checkpoint interval of an application in which the most recent event is issued, and determining a checkpoint that starts the checkpoint interval;
Selecting events sent to and received from the application between the determined checkpoint and the time of occurrence of the selected event;
Playing back the determined checkpoint;
Playing back an event sent to or received from the application.
ユーザからの入力イベントをその発生時刻順に取得し、再生する入力イベントログ取得・再生手順と、
アプリケーションからのGUIイベントをその発生時刻順にGUIイベントログとして取得し、再生するGUIイベントログ取得・再生手順と、
前記アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生手順と、
前記入力イベントログと前記GUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いて前記アプリケーションの巻き戻し 再生の制御を行う記録再生制御手順と
をコンピュータに実行させるためのアプリケーション記録再生プログラム。 A program for causing a computer to execute the function of the application recording / playback device,
Input event log acquisition / playback procedure for acquiring and playing back input events from users in the order of their occurrence time,
GUI event log acquisition and playback procedure for acquiring and playing back GUI events from the application in the order of their occurrence as GUI event logs,
A checkpoint acquisition / playback procedure for acquiring and playing back a checkpoint that is a snapshot of the execution state of the application;
The input event log and the GUI event log are stored in a log storage unit in a reproducible format, and the application is rewound using the input event log, the GUI event log, and the checkpoint according to an instruction from a user. An application recording / playback program for causing a computer to execute a recording / playback control procedure for controlling playback.
前記入力イベントおよび前記GUIイベントに該イベントの送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する依存関係設定手順と、
前記表示サーバの巻き戻し時、ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択し、前記アプリケーションの巻き戻し時、選択されたイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを選択するチェックポイント選択手順と、
前記チェックポイント選択手順によって選択されたチェックポイントを前記チェックポイント取得・再生手順に渡し、該チェックポイントの再生を依頼するチェックポイント指示手順と、
前記表示サーバの巻き戻し時、前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生手順、前記GUIイベントログ取得・再生手順にログの再生を依頼し、前記アプリケーションの巻き戻し時、前記の選択されたチェックポイントと前記の選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生手順、前記GUIイベントログ取得・再生手順にログの再生を依頼するログ再生指示手順と、
前記アプリケーションの巻き戻し時、前記依存関係設定手順によって設定されたイベント間の依存関係を用い、前記表示サーバの巻き戻し地点より前の、アプリケーションから前記表示サーバへのイベントのうち、最も新しいイベントを選択し、該イベントが前記アプリケーションによって発行された時刻の直後を前記アプリケーションの巻き戻し地点として選択する依存関係解析手順と、
を含む、請求項6に記載のアプリケーション記録再生プログラム。 The recording / playback control procedure includes:
A dependency setting procedure for setting a dependency between events by setting a unique ID indicating the sender and receiver of the event and the order of transmission and reception in the input event and the GUI event;
At the time of rewinding the display server, in accordance with the user's rewind instruction, select a checkpoint that starts the checkpoint section that the display server rewinds, including the rewind point of the application specified by the user, and When rewinding, a checkpoint selection procedure for obtaining a checkpoint section of an application in which the selected event is issued and selecting a checkpoint that starts the checkpoint section;
A checkpoint instruction procedure for passing the checkpoint selected by the checkpoint selection procedure to the checkpoint acquisition / playback procedure and requesting the playback of the checkpoint;
At the time of rewinding the display server, an event transmitted / received to / from the display server between the selected checkpoint and the designated rewinding point is acquired from the log storage unit, and the input event Log acquisition / playback procedure, requesting log playback to the GUI event log acquisition / playback procedure, and when the application is rewound, between the selected checkpoint and the occurrence time of the selected event An event transmitted / received to / from an application is acquired from the log storage unit, the input event log acquisition / reproduction procedure, a log reproduction instruction procedure for requesting reproduction of a log to the GUI event log acquisition / reproduction procedure,
When the application is rewound, the latest event among the events from the application to the display server before the rewinding point of the display server is used using the dependency relationship between the events set by the dependency setting procedure. A dependency analysis procedure for selecting and selecting immediately after the time when the event is issued by the application as a rewind point for the application;
The application recording / reproducing program according to claim 6, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048023A JP2009205502A (en) | 2008-02-28 | 2008-02-28 | Application recorder/reproducer, method for rewinding application, and application recording/reproduction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048023A JP2009205502A (en) | 2008-02-28 | 2008-02-28 | Application recorder/reproducer, method for rewinding application, and application recording/reproduction program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009205502A true JP2009205502A (en) | 2009-09-10 |
Family
ID=41147680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008048023A Pending JP2009205502A (en) | 2008-02-28 | 2008-02-28 | Application recorder/reproducer, method for rewinding application, and application recording/reproduction program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009205502A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417994B2 (en) | 2010-06-07 | 2013-04-09 | International Business Machines Corporation | Severity map of change-induced pervasive services outages |
JP2017512322A (en) * | 2014-04-08 | 2017-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | Software fault location method, apparatus and equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784765A (en) * | 1993-08-06 | 1995-03-31 | Toshiba Corp | Gui test device |
JPH10143397A (en) * | 1996-11-05 | 1998-05-29 | Nec Corp | Plural window history managing system |
JP2000235549A (en) * | 1999-02-17 | 2000-08-29 | Nippon Telegr & Teleph Corp <Ntt> | Synchronous reproducing method based on time series record of operation history, and recording medium recorded with program for synchronously reproducing operation history of operation extracting terminal and operation reproducing terminal |
JP2005107573A (en) * | 2003-09-26 | 2005-04-21 | Keio Gijuku | Computer system which can restore execution state |
JP2005275444A (en) * | 2004-03-22 | 2005-10-06 | Fuji Xerox Co Ltd | Information processing apparatus |
-
2008
- 2008-02-28 JP JP2008048023A patent/JP2009205502A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784765A (en) * | 1993-08-06 | 1995-03-31 | Toshiba Corp | Gui test device |
JPH10143397A (en) * | 1996-11-05 | 1998-05-29 | Nec Corp | Plural window history managing system |
JP2000235549A (en) * | 1999-02-17 | 2000-08-29 | Nippon Telegr & Teleph Corp <Ntt> | Synchronous reproducing method based on time series record of operation history, and recording medium recorded with program for synchronously reproducing operation history of operation extracting terminal and operation reproducing terminal |
JP2005107573A (en) * | 2003-09-26 | 2005-04-21 | Keio Gijuku | Computer system which can restore execution state |
JP2005275444A (en) * | 2004-03-22 | 2005-10-06 | Fuji Xerox Co Ltd | Information processing apparatus |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417994B2 (en) | 2010-06-07 | 2013-04-09 | International Business Machines Corporation | Severity map of change-induced pervasive services outages |
JP2017512322A (en) * | 2014-04-08 | 2017-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | Software fault location method, apparatus and equipment |
US9983987B2 (en) | 2014-04-08 | 2018-05-29 | Iyuntian Co., Ltd. | Method, apparatus, and device for locating a software failure |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10133653B2 (en) | Recording and playback of trace and video log data for programs | |
US8656297B2 (en) | Enhanced virtualization system | |
US20070247430A1 (en) | Keyboard and mouse operation data recording/reproducing system and method thereof | |
JP2011165032A (en) | Computer program and data backup method | |
CN103970649A (en) | Test method and device for Android terminal application programs | |
US20140040738A1 (en) | Information processor, information processing method, and computer program product | |
WO2005088453A2 (en) | System and method for continuously recording user actions and displayed images | |
US20070025197A1 (en) | Information-processing apparatus, recording medium and information-processing method | |
CN111435600B (en) | Method and apparatus for processing audio | |
US20040133550A1 (en) | File transfer program | |
JP2011520324A (en) | Method and apparatus for media content playback and playback control in web page | |
JP2009205502A (en) | Application recorder/reproducer, method for rewinding application, and application recording/reproduction program | |
KR100754188B1 (en) | Recoding and playing apparatus capable of displaying content file list, content file list displaying method and recoding medium thereof | |
US8824872B2 (en) | Display control apparatus, reproduction system, and recording medium in which display control is performed based on a detected event | |
JP2013143044A (en) | Program, information processing method and information processing apparatus | |
JP4530995B2 (en) | Information processing apparatus, operation log collection method, and operation log collection program | |
KR20100135727A (en) | Method and apparatus for recording digital multimedia based on buffering states of the multimedia service | |
JP2010226285A (en) | Image supply device, image supply system, image supply method, image supply program and recording medium | |
JP2002344849A (en) | Moving picture processing unit, moving picture processing method, recording medium, and control program | |
US9088767B2 (en) | Activities duplication via recorded video | |
JP6262502B2 (en) | File presentation system, control device, terminal device, presentation method, and presentation program | |
US8340508B2 (en) | Record/playback apparatus and control method therefor | |
JP2007184884A (en) | Signal pickup method and video/audio recording and playing system using the same | |
JP6059989B2 (en) | Processing program, terminal device, processing system, and processing method | |
JP4536059B2 (en) | Recording / reproducing system, recording / reproducing method, and recording / reproducing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120612 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121106 |