JP2006277563A - ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム - Google Patents

ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム Download PDF

Info

Publication number
JP2006277563A
JP2006277563A JP2005098584A JP2005098584A JP2006277563A JP 2006277563 A JP2006277563 A JP 2006277563A JP 2005098584 A JP2005098584 A JP 2005098584A JP 2005098584 A JP2005098584 A JP 2005098584A JP 2006277563 A JP2006277563 A JP 2006277563A
Authority
JP
Japan
Prior art keywords
file
time
date
backup
backup file
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
JP2005098584A
Other languages
English (en)
Inventor
Hiroshi Kurahashi
宏 倉橋
Shu Nakajima
周 中島
Hiroo Sakaki
洋生 坂木
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.)
IBM Japan Ltd
Original Assignee
IBM Japan 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 IBM Japan Ltd filed Critical IBM Japan Ltd
Priority to JP2005098584A priority Critical patent/JP2006277563A/ja
Publication of JP2006277563A publication Critical patent/JP2006277563A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】記憶装置への負荷を軽減させ、かつファイルを指定日時のバージョンに簡単に復帰させる。
【解決手段】設定された時間間隔ごとにバックアップ・ファイルを生成し第1記憶装置10bに記憶するバックアップ・ファイル生成部21と、ファイルが変更されたことに応答して、差分データとして第2記憶装置10cに記憶する差分データ取得部22と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、第1記憶装置10b内より読み出すバックアップ・ファイル検索部23と、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の差分データを、第2記憶装置10c内より読み出す差分データ検索部24と、バックアップ・ファイルに、日時順に、差分データに含まれる変更内容を反映することにより、ファイルの指定された日時におけるバージョンを生成するバージョン生成部25とを含む。
【選択図】図2

Description

本発明は、ファイルをユーザが指定する日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法およびコンピュータに該方法を実行させるためのプログラムに関する。
重要なファイルに書き込みを行っている際、フリーズしたり、バグを生じたりして、リブートしなければならなくなった場合、これまでに行った作業を取り戻すことができない。また、そのファイル自体が壊れてしまった場合、再度作成しなければならない。しかしながら、そのファイルをバックアップしておけば、現在の時刻に最も近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、復元を容易にすることができる。ユーザが書き込みを行い、ファイルを更新したものの、その書き込みが誤りであることに気づき、ある日時のファイルのバージョンに戻したいことがある。この場合も、適宜バックアップを行っておけば、その日時に近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、その日時のバージョンに復帰させることができる。
ファイルを前の状態に戻して、前のバージョンに復帰させる場合、ワードプロセッサやプレゼンテーション・ソフトウェアなどのアプリケーションがもつ「元に戻す(UNDO)」という機能を使用して、前の状態に戻すことができる。この機能は、アプリケーションの使用中、何らかの誤操作をしたときに、その操作を無効にして操作前の状態に戻すために使用されている。アプリケーションによっては、自動バックアップ・システムを備えるものがある。この自動バックアップ・システムでは、予め設定された時間間隔でコンピュータが自動的にファイルのコピーを生成し、ハードディスクなどの記憶装置に記憶させることにより、バックアップを行っている。複数のファイルを同時に扱うプロジェクトにおいて、それら複数のファイルをバックアップする場合や、コンピュータのハードディスク内のすべてのファイルのバックアップを行う場合などのように、複数のファイルをバックアップする必要がある場合には、専用のバックアップ・ソフトウェアが使用されている。この専用のバックアップ・ソフトウェアでは、個別のファイルの更新情報を随時取得するのではなく、バックアップを行った時点の内容を記憶させている。あるバックアップ・アプリケーションでは、最短15分単位で、ファイル全体をコピーし、ハードディスクなどの記憶装置に記憶させている。
上記のUNDO機能では、ある程度前の状態に戻すことができるものの、時刻と関連付けられていないため、ユーザが指定した日時のバージョンに戻すことはできない。また、1つのファイルを前の状態に戻すのみであるため、複数のファイルを、同期をとって同一日時のバージョンに復帰させることはできない。専用のバックアップ・ソフトウェアでは、バックアップを行った日時のバージョンに復帰させることはできるものの、それ以外の日時のバージョンに復帰させることはできない。例えば、1つ前に行ったバックアップと、今回行うバックアップとの間に、2以上の書き込みがあった場合、1つの書き込みがあった後のバージョンは生成されないため、その1つの書き込みがあった後の日時のバージョンに復帰させることはできない。また、複数のファイルの各々について、同じ時刻に同時にバックアップを行ったとしても、ファイル・サイズの差によって、バックアップ・ファイルを生成し、記憶されるまでに時間差を生じ、同一日時に揃えることはできない。また、専用のバックアップ・ソフトウェアでは、バックアップを行うごとにファイル全体をコピーして記憶させるため、膨大なデータ量となり、大容量の記憶装置が必要となる。さらに、最短15分という制約があるため、15分前のバージョンにしか復帰させることができない。
専用のバックアップ・アプリケーションには、現在のファイルと、1つ前のファイルを比較し、書き込みなどで追加されたデータのみの差分データを生成し、その差分データを記憶装置に記憶させるものがある。このアプリケーションでは、ファイル全体のコピーを記憶させるのではなく、ファイル全体のファイル・サイズに比較して小さいサイズの差分データを生成して記憶させるため、記憶装置に記憶させるデータ量を低減し、記憶装置への負荷を低減させている。しかしながら、このアプリケーションは、ユーザからの書き込みに応答して、オペレーティング・システム(以下、OSという。)がファイルにアクセスすることを監視しないため、スケジュールした時間間隔で、現在のバージョンと、その前のバージョンとを全体比較して差分データを抽出するのみである。このように、更新情報を随時取得するものではないため、このアプリケーションにおいても、バックアップを行った日時以外のバージョンには復帰させることができない。また、このアプリケーションは、スケジュールできる時間間隔が最短10分程度という制約があり、10分前のバージョンにしか復帰させることができない。
そこで、OSが特定ファイルへアクセスするのを監視し、任意の時刻におけるバージョンに復帰させる方法が提案されている(特許文献1参照)。この方法では、OSが特定ファイルへアクセスするのを監視し、行われた書き込み操作情報を記憶する。書き込み操作情報は、ファイル内の位置、書き込むデータである。したがって、記憶させるデータ量を少なくすることができ、記憶装置への負荷を軽減できるとともに、任意の時刻におけるバージョンに復帰させることができる。しかしながら、この方法は、ファイルを任意の時刻に復帰させることができるものの、復帰させる場合、「元に戻す(UNDO)」操作をし、指定する時刻まで遡らなければならない。このため、記憶した書き込み操作情報からUNDO操作の内容を生成しなければならない。ファイルの一手段分を消去した場合、書き込み操作からUNDO操作に必要な情報を取得することは単純な処理ではなく、また、頻繁に更新する大量のUNDO操作を順に実行しなければならず、簡単に所定日時のバージョンに復帰させることができない。
1つのプロジェクトにおいて、互いに密接に関連する複数のファイルを複数のユーザが扱う場合、それらの複数のファイルを同じ時刻のバージョンに復帰させ、その時刻から書き込みをやり直したいというニーズがある。また、個人で複数のファイルを扱っており、それら複数のファイルを同じ時刻のバージョンに復帰させたいといったニーズや、複数のユーザがネットワークを介してそのネットワークに接続されるデータベース内の複数のファイルをアクセスし、ファイルを更新するために書き込み操作を行う場合、データベース内のそれら複数のファイルを同じ時刻のバージョンに復帰させたいといったニーズ、1つのファイルを、特定の時刻のバージョンに復帰させ、その時刻のバージョンからやり直したいといったニーズなどがある。従来の専用のバックアップ・アプリケーションでは、1つのファイルを任意の時刻のバージョンに復帰させることができるものの、操作が複雑であり、また、複数のファイルを同一日時のバージョンに復帰させることはできないといった問題があった。ユーザ・コンピュータやサーバ、別途設置される記憶装置には、データを記憶できる容量に制限があるため、記憶装置への負荷を軽減することができ、また、複雑な処理を要することなく、ファイルを、ユーザが指定する日時のバージョンに簡単に復帰させることができるシステムや方法の提供が望まれている。
特開2001−109550号公報
本発明は、記憶装置への負荷を軽減させ、かつファイルを指定日時のバージョンに簡単に復帰させることができるバックアップ・システム、バックアップ方法およびコンピュータにバックアップを実行させるためのプログラムを提供することを目的とする。
本発明らが鋭意検討した結果、定期的にファイル全体のコピーを生成してバックアップ・ファイルとして記憶させ、その間は書き込みや削除などによる変更分のみを差分データとして記憶させることで、記憶装置への負荷を軽減させることができ、記憶させる際、日時を関連付けて記憶させ、ユーザによる日時の指定を受けて、日時を基に、指定された日時の直前のバックアップ・ファイルを検索して読み出し、そのバックアップ・ファイルに関連付けられた日時と指定日時との間の日時を有する差分データを検索して読み出し、そのバックアップ・ファイルの内容に、差分データを反映することで、簡単に指定時刻におけるバージョンに復帰させることができることを見出した。上記課題は、本発明のバックアップ・システム、方法およびコンピュータにバックアップを実行させるためのプログラムを提供することにより解決される。
すなわち、本発明のバックアップ・システムは、ファイルに対して設定された時間間隔ごとにバックアップ・ファイルを生成し、当該バックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶するバックアップ・ファイル生成部と、上記ファイルが変更されることに応答して、変更内容を当該変更が行われた日時と関連付け、差分データとして第2記憶装置に記憶する差分データ取得部と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、上記バックアップ・ファイルに関連付けられた日時に基づいて上記第1記憶装置内を検索し、該第1記憶装置から読み出すバックアップ・ファイル検索部と、読み出したバックアップ・ファイルに関連付けられた日時と上記指定された日時との間の日時を有する差分データを、上記変更内容に関連付けられた日時に基づいて上記第2記憶装置内を検索し、該第2記憶装置から読み出す差分データ検索部と、読み出したバックアップ・ファイルに、日時順に、読み出した差分データに含まれる変更内容を反映することにより、上記ファイルの上記指定された日時におけるバージョンを生成するバージョン生成部とを含む。
ここで、第1記憶装置および第2記憶装置は、同じものであっても、別個のものであってもよい。また、第1記憶装置および第2記憶装置は、ユーザが使用するコンピュータ内にあるハードディスク、別途設置される外付けハードディスク、フレキシブルディスク、MD(mini disc)、CD(compact disc)、DVD(digital video disk)、メモリカード、メモリスティック、サーバ内にあるハードディスク、その他記憶装置とすることができる。第1記憶装置および第2記憶装置は、ネットワークに個別に接続されていてもよく、ユーザは、ネットワークに接続されたコンピュータを使用して、ネットワークを介してファイルを読み出し、内容を変更することができる。
本発明によれば、ユーザが指定したファイルのみをバックアップ対象とするため、ユーザからのファイルの指定に応答して、指定されたファイルを、バックアップ・ファイルを生成すべきバックアップ対象のファイルとしてグループ化するグループ化部をさらに含むことができる。
また、本発明によれば、ファイル更新の頻度に応じてバックアップ作業を行う時間間隔を変更し、バックアップ作業の効率化を図るため、ファイルへの変更頻度を計測する頻度計測部と、頻度が閾値を超えるか否かを判定する頻度判定部と、頻度が閾値を超えると判定された場合に、バックアップ・ファイルを生成する時間間隔を変更する時間間隔変更部とを含むことができる。
なお、閾値の上限のみならず、下限も設定するため、頻度判定部は、頻度が第2閾値を超えるか否かを判定する第2頻度判定部をさらに含むことができ、時間間隔変更部は、頻度が閾値を超えると判定した場合に、時間間隔を短縮させる時間短縮部と、頻度が第2閾値を超えないと判定した場合に、時間間隔を延長させる時間延長部を含むことができる。
また、本発明によれば、バックアップ・ファイルを検索し、読み出す効率を向上させるために、バックアップ・ファイル生成部は、生成したバックアップ・ファイルに対応するファイルを識別するためのファイル識別子と、バックアップ・ファイルが記憶される第1記憶装置内のバックアップ・ファイル・アドレスと、バックアップ・ファイルを生成した日時とを含むバックアップ・ファイル・アドレス情報を記憶することが好ましい。この場合、バックアップ・ファイル検索部は、指定された日時の直前のバックアップ・ファイルを、バックアップ・ファイル・アドレス情報に含まれるファイル識別子と日時とに基づいて検索し、バックアップ・ファイル・アドレスに基づいて読み出すことができる。
また、差分データ取得部は、差分データに対応するファイルを識別するためのファイル識別子と、差分データが記憶される第2記憶装置内の差分データ・アドレスと、ファイルが変更された日時とを含む差分データ・アドレス情報を記憶することが好ましい。こうすることにより、差分データ検索部は、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、差分データ・アドレス情報に含まれるファイル識別子と日時とに基づいて検索し、差分データ・アドレスに基づいて読み出すことができる。
本発明によれば、複数のファイルを同一日時のバージョンに復帰させることもでき、この場合、バックアップ・ファイル生成部は、複数のファイルの各々に対して設定された時間間隔ごとに、複数のファイルの各々に対し、バックアップ・ファイルを各々生成し、差分データ取得部は、各ファイルが変更されることに応答して、各ファイルに対応する差分データを取得して記憶し、バックアップ・ファイル検索部は、各ファイルに対応する各バックアップ・ファイルを読み出し、差分データ検索部は、各ファイルに対応する各差分データを読み出し、バージョン生成部は、各ファイルに対応する指定された日時におけるバージョンをそれぞれ生成する。
本発明によれば、ネットワークに接続される複数のコンピュータとサーバとを含むネットワーク環境において実施することができ、この場合、本発明のバックアップ・システムは、サーバに含まれ、バックアップ・ファイル生成部が、複数のファイルの各々に対して設定された時間間隔で、各ファイルに対する各バックアップ・ファイルを生成し、差分データ取得部が、複数のコンピュータの各々による各ファイルの変更を検出し、各コンピュータから各変更内容を受信し、差分データとして記憶し、バックアップ・ファイル検索部が、複数のコンピュータのいずれかから送信される日時を指定する情報を受信し、各ファイルに対応する各バックアップ・ファイルを読み出すことができる。
ユーザが指定した日時のバージョンに復帰させるためのシステムとして構成する場合、指定日時のバージョンに復帰させるためのバックアップ方法を実行させるプログラムと、そのプログラムを実行するプロセッサとして構成し、該プロセッサを、上記各部として機能させることができる。
本発明では、上記システムのほか、ファイルをユーザが指定した日時のバージョンに復帰させるためにコンピュータに実行させるバックアップ方法を提供する。また、本発明では、上記方法をコンピュータに実行させるためのプログラムとして構成することができ、このプログラムは、コンピュータやサーバに設けられるハードディスクといった記録媒体、フレキシブルディスク、CD−ROM、MDや外付けハードディスクといった記録媒体に格納することができる。
本発明のバックアップ・システム、バックアップ方法およびプログラムを提供することにより、ファイルを指定日時のバージョンに簡単に復帰させることが可能となる。また、複数のファイルを同一日時のバージョンに復帰させることも可能となる。さらに、記憶装置への負荷も軽減することができ、バックアップ効率を向上させることができる。
以下、本発明を図面に示した具体的な実施の形態に沿って説明するが、本発明は、後述する実施の形態に限定されるものではない。本発明のバックアップ・システムについて説明する前に、本発明のバックアップ・システムが組み込まれるコンピュータ・システムを説明する。
図1は、本発明のバックアップ・システムを組み込んだコンピュータ・システムの実施例を示した図である。図1には、複数のコンピュータ10がネットワーク11に接続され、ネットワーク11にはサーバ12や記憶装置13が接続されている。これら複数のコンピュータ10やサーバ12には、ワードプロセッサ、プレゼンテーション・ソフトウェア、表計算ソフトウェアなどの複数のアプリケーション、ファイルの管理、メモリの管理、入出力の管理、ユーザーインターフェースの提供を行うOSなどが記憶されており、起動することによって読み出され、実行される。ユーザは、個々のコンピュータ10を使用し、OSおよびアプリケーションを起動させ、コンピュータ10内のハードディスクやメモリなどの記憶装置10aからファイルを読み出し、書き込みまたは削除を行うなどしてファイルを更新する。また、ユーザは、ネットワーク11に接続された他のコンピュータ10、サーバ12、記憶装置13に、ネットワーク11を介してアクセスすることができ、それらに記憶される複数のファイルを読み出し、書き込みまたは削除するなどしてファイル内容を変更し、ファイルを更新する。バックアップ・ファイルは、ファイルと同じ記憶装置に記憶することもできるが、ファイルを記憶する記憶装置が故障などした場合にバックアップ・ファイルが使用できるように、ファイルを記憶する記憶装置とは別の記憶装置に記憶されるのが好ましい。また、バックアップ・ファイルは、本発明のバックアップ・システムにより、ユーザにより設定された時間間隔ごと、または、デフォルトの時間間隔ごとに生成される。以下、ファイル内容の変更を、書き込みによるものとして説明する。
本発明のバックアップ・システムは、後述する各部として構成され、コンピュータ10内またはサーバ12内に含まれる。コンピュータ10内に含まれる場合、バックアップ・システムは、予め設定された時間間隔で、バックアップ・ファイルを生成して、コンピュータ10に接続される記憶装置10bに記憶し、この間に、ユーザによる書き込みがあった場合、これを検知し、変更内容となる書き込みデータを取得し、記憶装置10cに記憶する。ユーザが、ある日時のバージョンに復帰させるため、入力手段を使用して入力し、日時を指定すると、バックアップ・システムは、それに応答して、その指定日時の直前のバックアップ・ファイルを記憶装置10bから読み出し、そのバックアップ・ファイルが生成された日時と指定日時との間の書き込みデータを記憶装置10cから読み出し、書き込みデータを反映し、復帰させるべきバージョンを生成する。ここでは、記憶装置10a、10b、10cを別個のものとして示しているが、これらは同じものでも、記憶装置10b、10cが同じで、記憶装置10aとは異なるものであってもよい。すべてが同じものの場合、記憶装置は、コンピュータ10内のハードディスクとすることができ、記憶装置10aと、記憶装置10b、10cとが異なる場合、記憶装置10aをハードディスクとし、記憶装置10b、10cを外付けハードディスク、フレキシブル・ディスク、MD、CDなどとすることができる。
サーバ12内に含まれる場合には、個々のコンピュータ10に含まれる必要はなく、上記と同様、予め設定された時間間隔で生成されるバックアップ・ファイルを、例えば、ネットワーク11に接続される記憶装置13に記憶し、その間にコンピュータ10において書き込みがあった場合、ネットワーク11を介してこれを検出し、ネットワーク11を介して書き込みデータを取得し、記憶装置13に記憶させる。ユーザが、ある日時のバージョンに復帰させるため、コンピュータ10に日時を入力し、日時を指定すると、サーバ12は、ネットワーク11を介して日時が指定されたことを検出し、その指定日時の直前に生成されたバックアップ・ファイルを記憶装置13から読み出し、そのバックアップ・ファイルが生成された日時と指定日時との間の書き込みデータを読み出し、書き込みデータを反映し、復帰させるべきバージョンを生成する。生成されたバージョンは、ネットワーク11を介してコンピュータ10に送信することもできるし、記憶装置13に記憶し、コンピュータ10からの読み出し要求に応答して、サーバ12が記憶装置13から読み出し、コンピュータ10に送信することもできる。
図2に、本発明のバックアップ・システムの詳細を示す。本発明のバックアップ・システム20は、ファイルに対して設定された時間間隔ごとに、バックアップ・ファイルを生成し、そのバックアップ・ファイルを生成した日時と関連付けて第1記憶装置10bに記憶するバックアップ・ファイル生成部21と、ユーザからのファイルへの書き込みに応答して、書き込みデータを、書き込みが行われた日時と関連付け、差分データとして第2記憶装置10cに記憶する差分データ取得部22と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、第1記憶装置10b内を検索して読み出すバックアップ・ファイル検索部23と、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、第2記憶装置10c内を検索して読み出す差分データ検索部24と、読み出したバックアップ・ファイルに、日時順に、読み出した差分データに含まれる書き込みデータを反映することにより、ファイルの指定された日時におけるバージョンを生成するバージョン生成部25を含んで構成される。第1記憶装置10bおよび第2記憶装置10cは、同じものであってもよいが、ここでは異なるものとして説明する。
各部について以下に詳述する。バックアップ・ファイル生成部21は、ファイルに対して、例えば、ユーザが予め設定した時間間隔ごとにバックアップ・ファイルを生成する。具体的には、設定した時間間隔ごとに、第1記憶装置10bおよび第2記憶装置10cとは別に設けられる記憶装置10aからファイルを読み出し、そのファイルのコピーを生成することにより、バックアップ・ファイルを生成する。また、バックアップ・ファイル生成部21は、生成したバックアップ・ファイルを、そのバックアップ・ファイルを生成した日時と関連付け、第1記憶装置10bに記憶する。このデータ構造については後述する。なお、OS27は、ファイルを管理するものであり、ファイルの読み出し、書き込み、記憶は、OS27を介して行われる。
差分データ取得部22は、ユーザが入力手段26を使用して、記憶装置10aからファイルを読み出し、書き込みを行ったことを検出し、その書き込みデータを取得する。入力手段26は、書き込みといったイベントを生じさせ、OS27がそれを検出する。OS27は、記憶装置10a内に格納されているファイルへアクセスし、書き込み命令を実行し、書き込み位置、サイズ、データをファイルに適用し、ファイル更新する。差分データ取得部22は、常時、OS27によるファイルへのアクセスを監視し、アクセスがあった場合、これを検出して、OS27から、書き込み位置、サイズ、書き込みデータ、書き込みが行われた日時を取得する。差分データ取得部22は、書き込みデータに、取得した日時を関連付け、これを差分データとして、第2記憶装置10cに記憶する。この差分データ取得部22は、このデータ構造についても後述する。
バックアップ・ファイル検索部23は、ユーザが復帰させるバージョンの日時を指定したことに応答して、対象となるバックアップ・ファイルを検索する。検索すべきバックアップ・ファイルは、指定された日時の直前に生成されたバックアップ・ファイルである。バックアップ・ファイル検索部23は、第1記憶装置10bに記憶されるバックアップ・ファイルに関連付けられた日時を指定された日時と比較し、指定された日時より前で、かつ指定された日時に最も近い日時が関連付けられたバックアップ・ファイルを検索し、読み出す。
差分データ検索部24は、対象となる差分データを検索する。検索すべき差分データは、バックアップ・ファイル検索部23によって読み出されたバックアップ・ファイルに関連付けられた日時と、指定された日時との間の日時を有する差分データである。差分データ検索部24は、第2記憶装置10cに記憶される差分データに含まれる日時が、上記間に入るか否かを判断し、その間に入る差分データを検索して読み出す。読み出された差分データが2以上ある場合には、日時順に配列される。
バージョン生成部25は、読み出されたバックアップ・ファイルに、日時順に配列された差分データを反映する。具体的には、書き込み命令を実行し、差分データに含まれる書き込みデータを、書き込み位置として与えられるデータを基に、バックアップ・ファイルの所定位置に書き込み、そのファイルの指定された日時におけるバージョンを生成する。
図2に示すバックアップ・システム20は、1つのファイルを指定した日時のバージョンに復帰させるだけではなく、複数のファイルを同一日時のバージョンに復帰させることもできる。複数のファイルを同一日時のバージョンに復帰させる場合、バックアップ・ファイル生成部21は、複数のファイルの各々に対して設定された時間間隔ごとに、複数のファイルの各々に対し、バックアップ・ファイルを各々生成することができ、第1記憶装置10bに記憶することができる。差分データ取得部22は、各ファイルへの書き込みに応答して、各ファイルに対応する差分データを第2記憶装置10cに記憶することができる。また、バックアップ・ファイル検索部23は、各ファイルに対応する各バックアップ・ファイルを読み出すことができ、差分データ検索部24は、各ファイルに対応する各差分データを読み出すことができる。バージョン生成部25は、各ファイルに対応する指定された日時におけるバージョンをそれぞれ生成することができる。
また、図2に示すバックアップ・システム20は、図1に示すサーバ12内に格納することができ、このサーバ12と複数のコンピュータ10とがネットワーク11に接続され、複数のコンピュータ10により複数のファイルを更新し、サーバ12によりバックアップ作業を行うことができる。この場合、差分データ取得部22は、複数のコンピュータ10の各々による各ファイルへの書き込みを、ネットワーク11を介して検出し、各ユーザ・コンピュータ10から各書き込みデータを、ネットワーク11を介して受信し、差分データとして記憶装置13に記憶し、バックアップ・ファイル検索部23は、複数のユーザ・コンピュータ10のいずれかから送信される日時を指定する情報を受信し、各ファイルに対応する各バックアップ・ファイルを記憶装置13から読み出すことができる。
図3は、本発明のバックアップ・システムの別の実施形態を示した図である。図3に示すバックアップ・システムに含まれるバックアップ・ファイル生成部21、差分データ取得部22、バックアップ・ファイル検索部23、差分データ検索部24、バージョン生成部25は、図2に示すものと同様であるため、ここでは省略する。図3に示すシステム30では、さらに、ユーザが指定したファイルのみをバックアップ対象とするため、ユーザからのファイルの指定に応答して、指定されたファイルを、バックアップ・ファイルを生成すべきバックアップ対象のファイルとしてグループ化するグループ化部31を含んでいる。グループ化は、ウィンドウやアイコンなどを画像として表示するグラフィカル・ユーザ・インタフェース(GUI)を用いる場合、本発明のシステムによって管理されるフォルダ32を表示装置33上に生成しておき、そのフォルダ32に、バックアップ対象にするファイル34を、ユーザがマウスなどのポインティング・デバイス35を使用してドラッグ・アンド・ドロップすることで、1群のグループにグループ化させることができる。グループ化されたファイルは、グループ化されていないファイルと区別するため、例えば、ファイル識別子が割り当てられる。ファイル識別子は、グループ化された各ファイルを識別することができるものであれば、数字、記号、文字、これらを組み合わせたものとすることができ、いかなる桁、文字数であってもよい。このファイル識別子は、以下に説明するファイル識別子と同じものであっても、異なるものであってもよい。本発明では、記憶装置10b、10cの記憶容量に制限があることから、バックアップ対象にするファイルをユーザが指定し、バックアップ対象となるファイル数を少なくするほうが好ましい。
図3では、さらに、書き込み頻度に応じてバックアップ作業を行う時間間隔を変更し、バックアップ作業の効率化を図るため、ファイルへの書き込み頻度を計測する頻度計測部36と、頻度が閾値を超えるか否かを判定する頻度判定部37と、頻度が閾値を超えると判定された場合に、バックアップ・ファイルを生成する時間間隔を変更する時間間隔変更部38とを含んだ構成とされている。このように、書き込み頻度の多いものに対して、時間間隔を短く変更することにより、その間の書き込み回数を減少させ、日時が指定された際の、その日時におけるバージョンの生成において、バックアップ・ファイルに反映する書き込みデータを減少させて、バックアップ作業の効率化を図ることができる。頻度計測部36は、カウンタとすることができ、このカウンタは、ハードウェアとすることもできるし、ソフトウェアで、例えば、8ビットデータとし、1回では、「00000001」、2回では、「00000010」というように、書き込みを検出するごとにカウントさせることができる。このカウンタは、バックアップ・ファイルが生成されてから、次に、バックアップ・ファイルが生成されるまでのファイル更新回数をカウントする。したがって、この間のカウントが終了した後は、カウンタを0にし、新たにカウントを開始する。なお、カウンタは、OSがファイルへのアクセスを行ったことに応答して、カウントすることができる。
また、閾値の下限を設定するため、頻度判定部37は、頻度が第2閾値を超えるか否かを判定する第2頻度判定部37aを含むことができ、時間間隔変更部38は、頻度が閾値を超えると判定された場合に、時間間隔を短縮させる時間短縮部38aと、頻度が第2閾値を超えないと判定された場合に、時間間隔を延長させる時間延長部38bとを含む構成とされている。この構成により、ユーザによる書き込み頻度の多いファイルに対しては、時間間隔を短く、頻度の少ないファイルに対しては、時間間隔を長くして、記憶装置への負荷を軽減させることができる。
例えば、ファイルAについて、バックアップ・ファイルを生成する時間間隔を10分で設定し、閾値を10と設定しておき、ユーザがこの10分間にファイルAの更新を11回行ったとする。頻度計測部36は、更新回数を計測して11回という情報を取得する。頻度判定部37は、この更新回数11回を閾値10と比較し、閾値を超えると判断する。時間間隔変更部38は、これまで時間間隔10分と設定していたものを、例えば9分に設定する。時間間隔変更部38によって9分に設定されると、それ以降、バックアップ・ファイル生成部21は、9分ごとにファイルAについてバックアップ・ファイルを生成する。
本発明では、さらに、ユーザの選択により、選択されたファイルのみをユーザ指定日時におけるバージョンに復帰させる選択部39を設けることができる。この選択部39は、ユーザが日時を指定するとともに、ファイルを指定することを受けて、指定されたファイルをグループ化し、そのグループ化されたファイルのみを検索するように、上記バックアップ・ファイル検索部23および差分データ検索部24に指示する。選択部39は、例えば、復帰ファイル識別子を割り当て、バックアップ・ファイル検索部23および差分データ検索部24に、その割り当てられたファイルのバックアップ・ファイルおよび差分データのみを検索させることができる。この選択部39は、必要に応じて設けることができる。
ここで、図4に、バックアップ・ファイルのデータ構造および差分データの1つの実施例を示す。図4(a)に、バックアップ・ファイルのデータ構造を、図4(b)に、差分データのデータ構造をそれぞれ示す。図4(a)に示すデータ構造40は、バックアップ対象となっているファイルのファイル名41と、バックアップ・ファイル・データ42と、バックアップ・ファイルを生成した日時43とから構成される。ファイル名41は、ネットワークを介してアクセスするファイルの場合、URL(Uniform Resource Locator)とすることができ、図4(a)では、www.abc.com/finance/data/2004/01.datとされている。ここで、www.abc.comは、マシン名であり、それ以降がマシン内のファイル名を示している。このファイル名は、データ長が変更可能であることから、可変長データとされている。また、バックアップ・ファイル・データのデータ長も変更可能であることから、可変長データとされている。しかしながら、日時に関しては、一定のデータ長であることから、固定長データとされている。
図4(b)に示すデータ構造44は、ファイル名45と、ファイルに書き込まれたデータの位置を示す書き込み位置46と、書き込まれたデータのサイズ47と、書き込まれたデータ48と、書き込まれた日時49とから構成される。上記と同様、ファイル名45、データ48は、可変長データであり、その他の位置46、サイズ47、日時49は、固定長データである。位置46は、データ48を、バックアップ・ファイルのどの位置に書き込むかを示す。位置46は、例えば、先頭からのバイト数などで示すことができる。
図5は、バックアップ作業を効率化するために、データ構造を、バックアップ・ファイル・データおよび書き込みデータを指し示すバックアップ・ファイルのデータ・レコードおよびファイル更新情報のデータ・レコードとして示した図である。図5(a)に、バックアップ・ファイルのデータ・レコードを、図5(b)に、ファイル更新情報のデータ・レコードをそれぞれ示す。図5(a)に示すデータ・レコード50は、ファイルを識別するためのファイル識別子51と、バックアップ・ファイル・データが存在するバックアップ・ファイル・アドレス52と、バックアップ・ファイルを生成した日時53とから構成される。ファイル識別子51は、ファイル名と関連付けられ、対応表データとして第1記憶装置および第2記憶装置に別途格納される。ファイル識別子51、バックアップ・ファイル・アドレス52、日時53はすべて、固定長データである。これらを含むデータ・レコードは、固定長となり、記憶装置内の記憶領域に規則正しく配列して記憶することができ、この結果、検索および読み出しが容易となるため、処理時間を短くすることができる。
図5(b)に示すデータ・レコード54は、ファイル識別子55と、ファイルに書き込まれたデータの位置を示す書き込み位置56と、書き込まれたデータのサイズ57と、書き込まれたデータ58と、書き込まれた日時59とから構成される。このデータ・レコード54は、すべてのデータが、固定長データであることから、固定長データ・レコードとなる。このため、このデータ・レコード54を適用することで、処理時間を短くすることができる。
データ・レコード54の場合、図2および図3に示すバックアップ・ファイル生成部21は、生成されたバックアップ・ファイルに、ファイルを識別するためのファイル識別子51を割り当て、データ・レコード50のバックアップ・ファイル・アドレス情報を生成し、このバックアップ・ファイル・アドレス情報を第1記憶装置に記憶し、バックアップ・ファイル検索部23は、バックアップ・ファイル・アドレス情報に含まれるファイル識別子51と日時53とに基づいて検索し、バックアップ・ファイル・アドレス52に基づいて目的のバックアップ・ファイルを読み出すことができる。
差分データ取得部22は、データ・レコード54の差分データ・アドレス情報となる書き込みデータ・アドレス情報を生成し、第2記憶装置に記憶し、差分データ検索部24は、読み出されたバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、書き込みデータ・アドレス情報に含まれるファイル識別子55と日時59とに基づいて検索し、書き込みデータ・アドレス58に基づいて読み出すことができる。
ここで、複数のファイルのバックアップ・ファイルおよび書き込みデータを記憶装置に記憶させるフローを、時刻とともに図6に示す。図6には、ファイルA、ファイルB、ファイルCといった3つのファイルのみが示され、異なる時間間隔で、各ファイルのバックアップ・ファイルが生成され、また、各ファイルへの書き込みが任意に行われているのが示されている。ファイルAは、ユーザによって時間間隔TAごとにバックアップ・ファイルを生成するように設定されている。本発明のバックアップ・システムは、ファイルAについて、バックアップ・ファイルA1を生成し、時間TA経過後、バックアップ・ファイルA2を生成する。本発明のバックアップ・システムは、これらのバックアップ・ファイルを、生成した日時と関連付けて第1記憶装置に記憶する。このファイルAは、この間、ユーザによって3度の書き込みが行われている。バックアップ・システムは、ユーザによって書き込まれたファイルAへの書き込みデータa1、a2、a3を取得し、書き込みデータa1、a2、a3のそれぞれを、書き込みが行われた日時と関連付けて第2記憶装置に記憶する。ファイルBも、ユーザによって設定されるが、ファイルAとは異なる時間間隔TBに設定されている。したがって、バックアップ・ファイルB1を生成する日時も、バックアップ・ファイルA1を生成する日時とは異なる日時となっている。バックアップ・システムは、ファイルBについて、バックアップ・ファイルB1を生成し、時間TBの経過後、バックアップ・ファイルB2を生成する。バックアップ・システムは、生成したバックアップ・ファイルを、生成した日時と関連付けて第1記憶装置に記憶する。ファイルBは、この間、ユーザによって2度の書き込みが行われており、バックアップ・システムは、ファイルBへの書き込みデータb1、b2を取得し、書き込みが行われた日時を関連付けて第2記憶装置に記憶する。
ファイルCもファイルAやファイルBと同様に、ユーザによって設定されるが、ファイルAやファイルBとは異なる時間間隔TCに設定されている。図6に示す実施の形態では、時間間隔TCが最も長くなっている。生成されたバックアップ・ファイルC1は、生成された日時が関連付けられて第1記憶装置に記憶される。ファイルCについても、ユーザによって、バックアップ・ファイルC1の生成前に1回、生成後に3回書き込みが行われており、バックアップ・システムは、ファイルCへの書き込みデータc1、c2、c3、c4を取得し、その書き込みが行われた日時を関連付けて第2記憶装置に記憶する。
例えば、各ファイルを、破線で示される日時tにおけるバージョンに復帰させる場合、バックアップ・システムは、日時tより前で、かつ日時tに最も近いそれぞれのバックアップ・ファイルを第1記憶装置から検索し、読み出す。ファイルAについてはバックアップ・ファイルA1で、ファイルBについてはバックアップ・ファイルB1で、ファイルCについてはバックアップ・ファイルC1となる。次に、それぞれのファイルについて読み出したバックアップ・ファイルに関連付けられた日時と、日時tとの間の日時を有する差分データを、第2記憶装置を検索して読み出す。ファイルAについては書き込みデータa1を含む差分データ、書き込みデータa2を含む差分データで、ファイルBについては書き込みデータb1を含む差分データ、書き込みデータb2を含む差分データで、ファイルCについては書き込みデータc2を含む差分データとなる。
バックアップ・システムは、読み出されたそれぞれのバックアップ・ファイルに、書き込みデータを反映し、各ファイルを日時tのバージョンに復帰させる。ファイルAについては、バックアップ・ファイルA1に、書き込みデータa1、a2をこの時間順に反映して、日時tのバージョンを生成する。ファイルBについては、バックアップ・ファイルB1に、書き込みデータb1、b2をこの時間順に反映し、日時tのバージョンを生成する。ファイルCについては、バックアップ・ファイルC1に、書き込みデータc2を反映し、日時tのバージョンを生成する。このようにして、すべてのファイルを同一日時tのバージョンに復帰させることができる。
本発明の方法を、図7〜図14を参照して詳細に説明する。この方法は、上記各部を備えるシステムあるいはコンピュータに実行させるためのプログラムとして実現することができる。図7は、バックアップ・ファイルを生成し、差分データを記憶するフローを示す。ここでは、すべてのファイルをバックアップ対象とはせず、ユーザが指定したファイルをバックアップ対象とする場合について説明する。また、バックアップ・ファイルおよび差分データを記憶する記憶装置は、同じであっても、異なっていてもよいが、ここでは異なる第1記憶装置と第2記憶装置とを用いるものとして説明する。
ユーザが、バックアップ対象とするファイルを指定し、そのファイルの指定に応答して、指定されたファイルを1つのグループにグループ化する(ステップ700)。バックアップ対象とするファイルを指定するのは、1ユーザに限らず、複数のユーザであってもよい。例えば、同じプロジェクトに参加する複数のユーザが、そのプロジェクトに必要な複数のファイルをそれぞれ指定することができる。上述したように、各ユーザが、マウスなどを使用して、バックアップ対象にするファイルを、本発明のシステムによって管理されるフォルダにドラッグ・アンド・ドロップすることにより、1つのグループにグループ化することができる。複数のグループにグループ化する場合、本発明のシステムによって管理されるフォルダを複数生成することができる。これにより、複数のプロジェクトに関するファイルを、プロジェクトごとにグループ化することができる。
ユーザの入力により、複数のファイルのそれぞれに、バックアップ・ファイルを生成する時間間隔を設定する(ステップ710)。例えば、5分あるいは10分などの時間を設定することができる。その設定に基づいて、複数のファイルの各々についてバックアップ・ファイルを生成し、それらバックアップ・ファイルを、それらバックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶する(ステップ720)。次に、設定された時間に達したか否かを判断する(ステップ730)。達した場合、ステップ720に戻り、再びバックアップ・ファイルを生成する。達していない場合、ユーザからファイルにアクセスがあったか否かを検出する(ステップ740)。OSを監視し、OSがファイルにアクセスすることを検知することにより、アクセスを検出することができる。検出されない場合には、ステップ730に戻り、検出された場合には、OSがファイルへ書き込んだデータを、システムが取得し、書き込みが行われた日時を関連付けて第2記憶装置に記憶する(ステップ750)。その後、ステップ730に戻り、設定された時間に達したか否かを判断する。
図8は、図7に示すステップ720において、バックアップ・ファイルの生成のほか、図5に示すバックアップ・ファイルのデータ・レコードを生成するフローを示す。このデータ・レコードを適用することで、処理時間を短くすることができ、バックアップ効率を向上させることができる。ファイル名にファイル識別子を割り当て、ファイル識別子とファイル名とを対応表データとして第1記憶装置に記憶する(ステップ800)。バックアップ・ファイル・データが記憶された第1記憶装置内の記憶領域のバックアップ・ファイル・アドレスを取得する(ステップ810)。バックアップ・ファイル・データを記憶装置に記憶するとき、アドレスを指定して記憶するため、その指定されたアドレスを取得することができる。アドレスは、上述したように、先頭からのバイト数とすることができる。ファイル識別子と、バックアップ・ファイル・アドレスと、バックアップ・ファイルを生成した日時とを関連付け、データ・レコードを生成する(ステップ820)。いずれも固定長データであるため、データ・レコードも固定長となる。このデータ・レコードは、第1記憶装置に記憶される。
図9は、図7に示すステップ750において、図5に示すファイル更新情報のデータ・レコードを生成するフローを示す。このデータ・レコードを適用することで、処理時間を短くすることができ、バックアップ効率を向上させることができる。ファイル名にファイル識別子を割り当て、ファイル識別子とファイル名とを対応表データとして第2記憶装置に記憶する(ステップ900)。書き込みデータが記憶された第2記憶装置内の記憶領域の書き込みデータ・アドレス、書き込み位置、書き込みデータのサイズを取得する(ステップ910)。書き込みデータ・アドレスは、上記バックアップ・ファイルと同様の方法により、取得することができる。このアドレスも、先頭からのバイト数とすることができる。書き込み位置およびサイズおよび日時は、ファイルにデータを書き込むOSからを取得することができる。この書き込み位置およびサイズおよび日時は、OSがファイルに書き込んだ位置、書き込んだデータのサイズ、書き込んだ日時となる。次に、ファイル識別子と、書き込みデータ・アドレスと、位置、サイズ、日時を関連付け、固定長のデータ・レコードを生成する(ステップ920)。このデータ・レコードは、第2記憶装置に記憶される。
図10は、ユーザが復帰させたい日時を指定し、その日時におけるバージョンを生成するフローを示す。ユーザが、復帰させたい日時を入力することに応答して、日時を指定する(ステップ1000)。日時の指定は、設定することにより行われ、ユーザの入力により、例えば、「2005/02/14 13:20」と設定する。その指定に応答して、バックアップ・ファイルを、その指定された日時を基に、検索する(ステップ1010)。図4(a)に示すデータ構造の場合、ファイル名が同じものについて、指定日時より前で、かつ最も近いものを検索することにより特定することができる。検索結果として特定されたバックアップ・ファイルを読み出す(ステップ1020)。読み出されたバックアップ・ファイルは、例えばメモリに保持され、後述する書き込みデータが反映される。
特定されたバックアップ・ファイルに関連付けられた日時を取得し、その日時と、指定された日時との間の日時を有する差分データを検索する(ステップ1030)。図4(b)に示すデータ構造の場合、ファイル名が同じものについて、その間に入る差分データを、差分データに含まれる日時を基に検索し、特定する。検索結果として特定された差分データを読み出す(ステップ1040)。読み出された差分データも、メモリに保持される。
読み出され、保持されたバックアップ・ファイルに、読み出され、保持された差分データを反映して、指定された日時におけるバーションを生成する(ステップ1050)。差分データは、書き込み位置、サイズ、書き込みデータを含む。システムは、書き込み命令を実行し、書き込み位置から、バックアップ・ファイルに書き込む位置を特定し、その位置において書き込みデータを書き込んで指定日時におけるバージョンを生成する。2以上の差分データがある場合には、日時順に、同様の方法により書き込み、指定日時におけるバージョンを生成する。
図11は、図10に示すステップ1010およびステップ1020において、図5(a)に示すデータ・レコードを使用する場合のフローを示した図である。ユーザによって日時が指定されると、システムはそれを受けて、第1記憶装置から対応表データを読み出し、ファイルに対応するファイル識別子を取得する(ステップ1100)。そのファイル識別子と指定日時を基に、第1記憶装置に記憶されるデータ・レコードを検索する(ステップ1110)。指定日時より前で、かつ最も近い日時を有するデータ・レコードを特定する(ステップ1120)。そのデータ・レコードに含まれるアドレスを基に、バックアップ・ファイルを読み出す(ステップ1130)。複数のファイルの各々に対する各バックアップ・ファイルを読み出す場合には、ステップ1100で、ファイル名を変え、上記複数のファイルに含まれる別のファイルに対応するファイル識別子を取得し、ステップ1110からステップ1130までは同様の処理を行い、これを繰り返すことで、複数のファイルの各々についての各バックアップ・ファイルを読み出すことができる。
図12は、図10に示すステップ1030およびステップ1040において、図5(b)に示すデータ・レコードを使用する場合のフローを示した図である。図11のステップ1130で、バックアップ・ファイルが読み出されると、これを受けてシステムは、バックアップ・ファイルに関連付けられる日時を取得する(ステップ1200)。取得した日時と、指定日時とから検索するべき日時範囲を算出し、その日時範囲に入る、第2記憶装置に記憶されるデータ・レコードを、ファイル識別子を基に検索する(ステップ1210)。日時範囲に入るデータ・レコードを読み出す(ステップ1220)。ここで、データ・レコードを読み出すのは、データ・レコードに、書き込み位置およびサイズが含まれ、日時も含まれているからである。複数のデータ・レコードを読み出した場合、日時順に配列させる(ステップ1230)。これは、日時順に、バックアップ・ファイルに適用するためである。配列されたデータ・レコードに含まれるアドレスを基に、順に書き込みデータを読み出す(ステップ1240)。これにより、読み出された書き込みデータが、日時順に配列した書き込みデータとなる。本発明では、配列させなくてもよく、この場合には、書き込みデータを読み出し、読み出された書き込みデータをデータ・レコードと関連付けて保持させておき、適用する段階で、日時を基に、日時順に適用することができる。複数のファイルの各々に対して書き込みデータを読み出す場合には、複数のファイルの各々についてステップ1200からステップ1240を繰り返すことで、複数のファイルの各々についての書き込みデータを読み出すことができる。
本発明のバックアップ・システムは、書き込み回数を計測し、回数に応じてバックアップ作業を行う時間間隔の設定を変更することができる。図13は、バックアップ・ファイルを生成する時間間隔の設定を変更するフローを示した図である。初期値となる時間間隔をユーザが入力し、バックアップ・システムが、入力された時間間隔を設定する(ステップ1300)。初期値は、バックアップ・システムがもつデフォルト値であってもよい。例えば、ユーザが10分と入力することで、時間間隔を10分と設定する。時間間隔の設定を受けて、その時間間隔でバックアップを開始する(ステップ1310)。バックアップ・システムは、プログラムを実行させることにより、設定時間経過時、バックアップ・ファイルを生成する。設定した時間が経過するまでの間に、ユーザが書き込みを行い、ファイルを更新した回数をカウントする(ステップ1320)。これは、上記カウンタなどの頻度計測部によって行われる。設定時間に到達した後、その設定した時間内にユーザが行った更新回数が、閾値を超えるか否かを判定する(ステップ1330)。超えない場合、カウンタを0にし、ステップ1320に戻り、時間間隔を変更することなく、再度カウントする。超える場合、設定時間を変更する(ステップ1340)。設定時間の変更は、閾値を超えない回数にするため、設定時間を短縮させ、例えば、10分を9分に変更する。次に、カウンタを0にする(ステップ1350)。設定時間を変更し、カウンタを0にした後、ステップ1320に戻り、変更された時間間隔の間の更新回数のカウントを開始する。
図14は、バックアップ・ファイルを生成する時間間隔の設定を変更する別のフローを示した図である。図13と同様、初期値となる時間間隔をユーザが入力し、入力された時間間隔を設定する(ステップ1400)。時間間隔の設定を受けて、その時間間隔でバックアップを開始する(ステップ1410)。設定した時間が経過するまでの間に、ファイルを更新した回数をカウントする(ステップ1420)。設定時間に到達した後、更新回数が閾値を超えるか否かを判定する(ステップ1430)。超えると判定された場合、設定時間を短縮させる(ステップ1440)。設定時間を短縮させ、その時間を設定した後、カウンタを0にして(ステップ1450)、再びステップ1420に戻り、新たに設定された時間間隔の間の更新回数をカウントする。ステップ1430で、超えないと判定された場合、第2閾値を超えるか否かを判定する(ステップ1460)。超えると判定された場合、カウンタを0にし、ステップ1420に戻り、時間間隔を変更することなく、再び更新回数をカウントする。超えないと判定された場合、設定時間を延長させる(ステップ1470)。例えば、設定時間10分を11分に延長させることができる。設定時間を延長させ、その時間を設定した後、カウンタを0にして(ステップ1480)、再びステップ1420に戻り、新たに設定された時間間隔の間の更新回数をカウントする。
これまで図面を参照して、本発明のバックアップ・システム、バックアップ方法について説明してきたが、本発明は、バックアップ方法をコンピュータに実行させるプログラムとして構成することもでき、このプログラムを記録した記録媒体として提供することができる。
本発明のシステムを組み込んだコンピュータ・システムの概略図。 本発明のシステムの構成を例示した図。 本発明のシステムの別の実施形態を示した図。 データ構造を例示した図。 データ・レコードを例示した図。 各ファイルにつき、バックアップ作業を時刻とともに示したフロー図。 バックアップ・ファイルを生成し、差分データを記憶するフロー図。 図7に示すステップ720において、図5に示すバックアップ・ファイルのデータ・レコードを生成するフロー図。 図7に示すステップ750において、図5に示すファイル更新情報のデータ・レコードを生成するフロー図。 ユーザが復帰させたい日時を指定し、その日時におけるバージョンを生成するフロー図。 図10に示すステップ1010において、図5(a)に示すデータ・レコードを使用する場合のフロー図。 図10に示すステップ1030において、図5(b)に示すデータ・レコードを使用する場合のフロー図。 バックアップ・ファイルを生成する時間間隔の設定を変更するフロー図。 バックアップ・ファイルを生成する時間間隔の設定を変更する別のフロー図。
符号の説明
10…ユーザ・コンピュータ
10a、10b、10c…記憶装置
11…ネットワーク
12…サーバ
13…記憶装置
20、30…バックアップ・システム
21…バックアップ・ファイル生成部
22…差分データ取得部
23…バックアップ・ファイル検索部
24…差分データ検索部
25…バージョン生成部
26…入力手段
27…OS
31…グループ化部
32…フォルダ
33…表示装置
34…ファイル
35…ポインティング・デバイス
36…頻度計測部
37…頻度判定部
37a…第2頻度判定部
38…時間間隔変更部
38a…時間短縮部
38b…時間延長部
39…選択部
40…データ構造
41…ファイル名
42…バックアップ・ファイル・データ
43…日時
44…データ構造
45…ファイル名
46…位置
47…サイズ
48…データ
49…日時
50…データ・レコード
51…ファイル識別子
52…バックアップ・ファイル・アドレス
53…日時
54…データ・レコード
55…ファイル識別子
56…位置
57…サイズ
58…書き込みデータ・アドレス
59…日時

Claims (10)

  1. ファイルをユーザが指定した日時のバージョンに復帰させるためのバックアップ・システムであって、
    前記ファイルに対して設定された時間間隔ごとにバックアップ・ファイルを生成し、当該バックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶するバックアップ・ファイル生成部と、
    前記ファイルが変更されることに応答して、変更内容を当該変更が行われた日時と関連付け、差分データとして第2記憶装置に記憶する差分データ取得部と、
    ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、前記第1記憶装置内を検索して読み出すバックアップ・ファイル検索部と、
    読み出した前記バックアップ・ファイルに関連付けられた日時と前記指定された日時との間の日時を有する差分データを、前記第2記憶装置内を検索して読み出す差分データ検索部と、
    前記読み出したバックアップ・ファイルに、日時順に、読み出した前記差分データに含まれる前記変更内容を反映することにより、前記ファイルの前記指定された日時におけるバージョンを生成するバージョン生成部とを含む、システム。
  2. ユーザからのファイルの指定に応答して、指定された前記ファイルを、前記バックアップ・ファイルを生成すべきバックアップ対象のファイルとしてグループ化するグループ化部を含む、請求項1に記載のシステム。
  3. ファイルの変更頻度を計測する頻度計測部と、前記頻度が閾値を超えるか否かを判定する頻度判定部と、前記頻度が前記閾値を超えると判定した場合に、前記バックアップ・ファイルを生成する前記時間間隔を変更する時間間隔変更部とを含む、請求項1または2に記載のシステム。
  4. 前記頻度判定部は、前記頻度が第2閾値を超えるか否かを判定する第2頻度判定部を含み、前記時間間隔変更部は、前記頻度が前記閾値を超えると判定した場合に、前記時間間隔を短縮させる時間短縮部と、前記頻度が前記第2閾値を超えないと判定された場合に、前記時間間隔を延長させる時間延長部とを含む、請求項3に記載のシステム。
  5. 前記バックアップ・ファイル生成部は、生成した前記バックアップ・ファイルに対応するファイルを識別するためのファイル識別子と、前記バックアップ・ファイルが記憶される前記第1記憶装置内のバックアップ・ファイル・アドレスと、当該バックアップ・ファイルを生成した日時とを含むバックアップ・ファイル・アドレス情報を前記第1記憶装置に記憶し、前記バックアップ・ファイル検索部は、前記指定された日時の直前のバックアップ・ファイルを、前記バックアップ・ファイル・アドレス情報に含まれる前記ファイル識別子と前記日時とに基づいて検索し、前記バックアップ・ファイル・アドレスに基づいて読み出す、請求項1〜4のいずれか1項に記載のシステム。
  6. 前記差分データ取得部は、前記差分データに対応するファイルを識別するためのファイル識別子と、前記差分データが記憶される前記第2記憶装置内の差分データ・アドレスと、前記ファイルが変更された日時とを含む前記差分データ・アドレス情報を前記第2記憶装置に記憶し、前記差分データ検索部は、前記読み出したバックアップ・ファイルに関連付けられた日時と前記指定された日時との間の日時を有する前記差分データを、前記差分データ・アドレス情報に含まれる前記ファイル識別子と前記日時とに基づいて検索し、前記差分データ・アドレスに基づいて読み出す、請求項1〜5のいずれか1項に記載のシステム。
  7. 前記バックアップ・ファイル生成部は、複数のファイルの各々に対して設定された時間間隔ごとに、前記複数のファイルの各々に対し、バックアップ・ファイルを各々生成し、前記差分データ取得部は、各ファイルが変更されることに応答して、前記各ファイルに対応する差分データを記憶し、前記バックアップ・ファイル検索部は、前記各ファイルに対応する各バックアップ・ファイルを読み出し、前記差分データ検索部は、前記各ファイルに対応する各差分データを読み出し、前記バージョン生成部は、前記各ファイルに対応する前記指定された日時におけるバージョンをそれぞれ生成する、請求項1〜6のいずれか1項に記載のシステム。
  8. 前記差分データ取得部は、複数のコンピュータの各々による各ファイルの変更を、ネットワークを介して検出し、各コンピュータから各変更内容を、前記ネットワークを介して受信し、差分データとして前記第1記憶装置に記憶し、前記バックアップ・ファイル検索部は、前記複数のコンピュータのいずれかから送信される日時を指定する情報を受信し、前記各ファイルに対応する各バックアップ・ファイルを前記第1記憶装置から読み出す、請求項7に記載のシステム。
  9. ファイルをユーザが指定した日時のバージョンに復帰させるためにコンピュータに実行させるバックアップ方法であって、
    前記ファイルに対して設定された時間間隔ごとにバックアップ・ファイルを生成させ、当該バックアップ・ファイルが生成された日時と関連付けて第1記憶装置に記憶させるステップと、
    前記ファイルが変更されることに応答して、変更内容を当該変更が行われた日時と関連付け、差分データとして第2記憶装置に記憶させるステップと、
    ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、前記第1記憶装置内を検索して読み出させるステップと、
    読み出された前記バックアップ・ファイルに関連付けられた日時と前記指定された日時との間の日時を有する差分データを、前記第2記憶装置内を検索して読み出させるステップと、
    前記読み出されたバックアップ・ファイルに、日時順に、読み出された前記差分データに含まれる前記変更内容を反映させ、前記ファイルの前記指定された日時におけるバージョンを生成させるステップとを含む、方法。
  10. ファイルをユーザが指定した日時のバージョンに復帰させるためのバックアップ方法をコンピュータに実行させるためのプログラムであって、
    前記ファイルに対して設定された時間間隔ごとにバックアップ・ファイルを生成し、当該バックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶するステップと、
    前記ファイルが変更されることに応答して、変更内容を当該変更が行われた日時と関連付け、差分データとして第2記憶装置に記憶するステップと、
    ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、前記第1記憶装置内を検索して読み出すステップと、
    読み出した前記バックアップ・ファイルに関連付けられた日時と前記指定された日時との間の日時を有する差分データを、前記第2記憶装置内を検索して読み出すステップと、
    前記読み出したバックアップ・ファイルに、日時順に、読み出した前記差分データに含まれる前記変更内容を反映することにより、前記ファイルの前記指定された日時におけるバージョンを生成するステップとを実行させる、プログラム。
JP2005098584A 2005-03-30 2005-03-30 ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム Pending JP2006277563A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005098584A JP2006277563A (ja) 2005-03-30 2005-03-30 ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005098584A JP2006277563A (ja) 2005-03-30 2005-03-30 ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム

Publications (1)

Publication Number Publication Date
JP2006277563A true JP2006277563A (ja) 2006-10-12

Family

ID=37212233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005098584A Pending JP2006277563A (ja) 2005-03-30 2005-03-30 ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム

Country Status (1)

Country Link
JP (1) JP2006277563A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015537A (ja) * 2007-07-03 2009-01-22 Kddi Corp ネットワーク設定復元方法およびシステム
KR20090021882A (ko) * 2007-08-28 2009-03-04 엠텍비젼 주식회사 Mtp 장치에서의 저장 수단 동기화 방법 및 저장 수단동기화 시스템
JP2014154044A (ja) * 2013-02-12 2014-08-25 Hitachi Solutions Ltd 業務文書処理装置、業務文書処理プログラム
JP6113381B1 (ja) * 2015-12-08 2017-04-12 三菱電機株式会社 制御システム及び制御装置
JP2021119461A (ja) * 2020-07-20 2021-08-12 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド バックアップ管理方法、システム、電子機器、及び媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015537A (ja) * 2007-07-03 2009-01-22 Kddi Corp ネットワーク設定復元方法およびシステム
KR20090021882A (ko) * 2007-08-28 2009-03-04 엠텍비젼 주식회사 Mtp 장치에서의 저장 수단 동기화 방법 및 저장 수단동기화 시스템
JP2014154044A (ja) * 2013-02-12 2014-08-25 Hitachi Solutions Ltd 業務文書処理装置、業務文書処理プログラム
JP6113381B1 (ja) * 2015-12-08 2017-04-12 三菱電機株式会社 制御システム及び制御装置
JP2021119461A (ja) * 2020-07-20 2021-08-12 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド バックアップ管理方法、システム、電子機器、及び媒体

Similar Documents

Publication Publication Date Title
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
JP4157858B2 (ja) ストレージ・エリア・ネットワーク(san)ファイル・システムの並列高速バックアップ
JP5023018B2 (ja) ストレージシステム及びデータ管理方法
JP5731000B2 (ja) 差分バックアップからのデータベースの個別復元を実行する方法及びシステム
EP1582982B1 (en) Method and medium for recovering data using a timeline-based computing environment
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US8433863B1 (en) Hybrid method for incremental backup of structured and unstructured files
US8015155B2 (en) Non-disruptive backup copy in a database online reorganization environment
US20080046670A1 (en) System and method for storing data and accessing stored data
KR101693683B1 (ko) 가상 데이터베이스 되감기
US20090300303A1 (en) Ranking and Prioritizing Point in Time Snapshots
US7383465B1 (en) Undoable volume using write logging
US20120005528A1 (en) Data set index record preservation
JP2005190139A (ja) テープ記録媒体へのバックアップシステム及び方法
JP2013011919A (ja) ストレージ装置及びそのスナップショット制御方法
JP4398464B2 (ja) 1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイント・イン・タイム・コピー関連性を管理するためのシステム、方法、及びプログラム
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
JP2017062636A (ja) ストレージ装置およびストレージ制御プログラム
US8024519B2 (en) Catalog recovery through system management facilities reverse transversal
JP2006277563A (ja) ファイルを指定日時のバージョンに復帰させるためのバックアップ・システム、バックアップ方法および該方法をコンピュータに実行させるためのプログラム
KR20110021183A (ko) 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
US8185500B2 (en) Information processing apparatus, and operation method of storage system
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US6625614B1 (en) Implementation for efficient access of extended attribute data
Kuts et al. Deleted Data Recovery on Solid-State Drives by Software Based Methods

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20061129

A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20061219

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090717

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090806

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090925

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20091023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091023

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112