JP6033830B2 - 高可用性データを提供するためのシステム及び方法 - Google Patents
高可用性データを提供するためのシステム及び方法 Download PDFInfo
- Publication number
- JP6033830B2 JP6033830B2 JP2014250357A JP2014250357A JP6033830B2 JP 6033830 B2 JP6033830 B2 JP 6033830B2 JP 2014250357 A JP2014250357 A JP 2014250357A JP 2014250357 A JP2014250357 A JP 2014250357A JP 6033830 B2 JP6033830 B2 JP 6033830B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- copies
- data set
- host
- hosts
- 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
- 238000000034 method Methods 0.000 title claims description 98
- 230000001364 causal effect Effects 0.000 claims description 27
- 238000013500 data storage Methods 0.000 claims description 17
- 230000010076 replication Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000005192 partition Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
この出願は、2006年3月31日に出願され、参照することによってここに組み込まれる「高可用性データを提供するためのシステム及び方法」という名称の米国特許出願第11/394,648号の一部継続出願である。
図1を参照すると、実施の一形態に係るデータ処理システム100が示されている。データ処理システム100は、ユーザコンピュータ102と、通信ネットワーク104と、ネットワークサービスシステム106とを含んでいる。ユーザコンピュータ102は、通信ネットワーク104を介してネットワークサービスシステム106にアクセスし得る。ネットワークサービスシステム106は、ネットワークインタフェース110と、データセットサービス112と、一つ又は複数の他のサービス114とを含んでいる。ネットワークインタフェース110は、通信ネットワーク104を介してユーザからデータを受信し、ユーザにデータを供給する。例えば、ネットワークインタフェース110は、データセットサービス112により保持されているデータセットへのアクセスに加えて、他のサービス114により生成され及び/又は保持されている他のデータへのアクセスを、ユーザコンピュータ102に提供し得る。
A.ホスト間のデータセットの区分化(Partitioning Data Sets over Hosts)
図7乃至図8を参照すると、実施の一形態において、データセットサービス112は、システム106内のホスト間にデータセットを区分化するための機構を含んでいる。実施の一形態において、以下に記載されるように、一貫性ハッシュ構成は、データがホスト130間に相対的に均等に分散されるように、データセットを記憶するために使用され得る。他の実施の形態においては、他のデータ区分化構成が使用され得る。
ここで図10乃至図11を参照すると、図7乃至図8のハッシュ構成は、データ複製の支援のために使用され得る。図10においては、リング184上における直近の後続ホスト130に対して単にデータセットが割り当てられるよりむしろ、データセットは、最初のNの後続ホスト130に割り当てられている。後述するように、データセットサービス112は、ホスト130間にデータのNの複製があり、各ホスト130がそれ自体とそのN番目の先行ホストとの間のリング184の範囲に対して責任を有するということを保証するために機能する。
図12を参照すると、ホスト130は、負荷平衡を促進するために、即ち、データ及び負荷の不均一な分散を回避するために、リング184上の複数の位置に割り当てられ得る。そうでなければ、リング184上における各ホスト130の無作為な位置割当によって、データ及び負荷の不均一な分散が発生し得る。従って、図12において、ホストA,B,C,D,Eは、リング184上の複数の位置に割り当てられている。この複数の位置決めは、各ホスト130に割り当てられたデータセットの数の分散を減少させる傾向がある。その理由は、リング184上における増加した多数の無作為の配置が、各ホスト130に割り当てられたデータセットの数に平均値への集中を引き起こす傾向があるからである。従って、より多くの位置をリング184上における各ホスト130に割り当てることは、負荷平衡を改善する。実施の一形態において、遭遇した各ホスト130の最初の実例だけが優先リスト190に配置される。キーk1の場合、対応するデータセットが割り当てられている、より大きい位置の最初のホストは、ホストAである。N=4の場合、キーk1に関連するデータセットにアクセスするプロセスは、ホストA,B,C,Dに対して読出又は書込を行う。キーk1のための優先リスト190は、リング184上における複数の位置を有するホストのために、及び、異なる順序で遭遇するホストのために、上記とは異なる。キーk2の場合、対応するデータセットが割り当てられている、より大きい位置の最初のホストは、ホストBである。キーk2に関連するデータセットにアクセスするクライアントプロセス134は、ホストB,C,D,Aに対してその順序で読出又は書込を行う。他の例示的な実施の形態においては、遭遇する各ホスト130の複数の実例は、例えば、以前は利用不可能であったホスト130を再試行するために、優先リスト190に配置され得る。
ここで図13A乃至図13B、図14A乃至図14B及び図15A乃至図15Bを参照すると、読出及び書込動作が示されている。読出/書込動作は、クライアントプロセス134によりデータセットサービス112に対して行われるサービス要求によって引き起こされ得る。サービス要求を受信すると、データセットサービス112は、要求された動作を実行し、クライアントプロセス134に対して応答を供給する。
(書込(キー、値、コンテキスト)→結果コード)
read(Key) →ValueList, Context, ResultCode
(読出(キー)→値リスト、コンテキスト、結果コード)
ここで、キー(Key)は、バイトの非有界シーケンスであり、値(Value)は、データ(バイトの非有界シーケンス)及びメタデータ(値が書き込まれた最終時刻を含む、値についての情報、ダイアグノスティック(診断)及びデバッグ情報等を包含する、読出専用の、任意の、拡張可能なデータセット)を含むオブジェクトであり、値リスト(ValueList)は、値(Value)のリストであり、コンテキスト(Context)は、読出−変更−書込サイクルに対するベクトルクロック状態をトラック(追跡)するために記憶システムによって内部構造において使用されるオペーク(opaque)オブジェクト(不透明なオブジェクト)であり、結果コード(ResultCode)は、読出又は書込動作が成功したか否かについてのコード表示である。
A.ベクトルクロックの動作(Operation of Vector Clocks)
図16を参照して、データバージョニング構成について説明する。前述したように、高可用性を提供するために、データセットサービス112は、同一データの複数のバージョンが異なるホスト130上に同時に存在することを許容する。データセットの最も新しいバージョンのコピーをその優先リスト190における上位Nのホストに移動するために、進行中の試行が行われるが、このプロセスは瞬間的なものではない。移動が発生する前には、データセットのより古いバージョンのコピーが、その優先リスト190におけるいくつかのホストに、優先リスト190における最上位又は最上位に近いホストにさえ、存在し得る。従って、例えば、一つのホスト130が一時的に失われた古い変更を反映した一つのバージョンを有し、別のホスト130が古い変更が利用不可能になると同時になされた新しい変更を反映した別のバージョンを有することがある。
実施の一形態において、{ホストID、カウンタ}({host ID, counter})ペアのみを含むよりもむしろ、ベクトルクロックは、多数の追加的な値を含み、以下のような形態を有する。
={(<ホストID><ホスト情報><キー情報>),<カウンタ>,<タイムスタンプ>}
( VectorClock
={(<HostID><host-gen><key-gen>),<counter>,<time-stamp>})
ホストID(host ID)は、ホストに対する固有の識別子であり、カウンタパラメータは、データバージョンに対応する因果関係情報をコード化(符号化)し、上述した{ホストID、カウンタ}({host ID, counter})ペアに対応する。実施の一形態において、(<ホストID><ホスト情報><キー情報>)((<HostID><host-gen><key-gen>))パラメータの組合せは、ホストID単独に関して前述したような態様で機能する。即ち、三つのパラメータ(<ホストID><ホスト情報><キー情報>)のいずれか一つでも異なっていれば、ホストは、異なるホストであると考えられる(即ち、データセットの異なるバージョン間にいかなる因果関係も伴い得ない)。
A.複数データセンタ構成の構造(Architecture of Multiple Data Center Arrangement)
図17乃至図25を参照すると、データ処理システム100の他の実施の形態が示されている。図17乃至図25において、データセットは、複数段(multi-tiered)リング構成に従ってホスト130間に分割されている。複数段リング構成は、例えば、各ホストが異なる地理的ロケーションに(例えば、異なる都市、異なる国、異なる大陸に存在し得る異なるデータセンタに)配置されているデータセット記憶システムを実施するために使用され得る。例えば、ホスト間における相互関係障害の確率を低減するために、データは、そのような異なるデータセンタ間で複製され得る。単一のデータセンタの障害が全システムの可用性に重大な影響を与える可能性は非常に小さい。加えて、クライアント要求をより近いデータセンタに転送することにより(ネットワーク待ち時間(network latency)によって)、端末間(end-to-end)データ検索応答時間は短縮され得る。複数段リング構成は、他の理由のために、例えば、共有データセンタ内に位置するホスト等においても使用され得る。例えば、リングの異なる段は、データセンタ内の領域、データセンタ内のホストの特定のラック(rack)等を特定するために使用され得る。一つの実施例を提供する目的のために、図17においては、各ホストが異なるデータセンタに配置されているデータセット記憶システムを実施するために、複数段リング構成が使用されることが想定されている。
図20乃至図24を参照すると、データセンタ502に記憶されているデータセットへのアクセスに関連する動作が示されている。図20は、実施の一形態に係る図17のシステムにより実行されるアクセス動作のフローチャートである。図21乃至図24は、実施の一形態に係る図20のアクセス動作の態様を詳細に示す図である。
図25を参照すると、実施の一形態において、例えば、データセンタにデータを記憶するためのコストがネットワーク通信量(例えば、ピークネットワーク通信量、平均ネットワーク通信量等)のレベルによって影響を受ける場合、可用性の望ましいレベルになお適合させながら、データセンタ間の通信オーバヘッドを減少させることは望ましいことであり得る。例えば、他のデータセンタへのデータセットの即時の伝達を回避して、通信(トラフィック)バーストが平滑化されるようにすることは、望ましいことであり得る。
[請求項1]
複数のデータセンタに及び前記複数のデータセンタ内の複数のホストに複数のデータセットを記憶するための分担をマッピングするように構成されたマッピングロジックと、
前記複数のデータセンタの第1のサブセット内の前記複数のホストの第1のサブセットに、前記複数のデータセットのうちの一つであるデータセットの第1の複数のコピーを書き込むように構成されたデータセット複製ロジックと、
前記複数のデータセンタの第2のサブセット内の前記複数のホストの第2のサブセットで、前記データセットの第2の複数のコピーを読み出すように構成されたデータセット検索ロジックと、
前記データセットの前記第2の複数のコピー間の因果関係を評価するように構成されたデータセット比較ロジックと、
を備えていることを特徴とするコンピュータ実施データ記憶システム。
[請求項2]
前記マッピングロジックは、ハッシュ関数に基づいてハッシュ値を生成するように構成されたロジックを含むことを特徴とする請求項1に記載のシステム。
[請求項3]
前記ハッシュ関数は、前記ハッシュ関数に対する出力値の範囲を含むハッシュ範囲を有し、前記ハッシュ値は、前記ハッシュ範囲内にあることを特徴とする請求項2に記載のシステム。
[請求項4]
個々の前記データセンタが、前記ハッシュ範囲の複数の異なる部分にある前記複数のデータセットのサブセットを記憶する分担を有するように、前記複数のデータセンタのそれぞれは、前記ハッシュ範囲内にある複数の位置を有することを特徴とする請求項3に記載のシステム。
[請求項5]
個々の前記データセンタが、前記ハッシュ範囲の複数の異なる部分にある前記複数のデータセットのサブセットを記憶する分担を有するように、前記データセンタのそれぞれは、前記ハッシュ範囲内にある複数の位置を有することを特徴とする請求項4に記載のシステム。
[請求項6]
前記ハッシュ値は第1のハッシュ値であり、前記ハッシュ関数は第1のハッシュ関数であり、前記ハッシュ範囲は第1のハッシュ範囲であり、前記マッピングロジックは、第2のハッシュ関数に基づいて第2のハッシュ値を生成するように構成されたロジックを含むことを特徴とする請求項4に記載のシステム。
[請求項7]
個々の前記データセンタが、前記第2のハッシュ範囲の複数の異なる部分にある前記複数のデータセットのサブセットを記憶する分担を有するように、前記データセンタのそれぞれは、前記第2のハッシュ範囲内にある複数の位置を有することを特徴とする請求項6に記載のシステム。
[請求項8]
データ貸出の終了後に前記データセットの他のコピーを更新するように構成されている貸出ロジックをさらに備えていることを特徴とする請求項1に記載のシステム。
[請求項9]
それぞれが前記データセンタのそれぞれと関連し、前記データセンタ間のネットワーク通信量を変調するように構成されている複数のメッセージフィルタをさらに備えていることを特徴とする請求項1に記載のシステム。
[請求項10]
前記データセット検索ロジックは、前記データセットの前記第2の複数のコピーをプリフェッチするように構成されていることを特徴とする請求項1に記載のシステム。
[請求項11]
前記データセット比較ロジックは、前記データセットの前記第2の複数のコピーのそれぞれに関連して記憶されたバージョン履歴に基づいて前記因果関係を評価するように構成されていることを特徴とする請求項1に記載のシステム。
[請求項12]
前記バージョン履歴は、それぞれのハッシュ履歴を含むことを特徴とする請求項11に記載のシステム。
[請求項13]
前記バージョン履歴は、それぞれのベクトルクロックを含むことを特徴とする請求項11に記載のシステム。
[請求項14]
以前の変更の要約を含む、データセットについての因果関係情報をコード化するカウンタを、前記ベクトルクロックは、それぞれ含むことを特徴とする請求項13に記載のシステム。
[請求項15]
前記複数のデータセンタの前記第1のサブセットと前記複数のデータセンタの前記第2のサブセットとは同一であり、前記複数のホストの前記第1のサブセットと前記複数のホストの前記第2のサブセットとは同一であることを特徴とする請求項1に記載のシステム。
[請求項16]
複数のデータセンタに複数のデータセットを記憶するための分担をマッピングし、
データセットのコピーのそれぞれについてのバージョン履歴の書込を含めて、前記複数のデータセンタのサブセットに前記データセットの前記コピーを記憶し、
前記データセットの前記コピーについての前記バージョン履歴に基づいて前記データセットの前記コピー間の因果関係を評価する、
ことを含むことを特徴とするコンピュータ実施データ処理方法。
[請求項17]
前記バージョン履歴は、それぞれのハッシュ履歴をそれぞれ含むことを特徴とする請求項16に記載の方法。
[請求項18]
前記バージョン履歴は、それぞれのベクトルクロックをそれぞれ含むことを特徴とする請求項16に記載の方法。
[請求項19]
以前の変更の要約を含む、データセットについての因果関係情報をコード化するカウンタを、前記ベクトルクロックは、それぞれ含むことを特徴とする請求項18に記載の方法。
[請求項20]
前記書込は、優先リストに従って実行されることを特徴とする請求項16に記載の方法。
[請求項21]
前記優先リストは、ハッシュ関数に基づいて生成されることを特徴とする請求項20に記載の方法。
[請求項22]
ハッシュキー及び前記ハッシュ関数に基づいてハッシュ値を生成することをさらに含み、前記ハッシュキーは、前記データセットに関連するものであり、前記ハッシュ関数に入力として適用されることを特徴とする請求項21に記載の方法。
[請求項23]
前記ハッシュ関数は、前記ハッシュ関数に対する出力値の範囲を含むハッシュ範囲を有し、前記ハッシュ値は、前記ハッシュ範囲内にあることを特徴とする請求項22に記載の方法。
[請求項24]
前記ハッシュ関数は、前記複数のデータセットを前記複数のデータセンタに記憶するための分担をマッピングすることを特徴とする請求項23に記載の方法。
[請求項25]
前記複数のデータセンタの前記サブセットは、前記ハッシュ値に基づいて、及び、他のデータセンタが利用不可能であるか否かに基づいて、前記データセットを記憶するために選択されることを特徴とする請求項24に記載の方法。
[請求項26]
個々の前記データセンタが、前記ハッシュ範囲の複数の異なる部分にある前記複数のデータセットのサブセットを記憶する分担を有するように、前記データセンタのそれぞれは、前記ハッシュ範囲内にある複数の位置を有することを特徴とする請求項25に記載の方法。
[請求項27]
前記ハッシュ値は第1のハッシュ値であり、前記ハッシュ関数は第1のハッシュ関数であり、前記ハッシュ範囲は第1のハッシュ範囲であり、前記マッピングのロジックは、第2のハッシュ関数に基づいて第2のハッシュ値を生成するように構成されたロジックを含むことを特徴とする請求項26に記載の方法。
[請求項28]
個々の前記データセンタが、前記第2のハッシュ範囲の複数の異なる部分にある前記複数のデータセットのサブセットを記憶する分担を有するように、前記複数のデータセンタのそれぞれは複数のホストを含み、前記複数のホストのそれぞれは、前記第2のハッシュ範囲内にある複数の位置を有することを特徴とする請求項27に記載の方法。
[請求項29]
前記記憶は、優先リストに従って実行され、前記優先リストは、前記データセットのコピーが記憶されるべきデータセンタの順位を規定することを特徴とする請求項16に記載の方法。
[請求項30]
前記データセットのコピーのうちの一つを第1のデータセンタから第2のデータセンタへ、前記第2のデータセンタが利用可能になった後に移動することをさらに含み、前記第2のデータセンタは、前記優先リストにおいて前記第1のデータセンタよりも上位にあることを特徴とする請求項26に記載の方法。
[請求項31]
前記複数のデータセンタは、ネットワークを通じてユーザがアクセス可能なネットワークサービスシステムを実現することを特徴とする請求項16に記載の方法。
[請求項32]
前記ネットワークサービスシステムは、ユーザがアクセス可能なウェブサイトを提供することを特徴とする請求項31に記載の方法。
[請求項33]
前記ウェブサイトは、商業ウェブサイトであることを特徴とする請求項32に記載の方法。
[請求項34]
前記データセットは、ユーザのうちの一人のためのショッピングカートについてのショッピングカートデータを含むことを特徴とする請求項33に記載の方法。
[請求項35]
前記データセットの前記コピー間の因果関係の評価は、前記データセットの前記コピーがコンフリクトするコピーを含むか否かの判定を含むことを特徴とする請求項16に記載の方法。
[請求項36]
前記データセットの前記コンフリクトするコピーを、クライアントプロセスに調整のために提供することをさらに含むことを特徴とする請求項35に記載の方法。
[請求項37]
請求項16乃至36のいずれか一項に記載の方法を実行するためのコンピュータプログラム。
Claims (20)
- コンピュータ実施データ記憶システムであって、
メモリに記憶される命令を実行するように動作するプロセッサによって実行されるマッピングロジックであって、複数のデータセットを、前記データセットの部分を維持するための複数のホストを含む複数のデータセンタに記憶するための分担をマッピングするように構成されるマッピングロジックと、
メモリに記憶される命令を実行するように動作するプロセッサによって実行されるデータセット複製ロジックであって、前記複数のデータセンタの1つまたは複数のデータセンタを含む第1のサブセット内の前記複数のホストの第1のサブセットに、データセットの第1の複数のコピーを書き込むように構成されるデータセット複製ロジックと、
メモリに記憶される命令を実行するように動作するプロセッサによって実行されるデータセット検索ロジックであって、前記複数のデータセンタの1つまたは複数のデータセンタを含む第2のサブセット内の前記複数のホストの第2のサブセットで、前記データセットの第2の複数のコピーを読み出すように構成されるデータセット検索ロジックと、
メモリに記憶される命令を実行するように動作するプロセッサによって実行されるデータセット比較ロジックと、
を具え、
前記データセット比較ロジックは、前記データセットの単一のコピーを決定するように構成され、前記データセットの前記単一のコピーを決定するために、前記データセット比較ロジックは、
前記データセットの前記第2の複数のコピーの要素間の因果関係を評価し、
前記因果関係の前記評価に基づき、前記第2の複数のコピーの少なくとも2つのコピー間に因果関係が存在しないことを決定し、
前記第2の複数のコピーの前記少なくとも2つのコピー間に因果関係が存在しないことの前記決定に応じて、前記第2の複数のコピーの前記少なくとも2つのコピー間の調整を生じさせ、前記データセットの前記単一のコピーを決定する、
ように構成される、
コンピュータ実施データ記憶システム。 - データセンタの前記第1のサブセットおよびデータセンタの前記第2のサブセット内の少なくとも一つのメンバは、異なる、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記データセット比較ロジックは、前記少なくとも2つのコピー間の前記調整に基づいて、前記データセットの前記単一のコピーの生成を生じさせるようにさらに構成される、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記調整は、データバージョン履歴に基づく、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記調整は、前記データセットの前記第2の複数のコピーの個々のコピーを選択し、デフォルト序列にしたがって調整することを含む、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記デフォルト序列は、部分的な序列を含む、
請求項5に記載のコンピュータ実施データ記憶システム。 - 前記デフォルト序列は、データバージョン履歴において識別される変化に基づく、
請求項5に記載のコンピュータ実施データ記憶システム。 - 前記調整は、前記第2の複数のコピー内のコピーを併合することを含む、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記データセットの前記第2の複数のコピー内のコピーを併合することは、データバージョン履歴において識別される変化に基づく、
請求項8に記載のコンピュータ実施データ記憶システム。 - 前記複数のデータセンタ内の前記複数のホストの前記第1のサブセットは、前記複数のデータセンタの前記第1のサブセットの各データセンタ内の前記複数のホストの前記第1のサブセット内の一つ以上のホストのセットを含む、
請求項1に記載のコンピュータ実施データ記憶システム。 - 前記複数のデータセンタの前記1つまたは複数のデータセンタを含む前記第2のサブセット内の前記複数のホストの前記第2のサブセットで、前記データセットの前記第2の複数のコピーを読み出すことは、第2に順序付けられたホストから、データを読み出すことを含む、
請求項1に記載のコンピュータ実施データ記憶システム。 - コンピュータ実施方法であって、前記方法は、
データセットを取得するステップと、
複数のデータセンタの1つまたは複数のデータセンタを含む第1のサブセット内の第1の複数のホストに、前記データセットの第1の複数のコピーを書き込むステップと、
前記複数のデータセンタの1つまたは複数のデータセンタを含む第2のサブセット内の第2の複数のホストで、前記データセットの第2の複数のコピーを読み出すステップと、
前記データセットの単一のコピーを決定するステップと、
を含み、
前記データセットの前記単一のコピーを決定する前記ステップは、
前記データセットの前記第2の複数のコピーの要素間の因果関係を評価するステップと、
前記因果関係の前記評価に基づき、前記第2の複数のコピーの少なくとも2つのコピー間に因果関係が存在しないことを決定するステップと、
前記第2の複数のコピーの少なくとも2つのコピー間に因果関係が存在しないことを決定するステップに応じて、前記第2の複数のコピーの前記少なくとも2つのコピー間を調整するステップと、
を含む、
コンピュータ実施方法。 - 因果関係を評価するステップは、データバージョン履歴に基づく、
請求項12に記載のコンピュータ実施方法。 - 因果関係を評価するステップは、前記データセットの前記第2の複数のコピーの個々のコピーを選択し、デフォルト序列にしたがって調整するステップを含む、
請求項12に記載のコンピュータ実施方法。 - 前記データセットの単一のコピーを決定するステップは、前記第2の複数のコピー内のコピーを併合するステップを含む、
請求項12に記載のコンピュータ実施方法。 - データセンタの前記第1のサブセットおよびデータセンタの前記第2のサブセット内の少なくとも一つのメンバは、異なる、
請求項12に記載のコンピュータ実施方法。 - 前記複数のデータセンタの前記第1のサブセット内の前記第1の複数のホストに、前記データセットの前記第1の複数のコピーを書き込むステップは、第1に順序付けられたホストにデータを書き込むステップを含む、
請求項12に記載のコンピュータ実施方法。 - 前記複数のデータセンタの前記1つまたは複数のデータセンタを含む前記第2のサブセット内の前記第2の複数のホストで、データセットの前記第2の複数のコピーを読み出すステップは、第2に順序付けられたホストからデータを読み出すステップを含む、
請求項17に記載のコンピュータ実施方法。 - コンピュータ実行可能命令を含むコンピュータ可読記録媒体であって、
前記コンピュータ実行可能命令は、プロセッサによって実行されるとき、前記プロセッサに、
複数のデータセンタのサブセット内の複数のホストで、データセットの複数のコピーを読み出すステップと、
前記データセットの単一のコピーを決定するステップと、
を実行させ、
前記データセットの前記単一のコピーを決定するために、前記コンピュータ実行可能命令は、前記プロセッサに、
前記データセットの前記複数のコピーの要素間の因果関係を評価するステップと、
前記因果関係の前記評価に基づき、前記複数のコピーの少なくとも2つのコピー間に因果関係が存在しないことを決定するステップと、
前記複数のコピーの前記少なくとも2つのコピー間に因果関係が存在しないことの前記決定に応じて、前記複数のコピーの前記少なくとも2つのコピー間の調整を生じさせ、前記データセットの前記単一のコピーを決定するステップと、
を実行させる、
コンピュータ可読記録媒体。 - 因果関係を評価するステップは、前記データセットの前記複数のコピー内のコピーに部分的な序列を適用するステップをさらに含む、
請求項19に記載のコンピュータ可読記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/508,129 US7925624B2 (en) | 2006-03-31 | 2006-08-22 | System and method for providing high availability data |
US11/508,129 | 2006-08-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013246423A Division JP5666677B2 (ja) | 2006-08-22 | 2013-11-28 | 高可用性データを提供するためのシステム及び方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016209832A Division JP6415513B2 (ja) | 2006-08-22 | 2016-10-26 | 高可用性データを提供するためのシステム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015084243A JP2015084243A (ja) | 2015-04-30 |
JP6033830B2 true JP6033830B2 (ja) | 2016-11-30 |
Family
ID=39107643
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009525761A Active JP5426380B2 (ja) | 2006-08-22 | 2007-08-22 | 高可用性データを提供するためのシステム及び方法 |
JP2013246423A Active JP5666677B2 (ja) | 2006-08-22 | 2013-11-28 | 高可用性データを提供するためのシステム及び方法 |
JP2014250357A Active JP6033830B2 (ja) | 2006-08-22 | 2014-12-10 | 高可用性データを提供するためのシステム及び方法 |
JP2016209832A Active JP6415513B2 (ja) | 2006-08-22 | 2016-10-26 | 高可用性データを提供するためのシステム及び方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009525761A Active JP5426380B2 (ja) | 2006-08-22 | 2007-08-22 | 高可用性データを提供するためのシステム及び方法 |
JP2013246423A Active JP5666677B2 (ja) | 2006-08-22 | 2013-11-28 | 高可用性データを提供するためのシステム及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016209832A Active JP6415513B2 (ja) | 2006-08-22 | 2016-10-26 | 高可用性データを提供するためのシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US7925624B2 (ja) |
EP (1) | EP2062125B1 (ja) |
JP (4) | JP5426380B2 (ja) |
KR (1) | KR101429555B1 (ja) |
WO (1) | WO2008024850A2 (ja) |
Families Citing this family (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GT199800127A (es) * | 1997-08-29 | 2000-02-01 | Combinaciones terapeuticas. | |
US7925624B2 (en) | 2006-03-31 | 2011-04-12 | Amazon Technologies, Inc. | System and method for providing high availability data |
US7707136B2 (en) | 2006-03-31 | 2010-04-27 | Amazon Technologies, Inc. | System and method for providing high availability data |
US8028257B2 (en) * | 2007-03-01 | 2011-09-27 | International Business Machines Corporation | Structure for data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode |
US7660952B2 (en) * | 2007-03-01 | 2010-02-09 | International Business Machines Corporation | Data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode |
US8930522B2 (en) * | 2007-06-29 | 2015-01-06 | Alcatel Lucent | Replica/cache locator, an overlay network and a method to locate replication tables and caches therein |
US8255916B2 (en) * | 2008-04-10 | 2012-08-28 | Hewlett-Packard Development Company, L.P. | Apparatus, and associated method, for allocating processing amongst data centers |
US9372900B2 (en) * | 2008-08-08 | 2016-06-21 | Adobe Systems Incorporated | Method and system for processing measurement data for website statistics |
GB0817022D0 (en) | 2008-09-17 | 2008-10-22 | Sage Technologies Ltd | Information synchronisation |
US8260742B2 (en) * | 2009-04-03 | 2012-09-04 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
US8639724B1 (en) | 2009-07-31 | 2014-01-28 | Amazon Technologies, Inc. | Management of cached object mapping information corresponding to a distributed storage system |
US8521771B1 (en) | 2009-07-31 | 2013-08-27 | Amazon Technologies, Inc. | Management of class-associated object mapping information corresponding to a distributed storage system |
US8316213B1 (en) | 2009-07-31 | 2012-11-20 | Amazon Technologies, Inc. | Management of object mapping information corresponding to a distributed storage system |
US8621182B1 (en) | 2009-07-31 | 2013-12-31 | Amazon Technologies, Inc. | Management of object mapping information corresponding to a distributed storage system |
US8285925B1 (en) | 2009-07-31 | 2012-10-09 | Amazon Technologies, Inc. | Management of object mapping information corresponding to a distributed storage system |
US9395933B2 (en) | 2009-09-01 | 2016-07-19 | Nec Corporation | Distributed storage system, distributed storage method, and program and storage node for distributed storage |
US8914457B2 (en) * | 2009-10-06 | 2014-12-16 | Red Hat, Inc. | Caching of nodes in cache cluster |
GB0920644D0 (en) * | 2009-11-25 | 2010-01-13 | Geniedb | System for improved record consistency and availability |
US8756192B2 (en) * | 2010-01-07 | 2014-06-17 | Microsoft Corporation | Dispatching conflicting data changes |
WO2011099904A1 (en) * | 2010-02-12 | 2011-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | Trust discovery in a communications network |
US9015126B2 (en) | 2010-05-22 | 2015-04-21 | Nokia Corporation | Method and apparatus for eventually consistent delete in a distributed data store |
JP2012018487A (ja) * | 2010-07-06 | 2012-01-26 | Fujitsu Ltd | ノード決定プログラム、ノード決定装置およびノード決定方法 |
JP2017010569A (ja) * | 2010-10-22 | 2017-01-12 | 株式会社インテック | 分散型データベースシステムおよび分散型データ処理システム |
CN102479155B (zh) * | 2010-11-30 | 2014-07-02 | 国际商业机器公司 | 用于网络应用服务器系统的内存过载管理的方法和系统 |
US8874505B2 (en) * | 2011-01-11 | 2014-10-28 | Hitachi, Ltd. | Data replication and failure recovery method for distributed key-value store |
WO2012103463A1 (en) * | 2011-01-28 | 2012-08-02 | Etsy, Inc. | Systems and methods for shopping in an electronic commerce environment |
US10650399B2 (en) | 2011-01-28 | 2020-05-12 | Etsy, Inc. | Systems and methods for shopping in an electronic commerce environment |
US9465819B2 (en) * | 2011-01-31 | 2016-10-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed database |
US20140372516A1 (en) * | 2011-02-02 | 2014-12-18 | Imvu Inc. | System and method for providing a scalable translation between polling-based clients and connection-based message queues |
US8554951B2 (en) | 2011-03-08 | 2013-10-08 | Rackspace Us, Inc. | Synchronization and ordering of multiple accessess in a distributed system |
US8510267B2 (en) | 2011-03-08 | 2013-08-13 | Rackspace Us, Inc. | Synchronization of structured information repositories |
US8538926B2 (en) * | 2011-03-08 | 2013-09-17 | Rackspace Us, Inc. | Massively scalable object storage system for storing object replicas |
US8712975B2 (en) | 2011-03-08 | 2014-04-29 | Rackspace Us, Inc. | Modification of an object replica |
EP2500856A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for providing a session involving a plurality of software applications |
EP2500848A1 (en) | 2011-03-15 | 2012-09-19 | Amadeus S.A.S. | Method and system for centralized reservation context management on multi-server reservation system |
EP2500832B1 (en) * | 2011-03-15 | 2018-07-25 | Amadeus S.A.S. | Method and system for synchronization mechanism on multi-server reservation system |
JP2012221419A (ja) * | 2011-04-13 | 2012-11-12 | Hitachi Ltd | 情報記憶システム及びそのデータ複製方法 |
US8650324B2 (en) * | 2011-04-27 | 2014-02-11 | Skype | System and method for reliable distributed communication with guaranteed service levels |
EP2541473A1 (en) | 2011-06-27 | 2013-01-02 | Amadeus S.A.S. | Method and system for a pre-shopping reservation system with increased search efficiency |
US9235620B2 (en) | 2012-08-14 | 2016-01-12 | Amadeus S.A.S. | Updating cached database query results |
JP5664467B2 (ja) * | 2011-06-13 | 2015-02-04 | 富士通株式会社 | 検索プログラム、検索方法、検索装置、およびノード |
US8683008B1 (en) | 2011-08-04 | 2014-03-25 | Google Inc. | Management of pre-fetched mapping data incorporating user-specified locations |
JP5733124B2 (ja) * | 2011-09-12 | 2015-06-10 | 富士通株式会社 | データ管理装置、データ管理システム、データ管理方法、及びプログラム |
US8204966B1 (en) | 2011-09-26 | 2012-06-19 | Google Inc. | Map tile data pre-fetching based on user activity analysis |
US8280414B1 (en) | 2011-09-26 | 2012-10-02 | Google Inc. | Map tile data pre-fetching based on mobile device generated event analysis |
US8930320B2 (en) * | 2011-09-30 | 2015-01-06 | Accenture Global Services Limited | Distributed computing backup and recovery system |
US9275374B1 (en) | 2011-11-15 | 2016-03-01 | Google Inc. | Method and apparatus for pre-fetching place page data based upon analysis of user activities |
US9063951B1 (en) | 2011-11-16 | 2015-06-23 | Google Inc. | Pre-fetching map data based on a tile budget |
US8711181B1 (en) | 2011-11-16 | 2014-04-29 | Google Inc. | Pre-fetching map data using variable map tile radius |
US8886715B1 (en) | 2011-11-16 | 2014-11-11 | Google Inc. | Dynamically determining a tile budget when pre-fetching data in a client device |
JP5759881B2 (ja) * | 2011-12-08 | 2015-08-05 | 株式会社日立ソリューションズ | 情報処理システム |
US9305107B2 (en) | 2011-12-08 | 2016-04-05 | Google Inc. | Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device |
US9197713B2 (en) | 2011-12-09 | 2015-11-24 | Google Inc. | Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device |
US9389088B2 (en) | 2011-12-12 | 2016-07-12 | Google Inc. | Method of pre-fetching map data for rendering and offline routing |
US8803920B2 (en) | 2011-12-12 | 2014-08-12 | Google Inc. | Pre-fetching map tile data along a route |
JP5845877B2 (ja) | 2011-12-20 | 2016-01-20 | 富士通株式会社 | 情報処理装置、データ制御方法およびデータ制御プログラム |
JP5723309B2 (ja) * | 2012-03-05 | 2015-05-27 | 日本電信電話株式会社 | サーバおよびプログラム |
US8930364B1 (en) * | 2012-03-29 | 2015-01-06 | Amazon Technologies, Inc. | Intelligent data integration |
US8832234B1 (en) | 2012-03-29 | 2014-09-09 | Amazon Technologies, Inc. | Distributed data storage controller |
US8935203B1 (en) | 2012-03-29 | 2015-01-13 | Amazon Technologies, Inc. | Environment-sensitive distributed data management |
US8918392B1 (en) | 2012-03-29 | 2014-12-23 | Amazon Technologies, Inc. | Data storage mapping and management |
JP6055197B2 (ja) * | 2012-04-06 | 2016-12-27 | 日本電信電話株式会社 | データベースシステム |
US9332387B2 (en) | 2012-05-02 | 2016-05-03 | Google Inc. | Prefetching and caching map data based on mobile network coverage |
US8788468B2 (en) * | 2012-05-24 | 2014-07-22 | International Business Machines Corporation | Data depulication using short term history |
US9002939B2 (en) * | 2012-06-03 | 2015-04-07 | International Business Machines Corporation | Adaptive and dynamic replication management in cloud computing |
US8925059B2 (en) * | 2012-06-08 | 2014-12-30 | Lockheed Martin Corporation | Dynamic trust connection |
US8948177B2 (en) | 2012-07-30 | 2015-02-03 | Hewlett-Packard Development Company, L.P. | Policy based routing |
US8849942B1 (en) | 2012-07-31 | 2014-09-30 | Google Inc. | Application programming interface for prefetching map data |
JP5969315B2 (ja) * | 2012-08-23 | 2016-08-17 | 日本電信電話株式会社 | データ移行処理システムおよびデータ移行処理方法 |
US8918372B1 (en) * | 2012-09-19 | 2014-12-23 | Emc Corporation | Content-aware distributed deduplicating storage system based on consistent hashing |
US9268784B1 (en) | 2012-09-19 | 2016-02-23 | Emc Corporation | Content-aware distributed deduplicating storage system based on locality-sensitive hashing |
US20140143367A1 (en) * | 2012-11-19 | 2014-05-22 | Board Of Regents, The University Of Texas System | Robustness in a scalable block storage system |
US9547858B2 (en) | 2012-11-28 | 2017-01-17 | Bank Of America Corporation | Real-time multi master transaction |
US20140164175A1 (en) * | 2012-12-11 | 2014-06-12 | Rawllin International Inc. | Shopping cart list |
CN104052611B (zh) * | 2013-03-12 | 2017-04-19 | 华中科技大学 | 一种云存储系统数据可用性维护方法及其装置 |
US9836361B2 (en) | 2013-03-13 | 2017-12-05 | Nec Corporation | Data replicating system, data replicating method, node device, management device and computer readable medium |
US11841844B2 (en) * | 2013-05-20 | 2023-12-12 | Amazon Technologies, Inc. | Index update pipeline |
US9304815B1 (en) | 2013-06-13 | 2016-04-05 | Amazon Technologies, Inc. | Dynamic replica failure detection and healing |
JP2015108927A (ja) * | 2013-12-04 | 2015-06-11 | 日本電気株式会社 | 情報処理装置、データ同期方法及びプログラム |
US10216768B1 (en) | 2014-02-17 | 2019-02-26 | Amazon Technologies, Inc. | Table and index communications channels |
US10102228B1 (en) | 2014-02-17 | 2018-10-16 | Amazon Technologies, Inc. | Table and index communications channels |
US9547706B2 (en) * | 2014-03-10 | 2017-01-17 | Dropbox, Inc. | Using colocation hints to facilitate accessing a distributed data storage system |
JP6361254B2 (ja) * | 2014-04-15 | 2018-07-25 | 日本電気株式会社 | オブジェクト配置装置、オブジェクト配置方法、及び、プログラム |
US10210171B2 (en) * | 2014-06-18 | 2019-02-19 | Microsoft Technology Licensing, Llc | Scalable eventual consistency system using logical document journaling |
US9558085B2 (en) | 2014-07-02 | 2017-01-31 | Hedvig, Inc. | Creating and reverting to a snapshot of a virtual disk |
US9875063B2 (en) | 2014-07-02 | 2018-01-23 | Hedvig, Inc. | Method for writing data to a virtual disk using a controller virtual machine and different storage and communication protocols |
US9864530B2 (en) | 2014-07-02 | 2018-01-09 | Hedvig, Inc. | Method for writing data to virtual disk using a controller virtual machine and different storage and communication protocols on a single storage platform |
US9424151B2 (en) | 2014-07-02 | 2016-08-23 | Hedvig, Inc. | Disk failure recovery for virtual disk with policies |
US9798489B2 (en) | 2014-07-02 | 2017-10-24 | Hedvig, Inc. | Cloning a virtual disk in a storage platform |
US9483205B2 (en) * | 2014-07-02 | 2016-11-01 | Hedvig, Inc. | Writing to a storage platform including a plurality of storage clusters |
US10067722B2 (en) | 2014-07-02 | 2018-09-04 | Hedvig, Inc | Storage system for provisioning and storing data to a virtual disk |
US9544837B2 (en) * | 2014-07-29 | 2017-01-10 | Time Warner Cable Enterprises Llc | Communication management and targeted message delivery |
US9800575B1 (en) | 2014-09-24 | 2017-10-24 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
US11095715B2 (en) | 2014-09-24 | 2021-08-17 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
US9754002B2 (en) * | 2014-10-07 | 2017-09-05 | Excalibur Ip, Llc | Method and system for providing a synchronization service |
US9438534B2 (en) * | 2014-10-14 | 2016-09-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for data set migration over a circuit switching network |
US10223394B1 (en) * | 2015-03-24 | 2019-03-05 | Amazon Technologies, Inc. | Data reconciliation |
JP6459702B2 (ja) * | 2015-03-26 | 2019-01-30 | 日本電気株式会社 | データベースシステム、情報記憶方法、プログラム |
US9348880B1 (en) * | 2015-04-01 | 2016-05-24 | Palantir Technologies, Inc. | Federated search of multiple sources with conflict resolution |
US9881176B2 (en) | 2015-06-02 | 2018-01-30 | ALTR Solutions, Inc. | Fragmenting data for the purposes of persistent storage across multiple immutable data structures |
US10121019B2 (en) * | 2015-06-02 | 2018-11-06 | ALTR Solutions, Inc. | Storing differentials of files in a distributed blockchain |
JP6499038B2 (ja) * | 2015-08-04 | 2019-04-10 | 株式会社東芝 | ストレージ管理装置、方法、及びストレージシステム |
JP6627323B2 (ja) * | 2015-08-18 | 2020-01-08 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム |
US10324919B2 (en) * | 2015-10-05 | 2019-06-18 | Red Hat, Inc. | Custom object paths for object storage management |
US11226985B2 (en) * | 2015-12-15 | 2022-01-18 | Microsoft Technology Licensing, Llc | Replication of structured data records among partitioned data storage spaces |
US10248174B2 (en) | 2016-05-24 | 2019-04-02 | Hedvig, Inc. | Persistent reservations for virtual disk using multiple targets |
JP6674099B2 (ja) * | 2016-06-10 | 2020-04-01 | 富士通株式会社 | 情報管理プログラム、情報管理方法、及び情報管理装置 |
US10698780B2 (en) * | 2016-08-05 | 2020-06-30 | Nutanix, Inc. | Implementing availability domain aware replication policies |
US10701176B1 (en) * | 2016-09-23 | 2020-06-30 | Amazon Technologies, Inc. | Messaging using a hash ring with host groups |
US10341434B2 (en) * | 2017-05-22 | 2019-07-02 | Oath Inc. | Method and system for high availability topology for master-slave data systems with low write traffic |
CN108427694A (zh) * | 2017-06-08 | 2018-08-21 | 国云科技股份有限公司 | 一种微信小程序平台批量删除购物车数据的方法 |
US10474377B2 (en) * | 2017-07-06 | 2019-11-12 | Facebook, Inc. | Optimizing data writes in a distributed computing system |
CN108256348B (zh) * | 2017-11-30 | 2021-08-20 | 深圳大学 | 一种密文搜索结果验证方法及其系统 |
US10848468B1 (en) | 2018-03-05 | 2020-11-24 | Commvault Systems, Inc. | In-flight data encryption/decryption for a distributed storage platform |
US11392610B2 (en) | 2018-10-05 | 2022-07-19 | Red Hat, Inc. | Scalable object storage with intelligent replication |
US10855757B2 (en) | 2018-12-19 | 2020-12-01 | At&T Intellectual Property I, L.P. | High availability and high utilization cloud data center architecture for supporting telecommunications services |
US11429576B2 (en) * | 2019-07-23 | 2022-08-30 | Macrometa Corporation | Methods and systems for garbage deletion in a document database |
EP3790224A1 (en) * | 2019-09-04 | 2021-03-10 | I25S ApS | Sparsed merkle tree method and system for processing sets of data for storing and keeping track of the same in a specific network |
US11509717B2 (en) | 2019-11-13 | 2022-11-22 | Microsoft Technology Licensing, Llc | Cross datacenter read-write consistency in a distributed cloud computing platform |
WO2021106228A1 (ja) | 2019-11-30 | 2021-06-03 | 合同会社Ysコーポレーション | 緩み止めナット |
US11494394B2 (en) * | 2019-12-30 | 2022-11-08 | Paypal, Inc. | Data versioning in a multi-datacenter topology |
US11301473B1 (en) * | 2021-06-18 | 2022-04-12 | Sas Institute Inc. | Dataset overlap query system |
US11843663B1 (en) * | 2023-01-03 | 2023-12-12 | Huawei Cloud Computing Technologies Co., Ltd. | Vector-scalar logical clock and associated method, apparatus and system |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH021052A (ja) * | 1988-06-08 | 1990-01-05 | Nec Corp | 多段構成ハッシュ表によるシンボル登録・検索方式 |
US5893117A (en) * | 1990-08-17 | 1999-04-06 | Texas Instruments Incorporated | Time-stamped database transaction and version management system |
JP3213766B2 (ja) * | 1992-03-16 | 2001-10-02 | 株式会社日立製作所 | レプリケートファイル更新システム |
US5390359A (en) * | 1992-03-20 | 1995-02-14 | International Business Machines Corporation | Storing and retrieving records in a computer system |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
US5974238A (en) * | 1996-08-07 | 1999-10-26 | Compaq Computer Corporation | Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements |
US5881292A (en) * | 1996-09-26 | 1999-03-09 | Microsoft Corporation | Dynamic versioning system for multiple users of multi-module software system |
US5909540A (en) * | 1996-11-22 | 1999-06-01 | Mangosoft Corporation | System and method for providing highly available data storage using globally addressable memory |
US6073209A (en) * | 1997-03-31 | 2000-06-06 | Ark Research Corporation | Data storage controller providing multiple hosts with access to multiple storage subsystems |
US5924096A (en) * | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
US6148337A (en) * | 1998-04-01 | 2000-11-14 | Bridgeway Corporation | Method and system for monitoring and manipulating the flow of private information on public networks |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
JP4689137B2 (ja) * | 2001-08-08 | 2011-05-25 | 株式会社日立製作所 | リモートコピー制御方法、及びストレージシステム |
US6785278B1 (en) * | 1998-12-10 | 2004-08-31 | International Business Machines Corporation | Methods, systems and computer program products for hashing address values |
JP2000250799A (ja) * | 1999-03-02 | 2000-09-14 | Mitsubishi Electric Corp | 複製ファイル管理システム |
US6597700B2 (en) * | 1999-06-30 | 2003-07-22 | Nortel Networks Limited | System, device, and method for address management in a distributed communication environment |
US6434662B1 (en) * | 1999-11-02 | 2002-08-13 | Juniper Networks, Inc. | System and method for searching an associative memory utilizing first and second hash functions |
US7249175B1 (en) * | 1999-11-23 | 2007-07-24 | Escom Corporation | Method and system for blocking e-mail having a nonexistent sender address |
US6434681B1 (en) * | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
JP2001337858A (ja) * | 2000-05-25 | 2001-12-07 | Mitsubishi Electric Corp | 複製データ管理システム |
US6523036B1 (en) * | 2000-08-01 | 2003-02-18 | Dantz Development Corporation | Internet database system |
US6748559B1 (en) | 2000-10-19 | 2004-06-08 | International Business Machines Corporation | Method and system for reliably defining and determining timeout values in unreliable datagrams |
US6795895B2 (en) * | 2001-03-07 | 2004-09-21 | Canopy Group | Dual axis RAID systems for enhanced bandwidth and reliability |
TW579463B (en) * | 2001-06-30 | 2004-03-11 | Ibm | System and method for a caching mechanism for a central synchronization server |
US7526425B2 (en) * | 2001-08-14 | 2009-04-28 | Evri Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
JP4039484B2 (ja) * | 2002-02-28 | 2008-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | XPath評価方法、これを用いたXML文書処理システム及びプログラム |
US7058639B1 (en) * | 2002-04-08 | 2006-06-06 | Oracle International Corporation | Use of dynamic multi-level hash table for managing hierarchically structured information |
US8204992B2 (en) * | 2002-09-26 | 2012-06-19 | Oracle America, Inc. | Presence detection using distributed indexes in peer-to-peer networks |
EP1554642A1 (en) * | 2002-10-15 | 2005-07-20 | Powerdsine Ltd. | Direct current power pooling |
JP4177641B2 (ja) * | 2002-11-07 | 2008-11-05 | 富士フイルム株式会社 | コンテンツ共有システム |
US7155405B2 (en) * | 2002-12-31 | 2006-12-26 | Symbol Technologies, Inc. | System for communicating product and service related information to a user based on direction of movement |
US7743022B2 (en) * | 2003-02-28 | 2010-06-22 | Microsoft Corporation | Method and system for synchronizing data shared among peer computing devices |
US20040230862A1 (en) * | 2003-05-16 | 2004-11-18 | Arif Merchant | Redundant data assigment in a data storage system |
US7096316B1 (en) * | 2003-06-30 | 2006-08-22 | Veritas Operating Corporation | Multi-host environment with coordinated distributed logging for writes to a raid storage volume |
ATE487987T1 (de) * | 2003-07-16 | 2010-11-15 | Joltid Ltd | Verteiltes datenbanksystem |
US7457880B1 (en) * | 2003-09-26 | 2008-11-25 | Ximeta Technology, Inc. | System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network |
JP2007511820A (ja) * | 2003-10-27 | 2007-05-10 | アーカイヴァス インコーポレイテッド | 独立ノード冗長アレイに対するポリシーに基づく管理 |
WO2005078606A2 (en) * | 2004-02-11 | 2005-08-25 | Storage Technology Corporation | Clustered hierarchical file services |
US8055745B2 (en) * | 2004-06-01 | 2011-11-08 | Inmage Systems, Inc. | Methods and apparatus for accessing data from a primary data storage system for secondary storage |
US20060031323A1 (en) * | 2004-06-29 | 2006-02-09 | International Business Machines Corporation | Systems, methods, and media for database synchronization on a network |
JP4546538B2 (ja) * | 2004-11-16 | 2010-09-15 | 株式会社エヌ・ティ・ティ・ドコモ | モバイルネットワーク内の共有ファイルに関する情報を管理する方法、装置およびプログラム製品 |
JP4670043B2 (ja) * | 2005-01-13 | 2011-04-13 | ブラザー工業株式会社 | 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 |
US7984180B2 (en) * | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
US8032790B2 (en) | 2005-10-27 | 2011-10-04 | International Business Machines Corporation | Testing of a system logging facility using randomized input and iteratively changed log parameters |
US8447829B1 (en) * | 2006-02-10 | 2013-05-21 | Amazon Technologies, Inc. | System and method for controlling access to web services resources |
US7707136B2 (en) | 2006-03-31 | 2010-04-27 | Amazon Technologies, Inc. | System and method for providing high availability data |
US7925624B2 (en) | 2006-03-31 | 2011-04-12 | Amazon Technologies, Inc. | System and method for providing high availability data |
-
2006
- 2006-08-22 US US11/508,129 patent/US7925624B2/en not_active Expired - Fee Related
-
2007
- 2007-08-22 KR KR1020097005859A patent/KR101429555B1/ko active IP Right Grant
- 2007-08-22 JP JP2009525761A patent/JP5426380B2/ja active Active
- 2007-08-22 EP EP07814342.7A patent/EP2062125B1/en active Active
- 2007-08-22 WO PCT/US2007/076535 patent/WO2008024850A2/en active Application Filing
-
2011
- 2011-04-11 US US13/084,495 patent/US8706688B2/en not_active Expired - Fee Related
-
2013
- 2013-11-28 JP JP2013246423A patent/JP5666677B2/ja active Active
-
2014
- 2014-04-21 US US14/257,757 patent/US9679008B2/en active Active
- 2014-12-10 JP JP2014250357A patent/JP6033830B2/ja active Active
-
2016
- 2016-03-02 US US15/059,234 patent/US11556518B2/en active Active
- 2016-10-26 JP JP2016209832A patent/JP6415513B2/ja active Active
-
2017
- 2017-06-12 US US15/620,638 patent/US11520770B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2062125B1 (en) | 2019-06-05 |
US11556518B2 (en) | 2023-01-17 |
US20110184920A1 (en) | 2011-07-28 |
WO2008024850A2 (en) | 2008-02-28 |
KR20090085572A (ko) | 2009-08-07 |
US20160179872A1 (en) | 2016-06-23 |
US20070282915A1 (en) | 2007-12-06 |
JP2017059246A (ja) | 2017-03-23 |
JP2014075143A (ja) | 2014-04-24 |
JP2015084243A (ja) | 2015-04-30 |
KR101429555B1 (ko) | 2014-08-12 |
JP5426380B2 (ja) | 2014-02-26 |
JP2010501942A (ja) | 2010-01-21 |
EP2062125A4 (en) | 2011-10-05 |
EP2062125A2 (en) | 2009-05-27 |
JP6415513B2 (ja) | 2018-10-31 |
US20170286476A1 (en) | 2017-10-05 |
WO2008024850A3 (en) | 2008-12-24 |
US9679008B2 (en) | 2017-06-13 |
US11520770B2 (en) | 2022-12-06 |
US7925624B2 (en) | 2011-04-12 |
US20140229432A1 (en) | 2014-08-14 |
US8706688B2 (en) | 2014-04-22 |
JP5666677B2 (ja) | 2015-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6415513B2 (ja) | 高可用性データを提供するためのシステム及び方法 | |
US11288002B2 (en) | System and method for providing high availability data | |
US20200167370A1 (en) | Maintaining a relationship between two different items of data | |
US7213038B2 (en) | Data synchronization between distributed computers | |
JP2023546249A (ja) | トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
US8620923B1 (en) | System and method for storing meta-data indexes within a computer storage system | |
US20070078911A1 (en) | Replicating data across the nodes in a cluster environment | |
JP2002542542A (ja) | 問合せ可能なダイナミック・キャッシュを有するウェブサーバ | |
JP2001513926A (ja) | 複数レベルのリモート・クライアントを持つ部分的複製分散データベース | |
CN101460930A (zh) | 维护数据库与文件系统之间的链接级一致性 | |
US20100169289A1 (en) | Two Phase Commit With Grid Elements | |
US20140032703A1 (en) | System and method for an expandable computer storage system | |
US8549007B1 (en) | System and method for indexing meta-data in a computer storage system | |
US9766949B2 (en) | System and method for locking exclusive access to a divided resource | |
JP4299033B2 (ja) | ジャーナル取得・配付装置、ジャーナル取得・配付方法、その方法をコンピュータに行わせるプログラム | |
CN115292394A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Lv et al. | Research and Application on Distributed Multi-Level Cache Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151207 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160307 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160406 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160602 |
|
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: 20160926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6033830 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |