(57)【要約】【課題】ネットワークに接続されたコンピュータ装置間で、個々の空き容量を利用した低コストのデータ保存技術を提供する。【解決手段】ユーザＰＣ１０のバックアップクライアント（ＢＣ）１４は、ユーザからファイルのバックアップ指示を受けると、バックアップ管理サーバ２０にバックアップを要求する。バックアップ管理サーバ２０は、バックアップ対象のファイルを複数に分割して暗号化し、この結果できた各暗号化ピースをＬＡＮ３０上の各ユーザＰＣ１０に転送してそのＨＤＤ１２に格納させる。このように分散バックアップしたファイルを取り出す際には、ユーザＰＣ１０は、各暗号化ピースの格納先のユーザＰＣ１０からそれぞれ暗号化ピースを取得し、それらを組み合わせて復号することで、元のファイルを復元する。【選択図】　　　　図１
2004102842.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のコンピュータ装置に対してデータ格納サービスを提供する分散格納制御装置であって、
いずれかのコンピュータ装置から格納対象データの格納指示を受けた場合に、前記各コンピュータ装置の記憶装置の状態を確認し、その格納対象データを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成する格納制御手段と、
いずれかのコンピュータ装置から格納対象データの取出指示を受けた場合に、その格納対象データの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元の格納対象データを復元し、復元した格納対象データを取出指示元のコンピュータ装置に提供する取出制御手段と、
を備える分散格納制御装置。
【請求項２】
請求項１記載の分散格納制御装置であって、
前記格納制御手段は、前記分割暗号化の処理において、格納対象データを分割した各ピースのそれぞれ一部を欠落させ、この欠落の結果残った部分からそれぞれ前記暗号化ピースを生成するとともに、各ピースから欠落させた部分のデータを前記ネットワーク上の所定の格納場所に保管し、
前記取出制御手段は、前記欠落させた部分のデータを前記所定の格納場所から取得し、各コンピュータ装置から取得した暗号化ピース群に前記欠落させた部分のデータを合わせて元の格納対象データを復元することを特徴とする分散格納制御装置。
【請求項３】
請求項１記載の分散格納制御装置であって、
前記格納制御手段は、前記各コンピュータ装置の地理的な配置場所を示す配置情報を有し、この配置情報に基づき、前記各暗号化ピースの格納先とするコンピュータ装置を、地理的に分散するように選択することを特徴とする分散格納制御装置。
【請求項４】
請求項１記載の分散格納制御装置であって、
前記格納制御手段は、いずれかのコンピュータ装置から前記暗号化ピースの移動要求を受けた場合に、他の各コンピュータ装置の記憶装置の状態を確認し、この確認の結果に基づきそれら他のコンピュータ装置の中から該ピースを格納するコンピュータ装置を移動先に選択し、移動要求の発行元のコンピュータ装置から移動先のコンピュータ装置に対してその暗号化ピースを移動し、その暗号化ピースに対応する格納対象データについての前記格納先情報をその移動に応じて修正する、
ことを特徴とする分散格納制御装置。
【請求項５】
請求項１記載の分散格納制御装置であって、前記複数のコンピュータ装置のいずれかに組み込まれることを特徴とする分散格納制御装置。
【請求項６】
請求項５記載の分散格納制御装置であって、
当該分散格納制御装置が組み込まれたコンピュータ装置上で実行されるプログラムからファイルの格納指示を受けた場合、そのファイルの所定の一部分を当該コンピュータ装置内の記憶装置に保存し、残りの部分を格納対象データとして前記格納制御手段に格納指示を発行するファイル格納手段と、
当該分散格納制御装置が組み込まれたコンピュータ装置上で実行されるプログラムから、前記ファイル格納手段にて格納指示を受けたファイルについての読み出し指示を受けた場合、そのファイルの所定の一部分を当該コンピュータ装置内の記憶装置から読み出してそのプログラムに供給し、残りの部分に対応する格納対象データの取出指示を前記取出制御手段に発行し、これにより前記取出制御手段が復元した格納対象データをそのプログラムに供給するファイル取出手段と、
を更に備える分散格納制御装置。
【請求項７】
請求項６記載の分散格納制御装置であって、
前記ファイル取出手段が前記所定の一部分を前記記憶装置から読み出してそのプログラムに供給している間に、前記取出制御手段により前記残りの部分に対応する格納対象データの復元が行われることを特徴とする分散格納制御装置。
【請求項８】
ネットワークに接続されるコンピュータ装置であって、
前記ネットワークを介して要求元装置から送られてきた状態問合せに応じて、自装置内の記憶装置の空き容量の情報を含んだ応答を返す手段と、
前記ネットワークを介して前記要求元装置から送信されてきたデータを前記記憶装置に格納する手段と、
前記ネットワークを介して前記要求元装置から送られてきたデータ取出要求に応じて、その取出要求に係るデータを前記記憶装置から読み出して前記要求元装置に送信する手段と、
を備えるコンピュータ装置。
【請求項９】
請求項８記載の装置であって、
前記記憶装置の空き容量を監視し、その空き容量が不足であるか否かを判定し、前記記憶装置の空き容量が不足であると判定した場合に、格納した暗号化ピースの移動要求を、前記要求元装置に対して発行する手段、
を更に備えるコンピュータ装置。
【請求項１０】
ネットワークに接続された複数のコンピュータ装置と、
前記ネットワークに接続された格納制御手段であって、クライアント装置から格納対象データの格納指示を受けた場合に、前記各コンピュータ装置の記憶装置の状態を確認し、その格納対象データを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成する格納制御手段と、
前記ネットワークに接続された取出制御手段であって、クライアント装置から格納対象データの取出指示を受けた場合に、その格納対象データの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元の格納対象データを復元し、前記クライアント装置に提供する取出制御手段と、
を含む分散格納システム。
【請求項１１】
請求項１０記載のシステムであって、
前記各コンピュータ装置は、前記ネットワークを介した起動指示に応じて自装置の電源を投入する電源制御手段を備え、
前記取出制御手段は、前記格納先情報から特定したコンピュータ装置の中で電源が切断されているものがあった場合にそのコンピュータ装置の電源制御手段に対して起動指示を送信する起動指示送信手段を備える、
ことを特徴とする分散格納システム。
【請求項１２】
請求項１０記載のシステムであって、
前記コンピュータ装置は、前記記憶装置の空き容量を監視し、その空き容量が不足であるか否かを判定し、前記記憶装置の空き容量が不足であると判定した場合に、格納した暗号化ピースの移動要求を前記格納制御手段に対して発行し、
前記格納制御手段は、前記コンピュータ装置から前記暗号化ピースの移動要求を受けた場合に、他の各コンピュータ装置の記憶装置の状態を確認し、この確認の結果に基づきそれら他のコンピュータ装置の中から該ピースを格納するコンピュータ装置を移動先に選択し、移動要求の発行元のコンピュータ装置から移動先のコンピュータ装置に対してその暗号化ピースを移動し、その暗号化ピースに対応する格納対象データについての前記格納先情報をその移動に応じて修正する、
ことを特徴とする分散格納システム。
【請求項１３】
請求項１０記載のシステムであって、
前記格納制御手段及び前記取出制御手段は、前記複数のコンピュータ装置の少なくとも１つに組み込まれていることを特徴とする分散格納システム。
【請求項１４】
ネットワークに接続された複数のコンピュータ装置に対してデータ格納サービスを提供する分散格納制御方法であって、
格納対象データの格納指示を受けた場合に、前記各コンピュータ装置の記憶装置の状態を確認し、その格納対象データを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成し、
格納対象データの取出指示を受けた場合に、その格納対象データの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元の格納対象データを復元する、
分散格納制御方法。
【請求項１５】
ネットワークに接続され、データの分散格納サービスに供されるコンピュータ装置の制御方法であって、
前記ネットワークを介して要求元装置から送られてきた状態問合せに応じて、自装置内の記憶装置の空き容量の情報を含んだ応答を返すステップと、
前記ネットワークを介して前記要求元装置から送信されてきたデータを前記記憶装置に格納するステップと、
前記ネットワークを介して前記要求元装置から送られてきたデータ取出要求に応じて、その取出要求に係るデータを前記記憶装置から読み出して前記要求元装置に送信するステップと、
を含む方法。
【請求項１６】
ネットワークに接続された複数のコンピュータ装置と、前記ネットワークに接続された格納制御手段及び取出制御手段から構成される分散格納システムの制御方法であって、
前記格納制御手段が、クライアント装置から格納対象データの格納指示を受けた場合に、前記各コンピュータ装置の記憶装置の状態を確認し、その格納対象データを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成するステップと、
前記取出制御手段が、クライアント装置から格納対象データの取出指示を受けた場合に、その格納対象データの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元の格納対象データを復元し、前記クライアント装置に提供するステップと、
を含む方法。
【請求項１７】
ネットワークに接続されたコンピュータシステムに、
データの格納指示を受けた場合に、前記ネットワーク上の所定の複数のコンピュータ装置の各々の記憶装置の状態を確認し、そのデータを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成する格納制御ステップと、
データの取出指示を受けた場合に、そのデータの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元のデータを復元する取出制御ステップと、
を実行させるためのプログラム。
【請求項１８】
ネットワークに接続されたコンピュータシステムに、
前記ネットワークを介して要求元装置から送られてきた状態問合せに応じて、自装置内の記憶装置の空き容量の情報を含んだ応答を返すステップと、
前記ネットワークを介して前記要求元装置から送信されてきたデータを前記記憶装置に格納するステップと、
前記ネットワークを介して前記要求元装置から送られてきたデータ取出要求に応じて、その取出要求に係るデータを前記記憶装置から読み出して前記要求元装置に送信するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを利用したデータ格納の技術に関する。
【０００２】
【従来の技術及びその課題】
近年のコンピュータ技術の進展と相まって、アプリケーションが取り扱うデータの大規模化が進んでいる。このため、データのバックアップには、ＭＯ（光磁気ディスク）やＣＤ−Ｒ／ＲＷなどの大容量メディアを用いるなど、コストや労力を要する。また、格納するデータの安全性を高める方式として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙｓ　ｏｆ　Ｉｎｄｅｐｅｎｄｅｎｔ　Ｄｉｓｋｓ）によるミラーリングやエラー訂正を実装したディスクアレイシステムが普及しているが、これにもかなりのコストを要する。
【０００３】
この一方で、近年のハードディスクドライブ（以下、ＨＤＤと略す）の大容量化は著しいものがあり、パーソナルコンピュータ（以下、ＰＣと略す）でも数十Ｇバイトの容量のＨＤＤを搭載しているものが少なくない。しかし、搭載したＨＤＤ容量をすべて使い切ることはまれであり、一般的にはＨＤＤ容量のかなりの部分は実質的には利用されていない。例えば数千台、数万台のＰＣが社内ネットワークに接続されている大企業では、全体としてテラバイトオーダーに及ぶ容量が社内ネットワーク上に遊休状態で存在することになる。
【０００４】
本発明は、このような状況に鑑みなされたものであり、ネットワークに接続されたコンピュータ装置間で、個々の空き容量を利用した低コストのデータ保存技術を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明に係る装置は、ネットワークに接続された複数のコンピュータ装置に対してデータ格納サービスを提供する分散格納制御装置であって、いずれかのコンピュータ装置からデータの格納指示を受けた場合に、前記各コンピュータ装置の記憶装置の状態を確認し、そのデータを複数の暗号化ピースへと分割暗号化し、前記各暗号化ピースごとに、前記確認の結果に基づき前記複数のコンピュータ装置の中から該ピースを格納するコンピュータ装置を選択し、選択した各コンピュータ装置に対しそれぞれ対応する暗号化ピースを転送して格納させ、それら各暗号化ピースをいずれのコンピュータ装置に格納したかを示す格納先情報を作成する格納制御手段と、いずれかのコンピュータ装置からデータの取出指示を受けた場合に、そのデータの各暗号化ピースを格納したコンピュータ装置を前記格納先情報を参照して特定し、それら各コンピュータ装置からそれぞれ暗号化ピースを取得し、それら各暗号化ピースに基づき元のデータを復元し、復元したデータを取出指示元のコンピュータ装置に提供する取出制御手段と、を備える。
【０００６】
ここで、分割暗号化とは、データを、暗号化された複数のピース（暗号化ピース）の組へと変換する処理である。したがって、分割暗号化には、データを複数に分割してからそれぞれ暗号化する処理や、データを暗号化してから複数に分割する処理等が含まれる。
【０００７】
この装置によれば、各コンピュータ装置の記憶装置に対してデータを分散して安全に格納することができる。
【０００８】
本発明の好適な態様では、前記格納制御手段は、前記分割暗号化の処理において、格納対象のデータを分割した各ピースのそれぞれ一部を欠落させ、この欠落の結果残った部分からそれぞれ前記暗号化ピースを生成するとともに、各ピースから欠落させた部分のデータを前記ネットワーク上の所定の格納場所に保管し、前記取出制御手段は、前記欠落部分データを前記所定の格納場所から取得し、各コンピュータ装置から取得した暗号化ピース群に前記欠落させた部分のデータを合わせて元のデータを復元する。
【０００９】
この態様では、各コンピュータ装置に分散される暗号化ピース自体の一部のデータが欠落しているので、万が一暗号化ピースを復号できたとしても、そのピース全体のデータ内容を知ることができない。このため、分散する場合のデータ漏洩のリスクを軽減できる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１１】
図１は、本発明の一実施形態のファイルバックアップシステムの構成を示す図である。この実施形態のシステムは、ＬＡＮ３０に接続された複数のユーザＰＣ１０とバックアップ管理サーバ２０とを含んでいる。ユーザＰＣ１０は、それぞれ固定ディスク装置としてＨＤＤ１２を備えると共に、バックアップクライアントソフトウエア（以下ＢＣと略す）１４を備えている。また、各ユーザＰＣ１０は、ＷＯＬ（Ｗａｋｅ　Ｏｎ　ＬＡＮ）機能を備えており、ＬＡＮ３０を介して入力される外部からの起動指示に応じて電源投入（電源オン操作）が可能となっている。
【００１２】
ＢＣ１４は、ユーザＰＣ１０においてバックアップのための処理を行う手段である。バックアップ管理サーバ２０は、各ユーザＰＣ１０のＢＣ１４からのバックアップ要求に応じ、各ユーザＰＣ１０のＨＤＤ１２の空き容量を利用して、要求されたファイルのバックアップ格納を行う。
【００１３】
本実施形態のシステムでは、バックアップ格納対象のファイルを複数のピースに分割し、複数のユーザＰＣ１０に分散して格納する。しかも、各ユーザＰＣ１０に分散格納する各ピースに暗号化等の秘匿処理を施すことで、データ漏洩の危険性を低減する。
【００１４】
図２は、このシステムにおける分散バックアップ処理の流れを示す図である。この処理では、まずいずれかのユーザＰＣ１０にて、ＢＣ１４がユーザからファイルのバックアップ指示を受けると（Ｓ１０）、このＢＣ１４はバックアップ管理サーバ２０に対してバックアップ要求を送る（Ｓ１２）。この要求には、バックアップ対象のファイル自体、又はそのファイルにアクセスするための情報（ファイル格納場所のパス情報など）が含まれる。
【００１５】
これを受け取ったバックアップ管理サーバ２０は、ＬＡＮ３０を経由して各ユーザＰＣ１０のＢＣ１４に対して、状態の問い合わせを行う（Ｓ２０）。これに対し、各ユーザＰＣ１０のＢＣ１４は、この問い合わせに応じ、自装置のＨＤＤ１２の空き容量の情報を含む状態情報をバックアップ管理サーバ２０に対して応答する（Ｓ３０）。なお、電源がオフ（ＯＦＦ）になっているユーザＰＣ１０は、この問い合わせに対して応答できないので、バックアップ管理サーバ２０で電源オフ中のユーザＰＣ１０を見つけることができる。この応答を受けたバックアップ管理サーバ２０は、どのユーザＰＣ１０がファイルの分散格納先として利用できるかを判断できる。
【００１６】
ステップＳ２０の問合せにより、ＬＡＮ３０上のすべてのユーザＰＣ１０の状態を把握すると、バックアップ管理サーバ２０は、バックアップ対象のファイルに対して分割暗号化処理を施す（Ｓ２２）。分割暗号化処理では、バックアップ対象のファイルを、暗号化された複数のピース（暗号化ピース）の組合せに変換する。
【００１７】
この分割暗号化処理の処理の一例を図３を参照して説明する。この処理では、バックアップ管理サーバ２０は、まずバックアップ対象データ１００を所定のデータ圧縮アルゴリズムに従って圧縮する（Ｓ２００）。次にその圧縮によって生成された圧縮データ１０５をｍ個（ｍは２以上の整数）のピース１１０（Ｐ１，Ｐ２，・・・，Ｐｍ）に分割する（Ｓ２０２）。分割するピースの個数ｍは、あらかじめ定めた固定値であってもよいし、バックアップ対象のファイルのサイズや、ファイルの分散格納先として利用できるユーザＰＣ１０の数などに基づいて決めるようにしてもよい。
【００１８】
次に、分割した各ピース１１０（Ｐ１，Ｐ２，・・・，Ｐｍ）から、それぞれその一部のデータ部分１１２を欠落させる（Ｓ２０４）。各ピース１１０から欠落させたデータ部分１１２は、欠落元のピースの番号に応じた順序で配列され、欠落分データ１３０として一つにまとめられる。
【００１９】
次にバックアップ管理サーバ２０は、欠落処理（Ｓ２０４）によってできた欠落済みの各ピース１１５（Ｐ１’，Ｐ２’，・・・，Ｐｍ’）に対し、データ圧縮及び暗号化処理を施す（Ｓ２０６）。この結果生成された暗号化ピース１２０（Ｐ１”，Ｐ２”，・・・，Ｐｍ”）が、各ユーザＰＣ１０に分散して格納されることとなる。また、欠落分データ１３０に対しても圧縮・暗号化処理を施す。この結果できた暗号化データ１３５（Ｐｘ）は、バックアップ管理サーバ２０に保存する。
【００２０】
なお、ピースの一部欠落処理（Ｓ２０４）は、欠落させる場所やサイズを固定としておけば、後のデータ取出処理の際に容易に各ピースの欠落部分を復元できるが、その代わりにセキュリティは弱くなる。そこで、バックアップ処理の都度、欠落処理の方式（欠落場所や欠落サイズなど）を変更することも好適である。この場合、バックアップ管理サーバ２０は、バックアップを行った各ファイルごとに、どのような欠落処理方式を用いたかを記憶しておけばよい。
【００２１】
このようにして分割暗号化処理（Ｓ２２）が完了すると、バックアップ管理サーバ２０は、ステップＳ２０の問合せの結果に基づき、各暗号化ピース１２０の格納先とするユーザＰＣ１０を選択する（Ｓ２４）。このとき、電源オフ状態のユーザＰＣ１０や、ＨＤＤ１２の空き容量が暗号化ピース１２０のサイズより小さいユーザＰＣ１０は、格納先には選ばない。どの暗号化ピース１２０をどのユーザＰＣ１０に格納するかは、例えばランダムに決めればよい。各暗号化ピース１２０をそれぞれ別々のユーザＰＣ１０に格納するようにしてもよいが、これに限るものではない。格納先を固定的なルールに従って決めるようにしてもよいが、上記のようにランダムに決めるようにすることで、どの暗号化ピースがどのユーザＰＣ１０に格納されているか、第三者の推測を困難にすることができる。バックアップ管理サーバ２０は、このようにして決めた各格納先のユーザＰＣ１０のＢＣ１２に対して、それぞれ対応する暗号化ピース１２０を転送し、格納させる（Ｓ２６）。また、バックアップ管理サーバ２０は、欠落分の暗号化データ１３５を自身のディスクスペースに格納する。
【００２２】
各ＢＣ１４は、それぞれ受け取った暗号化ピース１２０を自装置のＨＤＤ１２に格納し（Ｓ３２）、格納が完了するとその旨をバックアップ管理サーバ２０に通知する。
【００２３】
すべての暗号化ピース１２０の格納が完了すると、バックアップ管理サーバ２０は、バックアップ対象のファイルのどの暗号化ピースをどのユーザＰＣ１０に格納したかを示す格納先マップを作成し、これを記憶する（Ｓ２８）。そして、バックアップ依頼元のＢＣ１４に対して、バックアップ完了通知を送信する（Ｓ２９）。これにより、依頼元のＢＣ１４は、ユーザＰＣ１０にバックアップ完了の旨を示すメッセージを表示し、バックアップの処理を終了する（Ｓ１４）。
【００２４】
次に、図４を参照して、分散バックアップしたファイルを取り出す際の処理を説明する。
【００２５】
この処理では、まずいずれかのユーザＰＣ１０にて、ＢＣ１４がバックアップしたファイルの取出指示をユーザから受けると（Ｓ４０）、このＢＣ１４はバックアップ管理サーバ２０に対してファイル取出要求を送る（Ｓ４２）。この要求には、取出対象のファイルを示す識別情報などが含まれる。なお、各ユーザＰＣ１０のＢＣ１４は、ユーザからの指示に応じて分散バックアップしたファイルのリストを記憶しているので、ファイル取出の際にはそのリストをユーザＰＣ１０の画面に表示し、その中でユーザが取り出したいものを選択する構成とすることもできる。
【００２６】
これを受け取ったバックアップ管理サーバ２０は、取出対象のファイルに対応する格納先マップを調べてそのファイルの各暗号化ピースの格納先のＢＣ１４を特定し（Ｓ５０）、これら各格納先に対してＬＡＮ３０を経由して状態の問い合わせを行う（Ｓ５２）。この問い合わせを受けた各ＢＣ１４は、自装置が起動している場合は応答を返す（Ｓ７０）。
【００２７】
バックアップ管理サーバ２０は、応答がない格納先は電源がオフ状態であると判断し（Ｓ５４）、その格納先に対しＬＡＮ３０を介して起動指示を送り（Ｓ５６）、その所定時間経過後に再度状態問合せをその格納先に送信して起動を確認する。この起動指示を受けたユーザＰＣ１０は、ＷＯＬ機能により電源が投入する（Ｓ７２）。
【００２８】
バックアップ管理サーバ２０は、このようにして起動していることを確認した各格納先のＢＣ１４に対し、格納先マップを参照して、各格納先に格納した暗号化ピースを要求するメッセージを送信する（Ｓ５８）。この要求を受けた格納先のＢＣ１４は、要求された暗号化ピースをバックアップ管理サーバ２０に対して転送する（Ｓ７４）。
【００２９】
バックアップ管理サーバ２０は、このようにして取出対象のファイルから生成したすべての暗号化ピースを各格納先から取得すると、これら暗号化ピース群と、このファイルに対応する欠落分データの暗号化データ１３５とから、分割暗号化処理と逆の処理を行うことで、取出対象のファイルを復元する（Ｓ６０）。そして、バックアップ管理サーバ２０は、復元したファイルを、ファイル取出の要求元のＢＣ１４に対して提供する（Ｓ６２）。要求元のＢＣ１４はこのファイルを取得し、ユーザに対してファイル取出が完了した旨を通知する（Ｓ４４）。これにより、分散バックアップしたファイルを復元することができる。
【００３０】
以上のようにして、システムを構成するユーザＰＣ１０からの要求に応じ、ファイルの分散バックアップがなされる。
【００３１】
なおユーザＰＣ１０においては、分散バックアップに対する容量提供の結果、ユーザから通常のファイル保存の指示がなされた時に容量が足りなくなる場合もあり得る。このような場合、保存している暗号化ピースを他のユーザＰＣ１０に移動することで、ファイル保存用の容量を確保する構成とすることも好適である。この処理の流れを図５を参照して説明する。
【００３２】
この処理例では、ユーザＰＣ１０のオペレーティングシステムは、当該ＰＣ１０のＨＤＤ１２の空き容量を監視しており、ユーザ指示やアプリケーションの処理などに応じて容量不足が生じないかどうか判定している（Ｓ８０）。また、この判定は、例えばＢＣ１４自身がＨＤＤ１２の空き容量を定期的に監視したり、ＢＣ１４がＨＤＤ１２の空き容量を監視するプログラムを定期的に起動したりして、これにより得た空き容量があらかじめ設定した下限量以下になったかどうかを判断するなどの処理でもよい。この判定により、容量不足と判定した場合、当該ＰＣ１０内のＢＣ１４に対して解放すべき容量を通知して、ＨＤＤ容量解放を要求する。これを受けたＢＣ１４は、自分が管理しているＨＤＤ１２内の暗号化ピース群の中から、要求された解放量を満たすだけの暗号化ピースを選択し（Ｓ８２）、それら選択したピース群の移動をバックアップ管理サーバ２０に要求する（Ｓ８４）。この移動要求には、各暗号化ピースのデータそのもの、又はそのデータにアクセスするためのアドレス等の情報が含まれている。この移動要求を受けたバックアップ管理サーバ２０は、他の各ＢＣ１４に状態を問い合わせ（Ｓ８６）、各ＢＣ１４はその問い合わせに応じて各々の空き容量等の状態情報を返す（Ｓ８８）。この状態応答を受けた管理サーバ２０は、それら各ＢＣ１４の空き容量等の情報に基づいて、移動を要求された各暗号化ピースの移動先を選択し（Ｓ９０）、各暗号化ピースをそれぞれ移動先のＢＣ１４に転送する（Ｓ９２）。暗号化ピースの転送を受けた各ＢＣ１４は、そのピースを自ＰＣ２０内のＨＤＤ１２に格納し（Ｓ９４）、格納が成功するとその旨をバックアップ管理サーバ２０に通知する。この通知を受けたバックアップ管理サーバ２０は、上記の移動に従って格納先マップを修正する。すなわち、移動対象の暗号化ピースの移動先のＢＣ１４を新たな格納先として、格納先マップを更新する（Ｓ９６）。この場合、移動した暗号化ピース群は複数のファイルにまたがる場合もあり、その場合は、各ファイル毎の格納先マップが修正されることとなる。
【００３３】
以上、図１に例示したシステムの構成及び動作を説明した。このシステムによれば、ＬＡＮ３０に接続された複数のユーザＰＣ１０のＨＤＤ１２の空き容量にファイルを分散してバックアップできるので、１つのユーザＰＣ１０にバックアップできない大きいサイズのファイルもバックアップできる。またこのシステムでは、ユーザＰＣ１０に分散して格納される暗号化ピースは暗号化処理されているので、第三者がそれをのぞき見ようとしても、内容を知ることは極めて困難である。さらには、各暗号化ピースは、一部分が欠落されているので、暗号化ピースの復号が困難であり、仮に復号できたとしてもそのピース全体の内容を知ることはできない。
【００３４】
このように、本実施形態では、個々のユーザＰＣ１０の空き容量を有効利用して、大きいファイルを安全にバックアップ保存することができる。
【００３５】
なお、上記の例では、ＬＡＮ３０上のすべてのユーザＰＣ１０が、バックアップのためのディスク容量の提供し、分散バックアップのサービスを受けることができたが、これは必須のことではない。例えば、ディスク容量を提供せずバックアップサービスのみを受けるユーザＰＣや、その逆のユーザＰＣが存在してもよい。
【００３６】
以上のシステムは、ＬＡＮ３０に接続されたユーザＰＣ１０群で分散バックアップ処理を実現するものであったが、本発明は、この他にもインターネットに接続されたコンピュータ群にも適用することができる。
【００３７】
図６は、インターネットを介したコンピュータ間で分散バックアップを実現するシステム構成例を示している。この例では、インターネット７０に接続された複数のクライアント装置４０が、自分のＨＤＤ４２の空き容量を提供し、分散バックアップのサービスを受ける。各クライアント装置４０に設けられたバックアップ管理部４４は、前述の実施例のバックアップクライアント１４の機能と、バックアップ管理サーバ２０の機能とを併せ持つものとなっている。すなわち、バックアップ管理部４４は、ユーザからバックアップ指示を受け付ける機能、バックアップ対象のファイルを分割暗号化して複数のクライアント装置４０に分散格納するための機能、複数のクライアント装置４０に分散格納した暗号化ピースを収集して元のファイルを復元する機能を備える。
【００３８】
中継サーバ５０は、クライアント装置４０同士の間で暗号化ピースを転送する際の中継場所を提供するサーバである。中継サーバ５０としては、例えばｆｔｐ（ｆｉｌｅ　ｔｒａｎｓｆｅｒ　ｐｒｏｔｏｃｏｌ）サーバを用いることができる。中継サーバ５０はインターネット７０上に複数存在してもよい。この場合、バックアップ管理部４４は、それら複数の中継サーバ５０の中から適宜アップロード先を選択することができる。
【００３９】
ネットワーク管理サーバ６０は、このシステムに参加する各クライアント装置４０や中継サーバ５０の情報を管理するサーバであり、例えば各クライアント装置４０や中継サーバ５０のアドレス情報（例えばＩＰアドレス）などを保持している。各クライアント装置４０のバックアップ管理部４４は、定期的にネットワーク管理サーバ５０にアクセスし、他のクライアント装置４０や中継サーバ５０のアドレス情報を取得する。これにより、各クライアント装置４０は、最新のシステム構成を把握し、それに応じて分散バックアップ処理を行うことができる。
【００４０】
図７を参照して、図６のシステムにおけるバックアップ処理の流れを説明する。この処理では、まずいずれかのクライアント装置４０にて、バックアップ管理部４４がユーザからファイルのバックアップ指示を受けると（Ｓ１００）、このバックアップ管理部４４は、インターネット７０上の他のクライアント装置４０に対して状態の問い合わせを行う（Ｓ１０２）。この問い合わせを受けた各クライアント装置４０のバックアップ管理部４４は、自装置のＨＤＤ４２の空き容量の情報を含む状態情報を問い合わせ元に対して応答する（Ｓ１２０）。
【００４１】
バックアップ要求元のバックアップ管理部４４は、バックアップ対象のファイルを例えば図３に例示した方法で分割暗号化して複数の暗号化ピースを生成する（Ｓ１０４）。このとき、欠落分データ１３０を暗号化した暗号化データ１３５を、自装置４０のＨＤＤ４２に格納する。なお、この暗号化データ１３５をネットワーク管理サーバ６０等、インターネット７０上の装置に別途格納することで、仮にバックアップ要求元のクライアント装置４０に記憶した暗号化データ１３５が使用できない場合でも、ファイルの復元を行うことができる。
【００４２】
そして、バックアップ要求元のバックアップ管理部４４は、ステップＳ１０２の問い合わせに対する他の各クライアント装置４０からの応答に基づき、各暗号化ピースごとにその格納先を選択する（Ｓ１０６）。そして、暗号化ピースを中継サーバ５０にアップロードし（Ｓ１０８）、そのピースの格納先に対してダウンロード要求を送る（Ｓ１１０）。このダウンロード要求には、アップロードした暗号化ピースにアクセスするための情報（例えばその暗号化ピースのＵＲＬなど）が含まれる。このステップＳ１０８及びＳ１１０の処理をすべての暗号化ピースについて実行する。
【００４３】
ダウンロード要求を受けたクライアント装置４０のバックアップ管理部４４は、その要求に従って中継サーバ５０から暗号化ピースをダウンロードする（Ｓ１２２）。そして、ダウンロードが完了すると、バックアップ要求元のクライアント装置４０に対してダウンロード完了通知を送信する（Ｓ１２４）。
【００４４】
バックアップ要求元のバックアップ管理部４４は、バックアップ対象のファイルの各暗号化ピースがそれぞれどのクライアント装置４０に格納されたかを示す格納先マップを作成し、記憶する（Ｓ１１２）。これにより、一連の分散バックアップ処理が完了する（Ｓ１１４）。
【００４５】
次に図８を参照して、このようにして分散バックアップしたファイルを取り出す場合の処理を説明する。クライアント装置４０のバックアップ管理部４４は、その装置４０からバックアップしたファイルのリストを有しており、ユーザはこのリストにあるファイルを指定して取出指示を入力することができる。この指示を受けたバックアップ管理部４４は（Ｓ１３０）、そのファイルに対応する格納先マップから各暗号化ピースの格納先を特定し（Ｓ１３２）、それら各格納先に対して暗号化ピースの転送要求を行う（Ｓ１３４）。この転送要求を受けたクライアント装置４０のバックアップ管理部４４は、要求された暗号化ピースを中継サーバ５０にアップロードし（Ｓ１４０）、その暗号化ピースへのアクセスするための情報を含んだアップロード完了通知を、要求元のクライアント装置４０に送る（Ｓ１４２）。この完了通知を受けたクライアント装置４０は、中継サーバ５０にアクセスしてその通知に係る暗号化ピースをダウンロードする（Ｓ１３６）。このようにして、取出対象のファイルのすべての暗号化ピースを入手すると、欠落分データとこれら暗号化ピースとに基づき、分割暗号化の逆の処理を実行することで元のファイルを復元する（Ｓ１３８）。これにより、ファイル取出が完了する（Ｓ１３９）。
【００４６】
以上、インターネット７０を介した複数のクライアント装置４０間でのファイルの分散バックアップの仕組みを説明した。この仕組みでは、上述の図１のシステムと同様の効果が得られる他、暗号化ピースを転送する際に送り手及び受け手がそれぞれ能動的に中継サーバ５０に対して暗号化ピースのアップロード及びダウンロードを行う構成なので、各クライアント装置４０はデータ受信用のポートをインターネット７０に向けて常に開けておく必要はなく、外部からの侵入に対して強固なセキュリティを確保することができる。
【００４７】
なお、図６の例では、各クライアント装置４０が、図１の例におけるバックアップ管理サーバ２０の機能を果たしたが、これは必須のことではない。インターネット７０を介するシステム構成でも、バックアップ管理サーバ図１と同様のクライアント・サーバ構成を採ることができる。
【００４８】
また、以上説明したシステムの変形例として、各暗号化ピースを地理的に異なる位置のクライアント装置４０に分散して、冗長的に格納する仕組みも好適である。これは、ある１カ所のクライアント装置４０が天災その他の理由で使用不能になった時にも、ファイルが復元できるようにするための構成である。
【００４９】
この変形例では、各クライアント装置４０のバックアップ管理部４４には、他の各クライアント装置４０の地理的位置の情報を持たせる。地理的位置の情報は、クライアント装置４０が設置された建物の住所、あるいはその住所をコード化した情報などでよい。各クライアント装置４０の地理的位置の情報は、ネットワーク管理サーバ６０に登録しておき、各クライアント装置４０が随時その情報を取得できるようにすることも好適である。そして、バックアップ管理部４４は、分散バックアップを行う際には、例えば、各暗号化ピースごとに、地理的位置の異なる複数のクライアント装置４０に対して冗長的に格納させる。これにより、１つのクライアント装置４０が使用不能になっても、同じ暗号化ピースは他のクライアント装置４０から取得することが可能になる。また、別の方法として、ファイルを分割暗号化した際、それら暗号化ピース群について、（例えばビットごとの）パリティデータを生成し、そのパリティデータと各暗号化ピースを、それぞれ地理的に互いに位置が異なるクライアント装置４０に格納させる。これにより、１つのクライアント装置４０が使用不能になっても、他のクライアント装置４０に格納した情報から元のファイルを復元できる。
【００５０】
また、別の変形例として、図１に示したＬＡＮベースのシステムが複数個インターネット上に存在し、それら複数のシステムが１つの大きい分散バックアップシステムを構成する例も考えられる。この例では、図１のシステムのバックアップ管理サーバ２０がインターネットに接続される。各バックアップ管理サーバ２０は、自ドメイン内のユーザＰＣからバックアップ要求を受け付け、バックアップ対象のファイルを分割暗号化し、その結果できた暗号化ピース群を自ドメインだけでなく、インターネットを介して他のドメインにも分散する。この場合、暗号化ピース群を分散させる範囲をユーザ指定可能とすることも好適である。この場合、ユーザは、自分の希望に合わせて、暗号化ピース群の分散範囲を、自ドメイン内に限定したり、あるいは他のドメインまで広げたりするなどの指定が可能となる。他ドメインから暗号化ピースを受け取ったバックアップ管理サーバ２０は、その暗号化ピースを自装置のＨＤＤに格納したり、あるいは自己の属するドメイン内のユーザＰＣのＨＤＤに格納したりする。分散バックアップしたファイルの復元の際には、インターネットを介して分散した場合、分散先のドメインのバックアップ管理サーバ２０に暗号化ピースを要求すればよい。この要求を受けたサーバ２０は、自ドメイン内のユーザＰＣ又は自装置自体からその暗号化ピースを取り出し、要求元に提供する。
【００５１】
以上の例では、ファイル全体を分散バックアップする場合を例にとって説明したが、同様の構成でファイルを部分的にバックアップすることも可能である。例えば、バックアップ対象のデータが動画像データの場合、その動画像データのファイル全体を上記の方式で分散バックアップしてしまうと、分散バックアップしたデータから動画像を再生する場合に、元の動画像データを再構成するのに時間がかかり、再生開始が遅くなる場合も考えられる。そのような問題への対応としては、動画像データの先頭の所定時間分のデータをバックアップ要求元のユーザＰＣ１０自身に記憶しておき、残りの部分を上記の手法で分散バックアップすることが好適である。より具体的には、この方式では、ユーザＰＣ１０に、動画像データファイルへのアクセスのための仮想的なファイルＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）を提供するプログラムをインストールし、これを動作させておく。そして、この仮想的なファイルＡＰＩに対して、動画像データファイルの書込要求があった場合、このファイルＡＰＩは、対象となる動画像データの先頭所定時間分を当該ユーザＰＣ１０内に保存し、残りの部分の分散バックアップをバックアップクライアント１４に依頼する。これに応じ、バックアップクライアント１４は、その残りの部分の分散バックアップをバックアップ管理サーバ３０に依頼し、これにより上述のようにして分散バックアップが行われる。一方、上記仮想的なファイルＡＰＩに対し、動画再生アプリケーション等からファイルの読込要求があった場合、まずそのＡＰＩは、ユーザＰＣ１０内に保存した当該ファイルの先頭所定時間分のデータをストリームデータとしてそのアプリケーションに提供開始すると共に、バックアップクライアント１４に対し、当該ファイルの残りの部分のバックアップの復元を依頼する。これにより、そのアプリケーションが当該ユーザＰＣ１０に保持されている先頭所定時間分の動画像データを再生している間に、バックアップクライアント１４が分散バックアップした暗号化ピース群を収集して残り動画像データを再構成する。そして、ファイルＡＰＩは、バックアップクライアント１４が再構成した動画像データを、前述の先頭所定時間分の動画像データに対して切れ目なくつなげ、ストリームとして動画再生アプリケーションに与える。これにより、動画再生アプリケーションは、元の動画像データ全体を続けて再生することができる。この方式の場合、動画再生アプリケーションは、単にファイルＡＰＩを通じてファイルの書き込み、読み出しを行うだけでよく、特別な処理は何もしなくてよいので、既存のものをほぼそのまま利用できる。この方式によれば、膨大なサイズの動画像データの先頭部分のみをユーザＰＣ１０に保存し、残りをネットワーク上に保存する場合でも、動画再生開始時のタイムラグなく、動画再生を行うことができる。
【００５２】
以上、本発明の好適な実施形態を説明した。以上説明した実施形態はあくまで説明のためのものであり、本発明はその実施の形態に限られるものではない。例えば、上記実施形態ではファイルのバックアップを行うシステムを例示したが、本発明は、当業者には明白であるように、バックアップだけでなく、ファイルの保存一般に適用可能である。
【図面の簡単な説明】
【図１】本発明に係るシステムの構成を概略的に示す図である。
【図２】バックアップ時の処理手順の一例を示すフローチャートである。
【図３】分割暗号化の手順の一例を説明するための図である。
【図４】バックアップしたファイルを取り出す際の処理手順の一例を示すフローチャートである。
【図５】ユーザＰＣが容量不足になった時の処理の一例を示すフローチャートである。
【図６】本発明に係る別のシステムの構成を概略的に示す図である。
【図７】バックアップ時の処理手順の一例を示すフローチャートである。
【図８】バックアップしたファイルを取り出す際の処理手順の一例を示すフローチャートである。
【符号の説明】
１０　ユーザＰＣ（パーソナルコンピュータ）、１２　ＨＤＤ（ハードディスクドライブ）、１４　バックアップクライアント（ＢＣ）、２０　バックアップ管理サーバ、３０　ＬＡＮ。
【図１】
2004102842.tif 000003
【図２】
2004102842.tif 000004
【図３】
2004102842.tif 000005
【図４】
2004102842.tif 000006
【図５】
2004102842.tif 000007
【図６】
2004102842.tif 000008
【図７】
2004102842.tif 000009
【図８】
2004102842.tif 000010
【手続補正書】
【提出日】平成15年1月23日(2003.1.23)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2004102842.tif 000011