図面 (/)

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

出願人 レノボシンガポールプライヴェートリミテッド
発明者 倉橋宏中島周坂木洋生
出願日 2005年3月30日 (14年9ヶ月経過) 出願番号 2005-098584
公開日 2006年10月12日 (13年3ヶ月経過) 公開番号 2006-277563
状態 拒絶査定
技術分野 計算機におけるファイル管理 エラー時の再試行 検索装置
主要キーワード 対応表データ 変更頻度 ファイル更新情報 変更分 書き込み頻度 日時範囲 バックアップ作業 自動バックアップ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2006年10月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

記憶装置への負荷を軽減させ、かつファイル指定日時のバージョンに簡単に復帰させる。

解決手段

設定された時間間隔ごとバックアップ・ファイルを生成し第1記憶装置10bに記憶するバックアップ・ファイル生成部21と、ファイルが変更されたことに応答して、差分データとして第2記憶装置10cに記憶する差分データ取得部22と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、第1記憶装置10b内より読み出すバックアップ・ファイル検索部23と、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の差分データを、第2記憶装置10c内より読み出す差分データ検索部24と、バックアップ・ファイルに、日時順に、差分データに含まれる変更内容を反映することにより、ファイルの指定された日時におけるバージョンを生成するバージョン生成部25とを含む。

概要

背景

重要なファイルに書き込みを行っている際、フリーズしたり、バグを生じたりして、リブートしなければならなくなった場合、これまでに行った作業を取り戻すことができない。また、そのファイル自体が壊れてしまった場合、再度作成しなければならない。しかしながら、そのファイルをバックアップしておけば、現在の時刻に最も近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、復元を容易にすることができる。ユーザが書き込みを行い、ファイルを更新したものの、その書き込みが誤りであることに気づき、ある日時のファイルのバージョンに戻したいことがある。この場合も、適宜バックアップを行っておけば、その日時に近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、その日時のバージョンに復帰させることができる。

ファイルを前の状態に戻して、前のバージョンに復帰させる場合、ワードプロセッサプレゼンテーションソフトウェアなどのアプリケーションがもつ「元に戻す(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記憶装置10bに記憶するバックアップ・ファイル生成部21と、ファイルが変更されたことに応答して、差分データとして第2記憶装置10cに記憶する差分データ取得部22と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、第1記憶装置10b内より読み出すバックアップ・ファイル検索部23と、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の差分データを、第2記憶装置10c内より読み出す差分データ検索部24と、バックアップ・ファイルに、日時順に、差分データに含まれる変更内容を反映することにより、ファイルの指定された日時におけるバージョンを生成するバージョン生成部25とを含む。

目的

本発明は、記憶装置への負荷を軽減させ、かつファイルを指定日時のバージョンに簡単に復帰させることができるバックアップ・システム、バックアップ方法およびコンピュータにバックアップを実行させるためのプログラムを提供することを目的とする。

効果

実績

技術文献被引用数
1件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項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記憶装置内を検索して読み出すステップと、前記読み出したバックアップ・ファイルに、日時順に、読み出した前記差分データに含まれる前記変更内容を反映することにより、前記ファイルの前記指定された日時におけるバージョンを生成するステップとを実行させる、プログラム。

技術分野

0001

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

背景技術

0002

重要なファイルに書き込みを行っている際、フリーズしたり、バグを生じたりして、リブートしなければならなくなった場合、これまでに行った作業を取り戻すことができない。また、そのファイル自体が壊れてしまった場合、再度作成しなければならない。しかしながら、そのファイルをバックアップしておけば、現在の時刻に最も近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、復元を容易にすることができる。ユーザが書き込みを行い、ファイルを更新したものの、その書き込みが誤りであることに気づき、ある日時のファイルのバージョンに戻したいことがある。この場合も、適宜バックアップを行っておけば、その日時に近いバックアップ・ファイルを読み出し、わずかな書き込みを行うことで、その日時のバージョンに復帰させることができる。

0003

ファイルを前の状態に戻して、前のバージョンに復帰させる場合、ワードプロセッサプレゼンテーションソフトウェアなどのアプリケーションがもつ「元に戻す(UNDO)」という機能を使用して、前の状態に戻すことができる。この機能は、アプリケーションの使用中、何らかの誤操作をしたときに、その操作を無効にして操作前の状態に戻すために使用されている。アプリケーションによっては、自動バックアップ・システムを備えるものがある。この自動バックアップ・システムでは、予め設定された時間間隔でコンピュータが自動的にファイルのコピーを生成し、ハードディスクなどの記憶装置に記憶させることにより、バックアップを行っている。複数のファイルを同時に扱うプロジェクトにおいて、それら複数のファイルをバックアップする場合や、コンピュータのハードディスク内のすべてのファイルのバックアップを行う場合などのように、複数のファイルをバックアップする必要がある場合には、専用のバックアップ・ソフトウェアが使用されている。この専用のバックアップ・ソフトウェアでは、個別のファイルの更新情報を随時取得するのではなく、バックアップを行った時点の内容を記憶させている。あるバックアップ・アプリケーションでは、最短15分単位で、ファイル全体をコピーし、ハードディスクなどの記憶装置に記憶させている。

0004

上記のUNDO機能では、ある程度前の状態に戻すことができるものの、時刻と関連付けられていないため、ユーザが指定した日時のバージョンに戻すことはできない。また、1つのファイルを前の状態に戻すのみであるため、複数のファイルを、同期をとって同一日時のバージョンに復帰させることはできない。専用のバックアップ・ソフトウェアでは、バックアップを行った日時のバージョンに復帰させることはできるものの、それ以外の日時のバージョンに復帰させることはできない。例えば、1つ前に行ったバックアップと、今回行うバックアップとの間に、2以上の書き込みがあった場合、1つの書き込みがあった後のバージョンは生成されないため、その1つの書き込みがあった後の日時のバージョンに復帰させることはできない。また、複数のファイルの各々について、同じ時刻に同時にバックアップを行ったとしても、ファイル・サイズの差によって、バックアップ・ファイルを生成し、記憶されるまでに時間差を生じ、同一日時に揃えることはできない。また、専用のバックアップ・ソフトウェアでは、バックアップを行うごとにファイル全体をコピーして記憶させるため、膨大なデータ量となり、大容量の記憶装置が必要となる。さらに、最短15分という制約があるため、15分前のバージョンにしか復帰させることができない。

0005

専用のバックアップ・アプリケーションには、現在のファイルと、1つ前のファイルを比較し、書き込みなどで追加されたデータのみの差分データを生成し、その差分データを記憶装置に記憶させるものがある。このアプリケーションでは、ファイル全体のコピーを記憶させるのではなく、ファイル全体のファイル・サイズに比較して小さいサイズの差分データを生成して記憶させるため、記憶装置に記憶させるデータ量を低減し、記憶装置への負荷を低減させている。しかしながら、このアプリケーションは、ユーザからの書き込みに応答して、オペレーティング・システム(以下、OSという。)がファイルにアクセスすることを監視しないため、スケジュールした時間間隔で、現在のバージョンと、その前のバージョンとを全体比較して差分データを抽出するのみである。このように、更新情報を随時取得するものではないため、このアプリケーションにおいても、バックアップを行った日時以外のバージョンには復帰させることができない。また、このアプリケーションは、スケジュールできる時間間隔が最短10分程度という制約があり、10分前のバージョンにしか復帰させることができない。

0006

そこで、OSが特定ファイルへアクセスするのを監視し、任意の時刻におけるバージョンに復帰させる方法が提案されている(特許文献1参照)。この方法では、OSが特定ファイルへアクセスするのを監視し、行われた書き込み操作情報を記憶する。書き込み操作情報は、ファイル内の位置、書き込むデータである。したがって、記憶させるデータ量を少なくすることができ、記憶装置への負荷を軽減できるとともに、任意の時刻におけるバージョンに復帰させることができる。しかしながら、この方法は、ファイルを任意の時刻に復帰させることができるものの、復帰させる場合、「元に戻す(UNDO)」操作をし、指定する時刻まで遡らなければならない。このため、記憶した書き込み操作情報からUNDO操作の内容を生成しなければならない。ファイルの一手段分を消去した場合、書き込み操作からUNDO操作に必要な情報を取得することは単純な処理ではなく、また、頻繁に更新する大量のUNDO操作を順に実行しなければならず、簡単に所定日時のバージョンに復帰させることができない。

0007

1つのプロジェクトにおいて、互いに密接に関連する複数のファイルを複数のユーザが扱う場合、それらの複数のファイルを同じ時刻のバージョンに復帰させ、その時刻から書き込みをやり直したいというニーズがある。また、個人で複数のファイルを扱っており、それら複数のファイルを同じ時刻のバージョンに復帰させたいといったニーズや、複数のユーザがネットワークを介してそのネットワークに接続されるデータベース内の複数のファイルをアクセスし、ファイルを更新するために書き込み操作を行う場合、データベース内のそれら複数のファイルを同じ時刻のバージョンに復帰させたいといったニーズ、1つのファイルを、特定の時刻のバージョンに復帰させ、その時刻のバージョンからやり直したいといったニーズなどがある。従来の専用のバックアップ・アプリケーションでは、1つのファイルを任意の時刻のバージョンに復帰させることができるものの、操作が複雑であり、また、複数のファイルを同一日時のバージョンに復帰させることはできないといった問題があった。ユーザ・コンピュータやサーバ別途設置される記憶装置には、データを記憶できる容量に制限があるため、記憶装置への負荷を軽減することができ、また、複雑な処理を要することなく、ファイルを、ユーザが指定する日時のバージョンに簡単に復帰させることができるシステムや方法の提供が望まれている。
特開2001−109550号公報

発明が解決しようとする課題

0008

本発明は、記憶装置への負荷を軽減させ、かつファイルを指定日時のバージョンに簡単に復帰させることができるバックアップ・システム、バックアップ方法およびコンピュータにバックアップを実行させるためのプログラムを提供することを目的とする。

課題を解決するための手段

0009

本発明らが鋭意検討した結果、定期的にファイル全体のコピーを生成してバックアップ・ファイルとして記憶させ、その間は書き込みや削除などによる変更分のみを差分データとして記憶させることで、記憶装置への負荷を軽減させることができ、記憶させる際、日時を関連付けて記憶させ、ユーザによる日時の指定を受けて、日時を基に、指定された日時の直前のバックアップ・ファイルを検索して読み出し、そのバックアップ・ファイルに関連付けられた日時と指定日時との間の日時を有する差分データを検索して読み出し、そのバックアップ・ファイルの内容に、差分データを反映することで、簡単に指定時刻におけるバージョンに復帰させることができることを見出した。上記課題は、本発明のバックアップ・システム、方法およびコンピュータにバックアップを実行させるためのプログラムを提供することにより解決される。

0010

すなわち、本発明のバックアップ・システムは、ファイルに対して設定された時間間隔ごとにバックアップ・ファイルを生成し、当該バックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶するバックアップ・ファイル生成部と、上記ファイルが変更されることに応答して、変更内容を当該変更が行われた日時と関連付け、差分データとして第2記憶装置に記憶する差分データ取得部と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、上記バックアップ・ファイルに関連付けられた日時に基づいて上記第1記憶装置内を検索し、該第1記憶装置から読み出すバックアップ・ファイル検索部と、読み出したバックアップ・ファイルに関連付けられた日時と上記指定された日時との間の日時を有する差分データを、上記変更内容に関連付けられた日時に基づいて上記第2記憶装置内を検索し、該第2記憶装置から読み出す差分データ検索部と、読み出したバックアップ・ファイルに、日時順に、読み出した差分データに含まれる変更内容を反映することにより、上記ファイルの上記指定された日時におけるバージョンを生成するバージョン生成部とを含む。

0011

ここで、第1記憶装置および第2記憶装置は、同じものであっても、別個のものであってもよい。また、第1記憶装置および第2記憶装置は、ユーザが使用するコンピュータ内にあるハードディスク、別途設置される外付けハードディスク、フレキシブルディスク、MD(mini disc)、CD(compact disc)、DVD(digital video disk)、メモリカードメモリスティック、サーバ内にあるハードディスク、その他記憶装置とすることができる。第1記憶装置および第2記憶装置は、ネットワークに個別に接続されていてもよく、ユーザは、ネットワークに接続されたコンピュータを使用して、ネットワークを介してファイルを読み出し、内容を変更することができる。

0012

本発明によれば、ユーザが指定したファイルのみをバックアップ対象とするため、ユーザからのファイルの指定に応答して、指定されたファイルを、バックアップ・ファイルを生成すべきバックアップ対象のファイルとしてグループ化するグループ化部をさらに含むことができる。

0013

また、本発明によれば、ファイル更新頻度に応じてバックアップ作業を行う時間間隔を変更し、バックアップ作業の効率化を図るため、ファイルへの変更頻度計測する頻度計測部と、頻度が閾値を超えるか否かを判定する頻度判定部と、頻度が閾値を超えると判定された場合に、バックアップ・ファイルを生成する時間間隔を変更する時間間隔変更部とを含むことができる。

0014

なお、閾値の上限のみならず、下限も設定するため、頻度判定部は、頻度が第2閾値を超えるか否かを判定する第2頻度判定部をさらに含むことができ、時間間隔変更部は、頻度が閾値を超えると判定した場合に、時間間隔を短縮させる時間短縮部と、頻度が第2閾値を超えないと判定した場合に、時間間隔を延長させる時間延長部を含むことができる。

0015

また、本発明によれば、バックアップ・ファイルを検索し、読み出す効率を向上させるために、バックアップ・ファイル生成部は、生成したバックアップ・ファイルに対応するファイルを識別するためのファイル識別子と、バックアップ・ファイルが記憶される第1記憶装置内のバックアップ・ファイル・アドレスと、バックアップ・ファイルを生成した日時とを含むバックアップ・ファイル・アドレス情報を記憶することが好ましい。この場合、バックアップ・ファイル検索部は、指定された日時の直前のバックアップ・ファイルを、バックアップ・ファイル・アドレス情報に含まれるファイル識別子と日時とに基づいて検索し、バックアップ・ファイル・アドレスに基づいて読み出すことができる。

0016

また、差分データ取得部は、差分データに対応するファイルを識別するためのファイル識別子と、差分データが記憶される第2記憶装置内の差分データ・アドレスと、ファイルが変更された日時とを含む差分データ・アドレス情報を記憶することが好ましい。こうすることにより、差分データ検索部は、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、差分データ・アドレス情報に含まれるファイル識別子と日時とに基づいて検索し、差分データ・アドレスに基づいて読み出すことができる。

0017

本発明によれば、複数のファイルを同一日時のバージョンに復帰させることもでき、この場合、バックアップ・ファイル生成部は、複数のファイルの各々に対して設定された時間間隔ごとに、複数のファイルの各々に対し、バックアップ・ファイルを各々生成し、差分データ取得部は、各ファイルが変更されることに応答して、各ファイルに対応する差分データを取得して記憶し、バックアップ・ファイル検索部は、各ファイルに対応する各バックアップ・ファイルを読み出し、差分データ検索部は、各ファイルに対応する各差分データを読み出し、バージョン生成部は、各ファイルに対応する指定された日時におけるバージョンをそれぞれ生成する。

0018

本発明によれば、ネットワークに接続される複数のコンピュータとサーバとを含むネットワーク環境において実施することができ、この場合、本発明のバックアップ・システムは、サーバに含まれ、バックアップ・ファイル生成部が、複数のファイルの各々に対して設定された時間間隔で、各ファイルに対する各バックアップ・ファイルを生成し、差分データ取得部が、複数のコンピュータの各々による各ファイルの変更を検出し、各コンピュータから各変更内容を受信し、差分データとして記憶し、バックアップ・ファイル検索部が、複数のコンピュータのいずれかから送信される日時を指定する情報を受信し、各ファイルに対応する各バックアップ・ファイルを読み出すことができる。

0019

ユーザが指定した日時のバージョンに復帰させるためのシステムとして構成する場合、指定日時のバージョンに復帰させるためのバックアップ方法を実行させるプログラムと、そのプログラムを実行するプロセッサとして構成し、該プロセッサを、上記各部として機能させることができる。

0020

本発明では、上記システムのほか、ファイルをユーザが指定した日時のバージョンに復帰させるためにコンピュータに実行させるバックアップ方法を提供する。また、本発明では、上記方法をコンピュータに実行させるためのプログラムとして構成することができ、このプログラムは、コンピュータやサーバに設けられるハードディスクといった記録媒体、フレキシブルディスク、CD−ROM、MDや外付けハードディスクといった記録媒体に格納することができる。

発明の効果

0021

本発明のバックアップ・システム、バックアップ方法およびプログラムを提供することにより、ファイルを指定日時のバージョンに簡単に復帰させることが可能となる。また、複数のファイルを同一日時のバージョンに復帰させることも可能となる。さらに、記憶装置への負荷も軽減することができ、バックアップ効率を向上させることができる。

発明を実施するための最良の形態

0022

以下、本発明を図面に示した具体的な実施の形態に沿って説明するが、本発明は、後述する実施の形態に限定されるものではない。本発明のバックアップ・システムについて説明する前に、本発明のバックアップ・システムが組み込まれるコンピュータ・システムを説明する。

0023

図1は、本発明のバックアップ・システムを組み込んだコンピュータ・システムの実施例を示した図である。図1には、複数のコンピュータ10がネットワーク11に接続され、ネットワーク11にはサーバ12や記憶装置13が接続されている。これら複数のコンピュータ10やサーバ12には、ワードプロセッサ、プレゼンテーション・ソフトウェア、表計算ソフトウェアなどの複数のアプリケーション、ファイルの管理、メモリの管理、入出力の管理、ユーザーインターフェースの提供を行うOSなどが記憶されており、起動することによって読み出され、実行される。ユーザは、個々のコンピュータ10を使用し、OSおよびアプリケーションを起動させ、コンピュータ10内のハードディスクやメモリなどの記憶装置10aからファイルを読み出し、書き込みまたは削除を行うなどしてファイルを更新する。また、ユーザは、ネットワーク11に接続された他のコンピュータ10、サーバ12、記憶装置13に、ネットワーク11を介してアクセスすることができ、それらに記憶される複数のファイルを読み出し、書き込みまたは削除するなどしてファイル内容を変更し、ファイルを更新する。バックアップ・ファイルは、ファイルと同じ記憶装置に記憶することもできるが、ファイルを記憶する記憶装置が故障などした場合にバックアップ・ファイルが使用できるように、ファイルを記憶する記憶装置とは別の記憶装置に記憶されるのが好ましい。また、バックアップ・ファイルは、本発明のバックアップ・システムにより、ユーザにより設定された時間間隔ごと、または、デフォルトの時間間隔ごとに生成される。以下、ファイル内容の変更を、書き込みによるものとして説明する。

0024

本発明のバックアップ・システムは、後述する各部として構成され、コンピュータ10内またはサーバ12内に含まれる。コンピュータ10内に含まれる場合、バックアップ・システムは、予め設定された時間間隔で、バックアップ・ファイルを生成して、コンピュータ10に接続される記憶装置10bに記憶し、この間に、ユーザによる書き込みがあった場合、これを検知し、変更内容となる書き込みデータを取得し、記憶装置10cに記憶する。ユーザが、ある日時のバージョンに復帰させるため、入力手段を使用して入力し、日時を指定すると、バックアップ・システムは、それに応答して、その指定日時の直前のバックアップ・ファイルを記憶装置10bから読み出し、そのバックアップ・ファイルが生成された日時と指定日時との間の書き込みデータを記憶装置10cから読み出し、書き込みデータを反映し、復帰させるべきバージョンを生成する。ここでは、記憶装置10a、10b、10cを別個のものとして示しているが、これらは同じものでも、記憶装置10b、10cが同じで、記憶装置10aとは異なるものであってもよい。すべてが同じものの場合、記憶装置は、コンピュータ10内のハードディスクとすることができ、記憶装置10aと、記憶装置10b、10cとが異なる場合、記憶装置10aをハードディスクとし、記憶装置10b、10cを外付けハードディスク、フレキシブルディスク、MD、CDなどとすることができる。

0025

サーバ12内に含まれる場合には、個々のコンピュータ10に含まれる必要はなく、上記と同様、予め設定された時間間隔で生成されるバックアップ・ファイルを、例えば、ネットワーク11に接続される記憶装置13に記憶し、その間にコンピュータ10において書き込みがあった場合、ネットワーク11を介してこれを検出し、ネットワーク11を介して書き込みデータを取得し、記憶装置13に記憶させる。ユーザが、ある日時のバージョンに復帰させるため、コンピュータ10に日時を入力し、日時を指定すると、サーバ12は、ネットワーク11を介して日時が指定されたことを検出し、その指定日時の直前に生成されたバックアップ・ファイルを記憶装置13から読み出し、そのバックアップ・ファイルが生成された日時と指定日時との間の書き込みデータを読み出し、書き込みデータを反映し、復帰させるべきバージョンを生成する。生成されたバージョンは、ネットワーク11を介してコンピュータ10に送信することもできるし、記憶装置13に記憶し、コンピュータ10からの読み出し要求に応答して、サーバ12が記憶装置13から読み出し、コンピュータ10に送信することもできる。

0026

図2に、本発明のバックアップ・システムの詳細を示す。本発明のバックアップ・システム20は、ファイルに対して設定された時間間隔ごとに、バックアップ・ファイルを生成し、そのバックアップ・ファイルを生成した日時と関連付けて第1記憶装置10bに記憶するバックアップ・ファイル生成部21と、ユーザからのファイルへの書き込みに応答して、書き込みデータを、書き込みが行われた日時と関連付け、差分データとして第2記憶装置10cに記憶する差分データ取得部22と、ユーザにより指定された日時の直前に生成されたバックアップ・ファイルを、第1記憶装置10b内を検索して読み出すバックアップ・ファイル検索部23と、読み出したバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、第2記憶装置10c内を検索して読み出す差分データ検索部24と、読み出したバックアップ・ファイルに、日時順に、読み出した差分データに含まれる書き込みデータを反映することにより、ファイルの指定された日時におけるバージョンを生成するバージョン生成部25を含んで構成される。第1記憶装置10bおよび第2記憶装置10cは、同じものであってもよいが、ここでは異なるものとして説明する。

0027

各部について以下に詳述する。バックアップ・ファイル生成部21は、ファイルに対して、例えば、ユーザが予め設定した時間間隔ごとにバックアップ・ファイルを生成する。具体的には、設定した時間間隔ごとに、第1記憶装置10bおよび第2記憶装置10cとは別に設けられる記憶装置10aからファイルを読み出し、そのファイルのコピーを生成することにより、バックアップ・ファイルを生成する。また、バックアップ・ファイル生成部21は、生成したバックアップ・ファイルを、そのバックアップ・ファイルを生成した日時と関連付け、第1記憶装置10bに記憶する。このデータ構造については後述する。なお、OS27は、ファイルを管理するものであり、ファイルの読み出し、書き込み、記憶は、OS27を介して行われる。

0028

差分データ取得部22は、ユーザが入力手段26を使用して、記憶装置10aからファイルを読み出し、書き込みを行ったことを検出し、その書き込みデータを取得する。入力手段26は、書き込みといったイベントを生じさせ、OS27がそれを検出する。OS27は、記憶装置10a内に格納されているファイルへアクセスし、書き込み命令を実行し、書き込み位置、サイズ、データをファイルに適用し、ファイル更新する。差分データ取得部22は、常時、OS27によるファイルへのアクセスを監視し、アクセスがあった場合、これを検出して、OS27から、書き込み位置、サイズ、書き込みデータ、書き込みが行われた日時を取得する。差分データ取得部22は、書き込みデータに、取得した日時を関連付け、これを差分データとして、第2記憶装置10cに記憶する。この差分データ取得部22は、このデータ構造についても後述する。

0029

バックアップ・ファイル検索部23は、ユーザが復帰させるバージョンの日時を指定したことに応答して、対象となるバックアップ・ファイルを検索する。検索すべきバックアップ・ファイルは、指定された日時の直前に生成されたバックアップ・ファイルである。バックアップ・ファイル検索部23は、第1記憶装置10bに記憶されるバックアップ・ファイルに関連付けられた日時を指定された日時と比較し、指定された日時より前で、かつ指定された日時に最も近い日時が関連付けられたバックアップ・ファイルを検索し、読み出す。

0030

差分データ検索部24は、対象となる差分データを検索する。検索すべき差分データは、バックアップ・ファイル検索部23によって読み出されたバックアップ・ファイルに関連付けられた日時と、指定された日時との間の日時を有する差分データである。差分データ検索部24は、第2記憶装置10cに記憶される差分データに含まれる日時が、上記間に入るか否かを判断し、その間に入る差分データを検索して読み出す。読み出された差分データが2以上ある場合には、日時順に配列される。

0031

バージョン生成部25は、読み出されたバックアップ・ファイルに、日時順に配列された差分データを反映する。具体的には、書き込み命令を実行し、差分データに含まれる書き込みデータを、書き込み位置として与えられるデータを基に、バックアップ・ファイルの所定位置に書き込み、そのファイルの指定された日時におけるバージョンを生成する。

0032

図2に示すバックアップ・システム20は、1つのファイルを指定した日時のバージョンに復帰させるだけではなく、複数のファイルを同一日時のバージョンに復帰させることもできる。複数のファイルを同一日時のバージョンに復帰させる場合、バックアップ・ファイル生成部21は、複数のファイルの各々に対して設定された時間間隔ごとに、複数のファイルの各々に対し、バックアップ・ファイルを各々生成することができ、第1記憶装置10bに記憶することができる。差分データ取得部22は、各ファイルへの書き込みに応答して、各ファイルに対応する差分データを第2記憶装置10cに記憶することができる。また、バックアップ・ファイル検索部23は、各ファイルに対応する各バックアップ・ファイルを読み出すことができ、差分データ検索部24は、各ファイルに対応する各差分データを読み出すことができる。バージョン生成部25は、各ファイルに対応する指定された日時におけるバージョンをそれぞれ生成することができる。

0033

また、図2に示すバックアップ・システム20は、図1に示すサーバ12内に格納することができ、このサーバ12と複数のコンピュータ10とがネットワーク11に接続され、複数のコンピュータ10により複数のファイルを更新し、サーバ12によりバックアップ作業を行うことができる。この場合、差分データ取得部22は、複数のコンピュータ10の各々による各ファイルへの書き込みを、ネットワーク11を介して検出し、各ユーザ・コンピュータ10から各書き込みデータを、ネットワーク11を介して受信し、差分データとして記憶装置13に記憶し、バックアップ・ファイル検索部23は、複数のユーザ・コンピュータ10のいずれかから送信される日時を指定する情報を受信し、各ファイルに対応する各バックアップ・ファイルを記憶装置13から読み出すことができる。

0034

図3は、本発明のバックアップ・システムの別の実施形態を示した図である。図3に示すバックアップ・システムに含まれるバックアップ・ファイル生成部21、差分データ取得部22、バックアップ・ファイル検索部23、差分データ検索部24、バージョン生成部25は、図2に示すものと同様であるため、ここでは省略する。図3に示すシステム30では、さらに、ユーザが指定したファイルのみをバックアップ対象とするため、ユーザからのファイルの指定に応答して、指定されたファイルを、バックアップ・ファイルを生成すべきバックアップ対象のファイルとしてグループ化するグループ化部31を含んでいる。グループ化は、ウィンドウアイコンなどを画像として表示するグラフカル・ユーザ・インタフェースGUI)を用いる場合、本発明のシステムによって管理されるフォルダ32を表示装置33上に生成しておき、そのフォルダ32に、バックアップ対象にするファイル34を、ユーザがマウスなどのポインティングデバイス35を使用してドラッグアンドドロップすることで、1群のグループにグループ化させることができる。グループ化されたファイルは、グループ化されていないファイルと区別するため、例えば、ファイル識別子が割り当てられる。ファイル識別子は、グループ化された各ファイルを識別することができるものであれば、数字記号文字、これらを組み合わせたものとすることができ、いかなる桁、文字数であってもよい。このファイル識別子は、以下に説明するファイル識別子と同じものであっても、異なるものであってもよい。本発明では、記憶装置10b、10cの記憶容量に制限があることから、バックアップ対象にするファイルをユーザが指定し、バックアップ対象となるファイル数を少なくするほうが好ましい。

0035

図3では、さらに、書き込み頻度に応じてバックアップ作業を行う時間間隔を変更し、バックアップ作業の効率化を図るため、ファイルへの書き込み頻度を計測する頻度計測部36と、頻度が閾値を超えるか否かを判定する頻度判定部37と、頻度が閾値を超えると判定された場合に、バックアップ・ファイルを生成する時間間隔を変更する時間間隔変更部38とを含んだ構成とされている。このように、書き込み頻度の多いものに対して、時間間隔を短く変更することにより、その間の書き込み回数を減少させ、日時が指定された際の、その日時におけるバージョンの生成において、バックアップ・ファイルに反映する書き込みデータを減少させて、バックアップ作業の効率化を図ることができる。頻度計測部36は、カウンタとすることができ、このカウンタは、ハードウェアとすることもできるし、ソフトウェアで、例えば、8ビットデータとし、1回では、「00000001」、2回では、「00000010」というように、書き込みを検出するごとにカウントさせることができる。このカウンタは、バックアップ・ファイルが生成されてから、次に、バックアップ・ファイルが生成されるまでのファイル更新回数をカウントする。したがって、この間のカウントが終了した後は、カウンタを0にし、新たにカウントを開始する。なお、カウンタは、OSがファイルへのアクセスを行ったことに応答して、カウントすることができる。

0036

また、閾値の下限を設定するため、頻度判定部37は、頻度が第2閾値を超えるか否かを判定する第2頻度判定部37aを含むことができ、時間間隔変更部38は、頻度が閾値を超えると判定された場合に、時間間隔を短縮させる時間短縮部38aと、頻度が第2閾値を超えないと判定された場合に、時間間隔を延長させる時間延長部38bとを含む構成とされている。この構成により、ユーザによる書き込み頻度の多いファイルに対しては、時間間隔を短く、頻度の少ないファイルに対しては、時間間隔を長くして、記憶装置への負荷を軽減させることができる。

0037

例えば、ファイルAについて、バックアップ・ファイルを生成する時間間隔を10分で設定し、閾値を10と設定しておき、ユーザがこの10分間にファイルAの更新を11回行ったとする。頻度計測部36は、更新回数を計測して11回という情報を取得する。頻度判定部37は、この更新回数11回を閾値10と比較し、閾値を超えると判断する。時間間隔変更部38は、これまで時間間隔10分と設定していたものを、例えば9分に設定する。時間間隔変更部38によって9分に設定されると、それ以降、バックアップ・ファイル生成部21は、9分ごとにファイルAについてバックアップ・ファイルを生成する。

0038

本発明では、さらに、ユーザの選択により、選択されたファイルのみをユーザ指定日時におけるバージョンに復帰させる選択部39を設けることができる。この選択部39は、ユーザが日時を指定するとともに、ファイルを指定することを受けて、指定されたファイルをグループ化し、そのグループ化されたファイルのみを検索するように、上記バックアップ・ファイル検索部23および差分データ検索部24に指示する。選択部39は、例えば、復帰ファイル識別子を割り当て、バックアップ・ファイル検索部23および差分データ検索部24に、その割り当てられたファイルのバックアップ・ファイルおよび差分データのみを検索させることができる。この選択部39は、必要に応じて設けることができる。

0039

ここで、図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は、マシン名であり、それ以降がマシン内のファイル名を示している。このファイル名は、データ長が変更可能であることから、可変長データとされている。また、バックアップ・ファイル・データのデータ長も変更可能であることから、可変長データとされている。しかしながら、日時に関しては、一定のデータ長であることから、固定長データとされている。

0040

図4(b)に示すデータ構造44は、ファイル名45と、ファイルに書き込まれたデータの位置を示す書き込み位置46と、書き込まれたデータのサイズ47と、書き込まれたデータ48と、書き込まれた日時49とから構成される。上記と同様、ファイル名45、データ48は、可変長データであり、その他の位置46、サイズ47、日時49は、固定長データである。位置46は、データ48を、バックアップ・ファイルのどの位置に書き込むかを示す。位置46は、例えば、先頭からのバイト数などで示すことができる。

0041

図5は、バックアップ作業を効率化するために、データ構造を、バックアップ・ファイル・データおよび書き込みデータを指し示すバックアップ・ファイルのデータ・レコードおよびファイル更新情報のデータ・レコードとして示した図である。図5(a)に、バックアップ・ファイルのデータ・レコードを、図5(b)に、ファイル更新情報のデータ・レコードをそれぞれ示す。図5(a)に示すデータ・レコード50は、ファイルを識別するためのファイル識別子51と、バックアップ・ファイル・データが存在するバックアップ・ファイル・アドレス52と、バックアップ・ファイルを生成した日時53とから構成される。ファイル識別子51は、ファイル名と関連付けられ、対応表データとして第1記憶装置および第2記憶装置に別途格納される。ファイル識別子51、バックアップ・ファイル・アドレス52、日時53はすべて、固定長データである。これらを含むデータ・レコードは、固定長となり、記憶装置内の記憶領域に規則正しく配列して記憶することができ、この結果、検索および読み出しが容易となるため、処理時間を短くすることができる。

0042

図5(b)に示すデータ・レコード54は、ファイル識別子55と、ファイルに書き込まれたデータの位置を示す書き込み位置56と、書き込まれたデータのサイズ57と、書き込まれたデータ58と、書き込まれた日時59とから構成される。このデータ・レコード54は、すべてのデータが、固定長データであることから、固定長データ・レコードとなる。このため、このデータ・レコード54を適用することで、処理時間を短くすることができる。

0043

データ・レコード54の場合、図2および図3に示すバックアップ・ファイル生成部21は、生成されたバックアップ・ファイルに、ファイルを識別するためのファイル識別子51を割り当て、データ・レコード50のバックアップ・ファイル・アドレス情報を生成し、このバックアップ・ファイル・アドレス情報を第1記憶装置に記憶し、バックアップ・ファイル検索部23は、バックアップ・ファイル・アドレス情報に含まれるファイル識別子51と日時53とに基づいて検索し、バックアップ・ファイル・アドレス52に基づいて目的のバックアップ・ファイルを読み出すことができる。

0044

差分データ取得部22は、データ・レコード54の差分データ・アドレス情報となる書き込みデータ・アドレス情報を生成し、第2記憶装置に記憶し、差分データ検索部24は、読み出されたバックアップ・ファイルに関連付けられた日時と指定された日時との間の日時を有する差分データを、書き込みデータ・アドレス情報に含まれるファイル識別子55と日時59とに基づいて検索し、書き込みデータ・アドレス58に基づいて読み出すことができる。

0045

ここで、複数のファイルのバックアップ・ファイルおよび書き込みデータを記憶装置に記憶させるフローを、時刻とともに図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記憶装置に記憶する。

0046

ファイルCもファイルAやファイルBと同様に、ユーザによって設定されるが、ファイルAやファイルBとは異なる時間間隔TCに設定されている。図6に示す実施の形態では、時間間隔TCが最も長くなっている。生成されたバックアップ・ファイルC1は、生成された日時が関連付けられて第1記憶装置に記憶される。ファイルCについても、ユーザによって、バックアップ・ファイルC1の生成前に1回、生成後に3回書き込みが行われており、バックアップ・システムは、ファイルCへの書き込みデータc1、c2、c3、c4を取得し、その書き込みが行われた日時を関連付けて第2記憶装置に記憶する。

0047

例えば、各ファイルを、破線で示される日時tにおけるバージョンに復帰させる場合、バックアップ・システムは、日時tより前で、かつ日時tに最も近いそれぞれのバックアップ・ファイルを第1記憶装置から検索し、読み出す。ファイルAについてはバックアップ・ファイルA1で、ファイルBについてはバックアップ・ファイルB1で、ファイルCについてはバックアップ・ファイルC1となる。次に、それぞれのファイルについて読み出したバックアップ・ファイルに関連付けられた日時と、日時tとの間の日時を有する差分データを、第2記憶装置を検索して読み出す。ファイルAについては書き込みデータa1を含む差分データ、書き込みデータa2を含む差分データで、ファイルBについては書き込みデータb1を含む差分データ、書き込みデータb2を含む差分データで、ファイルCについては書き込みデータc2を含む差分データとなる。

0048

バックアップ・システムは、読み出されたそれぞれのバックアップ・ファイルに、書き込みデータを反映し、各ファイルを日時tのバージョンに復帰させる。ファイルAについては、バックアップ・ファイルA1に、書き込みデータa1、a2をこの時間順に反映して、日時tのバージョンを生成する。ファイルBについては、バックアップ・ファイルB1に、書き込みデータb1、b2をこの時間順に反映し、日時tのバージョンを生成する。ファイルCについては、バックアップ・ファイルC1に、書き込みデータc2を反映し、日時tのバージョンを生成する。このようにして、すべてのファイルを同一日時tのバージョンに復帰させることができる。

0049

本発明の方法を、図7図14を参照して詳細に説明する。この方法は、上記各部を備えるシステムあるいはコンピュータに実行させるためのプログラムとして実現することができる。図7は、バックアップ・ファイルを生成し、差分データを記憶するフローを示す。ここでは、すべてのファイルをバックアップ対象とはせず、ユーザが指定したファイルをバックアップ対象とする場合について説明する。また、バックアップ・ファイルおよび差分データを記憶する記憶装置は、同じであっても、異なっていてもよいが、ここでは異なる第1記憶装置と第2記憶装置とを用いるものとして説明する。

0050

ユーザが、バックアップ対象とするファイルを指定し、そのファイルの指定に応答して、指定されたファイルを1つのグループにグループ化する(ステップ700)。バックアップ対象とするファイルを指定するのは、1ユーザに限らず、複数のユーザであってもよい。例えば、同じプロジェクトに参加する複数のユーザが、そのプロジェクトに必要な複数のファイルをそれぞれ指定することができる。上述したように、各ユーザが、マウスなどを使用して、バックアップ対象にするファイルを、本発明のシステムによって管理されるフォルダにドラッグ・アンド・ドロップすることにより、1つのグループにグループ化することができる。複数のグループにグループ化する場合、本発明のシステムによって管理されるフォルダを複数生成することができる。これにより、複数のプロジェクトに関するファイルを、プロジェクトごとにグループ化することができる。

0051

ユーザの入力により、複数のファイルのそれぞれに、バックアップ・ファイルを生成する時間間隔を設定する(ステップ710)。例えば、5分あるいは10分などの時間を設定することができる。その設定に基づいて、複数のファイルの各々についてバックアップ・ファイルを生成し、それらバックアップ・ファイルを、それらバックアップ・ファイルを生成した日時と関連付けて第1記憶装置に記憶する(ステップ720)。次に、設定された時間に達したか否かを判断する(ステップ730)。達した場合、ステップ720に戻り、再びバックアップ・ファイルを生成する。達していない場合、ユーザからファイルにアクセスがあったか否かを検出する(ステップ740)。OSを監視し、OSがファイルにアクセスすることを検知することにより、アクセスを検出することができる。検出されない場合には、ステップ730に戻り、検出された場合には、OSがファイルへ書き込んだデータを、システムが取得し、書き込みが行われた日時を関連付けて第2記憶装置に記憶する(ステップ750)。その後、ステップ730に戻り、設定された時間に達したか否かを判断する。

0052

図8は、図7に示すステップ720において、バックアップ・ファイルの生成のほか、図5に示すバックアップ・ファイルのデータ・レコードを生成するフローを示す。このデータ・レコードを適用することで、処理時間を短くすることができ、バックアップ効率を向上させることができる。ファイル名にファイル識別子を割り当て、ファイル識別子とファイル名とを対応表データとして第1記憶装置に記憶する(ステップ800)。バックアップ・ファイル・データが記憶された第1記憶装置内の記憶領域のバックアップ・ファイル・アドレスを取得する(ステップ810)。バックアップ・ファイル・データを記憶装置に記憶するとき、アドレスを指定して記憶するため、その指定されたアドレスを取得することができる。アドレスは、上述したように、先頭からのバイト数とすることができる。ファイル識別子と、バックアップ・ファイル・アドレスと、バックアップ・ファイルを生成した日時とを関連付け、データ・レコードを生成する(ステップ820)。いずれも固定長データであるため、データ・レコードも固定長となる。このデータ・レコードは、第1記憶装置に記憶される。

0053

図9は、図7に示すステップ750において、図5に示すファイル更新情報のデータ・レコードを生成するフローを示す。このデータ・レコードを適用することで、処理時間を短くすることができ、バックアップ効率を向上させることができる。ファイル名にファイル識別子を割り当て、ファイル識別子とファイル名とを対応表データとして第2記憶装置に記憶する(ステップ900)。書き込みデータが記憶された第2記憶装置内の記憶領域の書き込みデータ・アドレス、書き込み位置、書き込みデータのサイズを取得する(ステップ910)。書き込みデータ・アドレスは、上記バックアップ・ファイルと同様の方法により、取得することができる。このアドレスも、先頭からのバイト数とすることができる。書き込み位置およびサイズおよび日時は、ファイルにデータを書き込むOSからを取得することができる。この書き込み位置およびサイズおよび日時は、OSがファイルに書き込んだ位置、書き込んだデータのサイズ、書き込んだ日時となる。次に、ファイル識別子と、書き込みデータ・アドレスと、位置、サイズ、日時を関連付け、固定長のデータ・レコードを生成する(ステップ920)。このデータ・レコードは、第2記憶装置に記憶される。

0054

図10は、ユーザが復帰させたい日時を指定し、その日時におけるバージョンを生成するフローを示す。ユーザが、復帰させたい日時を入力することに応答して、日時を指定する(ステップ1000)。日時の指定は、設定することにより行われ、ユーザの入力により、例えば、「2005/02/14 13:20」と設定する。その指定に応答して、バックアップ・ファイルを、その指定された日時を基に、検索する(ステップ1010)。図4(a)に示すデータ構造の場合、ファイル名が同じものについて、指定日時より前で、かつ最も近いものを検索することにより特定することができる。検索結果として特定されたバックアップ・ファイルを読み出す(ステップ1020)。読み出されたバックアップ・ファイルは、例えばメモリに保持され、後述する書き込みデータが反映される。

0055

特定されたバックアップ・ファイルに関連付けられた日時を取得し、その日時と、指定された日時との間の日時を有する差分データを検索する(ステップ1030)。図4(b)に示すデータ構造の場合、ファイル名が同じものについて、その間に入る差分データを、差分データに含まれる日時を基に検索し、特定する。検索結果として特定された差分データを読み出す(ステップ1040)。読み出された差分データも、メモリに保持される。

0056

読み出され、保持されたバックアップ・ファイルに、読み出され、保持された差分データを反映して、指定された日時におけるバーションを生成する(ステップ1050)。差分データは、書き込み位置、サイズ、書き込みデータを含む。システムは、書き込み命令を実行し、書き込み位置から、バックアップ・ファイルに書き込む位置を特定し、その位置において書き込みデータを書き込んで指定日時におけるバージョンを生成する。2以上の差分データがある場合には、日時順に、同様の方法により書き込み、指定日時におけるバージョンを生成する。

0057

図11は、図10に示すステップ1010およびステップ1020において、図5(a)に示すデータ・レコードを使用する場合のフローを示した図である。ユーザによって日時が指定されると、システムはそれを受けて、第1記憶装置から対応表データを読み出し、ファイルに対応するファイル識別子を取得する(ステップ1100)。そのファイル識別子と指定日時を基に、第1記憶装置に記憶されるデータ・レコードを検索する(ステップ1110)。指定日時より前で、かつ最も近い日時を有するデータ・レコードを特定する(ステップ1120)。そのデータ・レコードに含まれるアドレスを基に、バックアップ・ファイルを読み出す(ステップ1130)。複数のファイルの各々に対する各バックアップ・ファイルを読み出す場合には、ステップ1100で、ファイル名を変え、上記複数のファイルに含まれる別のファイルに対応するファイル識別子を取得し、ステップ1110からステップ1130までは同様の処理を行い、これを繰り返すことで、複数のファイルの各々についての各バックアップ・ファイルを読み出すことができる。

0058

図12は、図10に示すステップ1030およびステップ1040において、図5(b)に示すデータ・レコードを使用する場合のフローを示した図である。図11のステップ1130で、バックアップ・ファイルが読み出されると、これを受けてシステムは、バックアップ・ファイルに関連付けられる日時を取得する(ステップ1200)。取得した日時と、指定日時とから検索するべき日時範囲を算出し、その日時範囲に入る、第2記憶装置に記憶されるデータ・レコードを、ファイル識別子を基に検索する(ステップ1210)。日時範囲に入るデータ・レコードを読み出す(ステップ1220)。ここで、データ・レコードを読み出すのは、データ・レコードに、書き込み位置およびサイズが含まれ、日時も含まれているからである。複数のデータ・レコードを読み出した場合、日時順に配列させる(ステップ1230)。これは、日時順に、バックアップ・ファイルに適用するためである。配列されたデータ・レコードに含まれるアドレスを基に、順に書き込みデータを読み出す(ステップ1240)。これにより、読み出された書き込みデータが、日時順に配列した書き込みデータとなる。本発明では、配列させなくてもよく、この場合には、書き込みデータを読み出し、読み出された書き込みデータをデータ・レコードと関連付けて保持させておき、適用する段階で、日時を基に、日時順に適用することができる。複数のファイルの各々に対して書き込みデータを読み出す場合には、複数のファイルの各々についてステップ1200からステップ1240を繰り返すことで、複数のファイルの各々についての書き込みデータを読み出すことができる。

0059

本発明のバックアップ・システムは、書き込み回数を計測し、回数に応じてバックアップ作業を行う時間間隔の設定を変更することができる。図13は、バックアップ・ファイルを生成する時間間隔の設定を変更するフローを示した図である。初期値となる時間間隔をユーザが入力し、バックアップ・システムが、入力された時間間隔を設定する(ステップ1300)。初期値は、バックアップ・システムがもつデフォルト値であってもよい。例えば、ユーザが10分と入力することで、時間間隔を10分と設定する。時間間隔の設定を受けて、その時間間隔でバックアップを開始する(ステップ1310)。バックアップ・システムは、プログラムを実行させることにより、設定時間経過時、バックアップ・ファイルを生成する。設定した時間が経過するまでの間に、ユーザが書き込みを行い、ファイルを更新した回数をカウントする(ステップ1320)。これは、上記カウンタなどの頻度計測部によって行われる。設定時間に到達した後、その設定した時間内にユーザが行った更新回数が、閾値を超えるか否かを判定する(ステップ1330)。超えない場合、カウンタを0にし、ステップ1320に戻り、時間間隔を変更することなく、再度カウントする。超える場合、設定時間を変更する(ステップ1340)。設定時間の変更は、閾値を超えない回数にするため、設定時間を短縮させ、例えば、10分を9分に変更する。次に、カウンタを0にする(ステップ1350)。設定時間を変更し、カウンタを0にした後、ステップ1320に戻り、変更された時間間隔の間の更新回数のカウントを開始する。

0060

図14は、バックアップ・ファイルを生成する時間間隔の設定を変更する別のフローを示した図である。図13と同様、初期値となる時間間隔をユーザが入力し、入力された時間間隔を設定する(ステップ1400)。時間間隔の設定を受けて、その時間間隔でバックアップを開始する(ステップ1410)。設定した時間が経過するまでの間に、ファイルを更新した回数をカウントする(ステップ1420)。設定時間に到達した後、更新回数が閾値を超えるか否かを判定する(ステップ1430)。超えると判定された場合、設定時間を短縮させる(ステップ1440)。設定時間を短縮させ、その時間を設定した後、カウンタを0にして(ステップ1450)、再びステップ1420に戻り、新たに設定された時間間隔の間の更新回数をカウントする。ステップ1430で、超えないと判定された場合、第2閾値を超えるか否かを判定する(ステップ1460)。超えると判定された場合、カウンタを0にし、ステップ1420に戻り、時間間隔を変更することなく、再び更新回数をカウントする。超えないと判定された場合、設定時間を延長させる(ステップ1470)。例えば、設定時間10分を11分に延長させることができる。設定時間を延長させ、その時間を設定した後、カウンタを0にして(ステップ1480)、再びステップ1420に戻り、新たに設定された時間間隔の間の更新回数をカウントする。

0061

これまで図面を参照して、本発明のバックアップ・システム、バックアップ方法について説明してきたが、本発明は、バックアップ方法をコンピュータに実行させるプログラムとして構成することもでき、このプログラムを記録した記録媒体として提供することができる。

図面の簡単な説明

0062

本発明のシステムを組み込んだコンピュータ・システムの概略図。
本発明のシステムの構成を例示した図。
本発明のシステムの別の実施形態を示した図。
データ構造を例示した図。
データ・レコードを例示した図。
各ファイルにつき、バックアップ作業を時刻とともに示したフロー図。
バックアップ・ファイルを生成し、差分データを記憶するフロー図。
図7に示すステップ720において、図5に示すバックアップ・ファイルのデータ・レコードを生成するフロー図。
図7に示すステップ750において、図5に示すファイル更新情報のデータ・レコードを生成するフロー図。
ユーザが復帰させたい日時を指定し、その日時におけるバージョンを生成するフロー図。
図10に示すステップ1010において、図5(a)に示すデータ・レコードを使用する場合のフロー図。
図10に示すステップ1030において、図5(b)に示すデータ・レコードを使用する場合のフロー図。
バックアップ・ファイルを生成する時間間隔の設定を変更するフロー図。
バックアップ・ファイルを生成する時間間隔の設定を変更する別のフロー図。

符号の説明

0063

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…日時

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ