(57)【要約】  処理システムは複数の処理装置及び比較装置を含む。処理システムを制御する方法は、割り当てられた処理方法を用いて処理装置によって同じ入力情報を処理するステップと；それぞれ行われた処理に応じてそれぞれの処理方法の特性を供給するステップと；比較装置によって特性を比較するステップと；比較に基づいて誤動作している処理方法を判定するステップとを含む。誤動作している処理方法は、同じ処理装置で再開される処理方法によって代替される。
2020518924.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理装置（１０５，１１０，１１５）及び比較装置（１２０）を有する処理システム（１００）を制御する方法（２００，３００，４００）において、
割り当てられた処理方法（Ａ１，Ａ２，Ａ３）を用いて処理装置（１０５〜１１５）によって同じ入力情報（１２５）を処理するステップ（２１５）と、
それぞれ行われた処理に応じてそれぞれの処理方法（Ａ１〜Ａ３）の特性（１４５）を供給するステップと、
比較装置（１２０）によって特性（１４５）を比較し、比較に基づいて、誤動作している処理方法（Ａ１〜Ａ３）を判定するステップと
を含み、
誤動作している処理方法（Ａ１〜Ａ３）を同じ処理装置（１０５〜１１５）で再開される処理方法（Ａ´１，Ａ´２，Ａ´３）によって代替する方法（２００，３００，４００）。
【請求項２】
請求項１に記載の方法（２００）において、
それぞれの処理装置（１０５〜１１５）で別の処理方法（Ａ´１〜Ａ´３）を周期的に再開し、入力情報（１２５）によって初期化（２２５）し、
全ての処理装置（１０５〜１１５）における既存の処理方法（Ａ１〜Ａ３）を他の処理方法（Ａ´１〜Ａ´３）によって代替する方法。
【請求項３】
請求項１に記載の方法（３００）において、
それぞれの処理装置（１０５〜１１５）で別の処理方法（Ａ´１〜Ａ´３）を再開し、入力情報（１２５）によって初期化し、
誤動作している処理方法（Ａ２）が行われている処理装置（１１０）をリセットし（２６０）、
該処理装置（１１０）で処理方法（Ａ´２）を再開し、入力情報（１２５）によって初期化し（２６５）、
他の処理装置（１１０，１１５）で既存の処理方法（Ａ１，Ａ３）を別の処理方法（Ａ´１，Ａ´３）によって代替する方法。
【請求項４】
請求項１に記載の方法（３００）において、
誤動作している処理方法（Ａ２）が行われている処理装置（１１０）をリセットし、
該処理装置（１１０）で処理方法（Ａ´２）を再開し、入力情報（１２５）によって初期化し（２６５）、
他の処理装置（１０５，１１５）でそれぞれ別の処理方法（Ａ´１，Ａ´３）を再開し、入力された情報（１２５）によって初期化し（２７５）、
他の処理装置（１０５，１１０）で、既存の処理方法（Ａ１，Ａ３）を別の処理方法（Ａ´１，Ａ´３）によって代替する方法。
【請求項５】
請求項１から４までのいずれか１項に記載の方法（２００，３００，４００）において、
少なくとも２つの処理装置（１０５〜１１５）の処理方法（Ａ１〜Ａ３）が同じである方法。
【請求項６】
請求項１から５までのいずれか１項に記載の方法（２００，３００，４００）において、
少なくとも３つの処理方法（Ａ１〜Ａ３）が設けられており、該処理方法（Ａ１〜Ａ３）の特性（１４５）が他の処理装置（Ａ１〜Ａ３）の特性（１４５）と異なり、その他の特性（１４５）が一致している場合に、処理方法（Ａ１〜Ａ３）が誤動作していると判定する方法。
【請求項７】
コンピュータ・プログラム製品において、
該コンピュータ・プログラム製品が処理装置（１０５〜１１５）で実行される場合又はコンピュータ可読のデータ担体に記憶されている場合に、請求項１から６までのいずれか１項に記載の方法（２００，３００，４００）を実施するためのプログラムコード手段を備えるコンピュータ・プログラム製品。
【請求項８】
処理システム（１００）が、
それぞれ割り当てられた処理方法（Ａ１〜Ａ３）によって同じ入力情報（１２５）を処理し、処理に応じて特性（１４５）を供給するように構成された複数の処理装置（１０５〜１１５）と、
特性（１４５）を比較し、比較に基づいて、誤動作している処理方法（Ａ１〜Ａ３）を判定するように構成された比較装置（１２０）と
を備え、
それぞれの処理装置（１０５〜１１５）が、該処理装置で行われている処理方法（Ａ１〜Ａ３）が誤動作していると判定された場合には、再開された処理方法（Ａ´１〜Ａ´３）によって代替するように構成されている処理装置（１００）。
【請求項９】
請求項８に記載の処理システム（１００）において、
少なくとも２つの処理装置（１０５〜１１５）が同じように構成されている処理システム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理装置を有する冗長処理システムに関する。特に、本発明は、自動車に搭載された処理システムに関する。
【背景技術】
【０００２】
安全性が重要なプロセス、例えば車両の制御は、並列して動作する複数の処理装置によって実施することができる。それぞれの処理装置には同じ入力情報が供給され、情報の処理が同じ方法で行われる。処理装置の結果は、処理装置のうちの１つが誤動作しているかどうかを判定するために互いに比較することができる。このタスクは、一般に、処理装置とは異なる装置によって実行される。エラーがあると判定された処理装置は、処理された情報を危険にさらさないように停止することができる。この処理装置は、全ての処理装置が再開された場合に再び作動することができる。再開は、通常、車両の停止と再始動との間に行う。
【０００３】
ドイツ連邦共和国特許出願公開第１０２００５０３７２４５号明細書は、少なくとも２つの実行ユニットを有するコンピュータシステムを制御するための方法及び装置に関する。
【０００４】
このアプローチは、複数の方法を１つの処理装置で同時に実施できることによって改良されている。可用性要件が増大するにつれて、どの程度まで検出されたエラーを修復することができ、処理システムをエラーのないシステム状態に戻すことができるかという問題が生じる。誤動作している処理方法は、システム状態又は別の処理方法のパラメータに基づいて再開してもよい。しかしながら、これは、通常、所定の頻度で全ての処理方法のシステム状態を完全に記憶することを前提とする。システム状態が複雑である場合、例えば、過去の時間範囲の入力データ及び／又は情報処理モデルを含む場合、記述された情報を一方の処理システムから他方の処理システムへ伝送するために、広い帯域幅が必要とされる。特に、ビデオデータを処理する場合には、処理システムは、エラー発生時には修理のために許容されるよりも長い時間を要する程、多くの情報を伝送しなければならない場合もある。
【０００５】
そこで、本発明の基礎をなす課題は、複数の処理方法を実施する処理システムをエラー発生時に再同期させることができる、改良された技術を提供することである。本発明は、独立請求項の対象によってこの課題を解決する。従属請求項は、好ましい実施形態を示す。
【発明の概要】
【０００６】
処理システムは、複数の処理装置及び比較装置を含む。処理システムを制御する方法は、割り当てられた処理方法を用いて処理装置によって同じ入力情報を処理するステップと；それぞれ行われた処理に応じてそれぞれの処理方法の特性を供給するステップと；比較装置によって特性を比較するステップと；比較に基づいて誤動作している処理方法を判定するステップとを含む。誤動作している処理方法は、同じ処理装置で再開される処理方法によって代替することができる。
【０００７】
処理方法を実施するために必要なパラメータを一方の処理装置から他方の処理装置へ伝送する代わりに、１つの処理装置で同時に複数の処理方法を開始することが提案される。再開された処理方法は、例えば、物理モデル、アルゴリズム、又は数学的フィルタが、意図された処理のために十分に整合しているように、入力情報に基づいて初期化することができる。このためには、例えば、所定数のエポック（測定データ間隔）の処理が必要となる場合がある。再開された処理手順が整合されると、同じ処理装置で行われている元の処理方法を設定することができる。したがって、処理装置が中断されることなしに処理された情報を供給することができるように、古い処理方法を新しい処理方法により代替することができる。
【０００８】
この基本的な手順のために幾つかの変形例が提示される。これらの方法の明らかな変更又はこれらの方法の特徴の互いの組み合わせは本発明に明確に含まれる。
【０００９】
第１の変形例では、それぞれの処理装置で別の処理方法が周期的に再開され、入力情報によって初期化される。全ての処理装置における既存の処理方法は、他の処理方法によって代替される。言い換えれば、エラーの発生にかかわらず、現在の処理方法から再開された処理方法への周期的な移行をそれぞれの処理装置で行うことができる。別の処理方法は、好ましくは、元の処理方法が依然として行われている間に開始される。別の処理方法が十分に整合されるとすぐに、古い処理方法から新しい処理方法への移行を行うことができる。このために、古い処理方法を停止し、処理装置によって除去することができる。
【００１０】
処理方法を周期的に再開することにより、例えばメモリリークなどのエラーによる障害が大きくなることを防止することができる。特に、処理装置における処理方法を互い違いにすることができ、すなわち、時間的にずらして再開することができる。これにより、全ての処理方法の処理に関連するエラーを時間的に無相関化することができる。これにより、エラーが全ての関連する処理方法又は処理装置に同時に影響を及ぼす確率を大幅に低減することができる。
【００１１】
第２の変形例では、第１の変形例と同様に、それぞれの処理装置で別の処理方法が再開され、入力情報によって初期化される。処理方法のうちの１つが誤動作していると判定された後には、誤動作している処理方法が行われている処理装置をリセットすることができる。あるいは、処理装置自体を再起動することなしに処理方法を終了し、新たな処理方法を開始し、初期化することもできる。処理装置で作動している運転システムは継続して作動することができる。次に、処理装置は、運転可能状態となるように再び起動することができ（システムスタート、ブート）、続いて、この処理装置で処理方法が再開され、入ってくる入力情報によって初期化することができる。初期化が完了するとすぐに、他の処理装置で既存の処理方法を別の処理方法によって代替することができる。この移行は、別の処理方法が既に初期化されており、直ちに使用することができるので、特に迅速に行うことができる。
【００１２】
第３の変形例では、上述したように、誤動作している処理方法が行われている処理装置がリセットされる。その後、この処理装置で処理方法が再開され、入力情報によって初期化される。他の処理装置ではそれぞれ別の処理方法が再開され、同様に入力された情報によって初期化される。次いで他の処理装置では、既存の処理方法が別の処理方法によって代替される。
【００１３】
この変形例では、新たな処理方法が非周期的に開始される。誤動作している処理方法が識別された場合にはじめて、このエラーによって影響されない処理装置において、作動しているアプリケーションのコピーが作成される。誤動作している処理方法が以前に行われていた処理装置で、初期化された処理方法の開始と同時に、古い処理方法から新しい処理方法への切換を行うことができる。
【００１４】
この方法は、異なる環境において異なる技術で適用することができる。特に、複数の処理装置で異なる処理方法を行うこともできる。しかしながら、少なくとも２つの処理装置の処理方法は同じであることが好ましい。全ての処理装置の処理方法が同じであることがさらに好ましい。
【００１５】
どの処理方法が誤動作しているかを判定するために、好ましくは少なくとも３つの処理方法が設けられている。これらの処理方法は、より好ましくは、３つの処理装置が必要とされるように、対になった互いに異なる処理装置で実施される。処理方法は、処理方法の特性が他の処理装置の特性と異なる場合には誤動作していると判定することができる。他の処理装置の特性は一般に同じである。例えば、出力値、中間結果、多数のパラメータ（特に、シグネチャ、例えばハッシュ値）の要約、メモリダンプ、パラメータ又は変数セット、又は他の情報を特性として使用することができる。特性は、例えば、モデルの変更、メモリエラー、予期せぬ事象、又は基礎となる処理装置の領域における技術的エラーに基づいて処理方法が変更された場合に変化するように決定されることが好ましい。さらに好ましくは、特性は、できるだけ処理装置に大きい負荷を加えることなしに、容易に決定することができるように設定されている。特性は、比較装置への伝送及び比較装置における評価を容易にするために、有利には小さい範囲を有することも望ましい。
【００１６】
コンピュータ・プログラム製品は、コンピュータ・プログラム製品が処理装置で実行される場合又はコンピュータ可読のデータ担体に記憶されている場合に、上述の方法を実施するためのプログラムコード手段を含む。
【００１７】
方法及び前述の処理方法はいずれもそれぞれ、プログラム可能なマイクロコンピュータ又はマイクロプロセッサで実行することができる。以下により詳細に説明するように、特に、方法の一部もしくは処理方法の一部を分散して、又は同時に（並列して）実施することが可能である。方法の利点又は特徴は、以下により詳細に説明するように、処理システムに転用することもでき、又はその逆もいえる。
【００１８】
処理システムは、それぞれ割り当てられた処理方法によって同じ入力情報を処理し、処理に応じて特性を供給するように構成された複数の処理装置と、特性を比較し、比較に基づいて誤動作している処理方法を判定するように構成された比較装置とを備える。この場合、それぞれの処理装置は、処理装置で行われている処理方法が誤動作していると判定された場合、その処理装置で行われている処理方法を再開された処理方法によって代替するように設定されている。
【００１９】
それぞれの処理装置は、特に、プログラム可能なマイクロコンピュータ、マイクロプロセッサ、又はマイクロプロセッサの処理コアを含むことができる。比較装置は、別のマイクロコンピュータ、マイクロプロセッサ又はマイクロコントローラを含んでいてもよい。
【００２０】
処理手段のうちの少なくとも２つが同じように構成されていることが好ましい。全ての処理装置が同じ構造を有することがさらに好ましい。
【００２１】
次に添付の図面を参照して本発明をより詳細に説明する。
【図面の簡単な説明】
【００２２】
【図１】処理システムを示す図である。
【図２】第１の方法のフロー図である。
【図３】第２の方法のフロー図である。
【図４】第３の方法のフロー図である。
【発明を実施するための形態】
【００２３】
図１は、情報を冗長に処理するように設定された処理システム１００を示す。処理システム１００は、特に、リアルタイムで処理可能であってもよく、例えば、自動車、特に乗用車の運転者に依存しない制御のために設定されていてもよい。例示的な実施形態では、処理システム１００は、第１の処理装置１０５、第２の処理装置１１０、第３の処理装置１１５、及び比較装置１２０を備える。図示の実施形態では、３つの処理装置１０５〜１１５が提供されている。他の実施形態では、２つのみ又は４つ以上の処理装置を使用してもよい。それぞれの処理装置は、好ましくはプログラム可能なマイクロコンピュータによって形成される。それぞれ処理装置１０５〜１１５では、割り当てられた処理方法が行われる。この場合、第１の処理装置１０５には第１の処理方法Ａ１が割り当てられており、第２の処理装置１１０には第２の処理方法Ａ２が割り当てられており、第３の処理装置１１５には第３の処理方法Ａ３が割り当てられている。比較器１２０は、好ましくはマイクロコントローラとして構成されているが、マイクロコンピュータを含んでいてもよい。図示の実施形態では、比較装置１２０で比較方法Ｖが行われる。
【００２４】
この処理システム１００は、入力情報１２５を処理するように構成されており、これらの入力情報は、例えば所定の頻度でビデオカメラ１３０によって供給してもよい。
【００２５】
この場合、入力インタフェース１３５が設けられており、この入力インタフェース１３５を介して入力情報１２５を処理システム１００に伝送することができる。処理装置１０５〜１１５で処理方法Ａ１〜Ａ３によって入力情報１２５を処理した後に、出力インタフェース１４０を介して処理結果を提供することができる。
【００２６】
誤動作している処理方法Ａ１〜Ａ３が処理データを危険にさらさないことを保証するために、それぞれの処理方法Ａ１〜Ａ３又はそれぞれの処理装置１０５〜１１５は、プロセス制御されて、又は周期的に、それぞれの処理を示す特性（パラメータ）１４５を供給する。比較装置１２０及び比較方法Ｖは、特性１４５を互いに及び／又は所定の値と比較して、処理方法Ａ１〜Ａ３のいずれかに異常が生じているか否かを判定する。異常が生じている場合には、処理方法Ａ１〜Ａ３が誤動作していると判定された処理装置１０５〜１１５に、比較装置１２０の信号によって、処理方法Ａ１〜Ａ３を再開するように、又は再開された処理方法Ａ１〜Ａ３によって交代又は代替するように要求することができる。このために、図２〜図４を参照して以下により詳細に説明する異なる変形例が提案される。比較方法Ｖは、異常の場合には、特に、エラー状態の解消に関して処理方法Ａ１〜Ａ３のうちの１つを制御し、及び／又は処理方法Ａ１〜Ａ３の処理結果を、特に多数決に基づいて判定又は変更するように設定してもよい。
【００２７】
図２〜図４は同じ表示形式に従っている。水平方向には時間ｔが記入されており、垂直方向には、処理方法Ａ１〜Ａ３及び比較方法Ｖが、バーとして互いに上下に重ねて示されている。図示されたバーは、それぞれの方法Ａ１〜Ａ３、Ｖがいつ行われているか、及びいつ行われていないかを示すために中断されている。この表示は純粋に例示的であり、図解的である。暗いバーは、基礎となる処理装置１０５〜１１５が再起動されることを示す。このプロセスは、コンピュータに関連してブートとして知られており、特に、方法Ａ１〜Ａ３の実施を制御もしくは可能にするそれぞれの処理装置１０５〜１１５で運転システムをロードし、起動することを含むことができる。
【００２８】
平行線を付したバーは、処理方法Ａ１〜Ａ３が初期化されていることを示している。初期化は、所定の期間又は所定数の測定エポックにわたる入力情報１２５の供給を必要とする。供給された入力情報１２５に基づいて、処理方法Ａ１〜Ａ３に含まれていてもよいフィルタ、特性、又はモデルが構成されるか、又は整合される。例えば、処理方法Ａ１〜Ａ３はカルマンフィルタを含むことができ、カルマンフィルタは、本質的に再帰的に動作し、多数の入力情報１２５の後にようやく有用な結果を供給する。明るいバーは、処理方法Ａ１〜Ａ３の一般的な手順を表す。１つの時点に処理装置１０５〜１１５で２つ以上の処理方法Ａ１〜Ａ３が行われる場合、最後に開始された処理方法はダッシュ（´）を備え、Ａ´１をＡ´３によって示される。その後、同じ処理装置１０５〜１１５で行われている処理方法Ａ１〜Ａ３のいずれかが終了すると、残りの処理方法が自動的にダッシュなしにＡ１〜Ａ３によって示される。
【００２９】
図２は、図１に示した処理システム１００を制御するための第１の方法２００のフロー図を示す。好ましくは、処理装置及び比較装置１０５〜１２０は、第１のステップ２０５で再起動（ブート）される。続いて、ステップ２１０において、処理方法Ａ１〜Ａ３が処理装置１０５〜１１５で初期化される。その後、ステップ２１５では、通常の処理方法Ａ１〜Ａ３のフローが実行される。ステップ２２０において、処理方法Ａ１〜Ａ３と同時に行われる新しい処理方法Ａ´１〜Ａ´３が全ての処理装置１０５〜１１５で開始される。
【００３０】
ステップ２２５では、再開された処理方法Ａ´１〜Ａ´３が初期化され、同時に、処理方法Ａ１〜Ａ３が正常に行われ、入力情報１２５に基づいて処理された情報を供給する。新しい処理方法Ａ´１〜Ａ´３が完全に初期化された場合、これらの処理方法Ａ´１〜Ａ´３はステップ２３０において処理方法Ａ１〜Ａ３を代替する。再開された処理方法Ａ´１〜Ａ´３は処理方法Ａ１〜Ａ３となり、方法２００はステップ２１５に進む。
【００３１】
図３は、図１の処理システム１００を制御するための第２の方法３００を示している。図３では、ステップ２０５及び２１０が既に行われたと仮定する。図３はステップ２１５で始まり、処理方法Ａ１〜Ａ３は、割り当てられた処理装置１０５〜１１５で正常に実施される。ステップ２４０では、既存の処理方法Ａ１〜Ａ３に加えて、新たな処理方法Ａ´１〜Ａ´３が処理装置１０５〜１１５で開始され、次のステップ２４５で初期化される。ステップ２４０及び２４５は、本質的に図２の方法２００のステップ２２０及び２２５に対応する。しかしながら、その後、処理方法Ａ１〜Ａ３は、新たな処理方法Ａ´１〜Ａ´３に変更されるのではなく、再開された処理方法Ａ´１〜Ａ´３は、バックグラウンドで動作するか、又は中断され、ステップ２５０では、ステップ２１５に対応する通常の処理が実施される。
【００３２】
実施形態にエラー２５５があると判定された場合（図では第２の処理方法Ａ２である）には、割り当てられた処理装置１１０はステップ２６０で再開される（ステップ２０５参照）。ステップ２６５では、続いて処理方法Ａ´２が開始され、再始動された処理装置１１０で開始され、初期化される。続いてステップ２７０で、エラー２５５に該当しなかった処理装置１０５，１１５では、それぞれ現在の処理方法Ａ１，Ａ３が、続いて開始された処理方法Ａ´１，Ａ´３によって代替される。その後、ステップ２１５と同様に再び処理を行うことができる。
【００３３】
図４は、図１の処理システム１００を制御するための第３の方法４００のフロー図を示す。上記のステップ２０５，２１０及び２１５は、エラー２５５が判定されるまで実施され、エラー２５５は、ここでも例示的に第２の処理装置１１０の第２の処理方法Ａ２に関する。その結果、エラーに該当した第２の処理装置１１０は、ステップ２６０で再起動される。ステップ２７５において、全ての処理装置１０５〜１１５で新しい処理方法Ａ´１〜Ａ´３が開始される。その後、ステップ２７０において、再起動された処理方法Ａ´１，Ａ´３に切り換え、ステップ２１５おける正常な実施モードを再開することができる。
【図１】
2020518924.tif 000003
【図２】
2020518924.tif 000004
【図３】
2020518924.tif 000005
【図４】
2020518924.tif 000006
【国際調査報告】
2020518924.tif 000007
2020518924.tif 000008