JP7389793B2 - 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム - Google Patents
分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム Download PDFInfo
- Publication number
- JP7389793B2 JP7389793B2 JP2021510040A JP2021510040A JP7389793B2 JP 7389793 B2 JP7389793 B2 JP 7389793B2 JP 2021510040 A JP2021510040 A JP 2021510040A JP 2021510040 A JP2021510040 A JP 2021510040A JP 7389793 B2 JP7389793 B2 JP 7389793B2
- Authority
- JP
- Japan
- Prior art keywords
- storage service
- metadata
- data
- data storage
- stored
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims description 166
- 238000000034 method Methods 0.000 title claims description 76
- 238000013500 data storage Methods 0.000 claims description 116
- 230000008569 process Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 39
- 230000009471 action Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 22
- 230000000694 effects Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 6
- 238000000125 metastable de-excitation spectroscopy Methods 0.000 description 20
- 239000000306 component Substances 0.000 description 14
- 230000010076 replication Effects 0.000 description 11
- 239000000370 acceptor Substances 0.000 description 10
- 238000011084 recovery Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005055 memory storage Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000246 remedial effect Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/182—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
Description
本出願は、同一出願人による、2017年3月13日に出願された米国特許出願第15/457,837号、2016年9月26日に出願された15/276,455号、および2008年2月13日に出願された12/069,986号の主題に関し、これら出願のそれぞれの内容全体は参照により本明細書に組み込まれる。
分散システム:分散システムは、空間的に離間させてよい、および、メッセージまたはイベントの交換を通して互いに通信してよい、異なった、コンピューティングおよび/もしくはストレージプロセスならびに/またはデバイスのコレクションを含む。
1つの実施形態によると、DConEは、Paxosアルゴリズムの高度なエンタープライズ版を実施する。Paxosアルゴリズムのもとで、複製状態マシンには、分散システムにおいてそれぞれのノードが設置される(ここで、「ノード」という用語は、プロセスをホストしかつ実行することができる論理または物理エンティティ、例えば、仮想マシンまたは物理マシンを指す)。複製状態マシンはさらにまた、必ずしも同時ではないが、全てのノードにおいて合意の同じ順序を徹底する合意管理に対する協調的アプローチをもたらすピアとして機能する。Paxosアルゴリズムを実施するサーバノードにおける複製状態マシンは、任意の3つの役割、(1)提案部、(2)受け入れ部、および(3)学習部のうちの1つを満たすことができる。Paxosアルゴリズムには、コンセンサスに達するプロセスの間に繰り返されてよい3つのフェーズ:(1)コーディネータまたは提案部とするノードの選定、(2)さらには、提案を受け入れるまたは拒否するのどちらかである学習部の役割を想定するこのピアへのトランザクション提案のブロードキャスト、および、(3)ノードの大部分が、提案部を確認しかつこの提案を受け入れると、コンセンサスに達することが可能になる受け入れ、がある。コーディネータの役割が想定された複製状態マシンはさらにまた、このピアの全てにトランザクションを進めるように通知するコミットメッセージをブロードキャストする。
分散トランザクション処理に対するDConEのアプローチを理解するために、以下に、このアクティブ/アクティブ複製能力をサポートするそれぞれのDConEインスタンスのコアコンポーネント:提案マネージャ、ローカルシーケンサ、合意マネージャ、およびグローバルシーケンサについて詳述する。任意のノードにおける顧客による処理のために分散システムに合意が送信される時、DConEのローカルインスタンスの提案マネージャコンポーネントは、1つのデータを変化させるためのコマンドを含んでよい提案を生成する。DConEインスタンスはさらにまた、提案にローカルシーケンス暗号(LSN)を割り当てる。LSNは、トランザクションが全ての他の合意に対して送信された順序を反映する。LSNは、連続番号である必要はなく、単に一意である。ローカルシーケンサはさらにまた、割り当てられたローカルシーケンス番号を有する提案をこの提案ログにセーブする。後述される合意プロセス中にDConEのローカルインスタンスがこのピアに提案を送信可能になる前にネットワークまたはサーバの停止が生じる場合、回復後その提案は再送信されることになる。
DConEが性能の理由のためにコンカレントな同意をサポートするため、クォーラムが順不同で合意に達することが可能である。すなわち、別のノードで先に送信したが合意に達していない提案の後に送信された提案に対して合意に達することが可能である。
それぞれのサーバノードにおけるロックスケジューラはDConEがサーバノードのそれぞれにおいて実行しているアプリケーションに合意された提案を渡す。ロックスケジューラは、分散ロックマネージャではなくデータベーススケジューラのようにふるまう。「ロックスケジューラ」という用語は、同時制御のためにアプリケーションによって特定されるロックに頼ることで、多数の競合しない合意が並列に処理可能であるという事実によってもたらされる。ロックスケジューラはグローバル順序に関してとらわれない。ロックスケジューラがそれぞれのサイトで根本的なアプリケーションにトランザクションを送信する順序は、このサーバノードにおいてこの対応するDConEインスタンスから渡されたグローバルシーケンスのイベント(GSNキュー)のローカルキューによって駆動される。これによって、それぞれのサーバノードにおいて完全にローカルなロックスケジューラが、グローバル状態を何も知らずに1コピー等価性を実現可能になり、これは、DConEと直接ではなく、根本的なアプリケーションと対話するロックスケジューラである。
DConEは、Paxosアルゴリズムの機能性をかなり拡張することによって、性能を規模に応じて向上させることが可能になる。このように拡張させた機能性は、クォーラム、コンカレントな合意処理、バックオフおよび衝突回避、動的グループの進展、分散型ガベージコレクション、提案および弱い予約に対する区別されかつ公正なラウンドナンバーを含むが、このように拡張された機能性によって包含される数エリアが識別される。
DConEによって使用されるクォーラム概念によって、性能を最適化させることができ、かつネットワークおよびサーバの停止の影響をサーバノードにわたるユーザの分布に基づいて最小限に抑えることが可能になる。利用可能であるクォーラム構成オプションは、マジョリティ、シングルトン、および満場一致を含む。分散システムは、マジョリティのクォーラムによって実現されるコンセンサスで動作すると予想されるが、シングルトンおよび満場一致のコンセンサスも可能である。マジョリティのクォーラムでは、サーバノードのマジョリティがいずれの提案にも応答することが必要とされる。DConEはまた、分散システムにおいて偶数のサーバノードがあるイベントでタイブレークの機能を果たすことができる区別されたノードの概念をサポートする。シングルトンのクォーラムでは、1つのノードのみが提案に応答しなければならない。この構成のもとでシングルトンのクォーラムであるように選択されたサーバノードは、最大数の顧客および最高レベルの取引活動を有するサーバノードであってよい。この利益として、最高トランザクションボリュームでのサーバノードにおける合意プロセス中に広域ネットワーク(WAN)トラフィックが生成されないことがある。全体的に、クォーラムノードにおけるローカルDConEインスタンスによって合意が扱われる。他のサーバノードはこれらの提案を送信して、シングルトンクォーラムノードから合意を得るが、典型的には、高速性能を体験し、これは、これらが、指定されたシングルトンサーバノードにこれらの提案に合意させる必要があるだけで、該提案を各々のローカルなロックスケジューラに渡す前にこれらの実行を完了する必要はないからである。満場一致のクォーラムは、全てのサーバノードに応答させる必要があり、本質的に少なくとも効率的な構成であり、最大のWANトラフィックを生じさせる構成である。
Paxosアルゴリズムは、1つの提案に対して1度合意に達することのみを可能にする。これには、高いトランザクションボリュームの環境における性能を減速させる明白な効果がある。DConEは、提案ベースによる提案に対するサーバノードの全てまたはクォーラムによって達する合意を待機するのではなく、複数の提案部からの複数の提案を同時に進行させることが可能である。
DConEは、提案部の取って代わることの繰り返しをこれらのピアによって回避するためのバックオフ機構を提供する。従来の複製状態マシンによって、取って代わられた提案部は取って代わる側より高い合意番号によって新しいラウンドを即座に開始することが可能になる。このアプローチは、延長期間のスラッシングをもたらし、かつ性能を大幅に低下させる合意プロトコルをもたらす可能性がある。DConEでは、1ラウンドに取って代わられる時、提案を開始したDConEインスタンスは、バックオフ遅延の継続時間を計算する。提案部はさらにまた、次のラウンドを開始する前にこの継続時間待機する。DConEは、非切換イーサネットに対する搬送波感知多重アクセス/衝突検出(CSMA/CD)プロトコルと同様のアプローチを使用する。
DConEのアクティブ/アクティブ複製能力は、全てのサーバノードを他の全てのミラーに変えることによってデフォルトでの連続的なホットバックアップをもたらす。これは、サーバノードがネットワークまたはサーバの故障により後れを取る時にWANまたはLAN上での自動回復を提供するために活用される。人的介入は必要とされない。分散システムにおけるサーバノードがこのピアとの接触を失うが、この場所で依然ユーザに利用可能である場合、これらのユーザは依然分散システムへの読み込みアクセスを有するが、合意プロセスを進行させることができないため、提案を発行することができない場合がある。これは、サーバノードがこのピアとの同期から外れることで、サーバノードの全てにわたる1コピー等価性の要件に違反することになるスプリットブレインシナリオが生じないようにする。しかしながら、クォーラムが依然利用可能であるならば、提案は依然、残りのサーバノードで送信可能である。これによって、分散システム上のネットワークの停止およびサーバの故障の影響が最小限に抑えられる。故障したサーバノードが再びオンラインになるとすぐ、このDConEインスタンスは、オフラインだった間にこのピアによって合意された提案の全てに自動的に追い着く。これは合意ログを使用することによって達成される。合意ログは停止が生じる前にサーバノードにおいて完了した最終分を含有する。回復プロセスが開始する時、サーバノードのDConEインスタンスは、このピアからのこの合意ログにおいて最後分が記録された後に合意全てを要求する。さらに、合意プロセスを完了しなかった提案ログに残ったいずれの提案も、キャッチアップが完了すると、ローカルDConEインスタンスによって自動的に再送信される。これは、分散システムにおけるサーバノードにわたって任意の提案に対して合意に達する前または達した後に、停止が生じるかどうかにかかわらず、失われるデータはないことを意味する。
本明細書に説明されかつ示されるように、実施形態は、主な目的が、異なっている均質または異種ストレージシステムにわたってデータを複製することである複製状態マシンの応用を通して速度を変化させかつオーダリングされたアクションを採用する非同期プロセスから成る分散システムにおけるデータの等価性を判断するための方法および分散システム(およびこれによって可能になる機能性)に関する。本明細書における実施形態は、根本的なストレージシステムに関係なく、データのモニタリングおよび等価性チェックを持続させることができる。実施形態は、アプリケーションを規模に応じて促進させるように全体を通して構成可能である。等価性は、ある性質、例えば、コピーデータのチェックサムがこの元のチェックサムと適合するかどうかに関して判断されてよい。Apache HDFSのような分散ストレージファシリティは、データブロックに対するチェックサムを生成し、かつこの情報を使用してブロックレプリカの一貫性を判断する。アマゾンのSimple Storage Service(S3)によって、ユーザは、データブロブと共にメタデータを含むことによって、クライアントが正確なデータ受信を確認できるようにすることが可能になる。マイクロソフトのAzure Storageは同様の機能性を有する。観測上はデータが等価である方法は、(例えば、S3における)クライアントによって、または(例えば、Apache HDFSにおける)システムによって定められてよい。
その他の場合、それぞれのシステムが矛盾を取り入れることなく同じデータのこれらのローカルコピーに対して読み書きできる非互換のストレージシステムを使用する環境間の一貫性チェックを可能にする。実際は、相違が生じる危険を冒さずにどちらかの環境でデータのローカルコピーに変更を行うことができる。実施形態は従って、異種データストレージシステムにわたるユーザデータの1コピー等価性を示すためにクラウドおよびオンプレミスストレージにわたるグローバルレベルでの一貫性チェックを可能にする。
いくつかのストレージサービスは、不変のストレージサービスを供給することができるが、他のストレージサービスは可変のストレージサービスを供給することができ、一部は両方を供給可能である。ほんの数例を挙げれば、規制された金融サービス組織、医療組織、法的組織は、ビジネス関連データを、少なくとも所定の保持間隔で消去不可能にしかつ修正不可能にする不変状態に維持することを必要とされる場合がある。他の組織または目的として、可変データは標準である。不変データのためのその他の使用は、例えば、第3ストレージおよびオフラインストレージに使用されるストレージを含む。いくつかある利点の中で特に、不変データストレージシステムは、データを、先の文書化状態にロールバック可能にしてよい。可変データは、名称が含意するに、変更可能であってよい、すなわち、いつでも変化させてまたは上書きされてよい。可変データの例には、新しいデータ点が取得されると繰り返し上書きされるセンサデータ、および/または所定の期間データを継続させる必要がない任意の他のアプリケーションが含まれてよい。例えば、AWSおよびAzureストレージBlobは両方共、可変データストレージサービスおよび不変データストレージサービス両方を供給する。HDFSは例えば、データの1つのバージョンのみがいつでも利用可能である点で可変である。
図5は、実施形態が実施可能であるコンピューティングデバイスのブロック図を示す。図5のコンピューティングデバイスは、情報を通信するためのバス501または他の通信機構、および情報を処理するためにバス501と結合される1つまたは複数のプロセッサ502を含んでよい。コンピューティングデバイスは、プロセッサ(複数可)502によって実行される情報および命令を記憶するためにバス501に結合される(メインメモリと称される)ランダムアクセスメモリ(RAM)または他の動的ストレージデバイス504をさらに含んでよい。メインメモリ(有形かつ非一時的であり、この用語は本明細書では、信号そのものおよび波形を含まない)504はまた、プロセッサ502による命令の実行中に、一時的な変数または他の中間情報を記憶するために使用されてよい。図5のコンピューティングデバイスは、プロセッサ(複数可)502に対する静的情報および命令を記憶するためにバス501に結合される読み出し専用メモリ(ROM)および/または他の静的ストレージデバイス506も含んでよい。磁気ディスクおよび/またはソリッドステートデータストレージデバイスなどのデータストレージデバイス507は、例えば、図1~図4に対して示されかつ開示される機能性を実行するために必要とされることが考えられる情報および命令を記憶するためにバス501に結合されてよい。コンピューティングデバイスはまた、コンピュータユーザに情報を表示するためのディスプレイデバイス521にバス501を介して結合されてよい。英数字および他のキーを含む英数字入力デバイス522は、情報およびコマンド選択をプロセッサ(複数可)502に通信するためにバス501に結合されてよい。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ(複数可)502に通信するための、およびディスプレイ521上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御523である。図5のコンピューティングデバイスは、通信インターフェース(例えば、モデム、ネットワークインターフェースカード、またはNIC)508を介してネットワーク526に結合されてよい。
Claims (20)
- 第1の複数の複製状態マシンによって、第1のタイプの第1のデータストレージサービスに記憶されたデータに変化を生じさせるためにオーダリングされた合意のシーケンスを実行することと、
第2の複数の複製状態マシンによって、第2のタイプの第2のデータストレージサービスに記憶された前記データに変化を生じさせるために前記オーダリングされた合意のシーケンスを実行することと、
前記第1のデータストレージサービスに記憶された変化済み前記データの第1のメタデータを受信かつ記憶し、および前記第2のデータストレージサービスに記憶された前記変化済みデータの第2のメタデータを受信かつ記憶することと、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが両方共、前記オーダリングされた合意のシーケンスの所定のものに従って変化させた後に確定された時を判断するために、受信した前記第1のメタデータおよび前記第2のメタデータを使用して前記第1のデータストレージサービスと前記第2のデータストレージサービスとの間で同期をとることと、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが、前記オーダリングされた合意のシーケンスの前記所定のものに従って確定されたと判断された時に、記憶された前記第1のメタデータおよび前記第2のメタデータの比較を実行することと、
前記比較の結果に応じて選択されたアクションを実行することと、を含む、コンピュータ実施方法。 - 前記オーダリングされた合意のシーケンスは一意の綿密にオーダリングされたグローバルシーケンス番号を使用してオーダリングされる、請求項1に記載のコンピュータ実施方法。
- 前記第1の複数の状態マシンおよび前記第2の複数の状態マシンによって、分散協調エンジンからの前記一意の綿密にオーダリングされたグローバルシーケンス番号を受信することをさらに含む、請求項2に記載のコンピュータ実施方法。
- 前記第1のデータストレージサービスの前記第1のタイプは可変および不変のうちの1つである、請求項1に記載のコンピュータ実施方法。
- 前記第2のデータストレージサービスの前記第2のタイプは可変および不変のうちの1つである、請求項1に記載のコンピュータ実施方法。
- 前記第1のデータストレージサービスおよび前記第2のデータストレージサービスは均質および異種のうちの1つである、請求項1に記載のコンピュータ実施方法。
- 記憶されているデータが有効であるとみなされるように、情報源として前記第1のデータストレージサービスを指定することをさらに含む、請求項1に記載のコンピュータ実施方法。
- 前記記憶された第1のメタデータおよび第2のメタデータの前記比較が、前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが、前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データと矛盾することを指示する時、前記選択されたアクションは、前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データを前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データと置き換えることを含む、請求項6に記載のコンピュータ実施方法。
- 前記第1のデータストレージサービスおよび前記第2のデータストレージサービスに記憶された前記データが両方共確定される時を判断するように同期をとることは、クローズ動作が前記データに対して実行されているのを待機することを含む、請求項1に記載のコンピュータ実施方法。
- 請求項1に規定する各ステップの少なくともいくつかは、前記第1のデータストレージサービスおよび前記第2のデータストレージサービスにわたって構成可能である、請求項1に記載のコンピュータ実施方法。
- メモリと、
プロセッサと、
前記プロセッサによって生成された複数のプロセスであって、ストレージサービスにわたって一貫性チェックを可能にするように構成され、
第1の複数の複製状態マシンによって、オーダリングされた合意のシーケンスを実行して、第1のタイプの第1のデータストレージサービスに記憶されたデータに変化を生じさせ、
第2の複数の複製状態マシンによって、前記オーダリングされた合意のシーケンスを実行して、第2のタイプの第2のデータストレージサービスに記憶された前記データに変化を生じさせ、
前記第1のデータストレージサービスに記憶された変化済み前記データの第1のメタデータを受信かつ記憶し、および前記第2のデータストレージサービスに記憶された前記変化済みデータの第2のメタデータを受信かつ記憶し、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが両方共、前記オーダリングされた合意のシーケンスの所定のものに従って変化させた後に確定された時を判断するために、受信した前記第1のメタデータおよび前記第2のメタデータを使用して前記第1のデータストレージサービスと前記第2のデータストレージサービスとの間の同期をとり、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが、前記オーダリングされた合意のシーケンスの前記所定のものに従って確定されたと判断された時に、記憶された前記第1のメタデータおよび前記第2のメタデータの比較を実行し、ならびに、
前記比較の結果に応じて選択されたアクションを実行するための処理論理を含む、複数のプロセスと、を含む、コンピューティングデバイス。 - 前記オーダリングされた合意のシーケンスは一意の綿密にオーダリングされたグローバルシーケンス番号を使用してオーダリングされる、請求項11に記載のコンピューティングデバイス。
- 前記第1の複数の状態マシンおよび前記第2の複数の状態マシンによって、分散協調エンジンからの前記一意の綿密にオーダリングされたグローバルシーケンス番号を受信するための処理論理をさらに含む、請求項12に記載のコンピューティングデバイス。
- 前記第1のデータストレージサービスの前記第1のタイプは可変および不変のうちの1つである、請求項11に記載のコンピューティングデバイス。
- 前記第2のデータストレージサービスの前記第2のタイプは可変および不変のうちの1つである、請求項11に記載のコンピューティングデバイス。
- 前記第1のデータストレージサービスおよび前記第2のデータストレージサービスは均質および異種のうちの1つである、請求項11に記載のコンピューティングデバイス。
- 記憶されているデータが有効であるとみなされるように、情報源として前記第1のデータストレージサービスを指定するための処理論理をさらに含む、請求項11に記載のコンピューティングデバイス。
- 前記記憶された第1のメタデータおよび第2のメタデータの前記比較が、前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが、前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データと矛盾することを指示する時、前記選択されたアクションは、前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データを前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データと置き換えることを含む、請求項17に記載のコンピューティングデバイス。
- 前記第1のデータストレージサービスおよび前記第2のデータストレージサービスに記憶された前記データが両方共確定される時を判断するために同期をとるための前記処理論理は、クローズ動作が前記データに対して実行されているのを待機するための処理論理をさらに含む、請求項11に記載のコンピューティングデバイス。
- 命令のシーケンスを表すデータが記憶されている非一時的な機械可読媒体であって、
該命令は、コンピューティングデバイスによって実行される時、
第1の複数の複製状態マシンによって、第1のタイプの第1のデータストレージサービスに記憶されたデータに変化を生じさせるためにオーダリングされた合意のシーケンスを実行すること、
第2の複数の複製状態マシンによって、第2のタイプの第2のデータストレージサービスに記憶された前記データに変化を生じさせるために前記オーダリングされた合意のシーケンスを実行すること、
前記第1のデータストレージサービスに記憶された変化済み前記データの第1のメタデータを受信かつ記憶し、および前記第2のデータストレージサービスに記憶された前記変化済みデータの第2のメタデータを受信かつ記憶すること、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが両方共、前記オーダリングされた合意のシーケンスの所定のものに従って変化させた後に確定された時を判断するために、受信した前記第1のメタデータおよび前記第2のメタデータを使用して前記第1のデータストレージサービスと前記第2のデータストレージサービスとの間で同期をとること、
前記第1のメタデータに対応する前記第1のデータストレージサービスに記憶された前記データおよび前記第2のメタデータに対応する前記第2のデータストレージサービスに記憶された前記データが、前記オーダリングされた合意のシーケンスの前記所定のものに従って確定されたと判断された時に、記憶された前記第1のメタデータおよび前記第2のメタデータの比較を実行すること、ならびに、
前記比較の結果に応じて選択されたアクションを実行すること、によって、前記コンピューティングデバイスに、均質または異種データストレージサービスに記憶されたデータの一貫性をチェックさせる、非一時的な機械可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/141,335 | 2018-09-25 | ||
US16/141,335 US11100086B2 (en) | 2018-09-25 | 2018-09-25 | Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system |
PCT/US2019/048371 WO2020068334A1 (en) | 2018-09-25 | 2019-08-27 | Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022500730A JP2022500730A (ja) | 2022-01-04 |
JP7389793B2 true JP7389793B2 (ja) | 2023-11-30 |
Family
ID=69883138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021510040A Active JP7389793B2 (ja) | 2018-09-25 | 2019-08-27 | 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム |
Country Status (7)
Country | Link |
---|---|
US (3) | US11100086B2 (ja) |
EP (1) | EP3811233A4 (ja) |
JP (1) | JP7389793B2 (ja) |
CN (1) | CN112654978B (ja) |
AU (1) | AU2019347897B2 (ja) |
CA (1) | CA3108063A1 (ja) |
WO (1) | WO2020068334A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11200198B2 (en) | 2019-02-01 | 2021-12-14 | EMC IP Holding Company LLC | Excluding directory trees from data service operations |
US11151093B2 (en) * | 2019-03-29 | 2021-10-19 | International Business Machines Corporation | Distributed system control for on-demand data access in complex, heterogenous data storage |
US11108700B2 (en) * | 2019-06-28 | 2021-08-31 | Oracle International Corporation | Method and system to implement messaging for cluster elections |
US11593583B2 (en) | 2019-06-28 | 2023-02-28 | Oracle International Corporation | Method and system to implement cluster failure prediction to facilitate split brain resolution |
US11893064B2 (en) * | 2020-02-05 | 2024-02-06 | EMC IP Holding Company LLC | Reliably maintaining strict consistency in cluster wide state of opened files in a distributed file system cluster exposing a global namespace |
CN112363873A (zh) * | 2020-11-27 | 2021-02-12 | 上海爱数信息技术股份有限公司 | 一种分布式一致性备份恢复系统及其备份方法 |
US11423006B1 (en) * | 2021-02-24 | 2022-08-23 | Sap Se | Blockchain-based analysis of locally configured data |
CN114357252A (zh) * | 2021-12-17 | 2022-04-15 | 杭州涂鸦信息技术有限公司 | 跨源多域分布式数据的储存方法、系统及存储介质 |
CN116112130A (zh) * | 2023-02-06 | 2023-05-12 | 北京滴普科技有限公司 | 数据纠偏补数方法、装置、设备及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010198276A (ja) | 2009-02-25 | 2010-09-09 | Nec Corp | ストレージシステム |
US20110196828A1 (en) | 2010-02-09 | 2011-08-11 | Alexandre Drobychev | Method and System for Dynamically Replicating Data Within A Distributed Storage System |
WO2014051071A1 (ja) | 2012-09-28 | 2014-04-03 | 日本電気株式会社 | 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム |
US20180260409A1 (en) | 2017-03-13 | 2018-09-13 | Wandisco, Inc. | Methods, devices and systems for maintaining consistency of metadata and data across data centers |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7320035B2 (en) * | 2002-03-01 | 2008-01-15 | Sun Microsystems, Inc. | Object mutation determination for incremental state saves |
CN100565460C (zh) * | 2003-08-01 | 2009-12-02 | 甲骨文国际公司 | 用于管理数据的方法 |
JP2007122643A (ja) * | 2005-10-31 | 2007-05-17 | Toshiba Corp | データ検索システム、メタデータ同期方法およびデータ検索装置 |
US7739239B1 (en) * | 2005-12-29 | 2010-06-15 | Amazon Technologies, Inc. | Distributed storage system with support for distinct storage classes |
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 |
US9483656B2 (en) | 2009-04-20 | 2016-11-01 | International Business Machines Corporation | Efficient and secure data storage utilizing a dispersed data storage system |
US8316396B2 (en) * | 2009-05-13 | 2012-11-20 | Tivo Inc. | Correlation of media metadata gathered from diverse sources |
US8799413B2 (en) | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Distributing data for a distributed filesystem across multiple cloud storage systems |
US9852150B2 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Avoiding client timeouts in a distributed filesystem |
US9646134B2 (en) * | 2010-05-25 | 2017-05-09 | The Regents Of The University Of California | Bambam: parallel comparative analysis of high-throughput sequencing data |
CN102640122B (zh) * | 2010-09-06 | 2015-10-21 | 松下电器产业株式会社 | 内容检索装置、内容检索方法 |
GB2484086A (en) * | 2010-09-28 | 2012-04-04 | Metaswitch Networks Ltd | Reliability and performance modes in a distributed storage system |
US9495477B1 (en) * | 2011-04-20 | 2016-11-15 | Google Inc. | Data storage in a graph processing system |
US9772784B2 (en) | 2011-08-10 | 2017-09-26 | Nutanix, Inc. | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure |
US8533231B2 (en) | 2011-08-12 | 2013-09-10 | Nexenta Systems, Inc. | Cloud storage system with distributed metadata |
US9805054B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Managing a global namespace for a distributed filesystem |
US20150169598A1 (en) * | 2012-01-17 | 2015-06-18 | Oracle International Corporation | System and method for providing a persistent snapshot of a running system in a distributed data grid |
US9489434B1 (en) | 2012-01-17 | 2016-11-08 | Amazon Technologies, Inc. | System and method for replication log branching avoidance using post-failover rejoin |
US9313252B2 (en) * | 2012-04-20 | 2016-04-12 | Microsoft Technology Licensing, Llc | Binding crud-type protocols in distributed agreement protocols |
US9225675B2 (en) * | 2012-08-08 | 2015-12-29 | Amazon Technologies, Inc. | Data storage application programming interface |
US8799335B2 (en) * | 2012-09-28 | 2014-08-05 | International Business Machines Corporation | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
US8972491B2 (en) | 2012-10-05 | 2015-03-03 | Microsoft Technology Licensing, Llc | Consistency-based service-level agreements in cloud storage environments |
WO2015130954A1 (en) * | 2014-02-26 | 2015-09-03 | Nantomics, Llc | Secured mobile genome browsing devices and methods therefor |
US10372685B2 (en) * | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
US9785510B1 (en) * | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
CN106462639B (zh) * | 2014-06-24 | 2020-04-24 | 谷歌有限责任公司 | 处理远程数据库的变化 |
CN104105195A (zh) * | 2014-06-27 | 2014-10-15 | 山东大学(威海) | 一种基于时钟频率动态检测的大规模无线传感器网络时间同步器 |
GB2529246A (en) | 2014-08-15 | 2016-02-17 | Ibm | Method for securing integrity and consistency of a cloud storage service with efficient client operations |
US10630772B2 (en) | 2014-09-10 | 2020-04-21 | Panzura, Inc. | Maintaining global namespace consistency for a distributed filesystem |
US9990372B2 (en) | 2014-09-10 | 2018-06-05 | Panzura, Inc. | Managing the level of consistency for a file in a distributed filesystem |
US20160110406A1 (en) | 2014-10-16 | 2016-04-21 | Microsoft Technology Licensing, Llc | Validation of data across multiple data stores |
US9986033B2 (en) | 2015-03-17 | 2018-05-29 | Panzura, Inc. | Facilitating access to remote cloud services |
US20160352832A1 (en) | 2015-06-01 | 2016-12-01 | Alibaba Group Holding Limited | Enhancing data consistency in cloud storage system by entrance data buffering |
US10395061B2 (en) | 2015-09-29 | 2019-08-27 | International Business Machines Corporation | Efficient auditing of data in object storage |
US10496320B2 (en) | 2015-12-28 | 2019-12-03 | Netapp Inc. | Synchronous replication |
US10176064B2 (en) | 2016-02-26 | 2019-01-08 | Netapp Inc. | Granular consistency group replication |
US20180139103A1 (en) | 2016-11-16 | 2018-05-17 | Lei Guo | Management of multiple clusters of distributed file systems |
CN106603645A (zh) * | 2016-12-02 | 2017-04-26 | 广东电网有限责任公司电力科学研究院 | 一种大规模云存储的副本服务器一致性处理方法及系统 |
US10241677B2 (en) | 2017-02-24 | 2019-03-26 | International Business Machines Corporation | Ensuring consistency between content and metadata with intents |
CN107544077B (zh) * | 2017-08-31 | 2019-11-29 | 千寻位置网络(浙江)有限公司 | 一种gnss数据质量检测分析系统及其分析方法 |
US10360252B1 (en) * | 2017-12-08 | 2019-07-23 | Palantir Technologies Inc. | Detection and enrichment of missing data or metadata for large data sets |
US20200026427A1 (en) * | 2018-07-23 | 2020-01-23 | Reduxio Systems Ltd. | System and method for handling data storage on storage devices |
-
2018
- 2018-09-25 US US16/141,335 patent/US11100086B2/en active Active
-
2019
- 2019-08-27 EP EP19864865.1A patent/EP3811233A4/en active Pending
- 2019-08-27 AU AU2019347897A patent/AU2019347897B2/en active Active
- 2019-08-27 WO PCT/US2019/048371 patent/WO2020068334A1/en unknown
- 2019-08-27 CN CN201980058602.3A patent/CN112654978B/zh active Active
- 2019-08-27 JP JP2021510040A patent/JP7389793B2/ja active Active
- 2019-08-27 CA CA3108063A patent/CA3108063A1/en active Pending
-
2021
- 2021-07-20 US US17/380,054 patent/US11657035B2/en active Active
-
2023
- 2023-02-06 US US18/106,152 patent/US20230237045A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010198276A (ja) | 2009-02-25 | 2010-09-09 | Nec Corp | ストレージシステム |
US20110196828A1 (en) | 2010-02-09 | 2011-08-11 | Alexandre Drobychev | Method and System for Dynamically Replicating Data Within A Distributed Storage System |
WO2014051071A1 (ja) | 2012-09-28 | 2014-04-03 | 日本電気株式会社 | 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム |
US20180260409A1 (en) | 2017-03-13 | 2018-09-13 | Wandisco, Inc. | Methods, devices and systems for maintaining consistency of metadata and data across data centers |
Non-Patent Citations (1)
Title |
---|
梶原 顕伍、外2名,Raftに基づく分散データベースの性能解析,情報処理学会 研究報告 システムソフトウェアとオペレーティング・システム(OS),日本,情報処理学会,2017年05月11日,p.1-9 |
Also Published As
Publication number | Publication date |
---|---|
CN112654978A (zh) | 2021-04-13 |
EP3811233A1 (en) | 2021-04-28 |
CA3108063A1 (en) | 2020-04-02 |
AU2019347897A1 (en) | 2021-02-18 |
CN112654978B (zh) | 2024-03-08 |
JP2022500730A (ja) | 2022-01-04 |
US11100086B2 (en) | 2021-08-24 |
AU2019347897B2 (en) | 2023-12-07 |
WO2020068334A1 (en) | 2020-04-02 |
EP3811233A4 (en) | 2022-03-30 |
US11657035B2 (en) | 2023-05-23 |
US20220043800A1 (en) | 2022-02-10 |
US20200097354A1 (en) | 2020-03-26 |
US20230237045A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7389793B2 (ja) | 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム | |
US11397709B2 (en) | Automated configuration of log-coordinated storage groups | |
US11625700B2 (en) | Cross-data-store operations in log-coordinated storage systems | |
US10691716B2 (en) | Dynamic partitioning techniques for data streams | |
US10373247B2 (en) | Lifecycle transitions in log-coordinated data stores | |
EP3127018B1 (en) | Geographically-distributed file system using coordinated namespace replication | |
EP3195117B1 (en) | Automated configuration of log-coordinated storage groups | |
CN108459919A (zh) | 一种分布式事务处理方法及装置 | |
US20160070589A1 (en) | Scalable log-based transaction management | |
US7366742B1 (en) | System and method for distributed discovery and management of frozen images in a storage environment | |
US11522966B2 (en) | Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment | |
Chihoub et al. | 10 ConsistencyManagement in Cloud Storage Systems | |
Islam | Database consistency in cloud databases | |
Salem | Comparative Analysis of Big Data Stream Processing Systems | |
Carvalho | Generic replication of software transactional memory | |
Chihoub et al. | 10 Consistency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20220630 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231019 |
|
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: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7389793 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |