JP2011522337A - サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用 - Google Patents

サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用 Download PDF

Info

Publication number
JP2011522337A
JP2011522337A JP2011512177A JP2011512177A JP2011522337A JP 2011522337 A JP2011522337 A JP 2011522337A JP 2011512177 A JP2011512177 A JP 2011512177A JP 2011512177 A JP2011512177 A JP 2011512177A JP 2011522337 A JP2011522337 A JP 2011522337A
Authority
JP
Japan
Prior art keywords
software
data
description data
computer system
software module
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
Application number
JP2011512177A
Other languages
English (en)
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 JP2011522337A publication Critical patent/JP2011522337A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Abstract

ネットワークに相互接続された複数のサーバに配信されるコンピュータシステムのソフトウェアモジュール(14、14、14)の本同期化方法では、各ソフトウェアモジュールがコンピュータシステムのサーバで実行されてサービスの記述データを管理し、記述データ(Di、Dj、Dk)の少なくとも一部が複数のソフトウェアモジュールに複製される。本方法には、−記述データ(Di)に作用する動作(A)を第1のソフトウェアモジュール(14)に実行する工程(100)と、−この記述データの複製(Dj、Dk)を有するコンピュータシステムのほかのソフトウェアモジュール(14、14)の集合体への動作を特定する同期化メッセージ(M)を伝送する工程(102)と、−関連するソフトウェアモジュールのいずれか1つからメッセージ(M)を受信してすぐに、このソフトウェアモジュールにある記述データの複製に作用するようにこのソフトウェアモジュールで特定された動作を実行する工程(104、106)とが含まれる。
【選択図】図3

Description

本発明は、ネットワークに相互接続された複数のサーバに配信されるコンピュータシステムのソフトウェアモジュールを同期化する方法およびそのシステムに関する。また、本発明は、この方法を実施するため、データストレージサービスおよびコンピュータプログラムへのこのような方法の適用にも関する。
本発明は、さらに詳細には、各ソフトウェアモジュールがコンピュータシステムの1つのサーバ上で実行されてサービスの記述データの集合体を管理し、記述データの少なくとも一部が複数のソフトウェアモジュールに複製されるコンピュータシステムに適用される。
コンピュータシステムから供給されるサービスは、たとえば、ネットワークに相互接続されたサーバ間に配信されるデータストレージサービスなどであり、各サーバは、ハードディスクまたは磁気テープに保存するストレージデバイスに接続されている。この場合、記述データは、たとえばストレージサービスのユーザの記述データ、サービスを供給するためのコンピュータシステムのインフラストラクチャおよび作動に関する記述データ、ストレージデータおよびストレージ形態に関する記述データなどである。
また、コンピュータシステムから供給されるサービスは、情報データの伝送サービス、データ処理サービス、計算サービス、トランザクションサービス、またはこれらを組み合わせたサービスであってもよい。それぞれの場合において、記述データは、供給されるサービスに特有のものに適合される。
ソフトウェアモジュールが実行されるコンピュータシステムのサーバは一般に、少なくともLAN(英語のLocal Area Networkの略)および/またはWAN(英語のWide Area Networkの略)タイプのネットワークによって相互接続されている。ネットワークに相互接続されたサーバからなるこの集合体は特に「サーバクラスタ」と言い、ソフトウェアモジュールは一般にクラスタの「ノード」と呼ばれる。
このようなアーキテクチャでは、原則として特定のサーバまたはソフトウェアモジュールが全ソフトウェアモジュールの管理に充てられ、特に複製された記述データの同期化に用いられる。このほか、この種の適用では、記述データおよびそれに付随すると考えられる修正を、可能な限り修正が可換性を持つようにしつつ同期化を最適化するように規定することができる。たとえば、同一記述データ内で異なるフィールドの数を増加させたり、競合を避けるために増分式に規定して修正したり、潜在的な競合を管理する「先験的」なルールを規定したりすることができる。以上のことを考慮すると、このように検討した場合の記述データの同期化は、複数の作業者が通常修正に可換性がないデータに介入してデータを共同編集する場合ほど複雑ではないものの、全モジュールの管理に充てられるサーバまたはソフトウェアモジュールが機能しなくなったときに問題が生じる。
たとえば、仏国公開特許公報第FR2851709号では、データベースに接続しているメインサーバによって、通信ネットワーク経由でユーザにサーバを供給することができることが記載されている。通信ネットワークには、このメインサーバに接続されている補助サーバも設けられ、ユーザがこのサービスにさらに迅速にアクセスできるようになっている。ただしこの場合、補助サーバはメインサーバと同期化し、特にその中のデータベースと同期化していなければならない。メインサーバの補助サーバへのこの同期化を実現するため、通信ネットワークは、たとえばリソースサーバで利用されている同期化に特有の手段を備えている。そのため、通信ネットワークの特定の素子、つまりメインサーバおよびリソースサーバは、きわめて特殊な役割を担っており、この2つが機能しなくなると直ちに供給されるサービスの質に影響が出るおそれがあることは明らかである。
米国公開特許公報US2007/0233900号では、コンピュータのクラスタシステムで、複数のコンピュータが共通のストレージ手段からくる同一データをローカルに複製することができることが記載されている。同一データの複製の集合体が同期化するのを管理するため、コンピュータ間の接続体系には、ローカルに複製されたデータがコンピュータによって修正されるごとに共通のストレージ手段を更新することが想定されているため、ほかのコンピュータは、共通のストレージ手段を参照してローカルに複製したデータを更新することができる。ここでもまた、システムのアーキテクチャは、接続体系および共通のストレージ手段に対する固有の役割を持ち合わせている。
FR2851709 US2007/0233900
したがって、前述の問題および制約を解決するような、ネットワークに相互接続された複数のサーバに配信されるコンピュータシステムのソフトウェアモジュールを同期化する方法を備えることが望まれる。
よって本発明は、ネットワークに相互接続された複数のサーバに配信されるコンピュータシステムのソフトウェアモジュールを同期化する方法を目的とし、各ソフトウェアモジュールがコンピュータシステムのサーバ上で実行されてサービスの記述データの集合体を管理し、記述データの少なくとも一部が複数のソフトウェアモジュールに複製される方法であって、ソフトウェアモジュールのうちのいずれか1つを第1のソフトウェアモジュールとし、この第1のソフトウェアモジュールが管理する記述データに作用する動作の実行にはそれぞれ、
− この記述データの複製を有するコンピュータシステムのほかの全ソフトウェアモジュールへの動作を特定する同期化メッセージを第1のソフトウェアモジュールによって伝送する工程と、
− 関連するソフトウェアモジュールのうちのいずれか1つによってこのメッセージを受信してすぐに、このソフトウェアモジュールにある記述データの複製に作用するようにこのソフトウェアモジュールで特定された動作を実行する工程
とが含まれることを特徴とする方法である。
したがって、コンピュータシステムの第1のソフトウェアモジュールへの動作の実行は、結果として、この動作を特定するメッセージを伝送することで、この動作に関連する記述データの複製を管理するほかの全ソフトウェアモジュールに対してこれと同じ動作を実行することになる。したがって、最初に動作を実行するのがどのソフトウェアモジュールであっても、そのソフトウェアモジュールが同期化の管理機能を果たし、最終的には同じ結果となる。すなわち、この動作に関連する記述データを有する全ソフトウェアモジュールに対して実行されたかのようになる。サービスの記述データを管理するという点で特別または特殊な役割を果たすソフトウェアモジュールはないため、ソフトウェアモジュールまたはサーバが機能しない場合に、コンピュータシステムはサービスの継続使用を中断することに対して耐性のある完全なものとなる。
選択的な方法として、第1のソフトウェアモジュールで動作を実行すると、バージョンのインデックスおよび関連する記述データのシグネチャが更新され、この記述データの複製を有するこのソフトウェアモジュールのうちのいずれか1つで動作を実行すると、同じくバージョンのインデックスおよび関連する記述データの複製のシグネチャが更新される。
このように、記述データの複製が効果的に同期化されていることを常時確認することが可能となる。
選択的な方法として、関連する記述データのシグネチャの更新は、増分式かつ可換性があるように考案する。これにより、動作が混合することによって起こり得る競合を管理することができる。実際には、上に詳細に記載したように、動作そのものを可換性のあるものにしたり、先験的なルールによって管理したりすることができるとしても、シグネチャも同じく可換性を持たせて更新するように規定することが有利である。
選択的な方法として、シグネチャの増分は、ランダムに生成されたデータの結果とする。
選択的な方法として、ツリー構造を有する記述データの集合体のうち、各記述データが少なくとも1つの子ノードを有するノードか、ツリー構造の末端の葉ノードのいずれかである集合体では、ツリー構造の各ノードは全体のシグネチャとつながり、この全体のシグネチャが、ツリー構造のこのノードの下にある記述データのシグネチャを統合したものに相当する。これにより、特に、記述データの集合体をさらに迅速に走査してこの集合体の2つの複製が同期化するのを確認することができる。
選択的な方法として、本発明によるサーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールを同期化する方法は、このほか、
− 記述データの一部を有するソフトウェアモジュールを作動させる場合に、記述データのこの部分の複製状態を少なくとももうひとつのソフトウェアモジュールに抽出し、もうひとつ別のソフトウェアモジュールにある記述データの複製に対する動作を特定して少なくとも1つの同期化メッセージを受ける潜在的なレセプタとしてソフトウェアモジュールを登録する工程と、
− ソフトウェアモジュールの記述データを別のソフトウェアモジュールの記述データと同期化し、この同期化の最中に、必要に応じて受信した同期化メッセージを待機行列に置く工程と、
− 同期化が終了すると待機行列を処理する工程
とを含むことができる。
また、本発明は、前述のソフトウェアモジュールの同期化方法を、サーバクラスタに配信されるコンピュータシステム適用し、コンピュータシステムのサーバにそれぞれ接続するストレージデバイスに配信されるデータストレージサービスを供給することも目的としている。
選択的な方法として、記述データは少なくとも集合体のうちの1素子を有し、この集合体は、コンピュータシステムの全体的なインフラストラクチャおよび全体的な作動を記述するデータと、データストレージサービスのユーザおよびこのユーザのアクセス権を記述するデータと、ストレージの構造または形態およびストレージデータの複製を記述するデータと、コンピュータシステムのサーバまたはソフトウェアモジュールのローカルのインフラストラクチャおよびローカルの作動を記述するデータとで構成される。
また、本発明は、通信ネットワークからダウンロード可能なコンピュータプログラム、および/またはコンピュータによって再生可能な媒体に記録されたコンピュータプログラム、および/またはプロセッサによって実行可能なコンピュータプログラムであって、このプログラムがコンピュータ上で実行される場合に、前述のように定義したようなネットワークに相互接続された複数のサーバに配信されるコンピュータシステムのソフトウェアモジュールを同期化する方法の工程を実行するためのプログラムコードのインストラクションを含むことを特徴とするプログラムを目的としている。
最後に、本発明は、コンピュータシステムのソフトウェアモジュールの同期化システムであって、ネットワークに相互接続された複数のサーバを有し、各ソフトウェアモジュールがコンピュータシステムのサーバ上で実行されてサービスの記述データの集合体を管理し、このサーバで少なくとも記述データの一部が複数のソフトウェアモジュール上で複製されるシステムにおいて、システムが、記述データを管理する各ソフトウェアモジュール上に
− 記述データに作用する動作を特定し、この記述データの複製を1つ有するコンピュータシステムのほかの全ソフトウェアモジュールに対して、このような動作がこのソフトウェアモジュール上で実行されるごとに同期化メッセージを発信する手段と、
− このソフトウェアモジュールが同期化メッセージを受信したことに対する応答として、記述データに作用し、同期化メッセージ内で特定される動作を、このソフトウェアモジュールにある記述データの複製上で作用するように実行する手段
とを備えることを特徴とするシステムも目的としている。
本発明は、例としてのみ示した以下の説明および添付の図面を参照することによってさらによく理解されるであろう。以下、図面を説明する。
ネットワークに相互接続された複数のサーバに配信されるデータを格納するコンピュータシステムの全体構造を示す概略図である。 図1のコンピュータシステムに記述データを分類した例を示す表である。 本発明の一実施形態による同期化方法の一連の工程を示す図である。 図3の方法を実行する特定の1例であり、混合する動作を実行することにより生じる潜在的な競合が解決される様子を示す図である。 本発明の別の実施形態による同期化方法の一連の工程を部分的に示す図である。
図1に示すコンピュータシステム10は、複数のドメインに分類される複数のサーバ12、12、12、12および12を有する。各サーバは従来のタイプのものであり、詳細は説明しないが、各サーバ12、12、12、12および12には、データストレージサービスなどのサービスを管理する少なくとも1つの特殊なソフトウェアおよびハードウェアモジュール14、14、14、14および14が装備されている。
5つのサーバおよび2つのドメインを単なる例として図1に示しているが、ネットワークに相互接続された複数のサーバに配信されるこのほかのあらゆるコンピュータシステムの構造に、本発明による同期化方法を適用させることができる。図は、簡略化する意味でも、ソフトウェアモジュールおよびハードウェアをサーバごとに示しているため、モジュールおよびそのサーバが以下の説明の中で混同されるおそれがあるが、本発明を全体的に適用することにおいては混同するべきではない。
サーバ12のソフトウェアおよびハードウェアモジュール14は図1に詳細を示している。モジュール14は、サーバ12のオペレーティングシステムからなる第1のソフトウェア層16を有する。また、コンピュータシステム10が供給するデータストレージサービスの記述データを管理する第2のソフトウェア層18を有する。さらに、少なくとも2つの機能を果たす第3のソフトウェアおよびハードウェア層20を有する。ひとつはサーバ12の内部ハードディスクにストレージサービスの記述データを格納する機能であり、もうひとつは、サーバ12のストレージデバイスに格納したデータを同じくこのハードディスクに記憶するキャッシュメモリ機能である。最後に、データウェアハウスとして第4のソフトウェアおよびハードウェア層22、24を有し、ハードディスク22に少なくとも1つのデータウェアハウス、および/または磁気テープ24に少なくとも1つのデータウェアハウスを有する。以下の説明では、データウェアハウスとは、接続するサーバのストレージデバイスのうちの1つまたは複数のディスクのパーティション、あるいは1つまたは複数の磁気テープからなる仮想のデータストレージスペースを意味する。
サーバ12、12、12および12のソフトウェアおよびハードウェアモジュール14、14、14および14は、ソフトウェアおよびハードウェアモジュール14と同様であるため、詳細は記載しない。
図1に示す例では、サーバ12、12および12はLANタイプの第1のネットワーク26でそれぞれ相互接続され、第1のサブアセンブリであるドメイン28を形成する。この第1のドメイン28は、たとえば地理上の場所、建物またはコンピュータ室など、地理的に位置を特定された機関と対応している。サーバ12および12は、LANタイプの第2のネットワーク30で相互接続され、第2のサブアセンブリであるドメイン32を形成する。この第2のドメイン38も同じく、たとえば地理上の場所、建物またはコンピュータ室など、地理的に位置を特定された機関と対応している。この2つのドメインは、インターネットなどのWANタイプのネットワーク34で互いに接続されている。
したがって、複数の地理上の場所に分類されたサーバクラスタの状態にあるこのコンピュータシステムでは、地理的に別々の場所にあるソフトウェアおよびハードウェアモジュールにデータを複製できるためにさらに一層確実なデータストレージを検討することができる。
コンピュータシステム10が供給するストレージサービスおよび実際に格納されるデータは、図2のように一般原則で記述される記述データの集合体によって完全に規定され、記述されることが有利である。したがって、ソフトウェアおよびハードウェアモジュール14のうちのいずれかのソフトウェア層18でこの記述データを管理することによって、コンピュータシステム10のストレージサービスが確実に管理される。
記述データは、たとえばその性質に応じて複数の組織化した集合体に統合され、場合によっては互いに接続される。組織化した集合体を以下の説明では「カタログ」というが、この集合体は、ディレクトリ自体が別のティレクトリおよび/または記述データファイルを有するディレクトリツリー構造の形態を呈することができる。1つのディレクトリおよびファイルのツリー構造に応じた記述データの表示は、簡易であることが有利となり、それによって構想と管理が経済的になる。さらに、このような表示にすることよって目的のサービスが満足なものになることが多い。これよりもさらに複雑な適用には、リレーショナルデータベースで記述データを表示し、管理することも可能である。
記述データのカタログは、グローバルカタログ、すなわちコンピュータシステム10の集合体に有用な記述データに関するものにしたり、ローカルカタログ、すなわちサービスを管理する1つまたは複数のソフトウェアおよびハードウェアモジュール14、14、14、14または14に固有の記述データに関するものにしたりすることができる。有利なように、本発明に従えば、各カタログは複数のサーバまたはソフトウェアおよびハードウェアモジュールに複製される。グローバルカタログの場合、ソフトウェアおよびハードウェアモジュールの集合体に複製されることが好ましい。ローカルカタログの場合、少なくとも関連する所定数のソフトウェアおよびハードウェアモジュールに複製される。
図2は、例として、5つのソフトウェアおよびハードウェアモジュール14、14、14、14および14の間の記述データカタログとして考えられる分類を示している。
第1のグローバルカタログCは、5つのソフトウェアおよびハードウェアモジュール14、14、14、14および14に複製される。このカタログは、たとえばコンピュータシステム10がサービスを供給するための全体のインフラストラクチャおよび全体の動作を記述するデータを有し、特に、コンピュータシステム10のドメインとソフトウェアおよびハードウェアモジュールとのツリー構造を有する。また、データストレージサービスの潜在的ユーザおよびこのユーザのアクセス権を記述するデータを有することができる。たとえば、あらかじめ登録されているユーザや、共有ゾーン、ストレージの構造または形態およびストレージデータの複製などである。
その他のカタログは、たとえばカタログCB1のようなローカルカタログであり、ソフトウェアおよびハードウェアモジュール14に固有の記述データが入っており、たとえばサーバ12およびそのストレージデバイスのローカルのインフラストラクチャおよびローカルの動作、またはソフトウェアおよびハードウェアモジュール14のデータウェアハウス状態の組織などである。このカタログは3つに複製され、そのうちの1つはソフトウェアおよびハードウェアモジュール14に複製される。コンピュータシステム10のセキュリティおよび堅牢性を向上させるため、カタログCB1は複数の異なるドメインに複製してもよい。ここでは、2つのドメイン28、32およびカタログCB1を有する完全なシステムは、たとえばドメイン28のモジュール14および14、ドメイン32のモジュール14に保存される。
同じく、ソフトウェアおよびハードウェアモジュール14、14、14および14は、それぞれローカルカタログCB2、CB3、CB4およびCB5に接続される。たとえばカタログCB2は、ドメイン28のモジュール14および14、およびドメイン32のモジュール14に保存される。カタログCB3は、ドメイン28のモジュール14、およびドメイン32のモジュール14および14に保存される。カタログCB4は、ドメイン32のモジュール14、およびドメイン28のモジュール14および14に保存される。カタログCB5は、ドメイン32のモジュール14、およびドメイン28のモジュール14および14に保存される。
記述データカタログに関する前述のリストは網羅的なものではなく、例としてあげているに過ぎず、各カタログの複製数も同じく例に過ぎない。
このようにカタログを複製することにより(ここでは各カタログに対して少なくとも3つのソフトウェアおよびハードウェアモジュールに複製)、1つ、場合によっては2つのソフトウェアおよびハードウェアモジュールが作動状態ではない場合であっても、集合体の中にあるシステムは記述データの集合体にアクセスすることができるため、データストレージサービスの管理は必ずしも中断されるわけではない。実際に、このように維持されるサービス継続性は、カタログの同期化が行われる瞬間から有効である。
そのため、コンピュータシステム10の各ソフトウェアおよびハードウェアモジュールのソフトウェア層は、
− 記述データに作用する動作を特定し、この動作をソフトウェアモジュールで実行したのちに、この記述データの複製を1つ有するコンピュータシステムのほかの全ソフトウェアモジュールに対して同期化メッセージを発信する手段と、
− 記述データに作用し、同期化メッセージ内で特定される動作を、同期化メッセージを受信したことに対する応答としてこのソフトウェアモジュールにある記述データの複製上で作用するように実行する手段
とを有する。
次に、特に有利な記述データカタログの同期化方法を、本発明の一実施形態に従って説明する。
まず、カタログの同期化は、このカタログの記述データの複製がいずれかのコンピュータシステムのソフトウェアおよびハードウェアモジュール上で修正される瞬間から確実に行われることが重要である。記述データに修正があれば、この記述データ上で決定された動作Aによって完全に規定することができる。たとえば、ユーザに関する記述データの修正であれば、システム管理者の権利、データ管理者の権利、オペレータの権利、単なる一ユーザの権利を有する権利全体の中から選択されるコンピュータシステム10へのアクセス権に対する動作によって規定することができる。この場合、動作Aは適用対象となる記述データおよびこの記述データ(この場合はシステム管理者、データ管理者、オペレータまたは単なる一ユーザ)の新たな値を明確に特定する。動作Aは、汎用一意識別子によって特定され、保存が可能であるため、記述データの現状は、この記述データの初期状態、およびデータ形成当初から操作されている一連の動作を知ることによって確認することができる。
前述したように、記述データおよび/またはこのデータに対して実行可能な修正の動作は、動作が可能な限り可換性があること、すなわち2つの動作が実行順序にかかわらず同一の結果を出すように規定することが有利である。たとえば、同一の記述データで修正可能なフィールド数を増やしつつ、考えられる競合数を統計的に制限すると、2つの動作が同一データフィールドで同時に実行されるような可能性は減少する。同じくたとえば、カウンタータイプのフィールドおよびこのフィールドで起こり得る増分の修正を規定しつつ、競合が起こった場合にはそれに対応する可換性のある動作を返す。最後に、記述データのフィールドおよびそれに対応する動作が、この動作が(「カラー」タイプのパラメータと「カラーの変更」タイプの動作などのようには)可換性を持つように規定できない場合は、競合(あらかじめ規定されている優先権や決定規準など)を管理する「先験的」なルールを規定したり、競合を「手動」で管理するような競合の場合にアラームを発生させたり、このデータフィールドでのあらゆる動作に対する複数のアクセスを阻止したりすることもできる。いずれにしても、ほぼ同時に同一の記述データ上で実行する動作間で起こりうるこの管理上の問題は、これが同一背景で起こり、この問題によって同期が最適化されるとしても、本発明が解決するこの同期化の問題とは別の問題である。
さらに、記述データDのそれぞれのローカル複製は、バージョン番号NおよびシグネチャSを有するバージョンVに関連している。好適な実施形態では、記述データDの複製にかかる動作Aによってもたらされるあらゆる修正、作成または削除は、次のようにして
−N←N+1;
−S←S+Incr(A)(式中Incr(A)は、関連する記述データの複製にかかる動作Aの実行時に発生するランダム値である。)
バージョンVも同じように修正する。
図3に示すように、第1の工程100では、記述データDの複製Diに対して動作Aが実行され、この複製Diがサーバ12によって格納される。動作Aを実行する前は、記述データDの複製Diは値val、バージョン番号NおよびシグネチャSを持つ。動作Aを実行した後は、記述データDの複製Diは値val’、バージョン番号N’=N+1およびシグネチャS’=S+Incr(A)を持つ。
動作Aを実行している最中は、記述データDの複製Diは、ほかの動作がこの複製へ実行されないように保護されている。この潜在的なほかの動作は、このために設けられたリストで待機し、動作Aを実行し終わると同時に続けて実行される。
次の工程102では、ソフトウェアおよびハードウェアモジュール14から同期化メッセージMが生成される。このメッセージMは動作Aの汎用識別子、つまりこの動作Aに関する完全な記述を有するとともに、シグネチャIncr(A)の増分値を有する。同工程では、メッセージMは、同じく記述データの複製Dを有するソフトウェアおよびハードウェアモジュール14および14へ伝送ネットワーク26、30、34を介して伝送される。
次に、工程104では、同期化メッセージMを受信すると、ソフトウェアおよびハードウェアモジュール14は記述データDの複製Djに対して動作Aを実行し、その結果、その値、バージョン番号およびシグネチャを更新してそれぞれval’、N’およびS’となる。バージョン番号Nの更新は、ソフトウェアおよびハードウェアモジュール14が適用するルールと同じルールを適用して行い、シグネチャの更新は、ソフトウェアおよびハードウェアモジュール14から生成されるシグネチャIncr(A)の増分を伝送することによって行う。
同じく次の工程106では、同期化メッセージMを受信すると、ソフトウェアおよびハードウェアモジュール14は記述データDの複製Dkに対して動作Aを実行し、その結果、その値、バージョン番号およびシグネチャを更新してそれぞれval’、N’およびS’となる。
コンピュータシステム10のいずれの記述データに対しても動作を実行するごとにこの同期化方法を繰り返すことによって、複数のノードに複製されたカタログは、同期化が行われる時間を除いてすべて同一となる。
図3の例で示した記述データの複製のバージョンVに対するその他の修正技術は、別の方法で検討することができるが、シグネチャSが増分式に可換性があるように更新されることが有利であり、これによって図4に示すように、同じ記述データのさまざまな複製が混合する修正を管理することができる。
実際には、工程200では、記述データDの複製Diの第1のインスタンスに対して動作Aが実行され、この複製Diがサーバ12によって格納される。動作Aを実行する前は、記述データDの複製Diは値val、バージョン番号NおよびシグネチャSを持つ。動作Aを実行した後は、記述データDの複製Diは値val’、バージョン番号N’=N+1およびシグネチャS’=S+Incr(A)を持つ。
ソフトウェアおよびハードウェアモジュール14が、記述データDの複製を持つほかのソフトウェアおよびハードウェアモジュールに同期化メッセージMAを送信する時間がある前であっても、工程202の段階ではソフトウェアおよびハードウェアモジュール14のうちのいずれか1つに対して動作Bが実行される。この工程では、動作Bは記述データDの複製Djの第2のインスタンスに対して実行される。動作Bを実行する前は、記述データDの複製Djは値val、バージョン番号NおよびシグネチャSを持つ。動作Bを実行した後は、記述データDの複製Djは、val’ではなく値val’’、バージョン番号N’=N+1、およびシグネチャS’ではなくシグネチャS’’=S+Incr(B)を持つ。
したがって、工程200および202のあとでは、複製DiおよびDjは同じバージョン番号N’を持っているが、そのシグネチャおよび値はそれぞれ異なる。そのため、そのバージョン番号およびシグネチャによって一度に特定されるそのバージョンV’およびV’’は異なる。
次の工程204では、同期化メッセージMAはソフトウェアおよびハードウェアモジュール14から生成される。このメッセージMAは、動作Aの汎用識別子、つまりこの動作Aに関する全記述を有するとともに、シグネチャIncr(A)の増分値を有する。この同工程では、メッセージMAは、特に、記述データの複製Djを有するソフトウェアおよびハードウェアモジュール14へ伝送される。
同じく次の工程206では、同期化メッセージMBはソフトウェアおよびハードウェアモジュール14から生成される。このメッセージMBは、動作Bの汎用識別子、つまりこの動作Bに関する全記述を有するとともに、シグネチャIncr(B)の増分値を有する。この同工程では、メッセージMBは、特に、複製Diを有するソフトウェアおよびハードウェアモジュール14へ伝送される。
工程208では、同期化メッセージMBを受信すると、ソフトウェアおよびハードウェアモジュール14は記述データDの複製Diに対して動作Bを実行し、その結果、その値、バージョン番号およびシグネチャは更新されてそれぞれval’’’、N’’およびS’’’となる。値val’’’はval’に対する動作Bから生じたもの、すなわち記述データDの値valに対して動作AとBとを併用して生じたものである。値N’’はN’+1、つまりN+2と同等である。結果として、S’’’の値はS’+Incr(B)=S+Incr(A)+Incr(B)と同等である。
最後に、工程210では、同期化メッセージMAを受信すると、ソフトウェアおよびハードウェアモジュール14は記述データDの複製Djに対して動作Aを実行し、その結果、その値、バージョン番号およびシグネチャは更新されてそれぞれ工程208でのDiと同じval’’’、N’’およびS’’’となる。実際には、前述のように、動作AおよびBの可換性は競合を規定したり管理したりすることによって得られるとすれば、値val’’’はval’’に対する動作Aから生じたもの、すなわち記述データDの値valに対して動作AとBとを併用して生じたものである。値N’’はN’+1、つまりN+2であると同等である。結果として、シグネチャを更新することによる増分の特性および可換性の特性により、S’’’の値はS’’+Incr(A)=S+Incr(B)+Incr(A)と同等となる。
したがって、工程208および210のあとでは、複製DiおよびDjは適正に同期化し、そのバージョンが同一であることがその値が同一であることの証明となることがわかる。
以上に説明した同期化方法によって、各ソフトウェアおよびハードウェアモジュールを常に更新した状態にしてコンピュータシステム10によって供給されるサービスの記述データを管理することができ、発信された同期化メッセージを各ソフトウェアおよびハードウェアモジュールが受信し、処理することができる。ただしその代わりに、ソフトウェアおよびハードウェアモジュールを、たとえば新たなサーバを追加する際や、サービスをローカルで中断したあとなどに作動させる際は、上記の方法をとることによって、記述データの管理で起こるほかのソフトウェアおよびハードウェアモジュールに対する遅れを取り戻すことはできない。
そのため、この新たな問題も解決した上で本発明の実施形態を実装することを検討することができる。図5にこのような実施形態を部分的に示す。図は、ソフトウェアおよびハードウェアモジュールをコンピュータシステム10内で作動させた際に、このモジュールを更新するための新たな特殊な工程を想定している。当然ながら、このソフトウェアおよびハードウェアモジュールがコンピュータシステムで最初に作動状態に置かれる場合は、これらの新たな工程を実行するようにはなっていない。この実施形態は、ソフトウェアおよびハードウェアモジュールがコンピュータシステム内で始動する際に適用されるため、カタログの複製を有するほかのソフトウェアおよびハードウェアモジュールはすでに作動状態にあり、図3および図4を参照して説明した方法により同期化されている。
この実施形態によれば、ソフトウェアおよびハードウェアモジュール14がコンピュータシステム10内で始動する第1の工程300では、コンピュータシステムが記述データカタログのうちの1つを同期化するためにソフトウェアおよびハードウェアモジュール14を選択する。当然ながらシステムは、更新を希望するカタログの複製を管理するソフトウェアおよびハードウェアモジュールのうちの1つを選択する。ソフトウェアおよびハードウェアモジュール14が選択されると、同工程300では、ソフトウェアおよびハードウェアモジュール14は自らの識別子とともに、カタログの各記述データのバージョンに関する情報(すなわち、バージョン番号およびシグネチャ)をモジュール14に伝送する。
次に、工程302では、ソフトウェアおよびハードウェアモジュール14は、カタログ内容の表示を固定し、このカタログに関する全く新規の同期化メッセージを受信するための待機リストを作成する。
また、工程300を経たのちの工程304では、ソフトウェアおよびハードウェアモジュール14は、カタログ複製の保持部およびこのカタログに関する同期化メッセージの発信先として組み入れられる。この工程においても同じく、このカタログに関する全く新規の同期化メッセージを受信するための待機リストを作成する。
工程302を経たのちの工程306では、ソフトウェアおよびハードウェアモジュール14は、ソフトウェアおよびハードウェアモジュール14の記述データのバージョンを自らのものと比較する。同一カタログからの2つの複製にみられるこのような差分の検出は、記述データがノードか(少なくとも1つの「子データ」である記述データと直接または間接的に親子関係にある場合)葉ノードか(この階層表示でツリーの末端にある場合)のいずれかであるツリーに従って記述データカタログが組織化される場合に簡略化することができる。実際には、この場合、ツリーの各ノードは、「子データ」、すなわちツリー内でこのノードの下にある記述データのシグネチャの合計を表す全体のシグネチャと関連付けることができる。したがって、差分の検出は、ツリーの根ノードから葉ノードまで、換言すれば上から下へ走査することで行われる。ツリーのノードがカタログの2つの複製内に同じ全体のシグネチャを持つ場合は常にこのノードとこのノードの「子データ」の集合体とが同一であることを意味するため、このノードよりも先にあるツリー規定のサブツリー構造を検索することは有用ではない。
同工程では、ソフトウェアおよびハードウェアモジュール14は、記述データの値およびバージョンを含む第1の記述データリストを構成し、モジュール14が所有するこのバージョンはソフトウェアおよびハードウェアモジュール14のバージョンよりも新しいものである。このほか、場合によっては、記述データの識別子を有する第2の記述データリストを構成し、モジュール14が所有するこのバージョンはソフトウェアおよびハードウェアモジュール14のバージョンよりも古いものである。その後、この2つのリストをソフトウェアおよびハードウェアモジュール14へ伝送する。
工程308では、ソフトウェアおよびハードウェアモジュール14は、関連する記述データをカタログの複製内で更新するように第1のリストを処理する。
工程310では、第2のリストで認識された記述データの値およびバージョンをソフトウェアおよびハードウェアモジュール14へ伝送する。
続いて工程312では、ソフトウェアおよびハードウェアモジュール14は、第2のリストで認識された記述データのこの値およびバージョンを、関連する記述データをカタログの複製内で更新するように処理する。記述データの更新処理をするごとに、図3を参照して説明した方法に従って、この記述データの複製を有するモジュール14以外のソフトウェアおよびハードウェアモジュールに同期化メッセージを伝送する。
ソフトウェアおよびハードウェアモジュール14とソフトウェアおよびハードウェアモジュール14との間でこのカタログの更新をしたあと、工程314の段階でソフトウェアおよびハードウェアモジュール14の側からカタログ内容の表示の固定を解除され、ソフトウェアおよびハードウェアモジュール14は工程316の段階で情報を得る。
したがって、それぞれの最終工程318および320では、ソフトウェアおよびハードウェアモジュール14および14は、工程306から316の間にそれぞれの待機リストで受信した同期化メッセージを処理するために解放され、この待機リストを除去および削除したのち、状況に応じて図3および図4を参照して説明したような同期化工程を再生する状況になる。
工程300から318は、ソフトウェアおよびハードウェアモジュール14で必要な回数だけ繰り返されて記述データのカタログ全体を更新する。
前述したような方法および/またはシステムによって、サービスを供給する複数のサーバに配信されるコンピュータシステムの同期化が可能となり、それによってシステムの各サーバ、さらに正確にはサーバに作用してこのサービスを供給する各ソフトウェアおよびハードウェアモジュールがほかのモジュールに対して同様の役割を果たし、不具合を緩和することができることは明らかと思われる。

Claims (10)

  1. ネットワーク(26、30、34)に相互接続された複数のサーバ(12、12、12、12、12)に配信されるコンピュータシステム(10)のソフトウェアモジュール(14、18、14、14、14、14)の同期化方法であって、各前記ソフトウェアモジュールがコンピュータシステムのサーバで実行されてサービスの記述データの集合体(C、CB1、CB2、CB3、CB4、CB5)を管理し、前記記述データの少なくとも一部が複数のソフトウェアモジュールに複製される同期化方法において、前記ソフトウェアモジュールのうちのいずれか1つを第1のソフトウェアモジュール(14)とし、該第1のソフトウェアモジュールが管理する記述データ(Di)に作用する動作(A)の実行にはそれぞれ、
    − 前記記述データの複製(Dj、Dk)を有するコンピュータシステムのほかのソフトウェアモジュール(14、14)の集合体への動作(A)を特定する同期化メッセージ(M)を前記第1のソフトウェアモジュール(14)によって伝送する工程(102)と、
    − 関連する前記ソフトウェアモジュールのうちのいずれか1つから前記メッセージ(M)を受信してすぐに、前記ソフトウェアモジュールにある記述データの複製に作用するように前記ソフトウェアモジュールで特定された動作を実行する工程(104、106)
    とが含まれることを特徴とする同期化方法。
  2. 前記第1のソフトウェアモジュール(14)へ前記動作(A)を実行すると(100)、バージョン(N)のインデックスおよび関連する前記記述データ(Di)のシグネチャ(S)が更新され、前記記述データの前記複製(Dj、Dk)を有する前記ソフトウェアモジュール(14、14)のうちのいずれか1つへ前記動作(A)を実行すると(104、106)、同じくバージョン(N)のインデックスおよび関連する記述データの複製のシグネチャ(S)が更新される、請求項1に記載のソフトウェアモジュールの同期化方法。
  3. 関連する前記記述データの前記シグネチャ(S)の更新は、増分式かつ可換性があるように考案される、請求項2に記載のソフトウェアモジュールの同期化方法。
  4. シグネチャの前記増分は、データがランダムに生成された結果である、請求項3に記載のソフトウェアモジュールの同期化方法。
  5. ツリー構造を有する記述データの集合体(C、CB1、CB2、CB3、CB4、CB5)のうち、各記述データが少なくとも1つの子ノードを有するノードか、ツリー構造の末端の葉ノードのいずれかである集合体では、ツリー構造の各ノードは全体のシグネチャとつながり、該全体のシグネチャが、ツリー構造の前記ノードの下にある記述データのシグネチャ(S)を統合したものに相当する、請求項2ないし4に記載のソフトウェアモジュールの同期化方法。
  6. 同期化方法がさらに、
    − 記述データの一部を有するソフトウェアモジュール(14)を作動させる(300)場合に、記述データのこの部分の複製状態を少なくとも別の1つのソフトウェアモジュール(14)に抽出し(302)、もうひとつ別のソフトウェアモジュールにある記述データの複製に対する動作を特定して少なくとも1つの同期化メッセージを受ける潜在的なレセプタとしてソフトウェアモジュール(14)を登録する(304)工程と、
    − 前記ソフトウェアモジュール(14)の記述データを別の前記ソフトウェアモジュール(14)の記述データと同期化し(306、308、310、312)、この同期化の最中に、必要に応じて受信した同期化メッセージを待機行列に置く工程と、
    − 同期化が終了する(314、316)と、待機行列(318、320)を処理する工程
    とを含む、請求項1ないし5に記載のソフトウェアモジュールの同期化方法。
  7. 請求項1ないし6のいずれか一項に記載のソフトウェアモジュールの同期化方法の適用であって、コンピュータシステムのサーバに接続するストレージデバイスに配信されるデータストレージサービスを供給するため、ネットワーク(26、30、34)に相互接続された複数のサーバ(12、12、12、12、12)に配信されるコンピュータシステム(10)に対する適用。
  8. 前記記述データが少なくとも集合体のうちの1素子を有し、この集合体が、コンピュータシステムの全体的なインフラストラクチャおよび全体的な作動を記述するデータと、データストレージサービスのユーザおよびこのユーザのアクセス権を記述するデータと、ストレージの構造または形態およびストレージデータの複製を記述するデータと、コンピュータシステムのサーバまたはソフトウェアモジュールのローカルのインフラストラクチャおよびローカルの作動を記述するデータとで構成される、請求項7に記載のソフトウェアモジュールの同期化方法の適用。
  9. 通信ネットワークからダウンロード可能なコンピュータプログラム、および/またはコンピュータによって再生可能な媒体に記録されたコンピュータプログラム、および/またはプロセッサによって実行可能なコンピュータプログラムであって、該プログラムがコンピュータ上で実行される場合に、請求項1ない6のいずれか一項に記載のネットワークに相互接続された複数のサーバ(12、12、12、12、12)に配信されるコンピュータシステム(10)のソフトウェアモジュールの同期化方法の工程を実行するためのプログラムコードのインストラクションを含むことを特徴とするプログラム。
  10. コンピュータシステム(10)のソフトウェアモジュール(14、18、14、14、14、14)の同期化システムであって、ネットワーク(26、30、34)に相互接続された複数のサーバ(12、12、12、12、12)を有し、各前記ソフトウェアモジュールがコンピュータシステムの前記サーバ上で実行されてサービスの記述データの集合体(C、CB1、CB2、CB3、CB4、CB5)を管理し、前記サーバで少なくとも記述データの一部が複数のソフトウェアモジュール上で複製されるシステムにおいて、システムが、記述データを管理する各ソフトウェアモジュール(14)上に、
    − 記述データ(Di)に作用する動作(A)を特定し、前記記述データの複製(Dj、Dk)を1つ有するコンピュータシステムのほかのソフトウェアモジュール(14、14)の集合体に対して、このような動作(A)がこのソフトウェアモジュール(14)上で実行されるごとに同期化メッセージ(M)を発信する手段と、
    − 前記ソフトウェアモジュール(14)が同期化メッセージ(M)を受信(104、106)したことに対する応答として、記述データ(Di)に作用し、同期化メッセージ内で特定された前記動作(A)を、前記ソフトウェアモジュール(14)にある前記記述データ(Di)の複製上で作用するように実行する手段
    とを備えることを特徴とするソフトウェアモジュールの同期化システム。
JP2011512177A 2008-06-06 2009-05-22 サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用 Pending JP2011522337A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR08/03140 2008-06-06
FR0803140A FR2932289B1 (fr) 2008-06-06 2008-06-06 Procede et systeme de synchronisation de modules logiciels d'un systeme informatique distribue en grappe de serveurs, application au stockage de donnees.
PCT/FR2009/050955 WO2009147357A1 (fr) 2008-06-06 2009-05-22 Procede et systeme de synchronisation de modules logiciels d'un systeme informatique distribue en grappe de serveurs, application au stockage de donnees

Publications (1)

Publication Number Publication Date
JP2011522337A true JP2011522337A (ja) 2011-07-28

Family

ID=39816591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011512177A Pending JP2011522337A (ja) 2008-06-06 2009-05-22 サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用

Country Status (5)

Country Link
US (1) US20110088013A1 (ja)
EP (1) EP2300944A1 (ja)
JP (1) JP2011522337A (ja)
FR (1) FR2932289B1 (ja)
WO (1) WO2009147357A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2938356B1 (fr) * 2008-11-10 2011-06-24 Active Circle Procede et systeme de synchronisation d'un ensemble de modules logiciels d'un systeme informatique distribue en grappe de serveurs
WO2017066640A1 (en) * 2015-10-15 2017-04-20 The Broad Of Regents Of The Nevada System Of Higher Education On Behalf Of The University Of Nevada Synchronizing software modules
CN108512877B (zh) * 2017-02-28 2022-03-18 腾讯科技(北京)有限公司 一种服务器集群中分享数据的方法和装置
US11720347B1 (en) 2019-06-12 2023-08-08 Express Scripts Strategic Development, Inc. Systems and methods for providing stable deployments to mainframe environments
US11086757B1 (en) * 2019-06-12 2021-08-10 Express Scripts Strategic Development, Inc. Systems and methods for providing stable deployments to mainframe environments

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678882B1 (en) * 1999-06-30 2004-01-13 Qwest Communications International Inc. Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse
US6457170B1 (en) * 1999-08-13 2002-09-24 Intrinsity, Inc. Software system build method and apparatus that supports multiple users in a software development environment
US6385768B1 (en) * 1999-09-30 2002-05-07 Unisys Corp. System and method for incorporating changes as a part of a software release
AU2001261141A1 (en) * 2000-05-02 2001-11-12 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
US7162499B2 (en) * 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US7752214B2 (en) * 2000-09-01 2010-07-06 Op40, Inc. Extended environment data structure for distributed digital assets over a multi-tier computer network
US6938045B2 (en) * 2002-01-18 2005-08-30 Seiko Epson Corporation Image server synchronization
US7096228B2 (en) * 2002-03-27 2006-08-22 Microsoft Corporation Method and system for managing data records on a computer network
US7483923B2 (en) * 2003-08-21 2009-01-27 Microsoft Corporation Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system
US7290015B1 (en) * 2003-10-02 2007-10-30 Progress Software Corporation High availability via data services
FR2870022B1 (fr) * 2004-05-07 2007-02-02 Canon Kk Procede et dispositif de distribution de donnees numeriques notamment pour reseau pair-a-pair
US20060195340A1 (en) * 2004-12-15 2006-08-31 Critical Connection Inc. System and method for restoring health data in a database
US20060155781A1 (en) * 2005-01-10 2006-07-13 Microsoft Corporation Systems and methods for structuring distributed fault-tolerant systems
US20080005195A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Versioning synchronization for mass p2p file sharing
US20090030952A1 (en) * 2006-07-12 2009-01-29 Donahue Michael J Global asset management

Also Published As

Publication number Publication date
US20110088013A1 (en) 2011-04-14
EP2300944A1 (fr) 2011-03-30
FR2932289B1 (fr) 2012-08-03
WO2009147357A1 (fr) 2009-12-10
FR2932289A1 (fr) 2009-12-11

Similar Documents

Publication Publication Date Title
JP7212040B2 (ja) コンテンツ管理クライアント同期サービス
KR102438595B1 (ko) Sfa-rest 인터페이스를 이용하는 파일 서비스 기법
RU2421799C2 (ru) Безопасность в приложениях синхронизации равноправных узлов
JP2948496B2 (ja) データ処理システム内で複写データ一貫性を維持するためのシステムおよび方法
JP5486682B2 (ja) クラウドコンピューティング・ベースの仮想計算機・ファイルシステムにおいてディスク画像を複製するシステム及び方法
JP4993772B2 (ja) リソースのフレッシュさおよび複製
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
CN103597463B (zh) 恢复服务的自动配置
US7590632B1 (en) Method for serializer maintenance and coalescing
US20130110873A1 (en) Method and system for data storage and management
US8756196B2 (en) Propagating tables while preserving cyclic foreign key relationships
CN101689166B (zh) 使用具有全局知识的服务器处理写请求的方法和系统
CN104239439A (zh) 选择性的数据库复制
TW201029393A (en) Atomic multiple modification of data in a distributed storage system
US7499904B2 (en) System and method for client mastered replication of local files
US7281014B2 (en) Method and apparatus for moving data between storage devices
CN106605217B (zh) 用于将应用从一个站点移动到另一站点的方法和系统
US20100145911A1 (en) Serverless Replication of Databases
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
US9569461B2 (en) Distributed data authority system
US20230185559A1 (en) Managing a federated software repository across multiple devices
US11416449B2 (en) Method of synchronous deletion for distributed storage system
US11157454B2 (en) Event-based synchronization in a file sharing environment
JP2012508412A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュール集合の同期化方法および同期化システム
Strickland Cassandra 3. x High Availability

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509