(57)【特許請求の範囲】
【請求項１】
三つ以上の処理装置（１Ａ，１Ｂ，１Ｃ）により共通の信号出力手段（４）からの信号に基づきそれぞれ所定の情報処理を行って制御情報を生成し、それらの制御情報のうちから論理決定によって決定した制御情報によって共通の制御対象（５）の制御を行う冗長系情報処理システムにおいて、
前記三つ以上の処理装置が各々、
前記三つ以上の処理装置による前記制御情報の生成過程における情報処理結果を集めて、何れの処理装置が生成した制御情報を有効とするかを論理決定により決定し、前記三つ以上の処理装置のうちの当該処理装置を含む二つ以上の処理装置が生成した制御情報を有効とする場合は、あらかじめ定められた優先度に基づきそれら制御情報を有効とする処理装置のうちで当該処理装置の優先度が最先の場合には制御情報送信信号を出力する一方最先でない場合には制御情報送信信号を出力しないようにするとともに、制御情報を有効とする処理装置以外の他の処理装置にそれぞれ制御情報阻止信号を出力し、前記三つ以上の処理装置のうちの当該処理装置を除く他の処理装置が生成した制御情報を有効とする場合は、制御情報送信信号を出力しないようにするとともに、他の処理装置に制御情報阻止信号を出力しないようにする送信可否決定部（２）を具え、
前記三つ以上の処理装置が各々、
前記三つ以上の処理装置のうちの当該処理装置を除く他の処理装置からの前記制御情報阻止信号を入力し、その制御情報阻止信号の入力数が前記論理決定で有効とする所定数未満でかつ当該処理装置の前記送信可否決定部が前記制御情報送信信号を出力している場合は、当該処理装置が生成した制御情報を前記制御対象に出力し、前記制御情報阻止信号の入力数が前記所定数以上の場合は、当該処理装置の前記送信可否決定部が前記制御情報送信信号を出力していても当該処理装置が生成した制御情報を前記制御対象に出力しない論理演算部（３）をさらに具えることを特徴とする、冗長系情報処理システム。
【請求項２】
前記論理演算部は、論理演算素子からなり、フィードバックループを持っていない組み合わせ回路（３）で構成されていることを特徴とする、請求項１記載の冗長系情報処理システム。
【請求項３】
前記処理装置が、前記制御情報の生成過程で過去の制御情報を用いるものである場合に、
制御情報を有効とする処理装置以外の他の前記処理装置は、その生成した制御情報を、制御情報を有効とする処理装置の制御情報に書き換えて、その書き換えた制御情報を次回の制御情報の生成過程に用いることを特徴とする、請求項１または２記載の冗長系情報処理システム。
【請求項４】
前記三つ以上の処理装置の前記送信可否決定部が行う論理決定の処理手順は共通であることを特徴とする、請求項１から３までの何れか記載の冗長系情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、信頼性確保のため、冗長系（多重系）を構成する三つ以上の処理装置を具え、それらの処理装置により共通の信号出力手段からの信号に基づいてそれぞれ所定の情報処理を行って制御情報を生成し、それらの制御情報のうちから論理決定例えば多数決によって決定した制御情報によって共通の制御対象の制御を行う冗長系情報処理システムに関するものである。
【０００２】
【従来の技術】
上述の如き情報処理システムとしては従来、例えば特開平９−１３４２０８号公報にて開示されたものがあり、この情報処理システムは、共通の信号出力手段としてのセンサからの信号に基づき独自のクロックで独立して情報処理を行う処理装置としてのコントローラを三つ具えるとともに、共通の制御対象としてのアクチュエータを有するアクチュエータ装置内に、多数決論理回路とそれを制御する制御回路との組を具えている。
【０００３】
そしてこの情報処理システムでは、センサからの信号に基づき三つのコントローラで情報処理を行ってそれぞれアクチュエータ制御信号を生成するとともに、それらのコントローラでの情報処理結果を各コントローラ内に集めて比較し、各コントローラからその比較結果情報をアクチュエータ装置内の制御回路の記憶素子へ送って記憶させ、その制御回路で各コントローラからの比較結果情報から多数決により正常なコントローラを決定して、その正常なコントローラからのアクチュエータ制御信号を選択的にアクチュエータに送るように多数決論理回路を作動させ、それによってアクチュエータを作動させている。
【０００４】
【発明が解決しようとする課題】
しかしながらかかる従来の情報処理システムでは、アクチュエータ装置内の、多数決を行う制御回路および、その多数決の結果に基づきアクチュエータ制御信号を選択的に通過させる多数決論理回路が各々、単一故障点すなわちそれが故障するとアクチュエータが作動しなくなる部分となっており、それゆえ、コントローラ側を多重化していても充分な信頼性を確保するのは困難であるという問題があった。
そしてこの問題の解決のため、単一故障点となる多数決論理回路および制御回路を市販品よりも高い信頼性を持つ特別注文の部品で構成することとすると、システムが極めて高価なものとなってしまうという問題があり、この点は特に、多くのアクチュエータの作動を制御する必要がある場合に重大であった。
【０００５】
【課題を解決するための手段およびその作用・効果】
この冗長系情報処理システムは、三つ以上の処理装置により共通の信号出力手段からの信号に基づきそれぞれ所定の情報処理を行って制御情報を生成し、それらの制御情報のうちから論理決定によって決定した制御情報によって共通の制御対象の制御を行う冗長系情報処理システムにおいて、前記三つ以上の処理装置が各々、前記三つ以上の処理装置による前記制御情報の生成過程における情報処理結果を集めて、何れの処理装置が生成した制御情報を有効とするかを論理決定により決定し、前記三つ以上の処理装置のうちの当該処理装置を含む二つ以上の処理装置が生成した制御情報を有効とする場合は、あらかじめ定められた優先度に基づきそれら制御情報を有効とする処理装置のうちで当該処理装置の優先度が最先の場合には制御情報送信信号を出力する一方最先でない場合には制御情報送信信号を出力しないようにするとともに、制御情報を有効とする処理装置以外の他の処理装置にそれぞれ制御情報阻止信号を出力し、前記三つ以上の処理装置のうちの当該処理装置を除く他の処理装置が生成した制御情報を有効とする場合は、制御情報送信信号を出力しないようにするとともに、他の処理装置に制御情報阻止信号を出力しないようにする送信可否決定部を具えている。
【０００６】
かかる情報処理システムにあっては、当該システムを構成する三つ以上の処理装置の各々が、送信可否決定部を具えており、ここで、各処理装置の送信可否決定部は、当該システムを構成する三つ以上の処理装置による、共通の信号出力手段からの信号に基づく制御情報の生成過程における情報処理結果を集めて、何れの処理装置が生成した制御情報を有効とするかを論理決定により決定し、当該システムを構成する三つ以上の処理装置のうちの当該処理装置を含む二つ以上の処理装置が生成した制御情報を有効とする場合は、あらかじめ定められた優先度に基づきそれら制御情報を有効とする処理装置のうちで当該処理装置の優先度が最先の場合には制御情報送信信号を出力する一方最先でない場合には制御情報送信信号を出力しないようにするとともに、制御情報を有効とする処理装置以外の他の処理装置にそれぞれ制御情報阻止信号を出力し、また当該システムを構成する三つ以上の処理装置のうちの当該処理装置を除く他の処理装置が生成した制御情報を有効とする場合は、制御情報送信信号を出力しないようにするとともに、他の処理装置に制御情報阻止信号を出力しないようにする。ここで、前記情報処理結果としては、生成した制御情報や、制御情報の生成途中での演算結果等を用いることができる。
【０００７】
この発明の冗長系情報処理システムは、前記三つ以上の処理装置が各々、前記三つ以上の処理装置のうちの当該処理装置を除く他の処理装置からの前記制御情報阻止信号を入力し、その制御情報阻止信号の入力数が前記論理決定で有効とする所定数未満でかつ当該処理装置の前記送信可否決定部が前記制御情報送信信号を出力している場合は、当該処理装置が生成した制御情報を前記制御対象に出力し、前記制御情報阻止信号の入力数が前記所定数以上の場合は、当該処理装置の前記送信可否決定部が前記制御情報送信信号を出力していても当該処理装置が生成した制御情報を前記制御対象に出力しない論理演算部を具えることを特徴としている。
【０００８】
かかる情報処理システムにあっては、当該システムを構成する三つ以上の処理装置の各々が、送信可否決定部と論理演算部とを具えており、各処理装置の論理演算部は、当該システムを構成する三つ以上の処理装置のうちの当該処理装置を除く他の処理装置からの制御情報阻止信号を入力し、その制御情報阻止信号の入力数が前記多数決で有効とする所定数未満でかつ当該処理装置の送信可否決定部が制御情報送信信号を出力している場合は、当該処理装置が生成した制御情報をアクチュエータ等の制御対象に出力し、制御情報阻止信号の入力数が前記所定数以上の場合は、当該処理装置の送信可否決定部が制御情報送信信号を出力していても当該処理装置が生成した制御情報をアクチュエータ等の制御対象へは出力しない。
【０００９】
従ってこの発明の情報処理システムによれば、当該システムを構成する三つ以上の処理装置の過半数を超えない幾つかでの情報処理結果に異常があっても、それらのうちの何れか二つ以上の処理装置が生成した制御情報を論理決定で有効とすることから、正常に生成された制御情報を選択することができる可能性が高いので、信頼性の高い制御情報を得ることができる。
【００１０】
また、この発明の情報処理システムにあっては、制御情報を有効とする二つ以上の処理装置のうちで優先度が最先の処理装置が制御情報送信信号を出力する一方で、制御情報を有効とする二つ以上の処理装置のうちで優先度が最先でない処理装置は制御情報送信信号を出力しないようにする。さらに、それら制御情報を有効とする二つ以上の処理装置は他の処理装置に対してそれぞれ制御情報阻止信号を出力することから、たとえ制御情報を有効とする処理装置以外の他の処理装置の送信可否決定部が誤作動して制御情報を出力しても、その処理装置の論理回路部が、論理決定で有効とする所定数以上の他の処理装置から制御情報阻止信号を入力して制御情報を出力しないようにする。また、たとえ制御情報を有効とする処理装置以外の他の幾つかの処理装置の送信可否決定部が誤作動して制御阻止信号を出力しても、その制御阻止信号の入力数が論理決定で有効とする所定数未満の場合には、上記優先度が最先の処理装置の論理演算部は、その処理装置の送信可否決定部が制御情報送信信号を出力していることから、制御情報を制御対象へ出力する。
【００１１】
従ってこの発明の情報処理システムによれば、制御情報を有効とする二つ以上の処理装置すなわち正常に作動している可能性が高い処理装置のうちで優先度が最先の単一の処理装置のみから制御情報を制御対象へ出力することができる。
【００１２】
そしてこの発明の情報処理システムによれば、共通の信号出力手段からの信号に基づき制御情報を生成する情報処理も、制御情報を有効とする論理決定の処理も、論理決定で有効とした複数の処理装置からの制御情報の選択処理も、何れも複数の処理装置で行うことから、システム内に多数決論理回路やその制御回路のような単一故障点となる部分を持たなくて済むので、充分な信頼性を持つ冗長系処理システムを安価に構成することができる。
【００１３】
さらにこの発明の情報処理システムによれば、処理装置の数が三つ以上であればその数の如何にかかわりなく上記各処理を行うことができることから、高い拡張性を有するので、信頼度の要求に応じて処理装置の数を増減させることで、容易にその要求に対応することができる。
【００１４】
なお、この発明の情報処理システムにおいては、前記論理演算部は論理演算素子からなり、フィードバックループを持たない組み合わせ回路で構成されていても良く、かかる構成によれば、論理演算部が記憶素子を持たないことから、宇宙空間でロケットや人工衛星の姿勢制御に使用した場合等に宇宙放射線等の影響で記憶素子が反転するシングルイベントアップセット（ＳＥＵ）の可能性を論理演算部についてはなくすことができるので、送信可否決定部が多数決で決定した結果がＳＥＵに起因する論理演算部の誤作動で無意味になるという事態を有効に防止することができる。
【００１５】
また、この発明の情報処理システムにおいては、前記処理装置が、前記制御情報の生成過程で過去の制御情報を用いるものである場合に、制御情報を有効とする処理装置以外の他の前記処理装置が、その生成した制御情報を、制御情報を有効とする処理装置の制御情報に書き換えて、その書き換えた制御情報を次回の制御情報の生成過程に用いるようにしても良く、かかる構成によれば、送信可否決定部がＳＥＵに起因して一過性の誤動作をした場合に、その誤動作した回の誤った処理結果を放棄して他の処理装置で正常に生成された制御情報を以後の処理に用いることができるので、システムの信頼性を高く維持することができる。
【００１６】
さらに、この発明の情報処理システムにおいては、前記三つ以上の処理装置の前記送信可否決定部が行う論理決定の処理手順が共通であっても良く、かかる構成によれば、その論理決定を行うプログラムの開発時やシステムへのインストール時の作業者の作業の誤り低減させることができるので、システムの信頼性を向上させることができる。
【００１７】
【発明の実施の形態】
以下に、この発明の実施の形態を実施例によって、図面に基づき詳細に説明する。ここに、図１は、この発明の冗長系情報処理システムの一実施例を示す構成図であり、図中符号１Ａ〜１Ｃは互いに同一の構成を具える処理装置、２は送信可否決定部としてのプロセッサ部、３は論理演算部としてのインタフェース部、４は上記処理装置１Ａ〜１Ｃに共通の信号出力手段としてのセンサ、５は上記処理装置１Ａ〜１Ｃに共通の制御対象としてのアクチュエータ、６は上記処理装置１Ａ〜１Ｃを相互に繋ぐネットワークをそれぞれ示し、この実施例の冗長系情報処理システムは、例えばロケットの姿勢制御系等に用いることができる。
【００１８】
ここにおける処理装置１Ａ〜１Ｃは具体的には各々、プロセッサ部２とインタフェース部３とを具えており、ここで、プロセッサ部２は、演算処理を行う通常の中央処理ユニット（ＣＰＵ）２ａと、プログラムや演算結果等の情報を記憶してＣＰＵに所定のプログラムに基づく演算処理を実行させるメモリ（ＭＥＭ）２ｂと、それらＣＰＵ２ａおよびメモリ２ｂにクロック信号を供給するクロック回路（ＣＬＫ）２ｃと、ＣＰＵ２ａやメモリ２ｂとネットワーク６との間の情報のやりとりを制御するネットワークコントローラ（ＮＣ）２ｄとを有している。なお、この実施例のシステムにおける三つの処理装置１Ａ〜１Ｃのプロセッサ部２のクロック回路２ｃは、互いに独立して作動するものである。
【００１９】
またここで、インタフェース部３は、センサ４に接続されてセンサ４からの出力信号を入力するインタフェース回路（Ｉ／Ｏ）３ａと、アクチュエータ５に接続されてアクチュエータ５に制御情報としての後述するコマンド信号を出力するインタフェース回路（Ｉ／Ｏ）３ｂとを有している。
【００２０】
図２は、上記各処理装置１Ａ〜１Ｃが具えるインタフェース回路３ｂの回路構成を示す構成図であり、ここにおけるインタフェース回路３ｂは、論理演算素子であるＡＮＤ素子３ｃ、ＮＡＮＤ素子３ｄおよびゲート素子３ｅを組み合わせてコマンド信号の出力を制御する論理回路と、そのインタフェース回路３ｂを具える処理装置のプロセッサ部２が出力する制御阻止信号としての後述する阻止信号Ｓ１，Ｓ２を他の二つの処理装置のインタフェース回路３ｂへそれぞれそのまま出力する信号回路３ｆとを有している。
【００２１】
上記の論理回路において、ＮＡＮＤ素子３ｄは、他の二つの処理装置のインタフェース回路３ｂから阻止信号Ｓ１，Ｓ２としての「１」信号を同時に入力すると「０」信号を出力し、阻止信号Ｓ１，Ｓ２としての「１」信号を少なくとも一方の処理装置から入力していない場合は「１」信号を出力する。また、ＡＮＤ素子３ｃは、当該処理装置のプロセッサ部２から制御情報送信信号として後述するコマンド送信信号としての「１」信号を入力すると同時にＮＡＮＤ素子３ｄから「１」信号を入力すると「１」信号を出力し、コマンド送信信号としての「１」信号とＮＡＮＤ素子３ｄからの「１」信号との少なくとも一方を入力していない場合は「０」信号を出力する。そしてゲート素子３ｅは、上記ＡＮＤ素子３ｃから「１」信号を入力している場合は、当該処理装置のプロセッサ部２から上記コマンド信号を入力するとそのコマンド信号をアクチュエータ５へ出力するとともに、そのコマンド信号を後述するコマンド検証アルゴリズムのためのコマンド検証信号として当該処理装置のプロセッサ部２へも出力するが、上記ＡＮＤ素子３ｃから「１」信号を入力していない場合は、当該処理装置のプロセッサ部２から上記コマンド信号を入力してもそのコマンド信号をアクチュエータ５へ出力せずそこで阻止する。
【００２２】
図３は、上記三つの処理装置１Ａ〜１Ｃのプロセッサ部２相互間、インタフェース回路３ｂ相互間、そして各処理装置１Ａ〜１Ｃのプロセッサ部２とインタフェース回路３ｂ相互間の接続状態を示す構成図であり、この実施例では図示のように接続することで各処理装置１Ａ〜１Ｃのプロセッサ部２の信号回路３ｆが、阻止信号Ｓ１，Ｓ２を他の二つの処理装置のインタフェース回路３ｂへそれぞれ出力している。
【００２３】
この実施例の情報処理システムにあっては、共通の信号出力手段としてのセンサ４から三つの処理装置１Ａ〜１Ｃに同一の信号が出力されると、それら三つの処理装置１Ａ〜１Ｃの三つのプロセッサ部２のＣＰＵ２ａが並列的にそれぞれ、そのプロセッサ部２のメモリ２ｂ内にあらかじめ与えられたプログラムに従い、先ず上記センサ４からの信号に基づいて所定の演算処理を行って、共通の制御対象としてのアクチュエータ５の作動を制御するためのコマンド信号を生成し、次いでそれら三つの処理装置１Ａ〜１Ｃのうちの他の処理装置が行った情報処理の結果をネットワーク６を介して入力して、以下に示す多数決の処理を行う。
【００２４】
上記入力する情報処理結果としては、生成したコマンド信号の所定の部分（例えば最初の数ビット等）を用いているが、そのコマンド信号の他、アクチュエータの移動量やコマンド信号の生成途中での演算結果等の全体や所定の部分を用いることができる。また、この実施例では、あらかじめ三つの処理装置１Ａ〜１Ｃの優先順位を、処理装置１Ａが最も優先度が高く、次いで処理装置１Ｂが優先度が高く、処理装置１Ｃが最も優先度が低いものとして設定するとともに、処理装置１Ａ〜１Ｃ相互間で情報処理結果が全く一致しなかった場合は優先度の最も高い処理装置１Ａのコマンド信号を出力するものとして設定してある。
【００２５】
図４は、処理装置１Ａのプロセッサ部２のＣＰＵ２ａがそのプロセッサ部２のメモリ２ｂ内のプログラムに基づいて行う論理決定の一例としての、多数決のアルゴリズム（演算手順）を示すフローチャートであり、ここでは、阻止信号Ｓ１は処理装置１Ｃのインタフェース回路３ｂへ出力されてその処理装置１Ｃを制御し、阻止信号Ｓ２は処理装置１Ｂのインタフェース回路３ｂへ出力されてその処理装置１Ｂを制御する。
【００２６】
図４中のステップ11では、処理装置１ＡのＣＰＵ２ａ自身の情報処理結果と他の処理装置の一方の処理装置１Ｂの情報処理結果とを比較して一致しているか否かを判断して、一致している場合はステップ12へ、一致していない場合はステップ15へ進み、ステップ12では、次に処理装置１ＡのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｃの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ13へ、一致していない場合（処理装置１Ｃが故障で、結果が入力されない場合も含まれる。以下の一致しない場合についても処理装置の一方が故障で結果が入力されない場合も含まれる。）はステップ14へ進む。そしてステップ13では、先のステップ11，12の判断で三つの処理装置１Ａ〜１Ｃの情報処理結果が全て一致していたので、優先度の最も高い当該処理装置１Ａがコマンド信号を出力することになるようにコマンド送信信号を「１」信号にセットするとともに、他の処理装置１Ｂ，１Ｃも正しかったことになるので阻止信号Ｓ１，Ｓ２を「０」信号（阻止信号なし）にセットする。
【００２７】
一方、ステップ14では、先のステップ11，12の判断で処理装置１Ａ，１Ｂの情報処理結果は一致していたが処理装置１Ａ，１Ｃの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ａ，１Ｂの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い当該処理装置１Ａがコマンド信号を出力することになるように、コマンド送信信号を「１」信号にセットするとともに、処理装置１Ｃは誤っていたことになるので処理装置１Ｃに対応する阻止信号Ｓ１を「１」信号（阻止信号あり）にセットし、処理装置１Ｂは正しかったことになるので処理装置１Ｂに対応する阻止信号Ｓ２を「０」信号にセットする。
【００２８】
またステップ15では、ステップ12と同様、処理装置１ＡのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｃの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ16へ、一致していない場合はステップ17へ進む。そしてステップ16では、先のステップ11，15の判断で処理装置１Ａ，１Ｃの情報処理結果は一致していたが処理装置１Ａ，１Ｂの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ａ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い当該処理装置１Ａがコマンド信号を出力することになるように、コマンド送信信号を「１」信号にセットするとともに、処理装置１Ｃは正しかったことになるので処理装置１Ｃに対応する阻止信号Ｓ１を「０」信号にセットし、処理装置１Ｂは誤っていたことになるので処理装置１Ｂに対応する阻止信号Ｓ２を「１」信号にセットする。
【００２９】
一方、ステップ17では、さらに、他の二つの処理装置１Ｂ，１Ｃの情報処理結果を比較して一致しているか否かを判断し、一致している場合はステップ18へ、一致していない場合はステップ20へ進む。そしてステップ18では、先のステップ11，15，17の判断で処理装置１Ｂ，１Ｃの情報処理結果は一致していたが処理装置１Ａ，１Ｂの情報処理結果も処理装置１Ａ，１Ｃの情報処理結果も一致していなかったので、論理決定、例えば多数決で他の処理装置１Ｂ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い処理装置１Ｂがコマンド信号を出力し得るように、コマンド送信信号を「０」信号にセットするとともに、処理装置１Ｂ，１Ｃは正しかったことになるので阻止信号Ｓ１，Ｓ２を「０」信号にセットする。しかる後、次のステップ19では、当該処理装置１Ａのプロセッサ部２のメモリ２ｂ内の情報処理結果のデータを、他の処理装置１Ｂ，１Ｃからの情報処理結果のデータに置き換える。
【００３０】
また、ステップ20では、先のステップ11，15，17の判断で処理装置１Ａ〜１Ｃの情報処理結果が全て一致していなかったので、論理決定、例えば多数決で決めることができないことから、先に述べたこの実施例についての規則で、三つの処理装置のうち優先度が最も高い当該処理装置１Ａがコマンド信号を出力することになるようにコマンド送信信号を「１」信号にセットするとともに、処理装置１Ｂ，１Ｃは何れも誤っていたことになるので阻止信号Ｓ１，Ｓ２を「１」信号にセットする。
【００３１】
図５は、処理装置１Ｂのプロセッサ部２のＣＰＵ２ａがそのプロセッサ部２のメモリ２ｂ内のプログラムに基づいて行う論理決定の一例としての、多数決のアルゴリズム（演算手順）を示すフローチャートであり、ここでは、阻止信号Ｓ１は処理装置１Ａのインタフェース回路３ｂへ出力されてその処理装置１Ａを制御し、阻止信号Ｓ２は処理装置１Ｃのインタフェース回路３ｂへ出力されてその処理装置１Ｃを制御する。
【００３２】
図５中のステップ21では、処理装置１ＢのＣＰＵ２ａ自身の情報処理結果と他の処理装置の一方の処理装置１Ａの情報処理結果とを比較して一致しているか否かを判断して、一致している場合はステップ22へ、一致していない場合はステップ25へ進み、ステップ22では、次に処理装置１ＢのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｃの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ23へ、一致していない場合はステップ24へ進む。そしてステップ23では、先のステップ21，22の判断で三つの処理装置１Ａ〜１Ｃの情報処理結果が全て一致していたので、優先度が最も高い他の処理装置１Ａがコマンド信号を出力し得るように、コマンド送信信号を「０」信号にセットするとともに、他の処理装置１Ａ，１Ｃも正しかったことになるので阻止信号Ｓ１，Ｓ２を「０」信号（阻止信号なし）にセットする。
【００３３】
一方ステップ24では、先のステップ21，22の判断で処理装置１Ａ，１Ｂの情報処理結果は一致していたが処理装置１Ｂ，１Ｃの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ａ，１Ｂの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い他の処理装置１Ａがコマンド信号を出力し得るように、コマンド送信信号を「０」信号にセットするとともに、処理装置１Ｃは誤っていたことになるので処理装置１Ｃに対応する阻止信号Ｓ２を「１」信号（阻止信号あり）にセットし、処理装置１Ａは正しかったことになるので処理装置１Ａに対応する阻止信号Ｓ１を「０」信号にセットする。
【００３４】
またステップ25では、ステップ22と同様、処理装置１ＢのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｃの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ26へ、一致していない場合はステップ27へ進む。そしてステップ26では、先のステップ21，25の判断で処理装置１Ｂ，１Ｃの情報処理結果は一致していたが処理装置１Ａ，１Ｂの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ｂ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い当該処理装置１Ｂがコマンド信号を出力することになるように、コマンド送信信号を「１」信号にセットするとともに、処理装置１Ａは誤っていたことになるので処理装置１Ａに対応する阻止信号Ｓ１を「１」信号にセットし、処理装置１Ｃは正しかったことになるので処理装置１Ｃに対応する阻止信号Ｓ２を「０」信号にセットする。
【００３５】
一方、ステップ27では、さらに、他の二つの処理装置１Ａ，１Ｃの情報処理結果を比較して一致しているか否かを判断し、一致している場合はステップ28へ、一致していない場合はステップ30へ進む。そしてステップ28では、先のステップ21，25，27の判断で処理装置１Ａ，１Ｃの情報処理結果は一致していたが処理装置１Ａ，１Ｂの情報処理結果も処理装置１Ｂ，１Ｃの情報処理結果も一致していなかったので、論理決定、例えば多数決で他の処理装置１Ａ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い処理装置１Ａがコマンド信号を出力し得ることになるようにコマンド送信信号を「０」信号にセットするとともに、処理装置１Ａ，１Ｃは正しかったことになるので阻止信号Ｓ１，Ｓ２を「０」信号にセットする。しかる後、次のステップ29では、当該処理装置１Ｂのプロセッサ部２のメモリ２ｂ内の情報処理結果のデータを、他の処理装置１Ａ，１Ｃからの情報処理結果のデータに置き換える。
【００３６】
また、ステップ30では、先のステップ21，25，27の判断で処理装置１Ａ〜１Ｃの情報処理結果が全て一致していなかったので、論理決定、例えば多数決で決めることができないことから、先に述べたこの実施例についての規則で、三つの処理装置のうち優先度が最も高い他の処理装置１Ａがコマンド信号を出力し得るようにコマンド送信信号を「０」信号にセットするとともに処理装置１Ａに対応する阻止信号Ｓ１を「０」信号にセットし、処理装置１Ｃは誤っていたことになるので処理装置１Ｃに対応する阻止信号Ｓ２を「１」信号にセットする。
【００３７】
図６は、処理装置１Ｃのプロセッサ部２のＣＰＵ２ａがそのプロセッサ部２のメモリ２ｂ内のプログラムに基づいて行う論理決定の一例としての、多数決のアルゴリズム（演算手順）を示すフローチャートであり、ここでは、阻止信号Ｓ１は処理装置１Ｂのインタフェース回路３ｂへ出力されてその処理装置１Ｂを制御し、阻止信号Ｓ２は処理装置１Ａのインタフェース回路３ｂへ出力されてその処理装置１Ａを制御する。
【００３８】
図６中のステップ31では、処理装置１ＣのＣＰＵ２ａ自身の情報処理結果と他の処理装置の一方の処理装置１Ａの情報処理結果とを比較して一致しているか否かを判断して、一致している場合はステップ32へ、一致していない場合はステップ35へ進み、ステップ32では、次に処理装置１ＣのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｂの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ33へ、一致していない場合はステップ34へ進む。そしてステップ33では、先のステップ31，32の判断で三つの処理装置１Ａ〜１Ｃの情報処理結果が全て一致していたので、優先度の最も高い他の処理装置１Ａがコマンド信号を出力し得るようにコマンド送信信号を「０」信号にセットするとともに、他の処理装置１Ａ，１Ｂも正しかったことになるので阻止信号Ｓ１，Ｓ２を「０」信号（阻止信号なし）にセットする。
【００３９】
一方ステップ34では、先のステップ31，32の判断で処理装置１Ａ，１Ｃの情報処理結果は一致していたが処理装置１Ｂ，１Ｃの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ａ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度が最も高い他の処理装置１Ａがコマンド信号を出力し得るように、コマンド送信信号を「０」信号にセットするとともに、処理装置１Ｂは誤っていたことになるので処理装置１Ｂに対応する阻止信号Ｓ１を「１」信号（阻止信号あり）にセットし、処理装置１Ａは正しかったことになるので処理装置１Ａに対応する阻止信号Ｓ２を「０」信号にセットする。
【００４０】
またステップ35では、ステップ32と同様、処理装置１ＣのＣＰＵ２ａ自身の情報処理結果と他の処理装置の他方の処理装置１Ｂの情報処理結果とを比較して一致しているか否かを判断し、一致している場合はステップ36へ、一致していない場合はステップ37へ進む。そしてステップ36では、先のステップ31，35の判断で処理装置１Ｂ，１Ｃの情報処理結果は一致していたが処理装置１Ａ，１Ｃの情報処理結果は一致していなかったので、論理決定、例えば多数決で処理装置１Ｂ，１Ｃの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い他の処理装置１Ｂがコマンド信号を出力し得るようにコマンド送信信号を「０」信号にセットするとともに、処理装置１Ｂは正しかったことになるので処理装置１Ｂに対応する阻止信号Ｓ１を「０」信号にセットし、処理装置１Ａは誤っていたことになるので処理装置１Ａに対応する阻止信号Ｓ２を「１」信号にセットする。
【００４１】
一方、ステップ37では、さらに、他の二つの処理装置１Ａ，１Ｂの情報処理結果を比較して一致しているか否かを判断し、一致している場合はステップ38へ、一致していない場合はステップ40へ進む。そしてステップ38では、先のステップ31，35，37の判断で処理装置１Ａ，１Ｂの情報処理結果は一致していたが処理装置１Ａ，１Ｃの情報処理結果も処理装置１Ｂ，１Ｃの情報処理結果も一致していなかったので、論理決定、例えば多数決で他の処理装置１Ａ，１Ｂの情報処理結果を正しいものとすることとし、その場合に優先度の最も高い処理装置１Ａがコマンド信号を出力し得るようにコマンド送信信号を「０」信号にセットするとともに、処理装置１Ａ，１Ｂは正しかったことになるので、阻止信号Ｓ１，Ｓ２を「０」信号にセットする。しかる後、次のステップ39では、当該処理装置１Ｃのプロセッサ部２のメモリ２ｂ内の情報処理結果のデータを、他の処理装置１Ａ，１Ｂからの情報処理結果のデータに置き換える。
【００４２】
また、ステップ40では、先のステップ31，35，37の判断で処理装置１Ａ〜１Ｃの情報処理結果が全て一致していなかったので、論理決定、例えば多数決で決めることができないことから、先に述べたこの実施例についての規則で、三つの処理装置のうち優先度が最も高い他の処理装置１Ａがコマンド信号を出力し得るようにコマンド送信信号を「０」信号にセットするとともに処理装置１Ａに対応する阻止信号Ｓ２を「０」信号にセットし、処理装置１Ｂは誤っていたことになるので処理装置１Ｂに対応する阻止信号Ｓ１を「１」信号にセットする。
【００４３】
かくして上記実施例では、各処理装置１Ａ〜１Ｃのプロセッサ部２が並列処理を行って、論理決定、例えば多数決および優先順位に基づき、自分自身が正しくかつコマンド送信信号を出せると判断した場合には当該処理装置のインタフェース回路３ｂにコマンド送信信号として「１」信号を出力し、また他の処理装置の情報処理結果が正しくないと判断した場合は論理決定、例えば多数決できなかった場合を除きその処理装置のインタフェース回路３ｂに阻止信号を出すので、その結果として、以下の〔表１〕に示すように、処理装置１Ａ〜１Ｃが一致した場合と、処理装置１Ａ，１Ｂのみが一致した場合と、処理装置１Ａ，１Ｃのみが一致した場合には処理装置１Ａがそのインタフェース回路３ｂを介してコマンド信号をアクチュエータ５へ出力し、処理装置１Ｂ，１Ｃのみが一致した場合には処理装置１Ｂがそのインタフェース回路３ｂを介してコマンド信号をアクチュエータ５へ出力し、全ての処理装置１Ａ〜１Ｃが一致しなかった場合は運用要求、すなわちここでは優先度の最も高い処理装置がコマンド信号を出力するという要求により、処理装置１Ａがコマンド信号をアクチュエータ５へ出力する。なお、全ての処理装置１Ａ〜１Ｃが一致しなかった場合には何れの処理装置にもコマンド出力を行わせず当該システムの使用者にエラー警告信号を送るようにするという運用要求をすることもできる。
【００４４】
【表１】
0004477739.tif 000002
ここで、白丸印（○）は、情報処理結果が一致した処理装置を示している。
【００４５】
この実施例の情報処理システムではさらに、以下のコマンド検証アルゴリズムを実行する。この演算処理は、プロセッサ部２が正常で正しい情報処理が行われていてもインタフェース回路３に異常があってコマンド信号が正しく出力されない場合に対処するものであり、図７〜図９は、上記各処理装置１Ａ〜１Ｃのプロセッサ部２がそれぞれ実行するコマンド検証アルゴリズムを示すフローチャートである。
【００４６】
図７中ステップ41に示すように、優先度が最も高い処理装置１Ａのプロセッサ部２は何も行わない。その一方、次に優先度が高い処理装置１Ｂのプロセッサ部２は、図８に示すように、ステップ42で、アクチュエータ５に何れかのインタフェース回路３から正しいコマンド信号が送られたか否かを、アクチュエータ５に繋がる回路からコマンド検証信号として戻されたコマンド信号の例えば最初の部分等から判断して、正しいコマンド信号が送られた場合にはステップ43に進み、何もしないが、正しいコマンド信号が送られなかった場合には、さらにステップ44で、処理装置１Ａがアクチュエータ５にアクチュエーションコマンド信号を送るべきであったか否かを判断し、処理装置１Ａ以外がコマンド信号を送るべきであった場合にはステップ43へ進むが、処理装置１Ａがコマンド信号を送るべきであった場合にはステップ45で、当該処理装置１Ｂがコマンド信号を送るように、コマンド送信信号を「１」信号にセットするとともに、処理装置１Ａに対する阻止信号Ｓ１を「１」信号にセットし、処理装置１Ｃに対する阻止信号Ｓ２の状態はそのまま維持する。
【００４７】
さらに、最も優先度が低い処理装置１Ｃのプロセッサ部２は、図９に示すように、ステップ46で、アクチュエータ５に何れかのインタフェース回路３から正しいコマンド信号が送られたか否かを、アクチュエータ５に繋がる回路からコマンド検証信号として戻されたコマンド信号の例えば最初の部分等から判断して、正しいコマンド信号が送られた場合にはステップ47に進み、何もしないが、正しいコマンド信号が送られなかった場合には、次にステップ48で、処理装置１Ａがアクチュエータ５にアクチュエーションコマンド信号を送るべきであったか否かを判断し、処理装置１Ａがコマンド信号を送るべきであった場合にはさらにステップ49で、処理装置１Ｂが正常でないか否かを判断する。
【００４８】
そしてステップ49で、処理装置１Ｂが正常であると判断した場合はステップ47へ進んでなにもしないが、処理装置１Ｂが正常でないと判断した場合はステップ50へ進む。また上記ステップ48で、処理装置１Ａ以外すなわち処理装置１Ｂがコマンド信号を送るべきであった場合にもステップ50へ進む。ステップ50では、当該処理装置１Ｃがコマンド信号を送るように、コマンド送信信号を「１」信号にセットするとともに、処理装置１Ｂに対する阻止信号Ｓ１を「１」信号にセットし、処理装置１Ａに対する阻止信号Ｓ２の状態はそのまま維持する。
【００４９】
かかるコマンド検証アルゴリズムによれば、例えば、プロセッサ部２が正常な処理装置１Ａ，１Ｂのうちコマンド信号を出力すべき処理装置１Ａのインタフェース回路３に異常があってコマンド信号が全く出力されなかったり正しくないコマンド信号が出力されたりした場合でも、直ちに処理装置１Ｂが処理装置１Ａののコマンド信号出力を阻止するとともに正しいコマンド信号を送ってアクチュエータ５の作動を適正に制御することができ、また例えば、処理装置１Ａのインタフェース回路３に異常があって処理装置１Ａがコマンド信号を出力できず、処理装置１Ｂもインタフェース回路３に異常があってコマンド信号を全く出力できなかったり正しくないコマンド信号を出力したりした場合でも、直ちに処理装置１Ｃが処理装置１Ｂのコマンド信号出力を阻止するとともに正しいコマンド信号を送ってアクチュエータ５の作動を適正に制御することができる。
【００５０】
従ってこの実施例の情報処理システムによれば、当該システムを構成する三つの処理装置１Ａ〜１Ｃの過半数を超えない幾つかでの情報処理結果に異常があっても、それらのうちの何れか二つ以上の処理装置が生成したコマンド信号を論理決定、例えば多数決で有効とすることから、正常に生成されたコマンド信号を選択することができる可能性が高いので、信頼性の高いコマンド信号を得ることができる。
【００５１】
しかもこの実施例の情報処理システムによれば、コマンド信号を有効とする二つ以上の処理装置すなわち正常に作動している可能性が高い処理装置のうちで優先度が最先の単一の処理装置のみからコマンド信号を制御対象へ出力することができるので、複数のコマンド信号の重なり合いやぶつかり合いによりアクチュエータ５の制御が困難になるのを防止することができる。
【００５２】
そしてこの発明の情報処理システムによれば、センサ４からの信号に基づきコマンド信号を生成する情報処理も、コマンド信号を有効とする論理決定、例えば多数決処理も、その論理決定で有効とした複数の処理装置からのコマンド信号の選択処理も、何れも三つの処理装置１Ａ〜１Ｃで行うことから、システム内に多数決論理回路やその制御回路のような単一故障点となる部分を持たなくて済むので、充分な信頼性を持つ冗長系処理システムを安価に構成することができる。
【００５３】
さらにこの実施例の情報処理システムによれば、処理装置の数を減らさない限りその数の如何にかかわりなく上記各処理を行うことができることから、高い拡張性を有するので、信頼度の要求に応じて処理装置の数を増加させることで、容易にその要求に対応することができる。
【００５４】
さらにこの実施例の情報処理システムによれば、インタフェース回路３が、論理演算素子からなり、フィードバックループを持たない組み合わせ回路で構成されていて記憶素子を持たないことから、宇宙空間でロケットや人工衛星の姿勢制御に使用した場合等に宇宙放射線等の影響で記憶素子が反転するシングルイベントアップセット（ＳＥＵ）の可能性をインタフェース回路３についてはなくすことができるので、プロセッサ部２が論理決定、例えば多数決で決定した結果がＳＥＵに起因する論理演算部の誤作動で無意味になるという事態を有効に防止することができる。
【００５５】
さらにこの実施例の情報処理システムによれば、処理装置１Ａ〜１Ｃが、コマンド信号の生成過程で過去のコマンド信号を用いていて、それらの処理装置１Ａ〜１Ｃのうちコマンド信号を有効とする処理装置以外の他の処理装置が、先のステップ19，29，39で、その生成したコマンド信号を放棄して、コマンド信号を有効とする処理装置のコマンド信号に置き換えているので、放射線等による記憶素子の反転エラー等の一過性のエラーの影響がその後も続くのを防止し得て、システムの信頼性を向上させることができる。
【００５６】
そしてこの実施例の情報処理システムによれば、図４〜図６に示すように、符号や数値は異なるもののも、三つの処理装置１Ａ〜１Ｃのプロセッサ部２が行う論理決定、例えば多数決の処理手順自体は共通であることから、その論理決定を行うプログラムの開発時やシステムへのインストール時の作業者の作業の誤り低減させることができるので、システムの信頼性を向上させることができる。
【００５７】
以上、図示例に基づき説明したが、この発明は上述の例に限定されるものでなく、例えば、処理装置の数は論理決定、例えば多数決のできる（すなわち同じ情報処理結果となった処理装置の数が最も多い情報処理結果を選択できる）三つ以上であれば、所要に応じて適宜選択でき、例えば四つの場合には、二つの処理装置の情報処理結果が一致したらそれらの処理装置を正しいとし、二つづつの処理装置で情報処理結果が分かれたら制御情報を出力する処理装置を優先度に基づいて決定するようにしても良い。また信号出力手段は上記センサ４に限られず、制御対象も上記アクチュエータ５に限定されるものではない。
【図面の簡単な説明】
【図１】  この発明の冗長系情報処理システムの一実施例の構成を示す構成図である。
【図２】  上記実施例の冗長系情報処理システムにおける各処理装置のインタフェース回路の回路構成を示す構成図である。
【図３】  上記実施例の冗長系情報処理システムにおける三つの処理装置のプロセッサ部相互間、インタフェース回路相互間、そして各処理装置のプロセッサ部とインタフェース回路相互間の接続状態を示す構成図である。
【図４】  上記実施例の冗長系情報処理システムにおける処理装置１Ａのプロセッサ部のＣＰＵがそのプロセッサ部のメモリ内のプログラムに基づいて行う論理決定の一例としての多数決のアルゴリズムを示すフローチャートである。
【図５】  上記実施例の冗長系情報処理システムにおける処理装置１Ｂのプロセッサ部のＣＰＵがそのプロセッサ部のメモリ内のプログラムに基づいて行う論理決定の一例としての多数決のアルゴリズムを示すフローチャートである。
【図６】  上記実施例の冗長系情報処理システムにおける処理装置１Ｃのプロセッサ部のＣＰＵがそのプロセッサ部のメモリ内のプログラムに基づいて行う論理決定の一例としての多数決のアルゴリズムを示すフローチャートである。
【図７】  上記実施例の冗長系情報処理システムにおける処理装置１Ａのプロセッサ部が行うコマンド検証アルゴリズムを示すフローチャートである。
【図８】  上記実施例の冗長系情報処理システムにおける処理装置１Ｂのプロセッサ部が行うコマンド検証アルゴリズムを示すフローチャートである。
【図９】  上記実施例の冗長系情報処理システムにおける処理装置１Ｃのプロセッサ部が行うコマンド検証アルゴリズムを示すフローチャートである。
【符号の説明】
１Ａ，１Ｂ，１Ｃ  処理装置
２  プロセッサ部
２ａ  中央処理ユニット（ＣＰＵ）
２ｂ  メモリ（ＭＥＭ）
２ｃ  クロック回路（ＣＬＫ）
２ｄ  ネットワークコントローラ（ＮＣ）
３  インタフェース部
３ａ，３ｂ  インタフェース回路
３ｃ  ＡＮＤ素子
３ｄ  ＮＡＮＤ素子
３ｅ  ゲート素子
３ｆ  信号回路
４  センサ
５  アクチュエータ
６  ネットワーク
【図１】
0004477739.tif 000003
【図２】
0004477739.tif 000004
【図３】
0004477739.tif 000005
【図４】
0004477739.tif 000006
【図５】
0004477739.tif 000007
【図６】
0004477739.tif 000008
【図７】
0004477739.tif 000009
【図８】
0004477739.tif 000010
【図９】
0004477739.tif 000011