JP6059216B2 - 分散構成管理のための方法および装置 - Google Patents

分散構成管理のための方法および装置 Download PDF

Info

Publication number
JP6059216B2
JP6059216B2 JP2014517025A JP2014517025A JP6059216B2 JP 6059216 B2 JP6059216 B2 JP 6059216B2 JP 2014517025 A JP2014517025 A JP 2014517025A JP 2014517025 A JP2014517025 A JP 2014517025A JP 6059216 B2 JP6059216 B2 JP 6059216B2
Authority
JP
Japan
Prior art keywords
data structure
computer
node
nodes
network
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.)
Expired - Fee Related
Application number
JP2014517025A
Other languages
English (en)
Other versions
JP2014524078A5 (ja
JP2014524078A (ja
Inventor
キング,ジェームズ・イー,ザ・サード
スタック,マイケル・ティー
ビーバーソン,アーサー・ジェイ
バグビー,スティーブン
Original Assignee
シンプリヴィティ・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シンプリヴィティ・コーポレーション filed Critical シンプリヴィティ・コーポレーション
Publication of JP2014524078A publication Critical patent/JP2014524078A/ja
Publication of JP2014524078A5 publication Critical patent/JP2014524078A5/ja
Application granted granted Critical
Publication of JP6059216B2 publication Critical patent/JP6059216B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

[001]本発明は、コンピュータデータ構造、ならびにピアノードのネットワーク上でデータ構造をレプリケートするための方法および装置に関する。
[002]ブリュワーの定理としても知られるCAP定理によれば、分散コンピュータシステムは、以下の保証、すなわち、
・一貫性(すべてのノードが同時に同一のデータを見る)、
・可用性(ノード障害により、存続しているノードが動作しつづけることを妨げられることがない)、
・分断耐性(パーティションのいずれの側のノードも、パーティションにおけるメッセージロスにかかわらず、動作しつづける)
のうちの任意の2つを同時に満たすことが可能であるが、3つすべてを同時に満たすことは可能ではない。
[003]ピアツーピア・データベースレプリケーショントポロジにおいて、複数のピアが、同一のテーブルスキーマを有し、さらに各テーブル行が、各ピア上でレプリカを有する。データ操作が、任意のピア上で行われることが可能であり、さらに、その後、他のすべてのピアにレプリケートされる。
しかし、異なるピア上で同一の行のレプリカが同時に操作された場合、矛盾が生じる可能性がある。そのような矛盾を解決することは、困難であり、時間がかかり、さらに/または相当なオーバーヘッドを伴う可能性がある。
[004]従来のデータベースは、ロッキングプロトコルまたはマスタ−スレーブ関係を使用して、複数のシステム間(例えば、ノードのネットワーク上)でデータが常に同期されているようにする。しかし、分散ロッキングプロトコルは、かなりのオーバーヘッドを要し、例えば、ノードは、ロックを求める要求を送信し、ロックが利用可能になるまで待ち、変更を行い、ロックを解除し、さらに更新を配信しなければならない。マスタ/スレーブ関係は、ノード間で完全な接続を要求し、さらに相当なネットワークトラフィックを生成する。
[005]本発明の1つまたは複数の実施形態によれば、各データ構造に、複数のネットワーク化されたピアノードの中から所有者ノードが割り当てられる、ネットワーク上でデータ構造をレプリケートする方法が提供される。好ましくは、その所有者は、そのデータ構造の中の情報を介して確かめられることが可能である。そのデータ構造の更新が非所有者によって所望される場合、そのデータ構造を変更する要求が、ネットワーク上に送出され、さらに所有者によって受信されると、所有者が、その変更を実行する。次に、所有者ノードが、その更新に関してその他のノードに通知することが可能である。
[006]2回の往復の通信、すなわち、所有権を変更する1回の通信と、データを変更するもう1回の通信を要する従来技術の方法とは異なり、1回だけの通信が行われ、このため、この方法は、はるかに効率的なプロトコルである。さらに、データ構造がノードリソースを表す場合、データ構造を変更するノードは、リソースも変更する。さらに、好ましくは、データ構造を変更する要求(非所有者ノードからの)、および応答(所有者ノードからの)もやはりともに、変更されるデータ構造と同様にネットワーク上でレプリケートされ得るデータ構造である。
[007]本発明の一実施形態によれば、ピアノードのネットワーク上でデータ構造をレプリケートする方法が提供され、データ構造は、ネットワーク上のすべてのノードにレプリケートされ、方法は、
データ構造の所有者として単一のピアノードを指定するステップと、
そのデータ構造を変更することをその指定された所有者ノードだけに許すステップと、
1つのピアノードが、そのデータ構造を変更することを所望し、さらにその1つのピアノードが所有者ノードではないと判定した場合、その1つのピアノードは、そのデータ構造を変更する要求を開始し、この要求は、複数のデータ構造のうちの1つを備えるとともに、その1つのピアノードによって所有され、さらにこの要求が、ネットワーク上のすべてのノードに送信されるステップと、
所有者ノードが、この要求を受信し、さらに実行して、そのデータ構造を変更するステップとを含む。
[008]本発明は、中央サーバが、単一の障害ポイントをもたらし、本来的な(組み込まれた)データ冗長性が存在せず、管理サーバと管理される他のすべてのノードの間で接続が要求される、中央サーバを介して実現される分散管理システムとは区別されることが可能である。これに対して、本発明では、すべてのピアノードが、グループ全体のノードへのアクセスをもたらし、データ冗長性が存在し、すべてのノード間の直接の接続は要求されない。例えば、ユーザは、参加する任意のノードに接続して、グループ全体を管理することができる。ネットワーク内のすべてのデータが、参加するすべてのノードにレプリケートされる。参加するノードは、グループ全体に対する部分的な接続しか要さない。データ構造は、前述した機構を介して、結果的に、参加するすべてのノードにわたって一貫性を有する。厳格な単一の書き込み側、複数の読み取り側のプロトコルに従うことによって、更新衝突は、不可能であり、トランザクション上の一貫性が確実にされる。
[009]CAP定理によって定義される一貫性は、すべてのノードが、常時、互いに一貫性を有することを要求する。この場合、各データ構造は、排他的な所有者ノードを有し、さらに各所有者ノードが、その所有者ノードが所有するデータ構造に関して一貫性を維持する。すべてのピアノードが、レプリケーションプロセスを介して、所有していないデータ構造に関して結果整合性を実現する。可用性(CAP定理による)は、各ノードが、そのノードのレプリカデータ構造セットに関して一貫性を維持し、したがって、孤立して動作することが可能であるため、実現される。分断耐性(CAP定理による)は、排他的データ構造所有権およびノードローカル一貫性により、各ノードが、孤立して、またはグループパーティションが存在する状態で動作することが許されるため、実現される。また、データ所有権は、パーティションがマージされた際にデータ衝突が生じないことも確実にする。
[010]一実施例において、リレーショナルデータベースが、各ピアノードにレプリケートされる。このデータベースは、1つの列(フィールド)がテーブル行の所有者の識別子を含むテーブルを含む。行の所有者だけが、その行を変更することを許される。その行のインスタンスが変更されると、例えば、作成される、変更される、または削除されると、その変更を行うように生成されたデータベースコマンドが、トランザクションログの中に格納される。アプリケーションが、すべての更新がトランザクションの点で完了したと考えると、それらの変更が、ネットワーク全体にわたってすべてのピアノードに送信される。
[011]一実施例において、データ構造は、伝播によって、ネットワーク上のすべてのノードにレプリケートされる。更新(変更)が、受信するノードに着信すると、そのノードは、そのノードがその更新を既に有しているかを確かめる。有している場合、その更新はドロップされる。有していない場合、その更新は、処理され、さらに、直接に接続されたすべてのノードに送信される。このことは、ノードAとノードBが接続されており、さらにノードBとノードCが接続されている場合、更新がノードAからノードCに達することを確実にする。この更新機構は、すべてのノードが互いに直接に接続されているわけではないネットワークにおいて動作可能である。
[012]一実施例において、この方法は、スキーマ更新を含め、ピアの間のローリング更新を可能にする。例えば、或るピアノードが、そのノードに着信した更新と比べて、より下位のスキーマ改訂の状態にある場合、そのノードは、そのノードがそのスキーマ改訂に合致するように更新される時点まで、それらの更新をキューに入れ、そのスキーマ改訂に合致するように更新された時点で、すべての保留中の、スキーマに合致する更新を適用する。或るピアノードが、着信した更新と比べて、より下位のスキーマ改訂の状態にある場合、そのピアは、その改訂を無視する。ピアノードは、更新をまだ有さないノードに、欠落している更新を送信するように要求されることが可能である。このようにして、データベース内に格納されたデータは、ソフトウェア更新を経ても、結果的に、すべてのピアノードにわたって一貫性を有する。
[013]本発明の一実施形態によれば、データ構造をレプリケートする方法のための実行可能プログラム命令を含むコンピュータ可読媒体が提供され、この方法は、
ピアノードのネットワーク上で、データ構造が、ネットワーク上のすべてのノードにレプリケートされ、
データ構造の所有者として単一のピアノードを指定すること、
そのデータ構造を変更することをその指定された所有者ノードだけに許すこと、
1つのピアノードが、そのデータ構造を変更することを所望し、さらにその1つのピアノードが所有者ノードではないと判定した場合、その1つのピアノードは、そのデータ構造を変更する要求を開始し、この要求は、複数のデータ構造のうちの1つを備えるとともに、その1つのピアノードによって所有され、さらにこの要求が、ネットワーク上のすべてのノードに送信されること、および
所有者ノードが、この要求を受信し、さらに実行して、そのデータ構造を変更することを備える。
[014]一実施形態において、この方法は、
所有者ノードが、その変更されるデータ構造に関する応答を開始し、この応答は、データ構造のうちの1つであるとともに、所有者ノードによって所有され、さらにこの応答が、ネットワーク上でレプリケートされることを含む。
[015]一実施形態において、この方法は、
この応答が非所有者ノードによって受信されると、受信したノードが、受信したノードがこの応答を既に受信しているかどうかを判定し、既に受信している場合、この応答をドロップし、受信していない場合、この応答を処理することを含む。
[016]一実施形態において、応答は、変更されるデータ構造の識別子を含む。
[017]一実施形態において、要求は、要求を一意に識別するタグを含む。
[018]一実施形態において、この方法は、
1つのピアノードが、そのデータ構造を変更することを所望し、さらにその1つのピアノードが所有者ノードであると判定した場合、その1つのピアノードが、そのデータ構造を変更することを含む。
[019]一実施形態において、パーティションが、ネットワークを複数のネットワークパーティションに分割した場合、各ネットワークパーティション上のレプリケーションは、動作可能であることに変わりない。
[020]一実施形態において、パーティションが終了すると、パーティションをまたいだレプリケーションが再開される。
[021]一実施形態において、ネットワークは、すべてのノードが直接に接続されているわけではないネットワークである。
[022]一実施形態において、データ構造は、所有者ノードの識別子を含む。
[023]一実施形態において、データ構造は、ノードのすべてにわたってグローバルに一意である識別子を含む。
[024]一実施形態において、データ構造は、データベースの中に格納される。
[025]一実施形態において、この方法は、リレーショナルデータベースを実施する。
[026]一実施形態において、データ構造は、データベーステーブルの中の行である。
[027]一実施形態において、データ構造は、ネットワークインターフェース、ファイルシステム、またはファイルシステムスナップショットを記述する。
[028]一実施形態において、データ構造、要求、および応答は、伝播によってネットワーク上のすべてのノードにレプリケートされる。
[029]本発明の別の実施形態において、コンピュータネットワークによって実施される方法が提供され、この方法は、
複数のピアノード上でレプリケートされるデータ構造のレプリカの中の情報を獲得し、この情報は、複数のピアノードのうちの1つを、そのデータ構造を更新する排他的権利を有する所有者ノードとして示すこと、
この情報を介してピアノードが所有者ノードであるかどうかを判定すること、
そのピアノードが所有者ノードではない場合、
そのデータ構造を更新する要求を、直接に接続されたすべてのピアノードに送信して、この要求を伝播させること、
所有者ノードが、この要求を受信し、この要求を受信した後にデータ構造を更新し、さらに更新されたデータ構造に関する更新を、直接に接続されたすべてのピアノードに送信して、更新を伝播させること
を備えるアクションを実行することを備える。
[030]本発明の別の実施形態によれば、コンピューティング環境において、ネットワーク内の複数のピアノードの各ピアノード上で、
それらのピアノードにわたってデータ構造をレプリケートすることに参加するように動作可能なレプリケーションマネージャと、
ピアノード上でデータ構造のレプリカを更新するように動作可能な更新マネージャと、
データ構造の中に含まれた情報に基づいて、ピアノードがデータ構造の所有者ノードであるかどうかを判定し、そのピアノードが所有者ノードではない場合、そのデータ構造を変更する要求を開始し、さらにその変更されるデータ構造に関する要求に対する応答を処理するように動作可能であり、所有者ノードは、そのデータ構造を更新する排他的権利を有し、さらにその要求およびその応答もまた、それらのピアノードにわたってレプリケートされるデータ構造である構成マネージャとを備える装置が提供される。
[031]本発明は、以下の図と併せて、様々な実施形態の詳細な説明を参照することによって、より完全に理解され得る。
本発明の一実施形態を実施するための複数のネットワーク化されたピアノードを示す概略ブロック図である。 本発明の一実施形態によるデータ構造のレプリカが関与する例示的なアクションを示すブロック図である。 本発明の一実施形態によるピアノードとして構成された装置を示すブロック図である。 本発明の一実施形態によるデータ構造を変更することを求めるピアノード上で行われることが可能なアクションを示す流れ図である。 本発明の一実施形態によるデータ構造を変更する要求を受信するピアノード上で行われることが可能なアクションを示す流れ図である。 本発明の様々な実施形態が実施されることが可能であるコンピューティングシステム環境を示すブロック図である。
[032]図1は、本発明の一実施形態を例示するためのネットワーク100内の複数のピアノード101(A、B、C、D、E、Fというラベルが付けられた)の概略図である。各ピアノードは、各ピアノードが、ネットワーク上で伝送されるメッセージを介してそのピアノードがいずれのノードと通信しているかを識別することができるようにグローバル一意識別子(GUID)を有する。これらのピアノードは、これらのノードのいくつかだけが他のいくつかのノードに直接に接続される構成で配置される。ノードAが、ノードBおよびDに直接に接続され、ノードDが、ノードA、C、およびEに直接に接続され、ノードBが、ノードAおよびCに直接に接続され、ノードCが、ノードBおよびDに直接に接続され、ノードEが、ノードDおよびFに直接に接続され、さらにノードFが、ノードEに直接に接続される。この実施例において、ネットワークは、破線103で示されるとおりパーティションに区切られることが可能であり(なんらかの時点で)、ノードA〜Dが、1つのネットワークパーティション104(パーティションの左側)上に位置し、さらにノードE〜Fが、別のネットワークパーティション105(パーティションの右側)上に位置する。やはり図1に示されているのが、ネットワークの1つのピアノード(例えば、ノードA)を見ることが可能であり、このため、局所的見通し107を有する、または代替として、複数のノード全体を見て、全体的見通し108を有することが可能である、管理者などのユーザ106である。
[033]様々な実施形態において、ネットワークは、1つまたは複数のローカルエリアネットワーク、ワイドエリアネットワーク、直接接続、仮想接続、プライベートネットワーク、仮想プライベートネットワーク、インターネット、および以上のネットワークの何らかの組み合わせなどを備えることが可能である。
[034]ピアノードのそれぞれは、図6に関連して説明されるコンピュータのような1つまたは複数のコンピュータ上で、あるいはそのような1つまたは複数のコンピュータとして実施されることが可能である。ピアノード101が、データベースの中に格納されたデータに対する、直接または間接のアクセスを要求する1つまたは複数のプロセスを含むことが可能である。ピアノードは、データストア上に格納されたデータに対する、直接または間接のアクセスを要求する1つまたは複数のプロセスを含むことが可能である。ピアノードは、データに対するアクセスを編成するため、および表すためのファイルシステムなどを含むことが可能である。
[035]一実施例において、データベースが、構造化されたフォーマットでデータを格納することができるリポジトリを備える。データという用語は、コンピュータ記憶媒体上に格納され得るものであれば何であれ含むものと広く理解される。データのいくつかの例には、情報、プログラムコード、プログラム状態、プログラムデータ、その他のデータなどが含まれる。
[036]データベースの中に格納されたデータは、テーブル、レコード、オブジェクト、または他のデータ構造などに編成されることが可能である。データベースは、リレーショナルデータベース、オブジェクト指向データベース、階層型データベース、ネットワークデータベース、または他のタイプのデータベース、および以上のデータベースの何らかの組み合わせもしくは拡張などを備えることが可能である。
[037]データベースは、データベースの中のデータの編成、格納、管理、および取り出しを制御する1つまたは複数のプログラムを備えるデータベース管理システム(DBMS)を介してアクセスされることが可能である。DBMSは、データベースの中のデータにアクセスする要求を受信することが可能であり、さらにこのアクセスを与えるのに必要とされる動作を実行することが可能である。アクセスは、データを読み取ること、データを書き込むこと、データを削除すること、データを更新すること、および以上のうちの1つまたは複数を含む組み合わせなどを含むことが可能である。データベースは、データを格納することができる任意の記憶媒体を備えるデータストア上に格納されることが可能である。データベースが格納されるデータストアは、ピアノードの外部にあっても、内部にあってもよく、あるいはピアノードの内部と外部の両方にある構成要素を含んでもよい。
[038]図1に戻ると、本発明の一実施例において、ノードAに位置するユーザ106が、ノードCに位置するファイルシステム1(FS−1)のスナップショット(スナップ)を求めるコマンドを開始する。ノードAが、ノードAがFS−1の所有者ではないと判定し、さらに、このため、ノードAが、直接に接続されたすべてのノード、すなわち、ネットワーク100上のノードDおよびBに送信するFS−1のスナップショットを求める要求を開始する。受信したノードDおよびBが、この要求を、直接に接続されたすべてのノードにさらに伝播させ、その結果、この要求の2つのコピーが、ノードBとノードDの両方からノードCにおいて受信される。同様に、ノードEおよびFが(パーティションが存在しないものと想定して)、ノードDを介してこの要求を受信する。
[039]ノードCが第1の要求を受信すると、ノードCは、ノードCがFS−1に関する所有者ノードであると判定する。したがって、ノードCは、この要求を実行して、FS−1のスナップショットを生成する。次に、ノードCは、直接に接続されたすべてのノード、すなわち、ノードBおよびDにノードCが送信する、ファイルシステムスナップショットに関する応答を開始し、ノードBおよびDが、直接に接続されたすべてのノードにこの応答を送信することによって、この応答をさらに伝播させる。このようにして、要求の発信元、ノードAが、この応答を受信する。この時点で、ノードAは、スナップショットFS−1をユーザ106に提供することができる。ノードCが、第2の要求を受信すると、ノードCは、第2の要求を単に無視する。同様に、ノードAが、ノードBとノードDの両方から応答を受信すると、ノードAは、第2の応答を単に無視する。
[040]代替の実施形態において、ノードA上でFS−1のスナップショットを以前に要求したユーザ106が、ノードBに移動し、さらにそこで応答およびスナップショットFS−1を待つことが可能である。代替として、管理者106が、ノードAではなく、ノードBからこの要求を開始していることも可能である。したがって、管理者は、参加するノードのうちのいずれか1つに接続して、グループのノード全体を有効に管理することができる。
[041]代替の実施例において、ノードのうちの1つが、ファイルシステムスナップショットではなく、ファイルシステム完全性検査を求める要求を開始することが可能である。次に、所有者ノードが、要求された完全性検査に関して応答、または周期的応答を送信する。
[042]説明される実施形態は、複数のノードにわたってリレーショナルデータベースを同期させるのに使用されることが可能である。リレーショナルデータベースにおいて、テーブルの中の行は、データ構造である。任意の所与の行の更新を単一の所有者ノードに制限することによって、分散型ロックの必要性が解消されている。データ構造を所有するノードだけが、そのデータ構造を変更することを許され、他のすべてのピアノードは、それらのピアノードのために所有者ノードがそのデータ構造を変更することを要求しなければならない。このため、データ構造の所有権は、排他的である。
[043]データ構造を変更する能力を1つの所有者に制限すること、および非所有者が、変更が所有者によって行われることを求めるよう要求することによって、レプリケーション中の衝突が不可能であり、さらにトランザクション上の一貫性が維持されることが可能である。好ましくは、各ピアノードが、データ構造の各変更のレコードを保持し、さらに各ピアノードが、トランザクション上の変更を、それらの変更が受信された順にではなく、それらの変更が作成された順に適用する。ピアノードが、トランザクション上の変更のストリームから更新が欠落しているために、変更を適用することができない場合、そのノードは、その欠落しているトランザクションをピアノードに求めることを担う。一実施形態において、トランザクションは、以下、すなわち、
1.発信元ノード(変更を要求する)によっても所有される単調に増加するトランザクション番号、
2.変更が適用されたスキーマ改訂、および
3.データ構造に行われたすべての変更のレコード
から成ることが可能である。
さらに、ネットワークが、例えば、或るノードがオフラインになったこと、またはノード間のリンクがダウンしたことに起因して、パーティションに区分された場合、パーティションの両側の複数のネットワークパーティションは、そのパーティションにおいてデータロスが生じるものの、動作しつづける。各ノードは、そのノード側のパーティションにあるノードから要求と応答、およびデータ構造更新を受信しつづける。その後、そのパーティションが取り除かれ(例えば、そのノードが再びオンラインになり、またはリンクが動作を再開して)、さらに以前のネットワークパーティションが接合されると、その時点で両方の側が新たな応答、要求、および更新を受信し、さらに各ノードは、更新を常に把握している(例えば、発生の時刻により)ため、各ノードは、そのノードにいずれの更新が欠落しているかを特定し、それらの欠落している更新を送信するようその他のノードに求め、さらに、その後、すべての更新を適切な順序で適用して、(以前の)パーティションの両側のノードが再び同期するようにすることができる。
[044]好ましくは、生成される要求および応答はそのものが、例えば、結果的にすべてのノードによって受信されるように、直接に接続されたすべてのノードに伝播されることによってピアノード上でレプリケートされるデータ構造である。このため、変更されたデータ構造(所有者ノードによって生成された)が、ネットワーク上でレプリケートされるだけでなく、要求および応答もまた、同様にレプリケートされ得るデータ構造である。このことは、既存のレプリケーションプロセスを利用することによって要求および応答を実施することを簡単にする。さらに、要求の発信元を、要求データ構造の所有者として指定すること、および応答の発信元を、応答データ構造の所有者として指定することによって、他のいずれの(非所有者)ノードも、その要求を変更することも、その応答を変更することもできない。
[045]図2は、データ構造を変更する方法の一実施例を示す。この場合、P1、P2、およびP3というラベルが付けられた3つのピアノードがそれぞれ、或るデータ構造のレプリカを保持する。この実施例において、そのデータ構造は、3つのフィールド、インデックスキーkを有する第1のフィールド、値xを有する第2のフィールド、およびそのデータ構造の所有者の識別子を有する第3のフィールドを有する。この場合、ノード3(P3)が、所有者ノードと指定され、したがって、そのデータ構造を変更することができる唯一のノードである。図2に示されるとおり、別のノードから要求を受信すると、または自ら率先して、ノードP3が、xをyに変えるように第2のデータフィールドを変更する。その後、所有者ノードP3が、この変更をその他のノードP1およびP2にレプリケートする。このレプリケーションの後、3つのすべてのノードは、各フィールド内に同一のデータを含む。
[046]図3は、ピアノードを実施するための装置120の一実施形態を示す。この装置は、様々なプログラムモジュール122と、データストア124と、通信機構126とを含む。これらのプログラムモジュールには、レプリケーションマネージャ130、更新マネージャ132、および構成マネージャ134が含まれることが可能である。通信機構126は、装置が、ネットワーク上のその他のノードと通信することを可能にする。この通信機構は、ネットワークインターフェースもしくはネットワークアダプタ、モデム、あるいはその他のノードと通信を確立するための他の任意の機構であることが可能である。
[047]データストア124は、データを格納することができる任意の記憶媒体である。このストアは、ファイルシステムまたはデータベースを備える。このストアは、装置120の外部にあっても、内部にあってもよく、あるいは装置120の内部と外部の両方にある構成要素を含んでもよい。
[048]レプリケーションマネージャ130は、ピアノードにわたってデータ構造をレプリケートすることに参加するように動作可能である。このことは、データ構造、データ構造に対する変更、データ構造を変更することに関与するアクションを送信することによって、または当業者によって理解される様々な他の様態で行われ得る。例えば、更新マネージャ132がデータ構造を更新した後、レプリカに対する変更(更新)が、レプリケーションマネージャ130を介してその他のピアノードにレプリケートされてもよい。
[049]構成マネージャ134は、前述したとおり、データ構造を変更する要求および応答を実施する。
[050]図4〜図5は、本発明の様々な実施形態によって行われることが可能なアクションを全体的に表す流れ図である。これらの流れ図は、限定するものではなく、例示されるアクションは、さらなるアクションが存在して、あるいは1つまたは複数のアクションが削除されて、別の順序で実行されてもよいものと理解されたい。
[051]図4は、データ構造を変更することを所望するピアノード上で行われることが可能なアクションを全体的に表す流れ図140である。第1のブロック141で、アクションが始まる。次のブロック142で、データ構造の所有権情報が、例えば、データ構造自体の内部から獲得される。次のブロック143で、そのピアノードが、例えば、図3の構成マネージャ134を利用して、そのピアノードがそのデータ構造の所有者であるかどうかを判定する。そのピアノードが、そのピアノードがそのデータ構造の所有者であると判定することが可能である(ブロック144)。そのピアノードがそのデータ構造の所有者ではない場合、次のブロック145で、そのピアノードは、例えば、図3の通信機構126を介して、そのピアノードの隣接する(直接に接続された)ピアノードのすべてに送信される要求を開始する。次のブロック146で、この要求に対する応答が、所有者ノードから受信される。次に、そのピアノードが、この応答を処理し、さらに、これに相応してデータ構造を変更し(次のブロック147)、このことが、図3の更新マネージャ132によって実行されることが可能である。次のブロック148で、他のアクションが、存在する場合、実行される。
[052]代替として、所望される変更の起点であるノードが、そのノードがそのデータ構造の所有者ノードであると判定した場合(ブロック144で)、次に、そのノードは、そのデータ構造を変更することに即時に取りかかる(ブロック147)。この場合、要求を送信する必要はない。この場合、所有者ノードは、すべてのピアノード上でその変更されたデータ構造をレプリケートするために、直接に接続されたすべてのノードに送信され、ネットワーク上で伝播させられる、変更されたデータ構造に関するメッセージをその後に生成する(ブロック148)。
[053]図5は、データ構造を変更する要求を受信するピアノード上で行われることが可能なアクションを全体的に示す流れ図150である。第1のブロック151で、アクションが始まる。次のブロック152で、そのピアノードが、データ構造を変更する要求を受信する。次のブロック154で、そのピアが、例えば、図3の構成マネージャ134を利用して、そのピアがそのデータ構造の所有者ノードであるかどうかを判定する。そのノードが、そのノードがそのデータ構造の所有者ノードであると判定した場合、次のブロック155で、そのノードは、例えば、図3の更新マネージャ132を利用して、そのデータ構造を変更する。次に、その所有者ノードは、変更されたデータ構造に関する応答を他のすべてのノードに、直接に接続されたすべてのノードにその応答を直接送信し、その応答が、その後、その他のノードに伝播させられることによって、送信する(ブロック156)。ブロック157で、他のアクションが、存在する場合、実行される。
[054]代替として、ブロック154で、そのピアが、そのピアがそのデータ構造の所有者ピアではないと判定した場合、そのピアは、その要求に応答することを控える(ブロック158)。代わりに、そのピアは、例えば、直接に接続されたすべてのノードに、その他のノードに要求を伝播させるように要求を転送して、他の任意のアクションに即時に取りかかる(ブロック157)。
[055]図6は、本発明の主題の様々な態様が実施されることが可能である各ノードにおけるコンピューティングシステム(コンピュータ)の例を示す。この例は、コンピューティングシステムの一例に過ぎず、限定することは意図していない。一般に、本明細書で説明される主題は、サーバコンピュータ、マルチプロセッサシステム、ネットワークPC、メインフレームコンピューティングシステム、および前述のシステムもしくはデバイスのいずれかを含むシステムなどを含む、汎用コンピューティングシステムまたは専用コンピューティングシステムとして実施されることが可能である。
[056]本発明の主題は、コンピュータによって実行されている、プログラムモジュールなどのコンピュータ実行可能命令として実施されることが可能である。そのようなプログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれることが可能である。これらのタスクは、通信ネットワークを介して結び付けられた複数の遠隔処理デバイスによって実行されることが可能である。
[057]図6の実施例において、コンピューティング装置210は、プロセッサ220と、メモリ222と、データストア224と、ディスクドライブ225と、キーボード/マウス230と、ディスプレイ226と、ネットワークインターフェース232とを含む。構成要素は、システムバス234を介して一緒に結合される。本発明の(複数の)ソフトウェア製品は、データストア224にロードされ、さらに動作中、(例えば、RAM)メモリ222の中に転送されて、プロセッサ220によって実行されることが可能である。
[058]コンピュータ210は、ネットワーク化された環境において動作する。例えば、(複数の)ネットワークインターフェース232が、システムバス234をローカルエリアネットワーク(LAN)に結合することが可能であり、このLANが、内部ストレージまたは外部ストレージを有することが可能な複数の遠隔コンピュータに対するアクセスをもたらす。ワイドエリアネットワーク(WAN)環境において使用される場合、コンピュータ210は、モデムを介して、インターネットなどのWAN上で、遠隔コンピュータおよび遠隔ストレージと通信することが可能である。
[059]本明細書で使用されるコンピュータ可読媒体とは、コンピュータによってアクセスされ得る任意の媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体の両方を含む。
[060]本明細書で使用されるコンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するための揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体の両方が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用され得るとともに、コンピュータによってアクセスされ得る他の任意の媒体が含まれる。
[061]ネットワーク上のピアノードを結び付ける通信媒体には、有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、またはその他のワイヤレス媒体などのワイヤレス媒体が含まれることが可能である。通信媒体は、情報が符号化された搬送波などの変調されたデータ信号、または他の任意のトランスポート機構を転送することが可能である。変調されたデータ信号という用語は、信号内に情報を符号化するように特性の1つまたは複数が変更されている信号を意味する。さらなる実施形態において、ノードは、例えば、USBキーによるデータ構造更新の転送を許して、一時的に接続されることが可能である。
[062]本明細書で使用される「含む」という用語、およびこの用語の変種は、「〜を含むが、〜には限定されない」を意味する制約のない用語として読まれるべきものとする。「または」という用語は、文脈によってそうでないことが明確に規定されない限り、「および/または」と読まれるべきものとする。
[063]前述の説明は、本発明の範囲を例示することを意図しており、限定することは意図していないものと理解されたい。

Claims (24)

  1. ピアノードのネットワーク上で複数のデータ構造をレプリケートする方法をコンピュータに実行させるプログラムを含むコンピュータ可読記憶媒体であって、
    前記コンピュータは前記ピアノードのうちの1つであり、複数のデータ構造が前記ネットワーク上のすべてのノードに、既存のレプリケーションプロセスを用いてレプリケートされ、
    各データ構造は、該データ構造の所有者ノードとして前記ピアノードのうちの1つを排他的に指定し、前記データ構造は少なくとも1つのデータフィールドを有し、前記データ構造を変更することは指定された前記所有者ノードだけが許可されており、
    前記方法は、
    前記コンピュータが前記データ構造を変更することを所望した場合に実行するステップであって、
    前記データ構造を変更することを所望した前記コンピュータが、該コンピュータは前記所有者ノードであるかどうかを判定するステップと、
    前記コンピュータが該コンピュータは前記所有者ノードであると判定したときに、前記コンピュータが、前記データ構造の少なくとも1つの前記データフィールドを変更し、変更された前記データ構造に関するメッセージであって伝播によって全ての他のノードにレプリケートされるメッセージを生成するステップと、
    前記コンピュータが該コンピュータは前記所有者ノードではないと判定したときに、前記コンピュータが、前記データ構造を変更する要求を開始するステップであって、前記要求も、データ構造であり、前記コンピュータによって所有され、伝播によって、前記ネットワーク上のすべての他のノードに、前記既存のレプリケーションプロセスを用いて同様にレプリケートされる、ステップと
    を含むステップと、
    前記所有者ノードである前記コンピュータが前記要求を受信したときに、前記コンピュータが、前記データ構造を変更することによって前記要求を実行し、変更された前記データ構造に関する応答を生成するステップであって、前記応答も、データ構造であり、伝播によって、前記ネットワーク上のすべての他のノードに、前記既存のレプリケーションプロセスを用いて同様にレプリケートされる、ステップと
    を含む、コンピュータ可読記憶媒体。
  2. 請求項1に記載のコンピュータ可読記憶媒体であって、前記方法は、
    前記応答が非所有者ノードである前記コンピュータによって受信されると、前記コンピュータが、該コンピュータは前記応答を既に受信しているかどうかを判定し、受信している場合、前記応答をドロップし、受信していない場合、前記応答を処理するステップ
    を含む、コンピュータ可読記憶媒体。
  3. 請求項1に記載のコンピュータ可読記憶媒体であって、前記応答は、変更される前記データ構造の識別子を含む、コンピュータ可読記憶媒体。
  4. 請求項1に記載のコンピュータ可読記憶媒体であって、前記要求は、前記要求を一意に識別するタグを含む、コンピュータ可読記憶媒体。
  5. 請求項1に記載のコンピュータ可読記憶媒体であって、パーティションが前記ネットワークを複数のネットワークパーティションに分割したときに、各ネットワークパーティション上の複数のデータ構造のレプリケーションは動作可能なままである、コンピュータ可読記憶媒体。
  6. 請求項5に記載のコンピュータ可読記憶媒体であって、前記パーティションが終了したときに、前記パーティションをまたいだ複数のデータ構造のレプリケーションは再開する、コンピュータ可読記憶媒体。
  7. 請求項1に記載のコンピュータ可読記憶媒体であって、前記ネットワークは、すべてのノードが直接に接続されているわけではないネットワークである、コンピュータ可読記憶媒体。
  8. 請求項1に記載のコンピュータ可読記憶媒体であって、前記データ構造は、前記所有者ノードの識別子を含む、コンピュータ可読記憶媒体。
  9. 請求項1に記載のコンピュータ可読記憶媒体であって、前記データ構造は、前記ノードのすべてにわたってグローバルに一意である識別子を含む、コンピュータ可読記憶媒体。
  10. 請求項1に記載のコンピュータ可読記憶媒体であって、前記データ構造は、データベースに格納される、コンピュータ可読記憶媒体。
  11. 請求項1に記載のコンピュータ可読記憶媒体であって、前記方法は、リレーショナルデータベースを実施する、コンピュータ可読記憶媒体。
  12. 請求項1に記載のコンピュータ可読記憶媒体であって、前記データ構造は、データベーステーブルの行である、コンピュータ可読記憶媒体。
  13. 請求項1に記載のコンピュータ可読記憶媒体であって、前記データ構造は、ネットワークインターフェース、ファイルシステム、またはファイルシステムスナップショットを記述する、コンピュータ可読記憶媒体。
  14. コンピューティング環境における、ネットワーク内の複数のピアノードの各ピアノード上の装置であって、
    既存のレプリケーションプロセスを用いて複数の前記ピアノードにわたってデータ構造をレプリケートして該データ構造のレプリカを生成することに参加するように動作可能なレプリケーションマネージャであって、前記データ構造は少なくとも1つのデータフィールドを有する、レプリケーションマネージャと、
    当該装置のあるピアノード上の前記データ構造の前記レプリカを更新するように動作可能な更新マネージャと、
    当該装置のあるピアノードが前記データ構造の所有者ノードであるかを判定し、前記ピアノードが前記所有者ノードではないと判定された場合に、前記データ構造を変更する要求を開始し、前記ピアノードが前記所有者ノードであると判定された場合に、前記データ構造の少なくとも1つの前記データフィールドを変更し、変更された前記データ構造に関する前記要求に対する応答を開始するように動作可能な構成マネージャであって、前記所有者ノードは、前記データ構造を更新する排他的権利を有し、前記要求および前記応答もまた、前記ネットワーク内の全ての他のピアノードへの伝播によって、前記レプリケーションマネージャにより前記既存のレプリケーションプロセスを用いて同様にレプリケートされるデータ構造である、構成マネージャと
    を備えた装置。
  15. 請求項14に記載の装置であって、前記構成マネージャは、
    前記応答が当該装置のある非所有者ノードであるピアノードによって受信されると、当該ピアノードは前記応答を既に受信しているかどうかを判定し、受信している場合、前記応答をドロップし、受信していない場合、前記応答を処理する
    ように動作可能である、装置。
  16. 請求項14に記載の装置であって、前記ネットワークは、複数の前記ピアノードの一部のみが他のノードに直接接続されているネットワークである、装置。
  17. 請求項14に記載の装置であって、前記データ構造は、前記所有者ノードの識別子を含む、装置。
  18. 請求項14に記載の装置であって、前記データ構造は、複数の前記ピアノードのすべてにわたってグローバルに一意である識別子を含む、装置。
  19. 請求項14に記載の装置であって、前記データ構造は、データベースに格納される、装置。
  20. 請求項14に記載の装置であって、前記レプリケーションマネージャ、前記更新マネージャ及び前記構成マネージャは、リレーショナルデータベースを実施するように動作可能である、装置。
  21. 請求項14に記載の装置であって、前記データ構造は、データベーステーブルの行である、装置。
  22. 請求項14に記載の装置であって、前記データ構造は、ネットワークインターフェース、ファイルシステム、またはファイルシステムスナップショットを記述する、装置。
  23. 請求項14に記載の装置であって、前記構成マネージャは、前記データ構造に含まれた情報に基づいて、あるピアノードが前記データ構造の所有者ノードであるかを判定するように動作可能である、装置。
  24. 請求項1から13の何れか一項に記載のプログラム。
JP2014517025A 2011-06-23 2012-06-13 分散構成管理のための方法および装置 Expired - Fee Related JP6059216B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/167,365 2011-06-23
US13/167,365 US9436748B2 (en) 2011-06-23 2011-06-23 Method and apparatus for distributed configuration management
PCT/US2012/042244 WO2012177461A1 (en) 2011-06-23 2012-06-13 Method and apparatus for distributed configuration management

Publications (3)

Publication Number Publication Date
JP2014524078A JP2014524078A (ja) 2014-09-18
JP2014524078A5 JP2014524078A5 (ja) 2015-05-28
JP6059216B2 true JP6059216B2 (ja) 2017-01-11

Family

ID=46465278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517025A Expired - Fee Related JP6059216B2 (ja) 2011-06-23 2012-06-13 分散構成管理のための方法および装置

Country Status (8)

Country Link
US (2) US9436748B2 (ja)
EP (1) EP2724263A1 (ja)
JP (1) JP6059216B2 (ja)
CN (2) CN103703464B (ja)
AU (1) AU2012273295B2 (ja)
BR (1) BR112013032706A8 (ja)
CA (1) CA2840178C (ja)
WO (1) WO2012177461A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930409B2 (en) 2012-10-15 2015-01-06 Oracle International Corporation System and method for supporting named operations in a distributed data grid
US9378068B2 (en) 2013-03-13 2016-06-28 International Business Machines Corporation Load balancing for a virtual networking system
US9438670B2 (en) * 2013-03-13 2016-09-06 International Business Machines Corporation Data replication for a virtual networking system
CA2867585A1 (en) * 2013-10-15 2015-04-15 Coho Data Inc. Methods, devices and systems for coordinating network-based communication in distributed server systems with sdn switching
US9183148B2 (en) * 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
US10303453B2 (en) 2015-05-08 2019-05-28 Desktop 365, LLC Method and system for managing the end to end lifecycle of the virtualization environment for an appliance
US11449322B2 (en) 2015-05-08 2022-09-20 Desktop 365, Inc. Method and system for managing the end to end lifecycle of a cloud-hosted desktop virtualization environment
CN104935657A (zh) * 2015-06-15 2015-09-23 清华大学深圳研究生院 主动推送信息的方法和嵌入式节点操作系统
CN106375102B (zh) * 2015-07-22 2019-08-27 华为技术有限公司 一种服务注册方法、使用方法及相关装置
CN107885488B (zh) 2016-09-29 2021-06-01 微软技术许可有限责任公司 意图和具有意图的锁
US10963873B2 (en) * 2017-04-14 2021-03-30 Mastercard International Incorporated Systems and methods for monitoring distributed payment networks
US10970177B2 (en) * 2017-08-18 2021-04-06 Brian J. Bulkowski Methods and systems of managing consistency and availability tradeoffs in a real-time operational DBMS
US11947516B1 (en) * 2018-02-22 2024-04-02 Amazon Technologies, Inc. Multi-tier definition management for distributed data stores
US11223479B1 (en) 2021-04-02 2022-01-11 CyLogic, Inc. Resilience against denial of availability attacks in a secure decentralized P2P filesystem

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748429B1 (en) 2000-01-10 2004-06-08 Sun Microsystems, Inc. Method to dynamically change cluster or distributed system configuration
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
CA2331474A1 (en) 2001-01-19 2002-07-19 Stergios V. Anastasiadis Stride-based disk space allocation scheme
JP4131781B2 (ja) 2001-03-30 2008-08-13 株式会社東芝 分散処理型データベース管理システム
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US7516491B1 (en) * 2002-10-17 2009-04-07 Roger Schlafly License tracking system
US8311980B2 (en) * 2002-12-09 2012-11-13 Hewlett-Packard Development Company, L.P. Namespace consistency for a wide-area file system
US7139781B2 (en) 2003-04-29 2006-11-21 International Business Machines Corporation Managing filesystem versions
EP1617341A1 (en) 2004-07-16 2006-01-18 International Business Machines Corporation File operation management device
US8495266B2 (en) * 2004-12-10 2013-07-23 Hewlett-Packard Development Company, L.P. Distributed lock
JP4635615B2 (ja) 2005-01-17 2011-02-23 富士ゼロックス株式会社 情報処理装置、システム、データ同期方法及びプログラム
US7814078B1 (en) 2005-06-20 2010-10-12 Hewlett-Packard Development Company, L.P. Identification of files with similar content
US7454592B1 (en) 2006-02-16 2008-11-18 Symantec Operating Corporation Block-level and hash-based single-instance storage
US7546486B2 (en) * 2006-08-28 2009-06-09 Bycast Inc. Scalable distributed object management in a distributed fixed content storage system
CA2705379C (en) 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US8140625B2 (en) 2007-02-20 2012-03-20 Nec Laboratories America, Inc. Method for operating a fixed prefix peer to peer network
US8046509B2 (en) 2007-07-06 2011-10-25 Prostor Systems, Inc. Commonality factoring for removable media
US8073922B2 (en) * 2007-07-27 2011-12-06 Twinstrata, Inc System and method for remote asynchronous data replication
US7747663B2 (en) 2008-03-05 2010-06-29 Nec Laboratories America, Inc. System and method for content addressable storage
US20100106744A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Conflict prevention for peer-to-peer replication
EP2374255B1 (en) * 2008-12-30 2017-03-15 Telecom Italia S.p.A. Method and system for data management in peer-to- peer network
CN101923550A (zh) * 2009-06-15 2010-12-22 马杰 一种在分布式环境下防止非法复制文件的方法
US8478799B2 (en) 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
US20110225121A1 (en) * 2010-03-11 2011-09-15 Yahoo! Inc. System for maintaining a distributed database using constraints

Also Published As

Publication number Publication date
US20160371354A1 (en) 2016-12-22
CN103703464B (zh) 2018-04-06
AU2012273295A1 (en) 2014-01-16
CA2840178C (en) 2016-11-08
US9436748B2 (en) 2016-09-06
BR112013032706A2 (pt) 2017-01-24
EP2724263A1 (en) 2014-04-30
US10255340B2 (en) 2019-04-09
WO2012177461A1 (en) 2012-12-27
CA2840178A1 (en) 2012-12-27
CN108491504B (zh) 2021-08-24
CN108491504A (zh) 2018-09-04
JP2014524078A (ja) 2014-09-18
US20120331029A1 (en) 2012-12-27
CN103703464A (zh) 2014-04-02
BR112013032706A8 (pt) 2017-10-10
AU2012273295B2 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6059216B2 (ja) 分散構成管理のための方法および装置
US6889253B2 (en) Cluster resource action in clustered computer system incorporation prepare operation
US11329818B2 (en) Active state blockchain synchronization
KR101120844B1 (ko) 동적 피어-투-피어 환경에서의 상호 배제 기술
JP5695324B2 (ja) スプリットブレイン状況におけるメジャーグループを決定するための方法、システム、及びコンピュータ読み取り可能な記録媒体
US7743036B2 (en) High performance support for XA protocols in a clustered shared database
US20130036089A1 (en) Systems and methods for asynchronous distributed database management
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
CN113535656B (zh) 数据访问方法、装置、设备及存储介质
CN104239439A (zh) 选择性的数据库复制
US7565498B1 (en) System and method for maintaining write order fidelity in a distributed environment
US7805503B2 (en) Capability requirements for group membership
KR20140047230A (ko) 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템
Xhafa et al. Data replication in P2P collaborative systems
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
JP5480046B2 (ja) 分散トランザクション処理システム、装置、方法およびプログラム
Delavergne et al. A service mesh for collaboration between geo-distributed services: the replication case
Koçi et al. ADLMCC–Asymmetric distributed lock management in cloud computing
Luntovskyy et al. Architectural transformations in distributed systems
Martins et al. Scalable and topology-aware reconciliation on P2P networks
Masud et al. Synchronizing Data through Update Queries in Interoperable E-Health and Technology Enhanced Learning Data Sharing Systems.
CN117785800A (zh) 分布式文件内容管理方法、装置、系统及存储介质
Jiang et al. MUREX: A mutable replica control scheme for structured peer‐to‐peer storage systems
Frolund et al. Scalable state replication with weak consistency

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150410

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150410

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

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: 20161109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161208

R150 Certificate of patent or registration of utility model

Ref document number: 6059216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees