JP2014535081A - クライアント/サーバシステムの分散した複製コンテンツの強一貫性を維持するための方法およびシステム - Google Patents

クライアント/サーバシステムの分散した複製コンテンツの強一貫性を維持するための方法およびシステム Download PDF

Info

Publication number
JP2014535081A
JP2014535081A JP2014523306A JP2014523306A JP2014535081A JP 2014535081 A JP2014535081 A JP 2014535081A JP 2014523306 A JP2014523306 A JP 2014523306A JP 2014523306 A JP2014523306 A JP 2014523306A JP 2014535081 A JP2014535081 A JP 2014535081A
Authority
JP
Japan
Prior art keywords
master
file
slave
new version
preload
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
JP2014523306A
Other languages
English (en)
Other versions
JP6165729B2 (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.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Publication of JP2014535081A publication Critical patent/JP2014535081A/ja
Application granted granted Critical
Publication of JP6165729B2 publication Critical patent/JP6165729B2/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/184Distributed file systems implemented as replicated file system

Landscapes

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

Abstract

多層クライアント/サーバのデータ処理システムのアプリケーション層の一部分である複数の独立した処理スレイブノード(210、210'、210")にわたって分散した複製ファイルの一貫性を維持するための方法およびシステムが説明される。複製ファイルはマスタ層のマスタノードから分散される。マスタデータベースを更新する更新要求(142)を受け取ると、最初に複製ファイルの新バージョンが生成されて共有ファイルシステム(160)に格納される。次いで、新バージョンの可用性の通知が同期スレイブノードに転送され、そこから、すべてのスレイブノード(210、210'、210")に一斉送信される。各スレイブノードは、共有ファイルシステム(160)からの複製ファイルの新バージョン(150)をプリロードして、無事完了を確認する。

Description

本発明は、一般にデータ処理システムに関し、詳細には分散型クライアント/サーバのソフトウェアアーキテクチャに関する。より詳細には、本発明は、複数の処理ノードにわたって分散したキャッシュファイルのコンテンツ間の一貫性を維持する一方で、それらの疑似リアルタイムの可用性を保証する方法およびシステムに関する。
1980年代後半に出現したクライアント/サーバモデルは、その時代に標準であった、集中型の、メインフレームにおける時分割コンピューティングと比較して、可用性、融通性、相互運用性、およびスケーラビリティを改善するために考案された汎用のモジュール式ソフトウェアのアーキテクチャである。それ以来、クライアント/サーバのアーキテクチャは、すべての知能が中央のホストコンピュータ内にあってユーザがダムターミナルを通じてホストと情報をやりとりしていた、以前のメインフレームソフトウェアのアーキテクチャに漸次完全に取って代わった。しかし、メインフレームが依然として使用されている場合には、種々のクライアント/サーバのアーキテクチャの強力なサーバとしてのみあり、ダムターミナルも、サーバとの間で送受されるデータを自己処理することができるインテリジェントなグラフィカルユーザインターフェース(GUI)で置換されている。
最新のデータ処理システムでは、主として使用され、多数の遠隔設置されたクライアントをサポートすることができる、いわゆるクライアント/サーバのアーキテクチャは、3層アーキテクチャである。このようなアーキテクチャの一例が図1に示されている。マスタ層100は、従来、あらゆる種類の商用および管理用の操作を行うために、恐らくあらゆる事業組織、会社または企業の日常作業に必要なすべてのデータの大きな、または非常に大きなリポジトリであるデータベースシステム120のまわりに構築されている。ほとんどのデータベースは、リレーショナルデータベース管理システムすなわちRDBMSで制御されるリレーショナルタイプである。リレーショナルタイプのデータベースは、一般に、GUI 140から(from GUI's 140)データ処理システムの管理者によって1つまたは複数のマスタサーバ112を通じて管理されている。管理者は、一般に、データベースのコンテンツを直接更新する権限を与えられたシステムの唯一のユーザである。
図1の例示的3層システムの中間層すなわち中位の層は、データ処理システムの所有者である組織の特定ソフトウェアアプリケーション240のすべてが実行されるアプリケーション層200である。全体的にミドルウェアソフトウェアと称される特定のアプリケーションのこの集合は、組織の所有するソフトウェアである。この集合は、そのデータのリポジトリ120から、マスタサーバ110を通じて、すべての組織の遠隔クライアントの要求を満たすように用いられる。遠隔クライアントは、3層アーキテクチャの第3の層300を形成する。したがって、クライアント層300からのクエリは、中間層200の特定のアプリケーションによって、マスタ層100から取り込まれたデータに対して処理され、対応される。
3層アーキテクチャでは、多数の遠隔クライアントの要求を満たす必要があるとき、データ処理システムの全体的な処理能力を高めるように中間層の中に独立した処理ノードを追加することにより、全体的な性能を維持するためのシステムのスケーラビリティが得られる。したがって、アプリケーション層200は、以下の説明では一般にスレイブノード210と称されるいくつかの独立した処理ノードから成る。そこで、マスタ層100がますます増加するスレイブノードからの多すぎるデータリクエストによって圧倒されるのを防止するための一般的なやり方は、データの部分に対して作用する作用的処理(applicative processes)240を、必要な限りマスタデータベースから持って来て各アプリケーションノードに格納することである。図1の例示的システムでは、これはキャッシュファイル250の形態をとり、作用的処理240は、必要な度に、マスタデータベースからマスタサーバを通じてキャッシュファイル250を得るのに長い遅延を招く必要なく作用することができる。このようなデータ処理システムでは、処理能力およびソフトウェアアプリケーションはこのように分散しており、すなわち、システムの遠隔クライアント300のすべての要求を満たすのに必要な処理能力のレベルに達するのに必要なだけの数のノード210に分割されている。分散したキャッシュファイル250もそうである。
しかし、このような分散コンピューティング環境では、分散型データシステムのいくつかの望ましい特性のすべてを必ずしも同時に保証することはできないことが判明している。図2に示されるように、分散型データ処理システムに期待される特性40は、一貫性、可用性およびスケーラビリティである。CAP定理として知られている定理によれば、分散型システムは、これらの特性のうち任意の2つを同時に満たすことができるが、3つのすべてを同時に満たすことはできない。CAPは、一貫性、可用性および分割許容性を意味し、2000年に米国カリフォルニア大学バークレー校教授のE. Brewerによって推測されている。この定理は、後に、2002年発行のACM SIGACT News、v.33 issue 2、51〜59頁におけるN. LynchおよびS. Gilbertの論文で実証されている。上記で論じたように、システムの全般的な処理能力(power processing)が実際には分散、すなわち、それを独立した処理ノードにわたって分割することで得られるので、CAPの分割許容特性はスケーラビリティとの関連が強い。
3層アーキテクチャでは、一貫性および可用性41を完全に満たすことができるのは、中間層アプリケーションによって用いられるデータが常にマスタデータベースに由来する場合のみである。これは、クライアント層300からのクエリに応えるだけのために、マスタ層100からアプリケーション層200への非常に高速の下りトラフィックを生じさせ、また、クエリに応えるのに、マスタデータベースが非常に高度に占有されるという犠牲を払って達成することができるものである。これは、データベースへの書込みの割合が全般的に比較的低い場合でも、管理者(140)によるマスタデータベースの管理および更新と競合することになる。クライアント層のユーザ数が増加すると、明らかに、データベースへのアクセスならびにデータ層とアプリケーション層の間のネットワーク上のトラフィックが、性能を制限するボトルネックになる。
図1に示された例示的なもののような3層アーキテクチャでは、可用性およびスケーラビリティ42は、データベースの占有ならびにデータ層とアプリケーション層の間の高速トラフィックという上記の問題を乗り越えるためにキャッシュファイル250を分散させることによって達成することができる。しかし、この場合、キャッシュファイルが独立したコンピュータノードにわたって分散しているので、キャッシュファイルのコンテンツがスレイブノード間で一貫していることおよびマスタデータベースのコンテンツと一致していることは保証されない。
N. LynchおよびS. Gilbertの論文、2002年発行のACM SIGACT News、v.33 issue 2、51〜59頁
したがって、本発明の目的は、この問題に対する解決策を提供することである。クライアントアプリケーションおよび複製ファイルが複数の独立したスレイブノードにわたって分散している3層クライアント/サーバのアーキテクチャにおいて、本発明は、複製ファイルのコンテンツ間の強一貫性および完全な可用性を維持する一方で、いくらかのスケーラビリティを保つこと43のための方法およびシステムを開示するものである。
当業者には、添付図面を参照しながら以下の説明を検討することにより、本発明のさらなる目的、特徴および利点が明らかになるであろう。いかなる追加の利点も本明細書に組み込まれるように意図されている。
一態様によれば、本発明は、多層クライアント/サーバのデータ処理システムのアプリケーション層の一部分である複数の独立した処理スレイブノードにわたって分散する、マスタ層のマスタノードから分散される複製ファイルの一貫性を維持する方法を説明するものである。この方法のステップは、少なくとも1つのプロセッサで遂行され、
- データ処理システムのマスタデータベースを更新するために、マスタ層の少なくともマスタサーバで更新要求を受け取るステップと、
- 前記更新要求に基づいて、マスタ層の共有ファイルシステムに格納された複製ファイルの新バージョンを生成して格納するステップと、
- すべてのスレイブノードに対して複製ファイルの新バージョンの可用性を通知するステップと、
- 各スレイブノードにおいて、共有ファイルシステムからの複製ファイルの新バージョンのプリロードを開始するステップと、プリロードの終了に際してプリロードの無事完了を確認するステップとを含み、
・すべてのスレイブノードがプリロードの無事完了を確認した場合に限って、
- マスタサーバでプリロード達成の通知を受け取るステップと、
- マスタサーバから、複製ファイルの新バージョンのデータを用いてマスタデータベースを更新することにより、マスタ層による複製ファイルの新バージョンの使用をコミットするステップと、
- すべての複製ファイルのバージョンを記録するように構成されたアプリケーション層のスレイブデータベースにおける複製ファイルの新バージョンの使用をコミットするステップと、
- すべてのスレイブノードのコミットメントの通知をマスタサーバに転送するステップと、
- マスタサーバから、受け取った更新要求に応答して、更新の達成を確認するステップとを遂行し、
・すべてのスレイブノードがプリロードの無事完了を確認したわけではない場合には、マスタノードでエラーの通知を受け取り、マスタデータベースは更新せず、スレイブデータベースにおける新バージョンの使用のコミットメントも通知しない。
このように、本発明は、情報のクエリにほぼリアルタイムで応答する一方で、クエリに応えるのに必要な情報の一部分を有する恐らく多数のノードにわたって強一貫性を保証するための効率的な解決策を提供するものである。したがって、本発明により、強一貫性の維持、待ち時間が非常に短い可用性およびスケーラビリティの改善が可能になる。
任意選択で、本発明は以下の任意選択機能のうち少なくとも1つを含んでよい。
本発明では、複製ファイルとして示されるのは、マスタデータベースから複製されて、作用的処理による対応するデータの処理を促進するように、スレイブノードの中にそのようなものとして持ち込まれる完全なファイルである。複製ファイル自体は、より遅いバックエンドメモリからキャッシュメモリに持って来られたデータの小片ではない。本発明の文脈ではレプリカとも称される複製ファイルは、スレイブノードの作用的処理がデータのいかなるミス(miss)も経験せずに完結することができる確かに完全なファイルである。
特定の、制限的ではない実施形態によれば、レプリカとも称される複製ファイルはキャッシュファイルである。
すべてのスレイブノードに対して複製ファイルの新バージョンの可用性を通知するステップは、
- マスタサーバから、スレイブノードの間で得られた同期スレイブノードへ、複製ファイルの新バージョンの可用性の通知を転送するステップと、
- 同期スレイブノードから、他のすべてのスレイブノードへ、前記可用性の通知を一斉送信するステップとを含む。
プリロードの無事完了を確認するステップは、各スレイブノードが、同期スレイブノードのサーバ処理に対してプリロードの無事完了を確認するステップを含む。
一旦、すべてのスレイブノードが、同期スレイブノードのサーバ処理に対してプリロードの無事完了を確認すると、マスタサーバでプリロード達成の通知を受け取るステップの前に、同期スレイブノードは、プリロード達成の前記通知をマスタサーバへ転送する。
マスタ層による複製ファイルの新バージョンの使用をコミットするステップが終了すると、マスタノードは、同期スレイブノードにコミットメントの通知を転送し、次いで、同期スレイブノードは、スレイブデータベースにおける複製ファイルの新バージョンの使用をコミットするステップをトリガする。
ユーザからの情報を求めるクエリによって起動されたトランザクションの初めに、少なくとも前記トランザクションに関与する各スレイブノードにおいて、作用的処理はスレイブデータベースに問い合わせを行い、現行バージョンの複製ファイルからプリロードされた複製ファイルの新バージョンへ切り換えるべきかどうかを指示される。
好ましくは、ユーザからの情報を求めるクエリによって起動されたトランザクションの初めに、前記トランザクションに含まれる各スレイブノードにおいて、作用的処理は、複製ファイルの現行バージョンのタグを読み取り、タグが複製ファイルの新バージョンが利用可能かどうかを示す。このタグが、複製ファイルの新バージョンが利用可能であることを示す場合には、作用的処理はスレイブデータベースに問い合わせを送り、複製ファイルの現行バージョンから複製ファイルの新バージョンへ切り換えるべきかどうかを指示される。
このタグは、複製ファイルの新バージョンのプリロードの無事完了時にセットされ、作用的処理による最初の読取りでリセットされる。
受け取られる更新要求は少なくとも1つの更新を含み、共有ファイルシステムの中に複製ファイルの新バージョンを生成して格納するステップは、インクリメンタル処理であって、マスタサーバの中で、
共有ファイルシステムから複製ファイルの現行バージョンを取得して、更新するべき複製ファイルの現行バージョンを適切なフォーマットに変換するステップと、
現行バージョンに更新を適用し、変換して、共有ファイルシステムに複製ファイルの新バージョンを格納するステップとを含む。
複製ファイルは、共有ファイルシステムに格納されるとき圧縮される。
インクリメンタル更新を遂行するとき、共有ファイルシステムに格納された複製ファイルは、マスタサーバが解凍して適切なフォーマットに変換し、プリロードに際して、スレイブノードが解凍して適切なフォーマットに変換する。
すべてのスレイブノードがプリロードの無事完了を確認したわけではない場合には、マスタノードは、前記更新要求を送った管理者にエラーの通知を送る。
マスタデータベースは、マスタ層の単一のマシンまたは複数のマシンに格納することができる。スレイブデータベースは、アプリケーション層の単一のマシンまたは複数のマシンに格納することができる。
共有ファイルシステムは、ネットワークに接続された記憶装置NASである。
別の態様によれば、本発明は、非一時的なコンピュータ可読記憶メディアに格納された、先の特徴の任意のものによる方法を遂行するコンピュータプログラム製品に関するものである。
別の態様によれば、本発明は、ビジネスルールを含んでいる複製ファイルの一貫性を維持する方法に関し、前記複製ファイルは、マスタ層のマスタノードから分散され、多層クライアント/サーバのデータ処理システムのアプリケーション層の一部分を形成する複数の独立した処理スレイブノードにわたって分散しており、この方法のステップは、少なくとも1つのデータプロセッサで遂行され、
- データ処理システムのマスタデータベースに格納されたビジネスルールを更新するために、マスタ層の少なくとも1つのマスタサーバで更新要求を受け取るステップと、
- 前記更新要求に基づいて、マスタ層の共有ファイルシステムに格納された複製ファイルの新バージョンを生成して格納するステップと、
- すべてのスレイブノードに対して複製ファイルの新バージョンの可用性を通知するステップと、
- 各スレイブノードにおいて、共有ファイルシステムからの複製ファイルの新バージョンのプリロードを開始するステップと、プリロードの終了に際してプリロードの無事完了を確認するステップとを含み、
・すべてのスレイブノードがプリロードの無事完了を確認した場合に限って、
- マスタサーバでプリロード達成の通知を受け取るステップと、
- マスタサーバから、複製ファイルの新バージョンのデータを用いてマスタデータベースを更新することにより、マスタ層による複製ファイルの新バージョンの使用をコミットするステップとを遂行し、
すべてのスレイブノードがプリロードの無事完了を確認したわけではない場合には、マスタノードでエラーの通知を受け取るステップを遂行する。
任意選択で、本発明は以下の任意選択機能のうち少なくとも1つを含んでよい。
有利には、各ビジネスルールは1組の基準およびコンテンツを含む。好ましくは、各基準は重みに関連しており、それによって、検索エンジンは、検索が開始されると、最も関連したルールを識別することができる。
基準の組は、売場、国、一群の国々、フライトの出発国、フライトの目的地、顧客プロファイルのうち少なくとも1つを含む。
この多層クライアント/サーバのデータ処理システムは、旅行プロバイダのインベントリの一部分である。
より一般的には、スレイブノードは、航空会社のインベントリ、航空会社の出国管理システム、航空会社の収益管理システム、航空会社の収益会計システム、航空会社の電子チケットサーバのうち少なくとも1つに接続されている。
本発明の別の態様は、アプリケーション層およびマスタ層を備える分散型の多層クライアント/サーバのデータ処理システムであり、アプリケーション層は、複数の独立した処理スレイブノードを備える。マスタ層は、スレイブノードに複製ファイルを分散するように構成されたマスタノード、マスタデータベースおよびマスタサーバを備える。マスタ層は共有ファイルシステムを備える。マスタサーバは、マスタデータベースを更新するようにとの更新要求を受け取り、共有ファイルシステムに格納された複製ファイルの新バージョンを生成して、前記新バージョンを共有ファイルシステムに格納するように構成されている。本発明によるこのシステムには、すべてのスレイブノードに接続され、すべての複製ファイルバージョンを記録するように構成されたスレイブデータベースも備わっている。このシステムは、
・すべてのスレイブノードに対して複製ファイルの新バージョンの可用性を通知し、
・各スレイブノードにおいて、共有ファイルシステムからの複製ファイルの新バージョンのプリロードを開始し、プリロードが終了するとプリロードの無事完了を確認し、
・すべてのスレイブノードがプリロードの無事完了を確認した場合に限って、マスタサーバでプリロード達成の通知を受け取るステップと、マスタサーバから、複製ファイルの新バージョンのデータを用いてマスタデータベースを更新することにより、マスタ層による複製ファイルの新バージョンの使用をコミットするステップと、スレイブデータベースにおける複製ファイルの新バージョンの使用をコミットするステップと、すべてのスレイブノードのコミットメントの通知をマスタサーバに転送するステップと、マスタサーバから、受け取った更新要求に応答して、更新の達成を確認するステップとを遂行し、
・すべてのスレイブノードがプリロードの無事完了を確認したわけではない場合には、マスタノードでエラーの通知を受け取り、マスタデータベースは更新せず、スレイブデータベースにおける新バージョンの使用のコミットメントも通知しないように構成されている。
標準的な分散型3層データ処理システムの実例を示す図である。 分散型データ処理システムの一貫性、可用性およびスケーラビリティについて論じる図である。 マスタデータベースのコンテンツが複製ファイルの形でスレイブノードに分散している本発明による例示的データ処理システムを示す図である。 本発明によるデータ処理システムの分散した複製ファイルの間で強一貫性を達成する方法のステップを説明する図である。 本発明によるデータ処理システムの分散した複製ファイルの間で強一貫性を達成する方法のステップを説明する図である。 新バージョン(Vn+1)の複製ファイルを生成するとき遂行されるインクリメンタル更新を説明する図である。
本発明の以下の詳細な説明は添付図面を参照する。説明には例示的実施形態が含まれているが、他の実施形態も可能であり、説明された実施形態は、本発明の趣旨および範囲から逸脱することなく変更され得る。
図3は、アプリケーション層200およびデータ層100とも称されるマスタ層100を備える本発明による例示的分散型データ処理システムを示す。アプリケーション層200は、複数の独立した処理スレイブノード210、210'、210"を備える。マスタ層100は、マスタノード110、マスタデータベース120およびマスタサーバ112を備える。マスタデータベース120のコンテンツはスレイブノード210、210'、210"の中に複製ファイル250、150の形で分散しており、その結果、これらのスレイブノード210、210'、210"上で動作するクライアントアプリケーション240、240'、240"は、マスタデータベース120に問い合わせを送る必要なくデータの対応する部分を用いることができる。
マスタ層100は、1つまたは複数のサーバ112から成るマスタノード110を含む。マスタノード100は、データリポジトリシステムすなわちマスタデータベース120を管理し、マスタデータベース120は、一般に、商業用途および工業用途を含み、恐らくはあらゆる種類の管理上のアクティビティ、教育上のアクティビティおよび政治上のアクティビティも対象として含む、あらゆるタイプの大きなビジネスアクティビティを処理するのに必要なデータをすべて保持する、大きな、または非常に大きなデータベースシステムである。航空会社および観光業では、これは、例えば世界的配送システム(global distribution system)すなわちGDSであり得る。GDSは、航空運賃、スケジュール、および座席の可用性、ならびに一般的には何らかの旅行商品へのリアルタイムのアクセスを可能にするように観光業の会社によって導入された任意の大きなデータ処理システムである。GDSにより、旅行代理店および個人が、多数のオンラインの旅行サイトを通じて、世界中から予約を入れ、旅行券を発券することができる。
このようなデータベース120は、任意の認可されたユーザによって、一般的にはグラフィックユーザインターフェース(GUI)であるシステムのユーザインターフェース140からマスタサーバ112を通じて管理される。データベースの管理権限を有するユーザは、そのコンテンツを更新することが許容されているユーザである。例えば、GDSの場合には、旅行券の予約に適用されるビジネスルールを追加するかもしくは変更すること、または旅行商品の提供を変更することである。この場合、これは、ほとんど現行の旅行製品の提供にもたらされる更新である。したがって、更新は、スレイブノード210、210'、210"上で動作するクライアントアプリケーション240、240'、240"によって用いられる分散した複製ファイルにおいて順序正しく複製されなければならない。
マスタ層100には、例えば管理権限を有するユーザの要求に応じて生成される複製ファイルの新バージョンの保持を目的とした、ネットワークに接続された記憶装置すなわちNASシステム160といった共有ファイルシステム(filed system)160も含まれる。NAS 160およびシステムの他のコンポーネントの使用は、図4にさらに説明されており、図4では、スレイブノード210、210'、210"の種々の分散した複製ファイルをマスタデータベース120のコンテンツに対してコヒーレントに保つ方法が論じられる。
クライアントアプリケーション層200に関する限り、これは、システムの第3の層(図3には示されていない)を構成する多くの遠隔のエンドユーザの要求をそれぞれが満たすことができる複数のスレイブノード210、210'、210"から成る。上記のGDSの実例では、これらの遠隔のエンドユーザには、例えば従来の旅行代理店の社員、および公共ネットワークすなわちインターネットを通じてオンラインの旅行サイトに接続する個人ユーザが含まれる。したがって、スレイブノード210、210'、210"の作用的処理240、240'、240"を起動する多くのさまざまなソフトウェアのクライアントアプリケーションが、各スレイブノード210、210'、210"の共有メモリ230、230'、230"に持ち込まれた複製ファイルから動作することができる。したがって、これらのアプリケーションが必要とするデータは、作用的処理のうちの任意のものによって容易にアクセス可能であって、各アプリケーション向けに複製する必要はなく、したがってメモリ使用量が大幅に減少する。スレイブノード210、210'、210"上で実行される作用型ソフトウェア製品の範囲および数は可能性として非常に大きく、実際にはノードのコンピュータ資源によって限定されるのみである。作用型ソフトウェア製品の範囲および数は、主としてデータ処理システムの所有者が営む業種に依拠する。観光業では、GDSについては、作用型ソフトウェア製品には、現在すべての旅行者に提供される電子的予約および発券サービスならびに空港における旅客の出国管理のような特定のアプリケーションが含まれる。あらゆる業種のためのより一般的なアプリケーションには、財貨およびサービス、収益管理ならびに収益会計の可用性に関するものが含まれる。したがって、アプリケーション層200のユーザは、顧客に限定されず、データ処理システムを所有する会社の資産管理を担当する専門家も含む。
クライアントアプリケーション層200には、当初はデータ処理システムの管理者の要求に応じてマスタサーバ112のうちのいずれかによってNASシステム160に格納されている新バージョン(Vn+1)の複製ファイル150の配備を制御する各スレイブノード210、210'、210"に存在する特定のサーバ処理タスク220、220'、220"を担当するスレイブデータベース260がさらに含まれる。スレイブデータベースは、一方ではスレイブノード210、210'、210"に分散された複製ファイルの新バージョン150と現行バージョンの複製ファイル250の間の強いコヒーレンスを強化し、他方では、マスタデータベース120のコンテンツに対する強いコヒーレンスを強化するように、基本的に、スレイブノード210、210'、210"の共有メモリ230、230'、230"に収容された複製ファイルのバージョンを記録することを目的とする。有利には、スレイブデータベース260に格納されるのは複製ファイルのバージョンに関するデータのみであって、複製ファイルのコンテンツは格納されない。
図3に示された例示的データ処理システムに対してこの結果を達成することができる処理を、以下で図4において説明する。
本発明によるシステムに寄与するすべてのソフトウェアコンポーネントは、1つまたは複数の相互接続されたネットワークを通じて通信することもできる多様な個々のコンピュータまたはコンピュータ化されたプラットフォーム30、30'、30"から実施され、かつ実行される。このようなネットワークは、一般に企業ネットワークを形成するローカルエリアネットワークすなわちLANである。LANは通信プロトコルの標準的なセットの下で動作する。ほとんどの場合、インターネットの伝送制御プロトコル(TCP)をインターネットプロトコル(IP)自体に関連付けるプロトコルのTCP/IPスイートが採用される。種々のコンピュータ化されたプラットフォームとソフトウェアコンポーネントの間の通信は、実際にはメッセージを交換することによって実現される。データ処理システムの種々のコンポーネント間の通信チャネルを確立するのに、例えば国際連合(UN)の組織および国際航空運送協会(IATA)によって奨励された規格のEDIFACT(行政、商業および運輸のための電子データ交換)メッセージを用いることができる。メッセージは、通常、サービスインテグレータ(SI)とも称される企業サービスバス(図示せず)を通じて交換される。
図4は、図4aおよび図4bから成り、以前の図で実例が示され、かつ論じられている本発明によるデータ処理システムの分散した複製ファイルの間で強一貫性を達成する方法のステップを説明するものである。
システムの内部データを更新する2段階コミット処理の第1段階が図4aに示されている。第1段階は、マスタノード100のサーバのうちの1つを介して更新トランザクションを開始する正規の管理者によって起動される。これは、図5に示されるように、一般にグラフィックユーザインターフェース(GUI)である標準的なユーザインターフェースからマスタサーバ112に更新要求142を送るステップ1(sending 1)の形で行われる。これは、データ更新処理の第1のステップすなわちステップ1である。
ステップ2は、担当するマスタサーバ112によって遂行され、マスタサーバ112は、更新要求142を受け取ると、対応する新バージョン(Vn+1)の複製ファイル150を生成してNASシステム160に格納する。新規の複製ファイル150の生成を促進するために、前バージョンの複製ファイル250のインクリメンタル更新が有利に遂行される。これは以下で図5においてさらに説明される。どちらの方法が用いられるにせよ、このステップの最終結果は、新バージョン(Vn+1)の複製ファイル150が、NAS 160において全体のデータ処理システムに対して利用可能になるということである。
次いで、ステップ3で、新規の複製ファイル150の可用性が通知されなければならない。これは、例えば図3に示されたスレイブノード210といった、スレイブノード210、210'、210"のうちの1つによって行われる。この目的を達成するために、担当のマスタサーバ112によって、サーバ処理220、220'、220"、すなわちこのノード上で動作している特定のソフトウェアタスクならびに他のすべてのスレイブノード210'、210"にメッセージが送られる。次いで、そのときから、選択されたスレイブノード210は、すべてのスレイブノード210、210'、210"に対するシステムの同期ポイントとして働く。したがって、本発明の以下の説明では、選択されたスレイブノード210は「同期スレイブノード」210と称される。マスタ層の観点からすると、すべてのスレイブノードが同一の役割を果たす。そこで、同期スレイブノードの選択は、一般に作業負荷の検討に基づくものになる。
次のステップ4では、同期スレイブノード210のサーバ処理220のタスクの制御下で、複製ファイルの新バージョン150(new version 150)の可用性の通知がすべての他のスレイブノード210'、210"に一斉送信される。
次いで、ステップ5で、同期スレイブノード210を含む各スレイブノード210、210'、210"は、新規の複製ファイル150の可用性の通知を受け取ると、
- 更新の遂行を担当するマスタサーバ112によって前もってNASシステム160に格納されている新規の利用可能な複製ファイル150をコピーする、すなわちプリロードするステップ51を、NASシステム160から行うステップと、
- 一旦、プリロードが適切に終了したら、各スレイブノード210、210'、210"のサーバ処理タスク220、220'、220"によって、無事完了の確認を同期スレイブノード210に返送するステップ52との2つのサブステップを遂行する。
同期スレイブノード210のサーバ処理タスク220は、プリロード完了成功の確認をすべて収集することも担当する。これが達成されると、次に、ステップ6で、すべてのスレイブノード210、210'、210"におけるプリロード達成成功の通知が、担当のマスタサーバ112に転送される。これは全般的な更新処理のステップ6である。このステップでは、新規の複製ファイル150は、各スレイブノード210、210'、210"の共有メモリ230、230'、230"にプリロードされており、したがって、これらのノードで動作するクライアントアプリケーションによって潜在的に使用可能である。しかし、新規の複製ファイル150は、次の更新処理のステップが遂行されるまで不活性に保たれる。
システムの内部データの更新処理の第2段階が図4bに示されている。第2段階は、ステップ6において、マスタサーバで、すべてのスレイブノード210、210'、210"による新規の複製ファイル150のプリロード達成成功の通知を受け取ることから始まる。プリロード達成のこの通知は、同期スレイブノード210のサーバ処理タスク220が発するものである。次いで、担当するマスタサーバ112は、ステップ7で、新規の複製ファイル150のバージョン(Vn+1)のデータをマスタデータベース120に格納し、このようにして、全体のデータ処理システムに新バージョン150の使用をコミットする。
コミットメントのステップは、ステップ8で、マスタサーバ112が発したコミットメントのメッセージを同期スレイブノード210のサーバ処理220のタスクに向けて送り、新規のプリロードされた複製ファイル150の(Vn+1)を用いる準備ができていることを同期スレイブノード210のサーバ処理220のタスクに知らせることによってさらに達成する必要がある。
コミットメントのメッセージを受け取ると、実際には、ステップ9で、新バージョンの複製データファイル150も、同期ノード210のサーバ処理タスク220によってスレイブデータベース260の中に送り込まれる。この段階では、各スレイブノード210、210'、210"に既にプリロードされている複製ファイルの新バージョン150は、実際には、以下で説明される切換えステップが始まるまで、スレイブノード210、210'、210"のクライアントアプリケーションによってまだ用いられていない。
それにもかかわらず、ステップ10で、マスタサーバ112は、同期ノード210のサーバ処理220のタスクから、スレイブデータベース260へのコミットメントの終了を知らせる返答を受け取る。この返答は、ステップ11で、データ処理システムの管理者のデータ処理デバイス140に対して、要求された更新142が実際にコミットされて現在有効になっていることを前記管理者に知らせるために、さらに伝搬される。
しかし、複製ファイルの新バージョン150の実際の使用が効力を生じるのは、システムの内部で、作用的処理が情報を求めるクエリに応答するために実際にそれを必要とするときのみとなる。本発明では、情報を求めるクエリとは、履行するのに、システムに格納されたデータを検索することを要求するクエリであり、更新要求クエリとは、履行するのに、格納されたデータを更新することを要求するクエリである。このように、情報を求めるクエリは、需要家または旅行代理店などのシステムのエンドユーザによって送られるのに対し、更新要求142は、エンドユーザに提供される商品、サービスまたは情報に関連するデータの更新を担当する管理者によって送られる。作用的処理の実行に際して、対応するクライアントアプリケーションは、必要とされる複製ファイルのどのバージョンを用いなければならないかというスレイブデータベース260からの問い合わせ264を常に調べる。共有メモリに既にプリロードされている複製ファイルの新バージョン150が利用可能であれば、次いで、この新バージョンへ切り換えられる。この切換えは、この点において、データベースのトランザクションに関して定義されたACIDルール、すなわち原子性、一貫性、独立性および永続性に適合するという意味で、いわゆる原子動作である。原子性は、クライアントアプリケーションによって遅延が引き起こされないように、切換えが完全に実行され、他の処理による割込みが生じないことを意味する。すべてのクライアントアプリケーション処理に対して同一のメカニズムが適用される。この解決策により、分散したレプリカのうちの任意のものから用いられるデータの完全な一貫性が保証される。この切換えが原子動作であるので、作用的処理が行き詰まる(freezing)可能性なしで複製ファイルの新バージョン150が取得される。複製ファイルのプリロードが更新処理の実行における早期に行われているので、クライアントアプリケーションが複製ファイルの新バージョン150にアクセスするとき、さらなる遅延が導入されることはない。
作用的処理の流れは、スレイブデータベース260に対する要求の数を最適化するために有利に修正することができる。実際、この同期ポイントを参照してよいのは、新規のキャッシュバージョンのプリロードとスレイブデータベース260におけるこの新バージョンのコミットの間の移行中のみである。
この趣旨で、プリロードの操作中に、共有メモリに「プリロード」インジケータが追加される。このインジケータがなければ、作用的処理はスレイブデータベース260に要求するのでなく、キャッシュの最新の利用可能なバージョンにアクセスすることになる。そうでなければ、スレイブデータベース260に対して要求され、次いでスレイブデータベース260からのバージョンが用いられる。
プリロードされたバージョンがスレイブデータベース260にコミットされている場合には、上記で説明した切換え操作が遂行される。この操作では、「プリロード」インジケータは共有メモリから削除される。
複製ファイルを、疑似リアルタイムでスレイブノード210、210'、210"に対して利用可能にする様子を説明している前の図で説明されたメカニズムは、システムの2つのタイプのノードに関する2つのタイプの動作を、以下のように明瞭に識別する。
- マスタノード110は、場合によってはいくつかのマスタサーバ112で構成される書込みノードである。マスタノード110のそれぞれが、データ処理システムのいずれかの正規の管理者によってユーザインターフェース140を介して発行されたトランザクションを管理することができる。管理トランザクションは、最終的にはマスタデータベース120を更新するように意図されている。この目的を達成するために、既に論じられたように、管理トランザクションは、第1に新バージョン(Vn+1)の複製ファイル150を生成し、NASシステム160に格納する。本発明は、マスタノード110にはスレイブノード210、210'、210"の接続形態の知識がなく、スレイブノード210、210'、210"の中にさらなるデータをプッシュすることには関与しないと想定する。このように、アプリケーション200のスケーラビリティは、マスタノード110から完全に独立している。
- その代わりに、スレイブノード210、210'、210"は、それ自体で、複製ファイルの読取り専用のコピーを共有のNASシステム160から直接プリロードすることによって取得する。スレイブノード210、210'、210"への情報の一斉送信は、前述の企業サービスバスまたはサービスインテグレータ(SI)によって行われる。可能な限り高い性能を保つために、一斉送信されるデータの容量は、有利には最小限に抑えられる。この目的を達成するために、本発明の方法は、スレイブノード210、210'、210"に対して新規の複製ファイルの可用性の通知を一斉送信することのみを管理し、それにより、図4で説明されたように、スレイブノード210、210'、210"が共通の共有ファイル構造、NAS 160から新規の複製ファイル150をコピーすることが可能になる。
疑似リアルタイムのレプリカ作成は、図4で論じられたように、ステップ11で、管理トランザクションが終了すると直ちに、すべてのクライアントノードが複製ファイルの新バージョン150へ実際に切り換えることができることを意味する。このタイプのレプリカ作成は、しばしば怠惰な(lazy)レプリカ作成とみなされる、あまり厳格でない他のタイプのレプリカ作成よりはるかに強制的で(constraining)熱心な(eager)タイプのレプリカ作成としても知られている。この結果を得るために、本発明は、データの流れを、制御の流れとデータの流れに分離する。したがって、前述のように、用いるべき複製ファイルのバージョンの通知が、サービスインテグレータによってクライアントノードに一斉送信される。複製ファイルのデータに関して、これらの複製ファイルは、共有ファイルシステムすなわちNASシステム160から利用可能になる。同期スレイブノード210を介してアプリケーション層200のすべての他のスレイブノード210'、210"へルーティングして伝達する必要があるのはバージョンを搬送する制御流れのみであり、一方、データは、各スレイブノード210、210'、210"へ並行して直接伝送することができる。このアーキテクチャは、マスタノード100のサーバ112すなわちライタとスレイブノード210、210'、210"の間を分離するという要件を満たす。このように、ライタは、新規のデータを先ずNAS共有ファイルシステムに格納し、次いでマスタデータベース120自体に格納するだけでよい。ライタは、スレイブノード210、210'、210"の接続形態のいかなる知識も有する必要はない。マスタサーバすなわちライタは、バージョン情報をスレイブノード210、210'、210"へルーティングするのをサービスインテグレータに依存する。
NASの共有ファイル構造への書込みが図5に示されている。図5は、新バージョン(Vn+1)の複製ファイル150を生成するときステップ2で遂行されるインクリメンタル更新を説明するものである。
複製ファイルを利用可能にする、すなわちNASシステム160などの共有ファイル構造から複製ファイルを公開すると、さらなる利点がもたらされる。更新要求142の処理を担当するマスタサーバ112は、すべてのスレイブノード210、210'、210"によって現在用いられている最複製ファイルの新バージョン250を得る(152)のに、NASの共有ファイル構造に容易にアクセスすることができる。NAS 160の二元構造は、複製ファイルの回復を容易にし、記憶装置の要件も最小化するために有利に考案されたものである。したがって、すべての複製ファイルを収容するのに必要な記憶装置の全体量をさらに制限するために、場合により複製ファイルを圧縮する。データ処理システムの期待される性能に適合するアクセス時間内に複製ファイルを回復することができる一方で、必要とされる記憶装置の全体量をなんとかして制限するように、アクセス時間と記憶装置の要件の間のトレードオフが必要になることがある。ファイルを伝送するネットワークの帯域幅の消費も考慮に入れられる。どちらで妥協するにせよ、マスタサーバは、取得した複製ファイルを、サーバメモリの中へ、作業することができるビジネスオブジェクトモデル(BOM)114に変換しなければならない。次いで、マスタサーバ112は、更新要求142で管理者が要求した変更を組み込むように、要求された更新を現行バージョンの複製ファイルに追加する際にインクリメンタル更新116を遂行することができる。
より正確には、マスタサーバは、取得した複製ファイルを、サーバメモリの中へ、C++ビジネスオブジェクトモデル114に変換しなければならない。次いで、マスタサーバ112は、C++構造116に対してこの更新を追加することにより、インクリメンタル更新を遂行することができる。次いで、この新規のC++構造に基づいて新規の複製ファイルが構築される。
このやり方は、対応する情報をマスタデータベース120から回復するのと比較して、複製ファイルの新バージョンを生成する処理をかなり速める。1桁(×10)の平均的な改善を達成することができる。更新された複製ファイルは、最終的には、変換されてNAS共有ファイル構造160へ戻して格納される(154)。
以下で、強一貫性が、本発明の状況で意味するもの、および、それぞれが別々の物理的マシン30、30'、30"上で実現されたスレイブノード210、210'、210"のすべての複製ファイルに対する前述のシステムおよび方法で得られる様子をさらに論じる。
本発明のデータ処理システムでは、マスタデータベース120は定期的に更新されると想定されている。考慮に入れるべき更新の一般的な頻度は毎分2、3回程度であるが、この数字は、主に本発明の用途に依拠して変化する可能性がある。それぞれの更新によって、新バージョン(Vn+1)の複製ファイル150が生成される。次いで、所与のバージョン、すなわちバージョンNの複製ファイルが所与のスレイブノードで読み取られ、いかなる他のスレイブノード210'、210"における後続の読取りも同一の複製ファイルのバージョンNを実際に返す場合には、その瞬間から強一貫性が達成される。明らかに、その間にも、複製ファイルの新バージョン150が既に配布されている場合には、より高位のバージョンが読み取られることがある。
一貫性は、すべての複製ファイルの有効なバージョンを記録する中央のアクセスポイントをすべてのスレイブノード210、210'、210"に与えることによって達成される。このアクセスポイントは、好ましくは、ACID特性を満たすことを保証するために標準的なリレーショナルデータベース管理システム(RDBMS)の下で動作するデータベースのテーブルとして実施される。本発明のシステムでは、図3に示されるように、この役割はスレイブデータベース260によって果たされる。格納されたバージョンテーブル262の抜粋が示されている。図示の実例では、BA-NGIがVn+1に対応しており、このことは、複製ファイルのバージョンVn+1、すなわち旅行プロバイダ英国航空(BA)によって管理されたNGIアプリケーションのデータを使用しなければならないことを意味する。NGIはNew Generation Inventory(新世代インベントリ)の頭字語であり、所与のルールデータに関与する、特定のアプリケーションの所有者を識別する。スレイブデータベースに格納された中央のバージョンテーブルは、図4に説明された2段階コミット処理で更新される。
次いで、スレイブノード上で動作するクライアントアプリケーションによって起動される各トランザクションの開始時点で、有効な複製ファイルのバージョンが、スレイブデータベース260のバージョンテーブル262から取得される(264)。現在用いられるものより大きい有効な複製ファイルバージョンが見つかった場合には、スレイブノード210、210'、210"は、直ちに複製ファイル150の新規のバージョン(Vn+1)に切り換える。図4で説明されたように、更新された複製ファイル150が、スレイブノード210、210'、210"の共有メモリ230、230'、230"に既にプリロードされているので、これが可能である。ここで、クライアントアプリケーションによって起動されたトランザクションが複製ファイルへのいくつかのアクセスを必要とする場合、システムは、このトランザクションの存続期間を通じて、その間に複製ファイルの新バージョン150が利用可能になったとしても、同一のバージョンを用いることを考慮しておく必要がある。これは、データベーストランザクションに適用されるACIDルールセットのうちの独立性ルールを満たす。
共有メモリのデータのアクセスに対してさらに高レベルの性能をもたらすために、各トランザクションの初めに、スレイブデータベースの上記の問い合わせ264は任意選択で飛ばして進まれてもよい。この場合、共有メモリに格納された複製ファイルが、複製ファイルの新バージョン150が利用可能かどうかを示すタグまたはフラグを含む必要がある。したがって、系統的にスレイブデータベースに問い合わせを送る代わりに、各トランザクションの開始時点で最初に調べられるのはこのタグである。このタグが、利用可能な複製ファイルの新バージョン150がないことを示す場合には、現行の複製ファイルが用いられる。このタグが、複製ファイルの新バージョン150が実際に利用可能であることを示す場合には、スレイブデータベースからバージョンテーブル262が読み取られ、その結果、作用的処理240、240'、240"は、新規のプリロードされた複製ファイルのバージョン(Vn+1)に切り換えることができる。複製ファイルの新バージョン150がプリロードされたときセットされたタグは、クライアントアプリケーションがその現行のトランザクションの処理を終了したときリセットされる。多数の処理が同一の複製ファイルにアクセスしている環境では、それらのうちの1つがタグをリセットする前にデータベースを調べなければならない処理は、ほんのわずかのはずである。
前述のメカニズムは、生産環境で機能するために、フォールトトレラントであることも必要である。完全な一貫性に達することができるのは、複製ファイルが、実際にすべて首尾よくプリロードされる場合、すなわち管理トランザクションがマスタデータベースにコミットされ得る前にすべてのスレイブノードの共有メモリの中に分散されてマッピングされる場合のみである。これは、スレイブノードが不可分のやり方で(in an atomic manner)新規の複製ファイルに実際に切り換えることができることを保証するのに必須のことである。そうでなければ、いくつかのスレイブノードが新バージョンに切換え可能で他のスレイブノードが切換え不可能になり、それによって一貫性に欠けるエラーとなる場合があり得る。したがって、この状況が生じるのを防止するために、何らかの理由で、いずれかの所与のスレイブノードに対する分散が失敗した場合には、すべてのトランザクションが異常終了し、更新要求に応答してエンドユーザにエラーが送られる。これは、導入された、図4に説明されている2段階コミット処理のために可能になる。本発明は、一貫性と可用性の間で一貫性に重点を置くものである。しかし、スレイブノードからの読取りの可用性が引き続き十分に保証され、また、情報を求めるクエリがほぼリアルタイムで満たされ得るのを強調することが重要である。可用性が損なわれる可能性があるのは、データの更新/管理の部分のみである。本発明の状況では、これは、すべてのスレイブノードにわたって分散した複製ファイルの読取りの可用性および強一貫性と比べてはるかに重要性が低い。したがって、各スレイブノードへ複製ファイルを首尾よく分散することは、本発明の重要な部分である。以前に論じた企業サービスバスまたはサービスインテグレータ(SI)は、クライアントアプリケーション層に対してアクティブに関与するスレイブノードのグループのイメージが常に利用可能であることを確かめるのに用いられる。スレイブノードがグループに加わるとき、またはグループを去るとき、イメージは、本発明の方法を適切に実行することができるようにそれに応じて更新される。
本発明の好ましい実施形態が示され、説明されているが、本発明はそれに限定されるものではなく、以下の特許請求の範囲の範囲内で実施するようにさまざまに実施され得ることを明確に理解されたい。
30 コンピュータ、コンピュータ化されたプラットフォーム、物理的マシン
30' コンピュータ、コンピュータ化されたプラットフォーム、物理的マシン
30" コンピュータ、コンピュータ化されたプラットフォーム、物理的マシン
40 分散型データ処理システムに期待される特性
41 一貫性および可用性
42 可用性およびスケーラビリティ
43 強一貫性および完全な可用性を維持する一方で、いくらかのスケーラビリティを保つこと
100 マスタ層
110 マスタノード
112 マスタサーバ
114 適切なフォーマット
116 インクリメンタル更新
112 マスタサーバ
120 マスタデータベース
140 管理者
142 更新要求
150 複製ファイル
160 ネットワークに接続された記憶装置(NAS)
200 アプリケーション層
210 スレイブノード
210' スレイブノード
210" スレイブノード
220 サーバ処理
220' サーバ処理
220" サーバ処理
230 共有メモリ
230' 共有メモリ
230" 共有メモリ
240 作用的処理
240' 作用的処理
240" 作用的処理
250 キャッシュファイル、複製ファイル
260 スレイブデータベース
262 バージョンテーブル
264 問い合わせ
300 クライアント層

Claims (15)

  1. 多層クライアント/サーバのデータ処理システムのアプリケーション層(200)の一部分である複数の独立した処理スレイブノード(210、210'、210")にわたって分散した複製ファイル(250)の一貫性を維持する方法であって、前記複製ファイル(250、150)が、マスタ層(100)のマスタノード(110)から分散され、少なくとも1つのデータプロセッサで遂行される以下のステップ、すなわち
    前記データ処理システムのマスタデータベース(120)を更新するために、前記マスタ層(100)の少なくともマスタサーバ(112)で更新要求(142)を受け取るステップ(1)と、
    前記更新要求に基づいて、前記マスタ層(100)の共有ファイルシステム(160)に格納された複製ファイルの新バージョン(150)を生成して格納するステップ(2)と、
    すべてのスレイブノード(210、210'、210")に対して前記複製ファイルの前記新バージョン(150)の可用性を通知するステップ(3、4)と、
    各スレイブノード(210、210'、210")において、前記共有ファイルシステム(160)からの前記複製ファイルの前記新バージョン(150)のプリロードを開始(51)して、前記プリロードの終了に際して前記プリロードの無事完了を確認するステップ(52)と
    を含み、
    すべてのスレイブノード(210、210'、210")が前記プリロードの無事完了を確認した(52)場合に限って、
    前記マスタサーバ(112)でプリロード達成の通知を受け取るステップ(6)と、
    前記マスタサーバ(112)から、前記複製ファイルの前記新バージョン(150)のデータを用いて前記マスタデータベース(120)を更新する(7)ことにより、前記マスタ層(100)による前記複製ファイルの前記新バージョン(150)の使用をコミットするステップと、
    すべての複製ファイル(150、250)のバージョンを記録するように構成された前記アプリケーション層(200)のスレイブデータベース(260)における前記複製ファイルの前記新バージョン(150)の前記使用をコミットするステップ(9)と、
    すべてのスレイブノード(210、210'、210")のコミットメントの通知を前記マスタサーバ(112)に転送するステップ(10)と、
    マスタサーバ(112)から、受け取った前記更新要求(142)に応答して、前記更新の達成を確認するステップ(11)と
    を遂行し、
    すべての前記スレイブノード(210、210'、210")が前記プリロードの無事完了を確認した(52)わけではない場合には、前記マスタノード(110)でエラーの通知を受け取ることを特徴とする方法。
  2. すべてのスレイブノード(210、210'、210")に対して前記複製ファイルの前記新バージョン(150)の可用性を通知する前記ステップ(3、4)が、
    前記マスタサーバ(112)から、前記スレイブノード(210、210'、210")から得られた同期スレイブノード(210)へ、前記複製ファイルの前記新バージョン(150)の可用性の通知を転送するステップ(3)と、
    前記同期スレイブノード(210)から、他のすべてのスレイブノード(210'、210")へ、前記可用性の通知を一斉送信するステップ(4)とを含む請求項1に記載の方法。
  3. 前記プリロードの無事完了を確認する前記ステップ(52)が、前記スレイブノード(210、210'、210")が前記同期スレイブノード(210)のサーバ処理(220)に対して前記プリロードの無事完了を確認するステップ(52)を含む請求項2に記載の方法。
  4. 一旦、すべてのスレイブノード(210、210'、210")が前記同期スレイブノード(210)の前記サーバ処理(220)に対して前記プリロードの無事完了を確認する(52)と、前記マスタサーバ(112)でプリロード達成の通知を受け取る前記ステップ(6)の前に、前記同期スレイブノード(210)が、プリロード達成の前記通知を前記マスタサーバ(112)へ転送する(6)請求項3に記載の方法。
  5. 前記マスタ層による前記複製ファイルの前記新バージョン(150)の前記使用をコミットする前記ステップが終了すると、前記マスタノード(110)が、前記同期スレイブノード(210)へコミットメントの通知を転送し(8)、次いで、前記同期スレイブノード(210)が、前記スレイブデータベース(260)における前記複製ファイルの前記新バージョン(150)の前記使用をコミットする前記ステップ(9)をトリガする請求項1から4のいずれか一項に記載の方法。
  6. ユーザからの情報を求めるクエリによって起動されたトランザクションの初めに、少なくとも前記トランザクションに含まれる各スレイブノード(210、210'、210")において、作用的処理(240、240'、240")が、前記スレイブデータベース(260)に問い合わせを送り(264)、前記複製ファイルの現行バージョン(250)から前記複製ファイルの前記プリロードされた新バージョン(150)へ切り換える(12)かどうかを指示される請求項1から5のいずれか一項に記載の方法。
  7. ユーザからの情報を求めるクエリによって起動されたトランザクションの初めに、前記トランザクションに含まれる各スレイブノード(210、210'、210")において、作用的処理(240、240'、240")が、前記複製ファイルの現行バージョン(250)のタグを読み取り、前記タグが前記複製ファイルの新バージョン(150)が利用可能かどうかを示し、前記タグが前記複製ファイルの新バージョン(150)が利用可能であることを示す場合には、前記作用的処理(240、240'、240")が、前記スレイブデータベース(260)に問い合わせを送り(264)、前記複製ファイルの前記現行バージョン(250)から前記複製ファイルの前記新バージョン(150)へ切り換える(12)べきかどうかを指示される請求項1から5のいずれか一項に記載の方法。
  8. 前記タグが、前記複製ファイルの新バージョン(150)のプリロード(51)の無事完了時にセットされ、前記作用的処理(240、240'、240")による最初の読取りでリセットされる請求項7に記載の方法。
  9. 前記受け取られる更新要求(142)が少なくとも1つの更新を含み、前記共有ファイルシステム(160)の中に複製ファイルの新バージョン(150)を生成して格納する前記ステップが、インクリメンタル処理であって、前記マスタサーバ(112)の中で、
    前記共有ファイルシステム(160)から複製ファイルの現行バージョン(250)を取得して、更新するべき前記複製ファイルの前記現行バージョンを適切なフォーマット(114)に変換するステップ(152)と、
    前記現行バージョンに前記更新を適用し(142)、前記共有ファイルシステム(160)中に前記複製ファイルの前記新バージョン(150)を変換して格納するステップ(154)とを含む請求項1から8のいずれか一項に記載の方法。
  10. 前記複製ファイル(150、250)が、前記共有ファイルシステム(160)に格納されるとき圧縮され、前記インクリメンタル更新(152)を遂行するとき、前記共有ファイルシステム(160)に格納された前記複製ファイルが、前記マスタサーバ(112)によって解凍されて適切なフォーマットに変換され、プリロード(51)に際して、前記スレイブノード(210、210'、210")によって解凍されて適切なフォーマットに変換される請求項9に記載の方法。
  11. すべてのスレイブノード(210、210'、210")が前記プリロードの無事完了を確認した(52)わけではない場合には、前記マスタノード(110)が、前記更新要求(142)を送った管理者にエラーの通知を送る請求項1に記載の方法。
  12. 前記共有ファイルシステム(160)がネットワークに接続された記憶装置(NAS)である請求項1から11のいずれか一項に記載の方法。
  13. 前記スレイブデータベース(260)が格納するのは、複製ファイルの前記バージョンに関連するデータのみである請求項1から12のいずれか一項に記載の方法。
  14. コンピュータ可読記憶メディアに格納され、請求項1から13のいずれか一項に記載の方法を遂行するコンピュータプログラム。
  15. アプリケーション層(200)およびマスタ層(100)を備える分散型の多層クライアント/サーバのデータ処理システムであって、前記アプリケーション層(200)が複数の独立した処理スレイブノード(210、210'、210")を備え、前記マスタ層(100)が、前記スレイブノード(210、210'、210")に複製ファイル(250、150)を分散するように構成されたマスタノード(110)、マスタデータベース(120)およびマスタサーバ(112)を備え、前記マスタ層(100)が共有ファイルシステム(160)を備え、前記マスタサーバ(112)が、前記マスタデータベース(120)を更新するようにとの更新要求(142)を受け取り(1)、前記共有ファイルシステム(160)に格納された複製ファイルの新バージョン(150)を生成して、前記新バージョン(150)を前記共有ファイルシステム(160)に格納する(2)ように構成されていること、すべてのスレイブノード(210、210'、210")に接続され、すべての複製ファイルバージョン(150、250)を記録するように構成されたスレイブデータベース(260)を前記マスタ層(100)が備えること、および前記システムが、
    すべてのスレイブノード(210、210'、210")に対して前記複製ファイルの前記新バージョン(150)の可用性を通知し(3、4)、
    各スレイブノード(210、210'、210")において、前記共有ファイルシステム(160)からの前記複製ファイルの前記新バージョン(150)のプリロードを開始(51)して、前記プリロードの終了に際して前記プリロードの無事完了を確認し(52)、
    すべてのスレイブノード(210、210'、210")が前記プリロードの無事完了を確認した(52)場合に限って、前記マスタサーバ(112)でプリロード達成の通知を受け取るステップ(6)、前記マスタサーバ(112)から、前記複製ファイルの前記新バージョン(150)のデータを用いて前記マスタデータベース(120)を更新する(7)ことにより、前記マスタ層(100)による前記複製ファイルの前記新バージョン(150)の使用をコミットするステップ、前記スレイブデータベース(260)における前記複製ファイルの前記新バージョン(150)の前記使用をコミットするステップ(9)、すべてのスレイブノード(210、210'、210")のコミットメントの通知を前記マスタサーバ(112)に転送するステップ(10)、マスタサーバ(112)から、受け取った前記更新要求(142)に応答して、前記更新の達成を確認するステップ(11)を遂行し、
    すべての前記スレイブノード(210、210'、210")が前記プリロードの無事完了を確認した(52)わけではない場合には、前記マスタノード(110)でエラーの通知を受け取る
    ように構成されること
    を特徴とするデータ処理システム。
JP2014523306A 2011-08-03 2012-07-31 クライアント/サーバシステムの分散した複製コンテンツの強一貫性を維持するための方法およびシステム Active JP6165729B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP11306011.5 2011-08-03
EP11306011.5A EP2555129B1 (en) 2011-08-03 2011-08-03 Method and system to maintain strong consistency of distributed replicated contents in a client/server system
US13/136,576 2011-08-04
US13/136,576 US8495017B2 (en) 2011-08-03 2011-08-04 Method and system to maintain strong consistency of distributed replicated contents in a client/server system
PCT/EP2012/064966 WO2013017599A1 (en) 2011-08-03 2012-07-31 Method and system to maintain strong consistency of distributed replicated contents in a client/server system

Publications (2)

Publication Number Publication Date
JP2014535081A true JP2014535081A (ja) 2014-12-25
JP6165729B2 JP6165729B2 (ja) 2017-07-19

Family

ID=44534206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014523306A Active JP6165729B2 (ja) 2011-08-03 2012-07-31 クライアント/サーバシステムの分散した複製コンテンツの強一貫性を維持するための方法およびシステム

Country Status (11)

Country Link
US (1) US8495017B2 (ja)
EP (1) EP2555129B1 (ja)
JP (1) JP6165729B2 (ja)
KR (1) KR101623663B1 (ja)
CN (1) CN103858122B (ja)
AU (1) AU2012292068B2 (ja)
BR (1) BR112014002501A2 (ja)
CA (1) CA2848910C (ja)
ES (1) ES2723781T3 (ja)
WO (1) WO2013017599A1 (ja)
ZA (1) ZA201400774B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021501399A (ja) * 2017-10-31 2021-01-14 アビニシオ テクノロジー エルエルシー 永続性レベル表示器を使用してコンピュータクラスタを管理すること

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331801B2 (en) 2011-09-23 2019-06-25 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
GB2495079A (en) 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US10311027B2 (en) 2011-09-23 2019-06-04 Open Invention Network, Llc System for live-migration and automated recovery of applications in a distributed system
US9483542B2 (en) 2011-09-23 2016-11-01 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US9547705B2 (en) 2011-09-23 2017-01-17 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US9477739B2 (en) * 2011-09-23 2016-10-25 Hybrid Logic Ltd System for live-migration and automated recovery of applications in a distributed system
US20130227143A1 (en) * 2012-02-27 2013-08-29 Verizon Patent And Licensing Inc. Method and system for providing transaction management in a request-oriented service architecture using meta-models
US20130227101A1 (en) * 2012-02-27 2013-08-29 Verizon Patent And Licensing, Inc. Method and system for providing transaction management in a request-oriented service architecture
US9542177B1 (en) * 2012-10-30 2017-01-10 Amazon Technologies, Inc. Peer configuration analysis and enforcement
US8977830B1 (en) * 2012-11-26 2015-03-10 Emc Corporation Crash consistency
US9003106B1 (en) * 2012-11-26 2015-04-07 Emc Corporation Crash consistency
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9430545B2 (en) * 2013-10-21 2016-08-30 International Business Machines Corporation Mechanism for communication in a distributed database
US20160277182A1 (en) * 2013-11-18 2016-09-22 Mitsubishi Electric Corporation Communication system and master apparatus
US9723054B2 (en) 2013-12-30 2017-08-01 Microsoft Technology Licensing, Llc Hierarchical organization for scale-out cluster
US9430508B2 (en) 2013-12-30 2016-08-30 Microsoft Technology Licensing, Llc Disk optimized paging for column oriented databases
US9898398B2 (en) 2013-12-30 2018-02-20 Microsoft Technology Licensing, Llc Re-use of invalidated data in buffers
US20150263900A1 (en) * 2014-03-11 2015-09-17 Schlumberger Technology Corporation High performance distributed computing environment particularly suited for reservoir modeling and simulation
KR101672682B1 (ko) * 2014-04-24 2016-11-03 미쓰비시덴키 가부시키가이샤 제어 시스템, 마스터국, 및 리모트국
US10423498B2 (en) * 2014-06-26 2019-09-24 Sybase, Inc. Zero data loss transfer protocol
KR101713537B1 (ko) * 2014-08-05 2017-03-09 네이버 주식회사 데이터의 일관성을 보장하는 상태기기 기반의 복제 및 체크포인트데이터와 복제로그를 이용한 분산 복구를 처리하는 데이터 복제 방법 및 데이터 저장 시스템
CN104361424B (zh) * 2014-10-11 2018-05-04 中国电子科技集团公司第十研究所 基于企业服务总线的主数据系统集成方法
JP2016081349A (ja) * 2014-10-17 2016-05-16 ソニー株式会社 情報処理装置、情報処理方法、および情報処理システム
US10303796B2 (en) * 2015-01-09 2019-05-28 Ariba, Inc. Updating distributed shards without compromising on consistency
US9774729B2 (en) * 2015-03-26 2017-09-26 Futurewei Technologies, Inc. System and method for mobile core data services
CN104881444B (zh) * 2015-05-14 2018-08-14 微梦创科网络科技(中国)有限公司 网站中更新缓存服务器的方法及系统
CN106375102B (zh) 2015-07-22 2019-08-27 华为技术有限公司 一种服务注册方法、使用方法及相关装置
CN105354046B (zh) * 2015-09-15 2019-03-26 深信服科技股份有限公司 基于共享磁盘的数据库更新处理方法及系统
US10496630B2 (en) 2015-10-01 2019-12-03 Microsoft Technology Licensing, Llc Read-write protocol for append-only distributed databases
US10025947B1 (en) * 2015-11-30 2018-07-17 Ims Health Incorporated System and method to produce a virtually trusted database record
CN105608229A (zh) * 2016-01-29 2016-05-25 锐达互动科技股份有限公司 一种主从数据库同步系统及方法
CN105744298A (zh) * 2016-01-30 2016-07-06 安徽欧迈特数字技术有限责任公司 一种基于视频码流技术的工业交换机电口传输方法
CN107656937B (zh) * 2016-07-26 2021-05-25 北京京东尚科信息技术有限公司 用于实现读写数据一致性的方法和装置
EP3285220A1 (en) * 2016-08-18 2018-02-21 Mastercard International Incorporated Transaction control management
CN107809326B (zh) * 2016-09-09 2021-07-06 阿里巴巴集团控股有限公司 数据一致性的处理方法、装置和设备
CN108123967A (zh) * 2016-11-28 2018-06-05 中国石油天然气股份有限公司 一种集群系统的数据同步方法和系统
CN108123976B (zh) * 2016-11-30 2020-11-20 阿里巴巴集团控股有限公司 集群间的数据备份方法、装置及系统
CN108574854A (zh) * 2017-03-10 2018-09-25 达创科技股份有限公司 传输多媒体数据的方法、伺服器及系统
US10831719B2 (en) * 2017-08-29 2020-11-10 Western Digital Technologies, Inc. File consistency in shared storage using partial-edit files
CN110019091A (zh) * 2017-12-03 2019-07-16 中国直升机设计研究所 一种异地数据协同系统
CN108052358B (zh) * 2017-12-12 2021-07-13 上海天旦网络科技发展有限公司 一种分布式部署的系统和方法
CN110045912B (zh) 2018-01-16 2021-06-01 华为技术有限公司 数据处理方法和装置
CN110309156A (zh) * 2018-03-01 2019-10-08 阿里巴巴集团控股有限公司 数据库系统、数据库更新、扩容方法及设备
KR102116814B1 (ko) 2018-06-22 2020-05-29 주식회사 티맥스 소프트 어플리케이션 무중단 배포 시 응용 프로그램 버전 정합성을 위한 방법 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램
KR102116813B1 (ko) 2018-06-22 2020-05-29 주식회사 티맥스 소프트 분산 환경 시스템에서의 어플리케이션 무중단 배포 시 불필요한 리소스 인식 및 해제 방안
US10922199B2 (en) * 2018-07-04 2021-02-16 Vmware, Inc. Role management of compute nodes in distributed clusters
CN110825309B (zh) 2018-08-08 2021-06-29 华为技术有限公司 数据读取方法、装置及系统、分布式系统
CN111406251B (zh) 2018-08-24 2023-12-08 华为技术有限公司 数据预取方法及装置
CN109165230A (zh) * 2018-09-11 2019-01-08 郑州云海信息技术有限公司 一种分布式集群管理软件数据同步的方法、装置及设备
CN110008284B (zh) * 2019-03-18 2021-06-22 武汉达梦数据库股份有限公司 基于数据页预加载及回滚的数据库数据同步方法及设备
CN109977168B (zh) * 2019-03-18 2021-11-05 武汉达梦数据库股份有限公司 基于数据页预加载的数据库数据同步方法及设备
CN110297640B (zh) * 2019-06-12 2020-10-16 北京三快在线科技有限公司 模型部署的方法、装置、存储介质及电子设备
CN110737670B (zh) * 2019-10-21 2023-06-13 中国民航信息网络股份有限公司 一种集群数据一致性的保障方法、装置及系统
US11455312B1 (en) 2019-11-20 2022-09-27 Sabre Glbl Inc. Data query system with improved response time
CN111147560B (zh) * 2019-12-18 2022-05-17 河北远东通信系统工程有限公司 基于http协议以及断点续传的数据同步方法
CN111240698A (zh) * 2020-01-14 2020-06-05 北京三快在线科技有限公司 模型部署的方法、装置、存储介质及电子设备
CN111273965B (zh) * 2020-02-17 2021-10-29 支付宝(杭州)信息技术有限公司 一种容器应用启动方法、系统、装置及电子设备
CN111930396B (zh) * 2020-06-29 2021-05-11 广西东信易联科技有限公司 一种基于notify机制的4G路由器中通讯模组的升级方法
CN113297231A (zh) * 2020-07-28 2021-08-24 阿里巴巴集团控股有限公司 数据库处理方法及装置
US11570243B2 (en) * 2020-09-22 2023-01-31 Commvault Systems, Inc. Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
KR102440733B1 (ko) * 2020-10-26 2022-09-05 피네보 주식회사 결제 처리를 위한 시스템 및 방법
CN112307083B (zh) * 2020-10-28 2024-08-06 深圳前海微众银行股份有限公司 数据处理方法、装置及服务器
CN112492026B (zh) * 2020-11-26 2022-08-23 郑州师范学院 动态云存储环境下混合型自适应副本一致性更新方法
CN112699325B (zh) * 2021-01-14 2022-07-26 福建天晴在线互动科技有限公司 一种缓存二次淘汰保障数据一致性的方法及其系统
CN112699139A (zh) * 2021-01-14 2021-04-23 福建天晴在线互动科技有限公司 一种利用数据服务中心来保证数据一致性的方法及其系统
CN113778975B (zh) * 2021-09-15 2023-11-03 京东科技信息技术有限公司 基于分布式数据库的数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478400B1 (en) * 2003-12-31 2009-01-13 Symantec Operating Corporation Efficient distributed transaction protocol for a distributed file sharing system
US7500020B1 (en) * 2003-12-31 2009-03-03 Symantec Operating Corporation Coherency of replicas for a distributed file sharing system
US7624155B1 (en) * 2001-12-20 2009-11-24 Emc Corporation Data replication facility for distributed computing environments

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721909A (en) * 1994-03-30 1998-02-24 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5835757A (en) * 1994-03-30 1998-11-10 Siemens Telecom Networks Distributed database management system for servicing application requests in a telecommunications switching system
US5566304A (en) * 1995-05-08 1996-10-15 Apple Computer, Inc. Method of dynamic selection between immediate and delayed read access acknowledgement
US6411991B1 (en) * 1998-09-25 2002-06-25 Sprint Communications Company L.P. Geographic data replication system and method for a network
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US20010039548A1 (en) * 2000-04-27 2001-11-08 Yoshitake Shinkai File replication system, replication control method, and storage medium
US6711572B2 (en) * 2000-06-14 2004-03-23 Xosoft Inc. File system for distributing content in a data network and related methods
US6751721B1 (en) * 2000-08-31 2004-06-15 Hewlett-Packard Development Company, L.P. Broadcast invalidate scheme
US20040122730A1 (en) * 2001-01-02 2004-06-24 Tucciarone Joel D. Electronic messaging system and method thereof
US20030023898A1 (en) * 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US6917951B2 (en) * 2001-07-26 2005-07-12 Microsoft Corporation System and method for replicating data in resource sets
US7243103B2 (en) * 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
US7617289B2 (en) * 2002-02-22 2009-11-10 Bea Systems, Inc. System and method for using a data replication service to manage a configuration repository
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
TWI256556B (en) * 2002-07-08 2006-06-11 Via Tech Inc Distributed concurrent version management system and method
DE60218304D1 (de) * 2002-08-29 2007-04-05 Hewlett Packard Co Verfahren und Vorrichtung zur Datenverteilung in einem Netzwerk
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
CN1261877C (zh) * 2002-10-11 2006-06-28 鸿富锦精密工业(深圳)有限公司 多节点文件同步系统及方法
US7359926B1 (en) * 2003-02-13 2008-04-15 Stampede, Technologies, Inc. System for optimization of database replication/synchronization
US7567987B2 (en) * 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
JP2006059319A (ja) * 2004-07-21 2006-03-02 Ricoh Co Ltd 情報処理装置、プログラムおよび記憶媒体
US20060190549A1 (en) * 2004-07-23 2006-08-24 Kouichi Teramae Multi-media information device network system
US7401192B2 (en) * 2004-10-04 2008-07-15 International Business Machines Corporation Method of replicating a file using a base, delta, and reference file
US7548928B1 (en) * 2005-08-05 2009-06-16 Google Inc. Data compression of large scale data stored in sparse tables
US20070088702A1 (en) * 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
US7653668B1 (en) * 2005-11-23 2010-01-26 Symantec Operating Corporation Fault tolerant multi-stage data replication with relaxed coherency guarantees
US8756683B2 (en) * 2006-12-13 2014-06-17 Microsoft Corporation Distributed malicious software protection in file sharing environments
JP2008197779A (ja) * 2007-02-09 2008-08-28 Fujitsu Ltd 階層型ストレージ管理システム、階層制御装置、階層間ファイル移動方法、及びプログラム
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US7788233B1 (en) * 2007-07-05 2010-08-31 Amazon Technologies, Inc. Data store replication for entity based partition
US8887298B2 (en) * 2007-07-13 2014-11-11 Microsoft Corporation Updating and validating documents secured cryptographically
US20090063503A1 (en) * 2007-09-05 2009-03-05 Kevin Ward Method and system for remote cache access
US7872581B2 (en) * 2007-09-28 2011-01-18 Nokia Corporation Method, devices and system for multiple RFID tag read-out
DE102007048579B4 (de) * 2007-10-10 2016-05-19 Airbus Operations Gmbh Mehrzweck-Flugbegleiterpanel
US20090157766A1 (en) * 2007-12-18 2009-06-18 Jinmei Shen Method, System, and Computer Program Product for Ensuring Data Consistency of Asynchronously Replicated Data Following a Master Transaction Server Failover Event
US8170990B2 (en) * 2008-05-30 2012-05-01 Hitachi, Ltd. Integrated remote replication in hierarchical storage systems
US8301593B2 (en) * 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US7962458B2 (en) * 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
DE102008035601A1 (de) * 2008-07-31 2010-02-04 Walter, Thomas, Dr.-Ing. System zum Verwalten von Dateien
SE533007C2 (sv) * 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
EP2410431B1 (en) * 2009-03-19 2014-05-07 Murakumo Corporation Method and system for data replication management
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
US20110016100A1 (en) * 2009-07-16 2011-01-20 Microsoft Corporation Multiple fidelity level item replication and integration
US8683161B2 (en) * 2009-07-30 2014-03-25 Franz Michael Schuette Method and apparatus for increasing file copy performance on solid state mass storage devices
KR101601032B1 (ko) * 2009-12-01 2016-03-08 삼성전자주식회사 메모리 카드의 장착이 가능한 이동 단말기 및 그의 메모리 카드 관리 방법
WO2011083505A1 (en) * 2010-01-05 2011-07-14 Hitachi, Ltd. Method and server system for testing and executing migration between virtual servers
US8743888B2 (en) * 2010-07-06 2014-06-03 Nicira, Inc. Network control apparatus and method
US20120079090A1 (en) * 2010-09-17 2012-03-29 Oracle International Corporation Stateful subnet manager failover in a middleware machine environment
US8732108B2 (en) * 2010-10-07 2014-05-20 International Business Machines Corporation Rule authoring for events in a grid environment
US8301600B1 (en) * 2010-11-15 2012-10-30 Amazon Technologies, Inc. Failover recovery in a distributed data store
US8442962B2 (en) * 2010-12-28 2013-05-14 Sap Ag Distributed transaction management using two-phase commit optimization
US9063969B2 (en) * 2010-12-28 2015-06-23 Sap Se Distributed transaction management using optimization of local transactions
CN102122306A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 一种数据处理方法及应用该方法的分布式文件系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624155B1 (en) * 2001-12-20 2009-11-24 Emc Corporation Data replication facility for distributed computing environments
US7478400B1 (en) * 2003-12-31 2009-01-13 Symantec Operating Corporation Efficient distributed transaction protocol for a distributed file sharing system
US7500020B1 (en) * 2003-12-31 2009-03-03 Symantec Operating Corporation Coherency of replicas for a distributed file sharing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021501399A (ja) * 2017-10-31 2021-01-14 アビニシオ テクノロジー エルエルシー 永続性レベル表示器を使用してコンピュータクラスタを管理すること
JP7038204B2 (ja) 2017-10-31 2022-03-17 アビニシオ テクノロジー エルエルシー 永続性レベル表示器を使用してコンピュータクラスタを管理すること

Also Published As

Publication number Publication date
ES2723781T3 (es) 2019-09-02
US20130036092A1 (en) 2013-02-07
CA2848910C (en) 2018-09-04
CN103858122A (zh) 2014-06-11
EP2555129B1 (en) 2019-02-06
CA2848910A1 (en) 2013-02-07
AU2012292068A1 (en) 2013-05-02
CN103858122B (zh) 2016-12-28
JP6165729B2 (ja) 2017-07-19
ZA201400774B (en) 2015-05-27
US8495017B2 (en) 2013-07-23
KR101623663B1 (ko) 2016-05-23
KR20140068916A (ko) 2014-06-09
BR112014002501A2 (pt) 2017-03-01
WO2013017599A1 (en) 2013-02-07
AU2012292068B2 (en) 2015-01-22
EP2555129A1 (en) 2013-02-06

Similar Documents

Publication Publication Date Title
JP6165729B2 (ja) クライアント/サーバシステムの分散した複製コンテンツの強一貫性を維持するための方法およびシステム
CN105897946B (zh) 一种访问地址的获取方法及系统
CN102779185B (zh) 一种高可用分布式全文索引方法
KR101863398B1 (ko) 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법
US7076553B2 (en) Method and apparatus for real-time parallel delivery of segments of a large payload file
EP1932322B1 (en) System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases
CA2827265C (en) Method and system for centralized reservation context management on multi-server reservation system
CN103605698A (zh) 一种用于分布异构数据资源整合的云数据库系统
CN107787490A (zh) 分布式数据库网格中的直接连接功能
CN106777311B (zh) 航班舱位状态缓存方法和系统
CN113010549B (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
CN102882927A (zh) 一种云存储数据同步框架及其实现方法
CN102831156A (zh) 一种云计算平台上的分布式事务处理方法
RU2606058C2 (ru) Усовершенствованная система управления запасами и способ для ее осуществления
US9081839B2 (en) Push replication for use with a distributed data grid
KR101690288B1 (ko) 데이터를 저장하고 검색하는 방법 및 시스템
CN103399894A (zh) 一种基于共享存储池的分布式事务处理方法
CN105723365B (zh) 用于优化索引、主数据库节点和订户数据库节点的方法
Pankowski Consistency and availability of Data in replicated NoSQL databases
CN117648297B (zh) 基于对象存储小文件离线合并方法、系统、设备及介质
CN108347454A (zh) 元数据交互方法及系统
CN115567730A (zh) 一种抖药平台
EP2713284B1 (en) Method and system of storing and retrieving data
Jensen et al. A Highly Available Grid Metadata Catalog

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170621

R150 Certificate of patent or registration of utility model

Ref document number: 6165729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250