(57)【要約】  本発明は一般的に分散型データ記憶システムに関する。特に本発明は、ネットワークノード間のデータの交換に必要な帯域幅、およびデータの項目を記憶するのに必要なネットワークノードの数を考慮して、高度なデータ可用性と、ネットワークおよびデータ記憶リソースに対する低影響を組み合わせた分散型データ記憶システムにおけるデータ配置の方法に関する。
2013542487.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する方法であって、
前記分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信するステップ（７０１）と、
基準デバイスとしての第１のネットワーク・デバイスを選択する第１の選択ステップ（４０）、および前記基準デバイスの時間経過中の可用性と非可用性の決定ステップと、
少なくとも一つの第２のネットワーク・デバイスの時間経過中の可用性と、前記基準デバイスの時間経過中との可用性との対応関係の関数として、少なくとも一つの第２のネットワーク・デバイスを選択する第２の選択ステップ（４１、４２）と、
少なくとも一つの第３のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第３のネットワーク・デバイスを選択する第３の選択ステップ（４３、４４）と、
前記第２および前記第３の選択ステップで選択された少なくとも一つの第２および少なくとも一つの第３のネットワーク・デバイスに、前記データ項目を記憶するステップ（７０５）と、を含む、方法。
【請求項２】
ｋは、前記データ項目が複製されるネットワーク・デバイスの数であり、ｋは、前記データ項目を記憶するための前記リクエストで特定され、前記第１、前記第２、前記第３の選択ステップは、前記データ項目が少なくともｋ個のネットワーク・デバイスに複製されるまで繰り返され、基準デバイスの前記第１の選択ステップは、当該方法のこれまでの繰り返しにおいて基準デバイスとして既に選択されているネットワーク・デバイスの選択を除外する、請求項１に記載の方法。
【請求項３】
ｋは、前記データ項目が複製されるネットワーク・デバイスの数であり、ｋは前記データ項目を記憶するための前記リクエストで特定され、前記第２および前記第３の選択ステップは、前記データ項目が少なくともｋ個のネットワーク・デバイスに複製されるまで繰り返される、請求項１に記載の方法。
【請求項４】
前記非可用性は、各要素が単位時間を表すベクトル（２４）として記憶され、このとき前記ベクトル（２４）の要素の数は、時間間隔を表し、各要素の値は、前記ベクトル（２４）が関連付けられるネットワーク・デバイスの前記単位時間中の可用性を表し、第１の所定の要素の値は可用性を表し、第２の所定の要素の値は非可用性を表す、請求項２または３に記載の方法。
【請求項５】
前記第１の所定の要素の値は、正の所定の値であり、前記第２の所定の値は、負の所定の値であり、前記基準デバイスの前記非可用性の関数としての前記第２のネットワーク・デバイスの前記選択は、前記ベクトル（２４）のうち２つの間の角度の算定により決定される逆相関のレベルにより決定され、２つのベクトル（２４）には、前記角度が０に近づく際に強い相関関係があり、２つのベクトル（２４）には、前記角度がπに近づく際に強い逆相関関係があり、前記角度の値は逆相関の前記レベルを表す、請求項４に記載の方法。
【請求項６】
前記角度は以下により算定され、
【数１】
2013542487.tif 000005
ここで、θは前記角度であり、ｘおよびｙは、前記２つのベクトル（２４）である、請求項５に記載の方法。
【請求項７】
前記第１の所定の要素の値は、二進法の１であり、前記第２の所定の要素の値は、二進法の０であり、逆相関のレベルは、前記ベクトル（２４）のうち２つの間の論理ブーリアンＸＯＲ演算の算定を介して決定され、前記論理ブーリアンＸＯＲ演算の結果が、前記２つのベクトル（２４）の各々の前記要素の数に近づく非常に多くの1’sを有する場合は、２つのベクトル（２４）には強い逆相関関係があり、前記論理ブーリアンＸＯＲ演算の前記結果が、０に近づく多くの1’sを有する場合は、２つのベクトル（２４）は強い相関関係があり、前記ブーリアンＸＯＲ演算の前記結果における1’sの数は、逆相関の前記レベルを表す、請求項４に記載の方法。
【請求項８】
前記基準デバイスは、前記ネットワーク・デバイスから任意に選択される、請求項２〜７のいずれかに記載の方法。
【請求項９】
前記基準デバイスは、前記ネットワーク・デバイスから確定的に選択される、請求項２〜７のいずれかに記載の方法。
【請求項１０】
少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する装置であって、
前記分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信する受信手段（６４０）と、
基準ネットワーク・デバイスとして第１のネットワーク・デバイスの第１の選択（４０）を行う選択手段（６２０）と、前記基準デバイスの時間経過中の可用性と非可用性を決定する手段と、
第２のネットワーク・デバイスの時間経過中の可用性と、前記基準ネットワーク・デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第２のネットワーク・デバイスの第２の選択（４１、４２）を行う選択手段（６２０）と、
少なくとも一つの第３のネットワーク・デバイスの時間経過中の可用性と、前記基準ネットワーク・デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第３のネットワーク・デバイスの第３の選択（４３、４４）を行う選択手段（６２０）と、
第２の選択のための前記選択手段および前記第３の選択のための前記選択手段により選択されたネットワーク・デバイスに、前記データ項目を記憶する記憶手段（６００、６１０）と、を備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的に分散型データ記憶システムに関する。特に本発明は、ネットワークノード間のデータの交換に必要な帯域幅、およびデータの項目を記憶するのに必要なネットワークノードの数を考慮して、高いデータ可用性（アベイラビリティ）と、ネットワークおよびデータ記憶リソースに対する低影響を組み合わせた分散型データ記憶システムにおけるデータ配置の方法に関する。
【背景技術】
【０００２】
映像および画像処理装置等、大量データ処理装置の配信の急速な拡大と共に、直接の記憶のため、又はバックアップ記憶の一部として、大量のデータの確実な記憶が必要となる。ネットワーク接続性を備えるデバイスが増加すればする程、ネットワーク接続型デバイスにおけるデータの分散型記憶は、費用効率が高い解決手段として検討されている。インターネットにおけるような管理外ネットワーク上に配備可能な分散型データ記憶システムにおいては、データ可用性およびデータ損失に対する復旧を確保するために、複数のネットワーク接続されたデバイスにデータの同一項目をコピーする方法が開発されてきた。これはデータ複製と呼ばれる。データ複製は、広義で解釈される必要があり、（符号化されたデータが復旧のために記憶装置に配置される場合の）コードの消去または再生成等、符号化技術の利用、並びに単なるデータの複製も対象とする。デバイス故障による永久的データ損失、又は一時的なデバイスの非可用性による一時的なデータ損失の危険に対処するために、高い複製ファクター（すなわち、多数の複製）が望まれる。しかし、通信および必要な記憶サイズを考慮してコスト（いわゆる複製コスト）を削減するためには、低い複製ファクターを有することがむしろ望まれる。
【０００３】
必要な点は、可用性の要件と複製コストを共に考慮した分散型データ記憶の高いデータ可用性を達成する解決手段である。
【発明の概要】
【０００４】
本発明は、先行技術のいくつかの不都合を緩和することを目的としている。
【０００５】
ピアツーピアネットワーク等、大規模分散型データネットワークにおいては、デバイスは継続的にネットワークに加わり、ネットワークから離れる。各デバイスは、その独自の切断および接続挙動を有する。例えば特定のデバイスは常に接続されており、一方で他のデバイスは日中のみ接続され、夜間は切断され、他方で他のデバイスは、より任意の接続挙動を有している。
【０００６】
インターネット接続ゲートウエイに基づくピアツーピアネットワークについては、遠隔通信オペレータによりそのサービスの加入者に提供するゲートウエイは、ピアとみなされ、当該加入者は、夜間または不在中は自由にスイッチオフすることができる。
【０００７】
分散型データ記憶システムのピア又はデバイスがスイッチオフされ、あるいは機能しない場合は、そこに記憶されたデータはもはや利用できない。データの特定の項目を記憶する全てのデバイスがスイッチオフされ、あるいは機能しない場合は、データ項目はもはや利用できず、データ項目は、スイッチオフされたデバイスが再度スイッチオンされるまでの時間、あるいは各々修理される時間は、少なくとも喪失しているものとみなされる。よってこの時間は、記憶されたデータの可用性は保証されない。データ複製ファクターを増加することは、この課題に対する可能な解決手段であるが、データ通信および必要なデータ記憶サイズの点でデータ記憶コストに大きく影響する。
【０００８】
本発明の目的は、分散型データ記憶システムの一部であるデバイス上のデータの分散に対する特定の公平性を考慮しつつ、所定（所望）の可用性のためにする複製ファクターおよび記憶コストのトレードオフを最適化することである。
【０００９】
これについては、本発明は、デバイスの可用性の知見に基づくデータ複製のデバイスセットの選択を提案している。本発明の特定の実施形態によると、この可用性の知見は、ネットワーク・デバイスによるネットワークの監視、あるいはいくつかのネットワーク・デバイス自体によってのみ得られる。変形実施形態によると、この知見は、インターネットサーバなどのネットワークのサーバの一つから得られた分散型データ記憶ネットワークに対する接続の測定によって得られる。可用性の知見を得る方法は、能動的あるいは受動的なものがあり、能動的方法の一例は、分散型データ記憶システムの集中型サーバにより記憶された接続ログを使用することである。デバイスは、故障により一時的または永続的に切断される際には、利用不可とみなされる。
【００１０】
分散型データ記憶システムにデータを記憶することを最適化するために、本発明は、少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する方法を提案する。デバイスが記憶装置として少なくとも使用されることは、デバイスが分散型記憶ネットワークのための記憶装置として使用されるが、音声および映像番組の受信等、他の目的でも同時に使用できることを意味する。一例として、デバイスは、音声および映像番組の受信のためのセットトップボックス、外部ネットワークにアクセスを提供するゲートウエイ、パーソナル・コンピュータ、ハンドヘルドのモバイルデバイスであってもよい。当該方法は、分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信するステップと；基準デバイスとしての第１のネットワーク・デバイスの第１の選択を行い、基準デバイスの時間経過中の可用性と非可用性を決定するステップと；少なくとも一つの第２のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第２のネットワーク・デバイスの第２の選択を行うステップと；少なくとも一つの第３のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第３のネットワーク・デバイスの第３の選択を行うステップと；第２および第３の選択ステップで選択された少なくとも一つの第２および第３のネットワーク・デバイスにデータ項目を記憶するステップを含んでいる。
【００１１】
変形実施形態によると、ｋは、データ項目が複製されるネットワーク・デバイスの数であり、ｋはデータ項目を記憶するためのリクエストで特定され、第１、第２、第３の選択ステップは、データ項目が少なくともｋ個のネットワーク・デバイスに複製されるまで繰り返され、基準デバイスの第１の選択ステップは、当該方法のこれまでの繰り返しにおいて基準デバイスとして既に選択されているネットワーク・デバイスの選択を除外する。
【００１２】
変形実施形態によると、ｋは、データ項目が複製されるネットワーク・デバイスの数であり、ｋはデータ項目を記憶するためのリクエストで特定され、第２、第３の選択ステップは、データ項目が少なくともｋ個のネットワーク・デバイスに複製されるまで繰り返される。
【００１３】
変形実施形態によると、非可用性は、各要素が単位時間を表すベクトル（２４）として記憶され、このときベクトル（２４）の要素の数は時間間隔を表し、各要素の値は、ベクトル（２４）が関連付けられるネットワーク・デバイスの単位時間中の可用性を表し、第１の所定の要素の値は可用性を表し、第２の所定の要素の値は非可用性を表す。
【００１４】
変形実施形態によると、第１の所定の要素の値は、正の所定の値であり、第２の所定の値は、負の所定の値である。基準デバイスの非可用性の関数としての第２のネットワーク・デバイスの選択は、ベクトル（２４）のうち２つの間の角度の算定により決定される逆相関のレベルにより決定され、２つのベクトル（２４）には、角度が０に近づく際に強い相関関係があり、２つのベクトル（２４）には、角度がπに近づく際に強い逆相関関係があり、角度の値は逆相関のレベルを表す。
【００１５】
変形実施形態によると、角度は以下により算定される。
【００１６】
【数１】
2013542487.tif 000003
ここで、θは角度であり、ｘおよびｙは、２つのベクトルである。
【００１７】
変形実施形態によると、第１の所定の要素の値は、二進法の１であり、第２の所定の要素の値は、二進法の０であり、逆相関のレベルは、ベクトル（２４）のうち２つの間の論理ブーリアンＸＯＲ演算の算定を介して決定される。論理ブーリアンＸＯＲ演算の結果が、２つのベクトル（２４）の各々の要素の数に近づく非常に多くの1’sを有する場合は、２つのベクトル（２４）には強い逆相関関係があり、論理ブーリアンＸＯＲ演算の結果が、０に近づく多くの1’sを有する場合は、２つのベクトル（２４）には強い相関関係があり、ブーリアンＸＯＲ演算の結果における1’sの数は、逆相関のレベルを表す。
【００１８】
変形実施形態によると、基準ネットワーク・デバイスは、ネットワーク・デバイスから任意に選択される。
【００１９】
変形実施形態によると、基準ネットワーク・デバイスは、ネットワーク・デバイスから確定的に選択される。一例としてラウンドロビン選択は、確定的な選択である。
【００２０】
分散型データ記憶システムにデータを記憶することを最適化するために、本発明は、少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する装置を備え、前記装置は、分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信する受信手段と；基準ネットワーク・デバイスとして第１のネットワーク・デバイスの第１の選択を行う選択手段、及び基準デバイスの時間経過中の可用性と非可用性を決定する手段と；第２のネットワーク・デバイスの時間経過中の可用性と、基準ネットワーク・デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第２のネットワーク・デバイスの第２の選択を行う選択手段と；少なくとも一つの第３のネットワーク・デバイスの時間経過中の可用性と、基準ネットワーク・デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第３のネットワーク・デバイスの第３の選択を行う選択手段と；第２の選択のための選択手段および第３の選択のための選択手段により選択されたネットワーク・デバイスに、データ項目を記憶する記憶手段を備えている。
【図面の簡単な説明】
【００２１】
本発明の特定の非限定的実施形態の記述を介して、本発明のより多くの利点が明らかになるであろう。
【００２２】
実施形態は、以下の図を参照して記述される。
【図１】図１は、本発明の特定の変形を実装するのに適した分散型記憶ネットワークアーキテクチャを示している。
【図２】図２は、デバイス上の可用性データまたは図１のデバイス１０〜１６の一つ等、分散型記憶装置上の可用性データが数学的ベクトル構造を表すｎ次元配列に記憶されている場合の発明の変形実施形態を示している。
【図３】図３は、２４時間時系列３５に関連する２つのデバイスの可用性を示している。
【図４】図４は、４つの複製装置を備えた本発明の特定の実施形態を記述している。
【図５】図５は、複製装置が任意に選択される場合、本発明の動作を先行技術による解決手段の動作と比較したグラフを示している。
【図６】図６は、本発明の方法を実施するデバイスの例示的実施形態を示している。
【図７】図７は、例えば、図１のデバイス１０〜１６の一つにより実行される本発明の方法の特定の実施形態を実行するアルゴリズムを示している。
【発明を実施するための形態】
【００２３】
図１は、本発明の特定の変形を実行するのに適した分散型記憶ネットワークアーキテクチャを示している。当該図面は、ネットワーク・デバイス１０、１１をネットワーク１００３に接続するゲートウエイ１２、サーバ１７，ネットワーク・デバイス１５、１６をネットワーク１００３に接続する他のゲートウエイ１４、ネットワーク１００３に直接接続されたネットワーク・デバイス１３を示している。デバイス１０〜１６の全てまたは一部のみは、データを記憶する容量および分散型記憶ネットワークの構成員により、分散型記憶ネットワークの分散型記憶装置とみなしてもよい。
【００２４】
図１に記述された以外の他のタイプのネットワークは、本発明に対応可能である。例えば、１つ以上ネットワーク切替ノードを有するネットワーク、１つ以上のサブネットワークを有するネットワーク、無線ネットワーク・デバイスを接続するネットワークである。
【００２５】
本発明は、ホームネットワークをインターネットに接続するホームゲートウエイ、Ｗｅｂサーバ、ビデオサーバ、（ハンドヘルドか否かを問わず）無線デバイス等のいずれかのタイプのネットワーク・デバイスで実装可能である。
【００２６】
図２は、ピアまたはデバイス１０〜１６の一つ等、分散型記憶装置上の可用性データが数学的ベクトル構造を表すｎ次元配列に記憶されている場合の本発明の特定の実施形態を示している。横線２０―２１―２２は、時系列２３に関連した分散型記憶装置の可用性を表している。ここで記述された特定の実施形態によると、２４時間についてのｎ＝２４は、サンプル期間としても以下に言及される。点線２０および２２は、例えばデバイスがスイッチオフされるため、分散型記憶装置がアクセスできない場合、すなわちデバイスが利用できない場合の２４時間時系列２３上の時間またはタイムラップを表す。実線２１は、分散型記憶装置上のデータがアクセスできる場合、すなわちデバイスが利用できる場合のタイムライン２３の時間またはタイムラップを表す。変形実施形態によると、デバイスの可用性に関する知見は、これ以降「サンプル時間」と称される１時間サンプルに分割される。各サンプルは、２４時間スケール上の特定の時間帯に対応している。本発明の特定の実施形態によると、毎時につき、デバイスが当該時間中は利用可能である場合（すなわちこれがネットワークに接続されている場合、あるいは変形によると、そのデータがアクセス可能である場合）、ベクトルの対応する指数が正の所定の値＋１に設定される。デバイスがサンプル期間中、利用不可能であった場合は、対応する指数は−１等、負の所定の値に設定される。１時間のサンプル時間および２４のサンプル期間は、本発明の原理を記述する単なる具体例であることは明白である。他のサンプル時間および期間も可能であり、比較すると種々の利点および不利な点がある。例えばベクトルは、一日について可用性データを記憶するのに十分な２４の要素数を有しており、７日間について２４*７の要素数を有している。サンプル時間および期間の決定は、（算定および通信に）利用されるネットワーク資源とデータの正確性の間のトレードオフの一部である。
【００２７】
変形実施形態によると、サンプル時間および／またはサンプル期間は予め定められる。更に有利な実施形態によると、サンプル時間およびサンプル期間は、分散型データ記憶システムの接続挙動の測定後に決定される。そして最良のサンプル時間およびサンプル期間は、デバイスの非可用性の最良の再発期間を捉えるこれらの測定から決定できる。例えば、サンプル期間が一週間に設定される場合、周期的な日中／夜間および週末の可用性／非可用性の交替に起こるように、再発が観察されてもよい。変形実施形態によると、分散型記憶装置は、協調的な手法で良好なサンプル時間および期間を決定するタスクを実行でき、これにより集中型サーバはこのタスクから解放される。
【００２８】
このように各デバイスは、既に記述したフォーマット等、共通フォーマットによると、独自の可用性ベクトルを有している。変形実施形態によると、各デバイスは、独自の可用性ベクトルを記憶する。この変形は、デバイス可用性の集中管理を回避し、デバイスと集中型可用性記憶装置の通信の必要性を減じるという利点がある。
【００２９】
ここでの目的は、データが複製セットに複製される際に、全サンプル期間中に当該セットのうち少なくとも一つのデバイスの可用性を介して、データの可用性を確保するデバイスセットを構築することである。一つの例が図３に記述されている。当該図面は、２４時間時系列３５と関連したデバイス１（３０〜３１）およびデバイス２（３２〜３３）の可用性を図示している。点線３０および３３は、デバイスが利用できないことを示している。実線３１および３２は、デバイスが利用可能であることを示している。線３４は、デバイス１およびデバイス２を含む一組のデバイスが選択される場合は、データ項目の可用性は１００％であるため、前記デバイスセットは、良好な複製セットであることを示している。本発明の変形実施形態によると、良好な複製セットを決定するために、本発明は、以下の式により、前記複製セットが選択されるもととなるデバイスの可用性ベクトル間の角度を測定することを含んでいる。
【００３０】
【数２】
2013542487.tif 000004
この式は、ベクトルｘとベクトルｙの間の角度の値を与えている。角度が０に近づくと、（複数の）ベクトルには相関関係がある。角度がπに近づくと、（複数の）ベクトルには逆相関関係がある。逆相関関係がある２つのベクトルは、反対の挙動を有する２つのデバイス、例えば、日中は一意的に利用可能である一つのデバイスと、夜間に一意的に利用可能な他のデバイスを表している。そして所定の可用性ベクトルを備えた所定のデバイスについて、所定のデバイスと相関性が最も高い可用性ベクトルを有する少なくとも一つのデバイスと、所定のデバイスと逆相関性が最も高い可用性ベクトルを有する少なくとも一つのデバイスを複製セットとして選択する場合、サンプル期間は、複製セットを備えるために、デバイスの任意の選択の先行技術による方法よりも良好な動作で充たされている。先行技術によると、複製セットのデバイスの数を増加することにより、同等または低いレベルの可用性でさえ得られる。
【００３１】
本発明の変形実施形態によると、相関関係および逆相関関係にある（複数の）デバイスは、ベクトル間の角度により、前記したごとく検出されず、むしろ二値論理演算によって検出される。前記変形実施形態のように、デバイスの可用性データはベクトルに変換され、このとき各指数はサンプル時間、例えば１時間を表し、ベクトルの長さはサンプル期間、例えば２４時間を表す。しかしベクトルが前記変形実施形態により＋１または−１で充たされている場合、本変形実施形態では、ベクトルは（複数の）ゼロと（複数の）１で充たされており、０はサンプル期間中、非可用性を示し、１はサンプル時間中に可用性を示している。例えば、
デバイスｉ:  ０１０１１００１００１００１０１００１００１００
完全な逆相関関係があるデバイス：１０１００１１０１１０１１０１１０１１
【００３２】
本変形実施形態によると、デバイスｉの完全な逆相関関係があるデバイスは、デバイスｉが０’ｓを有している場合は、論理的な１’ｓを有するデバイスであり、デバイスｉが１’ｓを有している場合は、論理的な０’ｓを有するデバイスである。この変形実施形態によると、逆相関関係があるデバイス間の選択は、デバイスｉの可用性ベクトルと逆相関の候補の可用性ベクトルの間で論理ＸＯＲ演算の結果を比較することにより行われる。ＸＯＲ演算の結果が有する１’ｓが多いほど、デバイスはより逆相関関係がある。この方法により、装置ｉと可用性についての重複を最小限にするデバイスと、基準デバイスｉの可用性についてのギャップを埋めることになる。ベクトル間の角度の測定に基づく前記変形実施形態のように、本変形実施形態は、データは間断なくサンプル期間中に利用可能なデバイスのうち限定的に選択されたものにデータを不十分に配信する結果とせずに、分散型データ記憶システムに十分にデータを配信することにより、種々のデータ項目に関連付けられ複製セットに含まれるデバイスの区別により、グループ化されたデータ損失のリスクをより良好に分散させる、という利点がある。測定された角度が逆相関のレベルを表す場合の前記「角度」変形実施形態のように、本変形実施形態では、２つのデバイスの可用性ベクトルの間のＸＯＲ演算の結果の１’ｓの数は、逆相関のレベルについての測定である。例えば、ベクトルが２４の要素を有している場合、２４の１’ｓは、逆相関の最も高い可能な（完全な）レベルを表し、ゼロの１’ｓは、逆相関の最も低い可能なレベルを表している。中間の数は、逆相関の中間レベルを表している。逆相関のレベルは、いずれか所定の寸法、例えば、単純な算術演算を適用することにより、１〜１０のスケールで拡大縮小できる。
【００３３】
本発明の上記変形実施形態は、デバイスの可用性の動作の特定の予測可能性を提案していることは明白である。なぜなら、当該実施形態は、過去に測定された可用性データを利用しているからである。しかし、テストにより、実際上、デバイスの可用性の動作は、２４時間や７日という期間中等、ある程度周期的であることが立証された。デバイスの可用性の挙動がある程度予測不可能である場合、本発明の方法は、記憶装置の純粋に任意な選択方法と同様に良好な可用性を依然として取得する。なぜなら、各基準装置ｉは既に述べたように、任意に選択されるからである。
【００３４】
図４は、４つの複製装置の一例を参照して本発明の特定の実施形態を記述している。参照用に使用される所定のデバイスｉ（４０）に関する本変形実施形態によると、２つのデバイス１（４１）およびデバイス２（４２）は、基準デバイスｉ（４０）の可用性ベクトルと最適に相関する可用性ベクトルにより選択され、２つのデバイス３（４３）およびデバイス４（４４）は、基準デバイスｉ（４０）の可用性ベクトルと最適に逆相関する可用性ベクトルにより選択され、すなわち換言すれば、デバイス１および２は、時間経過中のそれらの可用性と、基準デバイスの時間経過中の可用性との対応関係の関数として選択され、他方でデバイス３および４は、時間経過中のそれらの可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として選択される。かかる逆相関関係がある可用性の挙動を備えたデバイスを選択する利益は、デバイスｉ（４０）およびｉと相関関係がある（複数の）デバイス１および２が利用できない時間領域により残されたギャップを逆相関関係がある（複数の）デバイスが埋める、という事実に存する。データは、選択されたデバイス１〜４に複製される。本発明の変形実施形態は、以下「グループ」変形と称され、デバイスｊは、複製ファクターｋを備える記憶ネットワークに入るデータの項目を記憶することを所望し、デバイスｎは、デバイスｉ（基準デバイス）を任意に選択する。デバイスｊ、または更に別の変形実施形態によると基準デバイスｉ、または変形実施形態によるとサーバは、デバイスｉと相関関係がある一定数のデバイス、およびデバイスｉと逆相関関係がある一定数のデバイス（「一定数」は、所望の複製ファクターｋに左右され、デバイスのこの選択は、基準デバイスｉの選択ステップを除外したデバイスの選択ステップを繰り返すことに帰着する）を選択し、データ項目をこれらのデバイスに複製して所望の複製ファクターｋを達成する。上記実施例によると、複製ファクターｋ＝４、すなわちデータ項目は４つの記憶装置の各々に複製される。
【００３５】
一定数の相関関係がある（複数の）デバイスおよび一定数の逆相関関係がある（複数の）デバイスを選択する代わりに、「修正」変形として更に言及される他の変形実施形態によると、ｉと逆相関関係がある単一のデバイスが選択される。データ項目は、これらのデバイスに複製され、ｋ＞２のとき、「新規な」基準デバイスｉの選択、ｉと逆相関関係がある新規なデバイスのサーチ、およびデータ項目のこれらのデバイスへの複製を伴うプロセスが繰り返される。このプロセスはｋが達成されるまで繰り返され、デバイスのこの選択は、基準デバイスｉの選択を含むデバイスの選択ステップを繰り返すことに帰着する。
【００３６】
双方の変形は、先行技術に対する改良であり、「グループ」変形は、（ｎという適正な値に代えて）ｎのうちｔ個の符号化ブロックを常に備えることに特に適しており、これは、例えば不具合に対処するために、ｎのうちｔ個の消去コードブロックの可用性を必要とする消去コードに非常に良く適合している。「グループ」変形は、いくつかの時間ギャップを常に生じさせる可能性があるため、すなわちデータの所定の項目を記憶する利用可能な少なくとも一つのデバイスが常に存在する、という保証が修正変形より少ないため、「修正」変形は、データ項目の少なくとも一つのコピーを継続的に利用可能に保つためにより効果的である。
【００３７】
上記したように、本発明の変形実施形態によると、デバイス「ｊ」がデータを記憶するために分散型データ記憶システムに加わると、システムは、相関関係および逆相関関係がある（複数の）デバイス基準デバイスを備えた複製セットの決定の根拠として機能する基準デバイス「ｉ」を決定する。上記で考察した変形実施形態によると、基準デバイス「ｉ」は、ネットワークの集中型サーバにより任意に選択される。他の変形実施形態によると、基準デバイス「ｉ」は確定的な態様で決定され、これにより２回以上の同一の基準デバイスとならないことが保証され、この結果、ネットワークに対するより良好なデータの配信がなされる。更に本発明の他の特定の実施形態によると、双方の変形は組み合わされ、これにより、以前に選択された基準デバイスが除外された１組のデバイスから基準デバイスｉを任意に選択し、分散型データ記憶ネットワークに対するデータの良好な配信までなされる結果となる。
【００３８】
本発明の変形実施形態によると、複製の数は、全サンプル期間を「カバーする」ために複製セットの動作に左右される。この変形によると、既に選択されたデバイスセットの結果として生じる可用性と逆相関関係がある（複数の）デバイスを検出するステップは、もはや可用性のギャップがなくなるまで繰り返される。
【００３９】
図５は、データ項目の複製のためのデバイスが任意に選択される場合の先行技術による解決手段の動作と、本発明の動作とを比較したグラフを示している。グラフはシミュレーションデータに基づいている。ここから理解できるように、９８％の可用性を得るために、先行技術による任意の複製セットは、８つのデバイスを設けており（グラフ５４、点５２）、他方で本発明の方法により、５つのデバイスのみが必要となる（グラフ５３、点５１）。
【００４０】
図６は、特定の実施形態による本発明を実装することのできるデバイスを記述している。デバイスは、本発明の特定の変形を実装するデバイスであってもよく、あるいは、本発明の特定の変形を実装するための専用サーバ、あるいは専用でないサーバ等、本発明の特定の変形を実装する、特定の集中型デバイスであってもよい。
【００４１】
デバイス６０は、読み出し専用メモリ（ＲＯＭ）６００、ランダムアクセスメモリ（ＲＡＭ）６１０、中央処理装置（ＣＰＵ）６２０、クロック６３０、ネットワークインターフェース６４０、グラフィックインターフェース６５０、ユーザインターフェース６６０を備えている。これらの構成要素はすべて、データおよび通信バス６７０を介して相互接続されている。ＣＰＵ６２０は、メモリゾーン６０１のＲＯＭ６００に記憶されたプログラムによりデバイス６０を制御する。クロック装置６３０は、デバイス６０の構成要素に共通タイミングを提供し、構成要素の動作を順序付け、同期する。ネットワークインターフェース６４０は、接続６０００を介して外部装置とデータを送受信する。グラフィックインターフェース６５０は、接続６００１を介して外部再現装置に接続されている。ユーザインターフェース６６０は、接続６００２を介してユーザから入力コマンドを受信する。ＲＯＭメモリ領域６０１は、本発明の方法を実施する命令を有している。デバイス６０の電源をオンにすると、ＣＰＵ６２０は、プログラム「Ｐｒｏｇ」をＲＯＭメモリ領域６０１からＲＡＭメモリ領域６１１にコピーし、コピーされたプログラムを実行する。コピーされたプログラムの実行時にプログラムは実行に必要な変数のためのメモリ領域を、ＲＡＭメモリ領域６１５に割り当て、デバイスアドレスのリスト６０２、デバイス可用性ベクトル６０３、デバイスセット６０４を各々のＲＡＭメモリ６１２〜６１４にコピーする。デバイス６０はここで動作可能となり、データ項目の記憶のリクエストの受信時に、本発明の方法は作動し、当該方法は、ＲＯＭ６００メモリ領域６０１に記憶されたプログラムの一部となる。ネットワークインターフェース（６４０）は、データ項目を記憶するためのリクエストを受信するための受信手段として機能する。ＣＰＵ（６２０）は特に、基準デバイスとしてネットワーク・デバイスの一つの最初の選択を行う選択手段として機能する。ＣＰＵ（６２０）は、基準ネットワーク・デバイスについて決定された可用性と逆相関関係がある、所定の時間中は可用性を有する少なくとも一つのネットワーク・デバイスの第２の選択を行う選択手段としても機能する。ＣＰＵ（６２０）は、データ項目の記憶のための複製セットに少なくとも一つの選択されたネットワーク・デバイスを追加する手段として機能する。ＲＯＭメモリ６００およびＲＡＭメモリ６１０は、複製セットのネットワーク・デバイスにデータ項目を記憶する記憶手段である。
【００４２】
変形実施形態によると、本発明は、専用構成要素（例えば、ＡＳＩＣ、ＦＰＧＡ又はＶＬＳＩ）（各々、＜＜アプリケーション専用集積回路＞＞、＜＜フィールド・プログラマブル・ゲート・アレイ＞＞、＜＜大規模集積回路＞＞）、あるいはデバイス及びハードウエアとソフトウエアの混合の形式で集積された特有の電子部品としてハードウエアに全体的に実装される。
【００４３】
図７は、例えば、図１のデバイス１０〜１６の一つにより、あるいは図６のデバイス６０により実装される、本発明の方法の特定の実施形態のアルゴリズムを示している。アルゴリズムは、使用される変数が初期化される初期化ステップ７００により開始する。そしてステップ７０１では、分散型データ記憶システムにデータを記憶するためのリクエストが受信される。特定の変形実施形態によると、当該リクエストは、図１のサーバ１７等、本発明のステップを実行する集中型サーバにより受信される。この変形実施形態は更に、「集中型」変形実施形態と称される。そしてステップ７０２では、選択は、図１のネットワーク・デバイス１０〜１６の一つの選択のような基準デバイスとしてのネットワーク・デバイスの選択が行われ、あるいは、図６のデバイス６０によりに選択される。変形実施形態によると、集中型であろうと非集中型であろうと、この選択は、集中型サーバ（集中型変形）または図１のデバイス１０〜１６（非集中型変形）等、他のネットワーク・デバイスの一つにより行われる。非集中型変形の変形実施形態によると、ステップ７０１のリクエストを受信するデバイスは、ステップ７０２の基準デバイスを選択するデバイスと同一のデバイスではなく、これはこのステップ（ステップ７０１）が図１のサーバ１７等、集中型サーバに委ねられた場合である。基準デバイスは任意に選択され、あるいは変形実施形態により、利用可能なデバイスの決定的なラウンドロビン選択を介して選択される。そしてステップ７０３では、その可用性が基準デバイスの可用性と逆相関関係があるデバイスが残りのデバイス、すなわち基準デバイスを除外したネットワーク・デバイスから選択される。例えば、図１のデバイス１０が基準デバイスである場合、残りのデバイスはデバイス１１〜１６である。この逆相関関係があるデバイス（または「完全な」逆相関関係があるデバイスを見つけることは困難または不可能な場合もあるため、ネットワークに見つけることが可能な場合もある、より逆相関関係があるデバイス）は、ネットワーク・デバイスとして知られている可用性データにより選択される。２つ以上の逆相関関係があるデバイスが選択される場合は、これらは基準デバイスｉとより逆相関関係がある（複数の）デバイスのリストのそのランクに従い、繰り返し選択される。かかる可用性データは、特定期間、ネットワーク・デバイスについて測定された可用性を表している。本発明の特定の実施形態によると、可用性データは、各ネットワーク・デバイス自体により得られる。本発明の変形実施形態によると、可用性データは、ネットワーク・デバイスの可用性の挙動を監視することから、セントラルサーバにより得られる。本発明の更に別の変形によると、可用性データは、図１のサーバ１７等、セントラルサーバから得られ、これはデバイス自体により測定された、デバイスからの可用性データを収集する。逆相関関係の概念については既に説明した。選択された逆相関関係がある（複数の）デバイスは、複製セットとしても言及されたステップ７０１のデータ追加リクエストのデータ項目を記憶するのに使用される１セットのデバイスに追加される。この複製セットは、ＩＰ／ポートアドレス等、各個々のデバイスをアドレス指定することを可能にする識別子により表され、特定の実施形態によると集中型サーバに記憶され、例えば、分散型データ記憶ネットワークに記憶された各々の特定のデータ項目のために、関連付けられた複製セットが記憶され、あるいは変形実施形態によると、基準デバイス等、他のネットワーク・デバイスの一つに記憶される。複製セットは、所定のデータ項目と関連付けられ、これによりいずれのデバイスが所定のデータ項目を記憶するかを決定することができる。本発明の特定の実施形態によると、可用性データは、図２のベクトル２４等、ベクトルの形式で記憶され、ここでは各要素は、例えば１時間のように単位時間を表しており、ベクトルの要素の数は、２４時間など時間帯を表している。ベクトルの要素は、対応するデバイスが対応する単位時間中に利用できなかったか否かを示す値で充たされている。例えば、ベクトル[５]＝＋１の場合、対応するネットワーク・デバイスは、午前５：００〜５：５９に利用可能であった。ベクトル[１１]＝−１の場合、対応するネットワーク・デバイスは、午前１１：００〜１１：５９に利用不可能であった。あるいは更に前記の変形実施形態によると、２進値１は可用性を示し、２進値０は非可用性を示す。特定の実施形態によると、ベクトルの値を設定することを可能にするしきい値が設定される。例えばしきい値は単位時間の半分に設定され、２０分間のみ利用可能であったデバイスについては、（選択された変形実施形態「ｘｏｒ」または「角度」により）ベクトルの対応する要素が二進値０あるいは−１の値に設定される。
【００４４】
そしてステップ７０４では、ネットワーク・デバイスが選択される。そして選択されたデバイスは、複製セットに追加される。相関関係の概念は既に説明した。次のステップ７０５では、データ項目は複製セットのデバイスに複製され（コピーされる）、アルゴリズムはステップ７０１の繰り返しを継続する。各ステップ７０４では、ｋ／２の装置は、複製セットに選択され、一方でｋ／２の相関関係がある装置は後に再び選択される（これは前記「グループ」変形である）。変形実施形態（前記「修正」変形）によると、一つのデバイスはステップ７０４の各々で選択され、ステップ７０２〜７０４はｋ個のデバイスが選択されるまで繰り返され、この結果双方の変形では、異なる態様ではあるが、所望の複製ファクターが得られる。「グループ」および「修正」変形の各々は、既に考察したように、独自の利点を有する。
【図１】
2013542487.tif 000006
【図２】
2013542487.tif 000007
【図３】
2013542487.tif 000008
【図４】
2013542487.tif 000009
【図５】
2013542487.tif 000010
【図６】
2013542487.tif 000011
【図７】
2013542487.tif 000012
【国際調査報告】
2013542487.tif 000013
2013542487.tif 000014