JPH08235133A - 多重処理システム - Google Patents

多重処理システム

Info

Publication number
JPH08235133A
JPH08235133A JP7040659A JP4065995A JPH08235133A JP H08235133 A JPH08235133 A JP H08235133A JP 7040659 A JP7040659 A JP 7040659A JP 4065995 A JP4065995 A JP 4065995A JP H08235133 A JPH08235133 A JP H08235133A
Authority
JP
Japan
Prior art keywords
computer
application process
computers
program
execution
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
JP7040659A
Other languages
English (en)
Inventor
Tetsuo Hasegawa
哲夫 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7040659A priority Critical patent/JPH08235133A/ja
Publication of JPH08235133A publication Critical patent/JPH08235133A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】ハードウェアの故障やプログラムのバグで計算
機に障害が発生した場合でも、全計算機のダウンを防止
できる多重処理システムを提供する。 【構成】複数の計算機1〜4を先行系の計算機1,2と
追従系の計算機3,4とに分類し、先行系の計算機に特
定のアプリケーションプロセス群を実行開始させるとと
もに先行系の計算機の実行開始時点より所定の条件を満
たす期間だけ遅れた時点から追従系の計算機で上記特定
のアプリケーションプロセス群を実行開始させる手段
と、先行系の計算機がハードウェアの障害でダウンした
か否かを判定する手段と、この手段で先行系の計算機が
ハードウェアの障害以外の原因でダウンした判定された
ときには、ダウンしたときに先行系の計算機で実行して
いたアプリケーションプロセスを追従系の計算機のアプ
リケーションプロセス群の中から取り除いて追従系の計
算機を先行系として動作させる手段とを有している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の計算機で同一の
処理ないし同一の機能を有する処理を並行して実行する
多重処理システムに関する。
【0002】
【従来の技術】変動するデータを処理し、その処理結果
を化学・鉄鋼プラントのような産業システム、交通制御
システムあるいは原子力プラントのような電力システム
といった制御対象システムに伝達制御するシステムにお
いては、いかなる状況下にあってもシステムを常に安全
に制御し、システムに与えられたミッションを確実に達
成することが要求される。
【0003】このような要求に対し、複数の計算機によ
り同一処理または同一機能を有する処理を並行して実行
する多重処理システムが従来から利用されている。多重
処理システムには、以下に示す種々の方式がある。
【0004】(1) 複数の計算機で同一のアプリケーショ
ンプロセス群を実行する方式 複数の計算機に同一のアプリケーションプロセス群を実
行させる多重処理システムでは、たとえ1台の計算機が
何らかの障害によってダウンしても、他の計算機で処理
を続行させることができるので、処理の中断を避けるこ
とができる。この方式の多重処理システムは、いずれか
1台の計算機にハードウェア障害が発生する確率に比べ
て複数の計算機に同時にハードウェア障害が発生する確
率が非常に低いことを有効に利用している。
【0005】しかしながら、アプリケーションプロセス
のプログラムが完全であるという保証はない。プログラ
ムバグを含むアプリケーションプロセスを実行すると、
計算機に障害が発生し、この障害は全ての計算機で起こ
る。従って、たとえ並列多重処理を行っていても、シス
テムでの処理が中断することになる。
【0006】小型の計算機や制御用に用いられる高速応
答性を重視した計算機においては、計算機の動きを管理
するOS(オペレーティングシステム)等の保護機構が
弱く、アプリケーションプロセスのプログラムバグによ
り障害の発生する可能性が高い。従って、並列多重処理
を行っても、一部のアプリケーションプロセスのプログ
ラムバグでシステム全体の処理が中断してしまうという
問題がある。
【0007】(2) 複数の計算機で同一の機能を有する複
数の版のプログラムに従ってアプリケーションプロセス
を並行に実行する方式 複数の計算機に同一の機能を有する複数の版(バージョ
ン)のプログラム構造に基づくアプリケーションプロセ
スを並行に実行させる多重処理システムでは、たとえ1
台の計算機が何らかの障害によってダウンするか、また
は内部状態に矛盾を起こしたとき外部に悪影響を及ぼす
ことを避けるために以降の処理を中断しても、他の計算
機で処理を続行させることができるので、処理の中断を
避けることができる。
【0008】この方式の多重処理システムは、いずれか
1台の計算機にハードウェア障害が発生する確率が複数
台の計算機に同時に発生する確率に比べて非常に少ない
ことに加えて、同一機能を有するアプリケーションプロ
セスを有するいずれかの版のプログラムにプログラムバ
グが存在して障害が発生しても、同一の機能を有する他
の版のプログラムにはプログラムバグが存在せず、障害
が発生しない可能性が高い点を有効に利用している。
【0009】この方式の並列処理システムにおいて、シ
ステム全体の処理が中断されないためには、同一の機能
を有する複数の版のプログラムのうちの最低1つの版は
障害が発生しないことが条件である。
【0010】しかし、障害が発生しにくい安全な作り方
をしたいわゆる安全版プログラムは実行時間が余分にか
かる場合が多く、その結果、このような安全版プログラ
ムに従って処理を実行させると、システム全体としての
処理時間が遅くなってしまうという問題がある。
【0011】安全版プログラムの実行時間が余分にかか
る理由は、プログラム中の随所に障害発生を防ぐための
異常検出処理を追加しなくてはならないことにある。な
お、時間がかかる処理の代表である検索処理において、
不要な検索を防ぐための処理を追加することによって処
理時間を短縮する手法も各種考案されているが、一般に
高速化するためには余分な処理が必要であり、それに伴
ってプログラムバグが発生し易くなる。
【0012】(3) 複数の計算機内で稼働するプログラム
全体をN版プログラム方式によって多重化する方式 プログラムの多重化は、本来プログラムを複製して複数
の計算機で実行する方式であるから、プログラムにバグ
が内在していれば、多重化していても共通のバグが原因
で計算の停止やシステムの一部機能の停止を引き起こす
原因となり、システムに与えられたミッションを達成す
ることが不可能になる。
【0013】このような事態を回避するための一つの方
式として、“N版プログラム方式”がある。この方式は
(2) の方式と類似しているが、特に同一機能を達成する
複数の版(バージョン)のプログラムを別々の設計者が
異なる手順で互いに隔離された環境下で作成することが
特徴である。そして、このようにして作成された同一機
能を果たす異なったプログラム群を複数の計算機内で並
列に実行し、それにより得られた複数の出力結果のうち
過半数が一致したものを正しい出力結果として選択す
る。
【0014】この“N版プログラム方式”は、複数版の
プログラムモジュール群を相互に隔離された複数の設計
者で作成するため、プログラムモジュール数が多くなる
ほどプログラム作成コストの増大を招くとともに保守管
理のコスト増大を引き起こすことになる。例えば、3チ
ームが独立に異なる手順で同一機能のプログラムを開発
する場合、従来と同一水準の品質を保証するプログラム
を開発するには3倍の開発人員が必要となり、保守の観
点からも3つの版のプログラム保守・管理のコスト増大
は避けられない。また、3つの版のプログラムを並列に
動作させて結果を判定する場合、最も処理の遅いプログ
ラムの処理性能でシステム性能が決まってしまうため、
処理速度は必然的に遅くなる。
【0015】上述の如く、(1) のシステムではいずれか
の計算機がハードウェア障害によってダウンしても処理
を続行できる利点はあるが、アプリケーションプロセス
のプログラムにバグが含まれていたときには全計算機が
ダウンする問題があり、(2)のシステムではいずれか
の計算機がハードウェア障害によってダウンした場合
や、いずれかの版のプログラムにバグが含まれていた場
合でも他の安全版のプログラムに従って処理を続行でき
る利点はあるが、安全版のプログラムに従って処理を実
行させると処理時間が大幅に遅くなる問題があり、
(3) のシステムではいずれかの計算機がハードウェ
ア障害によってダウンした場合や、いずれかの版のプロ
グラムにバグが含まれている場合でも他の版のプログラ
ムに従って処理を続行できる利点はあるが、処理時間が
遅くなるとともにプログラムの開発コストおよび保守・
管理コストの増加を招く問題があった。
【0016】
【発明が解決しようとする課題】上述の如く、従来の多
重処理システムにあっては、いずれかの計算機がハード
ウェア障害によってダウンした場合でも高速な処理を続
行できること、アプリケーションプロセスのいずれかの
プログラムにバグが含まれていた場合においても高速な
処理を続行できること、という2つの望まれる要件を満
すことができないため、これらの障害発生時に効率の悪
い処理速度でしか運転できない問題があった。
【0017】そこで本発明は、ハードウェア障害やプロ
グラムバグに起因して全計算機がダウンするのを防止で
きるとともに、特に障害が発生した時でも効率の良い処
理速度で運転を続行させることができる多重処理システ
ムを提供することを目的としている。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明に係る多重処理システムでは、複数の計
算機と、これらの計算機を先行系の計算機と追従系の計
算機とに分類し、上記先行系の計算機に特定のアプリケ
ーションプロセス群を実行開始させるとともに、上記先
行系の計算機の実行開始時点より所定の条件を満たす期
間だけ遅れた時点から上記追従系の計算機で上記特定の
アプリケーションプロセス群を実行開始させる手段と、
前記先行系の計算機がダウンしたときに、ダウンの原因
がハードウェアの障害によるものか否かを判定する判定
手段と、この判定手段で前記先行系の計算機がハードウ
ェアの障害以外の原因でダウンしたと判定されたときに
は、ダウンしたときに上記先行系の計算機で実行してい
たアプリケーションプロセスを前記追従系の計算機のア
プリケーションプロセス群の中から取り除いて上記追従
系の計算機を先行系として動作させる手段とを備えてい
る。
【0019】上記目的を達成するために、第2の発明に
係る多重処理システムでは、複数の計算機と、これらの
計算機を先行系の計算機と追従系の計算機とに分類し、
上記先行系の計算機に特定のアプリケーションプロセス
群を実行開始させるとともに、上記先行系の計算機の実
行開始時点より所定の条件を満たす期間だけ遅れた時点
から上記追従系の計算機で上記特定のアプリケーション
プロセス群を実行開始させる手段と、前記先行系の計算
機がダウンしたときに、ダウンの原因がハードウェアの
障害によるものか否かを判定する判定手段と、この判定
手段で前記先行系の計算機がハードウェアの障害以外の
原因でダウンしたと判定されたときには、ダウンしたと
きに上記先行系の計算機で実行していたアプリケーショ
ンプロセスを前記追従系の計算機のアプリケーションプ
ロセス群の中から取り除くとともに上記追従系を構成し
ている計算機を新先行系と新追従系とに再構成し、上記
新先行系の計算機側から残りのアプリケーションプロセ
スを実行開始させる手段とを備えている。
【0020】上記目的を達成するために、第3の発明に
係る多重処理システムでは、複数の計算機と、これらの
計算機を先行系の計算機と追従系の計算機とに分類し、
上記先行系の計算機に特定のアプリケーションプロセス
群を実行開始させるとともに、上記先行系の計算機の実
行開始時点より所定の条件を満たす期間だけ遅れた時点
から上記追従系の計算機で上記特定のアプリケーション
プロセス群を実行開始させる手段と、前記先行系の計算
機がダウンしたときに、ダウンの原因がハードウェアの
障害によるものか否かを判定する判定手段と、この判定
手段で前記先行系の計算機がハードウェアの障害以外の
原因でダウンしたと判定されたときには、ダウンしたと
きに上記先行系の計算機で実行していたアプリケーショ
ンプロセスを前記追従系の計算機のアプリケーションプ
ロセス群の中から取り除くとともに上記追従系を構成し
ている計算機を新先行系と新追従系とに再構成し、上記
新先行系の計算機側から残りのアプリケーションプロセ
スを実行開始させる手段、前記判定手段で前記先行系の
計算機がハードウェアの障害でダウンしたと判定された
ときには、稼働中の計算機を新先行系と新追従系とに再
構成する手段とを備えている。
【0021】上記目的を達成するために、第4の発明に
係る多重処理システムでは、同一の機能を有する複数の
版のアプリケーションプロセス用プログラムを保持した
複数の計算機と、これらの計算機を先行系の計算機と追
従系の計算機とに分類し、上記先行系の計算機で特定の
アプリケーションプロセス群をそれぞれ特定の版のプロ
グラムに従って実行開始させるとともに、上記先行系の
計算機の実行開始時点より所定の条件を満たす期間だけ
遅れた時点から上記追従系の計算機で上記特定のアプリ
ケーションプロセス群をそれぞれ上記特定の版あるいは
異なる版のアプリケーションプロセス用プログラムに従
って実行開始させる手段と、前記先行系の計算機がダウ
ンしたときに、ダウンの原因がハードウェアの障害によ
るものか否かを判定する判定手段と、この判定手段で前
記先行系の計算機がハードウェアの障害以外の原因でダ
ウンしたと判定されたときには、ダウンしたときに上記
先行系の計算機で実行していたアプリケーションプロセ
スを前記特定の版とは異なる版のプログラムに従って前
記追従系の計算機で実行させる手段とを備えている。
【0022】上記目的を達成するために、第5の発明に
係る多重処理システムでは、同一の機能を有する複数の
版のアプリケーションプロセス用プログラムを保持した
複数の計算機と、これらの計算機を先行系の計算機と追
従系の計算機とに分類し、上記先行系の計算機で特定の
アプリケーションプロセス群をそれぞれ特定の版のプロ
グラムに従って実行開始させるとともに、上記先行系の
計算機の実行開始時点より所定の条件を満たす期間だけ
遅れた時点から上記追従系の計算機で上記特定のアプリ
ケーションプロセス群をそれぞれ上記特定の版あるいは
異なる版のアプリケーションプロセス用プログラムに従
って実行開始させる手段と、前記先行系の計算機がダウ
ンしたときに、ダウンの原因がハードウェアの障害によ
るものか否かを判定する判定手段と、この判定手段で前
記先行系の計算機がハードウェアの障害以外の原因でダ
ウンしたと判定されたときには、前記追従系を構成して
いる計算機を新先行系と新追従系とに再構成し、ダウン
したときに上記先行系の計算機で実行していたアプリケ
ーションプロセスを前記特定の版とは異なる版のプログ
ラムに従って上記新先行系の計算機側から残りのアプリ
ケーションプロセスを実行開始させる手段とを備えてい
る。
【0023】上記目的を達成するために、第6の発明に
係る多重処理システムでは、同一の機能を有する複数の
版のアプリケーションプロセス用プログラムを保持した
複数の計算機と、これらの計算機を先行系の計算機と追
従系の計算機とに分類し、上記先行系の計算機で特定の
アプリケーションプロセス群をそれぞれ特定の版のプロ
グラムに従って実行開始させるとともに、上記先行系の
計算機の実行開始時点より所定の条件を満たす期間だけ
遅れた時点から上記追従系の計算機で上記特定のアプリ
ケーションプロセス群をそれぞれ上記特定の版あるいは
異なる版のアプリケーションプロセス用プログラムに従
って実行開始させる手段と、前記先行系の計算機がダウ
ンしたときに、ダウンの原因がハードウェアの障害によ
るものか否かを判定する判定手段と、この判定手段で前
記先行系の計算機がハードウェアの障害以外の原因でダ
ウンしたと判定されたときには、前記追従系を構成して
いる計算機を新先行系と新追従系とに再構成し、ダウン
したときに上記先行系の計算機で実行していたアプリケ
ーションプロセスを上記特定の版とは異なる版のプログ
ラムに従って上記新先行系の計算機側から残りのアプリ
ケーションプロセスを実行開始させる手段と、前記判定
手段で前記先行系の計算機がハードウェアの障害でダウ
ンしたと判定されたときには、稼働中の計算機を新先行
系と新追従系とに再構成する手段とを備えている。な
お、前記判定手段は、先行系の計算機の全てがダウンし
たときに、ハードウェアの障害以外の原因でダウンした
と判定する手段を備えたものが好ましい。
【0024】
【作用】第1の発明に係る多重処理システムでは、複数
の計算機を先行系と追従系とに分類し、先行系の計算機
に特定のアプリケーションプロセス群を実行開始させる
とともに先行系の計算機より所定の条件を満たす期間だ
け遅れた時点から追従系の計算機で上記特定のアプリケ
ーションプロセス群を実行開始させる。そして、先行系
の計算機がダウンしたとき、ダウンの原因がハードウェ
アの障害によるものか否かを判定手段で判定させ、先行
系の計算機がハードウェアの障害以外の原因でダウンし
たと判定されたときには、ダウンしたときに先行系の計
算機で実行していたアプリケーションプロセスを追従系
の計算機のアプリケーションプロセス群の中から取り除
いて追従系の計算機を先行系として動作させる。
【0025】したがって、追従系の計算機では、ダウン
の原因となったアプリケーションプロセスを含まないア
プリケーションプロセスの処理を続行することになるの
で、追従系の計算機までダウンするのを防止できる。ま
た、追従系での処理速度は先行系での処理速度と同じで
あるため、効率の良い処理を継続できることになる。ま
た、先行系を複数の計算機で構成する方式を採用してい
れば、判定手段でダウンの原因がハードウェア障害によ
るものと判定されても、先行系の計算機のうちの健全な
計算機で処理を続行させることができるので、処理速度
が低下するようなこともない。
【0026】第2の発明に係る多重処理システムでは、
判定手段で先行系の計算機がハードウェアの障害以外の
原因でダウンしたと判定されたときに、ダウンしたとき
に先行系の計算機で実行していたアプリケーションプロ
セスを追従系の計算機のアプリケーションプロセス群の
中から取り除くとともに追従系を構成している計算機を
新先行系と新追従系とに再構成し、新先行系の計算機側
から残りのアプリケーションプロセスを実行開始させる
ので、第1の発明に係る多重処理システムと同様にダウ
ンの原因となったアプリケーションプロセスで追従系の
計算機までダウンするのを防止できるとともに、新先行
系と新追従系とに再構成しているので、次に起こり得る
ハードウェア障害以外の原因でのダウンに備えることが
できる。また、この場合も先行系(新先行系)を複数の
計算機で構成する方式を採用していれば、判定手段でダ
ウンの原因がハードウェア障害によるものと判定されて
も、先行系(新先行系)の計算機のうちの健全な計算機
で処理を続行させることができるので、処理速度が低下
するようなこともない。
【0027】第3の発明に係る多重処理システムでは、
第2の発明に係る多重処理システムが備えている構成に
加えて、判定手段で先行系の計算機がハードウェアの障
害でダウンしたと判定されたときに、稼働中の計算機を
新先行系と新追従系とに再構成する手段を備えているの
で、新先行系の計算機数を常に複数に保つことが可能と
なり、次に起こり得るハードウェア障害によるダウンに
備えることができる。
【0028】第4の発明に係る多重処理システムでは、
判定手段で先行系の計算機がハードウェアの障害以外の
原因でダウンしたと判定されたとき、ダウンしたときに
先行系の計算機で実行していたアプリケーションプロセ
スの版とは異なる版のプログラムに従って追従系の計算
機で実行させる手段を備えているので、第1〜3の発明
に係る多重処理システムと同様に、処理を続行させるこ
とができる。また、先行系を複数の計算機で構成する方
式を採用していれば、判定手段でダウンの原因がハード
ウェア障害によるものと判定されても、先行系の計算機
のうちの健全な計算機で処理を続行させることができ
る。
【0029】第5の発明に係る多重処理システムでは、
判定手段で先行系の計算機がハードウェアの障害以外の
原因でダウンしたと判定されたときに、追従系を構成し
ている計算機を新先行系と新追従系とに再構成し、ダウ
ンしたときに先行系の計算機で実行していたアプリケー
ションプロセスの版とは異なる版のプログラムに従って
新先行系の計算機側から残りのアプリケーションプロセ
スを実行開始させる手段を設けているので、第4の発明
に係る多重処理システムと同様に処理を続行させること
ができるとともに、新先行系と新追従系とに再構成して
いるので、次に起こり得るハードウェア障害以外の原因
でのダウンに備えることができる。また、この場合も先
行系(新先行系)を複数の計算機で構成する方式を採用
していれば、判定手段でダウンの原因がハードウェア障
害によるものと判定されても、先行系(新先行系)の計
算機のうちの健全な計算機で処理を続行させることがで
きるので、処理速度が低下するようなこともない。
【0030】第6の発明に係る多重処理システムでは、
第5の発明に係る多重処理システムの構成に加えて、判
定手段で先行系の計算機がハードウェアの障害でダウン
したと判定されたときに、稼働中の計算機を新先行系と
新追従系とに再構成する手段を備えているので、新先行
系の計算機数を常に複数に保つことが可能となり、次に
起こり得るハードウェア障害によるダウンに備えること
ができる。
【0031】なお、ハードウェアの故障は通常各計算機
が持つ、たとえば、タイムアウト検出を用いたハードウ
ェア自己診断機能の診断結果を参照することによって知
ることができるが、先行系の計算機の全てがダウンした
ときに、ハードウェアの障害以外の原因でダウンしたと
判定する判定手段であれば、ハードウェア診断機能を備
えていない計算機群で構成されるシステムでも、その判
断が可能である。
【0032】
【実施例】以下、図面を参照しながら実施例を説明す
る。図1には本発明の一実施例に係る多重処理システム
のブロック構成図が示されている。
【0033】この多重処理システムは、大きく分けて、
計算機1〜4と、共有メモリ5と、この共有メモリと各
計算機1〜4とを結合するバス6とで構成されている。
各計算機1〜4は、演算装置11,21,31,41
と、ローカルメモリ14,24,34,44と、タイム
スライスを発生して各演算装置に知らせるタイマ15,
25,35,45とを備えている。なお、この例の場
合、各計算機のタイムスライスの間隔は同一に設定され
ている。
【0034】各ローカルメモリ14,24,34,44
には、実行中プロセスキュー12,22,32,42、
実行遅延プロセスキュー13,23,33,43、アプ
リケーションプロセスの高速版プログラムを格納する高
速版プログラム格納エリア16,26,36,46、ア
プリケーションプロセスの安全版プログラムを格納する
安全版プログラム格納エリア17,27,37,47が
設定されている。なお、安全版プログラムは、高速版プ
ログラムと同一機能を有しているが、高速版プログラム
に比べて障害が発生しにくい安全な作り方をしたプログ
ラムであり、この例では高速版プログラムに比べて2倍
の実行時間を必要としている。
【0035】共有メモリ5は、実行状態テーブル51、
実行終了プロセステーブル52、障害プロセステーブル
53を持ち、これらが全計算機とバス6で結合され、全
計算機からアクセスされる。
【0036】次に、上記のように構成された多重処理シ
ステムの動作を図2〜図4に示す流れ図を適宜参照しな
がら説明する。本実施例に係る多重処理システムでは、
4つの計算機1〜4を先行系と追従系とに分けて動作さ
せている。すなわち、「先行系期待台数」を2台とし、
当初、計算機1と2が先行系に分類され、計算機3と4
が追従系に分類されているものとする。また、各キュー
やテーブルの初期状態は空で何も登録されておらず、タ
イムスライス回数は0から始まるものとする。さらに、
高速版プログラム格納エリア16,26,36,46に
はそれぞれアプリケーションプロセスP1〜P3の高速
版プログラムが格納され、安全版プログラム格納エリア
17,27,38,47にはそれぞれP1〜P3の高速
版と同一機能を有する安全版プログラムが格納されてい
るものとする。また、本実施例では指定条件(障害が発
生しなかったことを後段に知らせる条件)として、アプ
リケーションプロセスの実行終了を用いている。
【0037】そして、ここでは、各アプリケーションプ
ロセスP1〜P3の高速版プログラムにバグが無けれ
ば、図5に示すタイミングでP1〜P3が生成され、実
行されるべきところ、実際にはタイムスライス回数1回
目に計算機2がハードウェアの故障が原因でダウンし、
さらにP3の高速版プログラムにバグがあった場合を例
にとって説明する。
【0038】まず、実行状態テーブル51の内容は図6
に示す状態にあるものとする。この状態で全計算機1〜
4にプロセスP1が投入されたとする。プロセスP1が
投入されると、計算機1では図2に示す流れ図に従っ
て、まず発生プロセスが障害プロセステーブル53に無
いことを確認し(S11)、自計算機が先行系であるこ
とを確認し(S13)、発生プロセスP1を、該プロセ
スのプログラムアドレスを高速版プログラム格納エリア
16に格納されているP1の高速版プログラムのアドレ
スにして、実行中プロセスキュー12に入れる(S1
4)。計算機2も同様の動作をする。
【0039】一方、これと同時に計算機3では、やはり
図2に示す流れ図に従って、発生プロセスP1が障害プ
ロセステーブル53に無く(S11)、自計算機が追従
系で、かつP1が実行終了プロセステーブル52にも無
いことを確認し(S13)、発生プロセスP1を実行遅
延プロセスキュー33に入れる(S15)。計算機4も
同様の動作をする。
【0040】この結果、計算機1〜4のキューの内容は
図7(a) ,(b) のようになる。この時点で、他のキュー
は依然空のままである。なお、以下の説明で用いる図で
は、実行中プロセスキュー12,22,32,42に格
納されているアプリケーションプロセスのうち、プログ
ラムアドレスとして高速版プログラムのアドレスになっ
ているプロセスをPn(高)で表記し、安全版プログラ
ムのアドレスになっているプロセスをPn(安)で表記
する。ただし、n=1〜3である。
【0041】<回数1のタイムスライス開始>ここで、
タイムスライスが起きる。すると計算機1では図3に示
す流れ図に従って、現在実行中のプロセスが無いことを
確認して何もせず(S21)、実行状態テーブル51上
の自計算機の部分のタイムスライス回数を1増して
「1」にし(S22)、自計算機が先行系であることを
確認し(S23)、実行中プロセスキュー12からプロ
セスP1を取り出してこれを現在実行中のプロセスとし
て実行状態テーブル51に登録してプロセスP1を起動
する(S31)。このP1はプログラムアドレスが高速
版プログラムのものであるため、高速版プログラムに従
って実行される。計算機2も同様に動作する。
【0042】一方、これと同時に計算機3では、計算機
1と同様、図3に示す流れ図に従って、ステップS22
まで計算機1と同様に動作するが、自計算機が追従系で
あるため(S23)、先行系の「稼働中」の計算機のす
べてのタイムスライス番号が自計算機の「1」より2以
上遅れていない(この時点では先行系の計算機1、2と
も「0」または「1」である)ことを確認し(S2
4)、(先行系期待台数(この実施例では2)−タイム
スライス番号が自計算機より2以上遅れていない計算機
数(この時点で2))が0であることを確認し(S2
6)、実行終了プロセステーブル52には何も入ってお
らず(S29)、実行中プロセスキュー32には何も入
っていないので何もしない(S31)。計算機4も同様
に動作する。
【0043】この結果、実行状態テーブル51および各
キューの内容は図8(a) 〜(c) のようになる。この回数
1のタイムスライスの間に計算機1ではプロセスP1が
プロセスP2を生成する。すると、計算機1は図2に示
す流れ図に従い、発生プロセスP2が障害プロセステー
ブル53に無いことを確認し(S11)、自計算機が先
行系なので(S13)、発生プロセスP2を、該プロセ
スのプログラムアドレスを高速版プログラム格納エリア
16に格納されているP2の高速版プログラムのアドレ
スにして、実行中プロセスキュー12に入れる(S1
4)。この結果の様子を図8(d) に示す。
【0044】一方、この回数1のタイムスライスの間に
計算機2がハードウェアの故障が原因でダウンしたとす
る。 <回数2のタイムスライス開始>次に、再度タイムスラ
イスが起きると、計算機1では図3に示す流れ図に従っ
て、現在実行中のプロセスP1を図8(d) に示す状態の
実行中プロセスキュー12に入れ(S21)、実行状態
テーブル51上の自計算機の部分のタイムスライス回数
を1増して「2」にし(S22)、自計算機が先行系で
あることを確認し(S23)、実行中プロセスキュー1
2からP2を取り出して、これを現在実行中プロセスと
して実行状態テーブル51に登録して起動する(S3
1)。このP2はプログラムアドレスが高速版のものな
ので、高速版プログラムに従って実行される。
【0045】このとき、計算機2はダウンしているので
何もしない。一方、計算機3、4では、回数1のタイム
スライスの時と同様の手続きが行われる。この結果、実
行状態テーブル51および各キューの内容は図9(a) 〜
(c)のようになる。
【0046】この回数2のタイムスライスの間に計算機
1ではプロセスP2がプロセスP3を生成する。する
と、計算機1は図2に示す流れ図に従い発生プロセスP
3が障害プロセステーブル53に無いことを確認し(S
11)、自計算機が先行系なので(S13)、発生プロ
セスP3を、該プロセスのプログラムアドレスを高速版
プログラム格納エリア16に格納されているP3の高速
版プログラムのアドレスにして、実行中プロセスキュー
12に入れる(S14)。この結果の様子を図9(d) に
示す。
【0047】さらに、この回数2のタイムスライスの間
に計算機1ではP2の処理が終了する。すると、計算機
1では図4に示す流れ図に従って、自計算機が先行系で
あることを確認し(S41)、終了したプロセスP2を
実行終了プロセステーブル52に入れる。この結果、実
行終了プロセステーブル52は図9(e) に示すようにな
る。
【0048】<回数3のタイムスライス開始>次に、再
度タイムスライスが起きると、計算機1では回数2のタ
イムスライス開始時と同様、図3に示す流れ図に従った
手続きを行い、P1を起動する。
【0049】これと同時に計算機3では、図3に示す流
れ図に従って現在実行中のプロセスが無いことを確認し
て何もせず(S21)、実行状態テーブル51上の自計
算機の部分のタイムスライス回数を1増して「3」にし
(S22)、自計算機が追従系であることを確認し(S
23)、先行系でかつ「稼働中」の計算機すべてのタイ
ムスライス番号が自計算機のタイムスライス番号「3」
より2以上遅れていないことを確認し(計算機1が
「3」)(S24)、自計算機のサイト番号3が追従系
の計算機群の中で小さい方から(先行系期待台数(2)
−タイムスライス番号が自計算機より2以上遅れていな
い計算機数(この時点で1)=1)番目でかつ最大サイ
ト番号(この実施例では4)ではないことを確認し(S
26)、実行状態テーブル51上で「稼働中」かつタイ
ムスライス番号が自計算機より2以上遅れている先行系
の計算機2を「ダウン中」にし、実行遅延プロセスキュ
ー33内のプロセスP1を、そのアドレスを高速版プロ
グラム格納エリア36に格納されているプロセスP1の
高速版プログラムのアドレスに合わせて実行中プロセス
キュー32に移し(S27)、自計算機を先行系に分類
する(S28)。実行終了プロセステーブル52にある
プロセスP2が実行遅延プロセスキュー33にはないこ
とを確認し(S29)、実行中プロセスキュー32から
P1を取り出し、これを現在実行中プロセスとして実行
状態テーブル51に登録して起動する(S31)。この
P1はプログラムアドレスが高速版プログラムのものな
ので、高速版プログラムに従って実行される。
【0050】これと同時に計算機4では、計算機3と同
様、図3に示す流れ図に従って(S21)〜(S24)
まで実行するが、自計算機のサイト番号4が追従系の計
算機群の中で最大であることを確認し(S26)、実行
終了プロセステーブル52にあるプロセスP2が実行遅
延プロセスキュー43にはないことを確認し(S2
9)、実行中プロセスキュー42が空なので何も起動し
ない(S31)。
【0051】これらの結果、実行状態テーブル51およ
び各キューの内容は図10(a) 〜(e) のようになる。こ
の回数3のタイムスライスの間に計算機1ではP1の処
理が終了する。すると、計算機1では図4に示す流れ図
に従って、自計算機1が先行系であることを確認し(S
41)、終了したプロセスP1を実行終了プロセステー
ブル52に入れる。この結果、実行終了プロセステーブ
ル52は図10(f) に示すようになる。
【0052】一方、この回数3のタイムスライスの間に
計算機3ではプロセスP1がプロセスP2を生成する。
すると、計算機3は図2に示す流れ図に従い発生プロセ
スP2が障害プロセステーブル53に無いことを確認し
て(S11)、自計算機が先行系なので(S13)、発
生プロセスP2を、該プロセスのプログラムアドレスを
高速版プログラム格納エリア36に格納されているP2
の高速版プログラムのアドレスにして、実行中プロセス
キュー32に入れる(S14)。この結果、計算機3の
実行中プロセスキュー32は図10(g) のようになる。
【0053】<回数4のタイムスライス開始>再度タイ
ムスライスが起きると、計算機1では回数3のタイムス
ライス開始時と同様、図3に示す流れ図に従った手続き
を行い、P3を起動する。
【0054】これと同時に計算機3では、図3に示す流
れ図に従い回数2のタイムスライス開始時の計算機1と
同様の手続きを踏んでP2を起動する。これと同時に計
算機4では図3に示す流れ図に従って現在実行中のプロ
セスが無いことを確認して何もせず(S21)、実行状
態テーブル51の自計算機の部分のタイムスライス回数
を1増して「4」にし(S22)、自計算機が追従系で
あることを確認し(S23)、先行系でかつ「稼働中」
の計算機すべてのタイムスライス番号が自計算機のタイ
ムスライス番号「4」より2以上遅れていないことを確
認し(S24)、自計算機のサイト番号が追従系の計算
機群の中で最大であることを確認し(S26)、実行終
了プロセステーブル52にありかつ実行遅延プロセスキ
ュー43にあるプロセスP1を、そのアドレスを高速版
プログラム格納エリア46に格納されているプロセスP
1の高速版プログラムのアドレスに合わせて実行遅延プ
ロセスキュー43から実行中プロセスキュー42に移し
(S29)、実行中プロセスキュー42からP1を取り
出して、これを現在実行中プロセスとして実行状態テー
ブル51に登録して起動する(S31)。このP1はプ
ログラムアドレスが高速版プログラムのものなので、高
速版プログラムに従って実行される。
【0055】これらの結果、実行状態テーブル51およ
び各キューの内容は図11(a) 〜(d) のようになる。こ
の回数4のタイムスライスの間に計算機1で実行中のプ
ロセスP3の高速版プログラムにあるバグが原因で計算
機1がダウンしたとする。
【0056】一方、この回数4のタイムスライスの間に
計算機3ではプロセスP2がプロセスP3を生成する。
すると、計算機3は図2に示す流れ図に従い発生プロセ
スP3が障害プロセステーブル53に無いことを確認し
て(S11)、自計算機が先行系であることを確認し
(S13)、発生プロセスP3を、該プロセスのプログ
ラムアドレスを高速版プログラム格納エリア36に格納
されているP3の高速版プログラムのアドレスにして、
実行中プロセスキュー32に入れる(S14)。この結
果、計算機3の実行中プロセスキュー32は図11(e)
のようになる。
【0057】さらに、この回数4のタイムスライスの間
に計算機4ではプロセスP1がプロセスP2を生成す
る。すると、計算機4は図2に示す流れ図に従い発生プ
ロセスP2が障害プロセステーブル53に無いことを確
認し(S11)、自計算機が追従系であるが、P2が実
行終了プロセステーブル52にあるので(S13)、発
生プロセスP2を、該プロセスのプログラムアドレスを
高速版プログラム格納エリア46に格納されているP2
の高速版プログラムのアドレスにして、実行中プロセス
キュー42に入れる(S14)。この結果、計算機4の
実行中プロセスキューは図11(f) のようになる。
【0058】その後、この回数4のタイムスライスの間
に計算機3ではP2の処理が終了する。すると、計算機
3では図4に示す流れ図に従って、自計算機3が先行系
であることを確認し(S41)、終了したプロセスP2
を実行終了プロセステーブル52に入れる。すでに実行
終了プロセステーブル52にP2が入っているので図1
0(f) に示すまま変化はない。
【0059】<回数5のタイムスライス開始>再度タイ
ムスライスが起きると、計算機3では図3に示す流れ図
に従い計算機1の回数3のタイムスライス開始時と同様
の手続きを行い、P1を起動する。
【0060】これと同時に計算機4では図3に示す流れ
図に従って同計算機4の回数4のタイムスライスの開始
時と同様の手続きを行い、P2を起動する。これらの結
果、実行状態テーブルおよび各キューの内容は図12
(a) 〜(c) のようになる。
【0061】この回数5のタイムスライスの間に計算機
3ではプロセスP1が終了し、計算機3は図4に示す流
れ図に従って回数3のタイムスライスの間に計算機1で
プロセスP1が終了したときと同じ手続きをする。ただ
し、実行終了プロセステーブル52には既にP1が入っ
ているので変化はない。
【0062】一方、この回数5のタイムスライスの間に
計算機4ではプロセスP2がプロセスP3を生成する。
すると、計算機4は図2に示す流れ図に従い発生プロセ
スP3が障害プロセステーブル53に無いことを確認し
て(S11)、自計算機が追従系で、かつP3が実行終
了プロセステーブル52に無いことを確認し(S1
3)、発生プロセスP3を実行遅延プロセスキュー43
に入れる(S14)。この結果、計算機4の実行遅延プ
ロセスキューは図12(d) のようになる。
【0063】<回数6のタイムスライス>計算機3では
回数4のタイムスライス開始時の計算機1と同様に手続
きしてプロセスP3を起動する。
【0064】これと同時に計算機4では図3に示す流れ
図に従って同計算機4の回数4のタイムスライスの開始
時と同様の手続きを行い、P1を起動する。これらの結
果、実行状態テーブル51および各キューの内容は図1
3(a) 〜(d) のようになる。
【0065】この回数6のタイムスライスの間に計算機
3はプロセスP3の高速版プログラムのバグが原因でダ
ウンする。一方、この回数6のタイムスライスの間に計
算機4ではプロセスP1が終了し、この計算機4は図4
に示す流れ図に従って回数3のタイムスライスの間に計
算機1でプロセスP1が終了した時と同様の手続きをす
る。ただし、実行終了プロセステーブル52には既にP
1が入っているので変化はない。
【0066】<回数7のタイムスライス>計算機4で
は、回数6のタイムスライスの場合と同様、図3に示す
流れ図に従って(S21)〜(S29)までの手続きを
するが、実行中プロセスキュー42が空であるため、プ
ロセスの起動はしない(S31)。
【0067】この結果、実行状態テーブルおよび各キュ
ーの内容は図14(a) 〜(c) のようになる。 <回数8のタイムスライス>計算機4では、図3に示す
流れ図に従って現在実行中のプロセスが無いことを確認
し(S21)、実行状態テーブル51上の自計算機の部
分のタイムスライス回数を1増して「8」とし(S2
2)、自計算機が追従系であることを確認し(S2
3)、先行系の「稼働中」の計算機すべてのタイムスラ
イス番号が自計算機より2以上遅れていることを確認し
(図14(a) に示すように計算機1が「4」、計算機3
が「6」)(S24)、それらの計算機1および計算機
3を「ダウン中」とし、実行中となっているプロセスP
3を障害プロセステーブル53に追加し、さらに図14
(c) に示すようにプロセスP3が自計算機の実行遅延プ
ロセスキュー43にあるので、そのプログラムアドレス
を安全版プログラム格納エリア47に格納されているプ
ロセスP3の安全版プログラムのアドレスに合わせて実
行中プロセスキュー42に移す(S25)。そして、自
計算機以外がすべて「ダウン中」になっていることを確
認し(S26)、タイムスライス番号が自計算機より2
以上遅れている先行系の計算機は既に「ダウン中」にな
っており、実行遅延プロセスキュー43が空であること
を確認し(S27)、自計算機を先行系に分類する(S
28)。その後、実行終了プロセステーブル52にある
プロセスP1とP2がいずれも実行遅延プロセスキュー
43(現在空)に無いことを確認し(S29)、実行中
プロセスキュー42からプロセスP3を取り出して実行
状態テーブル51に現在実行中のプロセスとして登録
し、起動する(S31)。このP1はプログラムアドレ
スが安全版のものなので、安全版プログラムに従って実
行される。
【0068】以降、計算機1はプロセスP3を安全版の
プログラムに従って実行する。安全版のプログラムに従
った場合は高速版のプログラムに従った場合の2倍の時
間がかかるので、回数9のタイムスライス中に無事その
実行を終了する。
【0069】このように、本実施例に係るシステムで
は、4つの計算機1〜4を先行系の計算機1,2と追従
系の計算機3,4とに分類して動作開始させる。そし
て、たとえば回数1のタイムスライスでハードウェアの
故障が原因でプロセスP1を実行中の計算機2がダウン
すると、最初に追従系に分類されていた計算機3を先行
系に組入れ、プロセスP1を高速版のプログラムに従っ
て実行させる。また、たとえばプロセスP3の高速版プ
ログラムのバグが原因で回数4のタイムスライスの間に
計算機1がダウンし、計算機3が回数6のタイムスライ
ス間にダウンすると、最初に追従系に分類されていた計
算機4が先行系となってプロセスP3を今度は安全版の
プログラムに従って実行させるようにしている。各計算
機が各回数のタイムスライス間に実行したプロセスの一
覧を図16に示す。
【0070】上記動作から判るように、本実施例に係る
システムでは、ハードウェア故障が原因で計算機がダウ
ンした場合には、高速版のプログラムに従って効率を落
とすこと無くプロセスを実行させることができ、またプ
ログラムバグが原因で計算機がダウンした場合には安全
版のプログラムに従って追従系の計算機に先行系の計算
機の処理を引継がせることができるので、効率を落とす
こと無く、かつプロセスの実行を止めること無く計算処
理を続行させることができる。
【0071】比較参考のために他計算機がダウンした時
に実行していたプロセスを、ダウンの理由に関わらず以
降追従系の計算機で安全版のプログラムに従って実行さ
せ場合、各計算機が各回数のタイムスライス間に実行す
るプロセスの一覧を図17に示す。これから判るよう
に、本実施例の方が処理を止めること無く、速く全プロ
セスの処理を終了させることができる。
【0072】なお、本発明は上述した実施例に限定され
るものではない。すなわち、上述した実施例では、プロ
グラムバグによる計算機のダウンを純ソフトウェア的に
検出しているが、たとえば計算機に付設されているハー
ドウェア診断装置の診断結果を参照し、図3のステップ
S24で「ハードウェアの故障が記録されていなくて、
かつタイムスライス番号が自計算機より2以上遅れてい
る先行系の「稼働中」の計算機があるか」なる比較を行
わせることによって実施例と同様の動作を行わせること
ができる。
【0073】また、先の実施例では先行系の台数が減っ
た場合に、先行系と追従系とを再構成して、先行系の台
数を常に複数台(実施例では2台)保つようにしている
が、先行系の台数が1台でよい場合には、図3のステッ
プS26で「先行系の計算機がすべて「ダウン中」にな
り、かつ、自計算機のサイト番号が追従系のなかで最小
であるか」なる比較を行わせればよい。
【0074】また、上述した実施例では、アプリケーシ
ョンプロセス群の各アプリケーションプロセスに高速版
プログラムと安全版プログラムとを用意しているが、高
速版プログラムだけを用いることもできる。
【0075】
【発明の効果】以上説明したように、本発明によれば、
ハードウェア故障が原因で計算機がダウンした場合に
は、高速版のプログラムに従って効率を落とすこと無く
プロセスを実行させることができ、またプログラムバグ
が原因で計算機がダウンした場合には高速版あるいは安
全版のプログラムに従って追従系の計算機に先行系の計
算機の処理を引継がせることができるので、効率を落と
すこと無く、かつプロセスの実行を止めること無く処理
を続行させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例に係る多重処理システムのブ
ロック構成図
【図2】同システムにおけるアプリケーションプロセス
発生時の動作を示す流れ図
【図3】同システムにおけるタイムスライス開始時の動
作を示す流れ図
【図4】同システムにおけるアプリケーションプロセス
終了時の動作を示す流れ図
【図5】同システムでアプリケーションプロセスを実行
させたときの期待される実行例を示す図
【図6】同システムの初期状態における実行状態テーブ
ルの内容を示す図
【図7】同システムへプロセスを投入した時における各
キューの内容を示す図
【図8】同システムにおける回数1のタイムスライス開
始時処理後の実行状態テーブルおよび各キューの内容を
示す図
【図9】同システムにおける回数2のタイムスライス開
始時処理後の実行状態テーブルおよび各キューの内容を
示す図
【図10】同システムにおいて回数3のタイムスライス
開始時処理後の実行状態テーブルおよび各キューの内容
を示す図
【図11】同システムにおける回数4のタイムスライス
開始時処理後の実行状態テーブルおよび各キューの内容
を示す図
【図12】同システムにおける回数5のタイムスライス
開始時処理後の実行状態テーブルおよび各キューの内容
を示す図
【図13】同システムにおける回数6のタイムスライス
開始時処理後の実行状態テーブルおよび各キューの内容
を示す図
【図14】同システムにおける回数7のタイムスライス
開始時処理後の実行状態テーブルおよび各キューの内容
を示す図
【図15】同システムにおける回数8のタイムスライス
開始時処理中および処理後の実行状態テーブルおよび各
キューの内容を示す図
【図16】同システムにおいて各計算機が実行したプロ
セスの一覧を示す図
【図17】計算機のダウンに伴わせて安全版に切換えた
ときに各計算機が実行したプロセスの一覧を示す図
【符号の説明】
1,2,3,4…計算機 5…共有メモリ 6…バス 11,21,31,41…演算装置 12,22,32,42…実行中プロセスキュー 13,23,33,43…実行遅延プロセスキュー 14,24,34,44…ローカルメモリ 15,25,35,45…タイマ 16,26,36,46…高速版プログラム格納エリア 17,27,37,47…安全版プログラム格納エリア 51…実行状態テーブル 52…実行終了プロセステーブル 53…障害プロセステーブル

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】複数の計算機と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機に特定のアプリケーション
    プロセス群を実行開始させるとともに、上記先行系の計
    算機の実行開始時点より所定の条件を満たす期間だけ遅
    れた時点から上記追従系の計算機で上記特定のアプリケ
    ーションプロセス群を実行開始させる手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、ダウ
    ンしたときに上記先行系の計算機で実行していたアプリ
    ケーションプロセスを前記追従系の計算機のアプリケー
    ションプロセス群の中から取り除いて上記追従系の計算
    機を先行系として動作させる手段とを具備してなること
    を特徴とする多重処理システム。
  2. 【請求項2】複数の計算機と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機に特定のアプリケーション
    プロセス群を実行開始させるとともに、上記先行系の計
    算機の実行開始時点より所定の条件を満たす期間だけ遅
    れた時点から上記追従系の計算機で上記特定のアプリケ
    ーションプロセス群を実行開始させる手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、ダウ
    ンしたときに上記先行系の計算機で実行していたアプリ
    ケーションプロセスを前記追従系の計算機のアプリケー
    ションプロセス群の中から取り除くとともに上記追従系
    を構成している計算機を新先行系と新追従系とに再構成
    し、上記新先行系の計算機側から残りのアプリケーショ
    ンプロセスを実行開始させる手段とを具備してなること
    を特徴とする多重処理システム。
  3. 【請求項3】複数の計算機と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機に特定のアプリケーション
    プロセス群を実行開始させるとともに、上記先行系の計
    算機の実行開始時点より所定の条件を満たす期間だけ遅
    れた時点から上記追従系の計算機で上記特定のアプリケ
    ーションプロセス群を実行開始させる手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、ダウ
    ンしたときに上記先行系の計算機で実行していたアプリ
    ケーションプロセスを前記追従系の計算機のアプリケー
    ションプロセス群の中から取り除くとともに上記追従系
    を構成している計算機を新先行系と新追従系とに再構成
    し、上記新先行系の計算機側から残りのアプリケーショ
    ンプロセスを実行開始させる手段、 前記判定手段で前記先行系の計算機がハードウェアの障
    害でダウンしたと判定されたときには、稼働中の計算機
    を新先行系と新追従系とに再構成する手段とを具備して
    なることを特徴とする多重処理システム。
  4. 【請求項4】同一の機能を有する複数の版のアプリケー
    ションプロセス用プログラムを保持した複数の計算機
    と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機で特定のアプリケーション
    プロセス群をそれぞれ特定の版のプログラムに従って実
    行開始させるとともに、上記先行系の計算機の実行開始
    時点より所定の条件を満たす期間だけ遅れた時点から上
    記追従系の計算機で上記特定のアプリケーションプロセ
    ス群をそれぞれ上記特定の版あるいは異なる版のアプリ
    ケーションプロセス用プログラムに従って実行開始させ
    る手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、ダウ
    ンしたときに上記先行系の計算機で実行していたアプリ
    ケーションプロセスを前記特定の版とは異なる版のプロ
    グラムに従って前記追従系の計算機で実行させる手段と
    を具備してなることを特徴とする多重処理システム。
  5. 【請求項5】同一の機能を有する複数の版のアプリケー
    ションプロセス用プログラムを保持した複数の計算機
    と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機で特定のアプリケーション
    プロセス群をそれぞれ特定の版のプログラムに従って実
    行開始させるとともに、上記先行系の計算機の実行開始
    時点より所定の条件を満たす期間だけ遅れた時点から上
    記追従系の計算機で上記特定のアプリケーションプロセ
    ス群をそれぞれ上記特定の版あるいは異なる版のアプリ
    ケーションプロセス用プログラムに従って実行開始させ
    る手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、前記
    追従系を構成している計算機を新先行系と新追従系とに
    再構成し、ダウンしたときに上記先行系の計算機で実行
    していたアプリケーションプロセスを前記特定の版とは
    異なる版のプログラムに従って上記新先行系の計算機側
    から残りのアプリケーションプロセスを実行開始させる
    手段とを具備してなることを特徴とする多重処理システ
    ム。
  6. 【請求項6】同一の機能を有する複数の版のアプリケー
    ションプロセス用プログラムを保持した複数の計算機
    と、 これらの計算機を先行系の計算機と追従系の計算機とに
    分類し、上記先行系の計算機で特定のアプリケーション
    プロセス群をそれぞれ特定の版のプログラムに従って実
    行開始させるとともに、上記先行系の計算機の実行開始
    時点より所定の条件を満たす期間だけ遅れた時点から上
    記追従系の計算機で上記特定のアプリケーションプロセ
    ス群をそれぞれ上記特定の版あるいは異なる版のアプリ
    ケーションプロセス用プログラムに従って実行開始させ
    る手段と、 前記先行系の計算機がダウンしたときに、ダウンの原因
    がハードウェアの障害によるものか否かを判定する判定
    手段と、 この判定手段で前記先行系の計算機がハードウェアの障
    害以外の原因でダウンしたと判定されたときには、前記
    追従系を構成している計算機を新先行系と新追従系とに
    再構成し、ダウンしたときに上記先行系の計算機で実行
    していたアプリケーションプロセスを上記特定の版とは
    異なる版のプログラムに従って上記新先行系の計算機側
    から残りのアプリケーションプロセスを実行開始させる
    手段と、 前記判定手段で前記先行系の計算機がハードウェアの障
    害でダウンしたと判定されたときには、稼働中の計算機
    を新先行系と新追従系とに再構成する手段とを具備して
    なることを特徴とする多重処理システム。
  7. 【請求項7】前記判定手段は、前記先行系の計算機の全
    てがダウンしたときに、ハードウェアの障害以外の原因
    でダウンしたと判定する手段を備えていることを特徴と
    する請求項1乃至6の何れか1項に記載の多重処理シス
    テム。
JP7040659A 1995-02-28 1995-02-28 多重処理システム Pending JPH08235133A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7040659A JPH08235133A (ja) 1995-02-28 1995-02-28 多重処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7040659A JPH08235133A (ja) 1995-02-28 1995-02-28 多重処理システム

Publications (1)

Publication Number Publication Date
JPH08235133A true JPH08235133A (ja) 1996-09-13

Family

ID=12586670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7040659A Pending JPH08235133A (ja) 1995-02-28 1995-02-28 多重処理システム

Country Status (1)

Country Link
JP (1) JPH08235133A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295738A (ja) * 2003-03-28 2004-10-21 Nec Corp 耐障害計算機システム、プログラム並列実行方法およびプログラム
EP1903750A1 (en) 2006-09-21 2008-03-26 Fujitsu Limited Load distributing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295738A (ja) * 2003-03-28 2004-10-21 Nec Corp 耐障害計算機システム、プログラム並列実行方法およびプログラム
EP1903750A1 (en) 2006-09-21 2008-03-26 Fujitsu Limited Load distributing apparatus

Similar Documents

Publication Publication Date Title
US5440726A (en) Progressive retry method and apparatus having reusable software modules for software failure recovery in multi-process message-passing applications
US5590277A (en) Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications
US5530802A (en) Input sequence reordering method for software failure recovery
US5815651A (en) Method and apparatus for CPU failure recovery in symmetric multi-processing systems
US7516361B2 (en) Method for automatic checkpoint of system and application software
JP4641546B2 (ja) 入出力(i/o)エラーをハンドリングするための方法及びシステム
JP4315016B2 (ja) コンピュータシステムの系切替方法
US7373542B2 (en) Automatic startup of a cluster system after occurrence of a recoverable error
JPH0950424A (ja) ダンプ採取装置およびダンプ採取方法
Hariri et al. Architectural support for designing fault-tolerant open distributed systems
US20100085871A1 (en) Resource leak recovery in a multi-node computer system
Bhat et al. Recovery time considerations in real-time systems employing software fault tolerance
US20100085870A1 (en) Global detection of resource leaks in a multi-node computer system
JPH08235133A (ja) 多重処理システム
JP2956849B2 (ja) データ処理システム
JPH0736721A (ja) 多重化コンピュータシステムの制御方式
JP2006285474A (ja) 並列計算機及びその制御方法
JPH117431A (ja) 複数コンピュータで実行する業務の障害回復システム
JP3483931B2 (ja) プログラム実行制御方法および計算機
JPH11353284A (ja) ジョブ再実行方法
JPH02266457A (ja) 処理の継続実行方法
JP2785992B2 (ja) サーバプログラムの管理処理方式
JP3122371B2 (ja) 計算機システム
JP3604171B2 (ja) プロセス自動再起動処理方式
Deconinck et al. A framework backbone for software fault tolerance in embedded parallel applications