JPH0793173A - コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 - Google Patents
コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法Info
- Publication number
- JPH0793173A JPH0793173A JP5238629A JP23862993A JPH0793173A JP H0793173 A JPH0793173 A JP H0793173A JP 5238629 A JP5238629 A JP 5238629A JP 23862993 A JP23862993 A JP 23862993A JP H0793173 A JPH0793173 A JP H0793173A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- fault
- tolerant
- tolerant computer
- load
- 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
Landscapes
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】コンピュータシステムの高信頼性と高処理速度
/低コストとの両立を図る。 【構成】フォールトレラントコンピュータ21は、他の
すべてのノン・フォールトトレラントコンピュータ1
1,12…で実行されていたプロセスを再現するための
ステータス情報(チェックポイント情報、出力データ)
を集中管理する。重要なFTプロセスPzを実行してい
るノン・フォールトトレラントコンピュータ11が故障
すると、フォールトレラントコンピュータ21によって
管理されているステータス情報を利用することによっ
て、FTプロセスPzはネットワーク内の他の任意のコ
ンピュータ、たとえばフォールトレラントコンピュータ
21またはノン・フォールトトレラントコンピュータ1
2上で再現されて継続実行される。
/低コストとの両立を図る。 【構成】フォールトレラントコンピュータ21は、他の
すべてのノン・フォールトトレラントコンピュータ1
1,12…で実行されていたプロセスを再現するための
ステータス情報(チェックポイント情報、出力データ)
を集中管理する。重要なFTプロセスPzを実行してい
るノン・フォールトトレラントコンピュータ11が故障
すると、フォールトレラントコンピュータ21によって
管理されているステータス情報を利用することによっ
て、FTプロセスPzはネットワーク内の他の任意のコ
ンピュータ、たとえばフォールトレラントコンピュータ
21またはノン・フォールトトレラントコンピュータ1
2上で再現されて継続実行される。
Description
【0001】
【産業上の利用分野】この発明は、フォールトトレラン
ト計算機と非フォールトトレラント計算機とが混在する
コンピュータネットワークシステムおよびそのコンピュ
ータネットワークシステムの計算機に対するプロセス割
り当て方法に関する。
ト計算機と非フォールトトレラント計算機とが混在する
コンピュータネットワークシステムおよびそのコンピュ
ータネットワークシステムの計算機に対するプロセス割
り当て方法に関する。
【0002】
【従来の技術】近年、耐故障性に優れた計算機が開発さ
れている。このような計算機は、一般的にフォ―ルトト
レラント計算機と呼ばれる。フォ―ルトトレラント計算
機は、2重または3重に冗長化されたハ―ドウェアモジ
ュールを有しており、このようなハードウェア構成の冗
長化によって信頼性を向上している。
れている。このような計算機は、一般的にフォ―ルトト
レラント計算機と呼ばれる。フォ―ルトトレラント計算
機は、2重または3重に冗長化されたハ―ドウェアモジ
ュールを有しており、このようなハードウェア構成の冗
長化によって信頼性を向上している。
【0003】例えば、フォ―ルトトレラント計算機で
は、複数のハ―ドウェアモジュ―ルの出力を常に比較す
ることにより故障の検出を行ない、故障発生時には故障
したモジュ―ルを切り離し、正常なハ―ドウェアモジュ
―ルに制御を切替えるという手法が用いられている。ま
た、同一のソフトウェアを複数のプロセッサモジュ―ル
上で実行し、故障発生時には正常なプロセッサモジュ―
ルの処理結果だけを出力するという手法が用いられてい
る。この結果、冗長化したプロセッサモジュ―ルのうち
の1つが故障しても、時間的な遅れを生じることなく、
故障したハ―ドウェアモジュ―ルを切り離して、正常な
ハ―ドウェアモジュ―ル上でソフトウェアの処理を継続
することができる。
は、複数のハ―ドウェアモジュ―ルの出力を常に比較す
ることにより故障の検出を行ない、故障発生時には故障
したモジュ―ルを切り離し、正常なハ―ドウェアモジュ
―ルに制御を切替えるという手法が用いられている。ま
た、同一のソフトウェアを複数のプロセッサモジュ―ル
上で実行し、故障発生時には正常なプロセッサモジュ―
ルの処理結果だけを出力するという手法が用いられてい
る。この結果、冗長化したプロセッサモジュ―ルのうち
の1つが故障しても、時間的な遅れを生じることなく、
故障したハ―ドウェアモジュ―ルを切り離して、正常な
ハ―ドウェアモジュ―ル上でソフトウェアの処理を継続
することができる。
【0004】しかしながら、このようなフォ―ルトトレ
ラント計算機は、信頼性が向上する反面、ハ―ドウェア
が冗長化してあるため部品点数が多くなってしまいコス
トが高くなる欠点がある。
ラント計算機は、信頼性が向上する反面、ハ―ドウェア
が冗長化してあるため部品点数が多くなってしまいコス
トが高くなる欠点がある。
【0005】また、常に複数のハ―ドウェアモジュ―ル
の出力を比較することによるオ―バ―ヘッドが生じ、更
に、ソフトウェアは、故障発生時に処理が継続できるよ
うに冗長化したハ―ドウェアを制御しなければならず、
その複雑さゆえに、冗長化されたハードウェア構成を持
たない通常の計算機システムに比べると、必要な処理が
多くなりシステムとしての処理速度は低下する。
の出力を比較することによるオ―バ―ヘッドが生じ、更
に、ソフトウェアは、故障発生時に処理が継続できるよ
うに冗長化したハ―ドウェアを制御しなければならず、
その複雑さゆえに、冗長化されたハードウェア構成を持
たない通常の計算機システムに比べると、必要な処理が
多くなりシステムとしての処理速度は低下する。
【0006】すなわち、一般的にフォ―ルトトレラント
計算機はコストが割高であり、かつ処理性能は幾分低下
する。特に、故障発生などにより処理を中断されては困
るような、例えば銀行のオンラインシステム上で実行さ
れるプログラムのような高可用度(アベイラビリティ
ー)を必要とする重要なユ―ザプログラム(プロセス)
が多数存在する場合には、それらプロセスの実行によっ
てフォ―ルトトレラント計算機の負荷が増大されるの
で、益々その処理速度は低下されることになる。
計算機はコストが割高であり、かつ処理性能は幾分低下
する。特に、故障発生などにより処理を中断されては困
るような、例えば銀行のオンラインシステム上で実行さ
れるプログラムのような高可用度(アベイラビリティ
ー)を必要とする重要なユ―ザプログラム(プロセス)
が多数存在する場合には、それらプロセスの実行によっ
てフォ―ルトトレラント計算機の負荷が増大されるの
で、益々その処理速度は低下されることになる。
【0007】しかし、冗長化されたハードウェア構成を
持たない通常の計算機に前述のような高可用度を必要と
するプロセスを実行させた場合には、その計算機が故障
するとそのプロセスの実行が中断されてしまうことにな
る。
持たない通常の計算機に前述のような高可用度を必要と
するプロセスを実行させた場合には、その計算機が故障
するとそのプロセスの実行が中断されてしまうことにな
る。
【0008】したがって、ユ―ザは、信頼性をとるか、
あるいは処理速度/コストをとるかを選択をしなければ
ならず、高信頼性と、高処理速度/低コストとを両立さ
せることができなかった。
あるいは処理速度/コストをとるかを選択をしなければ
ならず、高信頼性と、高処理速度/低コストとを両立さ
せることができなかった。
【0009】
【発明が解決しようとする課題】従来では、フォ―ルト
トレラント計算機はコストが割高であり、かつ処理性能
が比較的低いことから、フォ―ルトトレラント計算機を
利用すると、プロセスの実行中断がないので高い信頼性
が得られる反面、処理速度の低下、およびコストの増大
という不具合が生じる欠点があった。特に、故障発生な
どにより処理を中断されては困るような高可用度を必要
とする重要なプロセスが多数存在する場合には、それら
プロセスの実行によってフォ―ルトトレラント計算機の
負荷が増大されるので、益々その処理速度は低下される
ことになる。
トレラント計算機はコストが割高であり、かつ処理性能
が比較的低いことから、フォ―ルトトレラント計算機を
利用すると、プロセスの実行中断がないので高い信頼性
が得られる反面、処理速度の低下、およびコストの増大
という不具合が生じる欠点があった。特に、故障発生な
どにより処理を中断されては困るような高可用度を必要
とする重要なプロセスが多数存在する場合には、それら
プロセスの実行によってフォ―ルトトレラント計算機の
負荷が増大されるので、益々その処理速度は低下される
ことになる。
【0010】この発明はこのような点に鑑みてなされた
もので、プロセスの実行中断を招くことなく、フォ―ル
トトレラント計算機で実行すべ高可用度が必要な複数の
プロセスの一部を非フォ―ルトトレラント計算機に割り
当てられるようにし、高信頼性と高処理速度/低コスト
とを両立させることができるコンピュータネットワーク
システムおよびそのコンピュータネットワークシステム
の計算機に対するプロセス割り当て方法を提供すること
を目的とする。
もので、プロセスの実行中断を招くことなく、フォ―ル
トトレラント計算機で実行すべ高可用度が必要な複数の
プロセスの一部を非フォ―ルトトレラント計算機に割り
当てられるようにし、高信頼性と高処理速度/低コスト
とを両立させることができるコンピュータネットワーク
システムおよびそのコンピュータネットワークシステム
の計算機に対するプロセス割り当て方法を提供すること
を目的とする。
【0011】
【課題を解決するための手段および作用】この発明は、
冗長化されたハ―ドウェア構成を有するフォールトトレ
ラント計算機と、このフォールトトレラント計算機にネ
ットワークを介して接続され、単一ハ―ドウェア構成を
各々が有する複数の非フォールトトレラント計算機とを
備えたコンピュータネットワークシステムにおいて、前
記フォールトトレラント計算機に、前記コンピュータネ
ットワークシステムの計算機に実行させるプロセスそれ
ぞれについて高可用度の必要の有無を示すプロセス情報
を保持する手段と、前記複数の非フォールトトレラント
計算機によって実行されているプロセスの再現に必要な
ステータス情報をそれら非フォールトトレラント計算機
から定期的に受け取って保存する手段と、前記複数の非
フォールトトレラント計算機それぞれの動作を監視し、
それら各非フォールトトレラント計算機の障害発生を検
出する障害発生検出手段と、前記故障計算機によって実
行されていたプロセスの高可用度の必要性の有無を前記
プロセス情報を参照して検出し、高可用度を必要とする
プロセスだけが前記フォールトトレラント計算機によっ
て代替されるように、高可用度の必要性の有無に応じて
前記故障計算機以外の計算機の1つを代替計算機として
決定する代替計算機決定手段と、この代替計算機決定手
段によって代替計算機として決定された計算機に前記ス
テータス情報を渡して前記故障計算機によって実行され
ていたプロセスを継続実行させる手段とを具備すること
を第1の特徴とする。
冗長化されたハ―ドウェア構成を有するフォールトトレ
ラント計算機と、このフォールトトレラント計算機にネ
ットワークを介して接続され、単一ハ―ドウェア構成を
各々が有する複数の非フォールトトレラント計算機とを
備えたコンピュータネットワークシステムにおいて、前
記フォールトトレラント計算機に、前記コンピュータネ
ットワークシステムの計算機に実行させるプロセスそれ
ぞれについて高可用度の必要の有無を示すプロセス情報
を保持する手段と、前記複数の非フォールトトレラント
計算機によって実行されているプロセスの再現に必要な
ステータス情報をそれら非フォールトトレラント計算機
から定期的に受け取って保存する手段と、前記複数の非
フォールトトレラント計算機それぞれの動作を監視し、
それら各非フォールトトレラント計算機の障害発生を検
出する障害発生検出手段と、前記故障計算機によって実
行されていたプロセスの高可用度の必要性の有無を前記
プロセス情報を参照して検出し、高可用度を必要とする
プロセスだけが前記フォールトトレラント計算機によっ
て代替されるように、高可用度の必要性の有無に応じて
前記故障計算機以外の計算機の1つを代替計算機として
決定する代替計算機決定手段と、この代替計算機決定手
段によって代替計算機として決定された計算機に前記ス
テータス情報を渡して前記故障計算機によって実行され
ていたプロセスを継続実行させる手段とを具備すること
を第1の特徴とする。
【0012】このコンピュータネットワークシステムに
おいては、フォールトレラント計算機によって、他のす
べての非フォールトトレラント計算機で実行されていた
プロセスを再現するためのステータス情報が集中管理さ
れているので、そのステータス情報は、たとえ非フォー
ルトトレラント計算機に障害が発生した場合でも消失さ
れることはない。したがって、どの非フォールトトレラ
ント計算機が故障しても、その故障した計算機で実行さ
れていたプロセスを、フォールトレラントコンピュータ
に保持されているステータス情報を利用して再現して、
それをネットワーク内の他の任意の計算機で継続実行す
ることができる。このため、ネットワークシステム内の
複数の非フォールトトレラント計算機を、結果としてフ
ォールトトレラント計算機として利用する事が可能とな
り、システム全体の信頼性の向上を図る事ができる。
おいては、フォールトレラント計算機によって、他のす
べての非フォールトトレラント計算機で実行されていた
プロセスを再現するためのステータス情報が集中管理さ
れているので、そのステータス情報は、たとえ非フォー
ルトトレラント計算機に障害が発生した場合でも消失さ
れることはない。したがって、どの非フォールトトレラ
ント計算機が故障しても、その故障した計算機で実行さ
れていたプロセスを、フォールトレラントコンピュータ
に保持されているステータス情報を利用して再現して、
それをネットワーク内の他の任意の計算機で継続実行す
ることができる。このため、ネットワークシステム内の
複数の非フォールトトレラント計算機を、結果としてフ
ォールトトレラント計算機として利用する事が可能とな
り、システム全体の信頼性の向上を図る事ができる。
【0013】さらに、フォールトトレラント計算機で
は、各プロセスについてその高可用度の必要性の有無が
管理されており、その高可用度の必要性に応じてプロセ
スを代替実行する計算機が決定される。この場合、高可
用度を必要とするプロセスについては、フォールトトレ
ラント計算機がそのプロセスを実行する代替計算機とな
る。このため、重要なプロセスを非フォールトトレラン
ト計算機に割り当てた場合でも、その非フォールトトレ
ラント計算機に一旦障害が発生すると、以降はそのプロ
セスはフォールトトレラント計算機によって実行される
ことになる。したがって、非フォールトトレラント計算
機の故障に起因したプロセスの再現処理は、1つのプロ
セスについて1回だけで済み、プロセス再現処理の多発
によってシステム性能が低下される事もない。
は、各プロセスについてその高可用度の必要性の有無が
管理されており、その高可用度の必要性に応じてプロセ
スを代替実行する計算機が決定される。この場合、高可
用度を必要とするプロセスについては、フォールトトレ
ラント計算機がそのプロセスを実行する代替計算機とな
る。このため、重要なプロセスを非フォールトトレラン
ト計算機に割り当てた場合でも、その非フォールトトレ
ラント計算機に一旦障害が発生すると、以降はそのプロ
セスはフォールトトレラント計算機によって実行される
ことになる。したがって、非フォールトトレラント計算
機の故障に起因したプロセスの再現処理は、1つのプロ
セスについて1回だけで済み、プロセス再現処理の多発
によってシステム性能が低下される事もない。
【0014】この結果、従来は計算処理量に合わせて高
価なフォ―ルトトレラント計算機が多数必要であったと
ころが、この発明により、ネットワ―クと、それに接続
した一台、あるいは小数台のフォ―ルトトレラント計算
機と、安価な複数の非フォ―ルトトレラント計算機を用
いて、全体として耐故障性に優れたシステムを実現でき
る。また、一般に、同じ性能のプロセッサを用いたシス
テムであれば、フォ―ルトトレラント計算機よりも非フ
ォ―ルトトレラント計算機での方がオ―バヘッドが少な
いのでプロセス処理速度は速い。この発明のシステムに
おいては、非フォ―ルトトレラント計算機に重要なプロ
セスの一部を割り当てておけば、少なくともその計算機
が障害が発生するまでの期間は、そのプロセスをプロセ
ス実行の中断という弊害を招くこと無く高速に実行する
ことができる。したがって、信頼性、処理速度、コスト
の点で最適なシステムを構築できる。
価なフォ―ルトトレラント計算機が多数必要であったと
ころが、この発明により、ネットワ―クと、それに接続
した一台、あるいは小数台のフォ―ルトトレラント計算
機と、安価な複数の非フォ―ルトトレラント計算機を用
いて、全体として耐故障性に優れたシステムを実現でき
る。また、一般に、同じ性能のプロセッサを用いたシス
テムであれば、フォ―ルトトレラント計算機よりも非フ
ォ―ルトトレラント計算機での方がオ―バヘッドが少な
いのでプロセス処理速度は速い。この発明のシステムに
おいては、非フォ―ルトトレラント計算機に重要なプロ
セスの一部を割り当てておけば、少なくともその計算機
が障害が発生するまでの期間は、そのプロセスをプロセ
ス実行の中断という弊害を招くこと無く高速に実行する
ことができる。したがって、信頼性、処理速度、コスト
の点で最適なシステムを構築できる。
【0015】また、この発明は、冗長化されたハ―ドウ
ェア構成を有するフォールトトレラント計算機と、この
フォールトトレラント計算機にネットワークを介して接
続され、単一ハ―ドウェア構成を各々が有する複数の非
フォールトトレラント計算機とを備え、前記非フォール
トトレラント計算機で実行されていたプロセスを再現す
るための情報が前記フォールトトレラント計算機によっ
て集中管理されているコンピュータネットワークシステ
ムにおけるプロセス割り当て方法において、実行対象の
プロセスが高可用度を必要とするプロセスであるか否か
を決定するステップと、高可用度を必要とするプロセス
であることが決定された際、前記フォールトトレラント
計算機の負荷が一定値以上か否かを検出するステップ
と、前記フォールトトレラント計算機の負荷が一定値以
上であることが決定された際、前記複数の非フォールト
トレラント計算機の中で最も負荷の少ない計算機を選定
するステップと、前記フォールトトレラント計算機の負
荷と前記選定された非フォールトトレラント計算機の負
荷とを比較し、前記フォールトトレラント計算機の負荷
が少ない時にのみ前記高可用度を必要とする実行対象の
プロセスを前記前記フォールトトレラント計算機に割り
当てるステップとを具備する第2の特徴とする。
ェア構成を有するフォールトトレラント計算機と、この
フォールトトレラント計算機にネットワークを介して接
続され、単一ハ―ドウェア構成を各々が有する複数の非
フォールトトレラント計算機とを備え、前記非フォール
トトレラント計算機で実行されていたプロセスを再現す
るための情報が前記フォールトトレラント計算機によっ
て集中管理されているコンピュータネットワークシステ
ムにおけるプロセス割り当て方法において、実行対象の
プロセスが高可用度を必要とするプロセスであるか否か
を決定するステップと、高可用度を必要とするプロセス
であることが決定された際、前記フォールトトレラント
計算機の負荷が一定値以上か否かを検出するステップ
と、前記フォールトトレラント計算機の負荷が一定値以
上であることが決定された際、前記複数の非フォールト
トレラント計算機の中で最も負荷の少ない計算機を選定
するステップと、前記フォールトトレラント計算機の負
荷と前記選定された非フォールトトレラント計算機の負
荷とを比較し、前記フォールトトレラント計算機の負荷
が少ない時にのみ前記高可用度を必要とする実行対象の
プロセスを前記前記フォールトトレラント計算機に割り
当てるステップとを具備する第2の特徴とする。
【0016】この方法によれば、実行対象のプロセスの
高可用度の必要性を考慮してそのプロセスを割り当てる
計算機が決定される。例えば、単純に高可用度の必要が
ないプロセスはフォ―ルトトレラント計算機以外の計算
機に割り当てることにより高価なフォ―ルトトレラント
計算機の計算能力を無駄に消費することを避けられる。
さらに、各計算機の負荷も考慮し、例えば高可用度の必
要性があるプロセスが多数存在し、それを全てフォ―ル
トトレラント計算機出実行すると負荷の集中によってシ
ステム性能が低下されるような場合でも、フォ―ルトト
レラント計算機以外の計算機にそれらプロセスの一部を
割り当てて負荷を分散することができる。
高可用度の必要性を考慮してそのプロセスを割り当てる
計算機が決定される。例えば、単純に高可用度の必要が
ないプロセスはフォ―ルトトレラント計算機以外の計算
機に割り当てることにより高価なフォ―ルトトレラント
計算機の計算能力を無駄に消費することを避けられる。
さらに、各計算機の負荷も考慮し、例えば高可用度の必
要性があるプロセスが多数存在し、それを全てフォ―ル
トトレラント計算機出実行すると負荷の集中によってシ
ステム性能が低下されるような場合でも、フォ―ルトト
レラント計算機以外の計算機にそれらプロセスの一部を
割り当てて負荷を分散することができる。
【0017】この場合、その高可用度の必要性がある重
要なプロセスのステータス情報はフォ―ルトトレラント
計算機に保存されるているので、プロセスを割り当てた
計算機が故障してプロセスの実行が不可能になっても、
そのプロセスを中断すること無く、それを再生して継続
実行することが可能となる。
要なプロセスのステータス情報はフォ―ルトトレラント
計算機に保存されるているので、プロセスを割り当てた
計算機が故障してプロセスの実行が不可能になっても、
そのプロセスを中断すること無く、それを再生して継続
実行することが可能となる。
【0018】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1には、この発明の一実施例に係わるコンピ
ュータネットワークシステムの構成が示されている。こ
のコンピュータネットワークシステムは、フォールトト
レラントコンピュータとフォールトトレラントでない通
常の複数のコンピュータとが混在するシステムである。
ここでは、フォールトトレライントコンピュータが1台
で、通常のコンピュータが3台の場合を例にとって説明
する。
明する。図1には、この発明の一実施例に係わるコンピ
ュータネットワークシステムの構成が示されている。こ
のコンピュータネットワークシステムは、フォールトト
レラントコンピュータとフォールトトレラントでない通
常の複数のコンピュータとが混在するシステムである。
ここでは、フォールトトレライントコンピュータが1台
で、通常のコンピュータが3台の場合を例にとって説明
する。
【0019】すなわち、フォールトトレラントでない通
常のコンピュータ(以下、ノン・フォールトトレライン
トコンピュータと称する)11〜13は、LANなどの
ネットワーク10を介してフォールトトレラントコンピ
ュータ21に接続されており、そのフォールトトレラン
トコンピュータ21によって集中管理されている。
常のコンピュータ(以下、ノン・フォールトトレライン
トコンピュータと称する)11〜13は、LANなどの
ネットワーク10を介してフォールトトレラントコンピ
ュータ21に接続されており、そのフォールトトレラン
トコンピュータ21によって集中管理されている。
【0020】ノン・フォールトトレラントコンピュータ
11〜13は、それぞれ冗長化されてない、すなわち単
一のハードウェア構成から構成されるコンピュータであ
る。ノン・フォールトトレラントコンピュータ11〜1
3は、互いにネットワ―ク10を用いて通信することが
できる。また、これら各コンピュータのディスク上にあ
るファイルを、ネットワ―ク10を介してアクセスする
こともできる。ノン・フォールトトレラントコンピュー
タ11〜13のプロセッサは、それぞれ同じア―キテク
チャを持ち、同じ命令セットを有し、同一の命令列を実
行することができる。すなわち、バイナリコ―ドの互換
性があり、どのノン・フォールトトレラントコンピュー
タ11〜13でも同一アプリケ―ションプログラム(実
行コ―ド)を実行できる。
11〜13は、それぞれ冗長化されてない、すなわち単
一のハードウェア構成から構成されるコンピュータであ
る。ノン・フォールトトレラントコンピュータ11〜1
3は、互いにネットワ―ク10を用いて通信することが
できる。また、これら各コンピュータのディスク上にあ
るファイルを、ネットワ―ク10を介してアクセスする
こともできる。ノン・フォールトトレラントコンピュー
タ11〜13のプロセッサは、それぞれ同じア―キテク
チャを持ち、同じ命令セットを有し、同一の命令列を実
行することができる。すなわち、バイナリコ―ドの互換
性があり、どのノン・フォールトトレラントコンピュー
タ11〜13でも同一アプリケ―ションプログラム(実
行コ―ド)を実行できる。
【0021】また、これらノン・フォールトトレラント
コンピュータ11〜13の各々は、プロセスの実行状況
を示すステータス情報を一定の時点(チェックポイン
ト)毎に採取し、それをフォールトトレラントコンピュ
ータ21に転送する機能を有する。このステータス情報
(以下、チェックポイント情報と称する)は、良く知ら
れたロールバックなどの後方回復のために利用される。
また、コンピュータ11〜13の各々には、フォールト
トレラントコンピュータ21から渡された他のコンピュ
ータのチェックポイント情報を利用してプロセスを再現
・実行する機能を持つ。このプロセスの再現・実行機能
は、フォールトトレラントコンピュータ21からの指示
に応答して起動される。
コンピュータ11〜13の各々は、プロセスの実行状況
を示すステータス情報を一定の時点(チェックポイン
ト)毎に採取し、それをフォールトトレラントコンピュ
ータ21に転送する機能を有する。このステータス情報
(以下、チェックポイント情報と称する)は、良く知ら
れたロールバックなどの後方回復のために利用される。
また、コンピュータ11〜13の各々には、フォールト
トレラントコンピュータ21から渡された他のコンピュ
ータのチェックポイント情報を利用してプロセスを再現
・実行する機能を持つ。このプロセスの再現・実行機能
は、フォールトトレラントコンピュータ21からの指示
に応答して起動される。
【0022】しかし、これらノン・フォールトトレラン
トコンピュータ11〜13は、故障する危険がある。故
障が発生すると、前述の機能は何等作用しなくなる。ま
た、この時は、これらコンピュータ上のプロセスの実行
は中断してしまい、処理を再開することはない。さら
に、それらコンピュータ上のデ―タも失われてしまう。
場合によっては、それらコンピュータ上のディスク装置
上のファイルも壊れてしまい、信頼性は低い。
トコンピュータ11〜13は、故障する危険がある。故
障が発生すると、前述の機能は何等作用しなくなる。ま
た、この時は、これらコンピュータ上のプロセスの実行
は中断してしまい、処理を再開することはない。さら
に、それらコンピュータ上のデ―タも失われてしまう。
場合によっては、それらコンピュータ上のディスク装置
上のファイルも壊れてしまい、信頼性は低い。
【0023】フォールトトレラントコンピュータ21
は、ノン・フォールトトレラントコンピュータ11〜1
3を集中管理し、それらコンピュータ11〜13すべて
に対するプロセスの割り当て、動作監視、チェックポイ
ン情報の管理などを行う。
は、ノン・フォールトトレラントコンピュータ11〜1
3を集中管理し、それらコンピュータ11〜13すべて
に対するプロセスの割り当て、動作監視、チェックポイ
ン情報の管理などを行う。
【0024】このフォールトトレラントコンピュータ2
1は、主要なハ―ドウェアモジュ―ルを冗長化すること
によってハ―ドウェアの故障に対してある程度耐えられ
るように工夫された構成を有しており、高い信頼性を実
現している。
1は、主要なハ―ドウェアモジュ―ルを冗長化すること
によってハ―ドウェアの故障に対してある程度耐えられ
るように工夫された構成を有しており、高い信頼性を実
現している。
【0025】すなわち、フォールトトレラントコンピュ
ータ21は、3台のプロセッサペア211〜213、シ
ステムバス214〜216、2個の主記憶(MS1,M
S2)217,218、2個の通信制御装置219,2
20、2個のディスク制御装置221,222、2個の
磁気ディスク装置223,224、バッテリ300を備
えている。
ータ21は、3台のプロセッサペア211〜213、シ
ステムバス214〜216、2個の主記憶(MS1,M
S2)217,218、2個の通信制御装置219,2
20、2個のディスク制御装置221,222、2個の
磁気ディスク装置223,224、バッテリ300を備
えている。
【0026】プロセッサペア211〜213は互いに独
立しており、いずれか1つのプロセッサペアに異常が発
生すると、別のプロセッサに制御権が移行する。プロセ
ッサペア211〜213の各々は、2つのプロセッサ
(CPU1,CPU2)を備えており、それらは常に同
じ処理を実行し、互いの処理結果を比較する。これら2
つのプロセッサ(CPU1,CPU2)の処理結果が一
致していれば、両方のプロセッサが正常と判断される。
一方、一致してしなければいずれかのプロセッサが故障
したと判断され、他のプロセッサペアに制御権が移行し
て処理が引き継がれる。
立しており、いずれか1つのプロセッサペアに異常が発
生すると、別のプロセッサに制御権が移行する。プロセ
ッサペア211〜213の各々は、2つのプロセッサ
(CPU1,CPU2)を備えており、それらは常に同
じ処理を実行し、互いの処理結果を比較する。これら2
つのプロセッサ(CPU1,CPU2)の処理結果が一
致していれば、両方のプロセッサが正常と判断される。
一方、一致してしなければいずれかのプロセッサが故障
したと判断され、他のプロセッサペアに制御権が移行し
て処理が引き継がれる。
【0027】また、プロセッサペア211〜213を常
に同時実行させ、これら3つのプロセッサペア211〜
213の3つの実行結果を多数決することによって採用
する処理結果を決定する方式を用いることもできる。こ
の場合、1つのプロセッサペアが故障しても、残り2つ
が正常ならそれらの処理結果が採用され、正しく処理が
継続される。
に同時実行させ、これら3つのプロセッサペア211〜
213の3つの実行結果を多数決することによって採用
する処理結果を決定する方式を用いることもできる。こ
の場合、1つのプロセッサペアが故障しても、残り2つ
が正常ならそれらの処理結果が採用され、正しく処理が
継続される。
【0028】システムバス214〜214も多重化され
ており、それぞれに転送されるデ―タに対しては誤り検
出情報(パリティコ―ドなど)が付加される。これによ
ってバス上の転送デ―タが正しいか否かが各プロセッサ
ペアによって監視され、バスの障害が検出される。シス
テムバスの故障を検出した時には、その故障を発見した
プロセッサペアはそのバスから自らをハードウェア的に
切り離し、正常なシステムバスを使って処理を行う。
ており、それぞれに転送されるデ―タに対しては誤り検
出情報(パリティコ―ドなど)が付加される。これによ
ってバス上の転送デ―タが正しいか否かが各プロセッサ
ペアによって監視され、バスの障害が検出される。シス
テムバスの故障を検出した時には、その故障を発見した
プロセッサペアはそのバスから自らをハードウェア的に
切り離し、正常なシステムバスを使って処理を行う。
【0029】主記憶217,218も二重化されてお
り、記憶するデ―タの内容が正しいことは誤り検出情報
(パリティコ―ドなど)で確認し故障の検出が行なわれ
る。いずれかの主記憶が壊れた時は、正常な方の主記憶
を使って処理が継続される。
り、記憶するデ―タの内容が正しいことは誤り検出情報
(パリティコ―ドなど)で確認し故障の検出が行なわれ
る。いずれかの主記憶が壊れた時は、正常な方の主記憶
を使って処理が継続される。
【0030】主記憶217には主プロセスが格納されて
おり、主記憶218にはそのコピーである予備プロセス
が格納されている。主記憶217に異常が発生したら、
ただちにそれに取って代わって主記憶218の予備プロ
セスが実行される。主プロセスのデータなどは定期的に
予備プロセスにコピーされ、その内容の一致が保たれて
いる。
おり、主記憶218にはそのコピーである予備プロセス
が格納されている。主記憶217に異常が発生したら、
ただちにそれに取って代わって主記憶218の予備プロ
セスが実行される。主プロセスのデータなどは定期的に
予備プロセスにコピーされ、その内容の一致が保たれて
いる。
【0031】主記憶217は、主プロセスとして、オペ
レーティングシステム、および各種ユーザプロセスP
1,P2,およびフォールトトレラント管理プロセス
(以下、FT管理プロセスPM と称する)など格納され
ている。ここで、FT管理プロセスPM は、ノン・フォ
ールトトレラントコンピュータ11〜13に高可用度を
必要とする重要なプロセスの一部を分散させるために用
意されたものであり、計算機決定プロセスPa、チェッ
クポイント保存プロセスPb、継続実行プロセスPc、
通信プロセスPdなどを含んでいる。これらプロセスの
機能は、図2を参照して後述する。
レーティングシステム、および各種ユーザプロセスP
1,P2,およびフォールトトレラント管理プロセス
(以下、FT管理プロセスPM と称する)など格納され
ている。ここで、FT管理プロセスPM は、ノン・フォ
ールトトレラントコンピュータ11〜13に高可用度を
必要とする重要なプロセスの一部を分散させるために用
意されたものであり、計算機決定プロセスPa、チェッ
クポイント保存プロセスPb、継続実行プロセスPc、
通信プロセスPdなどを含んでいる。これらプロセスの
機能は、図2を参照して後述する。
【0032】この他、通信制御装置219,220、デ
ィスク制御装置221,222、磁気ディスク装置22
3,224もそれぞれ2重化されており、一方が壊れて
も他方を利用することによって正常動作を維持すること
ができる。
ィスク制御装置221,222、磁気ディスク装置22
3,224もそれぞれ2重化されており、一方が壊れて
も他方を利用することによって正常動作を維持すること
ができる。
【0033】さらに、フォールトトレラントコンピュー
タ21の電源は、バッテリ300によってバックアップ
されており、停電発生時にも一定時間は稼働可能であ
る。したがって、フォールトトレラントコンピュータ2
1が停電によって直ぐに停止されることはなく、最悪で
も所定の終了手続きを経た後に停止することができる。
タ21の電源は、バッテリ300によってバックアップ
されており、停電発生時にも一定時間は稼働可能であ
る。したがって、フォールトトレラントコンピュータ2
1が停電によって直ぐに停止されることはなく、最悪で
も所定の終了手続きを経た後に停止することができる。
【0034】次に、図2を参照して、プロセスPa〜P
dの働きについて説明する。図2は、フォールトトレラ
ントコンピュータ21で実行されるプロセスPa〜Pd
と,ノン・フォールトトレラントコンピュータ11〜1
3で実行されるプロセスPs,Ps〜Puとの関係を模
式的に示している。ここでは、ノン・フォールトトレラ
ントコンピュータ11のプロセスだけが示されている
が、ノン・フォールトトレラントコンピュータ12,1
3においてもプロセスPs〜Puが実行される。
dの働きについて説明する。図2は、フォールトトレラ
ントコンピュータ21で実行されるプロセスPa〜Pd
と,ノン・フォールトトレラントコンピュータ11〜1
3で実行されるプロセスPs,Ps〜Puとの関係を模
式的に示している。ここでは、ノン・フォールトトレラ
ントコンピュータ11のプロセスだけが示されている
が、ノン・フォールトトレラントコンピュータ12,1
3においてもプロセスPs〜Puが実行される。
【0035】フォールトトレラントコンピュータ21に
おいては、FT管理プロセスPM 、つまりプロセスPa
〜Pdが実行される。計算機決定プロセスPaは、フォ
ールトトレラントコンピュータ21、およびノン・フォ
ールトトレラントコンピュータ11〜13のプロセッサ
に対するプロセス割り当てを行う。このプロセス割り当
ては、実行すべきプロセスが発生した時にプロセス管理
テーブルを参照して、そのプロセスを割り当てるコンピ
ュータを決定する。プロセス管理テーブルには、プロセ
ス毎に高可用度を必要とするか否かを示すプロセス情報
を保持している。プロセス管理テーブルへのプロセス情
報の登録は、次ぎのように行われる。
おいては、FT管理プロセスPM 、つまりプロセスPa
〜Pdが実行される。計算機決定プロセスPaは、フォ
ールトトレラントコンピュータ21、およびノン・フォ
ールトトレラントコンピュータ11〜13のプロセッサ
に対するプロセス割り当てを行う。このプロセス割り当
ては、実行すべきプロセスが発生した時にプロセス管理
テーブルを参照して、そのプロセスを割り当てるコンピ
ュータを決定する。プロセス管理テーブルには、プロセ
ス毎に高可用度を必要とするか否かを示すプロセス情報
を保持している。プロセス管理テーブルへのプロセス情
報の登録は、次ぎのように行われる。
【0036】すなわち、例えば、高可用度を必要とする
プロセスのスタートについては特殊スタートコマンド
“% FT〜Start プロセス名 ”を、高可用度
を必要としないプロセスのスタートについては通常のス
タートコマンド“% プロセス名 ”を、ユーザがキー
ボードなどから入力する。OSはこのコマンドを解釈
し、特殊スタートコマンドによってスタート指示された
プロセス名だけプロセス管理テーブルに登録する。
プロセスのスタートについては特殊スタートコマンド
“% FT〜Start プロセス名 ”を、高可用度
を必要としないプロセスのスタートについては通常のス
タートコマンド“% プロセス名 ”を、ユーザがキー
ボードなどから入力する。OSはこのコマンドを解釈
し、特殊スタートコマンドによってスタート指示された
プロセス名だけプロセス管理テーブルに登録する。
【0037】この場合、計算機決定プロセスPaは、実
行対象のプロセスについてそれがプロセス管理テーブル
に登録されているか否かによって、高可用度を必要とす
るか否かを判定し、高可用度を必要とする重要なプロセ
スについてはフォールトトレラントコンピュータ21の
プロセッサに割り当て、高可用度を必要としないプロセ
スについてはノン・フォールトトレラントコンピュータ
11〜13に割り当てる。
行対象のプロセスについてそれがプロセス管理テーブル
に登録されているか否かによって、高可用度を必要とす
るか否かを判定し、高可用度を必要とする重要なプロセ
スについてはフォールトトレラントコンピュータ21の
プロセッサに割り当て、高可用度を必要としないプロセ
スについてはノン・フォールトトレラントコンピュータ
11〜13に割り当てる。
【0038】また、計算機決定プロセスPaは、フォー
ルトトレラントコンピュータ21の高負荷の状態にある
時は、高可用度を必要とする重要なプロセスであっても
それをノン・フォールトトレラントコンピュータ11〜
13に割り当て、フォールトトレラントコンピュータ2
1の負荷を分散する。フォールトトレラントコンピュー
タ21およびノン・フォールトトレラントコンピュータ
11〜13の不可状況はすべてフォールトトレラントコ
ンピュータ21のOSによって管理されており、負荷テ
ーブルに登録されている。計算機決定プロセスPaは、
その負荷テーブルを参照して、各コンピュータの負荷状
況を認識する。
ルトトレラントコンピュータ21の高負荷の状態にある
時は、高可用度を必要とする重要なプロセスであっても
それをノン・フォールトトレラントコンピュータ11〜
13に割り当て、フォールトトレラントコンピュータ2
1の負荷を分散する。フォールトトレラントコンピュー
タ21およびノン・フォールトトレラントコンピュータ
11〜13の不可状況はすべてフォールトトレラントコ
ンピュータ21のOSによって管理されており、負荷テ
ーブルに登録されている。計算機決定プロセスPaは、
その負荷テーブルを参照して、各コンピュータの負荷状
況を認識する。
【0039】チェックポイント保存プロセスPbは、ノ
ン・フォールトトレラントコンピュータ11〜13から
受け取ったチェックポイント情報を図1のディスク装置
223,224に保存する。
ン・フォールトトレラントコンピュータ11〜13から
受け取ったチェックポイント情報を図1のディスク装置
223,224に保存する。
【0040】継続実行プロセスPcは、ノン・フォール
トトレラントコンピュータ11〜13で実行されていた
プロセスを対応するチェックポイント情報を用いて再現
し、その再現されたプロセスP´を継続実行する。
トトレラントコンピュータ11〜13で実行されていた
プロセスを対応するチェックポイント情報を用いて再現
し、その再現されたプロセスP´を継続実行する。
【0041】通信プロセスPdは、ノン・フォールトト
レラントコンピュータ11〜13の動作監視、それらコ
ンピュータ11〜13に対するプロセスの実行指示など
のためにノン・フォールトトレラントコンピュータ11
〜13のプロセスとの間の通信、およびフォールトトレ
ラントコンピュータ21内の他のプロセスとの間の通信
を行う。
レラントコンピュータ11〜13の動作監視、それらコ
ンピュータ11〜13に対するプロセスの実行指示など
のためにノン・フォールトトレラントコンピュータ11
〜13のプロセスとの間の通信、およびフォールトトレ
ラントコンピュータ21内の他のプロセスとの間の通信
を行う。
【0042】ノン・フォールトトレラントコンピュータ
11〜13において、チェックポイント採取プロセスP
sは、実行中のユーザプロセスの任意時点(チェックポ
イント)での実行状況に関するステータス情報を採取す
る。通信プロセスPtは、フォールトトレラントコンピ
ュータ21のプロセスとの間の通信を行う。継続実行プ
ロセスPuは、フォールトトレラントコンピュータ21
から渡されるチェックポイント情報を利用して他のノン
・フォールトトレラントコンピュータで実行されていた
プロセスを再現し、それを継続実行する。
11〜13において、チェックポイント採取プロセスP
sは、実行中のユーザプロセスの任意時点(チェックポ
イント)での実行状況に関するステータス情報を採取す
る。通信プロセスPtは、フォールトトレラントコンピ
ュータ21のプロセスとの間の通信を行う。継続実行プ
ロセスPuは、フォールトトレラントコンピュータ21
から渡されるチェックポイント情報を利用して他のノン
・フォールトトレラントコンピュータで実行されていた
プロセスを再現し、それを継続実行する。
【0043】次に、図3を参照して、高可用度を必要と
する重要なプロセスを、このコンピュータネットワーク
システム上で実行する場合の動作の一例を説明する。こ
こでは、このコンピュータネットワークシステム上でシ
ミュレ―ションプログラムを実行することを考える。こ
のプログラムは長時間にわたり科学技術計算を行なうも
のである。例えば、気象予報のための大気の動きのシミ
ュレ―ションを行なうものであるとする。
する重要なプロセスを、このコンピュータネットワーク
システム上で実行する場合の動作の一例を説明する。こ
こでは、このコンピュータネットワークシステム上でシ
ミュレ―ションプログラムを実行することを考える。こ
のプログラムは長時間にわたり科学技術計算を行なうも
のである。例えば、気象予報のための大気の動きのシミ
ュレ―ションを行なうものであるとする。
【0044】気象予報はその結果を得る時刻が遅れると
価値がない。このようなケ―スで、シミュレ―ションの
途中で計算機が故障を起こすと、また初めから計算を繰
り返さなければならず、場合によっては残された時間内
に結果を得られないこともある。このようなプログラム
は、このコンピュータネットワークシステムを利用する
と以下のように実行される。
価値がない。このようなケ―スで、シミュレ―ションの
途中で計算機が故障を起こすと、また初めから計算を繰
り返さなければならず、場合によっては残された時間内
に結果を得られないこともある。このようなプログラム
は、このコンピュータネットワークシステムを利用する
と以下のように実行される。
【0045】このプログラムは、1つのプロセス(以
降、このプロセスをFTプロセスと称する)としていず
れかのコンピュータ上で実行される。このFTプロセス
Pzを実行する場合、前述のFT管理プロセスPM の計
算機決定プロセスPaは、そのFTプロセスを割り当て
るコンピュータを1つ選択し、その選択したコンピュー
タにそのFTプロセスを実行させる。
降、このプロセスをFTプロセスと称する)としていず
れかのコンピュータ上で実行される。このFTプロセス
Pzを実行する場合、前述のFT管理プロセスPM の計
算機決定プロセスPaは、そのFTプロセスを割り当て
るコンピュータを1つ選択し、その選択したコンピュー
タにそのFTプロセスを実行させる。
【0046】FT管理プロセスPM がプロセスを割り当
てる計算機を選ぶ手順は、図4の通りである。すなわ
ち、FT管理プロセスPM は、まず、プロセス管理テー
ブルを参照して、実行対象のプロセスが高可用度を必要
とする重要なプロセス(中断が許されないプロセス)で
あるか否かを判断する(ステップS1,S2)。高可用
度を必要としないものであれば、FT管理プロセスPM
は、ノン・フォールトトレラントコンピュータ11〜1
3の中で最も負荷の小さいコンピュータ(これを、コン
ピュータ“C”とする)を選択し(ステップS3)、そ
れに実行対象のプロセスを割り当てて実行させる(ステ
ップS7)。
てる計算機を選ぶ手順は、図4の通りである。すなわ
ち、FT管理プロセスPM は、まず、プロセス管理テー
ブルを参照して、実行対象のプロセスが高可用度を必要
とする重要なプロセス(中断が許されないプロセス)で
あるか否かを判断する(ステップS1,S2)。高可用
度を必要としないものであれば、FT管理プロセスPM
は、ノン・フォールトトレラントコンピュータ11〜1
3の中で最も負荷の小さいコンピュータ(これを、コン
ピュータ“C”とする)を選択し(ステップS3)、そ
れに実行対象のプロセスを割り当てて実行させる(ステ
ップS7)。
【0047】この時の負荷量の判断基準としては、その
時点の負荷値、またはそれまでの負荷の平均値が採用さ
れる。また、負荷を示す値としては、プロセッサ使用率
などを利用することが好ましい。
時点の負荷値、またはそれまでの負荷の平均値が採用さ
れる。また、負荷を示す値としては、プロセッサ使用率
などを利用することが好ましい。
【0048】一方、ステップS2で実行対象のプロセス
が高可用度を必要とするプロセスであると判断された場
合には、FT管理プロセスPM は、まず、フォ―ルトト
レラントコンピュータ21のその時の負荷を調べ、その
負荷が、予め決められた負荷の値P以上であるか否かを
判別する(ステップS4)。
が高可用度を必要とするプロセスであると判断された場
合には、FT管理プロセスPM は、まず、フォ―ルトト
レラントコンピュータ21のその時の負荷を調べ、その
負荷が、予め決められた負荷の値P以上であるか否かを
判別する(ステップS4)。
【0049】ここで、値Pは、必要とされる可能度が高
い重要なプロセスをフォ―ルトトレラントコンピュータ
21で実行するか、あるいは他のノン・フォールトトレ
ラントコンピュータで実行するかの判断に用いる閾値で
ある。フォ―ルトトレラントコンピュータ21の負荷を
プロセッサ利用率で算定する場合、閾値Pは、P=60
[%]と決めることが好ましい。プロセッサ利用率とし
ては、その時点の利用率、またはそれまでの利用率の平
均値が採用される。
い重要なプロセスをフォ―ルトトレラントコンピュータ
21で実行するか、あるいは他のノン・フォールトトレ
ラントコンピュータで実行するかの判断に用いる閾値で
ある。フォ―ルトトレラントコンピュータ21の負荷を
プロセッサ利用率で算定する場合、閾値Pは、P=60
[%]と決めることが好ましい。プロセッサ利用率とし
ては、その時点の利用率、またはそれまでの利用率の平
均値が採用される。
【0050】フォ―ルトトレラントコンピュータ21の
負荷が値P(=60%)よりも少ない場合には、FT管
理プロセスPM は、フォ―ルトトレラントコンピュータ
21のプロセッサの処理能力に余裕があると判断し、実
行対象のプロセスをフォ―ルトトレラントコンピュータ
21のプロセッサに割り当てて実行させる(ステップS
8)。
負荷が値P(=60%)よりも少ない場合には、FT管
理プロセスPM は、フォ―ルトトレラントコンピュータ
21のプロセッサの処理能力に余裕があると判断し、実
行対象のプロセスをフォ―ルトトレラントコンピュータ
21のプロセッサに割り当てて実行させる(ステップS
8)。
【0051】一方、フォ―ルトトレラントコンピュータ
21の負荷が値P(=60%)以上の場合には、他のノ
ン・フォールトコンピュータ11〜13にプロセスを割
り当てることが試みられる。
21の負荷が値P(=60%)以上の場合には、他のノ
ン・フォールトコンピュータ11〜13にプロセスを割
り当てることが試みられる。
【0052】この場合、FT管理プロセスPM は、ま
ず、ノン・フォールトトレラントコンピュータ11〜1
3の中で最も負荷の小さいコンピュータ(これを、コン
ピュータ“C”とする)を選択する(ステップS5)。
次いで、FT管理プロセスPMは、選択したコンピュー
タ“C”の負荷とフォ―ルトトレラントコンピュータ2
1の負荷を比較し(ステップS6)、フォ―ルトトレラ
ントコンピュータ21の負荷の方が少なければフォ―ル
トトレラントコンピュータ21のプロセッサに実行対象
のプロセスを割り当てて実行させ(ステップS8)、コ
ンピュータ“C”の負荷の方が少なければそのコンピュ
ータ“C”のプロセッサに実行対象のプロセスを割り当
てて実行させる(ステップS7)。
ず、ノン・フォールトトレラントコンピュータ11〜1
3の中で最も負荷の小さいコンピュータ(これを、コン
ピュータ“C”とする)を選択する(ステップS5)。
次いで、FT管理プロセスPMは、選択したコンピュー
タ“C”の負荷とフォ―ルトトレラントコンピュータ2
1の負荷を比較し(ステップS6)、フォ―ルトトレラ
ントコンピュータ21の負荷の方が少なければフォ―ル
トトレラントコンピュータ21のプロセッサに実行対象
のプロセスを割り当てて実行させ(ステップS8)、コ
ンピュータ“C”の負荷の方が少なければそのコンピュ
ータ“C”のプロセッサに実行対象のプロセスを割り当
てて実行させる(ステップS7)。
【0053】このように、実行対象のプロセスが高可用
度を必要とするプロセス(以下、プロセスPzと称す
る)の場合には、フォールトトレラントコンピュータ2
1の負荷が一定値を越えてなければ、そのプロセスPz
はフォールトトレラントコンピュータ21によって実行
される。この場合、フォールトトレラントコンピュータ
21は故障の危険がほどんどないので、プロセスPzの
実行状況を示すチェックポイント情報を管理する必要は
ない。一方、プロセスPzをノン・フォールトトレラン
トコンピュータに割り当てた場合には、そのノン・フォ
ールトトレラントコンピュータに障害が発生してもプロ
セスPzを他のコンピュータで継続実行できるように、
プロセスPzの実行状況を示すチェックポイント情報は
フォールトトレラントコンピュータ21によって管理さ
れる。
度を必要とするプロセス(以下、プロセスPzと称す
る)の場合には、フォールトトレラントコンピュータ2
1の負荷が一定値を越えてなければ、そのプロセスPz
はフォールトトレラントコンピュータ21によって実行
される。この場合、フォールトトレラントコンピュータ
21は故障の危険がほどんどないので、プロセスPzの
実行状況を示すチェックポイント情報を管理する必要は
ない。一方、プロセスPzをノン・フォールトトレラン
トコンピュータに割り当てた場合には、そのノン・フォ
ールトトレラントコンピュータに障害が発生してもプロ
セスPzを他のコンピュータで継続実行できるように、
プロセスPzの実行状況を示すチェックポイント情報は
フォールトトレラントコンピュータ21によって管理さ
れる。
【0054】以下、プロセスPzがノン・フォ―ルトト
レラントコンピュータ11に割り当てた場合を例にとっ
て、そのプロセスPzの管理について説明する。すなわ
ち、この場合には、図3に示されているように、FTプ
ロセスPzの実行ファイル101(実行する命令列が入
っているファイル)は、フォ―ルトトレラントコンピュ
ータ21のディスク装置223,または224から取り
出され、ノン・フォールトトレラントコンピュータ11
に送られる。
レラントコンピュータ11に割り当てた場合を例にとっ
て、そのプロセスPzの管理について説明する。すなわ
ち、この場合には、図3に示されているように、FTプ
ロセスPzの実行ファイル101(実行する命令列が入
っているファイル)は、フォ―ルトトレラントコンピュ
ータ21のディスク装置223,または224から取り
出され、ノン・フォールトトレラントコンピュータ11
に送られる。
【0055】FTプロセスPzは、計算の元になるデ―
タを含む入力ファイル102をディスク装置223また
は224から入力し、計算結果である出力データをフォ
―ルトトレラントコンピュータ21のディスク装置22
3または224上の出力ファイル103に出力する。こ
の場合、データ出力に際しては、FTプロセスPzはデ
ータ出力のためのシステムコールを発行するが、このシ
ステムコ―ルは、主記憶217,218などのメモリ内
に出力データがバッファリングされたまま処理が終了さ
れるのを防止するために、実際にデ―タが出力ファイル
103に書き込まれるまでは終了されず、書き込まれた
時点で初めて終了される。また、ノン・フォールトトレ
ラントコンピュータ11には、タスク管理プロセスPm
も存在する。タスク管理プロセスPmは、ノン・フォー
ルトトレラントコンピュータ11で実行されるFTプロ
セスPzを管理している。
タを含む入力ファイル102をディスク装置223また
は224から入力し、計算結果である出力データをフォ
―ルトトレラントコンピュータ21のディスク装置22
3または224上の出力ファイル103に出力する。こ
の場合、データ出力に際しては、FTプロセスPzはデ
ータ出力のためのシステムコールを発行するが、このシ
ステムコ―ルは、主記憶217,218などのメモリ内
に出力データがバッファリングされたまま処理が終了さ
れるのを防止するために、実際にデ―タが出力ファイル
103に書き込まれるまでは終了されず、書き込まれた
時点で初めて終了される。また、ノン・フォールトトレ
ラントコンピュータ11には、タスク管理プロセスPm
も存在する。タスク管理プロセスPmは、ノン・フォー
ルトトレラントコンピュータ11で実行されるFTプロ
セスPzを管理している。
【0056】タスク管理プロセスPmは、一定時間(チ
ェックポイントタイミング)毎にFTプロセスPzにシ
グナル(プロセス間通信の一種で、ソフトウェアで実現
するプロセスに対する割り込み)を送る。FTプロセス
Pzは予めシグナルハンドラ(シグナルが入った時に実
行する割り込み処理ル―チン)がセットされており、シ
グナルを受けるとその時点のFTプロセスPzの実行状
況を示すチェックポイント情報(レジスタの内容等のコ
ンテクスト、デ―タ空間の情報など、プロセス再現に必
要なステータス情報)をフォ―ルトトレラントコンピュ
ータ21上のチェックポイントファイル104に出力
し、その後停止して待機する。
ェックポイントタイミング)毎にFTプロセスPzにシ
グナル(プロセス間通信の一種で、ソフトウェアで実現
するプロセスに対する割り込み)を送る。FTプロセス
Pzは予めシグナルハンドラ(シグナルが入った時に実
行する割り込み処理ル―チン)がセットされており、シ
グナルを受けるとその時点のFTプロセスPzの実行状
況を示すチェックポイント情報(レジスタの内容等のコ
ンテクスト、デ―タ空間の情報など、プロセス再現に必
要なステータス情報)をフォ―ルトトレラントコンピュ
ータ21上のチェックポイントファイル104に出力
し、その後停止して待機する。
【0057】フォ―ルトトレラントコンピュータ21上
のFT管理プロセスPM は、FTプロセスPzからチェ
ックポイン情報を受け取ると、それをバックアップファ
イル106にコピーして複製を作る。また、同時にFT
プロセスPzの出力ファイル103をバックアップファ
イル105にコピーして、その複製も作る。
のFT管理プロセスPM は、FTプロセスPzからチェ
ックポイン情報を受け取ると、それをバックアップファ
イル106にコピーして複製を作る。また、同時にFT
プロセスPzの出力ファイル103をバックアップファ
イル105にコピーして、その複製も作る。
【0058】その後、FT管理プロセスPM はタスク管
理プロセスPmを経由しFTプロセスPzに合図を送
り、これに応答してFTプロセスPzは処理を再開す
る。以後、次のチェックポイント迄の間にFTタスクが
出力ファイル103を変更しても、前回チェックポイン
ト時の出力ファイル103の状態は、バックアップファ
イル105に保存されている。また、次回のチェックポ
イント時にFTタスクPzがそのチェックポイント情報
をファイル104に出力している間にコンピュータ11
が故障してしまい、FTプロセスPzのチェックポイン
トファイル104が不完全な状態になったとしても、前
回チェックポイント時のチェックポイント情報がバック
アップファイル106に残っている。すなわち、常にこ
れら2つのバックアップファイル105,106には、
前回のチェックポイント時のFTプロセスPzのステー
タスが保存されており、それが破壊されることはない。
理プロセスPmを経由しFTプロセスPzに合図を送
り、これに応答してFTプロセスPzは処理を再開す
る。以後、次のチェックポイント迄の間にFTタスクが
出力ファイル103を変更しても、前回チェックポイン
ト時の出力ファイル103の状態は、バックアップファ
イル105に保存されている。また、次回のチェックポ
イント時にFTタスクPzがそのチェックポイント情報
をファイル104に出力している間にコンピュータ11
が故障してしまい、FTプロセスPzのチェックポイン
トファイル104が不完全な状態になったとしても、前
回チェックポイント時のチェックポイント情報がバック
アップファイル106に残っている。すなわち、常にこ
れら2つのバックアップファイル105,106には、
前回のチェックポイント時のFTプロセスPzのステー
タスが保存されており、それが破壊されることはない。
【0059】次に、ノン・フォールトトレラントコンピ
ュータ11に障害が発生した場合を考える。FT管理プ
ロセスPM は、ノン・フォールトトレラントコンピュー
タ11に障害が発生してFTプロセスPzが正常に実行
されなくなった時には、それを知ることができる。この
例では、ノン・フォールトトレラントコンピュータ11
のタスク管理プロセスPmが常に一定間隔でフォ―ルト
トレラントコンピュータ21のFT管理プロセスPM に
特定のメッセ―ジを送ることにして、それが途絶えた時
にFTタスク管理プロセスはノン・フォールトトレラン
トコンピュータ11が故障したと判断する。
ュータ11に障害が発生した場合を考える。FT管理プ
ロセスPM は、ノン・フォールトトレラントコンピュー
タ11に障害が発生してFTプロセスPzが正常に実行
されなくなった時には、それを知ることができる。この
例では、ノン・フォールトトレラントコンピュータ11
のタスク管理プロセスPmが常に一定間隔でフォ―ルト
トレラントコンピュータ21のFT管理プロセスPM に
特定のメッセ―ジを送ることにして、それが途絶えた時
にFTタスク管理プロセスはノン・フォールトトレラン
トコンピュータ11が故障したと判断する。
【0060】FT管理プロセスPM は、このようにして
ノン・フォールトトレラントコンピュータ11の異常を
知ると、それ以降、ノン・フォールトトレラントコンピ
ュータ11によるフォ―ルトトレラントコンピュータ2
1上のファイルへのアクセスを禁止する。その後ネット
ワ―ク10につながっている正常なコンピュータを探
す。正常なコンピュータを見つけるには、例えば、ネッ
トワ―クにつながるコンピュータは予めフォ―ルトトレ
ラントコンピュータ21にその存在を通知しておくこと
にして、フォ―ルトトレラントコンピュータ21は、通
知され登録してある各コンピュータにメッセ―ジを送
り、メッセ―ジを受けたコンピュータは正常に動作して
いることを示すために返答のメッセ―ジを返すととも
に、そのコンピュータの稼働状況を示す情報を返すこと
にする。
ノン・フォールトトレラントコンピュータ11の異常を
知ると、それ以降、ノン・フォールトトレラントコンピ
ュータ11によるフォ―ルトトレラントコンピュータ2
1上のファイルへのアクセスを禁止する。その後ネット
ワ―ク10につながっている正常なコンピュータを探
す。正常なコンピュータを見つけるには、例えば、ネッ
トワ―クにつながるコンピュータは予めフォ―ルトトレ
ラントコンピュータ21にその存在を通知しておくこと
にして、フォ―ルトトレラントコンピュータ21は、通
知され登録してある各コンピュータにメッセ―ジを送
り、メッセ―ジを受けたコンピュータは正常に動作して
いることを示すために返答のメッセ―ジを返すととも
に、そのコンピュータの稼働状況を示す情報を返すこと
にする。
【0061】このようにして、順にネットワ―ク10上
のコンピュータの稼働状況を調べ、正常に稼働している
と確認できたコンピュータを対象に、図4に示した割り
当て判断手順を用いて、このFTプロセスPzを次に割
り当てるべきコンピュータを1つ選ぶ。このコンピュー
タを代替コンピュータと呼ぶ。
のコンピュータの稼働状況を調べ、正常に稼働している
と確認できたコンピュータを対象に、図4に示した割り
当て判断手順を用いて、このFTプロセスPzを次に割
り当てるべきコンピュータを1つ選ぶ。このコンピュー
タを代替コンピュータと呼ぶ。
【0062】代替コンピュータとしてフォ―ルトトレラ
ントコンピュータ21が選ばれた場合には、そこにFT
プロセスPzの実行イメ―ジが再現され、FTプロセス
Pzがフォ―ルトトレラントコンピュータ21によって
継続実行される。一方、ノン・フォ―ルトトレラントコ
ンピュータ12が代替コンピュータとして選ばれた場合
には、そのノン・フォ―ルトトレラントコンピュータ1
2上にFTプロセスPzが再現されて継続実行される。
ントコンピュータ21が選ばれた場合には、そこにFT
プロセスPzの実行イメ―ジが再現され、FTプロセス
Pzがフォ―ルトトレラントコンピュータ21によって
継続実行される。一方、ノン・フォ―ルトトレラントコ
ンピュータ12が代替コンピュータとして選ばれた場合
には、そのノン・フォ―ルトトレラントコンピュータ1
2上にFTプロセスPzが再現されて継続実行される。
【0063】FTプロセスPzの再現は、FTプロセス
Pzの実行イメージを再構築することによって実現され
る。すなわち、FTプロセスPzに対応する出力データ
のバックアップファイル105およびチェックポイント
情報のバックアップファイル106を取得することによ
り、FTプロセスPzのステータスがその停止前のチェ
ックポイント時のステータスに復元され、これよってF
TプロセスPzが再現される。
Pzの実行イメージを再構築することによって実現され
る。すなわち、FTプロセスPzに対応する出力データ
のバックアップファイル105およびチェックポイント
情報のバックアップファイル106を取得することによ
り、FTプロセスPzのステータスがその停止前のチェ
ックポイント時のステータスに復元され、これよってF
TプロセスPzが再現される。
【0064】次に、図5を参照して、フォールトトレラ
ントコンピュータ21のFT管理プロセスPM とノン・
フォールトトレラントコンピュータ11〜13それぞれ
のタスク管理プロセスPmとの間で実行されるプロセス
間通信を説明する。
ントコンピュータ21のFT管理プロセスPM とノン・
フォールトトレラントコンピュータ11〜13それぞれ
のタスク管理プロセスPmとの間で実行されるプロセス
間通信を説明する。
【0065】FT管理プロセスPM からタスク管理プロ
セスPmへのメッセージには、FTプセス実行開始メッ
セージM1、バックアップ完了メッセージM2、FTプ
ロセス継続実行メッセージM3などがある。また、タス
ク管理プロセスPmからFT管理プロセスPM へのメッ
セージには、バックアップ開始メッセージm1、終了メ
ッセージm2などがある。
セスPmへのメッセージには、FTプセス実行開始メッ
セージM1、バックアップ完了メッセージM2、FTプ
ロセス継続実行メッセージM3などがある。また、タス
ク管理プロセスPmからFT管理プロセスPM へのメッ
セージには、バックアップ開始メッセージm1、終了メ
ッセージm2などがある。
【0066】FTプセス実行開始メッセージM1は、タ
スク管理プロセスPmにFTプロセスPzの実行を指示
するメッセージである。バックアップ開始メッセージm
1は、FT管理プロセスPM に対して、FTプロセスP
zの出力データやチェックポイント情報をバックアップ
ファイルに保存することを指示するメッセージである。
バックアップ完了メッセージM2は、タスク管理プロセ
スPmに対して、バックアップ処理の完了を通知するメ
ッセージである。終了メッセージm2は、FT管理プロ
セスPM に対して、FTプロセスPzの終了を通知する
メッセージである。FTプロセス継続実行メッセージM
3は、FTプロセスPzを実行していたノン・フォール
トトレラントコンピュータ(ここでは、ノン・フォール
トトレラントコンピュータ11)に代わって、そのFT
プロセスPzの継続実行を他のノン・フォールトトレラ
ントコンピュータ(ここでは、ノン・フォールトトレラ
ントコンピュータ12)のタスク管理プロセスPmに指
示するメッセージである。
スク管理プロセスPmにFTプロセスPzの実行を指示
するメッセージである。バックアップ開始メッセージm
1は、FT管理プロセスPM に対して、FTプロセスP
zの出力データやチェックポイント情報をバックアップ
ファイルに保存することを指示するメッセージである。
バックアップ完了メッセージM2は、タスク管理プロセ
スPmに対して、バックアップ処理の完了を通知するメ
ッセージである。終了メッセージm2は、FT管理プロ
セスPM に対して、FTプロセスPzの終了を通知する
メッセージである。FTプロセス継続実行メッセージM
3は、FTプロセスPzを実行していたノン・フォール
トトレラントコンピュータ(ここでは、ノン・フォール
トトレラントコンピュータ11)に代わって、そのFT
プロセスPzの継続実行を他のノン・フォールトトレラ
ントコンピュータ(ここでは、ノン・フォールトトレラ
ントコンピュータ12)のタスク管理プロセスPmに指
示するメッセージである。
【0067】次に、図6のフローチャートを参照して、
タスク管理プロセスPmの具体的な処理手順を説明す
る。タスク管理プロセスPmのスタートには、2つケ―
スがある。1つは、FT管理プロセスPM から“FTプ
ロセス実行開始メッセ―ジM1”を受けた時(ケ―ス
1)、もう1つは、FT管理プロセスPM から“FTプ
ロセス継続実行メッセ―ジM4”を受けた時(ケ―ス
2)である。
タスク管理プロセスPmの具体的な処理手順を説明す
る。タスク管理プロセスPmのスタートには、2つケ―
スがある。1つは、FT管理プロセスPM から“FTプ
ロセス実行開始メッセ―ジM1”を受けた時(ケ―ス
1)、もう1つは、FT管理プロセスPM から“FTプ
ロセス継続実行メッセ―ジM4”を受けた時(ケ―ス
2)である。
【0068】“FTプロセス実行開始メッセ―ジM1”
を受信した場合、タスク管理プロセスPmは、そのメッ
セ―ジM1よって指定されたFTプロセス実行ファイル
101、入出力ファイル102,103を認識した後、
それら実行ファイルおよび入力ファイルの内容にしたが
ってFTプロセスPzを生成し、実行する(ステップS
11,S12)。
を受信した場合、タスク管理プロセスPmは、そのメッ
セ―ジM1よって指定されたFTプロセス実行ファイル
101、入出力ファイル102,103を認識した後、
それら実行ファイルおよび入力ファイルの内容にしたが
ってFTプロセスPzを生成し、実行する(ステップS
11,S12)。
【0069】一方、“FTプロセス継続実行メッセ―ジ
M4”を受信した場合、タスク管理プロセスPmは、そ
のメッセ―ジM4よって指定されたチェックポイントフ
ァイル104、FTプロセス実行ファイル101、入出
力ファイル102,103を認識した後、その実行ファ
イルおよび入力ファイルの内容にしたがってFTプロセ
スPzを生成し、そしてチェックポイントファイルおよ
び出力ファイルを利用して、FTプロセスPzのチェッ
クポイント時の実行イメージを再現してされを再スター
トする(ステップS21〜S23)。
M4”を受信した場合、タスク管理プロセスPmは、そ
のメッセ―ジM4よって指定されたチェックポイントフ
ァイル104、FTプロセス実行ファイル101、入出
力ファイル102,103を認識した後、その実行ファ
イルおよび入力ファイルの内容にしたがってFTプロセ
スPzを生成し、そしてチェックポイントファイルおよ
び出力ファイルを利用して、FTプロセスPzのチェッ
クポイント時の実行イメージを再現してされを再スター
トする(ステップS21〜S23)。
【0070】FTプロセスPzの実行が一旦開始される
と、その後は、ケース1およびケース2のどちらの場合
でも、以下の処理が行われる。すなわち、タスク管理プ
ロセスPmは、一定時間(Tw1)間隔でFTプロセス
Pzにその実行状況を示す情報の採取および転送を実行
させるために、次のステップS13〜S19を、FTプ
ロセスPzが終了するまで繰り返し実行する。
と、その後は、ケース1およびケース2のどちらの場合
でも、以下の処理が行われる。すなわち、タスク管理プ
ロセスPmは、一定時間(Tw1)間隔でFTプロセス
Pzにその実行状況を示す情報の採取および転送を実行
させるために、次のステップS13〜S19を、FTプ
ロセスPzが終了するまで繰り返し実行する。
【0071】タスク管理プロセスPmは、一定時間(T
w1)間隔で、FTプロセスPzが終了したか否かを調
べ(ステップS13,S14)、終了したならば、FT
管理プロセスPM に終了メッセージm2を送信する(ス
テップS15)。
w1)間隔で、FTプロセスPzが終了したか否かを調
べ(ステップS13,S14)、終了したならば、FT
管理プロセスPM に終了メッセージm2を送信する(ス
テップS15)。
【0072】一方、FTプロセスPzが実行中であれ
ば、そのFTプロセスPzにシグナルを送り、その実行
状況を示す情報(チェックポイント情報、出力データ)
の採取および転送を実行させる(ステップS16)。次
いで、FTプロセスPzによってその実行状況に関する
情報がフォールトトレラントコンピュータ21に転送さ
れるのを待って、タスク管理プロセスPmは、FT管理
プロセスPM にバックアップ開始メッセージm1を送信
する(ステップS17,S18)。この後、タスク管理
プロセスPmは、FT管理プロセスPM からのバックア
ップ完了メッセージM2の発行を待ち、バックアップ完
了メッセージM2を受信すると、それに応答して、FT
プロセスPzを再スタートさせる(ステップS23)。
ば、そのFTプロセスPzにシグナルを送り、その実行
状況を示す情報(チェックポイント情報、出力データ)
の採取および転送を実行させる(ステップS16)。次
いで、FTプロセスPzによってその実行状況に関する
情報がフォールトトレラントコンピュータ21に転送さ
れるのを待って、タスク管理プロセスPmは、FT管理
プロセスPM にバックアップ開始メッセージm1を送信
する(ステップS17,S18)。この後、タスク管理
プロセスPmは、FT管理プロセスPM からのバックア
ップ完了メッセージM2の発行を待ち、バックアップ完
了メッセージM2を受信すると、それに応答して、FT
プロセスPzを再スタートさせる(ステップS23)。
【0073】このようにして、FTプロセスPzが実行
中の時は、一定時間(Tw1)間隔で、その実行状況に
関する情報がフォールトトレラントコンピュータ21に
転送される。したがって、Tw1はチェックポイントの
間隔となる。
中の時は、一定時間(Tw1)間隔で、その実行状況に
関する情報がフォールトトレラントコンピュータ21に
転送される。したがって、Tw1はチェックポイントの
間隔となる。
【0074】次に、図7〜図9のフローチャートを参照
して、FT管理プロセスPM の具体的な処理の手順を説
明する。FT管理プロセスPM は、図4の処理で決定し
たノン・フォールトトレラントコンピュータのタスク管
理プロセスPmに、“FTプロセス実行開始メッセ―ジ
M1”を送信すると共に、そのFTプロセスPzの実行
ファイル101、及び入出力ファイル102,103を
指示する(ステップS31)。その後、FT管理プロセ
スPM は、タスク管理プロセスからのメッセージ(“バ
ックアップ開始メッセージm1”、または“終了メッセ
ージm2”)を待ち、そのメッセージが一定時間(Tw
2)内に通知されたか否かを調べる(ステップS32,
S33)。一定時間(Tw2)間隔でタスク管理プロセ
スからメッセージが通知された場合には、そのノン・フ
ォールトトレラントコンピュータは正常動作していると
判断されるが、一定時間(Tw2)間内にメッセージが
通知されなかった場合には、そのノン・フォールトトレ
ラントコンピュータが故障したと判断される。
して、FT管理プロセスPM の具体的な処理の手順を説
明する。FT管理プロセスPM は、図4の処理で決定し
たノン・フォールトトレラントコンピュータのタスク管
理プロセスPmに、“FTプロセス実行開始メッセ―ジ
M1”を送信すると共に、そのFTプロセスPzの実行
ファイル101、及び入出力ファイル102,103を
指示する(ステップS31)。その後、FT管理プロセ
スPM は、タスク管理プロセスからのメッセージ(“バ
ックアップ開始メッセージm1”、または“終了メッセ
ージm2”)を待ち、そのメッセージが一定時間(Tw
2)内に通知されたか否かを調べる(ステップS32,
S33)。一定時間(Tw2)間隔でタスク管理プロセ
スからメッセージが通知された場合には、そのノン・フ
ォールトトレラントコンピュータは正常動作していると
判断されるが、一定時間(Tw2)間内にメッセージが
通知されなかった場合には、そのノン・フォールトトレ
ラントコンピュータが故障したと判断される。
【0075】ここで、Tw2はFT管理プロセスPM が
タスク管理プロセスからのメッセ―ジを待つ時間の長さ
の限界であり、Tw1<Tw2であることが必要であ
る。ここでは、 Tw2=Tw1×5 とする。
タスク管理プロセスからのメッセ―ジを待つ時間の長さ
の限界であり、Tw1<Tw2であることが必要であ
る。ここでは、 Tw2=Tw1×5 とする。
【0076】時間(Tw2)内にメッセージを受信した
ならば、FT管理プロセスPM は、まず、その受信メッ
セージが“バックアップ開始メッセージm1”である
か、“終了メッセージm2”であるかを識別し、“終了
メッセージm2”の場合には、処理を終了する。一方、
“バックアップ開始メッセージm1”であったならば、
FT管理プロセスPM は、チェックポイント情報および
出力データをコピーしてそれらのバックアップファイル
105,106を作成し(ステップS35,S36)、
FT管理プロセスPM に“バックアップ完了メッセー
ジ”M2に送信する(ステップS37)。
ならば、FT管理プロセスPM は、まず、その受信メッ
セージが“バックアップ開始メッセージm1”である
か、“終了メッセージm2”であるかを識別し、“終了
メッセージm2”の場合には、処理を終了する。一方、
“バックアップ開始メッセージm1”であったならば、
FT管理プロセスPM は、チェックポイント情報および
出力データをコピーしてそれらのバックアップファイル
105,106を作成し(ステップS35,S36)、
FT管理プロセスPM に“バックアップ完了メッセー
ジ”M2に送信する(ステップS37)。
【0077】一方、もし、時間Tw2経ってもタスク管
理プロセスからメッセ―ジが送られてこなかった時は、
FT管理プロセスPM は、そのノン・フォールトトレラ
ントコンピュータに障害が起こったと判断し、そのノン
・フォールトトレラントコンピュータに対しファイルへ
のアクセスを禁止する(ステップS38)。その後、F
T管理プロセスPM は、ネットワ―ク上の他のすべての
コンピュータの中から代替計算機を選ぶ(ステップS3
9)。選択された代替計算機がノン・フォールトトレラ
ントコンピュータの場合には、図8の処理に分岐され、
また代替計算機がフォールトトレラントコンピュータの
場合には図9の処理に分岐される(ステップS40)。
理プロセスからメッセ―ジが送られてこなかった時は、
FT管理プロセスPM は、そのノン・フォールトトレラ
ントコンピュータに障害が起こったと判断し、そのノン
・フォールトトレラントコンピュータに対しファイルへ
のアクセスを禁止する(ステップS38)。その後、F
T管理プロセスPM は、ネットワ―ク上の他のすべての
コンピュータの中から代替計算機を選ぶ(ステップS3
9)。選択された代替計算機がノン・フォールトトレラ
ントコンピュータの場合には、図8の処理に分岐され、
また代替計算機がフォールトトレラントコンピュータの
場合には図9の処理に分岐される(ステップS40)。
【0078】代替計算機がノン・フォールトトレラント
コンピュータの場合には、FT管理プロセスPM は、ま
ず、そのフォールトトレラントコンピュータ上に、FT
プロセスPzのチェックポイント情報および出力データ
それぞれのバックアップファイルが存在するかを調べ、
これによって一回目のチェックポイント以前の障害発生
であるか否かを検出する(ステップS41)。一回目の
チェックポイント以降の障害発生であった場合には、F
T管理プロセスPM は、FTプロセスPzの出力データ
をリネームした後、代替計算機として選定されたノン・
フォールトトレラントコンピュータのタスク管理プロセ
スに“FTプロセス継続実行メッセージ”を送信する
(ステップS42,S43)。一方、もし一回目のチェ
ックポイント以前に障害が発生していたらバックアップ
ファイルがないので、その場合は、出力ファイルを消去
した後、代替計算機として選定されたノン・フォールト
トレラントコンピュータのタスク管理プロセスに“FT
プロセス実行開始メッセージ”を送信して、最初からF
TプロセスPzを実行し直す(ステップS44,S4
5)。
コンピュータの場合には、FT管理プロセスPM は、ま
ず、そのフォールトトレラントコンピュータ上に、FT
プロセスPzのチェックポイント情報および出力データ
それぞれのバックアップファイルが存在するかを調べ、
これによって一回目のチェックポイント以前の障害発生
であるか否かを検出する(ステップS41)。一回目の
チェックポイント以降の障害発生であった場合には、F
T管理プロセスPM は、FTプロセスPzの出力データ
をリネームした後、代替計算機として選定されたノン・
フォールトトレラントコンピュータのタスク管理プロセ
スに“FTプロセス継続実行メッセージ”を送信する
(ステップS42,S43)。一方、もし一回目のチェ
ックポイント以前に障害が発生していたらバックアップ
ファイルがないので、その場合は、出力ファイルを消去
した後、代替計算機として選定されたノン・フォールト
トレラントコンピュータのタスク管理プロセスに“FT
プロセス実行開始メッセージ”を送信して、最初からF
TプロセスPzを実行し直す(ステップS44,S4
5)。
【0079】代替計算機がフォールトトレラントコンピ
ュータの場合には、FT管理プロセスPM は、まず、そ
のフォールトトレラントコンピュータ上に、FTプロセ
スPzのチェックポイント情報および出力データそれぞ
れのバックアップファイルが存在するかを調べ、これに
よって一回目のチェックポイント以前の障害発生である
か否かを検出する(ステップS46)。一回目のチェッ
クポイント以降の障害発生であった場合には、FT管理
プロセスPM は、FTプロセスPzの出力データをリネ
ームした後、FTプロセスPzの実行ファイルからFT
プロセスPzを生成し、チェックポイント情報および出
力データを利用してFTプロセスPzの実行シメージを
再現し(ステップS47,S48)、そしてそのFTプ
ロセスPzをフォールトトレラントコンピュータ上の1
つのプロセスとして実行する(ステップS49)。一
方、もし一回目のチェックポイント以前に障害が発生し
ていたらバックアップファイルがないので、その場合
は、出力ファイルを消去した後、FTプロセスPzの実
行ファイルからFTプロセスPzを生成して、最初から
FTプロセスPzを実行し直す(ステップS50,S5
1)。
ュータの場合には、FT管理プロセスPM は、まず、そ
のフォールトトレラントコンピュータ上に、FTプロセ
スPzのチェックポイント情報および出力データそれぞ
れのバックアップファイルが存在するかを調べ、これに
よって一回目のチェックポイント以前の障害発生である
か否かを検出する(ステップS46)。一回目のチェッ
クポイント以降の障害発生であった場合には、FT管理
プロセスPM は、FTプロセスPzの出力データをリネ
ームした後、FTプロセスPzの実行ファイルからFT
プロセスPzを生成し、チェックポイント情報および出
力データを利用してFTプロセスPzの実行シメージを
再現し(ステップS47,S48)、そしてそのFTプ
ロセスPzをフォールトトレラントコンピュータ上の1
つのプロセスとして実行する(ステップS49)。一
方、もし一回目のチェックポイント以前に障害が発生し
ていたらバックアップファイルがないので、その場合
は、出力ファイルを消去した後、FTプロセスPzの実
行ファイルからFTプロセスPzを生成して、最初から
FTプロセスPzを実行し直す(ステップS50,S5
1)。
【0080】以上のように、この実施例では、フォール
トレラントコンピュータ21によって、他のすべてのノ
ン・フォールトトレラントコンピュータ11〜13で実
行されていたプロセスを再現するためのステータス情報
(チェックポイント情報、出力データ)が集中管理され
ているので、そのステータス情報は、たとえノン・フォ
ールトトレラントコンピュータに障害が発生した場合で
も消失されることはない。したがって、どのノン・フォ
ールトトレラントコンピュータが故障しても、その故障
したコンピュータで実行されていたFTプロセスPz
を、フォールトレラントコンピュータ21に保持されて
いるステータス情報を利用することによって、それをネ
ットワーク内の他の任意のコンピュータで再現して継続
実行することができる。このため、ネットワークシステ
ム内のノン・フォールトトレラントコンピュータ11〜
13を、結果としてフォールトトレラントコンピュータ
として利用する事が可能となり、システム全体の信頼性
の向上を図る事ができる。
トレラントコンピュータ21によって、他のすべてのノ
ン・フォールトトレラントコンピュータ11〜13で実
行されていたプロセスを再現するためのステータス情報
(チェックポイント情報、出力データ)が集中管理され
ているので、そのステータス情報は、たとえノン・フォ
ールトトレラントコンピュータに障害が発生した場合で
も消失されることはない。したがって、どのノン・フォ
ールトトレラントコンピュータが故障しても、その故障
したコンピュータで実行されていたFTプロセスPz
を、フォールトレラントコンピュータ21に保持されて
いるステータス情報を利用することによって、それをネ
ットワーク内の他の任意のコンピュータで再現して継続
実行することができる。このため、ネットワークシステ
ム内のノン・フォールトトレラントコンピュータ11〜
13を、結果としてフォールトトレラントコンピュータ
として利用する事が可能となり、システム全体の信頼性
の向上を図る事ができる。
【0081】また、FTプロセスPzは、ノン・フォー
ルトトレラントコンピュータが故障しない限りそのコン
ピュータ上で実行されるので、フォ―ルトトレラントコ
ンピュータ21上で処理するよりも高速であり、かつ、
システム全体で考えると、複数のフォ―ルトトレラント
コンピュータでシステムを構成するより安価にシステム
を実現できるという利点がある。
ルトトレラントコンピュータが故障しない限りそのコン
ピュータ上で実行されるので、フォ―ルトトレラントコ
ンピュータ21上で処理するよりも高速であり、かつ、
システム全体で考えると、複数のフォ―ルトトレラント
コンピュータでシステムを構成するより安価にシステム
を実現できるという利点がある。
【0082】なお、この実施例においては、FTプロセ
スPzの入出力ファイルは1つとしたが、複数存在する
場合には、それぞれの出力ファイルについてバックアッ
プファイルを作ればよい。また、FTプロセスPzが複
数同時に存在する場合にも、タスク管理プロセス、およ
びFT管理プロセスPM がそれぞれのFTプロセスに対
して個別にチェックポイントをとれるように対応させれ
ば本発明を適用することが可能である。
スPzの入出力ファイルは1つとしたが、複数存在する
場合には、それぞれの出力ファイルについてバックアッ
プファイルを作ればよい。また、FTプロセスPzが複
数同時に存在する場合にも、タスク管理プロセス、およ
びFT管理プロセスPM がそれぞれのFTプロセスに対
して個別にチェックポイントをとれるように対応させれ
ば本発明を適用することが可能である。
【0083】
【発明の効果】以上説明したように、この発明によれ
ば、ネットワ―ク上のフォ―ルトトレラントコンピュー
タを有効利用することによって、ノン・フォ―ルトトレ
ラントコンピュータに対しても、高可用度を要求される
プロセスを適切に割り当てられると共に、それらプロセ
スに対しても耐故障性を実現することができる。この結
果、従来フォ―ルトトレラントコンピュータ上で処理せ
ざるを得なかったプロセスをを、ノン・フォ―ルトトレ
ラントコンピュータに分散することが可能になる。した
がって、従来のシステム構成に比べて、高価なフォ―ル
トトレラントコンピュータの必要台数が少なく、かつ、
計算処理能力も全体として向上されたシステムを実現で
は、高信頼性と高処理速度/低コストとを両立させるこ
とが可能となる。
ば、ネットワ―ク上のフォ―ルトトレラントコンピュー
タを有効利用することによって、ノン・フォ―ルトトレ
ラントコンピュータに対しても、高可用度を要求される
プロセスを適切に割り当てられると共に、それらプロセ
スに対しても耐故障性を実現することができる。この結
果、従来フォ―ルトトレラントコンピュータ上で処理せ
ざるを得なかったプロセスをを、ノン・フォ―ルトトレ
ラントコンピュータに分散することが可能になる。した
がって、従来のシステム構成に比べて、高価なフォ―ル
トトレラントコンピュータの必要台数が少なく、かつ、
計算処理能力も全体として向上されたシステムを実現で
は、高信頼性と高処理速度/低コストとを両立させるこ
とが可能となる。
【図1】この発明の一実施例に係わるコンピュータネッ
トワークシステムの構成を示すブロック図。
トワークシステムの構成を示すブロック図。
【図2】図1のシステムにおけるプロセス間の関係を模
式的に示す図。
式的に示す図。
【図3】図1のシステムで高可用度を必要とする重要な
プロセスを実行する場合の動作原理を説明するブロック
図。
プロセスを実行する場合の動作原理を説明するブロック
図。
【図4】図1のシステムに設けられたフォールトトレラ
ントコンピュータによって実行されるプロセス割り当て
処理を説明するフローチャート。
ントコンピュータによって実行されるプロセス割り当て
処理を説明するフローチャート。
【図5】図1のシステムにおけるフォールトトレラント
コンピュータとノン・フォールトトレラントコンピュー
タ間のプロセス間通信の一例を示す図。
コンピュータとノン・フォールトトレラントコンピュー
タ間のプロセス間通信の一例を示す図。
【図6】図1のシステムに設けられたノン・フォールト
トレラントコンピュータによって実行されるプロセス実
行処理および代替処理を説明するフローチャート。
トレラントコンピュータによって実行されるプロセス実
行処理および代替処理を説明するフローチャート。
【図7】図1のシステムにおけるフォールトトレラント
コンピュータによって実行されるプロセス管理処理の一
部を説明するフローチャート。
コンピュータによって実行されるプロセス管理処理の一
部を説明するフローチャート。
【図8】図1のシステムにおけるフォールトトレラント
コンピュータによって実行されるプロセス管理処理の残
りの一部を説明するフローチャート。
コンピュータによって実行されるプロセス管理処理の残
りの一部を説明するフローチャート。
【図9】図1のシステムにおけるフォールトトレラント
コンピュータによって実行されるプロセス管理処理の他
の残りの一部を説明するフローチャート。
コンピュータによって実行されるプロセス管理処理の他
の残りの一部を説明するフローチャート。
10…ネットワーク、11〜13…ノン・フォールトト
レラントs0¥h…コンピュータ、21…フォールトレ
ラントコンピュータ、PM …FT管理プロセス、Pm…
タスク管理プロセス、Pz…FTプロセス、101…F
Tプロセス実行ファイル、102…入力ファイル、10
3…出力ファイル、104…チェックポイントファイ
ル、105,106…バックアップファイル。
レラントs0¥h…コンピュータ、21…フォールトレ
ラントコンピュータ、PM …FT管理プロセス、Pm…
タスク管理プロセス、Pz…FTプロセス、101…F
Tプロセス実行ファイル、102…入力ファイル、10
3…出力ファイル、104…チェックポイントファイ
ル、105,106…バックアップファイル。
Claims (5)
- 【請求項1】 冗長化されたハ―ドウェア構成を有する
フォールトトレラント計算機と、このフォールトトレラ
ント計算機にネットワークを介して接続され、単一ハ―
ドウェア構成を各々が有する複数の非フォールトトレラ
ント計算機とを備えたコンピュータネットワークシステ
ムにおいて、 前記フォールトトレラント計算機は、 前記コンピュータネットワークシステムの計算機に実行
させるプロセスそれぞれについて高可用度の必要の有無
を示すプロセス情報を保持する手段と、 前記複数の非フォールトトレラント計算機によって実行
されているプロセスの再現に必要なステータス情報をそ
れら非フォールトトレラント計算機から定期的に受け取
って保存する手段と、 前記複数の非フォールトトレラント計算機それぞれの動
作を監視し、それら各非フォールトトレラント計算機の
障害発生を検出する障害発生検出手段と、 前記故障計算機によって実行されていたプロセスの高可
用度の必要性の有無を前記プロセス情報を参照して検出
し、高可用度を必要とするプロセスだけが前記フォール
トトレラント計算機によって代替されるように、高可用
度の必要性の有無に応じて前記故障計算機以外の計算機
の1つを代替計算機に決定する代替計算機決定手段と、 この代替計算機決定手段によって代替計算機として決定
された計算機に前記ステータス情報を渡して前記故障計
算機によって実行されていたプロセスを継続実行させる
手段とを具備することを特徴とするコンピュータネット
ワークシステム。 - 【請求項2】 前記代替計算機決定手段は、 前記フォールトトレラント計算機の負荷が所定の値以上
か否かを検出する負荷量検出手段と、この負荷量検出手
段によって前記フォールトトレラント計算機の負荷が所
定の値以上である事が検出された時、前記高可用度を必
要とするプロセスの代替計算機を、前記フォールトトレ
ラント計算機から前記非フォールトトレラント計算機の
中で最も負荷の少ない計算機に変更する手段とをさらに
具備することを特徴とする請求項1記載のコンピュータ
ネットワークシステム。 - 【請求項3】 前記代替計算機決定手段は、前記フォー
ルトトレラント計算機の負荷が所定の値以上か否かを検
出する負荷量検出手段と、この負荷量検出手段によって
前記フォールトトレラント計算機の負荷が所定の値以上
である事が検出された時、前記フォールトトレラント計
算機から前記非フォールトトレラント計算機の中で最も
負荷の少ない計算機を選出する手段と、この選出された
非フォールトトレラント計算機の負荷が前記フォールト
トレラント計算機の負荷よりも少ないか否かを検出し、
少ない時に前記高可用度を必要とするプロセスの代替計
算機を前記フォールトトレラント計算機から前記選出さ
れた非フォールトトレラント計算機に変更する手段とを
さらに具備することを特徴とするコンピュータシステ
ム。 - 【請求項4】 冗長化されたハ―ドウェア構成を有する
フォールトトレラント計算機と、このフォールトトレラ
ント計算機にネットワークを介して接続され、単一ハ―
ドウェア構成を各々が有する複数の非フォールトトレラ
ント計算機とを備え、前記非フォールトトレラント計算
機で実行されていたプロセスを再現するためのステータ
ス情報が前記フォールトトレラント計算機によって集中
管理されているコンピュータネットワークシステムにお
けるプロセス割り当て方法において、 実行対象のプロセスが高可用度を必要とするプロセスで
あるか否かを決定するステップと、 高可用度を必要とするプロセスであることが決定された
際、前記フォールトトレラント計算機の負荷が一定値以
上か否かを検出するステップと、 前記フォールトトレラント計算機の負荷が一定値以上で
あることが決定された際、前記複数の非フォールトトレ
ラント計算機の中で最も負荷の少ない計算機を選定する
ステップと、 前記フォールトトレラント計算機の負荷と前記選定され
た非フォールトトレラント計算機の負荷とを比較し、前
記フォールトトレラント計算機の負荷が少ない時にのみ
前記高可用度を必要とする実行対象のプロセスを前記前
記フォールトトレラント計算機に割り当てるステップと
を具備する特徴とするプロセス割り当て方法。 - 【請求項5】 前記実行対象のプロセスが高可用度を必
要としないプロセスであることが決定された際、前記実
行対象のプロセスを前記複数の非フォールトトレラント
計算機の中で最も負荷の少ない計算機に割り当てるステ
ップをさらに具備することを特徴とする請求項4記載の
プロセス割り当て方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5238629A JPH0793173A (ja) | 1993-09-27 | 1993-09-27 | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5238629A JPH0793173A (ja) | 1993-09-27 | 1993-09-27 | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0793173A true JPH0793173A (ja) | 1995-04-07 |
Family
ID=17032990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5238629A Pending JPH0793173A (ja) | 1993-09-27 | 1993-09-27 | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0793173A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155498B1 (en) | 1997-11-07 | 2006-12-26 | Hitachi, Ltd. | Computer operation management system |
US7237082B1 (en) * | 2004-06-08 | 2007-06-26 | Sun Microsystems, Inc. | Spatially distributed parity protection |
JP2008502953A (ja) * | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
-
1993
- 1993-09-27 JP JP5238629A patent/JPH0793173A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155498B1 (en) | 1997-11-07 | 2006-12-26 | Hitachi, Ltd. | Computer operation management system |
JP2008502953A (ja) * | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
US7237082B1 (en) * | 2004-06-08 | 2007-06-26 | Sun Microsystems, Inc. | Spatially distributed parity protection |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6978398B2 (en) | Method and system for proactively reducing the outage time of a computer system | |
US5590277A (en) | Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications | |
US5440726A (en) | Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications | |
US4823256A (en) | Reconfigurable dual processor system | |
JP3675802B2 (ja) | 計算の状態を再構成する方法ならびにシステム | |
US7392433B2 (en) | Method and system for deciding when to checkpoint an application based on risk analysis | |
JPH07117903B2 (ja) | 障害回復方法 | |
JP2011060055A (ja) | 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム | |
CN103415840A (zh) | 跨硬件层和软件层的错误管理 | |
MXPA06005797A (es) | Sistema y metodo para la recuperacion en caso de fallas. | |
US6654880B1 (en) | Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage | |
JP2992349B2 (ja) | 複製型リアルタイムシステム、特に電話交換機において予備プロセスをウオームアップする方法 | |
CN114281508A (zh) | 一种数据批流融合离线计算方法 | |
JP3447347B2 (ja) | 障害検出方法 | |
JPH0793173A (ja) | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 | |
US7779293B2 (en) | Technology to control input/output device bridges | |
JPH06510895A (ja) | 故障許容通信システム・コントローラ | |
JPH09293001A (ja) | 無停止保守システム | |
JP3708891B2 (ja) | フォールトトレラントシステムにおけるプロセスペア実行制御方法、プロセスペア実行制御プログラム、及びフォールトトレラントシステム | |
JPH04299435A (ja) | データベース等価方式 | |
JP3296378B2 (ja) | コンピュータバックアップシステム | |
JP3463696B2 (ja) | オンラインガーベッジコレクション処理方法 | |
JP2000215074A (ja) | システムの運用方式及び障害自動復旧方式 | |
JP4788516B2 (ja) | 動的置き換えシステム、動的置き換え方法およびプログラム | |
KR100604552B1 (ko) | 클러스터 시스템에서 상태 정보 및 제어 명령의 공유를통한 시스템 장애 대응방법 |