(57)【要約】【課題】  分散の規則性が破られる危険性が低く、データが盗聴され、改竄及び破壊等されることのない分散格納装置、分散格納システム、分散格納方法、分散格納プログラム及び記録媒体を提供する。【解決手段】  分散格納装置２は、格納先数列生成手段１３が格納先数列を生成し、分割データブロック数列生成手段１４が分割データブロック数列を生成し、制御手段１６が格納先数列及び分割データブロック数列による規則に基づいて、オリジナルデータを分割データブロック単位に格納装置３ａ〜３ｃにそれぞれ振り分けて分散させる。【選択図】  図１
2005215978.tif 000002
【特許請求の範囲】
【請求項１】
複数の格納装置にオリジナルデータを分割して分散格納する分散格納装置において、
前記オリジナルデータを記憶する記憶手段と、前記オリジナルデータを分割データブロックに分割する分割手段と、前記分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する格納先数列生成手段と、当該格納先数列生成手段により生成された格納先数列に基づいて、前記分割手段により分割された分割データブロックを格納装置に格納する制御手段とを備えたことを特徴とする分散格納装置。
【請求項２】
前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を、格納先数列に対応させて生成する分割データブロック数列生成手段を備え、
前記制御手段は、格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて、分割手段により分割された分割データブロックを格納装置に格納することを特徴とする請求項１に記載の分散格納装置。
【請求項３】
前記分割データブロック数列生成手段は、それぞれの格納装置における格納可能なデータ容量に基づいて分割データブロック数列を生成することを特徴とする請求項２に記載の分散格納装置。
【請求項４】
前記分割データブロック数列生成手段は、分割データブロック数が予め設定された上限値以下になるように分割データブロック数列を生成することを特徴とする請求項２に記載の分散格納装置。
【請求項５】
前記分割データブロック数列生成手段は、予め設定された格納装置毎の比率に基づいて分割データブロック数列を生成することを特徴とする請求項２に記載の分散格納装置。
【請求項６】
前記分割データブロック数列生成手段は、乱数に基づいて分割データブロック数列を生成することを特徴とする請求項２に記載の分散格納装置。
【請求項７】
前記格納先数列生成手段は、乱数に基づいて格納先数列を生成することを特徴とする請求項１から６までのいずれか一項に記載の分散格納装置。
【請求項８】
前記格納装置から読み出されたそれぞれの分割データブロックを、格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて元のオリジナルデータに再生する再生手段を備えたことを特徴とする請求項２から７までのいずれか一項に記載の分散格納装置。
【請求項９】
オリジナルデータを分割データブロックに分割する分散格納装置と、前記分割データブロックをそれぞれ格納する複数の格納装置とを備え、分散格納装置と複数の格納装置とが通信ネットワークを介して接続される分散格納システムにおいて、
分散格納装置は、前記オリジナルデータを記憶する記憶手段と、前記オリジナルデータを分割データブロックに分割する分割手段と、前記分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する格納先数列生成手段と、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を、格納先数列に対応させて生成する分割データブロック数列生成手段と、前記格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて、分割手段により分割された分割データブロックを格納装置に送信する制御手段とを備え、
格納装置は、前記分散格納装置から送信された分割データブロックを受信する受信手段と、当該分割データブロックを格納する格納手段とを備えたことを特徴とする分散格納システム。
【請求項１０】
複数の格納装置にオリジナルデータを分割して分散格納する分散格納方法において、
オリジナルデータを分割データブロックに分割し、当該分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成し、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を格納先数列に対応させて生成し、前記生成した格納先数列及び分割データブロック数列に基づいて分割データブロックを格納装置に格納することを特徴とする分散格納方法。
【請求項１１】
オリジナルデータを分割して複数の格納装置に分散格納する処理を、分散格納装置を構成するコンピュータに実行させる分散格納プログラムであって、
オリジナルデータを分割データブロックに分割する処理と、当該分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する処理と、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を格納先数列に対応させて生成する処理と、前記生成した格納先数列及び分割データブロック数列に基づいて分割データブロックを格納装置に格納する処理とを実行させることを特徴とする分散格納プログラム。
【請求項１２】
請求項１１に記載の分散格納プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの格納装置に関し、特に、秘匿性の高いデータを複数のデータベース等に分散して格納するための分散格納装置に関するものである。
【背景技術】
【０００２】
従来、データのバックアップやデータの格納を行う分散格納装置として、複数の外部センタに、高いセキュリティを維持した状態でデータを分散してアウトソーシングするものがある（特許文献１参照。）。この分散格納装置は、ネットワークを介して接続された２以上の格納装置（バックアップサイト）にオリジナルデータを分散格納する際、所定の理論によってオリジナルデータを２以上の分割データに分割し、当該分割データ毎に格納装置にそれぞれ転送するようにしたものである。ここで、所定の理論とは、例えば、オリジナルデータを分割する際に、オリジナルデータを所定のまとまり毎にローテイト分割することを意味する。このローテイト分割は、所定のデータのまとまり毎に設定されたパリティの数値に応じて、ローテイト方向を変更することを含む。
【０００３】
このように、従来の分散格納装置によれば、ストレージを備えた複数のサーバに、細かい単位で分割データを保存することにより、第三者が各サーバ内のストレージを参照した場合であっても、単体のストレージを参照しただけでは解読不可能なシステムを実現することができる。また、分散データが格納される各々の格納装置に対してパスワードを設定することにより、第三者による不正アクセスを防止することができる。
【０００４】
【特許文献１】特開２００３−２９６１７６号公報（段落〔０００９〕〜〔００１３〕、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の分散格納装置では、格納装置へのアクセスを許容するパスワードが推測等されてしまうことがあった。それにより、全ての格納装置が不正にアクセスされると、パリティ値に応じたローテイト方向の変更を含むローテイト分割による分散格納の規則性が破られてしまう可能性がある。この場合、格納されたデータが盗聴され、改竄及び破壊されてしまうという問題があった。
【０００６】
本発明は、上述した問題を解決するためになされたものであり、その目的は、全ての格納装置が不正にアクセスされたとしても、格納データの分散の規則性が破られる危険性が低く、データの盗聴、改竄及び破壊等を防止することができる分散格納装置、分散格納システム、分散格納方法、分散格納プログラム及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１の発明は、複数の格納装置にオリジナルデータを分割して分散格納する分散格納装置において、前記オリジナルデータを記憶する記憶手段と、前記オリジナルデータを分割データブロックに分割する分割手段と、前記分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する格納先数列生成手段と、当該格納先数列生成手段により生成された格納先数列に基づいて、前記分割手段により分割された分割データブロックを格納装置に格納する制御手段とを備えたことを特徴とする。これにより、第三者が全ての格納装置に不正アクセスしても、格納先数列を盗取しない限り、どの分割データブロックがどの格納装置に格納されているかを知り得ないため、分割データブロックを結合してオリジナルデータに再生することは困難である。それにより、オリジナルデータの分散の規則性が破られるのを防止することによって、オリジナルデータの盗聴、改竄及び破壊等されることを防止することができる。
【０００８】
請求項２の発明は、請求項１に記載の分散格納装置において、さらに、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を、格納先数列に対応させて生成する分割データブロック数列生成手段を備え、前記制御手段が、格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて、分割手段により分割された分割データブロックを格納装置に格納することを特徴とする。これにより、分割データブロック数列は格納先数列に対応して生成されるため、格納装置に格納される分割データブロックの数を、格納装置毎に異なるようにすることができる。また、分割データブロックのサイズを固定長とし、分割データブロック数列の各値を、分割データブロックの若番から数えて連続して何個単位で同一の格納装置へ格納するかを規定するものとした場合、実質的にオリジナルデータの分散格納のサイズが可変長となり、ランダム性を増すことができ、それによりオリジナルデータのどの部分がどの格納装置に格納されているかがより推測しにくくなる。従って、第三者が分割データブロックを結合してオリジナルデータに再生することはさらに困難になる。それにより、オリジナルデータの分散の規則性が破られるのを防止することによって、オリジナルデータの盗聴、改竄及び破壊等されることを、一層効果的に防止することができる。また、格納装置毎に異なる数の分割データブロックを分散格納できるから、例えば、格納装置のメモリ容量や使用状況等の各種事情を考慮した分散格納を実現できる。
【０００９】
請求項３の発明は、請求項２に記載の分散格納装置において、前記分割データブロック数列生成手段が、それぞれの格納装置における格納可能なデータ容量に基づいて分割データブロック数列を生成することを特徴とする。これにより、格納可能なデータ容量が同一の格納装置を用意する必要がなくなり、利便性を向上させることができる。
【００１０】
請求項４の発明は、請求項２に記載の分散格納装置において、前記分割データブロック数列生成手段が、分割データブロック数が予め設定された上限値以下になるように分割データブロック数列を生成することを特徴とする。これにより、分割データブロックは特定の格納装置に片寄ることがないから、複数の格納装置に分散させることができる。
【００１１】
請求項５の発明は、請求項２に記載の分散格納装置において、前記分割データブロック数列生成手段が、予め設定された格納装置毎の比率に基づいて分割データブロック数列を生成することを特徴とする。これにより、所望の量の分割データブロックを格納装置に分散させることができる。
【００１２】
請求項６の発明は、請求項２に記載の分散格納装置において、前記分割データブロック数列生成手段が、乱数に基づいて分割データブロック数列を生成することを特徴とする。これにより、乱数に従った任意の量の分割データブロックを格納装置に分散させることができ、それにより、オリジナルデータの分散格納のランダム性が増し、規則性を破られにくくできる。
【００１３】
請求項７の発明は、請求項１から６までのいずれか一項に記載の分散格納装置において、前記格納先数列生成手段が、乱数に基づいて格納先数列を生成することを特徴とする。これにより、乱数に従った任意の格納装置に分割データブロックを分散させることができ、それにより、オリジナルデータの分散格納のランダム性が増し、規則性を破られにくくできる。
【００１４】
請求項８の発明は、請求項２から７までのいずれかに記載の分散格納装置において、さらに、前記格納装置から読み出されたそれぞれの分割データブロックを、格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて元のオリジナルデータに再生する再生手段を備えたことを特徴とする。これにより、分割データブロックを結合して元のオリジナルデータに確実に再生することができる。
【００１５】
請求項９の発明は、オリジナルデータを分割データブロックに分割する分散格納装置と、前記分割データブロックをそれぞれ格納する複数の格納装置とを備え、分散格納装置と複数の格納装置とが通信ネットワークを介して接続される分散格納システムにおいて、分散格納装置が、前記オリジナルデータを記憶する記憶手段と、前記オリジナルデータを分割データブロックに分割する分割手段と、前記分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する格納先数列生成手段と、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を、格納先数列に対応させて生成する分割データブロック数列生成手段と、前記格納先数列生成手段により生成された格納先数列、及び分割データブロック数列生成手段により生成された分割データブロック数列に基づいて、分割手段により分割された分割データブロックを格納装置に送信する制御手段とを備え、格納装置が、前記分散格納装置から送信された分割データブロックを受信する受信手段と、当該分割データブロックを格納する格納手段とを備えたことを特徴とする。
【００１６】
請求項１０の発明は、複数の格納装置にオリジナルデータを分割して分散格納する分散格納方法において、オリジナルデータを分割データブロックに分割し、当該分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成し、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を格納先数列に対応させて生成し、前記生成した格納先数列及び分割データブロック数列に基づいて分割データブロックを格納装置に格納することを特徴とする。
【００１７】
請求項１１の発明は、オリジナルデータを分割して複数の格納装置に分散格納する処理を、分散格納装置を構成するコンピュータに実行させる分散格納プログラムであって、オリジナルデータを分割データブロックに分割する処理と、当該分割データブロックを格納する格納先を示す格納装置情報から成る格納先数列を生成する処理と、前記分割データブロックの個数を示す分割データブロック数から成る分割データブロック数列を格納先数列に対応させて生成する処理と、前記生成した格納先数列及び分割データブロック数列に基づいて分割データブロックを格納装置に格納する処理とを実行させることを特徴とする。
【００１８】
請求項１２の発明は、請求項１１に記載の分散格納プログラムを記録した記録媒体であることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、所定の数列に基づいて分割データブロックを格納装置に分散格納するようにしたから、第三者が全ての格納装置に不正アクセスしたとしても、格納データの分散の規則性が破られる危険性が低い。従って、データの盗聴、改竄及び破壊等を防止することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、図面を参照して説明する。
図１に、本発明の実施の形態に係る分散格納システム１のブロック図を示す。図１において、分散格納システム１は、オリジナルデータを記憶し、オリジナルデータを分割して分割データブロックを生成し、分割データブロックを分散して送信する分散格納装置２と、ネットワークを介して分散格納装置２とセキュアな状態で接続され、分散格納装置２により分散して送信された分割データブロックをそれぞれ格納する格納装置３ａ〜３ｃと、ネットワークを介して分散格納装置２とセキュアな状態で接続され、分散格納装置２により送信された分割データブロックのパリティを格納する格納装置４とを備えている。ここで、セキュアな状態とは、例えば、ＩＰＳｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等を利用することにより、情報の漏洩や改竄等を防止する安全な通信を行うことができる状態を意味する。
【００２１】
分散格納装置２は、記憶手段１１と、分割手段１２と、格納先数列生成手段１３と、分割データブロック数列生成手段１４と、数列管理手段１５と、制御手段１６と、パリティ生成手段１７と、再生手段１８と、通信手段１９とを備えている。
【００２２】
記憶手段１１は、オリジナルデータを記憶可能な記憶媒体により構成され、オリジナルデータを記憶する。ここで、オリジナルデータとは、以下の説明において物理的に所定長に区分けされたデータを意味する。尚、本発明において、オリジナルデータは、これに限定されるものではなく、論理的に区分けされたデータやファイル等であってもよい。
【００２３】
分割手段１２は、記憶手段１１からオリジナルデータを読み出し、オリジナルデータを、例えば、バイトの整数倍等の予め定められた固定長の分割データブロックに分割する。この長さは全オリジナルデータを通して一定とし、そのためオリジナルデータの全長が異なると、分割数Ｍも異なる。
【００２４】
格納先数列生成手段１３は、分割データブロックを格納する格納先の格納装置情報から成る数列を示す格納先数列を、乱数に基づいて生成する。また、数列管理手段１５は、格納先数列生成手段１３により生成された格納先数列を記憶管理する。
【００２５】
分割データブロック数列生成手段１４は、分割データブロックの個数を示し、分割データブロックの若番から数えて連続して何個単位で同一の格納装置へ格納するかを規定する分割データブロック数から成る分割データブロック数列を、格納先数列に対応させて乱数に基づいて生成する。また、数列管理手段１５は、分割データブロック数列生成手段１４により生成された分割データブロック数列を記憶管理する。尚、分割データブロック数列生成手段１４は、所定の範囲内で算出された乱数に基づいて、予め設定された上限値以下の分割データブロック数になるように分割データブロック数列を生成するようにしてもよい。この場合、分割データブロックは特定の格納装置に片寄って格納されることがなく、分散格納装置２は分割データブロックを適切に分散させることができる。また、分割データブロック数列生成手段１４は、格納装置３ａ〜３ｃに格納される分割データブロックの数が所望の比率になるように、分割データブロック数列を生成するようにしてもよい。例えば、それぞれの格納装置３ａ〜３ｃにおいて格納可能なデータ容量に従って比率を予め設定しておき、分割データブロック数列生成手段１４がその比率に基づいて分割データブロック数列を生成する。
【００２６】
数列管理手段１５は、格納先数列生成手段１３により生成された格納先数列、及び分割データブロック数列生成手段１４により生成された分割データブロック数列を記憶管理する。
【００２７】
制御手段１６は、格納先数列生成手段１３により生成され、数列管理手段１５により記憶管理されている格納先数列と、分割データブロック数列生成手段１４により生成され、数列管理手段１５により記憶管理されている分割データブロック数列とに基づいて、分割手段１２により分割された分割データブロックを格納装置３ａ〜３ｃ毎に振り分ける。そして、振り分けた分割データブロックを格納装置３ａ〜３ｃにそれぞれ送信して格納させるために、後述する通信手段１９を制御する。
【００２８】
パリティ生成手段１７は、制御手段１６により振り分けられた分割データブロック、すなわち格納装置３ａ〜３ｃに格納される分割データブロックに基づいてパリティを生成する。
【００２９】
再生手段１８は、後述する通信手段１９により受信された分割データブロックを、数列管理手段１５により記憶管理されている格納先数列及び分割データブロック数列に基づいてオリジナルデータに再生する。この場合、再生手段１８は、制御手段１６が分割データブロックを格納装置３ａ〜３ｃに格納する際に用いた格納先数列及び分割データブロック数列と同じ数列を用いて、データを再生する。
【００３０】
通信手段１９は、分割データブロックを格納装置３ａ〜３ｃに格納する場合には、分割データブロックを制御手段１６から入力し、格納装置３ａ〜３ｃにそれぞれ送信する。一方、分割データブロックからデータを再生する場合には、格納装置３ａ〜３ｃに格納された分割データブロックをそれぞれ受信する。また、通信手段１９は、パリティ生成手段１７からパリティを入力し格納装置４に送信し、格納装置４に格納されたパリティを受信する。
【００３１】
格納装置３ａ〜３ｃは、分散格納装置２から送信された分割データブロックを受信する図示しない受信手段と、受信した分割データブロックを格納する図示しない格納手段と、格納手段に格納された分割データブロックを分散格納装置２に送信する図示しない送信手段とをそれぞれ備えている。また、格納装置４は、分散格納装置２から送信されたパリティを受信する図示しない受信手段と、受信したパリティを格納する図示しない格納手段と、格納手段に格納されたパリティを分散格納装置２に送信する図示しない送信手段とを備えている。
【００３２】
次に、図２を参照して、図１に示した分散格納システム１を構成する分散格納装置２において、分割データブロックの送受信を行う論理について説明する。
まず、分散格納装置２が、分割データブロックを格納装置３ａ〜３ｃにそれぞれ送信して格納する場合について説明する。図２（ａ）に、分割手段１２により記憶手段１１から読み出されたオリジナルデータ２０と、分割された複数の分割データブロックｄ１〜ｄ１０とを示す。この図は、分割手段１２により、オリジナルデータ２０が予め定められた固定長の分割データブロックｄ１〜ｄ１０に分割され、オリジナルデータの全長と分割データブロックの単位長（固定長）との割合から、たまたま分割数Ｍ＝１０となっていることを示している。尚、分割データブロックｄ１〜ｄ１０の各番号は、本発明の実施の形態を説明するために付したものであり、ブロックの番号を示している。
【００３３】
格納先数列生成手段１３は、「格納先数列：Ｂ，Ａ，Ｃ，Ａ，Ｃ，Ｂ・・・」を生成し、分割データブロック数列生成手段１４は、「分割データブロック数列：１，２，３，１，１，２・・・」を生成し、数列管理手段１５は、これらの数列を記憶管理するものとする。この場合、制御手段１６は、分割手段１２から分割データブロックｄ１〜ｄ１０を入力し、数列管理手段１５からこれらの数列を入力する。そして、制御手段１６は、分割データブロック数列に対応する数の分割データブロックが、格納先数列に対応する格納装置３ａ〜３ｃにそれぞれ格納されるように、通信手段１９を制御する。ここで、上述した格納先数列及び分割データブロック数列は、１番目の格納先Ｂに１個の分割データブロックを格納し、２番目の格納先Ａにその次の２個の分割データブロックを格納し、３番目の格納先Ｃにその次の３個の分割データブロックを格納する等を意味する情報である。
【００３４】
図２（ｂ）に、分割データブロックｄ１〜ｄ１０が分散して格納された格納装置３ａ〜３ｃの状態を示す。格納先数列の１番目の情報であるＢに対応する格納装置３ｂには分割データブロックｄ１が格納され、格納先数列の２番目の情報であるＡに対応する格納装置３ａには分割データブロックｄ２，ｄ３が格納されている。同様にして、分割データブロックｄ４〜ｄ１０も格納装置３ａ〜３ｃに分散して格納されている。このように、分割データブロック数列の各値は、分割データブロックの若番から数えて連続して何個単位で同一の格納装置へ格納するかを規定する。従って、当該数列の各値の合計値は分割数Ｍに一致する。また、ｘ番目の格納先数列の値は、ｘ番目の分割データブロック数列の値で規定される個数の連続した分割データブロック群を、どの格納装置へ格納するかを規定する。
【００３５】
また、図２（ｂ）に、パリティ２２ａ〜２２ｆが格納された格納装置４の状態を示す。格納装置４の１番目のパリティデータには、格納装置３ａに格納される１番目の分割データブロックと格納装置３ｂに格納される１番目の分割データブロックとの間で算出されたパリティが格納され、格納装置４の２番目のパリティデータには、格納装置３ｂに格納される２番目の分割データブロックと格納装置３ｃに格納される１番目の分割データブロックとの間で算出されたパリティが格納され、格納装置４の３番目のパリティデータには、格納装置３ｃに格納される２番目の分割データブロックと格納装置３ａに格納される２番目の分割データブロックとの間で算出されたパリティが格納され、以下同様にして、格納装置４にパリティが格納されている。すなわち、パリティ２２ａは、格納装置３ａに格納される分割データブロックｄ２と格納装置３ｂに格納される分割データブロックｄ１との間で算出されパリティであり、パリティ２２ｂは、格納装置３ｂに格納される分割データブロックｄ９と格納装置３ｃに格納される分割データブロックｄ４との間で算出されパリティであり、パリティ２２ｃは、格納装置３ｃに格納される分割データブロックｄ５と格納装置３ａに格納される分割データブロックｄ３との間で算出されパリティである。尚、パリティ２２ｄ〜２２ｆについては、上記と同様に算出されたパリティであるため、その説明を省略する。
【００３６】
ここで、格納装置３ａ〜３ｃに格納される分割データブロックの格納数に片寄りがあり、パリティを生成する際の、片方の格納装置または両方の格納装置に格納されるべき分割データブロックが存在しない場合には、パリティ生成手段１７は、存在しない分割データブロックを既知のダミーデータで仮想的に穴埋め補完し、そのダミーデータによる分割データブロックを用いてパリティを生成する。従って、格納装置４には、ダミーデータを用いて生成されたパリティが格納される。例えば、図２（ｂ）において、格納装置３ａの４番目に格納される分割データブロックが存在しない。このため、格納装置４のパリティ２２ｆには、格納装置３ｃに格納された分割データブロックｄ８と、格納装置３ａの４番目の分割データブロックとして仮想的に穴埋め補完するデミーデータとの間で算出されたパリティが格納される。
【００３７】
次に、分散格納装置２が、分割データブロックｄ１〜ｄ１０を格納装置３ａ〜３ｃから受信して、データを再生する場合について説明する。通信手段１９は、格納装置３ａ〜３ｃから分割データブロックｄ１〜ｄ１０をそれぞれ受信する。そして、再生手段１８は、数列管理手段１５から格納先数列及び分割データブロック数列を入力し、図２（ｃ）に示すように、通信手段１９により受信された分割データブロックｄ１〜ｄ１０を結合し、再生データ２１に再生する。また、通信手段１９は、格納装置４からパリティ２２ａ〜２２ｆを受信する。そして、再生手段１８は、通信手段１９により受信されたパリティ２２ａ〜２２ｆを用いて、再生した再生データ２１に誤り等が発生していないか、またはデータが改竄されていないか等を確認する。そして、再生手段１８は、再生データ２１を記憶手段１１に格納する。
【００３８】
次に、以上のように構成された分散格納システム１の分散格納装置２が分割データブロックを格納装置３ａ〜３ｃに送信する場合の動作について、図３を参照して説明する。まず、分散格納装置２の動作について説明する。分割手段１２がオリジナルデータを分割データブロックに分割し（ステップＳ１０１）、格納先数列生成手段１３が格納先数列を生成し（ステップＳ１０２）、分割データブロック数列生成手段１４が分割データブロック数列を生成する（ステップＳ１０３）。
【００３９】
そして、制御手段１６が格納先数列及び分割データブロック数列に基づいて分割データブロックを割り振り、通信手段１９が分割データブロックを格納装置３ａ〜３ｃに送信する（ステップＳ１０４）。尚、パリティ生成手段１７により生成されたパリティは、格納装置４に送信される。
【００４０】
この場合、格納装置３ａ〜３ｃの受信手段が分割データブロックをそれぞれ受信し（ステップＳ１０５）、格納手段が分割データブロックを格納する（ステップＳ１０６）。
【００４１】
次に、分散格納装置２が分割データブロックを格納装置３ａ〜３ｃから受信する場合の動作について、図４を参照して説明する。まず、格納装置３ａ〜３ｃの動作について説明する。格納装置３ａ〜３ｃの送信手段が格納手段に格納された分割データブロックを分散格納装置２に送信する（ステップＳ２０１）。
【００４２】
この場合、分散格納装置２の通信手段１９が格納装置３ａ〜３ｃから分割データブロックをそれぞれ受信し（ステップＳ２０２）、再生手段１８が、数列管理手段１５から入力した格納先数列及び分割データブロック数列に基づいて分割データブロックを結合し、再生データに再生する（ステップＳ２０３）。
【００４３】
以上のように、本発明の実施の形態によれば、格納先数列及び分割データブロック数列による規則に基づいて、オリジナルデータを分割データブロック単位に、格納装置３ａ〜３ｃにそれぞれ振り分けて分散させるようにした。これにより、第三者が格納装置３ａ〜３ｃに不正アクセスしても、格納装置３ａ〜３ｃには上述の複雑でランダムな規則に関する情報が存在しないから、データの分散の規則性を容易に破ることができない。このため、データの盗聴、改竄及び破壊等を防止することができる。
【００４４】
また、本発明の実施の形態によれば、分割データブロックを格納する格納先の格納装置情報から成る数列を示す格納先数列、及び分割データブロックの個数を示し、分割データブロックの若番から数えて連続して何個単位で同一の格納装置へ格納するかを規定する分割データブロック数から成る分割データブロック数列に基づいて、分割データブロックを格納装置３ａ〜３ｃに分散格納するようにした。また、分散格納装置２の分割データブロック数列生成手段１４が、格納装置３ａ〜３ｃの格納可能なデータ容量に基づいて分割データブロック数列を生成するようにした。これにより、格納可能なデータ容量が同一になるように格納装置を用意する必要がない。また、分散格納装置２は分割データブロックを格納装置３ａ〜３ｃに一意的に均等分散させるのではなく、格納装置３ａ〜３ｃのデータ容量や使用状況等の事情を考慮して分散させることができる。従って、利便性の高い分散格納システム１を提供することができる。
【００４５】
尚、分散格納システム１を構成する分散格納装置２は、上述の各処理を実行するソフトウェアを組み込んだコンピュータによって構成される。すなわち、分散格納装置２に備えた各手段の機能は、分散格納装置２の中央処理装置（ＣＰＵ）がプログラムに従って実行処理することによって実現される。そして、これらのソフトウェアは、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施の形態に係る分散格納システムの概略を説明するブロック図である。
【図２】図１の分散格納システムを構成する分散格納装置による分割データブロックの送受信を説明する図である。
【図３】図１の分散格納システムの動作を説明するフロー図である。
【図４】図１の分散格納システムの動作を説明するフロー図である。
【符号の説明】
【００４７】
１  分散格納システム
２  分散格納装置
３ａ〜３ｃ，４  格納装置
１１  記憶手段
１２  分割手段
１３  格納先数列生成手段
１４  分割データブロック数列生成手段
１５  数列管理手段
１６  制御手段
１７  パリティ生成手段
１８  再生手段
１９  通信手段
２０  オリジナルデータ
２１  再生データ
２２ａ〜２２ｆ  パリティ
ｄ１〜ｄ１０  分割データブロック
【図１】
2005215978.tif 000003
【図２】
2005215978.tif 000004
【図３】
2005215978.tif 000005
【図４】
2005215978.tif 000006