JP2005535044A - マルチコンピュータ・アーキテクチャにおけるソフトウェアの模写による作動の連続性 - Google Patents
マルチコンピュータ・アーキテクチャにおけるソフトウェアの模写による作動の連続性 Download PDFInfo
- Publication number
- JP2005535044A JP2005535044A JP2004526954A JP2004526954A JP2005535044A JP 2005535044 A JP2005535044 A JP 2005535044A JP 2004526954 A JP2004526954 A JP 2004526954A JP 2004526954 A JP2004526954 A JP 2004526954A JP 2005535044 A JP2005535044 A JP 2005535044A
- Authority
- JP
- Japan
- Prior art keywords
- application
- node
- replication
- resources
- continuity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010076 replication Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 119
- 230000007246 mechanism Effects 0.000 claims abstract description 48
- 230000003362 replicative effect Effects 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 26
- 238000011084 recovery Methods 0.000 claims description 11
- 230000007547 defect Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000004888 barrier function Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims 1
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
Abstract
マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアをレプリカ模写する方法。このアプリケーション・ソフトウェアは、クラスターのうちプライマリ・ノード又はオペレーショナル・ノードを構成するプライマリ・コンピュータ上で予め実行されていると共に、クラスターのうちセカンダリ・ノードを構成する少なくとも1つの他のコンピュータ上に模写されるようになっており、この方法はこのアプリケーション・ソフトウェアに関連するリソースの模写を含む。この方法は模写すべきアプリケーションの構造を供給するためのダイナミック内省メカニズムによってリソースレプリカを最新式にアップデートすること、並びに、使用するリソースおよび従属性のダイナミックグラフを包含する。
Description
本発明は、マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアを模写する(レプリカを作る)方法に関する。本発明は、また、本発明の模写方法を用いてコンピュータのクラスターの中でアプリケーション・ソフトウェアの作動の連続性を実現する方法、および、この作動の連続性方法を実施するマルチコンピュータ装置に関する。
本発明の分野は、互いに協働する複数のコンピュータで構成されたコンピュータクラスターの分野である。これらのクラスターは例えばアプリケーションソフトウェアを実行するために使用される。即ち、所与の瞬間において、アプリケーションはクラスターの複数のコンピュータのうちプライマリノード又はオペレーショナルノード(OP)と呼ばれる1つのコンピュータで実行され、クラスターの他のコンピュータは、冗長アーキテクチャの文脈においては、二次的ノード又はスタンドバイ・ノード(SB)と呼ばれる。
ところが、このようなクラスターの作動には、ハードウエアや開発システムの欠陥や、人的な誤りや、アプリケーション自体の欠陥に起因する信頼性の問題がある。
これらの信頼性の問題を解決するため、現在、今日の大部分のクラスターで使用されている高利用性と呼ばれるメカニズムがあり、これはクラスターの二次的ノードのいづれかのバックアップノード上でのアプリケーションの冷間自動リスタートに立脚している。
ところが、自動リスタートに立脚するこれらのメカニズムは、欠陥時に実行中のアプリケーションが提供するサービスの完全な連続性を保障することを可能にするものではない。
特に、マルチコンピュータ・アーキテクチャの中でアプリケーション・ソフトウェアを模写(レプリカ化)するという問題があり、この模写はサービスの完全な連続性を保障しなければならない。
そこで、本発明の主たる目的は、マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアを模写(レプリカ化)するための方法を提供するもので、このアプリケーション・ソフトウェアは、前記クラスターのうちプライマリ・ノードを構成するプライマリ・コンピュータ上で予め実行されていると共に、前記クラスターのうちセカンダリ・ノードを構成する少なくとも1つの他のコンピュータ上に模写されるようになっており、この方法は前記アプリケーション・ソフトウェアに関連するリソースの模写を含む。
この主たる目的は、模写すべきアプリケーションの構造を供給するためのダイナミック内省メカニズムによって模写されたリソースを最新式にアップデートすることを包含すると共に、使用するリソースおよび従属性のダイナミックグラフを包含することを特徴とする模写方法によって達成される。
好ましくは、この模写方法は、更に、各瞬間に模写が必要なリソースについての情報を供給する従属性ツリーの生成と維持を包含する。
留意すべきことに、本発明の模写方法においては、関連するセカンダリ(又はスタンバイ)ノードの数は任意である。
本発明の好ましい実施態様においては、本発明の模写方法は、更に、模写すべきリソースを1若しくは複数のセカンダリノード上に模写する“チェックポインティング”メカニズムを包含する。
本発明の模写方法は、好ましくは、以下の3段階を包含することができる:
−プライマリノード上でのリソースの獲得、
−ネットワークによる1又は複数のセカンダリノードへの移送、および、
−前記セカンダリノード上での復旧。
−プライマリノード上でのリソースの獲得、
−ネットワークによる1又は複数のセカンダリノードへの移送、および、
−前記セカンダリノード上での復旧。
本発明の模写方法は、好ましくは、ダイナミックプロセス分配によるロードシェアリングによってデータ処理リソースを自動的に最適化するために使用することができる。この方法は、また、データ処理リソース・ネットワークにおける要求によるプロセス・リロケーションによるノン・インタラプティブ・メンテナンスのために、或いは、モバイル・アプリケーションにおいてアプリケーション・コンテキストを保存するために、利用することができる。
本発明の他の目的は、マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーションソフトウェアの作動の連続性を実現する方法を提供することにあり、このアプリケーションは所与の瞬間にクラスターの複数のコンピュータのうちプライマリノード又はオペレーショナルノードと呼ばれる1つのコンピュータで実行され、前記クラスターの他のコンピュータは二次的ノードと呼ばれる。
前記他の目的は、マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーションソフトウェアの作動の連続性を実現する方法によって達成されるもので、このアプリケーションは所与の瞬間にクラスターの複数のコンピュータのうちプライマリノード又はオペレーショナルノードと呼ばれる1つのコンピュータで実行されており、前記クラスターの他のコンピュータは二次的ノードと呼ばれる。
本発明によれば、この方法は以下の段階を包含する:
−前記アプリケーションの少なくとも1つのクローンを形成するべく少なくともセカンダリノード上にアプリケーションを模写すること、
−前記クローンを最新式にアップデートすること、および、
−欠陥又は前記プライマリノードに影響する出来事を検出したときに、前記クローンの少なくとも1つの方へサービスを切り換えること。
−前記アプリケーションの少なくとも1つのクローンを形成するべく少なくともセカンダリノード上にアプリケーションを模写すること、
−前記クローンを最新式にアップデートすること、および、
−欠陥又は前記プライマリノードに影響する出来事を検出したときに、前記クローンの少なくとも1つの方へサービスを切り換えること。
こうして、本発明の作動の連続性を実現する方法によれば、アプリケーションの模写から得られたクローン・アプリケーションを備え、かつ、欠陥又はプライマリノードに影響する出来事を検出したときにこのアプリケーションを連続的にリレーすることの可能な、セカンダリノードを利用することが可能となる。
本発明の模写方法で実施する模写は好ましくはホリスティックタイプである。従って、これらのクローンをアップデートしながら、決定論的かつ完全にアプリケーションの最新式のクローンが得られる。
これらのクローンはいわゆる“ホット”であり、即ち、それらはアプリケーションおよびその全てのオペレーショナル・コンテキストの正確なレプリカである。それらは規則的に(周期的に又は特徴的な出来事に応じて)アップデートされる。これらのクローンはアプリケーションがそのサービスを提供するに必要なあらゆるリソースと情報をもっている。
本発明の模写方法は、更に、アプリケーションの良好な作動に必要なリソースの状態を監視することを可能にする。もしもいづれかのアプリケーションが回復不能に劣化したならば、本発明の模写方法は新たなプライマリとして1つのクローンを選択し、それに交代するよう命令する。
この選択は切換え(スイッチング)と呼ばれ、アプリケーションと通信する残部の世界にとって透明である:即ち、プライマリノードが稼働していないにも拘わらず、アプリケーションが提供するサービスは中断されない。何故ならば、アプリケーションはそのあらゆるコンテキストと共に選択されたクローンによって交代されるからである。
こうして、プライマリノードによるにせよ(切換え前)、クローンによるにせよ(切換え後)、アプリケーションに対し残部の世界によって送信された全てのメッセージが処理されることを保障することができる。このため、本発明の模写方法は、クローンの最後のアップデート以降にプライマリが受け取った全てのメッセージを(周期的クローン生成メカニズムに加えて)各クローン上に登録することを更に包含することができる。これらのメッセージは切換えの場合には選択された新たなプライマリクローン内に注入されるであろう。
ホリスティックな模写は移動(マイグレーション)プロセスの既存システム内で既に実行されているメカニズムに交代する。しかし、本発明の模写方法内でなされた構想と用途は従来公知のあらゆる開発とは異なるものである。
本発明の作動の連続性を実現する方法は、従って、透明で、ホリスティックで、最適化されたレプリカを使用し、このレプリカはアプリケーションの脱ローカル化とリソースの仮想化によるサービスの連続性に捧げられる。
この方法によれば、クラスター型マルチコンピュータの中でのフォールト許容範囲の使用を無効にする従来方法の幾つかの制約が解消される。
第1の制約はプライマリノードとセカンダリノードとの間の独立性の問題である。従来のシステムにおいては、プライマリノードからセカンダリノードへのリソースの模写はプロセスを通じてプライマリノードがオペレーショナルに存在することを前提としており、かつ、必要としている。本発明の模写方法は、プライマリが消失した場合でもクローンはあらゆる瞬間において全く自律的に生きているので、この制約を解消するものである。このプライマリ/セカンダリ脱相関関係はフォールト許容範囲の必要条件である。
本発明の模写方法で実施する模写はホリスティックであるので、相互依存式非同期式リソースの首尾一貫した一体性を獲得する。従来技術の方法においては、独立したリソースの状態のみが獲得されていた。
従来技術の方法の他の制約は、侵入性の問題にある。本発明の模写方法はソースコードに対して非侵入的である:即ち、従来例は、生成されたデータ処理プロセスおよび使用するリソースが移動されることができるためには、ソースコードの修正(又はソースコードを明白に設計すること)を必要としていた。
留意すべきことに、本発明の模写方法を実施するため、好ましくは、2002年8月2日公開の公開特許出願FR2820221に記載された非侵入的ダイナミック・ソフトウェア・エンジニアリング技術を利用することができる。これらのソフトウェア・エンジニアリング技術は、本発明の作動の連続性を実現する方法をアプリケーションに対して透明(従って、ジェネリック)にするべく、二値表示(実行可能)においてアプリケーションを操作するのを可能にする。
本発明の他の観点によれば、少なくともマルチコンピュータ上で少なくとも1つのアプリケーションソフトウェアを実行するためのマルチコンピュータ装置であって、本発明の作動の連続性を実現する方法を実行する装置が提供される。
本発明の他の利点や特徴は非限定的な実施例の詳細な説明および添付図面から明らかとなろう。
先ず、図面を参照しながら、本発明の模写方法で実施するホリスチック模写(レプリカ)メカニズムの動作を説明する。
切換えをする場合にアプリケーションをセカンダリノード上で正確に走らせるため、このアプリケーションに必要な全てのリソース(資源)がやはりセカンダリノード上に模写される必要がある。
もしもこれらのリソースが状態型のリソース(即ち、アプリケーションの実行と共に変化し、そのグローバルな文脈に寄与するリソース)であるならば、それらの状態もまた首尾一貫して獲得され模写されなければならない。
これらのリソースの全ては、アプリケーションの初期化の際に発見され、次いで、保護すべきアプリケーションの構造を自動的に得るのを可能にするダイナミック内省メカニズムによって、および、使用するリソースおよび従属性のダイナミックグラフによって、最新式にアップデートされる。
このメカニズムは、二値システムの再帰特性に、オペレーティングシステムの相続メカニズムに、および、そのリソースの状態の変更に寄与するメカニズム(システムコールを含む)の二値インスツルメンテーションによる監視に、立脚している。
図4を参照するに、本発明の模写方法の実施例においては、内省・監視ドライバは、クラスターの全てのノードに対する監視を行うと共に、監視データをシステムの情報管理ベースMIBへ送信する。このMIBベースは、チェックポイントのトリッガのためのオペレーショナルノードに対するクラスターの管理とバックアップノードに対するクラスターの管理内で同時に付勢される。MIBベースは、また、合成MIBベースを有する監督マネージャによって付勢され、グラフィックユーザインターフェース(GUI)が連携する管理システムによってアクセスされる。
この発見および最新式内省作業の結果は、各瞬間に模写が必要なリソースについての情報を本発明の模写方法に供給する“従属性ツリー”の生成と維持である。このグラフの存在はクローンの完全さと統一を保障する。
本発明の作動の連続性を実現する方法で実施する他のチェックポイント・メカニズムは、1又は複数のセカンダリノード上でリソースを模写することからなる。このリソース模写メカニズムは3段階で行われる:
−プライマリノード上でのリソースの獲得、
−ネットワークによる1又は複数のセカンダリノードへの移送、および、
−セカンダリノード上での復旧。
−プライマリノード上でのリソースの獲得、
−ネットワークによる1又は複数のセカンダリノードへの移送、および、
−セカンダリノード上での復旧。
模写されたリソースは:
−関連する各プロセスの仮想メモリ、および、そのコールスタックと、
−システム(プロセス間通信、ネットワーク接続、など)リソースと、
−ディスクに書き込まれたデータ、
を含む。
−関連する各プロセスの仮想メモリ、および、そのコールスタックと、
−システム(プロセス間通信、ネットワーク接続、など)リソースと、
−ディスクに書き込まれたデータ、
を含む。
リソースの模写メカニズムはアプリケーションに必要なリソースの全てが完全にかつ首尾一貫して(故に、ホリスティック)移送されることを保障する。
本発明の模写方法の実施は、アプリケーションがそのコンテキスト(前後関係)を失うことなくセカンダリ上で生き続けることができることを保障する:即ち、アプリケーションは脱ローカル化され、下にあるハードウエアとオペレーティングシステムは仮想化され、アプリケーションは物理的ローカル化とは独立に振る舞う。
切換えをする場合には、アプリケーションは停止したものとは考えられない:即ち、アプリケーションはそのコンテキストにおいて回り続けてはいるが、但し他のハードウエアリソース上でである。
アプリケーションが使用するリソースは多種多様である(マルチプロセス、オペレーティングシステム、等)。それは非決定論的な環境で非同期式に生きている。
本発明の模写方法は非同期式“チェックポインティング(チェックポイント生成)”アルゴリズムを実行する:同期化バリヤーが全てのリソースへ送信され、本発明の模写方法は状態の獲得が完全で首尾一貫していることを保障する。
次に本発明の模写方法で使用する最適化技術を説明する。全てのリソースの状態の決定論的かつ完全な獲得はシステムの性能にとって高価である。更に、アプリケーションの性能に対するインパクトが小さいことが製品市場によって認められるための(従って、要するに、その有用性のための)必要条件である。従って、このインパクトを最小にするため、複数の最適化技術が想定され開発されている。
最初に、略同期式のチェックポイントは従来型のチェックポイント生成メカニズムの最適化である:それは、非同期式アルゴリズムが必要とするように獲得の最中にシステムを全体的に停止させることなく、同期式アルゴリズムの獲得の首尾一貫性を提供する。
チェックポイントの周期は、切換え後のチェックの時間(潜在的には2つのチェックポイント間の周期が長ければ長いほど長い)と獲得し移送すべき状態の情報量との間の妥協を最適化するべく、調節可能である。
更に、チェックポイントはインクレメント式である:図1の作動例が示すように、2つのチェックポイントの間の状態の差のみが送信される。この実施例では、インクレメント式チェックポイントはレプリカ・アプリケーションを得るべくマスターアプリケーションから行われ、プライマリノードとセカンダリノードとの間で分担(シェア)されたディスクが使用される。
従って、最初のチェックポイントは性能(クローンの初期化)の点で高価であるが、後続のチェックポイントはインパクトが小さい。
チェックポイントは、また、デクレメント式である:従属性グラフの知的分析は送信すべき情報量を必要最小限に制限するのを可能にする。
最後に、本発明の模写方法で実施するコピー・オン・ライト(書き込み時コピー)のメカニズムの一例を示す図5を参照するに、オペレーティングシステムが提供する“コピー・オン・ライト”のメカニズムは、チェックポイントのトリッガの次に、獲得の時間を移送の時間から分離するために実行される。この実施例では、コピー・オン・ライト・メカニズムは、プロセス又はiノード(インデックスノード)を介してユーザが出力した書き込み要求の後に、新たな参照毎にデータブロック(メモリ又はディスク)上で起こる。図6に示したように、修正されたデータブロックだけが模写される。
次に、本発明の作動の連続性を実現する方法における略同期式チェックポイント生成メカニズムの実施例を説明する。このメカニズムは以下のものを含む:
−プロセス同期化バリヤー(PSB)、
−リソースの管理(RM)、
−システムリソースの管理(SRM)、
−プロセスリソースの管理(PRM)。
−プロセス同期化バリヤー(PSB)、
−リソースの管理(RM)、
−システムリソースの管理(SRM)、
−プロセスリソースの管理(PRM)。
プロセス同期化バリヤー(PSB)は、進行中の入力/出力の管理を尊重しながら、瞬間Tにおいてシステムおよびアプリケーションの状態の鮮明な“写真”を取る目的で、アプリケーションを構成するプロセスのロックの同期化を可能にするメカニズムである。
リソース管理(RM)は、1つのマシンから他のマシンへとアプリケーションを模写するに必要な異なるリソースに対して、チェックポイント操作の異なる段階のシーケンスを行うのを可能にする一組の上位自動装置である。
システムリソース管理(SRM)はチェックポイント生成メカニズムの異なる段階でアプリケーション(プロセスの全体)が利用するシステムリソースの管理の異なるルーチンの管理を可能にするメカニズムを含む。
プロセスリソース管理(PRM)はチェックポイント生成メカニズムの異なる段階でプロセスが利用するリソースの管理の異なるルーチンの管理を可能にするメカニズムを含む。このコードはアプリケーションプロセスの起動時にその内部にダイナミックにロードされる。
今日ではアプリケーションが利用するリソースを獲得するに必要な3つの主要段階が存在し、後者それ自身は異なる段階に分割される。
これらの異なる下位段階の存在理由は、異なるアプリケーションリソースおよびシステムリソースの回収/復旧にリンクされたアプリケーションロックの時間を最小限にすると共に、バックアップされた情報の首尾一貫性を保障することにある。
ダンプ:
RM_PRE_ダンプ
RM_ダンプ
RM_ポスト_ダンプ
RM_アボート_ダンプ
復旧:
RM_PRE_復旧
RM_復旧
RM_ポスト_復旧
RM_アボート_復旧
スイッチ:
RM_PRE_スイッチ
RM_スイッチ
RM_ポスト_スイッチ
RM_アボート_スイッチ
ダンプ:
RM_PRE_ダンプ
RM_ダンプ
RM_ポスト_ダンプ
RM_アボート_ダンプ
復旧:
RM_PRE_復旧
RM_復旧
RM_ポスト_復旧
RM_アボート_復旧
スイッチ:
RM_PRE_スイッチ
RM_スイッチ
RM_ポスト_スイッチ
RM_アボート_スイッチ
次に、本発明の模写方法の枠内におけるシステムリソースの仮想化(バーチャル化)を説明する。ある種のシステムリソースUNIXは各マシンに固有の独自のアイデンティファイアーによって特徴づけられる。これらのアイデンティファイアーは変数の形でアプリケーションによって保存され、これは後者が前者を参照するのを可能にする。1つのマシンから他のマシンへとアプリケーションを移動するときには、アプリケーションのメモリはシステムリソースに関連するデータも含め一体的に送られる。システムリソースの参照の単一性を保障するため、アプリケーションMETA-CLUSTERはシステムリソースの仮想化メカニズムを使用し、クラスターを構成する異なるマシンの間で単一のアイデンティファイアーを維持するのを可能にする。
これらの仮想化メカニズムは今日では以下のシステムリソースのアイデンティファイアーに適用される:
−プロセス
−PIPE
−FIFO
−IPCシステムV
−シェアメモリ
−セマフォア
−メッセージキュー
−AF UNIXソケット
−スレッド
−プロセス
−PIPE
−FIFO
−IPCシステムV
−シェアメモリ
−セマフォア
−メッセージキュー
−AF UNIXソケット
−スレッド
従って、仮想化メカニズムはクラスターの中でのシステムリソースの参照の単一性を保障すると共に、各マシン上のシステムリソースの方へのその並進移動を保障する。それらは、これらのアイデンティファイアーの操作を可能にする異なるルーチンを内省する能力を備えた、モノシステム上およびマルチプロセッサ上で、それらになされる要求の非先取り性を保障するダイナミック・コアモジュールの形で実行される。
非限定的な例として、getpidルーチンはMETA-CLUSTERがアプリケーションを引き継いだときにMETAによって編成され、アプリケーションによるその利用はCLUSTER_PIDへ戻り、後者は次いでパラメータとしてPID(kill、waitpid、など)を採用する全てのルーチン上でアプリケーションによって利用されるであろう。
図2を参照するに、本発明の模写方法は、また、CFOR(クラスター・ファイル・システムの最適化された模写)の術語で表される、オペレーショナルノードとスタンバイノードとの間のアプリケーションデータファイルの模写モジュールを含む。
CFORモジュールは従って以下の機能を遂行する:
a)データの書き込み
b)ログ(ジャーナル)の修正
c)模写の順序
d)データに基づいて構築された合成
e)移送の合成
f)ファイルシステムのアップデート
a)データの書き込み
b)ログ(ジャーナル)の修正
c)模写の順序
d)データに基づいて構築された合成
e)移送の合成
f)ファイルシステムのアップデート
この模写モジュールの作動は次の通りである:各コピー(ダンプ)の間に、CFORはクラスターが管理するアプリケーションによってファイルシステムにもたらされた修正の累積的合成的ジャーナルを機敏に構築する。
ファイルシステムの修正は多様なコールシステム(write(2)、mkdir(2)、rmdir(2)、unlink(2)、・・・)のアプリケーションプロセス内における編成によって機敏に抽出される。原理はデータのない動作のみをメモリすることからなる。即ち、もしアプリケーションがファイルに2Moを書き込むならば、動作“ファイル、書き込み、開始、終わり”しかメモリせず、データの2MoはOSによってディスク上にバックアップされ、それらを他所に複製する必要はない。
多重書き込みは最新式に合成される。もしアプリケーションが以下の動作を行うならば:
1.ファイル“toto”を開く
2.ファイルtoto内にオフセット30で30000バイトを書き込む
3.ファイルtoto内にオフセット20で20000バイトを書き込む
4.ファイル“toto”を閉じる。
得られるCFORログは以下のようになろう:
・ファイルtoto、20 ? 30030
1.ファイル“toto”を開く
2.ファイルtoto内にオフセット30で30000バイトを書き込む
3.ファイルtoto内にオフセット20で20000バイトを書き込む
4.ファイル“toto”を閉じる。
得られるCFORログは以下のようになろう:
・ファイルtoto、20 ? 30030
コピー(ダンプ)の瞬間には、構造的データ(メタデータ)並びに修正内容は別のファイルに登録される。
この別のファイルはスタンバイノードへ送信され、その実行はそれがダンプ時のオペレーショナルノードのツリー構造と厳密に同一になるようにツリー構造を同期化するのを可能にする。
次に、本発明の模写方法で実施する同期化メカニズムを説明する。
マシンSBが現れたときには、そのファイルシステム(FS)をオペレーショナルノードOPのそれに対して同期化する必要がある。この同期化はオペレーショナルノードOPをロックすることなく行わなければならず、従って、それは一定不変に進展するファイルシステムに対して行われる。画像のぼやけの問題を回避するため、同期化はオペレーショナルノードOPのファイルシステムのスナップショットを通って行われる。CFORのログのサイズを制限するため、手続きは2段階に分解される。
1.オペレーショナルノードOP上でのスナップショットの生成
2.ノードSBとの最初の同期
3.オペレーショナルノードOP上でのスナップショットの破壊
4.CFORの活性化とオペレーショナルノードOP上でのスナップショットの2回目の生成
5.ノードSBとの2回目の同期(できるだけ短時間にしなければならない)
6.オペレーショナルノードOP上でのスナップショットの削除(ノードSBは最初の全コピーを受け取る準備ができている)
7.次のコピーにおける、CFORログの移送、および、CFORのデータとのノードSBのファイルシステムFSのアップデート
8.コピー/復旧の通常サイクルが位置につく。
2.ノードSBとの最初の同期
3.オペレーショナルノードOP上でのスナップショットの破壊
4.CFORの活性化とオペレーショナルノードOP上でのスナップショットの2回目の生成
5.ノードSBとの2回目の同期(できるだけ短時間にしなければならない)
6.オペレーショナルノードOP上でのスナップショットの削除(ノードSBは最初の全コピーを受け取る準備ができている)
7.次のコピーにおける、CFORログの移送、および、CFORのデータとのノードSBのファイルシステムFSのアップデート
8.コピー/復旧の通常サイクルが位置につく。
プロセスのメモリの再複写はプロセスの内部メモリ機構をダイナミックに分析しながら、かつ、異なる領域を分離しながら行われる:
−テキスト
−データ
−実行スタック
−テキスト
−データ
−実行スタック
メモリの分析はユーザコードに侵入することなくオペレーティングシステムによって供給されたデータに基づいて行われる。これらのデータはプロセスの文脈において獲得されかつ分析され、使用したメモリの領域のテーブルを作成するのを可能にする。
分析が終わると、メモリ割り当て/開放システムコールの挿入エージェントはメモリ領域のテーブルの進展の追従を行う。
コピー(ダンプ)の際には、修正可能な(即ち、書き込みアクセス可能な)メモリ領域だけがスタンバイノードに送信され、そこで再複写される。こうして、スタンバイノード上のプロセスはオペレーショナルノード上のメモリ領域と同じメモリ領域を含んでおり、同じデータを有する。
メモリの内容のバックアップはプロセスの観点から原子的でなければならないので、バックアップはプロセスが状態を変えることができないように行われなければならない(従って、プロセスはロックされる)。従って、プロセスを余りにも長い時間ロックしないようにするため、オペレーティングシステムの“コピー・オン・ライト”メカニズム(例えば、プリミティブ(fork))を押して、プロセスのメモリ画像のコピーを作り、この画像をスタンバイノードの方へ送る。移送が終わると、“コピー・オン・ライト”メカニズムによって維持されたメモリ画像は削除される。
本発明の模写方法は、また、メモリ分析に基づくインクレメント的コピー(ダンプ)メカニズムを実行するが、更に、ページの書き込みプロテクト(保護)メカニズムを追加する。
ページの分析が行われると、書き込みアクセス可能な全てのページはプロテクト(保護)される。即ち、これらのページへの書き込みはページプロテクト違反信号の送信をトリッガする。
プロテクトはシステムコール“mprotect”のようなオペレーティングシステムが供給するメカニズムに基づいている。
アプリケーションがデータを修正しようとする時には、このデータを含んでいるページは修正されプロテクト解除されたものとマークされる。アプリケーションコードの作動はこれらのメカニズムの付加によってインパクトを受けない(非侵入性)。
インクレメント的コピー(ダンプ)の際には、前回のダンプ以降に修正されたページだけが送られる。コピー(ダンプ)が終わると、修正された全てのページは次の書き込みを検出するべく再びプロテクトされる。インクレメント的コピー(ダンプ)は各コピー(ダンプ)毎にスタンバイの方へ送るべきデータのサイズを減少させるのを可能にする。
チェックポイントのトリッガの管理はMIBベースから行うことができ、後者は、図7に示したように、プライマリノード又はオペレーショナルノードから、システムおよびアプリケーションの状態に関する情報、出来事とアプリケーションのコールバックに関する情報、および合成式状態分析装置から送られた情報を受け取る。プライマリノードからセカンダリノードへのアプリケーションの切換え装置は例えば最後のチェックポイントEVENT、最後のチェックポイントPERIODIC、入力の登録(ロギング)に作用し、以下のものを含む:
−切換えの筋書きの選択、
−チェックポイントの選択、
−復旧のトリッガ、
−ログのリプレーのトリッガ(又は非トリッガ)、
−新たなオペレーショナルノードの通知。
−切換えの筋書きの選択、
−チェックポイントの選択、
−復旧のトリッガ、
−ログのリプレーのトリッガ(又は非トリッガ)、
−新たなオペレーショナルノードの通知。
勿論、本発明は前述した実施例に限定されるものではなく、本発明の範囲を逸脱することなくこれらの実施例に種々の変更を加えることができる。
Claims (19)
- マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアを模写する方法であって、前記アプリケーション・ソフトウェアは、前記クラスターのうちプライマリ・ノードを構成するプライマリ・コンピュータ上で予め実行されていると共に、前記クラスターのうちセカンダリ・ノードを構成する少なくとも1つの他のコンピュータ上に模写されるようになっており、この方法は前記アプリケーション・ソフトウェアに関連するリソースの模写を含み、この方法の特徴は、模写されたリソースは:
−関連する各プロセスの仮想メモリ、および、そのコールスタックと、
−システム(プロセス間通信、ネットワーク接続、など)リソースと、
−ディスクに書き込まれたデータ、
を含み、この方法は、更に、模写されたリソースを模写すべきアプリケーションの構造を供給するためのダイナミック内省メカニズムによって最新式にアップデートすることを包含すると共に、使用するリソースおよび従属性のダイナミックグラフを包含することからなる方法。 - 前記方法は、更に、各瞬間に模写が必要なリソースについての情報を供給する従属性ツリーの生成と維持を包含することを特徴とする請求項1に基づく模写方法。
- 前記方法は、更に、模写すべきリソースを1若しくは複数のセカンダリノード上に模写するチェックポイント生成メカニズムを包含することを特徴とする請求項1又は2のいづれかに基づく模写方法。
- 前記方法は:
−プライマリノード上でのリソースの獲得、
−ネットワークによる1又は複数のセカンダリノードへの移送、および、
−前記セカンダリノード上での復旧、
の3段階を包含することを特徴とする請求項3に基づく模写方法。 - 前記方法は、更に、チェックポイント生成メカニズムを最適化するメカニズムを包含することを特徴とする前記請求項のいづれかおよび請求項3に基づく模写方法。
- チェックポイントメカニズムはインクレメント式であることを特徴とする請求項5に基づく模写方法。
- チェックポイントメカニズムはデクレメント式であることを特徴とする請求項5又は6に基づく模写方法。
- チェックポイントメカニズムは以下の機能の少なくとも1つを包含することを特徴とする請求項5から7のいづれかに基づく模写方法:
−プロセス同期化バリヤー(PSB)、
−リソースの管理(RM)、
−システムリソースの管理(SRM)、
−プロセスリソースの管理(PRM)。 - 前記方法は、更に、アプリケーションが実行されるオペレーショナルノード(OP)とスタンバイノード(SB)との間のアプリケーションデータファイルの模写メカニズムを包含することを特徴とする前記請求項のいづれかに基づく模写方法。
- マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーションソフトウェアの作動の連続性を実現する方法であって、このアプリケーションは所与の瞬間にクラスターの複数のコンピュータのうちプライマリノード又はオペレーショナルノードと呼ばれる1つのコンピュータで実行され、クラスターの他のコンピュータは二次的ノードと呼ばれ、この方法は前記請求項のいづれかに基づく模写方法を実施し、この方法は以下の段階を包含することを特徴とする:
−前記アプリケーションの少なくとも1つのクローンを形成するべく少なくとも前記セカンダリノード上でアプリケーションを模写すること、
−前記クローンを最新式にアップデートすること、および、
−欠陥又は前記オペレーショナルノードに影響する出来事を検出したときに、前記クローンの少なくとも1つの方へサービスを切り換えること。 - アプリケーションの模写はホリスティックな性質のものであることを特徴とする請求項10に基づく作動の連続性方法。
- アプリケーションのクローンのアップデートを更に包含することを特徴とする請求項10又は11に基づく作動の連続性方法。
- アプリケーションの作動に必要なリソースの状態の監視を更に包含することを特徴とする請求項10から12のいづれかに基づく作動の連続性方法。
- 欠陥又はオペレーショナルノードに影響する出来事を検出したときに、セカンダリノードにインストールしたクローンの中で、最初のアプリケーションと置換すべきクローンを選択する段階を更に包含し、前記選択されたクローンがインストールされているノードは新たなオペレーショナルノードとなることを特徴とする請求項10から13のいづれかに基づく作動の連続性方法。
- プライマリ又はオペレーショナルノードが受け取ったメッセージを各クローン上に登録することを更に包含し、これらのメッセージは切換えの場合には選択された新たなオペレーショナルクローン内に注入されることを特徴とする請求項10から14のいづれかに基づく作動の連続性方法。
- 少なくともマルチコンピュータ上で少なくとも1つのアプリケーションソフトウェアを実行するためのマルチコンピュータ装置であって、請求項11から15のいづれかに基づく作動の連続性を実現する方法を実行するようになった装置。
- ダイナミックプロセス分配によるロードシェアリングによってデータ処理リソースを自動的に最適化するために請求項1から9のいづれかに基づく模写方法を応用すること。
- データ処理リソース・ネットワークにおける要求によるプロセス・リロケーションによるノン・インタラプティブ・メンテナンスのために請求項1から9のいづれかに基づく模写方法を応用すること。
- モバイル・アプリケーションにおいてアプリケーション・コンテキストを保存するために請求項1から9のいづれかに基づく模写方法を応用すること。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0209855A FR2843209B1 (fr) | 2002-08-02 | 2002-08-02 | Procede de replication d'une application logicielle dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de replication, et systeme multi-ordinateurs ainsi equipe. |
PCT/FR2003/002371 WO2004015574A2 (fr) | 2002-08-02 | 2003-07-28 | Continuite de fonctionnement par replication d’un locigiel dans une architecture multi-ordinateurs |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005535044A true JP2005535044A (ja) | 2005-11-17 |
Family
ID=30129640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004526954A Pending JP2005535044A (ja) | 2002-08-02 | 2003-07-28 | マルチコンピュータ・アーキテクチャにおけるソフトウェアの模写による作動の連続性 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7725763B2 (ja) |
EP (1) | EP1529259B1 (ja) |
JP (1) | JP2005535044A (ja) |
AT (1) | ATE434790T1 (ja) |
AU (1) | AU2003273481A1 (ja) |
CA (1) | CA2493407C (ja) |
DE (1) | DE60328100D1 (ja) |
FR (1) | FR2843209B1 (ja) |
WO (1) | WO2004015574A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008530672A (ja) * | 2005-02-11 | 2008-08-07 | エアバス・フランス | 試験飛行の機上処理システムおよび方法 |
JP2009539160A (ja) * | 2006-06-02 | 2009-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クラスタ回復のための機器および方法 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9213609B2 (en) * | 2003-12-16 | 2015-12-15 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
US20050216552A1 (en) * | 2004-03-24 | 2005-09-29 | Samuel Fineberg | Communication-link-attached persistent memory system |
US7475296B2 (en) * | 2004-05-20 | 2009-01-06 | International Business Machines Corporation | Serviceability and test infrastructure for distributed systems |
FR2872605B1 (fr) * | 2004-06-30 | 2006-10-06 | Meiosys Sa | Procede de gestion d'un processus logiciel, procede et systeme de redistribution ou de continuite de fonctionnement dans une architecture multi-ordinateurs |
EP1784727B1 (en) * | 2004-08-26 | 2019-05-08 | Red Hat, Inc. | Method and system for providing transparent incremental and multiprocess check-pointing to computer applications |
WO2006026402A2 (en) | 2004-08-26 | 2006-03-09 | Availigent, Inc. | Method and system for providing high availability to computer applications |
FR2881244B1 (fr) * | 2005-01-24 | 2007-05-04 | Meiosys Soc Par Actions Simpli | Procede de comptage d'instructions pour journalisation et rejeu d'une sequence d'evenements deterministes |
JP5102634B2 (ja) * | 2005-01-28 | 2012-12-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 決定的イベント・シーケンスのロギングおよび再生のための命令をカウントする方法 |
FR2883083B1 (fr) * | 2005-03-14 | 2007-05-04 | Meiosys Soc Par Actions Simpli | Procede d'execution d'une application dans un conteneur virtuel formant une session d'environnement virtualise |
US7937616B2 (en) * | 2005-06-28 | 2011-05-03 | International Business Machines Corporation | Cluster availability management |
US8082468B1 (en) * | 2008-12-15 | 2011-12-20 | Open Invention Networks, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US9141481B1 (en) | 2010-08-06 | 2015-09-22 | Open Invention Network, Llc | System and method for reliable non-blocking messaging for multi-process application replication |
US8195722B1 (en) | 2008-12-15 | 2012-06-05 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US8584145B1 (en) | 2010-08-06 | 2013-11-12 | Open Invention Network, Llc | System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications |
US8589953B1 (en) | 2010-08-06 | 2013-11-19 | Open Invention Network, Llc | System and method for transparent consistent application-replication of multi-process multi-threaded applications |
US8281184B1 (en) | 2010-08-06 | 2012-10-02 | Open Invention Network Llc | System and method for reliable non-blocking messaging for multi-process application replication |
US8301700B1 (en) | 2010-08-06 | 2012-10-30 | Open Invention Network Llc | System and method for event-driven live migration of multi-process applications |
US9043640B1 (en) * | 2005-08-26 | 2015-05-26 | Open Invention Network, LLP | System and method for event-driven live migration of multi-process applications |
US8752049B1 (en) | 2008-12-15 | 2014-06-10 | Open Invention Network, Llc | Method and computer readable medium for providing checkpointing to windows application groups |
US8078910B1 (en) | 2008-12-15 | 2011-12-13 | Open Invention Network, Llc | Method and system for providing coordinated checkpointing to a group of independent computer applications |
US7681075B2 (en) * | 2006-05-02 | 2010-03-16 | Open Invention Network Llc | Method and system for providing high availability to distributed computer applications |
US8621275B1 (en) | 2010-08-06 | 2013-12-31 | Open Invention Network, Llc | System and method for event-driven live migration of multi-process applications |
US20070174484A1 (en) * | 2006-01-23 | 2007-07-26 | Stratus Technologies Bermuda Ltd. | Apparatus and method for high performance checkpointing and rollback of network operations |
US20070234342A1 (en) * | 2006-01-25 | 2007-10-04 | Flynn John T Jr | System and method for relocating running applications to topologically remotely located computing systems |
US7904886B2 (en) * | 2006-03-13 | 2011-03-08 | International Business Machines Corporation | Method for executing an application in a virtual container forming a virtualized environment session |
US7613749B2 (en) | 2006-04-12 | 2009-11-03 | International Business Machines Corporation | System and method for application fault tolerance and recovery using topologically remotely located computing devices |
US8117604B2 (en) * | 2006-07-31 | 2012-02-14 | International Business Machines Corporation | Architecture cloning for power PC processors |
US7594138B2 (en) | 2007-01-31 | 2009-09-22 | International Business Machines Corporation | System and method of error recovery for backup applications |
US9384159B2 (en) | 2007-05-24 | 2016-07-05 | International Business Machines Corporation | Creating a checkpoint for a software partition in an asynchronous input/output environment |
US9473598B2 (en) * | 2007-12-18 | 2016-10-18 | International Business Machines Corporation | Network connection failover during application service interruption |
US7996094B2 (en) * | 2008-09-09 | 2011-08-09 | Rockwell Automation Technologies, Inc. | Usage of a virtual unit |
US8281317B1 (en) | 2008-12-15 | 2012-10-02 | Open Invention Network Llc | Method and computer readable medium for providing checkpointing to windows application groups |
US8880473B1 (en) | 2008-12-15 | 2014-11-04 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US9256496B1 (en) * | 2008-12-15 | 2016-02-09 | Open Invention Network, Llc | System and method for hybrid kernel—and user-space incremental and full checkpointing |
US8826070B1 (en) | 2008-12-15 | 2014-09-02 | Open Invention Network, Llc | Method and system for providing storage checkpointing to a group of independent computer applications |
US8745442B1 (en) * | 2011-04-28 | 2014-06-03 | Open Invention Network, Llc | System and method for hybrid kernel- and user-space checkpointing |
US10019327B1 (en) | 2008-12-15 | 2018-07-10 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US8752048B1 (en) | 2008-12-15 | 2014-06-10 | Open Invention Network, Llc | Method and system for providing checkpointing to windows application groups |
US8341631B2 (en) | 2009-04-10 | 2012-12-25 | Open Invention Network Llc | System and method for application isolation |
US9354977B1 (en) * | 2008-12-15 | 2016-05-31 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US11538078B1 (en) | 2009-04-10 | 2022-12-27 | International Business Machines Corporation | System and method for usage billing of hosted applications |
US9058599B1 (en) | 2009-04-10 | 2015-06-16 | Open Invention Network, Llc | System and method for usage billing of hosted applications |
US9003360B1 (en) * | 2009-12-10 | 2015-04-07 | The Mathworks, Inc. | Configuring attributes using configuration subgraphs |
US9195500B1 (en) | 2010-02-09 | 2015-11-24 | F5 Networks, Inc. | Methods for seamless storage importing and devices thereof |
US9135127B1 (en) | 2010-08-06 | 2015-09-15 | Open Invention Network, Llc | System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications |
US9286298B1 (en) * | 2010-10-14 | 2016-03-15 | F5 Networks, Inc. | Methods for enhancing management of backup data sets and devices thereof |
US11307941B1 (en) | 2011-04-28 | 2022-04-19 | Open Invention Network Llc | System and method for hybrid kernel- and user-space incremental and full checkpointing |
US11625307B1 (en) | 2011-04-28 | 2023-04-11 | International Business Machines Corporation | System and method for hybrid kernel- and user-space incremental and full checkpointing |
KR101249719B1 (ko) * | 2011-05-04 | 2013-04-03 | 주식회사 인프라웨어테크놀러지 | 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말 |
US9020912B1 (en) | 2012-02-20 | 2015-04-28 | F5 Networks, Inc. | Methods for accessing data in a compressed file system and devices thereof |
US8984336B1 (en) * | 2012-02-20 | 2015-03-17 | Symantec Corporation | Systems and methods for performing first failure data captures |
US8935568B2 (en) | 2012-07-27 | 2015-01-13 | Dell Products, Lp | System and method of replicating virtual machines for live migration between data centers |
US9104645B2 (en) | 2012-07-27 | 2015-08-11 | Dell Products, Lp | System and method of replicating virtual machines for live migration between data centers |
US9201649B2 (en) * | 2012-10-26 | 2015-12-01 | Inforsys Limited | Systems and methods for estimating an impact of changing a source file in a software |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
US9298790B2 (en) * | 2013-01-18 | 2016-03-29 | Microsoft Technology Licensing, Llc | Replication of assets across data centers |
US10719562B2 (en) | 2013-12-13 | 2020-07-21 | BloomReach Inc. | Distributed and fast data storage layer for large scale web data services |
WO2015102875A1 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods of using data forwarding |
WO2015102873A2 (en) | 2013-12-30 | 2015-07-09 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
EP3090345B1 (en) | 2013-12-30 | 2017-11-08 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US10228962B2 (en) | 2015-12-09 | 2019-03-12 | Commvault Systems, Inc. | Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery |
US10387266B2 (en) | 2015-12-23 | 2019-08-20 | Commvault Systems, Inc. | Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US11308109B2 (en) * | 2018-10-12 | 2022-04-19 | International Business Machines Corporation | Transfer between different combinations of source and destination nodes |
US11188386B2 (en) * | 2019-11-01 | 2021-11-30 | Sap Portals Israel Ltd. | Lightweight remote process execution |
US11327663B2 (en) | 2020-06-09 | 2022-05-10 | Commvault Systems, Inc. | Ensuring the integrity of data storage volumes used in block-level live synchronization operations in a data storage management system |
US20220382478A1 (en) * | 2021-06-01 | 2022-12-01 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for page migration in memory systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852724A (en) * | 1996-06-18 | 1998-12-22 | Veritas Software Corp. | System and method for "N" primary servers to fail over to "1" secondary server |
US6014686A (en) * | 1996-06-21 | 2000-01-11 | Telcordia Technologies, Inc. | Apparatus and methods for highly available directory services in the distributed computing environment |
US6360331B2 (en) * | 1998-04-17 | 2002-03-19 | Microsoft Corporation | Method and system for transparently failing over application configuration information in a server cluster |
US6363416B1 (en) * | 1998-08-28 | 2002-03-26 | 3Com Corporation | System and method for automatic election of a representative node within a communications network with built-in redundancy |
US6438705B1 (en) * | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
US7028217B2 (en) * | 2001-06-04 | 2006-04-11 | Lucent Technologies Inc. | System and method of general purpose data replication between mated processors |
US7093013B1 (en) * | 2002-06-19 | 2006-08-15 | Alcatel | High availability system for network elements |
US7134044B2 (en) * | 2002-08-16 | 2006-11-07 | International Business Machines Corporation | Method, system, and program for providing a mirror copy of data |
US7058846B1 (en) * | 2002-10-17 | 2006-06-06 | Veritas Operating Corporation | Cluster failover for storage management services |
JP4315016B2 (ja) * | 2004-02-24 | 2009-08-19 | 株式会社日立製作所 | コンピュータシステムの系切替方法 |
US7743372B2 (en) * | 2005-06-28 | 2010-06-22 | Internatinal Business Machines Corporation | Dynamic cluster code updating in logical partitions |
US7761573B2 (en) * | 2005-12-07 | 2010-07-20 | Avaya Inc. | Seamless live migration of virtual machines across optical networks |
-
2002
- 2002-08-02 FR FR0209855A patent/FR2843209B1/fr not_active Expired - Fee Related
-
2003
- 2003-07-28 DE DE60328100T patent/DE60328100D1/de not_active Expired - Lifetime
- 2003-07-28 EP EP03755641A patent/EP1529259B1/fr not_active Expired - Lifetime
- 2003-07-28 AT AT03755641T patent/ATE434790T1/de not_active IP Right Cessation
- 2003-07-28 US US10/522,897 patent/US7725763B2/en not_active Expired - Fee Related
- 2003-07-28 WO PCT/FR2003/002371 patent/WO2004015574A2/fr active Application Filing
- 2003-07-28 AU AU2003273481A patent/AU2003273481A1/en not_active Abandoned
- 2003-07-28 CA CA2493407A patent/CA2493407C/fr not_active Expired - Lifetime
- 2003-07-28 JP JP2004526954A patent/JP2005535044A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008530672A (ja) * | 2005-02-11 | 2008-08-07 | エアバス・フランス | 試験飛行の機上処理システムおよび方法 |
JP2009539160A (ja) * | 2006-06-02 | 2009-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クラスタ回復のための機器および方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2003273481A8 (en) | 2004-02-25 |
FR2843209B1 (fr) | 2006-01-06 |
US7725763B2 (en) | 2010-05-25 |
FR2843209A1 (fr) | 2004-02-06 |
AU2003273481A1 (en) | 2004-02-25 |
CA2493407A1 (fr) | 2004-02-19 |
EP1529259A2 (fr) | 2005-05-11 |
EP1529259B1 (fr) | 2009-06-24 |
ATE434790T1 (de) | 2009-07-15 |
US20050251785A1 (en) | 2005-11-10 |
DE60328100D1 (de) | 2009-08-06 |
WO2004015574B1 (fr) | 2004-12-16 |
WO2004015574A2 (fr) | 2004-02-19 |
CA2493407C (fr) | 2010-05-11 |
WO2004015574A3 (fr) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005535044A (ja) | マルチコンピュータ・アーキテクチャにおけるソフトウェアの模写による作動の連続性 | |
Leon et al. | Fail-safe PVM: A portable package for distributed programming with transparent recovery | |
EP1784727B1 (en) | Method and system for providing transparent incremental and multiprocess check-pointing to computer applications | |
Sicard et al. | Using components for architecture-based management: the self-repair case | |
US7366742B1 (en) | System and method for distributed discovery and management of frozen images in a storage environment | |
Kalaiselvi et al. | A survey of checkpointing algorithms for parallel and distributed computers | |
JP2008059583A (ja) | クラスタ・システムならびにクラスタ・システム内でレプリカをバックアップする方法およびプログラム製品 | |
JP2002091938A (ja) | フェールオーバを処理するシステムおよび方法 | |
Dieter et al. | User-Level Checkpointing for LinuxThreads Programs. | |
Saridakis | A System of Patterns for Fault Tolerance. | |
US11880282B2 (en) | Container-based application data protection method and system | |
Speirs et al. | Using passive replicates in delta-4 to provide dependable distributed computing | |
Huang et al. | NT-SwiFT: Software implemented fault tolerance on Windows NT | |
Moser et al. | A fault tolerance framework for CORBA | |
Cristian | Automatic reconfiguration in the presence of failures | |
Hursey et al. | A composable runtime recovery policy framework supporting resilient HPC applications | |
Maloney et al. | A survey and review of the current state of rollback‐recovery for cluster systems | |
Becker | Application-transparent fault tolerance in distributed systems | |
Badrinath et al. | Checkpointing and recovery of shared memory parallel applications in a cluster | |
Sens | The performance of independent checkpointing in distributed systems | |
US7991849B1 (en) | System for managing configuration memory with transaction and redundancy support in an optical network element | |
Liang et al. | NT-SwiFT: software implemented fault tolerance on Windows NT | |
Sens et al. | STAR: A fault-tolerant system for distributed applications | |
Balasubramanian et al. | Brief announcement: MUSIC: multi-site entry consistencyfor geo-distributed services | |
Thompson et al. | DVM: an object-oriented framework for building large distributed Ada systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20051226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051227 |