JP2809986B2 - 計算機システム及びプログラムバグ回避方法 - Google Patents

計算機システム及びプログラムバグ回避方法

Info

Publication number
JP2809986B2
JP2809986B2 JP6060614A JP6061494A JP2809986B2 JP 2809986 B2 JP2809986 B2 JP 2809986B2 JP 6060614 A JP6060614 A JP 6060614A JP 6061494 A JP6061494 A JP 6061494A JP 2809986 B2 JP2809986 B2 JP 2809986B2
Authority
JP
Japan
Prior art keywords
program
state detection
execution
level
illegal
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.)
Expired - Fee Related
Application number
JP6060614A
Other languages
English (en)
Other versions
JPH07271622A (ja
Inventor
秀昭 平山
武男 高橋
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 JP6060614A priority Critical patent/JP2809986B2/ja
Publication of JPH07271622A publication Critical patent/JPH07271622A/ja
Application granted granted Critical
Publication of JP2809986B2 publication Critical patent/JP2809986B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高い信頼性を必要とす
る計算機システムのプログラムのバグ、特に並列処理プ
ログラム中の排他制御処理のバグを検出する計算機シス
テム及びプログラムバグ回避方法に関する。
【0002】
【従来の技術】近年、計算機システムの信頼性に対する
要求がますます高まり、ハードウェアエラーに対しては
フォールトトレラント計算機のように、故障を検出し回
復する機能を備えた計算機システムが開発されている。
【0003】フォールトトレラント計算機には、ハード
ウェアにより故障回復を行なう第1のタイプと、ソフト
ウェアにより故障回復を行なう第2のタイプの2種類が
存在する。
【0004】第1のタイプのフォールトトレラント計算
機では、CPUを3重化してその出力を比較した結果に
基づいて故障を検出する。例えば、1つのCPUに故障
が発生した場合、他の2つのCPUの出力が同じとなる
ため、出力が同じとならない正常に動作していない1つ
のCPUのみを切り放して処理を継続する。
【0005】このように、ハードウェア故障であれば、
故障を検出し、回復することが可能であるが、ソフトウ
ェアバクに対しては、第1のタイプのフォールトトレラ
ント計算機では、全てのCPUが同じように動作してし
まうため、結局ソフトウェアバグを検出しても回復する
ことはできない。
【0006】第2のタイプのフォールトトレラント計算
機では、複数のモジュールから構成されるプログラムの
実行途中(チェックポイント)で時々、再実行可能な状
態を保存しておき、故障発生時には故障モジュールのみ
を切り放し、保存しておいた再実行可能な状態に戻して
から処理を再開する。
【0007】このように、第2のタイプのフォールトト
レラント計算機は、ハードウェア故障を検出し、回復す
ることが可能なのに加えて、ソフトウェアバグがあった
としても再実行可能な状態から処理を再開することがで
きるので、バグがタイミングに依存していて、かつ最後
に再実行可能な状態を保存した以降に故障が発生した場
合であれば、再実行によってバグによる故障の発生を防
げる可能性が高い。
【0008】第2のタイプのフォールトトレラント計算
機では、タイミングに依存したソフトウェアのバグを回
復するために、各モジュールの処理途中の所定タイミン
グで不正状態検出処理を組み込んでいる。ただし、不正
状態検出処理の組み込みは、本来実行すべき処理に対し
て性能の低下を招くために、非常に粗いレベル(組み込
みの間隔が広い)で不正状態検出処理を組み込んでい
る。
【0009】
【発明が解決しようとする課題】このように第2のタイ
プのフォールトトレラント計算機では、再実行可能な状
態を保存しておくので、各モジュールの処理途中の所定
タイミングで組み込まれた不正状態検出処理によって不
正状態が検出された際に、再実行可能な状態を保存した
以降に故障が発生したのであれば、タイミングに依存し
たソフトウェアのバグによる故障を再実行により回避す
ることができる。
【0010】しかしながら、不正状態検出処理が非常に
粗いレベルで組み込まれているとバグによる故障の検出
が遅れ、バグの発生以降に再実行可能な状態を保存して
しまうことがあり、再実行してもバグによる故障の発生
を防ぐことができなくなることがあった。
【0011】ソフトウェアにより故障回復を行なう第2
のタイプのフォールトトレラント計算機は、トランジェ
ントなソフトウェアバグを回避できる性質を持っている
にも関わらず、現実には性能低下を招くことのないよう
にするために、非常に粗いレベルで不正状態検出処理を
組み込んでいた。このため、バグによる故障の発生以降
に再実行可能な状態を保存してしまうことがあり、再実
行によってもバグの発生を防ぐことが不可能になってし
まうことがあった。
【0012】本発明は前記のような事情を考慮してなさ
れたもので、必要以上に性能低下を招くことなく非常に
細かいレベルで不正状態検出処理を組み込むことができ
るようにして、ソフトウェアにより故障回復を行なうタ
イプのフォールトトレラント計算機でトランジェントな
ソフトウェアバグの回避を可能にする計算機システム及
びプログラムバグ回避方法を提供することを目的とす
る。
【0013】
【課題を解決するための手段】本発明は、プログラムの
実行途中で、プログラムの再実行が可能な状態を保存
し、前記プログラムに組み込まれた不正状態を検出する
ための不正状態検出処理によって不正状態が検出された
場合に、保存された状態からプログラムの再実行を行な
う計算機システムにおいて、複数レベルの何れかの実行
レベルがそれぞれに対して設定された複数の不正状態検
出処理が組み込まれたプログラムを格納するためのメモ
リと、前記メモリに格納されたプログラムの実行すべき
不正状態検出処理の実行レベルを指定する不正状態検出
処理実行レベル指定手段と、前記メモリに格納されたプ
ログラムと共に、前記不正状態検出処理実行レベル指定
手段によって指定された実行レベルに応じた段階の不正
状態検出処理を実行する制御手段とを具備したことを特
徴とする。
【0014】また、前記不正状態検出処理実行レベル指
定手段は、前記制御手段によって実行された不正状態検
出処理によって不正状態が検出された場合に、前記制御
手段によって実行される不正状態検出処理の数が増加さ
れるように実行レベルを変更することを特徴とする。
【0015】また、前記不正状態検出処理実行レベル指
定手段は、前記プログラムを機能単位で分類したモジュ
ール単位で、不正状態検出処理の実行レベルを指定する
ことを特徴とする。 また本発明は、プログラムの実行途
中で、プログラムの再実行が可能な状態を保存し、前記
プログラムに組み込まれた不正状態を検出するための不
正状態検出処理によって不正状態が検出された場合に、
保存された状態からプログラムの再実行を行なう計算機
システムのプログラムバグ回避方法であって、プログラ
ム実行中に不正状態を検出するための、それぞれに対し
て複数段階の実行レベルが設定された複数の不正状態検
出処理が組み込まれたプログラムの不正状態検出処理の
実行レベルを指定し、前記プログラムと共に、指定され
た実行レベルに応じた段階の不正状態検出処理を実行
し、この実行された不正状態検出処理によって不正状態
が検出された場合に、実行される不正状態検出処理の数
が増加されるように実行レベルの指定を変更した上でプ
ログラムの再実行を行なうことを特徴とする。
【0016】
【作用】このような構成によれば、プログラム中に設け
られた不正状態検出処理が粗いレベルから細かいレベル
まで段階をもって実行レベルの設定が可能となるため、
バグの発生がない間は粗いレベルで不正状態検出処理を
実行することで、本来の処理に与える影響を少なくする
ことができる。また、タイミングに依存したバグが発生
した場合、不正状態検出処理によって不正状態が検出さ
れた場合には、不正状態検出処理の実行レベルを細かい
レベルに上げて実行頻度を増やす。不正状態が解消され
なければ、実行レベルを順次上げながら、プログラムの
再実行が可能な状態を保存するチェックポイントからの
再実行を繰り返す。すなわち、バグの発生可能範囲が順
次狭くなり、必要最低限の実行レベルによる不正状態検
出処理によるプログラムの再実行により、タイミングに
依存したトランジェントなソフトウェアバグの回避を可
能にする。
【0017】また、不正状態検出処理の実行レベルの設
定をプログラムのモジュール単位とすることにより、さ
らに本来実行すべき処理に対する影響が少なくなる。従
って、必要以上の性能低下を招くことなく、非常に細か
いレベルで不正状態検出処理を組み込むことを可能にす
るので、ソフトウェアにより、故障回復を行なうタイプ
のフォールトトレラント計算機において、タイミングに
依存したトランジェントなソフトウェアバグの回避を可
能にする。
【0018】
【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は本発明の一実施例に係わる計算機システ
ムの構成を示すブロック図である。図1に示すように、
本実施例の計算機システムは、制御手段10、モジュー
ル単位不正状態検出処理実行レベル指定手段12、不正
状態検出処理分類手段14、及びメモリ16を含んで構
成されている。
【0019】制御手段10は、システム全体の制御を司
るもので、メモリ16に格納されたプログラムの実行
や、他の各手段の制御等を行なうものである。また、制
御手段10は、メモリ16に格納されたプログラムを機
能単位に分類して得られる複数のモジュールに関する情
報を管理する。制御手段10は、プログラム実行中にチ
ェックポイントにおいて、プログラムの再実行が可能な
状態を保存し、またプログラム中に設けられた不正状態
検出処理を、不正状態検出処理分類手段14によって設
定された実行レベルのものについて実行する。
【0020】モジュール単位不正状態検出処理実行レベ
ル指定手段12(以下、実行レベル指定手段と称する)
は、制御手段10が管理する分類されたモジュール毎
に、不正状態検出処理分類手段14に対して、設定すべ
き不正状態検出処理の実行レベルを指定する。また、実
行レベル指定手段12には、図2に示すような、モジュ
ール単位実行レベルテーブル12aが設けられている。
【0021】モジュール単位実行レベルテーブル12a
は、モジュール単位毎に不正状態検出処理実行レベルを
指定するために、各モジュールに対して指定した不正状
態検出処理実行レベルを管理するためのものである。図
2に示す例では、各モジュールA,B,C,D,E,F
に対して、不正状態検出処理実行レベルが、例えば各々
レベル1,レベル1,レベル2,レベル3,レベル2,
レベル1に設定されている状態であることを示してい
る。
【0022】不正状態検出処理分類手段14は、実行レ
ベル指定手段12からの不正状態検出処理の実行レベル
の指定に応じて、プログラムの各モジュールの処理過程
に設けられた所定の実行レベルの不正状態検出処理を設
定すると共に、不正状態検出処理の処理結果から複数の
モジュールからバグが発生したモジュールを特定する。
【0023】メモリ16は、計算機システムの動作をさ
せるためのプログラム20等を格納するためのものであ
り、制御手段10によって制御される。プログラム20
は、複数のモジュール21,22,…、2nに分類され
る。また、複数のモジュール21,22,…、2nのそ
れぞれには、不正状態検出処理21a,21b,22
a,2na,2nb,2ncが含まれている。
【0024】メモリ16に格納されたプログラム20
は、例えば図3に示すような関係で、モジュールが分類
されている。制御手段10は、これらの各モジュールの
関係を示す情報を管理している。
【0025】また、プログラム20は、図4に示すよう
に、各モジュールの処理途中の所定タイミングで複数の
不正状態検出処理302〜312を組み込んでいる。不
正状態検出処理302〜312には、レベルが設定され
ている。本実施例では、各不正状態検出処理302〜3
12に対して、レベル1、レベル2、レベル3の3つの
レベルの何れかが設定されているものとする。
【0026】具体的には、例えば図5に示すような形式
によって、不正状態検出処理がプログラム20中に設定
されるものとする。図5に示す例では、所属するモジュ
ール指定502、不正状態検出処理実行レベル503、
不正状態検出処理501が設定された処理過程において
不正状態であるかどうかを判別するために予め設定して
おく不正状態判定条件504、不正状態判定条件504
と一致したことにより不正状態であることが検出された
際に実行すべき処理を示す不正状態検出時処理505が
指定されている。
【0027】不正状態検出処理分類手段14は、プログ
ラム20中に設定されたレベル1の不正状態検出処理3
02,303、レベル2の不正状態検出処理304,3
05,306、レベル3の不正状態検出処理307,3
08,309,310,311,312を、制御手段1
0の制御のもとに、選択的に有効にする(実行させる)
ことができる。
【0028】次に、本実施例の動作について説明する。
まず、プログラム20の各モジュール中に設定された不
正状態検出処理の動作について説明する。制御手段10
によって、メモリ16に格納されたプログラム20を実
行していく過程で不正状態検出処理があると、図6に示
すフローチャートの処理が実行される。
【0029】制御手段10は、実行レベル指定手段12
より、現在対象としている不正状態検出処理501が所
属するモジュールに対して設定された不正状態検出処理
実行レベルを求める(ステップA1)。すなわち、実行
レベル指定手段12が管理するモジュール単位実行レベ
ルテーブル12aに格納された、対象とするモジュール
に対応して格納されている不正状態検出処理実行レベル
を読み込む。
【0030】次に、ステップA1で求めた対象とするモ
ジュールの不正状態検出処理実行レベルが、対象とする
不正状態検出処理501に設定された不正状態検出処理
実行レベル503以上であるかどうかを判別する(ステ
ップA2)。
【0031】ここで、条件を満たさない場合には、不正
状態検出処理を実行しない。また、ステップA2の条件
を満たす場合には、不正状態検出処理501に設定され
た不正状態検出判定条件504に従って不正状態の検査
を行なう(ステップA3)。この結果、不正状態でなけ
れば正常に終了する。
【0032】しかし、ステップA3の不正状態の検査で
異常(不正)であることが検出された場合には、不正状
態検出処理501で設定された不正状態検出時処理50
5を実行する。不正状態検出時処理としては、例えば警
告メッセージの出力、処理のアボート等の様々な処理が
存在する。
【0033】ここで、プログラムの再実行によりトラン
ジェントなソフトウェアのバグを回復可能な状況につい
て説明する。図7は不正状態検出処理によるバグ検出と
再実行可能な状態を保存しておくチェックポイントのタ
イミングの関係を示すものである。
【0034】図7(a)は、プログラムの再実行により
回復不可能な状況を示している。プログラムの実行中に
バグが発生し(701a)、例えば不正状態検出処理が
粗いレベルで組み込まれていたために、バグ発生後にチ
ェックポイントがあり(701b)、さらにその後に不
正状態検出処理によってバクが検出されている(701
c)。
【0035】この場合、不正状態検出処理によってバグ
が検出されたために、チェックポイント(701b)か
ら再実行を行なうが、バグ発生後にチェックポイント
(701b)が採られているため、バグの回復は不可能
である。
【0036】一方、図7(b)は、プログラムの再実行
により回復可能な状況を示している。プログラムの実行
中にチェックポイント(702a)が採られ、その後、
バグが発生し(702b)、例えば不正状態検出処理が
細かいレベルで組み込まれていたために、次のチェック
ポイントの前に、不正状態検出処理によってバクが検出
されている(702c)。
【0037】この場合、不正状態検出処理によってバグ
が検出されたために、チェックポイント(702a)か
ら再実行を行なうが、バグ発生後にチェックポイントを
採っていないため、バグ発生前のチェックポイント(7
02a)から再実行されることになり、バグがタイミン
グに依存したトランジェントなものであれば、回復が可
能となる。
【0038】本実施例では、プログラム実行中に不正状
態検出処理によって不正状態が検出された場合、図8に
示すフローチャートの手順に従って、不正状態検出処理
の実行レベルの変更(細かいレベルに実行レベルを上げ
る)を行なった上で、チェックポイントで保存された状
態からプログラムを再実行する。
【0039】図9(a)〜(c)は、不正状態の検出に
伴い、プログラムを再実行する際に、該当モジュールの
不正状態検出処理の実行レベルを上げていき、バグ発生
の可能性のある領域を狭めていく様子を示している。図
9(a)はモジュールAの不正状態検出処理実行レベル
が1の場合の処理、図9(b)はモジュールAの不正状
態検出処理実行レベルが2の場合の処理、図9(c)は
モジュールAの不正状態検出処理実行レベルが3の場合
の処理を示している。
【0040】例えば、現在、モジュールAを対象とする
と、モジュール単位実行レベルテーブル12aに、モジ
ュールAに対して格納されている不正状態検出処理実行
レベルが1で不正検出処理が実行される。
【0041】この場合、図9(a)に示すように、実行
レベル1の不正状態検出処理のみが実行されるので、例
えば901aの時間にバグが発生し、901bの時間に
バグによる不正状態を検出することになるので、バグ発
生の可能性があるとして予測される範囲は、901cに
示すように、広い部分に渡ることになる。
【0042】不正状態が検出されると(バグが検出され
ると)、不正状態検出処理分類手段14は、バグが発生
したサブルーチンの含まれるモジュールを特定する(ス
テップB1)。
【0043】実行レベル指定手段12は、不正状態検出
処理分類手段14によって特定されたモジュールについ
て、モジュール単位実行レベルテーブル12aに格納さ
れた、不正状態検出処理実行レベルを1レベル上げる
(ステップB2)。
【0044】制御手段10は、保存された再実行可能な
状態を用いて、チェックポイントからプログラム(該当
するモジュール)を再実行する。その際、不正状態検出
処理は、前回より細かいレベルの実行レベルで実行され
る。
【0045】例えば、図9(a)に示すようなタイミン
グでチェックポイント910,911があると、実行レ
ベル1の不正状態検出処理では、バグ発生後のチェック
ポイント911から、プログラムが再実行されることに
なる。
【0046】図9(a)に示すように、モジュールAの
実行でバグが検出されたとすると、再実行により次にプ
ログラムが実行されるときには、モジュールAに組み込
まれた不正状態検出処理実行レベルは2に上がってい
る。この状態を、図9(b)に示している。
【0047】図9(b)に示すように、プログラムの再
実行時には、実行レベル1に加えて、実行レベル2の不
正状態検出処理も実行されるので、例えば902aの時
間にバクが発生し、902bの時間にバグによる不正状
態を検出することになるので、バグ発生の可能性がある
として予測される範囲は、902cに示すように、図9
(a)に示す901cの範囲と比較してだいぶ狭められ
ている。
【0048】チェックポイントからのプログラムの再実
行により、再度、不正状態が検出されると(バグが検出
されると)、前述したように、図8に示すフローチャー
トの手順に従って、不正状態検出処理実行レベルがさら
に1レベル上げられた上で、プログラムが再実行され
る。
【0049】図9(b)に示すように、モジュールAの
実行でバグが検出されたとすると、再実行により次にプ
ログラムが実行されるときには、モジュールAに組み込
まれた不正状態検出処理実行レベルは3に上がってい
る。この状態を、図9(c)に示している。
【0050】図9(c)に示すように、プログラムの再
実行時には、実行レベル1,2に加えて、実行レベル3
の不正状態検出処理も実行されるので、例えば903a
の時間にバクが発生し、903bの時間にバグによる不
正状態を検出することになるので、バグ発生の可能性が
あるとして予測される範囲は、903cに示すように、
図9(b)に示す902cの範囲と比較して、さらに狭
められている。
【0051】つまり、バグが発生したモジュールの不正
状態検出処理の実行レベルを順次上げていくことによ
り、バク発生箇所と予測される場所をしだいに狭めてい
き、バクの発生場所を特定することができる。
【0052】図9(c)に示すように、不正状態検出処
理実行レベルをレベル3にすることにより、バグ発生後
のチェックポイント911前に不正状態が検出されるこ
とになる。従って、実行レベル3の不正状態検出処理に
よって不正状態が検出された場合、バグ発生前のチェッ
クポイント910からプログラムが再実行されることに
なる。つまり、バグがタイミングに依存したトランジェ
ントなものであれば、プログラムの再実行により、処理
の回復が可能となる。
【0053】なお、ここまでの処理ではバグ検出に伴
い、図2で示されるモジュール単位不正状態検出処理実
行レベル指定手段12中のモジュール単位実行レベルテ
ーブル12aに格納された各モジュールに対する不正状
態検出処理実行レベルをプログラマが変更していたが、
バグ検出されたモジュールを、プログラムのリンクマッ
プから特定し、モジュールの不正状態検出処理実行レベ
ルを、バグ検出時あるいはアボート処理時に変更するこ
とも可能である。
【0054】このようにして、ソフトウェアにより故障
回復を行なう計算機システムにおいて、プログラム中に
実行レベルの分類が可能な不正状態検出処理を設定し、
プログラム実行中に不正状態検出処理によってバグが検
出された場合には、実行レベルを順次上げて再実行させ
ることができる。このため、バグ検出がない間は、不正
状態検出処理を、実行頻度の少ない粗いレベルの実行レ
ベルについてのみ行なうので、必要以上に、本来実行す
べき処理の性能を低下させることがない。そして、不正
状態検出処理実行レベルを順次上げてプログラムを再実
行させることにより、バグ発生可能性範囲が狭められ、
再実行可能な状態が保存されたチェックポイントをバグ
発生前とすることができ、プログラムの再実行によりタ
イミングに依存したバグを回避することが可能となる。
【0055】なお、本発明はソフトウェアで故障回復す
るタイプのオペレーティングシステム、あるいはそれ以
外のオペレーティングシステム、あるいは通常のアプリ
ケーション等、様々な分野に適用できるものである。
【0056】
【発明の効果】以上のように本発明によれば、ソフトウ
ェアにより故障回復を行なうタイプのフォールトトレラ
ント計算機において、必要以上の性能低下を招くことな
く、非常に細かいレベルでの不正状態検出処理によって
トランジェントなソフトウェアバグの回避が可能となる
ものである。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるプログラムバグ回避
方法を用いる計算機システムの構成を示すブロック図。
【図2】本実施例におけるモジュール単位実行レベルテ
ーブル12aの一例を示す図。
【図3】プログラムをモジュール毎に分類した際の各モ
ジュールの関係を示す図。
【図4】本実施例におけるプログラム中に実行レベル分
けされた不正状態検出処理が組み込まれた状態を説明す
るための図。
【図5】本実施例におけるプログラム中に組み込まれる
不正状態検出処理を説明するための図。
【図6】本実施例における不正状態検出処理の処理手順
を説明するためのフローチャート。
【図7】不正状態検出処理によるバグ検出と再実行可能
な状態を保存しておくチェックポイントのタイミングの
関係を説明するための図。
【図8】本実施例における不正状態検出処理の実行レベ
ルを変更する処理手順を説明するための図。
【図9】本実施例における不正状態検出処理の実行レベ
ルを変更する処理にともなうバグ発生、バグ検出、チェ
ックポイントの関係を示す図。
【符号の説明】
10…制御手段、12…モジュール単位不正状態検出処
理実行レベル指定手段、12a…モジュール単位実行レ
ベルテーブル、14…不正状態検出処理分類手段、16
…メモリ、20…プログラム、21,22,…,2n…
モジュール、21a,21b,22a,2na,2n
b,2nc…不正状態検出処理、302,303…レベ
ル1の不正状態検出処理、304,305,306…レ
ベル2の不正状態検出処理、307,308,309,
310,311,312…レベル3の不正状態検出処
理、501…不正状態検出処理、502…モジュール指
定、503…不正状態検出処理実行レベル、504…不
正状態検出判定条件、505…不正状態検出時処理、8
01a,802b,901a…バグ発生、801b,8
02a…チェックポイント、801c,802c,90
1b…バグ検出、901c…バグ発生の可能性のある範
囲、902a…バグ発生、902b…バグ検出、902
c…バグ発生の可能性のある範囲、903a…バグ発
生、903b…バグ検出、903c…バグ発生の可能性
のある範囲。
フロントページの続き (56)参考文献 特開 昭58−201152(JP,A) 特開 平4−283842(JP,A) 特開 平2−195448(JP,A) 特開 平2−133834(JP,A) 特開 平1−94444(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 11/00 - 11/34

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムの実行途中で、プログラムの
    再実行が可能な状態を保存し、前記プログラムに組み込
    まれた不正状態を検出するための不正状態検出処理によ
    って不正状態が検出された場合に、保存された状態から
    プログラムの再実行を行なう計算機システムにおいて、複数レベルの何れかの実行レベルがそれぞれに対して設
    定された複数の不正状態検出処理が組み込まれたプログ
    ラムを格納するためのメモリと、 前記メモリに格納されたプログラムの実行すべき不正状
    態検出処理の実行レベルを指定する不正状態検出処理実
    行レベル指定手段と、 前記メモリに格納されたプログラムと共に、前記不正状
    態検出処理実行レベル指定手段によって指定された実行
    レベルに応じた不正状態検出処理を実行する制御手段と
    を具備した ことを特徴とする計算機システム。
  2. 【請求項2】 前記不正状態検出処理実行レベル指定手
    段は、前記制御手段によって実行された不正状態検出処
    理によって不正状態が検出された場合に、前記制御手段
    によって実行される不正状態検出処理の数が増加される
    ように実行レベルを変更することを特徴とする請求項1
    記載の計算機システム。
  3. 【請求項3】 前記不正状態検出処理実行レベル指定手
    段は、前記プログラムを機能単位で分類したモジュール
    単位で、不正状態検出処理の実行レベルを指定すること
    を特徴とする請求項1記載の計算機システム。
  4. 【請求項4】 プログラムの実行途中で、プログラムの
    再実行が可能な状態を保存し、前記プログラムに組み込
    まれた不正状態を検出するための不正状態検出処理によ
    って不正状態が検出された場合に、保存された状態から
    プログラムの再実行を行なう計算機システムのプログラ
    ムバグ回避方法であって、 複数レベルの何れかの実行レベルがそれぞれに対して設
    定された複数の不正状態検出処理が組み込まれたプログ
    ラムの実行すべき不正状態検出処理の実行レベルを指定
    し、 前記プログラムと共に、指定された実行レベルに応じた
    段階の不正状態検出処理を実行し、 この実行された不正状態検出処理によって不正状態が検
    出された場合に、実行 される不正状態検出処理の数が増
    加されるように実行レベルの指定を変更した上でプログ
    ラムの再実行を行なうことを特徴とするプログラムバグ
    回避方法
JP6060614A 1994-03-30 1994-03-30 計算機システム及びプログラムバグ回避方法 Expired - Fee Related JP2809986B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6060614A JP2809986B2 (ja) 1994-03-30 1994-03-30 計算機システム及びプログラムバグ回避方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6060614A JP2809986B2 (ja) 1994-03-30 1994-03-30 計算機システム及びプログラムバグ回避方法

Publications (2)

Publication Number Publication Date
JPH07271622A JPH07271622A (ja) 1995-10-20
JP2809986B2 true JP2809986B2 (ja) 1998-10-15

Family

ID=13147334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6060614A Expired - Fee Related JP2809986B2 (ja) 1994-03-30 1994-03-30 計算機システム及びプログラムバグ回避方法

Country Status (1)

Country Link
JP (1) JP2809986B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118534250B (zh) * 2024-04-30 2025-05-16 中科知道(北京)科技有限公司 应用人工智能的智慧电网故障监测方法及系统

Also Published As

Publication number Publication date
JPH07271622A (ja) 1995-10-20

Similar Documents

Publication Publication Date Title
Bautista-Gomez et al. Unprotected computing: A large-scale study of dram raw error rate on a supercomputer
US6785842B2 (en) Systems and methods for use in reduced instruction set computer processors for retrying execution of instructions resulting in errors
US5948112A (en) Method and apparatus for recovering from software faults
US8166338B2 (en) Reliable exception handling in a computer system
EP0505706B1 (en) Alternate processor continuation of the task of a failed processor
KR100304319B1 (ko) 시간 지연 이중화 기술을 구현하는 장치 및 방법
JP2021531568A (ja) コモンモード障害信号に応じたメモリスキャン動作
Chen et al. Reliability and availability analysis for the JPL remote exploration and experimentation system
US20170242760A1 (en) Monitoring device, fault-tolerant system, and control method
US20020147873A1 (en) Real time based system and method for monitoring the same
JP2809986B2 (ja) 計算機システム及びプログラムバグ回避方法
CN119271357B (zh) 一种虚拟机故障检测和恢复系统及其控制方法
JPH02294739A (ja) 障害検出方式
WO2008004330A1 (fr) Système à processeurs multiples
CN112131034B (zh) 一种基于检测器位置的检查点软错误恢复方法
CN115344426A (zh) 一种基于星载软件防止系统失效的方法
JPH05210529A (ja) マルチプロセッサシステム
JP2000298594A (ja) フォールトトレラント制御方法および冗長コンピュータシステム
CN114416436A (zh) 基于SoC芯片面向单粒子翻转效应的可靠性方法
US6209019B1 (en) Data processing system, computer network, and data processing method
CN119512888B (zh) 节点假死的处理方法、装置、设备和存储介质
JPH11296394A (ja) 二重化情報処理装置
JPH103403A (ja) 計算機システムおよびデバッグ方法
CN121116703A (zh) Fpga配置数据校验与容错方法、装置、设备及存储介质
Schagaev et al. Generalized Algorithm of Fault Tolerance (GAFT)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees