JP2013542487A - 分散型データ記憶システムにデータを記憶する方法およびこれに対応する装置 - Google Patents

分散型データ記憶システムにデータを記憶する方法およびこれに対応する装置 Download PDF

Info

Publication number
JP2013542487A
JP2013542487A JP2013528709A JP2013528709A JP2013542487A JP 2013542487 A JP2013542487 A JP 2013542487A JP 2013528709 A JP2013528709 A JP 2013528709A JP 2013528709 A JP2013528709 A JP 2013528709A JP 2013542487 A JP2013542487 A JP 2013542487A
Authority
JP
Japan
Prior art keywords
availability
selection
network device
network
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013528709A
Other languages
English (en)
Other versions
JP2013542487A5 (ja
JP5813771B2 (ja
Inventor
ケンペン,アレクサンドル ヴアン
メレール,アーワン ル
ストローブ,ジル
ケルマレツク,アンヌ−マリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2013542487A publication Critical patent/JP2013542487A/ja
Publication of JP2013542487A5 publication Critical patent/JP2013542487A5/ja
Application granted granted Critical
Publication of JP5813771B2 publication Critical patent/JP5813771B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は一般的に分散型データ記憶システムに関する。特に本発明は、ネットワークノード間のデータの交換に必要な帯域幅、およびデータの項目を記憶するのに必要なネットワークノードの数を考慮して、高度なデータ可用性と、ネットワークおよびデータ記憶リソースに対する低影響を組み合わせた分散型データ記憶システムにおけるデータ配置の方法に関する。

Description

本発明は一般的に分散型データ記憶システムに関する。特に本発明は、ネットワークノード間のデータの交換に必要な帯域幅、およびデータの項目を記憶するのに必要なネットワークノードの数を考慮して、高いデータ可用性(アベイラビリティ)と、ネットワークおよびデータ記憶リソースに対する低影響を組み合わせた分散型データ記憶システムにおけるデータ配置の方法に関する。
映像および画像処理装置等、大量データ処理装置の配信の急速な拡大と共に、直接の記憶のため、又はバックアップ記憶の一部として、大量のデータの確実な記憶が必要となる。ネットワーク接続性を備えるデバイスが増加すればする程、ネットワーク接続型デバイスにおけるデータの分散型記憶は、費用効率が高い解決手段として検討されている。インターネットにおけるような管理外ネットワーク上に配備可能な分散型データ記憶システムにおいては、データ可用性およびデータ損失に対する復旧を確保するために、複数のネットワーク接続されたデバイスにデータの同一項目をコピーする方法が開発されてきた。これはデータ複製と呼ばれる。データ複製は、広義で解釈される必要があり、(符号化されたデータが復旧のために記憶装置に配置される場合の)コードの消去または再生成等、符号化技術の利用、並びに単なるデータの複製も対象とする。デバイス故障による永久的データ損失、又は一時的なデバイスの非可用性による一時的なデータ損失の危険に対処するために、高い複製ファクター(すなわち、多数の複製)が望まれる。しかし、通信および必要な記憶サイズを考慮してコスト(いわゆる複製コスト)を削減するためには、低い複製ファクターを有することがむしろ望まれる。
必要な点は、可用性の要件と複製コストを共に考慮した分散型データ記憶の高いデータ可用性を達成する解決手段である。
本発明は、先行技術のいくつかの不都合を緩和することを目的としている。
ピアツーピアネットワーク等、大規模分散型データネットワークにおいては、デバイスは継続的にネットワークに加わり、ネットワークから離れる。各デバイスは、その独自の切断および接続挙動を有する。例えば特定のデバイスは常に接続されており、一方で他のデバイスは日中のみ接続され、夜間は切断され、他方で他のデバイスは、より任意の接続挙動を有している。
インターネット接続ゲートウエイに基づくピアツーピアネットワークについては、遠隔通信オペレータによりそのサービスの加入者に提供するゲートウエイは、ピアとみなされ、当該加入者は、夜間または不在中は自由にスイッチオフすることができる。
分散型データ記憶システムのピア又はデバイスがスイッチオフされ、あるいは機能しない場合は、そこに記憶されたデータはもはや利用できない。データの特定の項目を記憶する全てのデバイスがスイッチオフされ、あるいは機能しない場合は、データ項目はもはや利用できず、データ項目は、スイッチオフされたデバイスが再度スイッチオンされるまでの時間、あるいは各々修理される時間は、少なくとも喪失しているものとみなされる。よってこの時間は、記憶されたデータの可用性は保証されない。データ複製ファクターを増加することは、この課題に対する可能な解決手段であるが、データ通信および必要なデータ記憶サイズの点でデータ記憶コストに大きく影響する。
本発明の目的は、分散型データ記憶システムの一部であるデバイス上のデータの分散に対する特定の公平性を考慮しつつ、所定(所望)の可用性のためにする複製ファクターおよび記憶コストのトレードオフを最適化することである。
これについては、本発明は、デバイスの可用性の知見に基づくデータ複製のデバイスセットの選択を提案している。本発明の特定の実施形態によると、この可用性の知見は、ネットワーク・デバイスによるネットワークの監視、あるいはいくつかのネットワーク・デバイス自体によってのみ得られる。変形実施形態によると、この知見は、インターネットサーバなどのネットワークのサーバの一つから得られた分散型データ記憶ネットワークに対する接続の測定によって得られる。可用性の知見を得る方法は、能動的あるいは受動的なものがあり、能動的方法の一例は、分散型データ記憶システムの集中型サーバにより記憶された接続ログを使用することである。デバイスは、故障により一時的または永続的に切断される際には、利用不可とみなされる。
分散型データ記憶システムにデータを記憶することを最適化するために、本発明は、少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する方法を提案する。デバイスが記憶装置として少なくとも使用されることは、デバイスが分散型記憶ネットワークのための記憶装置として使用されるが、音声および映像番組の受信等、他の目的でも同時に使用できることを意味する。一例として、デバイスは、音声および映像番組の受信のためのセットトップボックス、外部ネットワークにアクセスを提供するゲートウエイ、パーソナル・コンピュータ、ハンドヘルドのモバイルデバイスであってもよい。当該方法は、分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信するステップと;基準デバイスとしての第1のネットワーク・デバイスの第1の選択を行い、基準デバイスの時間経過中の可用性と非可用性を決定するステップと;少なくとも一つの第2のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第2のネットワーク・デバイスの第2の選択を行うステップと;少なくとも一つの第3のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第3のネットワーク・デバイスの第3の選択を行うステップと;第2および第3の選択ステップで選択された少なくとも一つの第2および第3のネットワーク・デバイスにデータ項目を記憶するステップを含んでいる。
変形実施形態によると、kは、データ項目が複製されるネットワーク・デバイスの数であり、kはデータ項目を記憶するためのリクエストで特定され、第1、第2、第3の選択ステップは、データ項目が少なくともk個のネットワーク・デバイスに複製されるまで繰り返され、基準デバイスの第1の選択ステップは、当該方法のこれまでの繰り返しにおいて基準デバイスとして既に選択されているネットワーク・デバイスの選択を除外する。
変形実施形態によると、kは、データ項目が複製されるネットワーク・デバイスの数であり、kはデータ項目を記憶するためのリクエストで特定され、第2、第3の選択ステップは、データ項目が少なくともk個のネットワーク・デバイスに複製されるまで繰り返される。
変形実施形態によると、非可用性は、各要素が単位時間を表すベクトル(24)として記憶され、このときベクトル(24)の要素の数は時間間隔を表し、各要素の値は、ベクトル(24)が関連付けられるネットワーク・デバイスの単位時間中の可用性を表し、第1の所定の要素の値は可用性を表し、第2の所定の要素の値は非可用性を表す。
変形実施形態によると、第1の所定の要素の値は、正の所定の値であり、第2の所定の値は、負の所定の値である。基準デバイスの非可用性の関数としての第2のネットワーク・デバイスの選択は、ベクトル(24)のうち2つの間の角度の算定により決定される逆相関のレベルにより決定され、2つのベクトル(24)には、角度が0に近づく際に強い相関関係があり、2つのベクトル(24)には、角度がπに近づく際に強い逆相関関係があり、角度の値は逆相関のレベルを表す。
変形実施形態によると、角度は以下により算定される。
Figure 2013542487
ここで、θは角度であり、xおよびyは、2つのベクトルである。
変形実施形態によると、第1の所定の要素の値は、二進法の1であり、第2の所定の要素の値は、二進法の0であり、逆相関のレベルは、ベクトル(24)のうち2つの間の論理ブーリアンXOR演算の算定を介して決定される。論理ブーリアンXOR演算の結果が、2つのベクトル(24)の各々の要素の数に近づく非常に多くの1’sを有する場合は、2つのベクトル(24)には強い逆相関関係があり、論理ブーリアンXOR演算の結果が、0に近づく多くの1’sを有する場合は、2つのベクトル(24)には強い相関関係があり、ブーリアンXOR演算の結果における1’sの数は、逆相関のレベルを表す。
変形実施形態によると、基準ネットワーク・デバイスは、ネットワーク・デバイスから任意に選択される。
変形実施形態によると、基準ネットワーク・デバイスは、ネットワーク・デバイスから確定的に選択される。一例としてラウンドロビン選択は、確定的な選択である。
分散型データ記憶システムにデータを記憶することを最適化するために、本発明は、少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する装置を備え、前記装置は、分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信する受信手段と;基準ネットワーク・デバイスとして第1のネットワーク・デバイスの第1の選択を行う選択手段、及び基準デバイスの時間経過中の可用性と非可用性を決定する手段と;第2のネットワーク・デバイスの時間経過中の可用性と、基準ネットワーク・デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第2のネットワーク・デバイスの第2の選択を行う選択手段と;少なくとも一つの第3のネットワーク・デバイスの時間経過中の可用性と、基準ネットワーク・デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第3のネットワーク・デバイスの第3の選択を行う選択手段と;第2の選択のための選択手段および第3の選択のための選択手段により選択されたネットワーク・デバイスに、データ項目を記憶する記憶手段を備えている。
本発明の特定の非限定的実施形態の記述を介して、本発明のより多くの利点が明らかになるであろう。
実施形態は、以下の図を参照して記述される。
図1は、本発明の特定の変形を実装するのに適した分散型記憶ネットワークアーキテクチャを示している。 図2は、デバイス上の可用性データまたは図1のデバイス10〜16の一つ等、分散型記憶装置上の可用性データが数学的ベクトル構造を表すn次元配列に記憶されている場合の発明の変形実施形態を示している。 図3は、24時間時系列35に関連する2つのデバイスの可用性を示している。 図4は、4つの複製装置を備えた本発明の特定の実施形態を記述している。 図5は、複製装置が任意に選択される場合、本発明の動作を先行技術による解決手段の動作と比較したグラフを示している。 図6は、本発明の方法を実施するデバイスの例示的実施形態を示している。 図7は、例えば、図1のデバイス10〜16の一つにより実行される本発明の方法の特定の実施形態を実行するアルゴリズムを示している。
図1は、本発明の特定の変形を実行するのに適した分散型記憶ネットワークアーキテクチャを示している。当該図面は、ネットワーク・デバイス10、11をネットワーク1003に接続するゲートウエイ12、サーバ17,ネットワーク・デバイス15、16をネットワーク1003に接続する他のゲートウエイ14、ネットワーク1003に直接接続されたネットワーク・デバイス13を示している。デバイス10〜16の全てまたは一部のみは、データを記憶する容量および分散型記憶ネットワークの構成員により、分散型記憶ネットワークの分散型記憶装置とみなしてもよい。
図1に記述された以外の他のタイプのネットワークは、本発明に対応可能である。例えば、1つ以上ネットワーク切替ノードを有するネットワーク、1つ以上のサブネットワークを有するネットワーク、無線ネットワーク・デバイスを接続するネットワークである。
本発明は、ホームネットワークをインターネットに接続するホームゲートウエイ、Webサーバ、ビデオサーバ、(ハンドヘルドか否かを問わず)無線デバイス等のいずれかのタイプのネットワーク・デバイスで実装可能である。
図2は、ピアまたはデバイス10〜16の一つ等、分散型記憶装置上の可用性データが数学的ベクトル構造を表すn次元配列に記憶されている場合の本発明の特定の実施形態を示している。横線20―21―22は、時系列23に関連した分散型記憶装置の可用性を表している。ここで記述された特定の実施形態によると、24時間についてのn=24は、サンプル期間としても以下に言及される。点線20および22は、例えばデバイスがスイッチオフされるため、分散型記憶装置がアクセスできない場合、すなわちデバイスが利用できない場合の24時間時系列23上の時間またはタイムラップを表す。実線21は、分散型記憶装置上のデータがアクセスできる場合、すなわちデバイスが利用できる場合のタイムライン23の時間またはタイムラップを表す。変形実施形態によると、デバイスの可用性に関する知見は、これ以降「サンプル時間」と称される1時間サンプルに分割される。各サンプルは、24時間スケール上の特定の時間帯に対応している。本発明の特定の実施形態によると、毎時につき、デバイスが当該時間中は利用可能である場合(すなわちこれがネットワークに接続されている場合、あるいは変形によると、そのデータがアクセス可能である場合)、ベクトルの対応する指数が正の所定の値+1に設定される。デバイスがサンプル期間中、利用不可能であった場合は、対応する指数は−1等、負の所定の値に設定される。1時間のサンプル時間および24のサンプル期間は、本発明の原理を記述する単なる具体例であることは明白である。他のサンプル時間および期間も可能であり、比較すると種々の利点および不利な点がある。例えばベクトルは、一日について可用性データを記憶するのに十分な24の要素数を有しており、7日間について24*7の要素数を有している。サンプル時間および期間の決定は、(算定および通信に)利用されるネットワーク資源とデータの正確性の間のトレードオフの一部である。
変形実施形態によると、サンプル時間および/またはサンプル期間は予め定められる。更に有利な実施形態によると、サンプル時間およびサンプル期間は、分散型データ記憶システムの接続挙動の測定後に決定される。そして最良のサンプル時間およびサンプル期間は、デバイスの非可用性の最良の再発期間を捉えるこれらの測定から決定できる。例えば、サンプル期間が一週間に設定される場合、周期的な日中/夜間および週末の可用性/非可用性の交替に起こるように、再発が観察されてもよい。変形実施形態によると、分散型記憶装置は、協調的な手法で良好なサンプル時間および期間を決定するタスクを実行でき、これにより集中型サーバはこのタスクから解放される。
このように各デバイスは、既に記述したフォーマット等、共通フォーマットによると、独自の可用性ベクトルを有している。変形実施形態によると、各デバイスは、独自の可用性ベクトルを記憶する。この変形は、デバイス可用性の集中管理を回避し、デバイスと集中型可用性記憶装置の通信の必要性を減じるという利点がある。
ここでの目的は、データが複製セットに複製される際に、全サンプル期間中に当該セットのうち少なくとも一つのデバイスの可用性を介して、データの可用性を確保するデバイスセットを構築することである。一つの例が図3に記述されている。当該図面は、24時間時系列35と関連したデバイス1(30〜31)およびデバイス2(32〜33)の可用性を図示している。点線30および33は、デバイスが利用できないことを示している。実線31および32は、デバイスが利用可能であることを示している。線34は、デバイス1およびデバイス2を含む一組のデバイスが選択される場合は、データ項目の可用性は100%であるため、前記デバイスセットは、良好な複製セットであることを示している。本発明の変形実施形態によると、良好な複製セットを決定するために、本発明は、以下の式により、前記複製セットが選択されるもととなるデバイスの可用性ベクトル間の角度を測定することを含んでいる。
Figure 2013542487
この式は、ベクトルxとベクトルyの間の角度の値を与えている。角度が0に近づくと、(複数の)ベクトルには相関関係がある。角度がπに近づくと、(複数の)ベクトルには逆相関関係がある。逆相関関係がある2つのベクトルは、反対の挙動を有する2つのデバイス、例えば、日中は一意的に利用可能である一つのデバイスと、夜間に一意的に利用可能な他のデバイスを表している。そして所定の可用性ベクトルを備えた所定のデバイスについて、所定のデバイスと相関性が最も高い可用性ベクトルを有する少なくとも一つのデバイスと、所定のデバイスと逆相関性が最も高い可用性ベクトルを有する少なくとも一つのデバイスを複製セットとして選択する場合、サンプル期間は、複製セットを備えるために、デバイスの任意の選択の先行技術による方法よりも良好な動作で充たされている。先行技術によると、複製セットのデバイスの数を増加することにより、同等または低いレベルの可用性でさえ得られる。
本発明の変形実施形態によると、相関関係および逆相関関係にある(複数の)デバイスは、ベクトル間の角度により、前記したごとく検出されず、むしろ二値論理演算によって検出される。前記変形実施形態のように、デバイスの可用性データはベクトルに変換され、このとき各指数はサンプル時間、例えば1時間を表し、ベクトルの長さはサンプル期間、例えば24時間を表す。しかしベクトルが前記変形実施形態により+1または−1で充たされている場合、本変形実施形態では、ベクトルは(複数の)ゼロと(複数の)1で充たされており、0はサンプル期間中、非可用性を示し、1はサンプル時間中に可用性を示している。例えば、
デバイスi: 010110010010010100100100
完全な逆相関関係があるデバイス:1010011011011011011
本変形実施形態によると、デバイスiの完全な逆相関関係があるデバイスは、デバイスiが0’sを有している場合は、論理的な1’sを有するデバイスであり、デバイスiが1’sを有している場合は、論理的な0’sを有するデバイスである。この変形実施形態によると、逆相関関係があるデバイス間の選択は、デバイスiの可用性ベクトルと逆相関の候補の可用性ベクトルの間で論理XOR演算の結果を比較することにより行われる。XOR演算の結果が有する1’sが多いほど、デバイスはより逆相関関係がある。この方法により、装置iと可用性についての重複を最小限にするデバイスと、基準デバイスiの可用性についてのギャップを埋めることになる。ベクトル間の角度の測定に基づく前記変形実施形態のように、本変形実施形態は、データは間断なくサンプル期間中に利用可能なデバイスのうち限定的に選択されたものにデータを不十分に配信する結果とせずに、分散型データ記憶システムに十分にデータを配信することにより、種々のデータ項目に関連付けられ複製セットに含まれるデバイスの区別により、グループ化されたデータ損失のリスクをより良好に分散させる、という利点がある。測定された角度が逆相関のレベルを表す場合の前記「角度」変形実施形態のように、本変形実施形態では、2つのデバイスの可用性ベクトルの間のXOR演算の結果の1’sの数は、逆相関のレベルについての測定である。例えば、ベクトルが24の要素を有している場合、24の1’sは、逆相関の最も高い可能な(完全な)レベルを表し、ゼロの1’sは、逆相関の最も低い可能なレベルを表している。中間の数は、逆相関の中間レベルを表している。逆相関のレベルは、いずれか所定の寸法、例えば、単純な算術演算を適用することにより、1〜10のスケールで拡大縮小できる。
本発明の上記変形実施形態は、デバイスの可用性の動作の特定の予測可能性を提案していることは明白である。なぜなら、当該実施形態は、過去に測定された可用性データを利用しているからである。しかし、テストにより、実際上、デバイスの可用性の動作は、24時間や7日という期間中等、ある程度周期的であることが立証された。デバイスの可用性の挙動がある程度予測不可能である場合、本発明の方法は、記憶装置の純粋に任意な選択方法と同様に良好な可用性を依然として取得する。なぜなら、各基準装置iは既に述べたように、任意に選択されるからである。
図4は、4つの複製装置の一例を参照して本発明の特定の実施形態を記述している。参照用に使用される所定のデバイスi(40)に関する本変形実施形態によると、2つのデバイス1(41)およびデバイス2(42)は、基準デバイスi(40)の可用性ベクトルと最適に相関する可用性ベクトルにより選択され、2つのデバイス3(43)およびデバイス4(44)は、基準デバイスi(40)の可用性ベクトルと最適に逆相関する可用性ベクトルにより選択され、すなわち換言すれば、デバイス1および2は、時間経過中のそれらの可用性と、基準デバイスの時間経過中の可用性との対応関係の関数として選択され、他方でデバイス3および4は、時間経過中のそれらの可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として選択される。かかる逆相関関係がある可用性の挙動を備えたデバイスを選択する利益は、デバイスi(40)およびiと相関関係がある(複数の)デバイス1および2が利用できない時間領域により残されたギャップを逆相関関係がある(複数の)デバイスが埋める、という事実に存する。データは、選択されたデバイス1〜4に複製される。本発明の変形実施形態は、以下「グループ」変形と称され、デバイスjは、複製ファクターkを備える記憶ネットワークに入るデータの項目を記憶することを所望し、デバイスnは、デバイスi(基準デバイス)を任意に選択する。デバイスj、または更に別の変形実施形態によると基準デバイスi、または変形実施形態によるとサーバは、デバイスiと相関関係がある一定数のデバイス、およびデバイスiと逆相関関係がある一定数のデバイス(「一定数」は、所望の複製ファクターkに左右され、デバイスのこの選択は、基準デバイスiの選択ステップを除外したデバイスの選択ステップを繰り返すことに帰着する)を選択し、データ項目をこれらのデバイスに複製して所望の複製ファクターkを達成する。上記実施例によると、複製ファクターk=4、すなわちデータ項目は4つの記憶装置の各々に複製される。
一定数の相関関係がある(複数の)デバイスおよび一定数の逆相関関係がある(複数の)デバイスを選択する代わりに、「修正」変形として更に言及される他の変形実施形態によると、iと逆相関関係がある単一のデバイスが選択される。データ項目は、これらのデバイスに複製され、k>2のとき、「新規な」基準デバイスiの選択、iと逆相関関係がある新規なデバイスのサーチ、およびデータ項目のこれらのデバイスへの複製を伴うプロセスが繰り返される。このプロセスはkが達成されるまで繰り返され、デバイスのこの選択は、基準デバイスiの選択を含むデバイスの選択ステップを繰り返すことに帰着する。
双方の変形は、先行技術に対する改良であり、「グループ」変形は、(nという適正な値に代えて)nのうちt個の符号化ブロックを常に備えることに特に適しており、これは、例えば不具合に対処するために、nのうちt個の消去コードブロックの可用性を必要とする消去コードに非常に良く適合している。「グループ」変形は、いくつかの時間ギャップを常に生じさせる可能性があるため、すなわちデータの所定の項目を記憶する利用可能な少なくとも一つのデバイスが常に存在する、という保証が修正変形より少ないため、「修正」変形は、データ項目の少なくとも一つのコピーを継続的に利用可能に保つためにより効果的である。
上記したように、本発明の変形実施形態によると、デバイス「j」がデータを記憶するために分散型データ記憶システムに加わると、システムは、相関関係および逆相関関係がある(複数の)デバイス基準デバイスを備えた複製セットの決定の根拠として機能する基準デバイス「i」を決定する。上記で考察した変形実施形態によると、基準デバイス「i」は、ネットワークの集中型サーバにより任意に選択される。他の変形実施形態によると、基準デバイス「i」は確定的な態様で決定され、これにより2回以上の同一の基準デバイスとならないことが保証され、この結果、ネットワークに対するより良好なデータの配信がなされる。更に本発明の他の特定の実施形態によると、双方の変形は組み合わされ、これにより、以前に選択された基準デバイスが除外された1組のデバイスから基準デバイスiを任意に選択し、分散型データ記憶ネットワークに対するデータの良好な配信までなされる結果となる。
本発明の変形実施形態によると、複製の数は、全サンプル期間を「カバーする」ために複製セットの動作に左右される。この変形によると、既に選択されたデバイスセットの結果として生じる可用性と逆相関関係がある(複数の)デバイスを検出するステップは、もはや可用性のギャップがなくなるまで繰り返される。
図5は、データ項目の複製のためのデバイスが任意に選択される場合の先行技術による解決手段の動作と、本発明の動作とを比較したグラフを示している。グラフはシミュレーションデータに基づいている。ここから理解できるように、98%の可用性を得るために、先行技術による任意の複製セットは、8つのデバイスを設けており(グラフ54、点52)、他方で本発明の方法により、5つのデバイスのみが必要となる(グラフ53、点51)。
図6は、特定の実施形態による本発明を実装することのできるデバイスを記述している。デバイスは、本発明の特定の変形を実装するデバイスであってもよく、あるいは、本発明の特定の変形を実装するための専用サーバ、あるいは専用でないサーバ等、本発明の特定の変形を実装する、特定の集中型デバイスであってもよい。
デバイス60は、読み出し専用メモリ(ROM)600、ランダムアクセスメモリ(RAM)610、中央処理装置(CPU)620、クロック630、ネットワークインターフェース640、グラフィックインターフェース650、ユーザインターフェース660を備えている。これらの構成要素はすべて、データおよび通信バス670を介して相互接続されている。CPU620は、メモリゾーン601のROM600に記憶されたプログラムによりデバイス60を制御する。クロック装置630は、デバイス60の構成要素に共通タイミングを提供し、構成要素の動作を順序付け、同期する。ネットワークインターフェース640は、接続6000を介して外部装置とデータを送受信する。グラフィックインターフェース650は、接続6001を介して外部再現装置に接続されている。ユーザインターフェース660は、接続6002を介してユーザから入力コマンドを受信する。ROMメモリ領域601は、本発明の方法を実施する命令を有している。デバイス60の電源をオンにすると、CPU620は、プログラム「Prog」をROMメモリ領域601からRAMメモリ領域611にコピーし、コピーされたプログラムを実行する。コピーされたプログラムの実行時にプログラムは実行に必要な変数のためのメモリ領域を、RAMメモリ領域615に割り当て、デバイスアドレスのリスト602、デバイス可用性ベクトル603、デバイスセット604を各々のRAMメモリ612〜614にコピーする。デバイス60はここで動作可能となり、データ項目の記憶のリクエストの受信時に、本発明の方法は作動し、当該方法は、ROM600メモリ領域601に記憶されたプログラムの一部となる。ネットワークインターフェース(640)は、データ項目を記憶するためのリクエストを受信するための受信手段として機能する。CPU(620)は特に、基準デバイスとしてネットワーク・デバイスの一つの最初の選択を行う選択手段として機能する。CPU(620)は、基準ネットワーク・デバイスについて決定された可用性と逆相関関係がある、所定の時間中は可用性を有する少なくとも一つのネットワーク・デバイスの第2の選択を行う選択手段としても機能する。CPU(620)は、データ項目の記憶のための複製セットに少なくとも一つの選択されたネットワーク・デバイスを追加する手段として機能する。ROMメモリ600およびRAMメモリ610は、複製セットのネットワーク・デバイスにデータ項目を記憶する記憶手段である。
変形実施形態によると、本発明は、専用構成要素(例えば、ASIC、FPGA又はVLSI)(各々、<<アプリケーション専用集積回路>>、<<フィールド・プログラマブル・ゲート・アレイ>>、<<大規模集積回路>>)、あるいはデバイス及びハードウエアとソフトウエアの混合の形式で集積された特有の電子部品としてハードウエアに全体的に実装される。
図7は、例えば、図1のデバイス10〜16の一つにより、あるいは図6のデバイス60により実装される、本発明の方法の特定の実施形態のアルゴリズムを示している。アルゴリズムは、使用される変数が初期化される初期化ステップ700により開始する。そしてステップ701では、分散型データ記憶システムにデータを記憶するためのリクエストが受信される。特定の変形実施形態によると、当該リクエストは、図1のサーバ17等、本発明のステップを実行する集中型サーバにより受信される。この変形実施形態は更に、「集中型」変形実施形態と称される。そしてステップ702では、選択は、図1のネットワーク・デバイス10〜16の一つの選択のような基準デバイスとしてのネットワーク・デバイスの選択が行われ、あるいは、図6のデバイス60によりに選択される。変形実施形態によると、集中型であろうと非集中型であろうと、この選択は、集中型サーバ(集中型変形)または図1のデバイス10〜16(非集中型変形)等、他のネットワーク・デバイスの一つにより行われる。非集中型変形の変形実施形態によると、ステップ701のリクエストを受信するデバイスは、ステップ702の基準デバイスを選択するデバイスと同一のデバイスではなく、これはこのステップ(ステップ701)が図1のサーバ17等、集中型サーバに委ねられた場合である。基準デバイスは任意に選択され、あるいは変形実施形態により、利用可能なデバイスの決定的なラウンドロビン選択を介して選択される。そしてステップ703では、その可用性が基準デバイスの可用性と逆相関関係があるデバイスが残りのデバイス、すなわち基準デバイスを除外したネットワーク・デバイスから選択される。例えば、図1のデバイス10が基準デバイスである場合、残りのデバイスはデバイス11〜16である。この逆相関関係があるデバイス(または「完全な」逆相関関係があるデバイスを見つけることは困難または不可能な場合もあるため、ネットワークに見つけることが可能な場合もある、より逆相関関係があるデバイス)は、ネットワーク・デバイスとして知られている可用性データにより選択される。2つ以上の逆相関関係があるデバイスが選択される場合は、これらは基準デバイスiとより逆相関関係がある(複数の)デバイスのリストのそのランクに従い、繰り返し選択される。かかる可用性データは、特定期間、ネットワーク・デバイスについて測定された可用性を表している。本発明の特定の実施形態によると、可用性データは、各ネットワーク・デバイス自体により得られる。本発明の変形実施形態によると、可用性データは、ネットワーク・デバイスの可用性の挙動を監視することから、セントラルサーバにより得られる。本発明の更に別の変形によると、可用性データは、図1のサーバ17等、セントラルサーバから得られ、これはデバイス自体により測定された、デバイスからの可用性データを収集する。逆相関関係の概念については既に説明した。選択された逆相関関係がある(複数の)デバイスは、複製セットとしても言及されたステップ701のデータ追加リクエストのデータ項目を記憶するのに使用される1セットのデバイスに追加される。この複製セットは、IP/ポートアドレス等、各個々のデバイスをアドレス指定することを可能にする識別子により表され、特定の実施形態によると集中型サーバに記憶され、例えば、分散型データ記憶ネットワークに記憶された各々の特定のデータ項目のために、関連付けられた複製セットが記憶され、あるいは変形実施形態によると、基準デバイス等、他のネットワーク・デバイスの一つに記憶される。複製セットは、所定のデータ項目と関連付けられ、これによりいずれのデバイスが所定のデータ項目を記憶するかを決定することができる。本発明の特定の実施形態によると、可用性データは、図2のベクトル24等、ベクトルの形式で記憶され、ここでは各要素は、例えば1時間のように単位時間を表しており、ベクトルの要素の数は、24時間など時間帯を表している。ベクトルの要素は、対応するデバイスが対応する単位時間中に利用できなかったか否かを示す値で充たされている。例えば、ベクトル[5]=+1の場合、対応するネットワーク・デバイスは、午前5:00〜5:59に利用可能であった。ベクトル[11]=−1の場合、対応するネットワーク・デバイスは、午前11:00〜11:59に利用不可能であった。あるいは更に前記の変形実施形態によると、2進値1は可用性を示し、2進値0は非可用性を示す。特定の実施形態によると、ベクトルの値を設定することを可能にするしきい値が設定される。例えばしきい値は単位時間の半分に設定され、20分間のみ利用可能であったデバイスについては、(選択された変形実施形態「xor」または「角度」により)ベクトルの対応する要素が二進値0あるいは−1の値に設定される。
そしてステップ704では、ネットワーク・デバイスが選択される。そして選択されたデバイスは、複製セットに追加される。相関関係の概念は既に説明した。次のステップ705では、データ項目は複製セットのデバイスに複製され(コピーされる)、アルゴリズムはステップ701の繰り返しを継続する。各ステップ704では、k/2の装置は、複製セットに選択され、一方でk/2の相関関係がある装置は後に再び選択される(これは前記「グループ」変形である)。変形実施形態(前記「修正」変形)によると、一つのデバイスはステップ704の各々で選択され、ステップ702〜704はk個のデバイスが選択されるまで繰り返され、この結果双方の変形では、異なる態様ではあるが、所望の複製ファクターが得られる。「グループ」および「修正」変形の各々は、既に考察したように、独自の利点を有する。

Claims (10)

  1. 少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する方法であって、
    前記分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信するステップ(701)と、
    基準デバイスとしての第1のネットワーク・デバイスを選択する第1の選択ステップ(40)、および前記基準デバイスの時間経過中の可用性と非可用性の決定ステップと、
    少なくとも一つの第2のネットワーク・デバイスの時間経過中の可用性と、前記基準デバイスの時間経過中との可用性との対応関係の関数として、少なくとも一つの第2のネットワーク・デバイスを選択する第2の選択ステップ(41、42)と、
    少なくとも一つの第3のネットワーク・デバイスの時間経過中の可用性と、基準デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第3のネットワーク・デバイスを選択する第3の選択ステップ(43、44)と、
    前記第2および前記第3の選択ステップで選択された少なくとも一つの第2および少なくとも一つの第3のネットワーク・デバイスに、前記データ項目を記憶するステップ(705)と、を含む、方法。
  2. kは、前記データ項目が複製されるネットワーク・デバイスの数であり、kは、前記データ項目を記憶するための前記リクエストで特定され、前記第1、前記第2、前記第3の選択ステップは、前記データ項目が少なくともk個のネットワーク・デバイスに複製されるまで繰り返され、基準デバイスの前記第1の選択ステップは、当該方法のこれまでの繰り返しにおいて基準デバイスとして既に選択されているネットワーク・デバイスの選択を除外する、請求項1に記載の方法。
  3. kは、前記データ項目が複製されるネットワーク・デバイスの数であり、kは前記データ項目を記憶するための前記リクエストで特定され、前記第2および前記第3の選択ステップは、前記データ項目が少なくともk個のネットワーク・デバイスに複製されるまで繰り返される、請求項1に記載の方法。
  4. 前記非可用性は、各要素が単位時間を表すベクトル(24)として記憶され、このとき前記ベクトル(24)の要素の数は、時間間隔を表し、各要素の値は、前記ベクトル(24)が関連付けられるネットワーク・デバイスの前記単位時間中の可用性を表し、第1の所定の要素の値は可用性を表し、第2の所定の要素の値は非可用性を表す、請求項2または3に記載の方法。
  5. 前記第1の所定の要素の値は、正の所定の値であり、前記第2の所定の値は、負の所定の値であり、前記基準デバイスの前記非可用性の関数としての前記第2のネットワーク・デバイスの前記選択は、前記ベクトル(24)のうち2つの間の角度の算定により決定される逆相関のレベルにより決定され、2つのベクトル(24)には、前記角度が0に近づく際に強い相関関係があり、2つのベクトル(24)には、前記角度がπに近づく際に強い逆相関関係があり、前記角度の値は逆相関の前記レベルを表す、請求項4に記載の方法。
  6. 前記角度は以下により算定され、
    Figure 2013542487
    ここで、θは前記角度であり、xおよびyは、前記2つのベクトル(24)である、請求項5に記載の方法。
  7. 前記第1の所定の要素の値は、二進法の1であり、前記第2の所定の要素の値は、二進法の0であり、逆相関のレベルは、前記ベクトル(24)のうち2つの間の論理ブーリアンXOR演算の算定を介して決定され、前記論理ブーリアンXOR演算の結果が、前記2つのベクトル(24)の各々の前記要素の数に近づく非常に多くの1’sを有する場合は、2つのベクトル(24)には強い逆相関関係があり、前記論理ブーリアンXOR演算の前記結果が、0に近づく多くの1’sを有する場合は、2つのベクトル(24)は強い相関関係があり、前記ブーリアンXOR演算の前記結果における1’sの数は、逆相関の前記レベルを表す、請求項4に記載の方法。
  8. 前記基準デバイスは、前記ネットワーク・デバイスから任意に選択される、請求項2〜7のいずれかに記載の方法。
  9. 前記基準デバイスは、前記ネットワーク・デバイスから確定的に選択される、請求項2〜7のいずれかに記載の方法。
  10. 少なくとも記憶装置として使用されるネットワーク・デバイスを備える分散型データ記憶システムにデータを記憶する装置であって、
    前記分散型データ記憶システムにデータ項目を記憶するためのリクエストを受信する受信手段(640)と、
    基準ネットワーク・デバイスとして第1のネットワーク・デバイスの第1の選択(40)を行う選択手段(620)と、前記基準デバイスの時間経過中の可用性と非可用性を決定する手段と、
    第2のネットワーク・デバイスの時間経過中の可用性と、前記基準ネットワーク・デバイスの時間経過中の可用性との対応関係の関数として、少なくとも一つの第2のネットワーク・デバイスの第2の選択(41、42)を行う選択手段(620)と、
    少なくとも一つの第3のネットワーク・デバイスの時間経過中の可用性と、前記基準ネットワーク・デバイスの時間経過中の非可用性との対応関係の関数として、少なくとも一つの第3のネットワーク・デバイスの第3の選択(43、44)を行う選択手段(620)と、
    第2の選択のための前記選択手段および前記第3の選択のための前記選択手段により選択されたネットワーク・デバイスに、前記データ項目を記憶する記憶手段(600、610)と、を備える、装置。

JP2013528709A 2010-09-20 2011-09-20 分散型データ記憶システムにデータを記憶する方法およびこれに対応する装置 Expired - Fee Related JP5813771B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10305999A EP2439907A1 (en) 2010-09-20 2010-09-20 Method of data storing in a distributed data storage system and corresponding device
EP10305999.4 2010-09-20
PCT/EP2011/066256 WO2012038385A2 (en) 2010-09-20 2011-09-20 Method of data storing in a distributed data storage system and corresponding device

Publications (3)

Publication Number Publication Date
JP2013542487A true JP2013542487A (ja) 2013-11-21
JP2013542487A5 JP2013542487A5 (ja) 2014-10-09
JP5813771B2 JP5813771B2 (ja) 2015-11-17

Family

ID=43867181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013528709A Expired - Fee Related JP5813771B2 (ja) 2010-09-20 2011-09-20 分散型データ記憶システムにデータを記憶する方法およびこれに対応する装置

Country Status (6)

Country Link
US (1) US20130275697A1 (ja)
EP (2) EP2439907A1 (ja)
JP (1) JP5813771B2 (ja)
KR (1) KR20130107281A (ja)
CN (1) CN103119913B (ja)
WO (1) WO2012038385A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560361B2 (en) * 2017-01-10 2020-02-11 Wigwag Inc. Distributed database for synchronizing the accessibility of nodes and shared devices
US11240105B2 (en) * 2019-03-26 2022-02-01 International Business Machines Corporation Control of scanning shared resources by devices for software discovery
CN112788060B (zh) * 2021-01-29 2023-07-04 北京字跳网络技术有限公司 数据包传输方法和装置、存储介质和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341961A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> ストレージシステムおよびストレージプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487308B1 (en) * 2003-11-28 2009-02-03 Symantec Operating Corporation Identification for reservation of replacement storage devices for a logical volume to satisfy its intent
UA93028C2 (uk) * 2004-02-06 2011-01-10 Конінклійке Філіпс Електронікс Н.В. Система і спосіб, що використовують протокол розподіленого резервування при керуванні доступом до надширокосмугового середовища передавання даних
US7480817B2 (en) * 2006-03-31 2009-01-20 International Business Machines Corporation Method for replicating data based on probability of concurrent failure
US20080147821A1 (en) * 2006-12-19 2008-06-19 Dietrich Bradley W Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
EP2073120B1 (en) * 2007-12-18 2017-09-27 Sound View Innovations, LLC Reliable storage of data in a distributed storage system
WO2010013152A1 (en) * 2008-07-28 2010-02-04 Koninklijke Philips Electronics, N.V. A group shared distributed reservation protocol
CN101741884B (zh) * 2008-11-25 2012-07-04 华为技术有限公司 一种分布式存储方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341961A (ja) * 2003-05-16 2004-12-02 Nippon Telegr & Teleph Corp <Ntt> ストレージシステムおよびストレージプログラム

Also Published As

Publication number Publication date
US20130275697A1 (en) 2013-10-17
WO2012038385A2 (en) 2012-03-29
EP2439907A1 (en) 2012-04-11
KR20130107281A (ko) 2013-10-01
EP2619962A2 (en) 2013-07-31
CN103119913B (zh) 2016-07-06
JP5813771B2 (ja) 2015-11-17
CN103119913A (zh) 2013-05-22
WO2012038385A3 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
US10867018B2 (en) Secure computation system, secure computation device, secure computation method, and program
Bocchi et al. Personal cloud storage benchmarks and comparison
US20180254998A1 (en) Resource allocation in a cloud environment
JP5836722B2 (ja) データ復元方法及びサーバ装置
KR20060123310A (ko) 시퀀스 관리 장치, 데이터 백업 방법 및 컴퓨터 판독 가능기록 매체
JP6450330B2 (ja) 並列計算処理装置および並列計算処理方法
CN113169889B (zh) 用于将网络切片映射到具有sla保证的网络基础设施上的方法和装置
CN112416881A (zh) 基于区块链的智能终端存储共享方法、装置、介质及设备
CN114356557B (zh) 一种集群扩容方法及装置
JP5813771B2 (ja) 分散型データ記憶システムにデータを記憶する方法およびこれに対応する装置
CN113312663A (zh) 分布式数据存储方法及系统、计算机可读存储介质
Fanti et al. Barracuda: the power of ℓ-polling in proof-of-stake blockchains
US11003508B2 (en) Apparatus and methods for load balancing across a network of nodes
CN108768787B (zh) 一种区块链节点激励方法及装置
Liu et al. Towards a community cloud storage
CN109951506A (zh) 一种存储集群性能的评估方法及设备
CN110504689B (zh) 一种基于云计算技术的电力系统潮流计算方法
JP2011048504A (ja) 認証サーバ間の負荷分散方法及び装置及びプログラム
Pamies-Juarez et al. On the interplay between data redundancy and retrieval times in P2P storage systems
CN116502278B (zh) 一种数据隐私保护方法、系统、计算机设备及介质
CN112422613B (zh) 数据处理方法、数据处理平台和计算机可读存储介质
Rana Barracuda: The power of l-polling in proof of stake blockchains
CN116233057A (zh) 数据传输方法、云中心、边缘节点及存储介质
CN113051297A (zh) 交易数据查询方法、装置、计算机设备和存储介质
Moghadam et al. Short paper: Dynamic online storage allocation for multi-content dissemination in two-tier hybrid mobile vehicular networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140822

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150113

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150916

R150 Certificate of patent or registration of utility model

Ref document number: 5813771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees