JP2016530608A - ミラーリングされるデータサイト間のデータの複製 - Google Patents
ミラーリングされるデータサイト間のデータの複製 Download PDFInfo
- Publication number
- JP2016530608A JP2016530608A JP2016525437A JP2016525437A JP2016530608A JP 2016530608 A JP2016530608 A JP 2016530608A JP 2016525437 A JP2016525437 A JP 2016525437A JP 2016525437 A JP2016525437 A JP 2016525437A JP 2016530608 A JP2016530608 A JP 2016530608A
- Authority
- JP
- Japan
- Prior art keywords
- data
- site
- data object
- mirrored
- sites
- 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.)
- Pending
Links
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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit or communication errors
-
- 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/2056—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 by mirroring
- G06F11/2064—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 by mirroring while ensuring consistency
-
- 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/2056—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 by mirroring
- G06F11/2071—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 by mirroring using a plurality of controllers
- G06F11/2079—Bidirectional 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/202—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 processing functionality is redundant
- G06F11/2023—Failover techniques
-
- 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/855—Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
ミラーリングされるデータサイト間のデータの複製のためのコンピュータ実装方法及びシステムが提供される。例示的な方法は、ミラーリングされるデータサイトにおいてデータオブジェクトを受信することを含むことができ、ミラーリングされるデータサイトは1又は複数のデータノードを含む。データオブジェクトは、1又は複数のデータノードに内部で複製される。次に、データオブジェクトに関連付けられるデータオブジェクト参照が生成される。データオブジェクトを参照する参照は、全ての他のミラーリングされるデータサイトへの送信のためにキューに入れられる。データオブジェクトに関連付けられるデータオブジェクト参照は、他のミラーリングされるデータサイトに送信される。データオブジェクトが各ミラーリングされるデータサイトで受信されるとき、サイト内の1又は複数のデータノードに複製される。データオブジェクトを送信した後、データオブジェクト参照は破棄される。
Description
本開示は概して、データ複製のためのシステム及び方法、より具体的には、任意のサイトから利用可能ファイルシステムの単一の一貫性のあるビューを提供するためのミラーリングされるデータサイトを含む複製インフラストラクチャに関する。
この部分に記載されたアプローチは、追求されることができるが、必ずしも以前に考えられていた又は追求されていたアプローチではない。したがって、特に明記しない限り、この部分に記載されたアプローチのいずれかが、単にこの部分にそれらが組み入れられることによってだけで従来技術と見なすことが推定されるべきではない。
コンピューティングシステムにおいて、リモート複製は、データ保護、フォールトトレランスを向上させるために、及び障害復旧を提供するために、多数のサイト間のデータのコピーをすることを含むデータ保護の形態である。本出願で使用されるとき、用語「サイト」は、物理的に異なる地理的な位置を示し得る、又は、障害対応を必要とする別個のグループを示し得る。例えば、地震からの保護は、同じ断層線によって影響を受けないサイトにレプリカを置くことを意味し得る。保護が電力関連の障害に向けられる場合、2つのサイトは、同じ建物の中又は同じラックの中にさえあり得るが、それぞれのサイトは異なる電源を有する。
単一のサイトに対するデータ保護に使用されるプロシージャ及び異なるサイト間の複製に使用されるプロシージャは実質的に異なる場合がある。したがって、従来のシステムでは、2つの完全に異なる方法論が使用され得る。
さらに、サイト間のデータオブジェクトは、様々なネットワーク及びノード障害に悩まされ得る。このような障害は、検出され且つ復旧される必要がある。
この概要は、詳細な説明に以下にさらに記載される単純な形態で、概念の選択を導入するために提供される。この概要は、請求項に記載された主題の重要な特徴又は本質的な特徴を特定することをいとするものではなく、請求項に記載された主題の範囲を決定する補助として使用されることを意図するものでもない。
本開示の様々な実施形態によれば、ミラーリングサイト間の複製の方法が提供される。幾つかの実施形態では、方法は、多数のサイト間の内容参照可能オブジェクトストア(content addressable object store)を複製することを含み、各オブジェクトは、オブジェクトデータから得られるシグネチャによって参照可能である。幾つかの実施形態では、方法は、内容参照可能オブジェクトストアに加えて構成されたファイルシステムを複製することを含み得る。
ミラーリングは、任意のサイトにおけるデータに対する変更が全ての他のサイトにコピーされるように双方向性であり得るとともに、全てのサイトは、ファイルシステムが利用可能なプロシージャにしたがってデータに同時にアクセスし得る。
加えて、方法は、複製されたサイトのセットにわたって、読み込み及び書き込み順序付けを保証することを含み得るとともに、ロックすることは、ファイルシステムがそのクライアントに伝えることを要求されることを保証する。幾つかの実施形態では、これらの順序付けルールは、規格及びプロトコルによって規定され得る。このような規格及びプロトコルの例は、POSIX、NFS、CIFS、SMB、RESTful、WebDav等を含む。
各ミラーリングされるサイトは、1又は複数のノードを含み得、その1つはゲートウェイとして選ばれ得る。幾つかの実施形態では、ゲートウェイノードは、アービトレータとして1つのサイトを選ぶように協力し得る。代替的には、ゲートウェイは、この責任を協力して分担し得る。アービトレータは、全てのファイルシステム順序付けルールが忠実に守られることを保証する。
サイトは、ミラーに加えられ得る又はそれから除去され得る。加えられたサイトは、既にデータオブジェクトを含み得る。幾つかの実施形態では、これらのデータオブジェクトは、「初期同期」方法を使用して複製され得る。初期同期方法はまた、サイトが(例えば、ネットワーク障害に起因する)切断後に再接続されるときにはいつでも使用され得る。
本出願に記載された方法を使用することで、ミラーリングされるサイトのデータオブジェクトは、ミラーサイトが切断されている間に、他のサイトによって、アクセスされ、作られ、修正され、又は変更され得る。このために、データオブジェクトは、1つのサイトで受信され得る。次に、データオブジェクトは、そのサイトの1又は複数のノードに記憶され得る。さらに、データオブジェクトは、ゲートウェイに転送され得る。幾つかのデータオブジェクトに関して、ゲートウェイは、データオブジェクト及びメタデータをミラーリングされるサイトに同期して複製し得る。他のデータオブジェクトに関して、ゲートウェイは、データオブジェクトシグネチャ及びオブジェクトメタデータをミラーリングされるサイトに同期して送信し得る。データオブジェクトは、非同期伝送のためにキューに入れられ得る。幾つかの実施形態では、メタデータはサイト識別子を含み得る。
ミラーリングされるサイトのクライアントがまだ複製されていないデータオブジェクトにアクセスする必要があるとき、このミラーリングされるサイトは、以前に送信されたオブジェクトメタデータによって識別されるサイトにデータオブジェクトに対する要求を送信する。要求されたサイトはその後、要求しているサイトにオブジェクトデータを送信し得るとともに、それを送信保留中のオブジェクトのキューから取り除き得る。
幾つかの実施形態では、同期して複製されることになるオブジェクトのキューは、データオブジェクトの最大カウントに制限され得る。したがって、キューがその最大に達したとき、サイトは新しいデータオブジェクトを受け入れることを停止し得る。
前述の及び関連する目的の達成のために、本開示の1又は複数の実施形態は、以下に十分に記載されるとともに特に請求項で指摘される特徴を有し得る。以下の説明及び図面は、本開示の1又は複数の実施形態の特定の例示の特徴を詳細に述べる。しかし、これらの特徴は、本開示の様々な実施形態の原理が用いられ得る様々な方法の幾つかを示し、この記載は、本開示のこのような実施形態及びそれらの均等物を含むことが意図される。
実施形態は、例として示され、添付の図面への限定ではなく、同様の参照符号は同様の要素を示す。
コンピュータネットワークインフラストラクチャの単純化された構造を示す。
メタデータ操作プロセッサ(MOP)及びゲートウェイサービスの移行のための単純化されたシナリオを示す。
メインゲートウェイの移行のためのシナリオを示す。
他のサイトにおけるゲートウェイサービスの接続状態の図表示を示す。
異なる層を使用するデータ複製を示す。
サイト間のデータ複製の図表示を示す。
サイト障害を示す。
サイト障害に際してとられるアクションを示す。
データの複製のための方法を示すフローチャートである。
データの複製のためのサンプルシステムを示す。
コンピュータシステムの例示的な電子的な形態におけるコンピューティングデバイスの図式表現を示す。
以下の詳細な説明は、添付の図面への参照を含み、この添付の図面は詳細な説明の一部を形成する。図面は、例示的な実施形態に従う説明を示す。「例」とも称される、これらの例示的な実施形態は、当業者が本主題を実施することを可能にするために十分詳細に記載されている。実施形態は組み合わされることができ、他の実施形態が利用されることができ、又は構造的、論理的及び電気的な変更が、請求項に記載されたものの範囲から逸脱することなしに行われることができる。したがって、以下の詳細な説明は、限定する意味で受け止められるべきではなく、範囲は、添付の請求項及びそれらの均等物によって定められる。
ここに開示されるアプローチ及び原理は、コンピュータネットワークインフラストラクチャの中のデータオブジェクトの複製のためのコンピュータに実装される方法及びシステムに関する。コンピュータネットワークインフラストラクチャは、それぞれが様々なデータオブジェクトを記憶するためのストレージリソースを有するとともに他のノードからそれらへのアクセスを可能にする複数のノードを含む。さらに、1つのノードのストレージリソースは、RAM(ランダムアクセスメモリ)、ROM(リードオンリメモリ)、ハードディスクドライブ(HDD)、又はソリッドステートドライブ(SSD)のような、1又は複数のハードドライブ又は他のメモリデバイスを含み得る。各データオブジェクト(例えば、ファイル、ファイルの集まり、又はオペレーティングシステム若しくはアプリケーションによって動作されることができる任意の他のエンティティ)は、インフラストラクチャのノードのそれぞれに複製され得る。
デバイスの間の論理接続は、様々なトポロジを形成し得る。トポロジは、物理的なネットワークのレイアウト、ネットワークのデバイスの数、及び他のファクタに依存し得る。1つの伝統的なトポロジは、データノードが円で接続されるとともに各データノードが隣接するデータノードに接続されるサイトを含む。他の伝統的なトポロジは、全てのデータノードがサイトの他の全てのデータノードに接続される「メッシュ」トポロジを含む。このようなサイトは、「リング」と称されることができる。リングは、ノードの各ペアの間の2地点間通信チャネルを使用して、メッシュに接続され得る。データノードは、2以上のリングが互いに接続され且つノードの全てのペアが2地点間通信チャネルを使用して接続されるとき、メッシュで接続されていると言われる。したがって、リングが3つのノードA、B、及びCを含む場合、3つのネットワーク接続:A−B、B−C、及びC−Aがある。1つのメンバリングが2つのノード、A、Bを含み、他が3つのノードD、E、Fを含むメッシュがある場合、次の10のネットワーク接続がある:A−B、D−E、E−F、F−D、A−D、A−E、A−F、B−D、B−E、及びB−F。
より複雑な設計では、記載されたトポロジの両方が使用され得る。例えば、データサイトは、メッシュ接続を使用して互いに通信し得る。この接続では、データサイトの全てのノードは、他のデータサイトの全てのノードにデータを複製することができる。したがって、メッシュトポロジは、データサイト間に存在することができる。このトポロジは図1によって示されている。
図1は、幾つかの例示の実施形態による、コンピュータネットワークインフラストラクチャ100の単純化された構造である。コンピュータネットワークインフラストラクチャ100は、少なくとも2つのサイト、サイトA及びBを含み、その両方がアクティブである。各サイトは、複数のノードを含み得る。各ノードは、ネットワークアドレスを維持するとともにデータオブジェクトを記憶し且つ共有することができる(さらなるコンポーネントデータ構成要素を含み得る)ネットワークデバイスである。例では、ノードは、複数のハードドライブ、コンピュータ、サーバ、ラップトップ、タブレットコンピュータ、シンクライアント、又はデータを複製するのに適した任意の他の電子コンピューティングデバイスを有するデバイスを参照し得る。さらに、各ノードは、RAM、ROM、フラッシュメモリ等のような複数のストレージリソースを含み得る。
図1に示されるように、サイトAは、4つのノード:1A、2A、3A、及び4Aを含み得る。サイトBも、4つのノード:1B、2B、3B、及び4Bを含み得る。サイトAとサイトBとの間の論理接続はメッシュトポロジを形成し得る。したがって、サイトAの各ノードは、データをサイトBの各ノードに複製し得る。これは、ノード2Aの例によって示されている。ノード2Aに関連付けられる通信が、サイトBの各ノードにつながる矢印によって示されている。このような通信がノード2Aに対してのみ示されているが、サイトAの全てのノードがサイトBの全てのノードとの同様の通信を有し得る。
サイトAは配置空間(configuration space)140に関連付けられ得る一方、サイトBは配置空間160に関連付けられ得る。ミラーのサイトA及びBの配置空間140及び160は、データサイト間の複製のためのシステム150によって、整合され得る。システム150は、ファイルシステムの1つの共通のビューを提供するためにメッシュに接続されたサイトA及びBの構成を整合させ得る。
ミラーリングサイト間のデータの複製は、同期及び非同期データ経路の両方を用い得る。同期データ経路は、メタデータ通信のために用いられ得る一方、非同期経路は、データ自体を送信するために使用され得る。このアプローチは図1に示されている。
複数サイトインフラストラクチャでは、1つのサイトは、複製を制御し且つメタデータ操作プロセッサ(Metadata Operational Processor)(MOP)を動作させ得る。このサイトは、マスタサイトと称され得るとともに、メタデータを制御し且つコンフリクトを解決するために使用され得る。他のサイトは、それぞれMOPプロキシを動作させ得る。これらのサイトは、従属サイトと称され得る。
図2は、幾つかの例示の実施形態による、コンピュータネットワークインフラストラクチャ200の単純化された構造を示す。コンピュータネットワークインフラストラクチャ100は、それぞれが4つのノードを有するとともにメッシュで接続されている、サイトA及びBを含み得る。サイトAでは、ノード2AはMOP220を含み得る。したがって、ノード2Aは、アービトレータノードと称され得るとともに、ミラーリングされるデータサイトAとミラーリングされるデータサイトBとの間のデータ複製を調停し得る。MOP220は、ファイルシステムの一貫性のあるビューを提示するために全てのメタデータ操作を同期させ得る。多数のノードからのメタデータ操作は、MOP220を通じて送り込まれ得る。MOP220は、サイト内の単一のノード上で動き得るが、その上でMOP220が動くノードは、データモデル及びサイトの状態に応じて変わり得る。幾つかの実施形態では、MOPの機能は、サイトのノードにわたって、又はサイト間で分散され得る。
MOP220をホスティングしないサイトBがMOPプロキシ230を実行し得る。MOPプロキシ230は、MOP220がサイトAから要求を受信するのと同じように、サイトBのノードから要求を受信し得る。しかし、プロキシとして作動することによって、MOPプロキシ230は、要求をサイトAのMAOP220に中継し得るとともに、要求を起こしたノードに応答を中継して返し得る。MOPプロキシ230は、転送エージェントとして作動し得るとともに、サイトBのノードとサイトAのMOP220を実行しているノードとの間でリモートプロシジャコール(RPC)を中継し得る。
サイトA及びサイトBは、各サイトのノード間の双方向接続を使用して接続され得る。この接続は、メインゲートウェイ210と呼ばれ得る。メインゲートウェイ210は、接続及びイベントのための分散メッセージングプロトコルを活用し得る。メインゲートウェイ210は、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)上で動作し得る。
次に図3を参照すると、メインゲートウェイ210及びMOPサービスは併置され得る。MOP220は、ゲートウェイサービスと共にサイトAのノード2Aに位置し得る一方、MOPプロキシ230は、ゲートウェイサービスと共にノード2Bに位置する。サイトAの任意のノードがMOP220を実行するように選択され得るので、そして、サイトBの任意のノードがMOPプロキシ230を実行するように選択され得るので、全てのノードは、それらが他のサイトの各ノードに接続するように、事前にプロビジョニングされ得る。
これは、MOP220(又はMOPプロキシ230)をホスティングするノード2Aが、サイトの他のノードにフェイルオーバするノードフェイルオーバシナリオに適応し得る。ゲートウェイサービスは、ノードフェイルオーバにおいてMOP220に従い得る。これは、ミラーリングされるサイト間の代替ゲートウェイを確立するために予めプロビジョニングされた経路を使用して実行され得る。接続の状態は、可能なMOP及びゲートウェイフェイルオーバ位置を制限するために使用され得る。
ノード2Bに関連付けられるMOPプロキシ230は、サイトBの他のノード(例えば、ノード4B)に移行され得る。これは、メインゲートウェイ210の障害の結果であり得る。メインゲートウェイ210及びMOPサービスは併置されるので、メインゲートウェイ210もまたノード4Bに移行され得る。
接続状態
図4は、他のサイトからの接続を待つサイトの接続状態400の図表示を示す。他のサイトのノードは、各サイトの配置空間に発行されるミラー配置にしたがって接続を開始し得る。
図4は、他のサイトからの接続を待つサイトの接続状態400の図表示を示す。他のサイトのノードは、各サイトの配置空間に発行されるミラー配置にしたがって接続を開始し得る。
したがって、サイトの接続状態は、接続待ち410を含むことができ、この接続待ちは、他のサイトのノードによって開始され得る。接続が確立されるとき、サイト間の同期420が開始し得る。同期は、同期エラーが発生する430又は同期が終了する430のいずれかまで続き得る。状態430又は440のいずれかが生じるとき、サイト間の接続はもはや存在せず、サイトは再び状態410に行き、接続410を回復させようとし、同期が終了440まで同期420を続け得る。
初期同期
サイトが、接続又は再接続するとき、ゲートウェイサービスは、初期同期と呼ばれる段階に入る。各サイトのゲートウェイサービスは、それらのそれぞれのサイトに存在することが知られているオブジェクトのオブジェクト識別子を交換し得る。サイトに知られていないオブジェクトに対応するオブジェクト識別子は、データ受信動作を使用してゲートウェイサービスによってプルされ、次にデータ転送動作を使用してサイトに書き込まれ得る。これらの動作は、ゲートウェイサービスが、ネットワークリンクのより効率的な使用を伴ってオブジェクトの初期同期を実行することを可能にし得る。
サイトが、接続又は再接続するとき、ゲートウェイサービスは、初期同期と呼ばれる段階に入る。各サイトのゲートウェイサービスは、それらのそれぞれのサイトに存在することが知られているオブジェクトのオブジェクト識別子を交換し得る。サイトに知られていないオブジェクトに対応するオブジェクト識別子は、データ受信動作を使用してゲートウェイサービスによってプルされ、次にデータ転送動作を使用してサイトに書き込まれ得る。これらの動作は、ゲートウェイサービスが、ネットワークリンクのより効率的な使用を伴ってオブジェクトの初期同期を実行することを可能にし得る。
幾つかの実施形態では、初期同期が長期間の動作であるので、初期同期に関連する状態キーが配置空間において発行され得る。このような方法で、初期同期の進捗がモニタされ得る。
ミラーが接続されるとき、1つのサイトで行われたファイルシステムアップデートは、他のサイトに中継され得る。オブジェクトレベルで、これは、1つのサイトで局所的に行われたアップデートを他のサイトに繰り返すことによって達成され得る。
層(Tier)アーキテクチャ
データオブジェクトは、サイト内のノード間で及びサイト間で複製され得る。サイト内及びサイト間動作が、異なるレベルで又は図5に示されるような層で実行され得る。
データオブジェクトは、サイト内のノード間で及びサイト間で複製され得る。サイト内及びサイト間動作が、異なるレベルで又は図5に示されるような層で実行され得る。
アップデートが、層0 510(又はローカル層)を介してサイトAで局所的に持続され得る。対応して、ノード1Aと2Aとの間、1Aと3Aとの間、3Aと4Aとの間、及び2Aと4Aとの間の動作のような、サイト内動作が、層0 510で実行され得る。
アップデートは次に層1 520(又はリモート層)を介してサイトBにプッシュされ得る。サイトB内の動作も、すなわち、1Bと2B、1Bと3B、3Bと4B、及び2Bと4Bも、次に層0 510で実行され得る。
サイト内及びサイト間動作を異なる層と関連付けることによって、動作のルーピングが回避され得る。例えば、データオブジェクト書き込みは、発生元サイトにおけるリストの層の全てに複製され得る。これらの層の1つは、他のサイトへのゲートウェイを含むことができ、このゲートウェイはデータオブジェクトがそのサイトに複製されることをもたらす。そのサイト内で、データオブジェクトを記憶するための層の新しいリストが発生し得るとともに、発生元層は、こちら側のゲートウェイがデータオブジェクトをまた発生側へルーピングさせることを避けるために、リストから取り除かれ得る。
幾つかの実施形態によれば、全体的なアップデート動作がうまく完了する前に、全ての層でうまく完了しなければならない。
ミラー接続は、高い待ち時間を伴う遅いWANのようなパフォーマンスを有し得るので、サイト間のアップデートは、転送されるデータオブジェクトについて他のサイトに伝えるデータ参照を作ることから始まり得る。例えば、RPCが、他のサイトのゲートウェイサービスによって処理されることができ、このポイントにおいて、エントリが、DB_MBと呼ばれる、プロキシオブジェクトデータベースの中に作られ得る。このようなエントリは、このエントリに対応するオブジェクトが結局は到着するという他のサイトによる約束を示し得る。オブジェクト転送が次に、他のサイトへの最終的な配信に関する要求を起動するノードでキューに入れられ得る。
幾つかの例示の実施形態では、設定可能なキュー長さ最大値が強制され得る。限度に達するとき、アラームがトリガされ得るとともに、元の動作は、キューが追加されることができるまで、完了しない。
他の例示の実施形態では、キュー限度に達するとき、新しい書き込みが受け付けられないように、バックプレッシャ(backpressure)がクライアントに加えられ得る。これ及び同様の仕組みを介して、ミラー間の差が最小化され得るとともにやがて限度内にとどめられ得る。
読み込みをサポートするために、オブジェクト受信は、オブジェクトが任意の前の層の中に見られなくなった後にのみ、実行され得る。一貫性のあるファイルシステムビューをサポートするために、要求されたオブジェクトがローカルプロキシオブジェクトデータベースへのエントリに対応する場合、層0読み込み動作が、各サイトにおけるゲートウェイサービスノードを介して他のサイトで実行され得る。その間、対応するデータオブジェクトは、書き込み動作が最終的にデキューされ(de−queued)且つうまく処理されるまで、そのサイトで持続され得ない。成功して完了すると、DB_MBの対応するエントリが除去される。ミラーが損なわれているとき書き込み動作が失敗することがあり得る。これは、以下により詳細に論じられる。
この書き込みキューの長さは、初期同期のための読み込みキューの長さと組み合わされるとき、2つのサイトの同期に関する情報を提供し得る。これらの長さは、配置空間のメッシュ状態キーに周期的に記録され得る。
非同期データオブジェクト書き込み動作
データオブジェクト620のための、サイト、例えば図6に示されるようなサイトA内の書き込み動作が層0 510でうまく完了するとき、動作は、サイト間レベルで層1 520にレベルを上げられ得る。このために、アップデート動作のデータオブジェクト620に関連付けられるプロキシ640は、他のサイトに同期して送られ得る。プロキシ640は、データオブジェクトを現在含むサイトを識別するサイト識別子(ID)を含むことができ、このデータオブジェクトにプロキシ640は関連付けられる。
データオブジェクト620のための、サイト、例えば図6に示されるようなサイトA内の書き込み動作が層0 510でうまく完了するとき、動作は、サイト間レベルで層1 520にレベルを上げられ得る。このために、アップデート動作のデータオブジェクト620に関連付けられるプロキシ640は、他のサイトに同期して送られ得る。プロキシ640は、データオブジェクトを現在含むサイトを識別するサイト識別子(ID)を含むことができ、このデータオブジェクトにプロキシ640は関連付けられる。
プロキシ640を受信すると、サイトBのプロキシ参照データベースがアップデートされ得る。したがって、プロキシ参照が、作られることができ、サイトBに転送されるデータオブジェクト620を伝える。
データ配信キュー610が許可するとき、データオブジェクト620は圧縮されてサイトBに送られ得る。データオブジェクト620は、非同期転送され得る。サイトBでデータオブジェクト620を受信した後、データオブジェクト620は、解凍されてサイトBのノードに書き込まれ得る。
全ての層におけるアップデート動作がうまく完了した後、プロキシ参照データベース630におけるプロキシオブジェクト情報640は除去され得る。
データオブジェクト読み込み動作
データオブジェクトのための読み込み動作が開始されるとき、データオブジェクトは、層0 510において検索され得る。データオブジェクトが層0 510において発見される場合、読み込み動作はうまく完了する。しかし、データオブジェクトがサイトにまだ書き込まれていない場合、データオブジェクトは発見されないので、読み込み動作が層1に対して再試行され得る。この処理は、オブジェクトが見つかる又は全ての層が調べ尽くされるかのいずれかまで繰り返され得る。後者の場合、オブジェクトは発見されることができないのでエラーが返送される。
データオブジェクトのための読み込み動作が開始されるとき、データオブジェクトは、層0 510において検索され得る。データオブジェクトが層0 510において発見される場合、読み込み動作はうまく完了する。しかし、データオブジェクトがサイトにまだ書き込まれていない場合、データオブジェクトは発見されないので、読み込み動作が層1に対して再試行され得る。この処理は、オブジェクトが見つかる又は全ての層が調べ尽くされるかのいずれかまで繰り返され得る。後者の場合、オブジェクトは発見されることができないのでエラーが返送される。
図6を参照すると、読み込み動作がデータオブジェクト2に関連付けられる場合、データオブジェクト2に関連するプロキシ参照が、プロキシ参照データベース630において発見され得る。その後、要求が層1で発行され、データオブジェクト2は、前方にプルされ(pulled forward)て、サイトBに書き込まれ得る。
幾つかの実施形態では、データオブジェクトは、オブジェクト識別子に関連付けられ得る。オブジェクト識別子は、データオブジェクトの内容に基づいてデータオブジェクトを一意に識別し得る。したがって、データオブジェクトは、サイト内でデータレプリカを動的に再配置することを含むサイトにローカルな複製ポリシーにもかかわらず、任意の場所、オブジェクト識別子を使用する任意の層で見つけ出され得る
サイト障害シナリオ
幾つかの場合では、サイトの1つが様々な理由(例えば、停電)のために障害を経験し得る。リモートサイトが障害を起こす場合、新しいリモートサイトがプロビジョニングされ得るとともに、接続を確立した後、初期同期が開始され得る。MOPをホスティングするサイトが障害を起こす場合、リモート複製のためのシステムは、MOPをホスティングするように新しいサイトを指定し得る。
サイト障害シナリオ
幾つかの場合では、サイトの1つが様々な理由(例えば、停電)のために障害を経験し得る。リモートサイトが障害を起こす場合、新しいリモートサイトがプロビジョニングされ得るとともに、接続を確立した後、初期同期が開始され得る。MOPをホスティングするサイトが障害を起こす場合、リモート複製のためのシステムは、MOPをホスティングするように新しいサイトを指定し得る。
図7Aは、幾つかの例示的な実施形態による、MOPをホスティングするサイトの障害を示す。サイトAは、MOPをホスティングするサイトであり、サイトBはMOPをホスティングするサイトである。サイトは、データ配信の処理中である。データ配信キュー710はデータオブジェクトを含み、プロキシ参照データベース730は幾つかのプロキシ740を有する。サイトAが障害を起こす場合、データサイト間の複製のためのシステムは、図7Bに示されるように、ホスティングするサイトになるようにサイトBのレベルを上げ得る。
サイトAが障害を起こす場合、プロキシ参照データベース730はプロキシを有するので、データサイト間の複製のためのシステムは、ロールバックを実行し得る。システムは、データベースをスキャンし得るとともにサイトBに囲まれたデータをサポートするスナップショットにロールバックし得る。
他の動作は、データ配信キュー710を空にすること、プロキシ参照データベース730からプロキシを削除すること等を含み得る。
サイトAが障害を起こし続いて復旧する(例えば、一時的な停電から復旧する)場合、それはMOPを実行しているサイトにレベルを下げられ得る。サイト間の接続が確立されるとき、初期同期プロシージャが開始され得る。したがって、サイトAに存在しているデータへのアクセスは失われない。
図8は、コンピュータネットワークインフラストラクチャ100内のミラーリングされるデータサイト間のデータの複製の方法800を示すプロセスフロー図である。方法800は、ハードウェア(例えば、専用ロジック、プログラマブルロジック、及びマイクロコード)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンで実行されるソフトウェア等)、又は両方の組み合わせを有し得るロジックによって実行され得る。1つの例示的な実施形態では、処理ロジックは、データサイト900間の複製のためのシステムに存在し、システム900の様々な要素が方法800を実行することができる。
前述のモジュールは仮想であり得るとともに、モジュールによって実行されると言われている命令は、実際、システム900によって取得され且つ実行され得ることが、当業者によって理解されるであろう。様々な要素が個々に記載された様々な動作の幾つか又は全てを実行するように構成され得るが、より少ない又はより多い要素が、提供され得るとともに様々な実施形態の範囲に依然として含まれ得る。
図8に示されるように、方法800は、ミラーリングされるデータサイトでデータオブジェクトを受信することを伴う動作810で開始し得る。データサイトは、1又は複数のデータノードを含み得る。これらのデータノードの1つは、MOPを実行するノード、すなわち、サイト間のデータ複製を調停するためのアービトレータノード、として指定され得る。受信されたデータオブジェクトは、動作820で1又は複数のデータノードに内部で複製され得る。データオブジェクトが全てのデータノードに複製された後、データオブジェクトに関連付けられるデータオブジェクト参照が動作830で生成され得る。
幾つかの実施形態では、オブジェクト識別子が、データオブジェクトに関連付けられる内容に暗号学的ハッシュ関数を実行することによって生成され得る。したがって、データオブジェクトは、データオブジェクトに関連付けられる内容に基づいて発見され得る。
動作840において、データオブジェクト参照は、1又は複数のノードを含む他のミラーリングされるデータサイトの1又は複数に送信され得る。これらのノードのそれぞれは、完全なメッシュを形成するように他のミラーリングされるデータサイトの各ノードと相互接続され得る。幾つかの例示の実施形態では、データオブジェクト参照は、他のミラーリングされるデータサイトに関連付けられるデータオブジェクト参照データベースに送信され得る。その後、データオブジェクトは、動作850において他のミラーリングされるデータサイトのへの送信のためにキューに入れられ得る。
他のミラーリングされるデータサイトへのデータオブジェクトの送信に際し、データオブジェクトは、データサイトの1又は複数のノードに複製され得る。ミラーリングされるデータサイトへのデータオブジェクトの複製の完了後、データオブジェクト参照は破棄され得る。
幾つかの実施形態では、ミラーリングされるデータサイト内のノードへのデータオブジェクトの複製は、サイト内動作層で実行され得る一方、ミラーリングされるデータサイト間でデータオブジェクト参照及びデータオブジェクトを送信することは、サイト間動作層で実行され得る。両方の動作層における動作は、同じデータロジックを使用して実行され得る。
さらに、方法800は任意選択で、ミラーリングされるデータサイト間でデータを同期することを含み得る。同期することは、ミラーリングされるデータサイトに関連付けられるデータオブジェクト参照及びデータオブジェクトを、内部で、他のミラーリングされるデータサイトの1又は複数と関連付けられるデータオブジェクト参照及びデータオブジェクトと比較することを含み得る。オブジェクト参照に対応するデータオブジェクトの配信は要求され得る。
幾つかの実施形態では、方法800は、他のミラーリングされるデータサイトにおいてデータオブジェクトの要求を受信することを含み得る。そのサイトが要求されたデータオブジェクトを有していない場合、それは、他のミラーリングされるデータサイトに関連付けられるデータオブジェクト参照に基づいて決定され得る。この場合、ミラーリングされるデータサイトは、より高い優先度でデータオブジェクトを供給するように要求され得る。
図9は、幾つかの例示の実施形態による、データサイト間の複製のためのシステム900を示す。システム900は、プロセッサ910及びデータベース920を含み得る。プロセッサ910は、ミラーリングされるデータサイトにおいてデータオブジェクトを受信するように構成され得る。そのデータサイトは、1又は複数のデータノードを含み得るとともに、受信されるデータオブジェクトは、ローカル層において、1又は複数のデータノードに内部で複製され得る。その後、データオブジェクトに関連付けられるデータオブジェクト参照、例えば、プロキシ参照が、生成されてデータベース920に送信され得る。データベース920は、データオブジェクト参照を含むことができ、このデータオブジェクト参照は、幾つかの実施形態では、その中にデータが存在するサイトを識別する「プロキシ参照」と称される。
データオブジェクトはその後、他のミラーリングされるデータサイトの1又は複数への送信のためにキューに入れられ得る。他のミラーリングされるデータサイトの1又は複数へのデータオブジェクトの送信に際し、データオブジェクトは、他のミラーリングされるデータサイトの1又は複数のノードに複製され得るとともに、データオブジェクト参照が破棄され得る。
図10は、コンピュータシステム1000の例示的な電子的な形態でマシンのためのコンピューティングデバイスの概略表現を示し、このコンピュータシステムの中でマシンにここで論じられた方法のいずれか1つ又は複数を実行させる命令のセットが実行されることができる。様々な例示的な実施形態では、マシンは、スタンドアロンデバイスとして動作する又は他のマシンに接続される(例えば、ネットワーク化される)ことができる。ネットワーク化された配置では、マシンは、サーバ・クライアントネットワーク環境でのサーバ若しくはクライアントマシンの能力の中で、又はピア・ツー・ピア(又は分散)ネットワーク環境の中のピアマシンとして動作することができる。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯電話、デジタルカメラ、携帯音楽プレーヤ(例えば、MPEGオーディオ層3(MP3)プレーヤのような携帯ハードドライブオーディオデバイス)、ウェブ機器、ネットワークルータ、スイッチ、ブリッジ、又はそのマシンで受け取られることになる動作を規定する(シーケンシャル又は別の)命令のセットを実行可能である任意のマシンであることができる。さらに、1つのマシンのみが図示されているが、用語「マシン」は、ここで論じられた方法のいずれか1つ又は複数を実行するための命令のセット(又は多数のセット)を個別に又は共同して実行するマシンの任意の集まりを含むようにも受け取られるべきである。
例示のコンピュータシステム1000は、1つのプロセッサ又は多数のプロセッサ1002、ハードディスクドライブ1004、メインメモリ1006及びスタティックメモリ1008を含み、これらは互いにバス1010を介して通信する。コンピュータシステム1000はまた、ネットワークインタフェースデバイス1012、並びにデータ圧縮及びオブジェクト識別子暗号計算専用コプロセッサを含み得る。ハードディスクドライブ1004は、コンピュータ可読媒体1020を含むことができ、このコンピュータ可読媒体は、ここに論じられた方法又は機能のいずれか1つ若しくは複数を具体化する又は同方法又は機能のいずれか1つ若しくは複数によって用いられる命令1022の1又は複数のセットを記憶する。命令1022はまた、コンピュータシステム1000によるそれらの実行の間にメインメモリ1006の中に及び/又はプロセッサ1002の中に、完全に又は少なくとも部分的に、存在することができる。メインメモリ1006及びプロセッサ1002はまた、例えば、HDD又はSSDのような、機械可読媒体を構成することができる。
コンピュータ可読媒体1020は例示的な実施形態において単一の媒体であるように示されているが、用語「コンピュータ可読媒体」は、命令の1又は複数のセットを記憶する多数の媒体(例えば、集中又は分散データベース、及び/又は付随するキャッシュ及びサーバ)又は単一の媒体を含むように受け取られるべきである。用語「コンピュータ可読媒体」はまた、マシンによる実行のための命令のセットを記憶し、エンコードし、若しくは担持することができるとともに本出願の方法論の何れか1つ又は複数をマシンに実行させる、又はこのような命令のセットによって利用される、若しくは、前述の命令の組に関連付けられるデータ構造を記憶し、エンコードし、若しくは担持することができる任意の媒体を含むよう受け取られるべきである。用語「コンピュータ可読媒体」は、したがって、限定されるものではないが、ソリッドステートメモリ、光学媒体及び磁気媒体を含むよう受け取られるべきである。このような媒体は、限定されるものではなく、ハード・ディスク、フロッピー(登録商標)ディスク、NAND又はNORフラッシュメモリ、ディジタルビデオディスク、RAM、ROM、HDD、SSD等を含むことができる。
ここに記載された例示的な実施形態は、コンピュータ上に、ハードウェアに、又はソフトウェア及びハードウェアの組み合わせにインストールされたコンピュータ実行可能な命令(例えば、ソフトウェア)を備える動作環境において実現することが可能である。コンピュータ実行可能命令は、コンピュータプログラミング言語で記述されることができる、又は、ファームウェアロジックで実現されることができる。認知された標準に準拠したプログラミング言語で記述される場合、このような命令は、種々のハードウェアプラットフォーム上で、及び種々のオペレーティングシステムとのインタフェースに対して実行されることができる。これらの限定されるものではないが、本方法を実現するためのコンピュータソフトウェアプログラムは、例えば、C、C++、C#若しくは他のコンパイラ、アセンブラ、インタープリタ、又は他のコンピュータの言語若しくはプラットフォームなどの適切なプログラミング言語のどれでも記述することが可能である。
このように、ミラーリングされるサイト間のデータの複製のためのコンピュータ実装方法及びシステムが記載されている。実施形態は特定の例示的な実施形態を参照して説明されているが、本出願のより広い趣旨及び範囲から逸脱しない限り、種々の修正及び変更がこれらの例示的な実施形態に対して成されることが可能であることが明らかであろう。
したがって、明細書及び添付図面は、限定的意味合いというよりもむしろ例証的意味合いで受け止められるべきである。
したがって、明細書及び添付図面は、限定的意味合いというよりもむしろ例証的意味合いで受け止められるべきである。
Claims (20)
- ミラーリングされるデータサイト間のデータの複製の方法であって:
1又は複数のデータノードを含む前記ミラーリングされるデータサイトでデータオブジェクトを受信するステップ;
前記データオブジェクトを前記1又は複数のデータノードに内部で複製するステップ;
前記データオブジェクトに関連付けられるデータオブジェクト参照を生成するステップであって、前記参照は、他の前記ミラーリングされるデータサイトへの送信のためにキューに入れられている前記データオブジェクトを参照する、ステップ;
前記データオブジェクトに関連付けられる前記データオブジェクト参照を、1又は複数の予めプロビジョニングされる相互接続を有する前記他のミラーリングされるデータサイトに送信するステップ;及び
前記他のミラーリングされるデータサイトへの送信のために前記データオブジェクトをキューに入れるステップ;を含み、
前記他のミラーリングされるデータサイトへの前記送信に際し、前記データオブジェクトは、前記他のミラーリングされるデータサイトに付随する前記1又は複数のデータノードに複製されるとともに、前記データオブジェクト参照は破棄される、
方法。 - 前記データオブジェクトが、現在の記憶容量制約のために前記他のミラーリングされるデータサイト内の前記ノードに直ちに書き込まれることができないとき、送信のために前記データオブジェクトを再試行するステップをさらに含み、利用可能な容量が前記他のミラーリングされるデータサイトにおいて認識されるまで、前記データオブジェクト参照は破棄される、
請求項1に記載の方法。 - 前記データオブジェクト参照は、前記データオブジェクトに関連付けられる内容に暗号学的ハッシュ関数を実行することによって生成される、
請求項1に記載の方法。 - 前記データオブジェクト参照は、前記データオブジェクトに関連付けられる前記内容に基づいて前記データオブジェクトを見つけることを可能にする、
請求項3に記載の方法。 - 前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトは、同じデータロジックを使用するサイト間層動作及びサイト内層動作をサポートし、前記1又は複数のデータノードへの前記データオブジェクトの前記複製は、前記サイト内層動作を選択することによって実行され、前記他のミラーリングされるデータサイトにおける前記1又は複数のデータノードへの前記データオブジェクトの前記複製は、前記サイト間層動作を指定することによって実行される、
請求項1に記載の方法。 - 前記ミラーリングされるデータサイトを同期するステップをさらに含み、前記同期するステップは:
1又は複数の前記データオブジェクト参照及び前記ミラーリングされるデータサイトに関連付けられる前記データオブジェクトを、前記他のミラーリングされるデータサイトの1又は複数の前記データオブジェクト参照及び前記他のミラーリングされるデータサイトに関連付けられる前記データオブジェクトと比較するステップ;並びに
前記1又は複数のデータオブジェクト参照に対応する前記1又は複数のデータオブジェクトの配信を要求するステップ;を含む、
請求項1に記載の方法。 - 前記ミラーリングされるデータサイトは、ファイルシステムの一貫性のあるビューを提供する、
請求項1に記載の方法。 - 前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトのそれぞれの前記ノードは、完全なメッシュを形成するように相互接続される、
請求項1に記載の方法。 - 1つの前記データサイトは、前記ミラーリングされるデータサイト間のデータ複製を調停するためのアービトレータノードを含む、
請求項1に記載の方法。 - メタデータ操作プロセッサ(MOP)をホスティングするノードの障害に際し、そのサイトの他のノードが前記アービトレータノードとして指定される、
請求項9に記載の方法。 - 前記それぞれのミラーリングされるデータサイトは、前記ミラーリングされるデータサイト間のゲートウェイを確立するように構成されるそれぞれのゲートウェイノードを含む、
請求項10に記載の方法。 - 前記ゲートウェイノードの1つの障害に際し、代替ゲートウェイノードが指定され、前記代替ゲートウェイノードは、前記ミラーリングされるデータサイト間に代替ゲートウェイを確立するように予めプロビジョニングされた経路を使用する、
請求項11に記載の方法。 - 前記ミラーリングされるデータサイトにおいて、前記データオブジェクトの要求を受信するステップ;
前記データオブジェクトに関連付けられるプロキシデータオブジェクト参照に基づいて、前記データオブジェクトがこのデータサイトによって受信されていないことを決定するステップ;及び
前記決定に基づいて、前記プロキシデータオブジェクト参照によって参照される前記ミラーリングされるデータサイトに前記データオブジェクトを供給するように要求するステップ;をさらに含む、
請求項1に記載の方法。 - ミラーリングされるデータサイト間の複製のためのシステムであって:
前記システムは、プロセッサ及びデータベースを有し、
前記プロセッサは:
1又は複数のデータノードを有する前記ミラーリングされるデータサイトにおいてデータオブジェクトを受信するように;
前記データオブジェクトを前記1又は複数のデータノードに内部で複製するように;
前記データオブジェクトに関連付けられるデータオブジェクト参照を生成するように;
前記データオブジェクトに関連付けられる前記データオブジェクト参照を他の前記ミラーリングされるデータサイトに送信するように;及び
前記他のミラーリングされるデータサイトへの送信のために前記データオブジェクトをキューに入れるように;構成され、
前記参照は、前記他のミラーリングされるデータサイトへの送信のためにキューに入れられている前記データオブジェクトを参照し、前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトは、1又は複数の予めプロビジョニングされる相互接続を有し、前記他のミラーリングされるデータサイトへの前記データオブジェクトの前記送信に際し、前記データオブジェクトは、前記他のミラーリングされるデータサイトに付随する前記1又は複数のデータノードに複製されるとともに、前記データオブジェクト参照は破棄され、
前記データベースは、又は複数の前記データオブジェクトに関連付けられる1又は複数の前記データオブジェクト参照を記憶するように構成される、
システム。 - 前記データオブジェクト参照は、前記データオブジェクトに関連付けられる内容に暗号学的ハッシュ関数を実行することによって生成される、
請求項14に記載のシステム。 - 前記データオブジェクト参照は、前記データオブジェクトに関連付けられる前記内容に基づいて前記データオブジェクトを見つけることを可能にする、
請求項15に記載のシステム。 - 前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトは、同じデータロジックを使用するサイト間層動作及びサイト内層動作をサポートし、前記1又は複数のデータノードへの前記データオブジェクトの前記複製は、前記サイト内層動作を選択することによって実行され、前記他のミラーリングされるデータサイトにおける前記1又は複数のデータノードへの前記データオブジェクトの前記複製は、前記サイト間層動作を選択することによって実行される、
請求項14に記載のシステム。 - 前記プロセッサはさらに、前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトを同期するように構成され、前記同期は:
前記ミラーリングされるデータサイトに関連付けられる前記データオブジェクト及び1又は複数の前記データオブジェクト参照を、前記他のミラーリングされるデータサイトに関連付けられる前記データオブジェクト及び1又は複数の前記データオブジェクト参照と比較すること;並びに
前記1又は複数のデータオブジェクト参照に対応する前記1又は複数のデータオブジェクトの配信を要求すること;を含む、
請求項14に記載のシステム。 - 前記ミラーリングされるデータサイトの1つは、全ての前記ミラーリングされるデータサイト間のデータ複製を調停するためのアービトレータノードを含む、
請求項14に記載のシステム。 - そこに記憶される命令を有する非一時的プロセッサ可読媒体であって、前記命令は、1又は複数のプロセッサによって実行されるとき、前記1又は複数のプロセッサに:
1又は複数のデータノードを含むミラーリングされるデータサイトにおいて、データオブジェクトを受信させ;
前記データオブジェクトを前記1又は複数のデータノードに内部で複製させ;
前記データオブジェクトに関連付けられるデータオブジェクト参照を生成させ;
前記データオブジェクトに関連付けられる前記データオブジェクト参照を他の前記ミラーリングされるデータサイトに送信させ;及び
前記他のミラーリングされるデータサイトへの送信のために前記データオブジェクトをキューに入れさせ;
前記参照は、前記他のミラーリングされるデータサイトへの送信のためにキューに入れられている前記データオブジェクトを参照し、前記ミラーリングされるデータサイト及び前記他のミラーリングされるデータサイトは、1又は複数の予めプロビジョニングされる相互接続を有し、前記他のミラーリングされるデータサイトへの前記データオブジェクトの前記送信に際し、前記データオブジェクトは、前記他のミラーリングされるデータサイトに付随する前記1又は複数のデータノードに複製されるとともに、前記データオブジェクト参照は破棄される、
媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/939,106 US9934242B2 (en) | 2013-07-10 | 2013-07-10 | Replication of data between mirrored data sites |
US13/939,106 | 2013-07-10 | ||
PCT/US2014/045822 WO2015006371A2 (en) | 2013-07-10 | 2014-07-08 | Replication of data between mirrored data sites |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016530608A true JP2016530608A (ja) | 2016-09-29 |
Family
ID=52277959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525437A Pending JP2016530608A (ja) | 2013-07-10 | 2014-07-08 | ミラーリングされるデータサイト間のデータの複製 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9934242B2 (ja) |
EP (1) | EP3019960A4 (ja) |
JP (1) | JP2016530608A (ja) |
WO (1) | WO2015006371A2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
JP2016526717A (ja) | 2013-06-12 | 2016-09-05 | エグザブロックス・コーポレーション | ハイブリッドガベージコレクション |
WO2014205286A1 (en) | 2013-06-19 | 2014-12-24 | Exablox Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
EP3103025B1 (en) | 2014-02-04 | 2019-07-10 | Exablox Corporation | Content based organization of file systems |
US10168947B2 (en) * | 2015-05-07 | 2019-01-01 | Vmware, Inc. | Virtual file system with vnode reconstruction capability |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US10216586B2 (en) | 2016-11-09 | 2019-02-26 | International Business Machines Corporation | Unified data layer backup system |
US20190377642A1 (en) * | 2018-06-08 | 2019-12-12 | EMC IP Holding Company LLC | Decoupled backup solution for distributed databases across a failover cluster |
CN109167831A (zh) * | 2018-08-31 | 2019-01-08 | 北京航天云路有限公司 | 多站点用户行为信息同步方法及系统 |
US10884820B1 (en) * | 2018-08-31 | 2021-01-05 | Veritas Technologies Llc | Intelligent and automatic replication load score based load balancing and resiliency of replication appliances |
US10977217B2 (en) * | 2018-10-31 | 2021-04-13 | EMC IP Holding Company LLC | Method and system to efficiently recovering a consistent view of a file system image from an asynchronously remote system |
CN110196884B (zh) * | 2019-05-31 | 2022-04-29 | 北京大米科技有限公司 | 基于分布式数据库的数据写入方法、存储介质和电子设备 |
US11544147B2 (en) | 2020-05-22 | 2023-01-03 | Vmware, Inc. | Using erasure coding across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage |
US11556423B2 (en) | 2020-05-22 | 2023-01-17 | Vmware, Inc. | Using erasure coding in a single region to reduce the likelihood of losing objects maintained in cloud object storage |
US11481319B2 (en) * | 2020-05-22 | 2022-10-25 | Vmware, Inc. | Using data mirroring across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage |
US11954073B2 (en) | 2022-03-16 | 2024-04-09 | International Business Machines Corporation | Multi-protocol multi-site replication |
Family Cites Families (190)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8303167A (nl) | 1983-09-14 | 1985-04-01 | Philips Nv | Alleenstaande dienstverlenende inrichting met micro-computer, die beschermd is tegen storingen. |
US4660130A (en) | 1984-07-24 | 1987-04-21 | Texas Instruments Incorporated | Method for managing virtual memory to separate active and stable memory blocks |
CA2285096C (en) | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
GB2265734A (en) | 1992-03-27 | 1993-10-06 | Ibm | Free memory cell management system |
US5812793A (en) * | 1996-06-26 | 1998-09-22 | Microsoft Corporation | System and method for asynchronous store and forward data replication |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6167437A (en) | 1997-09-02 | 2000-12-26 | Silicon Graphics, Inc. | Method, system, and computer program product for page replication in a non-uniform memory access system |
US5950205A (en) | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6098079A (en) | 1998-04-02 | 2000-08-01 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | File version reconciliation using hash codes |
US6226728B1 (en) | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
US6154747A (en) | 1998-08-26 | 2000-11-28 | Hunt; Rolf G. | Hash table implementation of an object repository |
GB9825102D0 (en) | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
JP2000207266A (ja) | 1999-01-13 | 2000-07-28 | Mitsubishi Electric Corp | レプリカシステムおよびレプリカ方法 |
US6493721B1 (en) * | 1999-03-31 | 2002-12-10 | Verizon Laboratories Inc. | Techniques for performing incremental data updates |
US6480950B1 (en) | 2000-01-24 | 2002-11-12 | Oracle International Corporation | Software paging system |
US7266555B1 (en) | 2000-03-03 | 2007-09-04 | Intel Corporation | Methods and apparatus for accessing remote storage through use of a local device |
EP1285354B1 (en) | 2000-05-09 | 2004-03-03 | Sun Microsystems, Inc. | Method and apparatus for proximity discovery of services |
US8219662B2 (en) | 2000-12-06 | 2012-07-10 | International Business Machines Corporation | Redirecting data generated by network devices |
US7216136B2 (en) | 2000-12-11 | 2007-05-08 | International Business Machines Corporation | Concurrent collection of cyclic garbage in reference counting systems |
SE0004736D0 (sv) | 2000-12-20 | 2000-12-20 | Ericsson Telefon Ab L M | Mapping system and method |
US20030028514A1 (en) | 2001-06-05 | 2003-02-06 | Lord Stephen Philip | Extended attribute caching in clustered filesystem |
US7222187B2 (en) | 2001-07-31 | 2007-05-22 | Sun Microsystems, Inc. | Distributed trust mechanism for decentralized networks |
US7134041B2 (en) | 2001-09-20 | 2006-11-07 | Evault, Inc. | Systems and methods for data backup over a network |
US6973049B2 (en) | 2001-10-16 | 2005-12-06 | Corrigent Systems Ltd. | Auto-configuration of network interfaces in a bidirectional ring network |
US7117505B2 (en) | 2001-11-29 | 2006-10-03 | Veritas Operating Corporation | Methods, systems, and apparatus to interface with storage objects |
US7177980B2 (en) | 2001-12-18 | 2007-02-13 | Storage Technology Corporation | Cache storage system and method |
US7392421B1 (en) * | 2002-03-18 | 2008-06-24 | Symantec Operating Corporation | Framework for managing clustering and replication |
US6968439B2 (en) | 2002-08-29 | 2005-11-22 | Micron Technology, Inc. | Single segment data object management |
ATE400026T1 (de) | 2002-09-10 | 2008-07-15 | Exagrid Systems Inc | Datenschutzverfahren und vorrichtung |
US20040111610A1 (en) | 2002-12-05 | 2004-06-10 | Canon Kabushiki Kaisha | Secure file format |
GB0301726D0 (en) | 2003-01-24 | 2003-02-26 | Ecebs Ltd | Improved smartcard |
US7043494B1 (en) | 2003-01-28 | 2006-05-09 | Pmc-Sierra, Inc. | Fast, deterministic exact match look-ups in large tables |
US7177886B2 (en) * | 2003-02-07 | 2007-02-13 | International Business Machines Corporation | Apparatus and method for coordinating logical data replication with highly available data replication |
JP4068473B2 (ja) | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7403961B1 (en) | 2003-03-14 | 2008-07-22 | Xilinx, Inc. | Dangling reference detection and garbage collection during hardware simulation |
US7275177B2 (en) * | 2003-06-25 | 2007-09-25 | Emc Corporation | Data recovery with internet protocol replication with or without full resync |
US7379954B2 (en) | 2003-07-08 | 2008-05-27 | Pillar Data Systems, Inc. | Management of file system snapshots |
US6988180B2 (en) | 2003-09-29 | 2006-01-17 | Microsoft Corporation | Method and apparatus for lock-free, non-blocking hash table |
US7496690B2 (en) | 2003-10-09 | 2009-02-24 | Intel Corporation | Method, system, and program for managing memory for data transmission through a network |
US7596704B2 (en) | 2003-10-10 | 2009-09-29 | Jing-Jang Hwang | Partition and recovery of a verifiable digital secret |
US7480760B2 (en) | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
US8103772B2 (en) | 2003-12-24 | 2012-01-24 | Sap Aktiengesellschaft | Cluster extension in distributed systems using tree method |
EP1870814B1 (en) | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
US7529781B2 (en) * | 2004-04-30 | 2009-05-05 | Emc Corporation | Online initial mirror synchronization and mirror synchronization verification in storage area networks |
US8185663B2 (en) * | 2004-05-11 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Mirroring storage interface |
US7065611B2 (en) | 2004-06-29 | 2006-06-20 | Hitachi, Ltd. | Method for controlling storage policy according to volume activity |
US7715396B2 (en) | 2004-08-19 | 2010-05-11 | Microsoft Corporation | Network routing |
US7613703B2 (en) | 2004-09-30 | 2009-11-03 | Microsoft Corporation | Organizing resources into collections to facilitate more efficient and reliable resource access |
CN1761219B (zh) | 2004-10-12 | 2010-04-28 | 华为技术有限公司 | 在mpls环网中实现拓扑结构自动发现的方法 |
US20060083247A1 (en) | 2004-10-14 | 2006-04-20 | Sun Microsystems, Inc. | Prefix lookup using address-directed hash tables |
US7694167B2 (en) * | 2004-10-22 | 2010-04-06 | Microsoft Corporation | Maintaining routing consistency within a rendezvous federation |
US7778984B2 (en) * | 2004-11-19 | 2010-08-17 | Microsoft Corporation | System and method for a distributed object store |
US20120310892A1 (en) * | 2004-12-21 | 2012-12-06 | Dam Tru Q | System and method for virtual cluster file server |
WO2006098723A1 (en) | 2005-03-10 | 2006-09-21 | Thomson Licensing | Hybrid mesh routing protocol |
US8356021B2 (en) | 2005-03-11 | 2013-01-15 | Ross Neil Williams | Method and apparatus for indexing in a reduced-redundancy storage system |
JP5043820B2 (ja) | 2005-03-11 | 2012-10-10 | ロックソフト リミテッド | 低冗長記憶システムで索引を行う方法 |
US8442996B2 (en) | 2005-04-12 | 2013-05-14 | Enrico Maim | Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefore |
US7539836B1 (en) | 2005-04-18 | 2009-05-26 | Netapp, Inc. | Method and system for configuring a data storage object |
US20070005746A1 (en) | 2005-06-30 | 2007-01-04 | Roe Bryan Y | Enhanced network discovery service |
US8296550B2 (en) | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
US20070130232A1 (en) | 2005-11-22 | 2007-06-07 | Therrien David G | Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files |
US7653668B1 (en) * | 2005-11-23 | 2010-01-26 | Symantec Operating Corporation | Fault tolerant multi-stage data replication with relaxed coherency guarantees |
US8554758B1 (en) | 2005-12-29 | 2013-10-08 | Amazon Technologies, Inc. | Method and apparatus for monitoring and maintaining health in a searchable data service |
US7454592B1 (en) | 2006-02-16 | 2008-11-18 | Symantec Operating Corporation | Block-level and hash-based single-instance storage |
CN101046755B (zh) | 2006-03-28 | 2011-06-15 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
US20070233828A1 (en) | 2006-03-31 | 2007-10-04 | Jeremy Gilbert | Methods and systems for providing data storage and retrieval |
US7801128B2 (en) | 2006-03-31 | 2010-09-21 | Amazon Technologies, Inc. | Managing communications between computing nodes |
US9195665B2 (en) | 2006-04-28 | 2015-11-24 | Hewlett-Packard Development Company, L.P. | Method and system for data retention |
US20070271303A1 (en) | 2006-05-18 | 2007-11-22 | Manuel Emilio Menendez | Personal file version archival management and retrieval |
US8255420B2 (en) | 2006-05-23 | 2012-08-28 | Noryan Holding Corporation | Distributed storage |
US8099605B1 (en) | 2006-06-05 | 2012-01-17 | InventSec AB | Intelligent storage device for backup system |
US8990270B2 (en) | 2006-08-03 | 2015-03-24 | Hewlett-Packard Development Company, L. P. | Protocol virtualization for a network file system |
US7990979B2 (en) | 2006-08-25 | 2011-08-02 | University Of Florida Research Foundation, Inc. | Recursively partitioned static IP router tables |
US20080052446A1 (en) | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US7895666B1 (en) | 2006-09-01 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Data structure representation using hash-based directed acyclic graphs and related method |
US7539783B2 (en) | 2006-09-22 | 2009-05-26 | Commvault Systems, Inc. | Systems and methods of media management, such as management of media to and from a media storage library, including removable media |
WO2008043197A1 (en) | 2006-09-26 | 2008-04-17 | Intel Corporation | Dynamically changing a garbage collector in a managed runtime system |
US7827218B1 (en) | 2006-11-18 | 2010-11-02 | X-Engines, Inc. | Deterministic lookup using hashed key in a multi-stride compressed trie structure |
US8161353B2 (en) | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US7987278B2 (en) | 2006-12-18 | 2011-07-26 | Ricoh Company, Ltd. | Web services device profile on a multi-service device: dynamic addition of services |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8935206B2 (en) | 2007-01-31 | 2015-01-13 | Hewlett-Packard Development Company, L.P. | Snapshots in distributed storage systems |
JP5020673B2 (ja) | 2007-03-27 | 2012-09-05 | 株式会社日立製作所 | 重複したファイルの記憶を防ぐコンピュータシステム |
WO2008125336A2 (de) | 2007-04-15 | 2008-10-23 | Phoenix Contact Gmbh & Co. Kg | Verfahren und steuergerät zur steuerung eines automatisierungssystems |
EP2015587B1 (fr) | 2007-05-14 | 2012-01-25 | Apple Inc. | Procédé de mémorisation d'un objet multimédia, structure de donnée et terminal associé |
US7725437B2 (en) | 2007-07-31 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Providing an index for a data store |
JP4386932B2 (ja) | 2007-08-17 | 2009-12-16 | 富士通株式会社 | ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法 |
US8069317B2 (en) | 2007-10-12 | 2011-11-29 | International Business Machines Corporation | Providing and utilizing high performance block storage metadata |
US8447733B2 (en) | 2007-12-03 | 2013-05-21 | Apple Inc. | Techniques for versioning file systems |
US8140599B1 (en) | 2007-12-07 | 2012-03-20 | Emc Corporation | Garbage collection for merged collections |
US8244846B2 (en) | 2007-12-26 | 2012-08-14 | Symantec Corporation | Balanced consistent hashing for distributed resource management |
US8171244B2 (en) | 2008-02-01 | 2012-05-01 | Imation Corp. | Methods for implementation of worm mode on a removable disk drive storage system |
JP5091704B2 (ja) | 2008-02-06 | 2012-12-05 | 株式会社日立製作所 | ストレージ構成回復方法及びストレージ管理システム |
US8019863B2 (en) * | 2008-03-28 | 2011-09-13 | Ianywhere Solutions, Inc. | Synchronizing events between mobile devices and servers |
US8019882B2 (en) | 2008-06-27 | 2011-09-13 | Microsoft Corporation | Content identification for peer-to-peer content retrieval |
JP5146174B2 (ja) | 2008-07-28 | 2013-02-20 | 富士通株式会社 | 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法 |
US8078646B2 (en) | 2008-08-08 | 2011-12-13 | Oracle International Corporation | Representing and manipulating RDF data in a relational database management system |
WO2010061260A1 (en) | 2008-11-03 | 2010-06-03 | Elvin Slavik | Method, system, and product for managing spatial data in a database |
US8353018B2 (en) | 2008-11-13 | 2013-01-08 | Yahoo! Inc. | Automatic local listing owner authentication system |
JP5396848B2 (ja) | 2008-12-16 | 2014-01-22 | 富士通株式会社 | データ処理プログラム、サーバ装置およびデータ処理方法 |
US9344438B2 (en) | 2008-12-22 | 2016-05-17 | Qualcomm Incorporated | Secure node identifier assignment in a distributed hash table for peer-to-peer networks |
US8886714B2 (en) | 2011-08-08 | 2014-11-11 | Ctera Networks Ltd. | Remote access service for cloud-enabled network devices |
US8132168B2 (en) | 2008-12-23 | 2012-03-06 | Citrix Systems, Inc. | Systems and methods for optimizing a process of determining a location of data identified by a virtual hard drive address |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8566362B2 (en) | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US8397051B2 (en) | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
US8301654B2 (en) | 2009-02-24 | 2012-10-30 | Hitachi, Ltd. | Geographical distributed storage system based on hierarchical peer to peer architecture |
US8135748B2 (en) | 2009-04-10 | 2012-03-13 | PHD Virtual Technologies | Virtual machine data replication |
US8886206B2 (en) | 2009-05-01 | 2014-11-11 | Digimarc Corporation | Methods and systems for content processing |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8706980B2 (en) | 2009-07-30 | 2014-04-22 | Cleversafe, Inc. | Method and apparatus for slice partial rebuilding in a dispersed storage network |
US8320282B2 (en) | 2009-07-30 | 2012-11-27 | Calix, Inc. | Automatic control node selection in ring networks |
US8285925B1 (en) | 2009-07-31 | 2012-10-09 | Amazon Technologies, Inc. | Management of object mapping information corresponding to a distributed storage system |
US8843762B2 (en) | 2009-09-04 | 2014-09-23 | Gradiant, Centro Tecnolóxico de Telecomunicacións de Galicia | Cryptographic system for performing secure iterative computations and signal processing directly on encrypted data in untrusted environments |
US9674262B2 (en) | 2009-10-01 | 2017-06-06 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangements for application scope management |
JP2011095976A (ja) | 2009-10-29 | 2011-05-12 | Nippon Telegr & Teleph Corp <Ntt> | 分散データ管理装置及び方法及びプログラム |
US8868510B2 (en) | 2009-12-03 | 2014-10-21 | Sybase, Inc. | Managing data storage as an in-memory database in a database management system |
US8458131B2 (en) | 2010-02-26 | 2013-06-04 | Microsoft Corporation | Opportunistic asynchronous de-duplication in block level backups |
WO2011116087A2 (en) | 2010-03-16 | 2011-09-22 | Copiun, Inc. | Highly scalable and distributed data de-duplication |
US8458299B2 (en) | 2010-03-17 | 2013-06-04 | Hitachi, Ltd. | Metadata management method for NAS global namespace design |
FR2959089B1 (fr) | 2010-04-16 | 2012-08-03 | Inst Nat Rech Inf Automat | Outil de gestion de ressources et d'infrastructures informatiques et reseaux |
US20110264880A1 (en) | 2010-04-23 | 2011-10-27 | Tatu Ylonen Oy Ltd | Object copying with re-copying concurrently written objects |
US8566354B2 (en) | 2010-04-26 | 2013-10-22 | Cleversafe, Inc. | Storage and retrieval of required slices in a dispersed storage network |
US8504718B2 (en) | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
US8984241B2 (en) | 2010-07-07 | 2015-03-17 | Nexenta Systems, Inc. | Heterogeneous redundant storage array |
CA3022462C (en) | 2010-07-09 | 2020-10-27 | State Street Corporation | Systems and methods for private cloud computing |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US20120030260A1 (en) | 2010-07-30 | 2012-02-02 | Maohua Lu | Scalable and parallel garbage collection method and system for incremental backups with data de-duplication |
US8407438B1 (en) | 2010-08-16 | 2013-03-26 | Symantec Corporation | Systems and methods for managing virtual storage disk data |
US8495093B2 (en) | 2010-08-18 | 2013-07-23 | International Business Machines Corporation | Multiway trie data structure that dynamically adjusts node sizes in a manner that reduces memory footprint and improves access speed |
JP5514041B2 (ja) | 2010-08-25 | 2014-06-04 | 日本電信電話株式会社 | 識別子割当て方法及びプログラム |
US8473778B2 (en) | 2010-09-08 | 2013-06-25 | Microsoft Corporation | Erasure coding immutable data |
US8972366B2 (en) | 2010-09-29 | 2015-03-03 | Red Hat, Inc. | Cloud-based directory system based on hashed values of parent and child storage locations |
WO2012051600A2 (en) | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
US8239584B1 (en) | 2010-12-16 | 2012-08-07 | Emc Corporation | Techniques for automated storage management |
US8484408B2 (en) | 2010-12-29 | 2013-07-09 | International Business Machines Corporation | Storage system cache with flash memory in a raid configuration that commits writes as full stripes |
US9201667B2 (en) | 2010-12-31 | 2015-12-01 | Vmware, Inc. | Providing virtual desktops using resources accessed on public computer networks |
US9311135B2 (en) | 2011-01-18 | 2016-04-12 | Scality, S.A. | Method for generating universal objects identifiers in distributed multi-purpose storage systems |
US9251087B2 (en) | 2011-02-11 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for virtual memory management |
US8510267B2 (en) | 2011-03-08 | 2013-08-13 | Rackspace Us, Inc. | Synchronization of structured information repositories |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US8341312B2 (en) | 2011-04-29 | 2012-12-25 | International Business Machines Corporation | System, method and program product to manage transfer of data to resolve overload of a storage system |
US8572290B1 (en) | 2011-05-02 | 2013-10-29 | Board Of Supervisors Of Louisiana State University And Agricultural And Mechanical College | System and architecture for robust management of resources in a wide-area network |
US8433681B2 (en) * | 2011-05-12 | 2013-04-30 | Dell Products L.P. | System and method for managing replication in an object storage system |
US8346810B2 (en) | 2011-05-13 | 2013-01-01 | Simplivity Corporation | Reference count propagation |
US8949182B2 (en) * | 2011-06-17 | 2015-02-03 | International Business Machines Corporation | Continuous and asynchronous replication of a consistent dataset |
US8843998B2 (en) | 2011-06-27 | 2014-09-23 | Cliqr Technologies, Inc. | Apparatus, systems and methods for secure and selective access to services in hybrid public-private infrastructures |
US8880837B2 (en) | 2011-08-24 | 2014-11-04 | International Business Machines Corporation | Preemptively allocating extents to a data set |
EP2756399B1 (en) | 2011-09-12 | 2021-01-20 | Microsoft Technology Licensing, LLC | Querying and repairing data |
EP2575379A1 (en) | 2011-09-29 | 2013-04-03 | Alcatel Lucent | Apparatuses and computer program products for discovering and accessing local services via WiFi hotspots |
US9372827B2 (en) | 2011-09-30 | 2016-06-21 | Commvault Systems, Inc. | Migration of an existing computing system to new hardware |
US8775393B2 (en) | 2011-10-03 | 2014-07-08 | Polytechniq Institute of New York University | Updating a perfect hash data structure, such as a multi-dimensional perfect hash data structure, used for high-speed string matching |
CN104272868A (zh) | 2011-12-05 | 2015-01-07 | 高通股份有限公司 | 远程医疗无线通信集线器设备和服务平台系统 |
US8762627B2 (en) | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
IN2014DN05659A (ja) | 2011-12-30 | 2015-04-03 | Schneider Electric It Corp | |
US8782344B2 (en) | 2012-01-12 | 2014-07-15 | Fusion-Io, Inc. | Systems and methods for managing cache admission |
US9489827B2 (en) | 2012-03-12 | 2016-11-08 | Cisco Technology, Inc. | System and method for distributing content in a video surveillance network |
US9213581B2 (en) | 2012-03-14 | 2015-12-15 | Sap Se | Method and system for a cloud frame architecture |
US9043567B1 (en) | 2012-03-28 | 2015-05-26 | Netapp, Inc. | Methods and systems for replicating an expandable storage volume |
US20130263151A1 (en) | 2012-04-03 | 2013-10-03 | Microsoft Corporation | Consistent Hashing Table for Workload Distribution |
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US8868926B2 (en) | 2012-04-06 | 2014-10-21 | Exablox Corporation | Cryptographic hash database |
TWI631871B (zh) | 2012-04-27 | 2018-08-01 | 內數位專利控股公司 | 支援鄰近發現程序方法及裝置 |
WO2013164878A1 (ja) | 2012-05-01 | 2013-11-07 | 株式会社日立製作所 | 計算機システムの管理装置および管理方法 |
US9323589B2 (en) | 2012-05-15 | 2016-04-26 | Oracle International Corporation | Self registration of event—consumers/producers and auto discovery |
US20130346839A1 (en) | 2012-06-20 | 2013-12-26 | Francis Dinha | Private tunnel network portal |
US20130346591A1 (en) | 2012-06-21 | 2013-12-26 | Alcatel-Lucent Usa Inc. | Clientless Cloud Computing |
US9003477B2 (en) | 2012-06-27 | 2015-04-07 | Microsoft Technology Licensing, Llc | Model for managing hosted resources using logical scopes |
US9348652B2 (en) | 2012-07-02 | 2016-05-24 | Vmware, Inc. | Multi-tenant-cloud-aggregation and application-support system |
US20140019573A1 (en) * | 2012-07-16 | 2014-01-16 | Compellent Technologies | Source reference replication in a data storage subsystem |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US9002792B2 (en) | 2012-11-19 | 2015-04-07 | Compellent Technologies | Confirming data consistency in a data storage environment |
US9715507B2 (en) | 2013-03-28 | 2017-07-25 | Ctera Networks, Ltd. | Techniques for reconciling metadata and data in a cloud storage system without service interruption |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
US9166866B2 (en) * | 2013-04-30 | 2015-10-20 | Microsoft Technology Licensing, Llc | Hydration and dehydration with placeholders |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
WO2014190093A1 (en) | 2013-05-21 | 2014-11-27 | Exablox Corporation | Automatic data ring discovery and configuration |
US9389651B2 (en) | 2013-05-22 | 2016-07-12 | Exablox Corporation | Modular electronics chassis |
JP2016526717A (ja) | 2013-06-12 | 2016-09-05 | エグザブロックス・コーポレーション | ハイブリッドガベージコレクション |
WO2014205286A1 (en) | 2013-06-19 | 2014-12-24 | Exablox Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US8991950B2 (en) | 2013-07-10 | 2015-03-31 | Exablox Corporation | Modular electronics chassis |
US20150066524A1 (en) | 2013-09-05 | 2015-03-05 | Dorsata, Inc. | Methods and systems for the implementation of web based collaborative clinical pathways |
JP2016539401A (ja) | 2013-10-11 | 2016-12-15 | エグザブロックス・コーポレーション | 階層的データアーカイビング |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
EP3103025B1 (en) | 2014-02-04 | 2019-07-10 | Exablox Corporation | Content based organization of file systems |
-
2013
- 2013-07-10 US US13/939,106 patent/US9934242B2/en active Active
-
2014
- 2014-07-08 EP EP14823874.4A patent/EP3019960A4/en not_active Withdrawn
- 2014-07-08 JP JP2016525437A patent/JP2016530608A/ja active Pending
- 2014-07-08 WO PCT/US2014/045822 patent/WO2015006371A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3019960A2 (en) | 2016-05-18 |
US20150019491A1 (en) | 2015-01-15 |
EP3019960A4 (en) | 2017-03-01 |
US9934242B2 (en) | 2018-04-03 |
WO2015006371A2 (en) | 2015-01-15 |
WO2015006371A3 (en) | 2015-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016530608A (ja) | ミラーリングされるデータサイト間のデータの複製 | |
US11860898B2 (en) | Non-disruptive baseline and resynchronization of a synchronous replication relationship | |
US11445019B2 (en) | Methods, systems, and media for providing distributed database access during a network split | |
US20210191823A1 (en) | Snapshot creation with synchronous replication | |
US10282262B2 (en) | Non-disruptive controller replacement in a cross-cluster redundancy configuration | |
WO2016070375A1 (zh) | 一种分布式存储复制系统和方法 | |
JP5727020B2 (ja) | クラウドコンピューティングシステム及びそのデータ同期化方法 | |
US20240168673A1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
TWI307035B (en) | Method and system for backing up remote mirror data on internet | |
US11709743B2 (en) | Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US11934670B2 (en) | Performing various operations at the granularity of a consistency group within a cross-site storage solution | |
US10320905B2 (en) | Highly available network filer super cluster | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
US11768624B2 (en) | Resilient implementation of client file operations and replication | |
US20230385244A1 (en) | Facilitating immediate performance of volume resynchronization with the use of passive cache entries | |
JP5292351B2 (ja) | メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム | |
US20160100006A1 (en) | Transferring Data Between Sites | |
TW201638799A (zh) | 計算系統中之軟體影像的分佈式存儲 | |
US10346299B1 (en) | Reference tracking garbage collection for geographically distributed storage system | |
KR101748913B1 (ko) | 분산 저장 환경에서 게이트웨이를 선택하기 위한 클러스터 관리 방법 및 데이터 저장 시스템 | |
JP2017059105A (ja) | 情報処理端末、共有ファイルシステム、共有ファイル方法および共有ファイルプログラム |