(57)【特許請求の範囲】
【請求項１】
プロセスから所望のファイルに対応するファイル記述子の取得を要求する取得要求を受け付ける取得要求受付部と、
受け付けた取得要求により指定されるファイルが保護対象か否かを判定する判定部と、
受け付けた取得要求により指定されるファイルが保護対象であると判定された場合、前記ファイルを複製した内容に基づいて作業用ファイルを生成する作業用ファイル生成部と、
生成した作業用ファイルのファイル記述子を取得する取得部と、
該取得部により取得したファイル記述子を、受け付けた取得要求により指定されるファイルのファイル記述子として、前記取得要求元に応答する取得要求応答部と、
前記判定部が保護対象であると判定したファイルを複製し、複製した内容に基づいて前記作業用ファイルとは別のファイルである事前ファイルを生成する事前ファイル生成部と、
前記事前ファイルと当該事前ファイルの基となったファイルとを関連付ける事前ファイル情報を記憶部に登録する事前ファイル情報登録部と
を備え、
前記作業用ファイル生成部は、
受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイルが登録されている場合、当該取得要求の受付に伴う前記作業用ファイルの生成処理を省略し、
前記取得部は、
受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイル情報が登録されている場合、当該事前ファイル情報により示される前記事前ファイルのファイル記述子を取得する
情報処理装置。
【請求項２】
作業用ファイルを生成した場合に、生成した作業用ファイルと当該作業用ファイルの基となったファイルとを関連付けるファイル変換情報を記憶部に登録するファイル変換情報登録部
をさらに備え、
前記作業用ファイル生成部は、
受け付けた取得要求により指定されるファイルに関連付けられた前記ファイル変換情報が登録されている場合、当該取得要求の受け付けに伴う前記作業用ファイルの生成処理を省略し、
前記取得部は、
受け付けた取得要求により指定されるファイルに関連付けられたファイル変換情報が登録されている場合、当該ファイル変換情報により示される前記作業用ファイルのファイル記述子を取得する
請求項１に記載の情報処理装置。
【請求項３】
自装置について起動又は終了の少なくとも何れかを実行させる度に、生成した作業用ファイルを消去する消去部
をさらに備える請求項１又は２に記載の情報処理装置。
【請求項４】
前記事前ファイル生成部は、
前記取得要求受付部が前記取得要求を受け付ける頻度が所定値未満となったことに応じて、前記事前ファイルの生成を実行する第１の実行契機部と、
自装置が起動を開始してからの経過時間が所定値以上となったことに応じて前記事前ファイルの生成を実行する第２の実行契機部と、
前記取得要求受付部が受け付けた取得要求により指定されるファイルが予め設定したファイルであることを検出したことに応じて、前記事前ファイルの生成を実行する第３の実行契機部と、
前記取得要求受付部において受け付けた前記取得要求により指定されるファイルが予め設定したファイルであることを検出した時刻からの経過時間が所定値以上となったことに応じて前記事前ファイルの生成を実行する第４の実行契機部と
の少なくともいずれか一つを有する
請求項１から請求項３までのいずれか一項に記載の情報処理装置。
【請求項５】
前記取得要求を受け付けた場合に、前記受け付けた取得要求により指定されるファイルに関する情報であるアクセス情報を記憶部に登録するアクセス情報登録部
をさらに備え、
前記事前ファイル生成部は、
前記記憶部に登録されたアクセス情報により示されるファイルのファイルサイズを参照し、そのファイルサイズが第一の閾値を超えるファイルを前記事前ファイルの生成対象から除外する第１の生成対象制御部と、
前記記憶部に登録されたアクセス情報により示されるファイルのファイルサイズを参照し、そのファイルサイズが第二の閾値未満のファイルを前記事前ファイルの生成対象から除外する第２の生成対象制御部と、
前記記憶部に登録されたアクセス情報により示されるファイルのファイルサイズを参照し、そのファイルサイズが他の前記ファイルのファイルサイズより小さいファイルを優先的に前記事前ファイルの生成対象とする第３の生成対象制御部と、
前記記憶部に登録されたアクセス情報により示されるファイルのファイルサイズを参照し、そのファイルサイズが他の前記ファイルのファイルサイズより大きいファイルを優先的に前記事前ファイルの生成対象とする第４の生成対象制御部と
の少なくともいずれか一つを有する
請求項１から請求項４までのいずれか一項に記載の情報処理装置。
【請求項６】
プロセスから所望のファイルに対応するファイル記述子の取得を要求する取得要求を受け付けることと、
受け付けた取得要求により指定されるファイルが保護対象か否かを判定することと、
受け付けた取得要求により指定されるファイルが保護対象であると判定された場合、そのファイルを複製した内容に基づいて作業用ファイルを生成することと、
生成した作業用ファイルのファイル記述子を取得することと、
取得したファイル記述子を、受け付けた取得要求により指定されるファイルのファイル記述子として、前記取得要求元に応答することと、
保護対象であると判定したファイルを複製し、複製した内容に基づいて前記作業用ファイルとは別のファイルである事前ファイルを生成することと、
前記事前ファイルと当該事前ファイルの基となったファイルとを関連付ける事前ファイル情報を記憶部に登録することと、
受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイルが登録されている場合、当該取得要求の受付に伴う前記作業用ファイルの生成処理を省略することと、
受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイル情報が登録されている場合、当該事前ファイル情報により示される前記事前ファイルのファイル記述子を取得することと
をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、保護対象となっているデータが変更された場合であっても、変更前のデータを復元することができる情報処理装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
Operating System（ＯＳ）などが動作するコンピュータは、ＯＳが正常に動作するソフトウェア環境を構築させるための様々なデータを記憶している。コンピュータが、例えば学校など多数のユーザにより利用される場所に設置された場合、これらデータは、ユーザにより変更されることがある。コンピュータ上で常に同じソフトウェア環境を構築させるためには、データが変更された場合には、データを変更前の状態に復元する必要がある。
【０００３】
データを復元する方法として、例えばディスク装置に記憶されたデータに対して新たにデータを上書きする場合、新しいデータを元のデータのディスク位置とは異なるディスク位置に格納する方法がある。そしてこの方法では、元のデータが必要となったときには、そのデータが格納されたディスク位置からデータを読み取る。これにより、データが変更された場合でも、過去の状態を復元することが可能となっている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７９７８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、例えば元のデータをユーザが読み出す際に、エラーが生じ、そのエラーが原因となって元のデータが破損するおそれがある。この場合、元のデータを読み取ることができず、過去の状態を確実に復元できない場合がある。またデータを格納したディスク位置を管理する必要があり、装置における処理負担が増加し、ユーザが行う処理に影響を及ぼすおそれがある。さらに、定期的に元のデータを他の記憶領域などにコピー（バックアップ）することもあり得るが、この場合、バックアップのための記憶領域が必要となり、コスト上昇の原因となる。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、オリジナルのデータを必要時に複製し、その複製したデータにアクセスさせることで、オリジナルのデータを保護し、そのデータを瞬間的に復元することができる情報処理装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本願に開示する情報処理装置は、プロセスから所望のファイルに対応するファイル記述子の取得を要求する取得要求を受け付ける取得要求受付部と、受け付けた取得要求により指定されるファイルが保護対象か否かを判定する判定部と、受け付けた取得要求により指定されるファイルが保護対象であると判定された場合、前記ファイルを複製した内容に基づいて作業用ファイルを生成する作業用ファイル生成部と、生成した作業用ファイルのファイル記述子を取得する取得部と、該取得部により取得したファイル記述子を、受け付けた取得要求により指定されるファイルのファイル記述子として、前記取得要求元に応答する取得要求応答部と、前記判定部が保護対象であると判定したファイルを複製し、複製した内容に基づいて前記作業用ファイルとは別のファイルである事前ファイルを生成する事前ファイル生成部と、前記事前ファイルと当該事前ファイルの基となったファイルとを関連付ける事前ファイル情報を記憶部に登録する事前ファイル情報登録部とを備え、前記作業用ファイル生成部は、受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイルが登録されている場合、当該取得要求の受付に伴う前記作業用ファイルの生成処理を省略し、前記取得部は、受け付けた取得要求により指定されるファイルに関連付けられた前記事前ファイル情報が登録されている場合、当該事前ファイル情報により示される前記事前ファイルのファイル記述子を取得する。
【発明の効果】
【０００８】
本願に開示する情報処理装置の一観点によれば、指定を受け付けた保護対象のデータにアクセスする場合、そのデータを複製し、指定されたデータではなく、そのデータの複製（コピー）のファイル記述子を取得し、取得したファイル記述子を要求元に応答する。すなわち、ユーザがデータを変更する場合には、複製データが変更される。従って、元のデータに対しては変更されることがなく、また、ユーザによってアクセスもされないため、元のデータの破損などのおそれを低減できる。そして、複製されたデータを消去することにより、瞬時に元のデータを復元することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る情報処理装置が行うファイル復元処理を説明するための模式図である。
【図２】実施の形態に係る情報処理装置の電気的な構成を示す模式図である。
【図３Ａ】ファイル復元処理の実行時に必要なテーブルを模式的に示す図である。
【図３Ｂ】ファイル復元処理の実行時に必要なテーブルを模式的に示す図である。
【図３Ｃ】ファイル復元処理の実行時に必要なテーブルを模式的に示す図である。
【図４Ａ】オリジナル記憶領域、ワーク領域及び事前コピー領域について説明するための模式図である。
【図４Ｂ】オリジナル記憶領域、ワーク領域及び事前コピー領域について説明するための模式図である。
【図４Ｃ】オリジナル記憶領域、ワーク領域及び事前コピー領域について説明するための模式図である。
【図５Ａ】オリジナル記憶領域、ワーク領域及び事前コピー領域について説明するための模式図である。
【図５Ｂ】オリジナル記憶領域、ワーク領域及び事前コピー領域について説明するための模式図である。
【図６】情報処理装置における処理の動作を示すフローチャートである。
【図７】ワーク領域ファイル処理を示すフローチャートである。
【図８】事前コピー処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本願に開示する情報処理装置及びコンピュータプログラムの好適な実施の形態について図面を参照しつつ説明する。
【００１１】
本実施の形態では、情報処理装置は、例えばデスクトップ型又はノート型の一般的なパーソナルコンピュータである。本実施の形態に係る情報処理装置は、ファイル復元処理を行う。ファイル復元処理とは、情報処理装置に記憶されるデータファイルがユーザにより書き換えられた場合に、データファイルを書き換え前の状態に復元する処理を言う。以下の説明では、書き換え前の状態のデータファイルを、オリジナルのデータファイルと言う。またデータファイルの書き換えには、データファイルの消去も含むものとする。
【００１２】
図１は、本実施の形態に係る情報処理装置が行うファイル復元処理を説明するための模式図である。
【００１３】
情報処理装置１は、演算装置１０、記憶装置２０及び入出力装置３０等を備えている。演算装置１０は、例えばWindows（登録商標）又はLinux（登録商標）等のＯＳ５０、及び複数のアプリケーションプログラム（以下、単にアプリと言う）５１，５２，５３等が実行可能としてある。記憶装置２０は、例えばHard Disk Drive(ＨＤＤ)やSolid State Drive(ＳＳＤ)等の不揮発性の記憶装置等であり、複数のデータファイルを記憶する。なお、記憶装置２０として、Dynamic Random Access Memory(ＤＲＡＭ)やStatic Random Access Memory（ＳＲＡＭ）などの揮発性記憶装置を用いてもよく、不揮発性の記憶装置と揮発性の記憶装置とを組み合わせて用いてもよい。入出力装置３０は、キーボード、マウス及びモニタ等であって、ユーザによる操作を受け付け、必要な情報を表示する。
【００１４】
記憶装置２０は、データファイルを記憶するための記憶領域として、オリジナル記憶領域（第１記憶領域）２１、ワーク領域（第２記憶領域）２２及び事前コピー領域（第３記憶領域）２３等を有している。データファイルは、例えばＯＳ５０又はアプリ５１等に関するファイルであって、ＯＳ５０等のプログラムが情報処理装置１にインストールされることにより生成され、又は情報処理装置１の管理者などの操作者によって生成される。生成されたデータファイルは、オリジナルのデータファイル（以下、オリジナルファイルと言う）としてオリジナル記憶領域２１に記憶される。オリジナル記憶領域２１に記憶されたオリジナルファイル２５は、ＯＳ５０等の起動時に演算装置１０により読み取られ、演算装置１０にはオリジナルファイル２５に従ったソフトウェア環境が構築される。
【００１５】
ソフトウェア環境が構築された後、各オリジナルファイル２５は、演算装置１０によりアクセスされる。演算装置１０は、例えばアプリ５１を介してユーザが指定したオリジナルファイル２５に対してアクセスする。ＯＳ５０上で動作するアプリ５１などのユーザアプリケーションとしての処理手順を実行する演算装置１０は、ＯＳ５０が提供するファイルシステム機能を介して、指定されたオリジナルファイル２５にアクセスする。これは、ユーザアプリケーションのプロセスが、記憶装置２０に格納されているファイルを直接的に操作することをＯＳ５０により制限されているためである。なお、本実施の形態においてユーザアプリケーションは、情報処理装置１のユーザが作成したアプリケーションに限定する意図は無く、ＯＳ５０上で動作する全てのプログラムを含み得る。
【００１６】
上述のファイルシステム機能を介したアクセス処理において、ユーザアプリケーションのプロセスは、記憶装置２０に格納されているデータファイルに対応するファイル記述子（ファイルハンドラとも称呼する）を、ＯＳ５０が提供するファイルシステム機能から取得する。そして、データファイルの参照やデータファイルへの書き込み等のファイル操作の要求を、取得したファイル記述子を用いてＯＳ５０に発行することにより、ＯＳ５０が提供する機能を介して所望のファイル操作を実行する。なお、上述のファイル操作の要求は、データファイルの参照やデータファイルへの書き込みの他に、データファイルの移動や、データファイルの削除などの要求も含み得る。上述のように、ユーザアプリケーションの処理手順を実行する演算装置１０が記憶装置２０に格納されているデータファイルへアクセスする場合、ファイル記述子を取得する要求と、取得したファイル記述子に対応するデータファイルへのファイル操作を実行する要求とがＯＳ５０に対して発行される。
【００１７】
本実施の形態では、オリジナルファイル２５には、予め保護（復元）対象に指定されているものがある。演算装置１０によりアクセスされたオリジナルファイル２５が保護対象である場合、そのオリジナルファイル２５はワーク領域２２へコピーされる。このコピー処理の実行を開始する前に、オリジナルファイル２５に対応付けてワーク領域２２に格納されているコピーファイル２６が既に存在するか否かを判定し、既に存在すると判定された場合にはコピー処理を省略してもよい。ここで、演算装置１０によるオリジナルファイル２５へのアクセスとは、ユーザアプリケーションの処理手順を実行する演算装置１０によるオリジナルファイル２５に対するファイル処理におけるファイル記述子の取得要求の発行を意味する。なお、ファイル記述子の取得要求には、ファイルからデータを取得する参照処理における取得要求と、ファイルへデータを書き込む更新処理における取得要求とがある。
【００１８】
本実施の形態では、データファイルへデータを書き込む更新処理におけるファイル記述子の取得要求に対してのみ、保護対象のオリジナルファイル２５をワーク領域２２へコピーする。これにより、ファイルからデータの取得しかしないファイル処理において、保護対象のオリジナルファイル２５をワーク領域２２へコピーする処理を省略することができる。すなわち、参照処理において上述のコピー処理に要する時間が省略されるため、保護対象のオリジナルファイル２５からデータを取得し終えるまでの処理時間を短縮することが可能となる。
【００１９】
ワーク領域２２へコピーされた場合、演算装置１０は、アクセス先を、オリジナル記憶領域２１のオリジナルファイル２５からワーク領域２２にコピーされたデータファイル（以下、コピーファイルと言う）２６へと切り替える。すなわち、本実施の形態に係る演算装置１０は、オリジナルファイル２５に対するファイルの更新処理におけるファイル記述子の取得要求の発行を検知し、オリジナルファイル２５に対応付けてワーク領域２２に格納されているコピーファイル２６に対応するファイル記述子を取得する。そして、その取得したコピーファイル２６に対応するファイル記述子を、要求元のユーザアプリケーションのプロセスに通知する。
【００２０】
これにより、アプリケーションによるプロセスは、ワーク領域２２のコピーファイル２６に対応するファイル記述子を用いてファイル操作の要求をＯＳ５０に対して発行することになる。そして、ＯＳ５０の処理手順を実行する演算装置１０は、アプリケーションのプロセスから受けたファイル操作の要求に従い、アクセスしたワーク領域２２のコピーファイル２６に対する書き換え等のファイル操作を行う。従って、保護対象のオリジナルファイル２５はアプリケーションにより書き換えられることがない。そのため、保護対象のデータファイルに対する書き換え等のファイル操作の要求を発行した場合であっても、本実施の形態における復元処理を実行することにより、演算装置１０にはそのファイル操作の要求を発行する前と同じソフトウェア環境が構築される。なお、本実施の形態では、ＯＳ５０の起動時に、ワーク領域２２のコピーファイル２６は消去される。
【００２１】
また、演算装置１０によりアクセスされた保護対象のオリジナルファイル２５は、所定のタイミングで事前コピー領域２３にコピーされる。すなわち、更新処理におけるファイル記述子の取得要求の対象とされ、そのファイル記述子を用いてデータファイルへの書き込み等のファイル操作の要求が発行されたファイルが、事前コピー領域２３へのコピー対象となる。事前コピー領域２３にコピーされたデータファイル（以下、事前コピーファイルと言う）２７は、ＯＳ５０の再起動時にワーク領域２２へ移動される。そして、ユーザが再起動前と同じオリジナルファイル２５へアクセスした場合、演算装置１０は、アクセス先を、オリジナル記憶領域２１のオリジナルファイル２５からワーク領域２２に移動された事前コピーファイル２７へと切り替える。すなわち、本実施の形態に係る演算装置１０は、オリジナルファイル２５に対する更新処理におけるファイル記述子の取得要求の発行を検知し、オリジナルファイル２５に対応付けて格納されている事前コピーファイル２７に対応するファイル記述子を取得する。そして、その取得した事前コピーファイル２７に対応するファイル記述子を、要求元のユーザアプリケーションのプロセスに通知する。そして、演算装置１０は、ユーザの操作などにより、取得したファイル記述子を用いてアクセスしたワーク領域２２のコピーファイル２６の書き換え等を行う。
【００２２】
すなわち、アプリケーションのプロセスによる保護対象のデータファイルに対する書き換え等のファイル操作は、ワーク領域２２に記憶されるデータファイルに対応するファイル記述子を用いて発行されるため、結果として、保護対象のデータファイルの書き換え等のファイル操作を回避することができる。さらに、アプリケーションの一般的な実装では、同じファイルへの２回目以降のアクセス時には１回目のアクセス時に取得したファイル記述子を再利用することにより、ファイル記述子を取得する要求の再度の発行を省略する場合がある。これにより、同じファイルへの２回目以降のアクセスに対して、上述のオリジナルファイルのコピー処理やファイル記述子の変換処理の実行を省略することができる。また、本実施の形態の制御を経由してファイル記述子を取得した後は、各ユーザアプリケーションは本実施の形態の制御を経由せずに所定のファイルへのアクセス要求を実行するため、本実施の形態の制御に要する演算コストを省略することができる。
【００２３】
アプリケーションのプロセスにより書き換え等のファイル操作の要求が発行された保護対象のデータファイルは、その要求が発行されたことを示す履歴情報に基づいて、オリジナル記憶領域２１から事前コピー領域２３へコピーされる。すなわち、保護対象であると判定されたデータファイルを複製し、上述の作業用ファイルであるコピーファイル２６とは別のデータファイルとして記憶装置に格納する。これにより、二度目以降（具体的には、ＯＳ５０の再起動後）は、事前コピー領域２３からワーク領域２２へ移動される。データファイルの移動処理は、コピー処理との対比において、処理速度が速くなる。従って、例えばＯＳ５０の再起動後などの事前コピーファイル２７が格納されている状態での動作時には、ユーザがオリジナルファイル２５の書き換えを行うまでの時間を、初回起動時などの事前コピーファイル２７が格納されていない状態での動作時との対比において短縮させることができる。
【００２４】
なお、本実施の形態では、情報処理装置１は演算装置１０及び記憶装置２０を一体的に備えているものとして説明しているが、ネットワークを介してそれぞれを接続する構成としてもよい。例えば、記憶装置２０をNetwork Attached Storage（ＮＡＳ）としてもよい。また記憶装置２０は、リムーバブルハードディスク、Universal Serial Bus（ＵＳＢ）メモリ等としてもよい。また情報処理装置１は、サーバ装置などのコンピュータであってもよい。
【００２５】
以下、ファイル復元処理を実行する情報処理装置１の具体的な構成及び動作について詳述する。
【００２６】
図２は、本実施の形態に係る情報処理装置１の電気的な構成を示す模式図である。情報処理装置１は、上述の演算装置１０を構成するCentral Processing Unit（ＣＰＵ）１１、Read Only Memory（ＲＯＭ）１２、及びRandom Access Memory（ＲＡＭ）１３と、上述した記憶装置２０及び入出力装置３０とのハードウェア各部を備える。これらのハードウェア各部はバス１ａを介して相互に接続されている。
【００２７】
ＣＰＵ１１は、ＲＯＭ１２に予め記憶されている制御プログラムを適宜ＲＡＭ１３に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ１２は、情報処理装置１を本願に開示する情報処理装置として動作させるために必要な種々の制御プログラム１２ａ、及び保護対象管理テーブル１２ｂなどを予め記憶している。保護対象管理テーブル１２ｂは、保護（復元）すべきオリジナルファイル２５を管理するためのテーブルである。保護対象管理テーブル１２ｂで保護対象に指定されているオリジナルファイル２５が、上述のようにオリジナル記憶領域２１からワーク領域２２へコピーされる。この保護対象管理テーブル１２ｂは、ファイル復元処理のプログラムのインストール時に生成されてもよいし、管理者によって生成されてもよい。また、保護対象管理テーブル１２ｂは書き換え可能としてもよい。なお制御プログラム１２ａ及び保護対象管理テーブル１２ｂ等は、記憶装置２０に記憶されていてもよい。
【００２８】
ＲＡＭ１３は、例えばStatic ＲＡＭ（ＳＲＡＭ）、Dynamic ＲＡＭ（ＤＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１３は、ＣＰＵ１１による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。例えばＲＡＭ１３は、ファイル名変換テーブル１３ａ、アクセスファイル管理テーブル１３ｂ、及び事前コピー管理テーブル１３ｃ等を記憶する。
【００２９】
図３は、ファイル復元処理の実行時に必要な各テーブルを模式的に示す図である。図３Ａはファイル名変換テーブル１３ａを示し、図３Ｂはアクセスファイル管理テーブル１３ｂを示し、図３Ｃは事前コピー管理テーブル１３ｃを示している。
【００３０】
図３Ａに示すファイル名変換テーブル１３ａは、オリジナル記憶領域２１に記憶されるオリジナルファイル２５と、ワーク領域２２に記憶されるコピーファイル２６とを対応付けるためのテーブルである。例えば図３Ａの場合、オリジナル記憶領域２１の「C:\aa」に記憶される「bb.txt」のオリジナルファイル２５は、ワーク領域２２の「C:\WF\1」にコピーされたことを示している。このファイル名変換テーブル１３ａは、オリジナルファイル２５がワーク領域２２へコピーされたときに生成される。
【００３１】
図３Ｂに示すアクセスファイル管理テーブル１３ｂは、特定の期間内にアクセスされたオリジナルファイル２５を管理するためのテーブルである。換言すれば、アクセスファイル管理テーブル１３ｂに格納されるオリジナルファイル２５は、ワーク領域２２にコピーされたオリジナルファイル２５である。このアクセスファイル管理テーブル１３ｂには、アクセスされたオリジナルファイル２５のファイルサイズ（例えば、単位は「byte」）が格納されている。
【００３２】
図３Ｃに示す事前コピー管理テーブル１３ｃは、オリジナル記憶領域２１に記憶されるオリジナルファイル２５と、事前コピー領域２３に記憶される事前コピーファイル２７とを対応付けるためのテーブルである。例えば図３Ｃの場合、オリジナル記憶領域２１の「C:\aa」に記憶される「bb.txt」のオリジナルファイル２５は、事前コピー領域２３の「C:\ZF\1」にコピーされていることを示している。
【００３３】
記憶装置２０は、上述したオリジナル記憶領域２１、ワーク領域２２、及び事前コピー事前領域２３を有している。ワーク領域２２及び事前コピー領域２３それぞれは、領域が２つに分割されている。以下に、記憶装置２０が有する各領域について詳述する。図４及び図５は、オリジナル記憶領域２１、ワーク領域２２及び事前コピー領域２３について説明するための模式図である。なお以下では、ワーク領域２２及び事前コピー領域２３には何も記憶されていない状態から開始するものとして説明する。
【００３４】
オリジナル記憶領域２１に記憶されているオリジナルファイル２５に対する更新処理におけるファイル記述子の取得要求の発行を検知した場合、保護対象管理テーブル１２ｂに基づいて、アクセスされたオリジナルファイル２５が保護対象に指定されているか否かが判断される。保護対象に指定されている場合、そのオリジナルファイル２５がワーク領域２２の第１領域（以下、第１ワーク領域と言う）２２ａにコピーされる（図４Ａ参照）。このとき、ファイル名変換テーブル１３ａが生成され、オリジナルファイル２５とコピーファイル２６とが対応付けられる。そして、アプリケーションのプロセスが発行した取得要求により指定されるオリジナルファイル２５に対応するファイル記述子が、コピーファイル２６に対応するファイル記述子へと切り替えられる。すなわち、コピーファイル２６に対応するファイル記述子を、取得要求を発行したプロセスへ通知する。
【００３５】
またアクセスファイル管理テーブル１３ｂが生成され、ＲＡＭ１３へ記憶される。上述のコピー処理の実行を開始する前に、ファイル名変換テーブル１３ａを参照し、検知した取得要求の対象であるオリジナルファイル２５のファイル名がファイル名変換テーブル１３ａに既に登録されていると判定される場合は、コピー処理の実行を省略しても良い。すなわち、取得要求により指定されるオリジナルファイル２５がファイル名変換テーブル１３ａに既に登録済みの場合は、オリジナルファイル２５と対応付けてファイル名変換テーブル１３ａに登録されているコピーファイル２６に対応するファイル記述子を、取得要求を発行したプロセスへ通知する。
【００３６】
以上により、オリジナルファイル２５に対応するファイル記述子の取得要求を発行したプロセスは、オリジナルファイル２５の内容に基づいてワーク領域２２に生成されたコピーファイル２６に対応するファイル記述子を取得することになる。そしてファイル記述子を取得したプロセスは、取得したファイル記述子を用いてコピーファイル２６への書き込み等のファイル操作の実行をＯＳ５０に対して要求する。ＯＳ５０は、ファイル操作の実行要求を受け、その要求において指定されたファイル記述子により特定される管理情報を参照し、ファイルを構成するデータの格納場所を解決する。そして、データの格納場所を指定したアクセスの指示を記憶装置２０へ通知する。これらＯＳ５０の処理は、従来と同様であるため、詳細な説明を省略する。
【００３７】
以上により、オリジナルファイル２５への書き込みや削除などを回避することができる。さらに、本実施の形態に係る制御プログラムは、プロセスから発行されるファイル記述子を用いたファイル操作の実行要求を検知の対象から除外することができる。すなわち、本実施の形態に係る制御プログラムは、プロセスから発行されるファイル記述子の取得要求のみを検知の対象とすればよい。また、更新処理におけるファイル記述子の取得要求のみを検知の対象とし、参照操作におけるファイル記述子の取得要求を検知対象から除外することにより、検知処理に要する演算コストをさらに削減することができる。
【００３８】
次に特定のタイミングで、アクセスファイル管理テーブル１３ｂに基づいて、ファイル更新処理におけるファイル記述子の取得要求の対象とされたオリジナルファイル２５が事前コピー領域２３の第１領域（以下、第１事前コピー領域と言う）２３ａにコピーされる（図４Ｂ参照）。このとき、事前コピー管理テーブル２４が生成されて、記憶装置２０内に記憶される。事前コピー管理テーブル２４は、図３Ｃで説明した事前コピー管理テーブル１３ｃと同様である。以下の説明では、オリジナルファイル２５を事前コピー領域２３へコピーする動作を事前コピーと言う。この図４Ａ及び図４Ｂの動作は、ＯＳ５０が動作し続ける限り繰り返される。
【００３９】
ＯＳ５０が再起動された場合など事前コピーファイル２７が格納されている状態で情報処理装置１が起動された場合は、記憶装置２０内の事前コピー管理テーブル２４がＲＡＭ１３に展開される。そして、図４Ａと同様に、オリジナル記憶領域２１に記憶されているオリジナルファイル２５に対するファイル更新処理におけるファイル記述子の取得要求を検知した場合、事前コピー管理テーブル１３ｃに基づいて、アクセスされたオリジナルファイル２５が事前コピーされたか否かが判定される。このアクセスされたオリジナルファイル２５が事前コピーされている場合、対応する第１事前コピー領域２３ａの事前コピーファイル２７が、ワーク領域２２の第２領域（以下、第２ワーク領域と言う）２２ｂへ移動される（図４Ｃ参照）。このとき、第１ワーク領域２２ａのコピーファイル２６は消去される。事前コピーファイル２７を第２ワーク領域２２ｂへコピーすることで、第１ワーク領域２２ａにおける消去処理と、第２ワーク領域２２ｂにおける移動処理とを並行に行うことができ、時間の短縮化を図ることができる。
【００４０】
また図４Ｂと同様に、特定のタイミングで、アクセスファイル管理テーブル１３ｂに基づいて、アクセスされたオリジナルファイル２５が、事前コピー領域２３の第２領域（以下、第２事前コピー領域と言う）２３ｂにコピーされる（図５Ａ参照）。このとき、オリジナルファイル２５を第２事前コピー領域２３ｂへコピーすることで、第１事前コピー領域２３ａからから第２ワーク領域２２ｂへの移動処理と重ならないようにでき、時間の短縮化を図ることができる。
【００４１】
さらにＯＳ５０が再起動された場合、図４Ｃと同様に、事前コピー管理テーブル１３ｃに基づいて、第２事前コピー領域２３ｂの事前コピーファイル２７が、第１ワーク領域２２ａへ移動される（図５Ｂ参照）。このとき、第２ワーク領域２２ｂのコピーファイル２６は消去される。このとき、図４Ｃで説明したように、事前コピーファイル２７を第１ワーク領域２２ａへコピーすることで、消去処理及び移動処理とを並行に行うことができ、時間の短縮化を図ることができる。
【００４２】
次に、上述の情報処理装置１における処理の動作について説明する。
【００４３】
図６は、情報処理装置１における処理の動作を示すフローチャートである。
【００４４】
ＣＰＵ１１は、情報処理装置１の電源が投入されることで、ＯＳ５０を起動する（Ｓ１）。ＯＳ５０が起動することで、ファイル復元処理を実行するドライバがロードされ、ファイル復元処理の実行が開始される。次にＣＰＵ１１は、初期化処理を実行する（Ｓ２）。初期化処理とは、例えばＲＡＭ１３の記憶内容を初期化し、ＲＯＭ１２からＲＡＭ１３への保護対象管理テーブル１２ｂの読み出し（展開）等を行う。また、ＣＰＵ１１は、ワーク領域２２にコピーファイル２６が記憶されている場合には、コピーファイル２６を消去する処理を行う。
【００４５】
ＣＰＵ１１は、記憶装置２０に事前コピー管理テーブル２４が記憶されてあるか否かを判定する（Ｓ３）。事前コピー管理テーブル２４が記憶されてある場合（Ｓ３：ＹＥＳ）、ＣＰＵ１１は、事前コピー管理テーブル２４をＲＡＭ１３へ読み出す（Ｓ４）。事前コピー管理テーブル２４が記憶されていない場合（Ｓ３：ＮＯ）、又はＲＡＭ１３へ読み出した後、ＣＰＵ１１は、ワーク領域ファイル処理（Ｓ５）を実行する。
【００４６】
図７は、ワーク領域ファイル処理を示すフローチャートである。
【００４７】
ワーク領域ファイル処理では、ＣＰＵ１１は、オリジナル記憶領域２１のオリジナルファイル２５へのアクセスを受け付けたか否かを判定する（Ｓ１１）。ここでアクセスの受け付けとは、例えばアプリ５１でオリジナルファイル２５のファイル名が指定され、ファイルの更新処理が要求された場合を言う。またアクセスの受け付けは、例えばコマンドを入力するものであってもよいし、データファイルのアイコンを選択するものであってもよい。アクセスを受け付けていない場合（Ｓ１１：ＮＯ）、ＣＰＵ１１は受け付けるまで待機する。このとき、ＣＰＵ１１は、情報処理装置１における他の処理を行うようにしてもよいし、所定時間が経過すれば他の処理に移行するようにしてもよい。
【００４８】
アクセスを受け付けた場合、すなわち、ファイルの更新処理におけるファイル記述子の取得要求を受け付けた場合（Ｓ１１：ＹＥＳ）、ＣＰＵ１１は、アクセス先のオリジナルファイル２５が事前コピーされているか否かを判定する（Ｓ１２）。具体的には、ＣＰＵ１１は、ＲＡＭ１３の事前コピー管理テーブル１３ｃを参照し、事前コピー管理テーブル１３ｃに対象のオリジナルファイル２５が記憶されているか否かを判定する。事前コピーされていない場合（Ｓ１２：ＮＯ）、ＣＰＵ１１は、保護対象管理テーブル１２ｂを参照して、アクセス先のオリジナルファイル２５が保護対象であるか否かを判定する（Ｓ１３）。
【００４９】
保護対象である場合（Ｓ１３：ＹＥＳ）、ＣＰＵ１１は、アクセス先のオリジナルファイル２５をワーク領域２２へコピーする（Ｓ１４）。Ｓ１４においてＣＰＵ１１は、第１ワーク領域２２ａにコピーファイル２６が記憶されていない場合には、オリジナルファイル２５を第１ワーク領域２２ａへコピーする。第１ワーク領域２２ａにコピーファイル２６が記憶されている場合には、ＣＰＵ１１は、第２ワーク領域２２ｂへコピーする。なお、ＣＰＵ１１は、Ｓ１１で受け付けたアクセス先のオリジナルファイル２５がオリジナル記憶領域２１へ記憶されているかを確認し、記憶されている場合にコピーを実行するようにしてもよい。これにより、オリジナル記憶領域２１から削除されたオリジナルファイル２５の内容が、ワーク領域２２に格納されたコピーファイル２６を通じて、意図せず利用し続けられることを回避することができる。
【００５０】
次にＣＰＵ１１は、Ｓ１１で受け付けたアクセス先を第１ワーク領域２２ａのコピーファイル２６へ切り替える（Ｓ１５）。これ以降の処理では、ＣＰＵ１１は、第１ワーク領域２２ａのコピーファイル２６へアクセスするようになる。すなわち、ユーザにより書き換え処理が行われた場合、ＣＰＵ１１は、第１ワーク領域２２ａのコピーファイル２６を書き換えるようになる。
【００５１】
次に、ＣＰＵ１１、コピー結果をファイル名変換テーブル１３ａへ記録する（Ｓ１６）。このときファイル名変換テーブル１３ａがＲＡＭ１３にない場合、ＣＰＵ１１は、ファイル名変換テーブル１３ａを生成し、ＲＡＭ１３へ記憶する。その後、ＣＰＵ１１は、アクセスファイル管理テーブル１３ｂへアクセスしたオリジナルファイル２５に関する情報（例えばファイル名及びファイルサイズ）を記録する（Ｓ１７）。そして、ＣＰＵ１１は本処理を終了し、図６のＳ６に移行する。
【００５２】
一方、Ｓ１３において、アクセス先のオリジナルファイル２５が保護対象でない場合（Ｓ１３：ＮＯ）、ＣＰＵ１１は、アクセス先を切り替えることなく、本処理を終了し、図６のＳ６に移行する。この場合、ＣＰＵ１１は、オリジナル記憶領域２１のオリジナルファイル２５に対してアクセスし、ユーザにより書き換え処理が行われた場合に、オリジナルファイル２５に対してその処理を実行する。
【００５３】
またＳ１２において、オリジナルファイル２５が事前コピーされている場合（Ｓ１２：ＹＥＳ）、ＣＰＵ１１は、事前コピー領域２３に記憶されている事前コピーファイル２７を、ワーク領域２２へ移動させる（Ｓ１８）。このときＣＰＵ１１は、第１ワーク領域２２ａにコピーファイル２６が記憶されていない場合には、事前コピーファイル２７を第１ワーク領域２２ａへ移動させる。第１ワーク領域２２ａにコピーファイル２６が記憶されている場合には、ＣＰＵ１１は、第２ワーク領域２２ｂへ事前コピーファイル２７を移動させる。その後、ＣＰＵ１１はＳ１５に移行し、Ｓ１１で受け付けたアクセス先をワーク領域２２のコピーファイル２６へ切り替える（Ｓ１５）。すなわち、Ｓ１５においてＣＰＵ１１は、ワーク領域２２のコピーファイル２６に対応するファイル記述子を取得し、取得要求を発行したプロセスへその取得したファイル記述子を通知する。
【００５４】
Ｓ１５におけるファイル記述子の取得処理は以下の通りである。ファイル記述子の取得要求を検知した際に、取得要求を発行したプロセスに関する情報が取得される。その取得された情報には、発行したプロセスを識別するためのプロセスＩＤが含まれている。Ｓ１５においてＣＰＵ１１は、そのプロセスＩＤからＯＳ５０が管理するプロセス制御ブロック（タスク制御ブロックとも呼称する）を取得する。さらに、そのプロセス制御ブロックのデータ構造内に管理されているエントリー（ファイルアクセス管理簿とも呼称する）として取得要求の対象とされているファイルに対応するコピーファイル２６のファイル制御ブロックが登録されているか否かを判定する。すでにエントリーとして対応するファイル制御ブロックが登録されている場合には、そのエントリーのエントリー番号をファイル記述子として、取得要求元のプロセスに返送する。
【００５５】
一方、未登録の場合、取得要求の対象とされているファイルに対応するコピーファイル２６のファイル制御ブロックをＯＳ５０から取得し、そのファイル制御ブロックをプロセス制御ブロックのデータ構造により管理されている何れかのエントリーに登録する。さらに、取得要求において指定されたオープンモードをそのエントリーに設定する。例えば、更新処理におけるファイル記述子の取得要求では、書き込みや追加書き込みなどの更新処理を示すオープンモードが設定される。参照処理におけるファイル記述子の取得要求では、読み取り専用などの参照処理を示すオープンモードが設定される。そして、ファイル制御ブロックを登録したエントリーのエントリー番号をファイル記述子として、取得要求元のプロセスに返送する。Ｓ１５により通知を受けたプロセスは、取得したファイル記述子を用いてファイル操作の実行要求をＯＳへ要求した場合、第１ワーク領域２２ａのコピーファイル２６へアクセスすることになる。
【００５６】
ＣＰＵ１１は、所定のタイミングとなったか否かを判定する（Ｓ６）。ここで所定のタイミングとは、記憶装置２０へのアクセス要求を受け付ける頻度（所定時間単位におけるアクセス要求を受け付ける回数）が所定値未満となった場合、又は、ＯＳ５０等の起動開始時刻から所定時間が経過した場合などであってもよい。また、所定のプログラム（例えば、ログイン画面の表示プログラム、又はログイン後に自動的に起動されるプログラム）のロード要求をＣＰＵ１１が受け付けた場合、又は、ロード要求を受け付けてから所定時間が経過した場合であってもよい。所定のタイミングとなった場合（Ｓ６：ＹＥＳ）、ＣＰＵ１１は、事前コピー処理を実行する（Ｓ７）。所定のタイミングとなっていない場合（Ｓ６：ＮＯ）、ＣＰＵ１１は、Ｓ８の処理に移行する。
【００５７】
図８は、事前コピー処理を示すフローチャートである。
【００５８】
事前コピー処理では、ＣＰＵ１１は、アクセスファイル管理テーブル１３ｂがＲＡＭ１３に記憶されているか否かを判定する（Ｓ２１）。換言すれば、ＣＰＵ１１は、ワーク領域コピー処理で保護対象のオリジナルファイル２５がワーク領域２２へコピーされたか否かを判定する。アクセスファイル管理テーブル１３ｂがＲＡＭ１３へ記憶されていない場合（Ｓ２１：ＮＯ）、ＣＰＵ１１は事前コピー処理を終了し、図６のＳ８へ処理を移す。
【００５９】
アクセスファイル管理テーブル１３ｂがＲＡＭ１３へ記憶されている場合（Ｓ２１：ＹＥＳ）、ＣＰＵ１１は、アクセスファイル管理テーブル１３ｂにオリジナルファイル２５が複数格納されているか否かを判定する（Ｓ２２）。オリジナルファイル２５が複数格納されていない場合（Ｓ２２：ＮＯ）、ＣＰＵ１１は、アクセスファイル管理テーブル１３ｂに格納されたオリジナルファイル２５のファイルサイズがワーク領域２２の空き領域サイズ未満であるか否かを判定する（Ｓ２４）。ファイルサイズが空き領域サイズ未満である場合（Ｓ２４：ＹＥＳ）、ＣＰＵ１１は、そのオリジナルファイル２５を事前コピー領域２３へコピーする（Ｓ２５）。一方、ファイルサイズが空き領域サイズ未満でない場合（Ｓ２４：ＮＯ）、ＣＰＵ１１は、事前コピー領域２３へのコピーを行うことなく事前コピー処理を終了し、図６のＳ８へ処理を移す。
【００６０】
オリジナルファイル２５が複数格納されている場合（Ｓ２２：ＹＥＳ）、ＣＰＵ１１は、事前コピー領域２３へコピーするオリジナルファイル２５を抽出する（Ｓ２３）。例えば、ファイルサイズが所定値（第一の閾値）を超えるオリジナルファイル２５は、コピー対象から除外するようにしてもよい。この場合、ファイルサイズが著しく大きいファイルにより事前コピー領域２３が独占されることを防止することができる。また、ファイルサイズが所定値（第二の閾値）未満のオリジナルファイル２５は、コピー対象から除外するようにしてもよい。ファイルサイズが小さい場合、そのオリジナルファイル２５をワーク領域２２へコピーしてもコピー処理に要する時間が無視できる程度である。従って、アクセスファイル管理テーブル１３ｂの全てのオリジナルファイル２５を事前コピー領域２３へコピーすることができない場合、ファイルサイズが大きく、コピー処理の時間が無視できないオリジナルファイル２５を優先的に事前コピー領域２３へコピーすることができる。なお、上述の第一の閾値と第二の閾値とは、異なる値に設定しても良いし、同じ値に設定しても良い。また、上述の第一の閾値を用いた制御と第二の閾値を用いた制御とは、いずれか一方を実装しても良いし、両方の制御を実装しても良い。両方の制御を実装する場合、第一の閾値は第二の閾値よりも大きい値を設定することが望ましい。この場合、第一の閾値以下であり第二の閾値以上のファイルサイズを有するファイルが、事前コピー処理の対象となり得る。
【００６１】
なおオリジナルファイル２５が複数格納されている場合、アクセスファイル管理テーブル１３ｂの全てのオリジナルファイル２５を事前コピー領域２３へコピーするようにしてもよい。また、ファイルサイズの小さいオリジナルファイル２５を優先して事前コピー領域２３へコピーしてもよい。これにより、事前コピー処理の実行のために確保できる時間が確定的でない状況下において、事前コピー領域２３に格納されるファイル数を増やすことができる。さらにＣＰＵ１１は、ファイルサイズの降順で、ファイルサイズの大きいファイルを優先してコピー処理の対象としてもよい。これにより、事前コピー処理の実行のために確保できる時間が確定的でない状況下において、オリジナルファイル２５のコピー処理に要する時間が長いものから優先的に事前コピー領域２３へ格納することができる。
【００６２】
次にＣＰＵ１１は、抽出したオリジナルファイル２５を事前コピー領域２３へコピーする（Ｓ２５）。このとき、ＣＰＵ１１は、第１及び第２事前コピー領域２３ａ，２３ｂの何れにも事前コピーファイル２７が記憶されていない場合には、第１事前コピー領域２３ａへコピーする。また第１及び第２事前コピー領域２３ａ，２３ｂの何れかに事前コピーファイル２７が記憶されている場合には、ＣＰＵ１１は、他方の領域にコピーする。その後、ＣＰＵ１１は、事前コピー領域２３へのコピー結果を、記憶装置２０に記憶されている事前コピー管理テーブル２４へ記録する（Ｓ２６）。このとき、ＣＰＵ１１は、記憶装置２０に事前コピー管理テーブル２４が記憶されていない場合には、事前コピー管理テーブル２４を生成し、記憶装置２０へ記憶する。その後ＣＰＵ１１は、事前コピー処理を終了し、図６のＳ８へ処理を移す。
【００６３】
Ｓ６で所定のタイミングとなっていない場合（Ｓ６：ＮＯ）、又はＳ７の事前コピー処理の終了後、ＣＰＵ１１は、ＯＳ５０の再起動を行うか否かを判定する（Ｓ８）。再起動を行う場合（Ｓ８：ＹＥＳ）、ＣＰＵ１１は再起動処理を行い、処理をＳ１に戻す。再起動を行わない場合（Ｓ８：ＮＯ）、ＣＰＵ１１は、本処理を終了するか、すなわちＯＳ５０を終了するか否かを判定する（Ｓ９）。終了しない場合（Ｓ９：ＮＯ）、ＣＰＵ１１は処理をＳ５に戻す。なお、処理がＳ５に戻され、ワーク領域ファイル処理が繰り返し実行された場合、図７のＳ１８において事前コピーファイル２７が事前コピー領域２３からワーク領域２２へ移動されているときには、Ｓ１８は省略される。終了する場合（Ｓ９：ＹＥＳ）、ＣＰＵ１１は、ＯＳ５０の終了処理を行い、本処理を終了する。
【００６４】
以上説明したように、本実施の形態では、保護対象のオリジナルファイル２５に対する更新処理におけるファイル記述子の取得要求の発行を検知した場合、そのオリジナルファイル２５の内容に基づいてワーク領域２２へそのコピーファイル２６を生成する。なお、オリジナルファイル２５への参照操作の場合はオリジナルファイル２５を直接参照するファイル記述子をアプリケーションに返すことで、直接参照を許容する。また、新規作成操作によるアクセスにおいては、ワーク領域２２に新規ファイルとなるデータファイルを構成し、そのファイル記述子を返すことで、オリジナル記憶領域２１にはファイル生成の痕跡を残さないようにすることもできる。
【００６５】
また、既にファイル更新処理が行われワーク領域２２にコピーファイル２６が生成されたファイルへの参照アクセスは、作成済みのコピーファイル２６へのファイル記述子を返すことにより、変更されたファイルへの継続した操作を実現することもできる。この場合、本実施の形態に係る制御プログラムによる処理において、ファイルの参照処理におけるファイル記述子の取得要求も検知対象とし、その検知した取得要求により指定されるファイルに対応付けられたバックアップファイルをファイル名変換テーブル１３ａから特定すればよい。
【００６６】
本実施の形態に係る情報処理装置は、コピーファイル２６に対応したファイル記述子を取得要求を発行したプロセスに取得させ、その取得したファイル記述子を用いたファイル操作の要求を実行させる。これにより、オリジナルファイル２５に対しては変更されることがなく、また、ユーザによってアクセスもされないため、オリジナルファイル２５の破損などのおそれを低減できる。そして、ワーク領域２２のコピーファイル２６を消去することにより、オリジナルファイル２５を復元した状態を瞬時に実現することができる。
【００６７】
またオリジナルファイル２５を事前コピーしておき、ＯＳ５０の再起動後には、事前コピーした事前コピーファイル２７をワーク領域２２へ移動させる。これにより、オリジナル記憶領域２１からワーク領域２２へオリジナルファイル２５をコピーする場合との対比において、処理時間を短縮させることができる。
【００６８】
以上、本発明の実施の形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施の形態に限定されることはない。
【００６９】
例えば、上述の実施の形態では、事前コピー領域２３へ事前コピーした事前コピーファイル２７をワーク領域２２へ移動させる構成としているが、事前コピー領域２３の役割と、ワーク領域２２の役割とを交互に切り替える構成としてもよい。すなわち、例えばＯＳ５０を再起動した場合、事前コピー領域２３をワーク領域２２として扱い、事前コピー領域２３の事前コピーファイル２７に対してアクセスし、ワーク領域２２へオリジナルファイル２５を事前コピーするようにしてもよい。
【００７０】
また各領域２１，２２，２３は、媒体上に設定された物理的な区画（例えばパーティション又はドライブ等）、ファイルシステム上に階層的に設定された論理的な区画（例えばフォルダ）を用いて実装すればよい。さらにデータファイルは、記憶する各領域２１，２２，２３によって、ファイル名を変更するようにしてもよい。例えば、オリジナルファイル２５のファイル名の末尾に識別子を追加、又はオリジナルファイル２５のファイル名の末尾に存する拡張子と置換して、コピーファイル２６及び事前コピーファイル２７を識別するようにしてもよい。また、拡張子は各ファイル毎に異なっていてもよい。例えば、ワーク領域２２のコピーファイル２６を「.tmp」とし、事前コピー領域２３の事前コピーファイル２７を「.pre」としてもよい。この場合には、各種ファイルを同一の領域に格納することができる。
【００７１】
また、上述の実施の形態では、ＣＰＵ１１がＲＯＭ１２に記憶された制御プログラム１２ａを実行するものとして説明したが、ＣＰＵ１１がCompact Disk-ROM（ＣＤ−ＲＯＭ）等の記録媒体から制御プログラムを読み取って、上述の処理を行うようにしてもよい。
【符号の説明】
【００７２】
１  情報処理装置
１０  演算装置
２０  記憶装置
２１  オリジナル記憶領域
２２  ワーク領域
２３  事前コピー領域
２５  オリジナルファイル
２６  コピーファイル
２７  事前コピーファイル
【図１】
0005471365.tif 000002
【図２】
0005471365.tif 000003
【図３Ａ】
0005471365.tif 000004
【図３Ｂ】
0005471365.tif 000005
【図３Ｃ】
0005471365.tif 000006
【図４Ａ】
0005471365.tif 000007
【図４Ｂ】
0005471365.tif 000008
【図４Ｃ】
0005471365.tif 000009
【図５Ａ】
0005471365.tif 000010
【図５Ｂ】
0005471365.tif 000011
【図６】
0005471365.tif 000012
【図７】
0005471365.tif 000013
【図８】
0005471365.tif 000014