JPH09223035A - 計算機システム - Google Patents

計算機システム

Info

Publication number
JPH09223035A
JPH09223035A JP8030468A JP3046896A JPH09223035A JP H09223035 A JPH09223035 A JP H09223035A JP 8030468 A JP8030468 A JP 8030468A JP 3046896 A JP3046896 A JP 3046896A JP H09223035 A JPH09223035 A JP H09223035A
Authority
JP
Japan
Prior art keywords
program
execution
processing
computer system
task
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
JP8030468A
Other languages
English (en)
Inventor
Hiroshi Shibata
寛 柴田
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 JP8030468A priority Critical patent/JPH09223035A/ja
Publication of JPH09223035A publication Critical patent/JPH09223035A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】 ソフトウエアの2重化によりソフトウエアの
信頼性を向上させる。 【解決手段】 本発明に係る計算機システムは、タスク
を処理する第1のプログラム及び同タスクを処理する第
2のプログラムを対応づけて記憶装置に登録しておき、
第1、第2のプログラムの一方を起動し前記タスクを処
理させる、稼働状態のプログラムの異常を監視して異常
検出を行い、異常が検出されると、当該稼働状態のプロ
グラムを停止し、これに代えて前記第1、第2のプログ
ラムの内の他方を稼働状態とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラムによりタ
スク処理を行う計算機システムにおいて、プログラムに
異常が発生した場合でも、復旧に時間を要せず、システ
ムダウンに移行することを実質的に無くすことを可能と
する計算機システムに関する。
【0002】
【従来の技術】従来の計算機システムにおいては、稼働
状態のプログラムに異常が発生した場合、以下に示す処
置が採られていた。その第1は、プログラムの実行処理
を中断し、機能を停止させた後、当該プログラムが占有
していた資源を解放するものである。この処置による
と、プログラムに異常が発生すると該機能が停止し、オ
ペレータの介入があるまで処理が行えなくなる問題があ
る。
【0003】
【発明が解決しようとする課題】そして、オペレータの
介入があるまでの間は、システムとしての機能が停止
し、復旧までの時間が長引くほどシステムの稼働率が低
下する。
【0004】そこで、上記計算機システムの機能停止後
に、異常を起こしたプログラムを再起動させることが考
えられる。しかし、プログラムの停止から再起動に時間
を要する場合には、処理要求が待ち状態となったり、機
能停止後に発生した処理要求が実行待ち行列レジスタを
オーバーフローさせたり、或いは処理が遅延することも
考えられる。
【0005】また、複数の共有ファイルを変更する処理
等の場合には、処理の途中でプログラムの異常終了が起
きると処理を完結しないでファイルの変更が中断され、
各共有ファイル間でデータが不整合のままとなり、以後
の処理が困難になる場合がある。係る場合には、プログ
ラムの実行処理の中断後、オペレータが処理ジャーナル
からデータを復旧する作業を別途行い、データの整合性
を確認の上、異常終了したプログラムを修正し再起動を
行っている。このため、復旧までに多大な時間を要する
という問題点が生じていた。
【0006】本発明は上記の従来例に係る計算機システ
ムの問題点を解決せんとしてなされたもので、その目的
は稼働状態のプログラムに異常が発生した場合、ソフト
ウエアによりバックアップしタスクの実質的な連続処理
を可能とする計算機システムを提供することである。ま
た、他の目的はシステムの機能停止時間を短縮し、シス
テムに対する信頼性や保守性を向上させ、処理の一貫性
を保つことの可能な計算機システムを提供することにあ
る。
【0007】
【課題を解決するための手段】本発明の請求項1に記載
の計算機システムは、タスクを処理する第1のプログラ
ム及び前記タスクを処理する第2のプログラムを対応付
けて記憶装置に登録する登録手段と、前記第1、第2の
プログラムの一方を起動し前記タスクを処理する稼働状
態とする初期状態実現手段と、稼働状態のプログラムの
異常を監視して異常検出を行う異常検出手段と、この異
常検出手段が稼働状態のプログラムの異常を検出する
と、前記登録手段による登録内容に応じて、当該稼働状
態のプログラムに代えて前記第1、第2のプログラムの
内、他方を稼働状態とするための処理を行うプログラム
交替処理実行手段とを具備することを特徴とする。これ
によって、同一タスクを処理する2つのプログラムが記
憶装置に登録され、どちらか一方が起動されて稼働状態
とされタスク処理がなされる。タスク処理中において、
稼働状態のプログラムの異常が検出された場合、上記記
憶装置に登録されている他方のプログラムが稼働状態と
されタスクが処理される。
【0008】本発明の請求項2に記載の計算機システム
では、初期状態実現手段が、稼働状態のプログラムと異
なる他方のプログラムを待機状態としておくこと特徴と
する。これによって、稼働状態のプログラムによる処理
中には、これと異なる他方のプログラムが待機状態、つ
まり、ホットスタンバイ状態とされており、現在稼働状
態のプログラムの異常の場合に待機状態から直ちに稼働
状態に遷移させることができ、短時間で処理を引き継ぐ
ことが可能となる。
【0009】本発明の請求項3に記載の計算機システム
は、プログラム交替処理実行手段が、異常検出手段が稼
働状態のプログラムの異常を検出した場合に、当該プロ
グラムの実行処理を中断する実行中断手段と、前記異常
検出手段が稼働状態のプログラムを異常を検出した場合
に、当該プログラムが占有していた資源を解放する解放
手段とを含むことを特徴とする。これにより、稼働状態
のプログラムの異常が検出されると、当該稼働状態のプ
ログラムの実行が停止され、そのプログラムが占有して
いた資源の解放がなされ、当該資源を他方のプログラム
に割り当て可能となる。
【0010】本発明の請求項4に記載の計算機システム
は、稼働状態のプログラムが処理するタスクの実行環境
情報を検出して保存する実行環境保存手段と、この実行
環境保存手段に保存されている実行環境情報に基づき、
プログラム交替処理実行手段による処理の際に、タスク
の実行環境を復元する環境復元手段とを備えることを特
徴とする。これにより、タスク内の稼働状態のプログラ
ムの実行環境情報が保存されると共に、稼働状態のプロ
グラムに代えて上記第1、第2のプログラムの内の他方
を稼働状態とする処理の際、上記で保存してある実行環
境を復元して新たに稼働状態となるプログラムに引き継
がせるように作用する。
【0011】本発明の請求項5に記載の計算機システム
では、実行環境保存手段が、プログラムの処理実行に先
立ち実行環境情報を保存することを特徴とする。これに
より、異常終了したプログラムの処理実行に先立つ実行
環境情報を、新たに稼働状態となるプログラムに引き継
がせるように作用する。
【0012】本発明の請求項6に記載の計算機システム
においては、実行環境保存手段が、稼働状態のプログラ
ムの処理実行に先立つ時点の実行環境情報から異常終了
に到るまでの履歴に係る実行環境情報を保存することを
特徴とする。これにより、異常終了時には稼働状態のプ
ログラムの処理実行に先立つ時点の実行環境情報から異
常終了に到るまでの履歴に係る実行環境情報が保存され
ているから、この履歴に係る実行環境情報に基づきロー
ルバックを行い実行環境を復元し、ロールバックした実
行環境を新たに稼働状態となるプログラムに、引き継が
せるように作用する。
【0013】本発明の請求項7に記載の計算機システム
は、タスクの実行処理要求データを蓄積するための蓄積
手段と、前記タスクの実行処理要求データが入力される
と、この実行処理要求データを前記蓄積手段に格納する
格納手段と、前記タスクの実行に際して、対応の実行要
求データを前記格納手段から取り出し当該実行要求デー
タに対する第1、第2のプログラムによる処理履歴情報
を保存する履歴保存手段と、この履歴保存手段に格納さ
れている処理履歴情報に基づきロールバックを行い実行
の環境を復元する手段と、プログラム交替処理実行手段
による処理の際に、当該実行処理要求データの処理の実
行/スキップを制御する制御手段とを具備することを特
徴とする。これにより、実行処理要求データに対する第
1、第2のプログラムによる処理の履歴に基づき、プロ
グラム交替処理の際に、次の実行処理要求データの処理
の実行/スキップが制御されることから、同一実行処理
要求データの実行の時に同一原因による異常発生を防止
する。
【0014】本発明の請求項8に記載の計算機システム
は、プログラム交替処理実行手段による稼働状態のプロ
グラムの交替処理が実行される際に、異常となったプロ
グラムを再起動し待機状態としておく異常プログラム再
起動手段を具備することを特徴とする。本発明の請求項
8に記載の計算機システムでは、プログラム交替処理の
際に、異常終了したプログラムを再起動し待機状態と
し、次に稼働状態としたプログラムが異常となる場合に
備える。
【0015】
【発明の実施の形態】以下、添付図面を参照して本発明
に係る実施の形態を説明する。各図において同一の構成
要素には同一の符号を付し重複する説明を省略する。図
1には、本発明の第1の実施の形態に係る計算機システ
ムの構成が示されている。この実施の形態に係る計算機
システムは、登録手段1、初期状態実現手段2、異常検
出手段3、プログラム交替処理実行手段4、実行環境保
存手段5、環境復元手段6、そして登録部、主記憶装
置、資源、プログラムライブラリを具備する。主記憶装
置は、資源とプログラムライブラリを除く部分である。
【0016】プログラムライブラリには、第1のプログ
ラム及び第2のプログラムが記憶されており、登録手段
1は、これら2つのプログラムをプログラムライブラリ
から読み出し、主記憶装置にロードする。これら2つの
プログラムは相互に代替性のあるプログラムであり、第
1のプログラムに障害が生じた時に稼働すべきプログラ
ムが第2のプログラムであり、逆に第2のプログラムに
障害が生じた時、稼働すべきプログラムが第1のプログ
ラムである。登録部には相互に代替性のあるプログラム
であると認識し得るような情報、例えば、両プログラム
の識別情報が対応付けらて識別情報が登録される。従っ
て、一方のプログラムに障害が生じた時、この登録部の
情報を参照することにより、他方のプログラムを稼働状
態とすることが可能となる。本実施の形態では、両プロ
グラムが稼働、待機或いは停止のいずれの状態にあるか
を示す状態情報も登録部に登録される。初期状態実現手
段2は、主記憶装置にロードされている2つのプログラ
ムのいずれか一方を起動しタスクを処理する稼働状態の
プログラムを生成し、他方のプログラムを待機状態とす
る。待機状態とは、既に起動された状態にあり、プログ
ラム交替処理実行手段4により即座に稼働状態に遷移さ
れ得る状態にあって、「稼働コマンド」等を与えると、
たちまちタスクの処理を始める状態にあることを言う。
異常検出手段3は、稼働状態のプログラムを監視し異常
の有無を検出する。プログラム交替処理実行手段4は、
異常検出手段3により稼働状態のプログラムの異常が検
出されると、当該稼働状態のプログラムを停止させ、該
稼働状態のプログラムが占有している資源を解放する。
また、プログラム交替処理実行手段4は、登録部の内容
から、待機状態にある代替プログラムを検出しこれを稼
働状態とする。実行環境保存手段5は、タスク内の稼働
状態のプログラムの処理における実行環境情報を保存し
ておく。環境復元手段6は、プログラム交替処理実行手
段4により待機状態のプログラムが稼働状態に切り替え
られる際に、実行環境保存手段5により保存されている
実行環境情報に基づき、実行環境を復元し、新たに稼働
状態となったプログラムに資源を割り当てる。ここにお
いて、実行環境情報は、アプリケーションおよび処理タ
スクにより様々であるが、本第1の実施の形態において
は、資源ファイル、作業ファイルの場所などの詳細、そ
の他の使用可能な資源に関する情報及び実行処理要求デ
ータ、更には、外部プロセスデータを指している。
【0017】本発明における各手段はソフトウエアで実
現されており、本実施の形態ではシステムが起動された
後、図2または図3に示されるフローチャートに対応す
るプログラムが上記各手段として機能するので、これら
のフローチャートに基づき計算機システムの動作を説明
する。
【0018】まず、図2のフローチャートに対応のプロ
グラムが備えられている実施の形態では、計算機システ
ムを起動すると図2のフローチャートに対応するプログ
ラムが起動される。そして、S1では、第1、第2のプ
ログラムをプログラムライブラリから読み出し対応付け
て主記憶装置にロードする。この実施の形態では、この
S1において、第1、第2のプログラムの識別情報とそ
の状態(稼働・停止・待機)情報とを登録部に登録す
る。これにより、主記憶装置内の第1、第2のプログラ
ムは関連付けられる。なお、第1、第2のプログラムは
同一のタスク処理を行うプログラムあるいはロードモジ
ュールであり、実際上、両者は同一或いは類似のプログ
ラムである。そして、両プログラムはS1においてプロ
グラムライブラリから読み出し得るように、プログラム
ライブラリ内においても予め関連付けられて記憶されて
いる。次のS2では、主記憶装置のプログラムのどちら
か一方、例えば第1のプログラムを起動しタスクを処理
する稼働状態のプログラムを生成し、タスクの実行処理
を開始させる。一方、第2のプログラムは、「稼働コマ
ンド」等を与えることにより、いつでもタスク処理をで
きるよう、待機状態としておく。
【0019】以上により、第1のプログラムが必要な資
源を占有し、稼働状態となって、タスクの実行処理を行
うことになる。そして、S3において稼働状態の第1の
プログラムに対する異常監視がなされ、S4において異
常の有無検出が行われる。ここで第1のプログラムに異
常発生したことが検出されると、S5において第1のプ
ログラムの実行を中断し、第1のプログラムが占有して
いた資源を解放する。そして、登録部の内容を参照し、
登録内容に応じて待機状態となっている第2のプログラ
ムを稼働状態に遷移させる。これにより、第2のプログ
ラムが第1のプログラムに代ってタスク処理を実行す
る。即ち、第1のプログラムが稼働している間には、第
2のプログラムが待機状態にあり、この第2のプログラ
ムに「稼働コマンド」等を与えることにより、直ちに稼
働状態へと移行し、システムが実質的に停止することな
くタスク処理が継続して行われる。
【0020】上記図2に示されるフローチャートのプロ
グラムにより動作する計算機システムは以下の点で不十
分である。即ち、タスクの実行処理が始まり、稼働状態
の第1のプログラムが異常終了すると、新たに待機状態
から稼働状態となった第2のプログラムがタスクの実行
処理を行うものの、第2のプログラムが更に異常終了す
ると、その時点でプログラム処理は停止する。そこで、
次の実施の形態では図3に示されるフローチャートに対
応するプログラムにより処理を行う。
【0021】この図3により示される実施の形態は、図
2により示される第1の実施の形態に対し、S11の処
理を付加して、プログラムが異常終了する度に、異常終
了したプログラムを再起動し待機状態とし、次の稼働状
態のプログラムの異常発生に備え、次の異常終了時には
当該待機状態のプログラムを稼働状態に遷移させる(S
10)。これにより、常にプログラムの二重化構成が図
られ、実行処理の無停止化が可能となる。つまり、プロ
グラム自体に問題がなく、他の要因で稼働状態のプログ
ラムが異常終了した場合あるいはきわめてまれなケース
でタイミング上の問題で異常終了した場合などには、こ
の稼働状態のプログラムの実行処理を停止させ、待機状
態にあるプログラムを稼働させ処理を継続させる。これ
と共に、上記で停止されたプログラムを再起動し待機状
態とすることにより、新たに稼働状態とされたプログラ
ムが異常終了しても、待機状態とされているプログラム
に処理を迅速に引き継ぐことができ、タスクの実行処理
の継続が可能となる。
【0022】本実施の形態に係る計算機システムは、例
えば、高速リアルタイム処理、または、低速リアルタイ
ム処理等を行うシステムであり、具体的には、プロセス
制御システム、プラント等の制御システムである。従っ
て、図4に示すように、計算機40に対しては、複数の
センサ41−1〜41−nから周期的にデータが送出さ
れる。センサ41の例として、位置センサ41−1、加
重センサ41−2、圧力センサ41−nが示されてい
る。これらのセンサ41−1、41−2、41−nから
は、それぞれ位置データ、加重データ、圧力データが送
出される。
【0023】図4において、実線の丸枠で示される処理
プログラムは稼働状態であり、破線の丸枠の処理プログ
ラムは稼働状態の処理プログラムの代替プログラムであ
り、待機状態にある。プラント制御等の高速リアルタイ
ム処理においては、稼働状態ではない代替用のプログラ
ムを待機状態において、数ms周期で生じるデータの処
理を代替処理可能にする。逆に言えば、低速リアルタイ
ム処理では、代替用のプログラムを外部記憶に記憶して
おき、代替時にロードする所謂、コールドスタンバイ方
式を採用しても良い。要は、代替時にロードし稼働状態
とするまでの時間に、処理の遅延が起こらないようにス
タンバイさせている。
【0024】高速リアルタイム処理では、例えば、処理
プログラムAが周期的に発生する或るデータを幾つか受
けて、これに或る種の演算(例えば、積分)処理を施し
て、主記憶装置42に記憶し、処理を処理プログラムB
に譲る。処理プログラムBは、主記憶装置42から上記
演算結果を得て、更に周期的に発生する或るデータを考
慮するなどして処理結果を作成し主記憶装置42に記憶
する。勿論、処理プログラムA、Bが一体の1プログラ
ムであり、演算値を連続的に処理することにより処理結
果を得るものもある。いずれにしても、処理プログラム
A、または処理プログラムBに異常が発生すると、これ
の代替プログラムが稼働状態され、処理を継続する。
【0025】上記の場合、処理プログラムA、またはB
が処理を開始してから異常終了するまでには、共有ファ
イルの書き換えなどが行われることはなく、処理実行中
に実行環境情報が経時的に変化することは無いと考えて
良い。従って、このようなシステムにあっては、実行環
境保存手段5及び環境復元手段6は図5に示されるフロ
ーチャートに示されるように動作する。つまり、稼働状
態のプログラム(例えば、第1のプログラム)による処
理実行が開始されるか否かを監視している(S31)。
ここで、処理実行が開始されるときには、処理開始に先
立って実行環境情報を取得し、これを保存する(S3
2)。次に、稼働状態のプログラムの終了の原因が正常
終了によるものか、異常終了によるものかを検出する
(S33)。正常終了である場合には、S31へ戻っ
て、次の処理を実行する稼働状態のプログラムについ
て、処理実行が開始されるか否かを監視する。一方、異
常終了した場合には、保存してある実行環境情報を取り
出し、実行環境の復元を行う(S34)。この場合に
は、資源等の引き渡し等が中心であり、ロールバックを
行う必要はない。待機状態にあったプログラム(例え
ば、第2のプログラム)は先に稼働状態にあったプログ
ラムから処理を引継ぎ、停止した時点の処理から継続的
に処理を行う。従って、高速処理を要求されるプラント
制御等においても、処理が跡切れることなく次の処理を
継続的に実行できる。
【0026】上記に対し、オンライントランザクション
処理やバッチ処理を代表とする共有ファイルに変更を伴
う処理をプログラムが行うシステムがある。図6に示す
ように、オンライントランザクション処理では、実行処
理要求データはキュー61に蓄積され、稼働状態の処理
プログラムにFIFO(ファーストイン・ファーストア
ウト)方式により渡される。代替する別バージョンの処
理プログラムはプログラムライブラリ63に記憶され、
コールドスタンバイを行う。オンライントランザクショ
ン処理では、高速リアルタイム処理と比べてそれほど高
速性を要しないため、コールドスタンバイで十分である
ことを示すだけであり、応答性を確保する必要があるな
らホットスタンバイ方式を採用する。
【0027】実行処理要求データを受け取った処理プロ
グラムは、実行処理要求データに基づき関係するファイ
ル62の内容に変更を加える。図6においては、ファイ
ル62の内容が現内容から更新1、・・・更新nに変更
されることを示している。この様な処理中に、ジャーナ
ル64が取られ、ロールバックが可能とされる。これ
は、オンライントランザクション処理においては、ファ
イル62が更新されるために、高速オンライン処理につ
いて適用した手法、つまり、停止時点から更に処理を続
けさせる手法を採用しても、異常によりプログラムが停
止した時点でファイル62の内容が不正である確率が高
いため、更に処理を継続しても誤ったデータ処理がなさ
れることになる。そこで、ロールバックによりファイル
62の内容を異常を起こしたプログラムが処理を行う前
の正常な内容に戻すように構成される。
【0028】図7には、上記オンライントランザクショ
ン処理等に好適な第2の実施の形態に係る計算機システ
ムの構成が示されている。本実施の形態の計算機システ
ムは、図1の計算機システムと異なり外部から断続的に
実行処理要求データが入力され、その実行処理要求の発
生の度に実行処理要求に応じた処理を行うことを特徴と
する。実行処理要求データがない場合、プログラムは稼
働状態ではあるが、待ち状態になっている。
【0029】本実施の形態による計算機システムは、図
1に示される計算機システムに、新たに、蓄積手段7、
格納手段8、履歴保存手段9、制御手段10、異常プロ
グラム再起動手段11の各手段と処理履歴情報の履歴情
報登録部が加わったものである。蓄積手段7は外部から
入力される実行処理要求データを保持する実行待ち行列
レジスタである。格納手段8は入力された実行処理要求
データを蓄積手段7へ登録する。履歴保存手段9は実行
処理要求データを蓄積手段7から取り出し、タスク内の
稼働状態のプログラムに渡すとともに、処理結果に応じ
て処理履歴情報と実行処理要求データを1対1で履歴情
報登録部に保存しておく。制御手段10は、履歴保存手
段9により取り出された実行処理要求データの処理の実
行/スキップを、処理履歴情報登録部内の情報に基づき
制御する。異常プログラム再起動手段11は異常終了し
たプログラムを再起動し待機状態のプログラムに遷移さ
せる。
【0030】図8のフローチャートは、入力された実行
処理要求データを、実行待ち行列であるレジスタに格納
するまでの処理を示す。S1においては、第1のプログ
ラム及び第2のプログラムを主記憶装置に対応付けて格
納し、両者を識別できるように登録しておく。更にS2
において第1のプログラムを起動し稼働状態とし、タス
クの実行処理を開始させる。一方、第2のプログラム
は、「稼働コマンド」等を与えることにより、いつでも
タスクを処理できるように、待機状態としておく。次の
S14、S15では外部から実行処理要求データの入力
を監視し、入力がなされる都度、実行待ち行列レジスタ
である蓄積手段7に登録する。
【0031】図9のフローチャートは、図8に示した通
りに、実行待ち行列レジスタである蓄積手段7に登録し
た実行処理要求データのうち最も古いものから順に取り
出し、タスクの実行処理をしているプログラムに渡し実
行処理させる一連の動作を示す。まずS16では、実行
待ち行列レジスタである蓄積手段7より実行処理要求デ
ータを取り出す。S17においては処理履歴情報を検索
し、取り出した当該実行処理要求データが、現在稼働状
態となっている第1(または第2)のプログラムに渡さ
れた後に実行処理が異常終了したか否かを判断する。以
前に異常を発生させた履歴を持つ実行処理データであれ
ば、その実行処理要求データを実行待ち行列レジスタで
ある蓄積手段7に戻さずにスキップしてステップS16
に戻り、次の実行処理要求データを取り出す。一方、当
該実行要求データが現在稼働状態のプログラムを異常終
了させたものではない場合、S18に移り当該実行要求
データを稼働状態の第1のプログラムに渡す。これによ
り、第1のプログラムによりタスクの実行処理が始ま
る。
【0032】次のS19では、第1のプログラムを監視
して正常終了したか否かを判断する。正常終了した場
合、S16に戻り実行待ち行列レジスタである蓄積手段
7から次の実行処理要求データを取り出し、タスクの実
行処理を開始させる。異常終了した場合にはS20に進
み、第1のプログラムが異常終了したこと及びそのとき
の実行処理要求データを、1対1で対応付けて処理履歴
情報として履歴情報登録部に記録しておく。次のS21
では該実行処理要求データを実行要求待ち行列に戻す。
続いてS22に移り、待機状態のプログラムである第2
のプログラムを稼働状態とし、再びS16以降の処理に
戻り、実行待ち行列レジスタである蓄積手段7の実行処
理要求データについて当該第2のプログラムにより処理
を実行するかスキップするかを判定し(S17)前述の
ようにしてタスクの実行処理がなされる。
【0033】このため、第1のプログラムと第2のプロ
グラムとが、2バージョン等と称されるような異なるプ
ログラムである場合には、次のように処理が行われる。
まず、ある実行処理要求データの処理により、第1の
(第2の)プログラムが異常終了した場合には、当該実
行処理要求データが実行要求待ち行列に戻され、次に稼
働状態とされる第2の(第1の)プログラムにより、上
記で実行要求待ち行列に戻された実行処理要求データの
処理が行われる。つまり、当該実行処理要求データによ
り第1のプログラムが異常終了しても、これとは異なる
第2のプログラムは当該実行処理要求データを異常終了
すること無く処理する可能性があるので、両プログラム
に当該実行処理要求データの処理を行わせるのである。
この第2の(第1の)プログラムによる処理が異常終了
すると当該実行処理要求データが更に処理されることは
なくなる。なお、この実施の形態においても、稼働状態
のプログラムに異常が発生したときには、これを停止し
資源を解放する。
【0034】上記に対し、第1のプログラムと第2のプ
ログラムとが、同一プログラムである場合には、次のよ
うに処理が行われる。ある実行処理要求データの処理に
より、第1の(第2の)プログラムが異常終了した場合
には、当該実行処理要求データが更に処理されることは
なくなる。つまり、第1、第2のプログラムは同一プロ
グラムゆえに、当該実行処理要求データに対しては、異
常終了すると推定されるため、処理をスキップするので
ある。
【0035】図9に示される一連の処理を実行する計算
機システムには図2のフローチャートにより示した実施
の形態と同様、以下に示す点で不十分である。タスクを
処理する稼働状態のプログラムが異常終了すると、新た
に稼働状態となったプログラムがタスクの実行処理を続
行するものの、そのプログラムが異常終了すると、その
時点でプログラム処理は停止する。そこで、図10に示
すように図9のフローチャートの処理にS30の処理を
付加し、稼働状態のプログラムが異常終了する度に、異
常終了したプログラムを再起動し待機状態とし、新たに
稼働状態となったプログラムの異常に備える。これによ
り、常にプログラムの二重化が図られ、実行処理の無停
止化が可能となる。
【0036】本実施の形態では、処理プログラムが処理
を開始してから異常終了するまでには、トランザクショ
ンを発生する側からの共有ファイル等の書き換えなどが
行われる。従って、係るシステムにあっては、実行環境
保存手段5及び環境復元手段6は図11に示されるフロ
ーチャートに示されるように、稼働状態のプログラムの
処理実行に先立つ時点の実行環境情報から異常終了に到
るまでの履歴に係る実行環境情報を保存する動作を行
う。つまり、稼働状態のプログラム(例えば、第1のプ
ログラム)による処理実行が開始されるか否かを監視し
ている(S31)。ここで、処理実行が開始されるとき
には、処理開始に先立って実行環境情報を取得し、これ
を保存する(S32)。
【0037】次に、稼働状態のプログラムが終了したか
否かを監視する(S35)。ここで、稼働状態のプログ
ラムが終了しなければ、つまり、処理が継続されている
ときには、実行環境情報を追加保存する(S36)。こ
の追加保存される実行環境情報は、主に、ロールバック
のためのファイル内容の変更履歴情報、つまり、ジャー
ナルである。この様にして、実行環境情報の追加保存を
行う内に、稼働状態のプログラムが終了すると、稼働状
態のプログラムの終了の原因が正常終了によるものか、
異常終了によるものかを検出する(S37)。正常終了
である場合には、S31へ戻って、次の処理を実行する
稼働状態のプログラムについて、処理実行が開始される
か否かを監視する。
【0038】一方、異常終了した場合には、保存してあ
る実行環境情報を取り出し、ロールバックを含む実行環
境の復元を行う(S38)。この場合には、資源等の引
き渡し等以外に、ロールバックが行われ、異常終了した
プログラムによる処理の初めに戻って処理前のファイル
の内容を持つシステムとされる。更に、実行処理要求デ
ータも異常終了となる前の実行処理要求データに戻さ
れ、待機状態にあったプログラム(例えば、第2のプロ
グラム)は、言わば、処理の最初に戻って処理を再実行
する。従って、ファイル内容に更新が生じるオンライン
トランザクション処理等の場合にも、不正データが格納
された可能性のあるファイルを使用して更に誤った結果
を出す等の不具合を適切に防止できる。
【0039】本発明は、図12に示すように、現用のア
プリケーション80と予備用のアプリケーション80A
とがランしている中央計算機70と、計算機71、7
2、・・・、ジャーナルファイル77及びプロセスデー
タを発生するデータ発生装置79がLAN78により接
続されているシステムにも適用可能である。つまり、ア
プリケーション80、80Aは、同一のアプリケーショ
ンであり、100以上のタスクを含んで構成されてい
る。現用のアプリケーション80は、データ発生装置7
9から送られるデータに基づき実際の処理を行う。例え
ば、鉄道の運行制御システム等においては、実際の運転
整理等を行う。これに対し、予備用のアプリケーション
80Aはデータ発生装置79から送られるデータを入出
力処理部85を介してアプリケーション80と同様に受
け取って、テストモード或いはシミュレーションモード
で動作し、アプリケーション80と同一のアプリケーシ
ョンの適性を検査している。係るシステムにおいて、現
用アプリケーション80が異常終了したときには、上記
の実施の形態のいずれかにより、予備用のアプリケーシ
ョン80Aを現用に切り換えを行い、現用を予備用に切
り換える。これによって、100以上のタスクからなる
アプリケーションを用いたシステムを停止させることな
く、また、処理の遅延がほぼ無いままに運用することが
可能である。
【0040】なお、以上述べた各実施の形態では、第1
(第2)のプログラムが稼働状態の場合には第2(第
1)のプログラムを待機状態としている。しかしなが
ら、プログラムの起動から待機までの間の時間が問題と
ならぬような環境下では、第1(第2)のプログラムが
稼働状態にある時、第2(第1)のプログラムを停止状
態におき、第1(第2)のプログラムに障害が生じたと
きに、上記停止状態の第2(第1)のプログラムを起動
し、稼働状態としてタスク処理を行わせる、所謂コール
ドスタンバイの手法を採用した構成とすることもでき
る。このような構成においても、ソフト的なバックアッ
プを行い得る。
【0041】また、各実施の形態では、2つのプログラ
ムによる代替処理を行ったが、別の実施の形態では、3
つ以上のプログラムによる代替処理を行う。この場合、
同一タスクを処理し、処理に適合した各々が相違する3
つ以上のプログラムを用いることにより、それらの間で
切り換えが行われ、処理の中断等の無いシステムを提供
可能である。
【0042】
【発明の効果】以上説明したように本発明の請求項1に
記載の計算機システムによれば、同一タスクを処理する
2つのプログラムの内、稼働状態のプログラムが異常を
起こしても、自動的に他のプログラムを稼働状態とする
ので、計算機システムの機能停止が避けられ、また、故
障時間の短縮化が可能となり、これにより、ソフトウエ
アの面からシステムの信頼性の向上を図ることができ
る。
【0043】以上説明したように本発明の請求項2に記
載の計算機システムによれば、2つのプログラムの内、
一方を起動し稼働状態のプログラムとする際に、もう一
方のプログラムも起動して待機状態とするので、稼働状
態のプログラムに異常が発生した場合、即座にプログラ
ム交替処理が実行可能であり、実行処理を継続的に行う
ことができる。
【0044】以上説明したように本発明の請求項3に記
載の計算機システムによれば、稼働状態のプログラムの
異常を検出した場合、その稼働状態のプログラムの実行
を中断し、占有していた資源を解放するので、新たに稼
働状態となるプログラムに対する資源の割り当てを迅速
及び確実に行うことができる。
【0045】以上説明したように本発明の請求項4に記
載の計算機システムによれば、タスク内の稼働状態のプ
ログラムの実行環境情報を保存し、プログラム交替処理
の際に、実行環境を復元し新たに稼働状態となるプログ
ラムを動作させるので、必要な実行環境を整え、次の処
理が適切に行われるのを保証し信頼性を向上させる効果
を奏する。
【0046】以上説明したように本発明の請求項5に記
載の計算機システムによれば、プログラムの処理実行に
先立ち実行環境情報を保存し、これを用いて実行環境を
復元するので、処理環境が単純な場合に新たに稼働状態
となるプログラムがこの実行環境を用いて処理を引き継
ぐことができる効果を奏する。
【0047】以上説明したように本発明の請求項6に記
載の計算機システムによれば、稼働状態のプログラムの
処理実行に先立つ時点の実行環境情報から異常終了に到
るまでの履歴に係る実行環境情報を保存し、この実行環
境情報を用いて実行環境を復元ので、ロールバックが可
能であり新たに稼働状態となるプログラムが処理開始直
前の整合性がとれた状態から実行処理を行なうことが可
能となり、信頼性を向上させる効果を奏する。
【0048】以上説明したように本発明の請求項7に記
載の計算機システムによれば、実行処理要求データに対
する第1、第2のプログラムによる処理の履歴を保存し
て、プログラム交替処理の際、前記処理履歴情報に基づ
き、次の実行処理要求データの実行/スキップを制御す
るので、同一原因、同一プログラムによる再度の異常発
生を避けることができる。
【0049】以上説明したように本発明の請求項8に記
載の計算機システムによれば、プログラム交替処理の際
に、異常終了したプログラムを再起動し待機状態とし、
次に稼働状態としたプログラムが異常となる場合に備え
るので、この待機状態のプログラムを次に稼働状態に遷
移させるだけでシステムを復旧でき、処理の停止時間を
短縮し信頼性の高い計算機システムが実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る計算機システ
ムの構成図。
【図2】本発明の第1の実施の形態に係る計算機システ
ムにおけるプログラム復旧処理を説明するためのフロー
チャート。
【図3】本発明の第1の実施の形態に係る計算機システ
ムにおいて異常状態となったプログラムを再起動する動
作を説明するためのフローチャート。
【図4】本発明の計算機システムが適用される高速リア
ルタイム処理を説明するための図。
【図5】本発明の第1の実施の形態に係る計算機システ
ムにおいて実行環境の保存・復元を行う場合の動作を説
明するためのフローチャート。
【図6】本発明の計算機システムが適用されるオンライ
ントランザクション処理を説明するための図。
【図7】本発明の第2の実施の形態に係る計算機システ
ムの構成図。
【図8】本発明の第2の実施の形態に係る計算機システ
ムにおいて実行処理要求データについて処理する場合の
動作を説明するためのフローチャート。
【図9】本発明の第2の実施の形態に係る計算機システ
ムにおける動作を説明するためのフローチャート。
【図10】本発明の第2の実施の形態に係る計算機シス
テムにおいて異常状態となったプログラムを再起動する
動作を説明するためのフローチャート。
【図11】本発明の第2の実施の形態に係る計算機シス
テムにおける実行環境の保存・復元の動作を説明するた
めのフローチャート。
【図12】本発明の計算機システムが適用されるシステ
ムを説明するための図。
【符号の説明】
1 登録手段 2 初期状
態実現手段 3 異常検出手段 4 プログ
ラム交替処理実行手段 5 実行環境保存手段 6 環境復
元手段 7 蓄積手段 8 格納手
段 9 履歴保存手段 10 制御
手段 11 異常プログラム再起動手段

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 タスクを処理する第1のプログラム及び
    前記タスクを処理する第2のプログラムを対応付けて記
    憶装置に登録する登録手段と、 前記第1、第2のプログラムの一方を起動し前記タスク
    を処理する稼働状態とする初期状態実現手段と、 稼働状態のプログラムの異常を監視して異常検出を行う
    異常検出手段と、 この異常検出手段が稼働状態のプログラムの異常を検出
    すると、前記登録手段による登録内容に応じて、当該稼
    働状態のプログラムに代えて前記第1、第2のプログラ
    ムの内、他方を稼働状態とするための処理を行うプログ
    ラム交替処理実行手段とを備えることを特徴とする計算
    機システム。
  2. 【請求項2】 初期状態実現手段は、 稼働状態のプログラムと異なる他方のプログラムを待機
    状態としておくことを特徴とする請求項1記載の計算機
    システム。
  3. 【請求項3】 プログラム交替処理実行手段は、 異常検出手段が稼働状態のプログラムの異常を検出した
    場合に、当該プログラムの実行処理を中断する実行中断
    手段と、 前記異常検出手段が稼働状態のプログラムを異常を検出
    した場合に、当該プログラムが占有していた資源を解放
    する解放手段とを含むことを特徴とする請求項1または
    請求項2記載の計算機システム。
  4. 【請求項4】 稼働状態のプログラムが処理するタスク
    の実行環境情報を検出して保存する実行環境保存手段
    と、 この実行環境保存手段に保存されている実行環境情報に
    基づき、プログラム交替処理実行手段による処理の際
    に、タスクの実行環境を復元する環境復元手段とを備え
    ることを特徴とする請求項1乃至請求項3のいずれか1
    項に記載の計算機システム。
  5. 【請求項5】 実行環境保存手段は、プログラムの処理
    実行に先立ち実行環境情報を保存することを特徴とする
    請求項4の計算機システム。
  6. 【請求項6】 実行環境保存手段は、稼働状態のプログ
    ラムの処理実行に先立つ時点の実行環境情報から異常終
    了に到るまでの履歴に係る実行環境情報を保存すること
    を特徴とする請求項4の計算機システム。
  7. 【請求項7】 タスクの実行処理要求データを蓄積する
    ための蓄積手段と、 前記タスクの実行処理要求データが入力されると、この
    実行処理要求データを前記蓄積手段に格納する格納手段
    と、 前記タスクの実行に際して、対応の実行要求データを前
    記格納手段から取り出し当該実行要求データに対する処
    理履歴情報を保存する履歴保存手段と、 この履歴保存手段に格納されている処理履歴情報に基づ
    き、プログラム交替処理実行手段による処理の際に、当
    該実行処理要求データの処理の実行/スキップを制御す
    る制御手段とを具備することを特徴とする請求項1乃至
    請求項6のいずれか1項に記載の計算機システム。
  8. 【請求項8】 プログラム交替処理実行手段による稼働
    状態のプログラムの交替処理が実行される際に、異常と
    なったプログラムを再起動し待機状態としておく異常プ
    ログラム再起動手段を具備することを特徴とする請求項
    1乃至請求項7のいずれか1項に記載の計算機システ
    ム。
JP8030468A 1996-02-19 1996-02-19 計算機システム Pending JPH09223035A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8030468A JPH09223035A (ja) 1996-02-19 1996-02-19 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8030468A JPH09223035A (ja) 1996-02-19 1996-02-19 計算機システム

Publications (1)

Publication Number Publication Date
JPH09223035A true JPH09223035A (ja) 1997-08-26

Family

ID=12304716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8030468A Pending JPH09223035A (ja) 1996-02-19 1996-02-19 計算機システム

Country Status (1)

Country Link
JP (1) JPH09223035A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139621A (ja) * 2004-11-12 2006-06-01 Nec Electronics Corp マルチプロセッシングシステム及びマルチプロセッシング方法
JP2011070504A (ja) * 2009-09-28 2011-04-07 Fujitsu Ltd プロセス管理プログラム及びプロセス管理方法
JP2014170353A (ja) * 2013-03-04 2014-09-18 Nec Corp プログラム実行装置、プログラム実行方法、及びプログラム実行プログラム
JP2015141523A (ja) * 2014-01-28 2015-08-03 キヤノン株式会社 システム、システムの制御方法およびコンピュータプログラム
JP2016086377A (ja) * 2014-10-29 2016-05-19 コニカミノルタ株式会社 画像処理装置、プログラム再起動方法、およびコンピュータプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139621A (ja) * 2004-11-12 2006-06-01 Nec Electronics Corp マルチプロセッシングシステム及びマルチプロセッシング方法
US7627782B2 (en) 2004-11-12 2009-12-01 Nec Electronics Corporation Multi-processing system and multi-processing method
JP2011070504A (ja) * 2009-09-28 2011-04-07 Fujitsu Ltd プロセス管理プログラム及びプロセス管理方法
JP2014170353A (ja) * 2013-03-04 2014-09-18 Nec Corp プログラム実行装置、プログラム実行方法、及びプログラム実行プログラム
JP2015141523A (ja) * 2014-01-28 2015-08-03 キヤノン株式会社 システム、システムの制御方法およびコンピュータプログラム
JP2016086377A (ja) * 2014-10-29 2016-05-19 コニカミノルタ株式会社 画像処理装置、プログラム再起動方法、およびコンピュータプログラム

Similar Documents

Publication Publication Date Title
US7305578B2 (en) Failover method in a clustered computer system
US20080229158A1 (en) Restoration device for bios stall failures and method and computer program product for the same
JPH09258995A (ja) 計算機システム
JP2001101033A (ja) オペレーティングシステム及びアプリケーションプログラムの障害監視方法
JPH0950424A (ja) ダンプ採取装置およびダンプ採取方法
CN111800304A (zh) 进程运行的监测方法、存储介质和虚拟装置
JPH09223035A (ja) 計算機システム
JPH11259326A (ja) ホットスタンバイシステムおよびホットスタンバイシステムにおける自動再実行方法およびその記録媒体
JPH02294739A (ja) 障害検出方式
JP2965075B2 (ja) プログラム実行状態監視方法
JPH10116261A (ja) 並列計算機システムのチェックポイントリスタート方法
JP2001014290A (ja) マルチプロセッサシステム
JPH0736721A (ja) 多重化コンピュータシステムの制御方式
JPH0764930A (ja) Cpu間相互監視方法
JP3122371B2 (ja) 計算機システム
JP2001109635A (ja) 障害対処方法及びコンピュータシステム読み取り可能な記録媒体
CN116662117A (zh) 基于定时器监控linux系统的方法、装置及存储介质
JP3185446B2 (ja) 計算機システム
JPH02207347A (ja) ソフトウェア障害検出方法
JPH05151009A (ja) 障害自動復旧方式
JP2922981B2 (ja) タスクの実行継続方法
JPS608954A (ja) コンピユ−タプログラムのハングアツプ検出方法
JPH03225434A (ja) ジョブ再起動方式
JPH08328702A (ja) バックアップ電源装置付きコンピュータシステム
JPH0325534A (ja) 複合系計算機システムのプログラム異常処理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020820