(57)【要約】【課題】本発明は、システムの障害に関係する復元ポイントに辿り着くまでに要する利用者の負担を軽減させるとともに、システムの障害発生前のシステムの状態に復旧する際に必要となる記憶量を低減することを目的とする。【解決手段】特定情報追加部１１３は、変更イベントが発生した時刻を含む特定情報を第２オブジェクト情報に追加する。特定情報伝播部１１６は、作用イベントが発生した場合には、第２オブジェクトの第２オブジェクト情報に含まれている特定情報を第１オブジェクト情報に追加する。選択部１２０は、障害が発生した第１オブジェクトの第１オブジェクト情報に複数の特定情報が含まれている場合には、複数の特定情報の中から、障害が発生する前の第２オブジェクトに復元させるために用いられるいずれかの特定情報を選択する。【選択図】図１
2007272771.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行単位である第１オブジェクトの状態を示す第１オブジェクト情報、及び前記第１オブジェクトにより処理対象とされる第２オブジェクトの状態を示す第２オブジェクト情報を管理する情報管理部と、
前記第２オブジェクトの内容を変更するための変更イベントが発生した場合には、前記変更イベントが発生した時刻を含む特定情報を前記第２オブジェクト情報に追加する第１特定情報追加部と、
前記第２オブジェクトの作用を前記第１オブジェクトに及ぼさせるための作用イベントが発生した場合には、前記第２オブジェクトの前記第２オブジェクト情報に含まれている前記特定情報を前記第１オブジェクト情報に追加する第２特定情報追加部と、
障害が発生した前記第１オブジェクトの前記第１オブジェクト情報に複数の前記特定情報が含まれている場合には、前記複数の特定情報の中から、障害が発生する前の前記第２オブジェクトに復元させるために用いられるいずれかの特定情報を選択する選択部と
を備えることを特徴とする情報選択装置。
【請求項２】
前記第１オブジェクトはプロセス又はスレッドを含み、前記第２オブジェクトはファイルを含むことを特徴とする請求項１に記載の情報選択装置。
【請求項３】
前記第１特定情報追加部は、前記変更イベントにより複数の関連したシステムコールが発生した場合には、１の前記特定情報のみを前記第２オブジェクト情報に追加することを特徴とする請求項１に記載の情報選択装置。
【請求項４】
前記第２特定情報追加部は、前記第１オブジェクトの作用を前記第２オブジェクトに及ぼさせるための前記作用イベントが発生した場合には、前記第１オブジェクトの前記第１オブジェクト情報に含まれている前記特定情報を前記第２オブジェクト情報に追加することを特徴とする請求項１に記載の情報選択装置。
【請求項５】
前記特定情報は、前記特定情報が前記第１オブジェクト情報又は前記第２オブジェクト情報に追加される際に参照される追加回数を含んでおり、
前記第２特定情報追加部は、前記特定情報における前記追加回数が所定範囲内である場合には、前記特定情報を前記第１オブジェクト情報又は前記第２オブジェクト情報に追加することを特徴とする請求項４に記載の情報選択装置。
【請求項６】
前記第２特定情報追加部は、前記第１オブジェクト情報及び前記第２オブジェクト情報の一方にのみ前記特定情報が含まれている場合には、他方のオブジェクト情報に前記特定情報を追加することを特徴とする請求項４に記載の情報選択装置。
【請求項７】
前記第２特定情報追加部は、前記特定情報に含まれている前記時刻からの経過時間が設定時間を超えていない場合には、前記特定情報を前記第１オブジェクト情報又は前記第２オブジェクト情報に追加することを特徴とする請求項４に記載の情報選択装置。
【請求項８】
前記第２特定情報追加部は、前記特定情報に含まれている前記時刻からの経過時間が設定時間を超えている場合には、前記特定情報を削除することを特徴とする請求項１に記載の情報選択装置。
【請求項９】
前記第２特定情報追加部は、前記情報選択装置とは別に設けられた記憶装置に対して、削除した前記特定情報を記憶させることを特徴とする請求項８に記載の情報選択装置。
【請求項１０】
前記第１特定情報追加部は、監視対象の前記第２オブジェクトを特定した場合には、前記特定情報を前記第２オブジェクト情報に追加することを特徴とする請求項１に記載の情報選択装置。
【請求項１１】
請求項１に記載の情報選択装置と、
前記変更イベントが発生した場合には、変更前の前記第２オブジェクトのバックアップデータを時刻と共に記憶するバックアップデータ記憶部と、
前記選択部により選択された前記特定情報及び前記バックアップデータを用いて、前記システムの障害発生前の前記第２オブジェクトに復元する復元部と
を備えることを特徴とする復元装置。
【請求項１２】
プログラムの実行単位である第１オブジェクトの状態を示す第１オブジェクト情報、及び前記第１オブジェクトにより処理対象とされる第２オブジェクトの状態を示す第２オブジェクト情報を管理するステップと、
前記第２オブジェクトの内容を変更するための変更イベントが発生した場合には、前記変更イベントが発生した時刻を含む特定情報を前記第２オブジェクト情報に追加するステップと、
前記第２オブジェクトの作用を前記第１オブジェクトに及ぼさせるための作用イベントが発生した場合には、前記第２オブジェクトの前記第２オブジェクト情報に含まれている前記特定情報を前記第１オブジェクト情報に追加するステップと、
障害が発生した前記第１オブジェクトの前記第１オブジェクト情報に複数の前記特定情報が含まれている場合には、前記複数の特定情報の中から、障害が発生する前の前記第２オブジェクトに復元させるために用いられるいずれかの特定情報を選択するステップと
を備えることを特徴とする情報選択処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害発生前のオブジェクトに復元する際に用いられる情報選択装置、復元装置及び情報選択処理方法に関する。
【背景技術】
【０００２】
携帯電話機は、脆弱性を利用した外部からの攻撃やソフトウェアのバグにより、携帯電話機におけるオペレーティングシステム等を含むシステムに障害が発生した場合でも、迅速にシステムの障害要因を除去し、システムの状態を適切に復元させる機能（以下、システム復元機能）を有している。
【０００３】
上記システム復元機能では、システムの構成が変更（例えば、ファイルの修正、追加など）されるときにシステムの状態が「復元ポイント」として逐次記憶される。システムの障害発生時にはその障害発生前の復元ポイントが用いられることによりシステムの状態が復旧される（例えば、非特許文献１参照）。
【０００４】
上記システム復元機能では、システムの障害発生時に複数の復元ポイントを表示する機能や、復元ポイントに基づいて実行された処理を取消す機能が含まれている。携帯電話機の利用者（以下では、単に利用者とする）は、復元ポイントを選択する操作及びその復元ポイントに基づく処理を取消す操作を繰り返すことにより、所望する復元ポイントを検索することができる。
【０００５】
ところが、表示された復元ポイントの数が多い場合又はシステムの障害原因が利用者にとって自明ではない場合には、利用者は、所望する復元ポイントに辿り着くまでに時間が掛かっていた。
【０００６】
一方、システムの障害が発生した要因を特定する機能（以下、障害要因特定機能）が提供されている（例えば、非特許文献２参照）。この障害要因特定機能及び上記システム復元機能が用いられ、システムの障害要因に関係する復元ポイントのみが表示されることにより、利用者は所望する復元ポイントを短時間で検索することができる。
【０００７】
上記障害要因特定機能では、オペレーティングシステムで発生するイベントのログが用いられることにより、オペレーティングシステムが管理するオブジェクト間の関係を示す依存モデルが構築される。
【０００８】
例えば、システムの障害発生後に、既に記憶されたイベント（システムコールなど）のログが解析されることにより、当該システムの障害発生時に実行されたオブジェクトとそのオブジェクトを起点とする他のオブジェクトとの関係を示す依存モデルが構築される。
【０００９】
このため、当該依存モデルに関係する復元ポイントが生成され、その復元ポイントが選択可能であれば、利用者は所望の復元ポイントを短時間で検索することができる。
【非特許文献１】“ＭＳＤＮライブラリ”内の「Microsoft Windows（登録商標） XP システム復元機能」，［online］，［２００５年１１月８日検索］，インターネット＜http://www.microsoft.com/＞
【非特許文献２】S.King,P.Chen,"Backtracking Intrusions",ACM SOSP 2003
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記依存モデルが構築されるにはイベントのログが記憶されなければらなず、当該ログの記憶量が時間経過に伴なって増大してしまい、記憶媒体が有効活用され難かった。
【００１１】
そこで、本発明は以上の点に鑑みて成されたものであり、システムの障害に関係する復元ポイントに辿り着くまでに要する利用者の負担を軽減させるとともに、システムの障害発生前のシステムの状態に復旧する際に必要となる記憶量を低減することのできる情報選択装置、復元装置及び情報選択処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の第１の特徴は、プログラムの実行単位である第１オブジェクトの状態を示す第１オブジェクト情報、及び第１オブジェクトにより処理対象とされる第２オブジェクトの状態を示す第２オブジェクト情報を管理する情報管理部と、第２オブジェクトの内容を変更するための変更イベントが発生した場合には、変更イベントが発生した時刻を含む特定情報を第２オブジェクト情報に追加する第１特定情報追加部と、第２オブジェクトの作用を第１オブジェクトに及ぼさせるための作用イベントが発生した場合には、第２オブジェクトの第２オブジェクト情報に含まれている特定情報を第１オブジェクト情報に追加する第２特定情報追加部と、障害が発生した第１オブジェクトの第１オブジェクト情報に複数の特定情報が含まれている場合には、複数の特定情報の中から、障害が発生する前の第２オブジェクトに復元させるために用いられるいずれかの特定情報を選択する選択部とを備えることを要旨とする。
【００１３】
かかる特徴によれば、情報選択装置は、第２オブジェクト（例えば、ファイル）の内容が変更される時刻を含む特定情報を、第２オブジェクトの作用を受ける第１オブジェクト（例えば、プロセス）の第１オブジェクト情報に追加する。
【００１４】
すなわち、情報選択装置は、第１オブジェクトと第２オブジェクトと間で生じる作用／被作用の関係を用いることにより、第２オブジェクト情報における特定情報を第１オブジェクト情報に追加する。
【００１５】
このため、情報選択装置は、障害発生前の第２オブジェクトに復元させるために用いられる特定情報の候補群を、障害発生時の第１オブジェクトに対して作用を与える第２オブジェクトに関係する特定情報に絞り込むことができ、所望の特定情報に辿り着くまでに要する利用者の負担を軽減させることができる。
【００１６】
また、情報選択装置は、第２オブジェクトの作用を受ける第１オブジェクトの第１オブジェクト情報に「のみ」上記特定情報を追加する。このため、情報選択装置は、全ての第１オブジェクト情報に上記特定情報を追加することはないため、当該特定情報の記憶量を低減させることができ、上記特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【００１７】
更には、情報選択装置は、特定情報、第１オブジェクト情報及び第２オブジェクト情報の履歴を情報選択装置とは別に設けられた別体記憶部に記憶させるのではなく、情報管理部（例えば、カーネル）で既に管理されている第２オブジェクト情報に当該特定情報のみを追加している。
【００１８】
これにより、情報選択装置は、上記別体記憶部を設ける必要がないため、利用者に特定情報を選択させるために必要な記憶量を低減することができ、システム全体の性能劣化を抑制することができる。
【００１９】
本発明の第２の特徴は、第１オブジェクトがプロセスであり、第２オブジェクトがファイルであることを要旨とする。
【００２０】
本発明の第３の特徴は、変更イベントにより複数の関連したシステムコールである関連システムコールが発生した場合には、第１特定情報追加部は１の特定情報のみを第２オブジェクト情報に追加することを要旨とする。
【００２１】
本発明の第４の特徴は、第１オブジェクトの作用を第２オブジェクトに及ぼさせるための作用イベントが発生した場合には、第２特定情報追加部が第１オブジェクトの第１オブジェクト情報に含まれている特定情報を第２オブジェクト情報に追加することを要旨とする。
【００２２】
本発明の第５の特徴は、特定情報は、特定情報が第１オブジェクト情報又は第２オブジェクト情報に追加される際に参照される追加回数（伝播回数）を含んでおり、第２特定情報追加部は、特定情報における追加回数が所定範囲内である場合には、特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加することを要旨とする。
【００２３】
本発明の第６の特徴は、第１オブジェクト情報及び第２オブジェクト情報の一方にのみ特定情報が含まれている場合には、第２特定情報追加部が他方のオブジェクト情報に特定情報を追加することを要旨とする。
【００２４】
本発明の第７の特徴は、特定情報に含まれている時刻からの経過時間が設定時間を超えていない場合には、第２特定情報追加部が特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加することを要旨とする。
【００２５】
本発明の第８の特徴は、特定情報に含まれている時刻からの経過時間が設定時間を超えている場合には、第２特定情報追加部が特定情報を削除することを要旨とする。
【００２６】
本発明の第９の特徴は、第２特定情報追加部が情報選択装置とは別に設けられた記憶装置に削除後の特定情報を記憶させることを要旨とする。
【００２７】
本発明の第１０の特徴は、第１特定情報追加部が、監視対象の前記第２オブジェクトを特定した場合には、特定情報を第２オブジェクト情報に追加することを要旨とする。
【００２８】
本発明の第１１の特徴は、請求項１に記載の情報選択装置を備える復元装置であって、変更イベントが発生した場合には、変更前の第２オブジェクトのバックアップデータを時刻と共に記憶するバックアップデータ記憶部と、選択部により選択された特定情報、及びバックアップデータを用いて、システムの障害発生前の第２オブジェクトに復元する復元部とを備えることを要旨とする。
【発明の効果】
【００２９】
本発明の特徴によれば、システムの障害に関係する復元ポイントに辿り着くまでに要する利用者の負担を軽減させるとともに、システムの障害発生前のシステムの状態に復旧する際に必要となる記憶量を低減することができる。
【発明を実施するための最良の形態】
【００３０】
［実施形態］
（復元装置の構成）
図１は、本実施形態における復元装置１００の概略構成図である。図１に示すように、復元装置１００は、情報選択部１１０（情報選択装置）と、バックアップ生成部１３０と、バックアップデータ記憶部１５０と、復元部１７０とを備えている。
【００３１】
情報選択部１１０は、変更イベント検出部１１１と、特定情報生成部１１２と、特定情報追加部１１３と、情報管理部１１４と、作用イベント検出部１１５と、特定情報伝播部１１６と、障害イベント検出部１１７と、特定情報取得部１１８と、表示部１１９と、選択部１２０とを備えている。
【００３２】
なお、本実施形態では、変更イベント検出部１１１、特定情報生成部１１２、特定情報追加部１１３、情報管理部１１４、作用イベント検出部１１５、特定情報伝播部１１６、障害イベント検出部１１７及び特定情報取得部１１８は、オペレーティングシステムの各種機能を利用することができる特権レベルに基づいて動作するカーネルに備えられており、第１オブジェクト（プロセス等）が発行するシステムコールに基づいて該当する処理を実行する。
【００３３】
変更イベント検出部１１１は、第２オブジェクト（ファイル）の内容を変更するための変更イベントが発生したことを検出する（後述する図３に示すＳ１参照）。ここで、第１オブジェクトは、プログラムの実行単位であるオブジェクトを示す。第１オブジェクトには、例えば、プロセス、タスク又はスレッド等が含まれている。
【００３４】
第２オブジェクトは、第１オブジェクトにより処理対象とされるオブジェクトを示す。第２オブジェクトには、例えば、アプリケーションの実行ファイル、デバイスドライバのファイル、又は共有ライブラリのファイルなどのディレクトリに格納されたシステム設定ファイル、その他のファイルが含まれる。
【００３５】
特定情報生成部１１２は、変更イベントの発生が検出された場合には、変更イベントが発生した時刻を含む特定情報を生成する（後述する図３に示すＳ５参照）。特定情報追加部１１３は、生成された特定情報を第２オブジェクト情報に追加する（後述する図３に示すＳ５参照）。なお、変更イベント検出部１１１、特定情報生成部１１２及び特定情報追加部１１３は、第１特定情報追加部を構成する。
【００３６】
情報管理部１１４は、第１オブジェクトの状態を示す第１オブジェクト情報、及び第２オブジェクトの状態を示す第２オブジェクト情報を管理する（後述する図５参照）。
【００３７】
作用イベント検出部１１５は、第２オブジェクトの作用を第１オブジェクトに及ぼさせるための作用イベント、又は第１オブジェクトの作用を第２オブジェクトに及ぼさせるための作用イベントが発生したことを検出する（後述する図６に示すＳ７−１参照）。
【００３８】
特定情報伝播部１１６は、第２オブジェクトの作用を第１オブジェクトに及ぼさせるための作用イベントの発生が検出された場合には、第２オブジェクトの第２オブジェクト情報に含まれている特定情報を第１オブジェクト情報に追加する（後述する図６に示すＳ７−２〜６参照）。
【００３９】
一方、特定情報伝播部１１６は、第１オブジェクトの作用を第２オブジェクトに及ぼさせるための作用イベントの発生が検出された場合には、第１オブジェクトの第１オブジェクト情報に含まれている特定情報を第２オブジェクト情報に追加する。
【００４０】
特定情報伝播部１１６は、特定情報が第１オブジェクト情報又は第２オブジェクト情報に追加される際に参照される追加回数が特定情報に含まれており、当該特定情報における追加回数が所定範囲内である場合には、当該特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加する（後述する図６に示すＳ７−３参照）。
【００４１】
なお、作用イベント検出部１１５及び特定情報伝播部１１６は、第２特定情報追加部を構成する。
【００４２】
障害イベント検出部１１７は、障害が発生した第１オブジェクトを特定する（後述する図３に示すＳ９参照）。特定情報取得部１１８は、特定された第１オブジェクトの第１オブジェクト情報に複数の特定情報が含まれている場合には、当該複数の特定情報を取得する。特定情報取得部１１８は、取得した特定情報に対応する選択情報を表示部１１９に表示する。
【００４３】
選択部１２０は、利用者の入力操作により、複数の特定情報の中から、障害が発生する前の第２オブジェクトに復元させるために用いられるいずれかの特定情報を選択する。
【００４４】
バックアップデータ生成部１３０は、変更イベントが発生した場合には、変更前の第２オブジェクトのバックアップデータを時刻と共にバックアップデータ記憶部１５０に記憶する。なお、バックアップデータ生成部１３０及びバックアップデータ記憶部１５０は、バックアップデータ記憶部を構成する。
【００４５】
復元部１７０は、選択部１２０により選択された特定情報及びバックアップデータを用いて、システムの障害発生前の第２オブジェクトに復元する（後述する図３に示すＳ１３参照）。
【００４６】
（復元装置の動作）
次に、本実施形態における復元装置１００の動作について図２及び図３を参照しながら説明する。
【００４７】
図２は、本実施形態における復元装置１００の概略動作の流れを示す図である。図２に示すように、アプリケーションのインストール処理、パッチの適用処理、又は設定ファイルの編集処理等が実行されたときに、第２オブジェクトを変更（例えば、ファイルの修正、削除、生成又は属性など）させるための変更イベントが発生した場合には、第２オブジェクトの変更直前の複製データ、又は第２オブジェクトの変更前後の差分のデータである差分データがバックアップデータとして記憶される。
【００４８】
なお、第２オブジェクトの変更時刻、所有者又はセキュリティ属性等の属性データもバックアップデータに対応して記憶されてもよい。
【００４９】
そして、オペレーティングシステム又はアプリケーション等を含むシステムの障害発生時の第１オブジェクト（プロセス等）が検出された場合には、当該障害発生前の第２オブジェクト（ファイル）に復旧させるための特定情報に対応する選択情報が複数表示される（後述する図６又は図７参照）。利用者の入力操作により、いずれかの選択情報が選択された場合には、選択された選択情報に対応する特定情報、及びバックアップデータが用いられることにより、当該障害発生前の第２オブジェクトに復元される。
【００５０】
後述するように本実施形態では、表示される上記選択情報の候補群を絞り込むための処理（以下、絞込み処理；特にＳ５，Ｓ７参照）が実行されるため、利用者は、所望の選択情報を特定するまでに要する負担を軽減することができる。また、当該絞込み処理が実行されることにより、処理オーバーヘッドが抑制されるとともに、システム全体の性能劣化が抑制される。以下、図３等を参照しながら詳細に説明する。
【００５１】
図３に示すように、Ｓ１において、復元装置１００は、第２オブジェクト（ファイル）の内容を変更するための変更イベントが発生したことを検出する。この変更イベントには、第２オブジェクトの生成、修正、削除、属性変更が含まれる。
【００５２】
例えば、第１オブジェクト（プロセス等）が第２オブジェクト（ファイル）の内容を変更させるためのシステムコール（例えば、ｗｒｉｔｅシステムコール、ｏｐｅｎシステムコール）を発行し、当該システムコールを構成する引数に、予め設定された情報（システム設定ファイル等のパス名など）が含まれている場合には、復元装置１００は、当該システムコールを検出することにより変更イベントが発生したことを検出する。
【００５３】
Ｓ３において、復元装置１００は、変更イベントの発生を検出した場合には、変更直前の第２オブジェクトのバックアップデータ（例えば、第２オブジェクトの複写データ又は差分データなど）を時刻と共に記憶する。
【００５４】
Ｓ５において、復元装置１００は、変更イベントが発生した時刻（システムコールが検出された時刻）である変更イベント発生時刻を含む特定情報を生成する。例えば、復元装置１００は、gettimeofday( )関数を用いることにより変更イベント発生時刻を取得し、当該変更イベント発生時刻を含む特定情報を生成する。
【００５５】
ここで、図４は、本実施形態における特定情報の内容を示す図である。図４に示すように、特定情報には、変更イベント発生時刻の他に、当該変更イベント発生時刻と同一時刻に複数の変更イベントが発生した場合に他の変更イベントと区別するための同時発生番号、特定情報が第１オブジェクト情報又は第２オブジェクト情報に追加（伝播）される際に参照される追加回数等が含まれてもよい。
【００５６】
また、復元装置１００は、生成した特定情報を、情報管理部１１４（カーネル）で管理されている第２オブジェクト情報に追加する（図５参照）。
【００５７】
ここで、図５は、本実施形態における第１オブジェクト情報及び第２オブジェクト情報の内容を示す図である。図５に示すように、第１オブジェクト情報には、例えば、tssk_struct構造体により構成される情報（第１オブジェクトを識別するための識別情報、第１オブジェクトの状態を示す状態情報、実行ドメインなどの情報）が含まれている。第２オブジェクト情報には、例えば、inode構造体により構成される情報（第２オブジェクトのパス名などの情報）が含まれている。
【００５８】
Ｓ７において、復元装置１００は、特定情報伝播処理を実行する。ここでは復元装置１００は、第２オブジェクト（ファイル）の作用を第１オブジェクト（プロセス等）に及ぼさせるための作用イベントが発生した場合には、第２オブジェクトの第２オブジェクト情報に含まれている特定情報を第１オブジェクト情報に追加する（図５参照）。
【００５９】
また、復元装置１００は、第１オブジェクト（プロセス等）の作用を第２オブジェクト（ファイル）又は他の第１オブジェクト（プロセス等）に及ぼさせるための作用イベントが発生した場合には、第１オブジェクトの第１オブジェクト情報に含まれている特定情報を、第２オブジェクト情報又は他の第１オブジェクトの第１オブジェクト情報に追加する。
【００６０】
上記Ｓ７の特定情報伝播処理について図６を参照しながら詳細に説明する。図６に示すように、Ｓ７−１において、復元装置１００は、作用イベントが発生したか否か確認する。また、復元装置１００は、この判定がＹＥＳである場合にはＳ７−２の処理に移り、ＮＯである場合には本処理を終了する。
【００６１】
例えば、復元装置１００は、ファイル操作又はプロセス間通信等を実行するためのシステムコール（ｗｒｉｔｅシステムコールなど）を検出した場合には、当該システムコールを検出することにより作用イベントが発生したことを検出する。
【００６２】
また、復元装置１００は、作用イベントの発生を検出した場合には、第１オブジェクト（プロセス等）に対して作用を与える第２オブジェクト（ファイル）、又は第２オブジェクト（ファイル）／第１オブジェクト（プロセス等）に対して作用を与える第１オブジェクト（プロセス等）を「作用オブジェクト」として特定し、その作用オブジェクトにより作用を受けるオブジェクトを「被作用オブジェクト」として特定する。
【００６３】
例えば、作用イベントに関係するシステムコールがｗｒｉｔｅシステムコールである場合には、復元装置１００は、ｗｒｉｔｅシステムコールの発行元の第１オブジェクト（プロセス等）を作用オブジェクトとして特定し、ｗｒｉｔｅシステムコールに基づいてデータが書き込まれる第２オブジェクト（ファイル）を被作用オブジェクトとして特定する。
【００６４】
また、作用イベントに関係するシステムコールがｒｅａｄシステムコールである場合には、復元装置１００は、ｒｅａｄシステムコールの発行元の第１オブジェクト（プロセス等）を非作用オブジェクトとして特定し、ｒｅａｄシステムコールに基づいてデータを読み出される第２オブジェクト（ファイル）を作用オブジェクトとして特定する。
【００６５】
Ｓ７−２において、復元装置１００は、作用オブジェクト（第１オブジェクト又は第２オブジェクト）のオブジェクト情報（第１オブジェクト情報又は第２オブジェクト情報）に特定情報が含まれているか否か判定する。また、復元装置１００は、この判定がＹＥＳである場合にはＳ７−３の処理に移り、ＮＯである場合には本処理を終了する。
【００６６】
Ｓ７−３において、復元装置１００は、オブジェクト情報に含まれている特定情報における追加回数が所定範囲内（ここでは０＜追加回数≦設定上限値とする）であるか否か判定する。また、復元装置１００は、追加回数が所定範囲内である場合にはＳ７−４の処理に移る。
【００６７】
一方、復元装置１００は、追加回数が所定範囲内でない場合には、作用オブジェクトのオブジェクト情報に含まれている他の特定情報における追加回数が所定範囲内であるか否か判定する。復元装置１００は、当該他の特定情報における追加回数が所定範囲内である場合にはＳ７−４の処理に移り、当該他の特定情報が所定範囲内でない場合又は当該他の特定情報が存在しない場合には本処理を終了する。
【００６８】
Ｓ７−４において、復元装置１００は、作用オブジェクトのオブジェクト情報に含まれている特定情報（Ｓ７−２で特定された特定情報）と同一の特定情報が、非作用オブジェクトのオブジェクト情報に含まれているか否か判定する。また、復元装置１００は、この判定がＮＯである場合にはＳ７−５の処理に移り、ＹＥＳである場合には本処理を終了する。
【００６９】
Ｓ７−５において、復元装置１００は、作用オブジェクトのオブジェクト情報に含まれている特定情報における追加回数に１を加算し、Ｓ７−６において、当該特定情報を、被作用オブジェクトのオブジェクト情報に追加する。この後に図３に示す処理に戻り、Ｓ９からの処理が実行される。
【００７０】
なお、Ｓ７−４乃至Ｓ７−６の処理において復元装置１００は、第１オブジェクト情報及び第２オブジェクト情報の一方にのみ特定情報が含まれている場合には、他方のオブジェクト情報に特定情報を追加することになる。
【００７１】
ここで、図７は、Ｓ７の特定情報伝播処理により特定情報が第１オブジェクト情報又は第２オブジェクト情報に追加（伝播）される様子を示す図である。図７に示すように、変更イベントが発生されると、特定情報が第２オブジェクトの第２オブジェクト情報に追加される。
【００７２】
そして、第２オブジェクト−第１オブジェクト間、第１オブジェクト−第２オブジェクト間、第１オブジェクト−第１オブジェクト間で作用／被作用の関係を生じさせる作用イベントが発生する度に、特定情報が第１オブジェクト情報又は第２オブジェクト情報に順次追加（伝播）される（図７に示すＡ−０〜９参照）。
【００７３】
システムの障害が発生した場合には、その障害時（Ａ−４参照）の特定情報が特定される。特定された特定情報に含まれる変更イベント発生時刻で記憶されたバックアップデータが用いられることにより、システムの障害発生前の変更イベント発生時の第２オブジェクト（ファイル）に復旧される。以下、Ｓ９からの説明で詳細に説明する。
【００７４】
Ｓ９において、復元装置１００は、システム（オペレーティングシステム又はアプリケーションなど）の障害を発生させた第１オブジェクトを特定した場合にはＳ１１の処理に移る。
【００７５】
例えば、システムの障害発生時のシステムコールの発行元の第１オブジェクトがカーネルにより特定された場合、又はシステムの障害発生時の第１オブジェクトが利用者により手動で指定された場合には、復元装置１００はＳ１１の処理に移る。
【００７６】
また、復元装置１００は、システム障害が発生していない場合にはＳ１からの処理を繰り返す。
【００７７】
Ｓ１１において、復元装置１００は、Ｓ９で特定された第１オブジェクトの第１オブジェクト情報を参照し、当該第１オブジェクト情報に特定情報が複数含まれている場合には、当該特定情報を特定可能な選択情報を表示する。図８に示すように、復元装置１００は、カレンダー形式で選択情報を表示することができる。利用者は、表示された複数の選択情報の中から、いずれかの選択情報を選択する。
【００７８】
また、図９に示すように、復元装置１００は、第１オブジェクト情報に含まれている特定情報に対応する選択情報のみを強調表示することもできる（例えば、選択情報１０１参照）。
【００７９】
なお、図９に示す強調表示されていない選択情報には、例えば、第２オブジェクト情報に含まれている特定情報に対応する情報などが含まれる。また、強調表示には、選択情報を太文字で表示すること、反転文字で表示すること、網掛け文字で表示すること等が含まれており、選択情報とは異なる情報と識別可能に表示できればよい。
【００８０】
Ｓ１３において、復元装置１００は、選択された選択情報に対応する特定情報、当該特定情報に含まれる変更イベント発生時刻で記憶されたバックアップデータを用いて、システムの障害発生前の第２オブジェクトに復元する。
【００８１】
例えば、バックアップデータが第２オブジェクトの複写データである場合には、復元装置１００は、選択された特定情報に含まれる変更イベント発生時刻又はそれよりも前の複写データを取得し、現在の第２オブジェクトを当該複写データで置き換える。
【００８２】
また、バックアップデータが第２オブジェクトの差分データである場合には、復元装置１００は、選択された特定情報に含まれる変更イベント発生時刻よりも後の差分データを取得し、現在のオブジェクトから当該差分データ分で順次取消す処理を実行し、変更イベント発生時刻又はそれよりも前の第２オブジェクトに復元する。
【００８３】
かかる特徴によれば、復元装置１００は、第２オブジェクト（ファイル）の内容が変更される時刻を含む特定情報を、第２オブジェクトの作用を受ける第１オブジェクト（プロセス等）の第１オブジェクト情報に追加する。
【００８４】
すなわち、復元装置１００は、第１オブジェクトと第２オブジェクトと間で生じる作用／被作用の関係を用いることにより、第２オブジェクト情報における特定情報を第１オブジェクト情報に追加する。
【００８５】
このため、復元装置１００は、障害発生前の第２オブジェクトに復元させるために用いられる特定情報の候補群を、障害発生時の第１オブジェクトに対して作用を与える第２オブジェクトに関係する特定情報に絞り込むことができ、所望の特定情報に辿り着くまでに要する利用者の負担を軽減させることができる。
【００８６】
また、復元装置１００は、第２オブジェクトの作用を受ける第１オブジェクトの第１オブジェクト情報に「のみ」上記特定情報を追加する。このため、復元装置１００は、全ての第１オブジェクト情報に上記特定情報を追加することはないため、当該特定情報の記憶量を低減させることができ、上記特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【００８７】
更には、復元装置１００は、特定情報、第１オブジェクト情報及び第２オブジェクト情報の履歴を情報選択装置とは別に設けられた別体記憶部に記憶させるのではなく、情報管理部（例えば、カーネル）で既に管理されている第２オブジェクト情報（又は第１オブジェクト情報）に当該特定情報のみを追加（記述）している。
【００８８】
これにより、復元装置１００は、上記別体記憶部を設ける必要がないため、利用者に特定情報を選択させるために必要な記憶量を低減することができ、システム全体の性能劣化を抑制することができる。
【００８９】
また、第２オブジェクトの作用を第１オブジェクトに及ぼさせるための作用イベントが発生した場合のみならずに、第１オブジェクトの作用を第２オブジェクトに及ぼさせるための作用イベントが発生した場合にも、情報選択装置は第１オブジェクト情報に含まれている特定情報を第２オブジェクト情報に追加する。
【００９０】
これにより、復元装置１００は、一方のオブジェクト情報における特定情報を他方のオブジェクト情報に次々に追加（伝播）することができる。このため、復元装置１００は、障害発生時の第１オブジェクトに対して作用を与える第２オブジェクトに関係する特定情報を適切に増大することができ、より適切な特定情報を選択することができる。
【００９１】
更に、特定情報に含まれている追加回数が所定範囲内である場合に「のみ」、復元装置１００は第１オブジェクト情報又は第２オブジェクト情報に特定情報を追加する。これにより、復元装置１００は、無制限に特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加（伝播）させることはない。
【００９２】
このため、復元装置１００は、当該特定情報の記憶量を増大させないようにすることができ、当該特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【００９３】
また、第１オブジェクト情報及び第２オブジェクト情報の一方に特定情報が含まれている場合にのみ、復元装置１００は、他方のオブジェクト情報に特定情報を追加する。
【００９４】
これにより、復元装置１００は、第１オブジェクト情報及び第２オブジェクト情報の双方に特定情報が含まれている場合には、同一の特定情報を繰返し追加しないため、当該特定情報の記憶量を不用意に増大させないようにすることができる。
【００９５】
更に、復元装置１００は、特定情報を追加（伝播）させるための膨大な伝播ルールが設定されていなくても、第１オブジェクト−第２オブジェクト間における作用／非作用の関係を生じさせる作用イベントを用いるだけで、特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加（伝播）することができる。
（変更例１）
なお、本実施形態における復元装置１００は、変更イベントに関係するシステムコールを検出する度に、特定情報を第２オブジェクト情報に追加しているが、これに限定される分けではない。
【００９６】
本変更例における復元装置１００は、変更イベントにより複数の関連したシステムコールである関連システムコールが発生した場合には、１の特定情報のみを第２オブジェクト情報に追加してもよい。
【００９７】
本変更例では、オペレーティングシステムにあるＡＰＩであり、且つシステムを変更するために用いられるＡＰＩ（以下、システム変更ＡＰＩ）を呼び出すシステム変更ＡＰＩシステムコールが複数存在する場合を考える。なお、複数のシステム変更ＡＰＩシステムコールは、上記関連システムコールを構成する。
【００９８】
この場合には、復元装置１００は、複数のシステム変更ＡＰＩシステムコールに関係する１の特定情報を生成し、生成した特定情報を第２オブジェクト情報に追加する。
【００９９】
例えば、復元装置１００は、システムコールの実行コードの先頭に、図１０に示す「notify_entry()」が含まれている場合には、当該システムコールであるシステム変更ＡＰＩシステムコールに基づいてシステム変更ＡＰＩの「呼出」が行われたと判定する。また、復元装置１００は、システムコールの実行コードにおけるreturn関数の直前に、図１０に示す「notify_exit()」が含まれている場合には、当該システムコールであるシステム変更ＡＰＩシステムコールに基づいてシステム変更ＡＰＩ処理から「復帰」したと判定する。
【０１００】
そして、復元装置１００は、上記「呼出」及び「復帰」を判定することによりシステム変更ＡＰＩシステムコールが複数発行されたと判定した場合には、発行された複数のシステム変更ＡＰＩに関係する１の特定情報のみを第２オブジェクト情報に追加する。
【０１０１】
かかる特徴によれば、復元装置１００は、関連イベントに関係する１の特定情報のみを第２オブジェクト情報に追加することにより、変更イベントが発生する度に特定情報を第２オブジェクト情報に追加することはない。
【０１０２】
このため、復元装置１００は、当該第２オブジェクト情報に追加する特定情報の記憶量をより低減することができ、特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化をさらに抑制することができる。また、復元装置１００は、利用者に選択させる特定情報の数を少なくすることができるため、所望の特定情報に辿り着くまでに要する利用者の負担をより軽減させることができる。
【０１０３】
（変更例２）
なお、Ｓ７−５及びＳ７−６において復元装置１００は、特定情報に含まれている時刻からの経過時間に関係なく、当該特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加しているが、これに限定される分けではない。
【０１０４】
本変更例における復元装置１００は、特定情報に含まれている時刻からの経過時間が設定時間を超えていない場合には、特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加してもよい。
【０１０５】
かかる特徴によれば、復元装置１００は、時間的に古い特定情報を第１オブジェクト情報又は第２オブジェクト情報に追加することはしない。このため、復元装置１００は、特定情報の記憶量を増大させないようにすることができ、当該特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【０１０６】
（変更例３）
なお、本実施形態における復元装置１００は、第１オブジェクト情報又は第２オブジェクト情報に含まれている特定情報を削除していないが、これに限定される分けではない。  本変更例における復元装置１００は、特定情報に含まれている時刻からの経過時間が設定時間を超えている場合には、特定情報を削除してもよい。
【０１０７】
かかる特徴によれば、復元装置１００は、時間的に古い特定情報を第１オブジェクト情報又は第２オブジェクト情報から削除する。このため、復元装置１００は、当該特定情報の記憶量を増大させないようにすることができ、当該特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【０１０８】
（変更例４）
なお、復元装置１００は、復元装置１００とは別に設けられた記憶装置（図示せず）に削除後の特定情報を記憶させてもよい。
【０１０９】
かかる特徴によれば、復元装置１００は、復元装置１００において特定情報の記憶量を増大させないようにしつつ、削除した特定情報を用いて障害が発生したオブジェクトをより適切に復元することができる。
【０１１０】
（変更例５）
なお、本実施形態における復元装置１００は、第２オブジェクトの内容を変更するための変更イベントが発生した場合には、特定情報を第２オブジェクト情報に追加しているが、これに限定される分けではない。
【０１１１】
本変更例における復元装置１００は、“監視対象”の第２オブジェクトの内容を変更するための変更イベントが発生した場合に、特定情報を第２オブジェクト情報に追加してもよい。
【０１１２】
例えば、復元装置１００は、第１オブジェクトが発行したシステムコールの内容を参照し、“監視対象”の第２オブジェクトを示す情報（例えば、監視対象のファイルパス名）が含まれている場合には、“監視対象”の第２オブジェクトの内容を変更するための変更イベントが発生したことを検出する。
【０１１３】
かかる特徴によれば、復元装置１００が、“監視対象”の第２オブジェクトを特定した場合に「のみ」、特定情報を第２オブジェクト情報に追加することにより、復元装置１００は、特定情報の記憶量を増大させないようにすることができ、当該特定情報の追加に伴なう処理オーバーヘッドを抑制することができるとともに、システム全体の性能劣化を抑制することができる。
【０１１４】
以上、本発明の一例を説明したが、具体例を例示したに過ぎず、特に本発明を限定するものではなく、各部の具体的構成等は、適宜設計変更可能である。また、実施形態及び各変更例の作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、実施形態及び各変更例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【０１１５】
【図１】実施形態における復元装置の構成を示す図である。
【図２】実施形態における復元装置の概念動作を示す図である。
【図３】実施形態における復元装置の具体的な動作を示す図である。
【図４】実施形態における特定情報の内容を示す図である。
【図５】実施形態における第１オブジェクト情報及び第２オブジェクト情報の内容を示す図である。
【図６】実施形態における特定情報伝播処理の具体的な動作を示す図である。
【図７】実施形態における特定情報が伝播される様子を示す図である。
【図８】実施形態における選択情報の表示態様を示す図である。
【図９】実施形態における選択情報の表示態様を示す図である。
【図１０】第１変更例におけるシステム変更ＡＰＩコールの内容を示す図である。
【図１１】第１変更例におけるシステム変更ＡＰＩコールの内容を示す図である。
【符号の説明】
【０１１６】
１００…復元装置、１０１…選択情報、１１０…情報選択部、１１１…変更イベント検出部、１１２…特定情報生成部、１１３…特定情報追加部、１１４…情報管理部、１１５…作用イベント検出部、１１６…特定情報伝播部、１１７…障害イベント検出部、１１８…特定情報取得部、１１９…表示部、１２０…選択部、１３０…バックアップ生成部、１５０…バックアップデータ記憶部、１７０…復元部
【図１】
2007272771.tif 000003
【図２】
2007272771.tif 000004
【図３】
2007272771.tif 000005
【図４】
2007272771.tif 000006
【図５】
2007272771.tif 000007
【図６】
2007272771.tif 000008
【図７】
2007272771.tif 000009
【図８】
2007272771.tif 000010
【図９】
2007272771.tif 000011
【図１０】
2007272771.tif 000012
【図１１】
2007272771.tif 000013