(57)【要約】【課題】クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップ方法において、バックアップ時のオーバーヘッドを軽減する。【解決手段】クライアントでバックアップの前に関連付けられた差分圧縮データ群を作成した後に、サーバーと接続して、作成された前記差分圧縮データ群と関連情報をサーバーに転送するし、サーバーでは、転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断する。又、データ復旧時に、サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、クライアントに転送し、クライアントで転送された関連情報に従って差分圧縮データ群を解凍・展開し、データを再構築する。【選択図】図３
2004094617.tif 000002
【特許請求の範囲】
【請求項１】
クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップ方法において、
バックアップ時に、前記クライアントでバックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記クライアントで作成された前記差分圧縮データ群と関連情報を前記サーバーに転送するステップと、
前記サーバーで、転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断するステップと、
データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送するステップと，
前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築するステップとを有する
ことを特徴とする差分圧縮によるバックアップ方法。
【請求項２】
クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップシステムにおいて、
バックアップ時に、バックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記作成された前記差分圧縮データ群と関連情報を前記サーバーに転送する前記クライアントと、
前記転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断する前記サーバーとを有し、
データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送し、前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築する
ことを特徴とする差分圧縮によるバックアップシステム。
【請求項３】
新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，
最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，
前記最後のファイルから前記最初の次のファイルまでの逆方向の線形差分をとるステップとを有する
ことを特徴とする差分圧縮方法。
【請求項４】
新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，
最後のファイルから最初のファイルの逆方向ジャンプ差分をとるステップと，前記最初のファイルから前記最後の直前のファイルまでの順方向の線形差分をとるステップとを有する
ことを特徴とする差分圧縮方法。
【請求項５】
新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，
最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，
前記最後のファイルから途中のファイルまでの逆方向の線形差分をとるステップと，
前記最初のファイルから前記途中のファイルの直前のファイルまでの順方向の線形差分をとるステップとを有する
ことを特徴とする差分圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、新旧のファイルから抽出した差分データをクライアントとサーバーでやり取りして、バックアップを行う差分圧縮によるバックアップ方法、システム及び差分圧縮方法に関し、特に、狭帯域ＷＡＮを介して遠隔地間でバックアップを行うシステムに好適な差分圧縮によるバックアップ方法、システム及び差分圧縮方法に関する。
【０００２】
【従来の技術】
クライアント（端末）のバックアップのため、サーバーを利用するクライアントーサーバーモデルが利用されている。このモデルでのバックアップとしては，複数のクライアントが保持するデータをＬＡＮ（Ｌｏｃａｌ　　Ａｒｅａ　　Ｎｅｔｗｏｒｋ）経由でサーバーに退避する方法や、ＬＡＮとＬＡＮとの間にＷＡＮ（Ｗｏｒｌｄ　　Ａｒｅａ　　Ｎｅｔｗｏｒｋ）を介してバックアップする方法がある。
【０００３】
特に、後者の場合は，何がしかの事故、災害が起こっても、復旧が可能なように、銀行データなどの重要データを遠隔バックアップするケースが多い。このような場合、帯域的に狭い長距離のＷＡＮを利用するため，トラフィックを避けるためにも，網に負担をかけないように，できる限り、送るデータ量を少なく（或いは送信時間を短く）する必要がある。
【０００４】
図２３は、従来のフルバックアップ方法の説明図である。フルバックアップ方法では、オリジナルのファイル及びそれを更新（元のファイルを残して、新たにファイルを作成）したファイルや，変更（元のファイルに上書きして書換）したファイルも，そのままの形（サイズ）で、バックアップの時刻毎に、クライアントからサーバーにファイルを退避する。
【０００５】
例えば、図２３では，先ず，時刻Ｔ１に，オリジナルの４つのファイル（Ａ，Ｂ，Ｃ，Ｄ）をクライアントからサーバーに退避する。次に，時刻Ｔ２では，時刻Ｔ１−Ｔ２間で，更新などで削除されたファイル（Ｄ，Ｃ１）を除き、かつ新たに加わったファイル（Ｂ１，Ｃ２，Ｄ１，Ｅ）を含めて７つのファイル（Ａ，Ｂ，Ｂ１，Ｃ，Ｃ２，Ｄ１，Ｅ）を，クライアントからサーバーに転送する。
【０００６】
この方法では、少し更新或いは変更した類似のファイルでも，そのまま送るため，２倍に近いデータ量を送ることになり，送信データ量を減らすことは考慮されていない。
【０００７】
このバックアップの送信データ量を削減するため、図２４に示すファイル差分バックアップ方法が提案されている。従来のファイル差分バックアップ方法では、図２４に示すように、時刻Ｔ１−Ｔ２間で変化したファイル（更新，変更，新規追加されたＢ１，Ｃ２，Ｅ）のみを，時刻Ｔ２で、クライアントからサーバーに退避する。
【０００８】
このため，フルバックアップ方法よりは少ないデータ量で退避できる。しかし、更新或いは変更した個々のファイルサイズは、そのままのサイズで送るため，元ファイルに類似しているのにも関らず，効率は良くなかった。
【０００９】
そこで，更に転送効率を上げるための手法として，元ファイルと更新或いは変更ファイルとの差分データ圧縮Δ（Ｂ−Ｂ１）を利用するバックアップ方法が提案されている。図２５は、従来の差分データ圧縮によるバックアップ方法の説明図である。
【００１０】
図２５に示すように、クライアント側で、元ファイルＢとそれを修正（更新或いは変更）したファイルＢ１が存在する場合、元ファイルＢと修正ファイルＢ１との差分圧縮処理を行い、その差分データΔ（Ｂ−Ｂ１）のみを、サーバー側に送る。
【００１１】
サーバー側では、送られた元ファイルＢおよび差分データΔ（Ｂ−Ｂ１）（勿論、それらの連結関連情報も含めて）から更新ファイルＢ１を作成して、退避する。また，データを復旧する場合は，サーバー側で，元ファイルおよび更新ファイルを読み出し，クライアント側に返送する。クライアント側では，更新ファイルにより，復旧作業を完了する。
【００１２】
このような差分データ圧縮を用いたバックアップ手法は、例えば、ＵＳＰ−５、６３４、０５２　（Ｓｙｓｔｅｍ　ｆｏｒ　ｒｅｄｕｃｉｎｇ　ｓｔｏｒａｇｅ　ｒｅｑｕｉｒｅｍｅｎｔｓ　ａｎｄ　ｔｒａｎｓｍｉｓｓｉｏｎ　ｌｏａｄｓ　ｉｎ　ａ　ｂａｃｋｕｐ　ｓｕｂｓｙｓｔｅｍ　ｉｎ　ｃｌｉｅｎｔ−ｓｅｒｖｅｒ　ｅｎｖｉｒｏｎｍｅｎｔ　ｂｙ　ｔｒａｎｓｍｉｔｔｉｎｇ　ｏｎｌｙ　ｄｅｌｔａ　ｆｉｌｅｓ　ｆｒｏｍ　ｃｌｉｅｎｔ　ｔｏ　ｓｅｒｖｅｒ）等で知られている。
【００１３】
この公知文献で開示された差分データによるバックアップ方法を、図２６乃至図２８で詳細に説明する。先ず、図２６によりクライアント側の差分転送のフローを説明する。尚、ここでは、１つのファイルＡとその修正ファイルを対象として記述するが、他のファイルも同様の処理を行う。
【００１４】
Ｓ１：クライアントがサーバーとの接続を確立する
Ｓ２：最初の元ファイルＡを選択する
Ｓ３：前回のバックアップ以降で、ファイルＡが修正されていたならば，ステップＳ４に進み，そうでなければ，ステップＳ６に進む。
【００１５】
Ｓ４：キャッシュ内に一時退避されているコピーファイルＦ（最初は何も退避されていない）のバージョンがファイルＡより古ければ，ステップＳ８に進み，古くなければ、ステップＳ５に進む。
【００１６】
Ｓ５：ファイルＡをそのまま，サーバーに送り，ファイルＡのコピーをキャッシュ内のＦに置く。
【００１７】
Ｓ６：対象となるファイルが全て送信されたならば終了し、そうでなければ、ステップＳ７に進む。
【００１８】
Ｓ７：次のファイルＡを選択し、ステップＳ３に戻る。
【００１９】
Ｓ８：ファイルＡが修正ファイルである場合には、元ファイルＦとファイルＡとの差分Δ＝ｄｉｆｆ（Ｆ，Ａ）を計算し、その差分データを、修正ファイルの代わりにサーバーに送る。また，ファイルＡのコピーをキャッシュ内のＦに置く。
【００２０】
以上のように、ファイルＡのバージョンを追いながら、古いファイルと新しいファイルの差分をサーバー側に送る（バックアップする）流れである。
【００２１】
次に、図２７により、これに対応したサーバー側の差分データ転送処理のフローを説明する。
【００２２】
Ｓ１１：クライアントとの接続を確立する
Ｓ１２：対象となるデータを全て受信したならば，終了し，そうでなければ、ステップＳ１３に進む。
【００２３】
Ｓ１３：ファイルＡあるいは差分データΔを，サーバーから受信する。
【００２４】
Ｓ１４：これまで蓄積されてきたファイルＡと差分データΔに関連するファイル群と連結情報：［Ｆ，Δ１，Δ２，…，Δｍ］を読み出す。
【００２５】
Ｓ１５：受信したファイルが元ファイルのＡであれば、ステップＳ１６に進み，そうでなれば、ステップＳ１７に進む。
【００２６】
Ｓ１６：元ファイルＡとして，前回にバックアップした時のコピーファイルＦとの差分Δ’＝ｄｉｆｆ（Ａ，Ｆ）　（後の図２９で示す逆方向差分）を取る。更に、新たなファイル群，連結情報として，［Ａ，Δ’，Δ１，…，Δｍ］を蓄積する。
【００２７】
Ｓ１７：送られてきたデータが差分データであるとして，先ず，ＦとΔから差分展開して，修正ファイルＡ’＝Ｒ（Δ、Ｆ）を復元する。次に，逆方向差分として，差分データΔ’＝ｄｉｆｆ（Ａ’，Ｆ）を再作成する。新たなファイル群，連結情報として，［Ａ’，Δ’，Δ１，…，Δｍ］を蓄積する。
【００２８】
以上のように、サーバー側では，クライアント側から送られてきた順方向差分（古いファイルから新しいファイルを引いた差分，図２９を参照）を、逆方向差分に置き換えてバックアップする流れとなっている。
【００２９】
即ち、図２６、図２７のフローをまとめると、図２８のクライアントーサーバーの差分圧縮を用いたバックアップ手順となる。即ち、クライアント側でサーバーとの接続を確立し、サーバー側でクライアントとの接続を確立する（Ｓ１，Ｓ１１）。次に、クライアント側で差分データを作成し、クライアント側からサーバー側に差分データを送信する（Ｓ８）。クライアント側で、対象となるデータを全て送信してない時は、差分データの作成に戻る（Ｓ６）。
【００３０】
サーバー側で差分データを受信する（Ｓ１３）。次に、送られてきた差分データを差分展開し，逆方向差分を再作成して退避する（Ｓ１６，Ｓ１７）。サーバー側で対象となるデータを全て受信してない時は、差分データの受信に戻る（Ｓ１２）。
【００３１】
最後に、クライアント側で、サーバーとの接続を解除し，転送を完了する。又、サーバー側で、クライアントとの接続を解除し，転送を完了する。
【００３２】
又、差分データの基本的な取り方としては，図２９に示すように，順方向と逆方向との２種類のカテゴリが知られている（例えば、参考文献：Ｒａｎｄａｌ　Ｃ．　Ｂｕｒｎｓ，　Ｄａｒｒｅｌｌ　Ｄ．　Ｅ．　Ｌｏｎｇ，　”Ｅｆｆｉｃｉｅｎｔ　Ｄｉｓｔｒｉｂｕｔｅｄ　Ｂａｃｋｕｐ　ｗｉｔｈ　Ｄｅｌｔａ　Ｃｏｍｐｒｅｓｓｉｏｎ，”　Ｐｒｏｃｅｅｄｉｎｇｓ　ｏｆ　ｔｈｅ　Ｆｉｆｔｈ　Ｗｏｒｋｓｈｏｐ　ｏｎ　Ｉ／Ｏ　ｉｎ　Ｐａｒａｌｌｅｌ　ａｎｄ　Ｄｉｓｔｒｉｂｕｔｅｄ　Ｓｙｓｔｅｍｓ，　ＡＣＭ：　Ｓａｎ　Ｊｏｓｅ，　Ｎｏｖ．　１９９７，　ｐｐ．　２６−３６．）。
【００３３】
差分をとる方向として，古いファイルから新しいファイルの差分をとる順方向差分と、新しいファイルから古いファイルの差分をとる逆方向差分がある。また，差分をとる間隔として，最も近いバージョン同士の差分をとる線形差分と、離れたバージョン同士の差分をとるジャンプ差分がある。
【００３４】
【発明が解決しようとする課題】
図２８及び図３０に示すように、従来の差分データによるバックアップ方法では、クライアントとサーバー間で接続を確立した後に、クライアント側で、各差分データを作成し、サーバー側に転送し、サーバー側では、受信した差分データを逆方向差分に置き換えて、退避した後、クライアントとサーバー間の接続を解除するという過程を経ている。
【００３５】
このため，接続中の処理のオーバーヘッドが大きく，接続時間が長くなり、総合的なバックアップ時間がかかるという問題がある。特に、帯域が狭い長距離通信網を使用する場合には、通信料金が高価となり、且つ１台のサーバーで多数のクライアントのバックアップを定期的に行うのに、問題がある。
【００３６】
又、差分圧縮方法として、従来、図２９に示したように、４通りの差分圧縮方法が考えられている。しかし，線形差分では，近隣のファイル間の差分を取っているので、差分サイズは小さくて済むが，離れたファイル間での復元に時間がかかるという問題がある。
【００３７】
逆に、ジャンプ差分では，離れたファイル間でも一気に復元することは可能だが，差分サイズが大きくなる問題がる。
【００３８】
従って、本発明の目的は、クライアントとサーバー間での接続中のオーバーヘッドを低減し、総合的なバックアップ時間を短縮するための差分圧縮によるバックアップ方法及びそのシステムを提供することにある。
【００３９】
又、本発明の他の目的は、差分圧縮しても、サーバー側の処理を低減し、多数のクライアントからのバックアップ処理負担を軽減するための差分圧縮によるバックアップ方法及びそのシステムを提供することにある。
【００４０】
更に、本発明の別の目的は、ユーザーの要求に応じたきめの細かいファイル復旧処理が可能な差分圧縮を行う差分圧縮方法を提供することにある。
【００４１】
【課題を解決するための手段】
この目的の達成のため、本発明では、クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップ方法において、バックアップ時に、前記クライアントでバックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記クライアントで作成された前記差分圧縮データ群と関連情報を前記サーバーに転送するステップと、前記サーバーで、転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断するステップと、データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送するステップと，前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築するステップとを有する。
【００４２】
又、本発明のクライアントのデータをサーバーでバックアップする差分圧縮によるバックアップシステムは、バックアップ時に、バックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記作成された前記差分圧縮データ群と関連情報を前記サーバーに転送するクライアントと、前記転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断するサーバーとを有し、データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送し，前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築する。
【００４３】
本発明では、サーバーとの接続を確立する前に，クライアントで差分データの作成を済ませ，接続を確立した後は，既に作成済みの差分データを送信し、サーバーでは，クライアントから送られてきた差分データを受信し，そのまま退避する（逆差分などの再度変換するなどはしない）ため、オーバーヘッドをなくすことで、総合的なバックアップ時間の短縮を図ることができる。特に，サーバー側での処理を極力なくすことで，複数のクライアントからのバックアップ処理の負担を軽減するようにしたものである。
【００４４】
又、本発明では、好ましくは、前記クライアントでの差分圧縮データの関連付けとして，時間的に古いデータから新しいデータへの順方向の線形差分をとる、又は、本発明では、好ましくは、前記クライアントでの差分圧縮データの関連付けとして，時間的に新しいデータから古いデータへの逆方向の線形差分をとることにより、ユーザの要求による差分形態を実現できる。
【００４５】
更に、本発明では、好ましくは、前記クライアントでの差分圧縮データの作成のため、前記関連付けに従って，バックアップの直前に、一括し差分圧縮データを作成する、又は、前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、差分圧縮データを作成する。これにより、クライアントの性能、ユーザの好みに応じた差分処理が可能となる。
【００４６】
更に、本発明では、好ましくは、前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、前記逆方向の差分圧縮データを作成し、逆方向差分データを逆方向に並びに並べ替えて転送する。
【００４７】
更に、本発明では、好ましくは、前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、順方向線形の関連付けに従い，前記差分データ群を退避する、又は、前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、逆方向線形の関連付けに従い，前記差分データ群を退避する。
【００４８】
又、本発明の差分圧縮方法では、新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，前記最後のファイルから前記最初の次のファイルまでの逆方向の線形差分をとるステップとを有する。
【００４９】
又、本発明の差分圧縮方法では、新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最後のファイルから最初のファイルの逆方向ジャンプ差分をとるステップと，前記最初のファイルから前記最後の直前のファイルまでの順方向の線形差分をとるステップとを有する。
【００５０】
又、本発明の差分圧縮方法では、新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，前記最後のファイルから途中のファイルまでの逆方向の線形差分をとるステップと，前記最初のファイルから前記途中のファイルの直前のファイルまでの順方向の線形差分をとるステップとを有する。
【００５１】
更に、本発明では、好ましくは、最も線形差分のサイズの大きい箇所を関連付けの切れ目として、前記途中ファイルを定義するステップを更に有する。
【００５２】
この本発明の差分圧縮方法では，差分データからのユーザ要求（所望のファイルを速く復元・復旧すること）に応じたファイルを復元・復旧するため、ユーザが望む復旧のさせ方に応じて，順／逆方向，線形／ジャンプ差分を組み合わせて，差分作成を提供できる。
【００５３】
【発明の実施の形態】
以下、本発明の実施の形態を、差分圧縮によるバックアップシステム、クライアントの処理、サーバーの処理、差分データ圧縮方法、他の実施の形態の順で説明する。
【００５４】
［差分圧縮によるバックアップシステム］
図１は、本発明のクライアントーサーバーモデルでのバックアップシステムの第１の実施の形態のブロック図、図２は、本発明のクライアントーサーバーモデルでのバックアップシステムの第２の実施の形態のブロック図である。
【００５５】
図１に示すように、複数のクライアント１−１，１−２，１−ｎが、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）２を介しＬＡＮサーバー３に接続される。複数のクライアント１−１，１−２，１−ｎが保持するデータは、ＬＡＮ２経由でサーバー３に退避される。
【００５６】
又、図２に示すシステムでは、複数のクライアント１−１，１−２，１−ｎが、ＬＡＮ（Ｌｏｃａｌ　　Ａｒｅａ　　Ｎｅｔｗｏｒｋ）２−１、ＷＡＮ（Ｗｏｒｌｄ　　Ａｒｅａ　　Ｎｅｔｗｏｒｋ）４，ＬＡＮ２−２を介しバックアップサーバー３に接続される。複数のクライアント１−１，１−２，１−ｎが保持するデータは、ＬＡＮ２−１，２−２、ＷＡＮ４経由でサーバー３に退避される。
【００５７】
特に、図２のようなシステムは，何がしかの事故、災害が起こっても復旧が可能なように、銀行データなどの重要データを遠隔バックアップするケースで利用される。このような場合，帯域的に狭い長距離のＷＡＮ４を利用するため，トラフィックを避けるためにも，網に負担をかけないように，できる限り、送るデータ量を少なく（或いは送信時間を短く）する必要がある。
【００５８】
図３は、本発明の差分データ転送によるクライアントーサーバー間のバックアップシステムの基本概念図である。クライアント側１−１，１−２，１−ｎで，元ファイル１０と，それを修正（更新或いは変更）したファイル１１が存在する場合，元ファイル１０と修正ファイル１１との差分圧縮処理１２を行い，その差分データのみをサーバー３側に送る。サーバー３側では，送られた元ファイル３１および差分データ３２（勿論，それらの連結関連情報も含めて）を蓄積し、退避する。
【００５９】
また，データを復旧する場合は，サーバー３側で，元ファイル３１および差分データ３２（連結関連情報も含めて）を読み出し，クライアント１−１，１−２，１−ｎ側に返送する。クライアント１−１，１−２，１−ｎ側では，連結関連情報を利用して、元ファイルと差分データから差分解凍処理１３を行い、修正ファイル１１を復元する。これにより，復旧作業を完了する。
【００６０】
図４は、本発明の差分圧縮を用いたバックアップ転送の手順の説明図である。
【００６１】
Ｓ２１：クライアント側でサーバーと接続する前に、所望の差分データを作成する。例えば、バックアップの直前に、ファイル更新又はファイル変更したものに対し、差分データを作成する。又、バックアップ間のファイル更新時又はファイル変更時に、随時差分データを作成する。
【００６２】
Ｓ２２：差分データ作成後、クライアント側でサーバーとの接続を確立する。
【００６３】
Ｓ２３：サーバー側でも、クライアントとの接続を確立する。
【００６４】
Ｓ２４：接続確立後、クライアント側からサーバー側に、差分データを送信する。
【００６５】
Ｓ２５：クライアント側で対象となるデータを全て送信したならば、ステップＳ２９に進み、そうでなけば、ステップＳ２４に戻る。
【００６６】
Ｓ２６：サーバー側で差分データを受信する。
【００６７】
Ｓ２７：サーバーで、送られてきた差分データをそのまま蓄積、退避する。
【００６８】
Ｓ２８：サーバー側で対象となるデータを全て受信したならば、ステップＳ３０に進み、そうでなけば、ステップＳ２６に戻る。
【００６９】
Ｓ２９：クライアント側で、サーバーとの接続を解除し，転送を完了する。
【００７０】
Ｓ３０：サーバー側で、クライアントとの接続を解除し，転送を完了する。
【００７１】
図５は、図３及び図４のシステムにおける具体的な差分圧縮によるバックアップの例を示す説明図である。
【００７２】
クライアント側で、元ファイルＡ０，その更新ファイルＡ１，その更新ファイルＡ２がバックアップ対象とする。先ず、クライアント側で予め、全ての差分Δ１‘＝ｄｉｆｆ（Ａ１，Ａ０），Δ２’＝ｄｉｆｆ（Ａ２，Ａ１）をとる。尚、この例では逆方向の線形差分をとった例である。順方向の線形差分でも同様である。
【００７３】
その後、サーバーと接続を確立し、サーバーに、最新ファイルＡ２，差分データΔ２‘，Δ１’を送り，サーバー側では，そのまま、蓄積し、退避する。
【００７４】
次に、復旧したい場合は，送られた時と同じ差分の並び（逆方向の線形差分）で、即ち、Ａ２，Δ２‘，Δ１’の順で、サーバー側からクライアント側に転送する。クライアント側では、最新のファイルＡ２から逆順に，ファイルＡ１，Ａ０を復旧する。
【００７５】
このように、差分データを、クライアント側でユーザの要求（復旧時にどのような手順で所望のファイルを復元してほしいか）に応じて、予め適した差分作成方法で作成した後、接続を確立し、差分データをサーバー側に転送することで，クライアント側での差分転送（バックアップ）に関するオーバーヘッドを少なくすることができる。
【００７６】
また、サーバー側では、既に、クライアント側で復旧要求に応じた差分データが作成されているので、そのまま退避するだけでよく、また、復旧時にも、そのままクライアント側に返送するだけでよく，サーバー側の負担も大いに軽減される。
【００７７】
［クライアントの処理］
次に、クライアント側で転送前に行う差分の取り方の処理について、説明する。順方向差分，逆方向差分の２つを対象に，差分の取り時期として，転送する直前に一括して差分を作成する場合と，前回のバックアップ（時刻Ｔ１）から今回のバックアップ（時刻Ｔ２）の間にファイルが修正された度に随時作成する場合の２つがあり、それらの組み合わせとして、以下の４通りが考えられる。
【００７８】
（１）一括差分作成＋順方向差分転送：
図６は、クライアント側で一括差分作成し，順方向差分を転送する場合の転送処理フロー図、図７は、図６の差分データ作成処理フロー図である。
【００７９】
Ｓ３１：時刻Ｔ２の直前に差分作成を開始する
Ｓ３２：ファイルＡに関するファイル群Ａ０〜Ａｍから，順方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を、図７に従い、作成する。
【００８０】
Ｓ３３：サーバーとの接続を確立する。
【００８１】
Ｓ３４：既に作成済みのファイルＡに関する順方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を，サーバー側に送信する。
【００８２】
Ｓ３５：サーバーとの接続を解除する。
図７は、図６の差分データ作成処理（Ｓ３２）の詳細処理フロー図である。
【００８３】
Ｓ４１：バックアップ時刻Ｔ２の直前に、差分作成を開始する
Ｓ４２：ファイルＡに関するファイル群Ａ０〜Ａｍ及びそのバージョン情報［Ａ０，Ａ１，Ａ２，…，Ａｍ］を読み出す。
【００８４】
Ｓ４３：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ４４に進み，そうでなれば、処理を終了する。
【００８５】
Ｓ４４：ステップＳ４２で作成した情報から，順方向の差分データを、以下のプログラムで作成する。
【００８６】
Ｆｏｒ　ｎ　＝　１，　ｍ，　＋＋
［　Δｎ　＝　ｄｉｆｆ（Ａｎ−１，　Ａｎ）　］
Ｍａｋｅ　［Ａ０，Δ１，Δ２，…，Δｍ］
Ｓ４５：時刻Ｔ２に作成済みの順方向差分データを，サーバー側に送信する。
【００８７】
Ｓｅｎｄ　［Ａ０，Δ１，Δ２，…，Δｍ］
（２）一括差分作成＋逆方向差分転送：
クライアント側で一括差分作成し，逆方向差分を転送する場合の処理を、図８及び図９で説明する。図８は、クライアント側で一括差分作成し，逆方向差分を転送する場合の転送処理フロー図、図９は、図８の差分データ作成処理フロー図である。
【００８８】
Ｓ５１：時刻Ｔ２の直前に差分作成を開始する
Ｓ５２：ファイルＡに関するファイル群Ａ０〜Ａｍから，逆方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を、図９に従い、作成する。
【００８９】
Ｓ５３：サーバーとの接続を確立する。
【００９０】
Ｓ５４：既に作成済みのファイルＡに関する逆方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を，サーバー側に送信する。
【００９１】
Ｓ５５：サーバーとの接続を解除する。
【００９２】
図９は、図８の差分データ作成処理（Ｓ５２）の詳細処理フロー図である。
【００９３】
Ｓ６１：バックアップ時刻Ｔ２の直前に，差分作成を開始する。
【００９４】
Ｓ６２：ファイルＡに関するファイル群Ａ０〜Ａｍ及びそのバージョン情報［Ａ０，Ａ１，Ａ２，…，Ａｍ］を読み出す。
【００９５】
Ｓ６３：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ６４に進み，そうでなれば、処理を終了する。
【００９６】
Ｓ６４：Ｓ６２で作成した情報から，以下のプログラムで、逆方向差分データを作成する。
【００９７】
Ｆｏｒ　　ｎ　＝　ｍ−１，　０，　−−
［　　Δ’ｎ　＝　ｄｉｆｆ　（Ａｎ＋１，Ａｎ）　］
Ｍａｋｅ　［Ａｍ，Δ’ｍ−１，…，Δ’０］
Ｓ６５：時刻Ｔ２に作成済みの逆方向差分データを、サーバー側に送信する。
【００９８】
Ｓｅｎｄ　［Ａｍ，Δ’ｍ−１，Δ’ｍ−２，…，Δ’０］
（３）随時差分作成＋順方向差分転送：
図１０は、クライアント側で随時差分作成し，順方向差分を転送する場合の転送処理フロー図、図１１は、図１０の差分データ作成処理フロー図である。
【００９９】
Ｓ７１：時刻Ｔ１の直後から差分作成を開始する
Ｓ７２：ファイルＡに関する順方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を、時刻Ｔ１−Ｔ２の間に、図１１に従い、ファイル群Ａ０〜Ａｍから作成する。
【０１００】
Ｓ７３：サーバーとの接続を確立する。
【０１０１】
Ｓ７４：既に作成済みのファイルＡに関する順方向差分データ［Ａ０，Δ１，Δ２，…，Δｍ］を，サーバー側に送信する。
【０１０２】
Ｓ７５：サーバーとの接続を解除する。
【０１０３】
図１１により、時刻Ｔ１〜時刻Ｔ２間で，クライアント側でファイルＡが更新、変更される度に、順方向差分を作成する場合の詳細処理を説明する。
【０１０４】
Ｓ８１：最初のファイルをＡ０，ｍ＝０とし，時刻Ｔ１の直後から差分作成を開始する。
【０１０５】
Ｓ８２：ファイルＡが更新・変更されたならば、ステップＳ８３に進む。
【０１０６】
Ｓ８３：ファイルＡが更新、変更される度に、以下のように、順方向差分データΔｍを作成し，スタックする。
【０１０７】
Δｍ　＝　ｄｉｆｆ（Ａｍ−１，　Ａｍ）；
Ｓｔａｃｋ　［Ａ０，　＋Δｍ］　；　ｍ＋＋　；
Ｓ８４：バックアップ時刻Ｔ２になったならば，ステップＳ８５に進み，そうでなければ、ステップＳ８２に戻る。
【０１０８】
Ｓ８５：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ８６に進み，そうでなれば、処理を終了する。
【０１０９】
Ｓ８６：時刻Ｔ２に作成済みの順方向差分データを，サーバー側に送信する。
【０１１０】
Ｓｅｎｄ　［Ａ０，Δ１，Δ２，…，Δｍ］
（４）随時差分作成＋逆方向差分転送：
図１２は、クライアント側で随時差分作成し，逆方向差分を転送する場合の転送処理フロー図、図１３は、図１２の差分データ作成処理フロー図である。
【０１１１】
Ｓ９１：時刻Ｔ１の直後から差分作成を開始する
Ｓ９２：ファイルＡに関する逆方向差分データ［Δ０’，Δ１’，…，Δｍ−１、Ａｍ］を、時刻Ｔ１−Ｔ２の間に、図１３に従い、ファイル群Ａ０〜Ａｍから作成する。
【０１１２】
Ｓ９３：サーバーとの接続を確立する。
【０１１３】
Ｓ９４：既に作成済みのファイルＡに関する逆方向差分データ［Ａｍ，Δ’ｍ−１，…，Δ’０］を，サーバー側に送信する。
【０１１４】
Ｓ９５：サーバーとの接続を解除する。
【０１１５】
図１３により、時刻Ｔ１〜時刻Ｔ２間で，クライアント側でファイルＡが更新、変更される度に、逆方向差分を作成する場合の詳細処理を説明する。
【０１１６】
Ｓ１０１：最初のファイルをＡ０，ｍ＝０とし，時刻Ｔ１の直後から差分作成を開始する。
【０１１７】
Ｓ１０２：ファイルＡが更新・変更されたならば、ステップＳ１０３に進む。
【０１１８】
Ｓ１０３：ファイルＡが更新、変更される度に、以下のように、逆方向差分データΔ’ｍを作成し，スタックする。
【０１１９】
Δ’ｍ　＝　ｄｉｆｆ（Ａｍ＋１，　Ａｍ）；
Ｓｔａｃｋ　［＋Δ’ｍ，Ａｍ＋１］　　；　ｍ＋＋　；
Ｓ１０４：バックアップ時刻Ｔ２になったならば，ステップＳ１０５に進み，そうでなければ、ステップＳ１０２に戻る。
【０１２０】
Ｓ１０５：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ１０６に進み，そうでなれば、処理を終了する。
【０１２１】
Ｓ１０６：時刻Ｔ２に作成済みの逆方向差分データを，読出し、サーバー側に送信する。
【０１２２】
Ｓｅｎｄ　［Ａｍ，Δ’ｍ−１，Δ’ｍ−２，…，Δ’０］
［サーバーの処理］
次に、本発明に基づく差分データをバックアップするサーバー側の処理を説明する。
【０１２３】
図１４は、本発明に基づくサーバー側の順方向差分のバックアップ処理フロー図である。
【０１２４】
Ｓ１１１：クライアントとの接続を確立する。
【０１２５】
Ｓ１１２：順方向の差分データを連結情報と共に受信する。
【０１２６】
Ｒｅｃｅｉｖｅ　［Ａ０，Δ１，Δ２，…，Δｍ］
Ｓ１１３：対象となるデータを全て受信したならば、ステップＳ１１４に進み，そうでなけば、ステップＳ１１２に戻る。
【０１２７】
Ｓ１１４：順方向の差分データ列を連結情報と共に退避し、終了する。
【０１２８】
Ｓａｖｅ　［Ａ０，Δ１，Δ２，…，Δｍ］
図１５は、本発明に基づくサーバー側の逆方向差分のバックアップ処理フロー図である。
【０１２９】
Ｓ１２１：クライアントとの接続を確立する。
【０１３０】
Ｓ１２２：逆方向の差分データを連結情報と共に受信する。
【０１３１】
Ｒｅｃｅｉｖｅ　［Ａｍ，Δ’ｍ−１，…，Δ０］
Ｓ１２３：対象となるデータを全て受信したならば、ステップＳ１２４に進み，そうでなけば、ステップＳ１２２に戻る。
【０１３２】
Ｓ１２４：逆方向の差分データ列を連結情報と共に退避し、終了する。
【０１３３】
Ｓａｖｅ　［Ａｍ，Δ’ｍ−１，Δ’ｍ−２，…，Δ’０］
［差分データ圧縮方法］
次に，本発明では，最も速く復旧してほしい（或いはここまでを復旧してほしい）という要求を満たす新たな差分の取り方（差分圧縮方法）を説明する。
【０１３４】
図１６は、本発明の差分圧縮方法の一実施の形態の説明図である。図１６において、ファイルＡ０〜Ａｍの間の中途ファイルをＡｌとする。
（１）（順方向ジャンプ＋逆方向線形）差分：
図１６の（１）では，最初にΔ（Ａ０−Ａｍ）のジャンプ差分をとり、以下のように、逆方向差分をとる。
【０１３５】
Ａ０→Δ（Ａ０−Ａｍ）→Δ（Ａｍ−Ａｍ−１）→…→Δ（Ａ２−Ａ１）
これにより、以下のように、最新のファイルＡｍから逆方向にファイルを復旧することが可能になる。
【０１３６】
Ａ０→Ａｍ→Ａｍ−１…→Ａ１
（２）（逆方向ジャンプ＋順方向線形）差分：
図１６の（２）では，最初にΔ（Ａｍ−Ａ０）のジャンプ差分をとり、以下のように、順方向差分をとる。
【０１３７】
Ａｍ→Δ（Ａｍ−Ａ０）→Δ（Ａ０−Ａ１）→…→Δ（Ａｍ−１−Ａｍ）
これにより、最後のファイルＡｍから前回のバックアップ時の最初のファイルＡ０を復旧すると共に、以下のように、時間軸に合わせて古い順に復旧することが可能になる。
【０１３８】
Ａｍ→Ａ０→Ａ１→…→Ａｍ−１
（３）（順方向ジャンプ＋双方向線形）差分：
図１６の（３）では，順方向のジャンプ差分と双方向の差分を、以下のように、とることで、所望の中途ファイルに最短に復旧できるようにしたものである。
【０１３９】
Ａ０→Δ（Ａ０−Ａｍ）→Δ（Ａｍ−Ａｍ−１）→…→Δ（Ａｌ＋１−Ａｌ）→Δ（Ａ０−Ａ１）→Δ（Ａ１−Ａ２）→…→Δ（Ａｌ−２−Ａｌ−１）
これにより、以下のように、所望の中途ファイルＡｌ−１又はＡｌに、最短に復旧できるようにしたものである。
【０１４０】
Ａ０→Ａｍ→Ａｍ−１→…→Ａｌ＋１→Ａｌ
Ａ０→Ａ１→Ａ２→…→Ａｌ−２→Ａｌ−１
次に、これら３種類の具体的な差分作成及び差分展開のフローチャートを図１７乃至図２２で説明する。
（１）（順方向ジャンプ＋逆方向線形）差分：
図１７及び図１８は、順方向ジャンプ＋逆方向線形の差分の処理フロー図であり、図１７は、その差分作成処理フロー図である。
【０１４１】
Ｓ１３１：ファイルＡに関するファイル群Ａ０〜Ａｍ及びそのバージョン情報［Ａ０，Ａ１，Ａ２，…，Ａｍ］を読み出す。
【０１４２】
Ｓ１３２：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ１３３に進み，そうでなれば，処理を終了する。
【０１４３】
Ｓ１３３：Ｓ１３１の情報から，以下のように、順方向ジャンプ＋逆方向線形の差分データを作成する。
【０１４４】
Δｍ　＝　ｄｉｆｆ（Ａ０，Ａｍ）
Ｆｏｒ　　ｎ　＝　ｍ−１，１，−−
［　　Δ’ｎ　＝　ｄｉｆｆ　（Ａｎ＋１，Ａｎ）　］
Ｍａｋｅ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’１］
Ｓ１３４：時刻Ｔ２に作成済みの順方向ジャンプ＋逆方向線形の差分データ列をサ−バー側に送信し、終了する。
【０１４５】
Ｓｅｎｄ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’１］
また，図１８は、同じく順方向ジャンプ＋逆方向線形の差分展開処理フロー図である。
【０１４６】
Ｓ１４１：順方向ジャンプ＋逆方向線形の差分データを受信する。
【０１４７】
Ｒｅｃｅｉｖｅ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’１］
Ｓ１４２：時刻Ｔ２時点で，最後にバックアップしたファイルのみを復旧させたければ，ステップＳ１４３に進み，そうでなければ、ステップＳ１４４に進む。
【０１４８】
Ｓ１４３：受信した差分データから所望のファイルＡｍのみを復元し、終了する。
【０１４９】
Ａｍ　＝　Ｒ（Ａ０，Δｍ）
Ｒｅｓｔｏｒｅ　　［Ａｍ］
Ｓ１４４：受信した差分データから，より新しいデータから所望のファイルＡｌまで（或いはのみ）を復元し、終了する。
【０１５０】
Ａｍ　＝　Ｒ（Ａ０，Δｍ）
ｆｏｒ　ｎ　＝　ｍ−１，　１，　−−
［　Ａｎ　＝　Ｒ　（Ａｎ＋１，Δ’ｎ　；　　ｉｆ　（　Ａｎ　＝＝　Ａｌ）　ｓｔｏｐ　；］
Ｒｅｓｔｏｒｅ　　［Ａ０，Ａｍ，Ａｍ−１，…，Ａｌ］
（２）（逆方向ジャンプ＋順方向線形）差分：
図１９及び図２０は、逆方向ジャンプ＋順方向線形の差分の処理フロー図であり、図１９は、逆方向ジャンプ＋順方向線形の差分作成処理フロー図である。
【０１５１】
Ｓ１５１：ファイルＡに関するファイル群Ａ０〜Ａｍ及びそのバージョン情報［Ａ０，Ａ１，Ａ２，…，Ａｍ］を読み出す。
【０１５２】
Ｓ１５２：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、ステップＳ１５３に進み，そうでなれば，処理を終了する。
【０１５３】
Ｓ１５３：ステップＳ１５１の情報から，逆方向ジャンプ＋順方向線形の差分データを，以下のように、作成する。
【０１５４】
Δ’０　＝　ｄｉｆｆ　（Ａｍ，Ａ０）
Ｆｏｒ　ｎ　＝　１，ｍ−１，＋＋
［　　Δｎ　＝　ｄｉｆｆ　（Ａｎ−１，Ａｎ）　］
Ｍａｋｅ　［Ａｍ，Δ’０，Δ１，…，Δｍ−１］
Ｓ１５４：時刻Ｔ２に、作成済みの逆方向ジャンプ＋順方向線形の差分データ列をサーバー側に送信する。
【０１５５】
Ｓｅｎｄ　［Ａｍ，Δ’０，Δ１，…，Δｍ−１］
また，図２０は，逆方向ジャンプ＋順方向線形の差分展開処理フロー図である。
【０１５６】
Ｓ１６１：順方向ジャンプ＋逆方向線形の差分データを受信する。
【０１５７】
Ｒｅｃｅｉｖｅ　［Ａｍ，Δ’０，Δ１，…，Δｍ−１］
Ｓ１６２：時刻Ｔ２時点で，最初にバックアップしたファイルのみを復旧させたければ、ステップＳ１６３に進み，そうでなければ、ステップＳ１６４に進む。
【０１５８】
Ｓ１６３：受信した差分データから所望のＡ０のみを復元し、終了する。
【０１５９】
Ａ０　＝　Ｒ（Ａｍ，Δ’０）
Ｒｅｓｔｏｒｅ　　［Ａ０］
Ｓ１６４：受信した差分データから，より古いデータから所望のファイルＡｌまで（或いはのみ）を復元し、終了する。
【０１６０】
Ａｍ　＝　Ｒ（Ａ０，Δｍ）
ｆｏｒ　ｎ　＝　，　１，　ｍ−１，　＋＋
［　Ａｎ　＝　Ｒ　（Ａｎ−１，Δｎ　；　　ｉｆ　（　Ａｎ　＝＝　Ａｌ）　ｓｔｏｐ　；）
Ｒｅｓｔｏｒｅ　　［Ａｍ，Ａ０，Ａ１，…，Ａｌ］
（３）（順方向ジャンプ＋双方向線形）差分：
図２１及び図２２は、順方向ジャンプ＋双方向線形の差分の処理フロー図であり、図２１は、順方向ジャンプ＋双方向線形の差分作成処理フロー図である。
【０１６１】
Ｓ１７１：ファイルＡに関するファイル群Ａ０〜Ａｍ及びそのバージョン情報［Ａ０，Ａ１，Ａ２，…，Ａｍ］を読み出す。
【０１６２】
Ｓ１７２：前回のバックアップ以降，ファイルＡ０が更新・変更されたならば、Ｓ１７３に進み，そうでなれば、処理を終了する。
【０１６３】
Ｓ１７３：ステップＳ１７１の情報から，最も逆方向差分の大きいファイルを中途ファイルＡｌとして、以下のように、中途ファイルＡｌを求める。総合の差分を小さくするためである。
【０１６４】
ｄｅｌｌｔａ−ｍａｘ　＝　０　；
Ｆｏｒ　　ｎ　＝　ｍ−１，１，−−　　［　Δ’ｎ　＝　ｄｉｆｆ　（Ａｎ＋１，Ａｎ）　；
ｉｆ　（Δ’ｎ　＞　ｄｅｌｔａ−ｍａｘ）　ｌ　＝　ｎ　；　ｄｅｌｔａ−ｍａｘ　＝　Δ’ｎ）
Ｓ１７４：中途ファイルＡｌを境にした順方向ジャンプ＋双方向線形の差分データを，以下のように、作成する。
【０１６５】
Δｍ　＝　ｄｉｆｆ（Ａ０，Ａｍ）　；
Ｆｏｒ　　ｎ　＝　ｍ−１，ｌ，−−　［　　Δ’ｎ　＝　ｄｉｆｆ　（Ａｎ＋１，Ａｎ）　　］；
Ｆｏｒ　　ｎ　＝　１，　ｌ−１，　＋＋　［　Δｎ　＝　ｄｉｆｆ（Ａｎ，　Ａｎ−１）　］；
Ｍａｋｅ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’ｌ　，Δ１，…，Δｌ−１］
Ｓ１７５：時刻Ｔ２に、作成済みの順方向ジャンプ＋逆方向線形の差分データ列をサーバー側に送信し、終了する。
【０１６６】
Ｓｅｎｄ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’ｌ　，Δ１，…，Δｌ−１］
また，図２２は，同じく順方向ジャンプ＋双方向線形の差分展開処理フロー図である。
【０１６７】
Ｓ１８１：順方向ジャンプ＋逆方向線形の差分データを受信する。
【０１６８】
Ｒｅｃｅｉｖｅ　［Ａ０，Δｍ，Δ’ｍ−１，…，Δ’ｌ　，Δ１，…，Δｌ−１］
Ｓ１８２：時刻Ｔ２時点で，最後にバックアップしたファイルのみを復旧させたければ、ステップＳ１８３に進み，そうでなければ，ステップＳ１８４に進む。
【０１６９】
Ｓ１８３：受信した差分データ列から所望のファイルＡｍのみを，以下のように、復元し、終了する。
【０１７０】
Ａｍ　＝　Ｒ（Ａ０，Δｍ）
Ｒｅｓｔｏｒｅ　　［Ａｍ］
Ｓ１８４：受信した差分データ列から，以下のように、所望のファイルのみを復元し、終了する。
【０１７１】
Ａｍ　＝　Ｒ（Ａ０，Δｍ）
ｆｏｒ　ｎ　＝　ｍ−１，　ｌ，　−−
［　Ａｎ　＝　Ｒ　（Ａｎ＋１，Δ’ｎ　］
Ｒｅｓｔｏｒｅ　　［Ａｌ］
［他の実施の形態］
以上の実施の形態では、クライアントーサーバーモデルの差分圧縮、展開方法として、４種類のもので説明したが、これらを１つ実装してもよく、又、複数実装し、ユーザが選択できるようにしても良い。同様に、図１６以下で説明した差分圧縮方法は、図１、図２のバックアップモデルに適用できる他に、他のバックアップモデルにも適用できる。
【０１７２】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、種々の変形が可能であり、これらを本発明の技術的範囲から排除するものではない。
【０１７３】
（付記１）クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップ方法において、バックアップ時に、前記クライアントでバックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記クライアントで作成された前記差分圧縮データ群と関連情報を前記サーバーに転送するステップと、前記サーバーで、転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断するステップと、データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送するステップと，前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築するステップとを有することを特徴とする差分圧縮によるバックアップ方法。
【０１７４】
（付記２）前記クライアントでの差分圧縮データの関連付けとして，時間的に古いデータから新しいデータへの順方向の線形差分をとることを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１７５】
（付記３）前記クライアントでの差分圧縮データの関連付けとして，時間的に新しいデータから古いデータへの逆方向の線形差分をとることを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１７６】
（付記４）前記クライアントでの差分圧縮データの作成のため、前記関連付けに従って，バックアップの直前に、一括し差分圧縮データを作成することを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１７７】
（付記５）前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、差分圧縮データを作成することを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１７８】
（付記６）前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、前記逆方向の差分圧縮データを作成し、逆方向差分データを逆方向に並びに並べ替えて転送することを特徴とする付記４の差分圧縮によるバックアップ方法。
【０１７９】
（付記７）前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、順方向線形の関連付けに従い，前記差分データ群を退避することを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１８０】
（付記８）前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、逆方向線形の関連付けに従い，前記差分データ群を退避することを特徴とする付記１の差分圧縮によるバックアップ方法。
【０１８１】
（付記９）クライアントのデータをサーバーでバックアップする差分圧縮によるバックアップシステムにおいて、バックアップ時に、バックアップの前に関連付けられた差分圧縮データ群を作成した後、前記サーバーと接続して、前記作成された前記差分圧縮データ群と関連情報を前記サーバーに転送するクライアントと、前記転送された関連情報に従って、前記差分圧縮データ群を蓄積媒体に退避し、前記接続を切断するサーバーとを有し、データ復旧時に、前記サーバーで、前記退避した差分圧縮データ群を関連情報に従って読み出し、前記クライアントに転送し，前記クライアントで転送された関連情報に従って前記差分圧縮データ群を解凍・展開し、データを再構築することを特徴とする差分圧縮によるバックアップシステム。
【０１８２】
（付記１０）前記クライアントでの差分圧縮データの関連付けとして，時間的に古いデータから新しいデータへの順方向の線形差分をとることを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８３】
（付記１１）前記クライアントでの差分圧縮データの関連付けとして，時間的に新しいデータから古いデータへの逆方向の線形差分をとることを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８４】
（付記１２）前記クライアントでの差分圧縮データの作成のため、前記関連付けに従って，バックアップの直前に、一括し差分圧縮データを作成することを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８５】
（付記１３）前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、差分圧縮データを作成することを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８６】
（付記１４）前記クライアントでの差分圧縮データの作成のため、前記関連付けと共に，バックアップとバックアップの間に随時、前記逆方向の差分圧縮データを作成し、逆方向差分データを逆方向に並びに並べ替えて転送することを特徴とする付記１１の差分圧縮によるバックアップシステム。
【０１８７】
（付記１５）前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、順方向線形の関連付けに従い，前記差分データ群を退避することを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８８】
（付記１６）前記サーバーで前記差分圧縮データ群を蓄積媒体に退避する際に、逆方向線形の関連付けに従い，前記差分データ群を退避することを特徴とする付記９の差分圧縮によるバックアップシステム。
【０１８９】
（付記１７）新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，前記最後のファイルから前記最初の次のファイルまでの逆方向の線形差分をとるステップとを有することを特徴とする差分圧縮方法。
【０１９０】
（付記１８）新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最後のファイルから最初のファイルの逆方向ジャンプ差分をとるステップと，前記最初のファイルから前記最後の直前のファイルまでの順方向の線形差分をとるステップとを有することを特徴とする差分圧縮方法。
【０１９１】
（付記１９）新旧データの差分で変更・更新したデータ群を関連づける差分圧縮方法において，最初のファイルから最後のファイルの順方向のジャンプ差分をとるステップと，前記最後のファイルから途中のファイルまでの逆方向の線形差分をとるステップと，前記最初のファイルから前記途中のファイルの直前のファイルまでの順方向の線形差分をとるステップとを有することを特徴とする差分圧縮方法。
【０１９２】
（付記２０）最も線形差分のサイズの大きい箇所を関連付けの切れ目として、前記途中ファイルを定義するステップを更に有することを特徴とする付記１９の差分圧縮方法。
【０１９３】
【発明の効果】
本発明では，差分データの作成（復旧する際のユーザ所望に対応）を転送する前に済ませ，転送時は既に作成された差分データを送るのみにすることで，クライアント側及びサーバー側のオーバーヘッドを軽減できる。
【０１９４】
また、本実施例に示すような新たな差分の取り方をすれば、また、これらを組み合わせることによって、ユーザの所望に応じたきめ細かいデータの復旧が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のクライアントーサーバーモデルのバックアップシステムの構成図である。
【図２】本発明の他の実施の形態のクライアントーサーバーモデルのバックアップシステムの構成図である。
【図３】本発明の差分データ転送によるバックアップシステムの基本概念の説明図である。
【図４】本発明の一実施の形態のクライアントーサーバー間のバックアップ処理フロー図である。
【図５】本発明の一実施の形態のバックアップ処理の動作説明図である。
【図６】図３の差分圧縮方法の第１の実施の形態の一括差分作成及び順方向差分転送処理フロー図である。
【図７】図６の差分データ作成処理フロー図である。
【図８】図３のクライアントの差分圧縮方法の第２の実施の形態の一括差分作成及び逆方向差分転送処理フロー図である。
【図９】図７の差分データ作成処理フロー図である。
【図１０】図３のクライアントの差分圧縮方法の第３の実施の形態の随時差分作成及び順方向差分転送処理フロー図である。
【図１１】図１０の差分データ作成処理フロー図である。
【図１２】図３のクライアントの差分圧縮方法の第４の実施の形態の随時差分作成及び逆方向差分転送処理フロー図である。
【図１３】図１２の差分データ作成処理フロー図である。
【図１４】図３のサーバーの第１の実施の形態の順方向差分のバックアップ処理フロー図である。
【図１５】図３のサーバーの第２の実施の形態の順方向差分のバックアップ処理フロー図である。
【図１６】本発明の差分圧縮方法の説明図である。
【図１７】図１６の第１の差分圧縮方法の差分作成処理フロー図である。
【図１８】図１６の第１の差分圧縮方法の差分展開処理フロー図である。
【図１９】図１６の第２の差分圧縮方法の差分作成処理フロー図である。
【図２０】図１６の第２の差分圧縮方法の差分展開処理フロー図である。
【図２１】図１６の第３の差分圧縮方法の差分作成処理フロー図である。
【図２２】図１６の第３の差分圧縮方法の差分展開処理フロー図である。
【図２３】従来のフルバックアップ方法の説明図である。
【図２４】従来の差分バックアップ方法の説明図である。
【図２５】従来の差分データバックアップ方法の説明図である。
【図２６】図２５の従来のクライアントの差分転送処理フロー図である。
【図２７】図２５の従来のサーバーの差分再送処理フロー図である。
【図２８】図２５の従来のクライアントーサーバーの手順説明図である。
【図２９】従来の差分圧縮方法の説明図である。
【図３０】図２５の従来技術の問題点の説明図である。
【符号の説明】
１−１、１−２、１−ｎ　クライアント
２　ＬＡＮ
３　サーバー
４　ＷＡＮ
【図１】
2004094617.tif 000003
【図２】
2004094617.tif 000004
【図３】
2004094617.tif 000005
【図４】
2004094617.tif 000006
【図５】
2004094617.tif 000007
【図６】
2004094617.tif 000008
【図７】
2004094617.tif 000009
【図８】
2004094617.tif 000010
【図９】
2004094617.tif 000011
【図１０】
2004094617.tif 000012
【図１１】
2004094617.tif 000013
【図１２】
2004094617.tif 000014
【図１３】
2004094617.tif 000015
【図１４】
2004094617.tif 000016
【図１５】
2004094617.tif 000017
【図１６】
2004094617.tif 000018
【図１７】
2004094617.tif 000019
【図１８】
2004094617.tif 000020
【図１９】
2004094617.tif 000021
【図２０】
2004094617.tif 000022
【図２１】
2004094617.tif 000023
【図２２】
2004094617.tif 000024
【図２３】
2004094617.tif 000025
【図２４】
2004094617.tif 000026
【図２５】
2004094617.tif 000027
【図２６】
2004094617.tif 000028
【図２７】
2004094617.tif 000029
【図２８】
2004094617.tif 000030
【図２９】
2004094617.tif 000031
【図３０】
2004094617.tif 000032