JP2011192219A - 復元装置及び復元プログラム - Google Patents

復元装置及び復元プログラム Download PDF

Info

Publication number
JP2011192219A
JP2011192219A JP2010059984A JP2010059984A JP2011192219A JP 2011192219 A JP2011192219 A JP 2011192219A JP 2010059984 A JP2010059984 A JP 2010059984A JP 2010059984 A JP2010059984 A JP 2010059984A JP 2011192219 A JP2011192219 A JP 2011192219A
Authority
JP
Japan
Prior art keywords
restoration
application
operation input
unit
backup
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
Application number
JP2010059984A
Other languages
English (en)
Inventor
Nobutaka Murata
信貴 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010059984A priority Critical patent/JP2011192219A/ja
Publication of JP2011192219A publication Critical patent/JP2011192219A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】エラーが発生しても手戻りの発生を防止すること。
【解決手段】復元装置は、操作入力を受け付けるごとに、メモリのデータ状態を所定の記憶部にバックアップする。復元装置は、バックアップした後に、操作入力に対応するアプリケーションが操作入力に対応する処理を実行するように制御する。復元装置は、操作入力を受け付けた際にバックアップされたデータ状態にメモリのデータ状態を戻すことで、操作入力に対応する処理の実行前におけるアプリケーションの状態を復元する。また、復元装置は、メモリの記憶領域のうち、操作入力に対応するアプリケーションによって使用される記憶領域である使用記憶領域すべてのデータ状態をバックアップし、バックアップされたデータ状態に使用記憶領域のデータ状態を戻す。
【選択図】図1

Description

本発明は、復元装置及び復元プログラムに関する。
利用者は、コンピュータで各種のアプリケーションを使用する。利用者は、コンピュータに対して、様々な操作を行う。例えば、利用者は、データを更新する更新操作を行い、プリンタに印刷を実行させる操作を行い、アプリケーションを設定する設定操作を行う。
利用者が更新操作を行った場合に、更新前のデータをメモリに記憶する記憶装置がある。記憶装置は、利用者によって特定のキー操作が行われると、更新操作が行われた箇所のデータをメモリに記憶された更新前のデータに置き換える。言い換えると、記憶装置は、直前に利用者が行った操作を取り消し、元の状態に戻す。例えば、利用者は、誤った更新操作を行ったことに気づくと、特定のキー操作を行う。また、更新前のデータを記憶するメモリを複数有する記憶装置もある。
利用者が何らかの操作を行うことでエラーが発生し、アプリケーションが終了することがある。この場合、利用者がデータを作成中であった場合には、未保存のデータは失われる。
特開昭61−201349号公報 特開平7−168950号公報
しかしながら、上述した記憶装置では、エラーが発生すると、同じ操作を利用者が再度行うことになるという問題があった。つまり、上述した記憶装置では、手戻りが発生するという問題があった。
例えば、上述した記憶装置では、更新前のデータを1つ又は複数記憶するにすぎない。また、上述した記憶装置では、エラーが発生すると更新前のデータが失われる。このため、上述した記憶装置では、エラーが発生した場合に、最後にデータが保存された後に行った更新操作すべてを利用者が再度行うことになる。
また、例えば、上述した記憶装置では、更新前のデータを記憶するにすぎず、エラーが発生すると、アプリケーションに対して利用者が設定した設定内容が失われる。このため、アプリケーションを設定する設定操作を利用者が行った後にエラーが発生すると、エラー発生前に行った設定操作すべてを利用者が再度行うことになる。
開示の技術は、上述に鑑みてなされたものであって、エラーが発生しても手戻りの発生を防止可能である復元装置及び復元プログラムを提供することを目的とする。
開示する復元装置は、一つの態様において、操作入力を受け付けるごとに、メモリのデータ状態を所定の記憶部にバックアップするバックアップ部を備える。また、開示する復元装置は、前記バックアップ部によってバックアップされた後に、前記操作入力に対応するアプリケーションが該操作入力に対応する処理を実行するように制御する実行制御部を備える。また、開示する復元装置は、前記操作入力を受け付けた際に前記バックアップ部によってバックアップされたデータ状態に前記メモリのデータ状態を戻すことで、該操作入力に対応する処理の実行前における前記アプリケーションの状態を復元する復元部を備える。
開示する復元装置の一つの態様によれば、エラーが発生しても手戻りの発生を防止可能であるという効果を奏する。
図1は、実施例1に係る復元装置の構成の一例を示すブロック図である。 図2は、実施例2に係る復元装置の構成の一例を示すブロック図である。 図3は、実施例2に係る復元装置による処理の流れの一例を示すフローチャートである。 図4は、実施例2に係る復元装置による処理の流れの一例を示す図である。 図5は、実施例2における異常検出処理部による処理の流れの一例を示すフローチャートである。 図6は、実施例2に係る復元プログラムを実行するコンピュータの一例を示す図である。
以下に、開示する復元装置及び復元プログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
図1を用いて、実施例1に係る復元装置100の構成の一例を示す。図1は、実施例1に係る復元装置の構成の一例を示すブロック図である。復元装置100は、図1に示す例では、記憶部101と、バックアップ部102と、実行制御部103と、復元部104とを有する。
バックアップ部102は、操作入力を受け付けるごとに、メモリのデータ状態を所定の記憶部101にバックアップする。また、実行制御部103は、バックアップ部102によってバックアップされた後に、操作入力に対応するアプリケーションが操作入力に対応する処理を実行するように制御する。
復元部104は、操作入力を受け付けた際にバックアップ部102によってバックアップされたデータ状態にメモリのデータ状態を戻すことで、該操作入力に対応する処理の実行前におけるアプリケーションの状態を復元する。
すなわち、アプリケーションの状態は、メモリに記憶されることを踏まえ、実施例1に係る復元装置100は、操作入力ごとに、アプリケーションの状態を保持するメモリのデータ状態をバックアップする。そして、復元装置100は、エラーが発生すると、メモリのデータ状態をエラー発生直前に戻すことでエラー発生直前のアプリケーションの状態を復元する。この結果、復元装置100によれば、エラーが発生しても手戻りの発生を防止可能である。つまり、復元装置100によれば、同じ操作を利用者が再度行うことを防止可能である。
[復元装置の構成]
実施例2に係る復元装置200について説明する。復元装置200は、各種のアプリケーションを利用者が使用する際に利用者によって用いられる。例えば、復元装置200は、パーソナルコンピュータやワークステーション、家庭用ゲーム機、PDA(Personal Digital Assistant)、携帯電話やPHS(Personal Handyphone System)端末などが該当する。
図2を用いて、実施例2に係る復元装置200の構成の一例を示す。図2は、実施例2に係る復元装置の構成の一例を示すブロック図である。復元装置200は、図2に示す例では、入力部201と、出力部202と、第1の記憶部300と、第2の記憶部400と、制御部500とを有する。
入力部201は、制御部500と接続される。入力部201は、利用者から各種の操作入力を受け付け、受け付けた操作入力を制御部500に入力する。入力部201は、操作入力として、例えば、データを更新する更新操作を利用者から受け付け、アプリケーションを設定する設定操作を利用者から受け付ける。入力部201は、利用者がアプリケーションを実行する際に、更新操作や設定操作を受け付ける。入力部201は、例えば、キーボードやマウス、マイクなどが該当する。出力部202は、制御部500と接続される。出力部202は、制御部500から情報を受け付け、受け付けた情報を利用者に出力する。例えば、出力部202は、利用者によって実行されるアプリケーションの操作画面を出力する。出力部202は、例えば、モニタやスピーカなどが該当する。
第1の記憶部300は、制御部500と接続される。第1の記憶部300は、制御部500によってアプリケーションが実行される際に用いられるデータを記憶する。第1の記憶部300は、例えば、RAM(Random Access Memory)が該当する。第1の記憶部300は、「メモリ」とも称する。
ここで、第1の記憶部300とアプリケーションとの関係について説明する。第1の記憶部300は、アプリケーションの状態を示す情報を記憶する。言い換えると、アプリケーションは、現在の状態を示す情報を第1の記憶部300に格納して用いた上で、各種の処理を実行する。アプリケーションの状態を示す情報とは、例えば、アプリケーションが出力部202を介して利用者に出力する出力画面を示す情報や、アプリケーションの設定内容を示す情報などが該当する。
また、第1の記憶部300は、アプリケーションの状態を示す情報すべてを記憶するものとして説明する。言い換えると、一時ファイルなどの中間ファイルをアプリケーションが使用しないものとして説明する。このため、第1の記憶部300のデータ状態を任意の時点における第1の記憶部300のデータ状態と同一になるように変更することで、任意の時点におけるアプリケーションの状態が復元される。このため、例えば、アプリケーション「A」に割り当てられた記憶領域のデータ状態を、任意の時点におけるデータ状態と同一になるように変更することで、任意の時点におけるアプリケーション「A」の状態が復元される。
また、第1の記憶部300の記憶領域のうちアプリケーションによって使用される記憶領域は、アプリケーション自身やアプリケーションを管理するOS(Operating System)によって、アプリケーションごとに割り当てられる。例えば、アプリケーションの起動時に、アプリケーション自身やアプリケーションを管理するOSによって割り当てられる。
また、アプリケーションが、メモリを管理する際に用いる変数として、ローカル変数ではなくグローバル変数を用いる場合を用いて説明する。ローカル変数は、関数内で一時的に変数を使うときに割り当てられる変数であり、アプリケーションを形成するプログラムのうち特定のブロックによって参照されたり更新されたりする。ローカル変数は、関数終了時に自動消滅する。ローカル変数は、自動変数とも称される。グローバル変数は、すべてのアプリケーションによって参照されたり更新されたりすることが可能な変数を示す。ただし、ローカル変数によって指定される記憶領域をアプリケーションに割り当てられた記憶領域の内いずれかとすることで、グローバル変数だけでなくローカル変数も使用するようにしても良い。
第2の記憶部400は、制御部500と接続される。第2の記憶部400は、制御部500による復元処理に用いられるデータを記憶する。第2の記憶部400は、例えば、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、ハードディスク、光ディスクなどが該当する。第2の記憶部400は、「所定の記憶部」とも称する。
第2の記憶部400は、第1の記憶部300のデータ状態のバックアップを記憶する。具体的には、第2の記憶部400は、制御部500によって実行されるアプリケーションごとに、第1の記憶部300の記憶領域のうち、アプリケーションによって使用される記憶領域である使用記憶領域すべてのデータ状態のバックアップを記憶する。第2の記憶部400によって記憶されるバックアップは、制御部500によって格納され、制御部500によって用いられる。
制御部500は、入力部201、出力部202、第1の記憶部300及び第2の記憶部400と接続される。制御部500は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部500は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路が該当する。制御部500は、図2に示す例では、バックアップ復元処理部501と、実行制御部502と、異常検出処理部503とを有する。
バックアップ復元処理部501は、以下に順に説明するように、第1の記憶部300をバックアップするバックアップ処理を実行し、バックアップを用いて第1の記憶部300を復元する復元処理を実行する。
バックアップ復元処理部501のバックアップ処理について説明する。バックアップ復元処理部501は、操作入力を入力部201が受け付けるごとに、第1の記憶部300のデータ状態を第2の記憶部400にバックアップする。具体的には、バックアップ復元処理部501は、第1の記憶部300の記憶領域のうち、操作入力に対応するアプリケーションによって使用される記憶領域である使用記憶領域すべてのデータ状態をバックアップする。また、バックアップ復元処理部501は、アプリケーションごとに、使用記憶領域のデータ状態をバックアップする。言い換えると、バックアップ復元処理部501は、使用記憶領域のスナップショットをアプリケーションごとに作成し、作成したスナップショットを第2の記憶部400に格納する。
バックアップ復元処理部501は、例えば、データを更新する更新操作を利用者が行った際にバックアップ処理を実行し、プリンタに印刷を実行させる操作を利用者が行った際にバックアップ処理を実行する。また、例えば、バックアップ復元処理部501は、アプリケーションを設定する設定操作を利用者が行った際にバックアップ処理を実行する。
より詳細な一例をあげて説明すると、バックアップ復元処理部501は、利用者によってアプリケーションのメニューから任意のコマンドが選択された際に、バックアップ処理を実行する。また、バックアップ復元処理部501は、アプリケーションの作業領域においてマウスやキー操作が利用者によって行われた際に、バックアップ処理を実行する。
また、バックアップ復元処理部501は、操作入力に対応するアプリケーションが操作入力に対応する処理を実行する前に、第1の記憶部300のデータ状態を第2の記憶部400にバックアップする。すなわち、バックアップ復元処理部501は、操作入力に対応するアプリケーションが操作入力に対応する処理を実行するとエラーが発生する可能性があることを踏まえ、処理実行前の第1の記憶部300のデータ状態をバックアップする。
ここで、バックアップ復元処理部501は、操作入力を入力部201が受け付けるごとに、操作入力に対応するアプリケーションが操作入力に対応する処理を実行する前に、バックアップを実行する。この結果、エラーを発生させる操作入力をアプリケーションが実行した場合に、第2の記憶部400は、エラーを発生させる操作入力が実行される直前の第1の記憶部300のバックアップを記憶することになる。
また、バックアップ復元処理部501は、新たにデータ状態をバックアップするごとに、以前にバックアップされたデータ状態に上書きする。この結果、第2の記憶部400のリソースを節約できるとともに、アプリケーションごとに複数のバックアップを管理することにより発生する管理の手間を省くことが可能である。ただし、本発明はこれに限定されるものではなく、アプリケーションごとに複数のバックアップを記憶しても良い。
バックアップ復元処理部501の復元処理について説明する。バックアップ復元処理部501は、操作入力を受け付けた際に第2の記憶部400にバックアップしたデータ状態に第1の記憶部300のデータ状態を戻すことで、該操作入力に対応する処理の実行前におけるアプリケーションの状態を復元する。具体的には、バックアップ復元処理部501は、後述する実行制御部502による制御によって実行された処理によりエラーが発生する場合に、復元処理を実行する。
より詳細には、バックアップ復元処理部501は、バックアップしたデータ状態に使用記憶領域のデータ状態を戻す。すなわち、バックアップ復元処理部501は、アプリケーションにエラーが発生する場合に、エラーが発生するアプリケーションについてバックアップされたデータ状態を第2の記憶部400から取得する。そして、バックアップ復元処理部501は、アプリケーションに対応する使用記憶領域のデータ状態を取得したデータ状態と同一にする。例えば、バックアップ復元処理部501は、復元する旨の指示を示す操作である復元操作を利用者から入力部201が受け付けると、復元処理を実行する。ただし、本発明はこれに限定されるものではなく、例えば、バックアップ復元処理部501は、後述する異常検出処理部503によってエラーが検出されるごとに、自動的に、復元処理を実行しても良い。
実行制御部502は、バックアップ復元処理部501によってバックアップされた後に、操作入力に対応するアプリケーションが操作入力に対応する処理を実行するように制御する。実行制御部502がアプリケーションを実行する場合を用いて説明する。この場合、実行制御部502は、バックアップ復元処理部501によってバックアップが終了した操作入力に対応する処理を、操作入力に対応するアプリケーションにて実行する。
異常検出処理部503は、コンピュータに発生するエラーを検出する。具体的には、操作入力に対応する処理を実行することでエラーが発生するかを監視することで、エラーを検出する。アプリケーションが操作入力に対応する処理について監視することで、エラーを検出する。
例えば、異常検出処理部503は、操作入力に対応するアプリケーションが実際に処理を実行した際にエラーが発生したかを監視することで、エラーを検出する。異常検出処理部503は、例えば、例外エラーや、0割りエラーなどが発生したかを監視し、発生したとの監視結果が得られた場合にエラーありとする。例外エラーは、例えば、操作入力に対応する処理において、不正な命令へのアクセスが発生した場合、無効なデータやコードにアクセスした場合などに発生するエラーを示す。0割りエラーとは、分母を「0」とする除算処理が実行されることで発生するエラーを示す。
また、例えば、異常検出処理部503は、OSのイベントログを参照し、操作入力に対応するアプリケーションについてのエラーや致命的な警告が通知されたか否かを監視することで、エラーを検出する。異常検出処理部503は、例えば、イベントログにエラーが通知された場合にエラーありとする。イベントログは、OSやアプリケーションの動作状態のログを記憶する。例えば、イベントログは、OSやアプリケーションが正常に動作する際には、正常に動作する旨の情報を記憶し、OSやアプリケーションにエラーが発生した場合には、エラーが発生した旨を示す情報や如何なるエラーが発生したかを示す情報などを記憶する。
また、例えば、異常検出処理部503は、コンピュータのメモリ使用率やCPU使用率を参照し、メモリ使用率やCPU使用率が所定値以上であるかを監視することでエラーを検出する。例えば、コンピュータのメモリ使用率やCPU使用率が所定の時間を越えて100%となっているかを監視することで、エラーを検出する。異常検出処理部503は、例えば、メモリ使用率やCPU使用率が所定の時間を越えて100%となっているとの監視結果が得られた場合にエラーありとする。つまり、メモリ使用率やCPU使用率が100%となっている場合にはエラーが発生したことが多いことを踏まえ、異常検出処理部503は、メモリ使用率やCPU使用率を用いてエラーを検出する。
また、例えば、異常検出処理部503は、操作入力に対応するアプリケーションからの応答が所定の時間ないかを監視することで、エラーを検出する。異常検出処理部503は、例えば、アプリケーションからの応答が所定の時間ない場合にエラーありとする。つまり、アプリケーションからの応答が所定の時間ない場合にはエラーが発生したことが多いことを踏まえ、異常検出処理部503は、応答が所定の時間ないかを用いてエラーを検出する。
異常検出処理部503は、エラーを検出すると、復元操作を受け付ける画面を出力部202を介して利用者に出力する。例えば、「現在の操作によって、アプリケーションが異常終了したり、応答なしになる可能性があります。操作を中断しますか?」とのメッセージを出力するとともに、復元操作を利用者から受け付ける選択肢を利用者に出力する。ここで、利用者によって復元操作を受け付ける選択肢が選択されると、バックアップ復元処理部501が、操作入力に対応する処理の実行直前の第1の記憶部300のデータ状態を復元する。この結果、操作入力に対応する処理直前のアプリケーションの状態が復元される。
[復元装置による処理]
図3及び図4を用いて、実施例2に係る復元装置200による処理の流れの一例を示す。図3は、実施例2に係る復元装置による処理の流れの一例を示すフローチャートである。図4は、実施例2に係る復元装置による処理の流れの一例を示す図である。
図4において、610は、出力部202によって出力される情報や利用者によって実行される操作を示す領域であり、620は、復元装置200によって実行される処理を示す領域である。611や613は、アプリケーションの画面の一例を示し、612は、復元操作を受け付ける画面の一例を示す。612aは、復元操作を利用者から受け付ける選択肢を示し、612bは、復元しないことを示す操作を利用者から受け付ける選択肢を示す。621や623は、同じアプリケーションによって用いられる第1の記憶部300の記憶領域を示し、622は、記憶領域621のスナップショットを示す。
図3に示すように、バックアップ復元処理部501は、操作入力を入力部201が受け付けると(ステップS101肯定)、第1の記憶部300のデータ状態を第2の記憶部400にバックアップする(ステップS102)。例えば、図4の(1)に示すように、アプリケーションの画面に対して利用者が何らかの操作を実行すると、バックアップ復元処理部501は、第1の記憶部300をバックアップする。例えば、図4の(2)に示すように、バックアップ復元処理部501は、アプリケーションによって用いられる第1の記憶部300の記憶領域621のスナップショット622を作成し、第2の記憶部400に格納する。
そして、復元装置200では、図4の(3)に示すように、アプリケーションが操作入力に対応する処理を実行する(ステップS103)。そして、異常検出処理部503は、エラーを検出する(ステップS104)。
ここで、異常検出処理部503は、エラーが検出された場合には(ステップS105肯定)、復元操作を受け付ける画面を出力する(ステップS106)。例えば、図4の(4)に示すように、エラーが発生した場合に、図4の(5)に示すように、復元操作を受け付ける画面612を表示する。図4の(5)に示す例では、「現在の操作によって、アプリケーションが異常終了したり、応答なしになる可能性があります。操作を中断しますか?」とのメッセージを出力する場合を示した。また、図4の(5)に示す例では、復元操作を受け付ける選択肢612aと、復元しないことを示す操作を受け付ける選択肢612bとを出力する場合を示した。
ここで、利用者から復元操作を受け付けた場合には(ステップS107肯定)、バックアップ復元処理部501は、ステップS102にて作成されたデータ状態のバックアップを用いて、復元処理を実行する(ステップS108)。つまり、バックアップ復元処理部501は、第2の記憶部400にバックアップしたデータ状態に第1の記憶部300のデータ状態を戻すことで、処理の実行前におけるアプリケーションの状態を復元する。例えば、図4の(6)に示すように、画面612において利用者が選択肢612aを選択すると、図4の(7)に示すように、スナップショット622と同じデータ状態に記憶領域623を変更する。つまり、バックアップ復元処理部501は、スナップショット622を用いて記憶領域623をリカバリする。この結果、図4の623に示す記憶領域623のデータ状態は、操作入力に対応する処理が実行される前の記憶領域621と同じ状態となる。この結果、例えば、図4の(8)に示すように、アプリケーションは、操作入力を受け付ける前の状態と同じ状態となるアプリケーションの画面613を利用者に出力する。つまり、画面613と、画面611とは、同じアプリケーションの状態における画面となる。
一方、上述したステップS105において、エラーが検出されなかった場合には(ステップS105否定)、復元処理を実行しない。また、上述したステップS107において、利用者から復元操作を受け付けなかった場合には(ステップS107否定)、復元処理を実行しない。
[異常検出処理部による処理]
図5を用いて、実施例2に係る異常検出処理部による処理の流れの一例を示す。図5は、実施例2に係る異常検出処理部による処理の流れの一例を示すフローチャートである。図5に示す一連の処理は、図3におけるステップS104に対応する。
図5に示すように、異常検出処理部503は、操作入力に対応するアプリケーションが処理を実行することで、例外エラーや0割りエラー発生が発生したかを監視する(ステップS201)。ここで、異常検出処理部503は、例外エラーや0割りエラー発生が発生したとの監視結果が得られた場合には(ステップS202肯定)、エラーありとする(ステップS203)。
また、例外エラーや0割りエラー発生が発生したとの監視結果が得られなかった場合について説明する(ステップS202否定)。この場合、異常検出処理部503は、イベントログを参照し、操作入力に対応するアプリケーションについてのエラーがイベントログに通知されたかを監視する(ステップS204)。ここで、異常検出処理部503は、イベントログにエラーが通知されたとの監視結果が得られた場合には(ステップS205肯定)、エラーありとする(ステップS203)。
また、イベントログにエラーが通知されなかったとの監視結果が得られた場合について説明する(ステップS205否定)。この場合、異常検出処理部503は、コンピュータのメモリ使用率やCPU使用率を参照し、メモリ使用率やCPU使用率が所定値以上であるかを監視する(ステップS206)。ここで、異常検出処理部503は、メモリ使用率やCPU使用率が所定値以上であるとの監視結果が得られた場合には(ステップS207肯定)、エラーありとする(ステップS203)。
一方、異常検出処理部503は、メモリ使用率やCPU使用率が所定値以上であるとの監視結果が得られなかった場合には(ステップS207否定)、エラーなしとする(ステップS208)。
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップS201、S204、S206を任意の順番で実行しても良い。また、例えば、異常検出処理部503は、上述したステップに加えて、応答がない時間を用いてエラーを検出する処理を実行しても良い。
[実施例2の効果]
上述したように、実施例2によれば、復元装置200は、操作入力を受け付けるごとに、第1の記憶部300のデータ状態を第2の記憶部400にバックアップする。また、復元装置200は、バックアップした後に、操作入力に対応するアプリケーションが操作入力に対応する処理を実行するように制御する。また、復元装置200は、実行された処理によりエラーが発生する場合に、バックアップしたデータ状態に第1の記憶部300のデータ状態を戻すことで、処理の実行前におけるアプリケーションの状態を復元する。この結果、エラーが発生しても手戻りの発生を防止可能である。具体的には、コンピュータにエラーが発生しても、同じ作業を利用者が再度実行することを防止可能である。
例えば、不意のエラーが発生したとしても、編集中のファイルだけでなくエラー発生直前の状態を再現できる。この結果、保存されたデータにどの操作が反映されているかを利用者が確認する手間を省くことが可能であり、各種の操作を利用者が再度実行する手間を省くことが可能である。
また、実施例2によれば、復元装置200は、第1の記憶部300の記憶領域のうち、操作入力に対応するアプリケーションによって使用される記憶領域である使用記憶領域すべてのデータ状態をバックアップする。また、復元装置200は、バックアップしたデータ状態に使用記憶領域のデータ状態を戻す。この結果、操作入力に対応するアプリケーションによって使用される記憶領域について、選択的に戻すので、他のアプリケーションに影響を与えることなく、操作入力に対応するアプリケーションの状態を戻すことが可能である。
また、実施例2によれば、復元装置200は、アプリケーションごとに使用記憶領域のデータ状態をバックアップする。また、復元装置200は、アプリケーションにエラーが発生する場合に、アプリケーションについてバックアップされたデータ状態を第2の記憶部400から取得し、取得したデータ状態にアプリケーションに対応する使用記憶領域を戻す。この結果、アプリケーションが複数起動されている場合であっても、アプリケーションそれぞれについて復元することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
[バックアップ]
例えば、バックアップを外部ファイルとして用いても良い。この結果、アプリケーションによって作成された成果物だけでなく、成果物を作成したアプリケーションの状態についても復元可能なファイルとしてやりとりを行うことが可能となる。この結果、成果物を作成したアプリケーションの状態を他の利用者が再現する手間を省くことが可能である。
例えば、難しい操作を連続して利用者が成功させる必要がある場合に、1段階目の操作が成功した状態のバックアップを外部ファイル化する。CAD(Computer Aided Design)の操作中に、特定の3箇所をマウスで選択する場合を用いて説明する。また、特定の3箇所について選択することが難しい場合を用いて説明する。この場合、1箇所目の選択が成功した段階において、バックアップを外部ファイル化しておくことで、他の利用者がかかるバックアップを用いることで1箇所目の選択が成功したCADの状態をすぐに用いることが可能になる。また、UNDOやREDOなどの操作と異なり、アプリケーションを終了した後でも、外部ファイル化することでかかる状態を保存でき、また、別の端末にかかる状態をコピーすることも可能である。UNDOは、直前の操作を取り消す操作を示し、REDOは、UNDOにより取り消した操作を再度実行する操作を示す。
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、復元装置200は、利用者から復元操作を受け付けると復元する場合を用いて説明したが、本発明はこれに限定されるものではなく、エラーを検出すると、自動的に復元しても良い。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については(図1〜図5)、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第2の記憶部400を復元装置200の外部装置としてネットワーク経由で接続するようにしても良い。アプリケーションを実行する装置と復元装置200とを別装置として、ネットワーク経由で接続するようにしても良い。
また、操作入力に対応するアプリケーション自体が、成就したバックアップ処理や復元処理、異常検出処理を実行しても良い。また、操作入力に対応するアプリケーションを管理するアプリケーションや、操作入力に対応するアプリケーションとは別のアプリケーションが、成就したバックアップ処理や復元処理、異常検出処理を実行しても良い。
[コンピュータ]
また、上述の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図6を用いて、上述の実施例と同様の機能を有する復元プログラムを実行するコンピュータの一例を示す。なお、図6は、実施例2に係る復元プログラムを実行するコンピュータの一例を示す図である。
図6に示すように、実施例2におけるコンピュータ3000は、操作部3001、マイク3002、スピーカ3003、ディスプレイ3004、通信部3006、CPU3010、ROM3011などを有する。また、コンピュータ3000は、HDD(Hard Disk Drive)3012、RAM3013、バス3009などを有する。コンピュータ3000の各部は、バス3009で接続される。
ROM3011は、図2にて示したバックアップ復元処理部501と、実行制御部502と、異常検出処理部503と同様の機能を発揮する制御プログラムを記憶する。つまり、図6に示すように、ROM3011は、バックアップ復元処理プログラム3011aと、実行制御プログラム3011bと、異常検出処理プログラム3011cとを記憶する。なお、これらのプログラム3011a〜3011cについては、図2に示した復元装置200の各構成要素と同様、適宜統合または分離しても良い。
そして、CPU3010が、これらのプログラム3011a〜3011cをROM3011から読み出して実行する。この結果、図6に示すように、各プログラム3011a〜3011cは、バックアップ復元処理プロセス3010aと、実行制御プロセス3010bと、異常検出処理プロセス3010cとして機能する。なお、各プロセス3010a〜3010cは、図2に示した、バックアップ復元処理部501と、実行制御部502と、異常検出処理部503とにそれぞれ対応する。
そして、HDD3012には、バックアップデータ3012aが設けられる。なお、バックアップデータ3012aは、第2の記憶部400に記憶されたバックアップに対応する。
そして、CPU3010は、バックアップデータ3012aを読み出してRAM3013に格納する。そして、CPU3010は、RAM3013に格納されたバックアップデータ3013aを用いて、復元プログラムを実行する。
ただし、上述した説明では、プロセス3010a〜3010cすべてが常にCPU3010上にて仮想的に実現される場合について示した。しかしながら、本発明はこれに限定されるものではない。例えば、プロセス3010a〜3010cのうち処理に必要な一部のプロセスについて、CPU3010上にて仮想的に実現されても良い。言い換えると、常にすべてのプロセスがCPU3010上にて動作するのではなく、処理に必要なプロセスが選択的に動作するようにしても良い。
[その他]
なお、本実施例で説明した復元プログラムは、インターネットなどのネットワークを介して配布することができる。また、復元プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
100 復元装置
101 記憶部
102 バックアップ部
103 実行制御部
104 復元部
200 復元装置
201 入力部
202 出力部
300 第1の記憶部
400 第2の記憶部
500 制御部
501 バックアップ復元処理部
502 実行制御部
503 異常検出処理部

Claims (4)

  1. 操作入力を受け付けるごとに、メモリのデータ状態を所定の記憶部にバックアップするバックアップ部と、
    前記バックアップ部によってバックアップされた後に、前記操作入力に対応するアプリケーションが該操作入力に対応する処理を実行するように制御する実行制御部と、
    前記操作入力を受け付けた際に前記バックアップ部によってバックアップされたデータ状態に前記メモリのデータ状態を戻すことで、該操作入力に対応する処理の実行前における前記アプリケーションの状態を復元する復元部と
    を備えたことを特徴とする復元装置。
  2. 前記バックアップ部は、前記メモリの記憶領域のうち、前記操作入力に対応するアプリケーションによって使用される記憶領域である使用記憶領域すべてのデータ状態をバックアップし、
    前記復元部は、前記バックアップ部によってバックアップされたデータ状態に前記使用記憶領域のデータ状態を戻すことを特徴とする請求項1に記載の復元装置。
  3. 前記バックアップ部は、前記アプリケーションごとに前記使用記憶領域のデータ状態をバックアップし、
    前記復元部は、前記アプリケーションにエラーが発生する場合に、該アプリケーションについてバックアップされたデータ状態を前記所定の記憶部から取得し、取得したデータ状態に該アプリケーションに対応する使用記憶領域を戻すことを特徴とする請求項2に記載の復元装置。
  4. 操作入力を受け付けるごとに、メモリのデータ状態を所定の記憶部にバックアップするバックアップ手順と、
    前記バックアップ手順によってバックアップされた後に、前記操作入力に対応するアプリケーションが該操作入力に対応する処理を実行するように制御する実行制御手順と、
    前記操作入力を受け付けた際に前記バックアップ手順によってバックアップされたデータ状態に前記メモリのデータ状態を戻すことで、該操作入力に対応する処理の実行前における前記アプリケーションの状態を復元する復元手順と
    コンピュータに実行させることを特徴とする復元プログラム。
JP2010059984A 2010-03-16 2010-03-16 復元装置及び復元プログラム Pending JP2011192219A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010059984A JP2011192219A (ja) 2010-03-16 2010-03-16 復元装置及び復元プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010059984A JP2011192219A (ja) 2010-03-16 2010-03-16 復元装置及び復元プログラム

Publications (1)

Publication Number Publication Date
JP2011192219A true JP2011192219A (ja) 2011-09-29

Family

ID=44797022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010059984A Pending JP2011192219A (ja) 2010-03-16 2010-03-16 復元装置及び復元プログラム

Country Status (1)

Country Link
JP (1) JP2011192219A (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235533A (ja) * 1988-07-25 1990-02-06 Fujitsu Ltd コマンド実行履歴ログ採取処理装置
JPH06348547A (ja) * 1993-06-03 1994-12-22 Nec Corp 入力履歴情報記録編集再実行装置
JPH11120016A (ja) * 1997-10-20 1999-04-30 Nec Eng Ltd 異常終了時のシステム復帰を自動的に行う装置、記録媒体
JP2000010809A (ja) * 1998-06-19 2000-01-14 Toshiba Corp データバックアップ制御装置、及びデータバックアップ制御方法
JP2001184224A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 計算機システムおよび同システムにおけるi/o装置の制御方法
JP2001273157A (ja) * 2000-03-24 2001-10-05 Nec Corp ジョブのチェックポイント処理方式
JP2006172073A (ja) * 2004-12-15 2006-06-29 Chugoku Electric Power Co Inc:The プログラム、情報処理装置、及び操作履歴保存方法
JP2006285871A (ja) * 2005-04-04 2006-10-19 Canon Inc 情報処理装置、制御方法、プログラム、及び記憶媒体
JP2009230258A (ja) * 2008-03-19 2009-10-08 Sky Co Ltd 復旧支援システムと復旧支援システムのためのプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235533A (ja) * 1988-07-25 1990-02-06 Fujitsu Ltd コマンド実行履歴ログ採取処理装置
JPH06348547A (ja) * 1993-06-03 1994-12-22 Nec Corp 入力履歴情報記録編集再実行装置
JPH11120016A (ja) * 1997-10-20 1999-04-30 Nec Eng Ltd 異常終了時のシステム復帰を自動的に行う装置、記録媒体
JP2000010809A (ja) * 1998-06-19 2000-01-14 Toshiba Corp データバックアップ制御装置、及びデータバックアップ制御方法
JP2001184224A (ja) * 1999-12-27 2001-07-06 Toshiba Corp 計算機システムおよび同システムにおけるi/o装置の制御方法
JP2001273157A (ja) * 2000-03-24 2001-10-05 Nec Corp ジョブのチェックポイント処理方式
JP2006172073A (ja) * 2004-12-15 2006-06-29 Chugoku Electric Power Co Inc:The プログラム、情報処理装置、及び操作履歴保存方法
JP2006285871A (ja) * 2005-04-04 2006-10-19 Canon Inc 情報処理装置、制御方法、プログラム、及び記憶媒体
JP2009230258A (ja) * 2008-03-19 2009-10-08 Sky Co Ltd 復旧支援システムと復旧支援システムのためのプログラム

Similar Documents

Publication Publication Date Title
KR101278822B1 (ko) 애플리케이션 셧다운 후의 애플리케이션 상태 복구 방법 및컴퓨터 판독 가능 매체
TWI575362B (zh) 備份方法、環境更新預先檢測方法及其系統
US8370853B2 (en) Event notification management
JP5444368B2 (ja) アプリケーション復元ポイント
KR101087364B1 (ko) 철회 기반구조
CN106951559B (zh) 分布式文件系统中数据恢复方法及电子设备
TWI475402B (zh) 遠端備份系統及其遠端備份方法
CN109634638B (zh) 一种集群软件升级方法、装置、设备及介质
CN102346673A (zh) 一种手机系统升级的方法及装置
CN112463437B (zh) 存储集群系统离线节点的业务恢复方法、系统及相关组件
GB2503439A (en) Method of restarting a software system that has unintentional shutdown.
CN103870347A (zh) 一种系统恢复方法和装置
JP2010134705A (ja) 機器、ログ記録制御方法、及びプログラム
JP2011192219A (ja) 復元装置及び復元プログラム
JP2007265137A (ja) マルチタスク処理方法及びマルチタスク処理装置
CN107085514B (zh) 共享库升级方法及装置
CN105320030A (zh) 工程装置、工程系统以及下载处理方法
CN110795242A (zh) 一种存储空间管理方法、装置及电子设备和存储介质
JP2008198152A (ja) 冗長構成を有するコンピュータシステム及びコンピュータシステムの系切り換え方法
CN103309691A (zh) 信息处理设备及其快速启动方法
JP2005157462A (ja) 系切り替え方法及び情報処理システム
JP2004030092A (ja) アプリケーション回復システム
JP6682921B2 (ja) 管理装置、管理方法及びプログラム
CN116795252A (zh) 一种基于模型构建的操作处理方法、装置、设备及介质
JP5812942B2 (ja) ディザスタリカバリ管理システムおよびディザスタリカバリ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140722