JP2009518747A - リソースのフレッシュさおよび複製 - Google Patents

リソースのフレッシュさおよび複製 Download PDF

Info

Publication number
JP2009518747A
JP2009518747A JP2008544414A JP2008544414A JP2009518747A JP 2009518747 A JP2009518747 A JP 2009518747A JP 2008544414 A JP2008544414 A JP 2008544414A JP 2008544414 A JP2008544414 A JP 2008544414A JP 2009518747 A JP2009518747 A JP 2009518747A
Authority
JP
Japan
Prior art keywords
resource
machine
local
synchronization
computer
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.)
Granted
Application number
JP2008544414A
Other languages
English (en)
Other versions
JP4993772B2 (ja
JP2009518747A5 (ja
Inventor
スリヤナラヤナン グハン
リュー ホイシェン
エス.ビヤーネル ニコライ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009518747A publication Critical patent/JP2009518747A/ja
Publication of JP2009518747A5 publication Critical patent/JP2009518747A5/ja
Application granted granted Critical
Publication of JP4993772B2 publication Critical patent/JP4993772B2/ja
Active 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
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)
  • Hardware Redundancy (AREA)

Abstract

本明細書で説明される主題の態様は、リソース複製システムに関する。態様では、ローカルリソースが陳腐化しているときにそのことを検出する機構が説明されている。ローカルリソースは、最後に成功した同期化アクティビティと現時点との間の時間が陳腐化値を超えたとき、陳腐化したとすることができる。ローカルリソースが陳腐化していると判定されると、そのローカルメンバは、そのローカルメンバが特定の同期化アクティビティを再開することを許可されるまで、それらの特定の同期化アクティビティの実行をやめることができる。ローカルリソースが陳腐化していなければ、そのメンバとアップストリームパートナーまたはダウンストリームパートナーとの間でリソースを同期化することを含めて、追加の同期化アクティビティを実行することができる。

Description

本発明は、リソースのフレッシュさおよび複製に関する。
リソースを複製するためのシステムは、大規模ネットワーク内の可用性およびフォールトトレランスを確保するためにますます重要になってきている。ドメイン証明書およびドメインポリシを有するファイルを複製する企業ネットワークは、可用性、スケーラビリティ、整合性、および信頼性が必要とされる1つの例である。
米国特許出願第10/791,041号明細書 米国特許出願第10/779,030号明細書 米国特許出願第10/733,459号明細書
しかし、様々な複製動作を可能にする柔軟なリソース複製システムの作成は難題である。
簡潔に言えば、本明細書で説明される主題の態様は、リソース複製システムに関する。いくつかの態様では、ローカルリソースが陳腐化しているときにそのことを検出する機構が説明されている。ローカルリソースは、最後に成功した同期化アクティビティと現時点との間の時間が陳腐化値(staleness value)を超えたとき、陳腐化したとすることができる。ローカルリソースが陳腐化していると判定されると、そのローカルメンバは、そのローカルメンバが特定の同期化アクティビティを再開することを許可されるまで、それらの特定の同期化アクティビティの実行をやめることができる。ローカルリソースが陳腐化していなければ、そのメンバとアップストリームパートナーまたはダウンストリームパートナーとの間でリソースを同期化することを含めて、追加の同期化アクティビティを実行することができる。
この概要は、「発明を実施するための最良の形態」でさらに後で説明される主題の態様のいくつかを簡潔に明示するためのものである。この概要は、特許請求の主題の主要なまたは本質的な特徴を明示することは意図されていないし、特許請求の主題の範囲を限定するために使用されることも意図されていない。
「本明細書で説明される主題」という句は、文脈で明確に特別な断りが記載されない限り、「発明を実施するための最良の形態」で説明される主題を指す。「態様」という語は、「1つ以上の態様」と解釈すべきである。「発明を実施するための最良の形態」で説明される主題の態様の明示は、特許請求の主題の主要なまたは本質的な特徴を明示することは意図されていない。
前述の態様および他の態様は、添付の図面と共に考察すると、以下の「発明を実施するための最良の形態」から明らかになろう。
[例示的な動作環境]
図1は、本明細書で説明される主題の態様を実現可能な適切なコンピューティングシステム環境100の例である。コンピューティングシステム環境100は、適切なコンピューティング環境の1つの例に過ぎず、本明細書で説明される主題の態様の用途または機能の範囲に関して何らかの限定を示唆することを意図していない。また、コンピューティング環境100は、例示的な動作環境100に示されたコンポーネントの任意の1つまたはそれらの組合せに関連した何らかの依存性または要件を有すると解釈されるべきではない。
本明細書で説明される主題の態様は、様々な他の汎用または専用コンピューティングシステム環境または構成で動作可能である。本明細書で説明される主題の態様での使用に適する周知のコンピューティングシステム、環境および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロコントローラベースのシステム、セットトップボックス、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを備えた分散コンピューティング環境などがあるが、これらに限定されるわけではない。
本明細書で説明される主題の態様は、コンピュータで実行されるプログラムモジュールなどのコンピュータ実行可能な命令を例にとって概略的に説明されることがある。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがあり、これらは、特定のタスクを実行するか、または特定の抽象データタイプを実現する。本明細書で説明される主題の態様は、通信ネットワークを介してリンクされたリモートプロセッシングデバイスによってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含めて、ローカルおよびリモート両方のコンピュータストレージ媒体に配置することができる。
図1を参照すると、本明細書で説明される主題の態様を実現するための例示的なシステムは、コンピュータ110という形の汎用コンピューティングデバイスを有する。コンピュータ110のコンポーネントには、処理装置120、システムメモリ130、およびシステムメモリを含む種々のシステムコンポーネントを処理装置120に結合するシステムバス121が含まれ得るが、これらに限定されるわけではない。システムバス121は、種々のバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含む数種類のバスアーキテクチャのうちのいずれでもよい。例であって、限定ではないが、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(拡張ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとしても知られるPCI(Peripheral Component Interconnect)バスがある。
コンピュータ110は、典型的には、種々のコンピュータ読み取り可能な媒体を備えている。コンピュータ読み取り可能な媒体は、コンピュータ110によりアクセスできて、任意の利用可能な媒体であればよく、揮発性および不揮発性両方の媒体ならびに取外し可能および取外し不能媒体がある。例であって、限定ではないが、コンピュータ読み取り可能な媒体は、コンピュータストレージ媒体および通信媒体を有してよい。コンピュータストレージ媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための、いずれかの方法または技術で実現される揮発性および不揮発性両方の取外し可能および取外し不能媒体が含まれる。コンピュータストレージ媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用できてコンピュータ110によってアクセスできる、任意の他の媒体が含まれるが、これらに限定されない。通信媒体は、典型的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを搬送波または他のトランスポート機構などの変調されたデータ信号で具現化し、いずれかの情報配信媒体を有する。「変調されたデータ信号」という語は、情報を信号で符号化するようなやり方でデータの特性の1つ以上が設定または変更された信号を意味する。例であって、限定ではないが、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体がある。上記のいずれかを組み合わせたものも、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
システムメモリ130は、ROM(Read Only Memory)131およびRAM(Random Access Memory)132などの揮発性および/または不揮発性メモリの形で、コンピュータストレージ媒体を有する。BIOS(Basic Input/Output System)133は、起動中などにコンピュータ110内の要素間で情報を転送するのに役立つ基本ルーチンを含み、典型的には、ROM 131に記憶される。RAM 132は、典型的には、処理装置120により即座にアクセス可能なおよび/または処理装置120により現在操作されているデータおよび/またはプログラムモジュールを有する。例であって、限定ではないが、図1は、オペレーティングシステム134、アプリケーションプログラム群135、他のプログラムモジュール群136、およびプログラムデータ137を示している。
コンピュータ110は、他の取外し可能/取外し不能の揮発性/不揮発性コンピュータストレージ媒体も備えることができる。例に過ぎないが、図1は、取外し不能の不揮発性磁気媒体との間で読み書きするハードディスクドライブ140、取外し可能な不揮発性磁気ディスク152との間で読み書きする磁気ディスクドライブ151、およびCD ROMまたは他の光媒体などの取外し可能な不揮発性光ディスク156との間で読み書きする光ディスクドライブ155を示している。例示的な動作環境で使用できる他の取外し可能/取外し不能の揮発性/不揮発性コンピュータストレージ媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどがあるが、これらに限定されるわけではない。ハードディスクドライブ141は、典型的には、インターフェース140などの取外し不能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、典型的には、インターフェース150などの取外し可能なメモリインターフェースによってシステムバス121に接続される。
上で説明され、図1に示されたドライブ群およびそれらに関連付けられたコンピュータストレージ媒体は、コンピュータ110用のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。図1において、例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム群145、他のプログラムモジュール群146およびプログラムデータ147を記憶するとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム群135、他のプログラムモジュール群136、およびプログラムデータ137と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム群145、他のプログラムモジュール群146およびプログラムデータ147は、それらは少なくとも異なるコピーであることを示すために、本明細書では異なる番号を与えられている。ユーザは、キーボード162および一般的にはマウスと称されるポインティングデバイス161、トラックボールまたはタッチパッドなどの入力デバイスからコマンドおよび情報をコンピュータ20に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ、ハンドヘルドPCのタッチ検知画面、または他の書込みタブレットなどがあり得る。これらおよび他の入力デバイスは、多くの場合、システムバスに結合されるユーザ入力インターフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、他のインターフェースおよびバス構造によって接続されることができる。モニタ191または他のタイプのディスプレイデバイスは、ビデオインターフェース190などのインターフェースを介してもシステムバス121に接続される。モニタに加えて、コンピュータは、スピーカ群197およびプリンタ196などの他の周辺出力デバイスを備えることもでき、出力周辺インターフェース190を介して接続されることができる。
コンピュータ110は、リモートコンピュータ180などの1つ以上のリモートコンピュータとの論理接続を用いてネットワーキング環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の一般的なネットワークノードであってよく、典型的には、コンピュータ110との関連で上述された要素の多くまたは全部を備えるが、図1には、メモリストレージデバイス181のみが示されている。図1に示された論理接続には、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173があるが、他のネットワークを含むこともできる。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
LANネットワーキング環境で使用された場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN 171に接続される。WANネットワーキング環境で使用された場合、コンピュータ110は、典型的には、インターネットなどのWAN 173で通信を確立するためのモデム172または他の手段を備えている。モデム172は、内蔵でも、外付けでもよいが、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続されることができる。ネットワーキング環境では、コンピュータ110との関連で示されたプログラムモジュール群またはその一部は、リモートメモリストレージデバイスに記憶することができる。例であって、限定ではないが、図1は、リモートアプリケーションプログラム群185はメモリデバイス181に常駐していると示している。示されたネットワーク接続は例であって、コンピュータ相互間に通信リンクを確立する他の手段を使用できることが理解されよう。
[リソースの複製]
容易に理解できるであろうが、最近のマシンは比較的短期間に何千ものリソース変更を処理することができる。信頼性および帯域幅が異なる種々のネットワークを介して接続される何百または何千ものマシンにわたってこれらのリソースを複製し、それらを同期化させたまま保持することは、相当な難題である。
楽観的マルチマスタ複製システムは、所与の複製グループに加わっているどのマシンにおいても、複製されたコンテンツへの無制限の変更を許容する。複製グループは、その複製グループに加わっているマシンで複製される1セットのリソースを有する。複製グループのその1セットのリソースは、複数のボリュームにまたがることができる。例えば、複製グループは、C:\DATA、D:\APPS、およびE:\DOCSに関連付けられたリソースを含むことができて、これらのリソースは、この複製グループに加わっている1セットのマシンで複製されることができる。潜在的に矛盾する変更は、複製システムの制御下で、個々の矛盾状況ごとに、どの矛盾する変更が他より優先するかを定義する1セットの矛盾解決基準を使用して調整される。
複製グループメンバ、すなわち複製グループのメンバは、その複製グループに含まれるリソースを複製することにより複製グループに加わるマシンを有する。コンテンツセット(単に「コンテンツ」と呼ばれることもある)は、複製グループメンバ内に存在するリソースを含む。
「マシン」という語は、単に物理的なマシンに限定されない。より正確に言えば、単一の物理マシンは、複数の仮想マシンを含むことができる。本明細書で言及された場合の1つのマシンから別のマシンへの複製とは、同じ複製グループの2つ以上のメンバを仮想または物理的な1つのマシンから仮想または物理的な別のマシンに複製することを意味する。単一の物理マシンは、同じ複製グループの複数のメンバを含むことができる。したがって、複製グループのメンバを複製することは、同じ複製グループの2つ以上のメンバを含む単一の物理マシンのメンバを同期化させることを伴うことがある。
リソースは、オブジェクトと考えることができる。各リソースは、リソースデータおよびリソースメタデータに関連付けられている。リソースデータは、コンテンツ、およびそのコンテンツに関連付けられた属性を含むことができ、リソースメタデータは、同期化のネゴシエートおよび矛盾の解決に関係しうる他の属性を含む。リソースデータおよびメタデータは、データベースまたは他の適切なストアに記憶することができる。代替実施形態では、リソースデータおよびリソースメタデータを記憶するために個別のストアを使用できる。
ファイルシステム内の名前付きファイルに基づいたデータストアを備えた複製システムでは、リソースデータは、ファイルコンテンツ、およびそのファイルコンテンツに関連付けてファイルシステムに記憶される何らかのファイル属性を含むことができる。ファイル属性は、ファイルに関連付けられたアクセス制御リスト(ACL)、作成/変更時間、および他のデータを含むことができる。本明細書で言及された場合、ファイルはディレクトリ(すなわち、子孫ファイルおよびディレクトリならびに先祖ディレクトリに関連付けることができるファイルシステムオブジェクト)および非ディレクトリを含むことができる。コンテキストで明確に特別な断りが記載されない限り、語句「ファイル」は「リソースデータ」と解釈することができる。
ファイルシステム内の名前付きファイルに基づかないデータストアを備えた複製システム(例えば、リソースがデータベースまたはオブジェクトベースのデータストアに記憶される複製システム)では、データストアに適したリソースデータが記憶される。本明細書全体にわたって、時々、例示の目的でファイルシステム内のファイルに基づいた複製システムが使用されるが、本明細書で説明される主題の精神または範囲から逸脱することなく、コンテンツを記憶することができる任意のデータストアを使用できることが理解されよう。
リソースごとに、リソースメタデータは、そのリソースが削除されたかどうかに関係なく、GUID(Globally Unique IDentifier)、変更者とともにバージョンシーケンス番号、変更が行われた時間を反映するクロック値、およびリソースデータの値を要約し、リソースコンテンツの署名を含むことができるダイジェストなどの他のフィールドを含むことができる。ダイジェストは、例えば、複製の同期化中にデータ転送をバイパスするための迅速な比較のために使用できる。宛先マシン上のリソースがソースマシン上のコンテンツと同期化されると(例えば、ダイジェストで示されたとおりに)、リソースデータ自体は送信せずに、リソースメタデータのみを送信することにより、ネットワークのオーバーヘッドを最小にすることができる。リソースメタデータの送信は、宛先マシンが、ソースマシンに含まれていたメタデータを宛先マシンの以降の複製アクティビティに反映できるように行われる。これにより、宛先マシンは、例えば、以降の複製アクティビティでソースマシンになることができる。リソースメタデータは、本明細書で説明される主題の精神または範囲から逸脱することなく、リソースデータと一緒に、またはリソースデータから分離して記憶できる。
リソースを複製するとき、バージョンベクターを使用することができる。バージョンベクターは、複製グループに加わっているマシンのカウンタまたはクロックの一括セットと見なすことができる。複製グループに加わっている各マシンは、そのマシンの現在の最新バージョン、およびそのマシンが他のマシンに関して受信した最新バージョンを表すバージョンベクターを保持する。リソースがマシン内で作成、変更または削除されるたびに、そのリソースのバージョンは、そのマシンの現在のバージョン番号に1を加えた値に等しいバージョン番号を設定することができる。そのマシンのバージョンベクターも、そのマシンのバージョン番号が増加されたことを反映するように更新される。
バージョンベクターは、知識の状態について情報を保持する。バージョンベクターは、マシン識別子をタイムスタンプにマッピングすることができる。複製グループに加わっている各マシンは、他のマシンが到達したとそのマシンが解釈するクロック値を記録するために、そのマシン自体のクロックベクターを保持できる。クロックベクターはバージョンシーケンス番号を含むことができる。1つの実施形態では、順番から外れた更新の処理に対応するため、およびバージョンベクターに対する基本設定操作を利用するために、マシンごとに単一のクロック値を保持する代わりに、クロック値のセットを保持することができる。
1つの実施形態では、同期化中、リソースの同期化で使用するためにバージョンベクターを送信することができる。例えば、マシンAおよびBが結合などの同期化アクティビティに関与している場合、マシンBがそのバージョンベクターをAに送信できる。Bのバージョンベクターを受信すると、Aは、Bのバージョンベクターによって包含されない(すなわち、支配されていない)バージョンを有するすべてのリソース(ある場合)について変更を送信することができる。「あるバージョンベクターが別のバージョンベクターを支配する」という句は、バージョンベクター間の対応する包含関係と同義である。
同期化でバージョンベクターを使用する例は、特許文献1(題名「Interval Vector Based Knowledge Synchronization for Resource Versioning」)、特許文献2(題名「Garbage Collection of Tombstones for Optimistic Replication Systems」)および特許文献3(題名「Granular Control Over the Authority of Replicated Information via Fencing and UnFencing」)で説明されている。
図2は、複製グループに参加しているマシンを本明細書で説明される主題の態様に従って概略的に表しているブロック図である。例として、アップストリームマシン201およびダウンストリームマシン202は、2つのリソースを含む複製グループに参加することができる。これらの2つのリソースは、例えば、ドキュメントディレクトリ205および215ならびにヘルプディレクトリ210および220を含むことができる(これらのディレクトリは、特定の一時点では、これらのリソースが同じリソースデータを含まない可能性がある、すなわち、これらのリソースが同期していない可能性があることを示すために、2つのマシンで異なる番号が付与されている)。
定期的に、ダウンストリームマシン202はアップストリームマシン201に更新を要求し、その更新に基づいてダウンストリームマシン202のリソースを更新することができる。図2にはマシンが2つしか示されていないが、アップストリームおよびダウンストリームマシン201および202は、多くの他のマシンを含む複製システムの一部であってよい。1つのインタラクションでソースであるマシン(アップストリームマシンと呼ばれることもある)は、別のインタラクションでは宛先(ダウンストリームマシンと呼ばれることもある)になり得る。その逆もあり得る。
ダウンストリームマシン202は、アップストリームマシン201から更新をいつ取得すべきかを判定する更新機構225を備えることができる。ダウンストリームマシン202が別のマシン(図示せず)のアップストリームパートナーでもある場合、更新機構225は、どの更新を他方のマシンに送信するかも判定することができる。更新機構は、図3に関連付けて以下でさらに詳しく説明されている。
図3は、本明細書で説明される主題の態様に従ってリソース複製システム内で動作するように構成されたマシンを表しているブロック図である。マシン305は、更新機構225、リソース322、および通信機構340を備えている。更新機構は、エポックロジック(epoch logic)345、プロトコルロジック315、および他の同期化ロジック320を備えている。
リソース群322には、リソースデータを記憶するためのリソースデータストア325およびリソースメタデータストア330がある。同じボックス内に示されているが、リソースデータストア325は、一緒に記憶されてもよいし、リソースメタデータストア330に関連付けられた別のストアに記憶されてもよい。とりわけ、リソースメタデータストア330は、リソースストア325に記憶されているリソースデータレコードのそれぞれのバージョンを含むことができるし、間隔ベクター(ブロック335)も含むことができる。
リソースメタデータストア330は、複製されたフォルダに関連付けられたレコードも含むことができるが、その場合の各レコードは、(例えば、タイムスタンプによって)そのそれぞれの複製されたフォルダが他のメンバ上の対応する複製されたフォルダとの同期化アクティビティに最後に成功したのはいつであったかを示す。本明細書で言及された場合、複製されたフォルダは、コンテンツセットと同義である。
通信機構340は、更新機構225が他のマシン上の他の更新機構(図示せず)と通信できるようにする。通信機構340は、ネットワークインターフェースもしくはアダプタ170、モデム172または図1に関連付けて説明された通信を確立するためのいずれか他の手段であってよい。
更新機構225は、他の複製パートナーと通信するために稼働するプロトコルロジック315、およびマシンが以下でさらに詳しく説明される他のマシンとの同期化アクティビティに関与するかを判定するために稼働するエポックロジック345を備えている。他の同期化ロジック320は、プロトコルロジック315以外の同期化ロジック(例えば、更新が矛盾する場合はどうするか、どの更新を取得すべきかの判定方法など)を備えている。プロトコルロジック315、エポックロジック345、および他の同期化ロジック320は個別のボックスとして示されているが、他の実施形態では、これらは全体または一部を結合することができる。
本明細書で言及された場合、複製サービスは、図3に関連付けて上述されたコンポーネントのいずれか1つ以上を備えることができる。
稼働時、マシン305は、ダウンストリームマシンおよび/またはアップストリームマシンとして稼働できる。ダウンストリームマシンは、そのアップストリームマシンおよびダウンストリームマシンの両方が参加している複製グループ用にアップストリームマシンとの接続を確立することができる。これは、例えば、通信機構340を介して行うことができる。この接続を確立する際、パートナーのそれぞれ(すなわち、アップストリームマシンおよびダウンストリームマシン)はそのバージョンベクターを相手パートナーに送信できる。すると、アップストリームマシンからダウンストリームマシンへ更新を送信するためのセッションが確立される。
セッションは、アップストリームマシンの複製されたフォルダをダウンストリームマシンの対応する複製されたフォルダにバインドするために使用できる。セッションは、複製グループの各複製されたフォルダに対して確立できる。アップストリームマシンとダウンストリームマシンとの間の単一の接続で複数のフォルダに対するセッション(複数)を確立できる。
セッションからのすべての更新が処理または破棄された後、ダウンストリームマシンはセッションを閉じることができる。
ダウンストリームマシンは、そのセッションに関連したいずれかのリソースの更新が発生したとき、アップストリームマシンがダウンストリームマシンに通知するように(例えば、通信機構340を介して)要求することができる。アップストリームマシンがダウンストリームマシンに更新が利用可能であることを通知すると、ダウンストリームマシンは、更新のバージョンベクター(vector)を要求することができる。それに応答して、アップストリームマシンはそのバージョンベクター(「VVup」と称されることもある)を送信する。VVupは完全なバージョンベクター、または最後のバージョンベクターの送信後の変更を含むバージョンベクターを含むことができることに留意されたい。ダウンストリームマシンに更新が利用可能であることを通知して、ダウンストリームマシンが更新を要求するのを待つことは、2つのステップで実行することができて、そのため、ダウンストリームマシンが複数のアップストリームパートナーからのバージョンベクターで思いがけずあふれないようになっている。
ダウンストリームマシンは、それが受信するアップストリームバージョンベクター(すなわち、「VVup」)を使用し、ダウンストリームマシン自身のバージョンベクターとの設定差異を計算してダウンストリームマシンが知らないアップストリームマシン上のバージョンを算出する。次いで、ダウンストリームマシンはそのバージョンに関するメタデータを要求することができる。更新を要求するとき、ダウンストリームマシンは、ダウンストリームマシンがどの更新を必要としているかを示すデルタバージョンベクターを含むことができる。
ダウンストリームマシンは、ツームストーン(tombstone)またはライブ更新を個別または一緒に要求することができる。ツームストーンは、リソースが削除済みであることを表し、ライブ更新は、リソースを削除しない更新を表す。一部の実施態様では、ダウンストリームマシンは、ライブ更新を要求する前にツームストーンを要求することができる。これを行うと、変更され、次いで削除されたリソースは、複製パートナー上で削除される前に変更される必要がないので、効率が改善され得る。加えて、ライブ更新の前にツームストーンを処理すると、ライブ置換更新を処理するための準備として、ダウンストリームマシンの(例えば、ファイルシステム内の)データストアの名前空間をクリアできる。
更新を受信後、ダウンストリームマシンは、更新の処理を開始して、その更新に関連付けられたどのリソースデータまたはその一部をアップストリームマシンに要求すべきかを判定することができる。この処理は、例えば、複数のコンポーネントに分割できる(図示せず)他の同期化ロジック340を使用して実行できる。例えば、更新は、特定のリソースのリソースデータまたはその一部が変更されていることを示すことがある。1つの実施形態では、ダウンストリームマシンによって、そのリソースに関連付けられているすべてのリソースデータを要求することができる。別の実施形態では、ダウンストリームマシンによって、変更を含むリソースデータの一部を要求することができる。本明細書で言及された場合、リソースデータに関わるインタラクション(例えば、要求、応答、更新など)とは、リソースに関連付けられたリソースデータの一部または全部に関わるインタラクションを意味すると解釈すべきである。例えば、リソースデータの要求は、リソースに関連付けられたリソースデータの一部または全部の要求を意味することができる。
要求する必要があるリソースデータを判定後、ダウンストリームマシンはそのリソースデータを要求することができる。リソースデータの要求への応答として、アップストリームマシンは、リソースに関連付けられたリソースデータを送信することができる。要求と応答は、更新が必要とダウンストリームマシンが判定したすべてのリソースデータが要求され終わるまで続くことができる。例えば、リソースが削除されている場合、アップストリームマシンはもはや要求されたリソースデータを有していないことがあるので、リソースデータのすべてを送信することはできないことがあることに留意されたい。リソースデータが送信できないもう1つの例は、そのダウンストリームマシンに関係のある有効な変更は、リソースが名前変更された、またはメタデータ属性が更新されただけの場合である。そのような場合、更新の受信およびローカルリソースの名前変更またはローカルメタデータの更新が、ダウンストリームリソースをアップストリームリソースと同期化させるために必要なすべてであることがある。
セッションは、例えば、複製されたフォルダが削除された場合、複製中に回復不可能なエラーが発生した場合、または複製システムがシャットダウンされた場合に閉じられることがある。そうでない場合、確立されたセッションは、上記のイベントの全部または一部に関わる以降の同期化アクションのために使用されることができる。
更新機構225は、リソースデータストア325内のリソースデータのファイル状態およびディレクトリ状態を追跡するためにデータベース(例えば、リソースメタデータストア330)を使用することができる。リソースが更新されるたびに、そのリソースはデータベース内に新しいバージョンを割り当てられることができる。
更新機構225は、アップストリームパートナーから更新を受信してローカルリソースを更新し、ローカルリソースが、アップストリームパートナー上の複製されたリソースと同期するようにすることができる。リソースメタデータの更新はリソースメタデータストア330に記憶され、リソースデータの更新はリソースデータストア325に記憶されることができる。1つの実施形態では、リソースデータストア325およびリソースメタデータストア330は同じボリュームまたは同じ物理デバイス(例えば、ハードドライブ)に含むことができる。
リソースデータは、そのリソースデータに関連付けられたローカルファイルアクティビティによっても変更することができる。例えば、複製する側のパートナーは、多くのクライアントマシンに対してファイルサーバとして役立つことができる(図示せず)。クライアントマシンは、複製する側のパートナー上のリソースデータ(例えば、ファイル)にアクセスして変更することができる。更新機構225は、複製されたリソースへの変更(例えば、ファイルへの変更)をモニタできるリソースデータ変更モニタ(図示せず)を備えることができる。複製されたリソースが変更されると、リソース変更モニタは、その更新を示すようにリソースメタデータストア330を更新することができる。これは、リソースメタデータストア330をリソースデータ325と同期させておくため、および複製グループメンバ間の同期化に役立つ。
[コンテンツのフレッシュさ]
エポックロジック345は、複製グループのメンバのコンテンツセットのコンテンツのフレッシュさを判定するときに使用できる。メンバがその複製グループのメンバを有する他のマシンから長い期間切断されていると、そのメンバのリソースは非同期になって陳腐化する可能性がある。そのメンバが複製グループに再結合され、本明細書で説明されるエポックロジック345を使用しない場合、そのマシンはその複製グループの他のメンバとの複製を開始することができる。そのメンバに更新がない場合、そのメンバは、他のメンバから更新を受信することができ、いかなる陳腐化したリソースも外部に複製することはできない。しかし、そのメンバに、役に立たない最近の更新がある場合、これらの更新は外部に複製されて、他のメンバの適正な最新のバージョンに上書きされる可能性がある。したがって、ある意味で、コンテンツのフレッシュさは、変更の妥当性の目安として見ることができる。
これが発生し得る1つの例は、マシンがハードウェアの問題で長い期間(例えば、2ヶ月)シャットダウンされていた場合である。マシンは、修復後、オンラインに戻ることができ、そのマシン上でホストされる複製グループのメンバは、他のマシン上のパートナーとの同期化を開始することができる。パートナーとの同期化の開始時点で、またはその直前に、何らかのアプリケーション(例えば、ウイルス対策アプリケーション)が1つ以上の陳腐化したファイルを横断し、タッチする(例えば、最後に変更された時間を更新する)ことがある。本明細書で説明される態様がなければ、これにより、そのメンバ上の陳腐化したファイルが最近更新されたように見えるようになり、外部の他のマシンの他のメンバに複製され、他のマシン上のより適正なバージョンに上書きされる。
1つの態様では、エポックを使用することにより、陳腐化したコンテンツを複製すること(それについては、上述の例が典型的である)を回避または減らすことができる。1つの実施形態では、あるマシンをマスタと指定して、このマシン上でエポック値を絶えずアップデートして、他のマシンに伝搬することができる。同期化中、2つのマシン間のエポックが許容できるものより大きい差異を有している場合、陳腐化したコンテンツ(例えば、より小さいエポック値を有しているコンテンツ)を有するマシンからのアップデートは、より最新のマシンに複製し直されることはなくなる。
態様では、エポック値はマシン、複製されたフォルダ、または個々のリソースに設定することができる。マシンにエポック値が設定された場合、そのマシン上の複製されたフォルダおよびリソースは、同じエポック値を有するものとして扱うことができる。複製されたフォルダにエポック値が設定された場合、そのフォルダに関連付けられたすべての複製されたリソースは、同じエポック値を有するものとして扱うことができる。そのマシン上の他の複製されたフォルダは異なるエポック値を有することができる。各リソースがその固有のエポック値を有している場合、各複製されたフォルダ内の異なるリソースは異なるエポック値を有することができる。
エポック値を使用することは、陳腐化を判定できるように、同期化中のエポック値の送信を伴うことがある。その結果、リソース別ベースでエポック値を設定すると、複製されたフォルダにまたはマシン別ベースでエポック値を設定する場合より、課されるオーバーヘッドが大きくなることがある。エポック値は、本明細書で説明される主題の精神または範囲から逸脱することなく、1つのマシンでは1つの方法で(例えば、複製されたフォルダ別に)で、別のマシンでは別の方法で(例えば、リソース別に)設定することができる。
別の実施形態では、エポック値を使用する代わりに、メンバは、ローカルシステムクロックを使用して生成されたタイムスタンプを記憶することができる。ローカルシステムクロックは、最新に維持されるようにタイムサーバから定期的に更新されることができる。タイムスタンプは、種々の同期化アクティビティに応じて更新されることもできる。1つの実施形態では、複製されたフォルダのタイムスタンプは、その複製されたフォルダが他のメンバの複製されたフォルダと正常に同期化されるたびに更新されることができる。別の実施形態では、タイムスタンプは、複製グループの別のメンバとの間に適正な接続が確立されるたびに更新されることができる。
さらに別の実施形態では、タイムスタンプは、同期化アクティビティに応じて1日に1回またはいずれか他の選択された頻度で更新されることができる。その期間に同期化アクティビティが行われて成功すると、タイムスタンプは更新されることができる。成功する同期化アクティビティは、複製されたフォルダを別のメンバの「複製されたフォルダ」と正常に同期化させること、別のメンバとの適正な接続を確立すること、別のメンバとの適正な接続を維持すること(例えば、「ハートビート」メッセージによって、または他の方法で示されるとおりに)、バージョンベクターをアップストリームパートナーから取得すること、バージョンベクターをダウンストリームパートナーに送信すること、またはいずれか他の同期化アクティビティを伴うことがある。
タイムスタンプについては、各複製されたフォルダは、そのフォルダのメタデータストアに関連のレコード(例えば、CONTENT_SET_RECORD)を含むことができる。そのレコードに含まれるフィールドの中で特に、そのレコードは、例えば、そのレコードの対応する複製されたフォルダのフレッシュさを反映するためにタイムスタンプを含むことができる。
マシン上でホストされる1つの複製されたフォルダが最新になっていて、マシン上でホストされる別の複製されたフォルダが陳腐化していることがあり得ることに留意されたい。これは、一方の複製されたフォルダはその複製グループ内の他のメンバと同期化できていて、他方の複製されたフォルダはその複製グループ内の他のメンバと同期化できていなかったために起きる可能性がある。
複製されたフォルダをホストするメンバが別のメンバに接続しようとする前、または別のメンバからの接続要求を受け入れようとする前に、そのメンバは、複製されたフォルダのタイムスタンプが最新(例えば、現時点からの設定可能な日数内)であるかを、いずれか他の複製アクティビティに着手する前に検査することができる。タイムスタンプが最新であれば、そのメンバは接続できるか、または任意の接続要求を許可することができて、同期化アクティビティに進むことができる。そうでない場合、そのメンバは、別のメンバに接続しようとすることができないか、または任意の接続要求を拒否することができて、他方のメンバとの任意の追加複製アクティビティの開始を行わない。
別の実施形態では、メンバのコンテンツが陳腐化している場合、接続要求を拒否しないで、メンバは接続要求を受け入れることができるが、同期化セッションに着手することを拒否することができる。1つの実施形態では、同期化セッションに着手することの拒否は、接続要求の拒否の代わりに、接続要求の拒否に関連して本明細書で説明される任意の時点で発生することができる。
別の実施形態では、陳腐化したコンテンツを含むメンバは初期化に失敗する可能性があって、そのため、その後、そのメンバは、他のメンバと接続しようともしないし、どんな接続要求も受け入れることができない。
接続要求の受入れを拒否するメンバは、周知のエラーコードを返すことができて、そのため、他方のメンバは、そのメンバのコンテンツが陳腐化していることを知ることができる。加えて、このメンバはイベント(例えば、EVENT_DFSR_CS_STALE)をログに記録することもできる。
古くなったタイムスタンプを有する複製グループのメンバは、陳腐化したコンテンツを有すると考えることができる。ローカルシステムクロックとタイムスタンプとの間の、複製メンバのコンテンツが陳腐化したと考えられるまでの許容できる最大差異は、システム管理者、ユーザなど(これ以降、時々、「システム管理者」と称される)が設定できる。この最大差異は、時々、「陳腐化値」と称される。
陳腐化の誤った表示を回避するために、成功した同期化アクティビティに応答してタイムスタンプが更新される頻度を、陳腐化値と一致する期間中に少なくとも1回は行うように選択できる。例えば、メンバが別のメンバとの適正な接続を維持している場合、タイムスタンプは、そのメンバが適正な接続を維持している日ごとに更新されてよい。陳腐化値が30日の場合にタイムスタンプが毎日更新されると、陳腐化の誤った表示が発生することはなさそうである。
陳腐化値と一致する期間中に少なくとも1回の更新の可能性を保証しない更新頻度を選択すると、陳腐化の誤った表示につながる可能性がある。例えば、タイムスタンプが30日ごと、またはそれより長い期間に1回更新されるだけであって、陳腐化値が30の場合、同期化アクティビティが成功していても(すなわち、適正な接続)、タイムスタンプについては更新されなかったということが起こり得る。
陳腐化値と比較してタイムスタンプを非常に頻繁に更新することとタイムスタンプをより低い頻度で更新することの間にはトレードオフ(例えば、オーバーヘッド)があることが理解されよう。1つの実施形態では、陳腐化値は30日に設定されているときに、タイムスタンプが更新される頻度は、日に1回(その日、成功した同期化アクティビティが行われた場合)である。他の実施形態では、例えば、実施態様およびシステム構成に応じて他の頻度および陳腐化値を選択することができる。
加えて、ツームストーン収集期間に等しいか、それより小さい陳腐化値を設定することにより、様々な問題を回避または低減できる。ツームストーン収集期間とは、リソースが削除されたことを示すメタデータリソースレコードを削除する前にメンバが待つ期間のことである。典型的には、複製グループ内の他のメンバにツームストーンが伝搬され得るように、メンバはレコードを削除するのを待つ。メンバが複製グループの他のメンバから十分な期間にわたって切断されていると、リソースのツームストーンが作成されて、次いでメタデータリソースレコードが削除されてしまう可能性がある。本明細書で説明される機構がなくて、そのリソースが陳腐化したメンバ上に存在している場合(および図3に関連付けて説明された同期化が行われた場合)、そのリソースは、陳腐化したメンバから外部に複製され、その複製グループの他のメンバに再導入される可能性がある。
この動作を回避または低減するために、陳腐化値をツームストーン期間に等しいか、それより小さく設定することができる。ツームストーン期間に比べて陳腐化値が小さいほど、削除されたリソースに対するツームストーンがすべての陳腐化していないメンバに伝搬される前に、ツームストーンも削除されるということは減るだろう。メンバがツームストーン期間内に別のメンバと正常に同期化される限り、そのメンバは、ツームストーンを受信し、そのメンバの対応するリソースに削除のマークを付ける可能性が高くなる。メンバがこの期間中に別のメンバと正常に同期化されない場合、そのメンバのコンテンツに陳腐化しているというマークを付けることができ、以下で説明される他の機構を使用して、陳腐化したコンテンツが複製グループの他のメンバ内に再導入されないようにすることができる。
複製されたフォルダが陳腐化されると、システム管理者はそのフォルダを使用不可にして、次いで再度使用可能にして、インバウンド接続が使用可能な場合、その複製されたフォルダが別のメンバと同期化されるようにすることができる。複製されたフォルダを再度使用可能にすると、複製されたフォルダは初期同期化が行われる。この初期同期化中、複製されたフォルダを同期化させるために、以下で説明されるように、3つの複製ストラテジーの少なくとも1つを使用することができる。
1つのストラテジーでは、複製パートナーの1つ(例えば、陳腐化した内容を含むパートナー)を読取専用(またはスレーブ)として設定することができる。要するに、読取専用メンバ上の任意のアップデートは破棄される。そのメンバにファイルが作成された場合、そのファイルは削除される。既存のファイルが削除されると、そのファイルは再生される(例えば、削除されない)。ファイルが更新された場合、その更新は破棄され、元のバージョン、または別のパートナーからのより新しいバージョンが再インストールされる。概して言えば、これにより、非読取専用パートナー(例えば、マスタ)からのすべての更新が読取専用パートナーに複製される。
第2のストラテジーでは、リソースのマージが行われる。マージでは、アップストリームパートナーからのリソースが、陳腐化したパートナーに、陳腐化したパートナー上で異なるすべてのリソースに関して複製される。陳腐化したパートナーがリソースを含んでいない場合、そのリソースは、陳腐化したパートナーに複製される。陳腐化したパートナーが、アップストリームパートナーが含んでいないリソースを含んでいる場合、このリソースは、陳腐化したパートナー上で削除されず、その陳腐化したパートナーが別のメンバのアップストリームパートナーになった場合、このリソースは、陳腐化したパートナーから外部へ複写されることができる。
第3のストラテジーでは、図3に関連付けて上述された同期化を行うことができる。このストラテジーでは、概して言えば、より最新の変更日付を有するリソースが外部に複写され、より最新でない変更日付を有する他のメンバ上の対応するリソースに上書きされる。
複製グループのメンバのすべてが陳腐化していることがあり得る。そのような場合には、その複製メンバの1つを1次メンバとして設定することができる。メンバが1次メンバとして指定されると、そのメンバは、リソースを外部のダウンストリームパートナーに複製できるようになる。メンバが1次メンバとして指定されない場合、そのメンバがアップストリームパートナーとリソースを正常に同期化してしまうまで、そのメンバは、リソースを外部のダウンストリームパートナーに複製できない。メンバが別のメンバで正常に複製されると、そのメンバは、図3に関連付けて説明されているように、標準の複製アクティビティを再開することができる。
同期化中、どのリソースが勝つ(および外部へ複写される)かを制御するフェンス値を設定することができる。フェンス値は、システム管理者が、リソースの他の特性に関係なく、複製グループの他のメンバに複製されるメンバのリソースを示すことができるようにしている。例えば、より大きいフェンス値を割り当てられているリソースは、そのリソースが別のメンバの対応するリソースより古くても、外部に複製されることができる。
1つの実施形態では、複製グループの全メンバが陳腐化している場合、自動リカバリが実行される。1次メンバはシステム管理者によって、すべてのメンバが陳腐化した場合に1次メンバになるように予め指定されることができる。あるいは、メンバの他の特性(例えば、ロケーション、階層順(ある場合)、最新のタイムスタンプなど)を使用して、どのマシンが1次マシンとして指定されるかを決定することができる。
別の実施形態では、複製グループのメンバのすべてが陳腐化している場合、手動の介入を行うことができる。そのような介入では、メンバのすべてが陳腐化していることおよび1つのメンバを同期化が再開されるための1次として設定する必要があることをシステム管理者に通知することができる。次いで、システム管理者はどのメンバが1次メンバであるかを示すことができる。
複製グループメンバが、権限のあるリソースまたはアウトバウンド接続のみを有している(すなわち、そのメンバはアップストリームパートナーを有していない)場合、そのメンバは、長い期間にわたって他のメンバから切断されていた場合、陳腐化していると考えることもできる。権限のあるリソースとは、複製グループのすべての他のメンバ上の対応するリソース(「権限がある」と指定された他のリソースを除く)をオーバーライドするように指定されたリソースである。1つの実施形態では、これは、各権限のあるリソースに特別なフェンス値を割り当てることにより行うことができる。コンテンツセットのリソース(例えば、特定のメンバ上のリソース)は、例えば、1つのメンバにバックアップリストアが実行され、かつすべての他のメンバもこの同じコンテンツセットを有していることが望ましい場合に「権限がある」と指定することができる。
コンテンツセットのリソースは、メンバがリソースの消失から回復するとき、「権限がない」と指定することができる。権限がない場合、そのメンバのリソースはアップストリームパートナーからのリソースに負ける。特定のリソースの場合、リソースデータがアップストリームパートナー上に収められていたリソースデータと同一である場合、そのリソースデータは、リソースのリソースメタデータが異なっていても、アップストリームパートナーからダウンロードされる必要はない。コンテンツセット内のリソースは、例えば、複製グループのメンバのリソースが失われたか、または破壊され、そのリソースがバックアップからリストアされ、リソースがそのメンバから外部に複製されないことが望ましい場合に「権限がない」と指定することができる。
時々、メンバのリソースメタデータが破壊される、または失われるまたは削除されることがある。これが発生した場合、そのリソースメタデータを記憶しているデータベースを削除して、リソースデータから再構築することができる。この場合、メンバのコンテンツセットのリソースを「権限がない」と指定することもできる。
リソースおよびアップストリームパートナー上のその対応するリソースが「権限がある」または「権限がない」と指定されない場合、通常の競合解決策を使用することによって、どのリソースが勝って外部に複製されるかを決定することができる。
陳腐化したメンバをフレッシュにすることが望ましい場合、システム管理者が陳腐化した複製されたフォルダを強制的に最新にするためのインターフェースを表示することができる。1つの実施形態では、このインターフェースは、陳腐化したメンバをフレッシュにするためにタイムスタンプを更新することができる。
システムのヘルスがモニタされるシステムでは、ヘルスモデルは、陳腐化した状態の複製されたフォルダを警告状態と考えることができ、レポートに警告を表示することができる。上述のように、陳腐化したメンバがシステム管理者の介入を必要としないことがあり、そのため、1つの実施形態では、陳腐化した状態は、重大なエラーではなく、警告として指摘されることができる。
図4は、ローカルマシンのコンテンツが、複製グループの他のメンバと同期化されるのに十分にフレッシュであるかを判定する際に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。ブロック405でアクションが始まる。
ブロック410で、接続要求がパートナー(アップストリームまたはダウンストリーム)から受信される。ブロック415で、要求を受信したメンバが、前に説明されているように、そのローカルリソースが陳腐化しているかを判定する。ブロック420で、ローカルリソースが陳腐化している場合、アクションはブロック425に進む。そうでない場合、アクションはブロック430に進む。ブロック425で、接続は拒否され、ローカルリソースが陳腐化していることを示すメッセージが要求側に戻されることがある。
ブロック430で、接続要求が受け入れられて、他の同期化アクティビティを実行できる(例えば、図3に関連付けられて説明されたアクティビティ)。ブロック435で、タイムスタンプを更新して、同期化が最近行われたことを示すことができる。
ブロック440で、アクションは終了する。
図示されていないが、メンバが別のメンバとの接続を要求する前に、そのメンバは、そのローカルリソースが陳腐化していないか判定することができる。陳腐化している場合、そのメンバは、接続の要求をやめることができる。そうでなければ、そのメンバは接続を要求し、他の同期化アクティビティを実行し、そのタイムスタンプを更新することができる。
図5は、メンバが陳腐化したコンテンツを有していると判定され、コンテンツを回復するためにスレーブとして設定されている場合に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。ブロック505でアクションが初期同期化フェーズから始まる。
ブロック510で、メンバ上にローカルに含まれるが、ローカルパートナーが同期化されようとしているアップストリームパートナー上に含まれない任意のリソースが削除される。
ブロック515で、ローカルに含まれないが、アップストリームパートナー上に含まれる任意のリソースが追加される。
ブロック520で、アップストリームパートナーと同一でない任意のリソースが取得されて、ローカルリソースはそれに応じて更新される。
ブロック525で、アクションは終了する。アクションが終了した後、ローカルパートナーは初期同期化ステージを過ぎたと考えることができ、その後、図4に関連付けて説明されたようにリソースを同期化することができる。
図6は、メンバが陳腐化したコンテンツを有していると判定され、コンテンツをアップストリームパートナーとマージするように設定されている場合に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。ブロック605でアクションが初期同期化フェーズから始まる。
ブロック610で、アップストリームパートナーと同一でない任意のリソースが取得されて、ローカルリソースはそれに応じて更新される。
ブロック615で、ローカルに含まれないが、アップストリームパートナー上に含まれる任意のリソースが追加される。
ブロック620で、アクションは終了する。アクションが終了した後、ローカルパートナーは初期同期化ステージを過ぎたと考えることができ、その後、図4に関連付けて説明されたようにリソースを同期化することができる。これは、前に説明したように、ツームストーンも削除されている他のメンバ上で削除されているリソースを外部に対して同期化することを含むことがある。
図4〜図6に関連付けて説明されたアクションは、複製システムでリソースのフレッシュさを検査するときに実行される可能性のあるすべてのアクションを完全に包含しているわけではないことを理解すべきである。さらに、アクションは特定の順序で実行されるものとして説明されているが、他の実施形態では、本明細書で説明される主題の精神または範囲から逸脱することなく、一部のアクションは並行して実行することができるし、または別の順序で順序することができる。
前述の詳しい説明から理解できるように、態様は、コンテンツのフレッシュさおよびリソース複製システムに関連付けて説明されている。本明細書で説明される主題の態様は様々な変更および代替の構成が可能であるが、そのうちのいくつかの例示された実施形態が図面に示されており、上で詳しく説明されている。しかし、特許請求された主題の態様を、開示された具体的な形に限定する意図はなく、それどころか、意図するところは、本明細書で説明される主題の様々な態様の精神および範囲内に分類されるすべての変更、代替の構成、および均等物を包含することであることを理解すべきである。
本明細書で説明される主題の態様を組み入れることができるコンピュータシステムを表しているブロック図である。 複製グループに加わっているマシンを本明細書で説明される主題の態様に従って概略的に表しているブロック図である。 リソース複製システム内で稼働するように構成されたマシンを本明細書で説明される主題の態様に従って表しているブロック図である。 ローカルマシンのコンテンツが、複製グループの他のメンバと同期化されるのに十分にフレッシュであるかを判定する際に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。 メンバが陳腐化したコンテンツを有していると判定され、コンテンツを回復するためにスレーブとして設定されている場合に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。 メンバが陳腐化したコンテンツを有していると判定され、コンテンツをアップストリームパートナーとマージするように設定されている場合に実行される可能性のあるアクションを本明細書で説明される主題の態様に従って概略的に表している流れ図である。

Claims (19)

  1. ローカルリソースをホストするローカルマシンと第1の前記マシンのアップストリームパートナーとの間で成功した同期化アクティビティがいつ行われたかをタイムスタンプが示し、前記ローカルマシンおよび前記アップストリームパートナーは複製グループに参加しており、前記ローカルリソースが陳腐化しているかを前記タイムスタンプによって検出する(415)ステップと、
    前記ローカルリソースが陳腐化している場合、前記ローカルマシンが同期化アクティビティを再開することを許可されるまで、特定の同期化アクティビティの実行をやめるステップ(425)と、
    前記ローカルリソースが陳腐化していない場合、前記特定の同期化アクティビティを実行するステップ(430、435)と
    を有するコンピュータ実行可能な命令を有することを特徴とするコンピュータ読み取り可能な媒体(130、141、152、156、181)。
  2. ローカルリソースが陳腐化しているかをタイムスタンプによって検出するステップは、前記タイムスタンプと前記ローカルマシンのローカルシステムクロックの時間との差異を判定するステップを有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  3. 前記ローカルリソースが陳腐化していることを検出するステップは、前記差異が陳腐化値より大きいことを判定するステップを有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  4. 前記陳腐化値はシステム管理者によって選択可能であることを特徴とする請求項3に記載のコンピュータ読み取り可能な媒体。
  5. 前記陳腐化値は、リソースに関連付けられているリソースメタデータが削除される前に、前記リソースが削除済みとしてマークされている期間を示すツームストーン期間より短いか、等しいことを特徴とする請求項3に記載のコンピュータ読み取り可能な媒体。
  6. 前記特定の同期化アクティビティは、前記ローカルリソースを前記アップストリームマシン上のリソースと同期化させるステップを有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  7. 前記アップストリームマシン上の、前記ローカルマシン上の対応するリソースと同一でない任意のリソースを取得するステップと、
    前記アップストリームマシンに含まれていて、前記ローカルマシンに含まれてない任意のリソースを追加するステップと、
    前記タイムスタンプを更新することにより前記ローカルリソースをフレッシュとマークするステップと
    をさらに有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  8. 前記ローカルマシン上の、前記アップストリームパートナー上にない任意のリソースを削除するステップをさらに有することを特徴とする請求項7に記載のコンピュータ読み取り可能な媒体。
  9. 成功した同期化アクティビティは、前記アップストリームパートナーと前記ローカルマシンとの間でリソースを同期化させるステップを有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  10. 成功した同期化アクティビティは、前記アップストリームマシンとの接続を維持するステップを有することを特徴とする請求項1に記載のコンピュータ読み取り可能な媒体。
  11. 少なくとも部分的にコンピュータによって実施される方法であって、
    リソースを相互に複製し合うメンバ間で第1の同期化アクティビティの時間に対応する値を記憶するステップと(435)、
    第2の同期化アクティビティに関与する要求を前記メンバの第1のメンバで受信するステップと(410)、
    前記第1のメンバのリソースは、前記第2の同期化アクティビティに関与するのに十分にフレッシュであるかを判定するステップと(415)
    を有することを特徴とする方法。
  12. 前記値はタイムスタンプを有することを特徴とする請求項11に記載の方法。
  13. 前記第1の同期化アクティビティは、前記第1のメンバと前記第1のメンバのパートナーとの間で成功したリソースの同期化を有することを特徴とする請求項11に記載の方法。
  14. 前記第2の同期化アクティビティは、前記第1のメンバと前記第1のメンバのダウンストリームパートナーとの間でリソースを同期化させる要求を有することを特徴とする請求項11に記載の方法。
  15. 前記第1のメンバのリソースは、前記第2の同期化アクティビティに関与するのに十分にフレッシュであるかを判定するステップは、前記第1の同期化アクティビティの時間と、前記第2の同期化に関与する前記要求が受信された時間との差を計算するステップと、前記差が陳腐化値より大きい場合、前記第1のメンバの前記リソースは前記第2の同期化アクティビティに関与するのに十分にフレッシュでないことを判定するステップとを有することを特徴とする請求項11に記載の方法。
  16. 前記要求に関連した同期化セッションを拒否するステップと、前記第1のメンバのリソースが同期化に関与するのに十分にフレッシュでないことを示す値を戻すステップとをさらに有することを特徴とする請求項11に記載の方法。
  17. コンピューティング環境において、
    複製グループに参加するようになされたメンバによって複製されるリソース用のリソースメタデータ(330)を記憶するようになされ、成功した同期化アクティビティが行われた時間に対応する値を記憶するようにもなされたリソースストア(322)と、
    前記リソースストアのリソースは第2の同期化アクティビティに関与するのに十分にフレッシュであるかを判定するようになされた更新機構(225)と
    を有することを特徴とする装置。
  18. 前記更新機構は、前記リソースストアのリソースが前記第2の同期化アクティビティに関与するのに十分にフレッシュである条件を示すエポックロジックを有することを特徴とする請求項17に記載の装置。
  19. 成功した同期化アクティビティが行われた時間が、前記第2の同期化アクティビティが要求される時間の陳腐化値以内の場合に前記リソースは十分にフレッシュであることを特徴とする請求項18に記載の装置。
JP2008544414A 2005-12-05 2006-12-04 リソースのフレッシュさおよび複製 Active JP4993772B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US74250805P 2005-12-05 2005-12-05
US60/742,508 2005-12-05
US11/364,234 US7788223B2 (en) 2005-12-05 2006-02-28 Resource freshness and replication
US11/364,234 2006-02-28
PCT/US2006/046222 WO2007067480A1 (en) 2005-12-05 2006-12-04 Resource freshness and replication

Publications (3)

Publication Number Publication Date
JP2009518747A true JP2009518747A (ja) 2009-05-07
JP2009518747A5 JP2009518747A5 (ja) 2010-01-14
JP4993772B2 JP4993772B2 (ja) 2012-08-08

Family

ID=38123216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008544414A Active JP4993772B2 (ja) 2005-12-05 2006-12-04 リソースのフレッシュさおよび複製

Country Status (8)

Country Link
US (1) US7788223B2 (ja)
EP (1) EP1958087B1 (ja)
JP (1) JP4993772B2 (ja)
KR (1) KR20080087791A (ja)
CN (1) CN101322116B (ja)
MY (1) MY150160A (ja)
RU (1) RU2425415C2 (ja)
WO (1) WO2007067480A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021517672A (ja) * 2018-04-02 2021-07-26 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのテナントデータ比較

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506007B2 (en) * 2003-03-03 2009-03-17 Microsoft Corporation Interval vector based knowledge synchronization for resource versioning
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US20070294319A1 (en) * 2006-06-08 2007-12-20 Emc Corporation Method and apparatus for processing a database replica
US8688749B1 (en) 2011-03-31 2014-04-01 Palantir Technologies, Inc. Cross-ontology multi-master replication
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8706833B1 (en) * 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US20130110777A1 (en) * 2007-06-06 2013-05-02 Kunio Kamimura Synchronization of data edited in parallel
KR101303672B1 (ko) * 2007-10-15 2013-09-16 삼성전자주식회사 디바이스 및 디바이스 간의 컨텐츠 공유 방법
US8914340B2 (en) * 2008-02-06 2014-12-16 International Business Machines Corporation Apparatus, system, and method for relocating storage pool hot spots
US9032032B2 (en) * 2008-06-26 2015-05-12 Microsoft Technology Licensing, Llc Data replication feedback for transport input/output
DE202009019139U1 (de) * 2008-12-22 2017-01-20 Google Inc. Asynchron verteilte Deduplizierung für replizierte inhaltsadressierte Speichercluster
CN102317939B (zh) 2008-12-22 2014-05-21 谷歌公司 用于复制的存储集群的异步分布式垃圾收集
US20100211544A1 (en) * 2009-02-19 2010-08-19 Jyshyang Chen System with session synchronization
US8200626B1 (en) * 2009-09-18 2012-06-12 Sprint Communications Company L.P. Mobile device file management
WO2011055409A1 (en) * 2009-11-05 2011-05-12 Hitachi, Ltd. Storage system and its file management method
US8396873B2 (en) * 2010-03-10 2013-03-12 Emc Corporation Index searching using a bloom filter
US20110289424A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Secure application of custom resources in multi-tier systems
KR20120038668A (ko) * 2010-10-14 2012-04-24 삼성전자주식회사 전자 책 컨텐트 갱신 장치 및 방법
US20120173267A1 (en) * 2010-12-31 2012-07-05 Julian Omidi Database System for Medical Back-Office
US8538926B2 (en) 2011-03-08 2013-09-17 Rackspace Us, Inc. Massively scalable object storage system for storing object replicas
US8712975B2 (en) 2011-03-08 2014-04-29 Rackspace Us, Inc. Modification of an object replica
US8510267B2 (en) 2011-03-08 2013-08-13 Rackspace Us, Inc. Synchronization of structured information repositories
US8554951B2 (en) 2011-03-08 2013-10-08 Rackspace Us, Inc. Synchronization and ordering of multiple accessess in a distributed system
US9137331B2 (en) * 2011-07-15 2015-09-15 Metalogix International Gmbh Adaptive replication
US20130166505A1 (en) * 2011-12-22 2013-06-27 Noam Peretz Monitoring replication lag between geographically dispersed sites
US8782004B2 (en) 2012-01-23 2014-07-15 Palantir Technologies, Inc. Cross-ACL multi-master replication
RU2510623C2 (ru) * 2012-04-19 2014-04-10 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ репликации информации в распределенных базах данных с конкурентным распределением потоков
US9990378B2 (en) 2012-06-27 2018-06-05 Microsoft Technology Licensing, Llc Opportunistic clearing of sync states associated with a database
US9632828B1 (en) * 2012-09-24 2017-04-25 Amazon Technologies, Inc. Computing and tracking client staleness using transaction responses
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9311379B2 (en) * 2012-12-10 2016-04-12 International Business Machines Corporation Utilization of data structures to synchronize copies of a resource
US8886601B1 (en) 2013-06-20 2014-11-11 Palantir Technologies, Inc. System and method for incrementally replicating investigative analysis data
US9569070B1 (en) 2013-11-11 2017-02-14 Palantir Technologies, Inc. Assisting in deconflicting concurrency conflicts
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US11303718B2 (en) * 2014-06-05 2022-04-12 Lenovo (Singapore) Pte. Ltd. Method and device to manage temporary content on a mobile device
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9021260B1 (en) 2014-07-03 2015-04-28 Palantir Technologies Inc. Malware data item analysis
US10318487B2 (en) 2014-08-20 2019-06-11 International Business Machines Corporation Sharing resources among remote repositories utilizing a lock file in a shared file system or a node graph in a peer-to-peer system
US10021186B2 (en) 2014-12-19 2018-07-10 Microsoft Technology Licensing, Llc Guaranteed delivery of replication message
US9864791B2 (en) 2014-12-19 2018-01-09 Microsoft Technology Licensing, Llc Flow for multi-master replication in distributed storage
US9792108B2 (en) 2015-08-12 2017-10-17 Comcast Cable Communications, Llc Scheme for managing last-modified information
US10216748B1 (en) 2015-09-30 2019-02-26 EMC IP Holding Company LLC Segment index access management in a de-duplication system
US10657119B1 (en) 2015-12-18 2020-05-19 Amazon Technologies, Inc. Fleet node management system
US10621198B1 (en) 2015-12-30 2020-04-14 Palantir Technologies Inc. System and method for secure database replication
US10262053B2 (en) 2016-12-22 2019-04-16 Palantir Technologies Inc. Systems and methods for data replication synchronization
US11058946B2 (en) 2017-01-12 2021-07-13 Mz Ip Holdings, Llc System and method for managing event data in a multi-player online game
US10068002B1 (en) 2017-04-25 2018-09-04 Palantir Technologies Inc. Systems and methods for adaptive data replication
US10430062B2 (en) 2017-05-30 2019-10-01 Palantir Technologies Inc. Systems and methods for geo-fenced dynamic dissemination
US11030494B1 (en) 2017-06-15 2021-06-08 Palantir Technologies Inc. Systems and methods for managing data spills
US10380196B2 (en) 2017-12-08 2019-08-13 Palantir Technologies Inc. Systems and methods for using linked documents
US10915542B1 (en) 2017-12-19 2021-02-09 Palantir Technologies Inc. Contextual modification of data sharing constraints in a distributed database system that uses a multi-master replication scheme
US10831744B1 (en) * 2018-03-16 2020-11-10 Amazon Technologies, Inc. System for processing modifications to data records
US10691369B2 (en) 2018-04-23 2020-06-23 Hewlett Packard Enterprise Development Lp Pool partner based replication
US10846183B2 (en) * 2018-06-11 2020-11-24 Dell Products, L.P. Method and apparatus for ensuring data integrity in a storage cluster with the use of NVDIMM
US11531822B1 (en) 2020-06-30 2022-12-20 Amazon Technologies, Inc. Training models and using the trained models to indicate staleness of content items
US11886437B2 (en) 2021-12-08 2024-01-30 International Business Machines Corporation Reduced latency query processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
JP2004240562A (ja) * 2003-02-04 2004-08-26 Mitsubishi Electric Information Systems Corp 使用期限付きデータ管理システム
WO2005024552A2 (en) * 2003-08-21 2005-03-17 Microsoft Corporation Systems and methods for providing relational hierarchical synchronization services
WO2005114489A2 (en) * 2004-05-20 2005-12-01 Bea Systems, Inc. Occasionally-connected application server

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701462A (en) 1993-12-29 1997-12-23 Microsoft Corporation Distributed file system providing a unified name space with efficient name resolution
US5486826A (en) 1994-05-19 1996-01-23 Ps Venture 1 Llc Method and apparatus for iterative compression of digital data
US5765171A (en) 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5812773A (en) * 1996-07-12 1998-09-22 Microsoft Corporation System and method for the distribution of hierarchically structured data
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6223304B1 (en) 1998-06-18 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Synchronization of processors in a fault tolerant multi-processor system
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
DE60213419T2 (de) 2001-03-16 2007-10-31 Novell, Inc., Provo Client-server-modell zur synchronisation von dateien
US7139811B2 (en) * 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
US6938048B1 (en) 2001-11-14 2005-08-30 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including automatically training the workers
US7149769B2 (en) 2002-03-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for multi-destination merge in a storage area network
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
EP1387296A1 (en) * 2002-07-10 2004-02-04 Hewlett-Packard Company Distributed file system
US20040068523A1 (en) 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
US7739240B2 (en) 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
US7506007B2 (en) 2003-03-03 2009-03-17 Microsoft Corporation Interval vector based knowledge synchronization for resource versioning
US7290019B2 (en) 2003-03-03 2007-10-30 Microsoft Corporation Garbage collection of tombstones for optimistic replication systems
GB2401693B (en) 2003-05-15 2005-08-17 Sun Microsystems Inc Conflictless replication in a multi-master directory system
US7092976B2 (en) 2003-06-24 2006-08-15 International Business Machines Corporation Parallel high speed backup for a storage area network (SAN) file system
US7660833B2 (en) 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
US20050031188A1 (en) * 2003-08-10 2005-02-10 Luu Victor Van Systems and methods for characterizing a sample
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7401104B2 (en) 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US7496607B2 (en) * 2003-08-29 2009-02-24 Yahoo! Inc. Method and system for maintaining synchronization between a local data cache and a data store
US20070043766A1 (en) * 2005-08-18 2007-02-22 Nicholas Frank C Method and System for the Creating, Managing, and Delivery of Feed Formatted Content
US7613787B2 (en) 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US20070106771A1 (en) * 2005-11-10 2007-05-10 International Business Machines Corporation Reconciliation of independently updated distributed data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
JP2004240562A (ja) * 2003-02-04 2004-08-26 Mitsubishi Electric Information Systems Corp 使用期限付きデータ管理システム
WO2005024552A2 (en) * 2003-08-21 2005-03-17 Microsoft Corporation Systems and methods for providing relational hierarchical synchronization services
WO2005114489A2 (en) * 2004-05-20 2005-12-01 Bea Systems, Inc. Occasionally-connected application server
JP2007524933A (ja) * 2004-05-20 2007-08-30 ビーイーエイ システムズ, インコーポレイテッド 随時接続アプリケーションサーバー

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021517672A (ja) * 2018-04-02 2021-07-26 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのテナントデータ比較
JP7402690B2 (ja) 2018-04-02 2023-12-21 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのテナントデータ比較

Also Published As

Publication number Publication date
EP1958087B1 (en) 2018-11-07
CN101322116B (zh) 2012-06-27
US7788223B2 (en) 2010-08-31
KR20080087791A (ko) 2008-10-01
JP4993772B2 (ja) 2012-08-08
MY150160A (en) 2013-11-29
EP1958087A1 (en) 2008-08-20
US20070168516A1 (en) 2007-07-19
EP1958087A4 (en) 2012-02-01
RU2425415C2 (ru) 2011-07-27
RU2008122472A (ru) 2009-12-10
WO2007067480A1 (en) 2007-06-14
CN101322116A (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
JP4993772B2 (ja) リソースのフレッシュさおよび複製
US7536419B2 (en) Slave replica member
JP7053847B2 (ja) コンテンツ管理システムにおけるメタデータ再同期
US7552148B2 (en) Shutdown recovery
US8065381B2 (en) Synchronizing for directory changes performed while offline
US7620721B2 (en) Pre-existing content replication
US9792294B2 (en) Using byte-range locks to manage multiple concurrent accesses to a file in a distributed filesystem
US9805056B2 (en) Synchronizing file updates between two cloud controllers of a distributed filesystem
US10169367B2 (en) Managing opportunistic locks in a distributed file system
US9646022B2 (en) Distributed change notifications for a distributed filesystem
US9367579B1 (en) System and method for maintaining a file change log within a distributed file system
US20140222758A1 (en) Coherent File State Maintained Among Confederated Repositories By Distributed Workspace Apparatuses Backed Up By a File State Ledgerdemain Store
JP4715774B2 (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
US7725428B1 (en) System and method for restoring a database in a distributed database system
US20100293143A1 (en) Initialization of database for synchronization
US20220382716A1 (en) Cloud-native global file system with file accelerator
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
US20230385304A1 (en) Snapshots for distributed object-based datastores
AU2011265370B2 (en) Metadata management for fixed content distributed data storage
Alagappan Protocol-and Situation-aware Distributed Storage Systems
Štědronský A decentralized file synchronization tool
Parui et al. Data Synchronization Internals
WO2010131023A1 (en) Improvements in and relating to replicated file servers
JP2008217641A (ja) レプリケーション方法及びストレージ装置並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120507

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4993772

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250