JP2009205502A - アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム - Google Patents
アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム 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
【課題】記憶装置の使用量を減らしつつ記録再生が可能なアプリケーション記録再生方法を提供する。
【解決手段】ユーザ8が操作部2によってアプリケーション7の巻き戻しを指示すると、巻き戻し地点に対応するチェックポイントをチェックポイント選択部23が選択し、巻き戻し地点までの入力イベントおよびGUIイベントログをログ再生指示部25が選択し、それぞれを入力イベントログ取得・再生部11およびGUI イベントログ取得・再生部12で再生させ、巻き戻し地点での表示サーバ5の状態を再現する。表示サーバ5の巻き戻し地点を決定した後、依存関係解析部24が画面の巻き戻し地点に対応するアプリケーション7の巻き戻し地点を決定し、表示サーバ5と同様に巻き戻し地点でのアプリケーション状態を再現する。
【選択図】図1
【解決手段】ユーザ8が操作部2によってアプリケーション7の巻き戻しを指示すると、巻き戻し地点に対応するチェックポイントをチェックポイント選択部23が選択し、巻き戻し地点までの入力イベントおよびGUIイベントログをログ再生指示部25が選択し、それぞれを入力イベントログ取得・再生部11およびGUI イベントログ取得・再生部12で再生させ、巻き戻し地点での表示サーバ5の状態を再現する。表示サーバ5の巻き戻し地点を決定した後、依存関係解析部24が画面の巻き戻し地点に対応するアプリケーション7の巻き戻し地点を決定し、表示サーバ5と同様に巻き戻し地点でのアプリケーション状態を再現する。
【選択図】図1
Description
本発明はアプリケーション記録再生方法、記録再生装置、および記録再生プログラムに関する。
従来から、アプリケーションのメモリ状態(内容)などの実行状態や、画面表示を記憶装置に記録し、必要に応じて後から再生することでアプリケーションを任意の時刻における状態に戻す方法が利用されている。アプリケーションの利用者は、好きな時にアプリケーションを過去の状態へ巻き戻すことができるため、不注意による操作ミスを簡単に修正することができる。
特許文献1に開示されたアプリケーション記録再生装置においては、アプリケーションの状態を保存・復元するために、オペレーティングシステム(OS)から得られる情報を元に、アプリケーションのメモリ状態や、アプリケーションが利用しているデバイスの状態、OS 内部のメモリ状態など、アプリケーションに関連するすべての状態をOS内で取得し、保存する。
非特許文献1に開示されたアプリケーション記録再生装置においては、仮想的なデバイスドライバを提供し、このデバイスドライバにおいてアプリケーション画面の時間変化における画像の差分をビットマップデータとしてすべて記録することで、アプリケーション画面を記録・復元する。
特開2005-107573号公報
DejaView: a personal virtual computer recorder, ACM Symposium on Operating Systems Principles, Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
従来の記録再生装置では、コンピュータの状態を記録するために、特許文献1のようにOSを含めたすべてのプログラム状態を状態として保存する方法や、非特許文献1のように特殊なデバイスドライバを用いてアプリケーション画面の画像差分を保存する手法があった。
特許文献1の方法によれば、アプリケーションのある時刻における状態を記録し、再生するためには、OSのカーネルやデバイスドライバ、およびアプリケーションのメモリ内容など、OS全体で使用されるメモリ状態をすべて記憶装置へ保存する。この場合、保存しなければならないメモリ状態は通常大きくなるため、記憶装置の使用量が大きくなる。
非特許文献1の方法によれば、アプリケーションのある時刻における状態を 記録し、再生するためには、アプリケーションのメモリ状態を定期的に保存するとともに、特殊なデバイスドライバを用いてアプリケーション画面の画像差分およびユーザ入力をすべて保存する。画像差分データはビットマップ データでありデータ量が大きくなる傾向がある。このため特許文献1の方法 における問題と同様に、記憶装置の使用量が大きくなる。
本発明の目的は、記憶装置の使用量を減らしつつ記録再生が可能なアプリケー ション記録再生方法を提供することにある。
本発明のアプリケーション記録再生装置は、ユーザからの入力イベントをその発生時刻順に取得し、再生する入力イベントログ取得・再生部と、アプリケーションからのGUIイベントをその発生時刻順にGUI(Graphical User Interface)イベントログとして取得し、再生するGUIイベントログ取得・再生部と、アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生部と、入力イベントログとGUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いてアプリケーションの巻き戻し 再生の制御を行う記録再生制御部とを有する。
本発明によれば、アプリケーションの状態を保存するための記憶装置の使用量を抑えつつ、アプリケーションの実行履歴と画面表示を記録し、ユーザの必 要に応じて任意の時刻におけるアプリケーションの状態を復元することができる。アプリケーションを再生するためのデータとして使用するイベントログはメモリ内容のスナップショットに比べて非常に小さいため、記憶装置の使用量を減らすことができる。
次に、本発明の実施形態について図面を参照して詳細に説明する。
図1は、本発明の一実施の形態によるアプリケーション記録再生装置の構成を示すブロック図である。本アプリケーション記録再生装置1は、入力イベントログ取得・再生部11とGUIイベントログ取得・再生部12とチェックポイント取得・再生部13と記録再生制御部40を有する。
入力イベントログ取得・再生部11は、ユーザ8からの入力ログを取得し、再生する。GUIイベントログ取得・再生部12は、アプリケーション7からのGUIイベントをログに保存し、再生する。チェックポイント取得・再生部13はアプリケーション7の実行状態のスナップショットであるチェックポイントを取得し、再生する。記録再生制御部14は、入力イベントログとGUIイベントログを再生可能な形式で保存し、ユーザ8からの指示に応じてログとチェックポイントを用いてアプリケーション7の過去の状態を再生する。ユーザ8は操作部2を通じて記録再生制御部14へアプリケーション7の再生方法を指示する。指示可能な操作としては、巻き戻し・早送り・再生など、一般的な個人向けビデオレコーダと同等の機能を提供する。図2に操作部2の例を示す。この例では操作部2をGUIとして実現しており、ユーザはそれぞれのボタンを押すことにより巻き戻しや早送りなどを操作することができる。
アプリケーション7は、ユーザ8がコンピュータ上で動作させるGUIアプリケーションである。アプリケーション7は入力として、表示サーバ5からユーザ8の入力イベントを受け取り、イベントに応じたハンドラ処理を行う。ウィンドウの表示などハンドラ内で何らかの画面表示を伴う場合には、表示サーバ5に対してGUIイベントを発行し、画面表示を依頼する。
表示サーバ5は、アプリケーション7から発行されるGUIイベントに応じてディスプレイ6にGUIを表示する。また、ユーザ8からの入力イベントを取得し、GUIイベントに変換してGUIイベントログ取得・再生部12を通じてアプリケーション7への入力とする。
入力イベントログ取得・再生部12はユーザ8と表示サーバ5間を中継し、ユーザ8からの、キーボードやマウスといった入力装置による入力イベントを発生時刻順に入力イベントログとして取得する。図3に入力イベントの例を示す。入力イベントの種類としては、キーボードのあるキーの押下と開放、マウス ボタンのクリック、押下と開放、マウスポインタの移動やドラッグなどがある。
入力イベントログ取得・再生部11はそれぞれのイベントにイベントの発生時刻情報を付加した入力イベントログを生成し、記録再生制御部14への入力とする。図4に入力イベントログの例を示す。この図からわかるように、たとえば「Key 'A' on」イベントのログでは、イベントの発生時刻は「2005-04-01T09:30:12.034」である。
GUIイベントログ取得・再生部12は、アプリケーション7から表示サーバ5へのGUI描画イベントを中継し、GUIイベントを発生時刻順にGUIイベント ログとして取得する。図5にGUIイベントの例を示す。GUIイベントの種類 としては、ウィンドウやボタンといったウィジェットの作成や、ウィジェットの配置などがある。
GUIイベントログ取得・再生部20はそれぞれのイベントにイベントの発生時刻情報を付加したGUIイベントログを生成し、記録再生制御部14への入力とする。図6にGUIイベントログの例を示す。この図からわかるように、たとえば「Window#new」イベントのログでは、イベントの発生時刻は「2005-04-01T09:30:12.034」である。
アプリケーション7および表示サーバ5はチェックポイント取得・再生部13の制御下で実行され、チェックポイント取得・再生部13によって定期的にチェックポイントが取得される。チェックポイントを取得するために、それぞれのアプリケーション7および表示サーバ5は内部状態を後から復元可能な形 式に直列化するためのインタフェースと、直列化された内部状態を読み込むためのインタフェースを備える。
図7にアプリケーション7に実装されたチェックポイント用のインタフェース例を示す。図7によると、アプリケーション7は内部状態を直列化した文字列 を返す関数checkpoint()と、直列化された内部状態をロードするための関数load#checkpoint()を備える。チェックポイント取得・再生部13は一定間隔ごとにアプリケーションのcheckpoint() 関数を呼び出し、直列化された内部状態をチェックポイント保存部4へ保存する。また、チェックポイント指示部21からの指示に応じて、チェックポイント取得・再生部13はアプリケーション7のload#checkpoint()関数を呼び出し、チェックポイント保存部4に保存された直列化データを読み込み、以前の状態を復元する。
チェックポイント保存部4は、チェックポイント取得・再生部13によって取得されたチェックポイントと関連情報を保持するための記憶手段である。
図8にチェックポイント保存部4に保存されるチェックポイントデータの例を示す。図8によると、各時刻におけるチェックポイントデータは16進として直列化され、それぞれのデータにはcheckpoint()関数が呼び出された時刻が保存されている。
記録再生制御部14は、チェックポイント指示部21と依存関係設定部22とチェックポイント選択部23と依存関係解析部24とログ再生指示部 45から構成される。依存関係設定部22は、入力イベントおよび GUIイベントに送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する。表示サーバ5およびアプリケーション7の実行履歴 は、チェックポイントが取得された時刻によっていくつかの区間に区切られる。これをチェックポイント区間と呼び、それぞれに0から始まる通し番号を振る。依存関係設定部22はこのチェックポイント区間番号を用いて、GUIイベントの送信者と受信者、および送受信されたチェックポイント区間の組をログ保存部3へ保存する。
依存関係設定部22の動作の具体例を図9に示す。たとえば、イベントbの送信者はアプリケーション7で、受信者は表示サーバ5である。イベントbがアプリケーション7から発行されたチェックポイント区間は1であり、チェックポイント区間1でのイベント送受信発生順序の最初であるため、送信情報は「アプリケーション:(1,1)」と表わされる。同様に、イベントbが表示サーバ5で受信されたチェックポイント区間は2であり、同区間内の送受信発生順 序は0であるため、受信情報は「表示サーバ:(2, 0)」と表わされる。以上より、イベントbのIDは送信=「アプリケーション:(1,1)」、受信=「表示サーバ:(2, 0)」と表わされる。
ログ保存部3は、入力イベントログ取得・再生部11およびGUIイベント ログ取得・再生部12によって取得されたイベントログと依存関係設定部22によって設定された依存情報を保持するための記憶手段である。
チェックポイント選択部23は、ユーザ8が指定する巻き戻し/早送りの指示に応じて、表示サーバ5が巻き戻すチェックポイントを選択する。
チェックポイント選択部23の動作の具体例を図10に示す。図10におい て、ユーザ8が操作部2により巻き戻したい時刻(巻き戻し地点)tを指定したとする。チェックポイント選択部23は、巻き戻し地点が含まれるチェックポイント区間をチェックポイント保存部4より割り出し、このチェックポイント区間を開始するチェックポイントを決定する。図10の例では、チェックポイントC0がこれに対応する。
ログ再生指示部25は、ユーザ8が指定した巻き戻し地点に応じてGUIイベントログ取得・再生部12および入力イベントログ取得・再生部11で再生するログをログ保存部3より取得し、それぞれの入力イベントログ取得・再生部11へ渡し、ログを再生させる。
ログ再生指示部25の動作の具体例を図11に示す。巻き戻し地点tへ表示サーバ5を巻き戻すためには、チェックポイント選択部23によって選択されたチェックポイントC0を起点として、表示サーバ5とユーザ8もしくはアプリケーション7の間で送受信されるイベントを再生する必要がある。ここで、ログ保存部3に保存されたイベントログより、チェックポイントC0と巻き戻し地点の間のイベントはaとbの2 つであることがわかる。ログ再生指示部25は、この2つのログを取り出し、イベントaをGUIイベントログ取得・再生部12へ、またイベントbを入力イベントログ取得・再生部11へ渡し、再生を依頼する。
依存関係解析部24は、依存関係設定部22によって設定された依存関係と表示サーバ5の巻き戻し地点より、アプリケーション8の巻き戻し地点を算出する。
依存関係解析部24の動作の具体例を図12に示す。依存関係解析部24は、ログ保存部3に保存されたGUIイベントログより、表示サーバ5の巻き戻し地点以前の、アプリケーション7から表示サーバ5へのイベントのうち、最も新しいイベントを選択する。このイベントがアプリケーション7により発行された時刻の直後がアプリケーション7の巻き戻し地点として選択される。巻き戻し地点が決定した後は表示サーバ5の巻き戻しと同様に、巻き戻し地点に対応するチェックポイントとイベントをチェックポイント選択部23およびログ再生指示部25により求め、ログを再生することによりアプリケーション7を巻き戻し地点の状態に戻す。
次に、図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の状態を巻き戻し地点の状態へ戻す。
ステップ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の状態を巻き戻し地点の状態へ戻す。
次に、図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を巻き戻し地点の状態へ戻す。
ステップ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を巻き戻し地点の状態へ戻す。
なお、以上説明したアプリケーション記録再生装置の機能は、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、CD−ROM等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの(伝送媒体もしくは伝送波)、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。
本発明のアプリケーション記録再生装置は、GUIを備えるパーソナルコンピュータやワークステーション、およびサーバなどのコンピュータに対して適用することができる。
1 アプリケーション記録再生装置
2 操作部
3 ログ保存部
4 チェックポイント保存部
5 表示サーバ
6 ディスプレイ
7 アプリケーション
8 ユーザ
11 入力イベントログ取得・再生部
12 GUIイベントログ取得・再生部
13 チェックポイント取得・再生部
14 記録再生制御部
21 チェックポイント指示部
22 依存関係設定部
23 チェックポイント選択部
24 依存関係解析部
25 ログ再生指示部
101〜105,201〜205 ステップ
2 操作部
3 ログ保存部
4 チェックポイント保存部
5 表示サーバ
6 ディスプレイ
7 アプリケーション
8 ユーザ
11 入力イベントログ取得・再生部
12 GUIイベントログ取得・再生部
13 チェックポイント取得・再生部
14 記録再生制御部
21 チェックポイント指示部
22 依存関係設定部
23 チェックポイント選択部
24 依存関係解析部
25 ログ再生指示部
101〜105,201〜205 ステップ
Claims (8)
- ユーザからの入力イベントをその発生時刻順に取得し、再生する入力イベントログ取得・再生部と、
アプリケーションからのGUIイベントをその発生時刻順にGUIイベントログとして取得し、再生するGUIイベントログ取得・再生部と、
前記アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生部と、
前記入力イベントログと前記GUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いて前記アプリケーションの巻き戻し 再生の制御を行う記録再生制御部と
を有するアプリケーション記録再生装置。 - 前記記録再生制御部は、
前記入力イベントおよび前記GUIイベントに該イベントの送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する依存関係設定部と、
前記表示サーバの巻き戻し時、ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択し、前記アプリケーションの巻き戻し時、選択されたイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを選択するチェックポイント選択部と、
前記チェックポイント選択部によって選択されたチェックポイントを前記チェックポイント取得・再生部に渡し、該チェックポイントの再生を依頼するチェックポイント指示部と、
前記表示サーバの巻き戻し時、前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生部、前記GUIイベントログ取得・再生部にログの再生を依頼し、前記アプリケーションの巻き戻し時、前記の選択されたチェックポイントと前記の選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生部、前記GUIイベントログ取得・再生部にログの再生を依頼するログ再生指示部と、
前記アプリケーションの巻き戻し時、前記依存関係設定部によって設定されたイベント間の依存関係を用い、前記表示サーバの巻き戻し地点より前の、アプリケーションから前記表示サーバへのイベントのうち、最も新しいイベントを選択し、該イベントが前記アプリケーションによって発行された時刻の直後を前記アプリケーションの巻き戻し地点として選択する依存関係解析部と、
を含む、請求項1に記載のアプリケーション記録再生装置。 - 前記チェックポイント取得・再生部は、前記アプリケーションが有する、その内部状態を直列化した文字列を返す関数を呼び出し、直列化された内部状態をチェックポイント保存部へ保存し、また前記チェックポイント指示部からの指示に応じて、前記アプリケーションが有する、直列化された内部状態をロードするための関数を呼び出し、前記チェックポイント保存部に保存された直列化データを読み込み、以前の状態を復元する、請求項2に記載のアプリケーション記録再生装置。
- アプリケーション記録再生装置における、表示サーバの巻き戻し方法であって、
ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択することと、
前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを取得することと、
前記の選択されたチェックポイントを再生すること、
前記取得されたイベントのログを再生することと、
を有する、表示サーバの巻き戻し方法。 - アプリケーション記録再生装置における、アプリケーションの巻き戻し方法であって、
ユーザが指定した、アプリケーションの巻き戻し地点より前の、アプリケーションから表示サーバへのイベントのうち、最も新しいイベントを選択することと、
前記の最も新しいイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを決定することと、
前記の決定されたチェックポイントと、前記選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを選択することと、
前記の決定されたチェックポイントを再生することと、
前記アプリケーションに対して送受信されたイベントを再生することと
を有する、アプリケーションの巻き戻し方法。 - アプリケーション記録再生装置の機能をコンピュータに実施させるためのプログラムであって、
ユーザからの入力イベントをその発生時刻順に取得し、再生する入力イベントログ取得・再生手順と、
アプリケーションからのGUIイベントをその発生時刻順にGUIイベントログとして取得し、再生するGUIイベントログ取得・再生手順と、
前記アプリケーションの実行状態のスナップショットであるチェックポイントを取得し、再生するチェックポイント取得・再生手順と、
前記入力イベントログと前記GUIイベントログを再生可能な形式でログ保存部に保存し、ユーザからの指示に応じて前記入力イベントログと前記GUIイベントログと前記チェックポイントを用いて前記アプリケーションの巻き戻し 再生の制御を行う記録再生制御手順と
をコンピュータに実行させるためのアプリケーション記録再生プログラム。 - 前記記録再生制御手順は、
前記入力イベントおよび前記GUIイベントに該イベントの送信者と受信者、および送受信された順序を示す一意なIDを設定することによって、イベント間の依存関係を設定する依存関係設定手順と、
前記表示サーバの巻き戻し時、ユーザの巻き戻しの指示にしたがって、ユーザが指定した、アプリケーションの巻き戻し地点を含む、表示サーバが巻き戻すチェックポイント区間を開始するチェックポイントを選択し、前記アプリケーションの巻き戻し時、選択されたイベントが発行されたアプリケーションのチェックポイント区間を求め、該チェックポイント区間を開始するチェックポイントを選択するチェックポイント選択手順と、
前記チェックポイント選択手順によって選択されたチェックポイントを前記チェックポイント取得・再生手順に渡し、該チェックポイントの再生を依頼するチェックポイント指示手順と、
前記表示サーバの巻き戻し時、前記の選択されたチェックポイントと前記の指定された巻き戻し地点の間の、前記表示サーバに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生手順、前記GUIイベントログ取得・再生手順にログの再生を依頼し、前記アプリケーションの巻き戻し時、前記の選択されたチェックポイントと前記の選択されたイベントの発生時刻の間に前記アプリケーションに対して送受信されたイベントを前記ログ保存部より取得し、前記入力イベントログ取得・再生手順、前記GUIイベントログ取得・再生手順にログの再生を依頼するログ再生指示手順と、
前記アプリケーションの巻き戻し時、前記依存関係設定手順によって設定されたイベント間の依存関係を用い、前記表示サーバの巻き戻し地点より前の、アプリケーションから前記表示サーバへのイベントのうち、最も新しいイベントを選択し、該イベントが前記アプリケーションによって発行された時刻の直後を前記アプリケーションの巻き戻し地点として選択する依存関係解析手順と、
を含む、請求項6に記載のアプリケーション記録再生プログラム。 - 前記チェックポイント取得・再生手順は、前記アプリケーションが有する、その内部状態を直列化した文字列を返す関数を呼び出し、直列化された内部状態をチェックポイント保存部へ保存し、また前記チェックポイント指示部からの指示に応じて、前記アプリケーションが有する、直列化された内部状態をロードするための関数を呼び出し、前記チェックポイント保存部に保存された直列化データを読み込み、以前の状態を復元する、請求項7に記載のアプリケーション記録再生プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048023A JP2009205502A (ja) | 2008-02-28 | 2008-02-28 | アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008048023A JP2009205502A (ja) | 2008-02-28 | 2008-02-28 | アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009205502A true JP2009205502A (ja) | 2009-09-10 |
Family
ID=41147680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008048023A Pending JP2009205502A (ja) | 2008-02-28 | 2008-02-28 | アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009205502A (ja) |
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 (ja) * | 2014-04-08 | 2017-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ソフトウェア障害の位置標定方法、装置及び設備 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784765A (ja) * | 1993-08-06 | 1995-03-31 | Toshiba Corp | Guiテスト装置 |
JPH10143397A (ja) * | 1996-11-05 | 1998-05-29 | Nec Corp | 複数ウィンドウ履歴管理システム |
JP2000235549A (ja) * | 1999-02-17 | 2000-08-29 | Nippon Telegr & Teleph Corp <Ntt> | 操作履歴の時系列記録による同期再生方法および操作抽出端末と操作再生端末の操作履歴同期再生プログラムを記録した記録媒体 |
JP2005107573A (ja) * | 2003-09-26 | 2005-04-21 | Keio Gijuku | 実行状態を復元できるコンピュータ・システム |
JP2005275444A (ja) * | 2004-03-22 | 2005-10-06 | Fuji Xerox Co Ltd | 情報処理装置 |
-
2008
- 2008-02-28 JP JP2008048023A patent/JP2009205502A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784765A (ja) * | 1993-08-06 | 1995-03-31 | Toshiba Corp | Guiテスト装置 |
JPH10143397A (ja) * | 1996-11-05 | 1998-05-29 | Nec Corp | 複数ウィンドウ履歴管理システム |
JP2000235549A (ja) * | 1999-02-17 | 2000-08-29 | Nippon Telegr & Teleph Corp <Ntt> | 操作履歴の時系列記録による同期再生方法および操作抽出端末と操作再生端末の操作履歴同期再生プログラムを記録した記録媒体 |
JP2005107573A (ja) * | 2003-09-26 | 2005-04-21 | Keio Gijuku | 実行状態を復元できるコンピュータ・システム |
JP2005275444A (ja) * | 2004-03-22 | 2005-10-06 | Fuji Xerox Co Ltd | 情報処理装置 |
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 (ja) * | 2014-04-08 | 2017-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | ソフトウェア障害の位置標定方法、装置及び設備 |
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 (ja) | コンピュータプログラム及びデータバックアップ方法 | |
CN103970649A (zh) | Android终端应用程序的测试方法和装置 | |
US20140040738A1 (en) | Information processor, information processing method, and computer program product | |
US20070025197A1 (en) | Information-processing apparatus, recording medium and information-processing method | |
WO2005088453A2 (en) | System and method for continuously recording user actions and displayed images | |
US20040133550A1 (en) | File transfer program | |
JP2011520324A (ja) | ウェブページ内メディアコンテンツ再生兼再生制御方法及び装置 | |
JP2009205502A (ja) | アプリケーション記録再生装置、アプリケーションの巻き戻し方法、アプリケーション記録再生プログラム | |
KR100754188B1 (ko) | 컨텐츠 파일 목록 표시 기능을 갖는 기록재생장치 및컨텐츠 파일 목록 표시 방법과 그 기록매체 | |
US8824872B2 (en) | Display control apparatus, reproduction system, and recording medium in which display control is performed based on a detected event | |
JP4530995B2 (ja) | 情報処理装置及び操作ログ収集方法及び操作ログ収集プログラム | |
JP5272835B2 (ja) | 画像供給装置、画像供給方法、及び画像供給用プログラム | |
KR20100135727A (ko) | 버퍼링 상태에 기반한 디지털 멀티미디어 녹화 방법 및 장치 | |
JP2002344849A (ja) | 動画像処理装置、動画像処理方法、記録媒体、及び制御プログラム | |
US9088767B2 (en) | Activities duplication via recorded video | |
JP6262502B2 (ja) | ファイル提示システム、制御装置、端末装置、提示方法、および提示プログラム | |
US8340508B2 (en) | Record/playback apparatus and control method therefor | |
JP2007184884A (ja) | 信号ピックアップ方法及び同方法を用いた映像/音声記録再生システム | |
KR102146946B1 (ko) | 구조화된 녹음 파일의 제공 방법, 장치 및 컴퓨터-판독가능 기록 매체 | |
JP6059989B2 (ja) | 処理プログラム、端末装置、処理システム及び処理方法 | |
JP6972094B2 (ja) | 端末装置、提示方法、及び提示プログラム | |
JP2012043313A (ja) | 電子装置 |
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 |