(57)【要約】      （修正有）【課題】ダイジェスト情報を利用したデータの重複排除を行う時に、ダイジェスト情報の衝突による誤ったデータ削除を抑止する。【解決手段】ダイジェスト情報生成制御サブプログラム1126は、当該バックアップサーバ1100にバックアップデータが格納された際に、当該バックアップデータのダイジェスト情報を生成して、ダイジェスト情報管理表4200に格納する処理を行う。ダイジェスト情報生成制御サブプログラム1126は、当該データ重複排除制御プログラム1125において規定された方式に従って、ダイジェスト情報を生成する。また、ダイジェスト情報照合制御サブプログラム1127は、当該バックアップサーバ1100にバックアップデータ格納要求がなされた際に、当該バックアップデータのダイジェスト情報を生成し、既に当該バックアップサーバ1100に格納されているバックアップデータのダイジェスト情報との照合を行う。【選択図】図２
2010072740.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムであって、
前記バックアップクライアントは、
前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付部と、
前記バックアップサーバが前記ダイジェスト情報に基づいて格納データを照合部において照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取り部と、
前記照合用データと前記格納対象データとが合致するかどうかを検証する検証部と
を有することを特徴とする転送データ管理システム。
【請求項２】
前記バックアップサーバの照合部において、前記格納データとして複数の前記バックアップクライアントのデータを、前記バックアップクライアントに依存せずに格納データ全体を照合することを特徴とする請求項１に記載の転送データ管理システム。
【請求項３】
前記バックアップサーバは、
前記照合用データを暗号化する第１の暗号化部を有し、照合用の暗号データと暗号化方式に関する情報を要求元のバックアップクライアントに送付し、
前記バックアップクライアントは、
受け取った前記暗号化方式により前記格納対象データを暗号化する第２の暗号化部と、を有し、
前記検証部は、受け取った前記照合用暗号データと前記格納対象データとが合致するか否かを検証することを特徴とする請求項１又は２に記載の転送データ管理システム。
【請求項４】
前記照合用データとして実データの代わりに実データを要約したダイジェスト情報を利用することを特徴とする請求項１から３までのいずれか１項に記載の転送データ管理システム。
【請求項５】
異なる方式で生成したダイジェスト情報を複数個利用し、要求元の前記バックアップクライアントの検証部において、照合用ダイジェスト情報と格納対象データから生成されるダイジェスト情報とが合致するか否かを検証することを特徴とする請求項１から４までのいずれか１項に記載の転送データ管理システム。
【請求項６】
前記ダイジェスト情報送付部は、前記照合用データを分割した照合用データ片を単位として送信することを特徴とする請求項１から５までのいずれか１項に記載の転送データ管理システム。
【請求項７】
要求元の前記バックアップクライアントは、実データを利用した照合を行うか、或いは、ダイジェスト情報を利用した照合を行うかを選択する選択部を有することを特徴とする請求項１から６までのいずれか１項に記載の転送データ管理システム。
【請求項８】
要求元の前記バックアップクライアントは、前記バックアップサーバにおける格納データを、データ重複排除機能における重複検出候補として利用させるか否かを選択する重複排除適用対象選択部を有する特徴とする請求項１から７までのいずれか１項に記載の転送データ管理システム。
【請求項９】
前記バックアップサーバは、前記要求元のバックアップクライアントとの間における通信路の利用状況を監視し、その監視情報をもとに、要求元に対する照合データの送信方法として利用する通信路の利用状況に適した方式を選択する照合データ送信方式選択部を有することを特徴とする請求項１から８までのいずれか１項に記載の転送データ管理システム。
【請求項１０】
前記バックアップサーバを複数備え、第１のバックアップサーバに対するデータ格納要求において、格納対象データを取得した第２のバックアップサーバに関する情報ならびに当該格納対象データ取得のために必要な情報を前記第１のバックアップサーバに送付し、前記第１のバックアップサーバは、前記情報に基づいて前記第２のバックアップサーバから格納データを取得することを特徴とする請求項１から９までのいずれか１項に記載の転送データ管理システム。
【請求項１１】
ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムにおけるバックアップクライアントであって、
前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付部と、
前記バックアップサーバが前記ダイジェスト情報に基づいて格納データを照合部において照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取り部と、
前記照合用データと前記格納対象データとが合致するかどうかを検証する検証部と
を有することを特徴とするバックアップクライアント。
【請求項１２】
ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムにおけるバックアップサーバであって、
前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を受けて、前記ダイジェスト情報に基づいて格納データを照合する照合部を有し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして前記バックアップクライアントに送り、前記照合用データと前記格納対象データとが合致するかどうかの検証を促すを有することを特徴とするバックアップサーバ。
【請求項１３】
ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムを利用した転送データ管理方法であって、
前記バックアップクライアントにおいて、前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付ステップと、
前記バックアップサーバにおいて、前記ダイジェスト情報に基づいて格納データを照合部において照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取りステップと、
前記バックアップクライアントにおいて、前記照合用データと前記格納対象データとが合致するかどうかを検証する検証ステップと
を有することを特徴とする転送データ管理方法。
【請求項１４】
請求項１３に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットバックアップにおける転送データ管理技術に関し、より詳細には、複数ユーザのデータのバックアップを集約し、重複を排除した上で保管するバックアップサーバにおいて、新たなバックアップデータをバックアップとして転送する際に、重複していない必要最小限のデータのみを転送することで、転送データ量削減を可能にするシステム制御に関するものである。
【背景技術】
【０００２】
近年、コンピュータシステムの高性能化及び低価格化に伴って、様々な業種や用途において、コンピュータシステムの利用が広がっている。これに伴い、従来は紙媒体などで扱っていたデータについても電子化がなされ、コンピュータシステムにおいて電子的に保存されるようになってきている。さらに、複数のコンピュータシステムをネットワークで接続した形態での利用も急速に進んでいる。これによりデータの遠隔バックアップや分散管理や分散処理が実現できるようになり、一つのコンピュータシステムにおいて保管するだけでは実現することが難しかった可用性、信頼性および高性能化を実現することが可能になってきている。
【０００３】
また、近年では、通信ネットワークの広帯域化、ネットワーク接続料金の定額化と低価格化により、インターネットを利用したサービスも広く利用されるようになってきている。当初は、Webページの閲覧や、電子メールの送受信といったサービスが主流であった。しかしながら、最近では、インターネットを介したデータのバックアップサービス（以下、「インターネットバックアップ」と称する。）などの大容量データのやり取りを行うサービスも利用されるようになってきている。データのバックアップを行う際、ユーザは、従来、バックアップ装置を個別に用意した上で、ユーザ自身で当該バックアップ装置を管理し、自身のデータをバックアップする必要があった。しかしながら、このような形態のインターネットバックアップを利用する場合には、ユーザは、インターネット経由でアクセス可能なバックアップサービスに対してアクセスするだけで、自身のデータをバックアップできるようになる。さらに、各ユーザは、インターネットへの接続環境のみを用意すればよく、バックアップ装置を用意することも管理することも不要となるという利点もある。このため、今後、このようなインターネットバックアップの利用がさらに広がるものと考えられる。
【０００４】
従来、複数ユーザのバックアップデータをバックアップサーバに集約する際に、当該バックアップサーバでは、全く同じデータが重複して送られてきて保管されるケースがある。例えば、インターネットショップなどで購入した人気のある音楽ファイルなど、多数のユーザが同じ音楽ファイルを持っていることが良くあるため、バックアップデータ内に同じデータが重複して存在することが十分ありうる。
【０００５】
下記特許文献１では、バックアップサーバにおけるストレージの利用効率を向上させるために、同じ内容のデータの重複排除を行うための技術が開示されている。この方式では、データを保管するサーバにおいて、保管データのダイジェスト（要約）情報を予め算出している。その上で、サーバに対して新たなデータを送って格納する際に、送信対象データのダイジェスト情報を当該通信対象データ送信前に当該サーバに送り、当該データを転送する必要があるのかどうか、すなわち、既に同じデータが当該サーバに格納されているか否かを当該サーバで判断できるようにしている。もし、当該送信データの重複をサーバ側で検出できた場合は、当該データをサーバ側に送る必要がなくなる。このため、サーバにおける重複排除によるストレージ利用効率の向上、ならびに、重複データをネットワーク経由で送信する必要がなくなることによるネットワーク利用効率の向上というメリットがある。
【０００６】
【特許文献１】米国特許第7,272,602 B2公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載の技術では、例えば格納データとの重複検出で利用するダイジェスト情報が衝突した時に誤検知が発生しうるというような問題が生じうる。このため、当該サーバが、ダイジェスト情報を利用して重複を検出する場合に、ダイジェスト情報が同じであるが実際のデータは異なるものについても、重複していると判断する。これにより、当該サーバは、重複していると判断したデータを格納しないため、結果としてデータの消失が起こりえるという問題がある。
【０００８】
このような問題は、ダイジェスト情報を生成する際に、入力データが別のものであっても、出力されるダイジェスト情報が同じになってしまう場合があることに起因する。この場合、ダイジェスト情報として利用するデータのビット長を長くすることで、衝突確率を小さくすることは可能であるが、衝突確率を０にすることはできない。
【０００９】
したがって、ダイジェスト情報を利用した重複排除を行う場合において、かかるデータが既に格納されているデータと重複していると判断された場合でも、本当に重複しているかどうかを当該ユーザに検証してもらう手段を提供する技術が必要となる。
【００１０】
本発明は、サーバにおけるダイジェスト情報を利用したデータ重複検出において、ダイジェスト情報が重複している場合にデータ消失を防ぐことを目的とする。
【課題を解決するための手段】
【００１１】
上述の課題を解決するために、本発明では以下の様態をとることを特徴とする。すなわち、バックアップサーバ（データ格納装置）に格納されるデータを、かかる格納データのダイジェスト情報を利用して重複排除を行う重複排除制御を具備する制御装置であって、かかる制御装置は、データ格納要求を受けるにあたり、格納対象データのダイジェスト情報を先に送るようにしてもらい、このダイジェスト情報をもとに既に制御装置に格納されているデータと重複しているかどうかを調べ、重複していると判断された格納データそのものを、当該要求を行ったバックアップクライアント（利用者）に照合用データとして送信し、バックアップクライアントにおいて、当該照合用データとかかる格納対象データとが一致するかどうかを判断し、その判断をもって、かかる制御装置への当該格納対象データの送信を行うかどうかを決めるデータ重複排除制御を具備することを特徴とする。
【００１２】
尚、データ重複排除制御において、当該格納データならびに格納対象データのダイジェスト情報を生成するための方法として、例えば、一方向関数を利用して生成する固定長のハッシュ値を利用することが挙げられる。また、当該データが音楽データや動画データのようなメディアファイルである場合、当該データのフォーマットや品質が異なっていても、同じ内容であると判断できる照合方法により生成されるダイジェスト情報を利用してもよい。例えば、異なるフォーマットの音楽データについて、一方の音楽データのフォーマットを他方の音楽データのフォーマットに変換した上で、かかる一方向関数を利用して生成する固定長のハッシュ値を利用することなどが考えられる。もちろん、ここで説明した方法のみならず、これ以外の多様な方法によって、ダイジェスト情報を生成することが考えられる。本発明は、それらによって生成されたダイジェスト情報も利用可能である。
【００１３】
本発明の一観点によれば、ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムであって、前記バックアップクライアントは、前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付部と、前記バックアップサーバが前記ダイジェスト情報に基づいて格納データを照合部において照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取り部と、前記照合用データと前記格納対象データとが合致するかどうかを検証する検証部と、を有することを特徴とする転送データ管理システムが提供される。これにより、データ格納要求を受けるにあたり、まず、格納対象データのダイジェスト情報を先に送ってもらい、このダイジェスト情報をもとに既に制御装置に格納されているデータと重複しているか否かを調べ、重複していると判断されるとその格納データそのものを、当該要求を行ったバックアップクライアント（利用者）に照合用データとして送信し、バックアップクライアントにおいて、当該照合用データとかかる格納対象データとが一致するか否かを判断し、その判断をもって、かかる制御装置への当該格納対象データの送信を行うかどうかを決めることができ、クライアント側でも対象データが重複しているかどうかを実際に判断できるようになるため、データ重複排除機能が効果的に働く。
【００１４】
前記バックアップサーバの照合部において、前記格納データとして複数の前記バックアップクライアントのデータを、前記バックアップクライアントに依存せずに格納データ全体を格納し照合することが好ましい。
前記バックアップサーバは、前記照合用データを暗号化する第１の暗号化部を有し、照合用の暗号データと暗号化方式に関する情報を要求元のバックアップクライアントに送付し、前記バックアップクライアントは、受け取った前記暗号化方式により前記格納対象データを暗号化する第２の暗号化部と、を有し、前記検証部は、受け取った前記照合用暗号データと前記格納対象データとが合致するか否かを検証することが好ましい。
前記照合用データとして実データの代わりに実データを要約したダイジェスト情報を利用することが好ましい。また、異なる方式で生成したダイジェスト情報を複数個利用し、要求元の前記バックアップクライアントの検証部において、照合用ダイジェスト情報と格納対象データから生成されるダイジェスト情報とが合致するかどうかを検証することが好ましい。前記ダイジェスト情報送付部は、前記照合用データを分割した照合用データ片を単位として送信するようにしても良い。この際、要求元クライアントが段階的に格納対象データの照合を行うようにすると良い。
【００１５】
また、要求元の前記バックアップクライアントは、実データを利用した照合を行うのか、或いは、ダイジェスト情報を利用した照合を行うのかを選択する選択部を有することが好ましい。これにより、いずれかの方法にのみ対応するシステムであっても、重複排除を行うことができる。
【００１６】
要求元の前記バックアップクライアントは、前記バックアップサーバにおける格納データに対して、データ重複排除機能における重複検出候補として利用させるのか否かを選択する重複排除適用対象選択部を有していても良い。格納データ毎にデータ重複排除機能が必要か否かを設定することができるため、設定の自由度がある。
【００１７】
また、前記バックアップサーバは、前記要求元のバックアップクライアントとの間における通信路の利用状況を監視し、その監視情報をもとに、要求元に対する照合データの送信方法として利用する通信路の利用状況に適した方式を選択する照合データ送信方式選択部を有するようにしても良い。通信路の利用状況に適した方式で送信することで、データの送信をスムーズにすることができる。
【００１８】
前記バックアップサーバを複数備え、第１のバックアップサーバに対するデータ格納要求において、格納対象データを取得した第２のバックアップサーバに関する情報ならびに当該格納対象データ取得のために必要な情報を前記第１のバックアップサーバに送付し、前記第１のバックアップサーバは、前記情報に基づいて前記第２のバックアップサーバから格納データを取得するようにしても良い。
【００１９】
また、本発明は、ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムにおけるバックアップクライアントであって、前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付部と、前記バックアップサーバが前記ダイジェスト情報に基づいて格納データを照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取り部と、前記照合用データと前記格納対象データとが合致するかどうかを照合する照合部と、を有することを特徴とするバックアップクライアントであっても良い。
【００２０】
また、本発明は、ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムにおけるバックアップサーバであって、前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を受けて、前記ダイジェスト情報に基づいて格納データを照合する照合部を有し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして前記バックアップクライアントに送り、前記照合用データと前記格納対象データとが合致するかどうかの検証を促すを有することを特徴とするバックアップサーバであっても良い。
【００２１】
本発明の他の観点によれば、ネットワークを介して、バックアップサーバと、複数のバックアップクライアントとが接続され、前記バックアップサーバは、前記複数のバックアップクライアントに対して、当該バックアップクライアントに格納されているデータを前記バックアップサーバにバックアップする機能、ならびに、バックアップしたデータを前記バックアップクライアントにリストアする機能を提供するインターネットバックアップにおける転送データ管理システムを利用した転送データ管理方法であって、前記バックアップクライアントにおいて、前記バックアップサーバに対する前記バックアップクライアントからのデータ格納要求に先立ち、格納対象データのダイジェスト情報を前記バックアップサーバに送付するダイジェスト情報送付ステップと、前記バックアップサーバにおいて、前記ダイジェスト情報に基づいて格納データを照合部において照合し、該当する格納データが検出されることを条件に送られる当該格納データを照合用データとして受け取る照合用データ受け取りステップと、前記バックアップクライアントにおいて、前記照合用データと前記格納対象データとが合致するかどうかを検証する検証ステップと、を有することを特徴とする転送データ管理方法が提供される。
【００２２】
本発明は、上記に記載の方法をコンピュータに実行させるためのプログラムであっても良く、該プログラムを格納するコンピュータ読みとり可能な記録媒体であっても良い。
【発明の効果】
【００２３】
本発明によれば、サーバにおけるダイジェスト情報を利用したデータ重複検出において、ダイジェスト情報が衝突した時におけるデータ消失を防ぐことができる。これは、ダイジェスト情報によって重複と判断された既存格納データを、データ格納要求を出したユーザに送付の上、当該ユーザが当該サーバに送付しようとしていた送付対象データとの照合を実施することで、ユーザ側でも対象データが重複しているかどうかを実際に判断できるようになるためである。これにより、ダイジェスト情報の衝突が発生したとしても、それによるデータ消失を抑止できるという利点がある。
【発明を実施するための最良の形態】
【００２４】
本明細書において、ダイジェスト情報とは、対象データを簡単に識別できるようにすることを目的に、対象データを圧縮あるいは要約することで作成した実際の情報よりも情報量が少ないデータに関する情報である。或いは、ダイジェスト情報へのアクセス方法を記載したＵＲＬなどであっても良い。
【００２５】
バックアップサーバとバックアップクライアントとは、データの重複を排除する機能とダイジェスト情報を生成したりダイジェスト情報を照合する共通機能を有しているが、前者は、バックアップデータやダイジェスト情報を管理したり格納データの対応関係を管理する機能も有している点で異なる。
【００２６】
以下、本発明の各実施の形態について図面を参照しながら説明を行う。
（第１の実施の形態）
まず、本発明の第１の実施の形態について説明する。図１は、本実施の形態によるデータ管理技術を実現するためのシステムの一構成例を示す機能ブロック図である。図１に示すシステムでは、ネットワーク100を介して、バックアップサーバ1100と、バックアップクライアント2100ならびにバックアップクライアント2200が接続されている。バックアップサーバ1100は、複数のバックアップクライアントに対して、当該バックアップクライアント2100、2200に格納されているデータをバックアップサーバ1100にバックアップする機能、ならびに、バックアップしたデータをバックアップクライアント2100、2200にリストアする機能を提供する。
したがって、バックアップクライアントは、任意の数が接続されていても良い。
【００２７】
図１では、バックアップサーバとして符号1100で示される１台のみを示しているが、複数の装置によってバックアップサーバ機能を提供するような構成でも良い。また、ネットワーク100については、どのようなネットワークの形態でもよく、例えば、イントラネット接続でも良いし、インターネット接続でも良い。
【００２８】
図２は、バックアップサーバ1100のハードウェア構成を例示的に示す機能ブロック図である。バックアップサーバ1100は、プログラムを実行するプロセッサ（ＣＰＵ）1110と、プログラムならびにデータを一時的に格納するメモリ（ＨＤＤなど）1120と、外部記憶装置1160にアクセスするための外部記憶装置I/F（インターフェイス）1130と、ネットワークで接続された他装置にアクセスするためのネットワークI/F（インターフェイス）1140と、それらを接続するバス1150と、を有して構成されている。メモリ1120には、外部記憶装置I/F1130を制御するプログラムである外部記憶装置I/F制御プログラム1121と、ネットワークI/F1140を制御するプログラムであるネットワークI/F制御プログラム1122と、当該バックアップサーバ1100におけるデータを管理するためのファイルシステムを制御するプログラムであるローカルファイルシステム制御プログラム1123と、当該バックアップサーバ1100において、データのバックアップならびにリストア機能を提供するためのプログラムであるバックアップサーバ制御プログラム1124と、当該バックアップサーバ1100において、格納されたデータの重複排除を行うためのプログラムであるデータ重複排除制御プログラム1125と、かかるバックアップサーバ制御プログラム1124ならびにデータ重複排除制御プログラム1125が利用するバックアップデータ管理表4100、ダイジェスト情報管理表4200、格納データ対応管理表4300および格納ファイル管理表4400とが格納される。プログラムは、メモリ上に展開されて、プロセッサ1110により処理が実行される。
【００２９】
データ重複排除制御プログラム1125は、その内部に、ダイジェスト情報生成制御サブプログラム1126ならびにダイジェスト情報照合制御サブプログラム1127を有する。ダイジェスト情報生成制御サブプログラム1126は、当該バックアップサーバ1100にバックアップデータが格納された際に、当該バックアップデータのダイジェスト情報を生成して、ダイジェスト情報管理表4200に格納する処理を行う。ダイジェスト情報生成制御サブプログラム1126は、当該データ重複排除制御プログラム1125において規定された方式に従って、ダイジェスト情報を生成する。
【００３０】
また、ダイジェスト情報照合制御サブプログラム1127は、当該バックアップサーバ1100にバックアップデータ格納要求がなされた際に、当該バックアップデータのダイジェスト情報を生成し、既に当該バックアップサーバ1100に格納されているバックアップデータのダイジェスト情報との照合を行う。この照合により、同じダイジェスト情報を持つバックアップデータが既に格納されていることが判明した場合は、当該バックアップデータを新規に格納することなく、既存のバックアップデータを流用することで重複排除を実現する。同じダイジェスト情報を持つバックアップデータが格納されていないことが判明した場合は、当該バックアップデータを新規に格納する。尚、バックアップデータ管理表4100、ダイジェスト情報管理表4200、格納データ対応管理表4300および格納ファイル管理表4400の詳細については後述する。
【００３１】
図３は、バックアップクライアント2100のハードウェア構成例を示す機能ブロック図である。バックアップクライアント2100は、プログラムを実行するプロセッサ2110と、プログラムならびにデータを一時的に格納するメモリ2120と、外部記憶装置2160にアクセスするための外部記憶装置I/F2130と、ネットワークで接続された他装置にアクセスするためのネットワークI/F2140と、それらを接続するバス2150と、を有して構成されている。
【００３２】
メモリ2120内には、外部記憶装置I/F2130を制御するプログラムである外部記憶装置I/F制御プログラム2121と、ネットワークI/F2140を制御するプログラムであるネットワークI/F制御プログラム2122と、当該バックアップクライアント2100におけるデータを管理するためのファイルシステムを制御するプログラムであるローカルファイルシステム制御プログラム2123と、当該バックアップクライアント2100において、データのバックアップならびにリストア機能を提供するためのクライアント側プログラムであるバックアップクライアント制御プログラム2124と、当該バックアップクライアント2100において、バックアップすべきデータの重複確認を行うためのプログラムであるデータ重複確認制御プログラム2125と、が格納される。尚、他のバックアップクライアントもここで説明する構成を同様のもので良いため、説明を省略する。
【００３３】
図４は、バックアップサーバ1100上で管理するバックアップデータ管理表4100の一構成例を示す図である。図４に示すバックアップデータ管理表4100では、当該バックアップサーバ1100がバックアップクライアントから送られてきたバックアップデータを保管するために必要な情報を管理する。具体的には、バックアップデータ管理表4100は、エントリ番号4110と、データ識別子4120と、メタデータ4130と、登録/更新日時4140と、を構成要素としている。
【００３４】
ここで、エントリ番号4110とは、当該バックアップサーバにバックアップ要求がなされたイベントを管理するための通番として利用されるものである。また、データ識別子4120とは、当該バックアップ要求においてバックアップ対象となるデータを当該バックアップサーバ1100内で一意に識別するために利用される。また、メタデータ4130とは、当該バックアップデータに関連付けられている各種情報を管理するために利用される。図４では、メタデータ4130として、対象データの名前4131、データサイズ4132、所有者4133を例示しているが、他にも、バックアップデータのメタデータとして様々な情報を管理するようにしても良い。また、登録/更新日時4140では、当該バックアップ要求がなされて、当該エントリがバックアップデータ管理表4100に登録あるいは更新された日時情報を格納するために利用される。
【００３５】
図５は、バックアップサーバ1100上で管理されるバックアップデータのダイジェスト情報を管理するダイジェスト情報管理表4200の一構成例を示す図である。ダイジェスト情報管理表4200では、当該バックアップサーバ1100において管理するバックアップデータの重複排除を効率良く行うために、当該バックアップデータから生成されるダイジェスト情報を管理する。より具体的には、ダイジェスト情報管理表4200は、格納ファイル識別子4210と、ダイジェスト情報4220と、ダイジェスト情報算出方法4230と、登録/更新日時4240と、を構成要素としている。
【００３６】
ここで、格納ファイル識別子4210とは、バックアップサーバ1100において、バックアップ対象データの中から、実際にファイルとしてファイルシステムに格納されるものを識別するための識別子として利用される。また、ダイジェスト情報4220とは、当該格納ファイルから算出されたダイジェスト情報そのものである。また、ダイジェスト情報算出方法4230とは、かかるダイジェスト情報4220を算出した方式を特定するための情報を管理する。図５に示す例では、ダイジェスト情報を算出した方式を特定するための情報として160ビットのハッシュ値を算出可能なSHA-1を示している。
【００３７】
データ重複排除制御処理において、格納データならびに格納対象データのダイジェスト情報を生成するための方法として、例えば、一方向関数を利用して生成する固定長のハッシュ値を利用すること方法が挙げられる。SHA-1を利用してダイジェスト値を算出するためには、SHA-1の仕様に準拠したハッシュ値生成のための一方向関数を実装したプログラムを利用する。当該プログラムで利用する一方向関数は、入力としてダイジェスト情報を生成する対象データを指定して実行すると、SHA-1の仕様に準拠した160ビットのハッシュ値がダイジェスト情報として出力される。このため、当該プログラムを用いると、入力としてダイジェスト情報を生成する対象データを指定して実行することにより、SHA-1の仕様に準拠したハッシュ値をダイジェスト情報として生成することができる。
【００３８】
また、当該データが音楽データや動画データのようなメディアファイルである場合には、当該データのフォーマットや品質が異なっていても、同じ内容であると判断できる照合方法により生成されるダイジェスト情報を利用してもよい。例えば、異なるフォーマットの音楽データについて、一方の音楽データのフォーマットを他方の音楽データのフォーマットに変換した上で、かかる一方向関数を利用して生成する固定長のハッシュ値を利用する方法などが挙げられる。もちろん、ここで説明した方法のみならず、これ以外の多様な方法によって、ダイジェスト情報を生成することができ、それらによって生成されたダイジェスト情報も利用可能である。
【００３９】
また、登録/更新日時4240では、バックアップ要求がなされて対象バックアップデータがバックアップサーバ1100に格納される際に、対象バックアップデータのダイジェスト情報が生成され、当該エントリがダイジェスト情報管理表4200に登録あるいは更新された日時情報を格納するために利用する。
【００４０】
図６は、バックアップサーバ1100上で管理するバックアップデータについて、バックアップクライアントから送られてきたデータと、実際にバックアップサーバ1100において格納されているファイルとの対応関係を管理する格納データ対応管理表4300の構成を例示する図である。具体的には、格納データ対応管理表4300は、データ識別子4310と、格納ファイル識別子4320と、を構成要素とする。ここで、データ識別子4310とは、バックアップクライアントから送られてきた各バックアップデータを識別するために付与する識別子である。これは、図４で示すバックアップデータ管理表4100にあるデータ識別子4120と同じ識別子を利用することができる。また、格納ファイル識別子4210とは、バックアップサーバ1100上のファイルシステムに実際に格納されるファイルを識別するために付与する識別子である。これは、図５で示すダイジェスト情報管理表4200にある格納ファイル識別子4210、ならびに、図７の説明で後述する格納ファイル管理表4400にある格納ファイル識別子4410と同じ識別子を利用することができる。
【００４１】
図７は、バックアップサーバ1100のファイルシステムに、実際に格納されるファイルの格納場所ならびに重複排除に伴う当該ファイルの参照状況を管理する格納ファイル管理表4400の一構成例を示す図である。具体的に説明すると、格納ファイル管理表4400は、格納ファイル識別子4210と、ファイル格納パス名4420と、参照数4430と、を構成要素とする。格納ファイル識別子4210とは、図６の説明で前述したとおり、バックアップクライアントから送られてきた各バックアップデータを識別するために付与する識別子である。また、ファイル格納パス名4420とは、ファイルシステムにおける当該ファイルの格納場所を示すために利用する。また、参照数4430とは、当該ファイルが複数のバックアップデータの実体として利用されている数を示す。例えば、同じ内容のデータを２つバックアップした場合には、当該データが２つともファイルとして格納されるのではなく、いずれか一方のみをファイルとして格納し、両方のデータが当該格納ファイルを参照する。この場合、当該格納ファイルの参照数4430の値は２となる。
【００４２】
図８は、バックアップクライアント2100とバックアップサーバ1100との間における通信において利用するパケットの一構成例を示す図である。通信パケット5000は、その先頭から、パケット種別5100、パケット内容フラグ5200、制御情報5300およびデータ本体5400という構成要素を有している。ここで、パケット種別5100とは、当該パケットが処理要求パケットであるか、或いは、処理応答パケットであるかを示す情報を格納する領域である。パケット内容フラグ5200とは、当該パケットに格納されている情報の種別を示す情報を格納する領域である。例えば、データのバックアップを要求する「バックアップモード」、格納データの一覧取得を要求する「データ一覧取得モード」、データのリストアを要求する「リストアモード」、格納データの削除を要求する「削除モード」などである。制御情報5300とは、通信を制御するために必要な情報や、バックアップサーバ1100やバックアップクライアント2100を識別するために必要な情報などを格納する領域である。データ本体5400とは、当該通信パケット5000によってやり取りされる情報の実体を格納する領域である。
【００４３】
このデータ本体5400は、４つのパターンの内部構成例がある。第１の例は、バックアップクライアント2100からバックアップサーバ1100へのバックアップ要求時の構成例5510である。第１の例のパケット構成例は、その先頭から、内容フラグ5411と5416、通番5412と5417、メタデータ5413と5418、ダイジェスト情報/実データ5414と5419、セパレータ5415と5420という構成要素からなっている。ここでは、セパレータ5415と5420とによって、一つのデータ本体部分を複数のデータ本体部分領域に分割し、複数のデータ本体を格納できるようにする。内容フラグ5411と5416は、当該データ本体部分領域の内容を示す情報を格納する領域である。本ケースでは、バックアップデータのダイジェスト値を送信する「ダイジェスト情報送信モード」、あるいは、バックアップデータの実データを送信する「ダイジェスト情報未送信モード」を示す情報を格納する。通番5412と5417は、当該バックアップデータを識別するために、クライアント側で付与する番号を格納する領域である。メタデータ5413と5418は、当該バックアップデータに関連付けられる情報を格納する領域である。
【００４４】
第２の例として、バックアップサーバ1100からバックアップクライアント2100への応答時の構成例5520について説明する。本ケースのパケット構成例は、その先頭から、内容フラグ5431と5436、通番5432と5437、照合結果5433と5438、照合用データ5434と5439、セパレータ5435と5440という構成要素からなる。ここでは、上記と同様に、セパレータ5435と5440によって、一つのデータ本体部分を複数のデータ本体部分領域に分割できるようにしている。内容フラグ5431と5436は、当該データ本体部分領域の内容を示す情報を格納する領域である。第２の例では、照合用の実データを送信する「照合実データ送信モード」を示す情報を格納する。通番5432と5437は、当該バックアップデータを識別するために、クライアント側で付与した番号を格納する領域である。照合結果5433と5438は、当該バックアップデータと当該バックアップサーバ1100に格納されている既存データとの照合結果を示す情報を格納する領域である。照合用データ5434と5439は、当該バックアップデータを照合した結果、バックアップサーバ1100側で重複データを見つけた場合、クライアント側で当該照合用データを送信するために利用する領域である。もし、照合用データを送信する必要がない場合は、本領域は空でよい。
【００４５】
第３の例では、バックアップクライアント2100でのデータ照合後におけるバックアップサーバ1100へのバックアップ要求時の構成例5530を説明する。第３の例のパケット構成では、その先頭から、内容フラグ5451と5455、通番5452と5456、実データ5453と5457、セパレータ5454と5458という構成要素からなる。ここでは、上記と同様に、セパレータ5454と5458によって、一つのデータ本体部分を複数のデータ本体部分領域に分割できるようにする。内容フラグ5451と5455は、当該データ本体部分領域の内容を示す情報を格納する領域である。本ケースでは、バックアップデータの実データを送信する「データ送信モード」、あるいはバックアップデータの実データを送信しない「データ非送信モード」を示す情報を格納する。通番5452と5456は、当該バックアップデータを識別するために、クライアント側で付与した番号を格納する領域である。実データ5453と5457は、対象バックアップデータを送信する必要がある場合に、当該データを格納するために利用する領域である。もし、データ転送が不要な場合は、本領域は空でよい。
【００４６】
第４の例では、バックアップクライアント2100からバックアップサーバ1100へのリストア要求、バックアップデータの削除要求時の構成例5540について説明する。第４の例のパケット構成は、その先頭から、内容フラグ5461と5464、データ識別子5462と5465、セパレータ5463と5466という構成要素からなる。ここでは、上記と同様に、セパレータ5463と5466によって、一つのデータ本体部分を複数のデータ本体部分領域に分割できるようにする。内容フラグ5461と5464は、当該データ本体部分領域の内容を示す情報を格納する領域である。本ケースでは、バックアップデータのリストア要求を送信する「リストアモード」、あるいは、バックアップデータの削除要求を送信する「削除モード」を示す情報を格納する。データ識別子5462と5465は、操作対象バックアップデータを識別するための識別子を格納する領域である。
【００４７】
尚、バックアップデータ一覧取得の場合に、要求パケットのデータ本体5400は空でよい。応答パケットのデータ本体5400には、当該要求した一覧情報が格納されることになる。
【００４８】
以上において、本実施の形態によって提供されるシステムの構成例と管理情報の構成例と送受信パケットの構成例について説明を行った。以下においては、本実施の形態によって実現する処理方式について説明する。ここでは、バックアップクライアント2100におけるバックアップ要求処理（図９）、バックアップサーバ1100におけるバックアップ受付処理（図１０、図１１）、バックアップクライアント2100におけるリストア要求処理（図１２）、バックアップサーバ1100におけるリストア受付処理（図１３、図１４）、バックアップクライアント2100におけるバックアップデータの削除要求処理（図１５）およびバックアップサーバ1100におけるバックアップデータの削除受付処理（図１６）について説明する。
【００４９】
図９では、本実施の形態によるデータ管理処理の一例として、バックアップクライアント2100におけるバックアップ要求における一連の処理の流れを示すフローチャート図である。まずはじめに、バックアップクライアント2100では、自身の中で保管しているデータ群の中から、バックアップ対象データを選定する（ステップS101）。次に、選定した対象データの中から、任意のデータを一つ選び（ステップS102）、以下の処理を実行する。
【００５０】
まず、バックアップ用に対象データのメタデータを取得する（ステップS103）。次に、対象データのダイジェスト情報を図５に示す規定の方式で算出する（ステップS104）。次に、ダイジェスト情報送信モードを設定の上、バックアップ要求パケットを組み立て、バックアップサーバ1100に送信する（ステップS105）。バックアップサーバ1100側の処理については、処理Aとして図10を参照して後述する。バックアップサーバ1100からの応答パケットを受信した（ステップS106）後に、当該応答パケットにおける照合結果の欄を参照し、重複検出を示す情報が格納されているかどうかを調べる（ステップS107）。重複検出を示す情報があれば（Ｙｅｓ）、当該応答パケットの中に照合用データも格納されているので、その照合用データと、バックアップ対象データと、が合致するかどうかを調べる（ステップS108）。もし合致すれば（Ｙｅｓ）、バックアップ対象データはバックアップサーバ1100に既に同じデータが格納されていることが確認できたので、当該バックアップ対象データを送信せずに、データ非送信モード設定の上、バックアップ要求パケットを組み立てて送信する（ステップS109）。バックアップサーバ1100側の処理については、処理Bとして図11で後述する。バックアップサーバ1100からの応答パケットを受信した（ステップS111）後、今回処理ステップS101において選定した対象データを全て処理したか否かを調べる（ステップS112）。もし全て処理している場合は、処理を終了する。もし、全て処理していない場合は、処理ステップS102に戻り、処理を繰り返す。
【００５１】
また、処理ステップS107において、重複検出を示す情報が格納されていない場合には（Ｎｏ）、当該バックアップ対象データをバックアップサーバ1100に送る必要がある。ここでは、データ送信モード設定の上、バックアップ要求パケットを組み立てて送信する（ステップS110）。以降、バックアップサーバ1100側の処理については、前述と同様である。また、処理ステップS108において、照合用データとバックアップ対象データが合致しない場合は、当該バックアップ対象データをバックアップサーバ1100に送る必要がある。ここでは、前述の処理ステップS110を実行する。
【００５２】
図10は、バックアップサーバ1100におけるバックアップ受付における前半の処理の流れを示すフローチャート図である。ここで示す処理の流れは、図9における処理Aとして示した部分に相当する。処理Bとして示した部分は図11で説明する。
【００５３】
図10に示すように、はじめに、バックアップクライアント2100から送信されてきたバックアップ要求パケットを受信する（ステップS201）。次に、当該パケットの中から対象データを一つ選び（ステップS202）、以下の処理を実行する。
【００５４】
まず、対象データに対してデータ識別子4120を新たに採番し、バックアップデータ管理表4100のエントリを確保する（ステップS203）。次に、バックアップデータ管理表4100の確保したエントリに、対象データに関するメタデータなどの情報を登録する（ステップS204）。次に、バックアップサーバ1100におけるダイジェスト情報管理表4200に、対象データのダイジェスト情報と同じものが登録されているかどうかを調べる（ステップS205）。もし同じものが登録されていれば（Ｙｅｓ）、該当ダイジェスト情報を持つ実データを取得する（ステップS206）。ここでは、ダイジェスト情報管理表4200から、該当ダイジェスト情報4220を持つ格納ファイル識別子4210を取得し、格納ファイル管理表4400を調べて、当該格納ファイル識別子4210に対応するファイル格納パス名4420を取得することで、当該実データを取得する。その後で、バックアップ要求パケットに格納されている対象データ全てを処理したかどうかを調べる（ステップS207）。もし全て処理している場合は（Ｙｅｓ）、今回の照合結果と、もし存在すれば、照合用実データを含めた応答パケットを組み立て、送信し（ステップS208）、処理を終了する。もし、全て処理していない場合は（Ｎｏ）、処理ステップS202に戻り、処理を繰り返す。
【００５５】
また、処理ステップS205において、対象データのダイジェスト情報と同じものが登録されていなければ（Ｎｏ）、そのまま処理ステップS207に進む。この場合は、応答パケットにおける照合結果として重複検出なしと設定し、照合用実データは送信しない。
【００５６】
図11は、バックアップサーバ1100におけるバックアップ受付における後半の処理の流れを示すフローチャート図である。ここで示す処理の流れは、図9における処理Bとして示した部分に相当する。
【００５７】
はじめに、バックアップクライアント2100から送信されてきたバックアップ要求パケットを受信する（ステップS301）。次に、当該パケットの内容フラグ5451を調べ、データ送信モードに設定されているかどうかを調べる（ステップS302）。もし設定されていたら（Ｙｅｓ）、バックアップサーバ1100は、受信した要求パケットの中に格納されている対象データをファイルシステムに格納する（ステップS303）。その後、格納ファイル管理表4400のエントリを確保し、先ほどファイルシステムに格納した対象データの情報を登録する（ステップS304）。その後、格納データ対応管理表4300のエントリを確保し、対象データの格納ファイル識別子4210と、図10で前述した処理ステップS203で採番したデータ識別子4120を登録する（ステップS305）。その後、バックアップデータ管理表4100において、図10の処理ステップS203において確保したエントリの情報を更新する（ステップS306）。その後、当該格納ファイルのダイジェスト情報を算出する（ステップS307）。ここで、ダイジェスト情報の算出方法は規定の方式を利用する。その後、ダイジェスト情報管理表4200のエントリを確保し、関連する情報として、格納ファイル識別子4210、ファイル格納パス名4220、参照数4230を登録する（ステップS308）。以上の処理の後は、応答パケットをバックアップクライアント2100に送信して終了する。
【００５８】
また、処理ステップS302において、データ送信モードに設定されていない場合は（Ｎｏ）、同じく当該パケットの内容フラグ5451を調べ、データ非送信モードに設定されているかどうかを調べる（ステップS309）。もし設定されていない場合は（Ｎｏ）、エラー終了となる。もし設定されている場合は（Ｙｅｓ）、バックアップクライアント2100側にて照合用データとバックアップ対象データが重複していると判断されたケースとなる。この場合、ダイジェスト情報管理表4200から、重複と判断された当該データの格納ファイル識別子4210を取得する（ステップS310）。その後、格納ファイル管理表4400から、当該格納ファイル識別子4210を持つエントリを探し、当該エントリの参照数4430を加算する（ステップS311）。その後、格納データ対応管理表4300にエントリを新たに確保し、図9の処理ステップS203において新たに採番したデータ識別子4120と、当該格納ファイル識別子4210の対を登録する（ステップS312）。以上の処理の後は、応答パケットをバックアップクライアント2100に送信して終了する。
【００５９】
図12は、バックアップクライアント2100におけるリストア要求における一連の処理の流れを示すフローチャート図である。はじめに、バックアップクライアント2100では、バックアップサーバ1100に格納されているバックアップデータ一覧情報を取得するために、バックアップデータ一覧要求パケットを組み立て、送信する（ステップS401）。このバックアップデータ一覧要求パケットでは、パケット内容フラグ5200の欄に、データ一覧取得モードを示す情報を格納する。バックアップサーバ1100側の処理については、処理Cとして図13で後述する。バックアップサーバ1100からの応答パケットを受信した（ステップS402）後、取得したデータ一覧情報をもとにリストア対象データ識別子を選定し、リストア要求パケットを組み立て、送信する（ステップS403）。このリストア要求パケットでは、パケット内容フラグ5200の欄に、リストアモードを示す情報を格納する。バックアップサーバ1100側の処理については、処理Dとして図14で後述する。バックアップサーバ1100からの応答パケットを受信した後、取得したリストアデータを自バックアップクライアント2100内のファイルシステムに格納する（ステップS404）。
【００６０】
図13は、バックアップサーバ1100におけるバックアップデータ一覧要求に対する受付処理の流れを示すフローチャート図である。ここで示す処理の流れは、図12における処理Dとして示した部分に相当する。はじめに、バックアップクライアント2100から送信されてきたバックアップデータ一覧取得要求パケットを受信する（ステップS501）。次に、当該パケットのパケット内容フラグ5200を調べ、バックアップデータ一覧取得要求であることを確認の後、バックアップデータ管理表4100に格納されている情報一式を取得の上、応答パケットを組み立て、送信する（ステップS502）。
【００６１】
図14は、バックアップサーバ1100におけるリストア要求に対する受付処理の流れを示すフローチャート図である。ここで示す処理の流れは、図12における処理Dとして示した部分に相当する。はじめに、バックアップクライアント2100から送信されてきたバックアップデータ一覧取得要求パケットを受信する（ステップS601）。次に、当該パケットの中から対象データを一つ選び（ステップS602）、以下の処理を実行する。まず、送られてきた対象データのデータ識別子4120をもとに、バックアップデータ管理表4100よりリストア対象に指定されたデータに関するメタデータ4130を取得する（ステップS603）。その後、格納データ対応管理表4300より、リストア対象に指定されたデータのデータ識別子4120と関連付けられている格納ファイル識別子4210を取得する（ステップS604）。その後、格納ファイル管理表4400より、当該格納ファイル識別子4210に対応するファイル格納パス名4420を取得する（ステップS605）。その後、当該ファイル格納パス名4420より、当該リストア対象ファイルを取得する（ステップS606）。その後、リストア要求パケットに格納されている対象データ全てを処理したかどうかを調べる（ステップS607）。もし全て処理している場合は（Ｙｅｓ）、リストアデータと当該リストアデータのメタデータと共に、応答パケットを組み立て、送信し（ステップS608）、処理を終了する。ここで作成する応答パケットは、バックアップ要求パケット5510と同じ構成となる。ただし、通番5412と5417には、バックアップサーバ1100側が付与した番号が設定される。もし、処理ステップS607にて全て処理していない場合は（Ｎｏ）、処理ステップS602に戻り、処理を繰り返す。
【００６２】
図15は、バックアップクライアント2100におけるバックアップデータ削除要求における一連の処理の流れを示すフローチャート図である。はじめに、バックアップクライアント2100では、バックアップサーバ1100に格納されているバックアップデータ一覧情報を取得するために、バックアップデータ一覧要求パケットを組み立て、送信する（ステップS701）。このバックアップデータ一覧要求パケットでは、パケット内容フラグ5200の欄に、データ一覧取得モードを示す情報を格納する。バックアップサーバ1100側の処理については、処理Cとして図13で述べたものと同じである。バックアップサーバ1100からの応答パケットを受信した（ステップS702）後、取得したデータ一覧情報をもとに削除対象データ識別子を選定し、削除要求パケットを組み立て、送信する（ステップS703）。この削除要求パケットでは、パケット内容フラグ5200の欄に、削除モードを示す情報を格納する。バックアップサーバ1100側の処理については、処理Eとして図16で後述する。バックアップサーバ1100からの応答パケットを受信すると、処理を終了する。
【００６３】
図16は、バックアップサーバ1100における削除要求に対する受付処理の流れを示すフローチャート図である。ここで示す処理の流れは、図15における処理Eとして示した部分に相当する。はじめに、バックアップクライアント2100から送信されてきたバックアップデータ削除要求パケットを受信する（ステップS801）。次に、当該パケットの中から対象データを一つ選び（ステップS802）、以下の処理を実行する。まず、送られてきた対象データのデータ識別子4120をもとに、格納データ対応管理表4300より、削除対象に指定されたデータのデータ識別子4120と関連付けられている格納ファイル識別子4210を取得する（ステップS803）。その後、格納ファイル管理表4400より、当該格納ファイル識別子4210に対応する参照数4430を減算する（ステップS804）。その後、格納ファイル管理表4400より、当該格納ファイル識別子4210に対応する参照数4430の値が0になったかどうかを調べる（ステップS805）。もし、0になっていた場合は（Ｙｅｓ）、格納ファイル管理表4400より、当該格納ファイル識別子に対応するファイル格納パス名4420を取得する（ステップS806）。その後、当該ファイル格納パス名4420より、当該ファイルを削除し、格納ファイル管理表4400の当該エントリを解放する（ステップS807）。その後、ダイジェスト情報管理表4200において、当該格納ファイル識別子4210を持つエントリを探し出し、当該エントリを解放する（ステップS808）。その後、格納データ対応管理表4300において、削除対象のデータ識別子4120を持つエントリを探し出し、当該エントリを解放する（ステップS809）。その後、バックアップデータ管理表4100において、削除対象のデータ識別子4120を持つエントリを探し出し、当該エントリを解放する（ステップS810）。その後、削除要求パケットに格納されている対象データ全てを処理したかどうかを調べる（ステップS811）。もし全て処理している場合は（Ｙｅｓ）、削除結果と共に、応答パケットを組み立て、送信し（ステップS812）、処理を終了する。もし、処理ステップS811にて全て処理していない場合は、処理ステップS802に戻り、処理を繰り返す。
【００６４】
また、処理ステップS805において、当該参照数4430の値が0になっていなかった場合は（Ｎｏ）、処理ステップS809にスキップし、以降は前記と同様の処理を行う。
【００６５】
以上に説明したように、本実施の形態によれば、サーバにおけるダイジェスト情報を利用したデータ重複検出において、ダイジェスト情報が衝突した時におけるデータ消失を防ぐことができる。これは、ダイジェスト情報によって重複と判断された既存格納データを、データ格納要求を出したユーザに送付の上、当該ユーザが当該サーバに送付しようとしていた送付対象データとの照合を実施することで、ユーザ側でも対象データが重複しているかどうかを実際に判断できるようになるためである。これにより、ダイジェスト情報の衝突が発生したとしても、それによるデータ消失を抑止できるという利点がある。
【００６６】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。上述した第１の実施の形態では、バックアップ対象データをバックアップクライアント2100、2200からバックアップサーバ1100へ送る形態について説明した。しかし、バックアップサーバが、当該バックアップ対象データを、バックアップ対象データを送信した当該バックアップクライアント以外から取得することまでは想定していない。例えば、当該バックアップ対象データを元々取得したサーバから当該バックアップ対象データをバックアップサーバが別途取得するようにしてもよい。そこで、以下においては、バックアップサーバが、バックアップクライアントがバックアップ対象データを元々取得した別のサーバから取得する場合における制御方式について説明する。
【００６７】
ここでは、バックアップクライアントが、バックアップ対象データを取得したサーバをオリジナルサーバと呼ぶ。この場合、バックアップ対象データをオリジナルサーバから取得できるようにするためには、バックアップクライアントからバックアップサーバに対して、当該バックアップ対象データを取得した際の情報として、オリジナルサーバの情報ならびに当該オリジナルサーバにアクセスするために必要な情報を伝える必要がある。
【００６８】
上述のように、バックアップ対象データをバックアップクライアントからではなく、オリジナルサーバから別途取得するようにするために必要な、システム構成、バックアップデータ管理表、パケット構成およびバックアップ処理の内容を変更する内容について、図17、図18、図19、図20、図21、図22および図23を参照しなながら説明する。
【００６９】
図17は、図1に示したシステム構成の変更内容について示す機能ブロック図である。図1に示したシステム構成に対して、オリジナルサーバ3100を新たにネットワーク100に接続するようにし、当該ネットワーク100につながっている各バックアップクライアント2100ならびにバックアップサーバ1100からアクセス可能なようにする。バックアップクライアント2100は、それぞれのバックアップ対象データを当該オリジナルサーバ3100から予め取得しているものとして、以下の説明を続ける。
【００７０】
図18は、オリジナルサーバ3100のハードウェア構成の一例を示す機能ブロック図である。オリジナルサーバ3100は、プログラムを実行するプロセッサ3110と、プログラムならびにデータを一時的に格納するメモリ3120と、外部記憶装置3160にアクセスするための外部記憶装置I/F3130と、ネットワークで接続された他の装置にアクセスするためのネットワークI/F3140と、それらを接続するバス3150と、から構成されている。メモリ3120には、外部記憶装置I/F3130を制御するプログラムである外部記憶装置I/F制御プログラム3121と、ネットワークI/F3140を制御するプログラムであるネットワークI/F制御プログラム3122と、当該オリジナルサーバ3100におけるデータを管理するためのファイルシステムを制御するプログラムであるローカルファイルシステム制御プログラム3123と、当該オリジナルサーバ3100において、データアクセス機能を提供するためのプログラムであるデータアクセス制御プログラム3124と、が格納されている。
【００７１】
図19は、図4に示したバックアップデータ管理表の変更内容について示す図である。図4からの変更点は、次の２つのエントリを新たに追加したことである。まず１つ目の追加情報は、オリジナルサーバ情報4150である。本エントリでは、バックアップクライアント2100がバックアップサーバに対して当該バックアップ対象データを取得したサーバ情報を送付してきた場合に、当該情報（ｓｒｖＡ、ｓｕｖＢなど）を格納するために利用する。２つ目は、オリジナルサーバ向けアクセス情報である。本エントリでは、オリジナルサーバ情報4150と同様に、バックアップクライアント2100が当該バックアップ対象データにアクセスするために必要とした情報を送付してきた場合に、当該情報を格納するために利用する。例えば、オリジナルサーバ3100におけるユーザアカウント情報（ｄａｔａ１＠ｔａｒｏなど）が該当する。
【００７２】
図20は、図9に示したバックアップ要求処理のフローチャート図の変更内容について示す図である。図9からの変更点は、次の３つである。第一の変更点は、図9の処理ステップS104のかわりに、当該バックアップ対象データを取得したオリジナルサーバ3100に関する情報として、オリジナルサーバ情報4150ならびにオリジナルサーバ向けアクセス情報4160を取得するものである。後者のオリジナルサーバ向けアクセス情報4160については、バックアップ対象データにアクセスするために必要な情報一式を含めるようにする(ステップS131)。第２の変更点は、図9の処理ステップS105のかわりに、オリジナルサーバ情報送信モードを設定の上、バックアップ要求パケットを組み立てて、バックアップサーバ1100に送信する(ステップS132)点である。ここで行うオリジナルサーバ情報送信モードの設定は、後述するバックアップ要求パケット5550における内容フラグ5411、5416の領域に設定するものである。第３の変更点は、処理ステップS107の条件分岐にてYesを選択した場合において、図9では処理ステップS108の処理を行っていたのに対して、図20では、当該処理ステップS107の処理を行わないようにした点である。
【００７３】
図21では、図10で示したバックアップ受付処理の変更内容について示している。図10からの変更点は、以下の通りである。
処理ステップS204の後の処理において、図10では処理ステップS205の処理を行っていたのに対して、図21では、処理ステップS205の代わりに、以下で説明する処理ステップS209からS212までの処理を行う。まず、はじめに、バックアップクライアント2100から送られてきたバックアップ要求パケットの中に、オリジナルサーバ情報4150が格納されているかどうかを確認する(ステップS209)。もし、オリジナルサーバ情報4150が格納されていない場合は（Ｎｏ）、当該データをバックアップクライアント2100から送付してもらうために、処理ステップS207に遷移する。もし、オリジナルサーバ情報4150が格納されている場合は、次に、一緒に格納されているオリジナルサーバ向けアクセス情報4160を利用して、当該オリジナルサーバ3100に対してデータ取得を要求する(ステップS210)。次に、当該データを取得できたかどうかを調べる(ステップS211)。もし、取得できなかった場合は（Ｎｏ）、当該データをバックアップクライアント2100から送付してもらうために、処理ステップS207に遷移する。もし、取得できた場合は（Ｙｅｓ）、次に、バックアップ対象データをバックアップサーバ1100において一時保管する(ステップS212)。ここで一時保管したデータは、重複検出のための照合用などに利用する。一時保管の処理ステップS212の後に、処理ステップS207に遷移する。
【００７４】
図22は、図11で示したバックアップ受付処理の変更内容について示す図である。変更点は、以下の通りである。処理ステップS309の後の処理において、図11では処理ステップS310の処理を行っていたのに対して、図22では、代わりに以下で説明する処理ステップS313からS316までの処理を行う。
【００７５】
まず、はじめに、バックアップサーバ1100において、図21の処理ステップS212で一時保管したデータが存在するかどうかを調べる(ステップS313)。もし、存在しない場合は（Ｎｏ）、エラー終了となる。もし、存在する場合は（Ｙｅｓ）、対象一時保管データをバックアップサーバ1100におけるファイルシステムに格納する(ステップS314)。その後、格納ファイル管理表4300のエントリを確保し、先ほどファイルシステムに格納した対象データの情報を登録する(ステップS315)。その後、格納データ対応管理表4300のエントリを確保し、対象データの格納ファイル識別子4210と、図21における処理ステップS203で採番したデータ識別子4120と、を登録する(ステップS316)。その後、処理ステップS306に遷移し、図11と同じ処理を行う。
【００７６】
図23は、図8で示したパケット構成の変更内容を含めた構成例を示す図である。変更点は、以下の通りである。図8で示したバックアップ要求用パケット5510のかわりに、バックアップ要求用パケット5550を利用する。バックアップ要求用パケット5550では、バックアップ要求用パケット5510にあったダイジェスト情報/実データ5414、5419のエントリにかわって、オリジナルサーバ情報/アクセス情報5471、5472というエントリを設ける。これらのエントリには、本実施例で利用するオリジナルサーバ3100を識別するために利用するオリジナルサーバ情報4150ならびに当該オリジナルサーバ3100から当該データにアクセスするために必要となるオリジナルサーバ向けアクセス情報4160を格納するために利用する。
【００７７】
以上に説明したように、本実施の形態では、バックアップサーバが、バックアップクライアントがバックアップ対象データを元々取得した別のサーバから取得する場合においても、ダイジェスト情報の衝突が発生したとしても、それによるデータ消失を抑止できるという利点がある。
【００７８】
（第３の実施の形態）
上述した第１の実施の形態では、バックアップサーバ1100からバックアップクライアント2100に対して照合用データを送る場合に、当該データをそのまま送付している。
【００７９】
但し、バックアップクライアント2100が、当該照合用データを取得した後に、照合以外の目的で再利用できてしまい、バックアップクライアント2100における照合用データの再利用を防止することまでは想定していない。
【００８０】
そこで、以下の本実施の形態では、バックアップサーバ1100が、バックアップクライアント2100に対して再利用困難な形で照合用データを送信する場合における制御技術について説明する。
【００８１】
ここでは、照合用データのバックアップクライアント2100側における再利用を防止するために、公知の公開鍵暗号方式を利用する。暗号化用の公開鍵と復号用の秘密鍵を利用し、公開鍵を持つクライアントであればだれでも暗号化できるが、復号できるのは秘密鍵を持つクライアントのみであるという特徴と、当該公開鍵から秘密鍵を推定することが困難であるという特徴がある。ここでは、バックアップサーバ1100が、公開鍵暗号方式に基づいて暗号化用の公開鍵ならびに復号用の秘密鍵を生成する。バックアップサーバ1100が照合用データをバックアップクライアント2100に送信する際、当該照合用データを当該公開鍵で暗号化した上で、当該公開鍵ならびに暗号化方式を識別するための情報とともに当該暗号化データを送信する。バックアップクライアント2100では、送られてきた暗号鍵ならびに暗号化方式を識別するための情報をもとに、自身が持つバックアップ対象データを同様に暗号化する。暗号化した後で、送られてきた照合用暗号データと自身で暗号化したデータとを照合することによって、データが合致するかどうかを判断する。
【００８２】
この場合、利用する暗号化方式によって、暗号化対象となるデータがビットレベルで同じであれば、暗号化データもビットレベルで同じになることが前提となる。これにより、バックアップクライアント2100において、データの照合を行うことができる上に、当該暗号化データを復号するための秘密鍵を持たないために、当該暗号化データを再利用することが困難である。
【００８３】
以上に説明したように、バックアップ対象データをバックアップクライアント2100において再利用を困難にするためには、パケット構成ならびにバックアップ処理の一部内容を変更する必要がある。それらの変更内容について図24、図25および図26に参照しながら説明する。
【００８４】
図24は、図10に示したバックアップ要求処理を変更した内容について示す図である。変更点は、以下の２点である。第１の変更点は、図10の処理ステップS206の後に、照合用実データをバックアップサーバ1100の公開鍵で暗号化するという処理(ステップS213)を追加する点である。処理ステップS213の後は、処理ステップS207に遷移する。第２の変更点は、図10の処理ステップS208のかわりに、当該照合結果、公開鍵で暗号化した照合用実データ、サーバの公開鍵および暗号化方式に関する識別情報を含めた応答パケットを組み立て、送信する点である(ステップS214)。ここで、組み立てるパケットの内容に関する説明については、図26を参照しながら後述する。
【００８５】
図25は、図9に示したバックアップ要求処理の変更内容を示す図である。変更点は、以下の通りである。図25で示した処理ステップS107において、照合結果が重複検出を示していた場合（Ｙｅｓ）、ここでは、まず、バックアップサーバ1100から送られてきたサーバの公開鍵ならびに暗号化方式に関する識別情報をもとに、バックアップクライアント2100にて持っているバックアップ対象データを暗号化する(ステップS113)。その後、バックアップサーバ1100から送られてきた照合用暗号化データと、処理ステップS113において作成したバックアップ対象暗号化データと、が合致するかどうかを調べる(ステップS114)。もし、合致する場合は（Ｙｅｓ）、処理ステップS109に遷移する。もし、合致しない場合は（Ｎｏ）、処理ステップS110に遷移する。
【００８６】
図26は、図8で示したパケット構成の変更内容を含む構成例を示す図である。変更点は、以下の通りである。図8で示したバックアップ受付応答用パケット5520の代わりに、バックアップ応答受付応答用パケット5560を利用する。バックアップ受付応答用パケット5560では、バックアップ受付応答用パケット5520にあった照合用データ5434、5439のエントリにかわって、サーバ公開鍵5473、5476というエントリ、暗号化方式識別情報5474、5477というエントリおよび照合用暗号化データ5475、5478というエントリを設ける。サーバ公開鍵5473、5476には、バックアップサーバ1100側において、照合用データを暗号化するために利用したバックアップサーバ1100の公開鍵情報を格納するために利用する。暗号化方式識別情報5474、5477には、バックアップサーバ1100側において、照合用データを暗号化する際に利用した暗号化方式を識別するための情報を格納するために利用する。照合用暗号化データ5475、5478には、バックアップサーバ1100側において、照合用データをかかる公開鍵ならびに暗号化方式を利用して暗号化して作成したデータを格納するために利用する。
【００８７】
以上のように、本実施の形態では、公開鍵暗号方式を利用し、バックアップサーバが、バックアップクライアントに対して再利用困難な形で照合用データを送信することができる。
【００８８】
（第４の実施の形態）
上述した第１の実施の形態では、バックアップ対象データに関するバックアップクライアント2100側での照合のために、当該バックアップ対象データと合致したと判断された実データをバックアップサーバ1100がバックアップクライアント2100に送る形態を扱っている。しかしながら、バックアップ対象データのサイズが大きい場合やビットレベルによる完全な照合確認が必ずしも必要ない場合などにおいては、当該照合用データそのものを送るのではなく、当該照合用データのダイジェスト情報を送り、当該ダイジェスト情報を利用して、バックアップクライアント2100においてデータの照合を行うようにしてもよい。そこで、以下においては、バックアップサーバ1100が、バックアップクライアント2100に対して、データ照合のために、当該照合用データのダイジェスト情報を送る場合における制御技術について説明する。
【００８９】
本実施の形態では、バックアップサーバ1100がバックアップクライアント2100に送る照合用データのダイジェスト情報として、バックアップクライアント2100がバックアップサーバ1100に対してデータ重複検出用に送信するダイジェスト情報よりも情報量が同じかそれ以上である情報を扱えるようにする。また、バックアップサーバ1100がバックアップクライアント2100に対して、照合用データのダイジェスト情報を送るやり取りを複数回実施できるようにすることにより、段階的に照合用データのダイジェスト情報量を増やせるようにし、利用するダイジェスト情報算出方法を変更できるようにする。
【００９０】
例えば、バックアップクライアント2100からバックアップサーバ1100に対して、最初に送るダイジェスト情報量が128ビットであれば、バックアップサーバ1100がバックアップクライアント2100に送る次のダイジェスト情報量を160ビット、256ビットのように増やせるようにする。この処理の繰り返しの最後には、ダイジェスト情報を送るのではなく、第１の実施の形態のように、照合用データそのものを送るようにしてもよい。
【００９１】
上述のように、バックアップサーバ1100からバックアップクライアント2100に対して照合用データのダイジェスト情報を送るようにするためには、パケット構成ならびにバックアップ処理の一部内容を変更する必要がある。それらの変更内容について、図27、図28、図29および図30を参照しながら説明する。
【００９２】
図27では、図10に示したバックアップ受付処理の変更内容について示す。変更点は、次の２点である。１つ目は、処理ステップS206の処理の後で、当該処理において取得した照合用データのダイジェスト情報を生成する処理を追加することである(ステップS215)。この処理において、対象データのダイジェスト情報を生成する際に、バックアップクライアント2100がバックアップサーバ1100にデータ重複検出のために送ってきたダイジェスト情報を算出する時とは異なるダイジェスト方式を利用するか、もしくは、異なるビット長で生成するようにする。これにより、バックアップクライアント2100がダイジェスト情報算出のために最初に利用した算出方式ならびにビット長と同じにならないようにする。２つ目は、処理ステップS207の処理の後に、従来の処理ステップS208に代わって、照合結果、照合用ダイジェスト情報およびダイジェスト情報算出方式を識別するための情報などを含めた応答パケットを組み立て、送信するステップを設ける(ステップS216)。ここで組み立てるパケット構成については、図30において説明する。
【００９３】
図28は、図9に示したバックアップ要求処理の変更内容を含む構成例を示す図である。変更点は、以下の通りである。図28における処理ステップS109の処理を行う前に、バックアップクライアント2100は、バックアップサーバ1100が送ってきたダイジェスト情報算出方式と同じ方法で、バックアップ対象データのダイジェスト情報を算出する(ステップS115)。その後に、処理ステップS115で算出したダイジェスト情報と、バックアップサーバ1100が照合用に送ってきたダイジェスト情報と、が合致するか否かを調べる(ステップS116)。もし、合致する場合は（Ｙｅｓ）、従来の処理ステップS109に遷移する。もし、合致しない場合は（Ｎｏ）、照合データ再送モード設定の上、要求パケットを組み立て、バックアップサーバ1100に送信する(ステップS117)。ここで、照合データ再送モードの設定は、図30で説明するパケット構成の中における内容フラグ5431、5436の領域を利用する。また、処理ステップS117において、バックアップサーバ1100に対してパケットを送信した後に、応答パケットの受信は、処理ステップS106によって行うようにする。これにより、当該応答パケットの受信後に、再度ダイジェスト情報による照合を繰り返し実行できるようにする。
【００９４】
図29は、図11に示したバックアップ受付処理に対する変更内容を含む処理の流れを示すフローチャート図である。変更点は、以下の通りである。図29における処理ステップS309において、当該バックアップ要求パケットがデータ非送信モードではないと判断された後（Ｎｏ）、さらに、当該バックアップ要求パケットが照合データ再送モードであるかどうかを調べる(ステップS317)。もし、照合データ再送モードでない場合は、不正な状態としてエラー終了する。もし、照合データ再送モードである場合は、前回、図27の処理ステップS215、あるいは、後述する図29の処理ステップS319にて利用したダイジェスト情報生成方式ならびにダイジェスト情報量と比べて、より高精度なダイジェスト情報を生成可能かどうか調べる(ステップS318)。もし、生成可能である場合は（Ｙｅｓ）、当該方式で当該照合用データのダイジェスト情報を生成し、重複検出モード設定の上、応答パケットを組み立て、送信する(ステップS319)。当該重複検出モードの設定は、図30で説明するパケット構成の中における内容フラグ5431、5436の領域を利用する。また、処理ステップS318において生成不可である場合は（Ｎｏ）、重複非検出モード設定の上、応答パケットを組み立て、送信する(ステップS320)。当該重複非検出モードの設定は、前述と同様に、図30で説明するパケット構成の中における内容フラグ5431、5436の領域を利用する。
【００９５】
図30は、図8に示したパケット構成の変更内容を含む構成例を示す図である。変更点は、以下の通りである。図8で示したバックアップ受付応答用パケット5520の代わりに、バックアップ受付応答用パケット5570を利用する。バックアップ受付応答用パケット5570では、バックアップ受付応答用パケット5520に存在した照合用データ5434、5439のエントリにかわって、ダイジェスト情報算出方法5479、5481というエントリ、ならびに照合用ダイジェスト情報5480、5482というエントリを設ける。ダイジェスト情報算出方法5479、5481には、バックアップサーバ1100側において、照合用データのダイジェスト情報を算出するために利用したダイジェスト情報算出方法を識別するために必要な情報を格納するために利用する。照合用ダイジェスト情報5480、5482には、バックアップサーバ1100側において、照合用データをかかるダイジェスト情報算出方式を利用して作成したダイジェスト情報を格納するために利用する。
【００９６】
本実施の形態においては、当該照合用データそのものを送るのではなく、照合用データのダイジェスト情報を送り、当該ダイジェスト情報を利用して、バックアップクライアントにおいてデータの照合を行うようにすることで、バックアップ対象データのサイズが大きい場合やビットレベルによる完全な照合確認が必ずしも必要ない場合に対応することができる。
【００９７】
（第５の実施の形態）
上述した第１の実施の形態では、バックアップクライアント2100、2200からバックアップサーバ1100へのバックアップ対象データの転送方式は、固定された形態を扱っている。しかしながら、バックアップクライアント2100、2200側において、どのような方式でバックアップ対象データを転送すべきかを選択可能にし、クライアントにおいてニーズに合った方式を選択できるようにすることができない。例えば、重複排除による転送量削減による高効率化よりも、データ完全性に対するニーズが大きいクライアントは、重複排除のためのダイジェスト情報のやり取りをせずに、通常のバックアップと同様に、いきなりバックアップ対象データを送信することを望む場合も考えられる。そこで、以下においては、バックアップクライアント2100において、バックアップ対象データの転送方式選択を行わせる場合における制御方式を第５の実施の形態について説明する。
【００９８】
上述のように、バックアップクライアント2100において、バックアップ対象データの転送方式選択を行わせるためには、システム構成ならびにバックアップ処理の一部内容を変更する必要があると共に、転送方式選択機能などを新たに追加する必要もある。それらの変更、追加内容について、図31、図32、図33、図34、図35、図36および図37によって説明する。
【００９９】
図31では、図2に示したバックアップサーバ1100のハードウェア構成からの変更内容を含めて示す。図2からの変更点は、以下の２つのエントリを追加したことである。まず１つ目は、バックアップクライアント情報制御プログラム1128である。このプログラムでは、当該バックアップサーバ1100が提供するバックアップサービスを利用するバックアップクライアント毎の情報を受け付け、管理する機能を提供する。２つ目は、バックアップクライアント管理表4500である。バックアップクライアント管理表4500は、バックアップクライアント情報制御プログラム1128が各バックアップクライアント2100からの情報を受け付けた情報を格納し、管理するために利用する。当該バックアップクライアント管理表4500には、当該バックアップサーバ1100を利用するクライアント全ての情報を格納する。尚、バックアップクライアント管理表の構成などの説明については、図34を参照して後述する。
【０１００】
図32は、図3に示したバックアップクライアント2100のハードウェア構成からの変更内容を含む図である。変更点は、次の２つのエントリを追加したことである。まず１つ目は、バックアップクライアント情報入力プログラム2128である。このプログラムでは、当該バックアップクライアント2100を利用するユーザがバックアップ対象データの転送方式を選択するための情報入力機能を提供する。尚、この入力画面の構成例などの説明については、図33において後述する。２つ目は、バックアップクライアント管理表4500である。バックアップクライアント管理表4500は、バックアップクライアント情報入力プログラム2127が受け付けた情報を格納し、管理するために利用する。当該バックアップクライアント管理表4500には、当該バックアップクライアント2100を利用するクライアントの情報のみを格納する。尚、図33に示す表の構成などについては、図34を参照しながら説明する。
【０１０１】
図33は、バックアップクライアント情報入力プログラム2128が提供するバックアップクライアント情報入力画面6100の表示例を示す図である。バックアップクライアント情報入力画面6100では、対象ユーザを識別するためのユーザ識別子ならびにパスワードを入力するユーザ識別子入力欄6110ならびにパスワード入力欄6120、当該ユーザが利用するバックアップクライアント2100を識別するためのIPアドレスを入力するIPアドレス入力欄6130、利用バックアップモードを選択するためのバックアップモード選択欄6140、入力内容をシステムに反映するためのOKボタン6150、および、入力内容をキャンセルするためのキャンセルボタン6160がある。バックアップモード選択欄6140では、トラストモード（Trust Mode）6141あるいは効率転送モード（Effective Transfer Mode）6142のどちらかを選択できる。トラストモード6141とは、バックアップクライアント2100からダイジェスト情報を送ることなく、バックアップ対象データのみを最初から送信する方法を意味する。効率転送モード6142とは、バックアップクライアント2100からダイジェスト情報をはじめに送り、重複排除を行う方法を意味する。ここで、効率転送モード6142を選択した場合は、さらに次の２つの選択肢のうちのいずれかを選択する必要がある。１つ目は、バックアップクライアント側実データ照合モード（Verified in client side using the full data）6143である。本モード6143を選択した場合には、バックアップサーバ1100は、バックアップクライアント2100に対し、照合用データとして対象データの実データを送るようにする。２つ目は、バックアップクライアント側ダイジェスト情報照合モード（Verified in client side using the digest data）6144である。本モード6144を選択した場合には、バックアップサーバ1100は、バックアップクライアント2100に対し、第４の実施の形態において示したように、照合用データとして対象データのダイジェスト情報を送るようにする。
【０１０２】
また、バックアップクライアント側ダイジェスト情報照合モード6144を選択した場合、さらに、バックアップクライアント2100において利用可能なダイジェスト情報算出方法をダイジェスト情報算出方法入力欄6145に入力する。もし、利用可能な方式が複数ある場合は、エントリ追加ボタン6146を利用することで、当該ダイジェスト情報算出方法入力欄6145を追加することができる。
【０１０３】
以上の入力を終えた後で、OKボタン6150を利用することにより、当該入力内容をバックアップサーバ1100ならびに当該バックアップクライアント2100に反映させることができる。また、キャンセルボタン6160を利用することで、当該入力内容をキャンセルすることができる。尚、バックアップクライアント2100において、当該バックアップクライアント情報入力画面6100を表示させた際に、当該バックアップクライアント2100に設定されているバックアップクライアント情報が入力された形で表示される。ここで表示される内容は、当該バックアップクライアント2100におけるバックアップクライアント管理表4500に登録されている内容を利用する。もちろん、設定内容を確認するための画面を別途用意してもよい。
【０１０４】
図34は、バックアップクライアント情報の登録内容を管理するバックアップクライアント管理表4500の構成を例示する図である。バックアップクライアント管理表4500では、当該バックアップクライアント2100において設定されたバックアップクライアント情報を管理する。バックアップサーバ1100において保持するバックアップクライアント管理表4500では、当該バックアップサーバ1100を使用する全ユーザの情報を管理する。これに対して、バックアップクライアント2100にて保持するバックアップクライアント管理表4500では、当該バックアップクライアント2100を使用するユーザの情報のみを管理する。具体的には、バックアップクライアント管理表4500は、ユーザ識別子4510と、パスワード4520と、IPアドレス4530と、バックアップモード4540と、ダイジェスト化方式4550と、登録/更新日時4560と、を構成要素としている。ここで、ユーザ識別子4510とは、対象ユーザを識別するために利用するものであり、図33のユーザ識別子入力欄6110で入力された情報が反映される。パスワード4520は、同様に、対象ユーザを識別するために利用するものであり、図33のパスワード入力欄6120で入力された情報が反映される。IPアドレス4530は、対象ユーザが利用するバックアップクライアントを識別するために利用するものであり、図33のIPアドレス入力欄6130で入力された情報が反映される。バックアップモード4540は、対象ユーザが選択したバックアップモードを識別するために利用するものであり、図33のバックアップモード選択欄6140で選択された情報が反映される。ダイジェスト化方式4550は、対象ユーザが利用可能と選択したダイジェスト化方式を識別するために利用するものであり、図33のダイジェスト情報算出方法入力欄6145で入力された情報が反映される。登録/更新日時4560は、当該エントリが登録あるいは更新された日時情報を格納する。
【０１０５】
図35は、バックアップクライアント情報を入力しシステムに登録するまでの処理の流れを示すフローチャート図である。はじめに、バックアップクライアント2100において、バックアップクライアント情報入力プログラム2128を利用して、バックアップクライアント情報入力画面6100を起動する(ステップS901)。その後、当該画面6100において、ユーザが画面に情報を入力する(ステップS902)。その後、当該画面6100において、OKボタン6150を押下することで、入力情報をバックアップサーバ1100に送信する(ステップS903)。バックアップサーバ1100では、送信されてきた入力情報を受信し(ステップS904)、当該情報をバックアップサーバ1100におけるバックアップクライアント管理表4500に登録する(ステップS905)。登録後、応答パケットを送信する(ステップS906)。バックアップクライアント2100では、応答パケットを受信し(ステップS907)、ユーザが入力した情報をバックアップクライアント2100におけるバックアップクライアント管理表4500に登録する(ステップS908)。
【０１０６】
図36では、図9に示したバックアップ要求処理の変更内容について示す。変更点は、以下の通りである。バックアップクライアント2100におけるバックアップ要求処理に先立って、はじめに、当該ユーザが設定したバックアップモードがトラストモードか否かを調べる(ステップS118)。この情報は、当該バックアップクライアント2100におけるバックアップクライアント管理表4500に格納されている情報を参照する。もし、トラストモードでなければ（Ｎｏ）、図9に示した通常のバックアップ要求処理を行うべく、図9の処理ステップS101に遷移する。もし、トラストモードであれば（Ｙｅｓ）、バックアップ対象データそのものをバックアップサーバ1100に送るべく、以下の処理を行う。はじめに、バックアップクライアント2100では、自身の中で保管しているデータ群の中から、バックアップ対象データを選定する(ステップS119)。次に、選定した対象データの中から、任意のデータを一つ選び(ステップS120)、以下の処理を実行する。まず、バックアップ用に対象データのメタデータを取得する(ステップS121)。次に、ダイジェスト情報未送信モード設定の上、バックアップ対象データならびにメタデータを含めてバックアップ要求パケットを組み立て、バックアップサーバ1100に送信する(ステップS122)。バックアップサーバ1100側の処理については、処理Aとして図10で説明した処理と同じである。バックアップサーバ1100からの応答パケットを受信した(ステップS123)後、今回処理ステップS119において選定した対象データを全て処理したかどうかを調べる(ステップS124)。もし全て処理している場合は（Ｙｅｓ）、処理を終了する。もし、全て処理していない場合は（Ｎｏ）、処理ステップS120に戻り、処理を繰り返す。
【０１０７】
図37は、図11に示したバックアップ受付処理の変更内容を含む処理について示す図である。変更点は、以下の通りである。図37における処理ステップS301の処理の後で、受信した要求パケットを送信したユーザが登録したバックアップモードがトラストモードかどうかを調べる(ステップS321)。具体的には、受信した要求パケットを送信したユーザ情報を当該パケットの制御情報5300に格納されている情報から取得し、当該ユーザ情報に対応するエントリをバックアップクライアント管理表4500から探し、当該エントリに登録されているバックアップモード4540を取得する。もし、処理ステップS321においてトラストモードでなければ（Ｎｏ）、図11で説明した処理ステップS302に遷移し、図11と同様の処理を行う。もし、処理ステップS321においてトラストモードであれば（Ｙｅｓ）、図11で説明した処理ステップS303に遷移し、図11と同様の処理を行う。
【０１０８】
本実施の形態によれば、バックアップクライアント側において、どのような方式でバックアップ対象データを転送すべきかを選択可能にし、クライアントにおいてニーズに合った方式を選択できるようにすることができる。
【０１０９】
（第６の実施の形態）
上述した第１の実施の形態では、バックアップサーバ1100に格納されたデータ全てに関してダイジェスト情報を算出することで、重複排除を行うために格納全データを対象に照合を行う形態を扱っていた。このため、バックアップクライアント2100側におけるデータ照合を行うために、バックアップサーバ1100に格納されているデータを照合用データとして、バックアップクライアント2100に送っていた。
【０１１０】
しかしながら、格納データの中には、セキュリティの都合などのために、自分以外の他のクライアントに対して、照合用に当該データを送ることが難しいものも含まれることが考えられる。第１の実施の形態では、格納データ全てを対象とした重複排除を行うべく、全ての格納データを照合対象としているため、データ毎に照合対象にすべきかどうかを設定できるようにすることまでは想定していない。
【０１１１】
そこで、以下では、バックアップサーバ1100を利用するクライアントが、自身の格納データに対して、重複排除を行うための照合用データとして利用を許可あるいは不許可する制御方式について説明する。
【０１１２】
上述のように、バックアップサーバ1100を利用するクライアントが、自身の格納データに対する重複排除対象への登録可否情報を設定できるようにするためには、システム構成、バックアップデータ管理表、バックアップクライアント管理表およびバックアップ処理の一部内容を変更する必要があると共に、データ毎の選択機能などを新たに追加する必要もある。それらの変更、追加内容を図38、図39、図40、図41、図42、図43、図44および図45に沿って説明する。
【０１１３】
図38は、図31に示したバックアップサーバ1100のハードウェア構成の変更内容を含む構成について示す図である。変更点は、バックアップデータ情報制御プログラム1129を追加したことである。本プログラムでは、当該バックアップサーバ1100が提供するバックアップサービスを利用するバックアップクライアント毎の重複排除対象への登録可否情報を受け付け、管理する機能を提供する。
【０１１４】
図39は、図32に示したバックアップクライアント2100のハードウェア構成の変更内容を含む構成例を示す図である。変更点は、バックアップデータ情報入力プログラム2129を追加した点である。このプログラムでは、当該バックアップクライアント2100を利用するクライアントがバックアップ対象データに対して、重複排除対象への登録可否情報を設定するための情報入力機能を提供する。尚、この入力画面の構成などの説明については、図40を参照して後述する。
【０１１５】
図40は、バックアップデータ情報入力プログラム2129が提供するバックアップデータ情報入力画面6200の表示画面例を示す図である。バックアップデータ情報入力画面6200では、対象ユーザを識別するためのユーザ識別子ならびにパスワードを入力するユーザ識別子入力欄6210ならびにパスワード入力欄6220、設定されている情報を取得するための再表示ボタン6230、設定されている情報を一覧表示する一覧表示欄6240、対象データに対して全ユーザに対する重複排除対象への登録を許可する設定に変更する登録許可設定ボタン6250、対象データに対して自ユーザのみに対する重複排除対象への登録を許可する設定に変更する制限つき登録許可設定ボタン6260、対象データに対して重複排除対象への登録を不許可とする設定に変更する登録不許可設定ボタン6270、入力内容をシステムに反映するための反映ボタン6280、および入力内容をキャンセルするためのキャンセルボタン6290がある。
【０１１６】
一覧表示欄6240では、当該ユーザが登録するデータに対して、重複排除対象への登録許可/不許可をデフォルト設定できるようにするデフォルト設定欄6241と、当該ユーザが格納した全データに対して、重複排除対象への登録許可/不許可を設定できるようにする一括設定欄6242と、当該ユーザが格納したデータ毎に、重複排除対象への登録許可/不許可を設定できるようにする個別設定欄6243、6244、6245、6246と、がある。一覧表示欄における各エントリには、対象エントリに対して設定されている内容が表示される。例えば、Allowed Globallyと表示されている場合は、全ユーザに対して重複排除対象への登録を許可している状態を示し、Allowed Myselfと表示されている場合は、自ユーザに対してのみ重複排除対象への登録を許可している状態を示し、Disallowedと表示されている場合は、重複排除対象への登録を許可していない状態を示す。
【０１１７】
また、当該一覧表示欄6240において、個別の格納データに関して、当該データに付与されているデータ識別子4120や、名前4131などの情報なども表示する。当該ユーザが格納するデータに対してデフォルトで設定する内容を変更したい場合は、デフォルト設定欄6241のチェックボックスを有効化し、登録許可設定ボタン6250、制限つき登録許可設定ボタン6260、および登録不許可設定ボタン6270の中から、設定したい内容と合うものを選び、ボタンを押す。全格納データの設定内容を一括して変更したい場合は、一括設定欄6242のチェックボックスを有効化して、同様の操作を行う。一部のデータの設定内容を一括して変更したい場合は、個別設定欄6243、6244、6245、6246の任意のチェックボックスを有効化して、同様の操作を行う。
【０１１８】
以上の入力を終えた後に、反映ボタン6280を利用することで、当該入力内容をバックアップサーバ1100に反映させることができる。また、キャンセルボタン6290を利用することで、当該入力内容をキャンセルすることができる。尚、バックアップクライアント2100において、当該バックアップデータ情報入力画面6200を表示させた際、当該バックアップクライアント2100に設定されているバックアップデータ情報が入力された形で表示される。ここで表示される内容は、当該バックアップクライアント2100におけるバックアップデータ管理表4100ならびにバックアップクライアント管理表4500に登録されている内容を利用する。ここで、表示内容を最新状態に更新するためには、再表示ボタン6230を押下する。もちろん、設定内容を確認するための画面を別途用意してもよい。
【０１１９】
図41は、図4に示したバックアップデータ管理表の変更内容について示す図である。変更点は、重複排除向け利用可否フラグ4170を新たに追加した点である。本エントリでは、バックアップサーバ1100を利用するユーザが、バックアップクライアント2100においてバックアップデータ情報入力プログラム2129を利用して、クライアントに格納されているデータに対して、重複排除対象への登録を許可するかどうかの情報を格納するために利用する。格納する情報の種類は、図40のバックアップデータ情報入力画面6200において入力された情報と合致する。具体的には、Allowed Globallyと格納されている場合は、全ユーザに対して重複排除対象への登録を許可している状態を示し、Allowed Myselfと格納されている場合は、自ユーザに対してのみ重複排除対象への登録を許可している状態を示し、Disallowedと格納されている場合は、重複排除対象への登録を許可していない状態を示す。なお、図では示していないが、任意の複数のユーザからなるグループに対して重複排除対象への登録を許可するようにしてもよい。
【０１２０】
図42は、図34に示したバックアップクライアント管理表の変更内容を含む構成を示す図である。変更点は、ダイジェスト情報作成デフォルト設定情報4570を新たに追加した点である。本エントリでは、バックアップサーバ1100を利用するユーザが、バックアップクライアント2100においてバックアップデータ情報入力プログラム2129を利用して、当該ユーザが格納したデータに対して重複排除対象への登録をデフォルトで許可するか否かの情報を格納するために利用する。格納する情報の種類は、図40のバックアップデータ情報入力画面6200において入力された情報と合致する。具体的には、前述した図41の重複排除向け利用可否フラグ4170と同じである。
【０１２１】
図43は、バックアップデータ情報を入力しシステムに登録するまでの処理の流れを示すフローチャート図である。はじめに、バックアップクライアント2100において、バックアップデータ情報入力プログラム2129を利用して、バックアップデータ情報入力画面6200を起動する(ステップS1001)。その後に、当該画面6200において、ユーザが自身のユーザ識別子ならびにパスワードを、それぞれユーザ識別子入力欄6210とパスワード入力欄6220に入力し、再表示ボタン6230を押下する(ステップS1002)。これにより、入力情報をバックアップサーバ1100に送信する(ステップS1003)。バックアップサーバ1100では、送信されてきた入力情報を受信し(ステップS1004)、当該情報をバックアップサーバ1100におけるバックアップクライアント管理表4500ならびにバックアップデータ管理表4100から取得する(ステップS1005)。登録後、応答パケットを送信する(ステップS1006)。バックアップクライアント2100では、応答パケットを受信し(ステップS1007)、取得したバックアップデータ一覧を当該画面6200に表示する(ステップS1007)。これにより、一覧表示欄6240に当該ユーザに対応したデフォルト設定情報、ならびに当該ユーザが格納したデータへの設定情報が表示される。その後で、当該画面6200において、当該ユーザに対応したデフォルト設定情報ならびに当該ユーザが格納したデータへの設定情報に対する変更を行った上で、反映ボタン6280を押下する(ステップS1008)。ここで行う設定情報の変更方法は、図40において説明した方法と同様である。処理ステップS1008により、設定変更情報をバックアップサーバ1100に送信する(ステップS1009)。バックアップサーバ1100では、送信されてきた設定変更情報を受信し(ステップS1010)、当該情報をバックアップサーバ1100におけるバックアップクライアント管理表4500ならびにバックアップデータ管理表4100に反映する(ステップS1011)。反映後、応答パケットを送信する(ステップS1012)。バックアップクライアント2100では、応答パケットを受信し(ステップS1013)、処理を終了する。
【０１２２】
図44は、図10で示したバックアップ受付処理の変更内容を含むフローチャート図である。変更点は、図10における処理ステップS206の処理に先立ち、処理ステップS205において当該ダイジェスト情報が登録されていた場合に、当該対象データは重複排除向けに利用可能な設定になっているかどうかを調べる処理(ステップS217)を追加したことである。ここでは、具体的に、当該ダイジェスト情報が格納されているダイジェスト情報管理表4200より、対応する格納ファイル識別子4210を取得する。次に、格納データ対応管理表4300より、取得した格納ファイル識別子4210が登録されているエントリから、対応するデータ識別子4120を取得する。次に、バックアップデータ管理表4100より、取得したデータ識別子4120が登録されているエントリから、対応する重複排除向け利用可否フラグ4170を取得する。この重複排除向け利用可否フラグ4170の情報をもとに、処理ステップS217の判定処理を行う。もし、処理ステップS217において、重複排除向けに利用可能な設定になっている場合は（Ｙｅｓ）、当該データを重複排除時の照合データとして利用すべく、図10の処理ステップS206に遷移する。もし、重複排除向けに利用可能な設定になっていない場合は（Ｎｏ）、当該データを重複排除時の照合データとして利用しないこととし、図10の処理ステップS206に遷移する。この場合、バックアップサーバ1100では、当該バックアップ対象データと合致するデータが見つからなかったと判断され、バックアップクライアント2100側に通知する。
【０１２３】
図45は、図11で示したバックアップ受付処理の変更内容を含めて示したフローチャート図である。変更点は、図11における処理ステップS307の処理に先立ち、現在、バックアップ要求を行っているユーザが、重複排除向けにデフォルトでダイジェスト情報作成可能な設定になっているかどうかを調べる処理(ステップS322)を追加したことである。ここでは、具体的に、当該バックアップ要求が格納されているパケットの制御情報5300部分などに格納されている情報をもとに、処理要求ユーザを特定しユーザ識別子4510を取得する。次に、バックアップクライアント管理表4500より、取得したユーザ識別子4510が登録されているエントリから、対応するダイジェスト情報作成デフォルト設定情報4570を取得する。このダイジェスト情報作成デフォルト設定情報4570の情報をもとに、処理ステップS322の判定処理を行う。もし、処理ステップS322において、ダイジェスト情報作成可能な設定になっている場合は（Ｙｅｓ）、当該データのダイジェスト情報を算出すべく、図11の処理ステップS307に遷移する。もし、ダイジェスト情報作成可能な設定になっていない場合は（Ｎｏ）、当該データのダイジェスト情報を算出しないこととし、図11の処理を終了する。
【０１２４】
本実施の形態では、バックアップサーバを利用するクライアントが、自身の格納データに対して、重複排除を行うための照合用データとして利用を許可あるいは不許可する制御を行うことができる。
【０１２５】
（第７の実施の形態）
上述した第１の実施の形態では、バックアップサーバ1100がバックアップクライアント2100に対して照合用データを送信する際に、対象照合用データを一度で送信する形態について説明した。しかし、照合用データの一部分のみを送信し、部分データの照合の繰り返しにより、データ全体の照合を行うことまでを想定するものではないが、このような方式を実現することができれば、非合致となる場合において、バックアップクライアント2100側において早期に非合致を検出することができ、好適である。そこで、以下においては、バックアップサーバ1100が、バックアップクライアント2100に対して、照合用データを部分的に繰り返し送信することによって照合処理を行う場合における制御方式について説明する。
【０１２６】
上述のように、バックアップサーバ1100が、バックアップクライアント2100に対して、照合用データを部分的に繰り返し送信することによって照合処理を行うようにするためには、バックアップ処理ならびにパケット構成の一部内容を変更する必要がある。それらの変更内容を図46、図47、図48および図49によって説明する。
【０１２７】
図46は、図10に示したバックアップ受付処理の変更内容について示す図である。変更点は、以下の通りである。図10における処理ステップS206の後に、以下の処理を新たに追加する。まず、処理ステップS206で取得した実データを任意の複数個に分割する(ステップS218)。次に、分割したうちの先頭のデータ片を照合用データとして送信対象に選択する(ステップS219)。その後、図10の処理ステップS207に遷移する。また、処理ステップS207において、対象データ全てを処理したと判断した場合、ここでは、処理ステップS208のかわりに、照合結果、照合用データ片、データ片のオフセット/サイズを含めた応答パケットを組み立て、送信するという処理(ステップS220)を行う。具体的なパケット構成については、図49を参照して後述する。
【０１２８】
図47は、図9に示したバックアップ要求処理の変更内容を含めたフローチャート図である。変更点は、以下の通りである。図9における処理ステップS109の処理を行う前に、バックアップクライアント2100は、バックアップサーバ1100から照合対象データ片が送付されているかどうかを調べる(ステップS125)。ここでは、具体的には、送付されてきたパケット構成を調べることで、データ片があるかどうかを調べる。もし、データ片が送付されていない場合は、処理ステップS109に遷移し、処理を行う。もし、データ片が送付されている場合は、以下の処理を行う。
【０１２９】
まず、バックアップサーバ1100側と同じオフセット/サイズで、バックアップクライアント2100が保持するバックアップ対象データのデータ片を取得する(ステップS126)。その後、照合用データ片と、先ほど取得したバックアップ対象データ片と、が合致するかどうか調べる(ステップS127)。もし、合致しない場合は（Ｎｏ）、早期に非合致であると判断し、処理ステップS110に遷移する。もし、合致した場合は（Ｙｅｓ）、次なる照合用データ片を取得すべく、照合データ片再送モード設定の上、要求パケットを組み立て、バックアップサーバ1100に送信する(ステップS128)。ここで、照合用データ片再送モードの設定は、図49で説明するパケット構成の中における内容フラグ5431、5436の領域を利用して行う。また、処理ステップS128でバックアップサーバ1100に対してパケットを送信した後、応答パケットの受信は、処理ステップS106によって行うようにする。これにより、当該応答パケットの受信後、照合用データ片による照合を繰り返し実行できるようにする。
【０１３０】
図48は、図11に示したバックアップ受付処理の変更内容を含む図である。変更点は、以下の通りである。図11における処理ステップS309において、当該バックアップ要求パケットがデータ非送信モードではないと判断された後、さらに、当該バックアップ要求パケットが照合用データ片再送モードであるかどうかを調べる(ステップS323)。もし、照合用データ片再送モードでない場合は（Ｎｏ）、不正な状態としてエラー終了する。もし、照合用データ片再送モードである場合は（Ｙｅｓ）、当該照合用データに対する照合用データ片が残っているかどうかを調べる(ステップS324)。もし、残っている場合は、次のデータ片を照合用データ片として選定し、重複検出モード設定の上、照合結果、照合用データ片、および、照合用データ片のオフセット/サイズの情報を含めた応答パケットを組み立て、送信する(ステップS325)。当該重複検出モードの設定は、図49で説明するパケット構成の中における内容フラグ5431、5436の領域を利用する。また、処理ステップS324においてデータ片が残っていない場合は、全てのデータ片を照合し終えたと見なし、重複検出モード設定の上、照合結果を含めた応答パケットを組み立て、送信する(ステップS326)。この時、照合用データ片のオフセット/サイズに関する情報については、照合用データ片が空であることが識別可能な情報を格納するようにすれば良い。
【０１３１】
図49は、図8に示したパケット構成の変更内容を含む図である。変更点は、以下の通りである。図8で示したバックアップ受付応答用パケット5520のかわりに、バックアップ受付応答用パケット5580を利用する。バックアップ受付応答用パケット5580では、バックアップ受付応答用パケット5520にあった照合用データ5434、5439のエントリに代えて、オフセット/サイズ情報5483、5485というエントリ、ならびに、照合用データ片5484、5486というエントリを設ける。
【０１３２】
オフセット/サイズ情報5483、5485には、当該バックアップ受付応答用パケット5580に格納されている照合用データ片に対応する先頭からのオフセット情報、ならびに、データ片のサイズ情報を格納するために利用する。照合用データ片5484、5486には、バックアップサーバ1100側において、照合用データを分割し、その中の一つを照合用データ片として選択したものを格納するために利用する。
【０１３３】
本実施の形態によれば、バックアップクライアント側において早期に非合致を検出することができるという利点がある。
【０１３４】
（第８の実施の形態）
上述した第１の実施の形態においては、バックアップ対象データに関するバックアップクライアント2100側での照合のために、当該バックアップ対象データと合致したと判断された実データを、バックアップサーバ1100がバックアップクライアント2100に送る形態を扱っている。しかしながら、第４の実施の形態のように、バックアップ対象データのサイズが大きい場合やビットレベルによる完全な照合確認が必ずしも必要ない場合などは、当該照合用データそのものを送るのではなく、当該照合用データのダイジェスト情報を送り、当該ダイジェスト情報を利用して、バックアップクライアント2100にてデータの照合を行うようにしてもよい。
さらに、ネットワークの通信状況をもとに、バックアップクライアント2100におけるデータ照合用に、実データを送る方式をとるのか、もしくは、ダイジェスト情報を送る方式をとるのかについて、選択できるようにしてもよい。すなわち、バックアップサーバ1100とバックアップクライアント2100との間における通信路の利用状況を監視し、その監視情報をもとに、かかる要求元に対する照合データの送信方法を、利用する通信路の利用状況に見合った方式を選択する照合データ送信方式選択機能を有していても良い。
【０１３５】
そこで、以下においては、バックアップサーバ1100が、バックアップクライアント2100に対して、データ照合のために、ネットワークの通信状況をもとに当該照合用データとしてどのような形式のデータを送るのかを選択する場合における制御技術について説明する。
【０１３６】
上述のように、ネットワークの通信状況をもとに当該照合用データとしてどのような形式のデータを送るのかを選択するためには、システム構成ならびにバックアップ処理の一部内容を変更する必要があるとともに、ネットワーク通信情況管理機能などを新たに追加する必要もある。それらの変更、追加内容を、図50、図51、図52、図53、図54および図55を参照しながら説明する。
【０１３７】
図50は、図2に示したバックアップサーバ1100のハードウェア構成の変更内容を含めて示す図である。変更点は、以下の２つのエントリを追加したことである。まず、１つ目は、ネットワーク監視制御プログラム1171である。このプログラムでは、当該バックアップサーバ1100が接続されるネットワークの通信状況に関する情報を定期的に取得し、管理する機能を提供するものである。また、バックアップクライアント2100から送られてくるネットワークの通信状況に関する情報を受け取り、合わせて管理する機能も提供する。２つ目は、ネットワーク通信状況管理表4600である。ネットワーク通信状況管理表4600は、ネットワーク監視制御プログラム1171が取得した情報ならびに各バックアップクライアント2100から取得した情報を格納し、管理するために利用する。ネットワーク通信状況管理表4600には、当該バックアップサーバ1100を利用するバックアップクライアント2100、2200全てとのネットワーク通信状況に関する情報を格納する。尚、ネットワーク通信状況管理表4600の構成などの説明は、図52を参照して後述する。
【０１３８】
図51では、図3に示したバックアップクライアント2100のハードウェア構成の変更内容について示す図である。変更点は、ネットワーク情報通知制御プログラム2171を新たに追加したことである。このプログラムでは、バックアップクライアント2100を利用するネットワークの通信状況に関する情報を収集し、この情報をバックアップサーバ1100におけるネットワーク監視制御プログラム1171に送る機能を提供する。尚、このプログラムにおいて収集するネットワークの通信状況は、特に、当該バックアップクライアント2100とバックアップサーバ1100との間のネットワークにおける情報である。
【０１３９】
図52は、バックアップサーバ1100とバックアップクライアント2100、2200間とのネットワークの通信状況に関する情報を管理するネットワーク通信状況管理表4600の構成例を示す図である。具体的に、ネットワーク通信状況管理表4600は、クライアントIPアドレス4610と、通信方向4620と、通信状況4630と、登録/更新日時4640という構成要素からなる。ここで、クライアントIPアドレス4610とは、対象バックアップクライアントを識別するために利用する。通信方向4620は、当該バックアップクライアントからバックアップサーバ1100への通信に関する情報なのか、それとも逆向きの通信に関する情報なのかを識別するために利用する。図52では、前者をサーバ方向と表記し、後者をクライアント方向と表記している。また、前者の情報は、当該バックアップクライアントのネットワーク情報通知制御プログラム2171から送られてきた情報をもとに格納する。後者の情報は、当該バックアップサーバ1100のネットワーク監視制御プログラムにて取得した情報をもとに格納する。通信状況4630とは、当該ネットワーク通信状況に関する具体的な情報を格納する。例えば、図52において、スループット4631や、ターンアラウンドタイム4632を示している。これら以外の情報を格納するようにしてもよい。登録/更新日時4560は、当該エントリが登録あるいは更新された日時情報を格納する。
【０１４０】
図53は、バックアップクライアント2100においてネットワーク情報通知制御プログラム2171を利用し、ネットワーク通信状況に関する情報を取得し、バックアップサーバ1100に登録するまでの処理の流れを示す図である。はじめに、バックアップクライアント2100において、ネットワーク情報通知制御プログラム2171を起動して、バックアップサーバ1100との間のネットワークの通信状況に関する情報を取得する(ステップS1101)。ここでは、情報取得のために、例えば、pingコマンドなどを利用する。その後、取得した情報をバックアップサーバ1100に送信する(ステップS1102)。バックアップサーバ1100では、送信されてきた情報を受信し(ステップS1103)、当該情報をバックアップサーバ1100におけるネットワーク通信状況管理表4600に登録する(ステップS1104)。登録後、応答パケットを送信する(ステップS1105)。バックアップクライアント2100では、応答パケットを受信し(ステップS1106)、処理を終了する。以上の処理を定期的に実行することで、ネットワークの通信状況に関する情報を収集する。
【０１４１】
図54は、バックアップサーバ1100においてネットワーク監視制御プログラム1171を利用し、ネットワーク通信状況に関する情報を取得し、登録するまでの処理の流れを示す図である。はじめに、バックアップサーバ1100において、ネットワーク監視制御プログラム1171を起動して、各バックアップクライアント2100、2200との間のネットワークの通信状況に関する情報を取得する(ステップS1201)。ここでは、情報取得のために、例えば、pingコマンドなどを利用する。その後、取得した情報をバックアップサーバ1100におけるネットワーク通信状況管理表4600に登録し(ステップS1202)、処理を終了する。以上の処理を定期的に実行することで、ネットワークの通信状況に関する情報を収集する。
【０１４２】
図55は、図10に示したバックアップ受付処理の変更内容を含む図である。変更点は、以下の通りである。図10における処理ステップS206の後で、ネットワーク通信状況管理表4600において、対象クライアント間のネットワーク通信状況が任意のしきい値以下かどうかを調べる(ステップS221)。ここでは、受信したバックアップ要求パケットに含まれる制御情報5300に格納されている情報をもとにバックアップクライアントのIPアドレスを特定する。当該IPアドレスが格納されているエントリをネットワーク通信状況管理表4600の中から探す。エントリが特定できると、当該エントリに格納されている通信状況4630の情報をもとに、当該処理ステップS221での判断を行う。ここで判断するために利用する情報は、スループット4630でもよいし、ターンアラウンドライム4632でもよいし、その両方でもよいし、それ以外の情報を利用してもよい。もし、処理ステップS221において、しきい値以下ではないと判断した場合は、処理ステップS206において取得した実データのダイジェスト情報を生成する(ステップS222)。この場合は、バックアップクライアント2100に対して照合用データとしてダイジェスト情報を送る。この処理ステップS222では、対象データのダイジェスト情報を生成する際に、バックアップクライアント2100がバックアップサーバ1100にデータ重複検出のために送ってきたダイジェスト情報を算出する時とは異なるダイジェスト方式を利用するか、もしくは異なるビット長で生成するようにする。これにより、バックアップクライアント2100がダイジェスト情報算出のために最初に利用した算出方式ならびにビット長と同じにならないようにする。
【０１４３】
もし、処理ステップS221においてしきい値以下と判定した場合は、処理ステップS206にて取得した実データを照合用として利用する選択を行い(ステップS223)、処理ステップS207に遷移する。この場合は、バックアップクライアント2100に対して照合用データとして実データを送る。また、処理ステップS207において、対象データ全てを処理したと判断した場合、ここでは、処理ステップS208のかわりに、照合結果、照合用データ含めた応答パケットを組み立て、送信するという処理(ステップS224)を行う。ここでの照合用データは、照合用ダイジェスト情報ならびにダイジェスト化方式情報に関する情報を格納する場合や、照合用実データを格納する場合がある。ここでは、パケット構成を変えることで、当該応答パケットがどちらの情報が格納されているのかを識別することができる。
【０１４４】
以上、本実施の形態について説明したが、本発明はこの実施の形態に限定されることなくその趣旨を逸脱しない範囲内で種々の構成をとることができることは言うまでもない。
【０１４５】
尚、本発明は、上述した制御装置のほかに、制御システムあるいは制御方法として構成することもできる。また、上述の制御装置を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。  
【０１４６】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構
成する場合には、制御装置あるいは制御装置を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやCD-ROM、DVD-ROM、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置および外部記憶装置などコンピュータが読み取り可能な種々の揮発性記憶媒体や不揮発性記憶媒体を利用できる。
【産業上の利用可能性】
【０１４７】
本発明は、インターネットバックアップ装置に利用可能である。
【図面の簡単な説明】
【０１４８】
【図１】本発明の実施の形態によるインターネットバックアップシステムの一構成例を示す機能ブロック図である。
【図２】バックアップサーバのハードウェア構成例を示す図である。
【図３】バックアップクライアントのハードウェア構成の一例を示す図である。
【図４】バックアップデータ管理表の一例を示す図である。
【図５】ダイジェスト情報管理表の一例を示す図である。
【図６】格納データ対応管理表の一例を示す図である。
【図７】格納ファイル管理表を一例を示す図である。
【図８】パケット構成の一例を示す図である。
【図９】バックアップ要求処理の流れを示すフローチャート図である。
【図１０】バックアップ受付処理の前半部分の処理の流れを示すフローチャート図である。
【図１１】バックアップ受付処理の後半部分の処理の流れを示すフローチャート図である。
【図１２】リストア要求処理の一例を示すフローチャート図である。
【図１３】データ一覧取得受付処理の一例を示すフローチャート図である。
【図１４】リストア受付処理の一例を示すフローチャート図である。
【図１５】削除要求処理の一例を示すフローチャート図である。
【図１６】削除受付処理の一例を示すフローチャート図である。
【図１７】本発明の第２の実施の形態によるインターネットバックアップシステムの一構成例を示す機能ブロック図である。
【図１８】本発明の第２の実施の形態におけるオリジナルサーバのハードウェア構成例を示す図である。
【図１９】本発明の第２の実施の形態におけるバックアップデータ管理表の一例を示す図である。
【図２０】本発明の第２の実施の形態におけるバックアップ要求処理の流れを示すフローチャート図である。
【図２１】本発明の第２の実施の形態におけるバックアップ受付処理の前半部分を示すフローチャート図である。
【図２２】本発明の第２の実施の形態におけるバックアップ受付処理後半部分を示すフローチャート図である。
【図２３】本発明の第２の実施の形態におけるパケットの一構成例を示す図である。
【図２４】本発明の第３の実施の形態におけるバックアップ受付処理の前半部分を示すフローチャート図である。
【図２５】本発明の第３の実施の形態におけるバックアップ要求処理を示すフローチャート図である。
【図２６】本発明の第３の実施の形態におけるパケット構成例を示す図である。
【図２７】本発明の第４の実施の形態におけるバックアップ受付処理の前半部分を示すフローチャート図である。
【図２８】本発明の第４の実施の形態におけるバックアップ要求処理を示すフローチャート図である。
【図２９】本発明の第４の実施の形態におけるバックアップ受付処理の後半部分を示すフローチャート図である。
【図３０】本発明の第４の実施の形態におけるパケット構成の一例を示す図である。
【図３１】本発明の第５の実施の形態におけるバックアップサーバのハードウェア構成例を示す図である。
【図３２】本発明の第５の実施の形態におけるバックアップクライアントのハードウェア構成例を示す図である。
【図３３】本発明の第５の実施の形態におけるバックアップクライアント情報入力画面を例示する図である。
【図３４】本発明の第５の実施の形態におけるバックアップクライアント管理表の一例を示す図である。
【図３５】本発明の第５の実施の形態におけるバックアップクライアント情報入力処理を説明するフローチャート図である。
【図３６】本発明の第５の実施の形態におけるバックアップ要求処理を説明するフローチャート図である。
【図３７】本発明の第５の実施の形態におけるバックアップ受付処理後半部分を説明するフローチャート図である。
【図３８】本発明の第６の実施の形態におけるバックアップサーバのハードウェア構成図である。
【図３９】本発明の第６の実施の形態におけるバックアップクライアントのハードウェア構成図である。
【図４０】本発明の第６の実施の形態におけるバックアップデータ情報入力画面を例示する説明図である。
【図４１】本発明の第６の実施の形態におけるバックアップデータ管理表を例示する説明図である。
【図４２】本発明の第６の実施の形態におけるバックアップクライアント管理表を例示する説明図である。
【図４３】本発明の第６の実施の形態におけるバックアップデータ情報入力処理を説明するフローチャート図である。
【図４４】本発明の第６の実施の形態におけるバックアップ受付処理前半部分を説明するフローチャート図である。
【図４５】本発明の第６の実施の形態におけるバックアップ受付処理後半部分を説明するフローチャート図である。
【図４６】本発明の第７の実施の形態におけるバックアップ受付処理前半部分を説明するフローチャート図である。
【図４７】本発明の第７の実施の形態におけるバックアップ要求処理を説明するフローチャート図である。
【図４８】本発明の第７の実施の形態におけるバックアップ受付処理後半部分を説明するフローチャート図である。
【図４９】本発明の第７の実施の形態におけるパケット構成を例示する説明図である。
【図５０】本発明の第８の実施の形態におけるバックアップサーバのハードウェア構成図である。
【図５１】本発明の第８の実施の形態におけるバックアップクライアントのハードウェア構成図である。
【図５２】本発明の第８の実施の形態におけるネットワーク通信状況管理表を例示する説明図である。
【図５３】本発明の第８の実施の形態におけるバックアップクライアントでのネットワーク情報通知処理を説明するフローチャート図である。
【図５４】本発明の第８の実施の形態におけるバックアップサーバでのネットワーク情報取得処理を説明するフローチャート図である。
【図５５】本発明の第８の実施の形態におけるバックアップ受付処理前半部分を説明するフローチャート図である。
【符号の説明】
【０１４９】
１００・・・ネットワーク
１１００・・・バックアップサーバ
２１００、２２００・・・バックアップクライアント
３１００・・・オリジナルサーバ
１１１０、２１１０、３１１０・・・プロセッサ
１１２０、２１２０、３１２０・・・メモリ
１１２１、２１２１、３１２１・・・外部記憶装置I/F制御プログラム
１１２２、２１２２、３１２２・・・ネットワークI/F制御プログラム
１１２３、２１２３、３１２３・・・ローカルファイルシステム制御プログラム
１１２４・・・バックアップサーバ制御プログラム
１１２５・・・データ重複排除制御プログラム
１１２６、２１２６・・・ダイジェスト情報生成制御サブプログラム
１１２７、２１２７・・・ダイジェスト情報照合制御サブプログラム
１１２８・・・バックアップクライアント情報制御プログラム
１１２９・・・バックアップデータ情報制御プログラム
１１７１・・・ネットワーク監視制御プログラム
２１２４・・・バックアップクライアント制御プログラム
２１２５・・・データ重複排除制御プログラム
２１２６・・・バックアップクライアント制御プログラム
２１２８・・・バックアップクライアント情報入力プログラム
２１２９・・・バックアップデータ情報入力プログラム
２１７１・・・ネットワーク情報通知制御プログラム
３１２４・・・データアクセス制御プログラム
１１３０、２１３０、３１３０・・・外部記憶装置I/F
１１４０、２１４０、３１４０・・・ネットワークI/F
１１５０、２１５０、３１５０・・・バス
１１６０、２１６０、３１６０・・・外部記憶装置
４１００・・・バックアップデータ管理表
４１１０・・・エントリ番号
４１２０・・・データ識別子
４１３０・・・メタデータ
４１３１・・・名前
４１３２・・・サイズ
４１３３・・・所有者
４１４０・・・登録/更新日時
４１５０・・・オリジナルサーバ情報
４１６０・・・オリジナルサーバ向けアクセス情報
４１７０・・・重複排除向け利用可否フラグ
４２００・・・ダイジェスト情報管理表
４２１０・・・格納ファイル識別子
４２２０・・・ダイジェスト情報
４２３０・・・ダイジェスト情報算出方法
４２４０・・・登録/更新日時
４３００・・・格納データ対応管理表
４４００・・・格納ファイル管理表
４４２０・・・ファイル格納パス名
４４３０・・・参照数
４５００・・・バックアップクライアント管理表
４５１０・・・ユーザ識別子
４５２０・・・パスワード
４５３０・・・IPアドレス
４５４０・・・バックアップモード
４５５０・・・ダイジェスト化方式
４５６０・・・登録/更新日時
４５７０・・・ダイジェスト情報作成デフォルト設定情報
４６００・・・ネットワーク通信状況管理表
４６１０・・・クライアントIPアドレス
４６２０・・・通信方向
４６３０・・・通信状況
４６３１・・・スループット
４６３２・・・ターンアラウンドタイム
４６４０・・・登録/更新日時
５０００・・・通信パケット
５１００・・・パケット種別
５２００・・・パケット内容フラグ
５３００・・・制御情報
５４００・・・データ本体
５５１０、５５５０・・・バックアップ要求用パケット
５５２０、５５６０、５５７０、５５８０・・・バックアップ受付応答用パケット
５５３０・・・バックアップ要求（照合後）用パケット
５５４０・・・リストア要求用/削除要求用パケット
５４１１、５４１６、５４３１、５４３６、５４５１、５４５５、５４６１、５４６４・・・内容フラグ
５４１２、５４１７、５４３２、５４３７、５４５２、５４５６・・・通番
５４１３、５４１８・・・メタデータ
５４１４、５４１９・・・ダイジェスト情報/実データ
５４１５、５４２０、５４３５、５４４０、５４５４、５４５８、５４６３、５４６６・・・セパレータ
５４３３、５４３８・・・照合結果
５４３４、５４３９・・・照合用データ
５４５３、５４５７・・・実データ
５４６２、５４６５・・・データ識別子
５４７１、５４７２・・・オリジナルサーバ情報/アクセス情報
５４７３、５４７６・・・サーバ公開鍵
５４７４、５４７７・・・暗号化方式識別情報
５４７５、５４７８・・・照合用暗号化データ
５４７９、５４８１・・・ダイジェスト情報算出方法
５４８０、５４８２・・・照合用ダイジェスト情報
５４８３、５４８５・・・オフセット/サイズ情報
５４８４、５４８６・・・照合用データ片  
【図１】
2010072740.tif 000003
【図２】
2010072740.tif 000004
【図３】
2010072740.tif 000005
【図４】
2010072740.tif 000006
【図５】
2010072740.tif 000007
【図６】
2010072740.tif 000008
【図７】
2010072740.tif 000009
【図８】
2010072740.tif 000010
【図９】
2010072740.tif 000011
【図１０】
2010072740.tif 000012
【図１１】
2010072740.tif 000013
【図１２】
2010072740.tif 000014
【図１３】
2010072740.tif 000015
【図１４】
2010072740.tif 000016
【図１５】
2010072740.tif 000017
【図１６】
2010072740.tif 000018
【図１７】
2010072740.tif 000019
【図１８】
2010072740.tif 000020
【図１９】
2010072740.tif 000021
【図２０】
2010072740.tif 000022
【図２１】
2010072740.tif 000023
【図２２】
2010072740.tif 000024
【図２３】
2010072740.tif 000025
【図２４】
2010072740.tif 000026
【図２５】
2010072740.tif 000027
【図２６】
2010072740.tif 000028
【図２７】
2010072740.tif 000029
【図２８】
2010072740.tif 000030
【図２９】
2010072740.tif 000031
【図３０】
2010072740.tif 000032
【図３１】
2010072740.tif 000033
【図３２】
2010072740.tif 000034
【図３３】
2010072740.tif 000035
【図３４】
2010072740.tif 000036
【図３５】
2010072740.tif 000037
【図３６】
2010072740.tif 000038
【図３７】
2010072740.tif 000039
【図３８】
2010072740.tif 000040
【図３９】
2010072740.tif 000041
【図４０】
2010072740.tif 000042
【図４１】
2010072740.tif 000043
【図４２】
2010072740.tif 000044
【図４３】
2010072740.tif 000045
【図４４】
2010072740.tif 000046
【図４５】
2010072740.tif 000047
【図４６】
2010072740.tif 000048
【図４７】
2010072740.tif 000049
【図４８】
2010072740.tif 000050
【図４９】
2010072740.tif 000051
【図５０】
2010072740.tif 000052
【図５１】
2010072740.tif 000053
【図５２】
2010072740.tif 000054
【図５３】
2010072740.tif 000055
【図５４】
2010072740.tif 000056
【図５５】
2010072740.tif 000057