(57)【要約】      （修正有）【課題】信頼性が高く、かつリアルタイム性を損なわない計算機および保護制御装置を提供する。【解決手段】計算機は、第１のプロセスを処理する第１，第２のプロセッサと、第２のプロセスを処理する第３，第４のプロセッサと、第１，第２のプロセッサにおける第１のプロセスの処理結果および第３，第４のプロセッサにおける第２のプロセスの処理結果をそれぞれ比較して不一致を検出する不一致検出部２０１と、不一致検出部２０１が不一致を検出した場合、第２のプロセッサと第３のプロセッサとの第１，第２のプロセスの割り当てを入れ変える入れ替え手段２０２と、第１，第３のプロセッサに第１のプロセスを、第２，第４のプロセッサに第２のプロセスをそれぞれ処理させる再処理実行手段２０３と、を具備する。【選択図】図２
2011113399.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセスを処理する第１，第２のプロセッサと、
第２のプロセスを処理する第３，第４のプロセッサと、
前記第１，第２のプロセッサにおける前記第１のプロセスの処理結果および前記第３，第４のプロセッサにおける前記第２のプロセスの処理結果をそれぞれ比較して不一致を検出する不一致検出部と、
前記不一致検出部が不一致を検出した場合、前記第２のプロセッサと前記第３のプロセッサとの前記第１，第２のプロセスの割り当てを入れ変える入れ替え手段と、
前記第１，第３のプロセッサに前記第１のプロセスを、前記第２，第４のプロセッサに前記第２のプロセスをそれぞれ処理させる再処理実行手段と、
を具備することを特徴とする計算機。
【請求項２】
前記不一致検出手段は、前記第１，第３のプロセッサにおける前記第１のプロセスの処理結果および前記第２，第４のプロセッサにおける前記第２のプロセスの処理結果をそれぞれ比較して不一致を検出し、前記不一致検出部が不一致を検出した場合、前記不一致が検出されたプロセッサの組み合わせに共通するプロセッサの処理を停止させる切り離し手段をさらに具備したことを特徴とする請求項１に記載の計算機。
【請求項３】
前記第１，第２のプロセスの少なくとも一方は、同一のタイミングで処理することを特徴とする請求項１または請求項２に記載の計算機。
【請求項４】
前記第１，第２のプロセスの少なくとも一方は、異なるタイミングで処理することを特徴とする請求項１または請求項２に記載の計算機。
【請求項５】
前記不一致検出手段は、前記切り離し手段が、前記第１ないし第４のプロセッサのいずれか１つを停止した場合、前記停止したプロセッサを除く前記第１ないし第４のいずれか２つで処理された前記第１または前記第２のプロセスの処理結果を比較して不一致を検出し、
前記再処理実行手段は、前記不一致検出部が不一致を検出した場合、前記不一致検出手段で処理結果を比較したプロセッサとは異なるプロセッサへ前記プロセスと同一のプロセスを処理させること特徴とする請求項１ないし請求項４のうちのいずれか１項に記載の計算機。
【請求項６】
第１のプロセスを処理する第１，第２のプロセッサと、
前記第１，第２のプロセッサにおける前記第１のプロセスの処理結果を比較して不一致を検出する不一致検出部と、
前記不一致検出部が不一致を検出した場合、前記第１，第２のプロセッサとは異なる第３のプロセッサへ前記第１のプロセスを処理させる再処理実行手段と、
を具備することを特徴とする計算機。
【請求項７】
前記不一致検出手段は、前記第１，第３のプロセッサにおける前記プロセスの処理結果を比較して不一致を検出し、前記不一致検出部が不一致を検出した場合、前記不一致が検出されたプロセッサの組み合わせに共通するプロセッサの処理を停止させる切り離し手段をさらに具備したことを特徴とする請求項１に記載の計算機。
【請求項８】
前記第１，第２のプロセスを複製して前記第１ないし第４のプロセッサへ割り当てる複製手段と、
前記第１ないし第４のプロセッサにおける処理結果を格納する格納処理手段と、
前記第１ないし第４のプロセッサによる外部へのアクセスを監視するウオッチドッグタイマと、
をさらに具備したことを特徴とする請求項１または請求項６に記載の計算機。
【請求項９】
変電機器本体に取り付けられた変成器から入力される系統量をデジタル値へ変換して、該デジタル値の処理結果に基づいて遮断機を作動させる保護制御装置であって、
前記変成器から入力される系統量をデジタル値へ変換するＡ／Ｄ変換器と、前記Ａ／Ｄ変換器でデジタル値に変換された系統量に基づいて、前記遮断機を作動させる計算機とを具備し、
前記計算機は、第１のプロセスを処理する第１，第２のプロセッサ、第２のプロセスを処理する第３，第４のプロセッサ、前記第１，第２のプロセッサにおける前記第１のプロセスの処理結果および前記第３，第４のプロセッサにおける前記第２のプロセスの処理結果をそれぞれ比較して不一致を検出する不一致検出部、前記不一致検出部が不一致を検出した場合、前記第２のプロセッサと前記第３のプロセッサとの前記第１，第２のプロセスの割り当てを入れ変える入れ替え手段、および前記第１，第３のプロセッサに前記第１のプロセスを、前記第２，第４のプロセッサに前記第２のプロセスをそれぞれ処理させる再処理実行手段を備えることを特徴とする保護制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フォールトトレラントな計算機およびそれを利用した保護制御装置に関する。
【背景技術】
【０００２】
近年、半導体装置（例えば、プロセッサ）の微細化およびトランジスタ数の増加などに伴い、プロセッサの信頼性が低下している。例えば、電力系統を保護および制御するデジタル形保護制御装置などの社会インフラに用いられる計算機（以下、計算機という）では、装置故障の大半をプロセッサの故障が占めている。
【０００３】
そこで、従来の計算機では、プロセッサでの処理を２重化または３重化する方法が提案されている。プロセッサでの処理を２重化する場合、２つのプロセッサを備え、この２つのプロセッサで同一の処理を行う。そして、この２つのプロセッサでの処理結果を比較することでプロセッサの故障を検出する（特許文献１）。
【０００４】
また、プロセッサでの処理を３重化する場合、３つのプロセッサを備え、この３つのプロセッサで同一の処理を行う。そして、この３つのプロセッサでの処理結果を比較し、故障しているプロセッサを検出する。そして、故障が検出されたプロセッサを処理から切り離す（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３４２３００号公報
【特許文献２】特開２００９−３５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、プロセッサを２重化した場合、プロセッサの故障を検出できるが、どちらのプロセッサが故障しているかがわからないという問題があった。また、プロセッサを３重化した場合、故障したプロセッサを特定して、処理から切り離すことが可能となるが、プロセッサ数が増えることで、故障までの平均寿命（MTTF：Mean time to failure）が短くなる。
本発明はかかる従来の課題を解決するためになされたものであり、信頼性が高く、かつリアルタイム性を損なわない計算機および保護制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る計算機は、第１のプロセスを処理する第１，第２のプロセッサと、第２のプロセスを処理する第３，第４のプロセッサと、第１，第２のプロセッサにおける第１のプロセスの処理結果および第３，第４のプロセッサにおける第２のプロセスの処理結果をそれぞれ比較して不一致を検出する不一致検出部と、不一致検出部が不一致を検出した場合、第２のプロセッサと第３のプロセッサとの第１，第２のプロセスの割り当てを入れ変える入れ替え手段と、第１，第３のプロセッサに第１のプロセスを、第２，第４のプロセッサに第２のプロセスをそれぞれ処理させる再処理実行手段と、を具備する。
【０００８】
本発明の一実施形態に係る保護制御装置は、変成器から入力される系統量をデジタル値へ変換するＡ／Ｄ変換器と、Ａ／Ｄ変換器でデジタル値に変換された系統量に基づいて、遮断機を作動させる計算機とを具備し、計算機は、第１のプロセスを処理する第１，第２のプロセッサ、第２のプロセスを処理する第３，第４のプロセッサ、第１，第２のプロセッサにおける第１のプロセスの処理結果および第３，第４のプロセッサにおける第２のプロセスの処理結果をそれぞれ比較して不一致を検出する不一致検出部、不一致検出部が不一致を検出した場合、第２のプロセッサと第３のプロセッサとの第１，第２のプロセスの割り当てを入れ変える入れ替え手段、および第１，第３のプロセッサに第１のプロセスを、第２，第４のプロセッサに第２のプロセスをそれぞれ処理させる再処理実行手段を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、信頼性が高く、かつリアルタイム性を損なわない計算機および保護制御装置を提供できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る計算機の構成を示す図である。
【図２】第１の実施形態に係る計算機の機能構成を示す図である。
【図３】第１の実施形態に係る計算機の動作を示す図である。
【図４】第１の実施形態に係る計算機の動作を示す図である。
【図５】第１の実施形態に係る計算機の動作を示す図である。
【図６】第１の実施形態に係る計算機の動作を示す図である。
【図７】第１の実施形態に係る計算機の動作を示す図である。
【図８】第１の実施形態に係る計算機の動作を示す図である。
【図９】第１の実施形態に係る計算機の動作を示す図である。
【図１０】第１の実施形態に係る計算機の動作を示す図である。
【図１１】第１の実施形態に係る計算機の動作を示す図である。
【図１２】第２の実施形態に係る計算機の機能構成を示す図である
【図１３】第２の実施形態に係る計算機の動作を示す図である。
【図１４】第２の実施形態に係る計算機の動作を示す図である。
【図１５】第３の実施形態に係る保護制御装置の構成を示す図である。
【図１６】第３の実施形態に係る保護制御装置の動作を示す図である。
【図１７】第３の実施形態に係る保護制御装置の動作を示す図である。
【図１８】第３の実施形態の変形例に係る保護制御装置の構成を示す図である。
【図１９】その他の実施形態に係る保護制御装置の構成を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
（第１の実施形態）
図１は、第１の実施形態に係る計算機１０の構成を示す図である。第１の実施形態に係る計算機１０は、ＣＰＵ（Central processing unit）１０１、ＲＯＭ（Read only memory）１０２、ＲＡＭ（Random access memory）１０３、不揮発性メモリ（Non-volatile memory）１０４などを具備する。
【００１２】
ＣＰＵ１０１は、内部に４つのプロセッサー（ＰＵ１ないしＰＵ４）を備える。つまり、ＣＰＵ１０１は、同時に４つのプロセスを処理できる。ＲＯＭ１０２は、ＣＰＵ１０１の動作プログラムを格納する。ＲＡＭ１０３は、ＣＰＵ１０１の作業領域として使用される。不揮発性メモリ１０４は、ＣＰＵ１０１の処理で必要な情報を格納する。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている動作プログラムに基づいて、所定の処理を処理する。
【００１３】
図２は、計算機１０の機能構成を示す図である。計算機１０は、ＰＵ１ないしＰＵ４、不一致検出手段２０１、入れ替え手段２０２、再処理実行手段２０３、ＰＵ切り離し手段２０４を具備する。なお、不一致検出手段２０１、入れ替え手段２０２、再処理実行手段２０３、ＰＵ切り離し手段２０４の機能は、ＣＰＵ１０１がＲＯＭ１０２に格納されているプログラムを処理することで実現される。
【００１４】
第１の実施形態に係る計算機１０では、ＰＵ１とＰＵ２（第１のペア）およびＰＵ３とＰＵ４（第２のペア）にそれぞれ同一のプロセスを割り当てる。不一致検出手段２０１は、各ペアの処理結果が同一であるかどうかを不一致検出手段２０１で検出する。不一致検出手段２０１で不一致が検出された場合は、入れ替え手段２０２は、第１ないし第２のペアを構成するＰＵを入れ替える。つまり、入れ替え手段２０２は、プロセスの割り当てを入れ替える（なお、以下の説明では、このプロセスの割り当てを入れ替えを、単にペアの入れ替えと称する）。そして、再処理実行手段２０３により、入れ替え後のペアで同じプロセスを処理し、故障しているＰＵを特定する。特定されたＰＵは、ＰＵ切り離し手段２０４によりプロセスの処理から切り離される。
【００１５】
図３ないし図１１は、計算機１０の動作を示す図である。以下、図３ないし図１１を参照して、この第１の実施形態に係る計算機１０の動作について説明する。なお、図３ないし図１１では、ＰＵ１とＰＵ２、およびＰＵ３とＰＵ４がそれぞれペアとなり、ＰＵ１とＰＵ２がプロセスＡ（ｉ）を処理し、ＰＵ３とＰＵ４がプロセスＢ（ｉ）を並行して処理しているものとする（ｉは自然数）。プロセスＡ（ｉ）とプロセスＢ（ｉ）は、異なるプロセスである。
【００１６】
ＰＵ１ないしＰＵ４が処理するプロセスＡ（ｉ）、Ｂ（ｉ）には、一定の割合でチェックポイントとなる情報（チェックポイント情報）が埋め込まれている。不一致検出手段２０１は、チェックポイント情報が埋め込まれたプロセスＡ（ｉ）のＰＵ１、ＰＵ２における処理結果を比較して不一致を検出する。また、不一致検出手段２０１は、チェックポイント情報が埋め込まれたプロセスＢ（ｉ）のＰＵ３、ＰＵ４における処理結果を比較して不一致を検出する（図３参照）。
【００１７】
ここで、ＰＵ１またはＰＵ２に故障が生じたとすると、ＰＵ１、ＰＵ２での処理結果に違いが生じる。このため、不一致検出手段２０１は、プロセスＡ（ｉ）のＰＵ１、ＰＵ２における処理結果の不一致を検出する。
【００１８】
入れ替え手段２０２は、不一致検出手段２０１で不一致が検出されると、ＰＵ１ないしＰＵ４のペアを入れ替える。入れ替え手段２０２は、ＰＵ１とＰＵ３を第１のペアとし、ＰＵ２とＰＵ４を第２のペアとする（図４参照）。なお、ＰＵ１とＰＵ４を第１のペアとし、ＰＵ２とＰＵ３を第２のペアとしてもよい。
【００１９】
ペアの入れ替え後、再処理実行手段２０３は、ロールバックにより、ＰＵ１とＰＵ３のペアにプロセスＡ（ｉ）を処理させる。ＰＵ１とＰＵ３は、プロセスＡ（ｉ）を処理する。ＰＵ２とＰＵ４のペアは、プロセスＢ（ｉ）の次のプロセスＢ（ｉ＋１）を処理する。不一致検出手段２０１は、ＰＵ１とＰＵ３で処理されたプロセスＡ（ｉ）の処理結果を比較して不一致を検出する。不一致検出手段２０１は、ＰＵ２とＰＵ４で処理されたプロセスＢ（ｉ＋１）の処理結果を比較して不一致を検出する。
【００２０】
（一過性故障の場合）（図５参照）
ＰＵ１またはＰＵ２に生じた故障が一過性の故障（回復可能な一時的な不良）である場合、ＰＵ１またはＰＵ２に生じた故障は、ロールバック再処理時に回復している。このため、ＰＵ１とＰＵ３で処理されたプロセスＡ（ｉ）の処理結果およびＰＵ２とＰＵ４で処理されたプロセスＢ（ｉ＋１）の処理結果は、それぞれ同一となる。この場合、ＰＵ切り離し手段２０４は、ＰＵ１からＰＵ２の切り離しを行わないが、計算機１０全体として故障がない状態（２重化した状態）で運用される。
【００２１】
（永久故障の場合）
ＰＵ１またはＰＵ２に生じた故障が永久故障（回復不能な不良）である場合、ＰＵ１またはＰＵ２に生じた故障は、ロールバックによる再処理時にもＰＵ１およびＰＵ２における処理結果は一致しない。ＰＵ１に永久故障が生じている場合、ＰＵ１とＰＵ３で処理されたプロセスＡ（ｉ）の処理結果が同一とならない。また、ＰＵ２に永久故障が生じている場合、ＰＵ２とＰＵ４で処理されたプロセスＢ（ｉ＋１）の処理結果が同一とならない。
【００２２】
（ＰＵ１に永久故障が生じた場合）（図６から図８参照）
ＰＵ１とＰＵ３で処理されたプロセスＡ（ｉ）の処理結果が同一とならない場合、ＰＵ切り離し手段２０４は、ペアの入れ替え前に処理結果が一致しなかったＰＵ１とＰＵ２の組み合わせ、およびペアの入れ替え後に処理結果が一致しなかったＰＵ１とＰＵ３の組み合わせから両者に共通するＰＵ１に永久故障が発生したと判定する。ＰＵ切り離し手段２０４は、ＰＵ１の切り離しを行い、ＰＵ１におけるプロセス処理を停止させる。また、ＰＵ切り離し手段２０４は、入れ替え手段２０２のＰＵ１に関する不一致の検出動作を停止（ロック）する。これにより計算機１０全体としては障害がなくなるとともにＰＵ２およびＰＵ４については継続して２重化した状態で運用される。
【００２３】
（ＰＵ２に永久故障が生じた場合）（図９から図１１参照）
ＰＵ２とＰＵ４で処理されたプロセスＡ（ｉ）の処理結果が同一とならない場合、ＰＵ切り離し手段２０４は、ペアの入れ替え前に処理結果が一致しなかったＰＵ１とＰＵ２の組み合わせ、およびペアの入れ替え後に処理結果が一致しなかったＰＵ２とＰＵ４の組み合わせから両者に共通するＰＵ２に永久故障が発生したと判定する。ＰＵ切り離し手段２０４は、ＰＵ２の切り離しを行い、ＰＵ２におけるプロセス処理を停止させる。また、ＰＵ切り離し手段２０４は、入れ替え手段２０２のＰＵ２に関する不一致の検出動作を停止（ロック）する。これにより計算機１０全体としては障害がなくなるとともにＰＵ１およびＰＵ３については継続して２重化した状態で運用される。
【００２４】
以上のように、第１の実施形態に係る計算機１０では、第１，第２のペア毎に同一のプロセスを処理し、該処理結果を比較して不一致を検出する。このため、ＰＵ１ないしＰＵ４のいずれか一つに故障が発生したとしても確実に故障を検出できる。また、処理結果に不一致が検出された場合は、各ペアを構成するＰＵを入れ替え、入れ替え後のペアで再度プロセスを処理し、該処理結果を比較して不一致を検出する。入れ替え後のペアで処理結果に不一致がなければ、ＰＵの切り離しを行わない。このため、一過性の故障に対しては、稼働率を落とすことなく計算機１０を運用でき、リアルタイム性の要求が厳しいシステムでの信頼度を維持できる。また、入れ替え後のペアで処理結果に不一致が検出されれば、故障と判定されたＰＵを切り離す。このため、計算機１０全体としては障害がなくなるとともに、永久故障の発生していないペアについては継続して２重化した状態で運用を継続できる。
【００２５】
なお、上記説明では、同一のプロセスを2つのＰＵで平行して（同時に）処理させる場合について説明したが、同一のプロセスを異なるタイミングで処理してもよい。例えば、プロセスＡに時間依存性がなければ、ＰＵ１では、Ａ（ｉ）、Ａ（ｉ＋１）の順で処理し、ＰＵ２では、Ａ（ｉ＋１）、Ａ（ｉ）の順で処理してもよい。この場合、ＰＵ１、ＰＵ２での処理結果をメモリ等に一時的に格納しておき、不一致検出手段２０１で、ＰＵ１におけるＡ（ｉ）の処理結果とＰＵ２におけるＡ（ｉ）の処理結果、およびＰＵ１におけるＡ（ｉ＋１）の処理結果とＰＵ２におけるＡ（ｉ＋１）の処理結果の不一致を検出するようにすればよい。
【００２６】
また、４つのプロセッサ（ＰＵ１ないしＰＵ４）は、１つのＣＰＵ１０１内に設ける必要はなく、４つのプロセッサを独立して設けるようにしてもよい。さらに、上記説明では、４つのＰＵ（ＰＵ１ないしＰＵ４）で、ペアを２組とした場合について説明したが、２Ｎ個のＰＵを具備しペアをＮ個としてもよい（例えば、８つのプロセッサで４組のペアなど）。
【００２７】
（第２の実施形態）
第１の実施形態では、４つのプロセッサ（ＰＵ１ないしＰＵ４）で故障を検出する実施形態について説明した。この第２の実施形態では、３つのプロセッサ（ＰＵ１ないしＰＵ３）で故障を検出する実施形態について説明する。
【００２８】
図１２は、第２の実施形態に係る計算機２０の機能構成を示す図である。計算機２０は、ＰＵ１ないしＰＵ３、不一致検出手段２０１、入れ替え手段２０２、ＰＵ切り離し手段２０４、格納処理手段２０５を具備する。格納処理手段２０５は、ＰＵ１ないしＰＵ３で処理されたプロセス結果を不揮発性メモリ１０４へ格納する。なお、その他の構成については、図２で説明した第１の実施形態に係る計算機１０の構成と同じであるため重複した説明を省略する。
【００２９】
図１３、図１４は、第２の実施形態に係る計算機２０の動作を示す図である。第２の実施形態に係る計算機２０は、プロセッサを３つしか具備しない。このため、第１の実施形態に係る計算機１０のように、２組のペアを同時に作ることができない。そこで、第２の実施形態に係る計算機２０は、ＰＵ１ないしＰＵ３の３つのプロセッサのペアの組み合わせを順次変更しながらプロセスを処理する。具体的には、プロセスＡまたはプロセスＢの少なくとも一方を並列処理し、他方を、時間をずらして（時間冗長して）処理する。なお、以下の説明では、並列してプロセスを処理する２つのＰＵを並列ペアと称し、時間冗長によりプロセスを処理する２つのＰＵを冗長ペアと称する。プロセッサのペアの組み合わせの変更は、入れ替え手段２０２が行う。
【００３０】
（通常時の動作）
図１３は、プロセスＡを異なる２つのプロセッサ（ＰＵ）で並列処理し、プロセスBを異なる２つのプロセッサで時間をずらして（時間冗長して）処理した例を示す。
（１周期目）
１周期目では、ＰＵ１とＰＵ２は、プロセスＡ（ｉ）を処理する。ＰＵ３は、プロセスＢ（ｉ）を処理する。不一致検出手段２０１は、ＰＵ１とＰＵ２の処理結果を比較して不一致を検出する。格納処理手段２０５は、ＰＵ３の処理結果を不揮発性メモリ１０４へ格納する。
【００３１】
（２周期目）
２周期目では、ＰＵ１は、プロセスＢ（ｉ）を処理する。ＰＵ２とＰＵ３は、プロセスＡ（ｉ＋１）を処理する。不一致検出手段２０１は、１周期目で不揮発性メモリ１０４に格納されたＰＵ３の処理結果と、ＰＵ１の処理結果を比較して不一致を県検出する。また、不一致検出手段２０１は、ＰＵ２とＰＵ３の処理結果を比較して不一致を検出する。
【００３２】
（３周期目）
３周期目では、ＰＵ１とＰＵ３は、プロセスＡ（ｉ＋２）を処理する。ＰＵ２は、プロセスＢ（ｉ＋１）を処理する。不一致検出手段２０１は、ＰＵ１とＰＵ３の処理結果を比較して不一致を検出する。格納処理手段２０５は、ＰＵ２の処理結果を不揮発性メモリ１０４へ格納する。なお、処理４以降の計算機２０の動作は、プロセス番号が変化するだけであり、１周期目から３周期目の処理の繰り返しである。
【００３３】
図１４は、プロセスＡだけでなく、プロセスBについても異なる2つのプロセッサ（ＰＵ）で並列処理する例を示す。
（１周期目）
１周期目では、ＰＵ１とＰＵ２は、プロセスＡ（ｉ）を処理する。ＰＵ３は、プロセスＢ（ｉ）を処理する。不一致検出手段２０１は、ＰＵ１とＰＵ２の処理結果を比較して不一致を検出する。格納処理手段２０５は、ＰＵ３の処理結果を不揮発性メモリ１０４へ格納する。
【００３４】
（２周期目）
２周期目では、ＰＵ１は、プロセスＢ（ｉ）を処理する。ＰＵ２とＰＵ３は、プロセスＡ（ｉ＋１）を処理する。不一致検出手段２０１は、１周期目で不揮発性メモリ１０４に格納されたＰＵ３の処理結果と、ＰＵ１の処理結果を比較して不一致を県検出する。また、不一致検出手段２０１は、ＰＵ２とＰＵ３の処理結果を比較して不一致を検出する。
【００３５】
（３周期目）
３周期目では、ＰＵ１とＰＵ３は、プロセスＡ（ｉ＋２）を処理する。ＰＵ２は、プロセスＢ（ｉ＋１）を処理する。不一致検出手段２０１は、ＰＵ１とＰＵ３の処理結果を比較して不一致を検出する。格納処理手段２０５は、ＰＵ２の処理結果を不揮発性メモリ１０４へ格納する。なお、処理４から処理６では、プロセスＢの処理を並列処理とし、プロセスＡの処理時間をずらして（時間冗長して）処理する。その後は、プロセスＡの並列処理とプロセスＢの並列処理を交互に繰り返す。
【００３６】
（故障発生時の動作）
次に、ＰＵ１ないしＰＵ３のいずれかに故障（一過性故障または永久故障）が生じた場合について説明する。プロセッサが３つ（ＰＵ１ないしＰＵ３）の場合、故障の検出は以下の４つのパターン（パターンＡからパターンＤ）に分類できる。以下、各パターンについては、図１３を参照して説明する。
【００３７】
パターンＡ：１周期目において、並列ペアで処理結果の不一致を検出した場合。
１周期目におけるＰＵ１とＰＵ２（並列ペア）におけるプロセスＡ（ｉ）の処理結果に不一致が検出された場合、１周期目におけるＰＵ３と２周期目におけるＰＵ１（冗長ペア）のプロセスＢ（ｉ）の処理結果および２周期目におけるＰＵ２とＰＵ３（並列ペア）におけるプロセスＡ（ｉ＋１）の処理結果に不一致が検出されなければ、ＰＵ切り離し手段２０４は、一時故障と判定し、プロセッサを切り離さずに、３つのプロセッサ（ＰＵ１ないしＰＵ３）での処理を継続する。
【００３８】
一方、１周期目におけるＰＵ３と２周期目におけるＰＵ１（冗長ペア）のプロセスＢ（ｉ）の処理結果または２周期目におけるＰＵ２とＰＵ３（並列ペア）のプロセスＡ（ｉ＋１）の処理結果に不一致が検出されれば、ＰＵ切り離し手段２０４は、不一致が検出されたペアに共通するプロセッサを永久故障と判定し、このプロセッサを切り離す。プロセッサを切り離した後は、残り２つのプロセッサ（ＰＵ１ないしＰＵ３のうちの２つ）で処理を継続する。
【００３９】
パターンＢ：２周期目において、並列ペアで処理結果の不一致を検出した場合。
２周期目におけるＰＵ２とＰＵ３（並列ペア）のプロセスＡ（ｉ＋１）の処理結果に不一致が検出された場合、再処理実行手段２０３は、３周期目において、プロセスＡ（ｉ＋１）を処理していないＰＵ１でプロセスＡ（ｉ＋１）を処理させる。
【００４０】
不一致検出手段２０１は、ＰＵ１ないしＰＵ３におけるプロセスＡ（ｉ＋１）の処理結果を互いに比較して不一致を検出する。具体的には、ＰＵ１とＰＵ２、ＰＵ２とＰＵ３、ＰＵ３とＰＵ１のペアで処理結果を比較して不一致を検出する。ＰＵ切り離し手段２０４は、不一致が検出されなければ、一時故障と判定し、プロセッサを切り離さずに、３つのプロセッサ（ＰＵ１ないしＰＵ３）での処理を継続する。
【００４１】
一方、不一致が検出されれば、ＰＵ切り離し手段２０４は、不一致が検出されたペアに共通するプロセッサを永久故障と判定し、このプロセッサを切り離す。プロセッサを切り離した後は、残り２つのプロセッサ（ＰＵ１ないしＰＵ３のうちの２つ）で処理を継続する。
【００４２】
パターンＣ：２周期目において、冗長ペアで処理結果の不一致を検出した場合。
１周期目におけるＰＵ３と２周期目におけるＰＵ１（冗長ペア）のプロセスＢ（ｉ）の処理結果に不一致が検出された場合、再処理実行手段２０３は、３周期目において、プロセスＢ（ｉ）を処理していないＰＵ２でプロセスＢ（ｉ）を処理させる。
【００４３】
不一致検出手段２０１は、ＰＵ１ないしＰＵ３におけるプロセスＢ（ｉ）の処理結果を互いに比較して不一致を検出する。具体的には、ＰＵ１とＰＵ２、ＰＵ２とＰＵ３、ＰＵ３とＰＵ１のペアで処理結果を比較して不一致を検出する。ＰＵ切り離し手段２０４は、不一致が検出されなければ、一時故障と判定し、プロセッサを切り離さずに、３つのプロセッサ（ＰＵ１ないしＰＵ３）での処理を継続する。
【００４４】
一方、不一致が検出されれば、ＰＵ切り離し手段２０４は、不一致が検出されたペアに共通するプロセッサを永久故障と判定し、このプロセッサを切り離す。プロセッサを切り離した後は、残り２つのプロセッサ（ＰＵ１ないしＰＵ３のうちの２つ）で処理を継続する。
【００４５】
パターンＤ：２周期目において、冗長ペアと並列ペアの両者で処理結果の不一致を検出した場合。
２周期目において、１周期目におけるＰＵ３と２周期目におけるＰＵ１（冗長ペア）のプロセスＢ（ｉ）の処理結果、および２周期目におけるＰＵ２とＰＵ３（並列御ペア）のＡ（ｉ＋１）処理結果の両者に不一致が検出された場合、ＰＵ切り離し手段２０４は、量ペアに共通するプロセッサ（この例の場合は、ＰＵ２）を永久故障と判定し、このプロセッサを切り離す。プロセッサを切り離した後は、残り２つのプロセッサ（この例の場合は、ＰＵ１とＰＵ３）で処理を継続する。
【００４６】
以上のように第２に実施形態では、プロセスＡまたはプロセスＢの一方を並列処理し、他方を、時間をずらして（時間冗長して）処理することで、３つのプロセッサでも第１の実施形態と同様の効果を得ることができる。また、第１の実施形態において、永久故障が生じたプロセッサを切り離した場合でも、この第２の実施形態で説明した方法で計算機を運用すれば３つのプロセッサ（ＰＵ１ないしＰＵ３）でも２重化した状態を保つことができる。
【００４７】
（第３の実施形態）
図１５は、第１の実施形態に係る保護制御装置１の構成を示した図である。保護制御装置１は、Ａ／Ｄ変換器１１Ａ、１１Ｂ、計算機１０Ａ、１０Ｂを具備する。Ａ／Ｄ変換器１１Ａ、１１Ｂは、外部の変電機器本体に取り付けた変成器から入力される系統量（例えば、電流値や電圧値）をアナログ信号からデジタル信号へ変換する。
【００４８】
計算機１０Ａは、Ａ／Ｄ変換器１１Ａから入力されるデジタル変換後の系統量に基づいて、遮断機の主リレー２１Ａを動作させるかどうかを判定する。計算機１０Ｂは、Ａ／Ｄ変換器１１Ｂから入力されるデジタル変換後の系統量に基づいて、遮断機の副リレー２１Ｂを動作させるかどうかを判定する。副リレー２１Ｂは、フェイルセーフ用のリレーであり、主リレー２１Ａおよび副リレー２１Ｂの両者が動作することで、図示しない遮断機が動作し、変電機器が保護される。
【００４９】
計算機１０Ａは、ＰＵ１ＡないしＰＵ４Ａ、不一致検出手段２０１Ａ、入れ替え手段２０１Ａ、再処理実行手段２０３ＡおよびＰＵ切り離し手段２０４Ａを具備する。計算機１０Ｂは、ＰＵ１ＢないしＰＵ４Ｂ、不一致検出手段２０１Ｂ、入れ替え手段２０１Ｂ、再処理実行手段２０３ＢおよびＰＵ切り離し手段２０４Ｂを具備する。計算機１０Ｂの具備するＰＵ１ＢないしＰＵ４Ｂ、および不一致検出手段２０１Ｂ、入れ替え手段２０１Ｂ、再処理実行手段２０３ＢおよびＰＵ切り離し手段２０４Ｂは、それぞれＰＵ１ＡないしＰＵ４Ａ、不一致検出手段２０１Ａ、入れ替え手段２０１Ａ、再処理実行手段２０３ＡおよびＰＵ切り離し手段２０４Ａに対応し、同一の動作を行う。このため、以下では、計算機１０Ａの構成および動作について説明し、計算機１０Ｂの構成および動作については、重複した説明を省略する。
【００５０】
なお、Ａ／Ｄ変換器１１の故障率は、ＰＵ１Ａないし４Ａの故障率に比べて非常に低い。このため、この第３の実施形態では、ＰＵ１Ａないし４Ａ毎にＡ／Ｄ変換器を備える構成とせずに、ＰＵ１Ａないし４Ａで１つのＡ／Ｄ変換器１１Ａを共有する構成として、回路面積および回路規模を抑制している。
【００５１】
ＰＵ１ＡおよびＰＵ２Ａは、Ａ／Ｄ変換器１１Ａから入力されるデジタル変換後の系統量に基づいて、過電流リレー演算、不足電圧リレー演算、距離リレー演算などの数値演算（以下、リレー演算という）を行う。ＰＵ３ＡおよびＰＵ４Ａは、論理演算、遅延タイマー演算などのシーケンス演算を行い、主リレー１３Ａをトリップさせるかどうかを判定する。
【００５２】
図１６、図１７は、第３の実施形態に係る保護制御装置１の動作を示す図である。図１６、図１７は、それぞれＰＵ１ないしＰＵ４のいずれかに永久故障が生じた場合と一過性の故障が生じた場合の動作を説明する図である。以下、図１６、図１７を参照して保護制御装置１の動作を説明する。
【００５３】
（永久故障の場合）（図１６参照）
ＰＵ１のリレー演算（ｉ）の処理中に永久故障がＰＵ１に発生した場合を考える。この場合、ＰＵ１とＰＵ２におけるリレー演算（ｉ）の処理結果に不一致が生じる。不一致検出手段２０１Ａは、このＰＵ１とＰＵ２における処理結果に不一致を検出する。入れ替え手段２０２Ａは、不一致検出手段２０１で不一致が検出されると、ＰＵ１ないしＰＵ４のペアを入れ替える。図１６では、ＰＵ１とＰＵ３を第１のペアとし、ＰＵ２とＰＵ４を第２のペアとしている。
【００５４】
ペアの入れ替え後、再処理実行手段２０３Ａは、ロールバックにより、ＰＵ１とＰＵ３のペアにリレー演算（ｉ）を処理させる。ＰＵ１とＰＵ３は、リレー演算（ｉ）を処理する。ＰＵ２とＰＵ４のペアは、シーケンス演算（ｉ＋１）を処理する。この場合、ＰＵ１が故障しているためＰＵ１とＰＵ３のリレー演算（ｉ）の処理結果に不一致が生じる。不一致検出手段２０１Ａは、ＰＵ１とＰＵ３で処理されたリレー演算（ｉ）の処理結果の不一致を検出する。
【００５５】
ＰＵ１とＰＵ３での処理結果が同一とならない場合、ＰＵ切り離し手段２０４Ａは、ＰＵ１の切り離しを行い、ＰＵ１における演算処理を停止させる。また、ＰＵ切り離し手段２０４は、入れ替え手段２０２ＡのＰＵ１に関する不一致の検出動作を停止（ロック）する。これにより計算機１０全体としては障害がなくなるとともにＰＵ２およびＰＵ４については継続して２重化した状態で運用される。
【００５６】
（一過性故障の場合）（図１７参照）
ＰＵ１のリレー演算（ｉ）の処理中に一過性故障がＰＵ１に発生した場合を考える。この場合、ＰＵ１とＰＵ２におけるリレー演算（ｉ）の処理結果に不一致が生じる。不一致検出手段２０１Ａは、このＰＵ１とＰＵ２における処理結果に不一致を検出する。入れ替え手段２０２Ａは、不一致検出手段２０１Ａで不一致が検出されると、ＰＵ１ないしＰＵ４のペアを入れ替える。図１６では、ＰＵ１とＰＵ３を第１のペアとし、ＰＵ２とＰＵ４を第２のペアとしている。
【００５７】
ペアの入れ替え後、再処理実行手段２０３Ａは、ロールバックにより、ＰＵ１とＰＵ３のペアにリレー演算（ｉ）を処理させる。ＰＵ１とＰＵ３は、リレー演算（ｉ）を処理する。ここで、ＰＵ１に生じた故障が一過性の故障であるため、ＰＵ１に生じた故障は、ロールバック再処理時に回復している。このため、ＰＵ１とＰＵ３で処理されたリレー演算（ｉ）の処理結果は、同一となる。ＰＵ切り離し手段２０４Ａは、ＰＵ１の切り離しを行わず、計算機１０全体として故障がない状態（２重化した状態）で運用される。
【００５８】
なお、図１６、図１７では、ＰＵ１の故障を検出した際に、リレー演算（ｉ）だけでなく、シーケンス演算（ｉ）についても再度演算している。これは、リレー演算の処理結果をシーケンス演算で順次用いる必要があるためである。つまり、ＰＵ１の故障を検出した際に、シーケンス演算（ｉ）だけを先に進めてしまうと、シーケンス演算で用いるリレー演算の処理結果が入れ替わってしまい計算機１０Ａの誤作動が生じるためである。
【００５９】
以上のように、第３の実施形態に係る保護制御装置１は、ペア毎に同一の演算を処理し、該処理結果が一致するかどうかを判定する。そして、処理結果に不一致が検出された場合は、各ペアを構成するＰＵを入れ替え、入れ替え後のペアで再度演算を処理し、処理結果の不一致を検出する。入れ替え後のペアで処理結果に不一致がなければ、ＰＵの切り離しを行わず、処理結果に不一致が検出されれば、故障と判定されたＰＵを切り離す。発明の効果については、第１の実施形態と同じである。
【００６０】
なお、上記説明では、保護制御装置１の基本演算処理であるリレー演算とシーケンス演算をＰＵ１とＰＵ２のペア（第１のペア）と、ＰＵ３とＰＵ４のペア（第２のペア）とに割り振っているが、リレー演算とシーケンス演算を、第１または第２のペアで演算し、他方のペア（第２または第１のペア）に、リレー演算とシーケンス演算以外の処理（例えば、それ以外の時間制約の少ないヒューマンインタフェース関係の処理）を割り振ってもよい。
【００６１】
また、遮断機の副リレー２１Ｂを動作させる計算機１０Ｂに関しては、プロセッサを２重化せずに１つのプロセッサでリレー演算とシーケンス演算を処理してもよい。さらに、上記説明では、４つのプロセッサ（ＰＵ１ないしＰＵ４）に対して一つのＡ／Ｄ変換器１１を備えるように構成したが、プロセッサ毎にＡ／Ｄ変換器１１を備えるように構成してもよい。これによりＡ／Ｄ変換器１１の故障が発生した場合も保護制御装置１の動作を停止させる必要がなく、保護制御装置１の稼働率を向上させることが可能となる。この場合、故障したＡ／Ｄ変換器１１に対応するプロセッサが切り離されることになる。
【００６２】
（第３の実施形態の変形例）
図１８は、第３の実施形態の変形例に係る保護制御装置１Ａの構成を示す図である。第３の実施形態に係る保護制御装置１Ａは、計算機１０を一つしか備えない点で、第３の実施形態に係る保護制御装置１と異なる。この第３の実施形態に係る保護制御装置１Ａは、計算機１０が具備するＰＵ１とＰＵ２のペアで、主リレーのリレー演算およびシーケンス演算を処理し、ＰＵ３とＰＵ４のペアで、副リレー（フェイルセーフリレー）のリレー演算とシーケンス演算を処理する。
【００６３】
この第３の実施形態の変形例では、４つのプロセッサ（ＰＵ１ないしＰＵ４）でフェイルセーフ機能も含めた保護制御装置１Ａを構成できるため製造コストを抑制できる。その他の効果は第３の実施形態に係る保護制御装置１と同様である。
【００６４】
（その他の実施形態）
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、各プロセッサ（ＰＵ１ないし４）の故障は、ＣＰＵ１０１（演算部）から周囲のデバイス（以下、周辺デバイス）にアクセスした際に顕在化することに着目して、ＣＰＵ１０１から周辺デバイスへのアクセスをチェックポイントとしてもよい。このようにチェックポイントを設定すれば、周辺デバイスへのアクセスの内容を比較することで、それぞれのペアの処理結果の不一致を検出できる。さらに、チェックポイントごとにプロセスの状態（処理結果）を保存することでプロセッサを切り替えることができる。
【００６５】
また、周辺デバイスからの入力情報が時々刻々かわるようなシステムの場合には、プロセッサの切り替えにより入力情報が変わってしまう場合がある。このような場合には、図１９に示すように、入力情報を複製し各プロセスに入力する共有管理機構３０１（複製手段）を設けることでプロセッサの切り替えが可能となる。このように周辺デバイスへのアクセスを監視することで、プロセッサの故障時に、プロセッサを切り替える機構を容易に構築できる。
【００６６】
さらに、プロセスが回復しない場合、プロセッサが周辺デバイスへアクセスしないことが考えられることから、この周辺デバイスへのアクセスを監視するウオッチドッグタイマ３０２を設けてもよい。上記共有管理機構３０１、ウオッチドッグタイマ３０２の機能はプロセッサの外部に専用の処理手段を設けてもよいし、それぞれのプロセッサに機能を設けるようにしてもよい。上記機構を設けることで第１ないし第３の実施形態に係る計算機１０，２０を容易に構成できる。その他の効果は第１ないし第３の実施形態に係る計算機１０，２０と同様である。
【００６７】
また、第３の実施形態および第３の実施形態の変形例では、第１の実施形態に係る計算機１０を保護制御装置１へ適用した場合を説明したが、第２の実施形態に係る計算機２０を保護制御装置１へ適用してもよい。
【符号の説明】
【００６８】
１…保護制御装置、１０，２０…計算機、１１…Ａ／Ｄ変換器、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…不揮発性メモリ、１０５…Ｉ／Ｏ、２０１…不一致検出手段、２０２…入れ替え手段、２０３…再処理実行手段、２０４…ＰＵ切り離し手段、２０５…格納処理手段、３０１…共有管理機構、３０２…ウオッチドッグタイマ。
【図１】
2011113399.tif 000003
【図２】
2011113399.tif 000004
【図３】
2011113399.tif 000005
【図４】
2011113399.tif 000006
【図５】
2011113399.tif 000007
【図６】
2011113399.tif 000008
【図７】
2011113399.tif 000009
【図８】
2011113399.tif 000010
【図９】
2011113399.tif 000011
【図１０】
2011113399.tif 000012
【図１１】
2011113399.tif 000013
【図１２】
2011113399.tif 000014
【図１３】
2011113399.tif 000015
【図１４】
2011113399.tif 000016
【図１５】
2011113399.tif 000017
【図１６】
2011113399.tif 000018
【図１７】
2011113399.tif 000019
【図１８】
2011113399.tif 000020
【図１９】
2011113399.tif 000021