(57)【特許請求の範囲】
【請求項１】
コンピュータに組み込まれて用いられるデータバックアップ装置であって、
前記コンピュータのメモリ上に展開されているファイルを第１の格納場所に所定のファイル名で上書き保存する保存処理が行われたことを検出する保存処理検出手段と、
前記第１の格納場所に保存されている個々のファイルごとに、保存処理が行われた時点からの経過時間をそれぞれ計時値としてカウントする計時手段と、
特定のファイルについて前記第１の格納場所への保存処理が行われるたびに、当該特定のファイルについての計時値を０にリセットして、前記計時手段に０からカウントを開始させる計時リセット手段と、
特定のファイルについての計時値が所定値Ｔに達したら、当該特定のファイルを前記第１の格納場所から第２の格納場所に転送し、前記第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存してバックアップを行うとともに、当該特定のファイルについての計時値のカウントを停止させるバックアップ実行手段と、
を備え、同一のファイル名で特定されるファイルの異なる更新時点の内容を示す複数のファイルが前記第２の格納場所に保存されるようにすることを特徴とするデータバックアップ装置。
【請求項２】
請求項１に記載のデータバックアップ装置において、
バックアップ実行手段が、コンピュータのシステム終了時に、計時手段によるカウントが継続して行われている計時継続ファイルを認識し、この計時継続ファイルを第１の格納場所から第２の格納場所にバックアップする機能を有することを特徴とするデータバックアップ装置。
【請求項３】
コンピュータに組み込まれて用いられるデータバックアップ装置であって、
前記コンピュータのメモリ上に展開されているファイルを第１の格納場所に所定のファイル名で上書き保存する保存処理が行われたことを検出する保存処理検出手段と、
前記第１の格納場所に保存されている個々のファイルごとに、所定時点からの経過時間をそれぞれ計時値としてカウントする計時手段と、
前記コンピュータのシステム起動後、所定のファイルについて前記第１の格納場所への保存処理が初めて行われたときに、当該所定のファイルについて、前記計時手段に０からカウントを開始させる計時開始手段と、
特定のファイルについての計時値が所定値Ｔに達したら、当該計時値を所定の設定値にリセットして、前記計時手段にカウントを継続させるとともに、その時点で前記第１の格納場所に保存されている当該特定のファイルに対するバックアップが実行済か否かを認識し、実行済でなかった場合には、当該特定のファイルを第２の格納場所に転送し、前記第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存するバックアップを行うバックアップ実行手段と、
を備え、同一のファイル名で特定されるファイルの異なる更新時点の内容を示す複数のファイルが前記第２の格納場所に保存されるようにし、
前記バックアップ実行手段が、前記特定のファイルについての計時値が所定値Ｔに達したときに、前記特定のファイルの最終保存時刻から現在時刻までの経過時間を認識し、前記経過時間が所定値Ｔであった場合には、計時値を０にリセットし、前記経過時間が所定値Ｔでなかった場合には、計時値を前記経過時間に相当する値にリセットすることを特徴とするデータバックアップ装置。
【請求項４】
請求項３に記載のデータバックアップ装置において、
バックアップ実行手段が、コンピュータのシステム終了時に、第１の格納場所に保存されているファイルのうち、バックアップが実行済でない未バックアップファイルを認識し、この未バックアップファイルを第１の格納場所から第２の格納場所に転送し、前記第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存するバックアップを行う機能を有することを特徴とするデータバックアップ装置。
【請求項５】
請求項１〜４のいずれかに記載のデータバックアップ装置において、
バックアップ対象データを、ボリューム単位、フォルダ単位、もしくはファイル単位で、予め設定できるようにしておき、計時値のカウントをバックアップ対象データについてのみ行うようにしたことを特徴とするデータバックアップ装置。
【請求項６】
請求項１〜５のいずれかに記載のデータバックアップ装置において、
バックアップ実行手段が、特定のファイルについてバックアップを実行する際に、前回のバックアップ時の内容に対する差分データのみを第２の格納場所に保存する処理を行うことを特徴とするデータバックアップ装置。
【請求項７】
請求項１〜６のいずれかに記載のデータバックアップ装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データバックアップ装置に関し、特に、内容が頻繁に更新されるファイルについて、自動的にデータのバックアップ処理を実行するデータバックアップ装置に関する。
【背景技術】
【０００２】
コンピュータを利用するにあたって、データのバックアップ作業は非常に重要な事項である。特に、業務用コンピュータを利用する上では、定期的にデータをバックアップする作業が不可欠になる。バックアップ用データを格納するデータ記録媒体としては、ハードディスク、光ディスク、光磁気ディスク、磁気テープなど、様々なものが利用されているが、バックアップの基本原理は、同一の情報を複数の記録媒体に格納しておくことにある。したがって、バックアップ作業の本質は、バックアップ対象となるデータを、１つの格納場所から別な格納場所に複製する複製処理に他ならない。
【０００３】
通常、コンピュータのＯＳプログラムには、所望のファイルを複製するためのコピーコマンドが含まれており、オペレータは、このコピーコマンドを実行させることにより、随時、任意のファイルに対するバックアップ作業を行うことができる。また、アプリケーションプログラムによっては、ボタン１つでバックアップ作業を実行する機能を備えるものもある。
【０００４】
しかしながら、重要なバックアップ作業を、逐次、オペレータの指示に委ねることは、実用上、好ましくない。オペレータにとって、バックアップ対象となるデータを確認し、当該データについてのバックアップ操作を行う作業は、きわめて煩雑な作業であり、失念する可能性も少なくない。このため、バックアップ作業を自動的に実行するデータバックアップ装置が普及している。一般的な自動データバックアップ装置は、コンピュータに、専用のバックアップ用アプリケーションプログラムを組み込むことにより構築され、予め設定した所定のスケジュールに基づいて、予め設定した所定のデータに対するバックアップ処理を自動的に実行する機能を有している。たとえば、下記の特許文献１，２には、スケジューリング機能を備えた自動データバックアップ装置が開示されている。
【特許文献１】特開２００１−２４９８５１号公報
【特許文献２】特開２００３−２６３３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
オペレータが、アプリケーションプログラムを利用して、データファイルに対して何らかの作業を実行する場合、作業の途中段階でファイルの保存操作を何度か行うのが一般的である。これは、ある程度作業が進行した段階で、その時点でのファイルの内容をメモリからハードディスク装置などの記憶装置に保存しておく方が安全であるためである。したがって、ハードディスク装置などに保存されているファイルの内容は、オペレータが保存操作を行うごとに更新されることになる。アプリケーションプログラムによっては、オペレータの保存操作を待たずに、所定の条件が満たされるたびに、自動的に保存処理を実行することもある。
【０００６】
このように、内容が頻繁に更新されるファイルについてデータのバックアップを行う場合、バックアップ処理のタイミングが問題になる。安全性を第一に考えれば、オペレータの保存操作により、ファイルの内容が更新されるたびに、毎回、バックアップを行うのが好ましい。しかしながら、頻繁に更新されるファイルを、それぞれ更新のたびにバックアップすることにすると、膨大なバックアップ容量を確保する必要が生じる。また、バックアップ処理中は、ＣＰＵに負担がかかるため、頻繁にバックアップ処理が実行されると、コンピュータの応答性が悪くなるという問題も生じる。更に、万一、バックアップしてあったデータを復元する必要が生じた場合、更新のたびにバックアップを行っていると、膨大な数の復元ポイントが存在することになるため、適切な復元ポイントを選択することが非常に繁雑になる。
【０００７】
このような弊害に対処するために、一定の時間ごとに自動的にバックアップする、というような手法を採ることも可能であるが、ファイルの保存操作とは無関係にバックアップが行われることになるため、効率的な手法とは言えない。
【０００８】
そこで本発明は、内容が頻繁に更新されるファイルについて、効率的なバックアップ処理を実行することが可能なデータバックアップ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
(1)   本発明の第１の態様は、コンピュータに組み込まれて用いられるデータバックアップ装置において、
コンピュータのメモリ上に展開されているファイルを第１の格納場所に所定のファイル名で上書き保存する保存処理が行われたことを検出する保存処理検出手段と、
第１の格納場所に保存されている個々のファイルごとに、保存処理が行われた時点からの経過時間をそれぞれ計時値としてカウントする計時手段と、
特定のファイルについて第１の格納場所への保存処理が行われるたびに、当該特定のファイルについての計時値を０にリセットして、計時手段に０からカウントを開始させる計時リセット手段と、
特定のファイルについての計時値が所定値Ｔに達したら、当該特定のファイルを第１の格納場所から第２の格納場所に転送し、第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存してバックアップを行うとともに、当該特定のファイルについての計時値のカウントを停止させるバックアップ実行手段と、
によってデータバックアップ装置を構成し、同一のファイル名で特定されるファイルの異なる更新時点の内容を示す複数のファイルが前記第２の格納場所に保存されるようにしたものである。
【００１０】
(2)   本発明の第２の態様は、上述の第１の態様に係るデータバックアップ装置において、
バックアップ実行手段が、コンピュータのシステム終了時に、計時手段によるカウントが継続して行われている計時継続ファイルを認識し、この計時継続ファイルを第１の格納場所から第２の格納場所にバックアップする機能を有するようにしたものである。
【００１１】
(3)   本発明の第３の態様は、コンピュータに組み込まれて用いられるデータバックアップ装置において、
コンピュータのメモリ上に展開されているファイルを第１の格納場所に所定のファイル名で上書き保存する保存処理が行われたことを検出する保存処理検出手段と、
第１の格納場所に保存されている個々のファイルごとに、所定時点からの経過時間をそれぞれ計時値としてカウントする計時手段と、
コンピュータのシステム起動後、所定のファイルについて第１の格納場所への保存処理が初めて行われたときに、当該所定のファイルについて、計時手段に０からカウントを開始させる計時開始手段と、
特定のファイルについての計時値が所定値Ｔに達したら、当該計時値を所定の設定値にリセットして、計時手段にカウントを継続させるとともに、その時点で第１の格納場所に保存されている当該特定のファイルに対するバックアップが実行済か否かを認識し、実行済でなかった場合には、当該特定のファイルを第２の格納場所に転送し、第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存するバックアップを行うバックアップ実行手段と、
によってデータバックアップ装置を構成し、同一のファイル名で特定されるファイルの異なる更新時点の内容を示す複数のファイルが前記第２の格納場所に保存されるようにし、
バックアップ実行手段が、特定のファイルについての計時値が所定値Ｔに達したときに、当該特定のファイルの最終保存時刻から現在時刻までの経過時間を認識し、経過時間が所定値Ｔであった場合には、計時値を０にリセットし、経過時間が所定値Ｔでなかった場合には、計時値を当該経過時間に相当する値にリセットするようにしたものである。
【００１２】
(4)   本発明の第４の態様は、上述の第３の態様に係るデータバックアップ装置において、
バックアップ実行手段が、コンピュータのシステム終了時に、第１の格納場所に保存されているファイルのうち、バックアップが実行済でない未バックアップファイルを認識し、この未バックアップファイルを第１の格納場所から第２の格納場所に転送し、第２の格納場所に既に保存されている既存のファイルとは別個のファイルとして保存するバックアップを行う機能を有するようにしたものである。
【００１４】
(5)   本発明の第５の態様は、上述の第１〜第４の態様に係るデータバックアップ装置において、
バックアップ対象データを、ボリューム単位、フォルダ単位、もしくはファイル単位で、予め設定できるようにしておき、計時値のカウントをバックアップ対象データについてのみ行うようにしたものである。
【００１５】
(6)   本発明の第６の態様は、上述の第１〜第５の態様に係るデータバックアップ装置において、
バックアップ実行手段が、特定のファイルについてバックアップを実行する際に、前回のバックアップ時の内容に対する差分データのみを第２の格納場所に保存する処理を行うようにしたものである。
【００１６】
(7)   本発明の第７の態様は、上述の第１〜第６の態様に係るデータバックアップ装置としてコンピュータを機能させるためのプログラムを用意し、当該プログラムをコンピュータ読取り可能な記録媒体に記録して配付できるようにしたものである。
【発明の効果】
【００１７】
本発明に係るデータバックアップ装置によれば、バックアップ対象となる個々のファイルごとに、保存処理時からの経過時間をカウントし、このカウント値に応じた適切なタイミングでバックアップ処理を実行するようにしたため、内容が頻繁に更新されるファイルについても、効率的なバックアップ処理を実行することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を図示する実施形態に基づいて説明する。
【００１９】
＜＜＜  §１．データバックアップ装置の基本構成  ＞＞＞
図１は、本発明の第１の実施形態に係るデータバックアップ装置を組み込んだコンピュータシステムの基本構成を示すブロック図である。図に示すメモリ１０、第１の格納場所２０、処理実行部３０は、一般的なコンピュータが標準的に備えている基本構成要素である。すなわち、メモリ１０は、通常、揮発性メモリであるＲＡＭによって構成され、実行中のプログラムやデータを展開する領域として利用される。第１の格納場所２０は、プログラムやデータを保存する主たる記憶装置によって構成され、図示の例の場合、コンピュータの内蔵ハードディスクからなる。また、処理実行部３０は、このコンピュータの中枢をなすＣＰＵや入出力インターフェイス、基本プログラムを格納したＲＯＭなどを含む構成要素であり、オペレータの指示やプログラムに基づいて、様々な処理作業を行う。なお、一般的なコンピュータには、マウス・キーボードなどの入力機器や、ディスプレイ・プリンタなどの出力機器が接続されるのが普通であるが、ここでは本発明の動作に直接関与しない構成要素については図示を省略している。
【００２０】
一方、第２の格納場所４０は、第１の格納場所２０に保存されているデータをバックアップするための記憶装置であり、図示の例の場合、バックアップサーバーによって構成されている。処理実行部３０は、ネットワーク通信線を介して、第２の格納場所４０を構成するバックアップサーバーとデータのやりとりを行うことができ、第１の格納場所２０内に保存されている特定のファイルの複製を、第２の格納場所４０へ保存することにより、当該ファイルに対するバックアップを行うことができる。
【００２１】
データバックアップ装置５０は、本発明の対象となる装置そのものであり、図示のとおり、保存処理検出手段５１、計時リセット手段５２、計時手段５３、バックアップ実行手段５４によって構成されている。もっとも、これら各手段は、後述するように、それぞれコンピュータ上で特定の処理を行う機能要素であり、実際には、コンピュータのハードウエアとソフトウエアの組み合わせによって実現されるものである。別言すれば、本発明に係るデータバックアップ装置５０（第２の実施形態として述べるデータバックアップ装置６０も同様）は、汎用コンピュータに専用のバックアップ用プログラムをインストールすることにより、当該汎用コンピュータの内部に具現化される装置である。もちろん、このようなバックアップ用プログラムは、特許法上の物に該当する経済価値を有する産物であり、ネットワークを介して配付することも可能であるし、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録した状態で配付することも可能である。
【００２２】
なお、図１に示す実施形態では、説明の便宜上、一点鎖線で囲った部分を、１台のコンピュータの筐体内に組み込まれた構成要素として捉えており、第２の格納場所４０のみが、当該コンピュータの外部の構成要素となっているが、このような構成を採ることは、本発明を実施するにあたって、本質的な問題ではない。たとえば、第１の格納場所２０を、ＵＳＢケーブルなどでコンピュータの筐体外に接続したハードディスク装置によって構成してもよいし、逆に、第２の格納場所４０を、コンピュータの筐体内に組み込んだ第２のハードディスク装置によって構成してもよい。もちろん、第１の格納場所２０や第２の格納場所４０は、必ずしもハードディスク装置で構成する必要はなく、光ディスク装置、光磁気ディスク装置、磁気テープ記録装置などによって構成してもかまわない。
【００２３】
第１の格納場所２０には、通常、多数のファイルが保存されている。図示の例では、便宜上、３つのファイルＦａ，Ｆｂ，Ｆｃだけが、第１の格納場所２０に保存された状態が示されているが、実際には、より多数のファイルが保存されている。これらのファイルは、データファイルであったり、プログラムファイルであったりする。処理実行部３０は、第１の格納場所２０（あるいは、別な格納場所でもかまわない）から、所定のプログラムファイルやデータファイルを読み込み、これをメモリ１０上に展開した上で、様々な処理を実行する。図では、メモリ１０上に、２つのファイルＦａ，Ｆｃが展開されている状態が示されている。
【００２４】
以下、説明の便宜上、ファイルＦａ，Ｆｂ，Ｆｃが、いずれも所定のワープロ用アプリケーションプログラムで作成されたデータファイルであるものとしよう。図示の例では、このワープロ用の２つのファイルＦａ，Ｆｃがメモリ１０上に展開されているが、これは、当該ワープロ用アプリケーションプログラムを用いて、２つのファイルＦａ，Ｆｃを開く指示操作を行った状態に対応する。処理実行部３０は、オペレータからの操作入力に基づき、ファイルＦａ，Ｆｃの内容をメモリ１０上で編集する処理を行う。このような編集処理を行えば、メモリ１０上に展開されている各ファイルＦａ，Ｆｃのデータは更新されることになるが、その時点では、第１の格納場所２０に保存されている各ファイルＦａ，Ｆｃは、更新前のままである。
【００２５】
そこで、オペレータは、ひととおりの編集作業が完了した時点で、当該ワープロ用アプリケーションプログラムに対して、ファイルＦａ，Ｆｃの保存指示を与える。このとき、元と同じファイル名で保存する指示を与えれば、第１の格納場所２０に保存されていた更新前の古いファイルＦａ，Ｆｃは、メモリ１０内の更新後の新しいファイルＦａ，Ｆｃに置き換えられる（いわゆる、上書き保存）。
【００２６】
メモリ１０を構成するＲＡＭは、揮発性メモリであるので、コンピュータの電源を落とすと、展開されていたファイルＦａ，Ｆｃの情報は失われてしまう。したがって、各ファイルＦａ，Ｆｃに対する編集作業が完了したら、これらを第１の格納場所２０に保存した後に作業を完了することは、オペレータにとって当然の手順である。ただ、実用上は、各ファイルＦａ，Ｆｃに対する編集作業が完了するまでの途中段階においても、オペレータは、保存作業を頻繁に行うことが多い。これは、作業途中において、万一、アプリケーションプログラムやＯＳプログラムが動作不良（いわゆる、プログラムの暴走）を生じた場合のリスクを軽減するためである。すなわち、作業途中において、プログラムが動作不良を生じると、通常、メモリ１０上に展開されているファイルを救済することは困難になるので、オペレータは、編集作業の途中段階であっても、随時、その時点までの更新内容を含むファイルを保存する操作を行い、万一の事態に備えるのである。アプリケーションプログラムによっては、オペレータの保存操作を待たずに、所定の条件が満たされるたびに、自動的に保存処理を実行することもある。
【００２７】
こうして第１の格納場所２０に保存された情報は、装置が正常な状態を維持している限り、失われることはないが、１００％の安全性が保証されているわけではない。実際、ハードディスク装置には機器固有の寿命が存在し、保存した情報が突然読み出せなくなる事態が生じる危険性がある。このような危険を回避するために、データのバックアップを行うことになる。すなわち、第１の格納場所２０に保存されている各ファイルの複製を、第２の格納場所４０にも作成しておくことにより、万一、一方のファイルが読出し不能になっても、もう一方のファイルに基づいて復元できるような安全策が採られることになる。
【００２８】
このように、本発明に係るデータバックアップ装置によるバックアップ処理とは、第１の格納場所２０に保存されているファイルのデータを、第２の格納場所４０へ転送し、その複製を作成する処理に他ならない。図示の例では、第２の格納場所４０内に、ファイルＦａ，Ｆｂ，Ｆｃの複製が保存されている状態が示されている。
【００２９】
ところが、内容が頻繁に更新されるファイルについてバックアップを行う場合、バックアップ処理のタイミングが問題になる。安全性を第一に考えれば、オペレータの保存操作により、ファイルの内容が更新されるたびに、毎回、バックアップを行うのが好ましいが、その場合、前述したとおり様々な弊害が生じることになる。
【００３０】
たとえば、図１に示す例において、ワープロ用データファイルＦａに対する編集作業を行っているオペレータが、３分おきに保存操作を行ったとすると、１時間の間に、２０通りもの更新ファイルが作成されることになるので、これらをすべて第２の格納場所４０にバックアップすると、膨大なバックアップ容量を確保する必要が生じる。また、この１時間の作業だけで、２０通りの復元ポイントが生まれることになるので、万一の際に復元作業を行うにしても、適切な復元ポイントを選択することが非常に繁雑になる。更に、処理実行部３０がバックアップ処理を実行している最中は、他のタスクの処理効率が低下するため、上述の例の場合、３分ごとにコンピュータの応答性が低下する事態が生じることになる。
【００３１】
本発明は、このような点に着目し、内容が頻繁に更新されるファイルについて、効率的なバックアップ処理を実行するための新たな手法を提示するものである。
【００３２】
＜＜＜  §２．本発明の第１の実施形態  ＞＞＞
図１に示すデータバックアップ装置５０は、本発明の第１の実施形態に係る装置であるが、その基本原理を図２のタイムチャートを参照しながら説明する。このタイムチャートの中心線は、図の上から下に向かっての時間の流れを示す時間軸になっており、その左側には、オペレータの操作タイミングが示され、右側には、データバックアップ装置５０によるバックアップ処理のタイミングが示されている。
【００３３】
具体的には、オペレータは、まず、時刻ｔ１において、所定のアプリケーションプログラムを用いて、ファイルを開く操作を行い、以後、当該ファイルに対する編集作業を行っている。しかも、このオペレータは、編集作業の途中段階の時刻ｔ２，ｔ３，ｔ４，ｔ６，ｔ７において、編集途中のファイルを保存する操作を行い、最終的に、時刻ｔ８において、当該ファイルを閉じる操作を行っている。
【００３４】
なお、ここでは、便宜上、各更新段階におけるファイルを、それぞれ更新ファイルＦ（０）〜Ｆ（５）、もしくは単にファイルＦ（０）〜Ｆ（５）と呼んで、かっこ内の番号０〜５を用いて相互に区別することにするが、オペレータから見れば、各更新ファイルＦ（０）〜Ｆ（５）は、いずれもファイル名「Ｆ」で特定される同一のファイルであり、編集作業の途中段階の変遷を示すものに過ぎない。すなわち、オペレータは、時刻ｔ１において、第１の格納場所２０に保存されているファイル名「Ｆ」なるファイルを開く操作（メモリ１０上に展開する操作）を行い、当該ファイルに対して、メモリ１０上で編集作業を行い、時刻ｔ２，ｔ３，ｔ４，ｔ６，ｔ７の各時点で、ファイル名「Ｆ」のまま上書き保存を行い、時刻ｔ８において、当該ファイルを閉じて作業を完了している。結局、第１の格納場所２０には、ファイル名「Ｆ」をもった同一のファイルが常に格納されている状態ではあるが、ファイルの中身は、各時点ごとに上書きされて更新されることになる。
【００３５】
ここで、安全性を第１に考えれば、個々の更新ファイルを逐次バックアップするのが好ましい。図示の例の場合、ファイルＦ（０）については、通常であれば、前回既にバックアップが完了しているはずなので、時刻ｔ２で保存されたファイルＦ（１）、時刻ｔ３で保存されたファイルＦ（２）、時刻ｔ４で保存されたファイルＦ（３）、時刻ｔ６で保存されたファイルＦ（４）、時刻ｔ７で保存されたファイルＦ（５）のそれぞれについて、バックアップ処理を行い、第２の格納場所４０に格納する処理を行えばよい。
【００３６】
しかしながら、本発明では、より効率的なバックアップ処理を実行するために、これらの更新ファイルＦ（１）〜Ｆ（５）のすべてについてバックアップを行うという方針を採る代わりに、選択されたいくつかについてのみバックアップを行うという方針を採る。具体的には、図２の例では、ファイルＦ（３）およびファイルＦ（５）のみがバックアップの対象となっており、ファイルＦ（１），Ｆ（２），Ｆ（４）についてのバックアップは省略されている。
【００３７】
５つの更新ファイルＦ（１）〜Ｆ（５）のうち、２つのファイルＦ（３），Ｆ（５）のみをバックアップの対象として選択した理由は、これらのファイルが保存された後、暫くの間、次の更新ファイルの保存が行われていないからである。たとえば、時刻ｔ２，ｔ３，ｔ４の時間間隔は比較的短時間であり、ファイルＦ（１）が保存された直後にファイルＦ（２）が保存され、その直後にファイルＦ（３）が保存されている。同様に、時刻ｔ６，ｔ７の時間間隔も比較的短時間であり、ファイルＦ（４）が保存された直後にファイルＦ（５）が保存されている。これに対して、時刻ｔ４，ｔ６の時間間隔は比較的長時間であり、更新ファイルＦ（３）が保存された後、次の更新ファイルＦ（４）が保存されるまでには、暫くの間が空いている。また、時刻ｔ７の後には、この例では保存作業が行われていないので、更新ファイルＦ（５）が保存された後、次の更新ファイルが保存されるまでには、無限大の時間が空いていることになる。
【００３８】
ここで述べる第１の実施形態の着眼点は、このように、「ある更新ファイル」が保存された後、暫くの間、次の更新ファイルの保存が行われなかった場合に、当該「ある更新ファイル」をバックアップの対象に選択する、という方針を採ることにより、効率的なバックアップを行う点にある。ここで、「暫くの間」をどの程度の時間設定にするかは、実用上の運用形態をみながら適宜設定すればよい。図２に示す実施形態は、この「暫くの間」を所定値Ｔに設定した例である。すなわち、時刻ｔ２〜ｔ３の間、時刻ｔ３〜ｔ４の間、時刻ｔ６〜ｔ７の間は、いずれも所定値Ｔよりも小さいため、更新ファイルＦ（１），Ｆ（２），Ｆ（４）はバックアップ対象として選択されていないが、時刻ｔ４〜ｔ６の間、時刻ｔ７〜次の保存時刻の間は、いずれも所定値Ｔよりも大きいため、ファイルＦ（３），Ｆ（５）はバックアップの対象として選択されている。
【００３９】
このように、第１の更新ファイルの保存時刻と第２の更新ファイルの保存時刻との時間間隔が比較的小さい場合には、第１の更新ファイルをバックアップの対象とせず、両者の時間間隔が比較的大きい場合には、第１の更新ファイルをバックアップの対象とする、という取り扱いは、次のような理由により、道理にかなった取り扱いである。まず、第１に、比較的短い間隔で保存操作が繰り返し行われているときは、オペレータが入力操作を継続的に行っており、ひとまとまりの編集作業が進行中であると予想されるのに対し、保存操作が暫く行われていないときは、ひとまとまりの編集作業が一段落ついた状態であると予想されるからである。万一の際にファイルを復元する場合、復元ポイントが、ひとまとまりの編集作業が一段落ついた状態に設定されていれば便利である。そして第２に、バックアップ処理の実行中は、処理実行部３０内のＣＰＵに負荷がかかるため、オペレータに対する操作性が低下する可能性がある。したがって、バックアップ処理の実行タイミングは、オペレータの編集作業が一段落ついた状態で行った方が好ましいからである。
【００４０】
図１に示すデータバックアップ装置５０は、上述した方針で、バックアップのタイミングを決める機能を果たすことになる。以下、このデータバックアップ装置５０の各構成要素の機能を説明する。
【００４１】
まず、保存処理検出手段５１は、コンピュータのメモリ１０上に展開されているファイルを第１の格納場所２０に所定のファイル名で保存する保存処理が行われたことを検出する構成要素である。通常、ファイルの保存処理は、コンピュータのＯＳプログラムの標準機能として備わっている処理であるので、保存処理検出手段５１は、このＯＳプログラムの動作を監視するプログラムによって実現することができる。図２に示すタイムチャートの場合、保存処理検出手段５１は、時刻ｔ２，ｔ３，ｔ４，ｔ６，ｔ７の各時点（時間軸上の黒丸で示す時点）において保存処理が行われたことを検出することになる。
【００４２】
計時リセット手段５２および計時手段５３は、この保存処理検出手段５１の検出結果に基づいて、計時処理を行うための構成要素である。すなわち、保存処理検出手段５１が、ファイルの保存処理が行われたことを検出すると、計時リセット手段５２は、その時点で、計時手段５３の計時値を０にリセットし、０からのカウントを開始させる。図２に示すタイムチャートの場合、時間軸上の黒丸で示す時点で、計時手段５３に対するリセットが行われ、この時点を０として、計時値のカウントが開始することになる。
【００４３】
バックアップ実行手段５４は、計時手段５３がカウントする計時値に応じて、バックアップ処理を実行する構成要素である。すなわち、計時値が所定値Ｔに達した時点で、バックアップ処理を実行するとともに、計時手段５３による計時値のカウントを停止させる処理を行う。図２に示すタイムチャートの場合、時刻ｔ２で計時値０からのカウントが開始するが、所定値Ｔに達する前に時刻ｔ３で０にリセットされ、再度のカウントも、やはり所定値Ｔに達する前に時刻ｔ４で０にリセットされてしまう。結局、計時値が最初に所定値Ｔに達するのは、時刻ｔ５ということになるので、バックアップ実行手段５４によるバックアップ処理は、この時刻ｔ５の時点で実行される。このとき、第１の格納場所２０内に保存されているファイルは、更新ファイルＦ（３）であるので、図示のとおり、時刻ｔ５において、ファイルＦ（３）についてのバックアップが実行されることになる。そして、この時刻ｔ５の時点で、計時手段５３による計時値のカウントが停止させられる。
【００４４】
図２の時間軸上の白丸は、バックアップ処理およびカウント停止処理が実行される時点を示している。計時手段５３によるカウントは、時刻ｔ２〜ｔ５まで実行されるが、時刻ｔ５において、一旦、中断することになる。ただ、次の時刻ｔ６において、更新ファイルＦ（４）の保存処理が行われると、計時リセット手段５２からの指示により、計時手段５３は、再び計時値０からのカウントを開始する。この計時値は、所定値Ｔに達する前に時刻ｔ７で０にリセットされるが、やがて時刻ｔ９に達した時点で、所定値Ｔに達することになる。そこで、この時刻ｔ９において、バックアップ実行手段５４によるバックアップ処理が実行され、その時点で第１の格納場所２０内に保存されているファイルＦ（５）が第２の格納場所４０へとバックアップされることになる。また、時刻ｔ９において、計時手段５３による計時値のカウントが停止させられる。
【００４５】
このように、ここで述べる実施形態の場合、計時手段５３による０からのカウントが開始されるのは、常にファイルの保存処理が行われた時点ということになり、このカウントにより得られる計時値が所定値Ｔに達した時点でバックアップが実行されるとともに、カウントが停止させられる。図示の例の場合、時刻ｔ９でカウントが停止するので、以後、ファイルの新たな保存処理が行われない限り、バックアップ処理が実施されることはない。もちろん、ファイルの新たな保存処理が行われた場合は、再び、計時手段５３による０からのカウントが開始されるので、計時値が所定値Ｔに達した時点でバックアップが実行される。
【００４６】
なお、図２には、説明の便宜上、時刻ｔ１においてファイルを開く処理、時刻ｔ８においてファイルを閉じる処理が実行されることを示したが、本実施形態の場合、ファイルを開いたり閉じたりする処理が、計時手段５３のカウント処理やバックアップ実行手段５４のバックアップ処理に影響を及ぼすことはない。これは、ファイルを開いたり、閉じたりする操作は、第１の格納場所２０内に保存されているファイルの更新状態には、何ら変化を及ぼさない操作であるため、バックアップのタイミングを考慮する際に、ファイルの開閉操作を考慮する必要はないためである。
【００４７】
ところで、図２に示すタイムチャートは、ファイル名「Ｆ」なる１つのファイルに関するバックアップタイミングを示す図であるが、実際には、複数のファイルを同時に開いて作業を進めることも少なくない。このように、複数のファイルを同時に取り扱うためには、上述したデータバックアップ装置５０によって実行される各処理が、個々のファイルごとに別個独立して行われるようにしておけばよい。
【００４８】
具体的には、まず、保存処理検出手段５１には、保存処理が実行された場合に、その処理が、どのファイルについての処理であるのかを検出する機能をもたせておくようにし、計時リセット手段５２には、特定のファイルについての保存処理が行われるたびに、当該特定のファイルについての計時値を０にリセットして、計時手段に０からカウントを開始させる機能をもたせておくようにする。
【００４９】
もちろん、計時手段５３には、第１の格納場所２０に保存されている個々のファイルごとに、それぞれ別個独立して、保存処理が行われた時点からの経過時間を計時値としてカウントする機能をもたせておく。図１には、計時手段５３内に、３つのファイルＦａ，Ｆｂ，Ｆｃのそれぞれについての計時値が別個独立して記録されている例が示されている。具体的には、ファイルＦａについての計時値は２５分、ファイルＦｃについての計時値は１７分となっており、ファイルＦｂについてのカウントは停止状態となっている。
【００５０】
一方、バックアップ実行手段５４には、特定のファイルについての計時値が所定値Ｔに達したら、当該特定のファイルを第１の格納場所２０から第２の格納場所４０にバックアップするとともに、当該特定のファイルについての計時値のカウントを停止させる機能をもたせておけばよい。
【００５１】
図３は、図１に示すデータバックアップ装置５０の具体的な動作手順の一例を示す表である。第１列目は時刻、第２列目はオペレータの処理動作（但し、括弧書きした内容は、データバックアップ装置５０によるバックアップ動作）、第３〜第５列目は各ファイルＦａ，Ｆｂ，Ｆｃについての計時値（単位は分：Ｓはカウント停止状態）を示している。なお、図２に示した所定値Ｔとして、この例では、Ｔ＝６０分なる設定を行っている。
【００５２】
はじめに、オペレータの処理動作を簡単に説明しよう。まず、朝８時５０分に、このコンピュータに電源を入れ、システムを起動し、８時５５分に所定のアプリケーションプログラムを用いて、ファイルＦａを開く操作を行っている。以後、９時５０分まで、このファイルＦａに対する編集操作を行いながら、編集途中のファイルＦａを、９時００分および９時１０分に保存し、９時５０分に編集済みのファイルＦａを保存して閉じる操作を行っている。このオペレータの午前中の操作は、以上である。
【００５３】
続いて、このオペレータは、１３時０３分に再びファイルＦａを開き、１３時０５分に別なファイルＦｂを開き、２つのファイルに対する編集操作を同時進行で行っている。そして、１３時３０分にファイルＦｂを保存し、１３時３５分にファイルＦａを保存し、１４時３２分にファイルＦａを保存して閉じ、１４時５５分にファイルＦｂを保存して閉じている。これで、ファイルＦａ，Ｆｂに対するこの日の作業は完了である。
【００５４】
最後に、このオペレータは、１５時０５分にファイルＦｃを開き、１６時１２分にファイルＦｃを保存して閉じるまで、ファイルＦｃに対する編集操作を行っている。この間、編集途中のファイルＦｃを、１５時３８分および１５時５２分に保存している。そして、１６時３１分には、このコンピュータのシステムを終了し、電源を落としている。
【００５５】
さて、この図３に示されたオペレータの処理動作におけるファイルの保存とは、その時点での更新ファイルを第１の格納場所２０に保存する動作であり、オペレータの意志により実行される動作である。これに対して、データバックアップ装置５０は、所定のタイミングで、この第１の格納場所２０に保存された更新ファイルを、第２の格納場所４０にバックアップする処理を行う機能をもっている。このバックアップ処理は、前述したアルゴリズムに基づいて自動的に行われ、オペレータの関知しないところで実行される。
【００５６】
ここでは、まず、ファイルＦａに関するバックアップがどのように行われるかを見てみよう。前述したとおり、ファイルＦａに関する計時値は、ファイルＦａについての保存処理が実行された時点でリセットされ、このリセット時点を０として計時値のカウントが実行される。図３に示す例の場合、ファイルＦａに関する計時値がリセットされるのは、９時００分、９時１０分、９時５０分、１３時３５分、１４時３２分である。計時値欄に示されている矢印は、その時点で生じる計時値の変遷を示している。たとえば、９時００分の欄に示されている「Ｓ→０」は、カウント停止状態Ｓから計時値０へのリセット操作を示し、９時１０分の欄に示されている「１０→０」は、計時値１０から計時値０へのリセット操作を示している。
【００５７】
前述したとおり、この例では、所定値Ｔ＝６０分なる設定を行っているため、ファイルＦａについてのバックアップが行われるのは、ファイルＦａに関する計時値が６０に達することになる１０時５０分ということになる。このとき、バックアップの対象となるファイルは、９時５０分に保存された更新ファイルＦａであるので、この更新ファイルのことを、「ファイルＦａ＜０９：５０＞」と記述することにする。結局、１０時５０分に、「ファイルＦａ＜０９：５０＞」のバックアップが実行されることになる。このバックアップの実行により、ファイルＦａに関するカウントは停止させられる。１０時５０分の欄に示されている「６０→Ｓ」は、このカウント停止の動作を示している。
【００５８】
こうして、ファイルＦａに関するカウントは暫く停止した状態が続くが、１３時３５分にファイルＦａの新たな更新ファイルの保存が行われた時点でリセットが行われ、再び計時値０からのカウントが再開される。この計時値は、１４時３２分に「５７」にまで達するものの、再びリセットされ、１５時３２分の時点で、「６０」に達することになる。したがって、１５時３２分に、「ファイルＦａ＜１４：３２＞」のバックアップ（１４時３２分にファイルＦａとして保存された更新ファイルのバックアップ）が実行される。このバックアップの実行により、ファイルＦａに関するカウントは再び停止させられ、この日は、もうファイルＦａについてのバックアップは行われない。
【００５９】
次に、ファイルＦｂに関するバックアップがどのように行われるかを見てみよう。ファイルＦｂに関する計時値は、ファイルＦｂについての保存処理が実行された時点でリセットされ、このリセット時点を０として計時値のカウントが実行される。図３に示す例の場合、ファイルＦｂに関する計時値がリセットされるのは、１３時３０分と１４時５５分である。そして、ファイルＦｂについてのバックアップが行われるのは、ファイルＦｂに関する計時値が６０に達することになる１４時３０分と１５時５５分いうことになる。具体的には、１４時３０分には、「ファイルＦｂ＜１３：３０＞」のバックアップが行われ、１５時５５分には、「ファイルＦｂ＜１４：５５＞」のバックアップが行われる。
【００６０】
このように、ファイルＦａ，Ｆｂについては、それぞれ適切なタイミングで、バックアップが自動的に実行される。ところが、システム終了時の間際に編集作業を実行したファイルＦｃについては、このままではバックアップが行われない。すなわち、ファイルＦｃに関する計時値は、表に示されているとおり、１５時３８分、１５時５２分、１６時１２分にそれぞれリセットされるため、システム終了時である１６時３１分までには、計時値が「６０」に達する機会がなく、バックアップ処理のチャンスを失ってしまう。
【００６１】
このように、システム終了によりバックアップ処理が行われない事態を避けるためには、バックアップ実行手段５４に、コンピュータのシステム終了時に、計時手段５３によるカウントが継続して行われている計時継続ファイルを認識し、この計時継続ファイルについて、システム終了直前にバックアップする機能をもたせておくようにすればよい。たとえば、図３に示す例の場合、システム終了時の１６時３１分の時点において、ファイルＦａ，Ｆｂのカウントは停止しているが、ファイルＦｃのカウントはまだ継続していることになる。そこで、システム終了時には、ファイルＦｃを計時継続ファイルとして認識し、これをバックアップする処理が行われるようにすればよい。図示の例の場合、システム終了の直前に、「ファイルＦｃ＜１６：１２＞」のバックアップが行われることになる。
【００６２】
＜＜＜  §３．本発明の第２の実施形態  ＞＞＞
図４は、本発明の第２の実施形態に係るデータバックアップ装置を組み込んだコンピュータシステムの基本構成を示すブロック図である。ここで、メモリ１０、第１の格納場所２０、処理実行部３０、第２の格納場所４０は、図１の第１の実施形態に示したものと全く同一のものである。一方、データバックアップ装置６０は、本発明の第２の実施形態に係る装置であり、保存処理検出手段６１、計時開始手段６２、計時手段６３、バックアップ実行手段６４によって構成されている。やはり、これらの各手段も、それぞれコンピュータ上で特定の処理を行う機能要素であり、実際には、コンピュータのハードウエアとソフトウエアの組み合わせによって実現されるものである。
【００６３】
この第２の実施形態に係るデータバックアップ装置６０も、その役割は、第１の格納場所２０内の更新ファイルを、第２の格納場所４０へとバックアップする適切なタイミングを決定することにあるが、その基本原理は、前述した第１の実施形態とは若干異なっている。そこで、まず、この基本原理を図５のタイムチャートを参照しながら説明する。このタイムチャートは、図２のタイムチャートと同様に、時間軸の左側に、オペレータの操作タイミングを示し、時間軸の右側に、データバックアップ装置６０によるバックアップ処理のタイミングを示すものである。
【００６４】
オペレータが行った操作は、図２のタイムチャートと全く同様である。すなわち、時刻ｔ１において、所定のアプリケーションプログラムを用いて、ファイルを開く操作を行い、以後、当該ファイルに対する編集作業の途中段階の時刻ｔ２，ｔ３，ｔ４，ｔ６，ｔ７において、編集途中のファイルを保存する操作を行い、最終的に、時刻ｔ８において、当該ファイルを閉じる操作を行っている。なお、この図５のタイムチャートでは、説明の便宜上、時刻ｔ０において、コンピュータシステムの起動が行われたものとしている。また、図２のタイムチャートと同様、各更新段階におけるファイルを、それぞれ更新ファイルＦ（０）〜Ｆ（５）と呼んで相互に区別することにするが、オペレータから見れば、各更新ファイルＦ（０）〜Ｆ（５）は、いずれもファイル名「Ｆ」で特定される同一のファイルであり、編集作業の途中段階の変遷を示すものに過ぎない。
【００６５】
この実施形態においても、より効率的なバックアップ処理を実行するために、これらの更新ファイルＦ（１）〜Ｆ（５）のすべてについてバックアップを行うという方針を採る代わりに、選択されたいくつかについてのみバックアップを行うという方針を採る。この図５の例では、結果的に、図２の例と同様に、ファイルＦ（３）およびファイルＦ（５）のみがバックアップの対象となっており、ファイルＦ（１），Ｆ（２），Ｆ（４）についてのバックアップは省略されている。２つのファイルＦ（３），Ｆ（５）のみをバックアップの対象として選択する意義は、既に§２で述べたとおりである。
【００６６】
ここで述べる第２の実施形態の着眼点は、システム起動後、ファイルが初めて保存されたときを起点として、一定時間ごとに、当該ファイルに関する更新ファイル（その時点での最新ファイル）をバックアップすることにより、効率的なバックアップを行う点にある。ここで、「一定時間」をどの程度の時間設定にするかは、実用上の運用形態をみながら適宜設定すればよい。図５に示す実施形態は、この「一定時間」を所定値Ｔに設定した例である。
【００６７】
すなわち、図示の例の場合、システム起動後、ファイルＦが初めて保存された時点は、時刻ｔ２であるので、この時刻ｔ２を起点として、所定値Ｔに相当する時間間隔ごとにバックアップが実行される。具体的には、時刻ｔ５，ｔ９，ｔ１０というタイミングがバックアップタイミングになる。時刻ｔ５では、その時点で最新の更新ファイルＦ（３）がバックアップされ、時刻ｔ９では、その時点で最新の更新ファイルＦ（５）がバックアップされる。ただ、時刻ｔ１０では、その時点で最新の更新ファイルは依然としてＦ（５）であり、既に時刻ｔ５においてバックアップ完了済なので、再度のバックアップは行わない。
【００６８】
この図５に示すタイムチャートは、ファイル名「Ｆ」なる１つのファイルに関するバックアップタイミングを示す図であるが、実際には、複数のファイルを同時に開いて作業を進めた場合にも対応できるように、この図５に示す各処理が、個々のファイルごとに別個独立して行われるようにしておけばよい。図４に示すデータバックアップ装置６０は、このような方針で、バックアップのタイミングを決める機能を果たすことになる。以下、このデータバックアップ装置６０の各構成要素の機能を説明する。
【００６９】
まず、保存処理検出手段６１は、コンピュータのメモリ１０上に展開されているファイルを第１の格納場所２０に所定のファイル名で保存する保存処理が行われたことを検出する構成要素であり、図１に示す保存処理検出手段５１と全く同等の機能をもった構成要素である。図５に示すタイムチャートの場合、保存処理検出手段６１は、時刻ｔ２，ｔ３，ｔ４，ｔ６，ｔ７の各時点において保存処理が行われたことを検出することになる。もちろん、保存処理の検出は、個々のファイルごとに別個独立して行われることになるので、各時点では、どのファイルの保存処理が行われたのかが認識される。
【００７０】
計時開始手段６２および計時手段６３は、この保存処理検出手段６１の検出結果に基づいて、計時処理を行うための構成要素である。計時開始手段６２は、コンピュータのシステム起動後、所定のファイルについて第１の格納場所２０への保存処理が初めて行われたときに、当該所定のファイルについて、計時手段６３に０からカウントを開始させる機能を有する。計時手段６３は、この計時開始手段６２から与えられる開始指示に応じて、第１の格納場所２０に保存されている個々のファイルごとに、所定時点からの経過時間をそれぞれ計時値としてカウントする。
【００７１】
一方、バックアップ実行手段６４は、特定のファイルについての計時値が所定値Ｔに達したら、当該計時値を０にリセットして、計時手段６３にカウントを継続させるとともに、その時点で第１の格納場所２０に保存されている当該特定のファイルについて、バックアップが実行済か否かを認識し、実行済でなかった場合には、当該特定のファイルを第２の格納場所４０にバックアップする処理を行う。
【００７２】
図５に示すタイムチャートの場合、計時手段６３によるカウントは、時刻ｔ２から開始するが、計時値が所定値Ｔに達するたびに、計時値は０にリセットされるので、結局、時間軸上に黒丸で示すタイミングで、計時値のリセットが行われ、０からのカウントが開始されることになる。しかも、この黒丸で示すタイミングごとに、バックアップ実行手段６４によって、当該ファイル（その時点で最新の更新ファイル）についてのバックアップが実行済か否かの判断がなされ、実行済でなければバックアップが実行される。
【００７３】
図５の例では、時刻ｔ５における判断では、その時点で最新の更新ファイルＦ（３）のバックアップはまだ実行されていないので、この時点で更新ファイルＦ（３）についてのバックアップが実行される。また、時刻ｔ９における判断では、その時点で最新の更新ファイルＦ（５）のバックアップはまだ実行されていないので、この時点で更新ファイルＦ（５）についてのバックアップが実行される。しかしながら、時刻ｔ１０における判断では、その時点で最新の更新ファイルＦ（５）のバックアップは既に実行済なので、更新ファイルＦ（５）について再度のバックアップが実行されることはない。
【００７４】
なお、特定の更新ファイルについて、バックアップが実行済か否かの判断は、バックアップを実行した際に何らかの記録を残しておくようにすれば、容易に行うことができる。たとえば、ある特定のファイルＦについて、バックアップを実行したらフラグ「１」を立て、新たな更新ファイルの保存が行われたら、当該フラグを「０」にする、という操作を行うようにすれば、当該フラグが「１」であれば、最新の更新ファイルについて、バックアップが実行済であることが確認できる。
【００７５】
この第２の実施形態では、あるファイルに関してカウントが開始すると、以後、システム終了時まで、カウントが停止することはない。したがって、図５に示す例の場合、時刻ｔ１０以降も、引き続き計時値のカウントが続行され、所定値Ｔごとに計時値は０にリセットされる。しかしながら、更新ファイルＦ（５）についてのバックアップは、既に時刻ｔ９において実行済なので、同じ更新ファイルＦ（５）が再度バックアップされることはない。
【００７６】
もっとも、ファイルＦについての編集が再開され、新たな更新ファイルが作成され、これが保存された場合は、当該新たな更新ファイルはバックアップの対象になる。図６は、この場合のタイムチャートを示す。すなわち、この図６に示す例では、時刻ｔ９．１において、オペレータは、ファイルＦ（５）を開いて、ファイルＦについての編集を再開し、時刻ｔ９．２において、更新後の新たなファイルＦ（６）を保存する操作を行っている。この場合、時刻ｔ１０における判断では、その時点で最新の更新ファイルは、ファイルＦ（６）であり、バックアップは実行されていないことになる。したがって、この場合は、時刻ｔ１０の時点で、このファイルＦ（６）についてのバックアップが実行される。
【００７７】
このように、ここで述べる実施形態の場合、計時手段６３によるカウントは、常に所定値Ｔに達したときに０にリセットされ、その時点での最新の更新ファイルについて、まだバックアップが実行されていない場合には、バックアップが実行されることになる。かくして、この第２の実施形態においても、内容が頻繁に更新されるファイルについて、効率的なバックアップ処理を実行することが可能になる。
【００７８】
図７は、図４に示すデータバックアップ装置６０の具体的な動作手順の一例を示す表である。図３に示す表と同様に、第１列目は時刻、第２列目はオペレータの処理動作（但し、括弧書きした内容は、データバックアップ装置６０によるバックアップ動作）、第３〜第５列目は各ファイルＦａ，Ｆｂ，Ｆｃについての計時値（単位は分：Ｓはカウント停止状態）を示している。なお、図５に示した所定値Ｔとして、この例では、Ｔ＝６０分なる設定を行っている。
【００７９】
この図７の表における時刻およびオペレータの処理動作は、図３に示す表と全く同様である。ただ、各ファイルＦａ，Ｆｂ，Ｆｃについての計時値のカウント動作とバックアップ動作は、上述したアルゴリズムに基づいて実行される。以下、この点について説明する。
【００８０】
まず、ファイルＦａに関するバックアップがどのように行われるかを見てみよう。前述したとおり、ファイルＦａに関する計時値のカウントは、システム起動後、ファイルＦａについての保存処理が初めて実行された時点から開始する。したがって、図示の例では、９時００分から、ファイルＦａに関する計時値のカウントが０から開始することになる。９時００分の欄に示されている「Ｓ→０」は、カウント停止状態Ｓから計時値０へのリセット操作を示し、この時点からカウントが開始することを示している。
【００８１】
ここで述べる実施形態の場合、ファイルＦａの計時値は、所定値Ｔ＝６０に達するたびに０にリセットされる。したがって、図示の例の場合、ファイルＦａの計時値は、１０時００分、１１時００分、１２時００分、１３時００分、１４時００分、１５時００分、１６時００分、といういわゆる毎正時にリセットされることになる。各毎正時の欄に示されている「６０→０」は、計時値が６０から０にリセットされることを示している。
【００８２】
上述したとおり、この計時値が０にリセットされるタイミングで、必要な場合に（最新の更新ファイルが、まだバックアップされていない場合に）、バックアップが実行される。ファイルＦａの場合、１０時００分のリセット時における最新の更新ファイルは、９時５０分に保存された「ファイルＦａ＜０９：５０＞」であり、当該ファイルに対するバックアップはまだ実行されていない。そこで、１０時００分において、この「ファイルＦａ＜０９：５０＞」についてのバックアップが実行される。しかしながら、１１時００分、１２時００分、１３時００分の各リセット時には、その時点における最新の更新ファイルは、依然として９時５０分に保存された「ファイルＦａ＜０９：５０＞」であり、既にバックアップ実行済であるので、これらの時点でのバックアップは行われない。
【００８３】
一方、次の１４時００分のリセット時における最新の更新ファイルは、１３時３５分に保存された「ファイルＦａ＜１３：３５＞」であり、当該ファイルに対するバックアップはまだ実行されていない。そこで、１４時００分において、この「ファイルＦａ＜１３：３５＞」についてのバックアップが実行される。同様に、次の１５時００分のリセット時における最新の更新ファイルは、１４時３２分に保存された「ファイルＦａ＜１４：３２＞」であり、当該ファイルに対するバックアップはまだ実行されていない。そこで、１５時００分において、この「ファイルＦａ＜１４：３２＞」についてのバックアップが実行される。最後の１６時００分のリセット時には、その時点における最新の更新ファイルは、依然として１４時３２分に保存された「ファイルＦａ＜１４：３２＞」であり、既にバックアップ実行済であるので、この時点でのバックアップは行われない。
【００８４】
次に、ファイルＦｂに関するバックアップがどのように行われるかを見てみよう。ファイルＦｂに関する計時値のカウントは、システム起動後、ファイルＦｂについての保存処理が初めて実行された時点から開始する。したがって、図示の例では、１３時３０分から、ファイルＦｂに関する計時値のカウントが０から開始することになる。１３時３０分の欄に示されている「Ｓ→０」は、カウント停止状態Ｓから計時値０へのリセット操作を示し、この時点からカウントが開始することを示している。
【００８５】
ここで述べる実施形態の場合、ファイルＦｂの計時値は、所定値Ｔ＝６０に達するたびに０にリセットされる。したがって、図示の例の場合、ファイルＦｂの計時値は、１４時３０分、１５時３０分、１６時３０分、といういわゆる毎正半時にリセットされることになる。各毎正半時の欄に示されている「６０→０」は、計時値が６０から０にリセットされることを示している。
【００８６】
そして、この計時値が０にリセットされるタイミングで、必要な場合にバックアップが実行される。ファイルＦｂの場合、１４時３０分のリセット時における最新の更新ファイルは、１３時３０分に保存された「ファイルＦｂ＜１３：３０＞」であり、当該ファイルに対するバックアップはまだ実行されていない。そこで、１４時３０分において、この「ファイルＦｂ＜１３：３０＞」についてのバックアップが実行される。同様に、１５時３０分のリセット時における最新の更新ファイルは、１４時５５分に保存された「ファイルＦｂ＜１４：５５＞」であり、当該ファイルに対するバックアップはまだ実行されていない。そこで、１５時３０分において、この「ファイルＦｂ＜１４：５５＞」についてのバックアップが実行される。しかしながら、最後の１６時３０分のリセット時には、その時点における最新の更新ファイルは、依然として１４時５５分に保存された「ファイルＦｂ＜１４：５５＞」であり、既にバックアップ実行済であるので、この時点でのバックアップは行われない。
【００８７】
このように、ファイルＦａ，Ｆｂについては、それぞれ適切なタイミングで、バックアップが自動的に実行される。ところが、システム終了時の間際に編集作業を実行したファイルＦｃについては、このままではバックアップが行われない。すなわち、ファイルＦｃに関する計時値は、表に示されているとおり、システム終了時の１６時３１分の時点で「５３」となっており、まだ所定値「６０」には達していないため、バックアップ処理のチャンスを失ってしまう。
【００８８】
このように、システム終了によりバックアップ処理が行われない事態を避けるためには、§２の第１の実施形態で述べた手法と同様に、バックアップ実行手段６４に、コンピュータのシステム終了時に、第１の格納場所２０に保存されているファイルのうち、バックアップが実行済でない未バックアップファイルを認識し、この未バックアップファイルについて、システム終了直前にバックアップする機能をもたせておくようにすればよい。たとえば、図７に示す例の場合、システム終了時の１６時３１分の時点において、ファイルＦａの最新の更新ファイルである「ファイルＦａ＜１４：３２＞」と、ファイルＦｂの最新の更新ファイルである「ファイルＦｂ＜１４：５５＞」についてはバックアップが実行済であるが、ファイルＦｃの最新の更新ファイルである「ファイルＦｃ＜１６：１２＞」についてのバックアップは実行されていない。そこで、システム終了時には、この「ファイルＦｃ＜１６：１２＞」を未バックアップファイルとして認識し、これをバックアップする処理が行われるようにすればよい。
【００８９】
＜＜＜  §４．いくつかの変形例  ＞＞＞
これまで、本発明に係るデータバックアップ装置を２つの実施形態について説明したが、本発明は、これらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。ここでは、いくつかの変形例を述べておく。
【００９０】
(1)   第２の実施形態の変形例
上述した§３で述べた実施形態では、各ファイルについての計時値が所定値Ｔに達した時点で、これを０にリセットする手法を採っているため、図５あるいは図６のタイムチャートに示すとおり、常に、所定値Ｔの時間間隔でバックアップをするか否かの判断が行われることになる。
【００９１】
これに対して、特定のファイルについての計時値が所定値Ｔに達したら、当該特定のファイルの最終保存時刻から現在時刻までの経過時間を認識し、この経過時間が所定値Ｔでなかった場合には、計時値を、０にリセットする代わりに、当該経過時間に相当する値に設定するような運用も可能である。
【００９２】
図５に示す例について、このような運用を行うと、バックアップのタイミングは次のようになる。まず、図示のとおり、時刻ｔ５において、ファイルＦについての計時値が所定値Ｔに達することになる。そこで、この時刻ｔ５において、ファイルＦ（３）のバックアップを行う点は、§３で述べた実施形態と全く同様である。ただ、この時点で計時値を、０にリセットする代わりに、当該ファイルＦの最終保存時刻（更新ファイルＦ（３）の保存時刻）から現在時刻までの経過時間に相当する値に設定するのである。具体的には、図示の例の場合、時刻ｔ５における新たな計時値は、時刻ｔ４〜ｔ５の間の時間に相当する値に設定されることになる。
【００９３】
このような計時値設定を行う本旨は、所定値Ｔまでのカウントの起点を、時刻ｔ５ではなく、時刻ｔ４に変更することにある。時刻ｔ５における新たな計時値として、時刻ｔ４〜ｔ５の間の時間に相当する値を設定すれば、次に計時値が所定値Ｔに達するのは、図示の時刻ｔ９ではなく、それよりも早い時点（時刻ｔ４〜ｔ５の間の時間分だけ早い時点）ということになり、別言すれば、時刻ｔ４を起点として所定値Ｔまでのカウントが行われた時点ということになる。
【００９４】
このように、§３で述べた実施形態では、バックアップするか否かの判断タイミングは、常に一定周期Ｔで訪れることになるが、ここで述べる変形例によれば、ファイルの最終保存時刻に応じて、バックアップするか否かの判断タイミングが若干前倒しに設定されることになる。これは、バックアップしたファイルの最終保存時刻から、次の判断タイミングまでの期間が常に一定周期Ｔになるようにするための配慮である。たとえば、図５に示す例の場合、時刻ｔ５で更新ファイルＦ（３）のバックアップが行われた後、次のバックアップ判断タイミングは、時刻ｔ９となっており、バックアップしたファイルの最終保存時刻から、次の判断タイミングまでの期間は、時刻ｔ４〜ｔ９の間の期間となり、所定値Ｔに比べてかなり長くなっている。本変形例によれば、バックアップしたファイルの最終保存時刻から、次の判断タイミングまでの期間が常に一定周期Ｔになる。
【００９５】
なお、ファイルの最終保存時刻から現在時刻までの経過時間が所定値Ｔであった場合は、計時値をＴにリセットするのは不都合であるから、通常どおり０にリセットすればよい。もちろん、§３で述べた実施形態と、ここで述べた変形例とを比較した場合に、どちらの方が優れているかを一概に結論づけることはできないが、いずれの手法を採っても、本発明の目的が達成できることに変わりはない。
【００９６】
(2)   バックアップ対象の設定
これまでの実施形態では特に触れていなかったが、本発明を実施するにあたっては、第１の格納場所２０に保存されているすべてのファイルを必ずしもバックアップ対象にする必要はない。具体的には、バックアップ対象データを、ボリューム単位、フォルダ単位、もしくはファイル単位で、予め設定できるようにしておくのが好ましい。この場合、計時値のカウントは、バックアップ対象データについてのみ行うようにすれば足りる。
【００９７】
また、第１の格納場所２０内の特定のファイルについてバックアップを実行する際、当該ファイル内のデータ全部を第２の格納場所４０に複製する必要はなく、前回のバックアップ時の内容に対する差分データのみを第２の格納場所４０に保存する処理を行うことも可能である。
【００９８】
(3)   所定値Ｔの設定
本発明に係るデータバックアップ装置の使い勝手は、計時値と比較する所定値Ｔをどのような値に設定するかによって大きく左右される。前述の実施形態では、Ｔ＝６０分に設定した例を述べたが、この値は、実際のコンピュータシステムにおいて利用するアプリケーションプログラムの種類や、オペレータの作業内容に応じて、適宜設定変更できるようにしておくのが好ましい。もちろん、所定値Ｔの値は、対象となるファイルごとに異なるように設定してもよい。たとえば、ワープロ用アプリケーションプログラムによって作成されたファイルの場合はＴ＝２０分、表計算用アプリケーションプログラムによって作成されたファイルの場合はＴ＝１０分、というように、アプリケーションプログラムごとに設定値を変えることも可能である。あるいは、オペレータの保存操作の頻度をモニターしながら、この頻度に応じて、所定値Ｔの値を逐次自動変更させるような態様も可能である。
【００９９】
(4)   システム起動／終了に関して
本発明を実施するにあたり、システム起動あるいは終了なる文言は、必ずしもコンピュータに対する電源の投入、切断を意味するものではない。本発明におけるシステムの起動状態とは、データバックアップ装置５０，６０が正常に動作することが可能な状態を意味しており、システムの終了状態とは、データバックアップ装置５０，６０が正常に動作できない状態を意味している。したがって、いわゆる節電のためのスリープ状態／スタンバイ状態への移行を、本発明にいうシステム終了として取り扱う実施形態も可能であるし、これらの状態からの復帰を、本発明にいうシステム起動として取り扱う実施形態も可能である。
【図面の簡単な説明】
【０１００】
【図１】本発明の第１の実施形態に係るデータバックアップ装置を組み込んだコンピュータシステムの基本構成を示すブロック図である。
【図２】本発明の第１の実施形態の基本原理を示すタイムチャートである。
【図３】図１に示すデータバックアップ装置５０の具体的な動作手順の一例を示す表である。
【図４】本発明の第２の実施形態に係るデータバックアップ装置を組み込んだコンピュータシステムの基本構成を示すブロック図である。
【図５】本発明の第２の実施形態の基本原理を示すタイムチャートである。
【図６】本発明の第２の実施形態の基本原理を示す別なタイムチャートである。
【図７】図４に示すデータバックアップ装置６０の具体的な動作手順の一例を示す表である。
【符号の説明】
【０１０１】
１０…メモリ（ＲＡＭ）
２０…第１の格納場所（内蔵ハードディスク）
３０…処理実行部
４０…第２の格納場所（バックアップサーバ）
５０…データバックアップ装置
５１…保存処理検出手段
５２…計時リセット手段
５３…計時手段
５４…バックアップ実行手段
６０…データバックアップ装置
６１…保存処理検出手段
６２…計時開始手段
６３…計時手段
６４…バックアップ実行手段
Ｆａ，Ｆｂ，Ｆｃ…バックアップ対象ファイル
Ｆ（０）〜Ｆ（６）…ファイルＦの各時点における更新ファイル
Ｔ…計時値と比較する値
ｔ１〜ｔ１０…各時刻
【図１】
0004725035.tif 000002
【図２】
0004725035.tif 000003
【図３】
0004725035.tif 000004
【図４】
0004725035.tif 000005
【図５】
0004725035.tif 000006
【図６】
0004725035.tif 000007
【図７】
0004725035.tif 000008