JP2002522845A - フォールトトレラント・コンピュータシステム - Google Patents

フォールトトレラント・コンピュータシステム

Info

Publication number
JP2002522845A
JP2002522845A JP2000565464A JP2000565464A JP2002522845A JP 2002522845 A JP2002522845 A JP 2002522845A JP 2000565464 A JP2000565464 A JP 2000565464A JP 2000565464 A JP2000565464 A JP 2000565464A JP 2002522845 A JP2002522845 A JP 2002522845A
Authority
JP
Japan
Prior art keywords
event
fault
raw
backup
event process
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
JP2000565464A
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 JP2002522845A publication Critical patent/JP2002522845A/ja
Pending legal-status Critical Current

Links

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/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
    • 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/2038Error 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 装置間通信を削減したフォールトトレラント・コンピュータシステム及び方法。生システムは、受け取られたコマンドに応答してイベントプロセスを実行すべく配置される。イベントプロセスの実行が、正常な終了又は割込みによりホールトされるたびに、イベント生成器は、イベントプロセスの種類及びイベントプロセスのホールト理由を示すイベントメッセージを生成する。このイベントメッセージを使用して、バックアップシステムが同じイベントプロセスを確実に行えるようにする。イベントメッセージはイベントプロセスをホールトする理由とタイミングも指定するので、バックアップシステムにおいて、イベントプロセスを再現することができる。このように、生システムと少なくとも1つのバックアップシステムは同期される。少なくとも1つのスタンバイシステムを備え、イベントメッセージのシーケンスをイベントログに記録し、生システムのメモリ内容のアーカイブコピーを記録することができる。アーカイブコピーを持つイベントログを使用して、生システムのシステム状態を再現することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、フォールトトレラント・コンピュータシステム及びコンピュータシ
ステムのフォールトトレラント動作の方法に関する。
【0002】
【従来の技術】
コンピュータあるいはコンピュータシステムは、バンキングシステムや通信ネ
ットワークのような障害に敏感な業務に益々使用されるようになってきている。
コンピュータが故障すると、あるいは、間違った動作を1つ行うだけで、深刻な
問題が生じる可能性がある。例えば、バンキングシステムにおいて、取引間で間
違った金額が送金されることがあり、通信システムにおいては、通信ラインが予
告なしに中断されたり、所望しない接続が行われたり、あるいは長時間システム
が動作しないということもある。当然、このような問題は、避けなければならな
い。
【0003】 上記問題に対処するための一般に知られた方法として、1対1対応でコンピュ
ータシステムを複写し(replicate)、両方のコンピュータシステムに同じ命令シ
ーケンスを行わせる方法がある。しかしながら、これは、2つのコンピュータシ
ステム間で高いユニット間(inter-unit)通信負荷を必要とする。何故なら、動
作をチェックし、非常に詳細なレベルで同期させなければならないからである。
更に、より高い頻度でのユニット間通信の処理は重要なコスト要因となる。
【0004】 ユニット間通信負荷を減らす1つのアプローチが米国特許第5,544,30
4号に記載されている。アクティブユニットとスタンバイユニットの両方によっ
てコマンドが受信されてキューイングされる。そして、アクティブユニットだけ
がコマンドを処理する。システムは、短いメッセージを提供し、それがアクティ
ブユニットとスタンバイユニットの間で送られ、特定のコマンドの状態について
質問したり、あるいは特定のコマンドの状態を提供する。アクティブユニットと
スタンバイユニットのコントローラの間で交換される短い信号を含む周期的ハン
ドシェイクが2つのユニットの間で行われる。
【0005】 しかしながら、故障が生じた場合、このシステムは、スタンバイユニットを使
用して動作を再開するのに長時間を必要とする。何故なら、ユニット間で行われ
る周期的ハンドシェイクでは、高レベルの同期を維持するのは不可能だからであ
る。
【0006】 (発明の要約) 従って、本発明の目的は、生システムとバックアップシステムとの間での通信
負荷が低いにもかかわらず高レベルの同期を可能とするフォールトトレラント・
コンピュータシステム及びフォールトトレラント・コンピュータシステムを動作
させる方法を提供することである。
【0007】 本発明のこの目的は、請求項1記載の特徴を備えたフォルトトレラント・コン
ピュータシステム及び請求項13記載の特徴を備えたコンピュータシステムのフ
ォールトトレラント動作の方法によって達成される。
【0008】 本発明によれば、生システムは、生中央演算装置と、システムデータとアプリ
ケーションデータとを記憶するための生メモリ手段と、生中央演算装置がイベン
トプロセスの実行をホールトする(halts)ごとにイベントメッセージを発生する
ためのイベント生成器とを備える。イベントメッセージは、少なくとも、イベン
トプロセスの種類と、イベントプロセスの実行をホールトさせるための理由につ
いての情報を含む。少なくとも1つのバックアップシステムが備えられ、これは
、バックアップ中央演算装置と、バックアップメモリ手段と、生システムから受
け取られる一連のイベントメッセージを一時的に記憶するためのバッファとを備
える。バックアップ制御手段は、各イベントメッセージに対応するイベントプロ
セスの実行をスケジュールする。イベントプロセスは、生システムとバックアッ
プシステムとにおいて、同じように実行される。
【0009】 生演算装置は、イベントプロセスの実行がホールトされる場合にのみ、イベン
トメッセージをバックアップシステムへ報告するのが有利である。これにより、
ユニット間通信をかなり削減することができ、生システムによる少なくとも1つ
のバックアップシステムの状態の詳細なチェックは、もはや、不用となる。
【0010】 少なくとも1つのバックアップシステムにおいて、イベントプロセス及びイベ
ントプロセスの実行をホールトする理由についてのすべての必要な情報は、イベ
ントメッセージを介して知ることができるので、その少なくとも1つのバックア
ップシステムは、生システムにおけるイベントプロセスの実行の様子を複写する
ことができる。これは、アクセスされたデータ、生成されたデータ、その他の変
化を受けたデータを含み、また、生システムにおけるのと時間的に同一の位置で
、即ち、同数の命令の後に、イベントをホールトさせることを含む。
【0011】 生システムと少なくとも1つのバックアップシステムにおいて、イベントプロ
セスを全く等しく行うことによって、生システムの状態と少なくとも1つのバッ
クアップシステムの状態との間に、メモリ内容も含めて、高レベルの同期を達成
することができる。このようにすれば、例えば、詳細なレベルでのメモリ手段の
チェックや、メモリ手段への変化の報告が不用となる。少なくとも1つのバック
アップシステムは、生システムに適用されたのと全く同じ変更をデータベースあ
るいはシステムデータに適用する。
【0012】 本発明の有利な実施の形態において、イベントプロセスをホールトさせる可能
性のある2つの理由がある。まず第1に、イベントプロセスは、正常に終了する
ことができる、即ち、対応するコマンドの実行が完了することを条件に終了する
ことができる。第2に、イベントプロセスは、例えば、別のイベントプロセスの
実行を要求する、より高い優先度を持つ更なるコマンドによって割込まれること
がある。このように、イベントプロセスが正常な終了によりホールトしたのか、
あるいは割込みによってホールトされたのかについての情報がイベントメッセー
ジに含まれる。
【0013】 本発明の更に有利な実施の形態において、生システムと少なくとも1つのバッ
クアップシステムの両方におけるイベントプロセスの実行を示すイベントデータ
を生成するための手段が備えられる。更に、生システムと少なくとも1つのバッ
クアップシステムにおいて生成されたイベントデータの比較に基づいて、システ
ム障害(fault)を検出するための手段が備えられる。このように、コンピュータ
システムの動作に障害があるか否かを判定することができる。生システムに障害
が生じたということが検出された場合、バックアップシステムが新規生システム
としての機能を引き受けるべく選択することができる。障害には、生システムに
おけるソフトウェアの障害あるいはハードウェアの障害、あるいはバックアップ
システムにおけるハードウェア障害などが含まれる。
【0014】 バックアップシステムの数は、システムのフォールトトレランスを更に高める
べく、任意であり、例えば、複数のバックアップシステムを使用することによっ
て、障害がどこにあるかを簡単に見つけることができる。
【0015】 更に、システムデータとアプリケーションデータとのアーカイブコピーを受け
取り記憶するための少なくとも1つのスタンバイシステムを備えるのが有利であ
る。このスタンバイシステムは、イベントログにおいて、生システムで生成され
たイベントメッセージのシーケンスをも記録することができる。スタンバイシス
テムは、システム及びアプリケーションデータのアーカイブコピーを使用して、
イベントログに記憶されたイベントメッセージに対応するイベントプロセスを実
行するように配置することができる。このように、アーカイブコピーを生成した
後のすべてのイベントがスタンバイシステムにおいて知られていれば、システム
及びアプリケーションデータのアーカイブコピーは、データあるいはイベントプ
ロセスを1つも失うことなく、現在の版に更新することができる。スタンバイシ
ステムは、更なるフォールトトレランス能力を付け加える。何故なら、任意の時
点で、生システムの状態を回復することができるからである。
【0016】 生システムは、複数の外部装置に接続することができ、それは、コンピュータ
システムの区域内プロセッサ(regional processors)又は分散中央プロセッサ(di
stributed central processors)であってよい。イベントプロセスは、区域内プ
ロセッサからの信号を実行することによって、あるいは分散中央プロセッサから
の信号を実行することによって構成することができる。更に、イベントプロセス
は、内部タイマー割込みによるプロセッサジョブテーブルのスキャン動作、及び
生システムの内部機能によって構成することができる。区域内プロセッサ又は分
散中央プロセッサからのコマンドによって生起される外部イベントプロセスを定
義することによって、また、タイマー割込み又はその他のシステム機能によって
生起される内部イベントプロセスを定義することによって、生システムのシステ
ム状態のすべての可能な変化を記述することができる。
【0017】 イベントメッセージは、イベントプロセスの実行シーケンスを示すシーケンス
数を含むと、例えば、イベントプロセスのシーケンスが、少なくとも1つのバッ
クアップシステムにおいてイベントメッセージの受け取りシーケンスによって定
義されていない場合に、有利である。更に、イベントプロセスホールト条件を指
定するためにイベントメッセージには、例えば実行される命令の数を含ませるこ
とができる。また、イベントメッセージは、割込みが生じた際の生システムにお
けるレジスタ状態や、イベントプロセスによって定義あるいはアクセスされたデ
ータを備えることができる。イベントメッセージにおいてこの情報を組み合わせ
ることによって、イベントプロセスを更に完全に記述することができるようにな
り、少なくとも1つのバックアップシステムにおいて完全に同じ方法で実行した
りホールトしたりすることができるようになる。
【0018】 ソフトウェアホールトが生システムにおいて検出された場合、イベントメッセ
ージは、そのソフトウェアホールトを指定する情報と、バックアップシステムが
ソフトウェアフォールトを回避するのを可能にする情報を含むことができる。次
に、バックアップシステムが、動作を引き継ぐ。
【0019】 本発明の他の有利な実施の形態によれば、複数の処理ノードを備えることがで
き、それぞれは第1処理ノード用の生システムと第2処理ノード用のバックアッ
プシステムを含む。更に、各処理ノードは、第3処理ノード用のスタンバイシス
テムを含むことができる。このように、各ノードは、同時に、生システム及び/
又はバックアップシステム及び/又はスタンバイシステムとして機能することが
できる。好ましくは、すべてのノードの間の通信用の手段が備えられる。生処理
ユニット、バックアップ処理ユニット、及びスタンバイ処理ユニットは、単一デ
ータ処理ユニットにより構成することが可能である。
【0020】 更に、本発明の有利な実施の形態は、従属クレームに記載されている。 本発明は、添付図面を参照しながら、以下の好ましい実施の形態の説明を読む
ことによって、より良く理解することができる。
【0021】 以下、図1乃至図7を参照しながら、本発明の好ましい実施の形態について説
明する。図面において、同じ参照番号は、同じ構成要素を示す。
【0022】 図1は、本発明によるフォールトトレラント・コンピュータシステムの第1の
実施の形態を示す。図1のフォールトトレラント・コンピュータシステムは、生
システム100(PS)と、バックアップシステム110(BS)と、故障(フ
ォールト)検出手段120(FD)と、複数の外部装置141,142,143
,144を備える。中央通信手段130が備えられ、各システム構成要素は、相
互に通信することができる。
【0023】 図1による本発明の実施の形態のフォールトトレラント・コンピュータシステ
ムは、バンキングシステム、ブッキングシステム、通信ネットワークなどの障害
に敏感な業務に使用することができる。
【0024】 本発明によると、生システムは、動作に対して責任がある。即ち、生システム
は、業務に必要なすべての動作を実行する。この場合、生システムは、例えば、
通信ネットワークにおいて、通信リンクに対する要求を受け取る責任があり、通
信を設定する(establish)責任があり、加入者サービスデータ、加入者ロケーシ
ョンデータなどを扱う責任がある。
【0025】 バックアップシステムは、システムの機能あるいは動作を直接実行はしないが
、コンピュータシステムのフォールトトレラント動作を可能にするための生資源
を提供する。
【0026】 外部装置141乃至144は、生システム100と通信できるように配置され
、生システムにおいてコマンドを発行したり、あるいはイベントを生成すること
ができるようにすると良い。通信ネットワークにおいて、外部装置は、スイッチ
、分散通信ネットワークの区域内プロセッサ(regional processors)によって構
成することができるが、あるいは、例えば、通信ネットワークの移動切り替えセ
ンターにおける分散中央演算システムの装置であってもよい。外部装置は、通信
に対する要求、加入者サービスについての情報を要求するコマンドを発行したり
、あるいは、外部装置などによって行われるアクションについての知らせを送る
【0027】 外部装置との相互作用、例えば、コマンドは、すべて、生システム100によ
って扱われるのが好ましい。バックアップシステム110もコマンドを受信する
ことができるが、バックアップシステムは、コマンドを直接的に処理しない方が
好ましい。
【0028】 図1の内部通信手段130の構造に依存して、フォールトトレラント・コンピ
ュータシステムのすべての構成要素は、通信手段130を介して、相互に接続さ
れているが、他の実施の形態においては、外部装置141乃至144は、生シス
テム100にのみ接続することができる。フォールトトレラント・コンピュータ
システムの動作に依存して、例えば、生システムにおいてシステム故障が生じた
場合、外部装置141乃至144は、生システムから切り離してバックアップシ
ステム110に接続することができる。この目的のために、切り替え手段を備え
ることができるが、これは本発明を構成するものではないので、これ以上は説明
しない。
【0029】 生システム100は、本発明によるコンピュータシステムを動作させるための
いくつかの構成要素を備える。好ましくは、生システムは、コマンドを受信し処
理し、外部装置141乃至144との通信を扱うための生中央演算装置101(
P−CPU)を備える。
【0030】 更に、生システム100は、生システムのシステム状態に関するシステムデー
タや、アプリケーションに関するアプリケーションデータを記憶するための生メ
モリ手段102(PM)を備える。本実施の形態において、加入者データ及び内
部データは、生メモリ手段内に記憶することができる。図1において、生メモリ
手段は、単一装置として示されているが、生メモリ手段102は、別々の装置に
分割することもできる。第1の装置は生システムのシステム状態に関するシステ
ムデータを記憶し、生メモリ手段の第2の装置は、加入者データを記憶するため
のデータベースによって構成することができる。
【0031】 生中央演算装置101の動作は従来行われているようにコマンドにより制御さ
れる。生中央演算装置101の動作は、例えば、システム状態や生メモリ手段の
内容に影響を与える。
【0032】 コマンドは、外部装置141乃至144の1つによって発行することができる
が、あるいは、生システム100の何らかのシステム状態に従って、内部的に生
成することもできる。いずれの場合においても、生中央演算装置101は、コマ
ンドあるいはイベントを受け取ると、アクションを起こし、イベントプロセスに
おいてそのコマンドを実行する。イベントプロセスは、生メモリ手段102内に
記憶されたデータを変化させ、外部装置141乃至144の1つと通信すること
になる可能性がある。イベントプロセスの実行の際、更なるイベントプロセスを
実行するためのコマンドあるいは命令が生成されることがある。好ましくは、1
つのコマンドが、生システムにおけるシステム動作のシーケンスをもたらし、そ
こには、生中央演算装置の動作が含まれ、また、アプリケーションデータやシス
テムデータなど、生メモリ手段に記憶されたデータに対する変化も含むことがで
きる。
【0033】 デジタル信号処理において一般的に行われているように、コマンド又はイベン
トを受け取った際のイベントプロセスの実行は、正常な終了によって終わること
もあれば、例えば、より高い優先度を持つ更なるコマンド又はイベントによって
割込まれることもある。この場合、生中央演算装置101の現在の動作はホール
トされ、高い優先度を持つコマンドが実行され、その後、第1のコマンドの実行
が再開される。割込みは、例えば、内部タイミング手段により知らせを受けた際
に生じることもあれば、外界から受け取られることもある。割込み発生は、外界
との相互作用に依存するだけでなく、生システム内の内部イベントにより発生す
ることもある。従って、生システム内でのコマンド又はイベント又は割込みの正
確なタイミングは、簡単には決められず、例えば、コマンド又は割込みの発生を
知らせるだけでは充分でなく、割込みが発生したときのすべての状況及び正確な
タイミングを正確に記述することが必要である。
【0034】 バックアップシステムが生システムと全く同じ状態及びメモリ内容を持つこと
を確実にすべく、本発明により、イベント生成器103(EG)が備えられ、生
中央演算装置101に接続され、生中央演算装置がイベントプロセス(コマンド
の実行)をホールトするたびに、イベントメッセージを生成する。以上に概略を
述べたように、バックアップシステムと生システムとの間の同期については、コ
マンド又はイベントを報告するだけでは不充分であり、イベントプロセスの実行
の状況についての更なる情報を送信することが必要である。従って、イベントメ
ッセージは、少なくとも、生システムにおいて実行されるイベントプロセスの種
類についての情報を含み、更に、イベントプロセスの実行をホールトする理由及
び状況についての情報を含む。
【0035】 バックアップシステム110は、生システムと同様に、好ましくは、バックア
ップ中央演算装置111(B−CPU)と、バックアップメモリ手段112(B
M)とを備える。生メモリ手段として、バックアップメモリ手段が配置され、バ
ックアップシステムのシステム状態に関するシステムデータ及びアプリケーショ
ンデータを記憶する。
【0036】 更に、バックアップシステムは、生システム100において生成された一連の
イベントメッセージを受け取り中間的に(intermediately)記憶するためのバッフ
ァ113(B)を備え、また、バックアップ中央演算装置に接続されたバックア
ップ制御手段114を備え、イベントプロセスの実行のスケジューリングを行い
、例えば、生システムからバッファで受け取られたイベントメッセージの受信順
序で、あるいは、生システムにおけるイベントプロセスの実行シーケンスを示す
イベントプロセスインジケータに従ってスケジューリングを行う。
【0037】 尚、図1では単一のバックアップシステムが示されているが、複数のバックア
ップシステムを備えて、それらに対して、生システムに対応するイベントプロセ
スシーケンスを実行させることもできる。
【0038】 従って、短い遅延を持って、例えば、0.5乃至1msの遅延を持って、バッ
クアップシステムは、生システムにおいて実行されたのと全く同じイベントプロ
セスシーケンスを実行することになり、生メモリ手段102とバックアップメモ
リ手段112とが同期される。
【0039】 生システムにおいてコマンドが受信されるか、あるいは生システム内でコマン
ドが生成されると、即ち、生システム100においてイベントが生じると、中央
演算装置101は、スケジューリング政策に従って、コマンドに従うイベントプ
ロセスを実行する。ある時点において、イベントは、正常なイベントプロセス実
行により、あるいは割込みにより、ホールトされる。どちらの場合においても、
イベントプロセス実行をホールトした時点で、イベント生成器は、イベントプロ
セスを示す情報及びその処理をホールトする理由を示す情報を備えるイベントメ
ッセージを生成する。処理をホールトする理由は、先に簡単に述べたように、イ
ベントプロセスの実行が完了したことによる正常な終了、あるいは割込み発生で
ある。
【0040】 好ましくは、生システムにおけるイベントプロセスをホールトした後、イベン
トメッセージはバックアップシステムに送信され、バックアップ制御手段114
により制御されて、対応のイベントプロセスが、生システムと比較してわずかな
遅延を持って、実行される。
【0041】 イベントメッセージは、また、生システムにおけるイベントプロセスの実行シ
ーケンスを示すシーケンス番号を備えることができ、生システムにおいてイベン
トプロセスがホールトされるまでに実行された命令の数を含むことができる。更
に、イベントメッセージは、イベントが生じた際の生システムのレジスタ状態及
びイベントプロセスにより定義された又はアクセスされたデータを備えることが
できる。
【0042】 尚、生システム内のすべての起りうる処理は、イベントプロセスによって適切
に定義されている必要があり、これにより、未定義の処理が生システムとバック
アップシステムにおいて異なる実行が生じることを防止する。従って、例えば外
部I/Oシステムとの通信は、完全に定義されたイベントプロセスのコンセプト
内で行われることが確保される。ファイルシステムとの未構成の(unstructured)
直接的通信TCP/IPなどは許可されない。通信は、イベントプロセスを介し
て、生中央演算装置により扱われる完全に定義された信号によって行わなければ
ならない。これらの前提条件が満たされれば、イベントメッセージを使用して、
システム状態又は生メモリ手段に記憶されたデータに影響を与える、生システム
内のすべての遷移を充分に記述することができる。
【0043】 本発明の重要な特徴として、イベントプロセスがホールト又は終了されると、
イベントメッセージが生成され、これにより、イベントプロセスの実行について
の正確な情報をバックアップシステムに伝えることができ、ここには、イベント
プロセス及びイベントプロセスをホールトする理由についてのデータが含まれる
。イベントプロセスは、外部装置、例えば、区域内プロセッサ又は分散中央プロ
セッサからの信号を実行することによって構成することができる。また、イベン
トプロセスは、生システム内の内部タイマーのタイマー割込みによるジョブテー
ブルのスキャン命令によっても構成することができる。更に、イベントプロセス
は、生システムの内部機能又は生システム内の内部機能を実行することによって
も構成することができる。従って、イベントプロセスが終了すると、生システム
のイベント生成器103がイベントメッセージを生成し、そこには、少なくとも
イベントプロセスの種類、及びイベントプロセスのホールト理由が含まれる。 イベントが、スキャンジョブテーブルを行うことであれば、スキャンが行われ
、そのスキャンジョブテーブルイベントプロセスが正常に終了した際に、あるい
はそのスキャンジョブテーブル処理が割込まれた際に、イベント生成器がイベン
トメッセージを生成する。
【0044】 更に、例えば、区域内プロセッサ又は分散中央プロセッサのような外部装置か
らコマンド又は信号を受け取ると、イベントメッセージが生成される。
【0045】 先に概略を述べたように、イベントメッセージはバックアップシステム110
に送られ、そこで中間的に(intermediately)バッファ113に記憶されるのが好
ましい。次に、バックアップ制御手段114は、バッファで受け取られたイベン
トメッセージに従って、あるいはイベントメッセージに含まれるシーケンス番号
に従って、イベントプロセスの実行をスケジュールする。
【0046】 各イベントメッセージは、イベントプロセスの実行に必要なすべての情報を備
え、バックアップ制御手段114は、バックアップ中央演算装置111に、生中
央演算装置において以前に実行されたと同じイベントプロセスを実行するよう指
示することができる。更に、送られたメッセージは各々イベントプロセスのホー
ルトの理由についての情報を備えるので、バックアップ制御手段は、バックアッ
プ中央演算装置111に、生中央演算装置101でホールトされたのと全く同じ
位置でそのイベントプロセスの実行をホールトするように指示することができる
。この文脈における位置とは、対応のイベントプロセスがホールトされたときに
生中央演算装置において達成されたのと同じイベントプロセス実行レベルがバッ
クアップ中央演算装置によって達成されたときの実行中のポイントである。この
ように、生システムにおけるイベントプロセスが正常な実行により終了した場合
は、バックアップシステムにおける対応のイベントプロセスも、正常な実行によ
り終了する。また、生システムにおけるイベントプロセスが割込みによりホール
トされた場合は、バックアップシステムにおける対応のイベントプロセスも、イ
ベントプロセスの全く同じ実行段階において割込まれる。
【0047】 生システム及び/又は少なくとも1つのバックアップシステムにおいて間違っ
た動作が生じるまで、生システムと1つのバックアップシステムとの間の厳格な
対応あるいは同期は成功する。従って、生システムとバックアップシステムから
の実行パラメータを比較することによって、システムフォールトを検出すること
ができる。
【0048】 本発明によるフォールトトレラント・コンピュータシステムは、システムフォ
ールトを検出するためのフォールト検出手段120を備えることができる。フォ
ールト検出手段120は、別個の装置で、データ通信手段130に接続されたも
のであってもよいし、あるいはバックアップシステム110又は生システム内に
含めてもよいし、あるいは、その他のフォールトトレラント・コンピュータシス
テムに含めてもよい。
【0049】 好ましくは、フォールト検出手段120は、生システムにおけるイベントプロ
セスの実行について記録されたデータを、対応のイベントプロセスとバックアッ
プシステムの実行について記録されたデータと比較する。フォールトトレラント
・コンピュータシステムは、好ましくは、生システムにおけるイベントプロセス
の実行を示すイベントデータを生成するための第1手段と、少なくとも1つのバ
ックアップシステムにおける同じイベントプロセスの実行を示すイベントデータ
を生成するための第2手段とを備える。
【0050】 生システムとバックアップシステムで生成されたイベントデータは、好ましく
は、フォールト検出手段に送られ、フォールト検出手段は、イベントデータの比
較に基づいて、システムフォールトを検出する。生システムからのイベントデー
タとバックアップシステムからのイベントデータが完全に一致すれば、システム
フォールトは生じない。生システムとバックアップシステムにおけるイベントプ
ロセスの実行についてのイベントデータが一致しない場合は、システムフォール
トが示される。生システムと少なくとも1つのバックアップシステムにおけるシ
ステムデータの比較に基づくシステムフォールトの検出は、従来公知であるから
、ここでは説明しない。例えば、フォールトが生じた位置を決定するのに多数決
(majority vote)を使用することができる。
【0051】 生システムのシステムフォールトが検出されると、バックアップシステムが新
規生システムとしてのシステム機能を引き受けるべく選択される。この場合、コ
ンピュータシステムの動作は生システムによって実行されるのではなく、バック
アップシステムに受け継がれる。コンピュータシステムの構成、特に通信手段1
30によって、これは、外部装置141乃至144の間の通信リンクを、生シス
テムからバックアップシステムの選択された1つへ切り替えることを含む。
【0052】 生システムとバックアップシステムとの間には、常に、高レベルの同期、即ち
、非常に短時間の遅延、例えば0.5乃至1msの遅延で動作するため、選択さ
れたバックアップシステムは、データやコマンドを失うことなく、またダウン時
間を延長することなく、即座に生システムの機能を引き継ぐことができる。
【0053】 以下、図2を参照し、本発明のフォールトトレラント・コンピュータシステム
の第2の実施の形態について説明する。
【0054】 図2は、図1に示されたのと同様なフォールトトレラント・コンピュータシス
テムの1例を示す。
【0055】 生システム100とバックアップシステム110とに加えて、第2の実施の形
態においては、スタンバイシステム150が備えられる。また、図1に示された
本発明の第1の実施の形態とは対照的に、フォールト検出手段120は、バック
アップシステム110に内蔵される。外部装置145及び146が備えられる。
通信手段130は、生システム100と、バックアップシステム110と、スタ
ンバイシステム150と、外部装置145,146とを接続する。
【0056】 図1について述べた例におけると同様に、本発明の第2の実施の形態において
、バックアップシステムは、生システムと全く同じイベントプロセスシーケンス
を実行し、また前述と同様、生メモリ手段とバックアップメモリ手段に記憶され
たデータは同期される。
【0057】 イベント生成器103は、生システムにおいてイベントプロセスの実行がホー
ルトされるたびに、例えば、イベントプロセスが正常に終了した場合、あるいは
割込みが生じた場合、イベントメッセージを生成する。前述と同様、イベントメ
ッセージは、イベントプロセスの実行シーケンスを示すシーケンス番号を備える
ことができ、実行された命令の数、レジスタの状態、例えば、割込みが生じた場
合、イベントプロセスによって定義あるいはアクセスされたデータを備えること
ができる。また、イベントメッセージは、生システムにおける対応のイベントプ
ロセスの実行を示すイベントデータを備えることができ、これにより、バックア
ップシステムにおけるイベントプロセスの実行に対応するイベントデータとの比
較が可能となる。
【0058】 この第2の実施の形態において、イベントメッセージは、バックアップシステ
ムに送信されるだけでなく、スタンバイシステム150にも送信される。
【0059】 尚、スタンバイステムは、図2においては1つしか示されてないが、複数備え
ることができる。スタンバイシステムは、好ましくは、イベントプロセスを実行
せず、受け取ったイベントメッセージをイベントログ153(EL)にログする
だけである。図の例において、スタンバイシステム150は、スタンバイメモリ
手段152を備え、生メモリ手段102で記憶されたデータのアーカイブコピー
を記憶する。好ましくは、本発明によれば、生メモリ手段102に記憶されたシ
ステム及びアプリケーションデータのアーカイブコピーは、何らかの時間間隔で
スタンバイメモリ手段に転送される。例えば、アーカイブコピーは、1時間に1
回、1日1回などのように生成することができる。
【0060】 生システムのシステム状態を再現できるようにするためには、アーカイブコピ
ー生成の後のすべてのイベントメッセージを考慮に入れる必要がある。従って、
アーカイブコピーをスタンバイシステムに転送した後に、生システムから受け取
られたすべてのイベントメッセージがイベントログに記録される。このように、
イベントメッセージは、生システム100におけるイベントプロセスの実行状況
を明確に定義し、そこにはイベントの種類、イベントプロセスの実行のホールト
理由やタイミングなども含まれるので、イベントログは、スタンバイメモリ手段
152に記憶されたアーカイブコピーと共に、生システムのシステム状態を回復
するのに使用することができる。
【0061】 また、スタンバイシステム150は、スタンバイ中央演算装置151及びスタ
ンバイコマンド手段154を備える。例えば、生システムがホールトした際の生
システムのシステム状態を回復しなければならない場合、スタンバイ制御手段1
54は、イベントログに記憶されたイベントメッセージのシーケンスに従って、
命令を生成し、スタンバイ中央演算装置に対して、生システムにおいて実行され
たときと全く同様に全く同じイベントプロセスシーケンスを実行させることがで
きる。従って、時間的遅延はあるものの、同じ変化が、スタンバイメモリ手段1
52に記憶されたアーカイブコピーのデータに適用される。
【0062】 スタンバイシステムは、図1を参照しながら簡単に述べたように、バックアッ
プシステムによく似ているが、スタンバイシステムの主な目的は、イベントログ
にイベントメッセージを記録し、生システムのメモリ内容のアーカイブコピーを
記録して、後の時点で生システムのシステム状態を回復できるようにすることで
ある。
【0063】 例えば、バックアップシステムにおいてシステムフォールトが検出されると、
スタンバイシステムが、バックアップシステムの動作を引き継ぐことができる。
【0064】 更に、生システムにおいてソフトウェアフォールトが検出され、例えば、生シ
ステムが動作を続けることができなくなると、バックアップシステムに送信され
るイベントメッセージは、そのソフトウェアフォールトを特定する情報、及びバ
ックアップシステムにソフトウェアフォールトを回避させることのできる情報を
備えることができる。この場合、バックアップシステムは、例えば、ソフトウェ
アフォールトの原因となるイベントの実行をスキップしたり、あるいは、そのイ
ベントの実行中、何らかの通信又はソフトウェアルーチンをスキップすることが
できる。ソフトウェアフォールトは、スタンバイシステムにも報告することがで
きる。勿論、生システムにおけるフォールトの後には、先に述べたように、バッ
クアップシステムが生システムの動作を引き継ぐことができる。このように、前
向き(forward)エラー訂正を達成することができる。
【0065】 図3は、本発明によるコンピュータシステムのフォールトトレラント動作の方
法の一例を示すフローチャートである。先に述べた例におけると同様、コンピュ
ータシステムは、生システムと、バックアップシステムと、また所望するなら、
スタンバイシステムとを備える。以下、図3を参照しながら、コンピュータシス
テムのフォールトトレラント動作中の生システムの動作について説明する。
【0066】 システムは、図1及び図2の第1及び第2の実施の形態のように配置すること
ができる。特に、バックアップシステムは、生システムにおけるイベントプロセ
スが実行されるときに生成されるイベントメッセージを受け取るように配置され
る。しかしながら、図3のフローは、主として、生システムにおける動作を記述
する。
【0067】 ステップ301において、生中央演算装置は、イベントプロセスの実行、例え
ば、スケジューリング政策に基づいて、次に実行すべきコマンドに従って次の処
理を行う。イベントプロセスは、外部装置から受け取られたコマンドにより指示
された、生システムにおいて実行されるイベントプロセスのシーケンスにおける
次のイベントプロセスであってもよい。また、イベントプロセスは、生システム
に対して内部であるタイミング手段により知らされたときに実行されてもよい。
例えば、ジョブテーブルをスキャンするための内部タイマー割込みによる命令で
あってもよい。また、イベントプロセスは、生システムの内部機能に関連して実
行されてもよい。
【0068】 イベントプロセスが実行されている間に、更なるイベントプロセスの実行のた
めのコマンド又は命令が生成されることがある。コマンドは、好ましくは、生シ
ステムにおけるシステム動作のシーケンス内で終わり、生中央演算装置の動作や
、アプリケーションデータあるいはシステムデータのような生メモリ手段に記憶
されたデータへの変更を含む。繰り返しになるが、先に述べた実施の形態におけ
ると同様、生システムのすべての可能な動作は、イベントプロセスの一部でなけ
ればならない。生中央演算装置はイベントプロセス以外の動作を実行することは
できない。
【0069】 何らかの時点において、現在のイベントプロセスの実行が終了する。例えば、
正常な実行完了によることもあるし、あるいは割込みによりイベントプロセス実
行が強制的にホールトされることもある。このように、ステップ302において
、イベントプロセスのホールトの際、現在のイベントプロセスの正常な実行が行
われたのか、即ち、正常な実行が行われたのかどうかを決定すべく、イベントプ
ロセスがスーパーヴァイズされたかどうかがチェックされる。
【0070】 現在のイベントプロセスの正常な実行が検出されると、ステップ304におい
て、現在のイベントプロセスの正常な完了を示すイベントメッセージが生成され
る。このイベントメッセージは、少なくとも、現在のイベントプロセスの種類に
ついての情報、即ち、現在のイベントプロセスが正常な実行により終了したとい
う情報を含むことができる。更に、イベントメッセージは、イベントプロセスの
実行シーケンスを示すシーケンス番号を含むことができ、このようにしておけば
、イベントプロセスの好ましいシーケンスが対応のイベントメッセージの受け取
りシーケンスだけで、例えば、バックアップシステムにおいて、決定できない場
合に有利である。また、イベントメッセージは、イベントプロセスにより定義又
はアクセスされたデータについての情報を備えることができ、特にシステム状態
に関するデータ又は生メモリ手段に記憶されたアプリケーションデータについて
の情報を含むことができる。
【0071】 換言すると、イベントメッセージは、対応の現在のイベントプロセスを記述す
るのに必要なすべてのデータを備えることによって、バックアップシステムにお
いて完全に同じイベントプロセスを行うことができるようにしなければならない
。一般に、実行されるイベントプロセスの種類を示す識別子と、イベントプロセ
スの実行環境を特定するパラメータ、例えば、通信システムの場合なら加入者、
通信ラインなどを特定するパラメータとを送れば充分である。
【0072】 ステップ304において、割込みが生じたからどうかがチェックされる。ステ
ップ304において割込みが検出されないと、フローはステップ302に戻る。
割込みが検出されると、ステップ305において、イベントメッセージが生成さ
れ、これは、現在のイベントプロセスが割込まれたことを示すメッセージである
。好ましくは、対応のイベントメッセージは、現在のイベントプロセスの実行中
に生じた割込みの正確な時点についての情報を含む。イベントメッセージは、命
令の数、例えば、割込みが生じるまでに実行されたアセンブラ命令の数を含むこ
とができる。更に、イベントメッセージは、生システム、特に、割込みの時点で
の生中央演算装置のレジスタ状態を備えることができる。更に、ステップ304
で生成されるイベントメッセージと同様に、イベントプロセスの実行シーケンス
を示すシーケンス番号や、イベントプロセスにより定義又はアクセスされるデー
タについての情報を含むこともできる。
【0073】 ステップ306において、生システムにおける現在のイベントプロセスの実行
状況を示すイベントデータが生成される。好ましくは、このイベントデータは、
イベントプロセスがフォールトなしに実行されたかどうかを決定することのでき
る情報を含む。例えば、当業者には知られているように、システム状態、何らか
のキーデータ、あるいはチェック信号についての情報である。
【0074】 イベントデータは、ステップ307において、フォールト検出手段120に送
信される。フォールト検出手段がバックアップシステムに組み込まれている場合
、イベントデータはイベントメッセージに含まれて、それと一緒に、ステップ3
08において、バックアップシステム及び/又はスタンバイシステムへ送信され
ても良い。
【0075】 ステップ309において、現在のイベントプロセスが実行される際に、外部装
置への通信が必要かどうかが判定される。外部装置への通信は、例えば、別のプ
ロセッサなどの他の装置への通信を含む。この判定ステップは、フォールト(fau
lty)動作が生システムにおいて生じた場合に、外部装置への通信と一緒にそのフ
ォールトがコンピュータシステム全体に伝播するのを回避するためである。
【0076】 ステップ309において、外部装置への通信が必要ない場合、フローは直接ス
テップ301に戻り、次のイベントプロセスが実行される。
【0077】 ステップ309において、イベントプロセスの実行に際し外部装置への通信が
必要な場合、ステップ310において、生システムは、生システムとバックアッ
プシステムにおいて生成されたイベントデータがフォールト検出手段により比較
された比較結果を示すメッセージを待つことができる。比較結果を待つ間に、生
システムは、更なるイベントプロセス、例えば、外部装置への通信を必要としな
いイベントプロセスを中間的に(intermediately)実行することができる。しかし
ながら、外部的通信を要求するイベントプロセスも中間的に実行することができ
る。この場合、複数の比較メッセージが同時に待たれることになる。
【0078】 ステップ311において、生システムとバックアップシステムからのイベント
データの比較についてのメッセージが届くと、生システムの動作にフォールトが
なかったかどうかが判定される。もしなければ、ステップ312において、外部
装置への必要な通信が行われ、フローはステップ301に戻り、スケジューリン
グ政策に基づく次のイベントプロセスが実行される。
【0079】 ステップ311において、生システムが実行した現在のイベントプロセスの動
作にフォールトがあると判定されると、ステップ313において、回復手順が開
始される。回復手順は、少なくとも1つ存在するバックアップシステムの1つを
新規の生システムとして指定することを備え、また更に、外部装置への通信リン
クを生システムからバックアップシステムへ切り替えることを備える。フォール
トトレラント・コンピュータシステムがスタンバイシステムを備える場合には、
回復手順は、スタンバイシステムに記録されているイベントメッセージログを、
それ以前にスタンバイシステムに転送されているアーカイブコピーに適用するこ
とを含むことができる。この回復手順の後、生システムの動作は終了させられ、
例えば、修理が行われる。
【0080】 尚、ステップのシーケンスは、必ずしも図3のフローと同じなくてもよく、更
なる実施の形態において異なるものでもよい。例えば、イベントデータは、イベ
ントメッセージより前に生成されてもよい。
【0081】 以下、図4を参照しながら、コンピュータシステムのフォールトトレラント動
作の方法の第2の実施の形態について説明する。図4は、コマンド処理、及びイ
ベントプロセスの実行について、より詳細に例を示す。ここでも、フローは、生
システムの動作を中心とするものである。
【0082】 生システムにおいて動作を開始した後、ステップ401で、生演算装置におい
てタイマー割込みに基づきジョブテーブルをスキャンすべきか否かが判定される
。ジョブテーブルは、実行されるべきジョブのシーケンスを含むことができる。
ジョブテーブルのスキャンは、ジョブのシーケンスが正しいか否かを判定し、ど
のジョブが次に実行されるべきかを決定するなどを含むことができる。ステップ
401において、別の内部システム機能が実行されるべきか否かも判定すること
ができる。換言すると、ステップ401において、イベントプロセスの実行を要
求する内部コマンドが生じたか否かが判定される。
【0083】 この例において、生システムは、プロセッサネットワークの区域内プロセッサ
と分散中央プロセッサとに接続されているものとする。コンピュータシステムは
、例えば、通信システムを動作させる。
【0084】 ステップ401において、内部コマンドが検出されない場合、ステップ402
において、区域内プロセッサ信号が受信されたか否かが判定される。これらの区
域内プロセッサ信号は、イベントプロセスの実行を要求するコマンドであること
もある。そのような信号又はコマンドがステップ402において検出されない場
合、ステップ403において、分散中央プロセッサ信号が生システムに到着して
いるか否かが判定される。分散中央プロセッサ信号は、イベントプロセスの実行
を要求するコマンドであることもある。また、イベントプロセスは、通信ネット
ワークにおけるサービス機能のようなシステム機能又は外部機能の実行開始によ
り構成されることもある。生システムはイベントプロセスを実行するだけであり
、システム状態、システムデータ、あるいはアプリケーションデータに影響を与
えるアクションは許可されない。
【0085】 ステップ403において、分散中央プロセッサ信号が検出されない場合、フロ
ーはステップ401に戻る。
【0086】 ステップ401,402,403のいずれかで、イベントプロセスの実行を要
求するコマンド又はイベントの受信が検出されると、ステップ404において、
スケジューリング政策に基づいて、どの信号が次に実行されるべきかが決定され
る。ステップ401,402,403で検出されるコマンドの他に、ジョブバッ
ファが、イベントプロセスの実行に対する要求を受けることもでき、これにより
、ステップ404で、優先権の判定が適用される。
【0087】 次に実行されるべきイベントが選択された後、ステップ405において、イベ
ントプロセスが、正常な終了まで、あるいは割込み発生まで実行される。
【0088】 次に、ステップ406において、イベントプロセスのホールトまでのイベント
プロセスの実行状況を示すイベントデータが記録される。イベントデータは、そ
れより後の時点において、生システム及び/又はバックアップシステム及び/又は
スダントバイシステムにおけるフォールト(faulty)動作を検出するのに使用する
ことができる。更に、ステップ406において、少なくともイベントプロセスの
修理とイベントプロセスのホールト理由を示すイベントメッセージが生成される
【0089】 次に、ステップ407において、生成されたイベントデータ及び/又は生成さ
れたイベントメッセージが少なくとも1つのバックアップシステム及び/又はス
タンバイシステムへ送信される。 その後、フローはステップ401に戻る。
【0090】 図5は、コンピュータシステムのフォールトトレラント動作の方法の実行の更
なる例を示す。以下、図5を参照しながら、バックアップシステムにおける動作
を説明する。 システム構成は、先に説明した実施の形態について説明したものと同様である
【0091】 図1及び図2を参照して具体的に説明したように、バックアップシステムは、
イベントプロセスの種類及び生システムにおける実行明細を示すイベントメッセ
ージを受け取るべく配置されており、バックアップシステムは同じイベントプロ
セスを生システムで実行されたと同じ方法で実行することができ、ここには、イ
ベントプロセスを中間的にホールトすること、又はイベントプロセスを終了させ
ることも含まれる。
【0092】 ステップ501において、バックアップシステムは、生システムからイベント
メッセージを受け取る。イベントメッセージのバックログの場合、即ち、以前の
イベントメッセージに対応するイベントプロセスであってバックアップシステム
においてまだ実行されていないイベントプロセスのバックログ(backlog)の場合
、バックアップシステムは、そのイベントメッセージをバッファに中間的に記憶
することができる。
【0093】 ステップ502において、ステップ501で先に受け取られたイベントメッセ
ージに対応して、バックアップ中央演算装置がイベントプロセスの実行に使用で
きるかどうかが判定される。イベントメッセージがバッファ、例えばFIFOに
中間的に記憶されてた場合、最初に受け取られたイベントメッセージが実行用に
スケジュールされる。しかしながら、所望の実行シーケンスがイベントメッセー
ジの受け取り順序から決定できない場合、実行順序は、例えば、イベントメッセ
ージに含められることのできるシーケンス番号に従うこともできる。シーケンス
番号は、好ましくは、生システムにおけるイベントメッセージの実行シーケンス
を示す。実行用スケジューリングは、図1について説明したように、バックアッ
プ制御装置によって行うことができる。
【0094】 プロセッサが使用できない場合は、ステップ503において、バックアップ制
御手段は、プロセッサが使用可能になるまで待機することができる。
【0095】 ステップ504において、バックアップ制御手段は、次のイベントメッセージ
を読み、イベントメッセージに応じた制御信号を生成する。制御信号は、バック
アップ中央演算装置に送信されて、バックアップシステムにおいて対応のイベン
トプロセスの実行をさせる。これは、例えば、バックアップメモリ手段に記憶さ
れているシステムデータ又はアプリケーションデータの変更などである。制御信
号は、イベントメッセージに応じて、生システムにおけるイベントプロセスの以
前のホールトと同様にイベントプロセスをホールトさせることもする。これは、
生システムにおいて先に生成された割込みと同様の割込み生成を含むことができ
る。
【0096】 イベントプロセスをホールトさせた後、ステップ506において、バックアッ
プシステムにおけるイベントプロセスの実行状況を示すイベントデータが生成さ
れる。
【0097】 ステップ507において、フォールト検出手段がバックアップシステムに内蔵
されていれば、バックアップシステムにおいて生成されたイベントデータは、容
易に、生システムにおいて生成されたイベントデータ、即ち、バックアップシス
テムにおいてイベントメッセージと共に受け取られたイベントデータと比較され
る。比較結果は、生システムに送信することができる。
【0098】 ステップ508において、生システムとバックアップシステムのイベントデー
タが一致すると判定されれば、フローはステップ501に戻り、次のイベントプ
ロセスが実行用にスケジュールされる。
【0099】 ステップ508において、生システムとバックアップシステムのイベントデー
タが一致しないと判定されれば、ステップ509において回復手順が行われる。
回復手順は、好ましくは、関与しているシステムのどちらが、つまり生システム
とバックアップシステムのどちらにおいてフォールトが生じたかの検出を含む。
回復手順は、バックアップシステムの選択を含むことができるが、複数のバック
アップシステムが存在する場合は、バックアップシステムの1つを選択して、新
規の生システムとしての機能を引き継がせる。また、これには、生システムにお
いて最後に正しく実行されたイベントプロセスがどれであるかを判定することも
含むことができ、例えば、生システムにおいて生成されたイベントデータに基づ
いて行われ、また、最後に正しく実行されたイベントプロセスについての情報を
すべての関係バックアップシステム及び/又はスタンバイシステムに送信するこ
とも含むことができる。更に、引継ぎメッセージをすべての残りのバックアップ
システムとスタンバイシステム、及びフォールトトレラント・コンピュータシス
テムのすべての他の装置へ送ることができる。
【0100】 以下、図6を参照して、生システムとバックアップシステムを備える本発明に
基づくフォールトトレラント・コンピュータシステムによるイベントプロセスの
シーケンスの具体的実行例を説明する。
【0101】 イベントプロセスA,B,C,Dが実行されるとする。これらの実行は、先の
例で概略を述べたように、行うことができる。特に、生システムにおいて1つの
イベントプロセスを実行した後、生システムにおいて、そのイベントプロセスの
終了理由を含むイベントメッセージが生成される。バックアップシステムにおい
て、そのイベントメッセージを受け取った後、その他のイベントプロセスが現時
点で行われていなければ、受け取られたイベントメッセージに対応するイベント
プロセスがバックアップシステムにおいて実行される。更に、生システムにおい
て外部装置への通信要求が検出されると、外部装置との通信動作が行われる前に
、好ましくは、生システムは、生システムにおけるフォールトなしの動作を示す
信号を待つ。この期間中、生システムにおいて他のイベントを実行することがで
きる。
【0102】 ステップ601において、生システムにおいてイベントプロセスAが実行され
る。イベントプロセスAの実行が正常に終了する、即ち、生システムにおいて正
常な終了が検出されるとする。従って、ステップ602において、先に述べたよ
うに、イベントメッセージEAがバックアップシステムに送信される。このイベ
ントメッセージは、例えば、イベントプロセスの種類、影響を受けたシステムデ
ータ及び/又はアプリケーションデータ、イベントプロセスのホールト理由につ
いての情報を含む。イベントメッセージは、生システムにおけるイベントプロセ
スAの種類及び実行に関するすべての必要な情報を含むので、イベントメッセー
ジEAはバックアップシステムで受け取られると、それに続いて、バックアップ
システムにおいて全く同様な方法でイベントプロセスAを実行することができる
。ここには、生システムにおけるイベントプロセスAの実行中に生システムにお
いてアクセスされたのと同じデータをバックアップシステムにおいてアクセスす
ることが含まれる。
【0103】 イベントプロセスAがバックアップシステムにおいて実行されると、第2のイ
ベントプロセスB(1)(第1部)が、ステップ604において、生システムで
実行される。
【0104】 今度は、イベントプロセスB(第1部)の実行中に、イベントプロセスCの実
行を要求するコマンドCが割込みを発生し、イベントプロセスB(1)(第1部
)の実行を中断させるとする。本発明によると、ステップ605において、イベ
ントメッセージEB1が生システムにおいて生成され、バックアップシステムに
送信される。
【0105】 イベントプロセスAの実行が正常に終了したので、イベントメッセージEB1
がバックアップシステムで受け取られる前に、バックアップシステムでは短い待
機時間が生じて、それから、バックアップシステムにおいて対応のイベントプロ
セスB(1)(第1部)を実行することができる。ステップ606において、バ
クアップシステムでは、イベントプロセスB(1)(第1部)が実行され、コマ
ンドCによる割込みについての情報もイベントメッセージEB1に含まれていた
ので、イベントプロセスBは、バックアップシステムにおいて、実行中の全く同
じ時点で割込まれる。バックアップシステムにおいて正確な割込みを可能とすべ
く、実行された命令の数をイベントメッセージに含めることができる。バックア
ップシステムにおける割込み生成は、参照番号607で示されている。
【0106】 イベントプロセスB(1)がバックアップシステムで実行されているとき、生
システムにおいては、割込みを発生させたイベントプロセスCがステップ608
において実行される。
【0107】 この例において、イベントプロセスCは正常に終了し、対応のイベントメッセ
ージECが、ステップ609で、バックアッププロセッサへ送信される。しかし
ながら、イベントメッセージCがバックアップシステムで受け取られる時点で、
バックアップシステムはイベントプロセスB(1)の第1部を実行中である。と
いうのは、その時点で割込みが生じるようにスケジュールされていないからであ
る。従って、イベントメッセージECは、スケジュールされた割り込みがバック
アップシステムにおいて生じるまで、例えば、中間的バッファに記憶される。
【0108】 バックアップシステムにおけるイベントプロセスBの誘発された割り込みの後
、中間的に記憶されたイベントメッセージECに指定されたイベントプロセスC
を実行する(ステップ610)。
【0109】 これと同時に、ステップ611において、イベントプロセスCが生システムに
おいて正常に終了しているので、生システムは、中断されたイベントプロセスの
実行を再開する。イベントプロセスB(2)の第2部が正常に終了した後、生シ
ステムは、ステップ612で、イベントメッセージE2をバックアップシステム
へ送信する。
【0110】 イベントメッセージEB1により、バックアップシステムではコマンドCによ
り割込み時点での生システムの正確な状態がわかっているので、バックアップシ
ステムは、ステップ613で、イベントプロセスB2の実行を再開し、それが正
常に終了するまで続ける。尚、バックアップシステムにおける人工割込み(arti
ficial interrupt)が生成された際にであっても、生システムのレジスタ状態が
バックアップシステムに既に送信されている可能性があるので、バックアップシ
ステムにおけるレジスタ状態は、コマンドCにより生システムにおいて割込みが
発生した時のものと同じはずである。
【0111】 イベントプロセスB(2)の第2部の実行中、イベントプロセスの実行を再開
した後、ステップ614において、外部コマンドDが外部装置から受け取られた
とする。この外部装置は、通信システムの場合、区域内プロセッサ又は分散中央
プロセッサである。 イベントプロセスBの正常な終了の後、生システムにおいて、ステップ615
で、イベントプロセスDを実行することができる。
【0112】 また、イベントプロセスBが外部装置に対して通信要求を行うとする。しかし
ながら、生システムにおけるフォールト(faulty)動作が伝播するのを防止するた
めに、生システムにおいてフォールトなしの動作が判定されるまで、その通信要
求は延期される(ホールドされる)。このように、外部装置へ通信を実行する前
に、生システムは、生システムにおいてイベントプロセスBが実行された際に生
成されたイベントデータと、バックアップシステムにおいてイベントプロセスB
が実行された際に生成されたイベントデータが一致することを示す信号が出るま
で待機する。ステップ616において、同期チェックが、生システムにおいてフ
ォールトが生じてないということを示せば、ステップ617において、外部装置
への通信を行うことができる。
【0113】 尚、ここに示した例はフォールトトレラント・コンピュータシステムの動作の
あり得る状況を記述するにすぎない。例えば、通信要求がホールドされるとは限
らず、例えば、非クリティカル(non-critical)通信や時刻/クリティカル通信は
、前述の同期チェックを待たずに行うことができる。
【0114】 以下、図7を参照して、本発明によるフォールトトレラント・コンピュータシ
ステムの動作の更なる例について説明する。この場合、主として、生システムと
スタンバイシステムの通信と動作について説明する。
【0115】 スタンバイシステムは、生システムからのメモリ内容のアーカイブコピーを記
憶すべく配置される。アーカイブコピーは、所定の時間間隔で生成されるのが好
ましい。さらに、スタンバイシステムはイベントログにイベントメッセージを記
録し、フォールトが検出された場合に、生システムのシステム状態又はバックア
ップシステムのシステム状態を回復できるようにする。
【0116】 システムの動作について、例として、イベントプロセスE,F,Gを使用して
説明する。
【0117】 最初のステップ701において、第1のアーカイブコピーが生システムのメモ
リ手段からスタンバイシステムのメモリ手段へ転送される。好ましくは、このア
ーカイブコピーは、すべての関連アプリケーションデータ及び/又はすべての関
連システムデータを含む。このように、スタンバイメモリ手段のメモリ内容は、
アーカイブコピーが生成された時点での生システムのメモリ状態を表す。
【0118】 次に、ステップ702において、先に簡単に述べたように、生システムにおい
てイベントプロセスEが実行され、イベントプロセスEが正常に終了した場合、
イベントメッセージEEが、ステップ703において、スタンバイシステムへ転
送される。スタンバイシステムでは、ステップ704において、イベントメッセ
ージEがイベントログに記録される。
【0119】 これとほぼ同時に、生システムにおいて、ステップ705として、イベントプ
ロセスFが実行され、それが、ある時点において、中断される(割込まれる)。
従って、ステップ706において、イベントプロセスFを指定するすべての必要
なデータを含むイベントメッセージEF、そして割込みがスタンバイシステムへ
転送される。
【0120】 スタンバイシステムにおいては、ステップ707として、イベントメッセージ
EFがイベントログに記録される。同様に、ステップ708において、イベント
プロセスGが実行され、イベントプロセスGが正常に終了すると、イベントメッ
セージEGが、ステップ709で、バックアップシステムへ転送される。イベン
トメッセージEGは、ステップ710で、イベントログに記録される。
【0121】 ステップ701でスタンバイシステムにおいて生成されたアーカイブコピー、
及び生システムから転送されたすべてのイベントメッセージのシーケンスを備え
ている、イベントログで記録されたイベントメッセージによって、先に簡単に述
べたように、生システムのシステム状態を再現することができる。
【0122】 アーカイブコピーは、ある時間間隔で生成される。ステップ711で新規アー
カイブコピーを転送した後、イベントログのすべての先に記録されているイベン
トメッセージを消去することができ、新規イベントログを開始することができる
。 従って、スタンバイシステムにおいてイベントログ内に最後に記録されたイベ
ントメッセージに対応するイベントプロセスまでの、生システムのシステム状態
を常に再現することができる。
【0123】 以下、図8を参照して、本発明によるフォールトトレラント・コンピュータシ
ステムの他の実施の形態について説明する。
【0124】 図8は、本発明によるフォールトトレラント・コンピュータシステムの処理ノ
ード800,810,820,830を示す。これらの処理ノードは、ネットワ
ーク840を介して接続され、これはクラスタ接続であってもよい。
【0125】 各処理ノードは、生システムと、バックアップシステムと、スタンバイシステ
ムとを備える。尚、スタンバイシステムはなくてもよく、他の実施の形態におい
て、処理ノードは生システムとバックアップシステムだけを備えるものであって
もよい。
【0126】 図8に示されるように、第1処理ノード800は、第1処理ノード800用の
生システム801と、第2処理ノード810用のバックアップシステム802と
、第3処理ノード820用のスタンバイシステム803を備える。
【0127】 同様に、第2処理ノード810は、第2処理ノード810用の生システム81
1と、第3処理ノード820用のバックアップシステム812と、第4処理ノー
ド830用のスタンバイシステム813を備える。
【0128】 第3処理ノード820は、第3処理ノード820の生システムと、第4処理ノ
ード830のバックアップシステムと、第1処理ノード800のスタンバイシス
テムを備える。 最後に、第4処理ノード830は、第4処理ノード830の生システム831
と、第1処理ノード800のバックアップシステム832と、第2処理ノード8
10のスタンバイシステム833を備える。
【0129】 生バックアップ機能とスタンバイ機能とを相互に指定することによって、フォ
ールトトレランスが改善される。尚、処理ノードの数は任意であり、それぞれが
生システムと、バックアップ及び/又はスタンバイシステムとを備える。生演算
装置、バックアップ演算装置、スタンバイ演算装置は、図8において独立してい
るように示されているが、これらは、単一のプロセッサにより構成することもで
きる。即ち、生システムの機能と、バックアップシステム及び/又はスタンバイ
システムの機能は、単一の演算装置によって実行することができる。
【図面の簡単な説明】
【図1】 本発明によるフォールトトレラント・コンピュータシステムの1実施の形態を
示す。
【図2】 本発明によるフォールトトレラント・コンピュータシステムの他の実施の形態
を示す。
【図3】 本発明によるコンピュータシステムのフォールトトレラント動作の方法の1例
を示すフローチャートである。
【図4】 本発明によるコンピュータシステムのフォールトトレラント動作の方法の第2
の例を示すフローチャートである。
【図5】 本発明によるコンピュータシステムのフォールトトレラント動作の方法の第3
の例を示すフローチャートである。
【図6】 生システムとバックアップシステムとを含む本発明によるシステムの動作の1
例を示す時間/フローダイグラムである。
【図7】 生システムとスタンバイシステムとを含む本発明によるシステムの1実施の形
態の動作の1例を示す。
【図8】 それぞれが生システムと、バックアップシステムと、スタンバイシステムとを
含む複数の処理ノードを示す。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年6月21日(2000.6.21)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】 しかしながら、故障が生じた場合、このシステムは、スタンバイユニットを使
用して動作を再開するのに長時間を必要とする。何故なら、ユニット間で行われ
る周期的ハンドシェイクでは、高レベルの同期を維持するのは不可能だからであ
る。 米国特許5,473,771号に記載されているフォールトトレラント・処理
システムアーキテクチャは、それぞれが地域(local area)ネットワークに接続さ
れている複数のサービスユニット(service units)及びサービスを受けるユニッ
ト(served units)を備えた冗長性を採用している。各サービスユニットは、アク
ティブ構成での動作により継続的に行われるクリティカル(critical)情報の複写
コピーを生成し記憶する。両方のユニットが交代でネットワークを使用すること
によって、サービスを受けるユニットに対してクリティカル情報の独立複写資源
を提供する。すべてのユニットが同じ情報にアクセスするので、それらはデータ
の処理を同じものにすることができる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正内容】
【0021】 (発明の詳細な説明) 以下、図1乃至図8を参照しながら、本発明の好ましい実施の形態について説
明する。図面において、同じ参照番号は、同じ構成要素を示す。
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CR, CU,CZ,DE,DK,DM,EE,ES,FI,G B,GD,GE,GH,GM,HR,HU,ID,IL ,IN,IS,JP,KE,KG,KP,KR,KZ, LC,LK,LR,LS,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,SL, TJ,TM,TR,TT,UA,UG,US,UZ,V N,YU,ZA,ZW

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 フォールトトレラント・コンピュータシステムであって、 外部装置(141乃至146)に接続された生システム(100)と、生シス
    テム(100)に接続された少なくとも1つのバックアップシステム(110)
    とを備え、 生システム(100)は、 生システム(100)においてコマンドが生じたときに実行されるイベントプ
    ロセスを実行するための生中央演算装置(101)と、 生中央演算装置(101)に接続され、システムデータとアプリケーションデ
    ータとを記憶するための生メモリ手段(102)と、 生中央演算装置(101)に接続され、生中央演算装置(101)がイベント
    プロセスをホールトするたびに、少なくともイベントプロセスの種類とイベント
    プロセス実行のホールト理由についての情報を含むイベントメッセージを生成す
    るイベント生成器(103)と を備え、 バックアップシステム(110)は、 イベントプロセスを実行するためのバックアップ中央演算装置(111)と、 バックアップ中央演算装置(111)に接続され、システムデータとアプリケ
    ーションデータとを記憶するバックアップメモリ手段(112)と、 生システム(100)からのイベントメッセージのシーケンスを受け取り中間
    的に記憶するためのバッファ(113)と、 バックアップ中央演算装置(110)に接続され、イベントメッセージに従っ
    てイベントプロセスの実行をスケジュールするためのバックアップ制御手段(1
    14)と を備える ことを特徴とするフォールトトレラント・コンピュータシステム。
  2. 【請求項2】 請求項1記載のフォールトトレラント・コンピュータシステ
    ムであって、イベント生成器(103)がイベントメッセージを生成するのは、 イベントプロセスの割込みが発生した場合、及び イベントプロセスが正常に終了した場合 であることを特徴とするフォールトトレラント・コンピュータシステム。
  3. 【請求項3】 請求項1及び2のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、 生システムにおけるイベントプロセスの実行を示すイベントデータを生成する
    ための第1手段と、 少なくとも1つのバックアップシステム(110)における同じイベントプロ
    セス実行を示すイベントデータを生成するための第2手段と、 イベントデータを比較してシステムフォールトを検出するための手段(110
    )であって、生システムにおいてシステムフォールトが検出された場合、少なく
    とも1つのバックアップシステムの1つを選択して新規生システムとしての機能
    を引き継がせる手段と を特徴とするフォールトトレラント・コンピュータシステム。
  4. 【請求項4】 請求項1乃至3のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、生システム(100)におけるイベントプロセ
    スの実行についてのイベントデータが対応のイベントメッセージに含まれること
    を特徴とするフォールトトレラント・コンピュータシステム。
  5. 【請求項5】 請求項1乃至4のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、少なくとも1つのスタンバイシステム(150
    )を備え、このスタンバイシステム(150)は、 システムデータとアプリケーションデータのアーカイブコピーを受け取り記憶
    するための第1スタンバイメモリ手段(152)と、 前記アーカイブコピーを受け取った後、イベントログ内のイベントメッセージ
    のシーケンスを記録するための第2スタンバイメモリ手段(153)と を備えることを特徴とするフォールトトレラント・コンピュータシステム。
  6. 【請求項6】 請求項1乃至5のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、スタンバイシステム(150)が更に、 第1スタンバイメモリ手段(152)と第2スタンバイメモリ手段(153)
    とに接続されたスタンバイ中央演算装置(151)と、 スタンバイ中央演算装置(151)に接続され、イベントログに記憶されたイ
    ベントメッセージのシーケンスに対応したイベントプロセスのシーケンスの実行
    をスケジュールするスタンバイ制御手段(154)と を備えることを特徴とするフォールトトレラント・コンピュータシステム。
  7. 【請求項7】 請求項1乃至6のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、外部装置(141乃至146)が分散システム
    の区域内プロセッサ又は分散中央プロセッサであることを特徴とするフォールト
    トレラント・コンピュータシステム。
  8. 【請求項8】 請求項1乃至7のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、イベントプロセスが、 区域内プロセッサからのコマンドの実行と、 分散中央プロセッサからのコマンドの実行と、 タイマー割込みによるジョブテーブルスキャンと、 生システムの内部コマンドの実行と から成るグループの中から少なくとも1つによって構成されることを特徴とする
    フォールトトレラント・コンピュータシステム。
  9. 【請求項9】 請求項1乃至8のいずれかに記載のフォールトトレラント・
    コンピュータシステムであって、イベントメッセージが、更に、 イベントプロセッサの実行シーケンスを示すシーケンス番号と、 実行された命令の数と、 割込みが生じた際のレジスタ状態と、 イベントプロセスによって定義又はアクセスされたデータに関する情報と から成るグループの中から少なくとも1つによって構成されることを特徴とする
    フォールトトレラント・コンピュータシステム。
  10. 【請求項10】 請求項1乃至9のいずれかに記載のフォールトトレラント
    ・コンピュータシステムであって、生システム(100)においてソフトウェア
    フォールトが検出された場合、イベントメッセージは、そのソフトウェアフォー
    ルトを特定する情報を含み、バックアップシステム(110)は、対応のイベン
    トプロセスの少なくとも一部の実行をスキップすることを特徴とするフォールト
    トレラント・コンピュータシステム。
  11. 【請求項11】 請求項1乃至10のいずれかに記載のフォールトトレラン
    ト・コンピュータシステムであって、複数の処理ノード(800、810、82
    0,830)を備え、そのそれぞれが、 第1処理ノードの生システムと、 第2処理ノードのバックアップシステムと、 第3処理ノードのスタンバイシステムと、 すべての処理ノードを相互接続する手段と を備えることを特徴とするフォールトトレラント・コンピュータシステム。
  12. 【請求項12】 請求項11記載のフォールトトレラント・コンピュータシ
    ステムであって、前記複数の処理ノードの少なくとも1つの生演算装置と、バッ
    クアップ演算装置と、スタンバイ演算装置とが単一プロセッサにより構成される
    ことを特徴とするフォールトトレラント・コンピュータシステム。
  13. 【請求項13】 生システム(100)と少なくとも1つのバックアップシ
    ステム(110)とを備えるコンピュータシステムのフォールトトレラント動作
    の方法であって、 生システム(100)において、 生システム(100)においてコマンドが発生した際に実行されるプロセスで
    あるイベントプロセスを、生中央演算装置(101)により実行するステップと
    、 生中央演算装置(101)がイベントプロセスをホールトするたびに、少なく
    ともイベントプロセスの種類とイベントプロセス実行のホールト理由についての
    情報を含むイベントメッセージを生成するステップと、 各イベントメッセージを少なくとも1つのバックアップシステム(110)に
    送信するステップと が備えられ、 少なくとも1つのバックアップシステム(110)においては、 生システム(100)からのイベントメッセージを中間的にバッファ(113
    )に記録するステップと、 バッファ(113)における対応のイベントメッセージの実行をスケジュール
    するステップと、 イベントメッセージに従って、バックアップ中央演算装置(111)によりイ
    ベントプロセスを実行するステップと を備えることを特徴とする方法。
  14. 【請求項14】 請求項13記載のコンピュータシステムのフォールトトレ
    ラント動作の方法であって、イベントプロセスの割込みが発生した場合、及びイ
    ベントプロセスが正常に終了した場合にイベントメッセージが生成されることを
    特徴とする方法。
  15. 【請求項15】 請求項13及び14時34分のいずれかに記載のコンピュ
    ータシステムのフォールトトレラント動作の方法であって、 生システム(100)においてイベントプロセスの実行を示すイベントデータ
    を生成するステップと、 少なくとも1つのバックアップシステム(110)において同じイベントプロ
    セスの実行を示すイベントデータを生成するステップと、 イベントデータの比較に基づいてシステムフォールトを検出し、生システムの
    システムフォールトが検出された場合、少なくとも1つのバックアップシステム
    の1つを選択して新規生システムとしての機能を引き継がせるステップと を備えることを特徴とする方法。
  16. 【請求項16】 請求項13乃至15のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、 少なくとも1つのスタンバイシステム(150)において、生システム(10
    0)からのシステムデータとアプリケーションデータのアーカイブコピーを受け
    取るステップと、 少なくとも1つのスタンバイシステム(150)のイベントログに、前記アー
    カイブコピーが生成された後に生システムで生成されたイベントメッセージのシ
    ーケンスを記録するステップと を備えることを特徴とする方法。
  17. 【請求項17】 請求項16記載のコンピュータシステムのフォールトトレ
    ラント動作の方法であって、 少なくともとも1つのスタンバイシステムがバックアップシステムとしての機
    能を引き継がなければならない場合、イベントログに記憶されたイベントメッセ
    ージに対応したイベントプロセスのシーケンスを実行するステップと、 スタンバイ中央演算装置においてイベントメッセージにより指定されたイベン
    トプロセスを実行し、対応の変化をアーカイブコピーに適用するステップと を備えることを特徴とする方法。
  18. 【請求項18】 請求項13乃至17のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、イベントプロセスが、 区域内プロセッサからのコマンドの実行と、 分散中央プロセッサからのコマンドの実行と、 タイマー割込みによるジョブテーブルスキャンと、 生システムの内部コマンドの実行と から成るグループの中から少なくとも1つによって構成されることを特徴とする
    方法。
  19. 【請求項19】 請求項13乃至18のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、イベントメッセージが、更に
    、 イベントプロセッサの実行シーケンスを示すシーケンス番号と、 実行された命令の数と、 割込みが生じた際のレジスタ状態と、 イベントプロセスによって定義又はアクセスされたデータに関する情報と から成るグループの中から少なくとも1つによって構成されることを特徴とする
    方法。
  20. 【請求項20】 請求項13乃至19のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、生システム(100)におい
    てソフトウェアフォールトが検出された場合、イベントメッセージは、そのソフ
    トウェアフォールトを特定する情報を含み、バックアップシステム(110)は
    、対応のイベントプロセスの少なくとも一部の実行をスキップすることを特徴と
    する方法。
  21. 【請求項21】 請求項13乃至20のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、少なくとも1つのバックアッ
    プシステム(110)がイベントプロセスを実行する順序が、バッファにおいて
    対応のイベントメッセージが受け取られた順序であるか、又は生システム(10
    0)におけるイベントプロセスの実行シーケンスを示すシーケンス番号により指
    定された順序であることを特徴とする方法。
  22. 【請求項22】 請求項13乃至21のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、新規生システムとしての機能
    を引き継ぐべきバックアップシステムの選択が、 連続的に実行された最後のイベントプロセスがどれであるかを判定するステッ
    プと、 最後に実行されたイベントプロセスについての情報を、すべてのバックアップ
    システム(110)とスタンバイシステム(150)とへ送信するステップと、 引継ぎメッセージをすべての残りのバックアップとスタンバイシステム、及び
    すべての外部装置に送るステップと を備えることを特徴とする方法。
  23. 【請求項23】 請求項13乃至22のいずれかに記載のコンピュータシス
    テムのフォールトトレラント動作の方法であって、生システムが外部装置(14
    1乃至144)と交信するのは、少なくとも1つのバックアップシステムが前の
    イベントの実行を完了しシステムフォールトが検出されなかった場合だけである
    ことを特徴とする方法。
JP2000565464A 1998-08-11 1999-08-09 フォールトトレラント・コンピュータシステム Pending JP2002522845A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19836347.8 1998-08-11
DE19836347A DE19836347C2 (de) 1998-08-11 1998-08-11 Fehlertolerantes Computersystem
PCT/EP1999/005739 WO2000010087A1 (en) 1998-08-11 1999-08-09 Fault tolerant computer system

Publications (1)

Publication Number Publication Date
JP2002522845A true JP2002522845A (ja) 2002-07-23

Family

ID=7877184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000565464A Pending JP2002522845A (ja) 1998-08-11 1999-08-09 フォールトトレラント・コンピュータシステム

Country Status (10)

Country Link
US (1) US6438707B1 (ja)
EP (1) EP1110148B1 (ja)
JP (1) JP2002522845A (ja)
KR (1) KR100575497B1 (ja)
CN (1) CN1137439C (ja)
AU (1) AU5731699A (ja)
BR (1) BR9912879A (ja)
CA (1) CA2339783C (ja)
DE (1) DE19836347C2 (ja)
WO (1) WO2000010087A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545788A (ja) * 2006-08-04 2009-12-24 ティーエスエックス インコーポレイテッド フェイルオーバシステムおよび方法
WO2012020698A1 (en) * 2010-08-11 2012-02-16 Nec Corporation Primary-backup based fault tolerant method for multiprocessor systems
JP2013505499A (ja) * 2009-09-18 2013-02-14 アルカテル−ルーセント 動的ネットワークでの改善されたサーバ冗長性の方法
WO2014141393A1 (ja) * 2013-03-12 2014-09-18 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
WO2015029139A1 (ja) * 2013-08-27 2015-03-05 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US10685041B2 (en) 2013-08-21 2020-06-16 Kabushiki Kaisha Toshiba Database system, computer program product, and data processing method

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19836347C2 (de) 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
US6898189B1 (en) * 2000-08-23 2005-05-24 Cisco Technology, Inc. Restartable spanning tree for high availability network systems
US7054892B1 (en) 1999-12-23 2006-05-30 Emc Corporation Method and apparatus for managing information related to storage activities of data storage systems
GB0002972D0 (en) * 2000-02-09 2000-03-29 Orange Personal Comm Serv Ltd Data handling system
DE10014390C2 (de) * 2000-03-23 2002-02-21 Siemens Ag Hochverfügbares Rechnersystem und Verfahren zur Umschaltung von Bearbeitungsprogrammen eines hochverfügbaren Rechnersystems
US6694450B1 (en) * 2000-05-20 2004-02-17 Equipe Communications Corporation Distributed process redundancy
JP3968207B2 (ja) * 2000-05-25 2007-08-29 株式会社日立製作所 データ多重化方法およびデータ多重化システム
GB2372673B (en) * 2001-02-27 2003-05-28 3Com Corp Apparatus and method for processing data relating to events on a network
JP4273669B2 (ja) * 2001-02-28 2009-06-03 沖電気工業株式会社 ノード情報管理システム及びノード
DE10111864A1 (de) * 2001-03-13 2002-09-26 Tenovis Gmbh & Co Kg Anordnung mit zumindest einer Telekommunikationsanlage sowie Verfahren zum Sichern von Gebührendatensätzen
US7472231B1 (en) 2001-09-07 2008-12-30 Netapp, Inc. Storage area network data cache
US7171434B2 (en) * 2001-09-07 2007-01-30 Network Appliance, Inc. Detecting unavailability of primary central processing element, each backup central processing element associated with a group of virtual logic units and quiescing I/O operations of the primary central processing element in a storage virtualization system
US20030065861A1 (en) * 2001-09-28 2003-04-03 Clark Clyde S. Dual system masters
US6918060B2 (en) * 2001-10-31 2005-07-12 Intel Corporation Bounding data transmission latency based upon link loading and arrangement
US6880111B2 (en) * 2001-10-31 2005-04-12 Intel Corporation Bounding data transmission latency based upon a data transmission event and arrangement
US7437450B1 (en) 2001-11-30 2008-10-14 Cisco Technology Inc. End-to-end performance tool and method for monitoring electronic-commerce transactions
CN100397349C (zh) * 2001-11-30 2008-06-25 甲骨文国际公司 用于在网络系统上提供资源高可用性的方法
GB0206604D0 (en) * 2002-03-20 2002-05-01 Global Continuity Plc Improvements relating to overcoming data processing failures
US7426559B2 (en) 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US20030236826A1 (en) * 2002-06-24 2003-12-25 Nayeem Islam System and method for making mobile applications fault tolerant
US7099661B1 (en) * 2002-07-10 2006-08-29 The Directv Group, Inc. Risk-time protection backup system
JP3774826B2 (ja) * 2002-07-11 2006-05-17 日本電気株式会社 情報処理装置
US7149917B2 (en) * 2002-07-30 2006-12-12 Cisco Technology, Inc. Method and apparatus for outage measurement
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
NZ521983A (en) * 2002-10-14 2005-05-27 Maximum Availability Ltd Journaling changes to system objects such as programs in the IBM OS/400 operating system
GB0308264D0 (en) * 2003-04-10 2003-05-14 Ibm Recovery from failures within data processing systems
US7720973B2 (en) * 2003-06-30 2010-05-18 Microsoft Corporation Message-based scalable data transport protocol
CN1292346C (zh) * 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的系统和方法
US7133986B2 (en) * 2003-09-29 2006-11-07 International Business Machines Corporation Method, system, and program for forming a consistency group
KR100608751B1 (ko) * 2004-02-07 2006-08-08 엘지전자 주식회사 이동통신단말기의 에러로그 관리 방법
US7133989B2 (en) * 2004-05-05 2006-11-07 International Business Machines Corporation Point in time copy between data storage systems
CN100372094C (zh) * 2004-10-29 2008-02-27 力晶半导体股份有限公司 具自动回复功能的晶片测试装置与晶片测试方法
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
JP4383484B2 (ja) * 2005-07-14 2009-12-16 富士通株式会社 メッセージ解析装置、制御方法および制御プログラム
JP4696759B2 (ja) * 2005-07-29 2011-06-08 Kddi株式会社 光終端システム
KR100725502B1 (ko) * 2005-09-09 2007-06-08 삼성전자주식회사 전자장치, 전자장치 시스템 및 전자장치의 제어방법
CN100465911C (zh) * 2006-04-13 2009-03-04 华为技术有限公司 一种备份方法
US7424642B2 (en) * 2006-04-24 2008-09-09 Gm Global Technology Operations, Inc. Method for synchronization of a controller
KR100820772B1 (ko) * 2006-04-27 2008-04-10 텔코웨어 주식회사 분산 네트워크 환경에서의 이중화 메모리 파일시스템 복구방법 및 복구 시스템
US7865887B2 (en) * 2006-11-30 2011-01-04 Sap Ag Context based event handling and execution with prioritization and interrupt management
CN101145946B (zh) * 2007-09-17 2010-09-01 中兴通讯股份有限公司 一种基于消息日志的容错集群系统和方法
JP4644720B2 (ja) * 2008-03-10 2011-03-02 富士通株式会社 制御方法、情報処理装置及びストレージシステム
CN101593136B (zh) * 2008-05-30 2012-05-02 国际商业机器公司 使得计算机具有高可用性的方法和计算机系统
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
CN101431401B (zh) * 2008-09-08 2012-04-04 华为终端有限公司 一种同步故障处理方法、客户端、服务器及其系统
CN101815009B (zh) * 2010-03-30 2011-09-28 南京恩瑞特实业有限公司 支持容错的热备同步方法
CN102385637A (zh) * 2011-12-22 2012-03-21 山东中创软件商用中间件股份有限公司 一种数据库信息的备份方法及系统
CN103248499B (zh) * 2013-03-27 2014-09-17 天脉聚源(北京)传媒科技有限公司 一种信息交互的方法和系统
CN103581177A (zh) * 2013-10-24 2014-02-12 华为技术有限公司 虚拟机管理方法及装置
CN106462612A (zh) 2014-07-01 2017-02-22 萨思学会有限公司 用于容错通信的系统和方法
US9712382B2 (en) 2014-10-27 2017-07-18 Quanta Computer Inc. Retrieving console messages after device failure
US9990367B2 (en) 2015-07-27 2018-06-05 Sas Institute Inc. Distributed data set encryption and decryption
US9811524B2 (en) 2015-07-27 2017-11-07 Sas Institute Inc. Distributed data set storage and retrieval
US10732858B2 (en) 2017-01-19 2020-08-04 International Business Machines Corporation Loading and storing controls regulating the operation of a guarded storage facility
US10725685B2 (en) 2017-01-19 2020-07-28 International Business Machines Corporation Load logical and shift guarded instruction
US10496292B2 (en) 2017-01-19 2019-12-03 International Business Machines Corporation Saving/restoring guarded storage controls in a virtualized environment
US10452288B2 (en) 2017-01-19 2019-10-22 International Business Machines Corporation Identifying processor attributes based on detecting a guarded storage event
US10496311B2 (en) 2017-01-19 2019-12-03 International Business Machines Corporation Run-time instrumentation of guarded storage event processing
US10579377B2 (en) 2017-01-19 2020-03-03 International Business Machines Corporation Guarded storage event handling during transactional execution
EP3543870B1 (en) 2018-03-22 2022-04-13 Tata Consultancy Services Limited Exactly-once transaction semantics for fault tolerant fpga based transaction systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
EP0306211A3 (en) * 1987-09-04 1990-09-26 Digital Equipment Corporation Synchronized twin computer system
CA1297593C (en) 1987-10-08 1992-03-17 Stephen C. Leuty Fault tolerant ancillary messaging and recovery system and method within adigital switch
DE69021712T2 (de) 1990-02-08 1996-04-18 Ibm Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme.
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
JP2773424B2 (ja) * 1990-11-20 1998-07-09 株式会社日立製作所 ネットワークシステムおよび接続コンピュータ切替え方法
WO1993009494A1 (en) 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5551047A (en) 1993-01-28 1996-08-27 The Regents Of The Univeristy Of California Method for distributed redundant execution of program modules
US5473771A (en) * 1993-09-01 1995-12-05 At&T Corp. Fault-tolerant processing system architecture
US5544304A (en) * 1994-03-25 1996-08-06 International Business Machines Corporation Fault tolerant command processing
US5619656A (en) 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US5528516A (en) 1994-05-25 1996-06-18 System Management Arts, Inc. Apparatus and method for event correlation and problem reporting
US5623532A (en) 1995-01-12 1997-04-22 Telefonaktiebolaget Lm Ericsson Hardware and data redundant architecture for nodes in a communications system
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
SE515348C2 (sv) 1995-12-08 2001-07-16 Ericsson Telefon Ab L M Processorredundans i ett distribuerat system
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
JPH10240557A (ja) * 1997-02-27 1998-09-11 Mitsubishi Electric Corp 待機冗長化システム
DE19836347C2 (de) 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033493A (ja) * 2006-08-04 2013-02-14 Tsx Inc フェイルオーバシステムおよび方法
JP2014002751A (ja) * 2006-08-04 2014-01-09 Tsx Inc フェイルオーバシステムおよび方法
US8683257B2 (en) 2006-08-04 2014-03-25 Tsx Inc. Failover system and method
JP2009545788A (ja) * 2006-08-04 2009-12-24 ティーエスエックス インコーポレイテッド フェイルオーバシステムおよび方法
US9569319B2 (en) 2009-09-18 2017-02-14 Alcatel Lucent Methods for improved server redundancy in dynamic networks
JP2013505499A (ja) * 2009-09-18 2013-02-14 アルカテル−ルーセント 動的ネットワークでの改善されたサーバ冗長性の方法
WO2012020698A1 (en) * 2010-08-11 2012-02-16 Nec Corporation Primary-backup based fault tolerant method for multiprocessor systems
WO2014141393A1 (ja) * 2013-03-12 2014-09-18 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
JP5698865B2 (ja) * 2013-03-12 2015-04-08 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
AU2013381504B2 (en) * 2013-03-12 2016-06-23 Kabushiki Kaisha Toshiba Database system, program, and data processing method
CN104185841A (zh) * 2013-03-12 2014-12-03 株式会社东芝 数据库系统、程序以及数据处理方法
US10685041B2 (en) 2013-08-21 2020-06-16 Kabushiki Kaisha Toshiba Database system, computer program product, and data processing method
WO2015029139A1 (ja) * 2013-08-27 2015-03-05 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
JPWO2015029139A1 (ja) * 2013-08-27 2017-03-02 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US10162875B2 (en) 2013-08-27 2018-12-25 Kabushiki Kaisha Toshiba Database system including a plurality of nodes

Also Published As

Publication number Publication date
US6438707B1 (en) 2002-08-20
EP1110148B1 (en) 2002-07-17
AU5731699A (en) 2000-03-06
CN1312922A (zh) 2001-09-12
CA2339783A1 (en) 2000-02-24
CN1137439C (zh) 2004-02-04
KR20010072379A (ko) 2001-07-31
EP1110148A1 (en) 2001-06-27
DE19836347A1 (de) 2000-02-17
DE19836347C2 (de) 2001-11-15
BR9912879A (pt) 2001-05-08
KR100575497B1 (ko) 2006-05-03
WO2000010087A1 (en) 2000-02-24
CA2339783C (en) 2011-03-08

Similar Documents

Publication Publication Date Title
JP2002522845A (ja) フォールトトレラント・コンピュータシステム
KR100324165B1 (ko) 갱신 트랜잭션 완성 방법 및 장치
US6868442B1 (en) Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment
FI101432B (fi) Vikasietoinen tietokonejärjestelmä
CN113641511B (zh) 一种消息通信方法和装置
US7865763B2 (en) Data replication method
MXPA06005797A (es) Sistema y metodo para la recuperacion en caso de fallas.
JPH0371201A (ja) フェイルセーフ・データ処理システム
US20070118840A1 (en) Remote copy storage device system and a remote copy method
KR20010079917A (ko) 복제 서버용 프로토콜
JP2003167684A (ja) ディスクアレイ装置間の遠隔データコピー方式
CN112513832A (zh) 一种数据的存储方法及设备
JPH09507983A (ja) 複製型リアルタイムシステム、特に電話交換機において予備プロセスをウオームアップする方法
CN110351122B (zh) 容灾方法、装置、系统与电子设备
JP6577901B2 (ja) 計算機システムおよびシステム状態再現方法
JP3447347B2 (ja) 障害検出方法
US20070180312A1 (en) Software duplication
JP2001109642A (ja) クラスタシステム、及びそのデータ複写方法
CN114598593A (zh) 消息处理方法、系统、计算设备及计算机存储介质
JP3025732B2 (ja) 多重化コンピュータシステムの制御方式
JP4193754B2 (ja) データ二重化方法とプログラム
JP2002149439A (ja) 分散処理システムにおけるサーバ切替え方法及びサーバ装置
US20020124204A1 (en) Guarantee of context synchronization in a system configured with control redundancy
Swanson et al. MVS/ESA coupled-systems considerations
JPH06139213A (ja) 計算機システム