(57)【要約】【課題】天災時などにおける脆弱性を是正し、不正なデータ取得を困難にするとともに、ドキュメントファイル及びプログラムファイルなどについてもセキュリティ確保を実現する。【解決手段】データ構造（ファイル）を分割して複数個の部分ファイルを形成し（ステップＳ１）、部分ファイルの格納場所としてＰ個の格納スペースを設け（ステップＳ２）、各格納スペースの格納数をＱ個とし（ステップＳ３）、任意の素数のセットＲを設定し（ステップＳ４）、素数のセットＲを用いて、各格納スペースに所定の順序で各部分ファイルを格納する（ステップＳ５）。【選択図】　　　図１
2004029934.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを分割して複数個の部分ファイルを形成し、
前記部分ファイルの格納場所として複数個の格納スペースを設け、
前記複数個の格納スペースそれぞれには、少なくとも２個の互いに異なる組み合わせの前記部分ファイルを格納し、かつ、
前記部分ファイルそれぞれを重複して少なくとも２つの異なる格納スペースに別個に格納することを特徴とする離散型冗長分散方式のデータ格納方法。
【請求項２】
前記複数の部分ファイルの個数は、Ｎｄ個であり、
前記複数の格納スペースの個数は、Ｐ個であり、
前記各格納スペースのデータ格納個数は、前記部分ファイルを少なくともＱ個格納できる個数であり、次式
Ｐ×Ｑ　≧　Ｎｄ
を満たすことを特徴とする請求項１記載の離散型冗長分散方式のデータ格納方法。
【請求項３】
素数であるｒを設定し、
前記各部分ファイル毎に、１から始まる整数の部分ファイル番号を付与し、
前記各部分ファイルに対して前記Ｎｄを法（ｍｏｄ）として繰り返し利用するものであり、部分ファイルが次式
ｆｉｌｅ＃１＝ｆｉｌｅ＃（Ｎｄ＋１）＝…＝ｆｉｌｅ＃（Ｎｄ＊ｃ＋１）　　（ｃは０からの整数）
を満たすことを特徴とする請求項１又は２記載の離散型冗長分散方式のデータ格納方法。
【請求項４】
複数の前記格納スペースは、地理的に分散して配置されていることを特徴とする請求項１乃至３のいずれか一項記載の離散型冗長分散方式のデータ格納方法。
【請求項５】
前記離散型冗長分散方式のデータ格納方法は、ピアツーピアのネットワーク形態でのファイルの格納に用いられることを特徴とする請求項１乃至４のいずれか一項記載の離散型冗長分散方式のデータ格納方法。
【請求項６】
前記複数の部分ファイルそれぞれの長さは、同一であり、
一の部分ファイルを暗号化する暗号コードとして、該一の部分ファイルを除く他の部分ファイルのうちの一つを使用し、
前記暗号化において、前記一の部分ファイルと暗号コードに用いた部分ファイルとの排他的論理和を算出することを特徴とする請求項１乃至５のいずれか一項記載の離散型冗長分散方式のデータ格納方法。
【請求項７】
ファイルを分割して複数の部分ファイルを形成する部分ファイル形成手段と、
前記複数の部分ファイルのうちの一部の部分ファイルをそれぞれ格納する複数の格納スペースと、
前記複数の部分ファイルを複数の格納スペースのいずれかに分散させて且つ冗長に格納させる制御手段とを有することを特徴とする離散型冗長分散方式のデータ格納装置。
【請求項８】
ファイルを分割して複数の部分ファイルを形成するステップと、
前記複数の部分ファイルを複数の格納スペースのいずれかに分散させて且つ冗長に格納させるステップと、をコンピュータに実行させることを特徴とする離散型冗長分散方式のデータ格納プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、離散型冗長分散方式のデータ格納方法、離散型冗長分散方式のデータ格納装置および離散型冗長分散方式のデータ格納プログラムに関する。
【０００２】
【従来の技術】
近年、種々の目的のために、プログラムファイル、コンテンツファイル、データファイル、認証コードなどのデータ構造を分散して退避（格納）し、退避したデータ構造を必要に応じて復元するという技術の重要性が増大している。
このようなデータ構造の退避及び復元をする方法としては、センター型のアーカイブ方式とピア・ツー・ピア（ｐｅｅｒ　ｔｏ　ｐｅｅｒ）方式がある。センター型のアーカイブ方式は、特定のデータセンターに通信路を介してデータ構造を送信し、データセンターで複数のデータ構造をまとめて格納する方式である。ピア・ツー・ピア方式は、接続された複数のコンピュータ間に上下関係が存在しないネットワークの形態において、複数のコンピュータにデータ構造を分散して格納する方式である。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ構造の退避・復元方法におけるセンター型のアーカイブ方式では、セキュリティ及び通常時のアクセスに求められるレスポンスタイムやスループットなどのサービス品質（ＱＯＳ：Ｑｕａｌｉｔｙ　ｏｆ　Ｓｅｒｖｉｃｅ）は高いが、天災などに対して通信路及びストレージ設備本体に脆弱性を有し、コスト面でも高くなりやすいという問題点がある。
また、ピア・ツー・ピア方式では、コスト面では安いがその他の面がほとんど考慮されておらず、例えば、セキュリティ面は脆弱なものとなり、ＱＯＳも低いものとなるという問題点がある。
【０００４】
一方、従来においては、著作物データの不正コピーに対処するために、著作物データに認証コードを埋め込む技術が存在する。しかしながら、画像型又は音楽型のデータファイル用の認証コードを埋め込むロジックとしては電子透かし方式が存在するが、ドキュメントファイル及びプログラムファイルについては、十分な暗号強度を持った認証コード埋め込み方式が存在せず、セキュリティの確保が困難であるという問題点がある。
【０００５】
本発明は、上述した事情に鑑みてなされたもので、天災時などにおける脆弱性を抑えることができ、不正なデータ取得を困難にするとともに、ドキュメントファイル及びプログラムファイルなどについてもセキュリティを確保することができる離散型冗長分散方式のデータ格納方法、離散型冗長分散方式のデータ格納装置および離散型冗長分散方式のデータ格納プログラムの提供を目的とする。
【０００６】
【課題を解決するための手段】
上記した目的を達成するために、請求項１記載の発明では、ファイルを分割して複数個の部分ファイルを形成し、前記部分ファイルの格納場所として複数個の格納スペースを設け、前記複数個の格納スペースそれぞれには、少なくとも２個の互いに異なる組み合わせの前記部分ファイルを格納し、かつ、前記部分ファイルそれぞれを重複して少なくとも２つの異なる格納スペースに別個に格納することを特徴とする。
【０００７】
また、請求項２記載の発明では、前記複数の部分ファイルの個数は、Ｎｄ個であり、前記複数の格納スペースの個数は、Ｐ個であり、前記各格納スペースのデータ格納数は、前記部分ファイルを少なくともＱ個格納できる数であり、次式
Ｐ×Ｑ　≧　Ｎｄ　を満たすことを特徴とする。
【０００８】
また、請求項３記載の発明では、素数であるｒを設定し、前記各部分ファイル毎に、１から始まる整数の部分ファイル番号を付与し、前記各部分ファイル番号に対して前記Ｎｄを法（ｍｏｄ）として繰り返し利用するものであり、部分ファイルが次式
ｆｉｌｅ＃１＝ｆｉｌｅ＃（Ｎｄ＋１）＝…＝ｆｉｌｅ＃（Ｎｄ＊ｃ＋１）　　（ｃは０からの整数）
を満たすことを特徴とする。
【０００９】
また、請求項４記載の発明では、複数の前記格納スペースが地理的に分散して配置されていることを特徴とする。
【００１０】
また、請求項５記載の発明では、前記離散型冗長分散方式のデータ格納方法がピアツーピアのネットワーク形態でのファイルの格納に用いられることを特徴とする。
【００１１】
また、請求項６記載の発明では、前記複数の部分ファイルそれぞれの長さは、同一であり、一の部分ファイルを暗号化する暗号コードとして、該一の部分ファイルを除く他の部分ファイルのうちの一つを使用し、前記暗号化において、前記一の部分ファイルと暗号コードに用いた部分ファイルとの排他的論理和を算出することを特徴とする。
【００１２】
また、上記した目的を達成するために、請求項７記載の発明では、ファイルを分割して複数の部分ファイルを形成する部分ファイル形成手段と、前記複数の部分ファイルのうちの一部の部分ファイルをそれぞれ格納する複数の格納スペースと、前記複数の部分ファイルを複数の格納スペースのいずれかに分散させて且つ冗長に格納させる制御手段とを有することを特徴とする。
【００１３】
また、上記した目的を達成するために、請求項８記載の発明では、ファイルを分割して複数の部分ファイルを形成するステップと、前記複数の部分ファイルを複数の格納スペースのいずれかに分散させて且つ冗長に格納させるステップと、をコンピュータに実行させることを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。
図１は本発明の実施形態に係る離散型冗長分散方式のデータ格納方法の概要を示すフローチャートである。本実施形態は、ファイル・コードの分割を行いこれを分散的かつ冗長に退避（格納）し、これを必要に応じて収集して再結合するデータ格納方法にかかるものである。以下、本実施形態について詳細に説明する。
【００１５】
先ず、データ構造Ｄを分割して複数（Ｎｄ個）の部分ファイルを形成し、総和がデータ構造Ｄと等しい部分集合群Ｄ’（要素数Ｎｄ）を生成する（ステップＳ１）。これを数式で表すと、下記のようになる。
Ｄ＝ΣＤ’
【００１６】
次いで、部分ファイルを格納する格納スペースをＰ個用意する（ステップＳ２）。格納スペースとしては、例えば、インターネットなどのネットワークに接続された複数のサーバとする。サーバとしてはパーソナルコンピュータを用いてもよい。
【００１７】
各格納スペースは、部分ファイルをＱ個格納することができるデータ格納数を持つものとする（ステップＳ３）。また、各格納スペースは、部分ファイル１個のデータ容量の整数倍のデータ格納数を持つこととする。そこで、要素数（部分ファイルの個数）Ｎｄと格納スペースの格納数Ｑとの関係は、下記の数式のようになる。
Ｎｄ＝ｍ×Ｑ　　　　（ｍは整数）
【００１８】
そして、格納スペースの個数Ｐと格納スペースの格納数Ｑの績（総格納数）が要素数Ｎｄに比べて十分に大きな値になるように（例えば、Ｐ×Ｑ≧２Ｎｄとなるように）、各数値を設定する。
これは、一つのデータ構造Ｄが重複して冗長に格納されるようにするための設定である。
【００１９】
次いで、任意の素数のセットＲ（ｒ１，ｒ２，…ｒｎ）を設定する（ステップＳ４）。ここで定義により、素数のセットＲの要素ｒ１，ｒ２，…ｒｎは、すべて素数であり、ｒｊ（∀　ｊ）の関係が成立する。
そして、素数のセットＲを用いて、各格納スペースに所定の順序で各部分ファイルを格納する（ステップＳ５）。すなわち、素数のセットＲを用いて、各格納スペースにおける各部分ファイルの格納位置を規定する。
【００２０】
これらにより、データ構造Ｄが複数の部分ファイルとして分散的かつ冗長に各格納スペースに退避（格納）するので、通常時及び天災時などにおける脆弱性を克服することができ、コードロケーションを全て特定することが非常に困難となり、データ構造Ｄを不正に取得することが非常に困難となる。
【００２１】
次に、上記ステップＳ５における処理である素数のセットＲを用いて各格納スペースに所定の順序で各部分ファイルを格納する手順について、図２を参照して説明する。図２は、ステップＳ５における処理の詳細を示すフローチャートである。
先ず、上記ステップＳ１で行った部分集合群Ｄ’の生成を繰り返して無限集合Ｇを生成する（ステップＳ１１）。この無限集合Ｇの生成において、無限集合Ｇの要素（部分ファイル）ＧＪは、例えば下記数式で表される。
ＧＪ＝Ｄ’（Ｉ＋ＮＤ＊Ｋ）
（Ｉ＝１，２…４０、Ｋ＝０，１，…∞）
【００２２】
次いで、無限集合Ｇの要素Ｇｋ中から、要素番号（部分ファイル番号）Ｋを素数ｒｊで割ったときの余りが「０」となる部分ファイルＧＫを取り出す。これを数式で表すと下記のようになる。
Ｇｋ＝０（ｍｏｄ　ｒｊ）
そして、取り出した部分ファイルＧＫを格納スペースにＱ個ずつ、少なくとも部分集合群Ｄ’の要素が一巡するまで順次格納していく。ここで、一つの格納スペースが部分ファイルＧＫで満たされた場合は、他の格納スペースに部分ファイルＧＫを格納する。そして、この格納処理を「ｊ＝１，２，…ｎ」について行う（ステップＳ１２）。
【００２３】
次いで、ｍ＝１として（ステップＳ１３）、ステップＳ１２と同様にして、無限集合Ｇの要素ＧＫ中から、要素番号（部分ファイル番号）Ｋを素数ｒｊで割ったときの余りが「ｍ」となる部分ファイルＧＫを取り出す。これを数式で表すと下記のようになる。
Ｇｋ＝ｍ（ｍｏｄ　ｒｊ）　　（ｍ＝１，２…ｒｊ−１）　（ｊ＝１，２…ｎ）そして、取り出した部分ファイルＧＫを格納スペースにＱ個ずつ、少なくとも部分集合群Ｄ’の要素が一巡するまで順次格納し（ステップＳ１４）、この格納処理をＰ個の格納スペースが満たされるまで行う（ステップＳ１５、Ｓ１６）。
【００２４】
これらにより、本実施形態によれば、複数個の格納スペースそれぞれには、少なくとも２個の互いに異なる組み合わせの部分ファイルを格納し、かつ、部分ファイルそれぞれを重複して少なくとも２つの異なる格納スペースに別個に格納することとなる。したがって、本実施形態によれば、データ構造Ｄが複数の部分ファイルＧＫとして分散的かつ冗長に複数の格納スペースに格納されるので、火災又は天災などにより一部の格納スペースが壊れても、その格納スペースに格納されていた部分ファイルが他の格納スペースにも格納されているので、火災及び天災などに対する脆弱性を克服することができる。
また、本実施形態によれば、素数の剰余を用いて各部分ファイルの格納位置を決めているので、データ構造の把握がきわめて困難になり、これにより不正なデータ取得を防止するとともに、ドキュメントファイルおよびプログラムファイルなどについても、強固なセキュリティ管理をすることが可能となる。
【００２５】
＜補足アルゴリズム＞
本実施形態を用いてサーバクラスタ群を構成し、クラスタ内における復元性を高める場合においては、同一クラスタにおける素数のセットＲのサブセットＲｓの要素｛ｒｓ１，ｒｓ２，…ｒｓｋ｝の要素数Ｎｄに対する剰余
Ｎｄ（ｍｏｄ　ｒｓｋ）
の総和が最大となるように設定する。これにより、同一クラスタ内における復元性を最大にすることができる。
【００２６】
＜Ｒの要素としての素数条件＞
次に、上記ステップＳ１４において、部分ファイル番号Ｊを素数Ｒで割り、その余りを用いて、部分ファイルの格納スペースへの格納順序（格納場所）を規定している理由について説明する。
部分集合群Ｄ’の要素を繰り返し無く各格納スペースに配置する（すなわち一の格納スペースに格納された複数の部分ファイルの組み合わせと他の格納スペースに格納された部分ファイルの組み合わせとが同一にならないようにする）ための必要十分条件は、要素数Ｎｄをｒｊで割ったときの余り（ｍｏｄ）が「０」以外であればよく｛数式で表すと、Ｎｄ≠０（ｍｏｄ　ｒｊ）｝、必ずしもｒｊが素数である必要はない。
【００２７】
しかしながら、格納スペースにおける部分ファイルの分散パターンをできるだけ拡散させるためには、Ｒの任意要素であるｒｊとｒｋの関係が下記数式
ｒｊ≠０（ｍｏｄ　ｒｋ）
となることが必要条件である。
そこで、上記Ｎｄ≠０（ｍｏｄ　ｒｊ）とｒｊ≠０（ｍｏｄ　ｒｋ）の２条件を最も簡易に実現する方法の一つが、ｒの各要素を素数とする図１及び図２に示す方法である。
【００２８】
＜モジュラスとその影響＞
次に、モジュラスとその影響について説明する。先ず、第１例として、図３を参照して説明する。図３は、本実施形態のデータ格納方法で格納された部分ファイルＤ’Ｋの状態の具体例を示す概念図である。第１例では、上記ステップＳ１４において、余り（モジュラス）ｍが変化することにより、各格納スペースに格納される部分ファイルＤ’Ｋの格納位置は変化するが、各部分ファイルＤ’Ｋ相互の順序関係は変化しない点について説明する。
【００２９】
図３では、要素数（部分ファイルの個数）Ｎｄ＝４０、格納スペースの個数Ｐ＝１０、格納スペースのデータ格納数Ｑ＝８個、素数Ｒ＝３としている。本図において、行列状に配置された数字のみからなる文字は、それぞれ部分ファイル番号を表している。格納スペースＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５には、余り＝０（ｍｏｄ＝０）の部分ファイルＤ’Ｋが格納されており、格納スペースＰ６，Ｐ７，Ｐ８，Ｐ９，Ｐ１０には、余り＝１（ｍｏｄ＝１）の部分ファイルＤ’Ｋが格納されている。
【００３０】
本図における格納スペースＰ４の領域ａには、番号「１，４，７，１０，１３，１６」の部分ファイルが格納されており、本図における格納スペースＰ６の領域ｂにも、番号「１，４，７，１０，１３，１６」の部分ファイルが格納されている。このように、各格納スペースに格納される部分ファイルＤ’Ｋの格納位置は変化するが、各部分ファイルＤ’Ｋ相互の順序関係は変化しない。
【００３１】
次に、モジュラスとその影響の第２例について、図４を参照して説明する。図４は、本実施形態のデータ格納方法で格納された部分ファイルＤ’Ｋの状態の具体例を示す概念図である。第２例では、格納スペースの個数Ｐと格納スペースのデータ格納数Ｑの設定により、各格納スペースへの部分ファイルＤ’Ｋの格納順序を（一部の例外を除き）ずらして収容することが可能となる点について、説明する。
【００３２】
図４では、図３と同様に、要素数（部分ファイルの個数）Ｎｄ＝４０、格納スペースの個数Ｐ＝１０、格納スペースのデータ格納数Ｑ＝８個、素数ｒ＝３としている。また、本図において、行列状に配置された数字のみからなる文字は、それぞれ部分ファイル番号を表している。格納スペースＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５には、余り＝０（ｍｏｄ＝０）の部分ファイルＤ’Ｋが格納されており、格納スペースＰ６，Ｐ７，Ｐ８，Ｐ９，Ｐ１０には、余り＝１（ｍｏｄ＝１）の部分ファイルＤ’Ｋが格納されている。
【００３３】
そして、本図における格納スペースＰ１〜Ｐ５の領域ｃに格納されている部分ファイル群と、格納スペースＰ６〜Ｐ１０の領域ｄに格納されている部分ファイル群とは相互に同一である。しかし、格納スペースＰ１〜Ｐ５の全体における右側寄りに領域ｃは位置しており、格納スペースＰ６〜Ｐ１０の全体における左側寄りに領域ｄは位置している。したがって格納スペースの個数Ｐと格納スペースのデータ格納数Ｑを調節することにより、各格納スペースへの部分ファイルＤ’Ｋの格納順序をずらして収容することが可能となることがわかる。
【００３４】
＜Ｎｄとｒｊの関係＞
次に、要素数（部分ファイルの個数）Ｎｄと素数ｒｊとの関係について説明する。任意の素数セットＲの要素ｒｊ，において、
Ｎｄ＝ｒｉ＋ｒｊ
の関係が成立するとき、余り＝０（Ｍｏｄ＝０）の条件下で、要素ｒｊの生み出すシーケンスＰＱ（ｒｊ）＝Ｓｊとすると、
Ｓｊ＝Ｓ１，Ｓ２，…Ｓｎ
Ｓｉ＝Ｓｎ−１，Ｓｎ−２，…Ｓ１，Ｓｎ
なるほぼ逆順序のシーケンスを生み出すことができる。この関係を排除するためには、要素数（部分ファイルの個数）Ｎｄを奇数とすればよい。
【００３５】
＜実施時の考慮事項＞
次に、上記実施形態を実際のデータ格納サービスに適用するときの考慮事項について説明する。例えば、ランダム性（分散性）を重視する識別コードなどを格納する場合は、次式
ｍｏｄ＝ｍ　　（ｍ＜ｒｊ　∀ｊ）
の条件のみを使用することとし、次式
Ｎｄ≠ｒｊ＋ｒｉ　　（∀　ｉ，ｊ）
なるｒｊのみを使用することとする。
【００３６】
一方、冗長性を重視するデータのバックアップをとる場合は、ｍｏｄ及び次式Ｎｄ＝ｒｊ＋ｒｉ
の関係を積極的に利用することとする。
【００３７】
＜セキュリティ対策の強化＞
また、画像ファイルのみならずテキストファイルなどを含むファイル全般について、情報処理量を抑えながら暗号強度を高めてデータ格納する場合は、次に説明する「畳み込みバーナム暗号化」を行う。畳み込みバーナム暗号化は、被暗号化ファイル（ソースファイル）を同一の長さに分割して複数の部分ファイルを形成し、一の部分ファイルを暗号化する暗号コードとして、その一の部分ファイルを除く他の部分ファイルのうちの一つを使用し、前記暗号化において、前記一の部分ファイルと暗号コードに用いた部分ファイルとの排他的論理和を算出するものである。
【００３８】
この畳み込みバーナム暗号化処理について図５を参照して具体的に説明する。図５は、畳み込みバーナム暗号化処理の一例を示す概念図である。本図では、部分ファイルとして上記ステップＳ１の処理で作成された部分ファイルＰ１〜Ｐ２Ｍについて暗号化している。
【００３９】
先ず、図５において、部分ファイルＰ１をバーナム暗号化するときの暗号コードとして部分ファイルＰ２を使用し、部分ファイルＰ２をバーナム暗号化するときの暗号コードとして部分ファイルＰ３を使用し、部分ファイルＰ３をバーナム暗号化するときの暗号コードとして部分ファイルＰ４を使用し、このような暗号化を順次繰り返し、部分ファイルＰｎ−１をバーナム暗号化するときの暗号コードとして部分ファイルＰｎを使用し、部分ファイルＰｎをバーナム暗号化するときの暗号コードとして部分ファイルＰ１を使用する。
【００４０】
そして、畳み込みバーナム暗号化された結果を暗号化ファイルＱとすると、暗号化ファイルＱの作成は下記数式で示すことができる。
Ｑｉ＝Ｐｉ◎Ｐｉ＋１
Ｑｎ＝Ｐｎ◎Ｐ１
ここで、記号◎は排他的論理和を示しており、ｉは１からｎまでの整数である。
【００４１】
上記実施形態において、図１及び図２に示す離散型冗長分散方式のデータ格納処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより離散型冗長分散方式のデータ格納処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００４２】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４３】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００４４】
例えば、上記実施形態において複数設けた格納スペースは、それぞれ地理的に分散して配置されていることが好ましい。これにより、火災又は地震などによって一部の格納スペースが破壊されても、他の格納スペースに冗長（重複）に退避されている部分ファイルを読み出して結合することにより、元のデータ構造に復元することができる。
【００４５】
また、上記実施形態の離散型冗長分散方式のデータ格納方法は、ピアツーピアのネットワーク形態でのファイル格納に用いられることが好ましい。これにより、例えば、インターネットなどに接続され地理的に分散配置されたパーソナルコンピュータなどを格納スペースとして用いることができ、既存設備を用いて、火災や地震などに対する脆弱性を排除し、かつ、セキュリティ強度の高い各種ストレージを実現することができる。
【００４６】
また、上記実施形態の離散型冗長分散方式のデータ格納方法をプログラムファイルへの認証コード埋め込みに適用してもよい。これにより、プログラムファイルについて、十分な暗号強度を持った認証コードの埋め込みをすることができ、セキュリティの確保を簡易に実現することができる。
【００４７】
【発明の効果】
以上の説明で明らかなように、本発明によれば、複数の部分ファイルを複数の格納スペースのいずれかに分散させて且つ冗長に格納させるので、天災時などにおける脆弱性を是正し、不正なデータ取得を困難にするとともに、ドキュメントファイル及びプログラムファイルなどについてもセキュリティ確保を実現することができる。
【００４８】
また、本発明によれば、ピアツーピアのネットワーク形態に本発明を適用することで、既存設備を用いて、火災や地震などに対する脆弱性を排除し、かつ、セキュリティ強度の高い各種ストレージを実現することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る離散型冗長分散方式のデータ格納方法の概要を示すフローチャートである。
【図２】各部分ファイルの格納手順の詳細を示すフローチャートである。
【図３】本実施形態のデータ格納方法で格納された部分ファイルＧＫの具体例を示す概念図である。
【図４】本実施形態のデータ格納方法で格納された部分ファイルＧＫの具体例を示す概念図である。
【図５】畳み込みバーナム暗号化処理の一例を示す概念図である。
【符号の説明】
Ｎｄ　　　　　要素数（部分ファイルの個数）
Ｐ　　　　　　格納スペースの個数
Ｐ１〜Ｐｎ　　　部分ファイル
Ｑ　　　　　　格納スペースのデータ格納数
ｒ　　　　　　素数
Ｒ　　　　　　素数のセット
【図１】
2004029934.tif 000003
【図２】
2004029934.tif 000004
【図３】
2004029934.tif 000005
【図４】
2004029934.tif 000006
【図５】
2004029934.tif 000007