JP2005535241A - マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置 - Google Patents

マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置 Download PDF

Info

Publication number
JP2005535241A
JP2005535241A JP2004526955A JP2004526955A JP2005535241A JP 2005535241 A JP2005535241 A JP 2005535241A JP 2004526955 A JP2004526955 A JP 2004526955A JP 2004526955 A JP2004526955 A JP 2004526955A JP 2005535241 A JP2005535241 A JP 2005535241A
Authority
JP
Japan
Prior art keywords
application
cluster
computer
node
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
Application number
JP2004526955A
Other languages
English (en)
Inventor
ベルト、マルク
デュフール、ローラン
Original Assignee
メイオシス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by メイオシス filed Critical メイオシス
Publication of JP2005535241A publication Critical patent/JP2005535241A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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/2041Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2097Error 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Abstract

マルチコンピュータ・アーキテクチャ(クラスター)において、前記クラスターのうち最初のアプリケーション・ソフトウェアが実行されている第1のコンピュータを有する第1のノード(プライマリ・ノード又はオペレーショナル・ノード)から、前記クラスターの他のコンピュータを有する少なくとも1つの第2のノードへ向かって、接続の移動を行う方法。この方法は第1コンピュータが担持し他のコンピュータへ移送される仮想ネットワークアドレスを使用し、この仮想ネットワークアドレスは、クラスターとそれに接続されたクライエント・コンピュータ(アプリケーション・ソフトウェアによって連携せられている)との間のダイアログリンクとして設けられる。連携接続は、例えば、最初のアプリケーションのサービスをそのレプリカの方へ切り換えるのを可能にするべく、他のコンピュータ上に複製されるようになったアプリケーション・ソフトウェアに連携させることができる。

Description

本発明は、マルチコンピュータ・アーキテクチャにおいて接続の移動(マイグレーション)を行う方法に関する。本発明は、また、この移動方法を使用して、マルチコンピュータ・アーキテクチャ(クラスター)において、アプリケーション・ソフトウェアの作動の連続性を実現する方法、並びに、この作動の連続性の方法を実行するマルチコンピュータ装置に関する。
本発明の分野は、互いに協働する複数のコンピュータで構成されたコンピュータクラスターの分野である。これらのクラスターは例えばアプリケーションソフトウェアを実行するために使用される。即ち、所与の瞬間において、アプリケーションはクラスターの複数のコンピュータのうちプライマリノード又はオペレーショナルノード(OP)と呼ばれる1つのコンピュータで実行され、冗長アーキテクチャの文脈においては、クラスターの他のコンピュータは二次的ノード又はスタンドバイ・ノード(SB)と呼ばれる。
ところが、このようなクラスターの作動には、材料又は開発システムの欠陥や、人的な誤りや、アプリケーション自体の欠陥に起因する信頼性の問題がある。
これらの信頼性の問題を解決するため、現在、今日の大部分のクラスターで使用されている高利用性と呼ばれるメカニズムがあり、これはクラスターの二次的ノードのいづれかのバックアップノード上でのアプリケーションの冷間自動リスタートに立脚している。
ところが、自動リスタートに立脚するこれらのメカニズムは、欠陥時に実行中のアプリケーションが提供するサービスの完全な連続性を保障することを可能にするものではない。
特に、クラスターの2つのコンピュータの間でサービスを切換える時には、ネットワークの接続の移動(マイグレーション)という解決しなければならない複雑な問題がある。
本発明の第1の目的は、マルチコンピュータ・アーキテクチャ(クラスター)において、前記クラスターのうち最初のアプリケーション・ソフトウェアが実行されている第1のコンピュータを有する、プライマリ・ノードと称する、第1のノードから、前記クラスターの他のコンピュータを有する少なくとも1つの第2のノードへ向かって、接続の移動を行う方法を提供することにより、この問題を解決することである。
この第1の目的は、前記第1コンピュータが担持しかつ前記他のコンピュータへ移送される仮想ネットワークアドレスを使用する移動方法によって達成されるもので、前記仮想ネットワークアドレスは、クラスターと、当該クラスターに接続されアプリケーション・ソフトウェアによって連携せられている、クライエント・コンピュータとの間のダイアログ・リンクとして設けられる。
好ましい実施態様においては、クライエントから来るメッセージはクラスターのネットワークレイヤーによって考慮される前に獲得される。特に、この移動方法がTCP/IPプロトコルのコンテキストで実施される場合には、メッセージの獲得は“IPテーブル”のところで行われる。
接続移動は、また、フォールト許容範囲を超えて、ネットワークの移動性に適用することができる:即ち、携帯用コンピュータ又は他のモバイル通信装置をアプリケーション・コンテキストと接続を失うことなく1つの物理的ネットワークから他のネットワークへ再接続すること。これに対し、既存の解決手段は本発明の移動方法では必要ない中間サーバーを使用している。
接続移動についての従前の研究に対し、本発明の方法は以下のような利点を有する:
−通信プロトコルTCPが呈する制約にも拘わらず、通信プロトコルTCPの修正を要しない、
−その結果、この方法の実施中に遠隔マシンは全くインパクトを受けない、
−接続移動の実施はオペレーション・システムの修正を要せず、ただ単に独立したダイナミック・コアモジュールのローディングを要するだけである。
“ソケットIP-UDP”レイヤーに基づく通信プロトコルは、また、それらの特性(例:オーディオ/ビデオ・ストリーミング・プロトコル)が如何様であろうとも、自動的に考慮される。
重要なことに、本発明の移動方法は、複数の二次的又はスタンバイ・ノードを考慮することができ、従って、マルチスケール効果(スケーラビリティー)が得られる。
本発明の移動方法は、好ましくは、但し非限定的に、最初のアプリケーションのサービスをそのレプリカの方へ切り換えるのを可能にするべく、少なくとも1つの他のコンピュータ上に複製されるようになったアプリケーション・ソフトウェアに連携された接続移動のために実施される。
本発明の接続移動方法は、また、1つのマシンから他のマシンへの切換えの状況又はアプリケーション・ソフトウェアの複製(レプリカ)の状況とは独立に、完全に自律的に行うことができる。
即ち、本発明の方法は、プロセスのダイナミック分配による負荷シェアリングによるデータ処理リソースの最適化に応用することができる。この移動方法は、また、データ処理リソースのネットワーク上の要求によるプロセス・リロケーションによるノン・インタラプティブ・メンテナンス、又は、モバイル・アプリケーションにおけるアプリケーション・コンテキストの保存に応用することができる。
本発明の他の目的は、マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアの作動の連続性を実現する方法を提供することにあり、前記アプリケーションは所与の瞬間には前記クラスターのコンピュータのうち主ノードと称する1つのコンピュータ上で実行され、前記クラスターのうちの他のコンピュータは二次的ノードと称され、この方法は本発明の移動方法を使用する。
上記他の目的は、以下の段階を包含する方法によって達成される:
−少なくとも1つの二次的ノードの上でのアプリケーションの少なくとも1つのクローンのアップデート、
−欠陥又は前記主ノードに影響する出来事を検出したときに、前記クローンの少なくとも1つの方へのサービスの切り換え、
−ネットワーク接続の移動。
こうして、本発明の移動方法によれば、ネットワーク接続の移動のお陰で、アプリケーションと通信する外部世界にとって透明なクローンの方へサービスを切換えることができる。
更に、本発明の移動方法で実施する接続移動メカニズムはアプリケーションのソースコードの修正を伴わないので、従来技術の移動方法とは異なりアプリケーションに対して非侵入的である。
本発明の作動の連続性の方法で使用するクローンはいわゆる“ホット”であり、即ち、それらはアプリケーションおよびそのオペレーショナル・コンテキストの正確なレプリカである。それらは規則的に(周期的に又は特徴的な出来事に応じて)アップデートされる。これらのクローンはアプリケーションがそのサービスを提供するに必要なあらゆるリソースと情報をもっている。
本発明の作動の連続性の方法はアプリケーションの作動に必要なリソースの状態を監視することを更に可能にする。いづれかのリソースが不可逆的に劣化したことが検出された場合には、本発明の作動の連続性の方法は1つのクローンを新たな一次クローンとして選択し、交代するようそれに命令する。
この選択は切換え(スイッチング)と呼ばれ、アプリケーションと通信する残部の世界にとって透明である:即ち、プライマリノードが稼働していなくても、アプリケーションが提供するサービスは、あらゆる意味において選択されたクローンによって交代されるので、中断されない。
従って、プライマリ・ノードによるにしろ(切換え前)、クローンによるにしろ(切換え後)、残部の世界によってアプリケーションに送信された全てのメッセージが処理されることを保障することができる。このため、本発明の作動の連続性の方法は、更に、クローンの最後のアップデート以降にプライマリノードが受信したメッセージの各クローンを(周期的クローン作成メカニズムに加えて)登録する段階を包含する。これらのメッセージは切換えの場合には新たな選ばれた一次クローン内に再注入される。
ホリスチックなレプリカ作成は、完全であるためには、例えば保護すべきアプリケーションと外部世界(そのクライエント)との接続性を管理するために使用するプロトコルスタックの状態のように、“コア”リソースの複製を含む。
本発明の移動方法によって得られる重要な利点は、一次側から二次側へのアプリケーションサービスの切換えをアプリケーションのクライエントのために透明にすることである。技術的には、これは、クライエントがその一次側での作動時にアプリケーションと定立した接続は、クローンの方へ送信(移動)されなければならず、かつ、切換え時に遮断されてはならないことを意味する。この要請は些細なものではない。何故ならば、本発明の作動の連続性の方法が関連するアプリケーションにとっては、外部世界(クライエント)は基本的にTCP/IP接続(アプリケーションとクライエントが居住する物理的マシンに“アタッチ”されたポイント・ツー・ポイント・プロトコル)を介してアプリケーションと通信するからである。
本発明の作動の連続性の方法は、プロトコルスタックの状態、並びに、登録/リプレー・システム(これは、切換え後に、プライマリノードが受信したメッセージを切換え前に、但しクローンによって考慮される前に、再注入するのを可能にする)をレプリカ複製するメカニズムを実施することにより、この問題を解決する。
オペレーティング・システムのコア内におけるスタックの状態はプライマリマシン上で周期的に内省(分析と獲得)され、この状態はホリスチックなチェックポイントと共に移送され、二次ノード上に復活される。
平行に、主ノードが受信した全てのメッセージは最下レベルで(プライマリノード上のアプリケーションに引き渡す前に)遮断され、二次ノードで登録するべく移送される。二次ノードではこれらのメッセージは、受信した最後のチェックポイント以降、バックアップされる。
切換えをする場合には、選ばれた二次ノードはその最後のチェックポイントからアプリケーションを回しながら交代する(このチェックポイントは、二次ノードによって周期的に受信されるので、切換え時にはアプリケーションに対して僅かに過去にある)。
このクローンを現在の状態(即ち、切換え時のアプリケーションの状態)に持ち来すため、登録されたメッセージは再注入される。次いで、それらをリプレーしながら、新たな一次クローンが切換え時のアプリケーションの状態に達する。このリプレーの間は、外部世界との通信は閉鎖される。このリプレーの間にクライエントから新たなメッセージを受信したならば、それらは拒絶されるが、切断はしない。この拒絶はプロトコルによって管理(フローコントロール)され、クライエントによってネットワーク又はサービスのスローダウンとして見られるであろう。
留意すべきことに、リプレーは物理的レベルとは独立にネットワーク・インターフェースのドライバの受信キューへのメッセージ注入チャンネルを特別に付加する必要を生じさせ、フレーム送信システムは物理的インターフェースへの再ルーピング(入出力の半二重)を可能にしない。
リプレーが終わると、クローンは正確に切り換え前のアプリケーションの状態にあり、外部世界との通信を再開しながら交代する。
留意すべきことに、ある種のコンフィギュレーションにおいては、かつ、必要とする目的に応じて、リプレーを実施することなく、クローンに対するホットスイッチング政策を用いることができる。このようなリカバリーのやり方のインパクトは次のとおりである:
−進行中の接続の切断、従って、アクティブセッションに接続されたクライエントにとっては、リプレーによって提供されるものより低い保護レベル、
−即時の(新たなメッセージを遅延させるリプレー時間のない)ホットリカバリー(保存されたアプリケーション・コンテキスト)、従って、新たなクライエントのより迅速な受理を伴う名目的サービスのより迅速な再定立。
リカバリー政策のいづれかの実施は適合可能なパラメータである。
留意すべきことに、本発明の移動方法を実施するため、好ましくは、2002年8月2日公開の公開特許出願FR2820221に記載された非侵入的ダイナミック・ソフトウェア・エンジニアリング技術を利用することができる。これらのソフトウェア・エンジニアリング技術は、本発明の作動の連続性を実現する方法をアプリケーションに対して透明(従って、ジェネリック)にするべく、二値表示(実行可能)においてアプリケーションを操作するのを可能にする。
本発明の他の観点によれば、本発明は、本発明の作動の連続性を実現する方法を実施しながら、少なくとも複数のコンピュータ上で少なくとも1つのアプリケーション・ソフトウェアを実行するためのマルチコンピュータ装置を提供する。
本発明の他の利点や特徴は非限定的な実施例の説明および添付図面から明らかとなろう。
次に、図面を参照しながら、本発明の移動(マイグレーション)方法で実施するネットワーク接続の移動メカニズムの動作を説明する。
接続の移動は仮想ネットワークアドレス(即ち、クラスターの仮想アドレス)に立脚している。このアドレスはオペレーショナル・アプリケーションを備えたマシンに担持されている。このアドレスは切換え(スイッチ)時にはマシンSBの方へ移送される。クライエントはこの仮想アドレス上で対話(ダイアログ)をしながらクラスター化されたアプリケーションをアドレスしなければならない。
メッセージの検出はネットワーク・レイヤーによって考慮される前に行われる。TCP/IP上では、この検出は可搬性を保障する“IPテーブル”のところで行われる。
クラスターに付与された仮想IPアドレス上で受け取ったメッセージは信頼性のあるマルチキャスト(複数相手方向の同時拡散)型チャンネル上のマシンSBの方へ発信され、後者はパケット送信を行う。全てのマシンSBがメッセージを受け取ると、メッセージはオペレーショナル・ノードOPのネットワーク・レイヤーへ発信される。さもないと、メッセージは削除される(遠隔ノードの通信レイヤーが再発信を行う)。
このメカニズムはオペレーショナル・ノードOP上で考慮した時に1つのメッセージを1つのマシンSB上でリプレーすることができることを保障するのを可能にする。“IPテーブル”フィルターはクラスターの仮想アドレスに関するメッセージにしか関心をもたないことを可能にする。
コピー(ダンプ)の際には、コピー(ダンプ)マークをマシンSBへ送って、ジャーナル(ログ)内でコピーを日付する。従って、切換え(スイッチ)時にどのパケットからリプレーを始めなければならないかが分かる。
“IPテーブル”モジュールはダイナミックに負荷を課されるTCP/IPレイヤーから独立したコアモジュールである。クラスター上でも遠隔マシン上でもTCP/IPスタックの修正は全く必要ない。
上位システムコールgetsockoptおよびsetsockoptはドライバを介して以下のソケット(socket)パラメータを獲得/修正するべく拡張されている:
−ローカルポートおよび遠隔ポート、
−ローカルおよび遠隔参照番号、
−発信すべき待機中の次のパケットの番号、
−発信および受信時計(タイマー)、
−ウインドーサイズ、
等。
ソケットの状態のバックアップは、発信待機中のパケット(送信キュー)、通過中のもの(発信されたが請書が未だのもの)、および受信されたが未だアプリケーションによって読まれていないパケット(受信ファイル:受信キュー)、のリストをも考慮する。
バックアップはログマークを発信した後のダンプの際の手続きで行われる。このメカニズムは全てのパケットがリプレーされるのを保障する。もしログマークの発信とソケットの状態の獲得との間に1つのパケットを受信したならば、このパケットは切換え(スイッチング)の際に通信レイヤーによって自動的に無視される。この処理は通信レイヤーの基本である。
システムコールgetsockoptおよびsetsockoptの拡張はダイナミックにロードされるコアモジュールによって行われ、後者はコアのソースコードの修正を全く必要としない。
図1を参照するに、本発明の接続移動(マイグレーション)方法は複数マシンからなるクラスターのための作動の連続性の方法の中に直接に統合される。このシステムは、監視および欠陥検出と、プロセス移動メカニズム(チェックポイント・メカニズムを含む)と、本発明の接続移動メカニズムと、リソースシステムの管理を実行する。この作動の連続性方法は、また、リソース内省機能と、ファイルシステムの複製メカニズムと、出来事のジャーナルの編集およびアップデート・メカニズムと、リプレー・メカニズムを含む。
次に、本発明の移動方法におけるネットワーク接続の移動で実施する切換え(スイッチング)メカニズムを説明する。
1つのマシンSBがオペレーショナル・ノードOPになった時には、新たなオペレーショナル・ノードOP上に仮想アドレスIPが生成されるが、フィルタールールはプレーの段階の間に外部からのあらゆるメッセージの到着を禁止する。プレーが終わると、フィルタールールは複数のマシンSBへメッセージを発送するべく修正される。
メッセージが遠隔サイトによって発信された場合には、それらのメッセージは新たなマシンOPへの到達時に破壊され、遠隔レイヤーによって“タイムアウト”上に再発信されるであろう。このメカニズムは通信レイヤーの基本の一である。
ソケット(通信レイヤー)の再生成は2段階に行われる:
−リプレーの前にはループバック(仮想記憶装置)の方へ、
−リプレーの後には再接続しながら外部の方へ。
リプレーの前には、ソケットはループバックに接続され、後者は最後の復活以降に登録されたパケットを再注入(リインジェクト)するのを可能にする。
前回のコピー(ダンプ)の際にバックアップされたソケットのパラメータは、拡張されたコールsetsockoptを介して復活される。
最後の復活以降に登録されたパケットは、恰も遠隔装置(クライエント)から直接受信されたかのように、通信レイヤーの方へ送られる。通信レイヤーによって伝送されたメッセージは遠隔側を乱さないよう自動的に破壊される。
リプレーが終わると、ソケットの状態は切換え前のオペレーショナル・ノードOP上の状態に対応する。そこで、遠隔側と対話を再開することが可能である。この再開は遠隔のアドレスに関するパラメータ“ソケット”を修正すること、および、クラスターの仮想アドレス上へのメッセージの出入りを許可するべくフィルタールールを修正することにより行われる。そうすれば対話は通常に復帰する。
本発明の接続移動方法は、チェックポイント・メカニズムがアクティブにしてあり、周期的インクリメント的なコピーが生成されるような、図2に示したようなオペレーショナルサーバーとミラーサーバーとの間の相互作用の枠内で実施することができる。
図3を参照するに、本発明の作動の連続性の方法を実施するため、1つのクラスターのオペレーショナル・ノードとそのクラスターの他の1以上の二次的ノードとの間で、情報管理ベースMIBを内省・監視ドライバおよびクラスター制御によってアクセスする。このMIBベースは、復活およびチェックポイント、切換えの決定、切換えの編成のような種々の機能について、オペレーショナル・ノードおよびバックアップ・ノードに対するクラスターの管理に関与する。MINベースによって供給される監視の管理は、グラフィック・ユーザー・インターフェースGUIとの関連において、制御機能およびMIB合成機能を保障する。
勿論、本発明は前述した実施例に限定されるものではなく、本発明の範囲を逸脱することなくこれらの実施例に種々の変更を加えることができる。
図1は作動の連続性の方法における本発明の移動方法の実施例を模式的に示す。 図2は本発明の作動の連続性の方法で使用するチェックポイント・メカニズムを模式的に示す。 図3は本発明のマルチコンピュータ・システム(クラスター)のノードに実行する監視・監督機能を模式的に示す。

Claims (19)

  1. マルチコンピュータ・アーキテクチャ(クラスター)において、前記クラスターのうち最初のアプリケーション・ソフトウェアが実行されている第1のコンピュータを有する、プライマリ・ノードと称する、第1のノードから、前記クラスターの他のコンピュータを有する少なくとも1つの第2のノードへ向かって、接続の移動を行う方法であって、この方法は、前記第1コンピュータが担持し前記他のコンピュータへ移送される仮想ネットワークアドレスを使用し、前記仮想ネットワークアドレスは、クラスターと、当該クラスターに接続されアプリケーション・ソフトウェアによって連携せられている、クライエント・コンピュータとの間のダイアログ・リンクとして設けられることを特徴とする方法。
  2. 前記接続は、最初のアプリケーションのサービスをそのレプリカの方へ切り換えるのを可能にするべく、少なくとも1つの他のコンピュータ上に複製されるようになったアプリケーション・ソフトウェアに連携されている請求項1に基づく移動方法。
  3. クライエントから来るメッセージはクラスターのネットワーク・レイヤーによって考慮される前に獲得される請求項1又は2に基づく移動方法。
  4. メッセージの獲得は“IPテーブル”のところで行われることを特徴とする、TCP/IPプロトコルで実施される、請求項3に基づく移動方法。
  5. 仮想ネットワークアドレス上で受信したメッセージはマルチキャスト型チャンネル上の第2のコンピュータに向けて発信されることを特徴とする前記請求項のいづれかに基づく移動方法。
  6. 拡張された上位システムコールを介して、“ソケット”パラメータを獲得および修正することからなる請求項4又は5に基づく移動方法。
  7. 獲得され修正された“ソケット”パラメータは以下のパラメータの少なくとも1つを含む請求項6に基づく移動方法:
    −ローカルポートおよび遠隔ポート、
    −ローカルおよび遠隔参照番号、
    −発信すべき待機中の次のパケットの番号、
    −発信および受信時計(タイマー)、
    −ウインドーサイズ。
  8. 発信待機中のパケット、通過中のパケット、および受信されたが未だアプリケーションによって読まれていないパケット、のリストのバックアップを更に行うことを特徴とする請求項7に基づく移動方法。
  9. マルチコンピュータ・アーキテクチャ(クラスター)においてアプリケーション・ソフトウェアの作動の連続性を実現する方法であって、前記アプリケーションは所与の瞬間には前記クラスターのコンピュータのうち主ノードと称する1つのコンピュータ上で実行され、前記クラスターのうちの他のコンピュータは二次的ノードと称され、この方法は前記請求項のいづれかに基づく移動方法を実施し、この方法は以下の段階を包含することを特徴とする方法:
    −少なくとも1つの二次的ノードの上でのアプリケーションの少なくとも1つのクローンのアップデート、
    −欠陥又は前記主ノードに影響する出来事を検出したときに、前記クローンの少なくとも1つの方へのサービスの切り換え、
    −ネットワーク接続の移動。
  10. アプリケーションのクローンのアップデートを更に包含することを特徴とする請求項9に基づく作動の連続性の方法。
  11. アプリケーションのクローンのアップデートは周期的であることを特徴とする請求項10に基づく作動の連続性の方法。
  12. アプリケーションのクローンのアップデートは一若しくは複数の特徴的な出来事によってトリッガされることを特徴とする請求項12又は11に基づく作動の連続性の方法。
  13. アプリケーションの作動に必要なリソースの状態の監視を更に包含することを特徴とする請求項9から12のいづれかに基づく作動の連続性の方法。
  14. 欠陥又は主ノードに影響する出来事を検出した後に、二次的ノードにインストールした複数のクローンのうちで最初のアプリケーションと置換されるべきクローンを選択する段階を更に包含し、選択されたクローンがインストールされているノードは新たな主ノードになることを特徴とする請求項9から13のいづれかに基づく作動の連続性の方法。
  15. 主ノードが受信したメッセージの各クローンを登録する段階を更に包含し、これらのメッセージは切換えの場合には新たな選ばれた一次クローン内に再注入されることを特徴とする請求項9から14のいづれかに基づく作動の連続性の方法。
  16. 請求項9から15のいづれかに基づく作動の連続性を実現する方法を実施しながら、少なくとも前記コンピュータ上で少なくとも1つのアプリケーション・ソフトウェアを実行するためのマルチコンピュータ装置。
  17. 請求項1から8のいづれかに基づく接続移動方法を、プロセスのダイナミック分配による負荷シェアリングによるデータ処理リソースの最適化に応用すること。
  18. 請求項1から8のいづれかに基づく接続移動方法を、データ処理リソースのネットワーク上の要求によるプロセス・リロケーションによるノン・インタラプティブ・メンテナンスに応用すること。
  19. 請求項1から8のいづれかに基づく接続移動方法を、モバイル・アプリケーションにおけるアプリケーション・コンテキストの保存に応用すること。
JP2004526955A 2002-08-02 2003-07-28 マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置 Pending JP2005535241A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0209856A FR2843210B1 (fr) 2002-08-02 2002-08-02 Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
PCT/FR2003/002372 WO2004015513A2 (fr) 2002-08-02 2003-07-28 Procede de migration d'une application logicielle dans une architecture multi-ordinateurs, procede et systeme multi-ordinateurs pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration

Publications (1)

Publication Number Publication Date
JP2005535241A true JP2005535241A (ja) 2005-11-17

Family

ID=30129641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004526955A Pending JP2005535241A (ja) 2002-08-02 2003-07-28 マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置

Country Status (7)

Country Link
US (1) US7577720B2 (ja)
EP (1) EP1535126B1 (ja)
JP (1) JP2005535241A (ja)
AU (1) AU2003273482A1 (ja)
CA (1) CA2493300A1 (ja)
FR (1) FR2843210B1 (ja)
WO (1) WO2004015513A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539160A (ja) * 2006-06-02 2009-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション クラスタ回復のための機器および方法
KR20120061051A (ko) * 2009-08-27 2012-06-12 인터그레이티드 시큐리티 매뉴팩쳐링 리미티드 모니터링 시스템
US8588179B2 (en) 2008-04-11 2013-11-19 Nec Corporation Communication service handover system, communication device and communication service handover method

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8560707B2 (en) * 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
EP1719056A4 (en) 2004-08-26 2009-04-08 Availigent Inc METHOD AND SYSTEM FOR PROVIDING HIGH AVAILABILITY TO COMPUTING APPLICATIONS
FR2882449A1 (fr) * 2005-01-21 2006-08-25 Meiosys Soc Par Actions Simpli Procede non intrusif de rejeu d'evenements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede
FR2881308B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede d'acceleration de la transmission de donnees de journalisation en environnement multi ordinateurs et systeme utilisant ce procede
FR2881242B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede non intrusif de journalisation d'evements internes au sein d'un processus applicatif, et systeme mettant en oeuvre ce procede
FR2881307B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede non intrusif de simulation ou rejeu d'evenements externes aupres d'un processus applicatif, et systeme mettant en oeuvre ce procede
FR2882448B1 (fr) * 2005-01-21 2007-05-04 Meiosys Soc Par Actions Simpli Procede de gestion, de journalisation ou de rejeu du deroulement d'un processus applicatif
FR2881306B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede de journalisation non intrusive d'evenements externes aupres d'un processus applicatif, et systeme mettant en oeuvre ce procede
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
US8549646B2 (en) * 2005-10-20 2013-10-01 The Trustees Of Columbia University In The City Of New York Methods, media and systems for responding to a denial of service attack
US20070233880A1 (en) * 2005-10-20 2007-10-04 The Trustees Of Columbia University In The City Of New York Methods, media and systems for enabling a consistent web browsing session on different digital processing devices
US20070245334A1 (en) * 2005-10-20 2007-10-18 The Trustees Of Columbia University In The City Of New York Methods, media and systems for maintaining execution of a software process
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
KR100763526B1 (ko) * 2005-12-12 2007-10-04 한국전자통신연구원 애플리케이션 컨텍스트 관리 장치 및 방법
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
US20070233861A1 (en) * 2006-03-31 2007-10-04 Lucent Technologies Inc. Method and apparatus for implementing SMS SPAM filtering
US7657787B2 (en) 2006-04-11 2010-02-02 Hewlett-Packard Development Company, L.P. Method of restoring communication state of process
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
US7661015B2 (en) * 2006-05-16 2010-02-09 Bea Systems, Inc. Job scheduler
US8122108B2 (en) * 2006-05-16 2012-02-21 Oracle International Corporation Database-less leasing
US9384103B2 (en) * 2006-05-16 2016-07-05 Oracle International Corporation EJB cluster timer
US7840683B2 (en) * 2006-08-31 2010-11-23 Sap Ag Systems and methods of migrating sessions between computer systems
US7594138B2 (en) 2007-01-31 2009-09-22 International Business Machines Corporation System and method of error recovery for backup applications
US7685172B2 (en) 2007-04-27 2010-03-23 International Business Machines Corporation In-flight file descriptors checkpoint
US7797576B2 (en) 2007-04-27 2010-09-14 International Business Machines Corporation Checkpoint of applications using UNIX® domain sockets
US20080267176A1 (en) * 2007-04-27 2008-10-30 Ganesh Perinkulam I Selective preservation of network state during a checkpoint
US7930327B2 (en) 2007-05-21 2011-04-19 International Business Machines Corporation Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor
US8527650B2 (en) 2007-05-21 2013-09-03 International Business Machines Corporation Creating a checkpoint for modules on a communications stream
US7950019B2 (en) 2007-05-21 2011-05-24 International Business Machines Corporation Method and apparatus for checkpoint and restarting a stream in a software partition
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
GB2450748B (en) * 2007-07-06 2010-12-29 Displaylink Connection between a client device and multiple host devices
US7792983B2 (en) 2007-07-31 2010-09-07 International Business Machines Corporation Method and apparatus for checkpoint and restart of pseudo terminals
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US8055855B2 (en) * 2007-10-05 2011-11-08 International Business Machines Corporation Varying access parameters for processes to access memory addresses in response to detecting a condition related to a pattern of processes access to memory addresses
US7856536B2 (en) * 2007-10-05 2010-12-21 International Business Machines Corporation Providing a process exclusive access to a page including a memory address to which a lock is granted to the process
US7770064B2 (en) * 2007-10-05 2010-08-03 International Business Machines Corporation Recovery of application faults in a mirrored application environment
US7921272B2 (en) * 2007-10-05 2011-04-05 International Business Machines Corporation Monitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply
US7840839B2 (en) * 2007-11-06 2010-11-23 Vmware, Inc. Storage handling for fault tolerance in virtual machines
US7856501B2 (en) * 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US9473598B2 (en) * 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
US8281317B1 (en) * 2008-12-15 2012-10-02 Open Invention Network Llc Method and computer readable medium 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
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
US7945808B2 (en) * 2009-01-30 2011-05-17 International Business Machines Corporation Fanout connectivity structure for use in facilitating processing within a parallel computing environment
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
EP2241977B1 (en) * 2009-04-17 2015-05-27 Accenture Global Services Limited Exchangeable application components
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8688838B2 (en) * 2009-12-14 2014-04-01 Hewlett-Packard Development Company, L.P. Profile management systems
US8386594B2 (en) * 2010-02-11 2013-02-26 Intel Corporation Network controller circuitry to initiate, at least in part, one or more checkpoints
US8478813B2 (en) * 2010-04-28 2013-07-02 Microsoft Corporation Transparent migration of endpoint
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US9047136B2 (en) * 2010-06-11 2015-06-02 Oracle International Corporation Method and system for migrating the state of a virtual cluster
US8806264B2 (en) * 2010-08-30 2014-08-12 Oracle International Corporation Methods for detecting split brain in a distributed system
WO2011116715A2 (zh) * 2011-04-28 2011-09-29 华为技术有限公司 一种虚拟网络迁移方法、相关装置以及系统
WO2012149750A1 (zh) 2011-09-19 2012-11-08 华为技术有限公司 一种对用户服务进行迁移的方法、装置及系统
CN104021503A (zh) * 2014-05-08 2014-09-03 国家电网公司 一种基于虚拟化Hadoop集群建设继保云的方法
US9407585B1 (en) 2015-08-07 2016-08-02 Machine Zone, Inc. Scalable, real-time messaging system
US9602455B2 (en) 2015-08-07 2017-03-21 Machine Zone, Inc. Scalable, real-time messaging system
US9507694B1 (en) 2015-10-30 2016-11-29 Semmle Limited Artifact normalization
US9602450B1 (en) 2016-05-16 2017-03-21 Machine Zone, Inc. Maintaining persistence of a messaging system
US9608928B1 (en) 2016-07-06 2017-03-28 Machine Zone, Inc. Multiple-speed message channel of messaging system
US10305981B2 (en) 2016-08-31 2019-05-28 Satori Worldwide, Llc Data replication in scalable messaging system
US9667681B1 (en) 2016-09-23 2017-05-30 Machine Zone, Inc. Systems and methods for providing messages to multiple subscribers
US9858151B1 (en) * 2016-10-03 2018-01-02 International Business Machines Corporation Replaying processing of a restarted application
US10187278B2 (en) * 2017-02-24 2019-01-22 Satori Worldwide, Llc Channel management in scalable messaging system
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
CN111756562B (zh) * 2019-03-29 2023-07-14 深信服科技股份有限公司 一种集群接管方法、系统及相关组件

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182139B1 (en) * 1996-08-05 2001-01-30 Resonate Inc. Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US5917997A (en) * 1996-12-06 1999-06-29 International Business Machines Corporation Host identity takeover using virtual internet protocol (IP) addressing
US6366558B1 (en) * 1997-05-02 2002-04-02 Cisco Technology, Inc. Method and apparatus for maintaining connection state between a connection manager and a failover device
US6957254B1 (en) * 1999-10-21 2005-10-18 Sun Microsystems, Inc Method and apparatus for reaching agreement between nodes in a distributed system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539160A (ja) * 2006-06-02 2009-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション クラスタ回復のための機器および方法
US8588179B2 (en) 2008-04-11 2013-11-19 Nec Corporation Communication service handover system, communication device and communication service handover method
KR20120061051A (ko) * 2009-08-27 2012-06-12 인터그레이티드 시큐리티 매뉴팩쳐링 리미티드 모니터링 시스템
KR101649776B1 (ko) * 2009-08-27 2016-08-19 인터그레이티드 시큐리티 매뉴팩쳐링 리미티드 모니터링 시스템

Also Published As

Publication number Publication date
US7577720B2 (en) 2009-08-18
AU2003273482A8 (en) 2004-02-25
EP1535126A2 (fr) 2005-06-01
WO2004015513A2 (fr) 2004-02-19
FR2843210A1 (fr) 2004-02-06
AU2003273482A1 (en) 2004-02-25
EP1535126B1 (fr) 2013-06-05
CA2493300A1 (fr) 2004-02-19
WO2004015513A3 (fr) 2004-05-21
US20050262411A1 (en) 2005-11-24
FR2843210B1 (fr) 2005-10-14

Similar Documents

Publication Publication Date Title
JP2005535241A (ja) マルチコンピュータ・アーキテクチャにおけるアプリケーション・ソフトウェアの移動方法、前記移動方法を用いて作動の連続性を実現するマルチコンピュータ方法および装置
JP4680919B2 (ja) ネットワークノードクラスタのための冗長なルーティング機能
US8402305B1 (en) Method and system for providing high availability to computer applications
US7933987B2 (en) Application of virtual servers to high availability and disaster recovery solutions
JP3930743B2 (ja) 耐故障性プラットフォームにおいてネットワーク接続を提供する方法
US7434220B2 (en) Distributed computing infrastructure including autonomous intelligent management system
EP3210367B1 (en) System and method for disaster recovery of cloud applications
JP2004519024A (ja) 多数のノードを含むクラスタを管理するためのシステム及び方法
WO2010015574A1 (en) Maintaining data integrity in data servers across data centers
WO2021185169A1 (zh) 一种切换方法、装置、设备和存储介质
CN114116912A (zh) 一种基于Keepalived实现数据库高可用的方法
Ayari et al. Fault tolerance for highly available internet services: concepts, approaches, and issues
CN112187523A (zh) 一种网络高可用实现方法及超融合系统
CN110351122B (zh) 容灾方法、装置、系统与电子设备
CN112540827A (zh) 一种基于k8s平台的负载均衡系统及实现方法
JP4133738B2 (ja) 高速ネットワークアドレス引継ぎ方法、ネットワーク装置及びプログラム
AT&T
Opesh et al. Project Title: Fault Tolerance

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051226