(57)【要約】【課題】照合部における処理の負担を減らして、フェールセーフ構成システムの性能ボトルネックを削減する。【解決手段】複数の制御装置が多重系で構成された計算機システムにおいて、各制御装置は、入力される制御情報について処理を実行する複数の制御計算機と、複数の制御計算機と接続され、制御計算機の入出力情報を照合する照合手段を有するフェールセーフ装置を有する。制御計算機は、各制御計算機へ入力される制御情報について多数決照合により入力の一致化を行う入力照合部と、入力された制御情報についてデータ処理を実行して、出力結果を算出する制御情報計算処理部と、各制御計算機の出力結果を多数決照合により出力制御を行う出力照合部と、計算機システムに含まれる全ての制御計算機およびフェールセーフ装置の生死確認を行う構成制御部を有する。【選択図】図１
2013196614.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御装置が多重系で構成された計算機システムであって、
各該制御装置は、入力される制御情報について処理を実行する複数の制御計算機と、該複数の制御計算機と接続され、該制御計算機の入出力情報を照合する照合手段を有するフェールセーフ装置を有し、
該制御計算機は、１又は複数のプロセッサで稼働されるオペレーティングシステムを備え、
該オペレーティングシステムは、各該制御計算機へ入力される制御情報について多数決照合により入力の一致化を行う入力照合部と、該入力照合部による照合の結果、入力された制御情報についてデータ処理を実行して、出力結果を算出する制御情報計算処理部と、各該制御計算機の該制御情報計算処理部からの出力結果を多数決照合により出力制御を行う出力照合部と、該計算機システムに含まれる全ての該制御計算機および該フェールセーフ装置の生死確認を行う構成制御部を有し、
該出力照合部による照合の結果、一致している場合、該フェールセーフ装置は、自らの生存している旨の信号を該構成制御部へ送信して、該制御計算機の該出力照合部からの出力情報を外部に送信する
ことを特徴とする計算機システム。
【請求項２】
複数の該制御計算機の１つをリーダ制御計算機として設定し、
前記入力照合部は、全ての該制御計算機が該リーダ制御計算機から送信される制御情報を照合して、照合結果をリーダ制御計算機が多数決照合して、多数の入力を正規の入力として制御情報計算処理を実行すること、
を特徴とする請求項１記載の計算機システム。
【請求項３】
複数の該制御計算機の１つをリーダ制御計算機として設定し、
前記出力照合部は、制御処理計算処理の出力結果を該リーダ制御計算機による多数決照合および該フェールセーフ装置の比較照合の２重照合を実行すること、
を特徴とする請求項１又は２記載の計算機システム。
【請求項４】
前記制御計算機は、前記入力照合部および前記出力照合部および前記構成制御部により障害を検知した際に、該計算機システムが稼働を継続するための処理を行う稼働管理部と、
他の制御計算機の照合時タイムアウトおよび入力照合結果および出力照合結果および生死状態を記憶する稼働管理テーブルを有し、
該稼働管理部は、計算機システムに含まれる装置に障害が発生した際に、該稼働管理テーブルを参照し、障害が発生した箇所がネットワーク障害であった場合に、代替ネットワーク経路を用いて正常な稼働を継続すること、
を特徴とする請求項１記載の計算機システム。
【請求項５】
前記稼働管理部が実行する受信タイムアウト処理時の稼働管理処理において、障害発生の原因および発生個所によって、制御情報処理を継続するための適切な障害処理を行うこと、
を特徴とする請求項４記載の計算機システム。
【請求項６】
前記稼働管理部が実行する入力不一致時の稼働管理処理において、照合不一致を起こした制御計算機の属性および不一致台数によって、制御情報処理を継続するための適切な障害処理を行うこと、
を特徴とする請求項４記載の計算機システム。
【請求項７】
前記稼働管理部が実行する出力不一致時の稼働管理処理において、照合不一致を起こした制御計算機の属性によって、制御情報処理を継続するための適切な障害処理を行うこと、
を特徴とする請求項４記載の計算機システム。
【請求項８】
複数の制御装置が多重系で構成され、各該制御装置は、入力される制御情報について処理を実行する複数の制御計算機と、該複数の制御計算機と接続され、該制御計算機の入出力情報を照合する照合手段を有するフェールセーフ装置を有する計算機システムにおける情報処理方法であって、
該制御計算機は、１又は複数のプロセッサでオペレーティングシステムを稼働することにより、
各該制御計算機へ入力される制御情報について多数決照合により入力の一致化を行う入力照合ステップと、
該入力照合ステップによる照合の結果、入力された制御情報についてデータ処理を実行して、出力結果を算出する制御情報計算処理ステップと、
各該制御計算機の該制御情報計算処理ステップによる出力結果を多数決照合により出力制御を行う出力照合ステップと、
該計算機システムに含まれる全ての該制御計算機および該フェールセーフ装置の生死確認を行う構成制御ステップを有し、
該出力照合ステップによる照合の結果、一致している場合、該フェールセーフ装置は、自らの生存している旨の信号を該構成制御処理へ送信して、該制御計算機の該出力照合ステップによる出力情報を外部に送信する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及び情報処理方法に係り、特にフェールセーフ(Fail Safe)構成で稼働する多重系計算機システムにおける入出力照合および同期に関する。
【背景技術】
【０００２】
高信頼な処理が求められるミッションクリティカルな計算機システムでは、通常、制御装置や計算機を多重構成とし、複数の計算機の処理結果を高信頼な回路で照合することで高信頼性を担保している。例えば、システムオペレータが操作する管理装置からの命令入力や現場設備からの状態入力を同一のシステム構成をとる複数の計算機で取得し、同期を取りながらその入力に対する処理を行って、ハードコーディングされた高信頼な照合回路を用いて複数の計算機の処理結果を比較照合し、照合結果が一致した場合に制御情報を現場設備に出力して、現場設備の動作を制御している。特許文献１には、このようなハードコーティングされた照合回路を用いて高信頼な制御出力を担保する計算機システムの例が開示されている。
【０００３】
しかし、一般的にハードコーディングされた照合回路は、実際に制御情報の入力を処理する計算機に比べて性能が著しく劣っている。さらに、照合回路では比較照合だけでなく、制御情報の入力や出力の同期や、稼働率を上げるための冗長構成において系間の生死監視などの処理を行っている場合が多く、それに要する処理時間が大きい。そのため、照合回路による処理の部分がシステム全体のボトルネックとなる。
【０００４】
このような課題に対して、特許文献２には、入力に対して同一の構成を持つ複数の計算機で同期を行いながら処理を実行し、処理結果をVoterと呼ばれる汎用計算機装置へ出力し、Voterが出力を多数決照合し、多数である出力を制御情報として出力するフォールトトレラント構成をとることで、出力箇所の性能ボトルネックを削減する情報処理システムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１０４９９８号公報
【特許文献２】ＷＯ２０１１／１０５２２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献２に記載の技術は、入力に対して処理を行う計算機およびVoterは汎用計算機装置であるため、制御システムとして高信頼性を担保するためには、多数決の対象を増やす必要があり、入力に対して処理を行う計算機の設置台数が多くなってしまう。この場合、制御システムの設置環境として省スペースでの設置を求められる際には、計算機の設置による専有面積が増大し、設置不可能になる可能性がある。
【０００７】
また、Voterが汎用計算機装置であるために多数決の照合結果の信頼性は、ハードコーディングされた照合回路よりも低いため、出力される制御情報も信頼性の低いものとなってしまう。
また、Voterに障害が発生することを考えると、Voterは多重系構成を取ることになるが、多数決照合のロジックが全ての系で同一である場合、同時に障害が発生してしまう可能性があり、多重系構成であっても稼働率が上がらない。
【０００８】
本発明の目的は、照合部における処理の負担を減らして、フェールセーフ構成システムの性能ボトルネックを削減することにある。
【課題を解決するための手段】
【０００９】
本発明に係る計算機システムは、好ましくは、複数の制御装置が多重系で構成された計算機システムであって、各該制御装置は、入力される制御情報について処理を実行する複数の制御計算機と、該複数の制御計算機と接続され、該制御計算機の入出力情報を照合する照合手段を有するフェールセーフ装置を有し、
該制御計算機は、１又は複数のプロセッサで稼働されるオペレーティングシステムを備え、
該オペレーティングシステムは、各該制御計算機へ入力される制御情報について多数決照合により入力の一致化を行う入力照合部と、該入力照合部による照合の結果、入力された制御情報についてデータ処理を実行して、出力結果を算出する制御情報計算処理部と、各該制御計算機の該制御情報計算処理部からの出力結果を多数決照合により出力制御を行う出力照合部と、該計算機システムに含まれる全ての該制御計算機および該フェールセーフ装置の生死確認を行う構成制御部を有し、
該出力照合部による照合の結果、一致している場合、該フェールセーフ装置は、自らの生存している旨の信号を該構成制御部へ送信して、該制御計算機の該出力照合部からの出力情報を外部に送信することを特徴とする計算機システムとして構成される。
本発明はまた、上記計算機システムで実行される情報処理方法としても構成される。
【発明の効果】
【００１０】
本発明によれば、多重系構成の制御装置間の同期および照合を、従来のようなフェールセーフ回路で行うことなく、全ての計算機で制御情報の入力照合や制御情報に対する計算結果の出力照合や構成制御を多数決照合で行うことができる。これにより、フェールセーフ装置における処理を削減し、システム性能を向上させることができる。
フェールセーフ装置における照合回路の処理負担を減らすことができるので、現場設備との高信頼な入出力を担保しつつ、フェールセーフ構成システムの性能ボトルネックを削減することができる。これによりシステムの性能向上が図れ、制御間隔のより短い制御システムや制御対象のより多い制御システムを構築することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態による計算機システムの構成例を示す図である。
【図２】一実施形態における制御計算機の構成例を示す図である。
【図３】一実施形態における周期制御処理シーケンスを説明するフローチャートである。
【図４】一実施形態における入力照合機能を説明するフローチャートである。
【図５】一実施形態における制御情報計算機能を説明するフローチャートである。
【図６】一実施形態における出力照合機能を説明するフローチャートである。
【図７】一実施形態における構成制御機能を説明するフローチャートである。
【図８】一実施形態における受信タイムアウト処理を説明するフローチャートである。
【図９】一実施形態における稼働管理機能を説明するフローチャートである。
【図１０】一実施形態における計算機状態テーブルの構成例を示す図である。
【図１１】一実施形態における稼働管理テーブルの構成例を示す図である。
【図１２】一実施形態におけるタイムアウト時の稼動管理処理を説明するフローチャートである。
【図１３】一実施形態における代替ネットワーク経路テーブルの構成例を示す図である。
【図１４】一実施形態における入力照合不一致時の稼動管理処理を説明するフローチャートである。
【図１５】一実施形態における出力照合不一致時の稼動管理処理を説明するフローチャートである。
【図１６】一実施形態におけるネットワーク障害発生時のシステム稼働状態を説明する図である。
【図１７】一実施形態における再組み込み機能を説明する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の好ましい実施形態について説明する。
本実施例は、周期制御処理やシーケンス処理において正常動作および異常動作を想定し、正常動作時の処理および異常動作時の各異常処理について説明するものである。
【００１３】
＜システム構成＞
図１は、一実施形態による計算機システム１０の構成を示す。
計算機システム１０は、多重系の制御装置即ち１系制御装置１１aおよび２系制御装置１１bがネットワークによって接続して構成される。各制御装置１１a、１１b（１１と総称することがある）は、更に多重の計算機１１０a−b、１１０c−d（１１０と総称することがある）を有し、各制御計算機１１０a−b、１１０c−dの処理をフェールセーフ装置１２０a,１２０b（１２０と総称することがある）で照合することで、フォールトトレラントシステムを実現する。ここで、フェールセーフ装置は、障害等に対してシステムダウンを回避して安全性を担保する機能と有する装置をいい、本例では、後述するように、照合手段を有している。
【００１４】
１系制御装置１１aは、１Ａ系制御計算機１１０a、Ｂ系制御計算機１１０b、およびフェールセーフ装置１２０aにより構成される。同様に、２系制御装置１１bも、２Ａ系制御計算機１１０c、２Ｂ系制御計算機１１０d、およびフェールセーフ装置１２０bにより構成される。
【００１５】
１A系制御計算機１１０aは、プロセッサ１３０a、メモリ１４０aおよび通信インターフェース１７０a、１７１a、１７２a、１７３aを備える。なお、１B系制御計算機１１０b、２Ａ系制御計算機１１０c、２B系制御計算機１１０dも同様の装置を備える。１Ａ系制御計算機の通信インターフェース１７０aはバスにより２Ｂ系制御計算機１１０dの通信インターフェース１７０dと接続されている。１Ａ系制御計算機の通信インターフェース１７１aはバスにより２Ａ系制御計算機１１０cの通信インターフェース（I/F:Inter Fase）１７１cと接続されている。通信インターフェース１７２aおよび１７３aはそれぞれバスを介して通信インターフェース１７２bおよび１７３bに接続されており、１Ａ系制御計算機１１０aと１Ｂ系制御計算機１１０bとの間に２重系のネットワークを構成している。２系制御装置１１ｂも１系制御装置１１aと同様の構成となっている。
【００１６】
フェールセーフ装置１２０は、照合回路１８０および通信インターフェース１９０により構成される。照合回路１８０は、２つの入力データ（即ち制御計算機の出力）を照合して両者が一致するかを判断する回路である。ここで、照合回路１８０はFPGA（Field−Programmable Gate Array）により実装されるものとする。汎用品であるFPGAを用いることで、システム改変に柔軟に対応することができ、独自ハードウェアを開発するコストを削減することができる。
【００１７】
各制御計算機内のプロセッサ１３０は、高速な汎用プロセッサであり、計算機システム１０において制御計算を行う。各制御計算機内のメモリ上のオペレーティングシステム（ＯＳ）１５０は、制御計算タスクおよび通信インターフェースの制御管理を行うオペレーティングシステムである。ここで、１Ａ、１Ｂ、２Ａ、２Ｂにおいてオペレーティングシステム１５０は異なる設計を備えることで、多様性を確保し、信頼性の向上を図っている。また、プロセッサ１３０のアーキテクチャとオペレーティングシステム１５０の種類は自由に組み合わせ可能なものとする。
なお、１系制御装置１１aおよび２系制御装置１１ｂは同一のシステム構成であるので、特段の記述が無い限り、１系制御装置１１aを参照して説明することにする。
【００１８】
具体的な適用例で言えば、上記計算機システム１０は例えば、列車制御ための計算機システムであり、制御装置１１は例えば列車制御のための各種の信号制御用の制御装置や線路のポイント切り替え制御装置であり、制御計算機１１０はそれらの信号やポイント制御情報を計算処理する計算機である。
【００１９】
図２は、一実施形態における制御計算機の構成を示す。
制御計算機１１０は、メモリ上にオペレーティングシステム１５０を構成するコンピュータシステムであり、１又は複数のプロセッサ１３０で稼働する。この制御計算機１１０は、通信インターフェース１７０、１７１、１７２、１７３を介して、他の制御計算機と接続される。一実施形態では、制御計算機１１０のメモリ１４０上でオペレーティングシステム１５０およびタスクプログラム１６０が動作する一般的な計算機システムである。
【００２０】
オペレーティングシステム１５０は、制御計算機１１０に制御情報が入力された際に、他の制御計算機と入力された制御情報を、同期を取りつつ全ての制御計算機の制御情報が同一であることを照合するための入力照合機能１５１、入力に対して処理を実行した結果の出力を全ての制御計算機で照合するための出力照合機能１５２、制御計算機１１０およびフェールセーフ装置１２０が生存して正常に稼働していることを確認するための生死監視を行う構成制御機能１５３、計算機システム１０において機器故障や照合失敗等の異常が発生した際に正常な動作を続けるためのシステム構成を管理するための稼働管理機能１５４、計算機の状態を保持するための計算機状態テーブル１５５、ネットワーク故障により制御計算機間での通信が不可能になった際の、通信可能なネットワーク経路情報が記述されている代替ネットワーク経路テーブル１５７、故障等により片系が停止した後再び多重系に復帰させるための再組込機能１５８を有している。
【００２１】
タスクプログラム１６０は、入力照合機能１５１を処理した後、入力された制御情報について一定の処理を実行し、制御情報を出力する制御情報計算処理機能１６１を有している。
なお、１Ａ系制御計算機１１０a、１Ｂ系制御計算機１１０b、２Ａ系制御計算機１１０cおよび２Ｂ系制御計算機１１０dは全て同一の構成を有している。ただし、１台はリーダ制御計算機として稼働する。リーダ制御計算機とそれ以外の制御計算機では一部動作が異なる。以降では１Ａ系制御計算機１１０aをリーダ制御計算機として、リーダの動作を中心に説明していく。
なお、ここで、リーダ計算機とは、他の計算機よりも優先順位や処理能力の高い計算機を言う。リーダ計算機とそれ以外の計算機はシステム立ち上げ時に決定される。基本的には、主系のうち性能が良い計算機をリーダ計算機とする。
【００２２】
＜周期制御処理シーケンス＞
図３を参照して、計算機システム１０における周期制御処理シーケンスについて説明する。
周期制御処理シーケンスは、入力照合処理（Ｓ４０１）、制御情報計算処理（Ｓ４０２）、出力照合処理（Ｓ４０３）、構成制御処理（Ｓ４０４）により構成される。周期制御処理シーケンスは、外部からの計算機システム１０への入力があったときには、計算機システム１０内で制御情報計算処理および入力照合処理を行い、出力時には出力照合処理にて照合結果が一致した場合にのみ外部へ制御情報を出力する。
【００２３】
＜入力照合機能＞
図４を参照して、制御装置１１における入力照合機能１５１について説明する。
入力照合機能１５１は、各制御計算機に対する入力が一致していることを保証する機能である。これにより、計算機システム１０の信頼性を高めることができる。
１系及び２系の制御装置１１のフェールセーフ装置１２０が、通信I/F１９０を介して外部からの入力を受け付け、受け取ったデータを制御計算機１１０に送信する（Ｓ５０１）。リーダ以外の制御計算機１１０は、Ｓ５０１で入力があった後、リーダ制御計算機１１０aからの入力に対して受信タイムアウト処理を実行する（Ｓ５０２）。リーダ制御計算機１１０aはリーダ以外の制御計算機１１０へ、フェールセーフ装置から受け取った入力データを送信する（Ｓ５０３）。
【００２４】
Ｓ５０３で入力データを送信した後、リーダ制御系計算機１１０aは、リーダ以外の制御計算機１１０からの入力に対して受信タイムアウト処理を実行する（Ｓ５０４）。リーダ以外の制御計算機１１０は、フェールセーフ装置１２０から受け取ったデータと、Ｓ５０３でリーダ制御計算機１１０aから受け取ったデータを照合し、照合結果をリーダ制御計算機１１０aに送信する（Ｓ５０５）。そして、リーダである１A系制御計算機１１０aは、リーダ以外の制御計算機１１０が送信した照合結果を多数決照合し、照合結果が一致しているか否かを判定する（Ｓ５０６）。判定の結果、全て照合結果が一致している場合、処理を終了する。一方、一致していない場合は、稼動管理機能１５４による処理を実行する（Ｓ５０７）。
【００２５】
この点に関して、従来はフェールセーフ装置１２０で入力照合処理を行っていたため、フェールセーフ装置１２０がシステム全体のボトルネックとなっていたが、本実施例によれば、入力照合機能１５１を制御計算機１１０で行う。しかも、この照合処理を高速な汎用プロセッサを有するリーダ制御計算機１１０aが行うことにより、入力照合処理においてフェールセーフ装置１２０のパスを通す必要が無くなり、フェールセーフ装置１２０に与える負荷を軽減することが可能になり、システム全体の高性能化を実現できる。
【００２６】
＜制御情報計算機能＞
図５を参照して、制御装置１１における制御情報計算処理機能１６１について説明する。
制御情報計算処理機能１６１は、各制御計算機１１０が制御情報計算処理を行い、その結果をリーダ制御計算機に通知する。
リーダ以外の制御計算機１１０は、Ｓ５０５でリーダ制御計算機１１０aへ照合結果を送信した後、リーダ制御計算機１１０aからの入力に対して受信タイムアウト処理を実行する（Ｓ６０１）。リーダ制御計算機１１０aは、Ｓ５０６で照合結果が全て一致していた場合、リーダ以外の制御計算機１１０に制御情報計算命令を送信する（Ｓ６０２）。
【００２７】
リーダ制御計算機はＳ６０２の処理を実行した後、リーダ以外の制御計算機１１０は、Ｓ６０２でリーダ制御計算機１１０aが送信した命令を受け取った後、入力データに対して制御情報計算処理を実行する（Ｓ６０３）。リーダ制御計算機１１０aは、Ｓ６０３の処理が終了した後、リーダ以外の制御計算機１１０からの入力に対して受信タイムアウト処理を実行する（Ｓ６０４）。リーダ以外の制御計算機１１０は、Ｓ６０３で得られた制御情報計算処理の結果をリーダ制御計算機１１０aに送信する（Ｓ６０４）。
【００２８】
＜出力照合機能＞
図６を参照して、制御装置１１における出力照合機能１５２について説明する。
出力照合機能１５２は、各制御計算機１１０による制御情報計算処理機能１６１の結果が一致していることを保証する機能である。これにより、計算機システムの信頼性を高めることができる。
【００２９】
リーダ制御計算機１１０aは、制御情報計算処理機能１６１の制御情報計算処理結果と、リーダ以外の制御計算機１１０がＳ６０４で送信した出力結果を受信して、制御情報計算処理結果を多数決照合し（Ｓ７０１）、データが一致しているか否かを判定する（Ｓ７０２）。判定の結果、一致している場合、リーダ制御計算機１１０aは、リーダ以外の制御計算機１１０へ、計算処理結果をフェールセーフ装置１２０に送信するように命令して、制御情報計算処理結果をフェールセーフ装置１２０へ送信する（Ｓ７０３）。
【００３０】
リーダ以外の制御計算機１１０は、Ｓ７０３で送信された制御情報計算処理結果送信命令を受け取り、制御情報計算処理結果をフェールセーフ装置へ送信する（Ｓ７０４）。Ｓ７０３およびＳ７０４により制御情報計算処理結果を受け取った各制御装置１１の照合回路１８０は、制御情報計算処理結果の照合を行う（Ｓ７０５）。そして両計算処理結果が一致しているか否かを判定する（Ｓ７０６）。判定の結果、両者が一致した場合、フェールセーフ装置１２０は、構成制御機能１５３のための生存信号を制御装置１１内に存在する全ての制御計算機１１０へ送信した後（Ｓ７０７）、通信I/F１９０を介して外部へ制御情報を出力する（Ｓ７０８）。一方、Ｓ７０２およびＳ７０６の照合結果の判定において、両者が一致しなかった場合は、稼動管理機能１５４を実行する（Ｓ７０９）。
【００３１】
このように、リーダ制御計算機１１０aが照合処理を行うことにより、フェールセーフ装置１２０に与える負荷を軽減することが可能になる。なお、フェールセーフ装置１２０の照合回路１８０でも出力照合処理を行うが、出力照合機能１５２の処理により各制御計算機による計算処理結果が一致していることを確約した上で、計算機システムから外部へと制御情報を出力することができる。これにより、計算機システムを高信頼化することができる。
【００３２】
＜構成制御機能＞
図７を参照して、制御装置１１における構成制御機能１５３について説明する。
構成制御機能１５３は、各制御計算機１１０およびフェールセーフ装置１２０の生存を確認する機能である。
【００３３】
全ての制御計算機１１０は、フェールセーフ装置１２０に対して受信タイムアウト処理により、Ｓ７０７の生存信号を待つ（Ｓ８０１）。リーダ制御計算機１１０aは、Ｓ８０１で生存信号を受信した後、リーダ以外の制御計算機１１０に対して受信タイムアウト処理を実行する（Ｓ８０２）。リーダ以外の制御計算機１１０は、フェールセーフ装置から受信した生存信号をリーダ制御計算機１１０aに送信する（Ｓ８０３）。
これにより、全ての制御計算機１１０およびフェールセーフ装置１２０の生存を確認することができる。
【００３４】
＜入力・出力照合処理および構成制御処理における受信タイムアウト処理＞
図８を参照して、計算機システムにおける受信タイムアウト処理について説明する。
受信タイムアウト処理を行う制御計算機１１０は、受信タイムアウト処理対象の制御計算機１１０およびフェールセーフ装置１２０から情報からの受信を待ち（Ｓ９０１）、処理対象からのデータの受信をチェックする（Ｓ９０２）。データの受信があった場合、稼働管理テーブル１５６のタイムアウト管理フラグを参照して、受信待ちの全ての制御計算機１１０またはフェールセーフ装置１２０から受信が来たかを判定する（Ｓ９０３）。判定の結果、受信待ちの制御計算機１１０があれば、稼働管理テーブル１５６における該当する制御計算機のタイムアウト管理フラグ及び入力／出力照合結果及び構成制御フラグをセットして（Ｓ９０４）、再び制御計算機１１０からの受信を待つ。
【００３５】
Ｓ９０２において受信がなかった場合は、設定されたタイムアウト値を超えているかを判定する（Ｓ９０５）。判定の結果、タイムアウト値を超えていなかった場合は、再び制御計算機１１０またはフェールセーフ装置１２０からの受信を待ち（Ｓ９０１）、タイムアウト値を超えていた場合は、稼働管理機能１５４を実行し（Ｓ９０６）、稼働管理テーブル１５６の全項目をクリアする（Ｓ９０７）。
【００３６】
また、Ｓ９０３において受信待ちの全制御計算機１１０から受信が完了した場合、入力または出力照合結果が一致しているか、または構成制御フラグが立っているかを判定する（Ｓ９０８）。入力または出力照合結果が全て一致もしくは稼働管理テーブル１５６の構成制御フラグが全てオン（○の図示）の場合、正常に動作していると判断して、稼働管理テーブル１５６の全項目をクリアする（Ｓ９０７）。入力または出力照合が不一致もしくは構成制御フラグが全てオンでない場合、障害が発生していると判断して、稼働管理機能１５４を実行した（Ｓ９０６）後、稼働管理テーブル１５６の全項目をクリアする（Ｓ９０７）。
【００３７】
＜稼動管理機能＞
図９を参照して、計算機システムにおける稼動管理機能１５４について説明する。
稼働管理機能１５４は、受信タイムアウトが発生した場合、入力照合処理において照合不一致が起こった場合、出力照合処理において照合不一致が起こった場合などのシステムに故障や異常が発生した場合に実行される機能である。
【００３８】
まず、稼動管理機能が実行された原因がタイムアウトであるかどうかを判定する（Ｓ１００１）。判定の結果、原因がタイムアウトであった場合、受信タイムアウト時の稼働管理処理を実行する（Ｓ１００２）。一方、原因がタイムアウトでなかった場合、原因が入力処理時の照合不一致であるかどうかを判定する（Ｓ１００３）。この判定の結果、原因が入力処理時の照合不一致であった場合、入力照合不一致時の稼働管理処理を実行する（Ｓ１００４）。一方、原因が入力処理時の照合不一致でなかった場合、出力照合不一致時の稼働管理処理を実行する（Ｓ１００５）。（なお、Ｓ１００２、Ｓ１００４、Ｓ１００５の処理については、図１２、図１４、図１５を参照してそれぞれ詳述する。）
このような稼動管理処理により、計算機システム１０内に障害が発生した場合でも、計算機システム１０は処理を継続して行うことが可能になる。
【００３９】
＜計算機状態テーブルおよび稼働管理テーブル＞
図１０は、計算機状態テーブル１５５の構成例を示す。
計算機状態テーブル１５５は、全ての制御計算機１１０が有しており、各自の状態を保持している。例として、１Ａ系制御計算機１１０aの計算機状態テーブル１５５を図示する。
計算機系状態は、自らが主系で動作しているか従系で動作しているかの状態を保持する。計算機属性は、自らがリーダ制御計算機か又はそれ以外の制御計算機（非リーダ）かの状態を保持する。リーダ制御計算機は、入力照合機能や出力照合機能を実行する制御計算機であり、計算機属性がリーダである制御計算機は、システム全体で１台とする。ペア制御計算機は、制御計算機名を保持する。なお、ペア制御計算機とは、制御計算機1Aと1B、制御計算機2Aと2Bをペアという。
【００４０】
図１１は、稼働管理テーブル１５６の構成例を示す。
稼働管理テーブル１５６は、全ての制御計算機１１０が有しており、入力照合機能１５１、出力照合機能１５２、構成制御機能１５３や受信タイムアウト処理で使用される。テーブル中の入力照合結果、出力照合結果および構成制御フラグ項目については、リーダ制御計算機１１０aによって使用される。タイムアウト管理フラグ項目については、全ての制御計算機１１０によって使用される。
【００４１】
タイムアウト管理フラグは、受信タイムアウト処理時に受信があったか否かを保持するフラグである。入力照合結果および出力照合結果は、リーダ制御計算機１１０aがリーダ以外の制御計算機１１０から受け取った照合結果を保持するものである。構成制御フラグは、構成制御機能にて受信があったか否かを保持するフラグである。
【００４２】
＜代替ネットワーク経路テーブル＞
図１３は代替ネットワーク経路テーブル１５７の構成例を示す。
代替ネットワーク経路テーブル１５７は、受信タイムアウト時の稼働管理処理におけるＳ１１０３およびＳ１１０７にて参照される。タイムアウトが発生した制御計算機とその制御計算機への代替ネットワーク経路が結び付けられる。Ｓ１１０２およびＳ１１０７の処理において、リーダ制御装置１１０aはタイムアウトが発生した制御計算機に結び付けられている代替ネットワーク経路に従って、生存確認信号の送信やタイムアウトが発生した制御計算機との通信が行われる。
【００４３】
＜受信タイムアウト時の稼動管理処理＞
図１２を参照して、稼働管理機能１５４における受信タイムアウト時の稼動管理処理Ｓ１００２について説明する。
リーダ以外の制御計算機１１０は、受信タイムアウトを起こした制御計算機がリーダ制御計算機１１０aかどうかを判定する（Ｓ１１０１）。この処理Ｓ１１０１は、リーダ以外の制御計算機１１０が、リーダ制御計算機１１０aに対して受信タイムアウト処理を実行した場合の特別な処理である。判定の結果、タイムアウトを起こした制御計算機がリーダ制御計算機である場合、１系制御装置１１aは障害を起こしたとみなして、１系制御装置を切り離し、２系制御装置１１bのいずれかの制御計算機１１０の計算機状態テーブル１５５の計算機属性項目をリーダと変更し、２系制御装置１１bの全ての制御計算機１１０の計算機状態テーブル１５５の計算機系状態を主系に設定し、片系の制御装置による運転を行う（Ｓ１１０２）。
【００４４】
一方、タイムアウトを起こした制御計算機がリーダ制御計算機でない場合、リーダ制御計算機は、稼働管理テーブル１５６のタイムアウト管理フラグを参照し、タイムアウトを発生させた制御計算機１１０を特定し、代替ネットワーク経路テーブル１５７に保持されている通信経路を用いて、タイムアウトを発生させた制御計算機１１０へ生存確認信号を送る（Ｓ１１０３）。生存確認信号に対して応答があった場合、リーダ制御計算機１１０aとタイムアウトを起こした制御計算機１１０間のネットワークに何らかの障害が発生したとみなして、ネットワークが正常になるまで、代替ネットワークを用いて通信を行うように設定する（Ｓ１１０７）。
【００４５】
生存信号に対して応答がなかった場合、タイムアウトを起こした制御計算機１１０は障害が発生していると判断し、該当制御計算機１１０がリーダ制御計算機１１０aのペア制御計算機かどうかを判定する（Ｓ１１０５）。その結果、ペア制御計算機であった場合はＳ１１０２の処理を実行し、ペア制御計算機でなかった場合は、２系制御装置１１bをシステムから切り離し、１系制御装置１１aにて片系の制御装置による運転を行う（Ｓ１１０６）。
【００４６】
＜入力照合不一致時の稼動管理処理＞
図１４を参照して、稼働管理機能１５４における入力照合不一致時の稼動管理処理Ｓ１００４について説明する。
リーダ制御計算機１１０aは、稼働管理テーブル１５６の入力照合結果を参照し、照合不一致を起こした制御計算機１１０が１台または２台かどうかを判定する（Ｓ１２０１）。照合不一致を起こした制御計算機１１０が１台または２台である場合、リーダ制御計算機１１０aは、照合不一致を起こした制御計算機１１０に、入力上書き処理命令と入力データを送る（Ｓ１２０２）。照合不一致を起こした制御計算機１１０は、受け取ったデータを、元の入力データに上書きする（Ｓ１２０３）。
【００４７】
Ｓ１２０１の判定で、照合不一致を起こした制御計算機１１０aが１台または２台でない場合、リーダ制御計算機１１０aが故障しているとみなして、現在の主系制御装置を切り離しリセットし、従系を主系に切り替え、片系の制御装置による運転を行う。
このように、制御入力情報を多数決によって決定することにより、制御入力情報の正当性を保障する。またリーダ制御計算機の制御入力情報が多数決の少数となった場合、そのリーダ制御計算機はリーダとして不適格であるとし、系切り替えを実行し、リーダから降格させることで、システムの正当性を保障する。
【００４８】
＜出力照合不一致時の稼動管理処理＞
図１５を参照して、稼働管理機能１５４における出力照合不一致時の稼動管理処理Ｓ１００５について説明する。
リーダ制御計算機１１０aは、稼働管理テーブル１５６の入力照合結果および計算機状態テーブル１５５の計算機系属性を参照して、照合不一致を起こした制御計算機１１０が主系に属するか否かを判定する（Ｓ１３０１）。判定の結果、不一致を起こした制御計算機１１０が主系に属している場合、フェールセーフ装置１２０による現場設備への制御情報の送信を停止させるため、制御情報の出力停止命令を発行し（Ｓ１３０２）、主系の制御装置１１をリセットし、従系を主系に切り替えて片系の制御装置による運転を行う（Ｓ１３０３）。一方、不一致を起こした制御計算機１１０が主系に属していない場合、不一致を起こした制御計算機１１０を含む制御装置１１をリセットする。
このように、出力制御情報に対して、制御計算機１１０での多数決照合およびフェールセーフ装置１２０での２重照合を実施することにより、出力照合情報の正当性を保障し、計算機システム１０の安全性を担保する。
【００４９】
＜ネットワーク障害発生時のシステム稼働状態＞
図１６は、制御計算機１１０間のネットワークに障害が発生した際のシステム稼働状態の一覧を示す。
１箇所でネットワーク障害が発生した場合には、代替ネットワーク経路テーブル１５７の代替ネットワーク経路を使用することで２重系運転を継続することが出来る。
また２箇所でネットワーク障害が同時に発生した場合、例えば通信I/F１７０aと１７０d間および通信I/F１７１aと１７１c間に障害が発生した場合は、制御装置１１aと制御装置１１bの通信が不可能になってしまうため、片系運転に切り替えて運転する。一方、その他の場合は代替ネットワーク経路テーブル１５７の代替ネットワーク経路を使用することで２重系運転を継続することが出来る。
また３箇所以上でのネットワーク障害が同時に発生した場合は、重故障と判断し、全ての計算機システム１０を停止させる。
【００５０】
＜再組み込み機能＞
図１７を参照して、制御装置１１における再組み込み機能１５８について説明する。
再組み込み機能１５８は、稼働管理機能１５４によって、障害が発生した制御装置１１を切り離し、正常な制御装置１１による片系運転となる。この状態では、残った制御装置１１に障害が発生した際に、計算機システム１０全体が停止し、制御処理の実行が不可能になってしまう。このような状態を防止するために、正常な制御装置１１での片系運転による制御処理を継続したまま、障害が発生した制御装置１１を再組み込みし、再び２重系運転に復帰させ、システム稼働率を担保する。
【００５１】
再組み込みを行う制御装置１１および片系運転で稼働している制御装置１１に含まれる制御計算機１１０間のネットワーク構成を、再組込を行う制御装置１１を従系、片系運転で稼働している制御装置１１を主系として再構成する（Ｓ１４０１）。これは片系運転で稼働しているため、制御計算機１１０間のネットワークは使用されていないので、物理的にネットワーク構成を再構成することが可能である。ネットワーク再構成が完了後、組み込まれる制御装置は、リーダ制御計算機１１０aに対して、再組み込み要求を送信する（Ｓ１４０２）。再組み込み要求を受信したリーダ制御装置１１０aは、自らの内部状態を組み込まれる制御装置１１に転送し、内部状態を同期する（Ｓ１４０３）Ｓ１４０３で内部状態の同期が完了したら、次の周期制御処理シーケンス時に２重系の従系制御装置として復帰する。
【００５２】
＜計算機システムの拡張性＞
以上、制御装置１１内の制御計算機１１０が２台の場合の例について説明したが、制御計算機１１０は２台に限定されない。制御計算機１１０同士を結ぶネットワークを適切に構成することにより、２台以上の制御計算機に拡張可能である。制御計算機の数が増加するほど、多様性と冗長性が高まり、計算機システムの信頼性を向上させることができる。
【００５３】
また、オペレーティングシステム１５０に搭載している機能およびテーブルは、ミドルウェアやアプリケーション層で実装することもでき、オペレーティングシステム１５０を改変することなく、本実施例を適用することが可能である。
以上、一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００５４】
１０：計算機システム  １１：制御装置  １１０：制御計算機  １２０：フェールセーフ装置  
１３０：プロセッサ  １４０：メモリ  １５０：オペレーティングシステム  
１５１：入力照合機能  １５２：出力照合機能  １５３：構成制御機能  
１５４：稼働管理機能  １５５：計算機状態テーブル  １５６：稼働管理テーブル  
１５７：ネットワーク経路テーブル  １５８：再組込機能  １６０：タスクプログラム  
１６１：制御情報計算処理機能  １７０〜１７３：通信I/F  
【図１】
2013196614.tif 000003
【図２】
2013196614.tif 000004
【図３】
2013196614.tif 000005
【図４】
2013196614.tif 000006
【図５】
2013196614.tif 000007
【図６】
2013196614.tif 000008
【図７】
2013196614.tif 000009
【図８】
2013196614.tif 000010
【図９】
2013196614.tif 000011
【図１０】
2013196614.tif 000012
【図１１】
2013196614.tif 000013
【図１２】
2013196614.tif 000014
【図１３】
2013196614.tif 000015
【図１４】
2013196614.tif 000016
【図１５】
2013196614.tif 000017
【図１６】
2013196614.tif 000018
【図１７】
2013196614.tif 000019