(57)【要約】  電子モジュールが提供される。電子モジュールは、第１のシステムおよび第２の冗長システムを含む。第１のシステムおよび第２の冗長システムは、電子モジュール内での故障を識別するために投票機能を実行するように別々に動作するヘルス管理タスクを有する少なくとも３つのプロセッサを含む。
2007538340.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２のプロセッサおよび第１の電源装置を有する第１のシステムと、
第３および第４のプロセッサおよび第２の電源装置を含む第２の冗長システムと、
前記第１、第２、第３、および第４のプロセッサに結合されているヘルス管理バスと
を含み、前記第１、第２、第３、および第４のプロセッサがそれぞれ、前記第１および第２のシステムにおける故障を識別するヘルス管理機能を実行する
システム。
【請求項２】
第１のシステムと、
第２の冗長システムと、
を含む電子モジュールであって、
前記第１のシステムおよび第２の冗長システムが、前記電子モジュール内での故障を識別するために投票機能を実行するように別々に動作するヘルス管理タスクを有する少なくとも３つのプロセッサを含む
電子モジュール。
【請求項３】
前記少なくとも３つのプロセッサ上の前記ヘルス管理タスクがヘルス管理バスを介して通信する請求項２に記載の電子モジュール。
【請求項４】
各システムが電源装置を含み、
各電源装置がダイオードＯＲアーキテクチャを使用して前記プロセッサのすべてに結合されている
請求項２に記載の電子モジュール。
【請求項５】
第１の電源装置を有する第１のシステムと、
第２の電源装置を有する第２の冗長システムと、
を含む電子モジュールであって、
前記第１のシステムおよび第２の冗長システムが、前記電子モジュール内での故障を識別するために投票機能を実行するように別々に動作するヘルス管理タスクを有する少なくとも３つのプロセッサを含んでおり、
前記少なくとも３つのプロセッサ間に通信を提供するための、前記第１および第２のシステムに結合されているヘルス管理バス
を含み、前記第１の電源装置および前記第２の電源装置が、各プロセッサに冗長電力を提供するために、前記プロセッサのそれぞれに結合されている
電子モジュール。
【請求項６】
２つの冗長システムおよび少なくとも３つのプロセッサを有する電子モジュールにおける故障を識別する方法であって、
前記冗長システムの前記少なくとも３つのプロセッサのそれぞれにおいてヘルス・チェック・プログラムを実行するステップと、
前記プロセッサのうちの１つを調整役として指定するステップと、
前記ヘルス・チェック・プログラム結果を前記プロセッサのそれぞれから受信するステップと、
前記ヘルス・チェック・プログラム結果の投票を数えるステップと、
前記電子モジュールに故障があるかどうかを決定するステップと
を含む方法。
【請求項７】
前記ヘルス・チェック・プログラム結果を受信するステップが、前記ヘルス・チェック・プログラム結果をヘルスバスを介して受信するステップを含む請求項６に記載の方法。
【請求項８】
故障があるかどうかを決定するステップが、少数票があるかどうかを決定するステップを含む請求項６に記載の方法。
【請求項９】
故障が検出されると、補正処置を行うステップをさらに含む請求項６に記載の方法。
【請求項１０】
補正処置を行うステップが、システムをシャットダウンするステップと、前記システムを再起動するステップと、カードをリセットするステップとのうちの１つを含む請求項９に記載の方法。
【請求項１１】
電子モジュールにおける故障を識別する方法であって、
第１のシステムおよび第２の冗長システムにおける少なくとも３つのプロセッサにより前記電子モジュールのヘルス状態を監視するステップと、
前記少なくとも３つのプロセッサのそれぞれから前記少なくとも３つのプロセッサの他のものに、前記電子モジュールのヘルス状態に関する信号を渡すステップと、
前記少なくとも３つのプロセッサのうちの少なくとも１つにおいて、
前記少なくとも２つの他のプロセッサからの前記信号を、前記監視下のヘルス状態に相関させるステップと、
前記信号の前記監視下のヘルス状態との相関に基づいて、前記電子モジュールにおける故障があるかどうかを決定するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に冗長システムの分野に関し、より詳細には、冗長システムを備えるアーキテクチャにおける単一フォールトトレランスに関する。
【背景技術】
【０００２】
時として、電子システムは、正常パラメータ外で動作し、それによって不良データを生成する可能性がある。一部の状況では、これらのシステムの障害は、破局的な場合がある。例えば、ジェットエンジンや他の宇宙航行体の電子制御システムの障害は、航行体を望ましい軌道から逸脱させ、それによって搭乗者、他の車両の搭乗者、または地上の見物人の生命を危険にさらす可能性がある。結果として、あるシステムが故障したときに、１次ユニットの代わりにバックアップシステムがオンラインになって機能するように、多くのシステムは、冗長構成要素を含む。
【０００３】
問題がさらに複雑なことに、電子システムが適切に機能していないときが常に直接わかるとは限らない。例えば、システムは依然としてデータを生成する可能性があるが、データは正しくない場合がある。戦闘では、将軍は、戦争中に監視者から常に正確なデータを得られるとは限らないため、これは一般に「ビザンチン将軍問題」と呼ばれる。この問題と闘うために、不良データを分離できるように、一般に、複数のソースからのデータが調べられる。同様に、電子システムにおいて、不良データから良好なデータを識別するために、投票機構が使用される。投票機構は、冗長システムの同時出力を調べて、正しいデータを決定する。
【０００４】
投票機構を使用する１つの仮定は、故障が一度に１つだけ起こることである。この単一の故障の仮定は、障害のある出力の識別を可能にする。通常、１つのシステムが故障すると、それを他の２つによって識別することができるように、３つのシステムが同時に動作する。本質的に、第３のシステムが決定票を投じる。システムが２つしか使用されていない場合、エラーを識別することは可能であるが、どの出力が正しいかは識別できない。
【０００５】
例えばミサイルなどの宇宙航行体のナビゲーションシステムは、航行体をプログラムされた軌道から逸脱させ得る故障の可能性を被りやすい。ナビゲーションシステムの１つのタイプは、宇宙ベース統合全地球測位／慣性航法システム（Ｓｐａｃｅ  ｂａｓｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ／Ｉｎｅｒｔｉａｌ  ｎａｖｉｇａｔｉｏｎ  ｓｙｓｔｅｍ：ＳＩＧＩ）と呼ばれる。ビザンチン問題を克服するために、３つの冗長ＳＩＧＩシステムを使用することが可能である。しかし、これは、各ＳＩＧＩシステムの費用のために、非常に高価な提案である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、当技術分野では、冗長システムを有するアーキテクチャにおけるビザンチン問題を克服するためのより低コストのソリューションを提供する改良されたアーキテクチャが必要である。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、冗長システムにおいてデュアルプロセッサを使用し、それによって第３のシステムの必要性を低減することによって、ビザンチン問題に取り組む。一実施形態では、電子モジュールが提供される。電子モジュールは、第１のシステムおよび第２の冗長システムを含む。第１のシステムおよび第２の冗長システムは、電子モジュール内での故障を識別するために投票機能を実行するように別々に動作するヘルス管理タスクを有する少なくとも３つのプロセッサを含む。
【発明を実施するための最良の形態】
【０００８】
好ましい実施形態の以下の詳細な説明では、本明細書の一部を形成しており、本発明が実施され得る特定の実施形態が例として示されている添付の図面が参照される。本発明の範囲から逸脱することなく、他の実施形態が使用されてもよく、また構造的な変更が行われてもよいことを理解されたい。
【０００９】
図１は、第１のシステム１０２および第２の冗長システム１２２を有する単一フォールト・トレラント・アーキテクチャを備える、全体的に１００で示されているシステムの一実施形態の図である。システム１００は、システム１０２および１２２のそれぞれにおいてデュアルプロセッサの処理能力を活用することによって、２つの冗長システムのみで単一フォールトトレランスを有利に達成する。一実施形態では、システム１００は、冗長のために設けられた２つのＳＩＧＩシステムを備えるデュアル宇宙ベース統合ＧＰＳ／ＩＮＳ（ＳＩＧＩ）システムを含む。一実施形態では、システム１０２および１２２は、機能強化されたＳＩＧＩ（Ｅｎｈａｎｃｅｄ  ＳＩＧＩ：Ｅ−ＳＩＧ１）システムを含む。機能強化されたＳＩＧＩシステムは、デュアルプロセッサを有するという点で、一般のＳＩＧＩシステムに比べて優れている。第１のシステム１０２は、第１のプロセッサ１０４および第２のプロセッサ１１６を有する。同様に、第２のシステム１２２は、第１のプロセッサ１２４および第２のプロセッサ１３６を有する。
【００１０】
第１および第２のシステム１０２および１２２において、プロセッサ１０４、１１６、１２４、および１３６のそれぞれは、システム１００の通常動作のために指定された機能を実行するようにプログラムされている。例えば、Ｅ−ＳＩＧＩシステムのプロセッサは、関連の宇宙航行体の飛行制御およびナビゲーション機能を提供する。一実施形態では、プロセッサ１０４および１２４は、宇宙航行体のナビゲーション機能を実行する。一実施形態では、他方のプロセッサ１１６および１３６は、飛行制御およびミッションプロセスを行う。
【００１１】
各プロセッサによって実行される通常のシステム機能に加えて、本発明の実施形態は、各プロセッサ上でヘルス管理アプリケーションを別々に稼働させることによって、４つのプロセッサの存在を活用してビザンチン将軍問題を克服する。これは、正常パラメータ内で動作していないシステム構成要素を識別するために、４つの投票を提供する。したがって、各プロセッサ１０４、１１６、１２４、および１３６は、２つの別個の機能を行う。これらの機能のうちの１つは、システムプロセッサ１０６、１１８、１２６、および１３８によって表される正常なシステム機能を含む。各プロセッサは、ヘルス管理プロセッサ１０８、１２０、１２８、および１４０によって表されるヘルス管理機能も行う。ヘルス管理プロセスについては、プロセッサ１０４、１１６、１２４、および１３６のそれぞれは、システム１００における他のプロセッサと関係なく動作する。
【００１２】
プロセッサ１０４、１１６、１２４、および１３６は、ヘルス管理バス１４２により相互接続されている。ヘルス管理バスは、各プロセッサによって決定されたヘルス情報を、他のプロセッサのそれぞれの上で稼働するヘルス管理プロセスに提供する。各投票者（プロセッサ）のヘルス状態は、他の投票者のそれぞれによって共有され、第１および第２のシステム１０２および１２２がどのように機能しているかを決定することができる。プロセッサのうちの１つが他のプロセッサと異なる情報を提供するとき、故障が分離されている。
【００１３】
ヘルス管理バス１４２は、例えば監視下の電圧、チェックサム、サブモジュールの状態（ＧＰＳ受信機が初期モード（ｉｎｉｔ  ｍｏｄｅ）か運転モードか）など、いくつかのパラメータに関するデータを様々なプロセッサ間に提供する。各サブモジュールの状態は、無効なワードカウント、無効なメッセージ番号、ハードウェア構成の不整合、振動モニタ障害、Ｄ／Ａ比較、温度センサ障害、デジタイザ飽和障害（ｄｉｇｉｔｉｚｅｒ  ｓａｔｕｒａｔｉｏｎ  ｆａｉｌｕｒｅ）など、考え得る故障の詳細の拡張を提供する。
【００１４】
ヘルス管理バスの機能は、プロセッサ間にシステムのヘルス状態を伝えることである。一実施形態では、ヘルス管理システムは、フォールトトレラント１５５３バスまたは光結合型バス（ｏｐｔｏｃｏｕｐｌｅｄ  ｂｕｓ）のいずれかを介して行われる。一実施形態では、ヘルス管理バスは、トランス結合型バス（ｔｒａｎｓｆｏｒｍｅｒ  ｃｏｕｐｌｅｄ  ｂｕｓ）である。
【００１５】
投票プロセスは、システム１００内の様々なパラメータの状態、したがって故障を決定するために、すべてのプロセッサを使用して行われる。各プロセッサは、投票プロセス中、同じ情報を受信し、同じ機能を実行する。通常、プロセッサのうちの１つは、投票プロセスの調整役として機能する。
【００１６】
故障を識別するための投票プロセスの一実施形態については、図２との関連で後述する。
図１において、第１のシステム１０２および第２のシステム１２２は、冗長のために交差接続（ｃｒｏｓｓ−ｓｔｒａｐ）された電源装置１１２および１３２をそれぞれ有している。電源装置の交差接続は、一方の電源装置またはプロセッサ回路カードが正しく作動しない場合でも、すべてのプロセッサに依然として電力が供給されることを確実にするために使用される。一方の電源装置が故障した場合でも、関連するプロセッサは、（他の態様、例えばＧＰＳ受信機に電力が供給されない場合でさえ）依然として動作することができる。電源装置１１２および１３２は、結合され、４つのプロセッサ１０４、１１６、１２４、および１３６に電力を提供する。電源装置１１２および１３２は、ダイオード１１０、１１４、１３０、および１３４を使用するダイオードＯＲアーキテクチャを使用して交差接続される。これは、電源装置が故障した場合、冗長を確実にする。一実施形態では、電源装置の冗長は、プロセッサからのみ使用可能である。
【００１７】
図１の実施形態は、各プロセッサ上で稼働するヘルス管理タスクを備える４つのプロセッサを有するシステムに関して記載されている。しかし、このアプリケーションでは、ヘルス管理タスクが同時に４つすべてのプロセッサ上で稼働する必要はないことを理解されよう。一実施形態では、ヘルス管理タスクは、４つのプロセッサのうちの３つの上でしか稼働しない。これは、単一の故障の場合、依然として必要な決定票を提供する。
【００１８】
図２は、本発明の教示による、デュアルプロセッサを備える冗長システムを有するシステムにおける冗長アーキテクチャの動作の方法の一実施形態のフローチャートである。図２の方法は、ブロック２０２で開始し、各プロセッサにおいてヘルス・チェック・プログラムを実行する。ブロック２０４で、プロセッサのうちの１つが調整役として指定される。次いでこの方法は、ブロック２０６に進み、ヘルス・チェック・プログラムの結果がプロセッサから受信される。ブロック２０８で、プロセッサのそれぞれからの投票が数えられる。ブロック２１０で、少数票の存在がチェックされる。少数票がない場合、システムにおいて障害がなく、ブロック２１６で方法が終了する。あるいは、少数票があるとき、方法はブロック２１２に進む。ブロック２１２で、故障したシステムが識別される。冗長システムのいずれかの単一の故障を検出することができる。次いでこの方法は、ブロック２１４に進み、障害のあるシステムが識別され、適切な補正処置が行われる。例えば、投票が電源装置に関する問題を検出した場合、システム全体が停止され、再起動されることがある。一方、冗長システムの一方における特定のカードに関する問題が識別された場合、特定のカードは、適切なコマンドを使用してリセットされ得る。投票プロセスにより識別された問題の性質が与えられると、他の適切なステップがとられる。ブロック２１４の後、ブロック２１６で方法が終了する。
結言
本発明の実施形態について記載してきた。実施形態は、ビザンチン問題を克服することができる冗長アーキテクチャを提供する。通常、適切な投票を確立するために３つのシステムが必要であり、それによってアーキテクチャの全コストが増える。本発明は、この問題に打ち勝ち、アーキテクチャのコストを低減し、システム２つだけで、どのシステムが問題を有しているかを決定することができるようにする。
【００１９】
本明細書において、特定の実施形態が示され、記載されてきたが、示された特定の実施形態の代わりに、同じ目的を達成するために計算された任意の構成が使用されてもよいことを当業者は理解されよう。本出願は、本発明の任意の改変または変形をカバーするものとする。
【図面の簡単な説明】
【００２０】
【図１】デュアルプロセッサを備える冗長システムを有する単一フォールト・トレラント・アーキテクチャの一実施形態を示す図である。
【図２】デュアルプロセッサを備える冗長システムを有する単一フォールト・トレラント・アーキテクチャの動作の方法の一実施形態を示すフローチャートである。
【図１】
2007538340.tif 000003
【図２】
2007538340.tif 000004
【国際調査報告】
2007538340.tif 000005
2007538340.tif 000006