(57)【要約】      （修正有）【課題】いくつかのアプリケーションプログラムによって共有されている記憶装置のバックアップを、アプリケーションプログラムの実行に影響を及ぼさずに行う方法を提供する。【解決手段】バックアップ実行中に記憶装置１６内のデータに対しなされる変更の記録を保守するという処理を含むバックアップ行程から成り立っている。他の処理が前記記憶装置を通常通り更新し続けるのを許容し、それにより、いくつかのファイルロック技術と結びついて遅滞が生じるのを避けている間中、前記記録は、バックアップ行程に参照されるデータが、それが実行中に変わらないということを保証するよう用いられる。【選択図】図１
2006127546.tif 000002
【特許請求の範囲】
【請求項１】
ランダムアクセスメモリ、中央演算処理装置、及び記憶手段を備えたマイクロプロセッサに基づいて作動するコンピュータシステム上で稼働するバックアップ工程にデータを提供する方法であって、
データを定期的に上記記憶手段の主領域に書き込む少なくとも１回の通常の書き込み作業と、上記記憶手段からデータを読み取る少なくとも１回の通常の読み取り作業とを実行させるために上記メモリ内に記憶された初期命令を上記中央演算処理装置に与えるステップと、
上記バックアップ工程から開始信号を受領するステップと、
上記開始信号を受領した後に、上記書き込み作業を中間捕捉すると共に、上記書き込み作業によって上書きされる可能性のあるオリジナルデータの保存のため、上記記憶手段の副領域にデータを書き込む中間捕捉作業を実行し、上記副領域へ書き込まれた一次記録を保存し、上記バックアップ及び上記通常の読取り作業のうちの一方の実行時に、上記一次記録に従って上記主領域と上記副領域のうち一方から読み取られたデータを上記一次記録に照会し、これによって上記バックアップ工程に、上記開始信号が発信される以前の状態で保存されたオリジナルデータが提供されるステップと、
上記バックアップ工程の進んだ範囲を示す二次記録を保存し、上記記憶手段への書き込み作業の命令を受領した場合には、上記記憶手段の上記主領域に書き込まれた部分が上記バックアップ工程によりバックアップされたか否かを上記二次記録から判断し、上記部分がバックアップされた場合、上記書き込み作業を中間捕捉せずに上記記憶手段の上記主領域への上記書き込み作業を許容するステップとを備えた方法。
【請求項２】
通常の書き込み作業のデータは上記副領域に書き込まれると共に、上記一次記録は主領域の上記通常の書き込み作業のために指定された位置の記録と上記副領域の実位置の記録とを有し、上記主領域から上記保存されたオリジナルデータを取得するステップをさらに含む、請求項１に記載の方法。
【請求項３】
バックアップ工程から停止信号を受領した後、少なくとも一回の上記副領域の上記実位置からデータを読み取る復旧読み取り作業と、少なくとも一回の上記主領域の指定の位置へ、そのデータを復旧する復旧書き込み作業とを上記一次記録に従って実行し、全てのデータが上記主領域の指定された位置に復旧されたとき、上記書き込み作業を中間捕捉する上記中間捕捉作業を終了するステップを含む、請求項２に記載の方法。
【請求項４】
上記主領域と上記副領域は単一の記憶装置の異なる領域である、請求項２に記載の方法。
【請求項５】
通常の書き込み作業のデータが上記主領域に書き込まれる前に、保存されるデータは上記主領域から読み取られ上記副領域に書き込まれると共に、一次記録は上記主領域のオリジナルデータの前回の位置の記録と、上記副領域の実位置の記録とを有し、上記実位置から上記保存されたオリジナルデータを取得するステップをさらに含む、請求項１に記載の方法。
【請求項６】
停止信号を上記バックアップ工程から受領した後、上記書き込み作業を中間捕捉する上記中間捕捉作業を終了するステップをさらに含む、請求項５に記載の方法。
【請求項７】
上記主領域と上記副領域は単一の記憶装置の異なる領域である、請求項６に記載の方法。
【請求項８】
中間捕捉作業に関する命令は基本的入出力システム（ＢＩＯＳ）レベルで実行される、請求項１に記載の方法。
【請求項９】
中間捕捉作業に関する命令はオペレーティングシステムのインターフェースレベルで実行される、請求項１に記載の方法。
【請求項１０】
コンピュータシステム上で稼働して、開始信号と停止信号を発信し、上記記憶手段からオリジナルデータを読み取るバックアップ読み取り作業を少なくとも一回、実行することが可能なバックアップ工程を提供するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
上記記憶装置上で上記バックアップ工程が開始される前に開始信号が発信されると共に、上記バックアップ工程が終了した後に停止信号が発信される、請求項１０に記載した方法。
【請求項１２】
バックアップ工程実行中であって、更なる書き込み命令の応答時に、上記バックアップ工程によりバックアップされた上記記憶手段の上記主領域の部分に関連する記載事項を上記一次記録から削除するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
命令メモリ、中央演算処理装置、及び記憶手段を備えたマイクロプロセッサに基づいて作動するコンピュータシステムの作業方法であって、
コンピュータシステム上で稼働し、少なくとも一回の開始信号を発信することが可能なバックアップ工程を提供するステップと、
データを定期的に上記記憶手段の主領域に書き込む少なくとも１回の通常の書き込み作業を実行させるために上記メモリ内に記憶された初期命令を上記中央演算処理装置に与えるステップと、
上記開始信号を受領した後、書き込み作業を中間捕捉し、その中間捕捉された書き込み作業において、上記記憶手段の上記主領域のある位置の指定されたデータを上記記憶手段の副領域のある位置に書き込む中間捕捉作業を実行する一方、上記副領域と、対応する主領域の上記部分へ上記書き込んだ記録を保持するステップと、
中間捕捉された書き込み作業は、上記現在中間捕捉されている書込み作業と同一の上記主領域の部分へ指示された書き込みデータに関して、前回中間捕捉された書き込み作業が存在するか否かを判断するため上記記録を照会するステップを含み、
（ａ）存在する場合、上記前回中間捕捉された書き込み作業において、上記記憶手段の上記副領域の上記部分に以前書き込まれたデータを新たなデータに上書きし、
（ｂ）存在しない場合、上記記録に追加すると共に、上記副領域に上記新しいデータを書き込み、
これによって、上記バックアップ工程は、上記開始信号が発信される以前の状態で保存されたオリジナルデータのコピーを保持するステップとを備えた方法。
【請求項１４】
上記停止信号を受信した後、上記副領域からデータの読み取りのために、少なくとも一回の復旧読み取り作業を行うと共に、上記主領域の指定の位置へそのデータの復旧のために、少なくとも一回の復旧書き込み作業を上記記録に従って行うステップと、
上記主領域の指定された位置へ全てのデータが復旧された際に上記書き込み作業を中間捕捉する上記中間捕捉作業を終了するステップとをさらに含む、請求項１３に記載の方法。
【請求項１５】
命令メモリ、中央演算処理装置、及び記憶手段を備えた、マイクロプロセッサに基づいて作動するコンピュータシステムの作業方法であって、
コンピュータシステム上で稼働し、少なくとも一回の開始信号を発信することが可能なバックアップ工程を提供するステップと、
データを定期的に上記記憶手段の主領域に書き込む少なくとも１回の通常の書き込み作業を実行させるために上記メモリ内に記憶された初期命令を上記中央演算処理装置に与えるステップと、
上記開始信号を受領した後、書き込み作業を中間捕捉する中間捕捉作業を実行し、中間捕捉された書き込み作業において、新しいデータを上記記憶手段の上記主領域の部分に書き込む以前に、上記主領域の上記部分のデータを読み取ると共に、上記記憶手段の副領域の部分にそのデータを書き込む一方、上記副領域へ上記書き込んだ記録、及び対応する上記主領域の上記位置へ書き込んだ記録を保持するステップと、
上記中間捕捉された書き込み作業は、上記今回中間捕捉された書き込み作業と同じ上記主領域の部分における書き込みデータに関する前回中間捕捉された書き込み作業が存在するか否かを判断するため、上記記録を照会し、
（ａ）存在する場合、上記前回の中間捕捉書き込み作業で、上記記憶手段の上記主領域
に前回書き込まれたデータに、その新しいデータを上書きし、
（ｂ）存在しない場合、主領域から保存されたデータを読み取ると共に、それを副領域に書き込み、上記記録に付け加えると共に、上記主領域に上記新しいデータを書き込み、これによって、バックアップ工程は、上記開始信号が発信される以前の状態で保存されたオリジナルデータのコピーを保持するステップとを備えた方法。
【請求項１６】
停止信号を受領した後、上記副領域からデータを読み込むため、少なくとも一回の復旧読み取り作業を行うと共に、主領域の指定の位置へデータ復元のため、少なくとも一回の復旧書込み作業を、上記記録に従って実行するステップと、
全てのデータが上記主領域の指定の位置へ復旧された際、上記書き込み作業を中間捕捉するための中間捕捉作業を終了するステップとを含む、請求項１５に記載の方法。
【請求項１７】
命令メモリ、中央演算処理装置、及び記憶手段を備えたマイクロプロセッサに基づいて作動するコンピュータシステムの作業のための装置であって、
開始信号を少なくとも一回、発信することが可能なバックアップ手段と、
データを定期的に上記記憶手段の主領域に書き込む少なくとも１回の通常の書き込み作業を実行させるために上記メモリ内に記憶された初期命令を上記中央演算処理装置に与える手段と、
書き込み信号を中間捕捉するための中間捕捉作業を実行するための上記開始信号を受領した後、中間捕捉された書き込み作業において、上記記憶手段の上記主領域の部分に指定してあるデータを、上記記憶手段の上記副領域の部分に書き込む一方、上記副領域へ書き込んだ記録、及び対応する上記主領域へ書き込んだ記録を保持する手段とを備え、
上記実行手段はさらに、上記今回中間捕捉された書込み作業と同じ上記主領域の部分に指定された書き込みデータに関して、前回中間捕捉した書き込み作業が存在するか否かを判断するため、上記記録に照会し、
（ａ）存在する場合、上記前回の中間捕捉書き込み作業において、上記記憶手段の上記副領域に前回書き込まれた新しいデータに上書きし、
（ｂ）存在しない場合、上記記録に付け加えると共に、上記副領域に上記新しいデータを書き込み、
これによって上記バックアップ工程は、上記開始信号が発信される以前の状態で保存されたオリジナルデータのコピーを保持する手段とを備えた装置。
【請求項１８】
命令メモリ、中央演算処理装置、及び記憶手段を備えたマイクロプロセッサに基づいて作動するコンピュータシステムの作業のための装置であって、
開始信号を少なくとも一回、発信することが可能なバックアップ手段と、
データを定期的に上記記憶手段の主領域に書き込む少なくとも１回の通常の書き込み作業を実行させるために上記メモリ内に記憶された初期命令を上記中央演算処理装置に与える手段と、
上記開始信号を受領した後、書き込み作業を中間捕捉する中間捕捉作業を実行し、中間捕捉された書き込み作業において、新しいデータを上記記憶手段の上記主領域の部分に書き込む以前に、上記主領域のその部分のデータを読み取ると共に、上記記憶手段の上記副領域の部分に書き込む一方、上記副領域へ書き込んだ記録、及び対応する上記主領域へ書き込んだ記録を保持する手段とを有し、
上記実行手段はさらに、今回中間捕捉された書き込み作業と主領域の同じ部分の書き込みに関して、前回中間捕捉した書き込み作業が存在するか否かを判断するため、上記記録に照会し、
（ａ）存在する場合、上記前回の中間捕捉書き込み作業で、上記記憶手段の上記主領域に前回書き込まれた新しいデータに上書きし、
（ｂ）存在しない場合、上記主領域から保存されたデータを読み取ると共に、それを上記副領域に書き込み、上記記録に付け加えると共に、上記主領域に新しいデータを書き込み、
これによってバックアップ工程は、上記開始信号が発信される以前の状態で保存されたオリジナルデータのコピーを保持する手段を備えることを特徴とする装置。
【請求項１９】
ランダムアクセスメモリ、中央演算処理装置、及び記憶手段を備えたマイクロプロセッサに基づいて作動するコンピュータシステムであって、
開始信号及び停止信号を発信可能なバックアップ工程を実行すると共に、上記記憶手段からオリジナルデータを読み取るために、少なくとも一回のバックアップ読み取り作業を実行する手段と、
定期的に上記記憶手段の主領域にデータを書き込むための通常の書き込み作業を少なくとも一回実行し、上記記憶手段からデータを読み込むための通常の読み込み作業を少なくとも一回、中央演算処理装置に実行させる手段と、
上記開始信号を受領する手段と、
上記開始信号を受領した後、上記書き込み作業を中間捕捉する中間捕捉作業を実行すると共に、上記書き込み作業による上書きからオリジナルデータを保護するため上記記憶手段の副領域へデータを書き込み、上記副領域に書き込んだ一次記録を保持する手段と、
上記主領域と上記副領域のうち一方からデータを読み取るため、上記一次記録に照会し、それによって、上記バックアップ工程を実行する際に、バックアップ工程に上記開始信号が発信される以前の状態で保存されたオリジナルデータが提供される手段とを有し、
上記開始信号の後、バックアップ工程が進んだ範囲を示した二次記録を保存する手段と、上記記憶手段への書き込み作業の命令の受領した際に、書き込まれた上記記憶手段の上記主領域の部分がバックアップ工程によりバックアップされたか否かを上記二次記録から判断し、且つ、上記部分がバックアップされている場合には、上記記憶手段の上記主領域へ書き込むための上記書き込み作業を、中間捕捉することなく許容する手段とを備えることを特徴とする装置。
【請求項２０】
バックアップ工程中、及び更なる書き込み命令に対する応答時に、バックアップ工程によりバックアップされ、更なる書き込み命令に言及され、上記記憶手段の上記主領域の部分に関する記載事項を、上記一次記録から削除する手段をさらに備えた、請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
本発明は、コンピュータシステムの操作方法に関し、特に、記憶装置に支障が起きたり、データが化けたり、失われたり、あるいは最近では「コンピュータウィルスに感染」したりする可能性を警戒するために、記憶装置に保存されるデータのバックアップコピーを提供する方法に関する。本発明はとりわけパーソナルコンピュータ（P.C.s）のバックアップを提供することに関している。
【背景技術】
【０００２】
従来、簡単にいうと、単一利用者向けの、ハードディスクあるいは固定ディスクと呼ばれるような記憶手段を備えるコンピュータシステムにおいては、どんなときでもただ１つのアプリケーションプログラムが記憶手段にアクセス可能である。記憶手段に保存されるデータのバックアップ作業は、このバックアップ作業の実行中、記憶手段を排他的に使用するようなアプリケーションプログラムによって、行われる。それは、そのような状態では、バックアップアプリケーションが終了するまで、他のいかなるアプリケーションも稼働できないからである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
同時にいくつかのアプリケーションの操作が可能なマルチタスク環境や、何人かの利用者が同じコンピュータ資源を共有できるようなネットワークシステムを導入すれば、１つ以上のアプリケーションが同じ記憶手段に一時期にアクセスするような状況が発生するかも知れない。このような状況が発生すれば、アプリケーション間で衝突が起きる可能性がある。例えば、１つのアプリケーションが、他のアプリケーションで現在使われているファイルを更新したり削除したりするかも知れない。このことは、混乱をもたらし、もしかすると記憶手段の支障をもたらして結果的にデータを失うことにもなる。
【０００４】
「ファイルロック」及び「レコードロック」として知られる方法がオペレーティングシステムに対して導入されてきたが、これらは、ファイルロックの例では１つ以上のアプリケーションがあるファイルを書き込もうとするのを防ぐためであり、またレコードロックの例では２つのアプリケーションが同じ領域のあるファイルを更新しようとするのを防ぐためである。これらの方法は、たいていのアプリケーションに対しては十分に通用するものである。とりわけ各々のアプリケーションが、共有中のファイルへ比較的に小さな変更のみを行い、ゆえに他のアプリケーションがロックされているファイルやレコードにアクセスしようとするのをさほど遅らせたりしないのなら、なおさらである。
【０００５】
しかし、記憶手段を共有するコンピュータシステムにおける定期的なデータバックアップのためのアプリケーションは、特別なケースである。
【０００６】
バックアップ可能なデータの最小の単位は、１個のファイルである。それは、バックアップアプリケーションやオペレーティングシステムのどちらにとっても、ファイルが何かのアプリケーションプログラムに結びつきがあるからといってその内部構造までは分からないからである。
【０００７】
さらに加えて、ファイルのバックアップコピーは、ある特定時におけるオリジナルの正確な複写物である必要がある。しかしながら、ファイルのコピーは瞬間的な処理でなく、コピーに掛かる時間はファイルの大きさとコピー作業の速度に依存している。このことは
、コピー中に他のアプリケーションがファイルを更新可能であることを、前記バックアップアプリケーションが認識しない限り、問題となる。
【０００８】
ファイルをコピーするために、バックアップアプリケーションはランダムアクセスメモリ（ＲＡＭ）領域を転送バッファとして割り当て、そして、元のファイルのブロックを前記バッファ中に読み取ることと、バッファの内容を二次的記憶手段に書き込むことと、を交互に実行する。ファイルが極端に小さくない限り、前記転送バッファは幾度となく満杯になるであろうし、コピー作業はファイルの完全なコピーを作成するために何回も読み書き作業を必要とするだろう。
【０００９】
コピー中にファイルが更新可能であることにより起こる潜在的な問題は、一連の１０ブロック毎にコピーされるファイルの例を考慮に入れることで示されるだろう。もし、ブロック１から５がすでにコピーされた後に、ブロック３及び８に相当するファイルに対する変更を要求する処理によって、ファイルが更新されるのなら、続いてコピー行程はブロック８への変更をコピーするが、ブロック３への変更はコピーしないだろう、それは、このブロックが前記処理が行われる以前に既にコピーされているからである。それゆえこのバックアップコピーは、部分的処理のみを含むだけとなってしまい、それは、そのバックアップコピーを全く役に立たないものにしてしまうだろう。なぜならば、これを担ったアプリケーションは、そのファイルを不正であると認識してしまうかも知れないからである。
【００１０】
米国特許第5,086,502号は、二次的記憶手段への二重の書き込み作業を為すことにより達成されるような、個々の書き込み作業というバックアップの方法を提示している。この方法に加えて、共有の記憶手段を有するコンピュータシステムにおけるファイルをバックアップする他の２つの方法がある：すなわち、ｉ）バックアップ中はファイルをロックする。
【００１１】
これは、書き込みアクセスを拒絶することによって、他の利用者がファイル を更新しようとするのを防ぐものである。もし他の利用者が既に書き込みアク セスをしてしまったら、このバックアップアプリケーションはそのファイルを スキップするか、独占的な書き込みアクセスが実行可能になるまで待たなけれ ばならない。
【００１２】
ii）ファイルへの変更を発見すること。
ファイルのコピー後に、このバックアップアプリケーションは何らかの変更 がコピー作業中に発生したかどうかを検査するためにオペレーティングシステ ムを使用することができる。もし変更があったならば、当該コピーは繰り返さ れるか、当該ファイルはスキップされなければならない。
【００１３】
あとの２つの方法のどちらも十分な解決法を提供していない。なぜならば、多くのファイル（特にデータベースのファイル）は絶えず使用中であるからである。さらにこの２つの方法は、バックアップの最中に効果的に利用者が閉め出されることを要する。加えて、二次的記憶装置とオペレーティングシステムの組合せでは、一秒当たり１５メガバイト（Ｍｂ）を越える転送速度を維持することはほとんどなく、それゆえ、巨大ファイルのコピーに要する時間は、著しいものがある。
【００１４】
いくつかのアプリケーションプログラムが、共有された環境でそれら自身のファイルを安全にバックアップする方法を備えることで、このような問題に対し対応しているが、各々の手順は異なっている。記憶手段全体をバックアップするために、バックアップアプリケーションはそれゆえ、各々異なった備え付けの手順がどのように作用するかを知る必要があり、あるいは、適正箇所での手動の割込みに頼らなければならない。
【００１５】
このように、バックアップアプリケーションはファイルを丸ごとバックアップしなければならないので、そして、ファイルは他のアプリケーションプログラムによってバックアップ作業中は更新されるわけには行かないので、上記のようなバックアップ方法は、共有された記憶手段を備えたコンピュータシステムに遅滞をもたらすだろう。このことは、特に、巨大ファイルがバックアップされるときには事実となる。
【課題を解決するための手段】
【００１６】
発明の概要
本発明の第１の特徴点によれば、ランダムアクセスメモリ、中央演算処理装置、及び記憶手段を備えた、マイクロプロセッサベースのコンピュータシステムの操作方法は、以下の各手順から成り立っている、すなわち、前記コンピュータシステム上で稼働し、開始信号及び停止信号を発信すると共に、前記記憶手段からオリジナルデータを読むというバックアップ読取り作業を少なくともひとつ実行可能な、バックアップ行程を提供する手順と、データを周期的に上記記憶手段の主領域に書き込むという少なくとも１回の通常の書き込み作業と、上記記憶手段からデータを読み取るという少なくとも１回の通常の読み取り作業とを、上記中央演算処理装置に実行させるために、上記中央演算処理装置に、上記メモリ内に保持されている初期命令を与える手順と、上記開始信号を受領した後に、上記書き込み作業を中間捕捉しつつ上記書き込み作業によって上書きされる恐れのあるオリジナルデータを保持するために前記記憶手段の副領域にデータを書き込むという中間捕捉作業を実行し、前記副領域への上記書き込みの記録を保持し、上記バックアップ及び通常の読み取り作業のうち一方の実行時に前記記録に従って前記主領域と前記副領域のうち一方からデータを読み取るために上記記録に照会し、これによって上記バックアップ行程が、上記開始信号が発信される以前の状態にオリジナルデータを保持する手順、の各手順である。
【００１７】
好ましくは、前記記録は、第１のデータが保存されているデルタ領域と、前記第１のデータの実際位置と予定された位置とを関係づける割り付けリファレンスと、から成り立っている。二者択一的に、第２のデータは、前記デルタ領域で記録され、他のアプリケーションは、前記記憶装置の予定された位置への書き込みを続け得る。
【００１８】
上記デルタ領域は、好ましくは、例えばハードディスクのような、同じ記憶装置の違う領域である。本発明を実行するための追加の作業は、前記コンピュータシステムのオペレーティングシステムレベルで都合よく保存され、稼働される。
【００１９】
もし本発明の方法を実行するためのソフトウェアが、オペレーティングシステムレベルで保存されているなら、アプリケーションソフトウェアに影響を及ぼさないことは、利用者に明白である。
【００２０】
前記記録に関して、これは、上記前記第１データの記録と、前記記憶装置上のその予定された位置の記録と、その実際の位置の記録とを含み、そして、前記方法はさらに、前記予定された位置から前記第２データを獲得するという手順を含んでいる。
【００２１】
好ましくは、上記開始指令は、バックアップを始める前記バックアップアプリケーションプログラムに先駈けて発せられ、また好ましくは、前記停止指令は、上記バックアップが完了した後に発せられる。
【００２２】
このバックアップ記録は、様々な記憶手段に保存され得る、例えば、テープドライブ、光ディスク、あるいは、基本的記憶媒体の他の領域。一旦、バックアップが為されれば、それは従来な方法でリストアされるであろう。
【００２３】
本発明の第２の特徴点によれば、ランダムアクセスメモリ、中央演算処理装置、及び記憶手段を備えた、マイクロプロセッサベースのコンピュータシステム上で稼働するバックアップ行程にデータを供給する方法は、以下の各手順から成り立っている、すなわち、上記メモリ内に保持され上記中央演算処理装置へ上記中央演算処理装置をして、データを周期的に上記記憶手段の主領域へ書き込むという少なくと１回の通常の書き込み作業と、上記記憶手段からデータを読み取るという少なくとも１回の通常の読み取り作業とをさせる初期命令を与える手順と、前記バックアップ行程から開始信号を受領する手順と、上記開始信号を受領した後に、上記書き込み作業を中間捕捉し、上記書き込み作業によって上書きされる恐れのあるオリジナルデータを保持するために前記記憶手段の副領域にデータを書き込むという中間捕捉作業を実行し、前記副領域への上記書き込みの記録を保持し、上記バックアップ及び通常の読み取り作業のうち一方の実行時に前記記録に従って前記主領域と前記副領域のうち一方からデータを読み取るために上記記録に照会し、これにより前記バックアップ行程が、上記開始信号が発信される以前の状態にオリジナルデータを保持する手順と、の各手順である。
【００２４】
本発明の第３の特徴点によれば、ランダムアクセスメモリ、中央演算処理装置、及び記憶手段とを含むマイクロプロセッサベースのコンピュータシステムへの改良は、すなわち、開始信号及び停止信号を発信可能で、上記記憶手段からオリジナルデータを読み取るという少なくとも１回のバックアップ読み取り作業を実行可能なバックアップ行程を稼働させるための手段と、上記中央演算処理装置をして、データを周期的に上記記憶手段の主領域に書き込むという少なくとも１回の通常の書き込み作業と、上記記憶手段からデータを読み取るという少なくとも１回の通常の読み取り作業と、をさせる手段と、上記開始信号を受領するための手段と、上記開始信号を受領した後に、上記書き込み作業を中間捕捉するという中間捕捉作業を実行するため、上記書き込み作業によって上書きされる恐れのあるオリジナルデータを保持するために前記記憶手段の副領域にデータを書き込むため、前記副領域への上記書き込みの記録を保持するため、上記バックアップ及び通常の読み取り作業のうち一方の実行時に前記記録に従って前記主領域と前記副領域のうち一方からデータを読み取るために上記記録に照会し、これによって上記バックアップ行程が、上記開始信号が発信される以前の状態にオリジナルデータを保持するため、の手段と、から成り立っている。
【発明を実施するための最良の形態】
【００２５】
本発明を、図を参照した例示の方法で、以下に説明する。
本発明の好適実施例の説明
図１を参照すると、パーソナルコンピュータ１０は、典型的には、中央演算処理装置１２、ランダムアクセスメモリ１４、及びハードディスクドライブ１６の形態をとる不揮発性の記憶装置、から構成される。この例では、バックアップ記憶手段として、テープ装置１８が前記コンピュータ１０に接続されている。
【００２６】
本発明によれば、バックアッププログラムアプリケーション部は、前記ディスクドライブ１６とコンピュータの他の部分との間の流れを制御するために、前記ディスクドライブ１６からの通常の読み取り及びディスクドライブ１６への書き込みのそれぞれの作業を中間捕捉する記録行程として形成されている。
【００２７】
ファイルのバックアップコピーを始める前、前記記録行程は、前記バックアップアプリケーションによって全てのディスク書き込み動作をディスク１６の他の領域、いわゆる”デルタ領域”、にリダイレクトするよう稼働されている。デルタマッピングテーブルには、前記デルタ領域にリダイレクトされた、全てのディスク書き込み操作が保持されている。このテーブルは、各々のディスク書き込み作業に関連したデータの、前記ディスク１６上での予定された行き先と、前記デルタ領域での実際の記憶箇所との間のマッピング（対
応関係）を保持している。
【００２８】
既に前記テーブル中の記述項目の題材を有する領域に対して、次なる書き込み作業がもし発生したら、前記デルタ領域内の古いデータは、新たなデータによって上書きされるのが可能になる。この方法では、前記ディスクの主部上のデータは、バックアップコピーの最中は変更しない。なぜならば、全ての変更は前記デルタ領域に対してリダイレクトされているからである。
【００２９】
ディスク読み取り作業がバックアップアプリケーションから要求されるとき、それは変わりなく実行され、これにより、バックアップアプリケーションに戻るデータは、前記ディスクの主部上のオリジナル領域から来ることが可能となる。
【００３０】
しかしながら、ディスク読み取り作業が他のアプリケーションから要求されるとき、前記記録行程は、まず、その行程が書き込み作業を中間補足し始めて以後その領域に対するディスク書き込みが発生したかどうかを把握するために前記テーブルの検査を実行するが、もし、そうならば、前記読み取り作業は前記デルタ領域内の、対応する位置にリダイレクトされる。もし何の書き込み作業も発生しなければ、すなわち、前記書き込み作業の中間補足が始まって以来、データのどこも変更されていなければ、前記読み取り作業は変わりなく実行される。
【００３１】
この方法により、前記ディスク１６に保存されたデータに対する変更は、バックアップアプリケーションばかりでなく、全てのアプリケーションによって、通常通り観察される。前記バックアップアプリケーションは、読み取り及び書き込み作業を中間補足する前記記録行程を停止させるという命令が発せられるまで変更しないデータを観察する。
【００３２】
前記バックアップコピー作業が完了するとき、前記記録行程はコンピュータを通常の動作に戻すように稼働される。この復元段階は、前記デルタ領域内に保持された前記変更を、前記テーブル中に保持された対応関係を利用しつつ前記ディスク１６の主部内の特有のオリジナルデータ領域に適用することにより完了する。デルタ変更が適用される間中、上述したようにディスク書き込み作業は中間捕捉され続ける。前記オリジナルデータ領域に適用されていたような書き込み作業がなくなるとき、書き込み作業の前記中間捕捉は停止され、前記システムは通常通り稼働する。
【００３３】
さらなる改良としては、もし記録が、前記バックアップコピー行程が進んだ範囲に維持されるならば、前記データが変わるかどうかはもはや問題ではないであろうから、前記ソフトウェアは、前記ディスクのその部分のバックアップが済んだ後に前記ディスク１６の主部への書き込み作業が変わりなく実行されるのを許容し得る。これにより前記デルタマッピングテーブルは小さくなる。また、もしその作業が指示された先の前記ディスクの主部上の領域が、既にテーブル中の記述項目の題材であったなら、その記述項目は簡単に削除され、それにより、前記復旧段階に掛かる時間が減縮されるだろう。
【００３４】
本発明は特にＩＢＭ互換のパーソナルコンピュータに、すなわち、Ｉｎｔｅｌ社製のプロセッサチップ型番８０８６、８０８８、８０２８６、８０３８６、８０４８６、及びＰｅｎｔｉｕｍ（登録商標）やその類似のマイクロプロセッサを基礎としたシステムを使用したパーソナルコンピュータの多数に、適用可能である。このようなコンピュータにおいては、プログラムがいつファイルにアクセスしようとしても、それは、ディスクにデータを書き込むという標準的なルーチンを呼び出す。
【００３５】
ＤＯＳオペレーティングシステムの場合、割込み２１ｈｅｘ（INT21h）として知られているこのルーチンは、前記オペレーティングシステムの必須の部分である。そのルーチン
により為される動作は、入口上のそのルーチンヘ伝わるパラメータに依存している。このルーチンは、図２Ａ中で、システムメモリマッピングテーブルにおけるオペレーティングシステム部分を形成するＩＮＴ２１ｈとして示され、ＩＮＴ２１ｈ入口点は矢印によって示されている。本発明に従ったより好ましい方法を実行するために、追加プログラムコードが、図２Ｂに示すようにインターフェースレベルで、前記オペレーティングシステムに追加される。これは、実際ＤＯＳ環境では、ＣＯＮＦＩＧ．ＳＹＳファイルを利用して、デバイスドライバとしてコンピュータにロードされる。
【００３６】
この追加のソフトウェアは、命令選択セットによって置き換えられるデータを書き込めという命令の効果を有する。同様の技術が、前記ディスクからデータを読み込めという命令を中間捕捉することと、また、これを命令選択セットと置き換えることと、に馴染むだろう。
【００３７】
関連する一連の操作が、図３のフローチャートに示されている。ＩＮＴ２１ｈの呼出指令を受けると、本プログラムは、まず、その呼出指令が書き込み呼出指令なのかどうかを確認する。もしそうならば、本プログラムは、書き込み呼出指令の中間捕捉が起こりうるかかどうか、ステップ２０において確認する。もしそうでなければ、データはオリジナルデータ領域２４に書き込まれる（ステップ２２）。
【００３８】
もし書き込み呼出指令が中間捕捉されていれば、事前に書き込みがオリジナルファイル２４の領域に対して為されているかどうかを、本プログラムは前記デルタマッピングテーブル（ステップ２６）で確認する。もし書き込みが事前に為されていたならば（ステップ２８）、予め、前記デルタマッピングテーブル内の前記オリジナルファイル２４のその部分に対してマッピングられた、デルタ領域３０のその部分が、新データに上書きされる（ステップ３２）。
【００３９】
もし書き込み呼出指令が中間捕捉されいて、かつ、予め書き込みが前記オリジナルファイル２４のその部分に対して為されていなければ、その書き込みは、前記テーブルに追加され、そして、前記デルタ領域の新たな領域が、その部分のデータに割り当てられる（ステップ３４）。その後前記データは、その新データ領域に書き込まれる（ステップ３６）。
【００４０】
もし前記呼出指令が読み取り呼出指令ならば、本プログラムはステップ３８において、読み取り呼出指令の中間捕捉があり得るか確認する。もしそうでなければ、データは前記オリジナルファイル２４から読み込まれる（ステップ４０）。
【００４１】
本プログラムが読み取り呼出指令を中間捕捉しているならば、それはまずステップ４２において、前記呼出指令がバックアップアプリケーションプログラムから来たのかどうか確認する。もし前記呼出指令が前記バックアップアプリケーションから来たのなら、本プログラムはステップ４０に行き、そして、データは前記オリジナルファイル２４から読み込まれる。
【００４２】
もし前記呼出指令が前記バックアップアプリケーションから来たのでないのなら、本プログラムは、前記読み取り呼出指令のそれに相当するオリジナルファイル２４の領域に対する書き込みが、前記デルタ領域に対してリダイレクトされているかどうかを、前記デルタマッピングテーブルで確認する（ステップ４４）。
【００４３】
もしそれがリダイレクトされていなかったら、本プログラムは、ステップ４０に戻り、そして、前記データは前記オリジナルファイル２４から読み込まれる。もし前記読み取りがリダイレクトされていたなら、前記データは前記デルタ領域３０の正規の部分から読み
込まれる（ステップ４８）。
【００４４】
本発明の第２実施例では、前記デルタ領域内で更新されたデータを保持する変わりに、読み取り及び書き込み作業が前記記録行程の際に中間捕捉されるときと、ファイルの特殊な領域への最初の書き込みが為されるときとに、前記オリジナルデータは前記デルタ領域内で保持され、かつ、前記オリジナルファイルは変更するのを許容される。前記デルタ領域内にその時点で保存されている前記オリジナルファイルのその領域の原内容を表示する前記マッピングテーブル中において、項目が設定される。その後に起きる、前記ファイルの同じ領域への何らかの書き込みは、前記記録行程によって無視される。そして、前記バックアップアプリケーションからの読み取り要求は、もし前記マッピングテーブルが、前記オリジナルファイルのその領域が上書きされていることを示しているのなら、前記デルタ領域にリダイレクトされる。
【００４５】
図４において、この第２実施例が、フローチャートで表現されている。このチャートは、同様の動作を表示する同じ参照番号を有するステップに関して、図３のそれと同様である。
【００４６】
この２つの図（３及び４）の相違点は、以下の如くである： ステップ６０において、もし読み取り中間捕捉が稼働中（ステップ３８）ならば、また、前記読み取りが前記バックアップアプリケーションからのものでなければ、前記データは前記オリジナルデータ領域から読み込まれる。このことは、前の実施例におけるステップ４２の裏返しである。
【００４７】
それが最初に上書きされる以前に、前記オリジナルデータ領域からデータを読み込んでいるステップ２８の後に、追加のステップ６２が挿入されている。
【００４８】
第１実施例のステップ３６は、ステップ６２で読み込まれたデータの前記デルタ領域への追加の書き込みを組み込んだ、新たなステップ６４になるように変更されている。
【００４９】
ステップ３２は、前記デルタ領域へデータをもはやリダイレクトしないで、代わりにオリジナルデータ領域にデータを書き込む、新たなステップ６６になるように変更されている。
【００５０】
この第２の方法は、第１のものよりもゆっくりしているが、というのは、各々のファイル書き込み要求が、第１の方法の、１回のリダイレクトの書き込みとは対照的に、１回の読み取りと２回の書き込みになっているからである。
【００５１】
しかしながら、この第２の方法は、一旦バックアップが完了した後、オリジナルファイルに適用されるべきであって、前記デルタ領域に保持されている変更、を要求しない。前記デルタマッピングテーブルと、前記デルタ領域内に保持された前記データとは、簡単に破棄可能である。加えてこの相違点ゆえに、データの供給は、デルタ変更が前記オリジナルデータに十分に適用されていないときに発生する破滅的状況（電力断絶のような）から復元する必要がない。
【００５２】
上述の方法がバックアップアプリケーションを形成している例では、読み取り作業の前記中間捕捉は前記バックアップアプリケーションにおいて発生可能であり、オペレーティングシステムルーチンの使用の必要が生じない。
【００５３】
前記コンピュータ環境が、バックアップの実行を希望する特定の利用者を本人であると確認するとき、前記方法はまた、前記利用者を認識するという、そして、ただその利用者のファイルを上述の方法でバックアップするだけという手順をも含んでいる。これにより
、全てのデータ処理を中間捕捉する必要はなく、ただ、その利用者に関係するものだけでよくなる。
【図面の簡単な説明】
【００５４】
【図１】図１は、パーソナルコンピュータとカートリッジテープドライブとのブロック図である。
【図２】図２Ａ及び２Ｂは、それぞれ、一般的なパーソナルコンピュータの、及び本発明における方法に従って操作するコンピュータの、オペレーティングシステムレベルでのシステムメモリマップのブロック図である。
【図３】図３は、バックアップ作業においてデータを記録する方法のフローチャートである。
【図４】図４は、図３の方法の第２の実施例のフローチャートである。
【図１】
2006127546.tif 000003
【図２】
2006127546.tif 000004
【図３】
2006127546.tif 000005
【図４】
2006127546.tif 000006