JPH07230401A - ファイル保守方法およびファイル保守システム - Google Patents
ファイル保守方法およびファイル保守システムInfo
- Publication number
- JPH07230401A JPH07230401A JP6020582A JP2058294A JPH07230401A JP H07230401 A JPH07230401 A JP H07230401A JP 6020582 A JP6020582 A JP 6020582A JP 2058294 A JP2058294 A JP 2058294A JP H07230401 A JPH07230401 A JP H07230401A
- Authority
- JP
- Japan
- Prior art keywords
- file
- information
- update
- directory
- server
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】クライアントに復元情報採取用装置を付加せず
にファイルの復元を保障する。更新操作毎の更新情報の
記録手段のない情報処理装置に適用できる。 【構成】更新バックアップ処理と、ファイルリカバリ処
理とを実行する。前者は、実行指示によりまたは周期的
に起動され、クライアントが変更されたファイルとその
更新情報を検出するステップと、サーバが該ファイルの
復元情報を採取しサーバの記憶装置に格納するステップ
とを有する。後者は、サーバがディレクトリ情報と更新
情報とを基に、指示された時点のディレクトリ情報テー
ブルを作成するステップと、サーバが該テーブルと復元
情報のファイル内容を基に、指示時点における指示され
たファイルの内容を再構築するステップと、クライアン
トが再構築されたファイル内容を復元対象ファイルに格
納するステップとを有する。
にファイルの復元を保障する。更新操作毎の更新情報の
記録手段のない情報処理装置に適用できる。 【構成】更新バックアップ処理と、ファイルリカバリ処
理とを実行する。前者は、実行指示によりまたは周期的
に起動され、クライアントが変更されたファイルとその
更新情報を検出するステップと、サーバが該ファイルの
復元情報を採取しサーバの記憶装置に格納するステップ
とを有する。後者は、サーバがディレクトリ情報と更新
情報とを基に、指示された時点のディレクトリ情報テー
ブルを作成するステップと、サーバが該テーブルと復元
情報のファイル内容を基に、指示時点における指示され
たファイルの内容を再構築するステップと、クライアン
トが再構築されたファイル内容を復元対象ファイルに格
納するステップとを有する。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置の、外部
記憶装置等に保持されているファイルの保守方法、およ
び、その方法を用いたファイル保守システムに関する。
記憶装置等に保持されているファイルの保守方法、およ
び、その方法を用いたファイル保守システムに関する。
【0002】
【従来の技術】情報処理装置は、通常、外部記憶装置等
に処理対象となるデータを保持する。しかし、これらの
外部記憶装置等に保持されたデータは、記憶装置等の故
障や、運用ミスなどの不足の事態により破壊されてしま
う恐れがある。そこで、これらのデータの復元を保障す
ることによりデータを保守する必要がある。このため、
一般にこれらのデータに対しては、装置故障によるデー
タ破壊のような不測の事態に備え、処理対象のデータを
復元するために、該データの復元のための情報を採取し
て他の外部記憶装置(磁気テープ装置など)に保持する
復元情報採取処理、いわゆるバックアップ処理と、採取
され保持された復元情報を用いてデータを復元する復元
処理、いわゆるリカバリ処理とが行われる。
に処理対象となるデータを保持する。しかし、これらの
外部記憶装置等に保持されたデータは、記憶装置等の故
障や、運用ミスなどの不足の事態により破壊されてしま
う恐れがある。そこで、これらのデータの復元を保障す
ることによりデータを保守する必要がある。このため、
一般にこれらのデータに対しては、装置故障によるデー
タ破壊のような不測の事態に備え、処理対象のデータを
復元するために、該データの復元のための情報を採取し
て他の外部記憶装置(磁気テープ装置など)に保持する
復元情報採取処理、いわゆるバックアップ処理と、採取
され保持された復元情報を用いてデータを復元する復元
処理、いわゆるリカバリ処理とが行われる。
【0003】バックアップ処理の方法には、最も単純な
ものとして、定期的に全データを外部記憶装置へ複写す
る方法がある。この方法によれば、データの破壊が起こ
っても複製を作った時点の状態に戻すことができる。し
かし、この方法では複製を作成してからデータの破壊が
起こるまでの間に行われたファイルの追加、削除、更新
処理等の結果が失われてしまう。そのため、このデータ
処理結果の消失を最小にしようとした場合、複写を行う
間隔を短くしなければならない。ところが、複写は一般
に時間を要する処理であり、複写を頻繁に行うことには
限界がある。
ものとして、定期的に全データを外部記憶装置へ複写す
る方法がある。この方法によれば、データの破壊が起こ
っても複製を作った時点の状態に戻すことができる。し
かし、この方法では複製を作成してからデータの破壊が
起こるまでの間に行われたファイルの追加、削除、更新
処理等の結果が失われてしまう。そのため、このデータ
処理結果の消失を最小にしようとした場合、複写を行う
間隔を短くしなければならない。ところが、複写は一般
に時間を要する処理であり、複写を頻繁に行うことには
限界がある。
【0004】そこで、もう一つのバックアップの方法と
して、一度全データの複製を作成したら、それ以後はデ
ータに対して書き込み,削除などの更新処理が行われた
時にその内容のみを逐次保存していく方法がある。更新
処理内容の保存は全データの複写に比べて少ない時間で
実行することができる。バックアップしたデータを復元
したいときは、最初に採取された複製を該データに複写
し、その複写されたデータに対して、保存されている更
新処理の内容を再現することで復元できる。本方法によ
れば、データの破壊が起こっても常に最新の状態にデー
タを復元することができる。
して、一度全データの複製を作成したら、それ以後はデ
ータに対して書き込み,削除などの更新処理が行われた
時にその内容のみを逐次保存していく方法がある。更新
処理内容の保存は全データの複写に比べて少ない時間で
実行することができる。バックアップしたデータを復元
したいときは、最初に採取された複製を該データに複写
し、その複写されたデータに対して、保存されている更
新処理の内容を再現することで復元できる。本方法によ
れば、データの破壊が起こっても常に最新の状態にデー
タを復元することができる。
【0005】上記バックアップ方法の具体例として、特
開平3−71351号公報に開示されている方法があ
る。本方法は、バックアップ対象となるデータ、該デー
タの複製、該データの更新処理内容を別々の記憶装置上
に格納し、さらに頻繁にアクセスされる更新処理内容を
格納する記憶装置には高速なものを使用することで、信
頼性、性能の高いバックアップ処理を実現しようという
ものである。
開平3−71351号公報に開示されている方法があ
る。本方法は、バックアップ対象となるデータ、該デー
タの複製、該データの更新処理内容を別々の記憶装置上
に格納し、さらに頻繁にアクセスされる更新処理内容を
格納する記憶装置には高速なものを使用することで、信
頼性、性能の高いバックアップ処理を実現しようという
ものである。
【0006】
【発明が解決しようとする課題】上記従来例のバックア
ップ方法では、時間を要する全データ複写の頻度を少な
くしてもデータ破壊時には常に最新状態を復元でき、通
常行われるデータ更新処理内容の保存にかかるオーバヘ
ッドも小さくしているという点で優れた方法である。し
かし、上記従来例では、復元情報を保持するためのバッ
クアップ専用の記憶装置を、情報処理装置ごとに付加す
る必要がある。このため、上記従来例には、復元を保障
する必要のある情報を有する情報処理装置が多数接続さ
れたネットワークシステムにおいて、個々の情報処理装
置にこの方法を適用しようとすると、コストが高くなっ
てしまうという課題があった。
ップ方法では、時間を要する全データ複写の頻度を少な
くしてもデータ破壊時には常に最新状態を復元でき、通
常行われるデータ更新処理内容の保存にかかるオーバヘ
ッドも小さくしているという点で優れた方法である。し
かし、上記従来例では、復元情報を保持するためのバッ
クアップ専用の記憶装置を、情報処理装置ごとに付加す
る必要がある。このため、上記従来例には、復元を保障
する必要のある情報を有する情報処理装置が多数接続さ
れたネットワークシステムにおいて、個々の情報処理装
置にこの方法を適用しようとすると、コストが高くなっ
てしまうという課題があった。
【0007】また、上記従来方法では、ある時点のデー
タの複製とその時点以後のデータの更新操作内容との組
み合わせでバックアップを保持するため、データの更新
操作処理を行なうごとにその内容を記録する手段が用意
されていない情報処理装置には適用が困難であるという
課題があった。
タの複製とその時点以後のデータの更新操作内容との組
み合わせでバックアップを保持するため、データの更新
操作処理を行なうごとにその内容を記録する手段が用意
されていない情報処理装置には適用が困難であるという
課題があった。
【0008】そこで、本発明は、ネットワークに接続さ
れた情報処理装置が、該ネットワーク上の複数の他の情
報処理装置が有するデータのある時点の複製とその時点
以後のデータ操作内容を保持することで、個々の情報処
理装置に特別な付加装置を付加することなく、低コスト
で実現可能な、データ保守方法およびデータ保守システ
ムを提供することを第1の目的とする。
れた情報処理装置が、該ネットワーク上の複数の他の情
報処理装置が有するデータのある時点の複製とその時点
以後のデータ操作内容を保持することで、個々の情報処
理装置に特別な付加装置を付加することなく、低コスト
で実現可能な、データ保守方法およびデータ保守システ
ムを提供することを第1の目的とする。
【0009】また、本発明は、更新操作を実行するごと
にデータ更新操作内容を逐次記録していく手段が提供さ
れていない情報処理装置にも適用可能な、データの保守
方法およびデータ保守システムを提供することを第2の
目的とする。
にデータ更新操作内容を逐次記録していく手段が提供さ
れていない情報処理装置にも適用可能な、データの保守
方法およびデータ保守システムを提供することを第2の
目的とする。
【0010】
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明では、記憶装置と演算処理装置とを有
する少なくとも一つのサーバと、該サーバに通信回線を
介して接続された少なくとも一つのクライアントとを有
し、該クライアントは、すくなくとも一つのファイルを
保持する記憶装置と、該ファイルの作成、更新、および
削除を行なう手段を有する演算処理装置と、外部からの
入力を受け付ける入力装置とを有するネットワークシス
テムにおける該ファイルの保守方法において、復元の指
示と、復元対象のファイルの指示と、復元する時点につ
いての指示とを、入力装置を介して受け付ける入力受け
付け処理と、ファイルの復元のための情報を採取する更
新バックアップ処理と、入力装置を介して指示されたフ
ァイルを、入力装置を介して指示された時点のものに復
元するファイルリカバリ処理とを少なくとも実行する第
1のファイル保守方法が提供される。さらに、このファ
イル保守方法を用いたファイル保守システムも提供され
る。
るために、本発明では、記憶装置と演算処理装置とを有
する少なくとも一つのサーバと、該サーバに通信回線を
介して接続された少なくとも一つのクライアントとを有
し、該クライアントは、すくなくとも一つのファイルを
保持する記憶装置と、該ファイルの作成、更新、および
削除を行なう手段を有する演算処理装置と、外部からの
入力を受け付ける入力装置とを有するネットワークシス
テムにおける該ファイルの保守方法において、復元の指
示と、復元対象のファイルの指示と、復元する時点につ
いての指示とを、入力装置を介して受け付ける入力受け
付け処理と、ファイルの復元のための情報を採取する更
新バックアップ処理と、入力装置を介して指示されたフ
ァイルを、入力装置を介して指示された時点のものに復
元するファイルリカバリ処理とを少なくとも実行する第
1のファイル保守方法が提供される。さらに、このファ
イル保守方法を用いたファイル保守システムも提供され
る。
【0011】なお、上記第1のファイル保守方法におけ
る更新バックアップ処理は、あらかじめ定められた周期
により発行される起動命令、および、入力装置を介して
受け付けられたバックアップ処理の実行指示のうちの少
なくともいずれかにより起動され、クライアントの演算
処理装置が、作成、更新、および削除のいずれかの変更
が行なわれたファイルと、その変更の内容を示す更新情
報とを検出し、該ファイルを特定する情報と該ファイル
の更新情報とをサーバに転送する変更ファイル検出ステ
ップと、上記転送を受け付けたサーバの演算処理装置
が、ディレクトリの構成を示すディレクトリ情報と、上
記検出したファイルの内容と、該ファイルの更新情報と
を含む、該ファイルの復元のための情報である復元情報
を採取し、該復元情報をサーバの記憶装置に格納する更
新情報格納ステップとを有する。
る更新バックアップ処理は、あらかじめ定められた周期
により発行される起動命令、および、入力装置を介して
受け付けられたバックアップ処理の実行指示のうちの少
なくともいずれかにより起動され、クライアントの演算
処理装置が、作成、更新、および削除のいずれかの変更
が行なわれたファイルと、その変更の内容を示す更新情
報とを検出し、該ファイルを特定する情報と該ファイル
の更新情報とをサーバに転送する変更ファイル検出ステ
ップと、上記転送を受け付けたサーバの演算処理装置
が、ディレクトリの構成を示すディレクトリ情報と、上
記検出したファイルの内容と、該ファイルの更新情報と
を含む、該ファイルの復元のための情報である復元情報
を採取し、該復元情報をサーバの記憶装置に格納する更
新情報格納ステップとを有する。
【0012】また、上記第1のファイル保守方法におけ
るファイルリカバリ処理は、入力装置を介してクライア
ントの演算処理装置の受け付けた、ファイルの復元指示
により起動され、クライアントの演算処理装置が、入力
装置を介して受け付けた復元する時点の指示を上記サー
バに転送するステップと、上記時点の指示の転送を受け
付けたサーバの演算処理装置が、上記ディレクトリ情報
と上記更新情報とを基に、該指示された時点のディレク
トリを表わすリカバリ用ディレクトリ情報テーブルを作
成するステップと、クライアントの演算処理装置が、入
力装置を介して受け付けた復元するファイルの指示を上
記サーバに転送するステップと、上記ファイル指示の転
送を受け付けたサーバの演算処理装置が、上記リカバリ
用ディレクトリ情報テーブルと、上記復元情報に含まれ
る復元対象のファイル内容とを基に、上記指示された時
点における上記指示されたファイルの内容を再構築し、
該内容を上記クライアントに転送するステップと、上記
再構築されたファイル内容の転送を受け付けた上記クラ
イアントの演算処理装置が、上記再構築したファイルの
内容を、上記復元対象のファイルに格納するステップと
を有する。
るファイルリカバリ処理は、入力装置を介してクライア
ントの演算処理装置の受け付けた、ファイルの復元指示
により起動され、クライアントの演算処理装置が、入力
装置を介して受け付けた復元する時点の指示を上記サー
バに転送するステップと、上記時点の指示の転送を受け
付けたサーバの演算処理装置が、上記ディレクトリ情報
と上記更新情報とを基に、該指示された時点のディレク
トリを表わすリカバリ用ディレクトリ情報テーブルを作
成するステップと、クライアントの演算処理装置が、入
力装置を介して受け付けた復元するファイルの指示を上
記サーバに転送するステップと、上記ファイル指示の転
送を受け付けたサーバの演算処理装置が、上記リカバリ
用ディレクトリ情報テーブルと、上記復元情報に含まれ
る復元対象のファイル内容とを基に、上記指示された時
点における上記指示されたファイルの内容を再構築し、
該内容を上記クライアントに転送するステップと、上記
再構築されたファイル内容の転送を受け付けた上記クラ
イアントの演算処理装置が、上記再構築したファイルの
内容を、上記復元対象のファイルに格納するステップと
を有する。
【0013】上記第2の目的を達成するために、本発明
では、少なくとも一つのファイルを保持する記憶装置
と、該ファイルの作成、更新、および削除を行なう手段
を有する演算処理装置と、外部からの入力を受け付ける
入力装置とを有する情報処理装置における該ファイルの
保守方法において、復元の指示と、復元対象のファイル
の指示と、復元する時点についての指示とを、入力装置
を介して受け付ける処理と、ファイルの復元のための情
報を採取する更新バックアップ処理と、入力装置を介し
て指示された上記ファイルを、入力装置を介して指示さ
れた時点のものに復元するファイルリカバリ処理とを少
なくとも実行する第2のファイル保守方法が提供され
る。また、このファイル保守方法を用いたファイル保守
システムも提供される。
では、少なくとも一つのファイルを保持する記憶装置
と、該ファイルの作成、更新、および削除を行なう手段
を有する演算処理装置と、外部からの入力を受け付ける
入力装置とを有する情報処理装置における該ファイルの
保守方法において、復元の指示と、復元対象のファイル
の指示と、復元する時点についての指示とを、入力装置
を介して受け付ける処理と、ファイルの復元のための情
報を採取する更新バックアップ処理と、入力装置を介し
て指示された上記ファイルを、入力装置を介して指示さ
れた時点のものに復元するファイルリカバリ処理とを少
なくとも実行する第2のファイル保守方法が提供され
る。また、このファイル保守方法を用いたファイル保守
システムも提供される。
【0014】なお、上記第2のファイル保守方法におけ
る更新バックアップ処理は、あらかじめ定められた周期
により発行される起動命令、および、入力装置を介して
受け付けられたバックアップ処理の実行指示のうちの少
なくともいずれかにより起動され、作成、更新、および
削除のいずれかの変更が行なわれたファイルと、その変
更の内容を示す更新情報とを検出する変更ファイル検出
ステップと、ディレクトリの構成を示すディレクトリ情
報と、上記検出したファイルの内容と、該ファイルの更
新情報とを含み、該ファイルの復元のための情報である
復元情報を採取し、記憶装置に格納する更新情報格納ス
テップとを有する。
る更新バックアップ処理は、あらかじめ定められた周期
により発行される起動命令、および、入力装置を介して
受け付けられたバックアップ処理の実行指示のうちの少
なくともいずれかにより起動され、作成、更新、および
削除のいずれかの変更が行なわれたファイルと、その変
更の内容を示す更新情報とを検出する変更ファイル検出
ステップと、ディレクトリの構成を示すディレクトリ情
報と、上記検出したファイルの内容と、該ファイルの更
新情報とを含み、該ファイルの復元のための情報である
復元情報を採取し、記憶装置に格納する更新情報格納ス
テップとを有する。
【0015】また、上記第2のファイル保守方法におけ
るファイルリカバリ処理は、入力装置を介して受け付け
られた、ファイルの復元指示により起動され、ディレク
トリ情報と上記更新情報とを基に、指示された時点のデ
ィレクトリを表わすリカバリ用ディレクトリ情報テーブ
ルを作成するステップと、該リカバリ用ディレクトリ情
報テーブルと、復元情報に含まれる復元対象のファイル
の内容とを基に、指示された時点における指示されたフ
ァイルの内容を再構築するステップと、上記再構築され
たファイルの内容を、復元対象のファイルに格納するス
テップとを有する。
るファイルリカバリ処理は、入力装置を介して受け付け
られた、ファイルの復元指示により起動され、ディレク
トリ情報と上記更新情報とを基に、指示された時点のデ
ィレクトリを表わすリカバリ用ディレクトリ情報テーブ
ルを作成するステップと、該リカバリ用ディレクトリ情
報テーブルと、復元情報に含まれる復元対象のファイル
の内容とを基に、指示された時点における指示されたフ
ァイルの内容を再構築するステップと、上記再構築され
たファイルの内容を、復元対象のファイルに格納するス
テップとを有する。
【0016】
【作用】第1のファイル保守方法および該方法を用いた
ファイル保守システムでは、復元情報はサーバの記憶装
置に保持されるため、個々のクライアントに、復元情報
を保持するための記憶装置を備える必要がない。また、
クライアントの演算処理装置は、変更の行なわれたファ
イルを検出するため、変更操作の実行ごとに復元情報を
採取する機能を有していない装置であっても、本方法に
よれば、変更されたファイルのみの復元情報を採取する
ことができる。
ファイル保守システムでは、復元情報はサーバの記憶装
置に保持されるため、個々のクライアントに、復元情報
を保持するための記憶装置を備える必要がない。また、
クライアントの演算処理装置は、変更の行なわれたファ
イルを検出するため、変更操作の実行ごとに復元情報を
採取する機能を有していない装置であっても、本方法に
よれば、変更されたファイルのみの復元情報を採取する
ことができる。
【0017】また、第2のファイル保守方法及び該方法
を用いたファイル保守システムでは、周期的に、または
外部からの指示により、最後に復元情報が採取されてか
ら、現時点までに変更されたファイルを検出し、該ファ
イルの復元情報を採取するため、変更操作の実行ごとに
復元情報を採取する機能を有していない情報処理装置で
あっても、復元情報を採取することができ、ファイルの
復元を保障することができる。
を用いたファイル保守システムでは、周期的に、または
外部からの指示により、最後に復元情報が採取されてか
ら、現時点までに変更されたファイルを検出し、該ファ
イルの復元情報を採取するため、変更操作の実行ごとに
復元情報を採取する機能を有していない情報処理装置で
あっても、復元情報を採取することができ、ファイルの
復元を保障することができる。
【0018】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。
る。
【0019】(実施例1)本実施例の適用される情報処
理装置システムの構成図を図1に示す。本実施例の適用
されるシステムは、ネットワーク回線105を介して、
データの復元を保障すべきローカルデータを持つ少なく
とも一つの情報処理装置(以下、クライアントと称す
る)101と、クライアント101の保持するローカル
データの復元のための情報(復元情報)を保持する情報
処理装置(以下、サーバと称する)102とが接続され
たネットワークシステムである。なお、サーバ102
は、ローカルデータの復元のための専用装置であっても
よいが、ファイルサーバとしての機能など、他の機能を
有する情報処理装置であってもよい。また、サーバ10
2は十分な記憶容量を有していれば、パソコンやワーク
ステーションでもよく、ホストコンピュータでもよい。
本実施例のサーバ102は、ローカルデータの復元のた
めの専用のワークステーションである。
理装置システムの構成図を図1に示す。本実施例の適用
されるシステムは、ネットワーク回線105を介して、
データの復元を保障すべきローカルデータを持つ少なく
とも一つの情報処理装置(以下、クライアントと称す
る)101と、クライアント101の保持するローカル
データの復元のための情報(復元情報)を保持する情報
処理装置(以下、サーバと称する)102とが接続され
たネットワークシステムである。なお、サーバ102
は、ローカルデータの復元のための専用装置であっても
よいが、ファイルサーバとしての機能など、他の機能を
有する情報処理装置であってもよい。また、サーバ10
2は十分な記憶容量を有していれば、パソコンやワーク
ステーションでもよく、ホストコンピュータでもよい。
本実施例のサーバ102は、ローカルデータの復元のた
めの専用のワークステーションである。
【0020】サーバ102は、演算処理装置121と、
外部記憶装置104とを有する。サーバ102の外部記
憶装置104は、ローカルファイル117のディレクト
リ情報のうち最も古いものを格納するディレクトリ情報
ファイル109と、ローカルファイル117の内容のそ
のものを格納するファイルであるデータファイル110
と、最も古い復元情報の採取後に行われたローカルファ
イル117に対する更新内容を記録する更新情報ファイ
ル111と、復元情報を採取するクライアントの識別子
であるバックアップ識別子が登録されるバックアップ登
録ファイル116と、バックアップ処理が行われた時刻
を記録しておくための更新履歴ファイル118とを備え
る。ディレクトリ情報ファイル109と、データファイ
ル110と、更新情報ファイル111と、更新履歴ファ
イル118とは、クライアントごとに設けられる。な
お、一つのクライアント101に2以上のバックアップ
識別子を割り当て、上記の4ファイル109、110、
111、118をバックアップ識別子ごとに設けるよう
にし、同一クライアント101の外部記憶装置103に
保持される複数のローカルファイルの集合に分けて、そ
れぞれの集合にバックアップ識別子を割り当てれば、バ
ックアップ識別子ごとに別々のタイミングで復元情報を
採取するようにすることができる。
外部記憶装置104とを有する。サーバ102の外部記
憶装置104は、ローカルファイル117のディレクト
リ情報のうち最も古いものを格納するディレクトリ情報
ファイル109と、ローカルファイル117の内容のそ
のものを格納するファイルであるデータファイル110
と、最も古い復元情報の採取後に行われたローカルファ
イル117に対する更新内容を記録する更新情報ファイ
ル111と、復元情報を採取するクライアントの識別子
であるバックアップ識別子が登録されるバックアップ登
録ファイル116と、バックアップ処理が行われた時刻
を記録しておくための更新履歴ファイル118とを備え
る。ディレクトリ情報ファイル109と、データファイ
ル110と、更新情報ファイル111と、更新履歴ファ
イル118とは、クライアントごとに設けられる。な
お、一つのクライアント101に2以上のバックアップ
識別子を割り当て、上記の4ファイル109、110、
111、118をバックアップ識別子ごとに設けるよう
にし、同一クライアント101の外部記憶装置103に
保持される複数のローカルファイルの集合に分けて、そ
れぞれの集合にバックアップ識別子を割り当てれば、バ
ックアップ識別子ごとに別々のタイミングで復元情報を
採取するようにすることができる。
【0021】サーバ102の演算処理装置121は、記
憶領域として、サーバ102が復元のための情報を採取
する処理(バックアップ処理)を実行する時のローカル
ファイル117のディレクトリ情報を保持するための最
新ディレクトリ情報テーブル106と、1回のバックア
ップ処理を実行する毎に値を増加させ、バックアップ処
理の実行回数を記録するチェックポイントカウンタ11
9とを有する。また、ローカルファイルの復元処理実行
時に、演算処理装置121に一時的に確保される記憶領
域に、リカバリ用ディレクトリテーブル(図示せず)が
ある。なお、このように、一時的に領域が確保され、使
用されるテーブルについては図1には図示しないことと
した。
憶領域として、サーバ102が復元のための情報を採取
する処理(バックアップ処理)を実行する時のローカル
ファイル117のディレクトリ情報を保持するための最
新ディレクトリ情報テーブル106と、1回のバックア
ップ処理を実行する毎に値を増加させ、バックアップ処
理の実行回数を記録するチェックポイントカウンタ11
9とを有する。また、ローカルファイルの復元処理実行
時に、演算処理装置121に一時的に確保される記憶領
域に、リカバリ用ディレクトリテーブル(図示せず)が
ある。なお、このように、一時的に領域が確保され、使
用されるテーブルについては図1には図示しないことと
した。
【0022】さらに、サーバ102の演算処理装置12
1は、サーバ102側でローカルファイル117の復元
に必要な処理を行うサーバ側バックアップ実行部107
と、クライアント101からの復元情報の採取の登録要
求を受け付けるバックアップ登録受付部120と、ネッ
トワーク回線105を介して行なわれる通信を行う通信
処理部108とを備える。
1は、サーバ102側でローカルファイル117の復元
に必要な処理を行うサーバ側バックアップ実行部107
と、クライアント101からの復元情報の採取の登録要
求を受け付けるバックアップ登録受付部120と、ネッ
トワーク回線105を介して行なわれる通信を行う通信
処理部108とを備える。
【0023】また、クライアント101は、演算処理装
置122と、外部記憶装置103と、入出力装置125
とを有する。クライアント101の外部記憶装置103
は、復元処理の対象となるローカルデータが格納された
ローカルファイル117を保持する。
置122と、外部記憶装置103と、入出力装置125
とを有する。クライアント101の外部記憶装置103
は、復元処理の対象となるローカルデータが格納された
ローカルファイル117を保持する。
【0024】クライアント101の演算処理装置122
は、記憶領域として、クライアント101がバックアッ
プ処理実行時のローカルファイル117のディレクトリ
情報を保持するための旧ディレクトリ情報テーブル11
4を備える。また、復元情報採取時に、演算処理装置1
22に一時的に確保される記憶領域に、現状ディレクト
リ情報テーブル(図示せず)がある。さらに、演算処理
装置122は、ファイルの復元指示を保存するためのフ
ラグの格納領域(図示せず)を備える。
は、記憶領域として、クライアント101がバックアッ
プ処理実行時のローカルファイル117のディレクトリ
情報を保持するための旧ディレクトリ情報テーブル11
4を備える。また、復元情報採取時に、演算処理装置1
22に一時的に確保される記憶領域に、現状ディレクト
リ情報テーブル(図示せず)がある。さらに、演算処理
装置122は、ファイルの復元指示を保存するためのフ
ラグの格納領域(図示せず)を備える。
【0025】さらに、クライアント101の演算処理装
置122は、ネットワーク回線105を介して行なわれ
る通信を行なう通信処理部112と、クライアント10
1側でのローカルファイル117の復元に必要な処理を
行うクライアント側バックアップ実行部113と、ロー
カルファイル117の参照および更新を行なう手段であ
るローカルファイル使用手段115とを備える。
置122は、ネットワーク回線105を介して行なわれ
る通信を行なう通信処理部112と、クライアント10
1側でのローカルファイル117の復元に必要な処理を
行うクライアント側バックアップ実行部113と、ロー
カルファイル117の参照および更新を行なう手段であ
るローカルファイル使用手段115とを備える。
【0026】なお、演算処理装置121、122には、
主記憶装置(図示せず)と中央演算処理装置(図示せ
ず)とが備えられている。演算処理装置121、122
の上記各部は、あらかじめ主記憶装置に保持されたイン
ストラクションを中央演算処理装置が実行することによ
り実現される。
主記憶装置(図示せず)と中央演算処理装置(図示せ
ず)とが備えられている。演算処理装置121、122
の上記各部は、あらかじめ主記憶装置に保持されたイン
ストラクションを中央演算処理装置が実行することによ
り実現される。
【0027】まず、本実施例のデータ復元方法の動作概
要と、上記各テーブルおよびファイルの構造について説
明する。本実施例では、クライアント101の起動時
に、サーバ102への復元の登録が行なわれるととも
に、各復元情報が初期化される。その後、一定周期で、
またはユーザの指示に応じて、復元情報が採取され、サ
ーバ102に蓄積される。ユーザからのローカルファイ
ル117の復元の指示があると、この初期の復元情報
と、その後蓄積された復元情報とにより、復元を指示さ
れたローカルファイルは、最後に復元情報が採取された
時点の状態に復元される。
要と、上記各テーブルおよびファイルの構造について説
明する。本実施例では、クライアント101の起動時
に、サーバ102への復元の登録が行なわれるととも
に、各復元情報が初期化される。その後、一定周期で、
またはユーザの指示に応じて、復元情報が採取され、サ
ーバ102に蓄積される。ユーザからのローカルファイ
ル117の復元の指示があると、この初期の復元情報
と、その後蓄積された復元情報とにより、復元を指示さ
れたローカルファイルは、最後に復元情報が採取された
時点の状態に復元される。
【0028】ローカルデータの復元のための処理を図8
に示す。まず、クライアント101の起動時に、クライ
アント側バックアップ実行部113は、復元情報初期化
処理(ステップ801)を行なう。これにより、復元情
報を採取すべきことがサーバ102に登録され、さらに
復元情報が初期化される。なお、復元情報初期化処理
(ステップ801)では、クライアント側バックアップ
実行部113により、サーバ側バックアップ実行部10
7も起動され、復元情報初期化処理のうち、サーバ10
2側の処理を実行する。
に示す。まず、クライアント101の起動時に、クライ
アント側バックアップ実行部113は、復元情報初期化
処理(ステップ801)を行なう。これにより、復元情
報を採取すべきことがサーバ102に登録され、さらに
復元情報が初期化される。なお、復元情報初期化処理
(ステップ801)では、クライアント側バックアップ
実行部113により、サーバ側バックアップ実行部10
7も起動され、復元情報初期化処理のうち、サーバ10
2側の処理を実行する。
【0029】つぎに、クライアント側バックアップ実行
部113は、あらかじめ定められた一定時間が経過した
かどうか検査し(ステップ802)、経過していれば、
ステップ804に処理を進めて、更新バックアップ処理
を行なう。また、クライアント側バックアップ実行部1
13は、あらかじめ定められた時間が経過していなけれ
ば、更新バックアップ処理の実行の指示が、行なわれた
かどうか検査し(ステップ803)、指示されていれ
ば、ステップ804に処理を進めて、更新バックアップ
処理を行なう。更新バックアップ処理(ステップ80
4)ではローカルファイル使用手段115によるローカ
ルファイル117の更新内容を、更新情報ファイル11
1とデータファイル110に書き加える処理が行なわれ
る。
部113は、あらかじめ定められた一定時間が経過した
かどうか検査し(ステップ802)、経過していれば、
ステップ804に処理を進めて、更新バックアップ処理
を行なう。また、クライアント側バックアップ実行部1
13は、あらかじめ定められた時間が経過していなけれ
ば、更新バックアップ処理の実行の指示が、行なわれた
かどうか検査し(ステップ803)、指示されていれ
ば、ステップ804に処理を進めて、更新バックアップ
処理を行なう。更新バックアップ処理(ステップ80
4)ではローカルファイル使用手段115によるローカ
ルファイル117の更新内容を、更新情報ファイル11
1とデータファイル110に書き加える処理が行なわれ
る。
【0030】更新バックアップ処理(ステップ804)
が終了すると、クライアント側バックアップ実行部11
3は、ステップ805に処理を進める。また、ステップ
803において、更新バックアップ処理の指示が行なわ
れていない場合も、クライアント側バックアップ実行部
113は、ステップ805に処理を進める。ステップ8
05において、クライアント側バックアップ実行部11
3は、ファイルの復元が指示されているかどうか検査す
る(ステップ805)。クライアント側バックアップ実
行部113は、復元が指示されていればファイルリカバ
リ処理を実行し(ステップ806)、指示されていなけ
れば、ステップ802に戻って、上記処理を繰り返す。
更新バックアップ処理とファイルリカバリ処理の詳細は
後で説明する。
が終了すると、クライアント側バックアップ実行部11
3は、ステップ805に処理を進める。また、ステップ
803において、更新バックアップ処理の指示が行なわ
れていない場合も、クライアント側バックアップ実行部
113は、ステップ805に処理を進める。ステップ8
05において、クライアント側バックアップ実行部11
3は、ファイルの復元が指示されているかどうか検査す
る(ステップ805)。クライアント側バックアップ実
行部113は、復元が指示されていればファイルリカバ
リ処理を実行し(ステップ806)、指示されていなけ
れば、ステップ802に戻って、上記処理を繰り返す。
更新バックアップ処理とファイルリカバリ処理の詳細は
後で説明する。
【0031】なお、本実施例では、更新バックアップ処
理(ステップ804)は、ステップ802において一定
時間が経過したことを検出すると実行されるため、周期
的に起動されることになる。この更新バックアップ処理
(ステップ804)の実行の周期は、復元対象のデータ
の重要度に応じて定めることが望ましい。すなわち、高
い信頼性が要求されるデータについては、頻繁に復元情
報を採取するようにし、それほど高い信頼性が要求され
ないデータについては、クライアント101の演算処理
装置122およびサーバ102の負荷を軽減するため
に、更新バックアップ処理(ステップ804)の周期を
長くすることが望ましい。また、本実施例のクライアン
ト101は入出力装置125を備え、入出力装置125
を介して使用者による復元情報の採取の指示を受け付け
ると、演算処理装置122内に保持されるフラグ格納領
域(図示せず)にファイル復元指示を示す値が格納され
る。ステップ805では、クライアント側バックアップ
実行部113は、このフラグ格納領域を参照し、そこに
保持された値をもとに、復元情報の採取の指示がすでに
受け付けられたかどうかを判定する。
理(ステップ804)は、ステップ802において一定
時間が経過したことを検出すると実行されるため、周期
的に起動されることになる。この更新バックアップ処理
(ステップ804)の実行の周期は、復元対象のデータ
の重要度に応じて定めることが望ましい。すなわち、高
い信頼性が要求されるデータについては、頻繁に復元情
報を採取するようにし、それほど高い信頼性が要求され
ないデータについては、クライアント101の演算処理
装置122およびサーバ102の負荷を軽減するため
に、更新バックアップ処理(ステップ804)の周期を
長くすることが望ましい。また、本実施例のクライアン
ト101は入出力装置125を備え、入出力装置125
を介して使用者による復元情報の採取の指示を受け付け
ると、演算処理装置122内に保持されるフラグ格納領
域(図示せず)にファイル復元指示を示す値が格納され
る。ステップ805では、クライアント側バックアップ
実行部113は、このフラグ格納領域を参照し、そこに
保持された値をもとに、復元情報の採取の指示がすでに
受け付けられたかどうかを判定する。
【0032】なお、本実施例では、サーバ102の演算
処理装置122は、タイムシェアリングシステムである
ので、サーバ側バックアップ実行部107は、復元情報
の採取の登録を受け付けているクライアント101の数
だけ起動され、それぞれが並列的に動作する。
処理装置122は、タイムシェアリングシステムである
ので、サーバ側バックアップ実行部107は、復元情報
の採取の登録を受け付けているクライアント101の数
だけ起動され、それぞれが並列的に動作する。
【0033】つぎに、復元情報初期化処理(ステップ8
01)の流れを図20に示す。まず、クライアント10
1の起動によりクライアント側バックアップ実行部11
3が起動されると、クライアント側バックアップ実行部
113は、サーバ102に対して復元情報の採取の登録
を要求する(ステップ2001)。この登録要求には、
クライアント101ごとに一意になるようにあらかじめ
定められているバックアップ識別子が付加され、要求を
発行したクライアント101が識別できるようになって
いる。
01)の流れを図20に示す。まず、クライアント10
1の起動によりクライアント側バックアップ実行部11
3が起動されると、クライアント側バックアップ実行部
113は、サーバ102に対して復元情報の採取の登録
を要求する(ステップ2001)。この登録要求には、
クライアント101ごとに一意になるようにあらかじめ
定められているバックアップ識別子が付加され、要求を
発行したクライアント101が識別できるようになって
いる。
【0034】上記登録要求は、通信処理部112とネッ
トワーク回線105と通信処理部108とを経由して、
サーバ102のバックアップ登録受付部120へ到達す
る。この登録要求の受信により起動された(ステップ2
002)バックアップ登録受付部120は、登録要求に
付加されているバックアップ識別子が、すでにバックア
ップ登録ファイル116に登録されているかどうかを検
査する(ステップ2003)。
トワーク回線105と通信処理部108とを経由して、
サーバ102のバックアップ登録受付部120へ到達す
る。この登録要求の受信により起動された(ステップ2
002)バックアップ登録受付部120は、登録要求に
付加されているバックアップ識別子が、すでにバックア
ップ登録ファイル116に登録されているかどうかを検
査する(ステップ2003)。
【0035】バックアップ登録ファイル116に登録さ
れていない場合、バックアップ登録受付部120は、該
登録を発行したクライアント101のバックアップ識別
子をバックアップ登録ファイル116へ新たに登録し、
該クライアント101に関するディレクトリ情報ファイ
ル109、データファイル110、更新情報ファイル1
11、更新履歴ファイル118の名前を決定し、これら
のファイル名もバックアップ登録ファイル116に登録
する(ステップ2004)。そして、バックアップ登録
受付要求部120は、サーバ側バックアップ実行部10
7を起動し(ステップ2005)、該サーバ側バックア
ップ実行部107に対し初期バックアップ処理の実行を
要求する。起動されたサーバ側バックアップ実行部10
7は前記四つのファイル109、110、111、11
8の初期化を行うために、初期バックアップ処理を実行
して(ステップ2006)、復元情報初期化処理を終了
する。初期バックアップ処理の詳細については後で説明
する。
れていない場合、バックアップ登録受付部120は、該
登録を発行したクライアント101のバックアップ識別
子をバックアップ登録ファイル116へ新たに登録し、
該クライアント101に関するディレクトリ情報ファイ
ル109、データファイル110、更新情報ファイル1
11、更新履歴ファイル118の名前を決定し、これら
のファイル名もバックアップ登録ファイル116に登録
する(ステップ2004)。そして、バックアップ登録
受付要求部120は、サーバ側バックアップ実行部10
7を起動し(ステップ2005)、該サーバ側バックア
ップ実行部107に対し初期バックアップ処理の実行を
要求する。起動されたサーバ側バックアップ実行部10
7は前記四つのファイル109、110、111、11
8の初期化を行うために、初期バックアップ処理を実行
して(ステップ2006)、復元情報初期化処理を終了
する。初期バックアップ処理の詳細については後で説明
する。
【0036】一方、ステップ2003において、登録に
付加されているバックアップ識別子がバックアップ登録
ファイル116にすでに登録されていた場合、バックア
ップ登録受付部120は、サーバ側バックアップ実行部
107を起動し(ステップ2007)、該サーバ側バッ
クアップ実行部107に対し最新ディレクトリ情報テー
ブル106の再構築開始を要求する。サーバ側バックア
ップ実行部107は、バックアップ登録ファイル116
内に保持されている該クライアント101に関するディ
レクトリ情報ファイル109、データファイル110、
更新情報ファイル111、更新履歴ファイル118の名
前を参照し、ディレクトリ情報ファイル109と更新情
報ファイル111の内容を用いて最新ディレクトリ情報
テーブル106を再び作成する(ステップ2008)。
そして、サーバ側バックアップ実行部107は、その再
構築した最新ディレクトリ情報テーブル106の内容
を、通信処理部108を介してクライアント側バックア
ップ実行部113に送信する。通信処理部112を介し
て再構築した最新ディレクトリ情報テーブル106の内
容を受け取ったクライアント側バックアップ実行部11
3は、その内容を旧ディレクトリ情報テーブル114に
格納して(ステップ2009)、復元情報初期化処理を
終了する。
付加されているバックアップ識別子がバックアップ登録
ファイル116にすでに登録されていた場合、バックア
ップ登録受付部120は、サーバ側バックアップ実行部
107を起動し(ステップ2007)、該サーバ側バッ
クアップ実行部107に対し最新ディレクトリ情報テー
ブル106の再構築開始を要求する。サーバ側バックア
ップ実行部107は、バックアップ登録ファイル116
内に保持されている該クライアント101に関するディ
レクトリ情報ファイル109、データファイル110、
更新情報ファイル111、更新履歴ファイル118の名
前を参照し、ディレクトリ情報ファイル109と更新情
報ファイル111の内容を用いて最新ディレクトリ情報
テーブル106を再び作成する(ステップ2008)。
そして、サーバ側バックアップ実行部107は、その再
構築した最新ディレクトリ情報テーブル106の内容
を、通信処理部108を介してクライアント側バックア
ップ実行部113に送信する。通信処理部112を介し
て再構築した最新ディレクトリ情報テーブル106の内
容を受け取ったクライアント側バックアップ実行部11
3は、その内容を旧ディレクトリ情報テーブル114に
格納して(ステップ2009)、復元情報初期化処理を
終了する。
【0037】ディレクトリ情報ファイル109の内部構
造を図2に示す。ディレクトリ情報ファイル109は、
復元を保障するローカルファイル117ごとに、そのフ
ァイル名、大きさ、属性、最終更新日付などの情報と、
そのディレクトリ内での位置を記憶するためのファイル
である。ディレクトリ情報ファイル109は、図2
(a)に示すように、一つのファイルまたはサブディレ
クトリに関する情報を管理するためのディレクトリ情報
を保持するディレクトリ情報格納領域200が一つまた
は複数並んだ配列構造を備える。ディレクトリ情報格納
領域200にはそれぞれ固有のインデックス番号が割り
当てられている。
造を図2に示す。ディレクトリ情報ファイル109は、
復元を保障するローカルファイル117ごとに、そのフ
ァイル名、大きさ、属性、最終更新日付などの情報と、
そのディレクトリ内での位置を記憶するためのファイル
である。ディレクトリ情報ファイル109は、図2
(a)に示すように、一つのファイルまたはサブディレ
クトリに関する情報を管理するためのディレクトリ情報
を保持するディレクトリ情報格納領域200が一つまた
は複数並んだ配列構造を備える。ディレクトリ情報格納
領域200にはそれぞれ固有のインデックス番号が割り
当てられている。
【0038】各ディレクトリ情報格納領域200は、図
2(b)に示すように、それぞれ、ファイルまたはサブ
ディレクトリ名を格納するためのファイル名格納領域2
01、ファイルの大きさを格納するためのファイルサイ
ズ格納領域202、ファイルかサブディレクトリか、あ
るいはファイルが書き込み禁止かどうか等を示す属性を
格納するための属性格納領域203、ファイルの最終更
新日時を格納する最終更新日時格納領域204、データ
ファイル110の中でのファイルの内容が格納されてい
る位置を表すデータ先頭位置を格納するためのデータ先
頭位置格納領域205、このディレクトリ情報がサブデ
ィレクトリに関するものの場合に、該サブディレクトリ
に属すファイル/サブディレクトリのディレクトリ情報
の格納領域200のうち先頭に位置するもののインデッ
クス番号を格納するためのサブディレクトリインデック
ス格納領域206、および、次のディレクトリ情報のイ
ンデックス番号を保持するためのディレクトリ情報イン
デックス格納領域207を有する。
2(b)に示すように、それぞれ、ファイルまたはサブ
ディレクトリ名を格納するためのファイル名格納領域2
01、ファイルの大きさを格納するためのファイルサイ
ズ格納領域202、ファイルかサブディレクトリか、あ
るいはファイルが書き込み禁止かどうか等を示す属性を
格納するための属性格納領域203、ファイルの最終更
新日時を格納する最終更新日時格納領域204、データ
ファイル110の中でのファイルの内容が格納されてい
る位置を表すデータ先頭位置を格納するためのデータ先
頭位置格納領域205、このディレクトリ情報がサブデ
ィレクトリに関するものの場合に、該サブディレクトリ
に属すファイル/サブディレクトリのディレクトリ情報
の格納領域200のうち先頭に位置するもののインデッ
クス番号を格納するためのサブディレクトリインデック
ス格納領域206、および、次のディレクトリ情報のイ
ンデックス番号を保持するためのディレクトリ情報イン
デックス格納領域207を有する。
【0039】ディレクトリ情報インデックス格納領域2
07に格納される、「次のディレクトリ情報のインデッ
クス番号」とは、このディレクトリ情報200による復
元の対象であるファイルと、同一のディレクトリに属す
る次のファイルまたはサブディレクトリのディレクトリ
情報200のインデックス番号のことである。このディ
レクトリ情報インデックス格納領域207に保持される
インデックス番号により、同一ディレクトリに属するフ
ァイルおよびサブディレクトリのディレクトリ情報格納
領域200は、線形リストを構成することになる。ま
た、サブディレクトリインデックス206は、該ディレ
クトリ情報がサブディレクトリに関するものであるとき
に、該サブディレクトリに属するファイルまたはサブデ
ィレクトリのディレクトリ情報の線形リストの先頭のデ
ィレクトリ情報格納領域200のインデックス番号を格
納するための領域である。これらのインデックスの格納
領域206、207により、ファイルの、その属するデ
ィレクトリ内での位置が記憶される。
07に格納される、「次のディレクトリ情報のインデッ
クス番号」とは、このディレクトリ情報200による復
元の対象であるファイルと、同一のディレクトリに属す
る次のファイルまたはサブディレクトリのディレクトリ
情報200のインデックス番号のことである。このディ
レクトリ情報インデックス格納領域207に保持される
インデックス番号により、同一ディレクトリに属するフ
ァイルおよびサブディレクトリのディレクトリ情報格納
領域200は、線形リストを構成することになる。ま
た、サブディレクトリインデックス206は、該ディレ
クトリ情報がサブディレクトリに関するものであるとき
に、該サブディレクトリに属するファイルまたはサブデ
ィレクトリのディレクトリ情報の線形リストの先頭のデ
ィレクトリ情報格納領域200のインデックス番号を格
納するための領域である。これらのインデックスの格納
領域206、207により、ファイルの、その属するデ
ィレクトリ内での位置が記憶される。
【0040】データファイル110の内部構造を図3に
示す。データファイル110は、図3(a)に示すよう
に、ローカルファイル情報格納領域305を一つまたは
複数備える構造となっている。各ローカルファイル情報
格納領域305は、それぞれ、図3(b)に示すよう
に、復元を保障するローカルファイルの属性を格納する
ヘッダー部格納領域300と、該ローカルファイル11
7の内容の格納領域304とを備える。この時、前記内
容の冗長な部分を、例えばLZW(Lempel−Zi
v−Welch)法などのアルゴリズムにより圧縮する
ことでデータファイル110の縮小が図れる場合には、
圧縮を行ってもよい。
示す。データファイル110は、図3(a)に示すよう
に、ローカルファイル情報格納領域305を一つまたは
複数備える構造となっている。各ローカルファイル情報
格納領域305は、それぞれ、図3(b)に示すよう
に、復元を保障するローカルファイルの属性を格納する
ヘッダー部格納領域300と、該ローカルファイル11
7の内容の格納領域304とを備える。この時、前記内
容の冗長な部分を、例えばLZW(Lempel−Zi
v−Welch)法などのアルゴリズムにより圧縮する
ことでデータファイル110の縮小が図れる場合には、
圧縮を行ってもよい。
【0041】各ヘッダー部格納領域300は、図3
(c)に示すように、それぞれ、上記の圧縮が行なわれ
たかどうかを示す圧縮フラグを保持する圧縮フラグ格納
領域301と、圧縮前の前記内容の大きさを示すオリジ
ナルデータ長を格納するためのオリジナルデータ長格納
領域302と、圧縮された場合の圧縮後の前記内容の大
きさを示す圧縮後データ長を格納するための圧縮後デー
タ長格納領域303をさらに有する。圧縮が行われてい
なければ、オリジナルデータ長と圧縮後データ長の値は
同じである。ローカルファイル117のそれぞれの格納
位置は、ディレクトリ情報ファイル109に格納されて
いるディレクトリ情報格納領域200のデータ先頭位置
格納領域205、または次に説明する更新情報ファイル
111に格納されている更新情報に含まれるデータ先頭
位置に格納されるようになっている。
(c)に示すように、それぞれ、上記の圧縮が行なわれ
たかどうかを示す圧縮フラグを保持する圧縮フラグ格納
領域301と、圧縮前の前記内容の大きさを示すオリジ
ナルデータ長を格納するためのオリジナルデータ長格納
領域302と、圧縮された場合の圧縮後の前記内容の大
きさを示す圧縮後データ長を格納するための圧縮後デー
タ長格納領域303をさらに有する。圧縮が行われてい
なければ、オリジナルデータ長と圧縮後データ長の値は
同じである。ローカルファイル117のそれぞれの格納
位置は、ディレクトリ情報ファイル109に格納されて
いるディレクトリ情報格納領域200のデータ先頭位置
格納領域205、または次に説明する更新情報ファイル
111に格納されている更新情報に含まれるデータ先頭
位置に格納されるようになっている。
【0042】更新情報ファイル111の内部構造を図4
に示す。更新情報ファイル111は、ファイル更新内容
を格納するファイルである。なお、更新情報ファイル1
11に格納されるファイルの更新内容とは、復元可能な
最も古いファイルの状態を基準として、その基準の状態
から、現在の状態にいたるまでに行なわれた更新の内容
のことである。復元可能な最も古いファイルの情報と
は、ディレクトリ情報ファイル109に保持されてい
る、該ファイルの属するディレクトリの最も古い情報
と、データファイル110に保持されている該時点での
ローカルファイル117の内容とにより再構築すること
のできるファイルの状態のことである。
に示す。更新情報ファイル111は、ファイル更新内容
を格納するファイルである。なお、更新情報ファイル1
11に格納されるファイルの更新内容とは、復元可能な
最も古いファイルの状態を基準として、その基準の状態
から、現在の状態にいたるまでに行なわれた更新の内容
のことである。復元可能な最も古いファイルの情報と
は、ディレクトリ情報ファイル109に保持されてい
る、該ファイルの属するディレクトリの最も古い情報
と、データファイル110に保持されている該時点での
ローカルファイル117の内容とにより再構築すること
のできるファイルの状態のことである。
【0043】更新情報ファイル111は、図4(a)に
示すように、ファイル更新の内容を示す更新情報格納領
域400が一つ以上、配列形式で備えられている構造に
なっている。各更新情報格納領域400は、それぞれ、
図4(b)に示すように、該更新情報を格納したときの
チェックポイントカウンタ119の値であるチェックポ
イント番号を格納するためのチェックポイント番号格納
領域401と、更新対象ファイルまたはサブディレクト
リの名前を格納するための更新対象名格納領域402
と、更新内容の種類を格納するための更新コマンド格納
領域403と、ファイルの更新後の大きさを格納するた
めの更新後ファイルサイズ格納領域404と、ファイル
の更新後の属性を格納するための更新後ファイル属性格
納領域405と、ファイルの更新後の最終更新日時を格
納するための更新後最終更新日時格納領域406と、デ
ータファイル110中で更新後のファイル内容が格納さ
れている位置を表すデータ先頭位置を格納するための更
新後データ先頭位置格納領域407とを有する。なお、
本実施例では、更新コマンド格納領域403に格納され
る更新の種類には、「ファイル作成」、「ファイル更
新」、「ファイル削除」、「ディレクトリ作成」、「デ
ィレクトリ削除」の5種類がある。
示すように、ファイル更新の内容を示す更新情報格納領
域400が一つ以上、配列形式で備えられている構造に
なっている。各更新情報格納領域400は、それぞれ、
図4(b)に示すように、該更新情報を格納したときの
チェックポイントカウンタ119の値であるチェックポ
イント番号を格納するためのチェックポイント番号格納
領域401と、更新対象ファイルまたはサブディレクト
リの名前を格納するための更新対象名格納領域402
と、更新内容の種類を格納するための更新コマンド格納
領域403と、ファイルの更新後の大きさを格納するた
めの更新後ファイルサイズ格納領域404と、ファイル
の更新後の属性を格納するための更新後ファイル属性格
納領域405と、ファイルの更新後の最終更新日時を格
納するための更新後最終更新日時格納領域406と、デ
ータファイル110中で更新後のファイル内容が格納さ
れている位置を表すデータ先頭位置を格納するための更
新後データ先頭位置格納領域407とを有する。なお、
本実施例では、更新コマンド格納領域403に格納され
る更新の種類には、「ファイル作成」、「ファイル更
新」、「ファイル削除」、「ディレクトリ作成」、「デ
ィレクトリ削除」の5種類がある。
【0044】更新履歴ファイル118の内部構造を図5
に示す。更新履歴ファイル118は、初期バックアップ
処理および更新バックアップ処理のいずれかの処理が行
われた時刻を記録しておくためのファイルである。更新
履歴ファイル118は、リカバリ可能な最も古い復元情
報に関する要素の格納領域を指し示す最古ポインタの格
納領域501と、最も新しい復元情報に関する要素の格
納領域の次の格納領域を指し示す最新ポインタの格納領
域502と、一つ以上の更新履歴格納領域505とを備
える。各更新履歴格納領域505は、それぞれ、初期バ
ックアップ処理または更新バックアップ処理が行われた
時点のチェックポイントカウンタ119の値であるチェ
ックポイント番号の格納領域503と、該処理が行われ
た時刻である更新日時の格納領域504とを備える。
に示す。更新履歴ファイル118は、初期バックアップ
処理および更新バックアップ処理のいずれかの処理が行
われた時刻を記録しておくためのファイルである。更新
履歴ファイル118は、リカバリ可能な最も古い復元情
報に関する要素の格納領域を指し示す最古ポインタの格
納領域501と、最も新しい復元情報に関する要素の格
納領域の次の格納領域を指し示す最新ポインタの格納領
域502と、一つ以上の更新履歴格納領域505とを備
える。各更新履歴格納領域505は、それぞれ、初期バ
ックアップ処理または更新バックアップ処理が行われた
時点のチェックポイントカウンタ119の値であるチェ
ックポイント番号の格納領域503と、該処理が行われ
た時刻である更新日時の格納領域504とを備える。
【0045】最古ポインタ501は、リカバリ可能な最
も古い復元情報に関する要素の格納領域505を指し示
すポインタであり、最新ポインタ502は、最も新しい
復元情報に関する要素の格納領域の次の格納領域50
5、すなわち次に更新バックアップが行われるときに情
報を書き込む部分を指し示すポインタである。なお、図
5に示す例では、最も古い更新バックアップ処理は、1
993年7月29日の19時30分に行なわれたもので
ある。ゆえに、最古ポインタ501は、チェックポイン
ト番号7番の更新履歴格納領域505を指している。
も古い復元情報に関する要素の格納領域505を指し示
すポインタであり、最新ポインタ502は、最も新しい
復元情報に関する要素の格納領域の次の格納領域50
5、すなわち次に更新バックアップが行われるときに情
報を書き込む部分を指し示すポインタである。なお、図
5に示す例では、最も古い更新バックアップ処理は、1
993年7月29日の19時30分に行なわれたもので
ある。ゆえに、最古ポインタ501は、チェックポイン
ト番号7番の更新履歴格納領域505を指している。
【0046】バックアップ登録ファイル116の内部構
造を図6に示す。バックアップ登録ファイル116は、
サーバ102が、複数のクライアント101が持つデー
タの復元情報を識別して管理できるようにするためのも
のである。バックアップ登録ファイル116は、図6
(a)に示すように、クライアント101ごと登録情報
の格納領域600を配列形式で備える構造となってい
る。登録情報格納領域600は、それぞれ、図6(b)
に示すように、どのクライアント101の復元情報に関
する情報かを識別するためのバックアップ識別子を格納
するためのバックアップ識別子格納領域601と、該ク
ライアントに関するディレクトリ情報ファイル名を格納
するためのディレクトリ情報ファイル名格納領域602
と、データファイル名を格納するためのデータファイル
名格納領域603と、更新情報ファイル名を格納するた
めの更新情報格納領域604と、更新履歴ファイル名を
格納するための更新履歴ファイル名格納領域605を有
する。
造を図6に示す。バックアップ登録ファイル116は、
サーバ102が、複数のクライアント101が持つデー
タの復元情報を識別して管理できるようにするためのも
のである。バックアップ登録ファイル116は、図6
(a)に示すように、クライアント101ごと登録情報
の格納領域600を配列形式で備える構造となってい
る。登録情報格納領域600は、それぞれ、図6(b)
に示すように、どのクライアント101の復元情報に関
する情報かを識別するためのバックアップ識別子を格納
するためのバックアップ識別子格納領域601と、該ク
ライアントに関するディレクトリ情報ファイル名を格納
するためのディレクトリ情報ファイル名格納領域602
と、データファイル名を格納するためのデータファイル
名格納領域603と、更新情報ファイル名を格納するた
めの更新情報格納領域604と、更新履歴ファイル名を
格納するための更新履歴ファイル名格納領域605を有
する。
【0047】最新ディレクトリ情報テーブル106の構
造を図7に示す。最新ディレクトリ情報テーブル106
は、更新バックアップ処理終了時点のローカルファイル
117のディレクトリ状態を示すテーブルである。最新
ディレクトリ情報テーブル106は、一つまたは複数の
ディレクトリ情報格納領域700を有する。
造を図7に示す。最新ディレクトリ情報テーブル106
は、更新バックアップ処理終了時点のローカルファイル
117のディレクトリ状態を示すテーブルである。最新
ディレクトリ情報テーブル106は、一つまたは複数の
ディレクトリ情報格納領域700を有する。
【0048】各ディレクトリ情報格納領域700は、フ
ァイルまたはサブディレクトリ名を格納するためのファ
イル名格納領域701と、ファイルの大きさを格納する
ためのファイルサイズ格納領域702と、ファイルの属
性を格納するためのファイル属性格納領域703と、フ
ァイルの最終更新日時を格納するための最終更新日時格
納領域704と、データファイル110の中でファイル
内容が格納されている位置を示すデータ先頭位置を格納
するためのデータ先頭位置格納領域705と、サブディ
レクトリの場合に該サブディレクトリに属するファイル
およびサブディレクトリのファイル情報格納領域700
のうちの先頭のもののアドレスを格納するためのサブデ
ィレクトリアドレス格納領域706と、同一ディレクト
リに属する次のファイルまたはサブディレクトリのディ
レクトリ情報700のアドレスを格納するディレクトリ
情報アドレス格納領域707とが含まれる。
ァイルまたはサブディレクトリ名を格納するためのファ
イル名格納領域701と、ファイルの大きさを格納する
ためのファイルサイズ格納領域702と、ファイルの属
性を格納するためのファイル属性格納領域703と、フ
ァイルの最終更新日時を格納するための最終更新日時格
納領域704と、データファイル110の中でファイル
内容が格納されている位置を示すデータ先頭位置を格納
するためのデータ先頭位置格納領域705と、サブディ
レクトリの場合に該サブディレクトリに属するファイル
およびサブディレクトリのファイル情報格納領域700
のうちの先頭のもののアドレスを格納するためのサブデ
ィレクトリアドレス格納領域706と、同一ディレクト
リに属する次のファイルまたはサブディレクトリのディ
レクトリ情報700のアドレスを格納するディレクトリ
情報アドレス格納領域707とが含まれる。
【0049】サブディレクトリアドレス格納領域706
に格納されるのは、該サブディレクトリに属するファイ
ル/サブディレクトリのディレクトリ情報格納領域70
0のアドレスである。例えば、ディレクトリ情報格納領
域700aのサブディレクトリアドレス格納領域706
に格納されるのは、ディレクトリ情報格納領域700a
に情報が保持されるサブディレクトリに属するファイル
のディレクトリ情報の格納領域700bである。このよ
うに、ディレクトリ情報格納領域700に保持される情
報がサブディレクトリに関するものである場合、該サブ
ディレクトリに属するファイルおよびサブディレクトリ
のファイル情報格納領域700のうちの、線形リスト上
先頭のもののアドレスが、サブディレクトリアドレス格
納領域706に保持されることにより、このサブディレ
クトリのディレクトリ情報格納領域700を参照して、
このサブディレクトリに属するファイル/サブディレク
トリのディレクトリ情報の格納位置を検出し、該線形リ
スト上を検索することができる。
に格納されるのは、該サブディレクトリに属するファイ
ル/サブディレクトリのディレクトリ情報格納領域70
0のアドレスである。例えば、ディレクトリ情報格納領
域700aのサブディレクトリアドレス格納領域706
に格納されるのは、ディレクトリ情報格納領域700a
に情報が保持されるサブディレクトリに属するファイル
のディレクトリ情報の格納領域700bである。このよ
うに、ディレクトリ情報格納領域700に保持される情
報がサブディレクトリに関するものである場合、該サブ
ディレクトリに属するファイルおよびサブディレクトリ
のファイル情報格納領域700のうちの、線形リスト上
先頭のもののアドレスが、サブディレクトリアドレス格
納領域706に保持されることにより、このサブディレ
クトリのディレクトリ情報格納領域700を参照して、
このサブディレクトリに属するファイル/サブディレク
トリのディレクトリ情報の格納位置を検出し、該線形リ
スト上を検索することができる。
【0050】また、ディレクトリ情報アドレス格納領域
707に格納されるのは、次のファイル/サブディレク
トリのディレクトリ情報格納領域700のアドレスであ
る。例えば、ディレクトリ情報格納領域700aのディ
レクトリ情報アドレス格納領域707に格納されるの
は、該ディレクトリ情報格納領域700aに保持される
情報により表わされるファイル/サブディレクトリの属
するディレクトリに属する、次のファイル/サブディレ
クトリのディレクトリ情報の格納領域700cのアドレ
スである。このように、次のファイル/サブディレクト
リのディレクトリ情報格納領域700のアドレスを保持
することにより、同一ディレクトリに属するファイル/
サブディレクトリのディレクトリ情報を接続させ、線形
リスト構造を形成することができる。
707に格納されるのは、次のファイル/サブディレク
トリのディレクトリ情報格納領域700のアドレスであ
る。例えば、ディレクトリ情報格納領域700aのディ
レクトリ情報アドレス格納領域707に格納されるの
は、該ディレクトリ情報格納領域700aに保持される
情報により表わされるファイル/サブディレクトリの属
するディレクトリに属する、次のファイル/サブディレ
クトリのディレクトリ情報の格納領域700cのアドレ
スである。このように、次のファイル/サブディレクト
リのディレクトリ情報格納領域700のアドレスを保持
することにより、同一ディレクトリに属するファイル/
サブディレクトリのディレクトリ情報を接続させ、線形
リスト構造を形成することができる。
【0051】上述のように、本実施例の最新ディレクト
リ情報テーブル106では、同一ディレクトリに属する
ファイル/サブディレクトリのディレクトリ情報格納領
域700よりなる線形リスト(ここでは、ディレクトリ
内線形リストと呼ぶ)と、同一サブディレクトリに属す
るファイル/サブディレクトリのディレクトリ情報格納
領域700よりなる線形リスト(ここではディレクトリ
内線形リストと呼ぶ)とが、ディレクトリ情報アドレス
格納領域に保持される値により形成され、さらに、ディ
レクトリ内線形リスト内に位置するサブディレクトリの
ディレクトリ情報格納領域700と、該サブディレクト
リに属するファイル/サブディレクトリのサブディレク
トリ内線形リストとが、サブディレクトリアドレス格納
領域706に保持されるアドレスにより接続される。こ
れにより、最新ディレクトリ情報テーブル106では、
ディレクトリ情報ファイル109と同様に、ローカルフ
ァイル117の属するディレクトリの構造に対応した線
形リスト構造になるように、ディレクトリ情報700が
線形リスト構造で接続されていることになる。
リ情報テーブル106では、同一ディレクトリに属する
ファイル/サブディレクトリのディレクトリ情報格納領
域700よりなる線形リスト(ここでは、ディレクトリ
内線形リストと呼ぶ)と、同一サブディレクトリに属す
るファイル/サブディレクトリのディレクトリ情報格納
領域700よりなる線形リスト(ここではディレクトリ
内線形リストと呼ぶ)とが、ディレクトリ情報アドレス
格納領域に保持される値により形成され、さらに、ディ
レクトリ内線形リスト内に位置するサブディレクトリの
ディレクトリ情報格納領域700と、該サブディレクト
リに属するファイル/サブディレクトリのサブディレク
トリ内線形リストとが、サブディレクトリアドレス格納
領域706に保持されるアドレスにより接続される。こ
れにより、最新ディレクトリ情報テーブル106では、
ディレクトリ情報ファイル109と同様に、ローカルフ
ァイル117の属するディレクトリの構造に対応した線
形リスト構造になるように、ディレクトリ情報700が
線形リスト構造で接続されていることになる。
【0052】なお、クライアント101側の旧ディレク
トリ情報テーブル114も最新ディレクトリ情報テーブ
ル106と同じ構造であるが、旧ディレクトリ情報テー
ブル114では、データ先頭位置705は意味を持たな
い。
トリ情報テーブル114も最新ディレクトリ情報テーブ
ル106と同じ構造であるが、旧ディレクトリ情報テー
ブル114では、データ先頭位置705は意味を持たな
い。
【0053】次に、初期バックアップ処理(ステップ2
006)、更新バックアップ処理(ステップ804)、
ファイルリカバリ処理(ステップ806)のそれぞれの
詳細について説明する。
006)、更新バックアップ処理(ステップ804)、
ファイルリカバリ処理(ステップ806)のそれぞれの
詳細について説明する。
【0054】まず、初期バックアップ処理(ステップ2
006)の内容について、図9を用いて説明する。図9
は、初期バックアップ処理(ステップ2006)の内容
を示したシーケンス図である。
006)の内容について、図9を用いて説明する。図9
は、初期バックアップ処理(ステップ2006)の内容
を示したシーケンス図である。
【0055】ステップ2005において起動されたサー
バ側バックアップ実行部107は、通信処理部108、
ネットワーク105、通信処理部112を通して初期バ
ックアップ処理開始フレーム900をクライアント側バ
ックアップ実行部113へ送信する。この初期バックア
ップ開始フレーム900を受信したクライアント側バッ
クアップ実行部113は、肯定応答を意味するアクノリ
ッジフレーム(以下、ACKフレームとよぶ)901を
サーバ側バックアップ実行部107へ送信する。
バ側バックアップ実行部107は、通信処理部108、
ネットワーク105、通信処理部112を通して初期バ
ックアップ処理開始フレーム900をクライアント側バ
ックアップ実行部113へ送信する。この初期バックア
ップ開始フレーム900を受信したクライアント側バッ
クアップ実行部113は、肯定応答を意味するアクノリ
ッジフレーム(以下、ACKフレームとよぶ)901を
サーバ側バックアップ実行部107へ送信する。
【0056】このACKフレーム901を受信したサー
バ側バックアップ実行部107は、最新ディレクトリ情
報テーブル106およびチェックポイントカウンタ11
9の初期化と、ディレクトリ情報ファイル109、デー
タファイル110、更新情報ファイル111、更新履歴
ファイル118の生成を行い(ステップ907)、初期
化完了フレーム902を送信してクライアント側バック
アップ実行部113に対してバックアップするファイル
の送信開始を要求する。この初期化完了フレーム902
を受信したクライアント側バックアップ実行部113
は、復元情報を採取する対象としてあらかじめ定められ
たローカルファイル117のうちの一ファイルのディレ
クトリ情報とファイル内容をサーバ側バックアップ実行
部107に送信する(フレーム903)。
バ側バックアップ実行部107は、最新ディレクトリ情
報テーブル106およびチェックポイントカウンタ11
9の初期化と、ディレクトリ情報ファイル109、デー
タファイル110、更新情報ファイル111、更新履歴
ファイル118の生成を行い(ステップ907)、初期
化完了フレーム902を送信してクライアント側バック
アップ実行部113に対してバックアップするファイル
の送信開始を要求する。この初期化完了フレーム902
を受信したクライアント側バックアップ実行部113
は、復元情報を採取する対象としてあらかじめ定められ
たローカルファイル117のうちの一ファイルのディレ
クトリ情報とファイル内容をサーバ側バックアップ実行
部107に送信する(フレーム903)。
【0057】サーバ側バックアップ実行部107は、受
信した1ファイル分のディレクトリ情報とファイル内容
(フレーム903)より、該ファイルに関するディレク
トリ情報700を作成し、最新ディレクトリ情報テーブ
ル106の該ファイルが属するディレクトリのリストへ
連結する(ステップ908)。なお、そのファイルの属
するディレクトリが、最新ディレクトリ情報テーブル1
06内に存在しない場合、サーバ側バックアップ実行部
107は、該ディレクトリに関するディレクトリ情報7
00を作成し、最新ディレクトリ情報テーブル106内
に挿入する処理を先に行ったのち、処理対象のファイル
のディレクトリ情報を、該ディレクトリのリストへ連結
する。
信した1ファイル分のディレクトリ情報とファイル内容
(フレーム903)より、該ファイルに関するディレク
トリ情報700を作成し、最新ディレクトリ情報テーブ
ル106の該ファイルが属するディレクトリのリストへ
連結する(ステップ908)。なお、そのファイルの属
するディレクトリが、最新ディレクトリ情報テーブル1
06内に存在しない場合、サーバ側バックアップ実行部
107は、該ディレクトリに関するディレクトリ情報7
00を作成し、最新ディレクトリ情報テーブル106内
に挿入する処理を先に行ったのち、処理対象のファイル
のディレクトリ情報を、該ディレクトリのリストへ連結
する。
【0058】さらに、サーバ側バックアップ実行部10
7は、該ファイルのファイル内容をデータファイル11
0に追加書き込みし、書き込み先頭位置を該ファイルの
ディレクトリ情報700のデータ先頭位置705に格納
する。この時、必要があればファイル内容を圧縮しても
よい(ステップ909)。以上の処理が正常終了する
と、サーバ側バックアップ実行部107は、ACKフレ
ーム904をクライアント側バックアップ実行部113
に送信する。
7は、該ファイルのファイル内容をデータファイル11
0に追加書き込みし、書き込み先頭位置を該ファイルの
ディレクトリ情報700のデータ先頭位置705に格納
する。この時、必要があればファイル内容を圧縮しても
よい(ステップ909)。以上の処理が正常終了する
と、サーバ側バックアップ実行部107は、ACKフレ
ーム904をクライアント側バックアップ実行部113
に送信する。
【0059】このACKフレーム904を受信したクラ
イアント側バックアップ実行部113は次のローカルフ
ァイル117のディレクトリ情報とファイル内容をサー
バ側バックアップ実行部107に送信する。送信を受け
たサーバ側バックアップ実行部107は、上記ステップ
908と909の処理を行ない、ACKフレーム904
をクライアント側バックアップ実行部113に送信す
る。このようにして、フレーム903送信からフレーム
904送信までの間の処理が、復元を保障するすべての
ローカルファイルの内容がサーバ102に送信されるま
で繰り返される。ACKフレーム904を受信したが、
送信すべきローカルファイル117が残っていない場
合、クライアント側バックアップ実行部113は、初期
バックアップ終了フレーム905を送信する。この初期
バックアップ終了フレーム905を受信したサーバ側バ
ックアップ実行部107は、最新ディレクトリ情報テー
ブル106の内容をディレクトリ情報ファイル109に
格納する(ステップ910)。その際、メモリアドレス
形式の値である、サブディレクトリアドレス格納領域7
06およびディレクトリ情報アドレス格納領域707の
保持する値は、それぞれインデックス番号形式に変換さ
れた後、サブディレクトリインデックス格納領域20
6、ディレクトリ情報インデックス格納領域207に格
納される。このステップ910の処理が正常終了する
と、サーバ側バックアップ実行部107は、ACKフレ
ーム906を送信し、クライアント側バックアップ処理
部113に初期バックアップ処理が正常終了したことを
通知する。以上が初期バックアップ処理の内容である。
イアント側バックアップ実行部113は次のローカルフ
ァイル117のディレクトリ情報とファイル内容をサー
バ側バックアップ実行部107に送信する。送信を受け
たサーバ側バックアップ実行部107は、上記ステップ
908と909の処理を行ない、ACKフレーム904
をクライアント側バックアップ実行部113に送信す
る。このようにして、フレーム903送信からフレーム
904送信までの間の処理が、復元を保障するすべての
ローカルファイルの内容がサーバ102に送信されるま
で繰り返される。ACKフレーム904を受信したが、
送信すべきローカルファイル117が残っていない場
合、クライアント側バックアップ実行部113は、初期
バックアップ終了フレーム905を送信する。この初期
バックアップ終了フレーム905を受信したサーバ側バ
ックアップ実行部107は、最新ディレクトリ情報テー
ブル106の内容をディレクトリ情報ファイル109に
格納する(ステップ910)。その際、メモリアドレス
形式の値である、サブディレクトリアドレス格納領域7
06およびディレクトリ情報アドレス格納領域707の
保持する値は、それぞれインデックス番号形式に変換さ
れた後、サブディレクトリインデックス格納領域20
6、ディレクトリ情報インデックス格納領域207に格
納される。このステップ910の処理が正常終了する
と、サーバ側バックアップ実行部107は、ACKフレ
ーム906を送信し、クライアント側バックアップ処理
部113に初期バックアップ処理が正常終了したことを
通知する。以上が初期バックアップ処理の内容である。
【0060】次に、更新バックアップ処理(ステップ8
04)の内容について、図10を用いて説明する。図1
0は、更新バックアップ処理(ステップ804)の内容
を示したシーケンス図である。
04)の内容について、図10を用いて説明する。図1
0は、更新バックアップ処理(ステップ804)の内容
を示したシーケンス図である。
【0061】クライアント側バックアップ実行部113
は、まず現在のローカルファイル117のディレクトリ
情報を読みだし、このディレクトリ情報を用いて、旧デ
ィレクトリ情報テーブル114と同じ構造の現状ディレ
クトリ情報テーブル(図示せず)を作成する(ステップ
1001)。
は、まず現在のローカルファイル117のディレクトリ
情報を読みだし、このディレクトリ情報を用いて、旧デ
ィレクトリ情報テーブル114と同じ構造の現状ディレ
クトリ情報テーブル(図示せず)を作成する(ステップ
1001)。
【0062】つぎに、クライアント側バックアップ実行
部113は、旧ディレクトリ情報テーブル114の内容
と上記の現状ディレクトリ情報テーブルの内容とを比較
し、差があるローカルファイル117については、その
情報をサーバ102へ通知する(ステップ1002)。
なお、比較が容易なように、旧ディレクトリ情報テーブ
ル114と現状ディレクトリ情報テーブルの内容は、フ
ァイルまたはサブディレクトリ名をキーとして、比較の
まえにあらかじめソートされている。本実施例では、昇
順にソートしてあるものとする。比較は、旧ディレクト
リ情報テーブル114と現状ディレクトリ情報テーブル
との、それぞれ先頭のノードからリスト構造に従って順
次ノードの内容を比較することで行う。ここで、ノード
とは、それぞれのテーブルを構成する個々のディレクト
リ情報格納領域をいう。
部113は、旧ディレクトリ情報テーブル114の内容
と上記の現状ディレクトリ情報テーブルの内容とを比較
し、差があるローカルファイル117については、その
情報をサーバ102へ通知する(ステップ1002)。
なお、比較が容易なように、旧ディレクトリ情報テーブ
ル114と現状ディレクトリ情報テーブルの内容は、フ
ァイルまたはサブディレクトリ名をキーとして、比較の
まえにあらかじめソートされている。本実施例では、昇
順にソートしてあるものとする。比較は、旧ディレクト
リ情報テーブル114と現状ディレクトリ情報テーブル
との、それぞれ先頭のノードからリスト構造に従って順
次ノードの内容を比較することで行う。ここで、ノード
とは、それぞれのテーブルを構成する個々のディレクト
リ情報格納領域をいう。
【0063】比較の結果、ファイルの変更(作成、削
除、または更新)が検出された場合、クライアント側バ
ックアップ実行部113は、更新情報と、ファイルの内
容とをサーバ側バックアップ実行部107へ送信する。
ここで、更新情報とは、更新情報ファイル111を構成
する更新情報格納領域400の各領域に格納されるデー
タをいう。すなわち、更新情報とは、チェックポイント
番号、更新対象ファイル(またはサブディレクトリ)
名、更新コマンド情報(ファイル作成、ファイル更新、
ファイル削除、ディレクトリ作成、またはディレクトリ
削除)、更新後の大きさ、更新後の属性、更新後の最終
更新日時、およびデータ先頭位置である。
除、または更新)が検出された場合、クライアント側バ
ックアップ実行部113は、更新情報と、ファイルの内
容とをサーバ側バックアップ実行部107へ送信する。
ここで、更新情報とは、更新情報ファイル111を構成
する更新情報格納領域400の各領域に格納されるデー
タをいう。すなわち、更新情報とは、チェックポイント
番号、更新対象ファイル(またはサブディレクトリ)
名、更新コマンド情報(ファイル作成、ファイル更新、
ファイル削除、ディレクトリ作成、またはディレクトリ
削除)、更新後の大きさ、更新後の属性、更新後の最終
更新日時、およびデータ先頭位置である。
【0064】比較の結果、ファイルの変更(作成、削
除、または更新)が検出されない場合、クライアント側
バックアップ実行部113は、この送信処理(ステップ
1003)を行なわない。クライアント側バックアップ
実行部113は、以上のディレクトリ情報の比較を、旧
ディレクトリ情報テーブル114と前記現状ディレクト
リ情報テーブルの全ディレクトリ情報の比較が終了する
まで繰り返す。この比較処理は、後に詳しく説明する。
除、または更新)が検出されない場合、クライアント側
バックアップ実行部113は、この送信処理(ステップ
1003)を行なわない。クライアント側バックアップ
実行部113は、以上のディレクトリ情報の比較を、旧
ディレクトリ情報テーブル114と前記現状ディレクト
リ情報テーブルの全ディレクトリ情報の比較が終了する
まで繰り返す。この比較処理は、後に詳しく説明する。
【0065】この比較処理が終了すると、クライアント
側バックアップ実行部113は、サーバ102の保持す
る最新ディレクトリ情報テーブル106の内容を、旧デ
ィレクトリ情報テーブル114に複写して、更新バック
アップ処理を終了する(ステップ1005)。この複写
処理の内容については、図11を用いて後で詳しく説明
する。
側バックアップ実行部113は、サーバ102の保持す
る最新ディレクトリ情報テーブル106の内容を、旧デ
ィレクトリ情報テーブル114に複写して、更新バック
アップ処理を終了する(ステップ1005)。この複写
処理の内容については、図11を用いて後で詳しく説明
する。
【0066】一方、ステップ1003において送信され
た更新情報とローカルファイル117の内容とを受信し
たサーバ側バックアップ実行部107は、つぎのように
動作する。まず、受信した更新情報を更新情報ファイル
111に追加し、ローカルファイル117の内容をデー
タファイル110に追加書き込みする(ステップ100
6)。次に、サーバ側バックアップ実行部107は、受
信した更新情報の内容に従い、最新ディレクトリ情報テ
ーブル106を更新する(ステップ1007)。すなわ
ち、サーバ側バックアップ実行部107は、更新情報が
ファイルの作成を示すものであれば該ファイルに関する
ノードを追加し、ファイルの削除を示すものであれば該
ファイルに関するノードを削除する。また、更新情報が
ファイルの修正を示すものであれば、サーバ側バックア
ップ実行部107は、修正内容と更新日時とを用いて、
該ファイルのディレクトリ情報格納領域700の保持す
る情報を修正する。
た更新情報とローカルファイル117の内容とを受信し
たサーバ側バックアップ実行部107は、つぎのように
動作する。まず、受信した更新情報を更新情報ファイル
111に追加し、ローカルファイル117の内容をデー
タファイル110に追加書き込みする(ステップ100
6)。次に、サーバ側バックアップ実行部107は、受
信した更新情報の内容に従い、最新ディレクトリ情報テ
ーブル106を更新する(ステップ1007)。すなわ
ち、サーバ側バックアップ実行部107は、更新情報が
ファイルの作成を示すものであれば該ファイルに関する
ノードを追加し、ファイルの削除を示すものであれば該
ファイルに関するノードを削除する。また、更新情報が
ファイルの修正を示すものであれば、サーバ側バックア
ップ実行部107は、修正内容と更新日時とを用いて、
該ファイルのディレクトリ情報格納領域700の保持す
る情報を修正する。
【0067】サーバ側バックアップ実行部107は、更
新情報ファイル111またはデータファイル110の大
きさが、あらかじめ定められた大きさ以下の場合は、こ
のまま処理を終了するが、大きくなった場合は(ステッ
プ1008)、古い更新情報を削除して、あらかじめ定
められたサイズ以内にするために以下の処理を行う。
新情報ファイル111またはデータファイル110の大
きさが、あらかじめ定められた大きさ以下の場合は、こ
のまま処理を終了するが、大きくなった場合は(ステッ
プ1008)、古い更新情報を削除して、あらかじめ定
められたサイズ以内にするために以下の処理を行う。
【0068】まず、サーバ側バックアップ実行部107
は、更新情報ファイル111の中の更新情報のうち、も
っとも古いチェックポイント番号を持つ更新情報の内容
に従ってディレクトリ情報ファイル109の内容を更新
する(ステップ1009)。最も古いチェックポイント
番号は、更新履歴ファイル118の中の要素のうち、最
古ポインタ501が指し示すものの中に書かれている。
は、更新情報ファイル111の中の更新情報のうち、も
っとも古いチェックポイント番号を持つ更新情報の内容
に従ってディレクトリ情報ファイル109の内容を更新
する(ステップ1009)。最も古いチェックポイント
番号は、更新履歴ファイル118の中の要素のうち、最
古ポインタ501が指し示すものの中に書かれている。
【0069】つぎに、サーバ側バックアップ実行部10
7は、ステップ1009により不要となったデータを削
除する(ステップ1010)。すなわち、サーバ側バッ
クアップ実行部107は、データファイル110のロー
カルファイル情報格納領域305に保持されるローカル
ファイル情報を削除する。なお、削除するローカルファ
イル情報の格納領域305の、データファイル110内
での位置は、ステップ1009において、ディレクトリ
情報ファイル109の内容の更新に用いられた更新情報
格納領域のデータ先頭位置格納領域407を参照するこ
とにより検知される。また、削除するデータのサイズ
は、上記のデータ先頭位置格納領域407に保持される
値により示されるローカルファイル情報格納領域305
の、ヘッダー部300にある圧縮後データ長格納領域3
03を参照することにより検知される。さらに、サーバ
側バックアップ実行部107は、更新情報ファイル11
1の更新情報格納領域400に保持される更新情報のう
ち、チェックポイント番号格納領域401に保持される
値が、最も古い番号であるもの(ステップ1009にお
いて、ディレクトリ情報ファイル109の内容の更新に
用いられたもの)を削除する。
7は、ステップ1009により不要となったデータを削
除する(ステップ1010)。すなわち、サーバ側バッ
クアップ実行部107は、データファイル110のロー
カルファイル情報格納領域305に保持されるローカル
ファイル情報を削除する。なお、削除するローカルファ
イル情報の格納領域305の、データファイル110内
での位置は、ステップ1009において、ディレクトリ
情報ファイル109の内容の更新に用いられた更新情報
格納領域のデータ先頭位置格納領域407を参照するこ
とにより検知される。また、削除するデータのサイズ
は、上記のデータ先頭位置格納領域407に保持される
値により示されるローカルファイル情報格納領域305
の、ヘッダー部300にある圧縮後データ長格納領域3
03を参照することにより検知される。さらに、サーバ
側バックアップ実行部107は、更新情報ファイル11
1の更新情報格納領域400に保持される更新情報のう
ち、チェックポイント番号格納領域401に保持される
値が、最も古い番号であるもの(ステップ1009にお
いて、ディレクトリ情報ファイル109の内容の更新に
用いられたもの)を削除する。
【0070】最後に、サーバ側バックアップ実行部10
7は、ステップ1010におけるデータの削除に伴い、
ディレクトリ情報ファイル109や更新情報ファイル1
11に格納されているデータ先頭位置205、407が
変更になることもあるので、これらも併せて更新し、さ
らに、最古ポインタ501を、次の要素を指し示すよう
に更新して、処理を終了する(ステップ1011)。
7は、ステップ1010におけるデータの削除に伴い、
ディレクトリ情報ファイル109や更新情報ファイル1
11に格納されているデータ先頭位置205、407が
変更になることもあるので、これらも併せて更新し、さ
らに、最古ポインタ501を、次の要素を指し示すよう
に更新して、処理を終了する(ステップ1011)。
【0071】次に、更新バックアップ処理(ステップ8
04)の中で行われる現状ディレクトリ情報テーブルと
旧ディレクトリ情報テーブル114の比較処理(ステッ
プ1002)について説明する。
04)の中で行われる現状ディレクトリ情報テーブルと
旧ディレクトリ情報テーブル114の比較処理(ステッ
プ1002)について説明する。
【0072】前記現状ディレクトリ情報テーブルと旧デ
ィレクトリ情報テーブル114の比較処理を行う時の前
記二つのテーブルと比較用のポインタの初期状態を図1
3に示す。クライアント側バックアップ実行部113
は、ステップ1001において、演算処理装置122の
主記憶上に領域を確保して、現状ディレクトリ情報テー
ブルを作成するとともに、比較処理のために、旧ディレ
クトリ情報テーブル114の処理対象のノードであるデ
ィレクトリ情報格納領域700を示すためのポインタp
の格納領域1302と、現状ディレクトリ情報テーブル
1301の処理対象のノードであるディレクトリ情報格
納領域700nを示すためのポインタqの格納領域13
03とを確保する。
ィレクトリ情報テーブル114の比較処理を行う時の前
記二つのテーブルと比較用のポインタの初期状態を図1
3に示す。クライアント側バックアップ実行部113
は、ステップ1001において、演算処理装置122の
主記憶上に領域を確保して、現状ディレクトリ情報テー
ブルを作成するとともに、比較処理のために、旧ディレ
クトリ情報テーブル114の処理対象のノードであるデ
ィレクトリ情報格納領域700を示すためのポインタp
の格納領域1302と、現状ディレクトリ情報テーブル
1301の処理対象のノードであるディレクトリ情報格
納領域700nを示すためのポインタqの格納領域13
03とを確保する。
【0073】この状態で、クライアント側バックアップ
実行部113は、図14のフローチャートに示すような
手順で旧ディレクトリ情報テーブル114と現状ディレ
クトリ情報テーブル1301の比較を行う。
実行部113は、図14のフローチャートに示すような
手順で旧ディレクトリ情報テーブル114と現状ディレ
クトリ情報テーブル1301の比較を行う。
【0074】まず、クライアント側バックアップ実行部
113は、ポインタp1302、ポインタq1303の
初期化を行う(ステップ1401)。すなわち、クライ
アント側バックアップ実行部113は、それぞれのポイ
ンタ格納領域1302、1303に、各々、旧ディレク
トリ情報テーブル114の先頭のディレクトリ情報格納
領域700のアドレスと、現状ディレクトリ情報テーブ
ル1301のディレクトリ情報格納領域700nのアド
レスとを格納する。これにより、初期状態では、前記二
つのポインタp、qは、それぞれ、図13に示すよう
に、旧ディレクトリ情報テーブル114の先頭ノード
と、現状ディレクトリ情報テーブル1301の先頭ノー
ドとを指すことになる。
113は、ポインタp1302、ポインタq1303の
初期化を行う(ステップ1401)。すなわち、クライ
アント側バックアップ実行部113は、それぞれのポイ
ンタ格納領域1302、1303に、各々、旧ディレク
トリ情報テーブル114の先頭のディレクトリ情報格納
領域700のアドレスと、現状ディレクトリ情報テーブ
ル1301のディレクトリ情報格納領域700nのアド
レスとを格納する。これにより、初期状態では、前記二
つのポインタp、qは、それぞれ、図13に示すよう
に、旧ディレクトリ情報テーブル114の先頭ノード
と、現状ディレクトリ情報テーブル1301の先頭ノー
ドとを指すことになる。
【0075】ポインタp、qの初期化が終了すると、ク
ライアント側バックアップ実行部113は、ポインタp
が指すノードに保持されているファイル名と、ポインタ
qが指すノードに保持されているファイル名との大小を
比較する(ステップ1402)。この時、前記ポインタ
がどのノードも指し示していなかった場合は、該ポイン
タが無限に大きな値のファイル名を持つノードを指し示
していると見なして比較を行う。
ライアント側バックアップ実行部113は、ポインタp
が指すノードに保持されているファイル名と、ポインタ
qが指すノードに保持されているファイル名との大小を
比較する(ステップ1402)。この時、前記ポインタ
がどのノードも指し示していなかった場合は、該ポイン
タが無限に大きな値のファイル名を持つノードを指し示
していると見なして比較を行う。
【0076】ステップ1402の比較の結果が同じであ
れば、クライアント側バックアップ実行部113は、さ
らに、それぞれのノード700、700nに保持されて
いる、ファイルの大きさ、属性、最終更新日時の比較を
行う(ステップ1403)。ステップ1403で相違が
検出されれば、ポインタp1302が指すノードに示さ
れるファイルは内容が更新されたということなので、ク
ライアント側バックアップ実行部113は、更新コマン
ド情報が「ファイル更新」である更新情報を作成し、該
更新情報と、処理対象のディレクトリ情報の示すファイ
ルの内容とを、サーバ側バックアップ実行部107へ送
信する(ステップ1404)。送信後、クライアント側
バックアップ実行部113は、ポインタp格納領域13
02、ポインタq格納領域1303の保持する値を、そ
れぞれ、次のノードを指し示すように更新し(ステップ
1405)、ステップ1410に処理を進める。なお、
ノードがなければ、ポインタの格納領域には、どのノー
ドも指し示さない値が格納される。
れば、クライアント側バックアップ実行部113は、さ
らに、それぞれのノード700、700nに保持されて
いる、ファイルの大きさ、属性、最終更新日時の比較を
行う(ステップ1403)。ステップ1403で相違が
検出されれば、ポインタp1302が指すノードに示さ
れるファイルは内容が更新されたということなので、ク
ライアント側バックアップ実行部113は、更新コマン
ド情報が「ファイル更新」である更新情報を作成し、該
更新情報と、処理対象のディレクトリ情報の示すファイ
ルの内容とを、サーバ側バックアップ実行部107へ送
信する(ステップ1404)。送信後、クライアント側
バックアップ実行部113は、ポインタp格納領域13
02、ポインタq格納領域1303の保持する値を、そ
れぞれ、次のノードを指し示すように更新し(ステップ
1405)、ステップ1410に処理を進める。なお、
ノードがなければ、ポインタの格納領域には、どのノー
ドも指し示さない値が格納される。
【0077】ステップ1402でポインタpの指すノー
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より大きい場合は、ディレク
トリ情報がすでにファイル名をキーとしてソートされて
いるため、ポインタqが指すノード700nの内容に示
されるファイルが、新たに作成されたということにな
る。よって、この場合、クライアント側バックアップ実
行部113は、更新コマンド情報が「ファイル作成」で
ある更新情報を作成し、該更新情報と、ポインタqが指
すディレクトリ情報の示すファイルの内容とを、サーバ
側バックアップ実行部107へ送信する(ステップ14
06)。次に、ポインタq格納領域1303の保持する
値を次のノードを指し示すように更新し(ステップ14
07)、ステップ1410に処理を進める。なお、ノー
ドがなければ、ポインタの格納領域には、どのノードも
指し示さない値が格納される。
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より大きい場合は、ディレク
トリ情報がすでにファイル名をキーとしてソートされて
いるため、ポインタqが指すノード700nの内容に示
されるファイルが、新たに作成されたということにな
る。よって、この場合、クライアント側バックアップ実
行部113は、更新コマンド情報が「ファイル作成」で
ある更新情報を作成し、該更新情報と、ポインタqが指
すディレクトリ情報の示すファイルの内容とを、サーバ
側バックアップ実行部107へ送信する(ステップ14
06)。次に、ポインタq格納領域1303の保持する
値を次のノードを指し示すように更新し(ステップ14
07)、ステップ1410に処理を進める。なお、ノー
ドがなければ、ポインタの格納領域には、どのノードも
指し示さない値が格納される。
【0078】ステップ1402でポインタp1302の
指すノードに格納されるファイル名の方がポインタq1
303の指すノードに格納されるファイル名より小さい
場合は、ディレクトリ情報がすでにファイル名をキーと
してソートされているため、ポインタp1302が指す
ノードに示されるファイルが、すでに削除されていると
いうことを示す。よって、この場合、クライアント側バ
ックアップ実行部113は、更新コマンド情報が「ファ
イル削除」である更新情報を作成し、サーバ側バックア
ップ実行部107へ送信する(ステップ1408)。次
に、クライアント側バックアップ実行部113は、ポイ
ンタp1302を次のノードを指し示すように更新し
(ステップ1409)、ステップ1410に処理を進め
る。なお、ノードがなければ、ポインタの値は、どのノ
ードも指し示さない値とされる。
指すノードに格納されるファイル名の方がポインタq1
303の指すノードに格納されるファイル名より小さい
場合は、ディレクトリ情報がすでにファイル名をキーと
してソートされているため、ポインタp1302が指す
ノードに示されるファイルが、すでに削除されていると
いうことを示す。よって、この場合、クライアント側バ
ックアップ実行部113は、更新コマンド情報が「ファ
イル削除」である更新情報を作成し、サーバ側バックア
ップ実行部107へ送信する(ステップ1408)。次
に、クライアント側バックアップ実行部113は、ポイ
ンタp1302を次のノードを指し示すように更新し
(ステップ1409)、ステップ1410に処理を進め
る。なお、ノードがなければ、ポインタの値は、どのノ
ードも指し示さない値とされる。
【0079】以上の処理を行った後、ステップ1410
において、クライアント側バックアップ実行部113
は、ポインタp、ポインタqを検査し、両ポインタp、
qの少なくともいずれか一方がノードを指しているかぎ
り、ステップ1402に処理を戻し、ステップ1402
〜1410の処理を繰り返す。ポインタp、qの両方が
ノードを指していない状態になると、クライアント側バ
ックアップ実行部113は、比較処理を終了する(ステ
ップ1410)。
において、クライアント側バックアップ実行部113
は、ポインタp、ポインタqを検査し、両ポインタp、
qの少なくともいずれか一方がノードを指しているかぎ
り、ステップ1402に処理を戻し、ステップ1402
〜1410の処理を繰り返す。ポインタp、qの両方が
ノードを指していない状態になると、クライアント側バ
ックアップ実行部113は、比較処理を終了する(ステ
ップ1410)。
【0080】なお、比較するノードがサブディレクトリ
を指すものであった場合は、該サブディレクトリに対し
てもこの比較処理(ステップ1002)が再帰的に実行
される。また、サブディレクトリが作成または削除され
ていた場合は、該サブディレクトリに属するすべてのフ
ァイルまたはサブディレクトリも作成または削除された
ものとして処理を行う。
を指すものであった場合は、該サブディレクトリに対し
てもこの比較処理(ステップ1002)が再帰的に実行
される。また、サブディレクトリが作成または削除され
ていた場合は、該サブディレクトリに属するすべてのフ
ァイルまたはサブディレクトリも作成または削除された
ものとして処理を行う。
【0081】つぎに、更新バックアップ処理(ステップ
804)の中で行われる、最新ディレクトリ情報テーブ
ル106から旧ディレクトリ情報テーブル114への内
容複写処理(ステップ1005)について説明する。図
11は、更新バックアップ処理の最後に行われるディレ
クトリ情報テーブル複写処理の内容を示したシーケンス
図である。本処理では、まず最初にクライアント側バッ
クアップ実行部113が最新ディレクトリ情報送信要求
フレーム1101をサーバ側バックアップ実行部107
に送信する。サーバ側バックアップ実行部107は、最
新ディレクトリ情報要求フレーム1101を受信した
ら、更新履歴テーブル118の最新ポインタ502が指
し示す部分にチェックポイントカウンタ119の値とそ
の時点の日時を書き込み(ステップ1103)、最新ポ
インタ502を次の格納領域505を指し示すように更
新してから(ステップ1104)、最新ディレクトリテ
ーブル106の内容をクライアント側バックアップ実行
部113へ送信する(フレーム1102)。クライアン
ト側バックアップ実行部113は、受信した最新ディレ
クトリ情報テーブル106の内容を旧ディレクトリ情報
テーブル114に格納する(ステップ1105)。
804)の中で行われる、最新ディレクトリ情報テーブ
ル106から旧ディレクトリ情報テーブル114への内
容複写処理(ステップ1005)について説明する。図
11は、更新バックアップ処理の最後に行われるディレ
クトリ情報テーブル複写処理の内容を示したシーケンス
図である。本処理では、まず最初にクライアント側バッ
クアップ実行部113が最新ディレクトリ情報送信要求
フレーム1101をサーバ側バックアップ実行部107
に送信する。サーバ側バックアップ実行部107は、最
新ディレクトリ情報要求フレーム1101を受信した
ら、更新履歴テーブル118の最新ポインタ502が指
し示す部分にチェックポイントカウンタ119の値とそ
の時点の日時を書き込み(ステップ1103)、最新ポ
インタ502を次の格納領域505を指し示すように更
新してから(ステップ1104)、最新ディレクトリテ
ーブル106の内容をクライアント側バックアップ実行
部113へ送信する(フレーム1102)。クライアン
ト側バックアップ実行部113は、受信した最新ディレ
クトリ情報テーブル106の内容を旧ディレクトリ情報
テーブル114に格納する(ステップ1105)。
【0082】最後に、ファイルリカバリ処理(ステップ
806)の内容について、図12を用いて説明する。図
12は、ファイルリカバリ処理(ステップ806)の内
容を示したシーケンス図である。ファイルリカバリ処理
(ステップ806)は、チェックポイント番号とファイ
ル名とにより指定される一つまたは複数のローカルファ
イル117を、クライアント101の外部記憶装置10
3内に再構築する処理である。
806)の内容について、図12を用いて説明する。図
12は、ファイルリカバリ処理(ステップ806)の内
容を示したシーケンス図である。ファイルリカバリ処理
(ステップ806)は、チェックポイント番号とファイ
ル名とにより指定される一つまたは複数のローカルファ
イル117を、クライアント101の外部記憶装置10
3内に再構築する処理である。
【0083】ファイルリカバリ処理(ステップ806)
は、まず、クライアント側バックアップ実行部113
が、サーバ102にリカバリ開始要求フレーム1201
を送信することで始まる。サーバ側バックアップ処理部
107は、リカバリ開始要求フレーム1201を受信す
ると、そのリカバリ開始要求を発行したクライアント1
01に対応する更新履歴ファイル118に保持されてい
るすべての更新履歴情報を送信する(フレーム120
2)。なお、この更新履歴情報は、更新履歴格納領域5
05に保持された情報であり、チェックポイント番号と
更新日時とを有する。クライアント側バックアップ実行
部113は、更新履歴情報を受信すると、その内容を、
入出力装置125より出力し(ステップ1210)、出
力されたどの更新の時点に、リカバリ処理対象のファイ
ルを戻すかの、チェックポイント番号による指定の入力
を、入出力装置125を介して受け付け、該チェックポ
イント番号(フレーム1206)をサーバ側バックアッ
プ実行部107に送信する(ステップ1211)。
は、まず、クライアント側バックアップ実行部113
が、サーバ102にリカバリ開始要求フレーム1201
を送信することで始まる。サーバ側バックアップ処理部
107は、リカバリ開始要求フレーム1201を受信す
ると、そのリカバリ開始要求を発行したクライアント1
01に対応する更新履歴ファイル118に保持されてい
るすべての更新履歴情報を送信する(フレーム120
2)。なお、この更新履歴情報は、更新履歴格納領域5
05に保持された情報であり、チェックポイント番号と
更新日時とを有する。クライアント側バックアップ実行
部113は、更新履歴情報を受信すると、その内容を、
入出力装置125より出力し(ステップ1210)、出
力されたどの更新の時点に、リカバリ処理対象のファイ
ルを戻すかの、チェックポイント番号による指定の入力
を、入出力装置125を介して受け付け、該チェックポ
イント番号(フレーム1206)をサーバ側バックアッ
プ実行部107に送信する(ステップ1211)。
【0084】サーバ側バックアップ実行部107は、デ
ィレクトリ情報ファイル109に保持されたディレクト
リ情報およびディレクトリの構造に、受信したチェック
ポイント番号により指定された時点までの更新情報40
0に従った更新処理を施して、あらたにリカバリ用ディ
レクトリ情報テーブル(図示せず)を作成する(ステッ
プ1212)。なお、このリカバリ用ディレクトリ情報
テーブルは、ディレクトリ情報ファイルの内容と同じ構
成を有する。
ィレクトリ情報ファイル109に保持されたディレクト
リ情報およびディレクトリの構造に、受信したチェック
ポイント番号により指定された時点までの更新情報40
0に従った更新処理を施して、あらたにリカバリ用ディ
レクトリ情報テーブル(図示せず)を作成する(ステッ
プ1212)。なお、このリカバリ用ディレクトリ情報
テーブルは、ディレクトリ情報ファイルの内容と同じ構
成を有する。
【0085】このステップ1212におけるリカバリ用
ディレクトリ情報テーブルの作成処理の内容を、図21
に示す。このリカバリ用ディレクトリ情報テーブル作成
処理において、サーバ側バックアップ実行部107は、
まず、演算処理装置121にリカバリ用ディレクトリ情
報テーブルの領域を確保し、ここにディレクトリ情報フ
ァイル109の内容を複写する(ステップ2101)。
ディレクトリ情報ファイル109には、復元対象ファイ
ルの属するディレクトリの、復元しうる最も古い状態が
保持されている。
ディレクトリ情報テーブルの作成処理の内容を、図21
に示す。このリカバリ用ディレクトリ情報テーブル作成
処理において、サーバ側バックアップ実行部107は、
まず、演算処理装置121にリカバリ用ディレクトリ情
報テーブルの領域を確保し、ここにディレクトリ情報フ
ァイル109の内容を複写する(ステップ2101)。
ディレクトリ情報ファイル109には、復元対象ファイ
ルの属するディレクトリの、復元しうる最も古い状態が
保持されている。
【0086】つぎに、サーバ側バックアップ実行部10
7は、リカバリ対象のファイルの更新情報を、リカバリ
を要求したクライアント101に対応する更新情報ファ
イル111から検出し、その更新情報を反映させる。す
なわち、サーバ側バックアップ実行部107は、参照す
る対象を、リカバリを要求したクライアント101に対
応する更新情報ファイル111の中の先頭の更新情報格
納領域400とし、この格納領域400の更新対象名格
納領域402に保持されているデータが、リカバリ対象
のファイルのファイル名と一致するかどうか判断し(ス
テップ2102)、一致しなければそのまま処理をステ
ップ2104にすすめ、一致すれば、該更新情報格納領
域400に保持されている更新情報の内容を、ステップ
2101で作成したリカバリ用ディレクトリ情報テーブ
ルに反映させて(ステップ2103)、処理をステップ
2104に進める。この反映とは、更新コマンド格納領
域403に保持された更新処理の内容(「作成」、「更
新」、または「削除」)に従って、その更新処理に伴う
ディレクトリの修正と同じ修正を、ディレクトリ情報テ
ーブルに対して行なうことをいう。
7は、リカバリ対象のファイルの更新情報を、リカバリ
を要求したクライアント101に対応する更新情報ファ
イル111から検出し、その更新情報を反映させる。す
なわち、サーバ側バックアップ実行部107は、参照す
る対象を、リカバリを要求したクライアント101に対
応する更新情報ファイル111の中の先頭の更新情報格
納領域400とし、この格納領域400の更新対象名格
納領域402に保持されているデータが、リカバリ対象
のファイルのファイル名と一致するかどうか判断し(ス
テップ2102)、一致しなければそのまま処理をステ
ップ2104にすすめ、一致すれば、該更新情報格納領
域400に保持されている更新情報の内容を、ステップ
2101で作成したリカバリ用ディレクトリ情報テーブ
ルに反映させて(ステップ2103)、処理をステップ
2104に進める。この反映とは、更新コマンド格納領
域403に保持された更新処理の内容(「作成」、「更
新」、または「削除」)に従って、その更新処理に伴う
ディレクトリの修正と同じ修正を、ディレクトリ情報テ
ーブルに対して行なうことをいう。
【0087】なお、更新情報は、順次すでに格納されて
いる更新情報格納領域400の次の格納領域400に格
納されるため、古い順に並んでいることになり、先頭の
ものが最も古い。そこで、サーバ側バックアップ実行部
107は、参照する対象を、つぎに更新情報格納領域4
00とし(ステップ2104)、参照対象の更新情報格
納領域400のチェックポイント番号格納領域401に
保持されている値が、入力により指定されたチェックポ
イント番号以下であるかどうか検査し(ステップ210
5)、指定された番号以下のときはステップ2102に
戻って更新情報の反映を繰返する。また、指定された番
号より大きいときは、すでに、指定された復元時点以前
に採取されたすべての復元情報を、古い順に反映させた
リカバリ用ディレクトリ情報テーブルが得られたことに
なるので、サーバ側バックアップ実行部107は、リカ
バリ用ディレクトリ情報テーブルの作成処理を終了す
る。
いる更新情報格納領域400の次の格納領域400に格
納されるため、古い順に並んでいることになり、先頭の
ものが最も古い。そこで、サーバ側バックアップ実行部
107は、参照する対象を、つぎに更新情報格納領域4
00とし(ステップ2104)、参照対象の更新情報格
納領域400のチェックポイント番号格納領域401に
保持されている値が、入力により指定されたチェックポ
イント番号以下であるかどうか検査し(ステップ210
5)、指定された番号以下のときはステップ2102に
戻って更新情報の反映を繰返する。また、指定された番
号より大きいときは、すでに、指定された復元時点以前
に採取されたすべての復元情報を、古い順に反映させた
リカバリ用ディレクトリ情報テーブルが得られたことに
なるので、サーバ側バックアップ実行部107は、リカ
バリ用ディレクトリ情報テーブルの作成処理を終了す
る。
【0088】以上のようにしてリカバリ用ディレクトリ
情報テーブルを作成したサーバ側バックアップ実行部1
07は、該テーブルの内容(フレーム1207)をクラ
イアント側バックアップ実行部113に送信する(ステ
ップ1213)。該リカバリ用ディレクトリ情報テーブ
ルの構造は、最新ディレクトリ情報テーブル106の構
造と同じである。
情報テーブルを作成したサーバ側バックアップ実行部1
07は、該テーブルの内容(フレーム1207)をクラ
イアント側バックアップ実行部113に送信する(ステ
ップ1213)。該リカバリ用ディレクトリ情報テーブ
ルの構造は、最新ディレクトリ情報テーブル106の構
造と同じである。
【0089】クライアント側バックアップ実行部113
は、受信したリカバリ用ディレクトリ情報テーブルの内
容を入出力装置125より出力し(ステップ121
4)、どのファイルをリカバリ対象とするかの指定の入
力を、入出力装置125を介して受け付ける(ステップ
1215)。本実施例では、リカバリ対象となるファイ
ルは複数指定できる。リカバリ対象ファイルが指定され
ると、クライアント側バックアップ実行部113は、リ
カバリ対象として指定されたファイルの中の一つのファ
イルの名前を、該ファイルが存在するディレクトリ名も
含めて、ファイルの指定(フレーム1203)を、サー
バ側バックアップ実行部107に送信する(ステップ1
216)。
は、受信したリカバリ用ディレクトリ情報テーブルの内
容を入出力装置125より出力し(ステップ121
4)、どのファイルをリカバリ対象とするかの指定の入
力を、入出力装置125を介して受け付ける(ステップ
1215)。本実施例では、リカバリ対象となるファイ
ルは複数指定できる。リカバリ対象ファイルが指定され
ると、クライアント側バックアップ実行部113は、リ
カバリ対象として指定されたファイルの中の一つのファ
イルの名前を、該ファイルが存在するディレクトリ名も
含めて、ファイルの指定(フレーム1203)を、サー
バ側バックアップ実行部107に送信する(ステップ1
216)。
【0090】サーバ側バックアップ実行部107は、フ
レーム1203を受信すると、復元対象として指定され
たファイルの内容を、データファイル110の内容を基
に再構築し(ステップ1217)、クライアント側バッ
クアップ実行部113に送信する(ステップ121
8)。クライアント側バックアップ実行部113は、受
信したファイル内容を外部記憶装置103内に該ファイ
ル117として格納することで、該ローカルファイル1
17を復元する(ステップ1219)。
レーム1203を受信すると、復元対象として指定され
たファイルの内容を、データファイル110の内容を基
に再構築し(ステップ1217)、クライアント側バッ
クアップ実行部113に送信する(ステップ121
8)。クライアント側バックアップ実行部113は、受
信したファイル内容を外部記憶装置103内に該ファイ
ル117として格納することで、該ローカルファイル1
17を復元する(ステップ1219)。
【0091】ステップ1217における、ファイル内容
の再構築処理を、図22に示す。ステップ1217にお
いて、サーバ側バックアップ実行部107は、ステップ
1212で作成したリカバリ用ディレクトリ情報テーブ
ルの、先頭のディレクトリ情報を参照し(ステップ22
01)、該ディレクトリ情報の復元対象名格納領域(デ
ィレクトリ情報ファイル109における復元対象名格納
領域201に当たる領域)に、リカバリの対象として指
定されたファイルのファイル名を保持しているかどうか
判定する(ステップ2202)。ファイル名が異なる場
合、サーバ側バックアップ実行部107は、参照対象を
つぎのディレクトリ情報とし(ステップ2203)、ス
テップ2202へ処理を戻す。ファイル名が一致した場
合、サーバ側バックアップ実行部107は、該ディレク
トリ情報に保持されているデータ先頭位置(ディレクト
リ情報ファイル109におけるデータ先頭位置格納領域
205に当たる領域に保持されている)を検出する(ス
テップ2204)。サーバ側バックアップ実行部107
は、リカバリ処理を要求したクライアント101に対応
するデータファイル110のなかの、上記のようにして
検出したデータ先頭位置から始まるローカルファイル情
報格納領域305に保持された情報を読み出し(ステッ
プ2205)、まず、そのローカルファイル情報のヘッ
ダー部にある圧縮フラグ(圧縮フラグ格納領域301に
保持されている)を検査して(ステップ2206)、圧
縮が行なわれていれば、ファイル内容格納領域304に
保持された圧縮されたファイルの内容を、もとの状態に
もどして、復元対象として指定されたファイルの内容と
する(ステップ2207)。また、圧縮が行なわれてい
なければ、サーバ側バックアップ実行部107は、ファ
イル内容格納領域304に保持された内容を、そのまま
復元対象として指定されたファイルの内容とする。以上
のようにして再構築された復元対象ファイルの内容(フ
レーム1208)は、上述のように、ステップ1218
において、サーバ側バックアップ実行部107から、ク
ライアント側バックアップ実行部113に送信される。
の再構築処理を、図22に示す。ステップ1217にお
いて、サーバ側バックアップ実行部107は、ステップ
1212で作成したリカバリ用ディレクトリ情報テーブ
ルの、先頭のディレクトリ情報を参照し(ステップ22
01)、該ディレクトリ情報の復元対象名格納領域(デ
ィレクトリ情報ファイル109における復元対象名格納
領域201に当たる領域)に、リカバリの対象として指
定されたファイルのファイル名を保持しているかどうか
判定する(ステップ2202)。ファイル名が異なる場
合、サーバ側バックアップ実行部107は、参照対象を
つぎのディレクトリ情報とし(ステップ2203)、ス
テップ2202へ処理を戻す。ファイル名が一致した場
合、サーバ側バックアップ実行部107は、該ディレク
トリ情報に保持されているデータ先頭位置(ディレクト
リ情報ファイル109におけるデータ先頭位置格納領域
205に当たる領域に保持されている)を検出する(ス
テップ2204)。サーバ側バックアップ実行部107
は、リカバリ処理を要求したクライアント101に対応
するデータファイル110のなかの、上記のようにして
検出したデータ先頭位置から始まるローカルファイル情
報格納領域305に保持された情報を読み出し(ステッ
プ2205)、まず、そのローカルファイル情報のヘッ
ダー部にある圧縮フラグ(圧縮フラグ格納領域301に
保持されている)を検査して(ステップ2206)、圧
縮が行なわれていれば、ファイル内容格納領域304に
保持された圧縮されたファイルの内容を、もとの状態に
もどして、復元対象として指定されたファイルの内容と
する(ステップ2207)。また、圧縮が行なわれてい
なければ、サーバ側バックアップ実行部107は、ファ
イル内容格納領域304に保持された内容を、そのまま
復元対象として指定されたファイルの内容とする。以上
のようにして再構築された復元対象ファイルの内容(フ
レーム1208)は、上述のように、ステップ1218
において、サーバ側バックアップ実行部107から、ク
ライアント側バックアップ実行部113に送信される。
【0092】以後、ステップ1215で指定された全て
のファイルの転送が済むまで、ファイル名(フレーム1
203)の送信(ステップ1216)から、外部記憶装
置103内のローカルファイル117の復元(ステップ
1219)までの処理が繰り返される(ステップ122
0)。リカバリ処理の対象の全てのファイルの転送が完
了すると、クライアント側バックアップ実行部113
は、リカバリ終了通知(フレーム1205)をサーバ側
バックアップ実行部107へ発行し(ステップ122
1)、ファイルリカバリ処理を完了する。
のファイルの転送が済むまで、ファイル名(フレーム1
203)の送信(ステップ1216)から、外部記憶装
置103内のローカルファイル117の復元(ステップ
1219)までの処理が繰り返される(ステップ122
0)。リカバリ処理の対象の全てのファイルの転送が完
了すると、クライアント側バックアップ実行部113
は、リカバリ終了通知(フレーム1205)をサーバ側
バックアップ実行部107へ発行し(ステップ122
1)、ファイルリカバリ処理を完了する。
【0093】以上説明したように、本実施例によれば、
特別な付加装置を設けること無しにネットワークに接続
された情報処理装置(クライアント)のローカルデータ
の復元情報を採取し、指定された時点の内容に復元する
ことが可能となる。さらに、本実施例によれば、クライ
アント側の情報処理装置に、アプリケーションプログラ
ムが行うデータ操作の内容を直接検出する手段が用意さ
れていなくても、ファイルの更新を適当な間隔で検出し
て復元情報を採取することができ、該更新情報によるフ
ァイルの復元が可能となる。
特別な付加装置を設けること無しにネットワークに接続
された情報処理装置(クライアント)のローカルデータ
の復元情報を採取し、指定された時点の内容に復元する
ことが可能となる。さらに、本実施例によれば、クライ
アント側の情報処理装置に、アプリケーションプログラ
ムが行うデータ操作の内容を直接検出する手段が用意さ
れていなくても、ファイルの更新を適当な間隔で検出し
て復元情報を採取することができ、該更新情報によるフ
ァイルの復元が可能となる。
【0094】(実施例2)次に、本発明の他の実施例に
ついて説明する。本実施例は、ネットワークに接続され
ていない情報処理装置に、復元情報格納用の外部記憶装
置を付加し、復元を保障するローカルファイルを有する
情報処理装置が、自ら復元情報採取処理を行う場合の例
である。
ついて説明する。本実施例は、ネットワークに接続され
ていない情報処理装置に、復元情報格納用の外部記憶装
置を付加し、復元を保障するローカルファイルを有する
情報処理装置が、自ら復元情報採取処理を行う場合の例
である。
【0095】本実施例による情報処理装置の構成図を図
15に示す。本実施例の情報処理装置150は、演算処
理装置152と、外部記憶装置103と、復元情報用外
部記憶装置151と、入出力装置125とを有する。
15に示す。本実施例の情報処理装置150は、演算処
理装置152と、外部記憶装置103と、復元情報用外
部記憶装置151と、入出力装置125とを有する。
【0096】復元情報用外部記憶装置151は、ディレ
クトリ情報ファイル109と、データファイル110
と、更新情報ファイル111と、更新履歴ファイル11
8とを備える。なお、本実施例ではディレクトリ情報フ
ァイル109と、データファイル110と、更新情報フ
ァイル111と、更新履歴ファイル118とは、一つず
つ設けられるが、実施例1と同様、バックアップ識別子
を複数設け、バックアップ識別子ごとに設けるようにし
てもよい。この場合は、復元情報の採取の登録を行なう
ため、実施例1と同様、バックアップ登録ファイル11
6を復元情報用外部機構装置151に設ける必要があ
る。また、外部記憶装置103は、復元処理の対象とな
るローカルファイル117を保持する。本実施例では、
復元情報用外部記憶装置151を、ローカルファイル1
17を保持する外部記憶装置103とは別に備えるが、
復元用情報を保持する領域と、ローカルファイルとを同
じ外部記憶装置内に備えてもよい。
クトリ情報ファイル109と、データファイル110
と、更新情報ファイル111と、更新履歴ファイル11
8とを備える。なお、本実施例ではディレクトリ情報フ
ァイル109と、データファイル110と、更新情報フ
ァイル111と、更新履歴ファイル118とは、一つず
つ設けられるが、実施例1と同様、バックアップ識別子
を複数設け、バックアップ識別子ごとに設けるようにし
てもよい。この場合は、復元情報の採取の登録を行なう
ため、実施例1と同様、バックアップ登録ファイル11
6を復元情報用外部機構装置151に設ける必要があ
る。また、外部記憶装置103は、復元処理の対象とな
るローカルファイル117を保持する。本実施例では、
復元情報用外部記憶装置151を、ローカルファイル1
17を保持する外部記憶装置103とは別に備えるが、
復元用情報を保持する領域と、ローカルファイルとを同
じ外部記憶装置内に備えてもよい。
【0097】演算処理装置152は、記憶領域として、
ローカルファイル117のディレクトリ情報を保持する
ための最新ディレクトリ情報テーブル106と、チェッ
クポイントカウンタ119とを保持する。最新ディレク
トリ情報テーブル106は、最後に採取されたローカル
ファイル117のディレクトリ情報を格納するためのテ
ーブルである。なお、一時的に確保され、使用される記
憶領域は、図15には図示していないが、復元情報の採
取時に、演算処理装置152内に一時的に確保される記
憶領域として、現状ディレクトリ情報テーブル(図示せ
ず)があり、さらに、ファイルの復元処理時に、演算処
理装置152内に一時的に確保される記憶領域として、
リカバリ用ディレクトリ情報テーブル(図示せず)があ
る。
ローカルファイル117のディレクトリ情報を保持する
ための最新ディレクトリ情報テーブル106と、チェッ
クポイントカウンタ119とを保持する。最新ディレク
トリ情報テーブル106は、最後に採取されたローカル
ファイル117のディレクトリ情報を格納するためのテ
ーブルである。なお、一時的に確保され、使用される記
憶領域は、図15には図示していないが、復元情報の採
取時に、演算処理装置152内に一時的に確保される記
憶領域として、現状ディレクトリ情報テーブル(図示せ
ず)があり、さらに、ファイルの復元処理時に、演算処
理装置152内に一時的に確保される記憶領域として、
リカバリ用ディレクトリ情報テーブル(図示せず)があ
る。
【0098】さらに、演算処理装置152は、復元情報
の採取およびローカルファイルの復元を行なうバックア
ップ実行部154と、ローカルファイル117の参照お
よび更新を行なう手段であるローカルファイル使用手段
115とを備える。本実施例2においても、実施例1と
同様、演算処理装置152は主記憶装置(図示せず)と
中央演算処理装置(図示せず)とを備えている。演算処
理装置152の上記各部154、115は、あらかじめ
主記憶装置に保持されたインストラクションを中央演算
処理装置が実行することにより実現される。
の採取およびローカルファイルの復元を行なうバックア
ップ実行部154と、ローカルファイル117の参照お
よび更新を行なう手段であるローカルファイル使用手段
115とを備える。本実施例2においても、実施例1と
同様、演算処理装置152は主記憶装置(図示せず)と
中央演算処理装置(図示せず)とを備えている。演算処
理装置152の上記各部154、115は、あらかじめ
主記憶装置に保持されたインストラクションを中央演算
処理装置が実行することにより実現される。
【0099】本実施例2におけるローカルデータの復元
手順を図16に示す。情報処理装置150が起動する
と、まず、バックアップ実行部154は、更新履歴ファ
イル118が、復元情報用外部記憶装置151に存在す
るかどうかを調べる(ステップ1601)。更新履歴フ
ァイル118が存在しない場合、これまでバックアップ
処理が一度も行われていないということなので、バック
アップ実行部154は、初期バックアップ処理を実行す
る(ステップ1602)。初期バックアップ処理の詳細
は後で説明する。更新履歴ファイル118がすでに存在
する場合、バックアップ実行部154は、ディレクトリ
情報ファイル109と更新情報ファイル111の内容か
ら、最も新しい復元情報のディレクトリ情報を求め、最
新ディレクトリ情報テーブル106の再構築を行う(ス
テップ1603)。
手順を図16に示す。情報処理装置150が起動する
と、まず、バックアップ実行部154は、更新履歴ファ
イル118が、復元情報用外部記憶装置151に存在す
るかどうかを調べる(ステップ1601)。更新履歴フ
ァイル118が存在しない場合、これまでバックアップ
処理が一度も行われていないということなので、バック
アップ実行部154は、初期バックアップ処理を実行す
る(ステップ1602)。初期バックアップ処理の詳細
は後で説明する。更新履歴ファイル118がすでに存在
する場合、バックアップ実行部154は、ディレクトリ
情報ファイル109と更新情報ファイル111の内容か
ら、最も新しい復元情報のディレクトリ情報を求め、最
新ディレクトリ情報テーブル106の再構築を行う(ス
テップ1603)。
【0100】以上、ステップ1601から1603まで
は、情報処理装置150起動時の初期化処理の一部とし
て実行されるものである。
は、情報処理装置150起動時の初期化処理の一部とし
て実行されるものである。
【0101】以上のステップが終了すると、バックアッ
プ実行部154は、あらかじめ定められた時間が経過し
た場合(ステップ1604)、または、入出力装置12
5を介して、ユーザから復元情報の採取の指示を受け付
けた場合(ステップ1605)に、更新バックアップ処
理を行なう(ステップ1606)。さらに、入出力装置
125を介して、ユーザからファイルの復元の指示を受
け付けると(ステップ1607)、バックアップ実行部
154は、ファイルリカバリ処理を実行する(ステップ
1608)。本実施例2における更新バックアップ処理
とファイルリカバリ処理の詳細は後で説明する。
プ実行部154は、あらかじめ定められた時間が経過し
た場合(ステップ1604)、または、入出力装置12
5を介して、ユーザから復元情報の採取の指示を受け付
けた場合(ステップ1605)に、更新バックアップ処
理を行なう(ステップ1606)。さらに、入出力装置
125を介して、ユーザからファイルの復元の指示を受
け付けると(ステップ1607)、バックアップ実行部
154は、ファイルリカバリ処理を実行する(ステップ
1608)。本実施例2における更新バックアップ処理
とファイルリカバリ処理の詳細は後で説明する。
【0102】初期バックアップ処理(ステップ160
2)の手順を図17に示す。本実施例の初期バックアッ
プ処理では、バックアップ実行部154は、まず、最新
ディレクトリ情報テーブル106とチェックポイントカ
ウンタ119の初期化と、ディレクトリ情報ファイル1
09、データファイル110、更新情報ファイル11
1、および更新履歴ファイル118の生成とを行う(ス
テップ1701)。
2)の手順を図17に示す。本実施例の初期バックアッ
プ処理では、バックアップ実行部154は、まず、最新
ディレクトリ情報テーブル106とチェックポイントカ
ウンタ119の初期化と、ディレクトリ情報ファイル1
09、データファイル110、更新情報ファイル11
1、および更新履歴ファイル118の生成とを行う(ス
テップ1701)。
【0103】次に、バックアップ実行部154は、復元
を保障するローカルファイル117のディレクトリ情報
700を作成し、ディレクトリ情報格納領域700に格
納して、該ディレクトリ情報格納領域700を最新ディ
レクトリ情報テーブル106の該ファイルが属するディ
レクトリのリストへ連結する(ステップ1702)。該
ディレクトリのディレクトリ情報がまだ最新ディレクト
リ情報テーブル106内にない場合は、バックアップ実
行部154は、該ディレクトリに関するディレクトリ情
報を作成し、最新ディレクトリ情報テーブル106内の
ディレクトリ情報格納領域700に格納し、これを該デ
ィレクトリの親ディレクトリのリストへ連結する処理を
先に行ったのち、ローカルファイル117のディレクト
リ情報の格納を行なう。
を保障するローカルファイル117のディレクトリ情報
700を作成し、ディレクトリ情報格納領域700に格
納して、該ディレクトリ情報格納領域700を最新ディ
レクトリ情報テーブル106の該ファイルが属するディ
レクトリのリストへ連結する(ステップ1702)。該
ディレクトリのディレクトリ情報がまだ最新ディレクト
リ情報テーブル106内にない場合は、バックアップ実
行部154は、該ディレクトリに関するディレクトリ情
報を作成し、最新ディレクトリ情報テーブル106内の
ディレクトリ情報格納領域700に格納し、これを該デ
ィレクトリの親ディレクトリのリストへ連結する処理を
先に行ったのち、ローカルファイル117のディレクト
リ情報の格納を行なう。
【0104】以上のようにして、復元情報採取対象のロ
ーカルファイル117の復元情報のうち、ディレクトリ
情報を最新ディレクトリ情報テーブル106に採取する
と、バックアップ実行部154は、該ファイル117の
ファイル内容を読み込み、データファイル110に追加
書き込みして、書き込み先頭位置を該ファイルのディレ
クトリ情報700のデータ先頭位置705に格納する
(ステップ1703)。ファイル内容のデータファイル
110への書き込み時に、必要であればファイル内容の
データ圧縮を行ってもよい。データ圧縮を行なった場合
は、圧縮フラグ格納領域301に、圧縮済みを示すフラ
グを格納する。
ーカルファイル117の復元情報のうち、ディレクトリ
情報を最新ディレクトリ情報テーブル106に採取する
と、バックアップ実行部154は、該ファイル117の
ファイル内容を読み込み、データファイル110に追加
書き込みして、書き込み先頭位置を該ファイルのディレ
クトリ情報700のデータ先頭位置705に格納する
(ステップ1703)。ファイル内容のデータファイル
110への書き込み時に、必要であればファイル内容の
データ圧縮を行ってもよい。データ圧縮を行なった場合
は、圧縮フラグ格納領域301に、圧縮済みを示すフラ
グを格納する。
【0105】バックアップ実行部154は、以上のステ
ップ1702、ステップ1703の処理を、復元情報を
採取するようあらかじめ定められている全てのローカル
ファイル117について実行するまで、繰り返す(ステ
ップ1704)。すべての復元情報を採取するすべての
ローカルファイルについて、上記の復元情報採取処理
(ステップ1702、1703)を行なうと、最後に、
バックアップ実行部154は、最新ディレクトリ情報テ
ーブル106の内容をディレクトリ情報ファイル109
に書き込んで初期バックアップ処理を終了する(ステッ
プ1705)。なお、この書き込みの際、バックアップ
実行部154は、メモリ上のアドレスで表すサブディレ
クトリアドレス706、ディレクトリ情報アドレス70
7は、それぞれインデックス番号形式であるサブディレ
クトリインデックス206、ディレクトリ情報インデッ
クス207に変換する。
ップ1702、ステップ1703の処理を、復元情報を
採取するようあらかじめ定められている全てのローカル
ファイル117について実行するまで、繰り返す(ステ
ップ1704)。すべての復元情報を採取するすべての
ローカルファイルについて、上記の復元情報採取処理
(ステップ1702、1703)を行なうと、最後に、
バックアップ実行部154は、最新ディレクトリ情報テ
ーブル106の内容をディレクトリ情報ファイル109
に書き込んで初期バックアップ処理を終了する(ステッ
プ1705)。なお、この書き込みの際、バックアップ
実行部154は、メモリ上のアドレスで表すサブディレ
クトリアドレス706、ディレクトリ情報アドレス70
7は、それぞれインデックス番号形式であるサブディレ
クトリインデックス206、ディレクトリ情報インデッ
クス207に変換する。
【0106】つぎに、本実施例の更新バックアップ処理
(ステップ1604)について説明する。本実施例の更
新バックアップ処理(ステップ1604)の手順を図1
8に示す。バックアップ実行部154は、まず、現在の
ローカルファイル117のディレクトリ情報を読み出
し、演算処理装置152内に領域を確保して、ここに読
み出したディレクトリ情報を格納して、現状ディレクト
リ情報テーブル(図示せず)を作成する(ステップ18
01)。この現状ディレクトリ情報テーブルの構造は最
新ディレクトリ情報テーブル106の構造と同じであ
る。
(ステップ1604)について説明する。本実施例の更
新バックアップ処理(ステップ1604)の手順を図1
8に示す。バックアップ実行部154は、まず、現在の
ローカルファイル117のディレクトリ情報を読み出
し、演算処理装置152内に領域を確保して、ここに読
み出したディレクトリ情報を格納して、現状ディレクト
リ情報テーブル(図示せず)を作成する(ステップ18
01)。この現状ディレクトリ情報テーブルの構造は最
新ディレクトリ情報テーブル106の構造と同じであ
る。
【0107】次に、バックアップ実行部154は、ステ
ップ1801において、演算処理装置121の主記憶上
に領域を確保して、現状ディレクトリ情報テーブルを作
成するとともに、比較処理のために、最新ディレクトリ
情報テーブル106の処理対象のノードであるディレク
トリ情報格納領域を示すためのポインタpの格納領域
と、現状ディレクトリ情報テーブルの処理対象のノード
であるディレクトリ情報格納領域を示すためのポインタ
qの格納領域とを確保する。さらに、バックアップ実行
部154は、ポインタp、ポインタqの格納領域に、各
々、最新ディレクトリ情報テーブル106の先頭のディ
レクトリ情報格納領域のアドレスと、現状ディレクトリ
情報テーブルのディレクトリ情報格納領域のアドレスと
を格納することにより、p、qを初期化する(ステップ
1802)。
ップ1801において、演算処理装置121の主記憶上
に領域を確保して、現状ディレクトリ情報テーブルを作
成するとともに、比較処理のために、最新ディレクトリ
情報テーブル106の処理対象のノードであるディレク
トリ情報格納領域を示すためのポインタpの格納領域
と、現状ディレクトリ情報テーブルの処理対象のノード
であるディレクトリ情報格納領域を示すためのポインタ
qの格納領域とを確保する。さらに、バックアップ実行
部154は、ポインタp、ポインタqの格納領域に、各
々、最新ディレクトリ情報テーブル106の先頭のディ
レクトリ情報格納領域のアドレスと、現状ディレクトリ
情報テーブルのディレクトリ情報格納領域のアドレスと
を格納することにより、p、qを初期化する(ステップ
1802)。
【0108】つぎに、バックアップ実行部154は、最
新ディレクトリ情報テーブル106の内容と、ステップ
1801で作成した現状ディレクトリ情報テーブルの内
容とを比較し、変更されたものについて更新情報を作成
して、復元情報を採取する。
新ディレクトリ情報テーブル106の内容と、ステップ
1801で作成した現状ディレクトリ情報テーブルの内
容とを比較し、変更されたものについて更新情報を作成
して、復元情報を採取する。
【0109】まず、バックアップ実行部154は、作
成、更新、および削除のいずれかの変更が行なわれたフ
ァイルを検出し(ステップ1820)、その変更を検出
したファイルについて更新情報とファイル内容とを、そ
れぞれ更新情報ファイル111とデータファイル110
とに追加格納する(ステップ1821)。
成、更新、および削除のいずれかの変更が行なわれたフ
ァイルを検出し(ステップ1820)、その変更を検出
したファイルについて更新情報とファイル内容とを、そ
れぞれ更新情報ファイル111とデータファイル110
とに追加格納する(ステップ1821)。
【0110】上記のステップ1820〜1821の復元
情報を追加する処理(復元情報追加処理と呼ぶ)は、ポ
インタp、qの少なくともいずれか一方がノードを指し
ている限り、繰り返される(ステップ1816)。ま
た、比較するノードがサブディレクトリを指すものであ
った場合は、該サブディレクトリに対しても、上述の復
元情報追加処理(ステップ1820〜1821)が再帰
的に実行される。なお、サブディレクトリが作成または
削除されていた場合は、該サブディレクトリに属するす
べてのファイルまたはサブディレクトリも作成または削
除されたものとして処理が行われる。
情報を追加する処理(復元情報追加処理と呼ぶ)は、ポ
インタp、qの少なくともいずれか一方がノードを指し
ている限り、繰り返される(ステップ1816)。ま
た、比較するノードがサブディレクトリを指すものであ
った場合は、該サブディレクトリに対しても、上述の復
元情報追加処理(ステップ1820〜1821)が再帰
的に実行される。なお、サブディレクトリが作成または
削除されていた場合は、該サブディレクトリに属するす
べてのファイルまたはサブディレクトリも作成または削
除されたものとして処理が行われる。
【0111】ポインタp、qのいずれもノードを指して
いない状態になると、バックアップ実行部154は、以
上のようにして作成された現状ディレクトリ情報テーブ
ルを最新ディレクトリ情報テーブル106へ複写する。
これにより、復元情報の採取が完了したことになるの
で、バックアップ実行部154は、更新バックアップ処
理(ステップ1604)を終了する。
いない状態になると、バックアップ実行部154は、以
上のようにして作成された現状ディレクトリ情報テーブ
ルを最新ディレクトリ情報テーブル106へ複写する。
これにより、復元情報の採取が完了したことになるの
で、バックアップ実行部154は、更新バックアップ処
理(ステップ1604)を終了する。
【0112】上記の変更ファイル検出処理(ステップ1
820)は、図23に示すように、現状ディレクトリテ
ーブルに保持されている情報(更新バックアップ処理
(ステップ1604)の実行時点でのディレクトリの構
成を示している)と、最新ディレクトリテーブル106
に保持されている情報(最も最近復元情報の採取された
時点でのディレクトリの構成を示している)とを比較し
て、最新ディレクトリテーブルの情報の採取された時点
以後に変更の行なわれたファイルとその変更内容とを検
出する処理である。
820)は、図23に示すように、現状ディレクトリテ
ーブルに保持されている情報(更新バックアップ処理
(ステップ1604)の実行時点でのディレクトリの構
成を示している)と、最新ディレクトリテーブル106
に保持されている情報(最も最近復元情報の採取された
時点でのディレクトリの構成を示している)とを比較し
て、最新ディレクトリテーブルの情報の採取された時点
以後に変更の行なわれたファイルとその変更内容とを検
出する処理である。
【0113】バックアップ実行部154は、まず、ポイ
ンタpが指すノードに保持されているファイル名と、ポ
インタqが指すノードに保持されているファイル名との
大小を比較する(ステップ1803)。なお、ポインタ
pまたはqがどのノードも指し示していない場合は、該
ポインタが無限に大きな値のファイル名を持つノードを
指し示していると見なして比較を行う。
ンタpが指すノードに保持されているファイル名と、ポ
インタqが指すノードに保持されているファイル名との
大小を比較する(ステップ1803)。なお、ポインタ
pまたはqがどのノードも指し示していない場合は、該
ポインタが無限に大きな値のファイル名を持つノードを
指し示していると見なして比較を行う。
【0114】ステップ1803の比較の結果が同じであ
れば、バックアップ実行部154は、さらに、p、qの
指し示すそれぞれのディレクトリ情報格納領域に保持さ
れているファイルの大きさ、属性、最終更新日時の比較
を行う(ステップ1804)。ステップ1804で相違
が検出されれば、バックアップ実行部154は、更新コ
マンド情報が「ファイル更新」である更新情報を作成し
(ステップ1807)、ポインタp、qを、それぞれ、
次のノードを指し示すように更新し(ステップ180
8)、変更ファイル検出処理(ステップ1820)を終
了して、処理を更新情報格納処理(ステップ1821)
に進める。なお、ステップ1806、1808、181
0において、すでに、すべてのノードを比較したため、
比較に供すべきノードがないときは、ポインタ格納領域
には、どのノードも指し示さない値が格納される。
れば、バックアップ実行部154は、さらに、p、qの
指し示すそれぞれのディレクトリ情報格納領域に保持さ
れているファイルの大きさ、属性、最終更新日時の比較
を行う(ステップ1804)。ステップ1804で相違
が検出されれば、バックアップ実行部154は、更新コ
マンド情報が「ファイル更新」である更新情報を作成し
(ステップ1807)、ポインタp、qを、それぞれ、
次のノードを指し示すように更新し(ステップ180
8)、変更ファイル検出処理(ステップ1820)を終
了して、処理を更新情報格納処理(ステップ1821)
に進める。なお、ステップ1806、1808、181
0において、すでに、すべてのノードを比較したため、
比較に供すべきノードがないときは、ポインタ格納領域
には、どのノードも指し示さない値が格納される。
【0115】ステップ1803でポインタpの指すノー
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より大きい場合は、ディレク
トリ情報がすでにファイル名をキーとしてソートされて
いるため、ポインタqが指すノードの内容に示されるフ
ァイルが、新たに作成されたということになる。このた
め、バックアップ実行部154は、更新コマンド情報が
「ファイル作成」である更新情報を作成し(ステップ1
805)、ポインタqを次のノードを指し示すように更
新し(ステップ1806)、変更ファイル検出処理(ス
テップ1820)を終了して、処理を更新情報格納処理
(ステップ1821)に進める。
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より大きい場合は、ディレク
トリ情報がすでにファイル名をキーとしてソートされて
いるため、ポインタqが指すノードの内容に示されるフ
ァイルが、新たに作成されたということになる。このた
め、バックアップ実行部154は、更新コマンド情報が
「ファイル作成」である更新情報を作成し(ステップ1
805)、ポインタqを次のノードを指し示すように更
新し(ステップ1806)、変更ファイル検出処理(ス
テップ1820)を終了して、処理を更新情報格納処理
(ステップ1821)に進める。
【0116】ステップ1803でポインタpの指すノー
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より小さい場合は、ポインタ
pが指すノードに示されるファイルが、すでに削除され
ている。よって、この場合、バックアップ実行部154
は、更新コマンド情報が「ファイル削除」である更新情
報を作成し(ステップ1809)、ポインタpを次のノ
ードを指し示すように更新し(ステップ1810)、変
更ファイル検出処理(ステップ1820)を終了して、
処理を更新情報格納処理(ステップ1821)に進め
る。
ドに格納されるファイル名の方がポインタqの指すノー
ドに格納されるファイル名より小さい場合は、ポインタ
pが指すノードに示されるファイルが、すでに削除され
ている。よって、この場合、バックアップ実行部154
は、更新コマンド情報が「ファイル削除」である更新情
報を作成し(ステップ1809)、ポインタpを次のノ
ードを指し示すように更新し(ステップ1810)、変
更ファイル検出処理(ステップ1820)を終了して、
処理を更新情報格納処理(ステップ1821)に進め
る。
【0117】更新情報格納処理(ステップ1821)で
は、バックアップ実行部154は、図24に示すよう
に、まず、更新情報採取対象のローカルファイル117
の内容をデータファイル110に追加書き込みし、ステ
ップ1805、1807、1809のいずれかのステッ
プで作成した更新情報を、更新情報ファイル111に追
加書き込みする(ステップ1811)。この処理によ
り、データファイル110または更新情報ファイル11
1のサイズが、あらかじめ定められたファイルサイズを
超えなければ(ステップ1812)、バックアップ実行
部154は、更新情報格納処理(ステップ1821)を
終了し、処理を上述のステップ1816に進める。
は、バックアップ実行部154は、図24に示すよう
に、まず、更新情報採取対象のローカルファイル117
の内容をデータファイル110に追加書き込みし、ステ
ップ1805、1807、1809のいずれかのステッ
プで作成した更新情報を、更新情報ファイル111に追
加書き込みする(ステップ1811)。この処理によ
り、データファイル110または更新情報ファイル11
1のサイズが、あらかじめ定められたファイルサイズを
超えなければ(ステップ1812)、バックアップ実行
部154は、更新情報格納処理(ステップ1821)を
終了し、処理を上述のステップ1816に進める。
【0118】一方、データファイル110または更新情
報ファイル111のサイズが、あらかじめ定められたフ
ァイルサイズを超えてしまった場合、古い更新情報を削
除してファイルサイズをあらかじめ定められた限界値以
内にするため、バックアップ実行部154は、つぎの処
理を行なう。
報ファイル111のサイズが、あらかじめ定められたフ
ァイルサイズを超えてしまった場合、古い更新情報を削
除してファイルサイズをあらかじめ定められた限界値以
内にするため、バックアップ実行部154は、つぎの処
理を行なう。
【0119】まず、バックアップ実行部154は、更新
情報ファイル111の中の更新情報のうち、最も古いチ
ェックポイント番号を持つ更新情報(最古ポインタ50
1が指し示すもの)の内容に従ってディレクトリ情報フ
ァイル109の内容を更新する(ステップ1813)。
情報ファイル111の中の更新情報のうち、最も古いチ
ェックポイント番号を持つ更新情報(最古ポインタ50
1が指し示すもの)の内容に従ってディレクトリ情報フ
ァイル109の内容を更新する(ステップ1813)。
【0120】次にバックアップ実行部154は、データ
ファイル110、および更新情報ファイル111に保持
されているデータのうち、ステップ1807の処理によ
り不要となったデータを削除する(ステップ181
4)。なお、このとき、不要となったデータは、前述の
ステップ1010と同様にして決定される。また、デー
タの削除に伴い、ディレクトリ情報ファイル109や更
新情報ファイル111に格納されているデータ先頭位置
205、407が変わることもあるので、バックアップ
実行部154は、これらも併せて修正する。最後に、バ
ックアップ実行部154は、最古ポインタ501を、現
在指し示している更新履歴格納領域505の次に位置す
る格納領域505を指し示すように更新する(ステップ
1815)。ステップ1813〜1815の処理によ
り、データファイル110および更新情報ファイル11
1のサイズが縮小される。ステップ1815を実行する
と、バックアップ実行部154は、ファイルサイズがあ
らかじめ定められた値を超えなかった場合と同様に、更
新情報格納処理(ステップ1821)を終了し、処理を
上述のステップ1816に進める。
ファイル110、および更新情報ファイル111に保持
されているデータのうち、ステップ1807の処理によ
り不要となったデータを削除する(ステップ181
4)。なお、このとき、不要となったデータは、前述の
ステップ1010と同様にして決定される。また、デー
タの削除に伴い、ディレクトリ情報ファイル109や更
新情報ファイル111に格納されているデータ先頭位置
205、407が変わることもあるので、バックアップ
実行部154は、これらも併せて修正する。最後に、バ
ックアップ実行部154は、最古ポインタ501を、現
在指し示している更新履歴格納領域505の次に位置す
る格納領域505を指し示すように更新する(ステップ
1815)。ステップ1813〜1815の処理によ
り、データファイル110および更新情報ファイル11
1のサイズが縮小される。ステップ1815を実行する
と、バックアップ実行部154は、ファイルサイズがあ
らかじめ定められた値を超えなかった場合と同様に、更
新情報格納処理(ステップ1821)を終了し、処理を
上述のステップ1816に進める。
【0121】つぎに、本実施例2におけるファイルリカ
バリ処理(ステップ1606)の手順を図19を用いて
説明する。ファイルリカバリ処理(ステップ1606)
は、復元情報用外部記憶装置151に蓄積された復元情
報と最新ディレクトリ情報テーブル106の内容とを用
いて、指定された一つまたは複数のローカルファイル1
17を、指定されたチェックポイント番号に対応する時
点の内容に再構築する処理である。
バリ処理(ステップ1606)の手順を図19を用いて
説明する。ファイルリカバリ処理(ステップ1606)
は、復元情報用外部記憶装置151に蓄積された復元情
報と最新ディレクトリ情報テーブル106の内容とを用
いて、指定された一つまたは複数のローカルファイル1
17を、指定されたチェックポイント番号に対応する時
点の内容に再構築する処理である。
【0122】バックアップ実行部154は、使用者から
のファイルリカバリ処理の要求を入出力装置125を介
して受け付けると、まず、更新履歴ファイル118に格
納されている更新履歴情報を入出力装置125の表示装
置に出力する(ステップ1901)。これは、使用者が
この表示を確認し、指示するチェックポイント番号を決
定することができるようにするためである。この際表示
される更新履歴情報は、チェックポイント番号と更新日
時とが組になったものである。
のファイルリカバリ処理の要求を入出力装置125を介
して受け付けると、まず、更新履歴ファイル118に格
納されている更新履歴情報を入出力装置125の表示装
置に出力する(ステップ1901)。これは、使用者が
この表示を確認し、指示するチェックポイント番号を決
定することができるようにするためである。この際表示
される更新履歴情報は、チェックポイント番号と更新日
時とが組になったものである。
【0123】つぎに、バックアップ実行部154は、入
出力装置125を介してファイルを復元する時点を指定
するチェックポイント番号の入力を受け付け(ステップ
1902)、指定されたチェックポイント番号で指定さ
れた時点までの更新情報400に従った更新処理を施し
たリカバリ用ディレクトリ情報テーブル(図示せず)を
作成する(ステップ1903)。このステップ1903
におけるリカバリ用ディレクトリ情報テーブルの作成方
法は、前述のステップ1212(図12)の場合の作成
方法(図21に図示)と同様である。
出力装置125を介してファイルを復元する時点を指定
するチェックポイント番号の入力を受け付け(ステップ
1902)、指定されたチェックポイント番号で指定さ
れた時点までの更新情報400に従った更新処理を施し
たリカバリ用ディレクトリ情報テーブル(図示せず)を
作成する(ステップ1903)。このステップ1903
におけるリカバリ用ディレクトリ情報テーブルの作成方
法は、前述のステップ1212(図12)の場合の作成
方法(図21に図示)と同様である。
【0124】つぎに、バックアップ実行部154は、作
成したリカバリ用ディレクトリ情報テーブルの内容を入
出力装置の表示装置に出力する(ステップ1904)。
これは、使用者が指定したチェックポイント番号の対応
する時点におけるディレクトリ情報を確認し、復元する
ファイルを決定することができるようにするためであ
る。さらに、バックアップ実行部154は、入出力装置
125を介して復元するファイル名の指定を受け付ける
(ステップ1905)。なお、本実施例では、複数のフ
ァイル名を受け付けることができる。
成したリカバリ用ディレクトリ情報テーブルの内容を入
出力装置の表示装置に出力する(ステップ1904)。
これは、使用者が指定したチェックポイント番号の対応
する時点におけるディレクトリ情報を確認し、復元する
ファイルを決定することができるようにするためであ
る。さらに、バックアップ実行部154は、入出力装置
125を介して復元するファイル名の指定を受け付ける
(ステップ1905)。なお、本実施例では、複数のフ
ァイル名を受け付けることができる。
【0125】ファイル名の指定を受け付けたバックアッ
プ実行部154は、指定されたファイルのうちのひとつ
の内容をリカバリ用ディレクトリ情報テーブルとデータ
ファイル110から復元し、外部記憶装置103内に該
ファイル117として格納することで、指定されたファ
イルを指定された時点の内容に復元する(ステップ19
06)。なお、ローカルファイル117の内容の再構築
方法は、前述のステップ1217(図12)の場合の方
法(図22に図示)と同様である。ステップ1906の
ファイルの復元は、ステップ1905において指定され
たすべてのファイルの復元が完了するまで繰り返される
(ステップ1907)。
プ実行部154は、指定されたファイルのうちのひとつ
の内容をリカバリ用ディレクトリ情報テーブルとデータ
ファイル110から復元し、外部記憶装置103内に該
ファイル117として格納することで、指定されたファ
イルを指定された時点の内容に復元する(ステップ19
06)。なお、ローカルファイル117の内容の再構築
方法は、前述のステップ1217(図12)の場合の方
法(図22に図示)と同様である。ステップ1906の
ファイルの復元は、ステップ1905において指定され
たすべてのファイルの復元が完了するまで繰り返される
(ステップ1907)。
【0126】本実施例によれば、ファイルの更新操作内
容を逐次記録していく手段が提供されていない情報処理
装置であっても、本実施例のファイル復元方法を適用す
ることにより、ファイルの復元を保障することができ
る。
容を逐次記録していく手段が提供されていない情報処理
装置であっても、本実施例のファイル復元方法を適用す
ることにより、ファイルの復元を保障することができ
る。
【0127】
【発明の効果】以上説明したように、本発明によれば、
ネットワークを介してサーバと接続されたクライアント
に、特別なバックアップ用の装置を付加しなくてもその
クライアントの記憶装置が保持するファイルの復元を保
障することができ、低コストでデータの保全を図ること
が可能になるという効果がある。
ネットワークを介してサーバと接続されたクライアント
に、特別なバックアップ用の装置を付加しなくてもその
クライアントの記憶装置が保持するファイルの復元を保
障することができ、低コストでデータの保全を図ること
が可能になるという効果がある。
【0128】また、本発明によれば、情報処理装置に、
記憶装置に格納されるデータの更新操作の内容を逐次検
出、記録するための手段が提供されていなくとも、定期
的にファイルの更新内容を検出することができるため、
前記手段が提供されていないような安価なパーソナルコ
ンピュータシステムにも適用できるという効果がある。
記憶装置に格納されるデータの更新操作の内容を逐次検
出、記録するための手段が提供されていなくとも、定期
的にファイルの更新内容を検出することができるため、
前記手段が提供されていないような安価なパーソナルコ
ンピュータシステムにも適用できるという効果がある。
【図1】本発明を適用する、実施例1の情報処理装置シ
ステムの構成図である。
ステムの構成図である。
【図2】実施例1におけるディレクトリ情報ファイルの
内部構造図である。
内部構造図である。
【図3】実施例1におけるデータファイルの内部構造図
である。
である。
【図4】実施例1における更新情報ファイルの内部構造
図である。
図である。
【図5】実施例1における更新履歴ファイルの内部構造
図である。
図である。
【図6】実施例1におけるバックアップ登録ファイルの
内部構造図である。
内部構造図である。
【図7】実施例1における最新ディレクトリ情報テーブ
ルの構造図である。
ルの構造図である。
【図8】実施例1におけるデータバックアップ手順を示
すフローチャートである。
すフローチャートである。
【図9】実施例1における初期バックアップ処理の内容
を示すシーケンス図である。
を示すシーケンス図である。
【図10】実施例1における更新バックアップ処理の内
容を示すシーケンス図である。
容を示すシーケンス図である。
【図11】実施例1におけるディレクトリ情報テーブル
複写処理の内容を示すシーケンス図である。
複写処理の内容を示すシーケンス図である。
【図12】実施例1におけるファイルリカバリ処理の内
容を示すシーケンス図である。
容を示すシーケンス図である。
【図13】実施例1におけるディレクトリ情報テーブル
の比較を行う時のテーブル初期状態を示す図である。
の比較を行う時のテーブル初期状態を示す図である。
【図14】実施例1におけるディレクトリ情報テーブル
の比較方法を示すフローチャートである。
の比較方法を示すフローチャートである。
【図15】本発明を適用する実施例2の情報処理装置の
構成図である。
構成図である。
【図16】実施例2におけるデータバックアップ手順を
示すフローチャートである。
示すフローチャートである。
【図17】実施例2における初期バックアップ処理の手
順を示すフローチャートである。
順を示すフローチャートである。
【図18】実施例2における更新バックアップ処理の手
順を示すフローチャートである。
順を示すフローチャートである。
【図19】実施例2におけるファイルリカバリ処理の手
順を示すフローチャートである。
順を示すフローチャートである。
【図20】復元情報初期化処理の手順を示すフローチャ
ートである。
ートである。
【図21】リカバリ用ディレクトリ情報テーブルの作成
処理の手順を示すフローチャートである。
処理の手順を示すフローチャートである。
【図22】復元に供するファイル内容の検出処理の手順
を示すフローチャートである。
を示すフローチャートである。
【図23】ファイル変更検出処理の手順を示すフローチ
ャートである。
ャートである。
【図24】更新情報格納処理の手順を示すフローチャー
トである。
トである。
101…クライアント、 102…サーバ、 103、
104…外部記憶装置、 106…最新ディレクトリ情
報テーブル、 107…サーバ側バックアップ実行部、
108、112…通信処理部、 109…ディレクト
リ情報ファイル、 110…データファイル、 111
…更新情報ファイル、 113…クライアント側バック
アップ実行部、 114…旧ディレクトリ情報テーブ
ル、 115…ローカルファイル使用手段、 116…
バックアップ登録ファイル、 117…ローカルファイ
ル、 118…更新履歴ファイル、 119…チェック
ポイントカウンタ、120…バックアップ登録ファイ
ル、 121、122、152…演算処理装置、 12
5…入出力装置、 154…バックアップ実行部、 1
51…復元情報用外部記憶装置、 200、700…デ
ィレクトリ情報格納領域、 305…ローカルファイル
情報格納領域、 400…更新情報格納領域、600…
登録情報格納領域。
104…外部記憶装置、 106…最新ディレクトリ情
報テーブル、 107…サーバ側バックアップ実行部、
108、112…通信処理部、 109…ディレクト
リ情報ファイル、 110…データファイル、 111
…更新情報ファイル、 113…クライアント側バック
アップ実行部、 114…旧ディレクトリ情報テーブ
ル、 115…ローカルファイル使用手段、 116…
バックアップ登録ファイル、 117…ローカルファイ
ル、 118…更新履歴ファイル、 119…チェック
ポイントカウンタ、120…バックアップ登録ファイ
ル、 121、122、152…演算処理装置、 12
5…入出力装置、 154…バックアップ実行部、 1
51…復元情報用外部記憶装置、 200、700…デ
ィレクトリ情報格納領域、 305…ローカルファイル
情報格納領域、 400…更新情報格納領域、600…
登録情報格納領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小菅 渉 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内
Claims (8)
- 【請求項1】記憶装置と演算処理装置とを有する少なく
とも一つのサーバと、該サーバに通信回線を介して接続
された少なくとも一つのクライアントとを有し、該クラ
イアントは、すくなくとも一つのファイルを保持する記
憶装置と、該ファイルの作成、更新、および削除を行な
う手段を有する演算処理装置と、外部からの入力を受け
付ける入力装置とを有するネットワークシステムにおけ
る該ファイルの保守方法において、 復元の指示と、復元対象のファイルの指示と、復元する
時点についての指示とを、上記入力装置を介して受け付
ける入力受け付け処理と、 上記ファイルの復元のための情報を採取する更新バック
アップ処理と、 上記入力装置を介して指示された上記ファイルを、上記
入力装置を介して指示された時点のものに復元するファ
イルリカバリ処理とを少なくとも実行し、 上記更新バックアップ処理は、 あらかじめ定められた周期により発行される起動命令、
および、上記入力装置を介して受け付けられたバックア
ップ処理の実行指示のうちの少なくともいずれかにより
起動され、 上記クライアントの演算処理装置が、作成、更新、およ
び削除のいずれかの変更が行なわれたファイルと、その
変更の内容を示す更新情報とを検出し、該ファイルを特
定する情報と該ファイルの更新情報とをサーバに転送す
る変更ファイル検出ステップと、 上記転送を受け付けた上記サーバの演算処理装置が、デ
ィレクトリの構成を示すディレクトリ情報と、上記検出
したファイルの内容と、該ファイルの更新情報とを含
む、該ファイルの復元のための情報である復元情報を採
取し、該復元情報を上記サーバの記憶装置に格納する更
新情報格納ステップとを有し、 上記ファイルリカバリ処理は、 上記入力装置を介して上記クライアントの演算処理装置
の受け付けた、上記ファイルの復元指示により起動さ
れ、 上記クライアントの演算処理装置が、上記入力装置を介
して受け付けた復元する時点の指示を上記サーバに転送
するステップと、 上記時点の指示の転送を受け付けた上記サーバの演算処
理装置が、上記ディレクトリ情報と上記更新情報とを基
に、該指示された時点のディレクトリを表わすリカバリ
用ディレクトリ情報テーブルを作成するステップと、 上記クライアントの演算処理装置が、上記入力装置を介
して受け付けた復元するファイルの指示を上記サーバに
転送するステップと、 上記ファイル指示の転送を受け付けた上記サーバの演算
処理装置が、上記リカバリ用ディレクトリ情報テーブル
と、上記復元情報に含まれる復元対象のファイル内容と
を基に、上記指示された時点における上記指示されたフ
ァイルの内容を再構築し、該内容を上記クライアントに
転送するステップと、 上記再構築されたファイル内容の転送を受け付けた上記
クライアントの演算処理装置が、上記再構築したファイ
ルの内容を、上記復元対象のファイルに格納するステッ
プとを有することを特徴とするファイル保守方法。 - 【請求項2】請求項1において、 上記変更ファイル検出ステップにおける変更されたファ
イルとその変更内容との検出は、 該ステップ実行時のディレクトリの状態と、最後に採取
された上記ディレクトリ情報とを比較することにより行
なわれることを特徴とするファイル保守方法。 - 【請求項3】請求項1において、 前記クライアントは、情報を出力する出力装置をさらに
有し、 前記入力受け付け処理における復元対象のファイルの指
示の受け付けは、 前記サーバの演算処理装置が、前記作成したリカバリ用
ディレクトリ情報テーブルを上記クライアントに転送
し、 上記リカバリ用ディレクトリ情報テーブルの転送を受け
付けた上記クライアントの演算処理装置が、該リカバリ
用ディレクトリ情報テーブルの内容を上記出力装置に表
示し、該表示されたディレクトリ情報に含まれるファイ
ルの指示を受け付けることにより行なわれることを特徴
とするファイル保守方法。 - 【請求項4】少なくとも一つのファイルを保持する記憶
装置と、該ファイルの作成、更新、および削除を行なう
手段を有する演算処理装置と、外部からの入力を受け付
ける入力装置とを有する情報処理装置における該ファイ
ルの保守方法において、 復元の指示と、復元対象のファイルの指示と、復元する
時点についての指示とを、上記入力装置を介して受け付
ける処理と、 上記ファイルの復元のための情報を採取する更新バック
アップ処理と、 上記入力装置を介して指示された上記ファイルを、上記
入力装置を介して指示された時点のものに復元するファ
イルリカバリ処理とを少なくとも実行し、 上記更新バックアップ処理は、 あらかじめ定められた周期により発行される起動命令、
および、上記入力装置を介して受け付けられたバックア
ップ処理の実行指示のうちの少なくともいずれかにより
起動され、 作成、更新、および削除のいずれかの変更が行なわれた
ファイルと、その変更の内容を示す更新情報とを検出す
る変更ファイル検出ステップと、 ディレクトリの構成を示すディレクトリ情報と、上記検
出したファイルの内容と、該ファイルの更新情報とを含
み、該ファイルの復元のための情報である復元情報を採
取し、上記記憶装置に格納する更新情報格納ステップと
を有し、 上記ファイルリカバリ処理は、 上記入力装置を介して受け付けられた、上記ファイルの
復元指示により起動され、 上記ディレクトリ情報と上記更新情報とを基に、上記指
示された時点のディレクトリを表わすリカバリ用ディレ
クトリ情報テーブルを作成するステップと、 上記リカバリ用ディレクトリ情報テーブルと、上記復元
情報に含まれる復元対象のファイルの内容とを基に、上
記指示された時点における上記指示されたファイルの内
容を再構築するステップと、 上記再構築されたファイルの内容を、上記復元対象のフ
ァイルに格納するステップとを有することを特徴とする
ファイル保守方法。 - 【請求項5】請求項4において、 上記変更ファイル検出ステップにおける変更されたファ
イルとその変更内容との検出は、 該ステップ実行時のディレクトリの状態と、最後に採取
された上記ディレクトリ情報とを比較することにより行
なわれることを特徴とするファイル保守方法。 - 【請求項6】請求項4において、 前記クライアントは、情報を出力する出力装置をさらに
有し、 前記入力受け付け処理における復元対象のファイルの指
示の受け付けは、 前記サーバの演算処理装置が、前記作成したリカバリ用
ディレクトリ情報テーブルを上記クライアントに転送
し、 上記リカバリ用ディレクトリ情報テーブルの転送を受け
付けた上記クライアントの演算処理装置が、該リカバリ
用ディレクトリ情報テーブルの内容を上記出力装置に表
示し、該表示されたディレクトリ情報に含まれるファイ
ルの指示を受け付けることにより行なわれることを特徴
とするファイル保守方法。 - 【請求項7】記憶装置と演算処理装置とを有する少なく
とも一つのサーバと、該サーバに通信回線を介して接続
された少なくとも一つのクライアントとを有し、該クラ
イアントは、すくなくとも一つのファイルを保持する記
憶装置と、該ファイルの作成、更新、および削除を行な
う手段を有する演算処理装置と、外部からの入力を受け
付ける入力装置とを有するネットワークシステムにおけ
る該ファイルの保守システムにおいて、 上記クライアントの演算処理装置は、 あらかじめ定められた周期により発行される起動命令、
および、上記入力装置を介して受け付けられたバックア
ップ処理の実行指示のうちの少なくともいずれかにより
起動され、作成、更新、および削除のいずれかの変更が
行なわれたファイルと、その変更の内容を示す更新情報
とを検出し、該ファイルを特定する情報と該更新情報と
をサーバに転送する変更ファイル検出手段と、 上記入力装置を介して上記ファイルの復元指示を受け付
けると、上記入力装置を介して、復元する時点について
の指示を受け付け、該時点を示す情報を上記サーバに転
送する手段と、 上記入力装置を介して、復元するファイルの指示を受け
付け、該ファイルの指示を上記サーバに転送する手段
と、 上記サーバの再構築したファイル内容の転送を受け付け
ると、該ファイル内容を上記復元対象のファイルに格納
する手段とを有し、 上記サーバの演算処理装置は、 上記変更されたファイルを示す情報と該ファイルの更新
情報との転送を受け付けると、ディレクトリの構成を示
すディレクトリ情報と、該ファイルの内容と、該ファイ
ルの上記更新情報とを含む、該ファイルの復元のための
情報である復元情報を採取し、該復元情報を上記サーバ
の記憶装置に格納する更新情報格納手段と、 上記時点を示す情報の転送を受け付けると、上記ディレ
クトリ情報と上記更新情報とを基に、該指示された時点
のディレクトリを表わすリカバリ用ディレクトリ情報テ
ーブルを作成する手段と、 上記ファイルを特定する情報の転送を受け付けると、上
記リカバリ用ディレクトリ情報テーブルと、上記復元情
報に含まれる復元対象のファイル内容とを基に、上記指
示された時点における上記指示されたの内容を再構築
し、該内容を上記クライアントに転送する手段とを有す
ることを特徴とするファイル保守システム。 - 【請求項8】すくなくとも一つのファイルを保持する記
憶装置と、該ファイルの作成、更新、および削除を行な
う手段を有する演算処理装置と外部からの入力を受け付
ける入力装置とを有する情報処理装置における該ファイ
ルの保守システムにおいて、 上記演算処理装置は、 上記ファイルの復元のための情報を採取する更新バック
アップ処理手段と、 上記入力装置を介して指示された上記ファイルを、上記
入力装置を介して指示された時点のものに復元するファ
イルリカバリ処理手段とをさらに備え、 上記更新バックアップ処理手段は、 あらかじめ定められた周期により発行される起動命令、
および、上記入力装置を介して受け付けられたバックア
ップ処理の実行指示のうちの少なくともいずれかにより
起動され、 作成、更新、および削除のいずれかの変更が行なわれた
ファイルと、その変更の内容を示す更新情報とを検出す
る変更ファイル検出手段と、 ディレクトリの構成を示すディレクトリ情報と、上記検
出したファイルの内容と、該ファイルの上記更新情報と
を含み、該ファイルの復元のための情報である復元情報
を採取し、該復元情報を上記記憶装置に格納する更新情
報格納手段とを有し、 上記ファイルリカバリ処理手段は、 上記入力装置を介して受け付けられた、上記ファイルの
復元指示により起動され、 上記ディレクトリ情報と上記更新情報とを基に、上記指
示された時点のディレクトリを表わすリカバリ用ディレ
クトリ情報テーブルを作成する手段と、 上記リカバリ用ディレクトリ情報テーブルと、上記復元
情報に含まれる復元対象のファイルの内容とを基に、上
記指示された時点における上記指示されたファイルの内
容を再構築する手段と、 上記再構築したファイルの内容を、上記復元対象のファ
イルに格納する手段とを有することを特徴とするファイ
ル保守システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6020582A JPH07230401A (ja) | 1994-02-17 | 1994-02-17 | ファイル保守方法およびファイル保守システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6020582A JPH07230401A (ja) | 1994-02-17 | 1994-02-17 | ファイル保守方法およびファイル保守システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07230401A true JPH07230401A (ja) | 1995-08-29 |
Family
ID=12031219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6020582A Pending JPH07230401A (ja) | 1994-02-17 | 1994-02-17 | ファイル保守方法およびファイル保守システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07230401A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203187A (ja) * | 1998-01-12 | 1999-07-30 | Casio Comput Co Ltd | ネットワーク端末装置及び記憶媒体 |
JP2005222110A (ja) * | 2004-02-03 | 2005-08-18 | Hitachi Ltd | ストレージサブシステム |
JP2010224847A (ja) * | 2009-03-24 | 2010-10-07 | Hitachi Ltd | 計算機システム及び設定管理方法 |
KR101118565B1 (ko) * | 2009-10-30 | 2012-02-24 | (주)데이타프로텍 | 휴대형 컴퓨터에 저장된 정보 변경 이력 추적에 의한 정보 유출 방지 시스템 및 그 방법 |
CN111290882A (zh) * | 2020-02-11 | 2020-06-16 | 北京松果电子有限公司 | 数据文件备份方法、数据文件备份装置及电子设备 |
-
1994
- 1994-02-17 JP JP6020582A patent/JPH07230401A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203187A (ja) * | 1998-01-12 | 1999-07-30 | Casio Comput Co Ltd | ネットワーク端末装置及び記憶媒体 |
JP2005222110A (ja) * | 2004-02-03 | 2005-08-18 | Hitachi Ltd | ストレージサブシステム |
JP4551096B2 (ja) * | 2004-02-03 | 2010-09-22 | 株式会社日立製作所 | ストレージサブシステム |
JP2010224847A (ja) * | 2009-03-24 | 2010-10-07 | Hitachi Ltd | 計算機システム及び設定管理方法 |
KR101118565B1 (ko) * | 2009-10-30 | 2012-02-24 | (주)데이타프로텍 | 휴대형 컴퓨터에 저장된 정보 변경 이력 추적에 의한 정보 유출 방지 시스템 및 그 방법 |
CN111290882A (zh) * | 2020-02-11 | 2020-06-16 | 北京松果电子有限公司 | 数据文件备份方法、数据文件备份装置及电子设备 |
CN111290882B (zh) * | 2020-02-11 | 2024-02-09 | 北京小米松果电子有限公司 | 数据文件备份方法、数据文件备份装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720801B2 (en) | System and method for supporting asynchronous data replication with very short update intervals | |
US6067541A (en) | Monitoring document changes in a file system of documents with the document change information stored in a persistent log | |
US7039663B1 (en) | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot | |
US7010553B2 (en) | System and method for redirecting access to a remote mirrored snapshot | |
Hitz et al. | File System Design for an NFS File Server Appliance. | |
US7644109B2 (en) | System and method for storage of snapshot metadata in a remote file | |
US8639731B2 (en) | Apparatus for managing plural versions of a root node for an object of a file system | |
US7363444B2 (en) | Method for taking snapshots of data | |
JP4215542B2 (ja) | 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法 | |
US20090006500A1 (en) | Namespace replication program, namespace replication device, and namespace replication method | |
US7865536B1 (en) | Garbage collecting systems and methods | |
US6983296B1 (en) | System and method for tracking modified files in a file system | |
US20080172423A1 (en) | Hsm control program, hsm control apparatus, and hsm control method | |
JPH07175700A (ja) | データベース管理方式 | |
JP2004038929A (ja) | 複数のスナップショットを管理するシステム及び方法 | |
US7437523B1 (en) | System and method for on-the-fly file folding in a replicated storage system | |
JPH11120057A (ja) | ファイルバックアップ方法 | |
JPH07230401A (ja) | ファイル保守方法およびファイル保守システム | |
JPH0844609A (ja) | データバックアップ方法 | |
JPH10289140A (ja) | バッチ処理障害時の復旧方式 | |
JPH0581111A (ja) | データリカバリ方式 |