(57)【特許請求の範囲】
【請求項１】
第１のノードの自ノードステータスと少なくとも１つの第２のノードステータスとを診断することにより、前記第１のノードで第１のノードステータスデータを判定するステップと、
前記第１のノードステータスデータを少なくとも１つの第２のノードに通信周期で周期的に送信するステップと、
第２のノードステータスデータを少なくとも１つの第２のノードから通信周期で周期的に受信するステップと、
判定した前記第１のノードステータスデータと受信した前記第２のノードステータスデータとに基づいて、前記第１のノードでノードステータス評価データを判定するステップと、
前記ノードステータス評価データに基づいて、ある特定ノードに障害があることを判定するステップと、
前記特定ノードが正常に機能した通信周期が既定回数になった後、前記特定ノードに障害があることが検知された場合、機能停止カウンタを初期値化するステップと、
前記機能停止カウンタを初期値化した後、各通信周期ごとに前記機能停止カウンタをインクリメントさせるステップと
を有することを特徴とする通信ネットワーク内のノードステータス監視方法。
【請求項２】
請求項１に記載の通信ネットワーク内のノードステータス監視方法において、前記機能停止カウンタが既定の閾値に達した場合、前記通信ネットワークを使用するアプリケーションに前記特定ノードの障害を通知するステップを有することを特徴とする通信ネットワーク内のノードステータス監視方法。
【請求項３】
請求項１又は２に記載の通信ネットワーク内のノードステータス監視方法において、前記特定ノードがそれ以前に既定回数の通信周期間で正常に機能したことが検知された場合、前記機能停止カウンタをリセットするステップを有することを特徴とする通信ネットワーク内のノードステータス監視方法。
【請求項４】
請求項１乃至３のいずれか１つに記載の通信ネットワーク内のノードステータス監視方法において、前記ノードは車両制御システムの車載装置であることを特徴とする通信ネットワーク内のノードステータス監視方法。
【請求項５】
請求項１乃至４のいずれか１つに記載の通信ネットワーク内のノードステータス監視方法において、前記ノードステータスは正常又は障害ありのどちらかであることを特徴とする通信ネットワーク内のノードステータス監視方法。
【請求項６】
第１のノードの自ノードステータスと少なくとも１つの第２のノードステータスとを診断することにより、前記第１のノードで第１のノードステータスデータを判定する第１ノードステータスデータ判定手段と、前記第１のノードステータスデータを少なくとも１つの第２のノードに通信周期で周期的に送信する送信手段と、第２のノードステータスデータを少なくとも１つの第２のノードから通信周期で周期的に受信する受信手段と、判定した前記第１のノードステータスデータと受信した前記第２のノードステータスデータとに基づいて、前記第１のノードでノードステータス評価データをする判定手段とを有する通信ネットワーク内のノードステータス監視装置において、
前記ノードステータス評価データに基づいて、ある特定のノードに障害があることを判定する特定ノード障害判定手段と、機能停止カウンタを含み、前記特定ノードが正常に機能した通信周期が既定回数になった後、前記特定ノードに障害があることが検知された場合、前記機能停止カウンタを初期値化する機能停止カウンタ初期値化手段と、前記機能停止カウンタを初期値化した後、通信周期ごとに前記機能停止カウンタをインクリメントさせる機能停止カウンタインクリメント手段とを有することを特徴とする通信ネットワーク内のノードステータス監視装置。
【請求項７】
請求項６に記載の通信ネットワーク内のノードステータス監視装置において、前記機能停止カウンタが既定の閾値に達した場合、前記通信ネットワークを使用するアプリケーションに前記特定ノードの障害を通知するアプリケーション通知手段を有することを特徴とする通信ネットワーク内のノードステータス監視装置。
【請求項８】
請求項６又は７に記載の通信ネットワーク内のノードステータス監視装置において、前記特定ノードがそれ以前に既定回数の通信周期間正常に機能したことが検知された場合、前記機能停止カウンタをリセットする機能停止カウンタリセット手段を有することを特徴とする通信ネットワーク内のノードステータス監視装置。
【請求項９】
請求項６乃至請求項８のいずれか１つに記載の通信ネットワーク内のノードステータス監視装置において、前記ノードは車両制御システムの車載装置であることを有することを特徴とする通信ネットワーク内のノードステータス監視装置。
【請求項１０】
請求項６乃至９のいずれか１つに記載の通信ネットワーク内のノードステータス監視装置において、ノードステータスは正常又は障害ありのどちらかであることを特徴とする通信ネットワーク内のノードステータス監視装置。
【請求項１１】
コンピュータ可読媒体と、データ処理装置のデータ処理手段によって処理される指示に対応する一連の構成要素という形態でコンピュータ可読媒体に記録されたコンピュータプログラムとを含むコンピュータプログラムであって、それによって請求項１乃至５のいずれか１つに記載の通信ネットワーク内のノードステータス監視方法が実行され、又は請求項６乃至１０のいずれか１つに記載の通信ネットワーク内のノードステータス監視装置が前記データ処理手段に形成されることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信ネットワーク内のノードステータス監視方法及び監視装置に関する。
【背景技術】
【０００２】
このような通信ネットワーク内のノードステータス監視方法及び装置は例えば特許文献１で知られている。
【０００３】
特許文献１には、図１に示す車両制御システムで使用される信頼性の高い通信ネットワークが記載されている。図１において、車両制御システム１０１は統合車両運動制御ＥＣＵ（電子回路ユニット）１１０を有し、これによりハンドル１５１の回転角度を測定する操舵角度センサＳｅｎ１と、ブレーキペダル１５２の押圧を測定するブレーキペダル位置センサＳｅｎ２と、アクセルペダルの押圧を測定するアクセルペダル位置センサＳｅｎ３と、運転手の要求を検知するセンサからの信号を用いて運転手の意図を解釈することにより、車両の状態を検知するセンサ（例えば、図示しないアクセルセンサ、ヨーレートセンサ、車輪速度センサなど）からの信号に基づいて車両の動きを中央で制御する。これらの要素は主要ネットワークＮｅｔ１００Ａに接続され、ノードを構成している。本発明において、ノードとは、ネットワークに接続してデータを送受信できる構成要素を意味するが、それに限定されない。
【０００４】
主要ネットワークＮｅｔ１００Ａにはさらに、車両の駆動システムを中央で制御する統合ＤＢＷ（ドライババイワイヤ）制御ＥＣＵ１２０と、ステアリングモータＭ１及びステアリングモータＭ５を制御するＳＢＷ（ステアバイワイヤ）−ＶＧＲドライバＥＣＵ１１１と、ステアリングモータＭ２を制御するＳＢＷドライバＥＣＵ１１２と、ブレーキモータＭ３Ａ〜Ｍ３Ｄを制御するＢＢＷ（ブレーキバイワイヤ）ドライバＥＣＵ１１３Ａ〜１１３Ｄと、サスペンションモータＭ４Ａ〜Ｍ４Ｄを制御するＥＡＳ（電子アクティブサスペンション）ドライバＥＣＵ１１４Ａ〜１１４Ｄとが、アクチュエータ駆動ノードとして接続される。そこでは、ステアリングモータＭ１が前輪操舵力を起こし、モータＭ５がステアリングコラムに装備された可変ギアレシオ（ＶＧＲ）機構に作用し、ステアリングモータＭ１が前輪操舵力を起こし、ブレーキモータＭ３Ａ〜Ｍ３Ｄが４車輪に対するブレーキ力を発生し、サスペンションモータＭ４Ａ〜Ｍ４Ｄが減衰力を調節する。
【０００５】
主要ネットワークＮｅｔ１００Ａには、車両の外の状態を検知するミリ波レーダ／カメラＳｅｎ４と、エアバッグの展開を制御するエアバックＥＣＵ１１５とが接続される。バックアップネットワークＮｅｔ１００Ｂには車両の安全運転に必要な最低限のノード、すなわち操舵角度センサＳｅｎ１、ブレーキペダル位置センサＳｅｎ２、ＳＢＷ-ＶＧＲドライバＥＣＵ１１１、及びＢＢＷドライバＥＣＵ１１３Ａ〜１１３Ｄが接続される。
【０００６】
統合ＤＢＷ制御ＥＣＵ１２０はネットワークＮｅｔ１０１を介してエンジン制御ＥＣＵ１２１、トランスミッション制御ＥＣＵ１２２、モータ制御ＥＣＵ１２３、及びバッテリ制御ＥＣＵ１２４に接続する。統合車両運動制御ＥＣＵ１１０はネットワークＮｅｔ１０２を介して情報ゲートウェイ１３０と車体システムゲートウェイ１４０に接続し、これらの装置とデータを交換する。そこでは、情報ゲートウェイ１３０が、カーナビやその他の情報装置を制御するネットワークへのゲートウェイを提供し、車体システムゲートウェイ１４０がドアロック、サイドミラー、各種メーターなど、車体関係の装置を制御するネットワークへのゲートウェイを提供する。また、図示されていないが、エアバッグＥＣＵ１１５の他端は、エアバッグの展開制御に必要な各種センサやアクチュエータを統合する安全関係のネットワークに接続する。
【０００７】
統合車両運動制御ＥＣＵ１１０は、車両の走行制御に必要な操舵角度やブレーキ力、駆動力などを、操舵角度センサＳｅｎ１やブレーキペダル位置センサＳｅｎ２、アクセルペダル位置センサＳｅｎ３、車両の状態を検知するセンサ（例えば、アクセルセンサ、ヨーレートセンサ、車輪速度センサなど、図示せず）からの信号に基づいて計算する。そして、操舵角度指令を前輪ＳＢＷ-ＶＧＲドライバＥＣＵ１１１と後輪ＳＢＷ-ＶＧＲドライバＥＣＵ１１２に与え、ブレーキ力指令を４車輪のＢＢＷドライバＥＣＵ１１３Ａ〜１１３Ｄに与え、駆動力指令を統合ＤＢＷ制御ＥＣＵ１２０に与える。統合ＤＢＷ制御ＥＣＵ１２０は駆動力指令を受信した後、エンジンやモータなどの動力源が生み出す駆動力をエネルギー効率を考慮した上で計算し、その結果得た駆動力指令をネットワークを介してエンジン制御ＥＣＵ１２１やモータ制御ＥＣＵ１２３などに送信する。統合車両運動制御ＥＣＵ１１０は、運転手の要求を検知するセンサから得た情報だけでなく、車両の外の状態を検知するミリ波レーダー／カメラＳｅｎ４から得た情報も用いることによって、後尾運転、車線維持運転、危険回避運転などの制御を行う。
【０００８】
このような安全性を重視する車両制御システムにおいて、通信ネットワーク内のある特定のノードに障害が起きた場合、どのノードに障害が起きたかの情報を使って残りの正常なノードでバックアップ制御を行う必要がある。従って、障害が起きたノードを正確に特定し、残りの全ノード間でネットワークを介して通信しながら、どのノードに障害が起きたかについて一貫した情報を確保することが重要であり、結果としてノードステータスを監視する機能が必要になる。
【０００９】
図２及び図３により特許文献１の制御方法について説明する。図２に示す車両制御システムは、ネットワークＮｅｔ１００を介して接続される複数のノード１（Ｎ１）、ノード２（Ｎ２）、……ノードｎ（Ｎｎ）で構成される。これらのノードはネットワークに接続された処理装置であり、ネットワークを介して情報を通信することができる。各ノードには車両に装備された様々な電子制御装置やアクチュエータドライバ、センサが含まれる。ネットワークＮｅｔ１００は多重通信ができるだけでなく、あるノードから、同ネットワークに接続された他のノード全部に同じ内容を同時発信する同報通信ができる。
【００１０】
ノードＮ１、ノードＮ２、……ノードＮｎ（以下ノードＮｘと呼ぶ）はそれぞれ、ノードステータス判定部ｘ１（１１、２１、……ｎ１）と、ステータス評価結果送受信部ｘ２（１２、２２、……ｎ２）と、障害ノード特定部ｘ３（１３、２３、……ｎ３）とを有する。なお、ｘの文字はノード番号（１、２、……ｎ）を示し、以下同様に適用される。
【００１１】
ノードステータス判定部ｘ１（１１、２１、……ｎ１）は、そのノード自身のステータスを判定する自ノードステータス評価部ｘ１０２（１１０２、２１０２、……ｎ１０２）と、同ネットワーク内の他ノードのステータスを判定する他ノードステータス評価部ｘ１０１（１１０１、２１０１、……ｎ１０１）とを有する。
【００１２】
「自ノードステータス」とは自ノードの自己診断の結果であり、「他ノードステータス」とは、各他ノードから送信されたデータがその判定ノードから見て正しいかどうかに関するステータスである。例えば、ノード１がノード２の「他ノードステータス」が正常であることを判定するためには、ノード２のハードウェアが正常に作動しなければならず、また、ノード２で演算処理が正しく行われ、ノード２からノード１への通信が間違いなく行われなければいけない。例えば、通信周期ごとにインクリメントされる通し番号データを、全ノードが同報通信する構成が考えられる。この場合、あるノードから受信した通し番号データがインクリメントされていない場合は、そのノードの「他ノードステータス」は正常でないことが判定できる。
【００１３】
ステータス評価結果送受信部ｘ２（１２、２２、……ｎ２）は、自ノードで得たノード評価結果と他ノードで得たノード評価結果を記憶するステータス評価結果記憶部ｘ２０１（１２０１、２２０１、……ｎ２０１）と、他ノードが判定したノードステータスを受信する受信処理装置ｘ２０２（１２０２、２２０２、……ｎ２０２）と、ノードステータス評価部ｘ１（１１、２１、……ｎ１）で判定されたノードステータス（自ノードが判定したノードステータス）を他ノードに送信するデータ送信部ｘ２０３（１２０３、２２０３、……ｎ２０３）とを有する。
【００１４】
障害ノード特定部ｘ３（１３、 ２３、…… ｎ３）は、自ノードで得たノード評価結果と、他ノードで得られ、ステータス評価結果送受信部ｘ２で受信したノード評価結果とに基づいて、障害ノードを特定する。
【００１５】
図３に示すように、ネットワークＮｅｔ１００に接続されたノードはどれも、ステータス評価結果記憶部ｘ２０１（１２０１、２２０１、……ｎ２０１）を有する。例えば、ノード１のステータス評価結果記憶部１２０１のバッファ１４１に記憶された、ノード１の他ノードに関するステータス評価結果はネットワークＮｅｔ１００を介して全ての他ノードに送信され、ステータス評価結果記憶部ｘ２０１のバッファｘ４ｘ（n４１、……ｎ４n等）に記憶される。ノード２からノードｎが行うステータス評価結果の送受信についても同様である。
【００１６】
各ノードは評価結果データの多数決によって、他ノードのステータスを最終的に判定する。例えば、ノード１がノード２に障害があると判定したとしても、他ノード（ノード２〜ノードｎ）がノード２は正常であると判定していれば、ノード２よりノード１の方に障害があることを各ノードで正確に判定することができる。
【００１７】
本発明に関する他の従来技術には非特許文献１がある。この論文では、検知した障害についての情報をペナルティ／リワードアルゴリズムを用いて蓄積し、一時的障害に対処する方法が提案されている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】ＥＰ１７６９９９３Ａ２
【非特許文献】
【００１９】
【非特許文献１】Marco Serafini "A Tunable Add-On Diagnostic Protocol for Time-Triggered Systems" 2007 IEEE International Conference on Dependable Systems and Networks (DSN)
【発明の概要】
【発明が解決しようとする課題】
【００２０】
特許文献１のノードステータス監視方法における問題のひとつは、図４に示すように、各評価結果がｎビットで構成される場合ステータス評価結果記憶部ｘ２０１にはｎノードのシステムにつきｎ×ｎビットが含まれるため、多数決作業の実行時間がノード数の２乗に比例して増加することである。さらに、評価結果ごとに必要な通信帯域幅はノード数に比例する。
【００２１】
また、ネットワーク内のノードが、ある特定のノードに障害があることを検知した場合、同ネットワークを使用するアプリケーションにその障害をいつ通知するかという問題がある。通知が迅速に行われた場合にはごく短期間で消え去る一時的な障害までアプリケーションに通知してしまう恐れがあり、障害をアプリケーションに通知するのが遅すぎると、特にブレーキなどの安全性において重要な要素に障害がある場合に危険な状況が発生する恐れがある。従って、アプリケーションへの迅速な通知と、関連性がある障害だけをアプリケーションに通知することとの間でバランスを見つける必要がある。従って、特許文献１では、ノードに障害があった通信周期ごとに数値がインクリメントされる障害カウンタと、障害カウンタ閾値を使用している。障害カウンタが障害カウンタ閾値を越えた場合、障害がアプリケーションに通知される。
【００２２】
更に、あるノードに障害があるかどうかをノード各自でそれぞれ評価するため、ノードがアプリケーションに通知するタイミングに差が生じることがある。これは明らかに望ましくないためノード間の同期化が必要である。特許文献１では図５に示すようにこの問題に対処している。それまでの通信周期でノード３に障害があることが判定された場合に通信周期ｉでノード１とノード４の障害カウンタは８にインクリメントされる。あるエラーでノード２の障害カウンタは遅れを取っているため、５の値である。各通信周期で、ノードステータスデータと障害通知同期化フラグがノード間で送信される（フレームを送信）。通信周期ｉ＋１で、障害カウンタが再びインクリメントされる。通信周期ｉ＋２でノード１とノード４の障害カウンタが障害カウンタ閾値である１０に達する。この状況で、ノード１とノード４からノード２に送信するフレームにおいて、ノード３に対する障害通知同期化フラグが立つ。ノード２はそのフレームを受信すると、自分の障害カウンタを１０に補正し、ノード１やノード４と同様にノード３の障害をアプリケーションに通知する。
【００２３】
この方法には、閾値が大きい場合に閾値に達するまでに長い時間がかかるという問題がある。システム全般の障害率によっては、閾値に達する以前にノード障害カウンタ値の大多数が破損してしまうかもしれない。この場合、障害通知のタイミングを一致させることができなくなってしまう。
【００２４】
本発明の目的は、上記従来技術の問題を解消して、通信ネットワーク内のノードステータスを監視する効率的な方法及び装置を提供することである。
【００２５】
更に、本発明の目的は、構造安定性を向上させた通信ネットワーク内のノードステータス監視方法及び装置を提供することである。更に本発明の目的は、一時的障害を容認した上で迅速に通知を行う通信ネットワーク内のノードステータス監視方法及び装置を提供することである。
【課題を解決するための手段】
【００２６】
本発明の方法には、通信ネットワークをノードクラスタに分割するステップと、判定ノードの自ノードステータスと通信ネットワーク内の他ノードステータスとを診断することにより、通信ネットワーク内の各ノードで第１のノードステータスデータを判定するステップと、判定ノードから通信ネットワーク内の他ノードへ、判定ノードが属するクラスタのノードに関する第１のノードステータスデータを送信するステップと、通信ネットワーク内の他ノードから、送信ノードが属するクラスタのノードに関する第２のノードステータスデータを受信するステップと、判定した第１のノードステータスデータと、通信ネットワーク内の他ノードから受信した第２のノードステータスデータとに基づいて、通信ネットワーク内のノードに対するノードステータス評価データを判定するステップとを有する、通信ネットワーク内のノードステータス監視方法が含まれる。
【００２７】
上記の方法により、判定ノードが属するクラスタのノードに関する第１のノードステータスデータだけを送信し、送信ノードが属するクラスタのノードに関する第２のノードステータスデータだけを受信するため、通信情報量が提言されるため従来技術と比較して少ない通信帯域幅で足りるとともに、クラスタ監視方法を実施するために必要な時間が少なくてすむ。
【００２８】
上記方法に対し、ある実施形態においては、受信ノードで、受信ノードが属さないクラスタのノードから、第２のノードステータスデータを受信するステップと、そのクラスタに属する少なくとも１つのノードステータスを診断することにより、受信ノードで第１のノードステータスデータを判定するステップと、 第１のノードステータスデータが第２のノードステータスデータと一致するかどうかを判定するステップと、第１のノードステータスデータが第２のノードステータスデータと一致しないことが判定された場合、受信ノードのステータスを障害ありと診断するステップとが含まれていてもよい。
【００２９】
この場合は、ノードステータスデータをクラスタにまとめる方法を取っているため、あるクラスタのノードが有する見解と、そのクラスタの外にあるノードが有する見解にずれが生じる場合がある。クラスタ内のある特定ノードが正常に機能していることをそのクラスタ内のノード全部が判定した状況で、クラスタ外のノードがその特定ノードに障害があると判断しても、本発明ではクラスタ外のノードの方に障害があると見なす。これは不一致を解決する簡単で効率的な方法である。
【００３０】
更に本発明の方法には、第１のノードの自ノードステータスと、少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定するステップと、少なくとも１つの第２のノードに第１のノードステータスデータを通信周期で周期的に送信するステップと、少なくとも１つの第２のノードから第２のノードステータスデータを通信周期で周期的に受信するステップと、判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、第１のノードでノードステータス評価データを判定するステップとを含む、通信ネットワーク内のノードステータス監視方法が含まれる。
【００３１】
判定したノードステータス評価データに基づいて、ある特定のノードに障害があることを判定してもよい。この場合、この特定ノードに対する第１の障害カウンタが初期値化され、各通信周期でノードステータス評価データがその特定ノードに障害があることを示すたびに第１の障害カウンタがインクリメントされ、第１の障害カウンタ値がグループ内の他ノードに送信され、グループ内の他ノードから送信された、特定ノードに対する第２の障害カウンタ値が受信される。
【００３２】
本発明の一態様によると更に、グループ内のノードの大多数の障害カウンタが有する障害カウンタ値を判定するステップと、判定された障害カウンタ値が第１の障害カウンタ値と異なる場合、第１の障害カウンタを補正するステップとが実行される。
【００３３】
上記の方法では、ノードは、そのノードが果たす役割によって同時に第１のノードと第２のノードになり得る。第１のノードの第１のノードステータスデータは、第２のノードで第２のノードステータスデータとして受信される。この方法には更に、第１のノードが属するノードグループを規定するステップが含まれてもよい。グループはネットワーク内のノード全部や、あるクラスタに属するノード、複数のクラスタに属するノード、あるクラスタに属するノードの一部、またはその他の数のノードなどで構成できる。
【００３４】
上記の方法では、グループ内のノードの大多数の障害カウンタが有する値を判定するので、あるノードにエラーが起こった可能性が高い場合に、そのノードの第１の障害カウンタを補正できるようになる。このように、グループに参加しているノードは、現時点で正しい障害カウンタ値を共有するようになり、グループ内のノードの障害カウンタが破損することを防ぐ。
【００３５】
この方法において、ある実施形態では更に、第１の障害カウンタが既定の閾値に達した場合に、特定ノードの障害を、その通信ネットワークを使用するアプリケーションに通知するステップが含まれる。
【００３６】
これにより、ある障害があってその障害に関する別の障害がネットワークに存在する可能性が十分に高い場合に、その障害をアプリケーションに通知することができるようになる。
【００３７】
更に本発明には、第１のノードの自ノードステータスと、少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定するステップと、少なくとも１つの第２のノードに第１のノードステータスデータを送信するステップと、少なくとも１つの第２のノードから第２のノードステータスデータを受信するステップと、判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、第１のノードでノードステータス評価データを判定するステップとを有する、通信ネットワーク内のノードステータス監視方法において、送受信は通信周期で周期的に行われることを特徴とする方法が含まれる。
【００３８】
複数のノードがノードステータスデータを判定するため、ノードＡがノードＢに対する第２のノードであると同時に、ノードＢがノードＡに対する第２のノードになることもあり得る。ノードステータス評価データに基づいて、ある特定のノードに障害があると判定してもよい。本発明の一態様によると、ある特定のノードがある既定数の通信周期間正常に機能した後に障害があることが検知された場合、機能停止カウンタが初期値化される。機能停止カウンタは、初期値化された後、各通信周期ごとにインクリメントされる。
【００３９】
この方法には更に、機能停止カウンタが既定の閾値に達した場合、その通信ネットワークを使用するアプリケーションに特定ノードの障害を通知するステップが含まれてもよい。機能停止カウンタを使用することで、アプリケーションへ迅速に通知できるようになる。
【００４０】
この方法には更に、好適な一実施形態において、特定ノードがそれ以前に既定回数の通信周期間正常に機能したことが検知された場合、機能停止カウンタをリセットするステップが含まれてもよい。
このように、機能停止カウンタが一時的な障害によって初期値化された可能性が十分に高い場合は、機能停止カウンタをリセットすることにより、一時的である可能性が高い障害についてアプリケーションに通知しないですむようになる。
【００４１】
本発明による上記の方法において、ノードは車両制御システムの車載装置であってもよい。本発明による方法のある実施形態でノードステータスは正常か障害ありのどちらかである。
【００４２】
本発明のノードステータス監視装置には更に、通信ネットワークをノードクラスタに分割する手段と、判定ノードの自ノードステータスと通信ネットワーク内の他ノードステータスとを診断することにより、通信ネットワーク内の各ノードで第１のノードステータスデータを判定する手段と、判定ノードから通信ネットワーク内の他ノードへ、判定ノードが属するクラスタのノードに関する第１のノードステータスデータを送信する手段と、通信ネットワーク内の他ノードから、送信ノードが属するクラスタのノードに関する第２のノードステータスデータを受信する手段と、判定した第１のノードステータスデータと通信ネットワーク内の他ノードから受信した第２のノードステータスデータとに基づいて、通信ネットワーク内のノードに対するノードステータス評価データを判定する手段とを有する、通信ネットワーク内のノードステータス監視装置が含まれる。この装置は、対応する本発明の方法と同じ利点を有する。
【００４３】
この装置には更に、ある実施形態で、受信ノードで、受信ノードが属さないクラスタのノードから第２のノードステータスデータを受信する手段と、そのクラスタに属する少なくとも１つのノードのステータスを診断することにより、受信ノードで第１のノードステータスデータを判定する手段と、第１のノードステータスデータが第２のノードステータスデータと一致するかどうかを判定する手段と、第１のノードステータスデータが第２のノードステータスデータと一致しないことが判定された場合、受信ノードのステータスを障害ありと診断する手段とが含まれる。これらの手段で不一致を簡単に解決することができる。
【００４４】
更に本発明には、第１のノードの自ノードステータスと、少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定する手段と、少なくとも１つの第２のノードに第１のノードステータスデータを送信する手段と、少なくとも１つの第２のノードから第２のノードステータスデータを受信する手段と、判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、第１のノードでノードステータス評価データを判定する手段とを含む、通信ネットワーク内のノードステータス監視装置において、送受信は通信周期で周期的に行われることを特徴とする装置が含まれる。
【００４５】
この装置には更に、第１のノードが属するノードグループを規定する手段が含まれてもよい。この装置にはさらに、障害カウンタと、判定したノードステータス評価データに基づいて、ある特定ノードに障害があることを判定する手段と、その特定ノードに対する第１の障害カウンタを初期値化する手段と、ノードステータス評価データでその特定ノードに障害があると示された各通信周期ごとに第１の障害カウンタをインクリメントさせる手段と、グループ内の他ノードに第１の障害カウンタ値を送信する手段と、グループ内の他ノードからその特定ノードに対する第２の障害カウンタ値を受信する手段とが含まれてもよい。
【００４６】
本発明の一態様によると、この装置には更に、グループのノードの大多数の障害カウンタが有する障害カウンタ値を判定する手段と、判定された障害カウンタ値が第１の障害カウンタ値と異なる場合、第１の障害カウンタを補正する手段とが含まれる。この装置で、ノードの障害カウンタの破損を防げるようになる。
【００４７】
この装置には更に、第１の障害カウンタが既定の閾値に達した場合、その通信ネットワークを使用するアプリケーションに特定ノードの障害を通知する手段が含まれてもよい。
【００４８】
更に本発明には、第１のノードの自ノードステータスと、少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定する手段と、少なくとも１つの第２のノードに第１のノードステータスデータを送信する手段と、少なくとも１つの第２のノードから第２のノードステータスデータを受信する手段と、判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、第１のノードでノードステータス評価データを判定する手段とを有する、通信ネットワーク内のノードステータス監視装置において、送受信は通信周期で周期的に行われることを特徴とする装置が含まれる。
【００４９】
更にこの装置には、ノードステータス評価データに基づいて、ある特定のノードに障害があることを判定する手段と、機能停止カウンタと、特定ノードが既定回数の通信周期間正常に機能した後で、その特定ノードに障害があることが検知された場合、機能停止カウンタを初期値化する手段と、機能停止カウンタを初期値化した後、各通信周期ごとに機能停止カウンタをインクリメントさせる手段とが含まれてもよい。
【００５０】
更にこの装置には、機能停止カウンタが既定の閾値に達した場合、その通信ネットワークを使用するアプリケーションに特定ノードの障害を通知する手段が含まれてもよい。
【００５１】
ある好適な実施形態において、この装置には、特定ノードがそれまで既定回数の通信周期間正常に機能したことが検知された場合、機能停止カウンタをリセットする手段が含まれてもよい。
【００５２】
機能停止カウンタに基づいて、一時的障害を無駄に通知することなく、アプリケーションへの迅速な通知が実現できる。
【００５３】
本発明による監視装置のある実施形態では、ノードは、車両制御装置の車載装置であってもよい。ある実施形態では、ノードステータスは正常か障害ありのどちらかである。
【００５４】
本発明の方法と本発明の装置は、通常はコンピュータプログラムによって実行される。従って、本発明にはコンピュータプログラム製品も含まれ、そのコンピュータプログラム製品には、コンピュータ可読媒体と、データ処理装置のデータ処理手段によって処理される指示に対応する一連の構成要素という形態でコンピュータ可読媒体に記録されたコンピュータプログラムとが含まれる。それによって本発明の方法が実行され、または本発明の装置がデータ処理手段に形成される。
【発明の効果】
【００５５】
本発明は、ノードステータスを判定するノードが属するクラスタのノードに関する第１のノードステータスデータだけを送信し、送信ノードが属するクラスタのノードに関する第２のノードステータスデータだけを受信するため、従来技術と比較して少ない通信帯域幅で足りる。その上、ノードステータスを判定する方法を実施するために必要な時間を短縮することが出来る。
【００５６】
また、グループ内のノードの大多数の障害カウンタが有する値を判定するので、あるノードにエラーが起こった可能性が高い場合に、そのノードの第１の障害カウンタを補正できるようになる。このように、グループに参加しているノードは、現時点で正しい障害カウンタ値を共有するようになり、結果としてグループ内のノードの障害カウンタが破損することを防ぐ。
【００５７】
さらに、このように機能停止カウンタが一時的な障害によって初期値化された可能性が十分に高い場合は、機能停止カウンタをリセットし、一時的である可能性が高い障害についてアプリケーションに通知しないですむようになる。
【図面の簡単な説明】
【００５８】
【図１】車両制御システムのシステムブロック図である。
【図２】従来技術による通信ネットワーク内のノードを示すブロック図である。
【図３】従来技術による通信ネットワーク内のノードのある態様を示すブロック図である。
【図４】従来技術による通信ネットワーク内のノードにおけるステータス評価結果記憶部に記憶された評価結果データの量を示す説明図である。
【図５】通信ネットワーク内のノードを同期化する従来技術の方法の説明図である。
【図６】本発明の実施例１の通信ネットワーク内ノードステータス監視装置のブロック図である。
【図７】本発明の実施例１のクラスタに分割された通信ネットワークを示す説明図である。
【図８】本発明の実施例１の各ノードがそれぞれのステータス評価結果記憶部に記憶するノードステータスデータの説明図である。
【図９】本発明の実施例１の通信ネットワーク内のノードステータス監視方法の説明図である。
【図１０】本発明の実施例２の通信ネットワーク内のノードステータス監視装置を示すブロック図である。
【図１１】本発明の実施例２のノード間で交換されるデータ構成を示す説明図である。
【図１２】本発明の実施例２のノード間でのデータ交換を示す説明図である。
【図１３】本発明の実施例３の通信ネットワーク内のノードステータス監視装置を示すブロック図である。
【図１４】本発明の実施例３において、障害カウンタと比較した機能停止カウンタ動作の説明図である。
【発明を実施するための形態】
【００５９】
本発明の実施形態と詳細を、図を参照しながら以下に更に詳しく説明する。
【実施例１】
【００６０】
〔クラスタ構造ネットワーク〕
以下に、本発明の実施例１を、図６〜図８を参照しながら説明する。図６において、実施例１による通信ネットワークのノードステータス監視装置６００は、通信ネットワークをノードクラスタに分割するノードクラスタ分割手段６１０を有する。第１ノードステータスデータ判定手段６２０は、制定対象のノードである判定ノードの自ノードステータスと通信ネットワーク内の他ノードステータスとを診断することにより、通信ネットワーク内の各ノードで第１のノードステータスデータを判定する。
【００６１】
その後、送信手段６３０が、判定ノードが属するクラスタのノードに関する第１のノードステータスデータを判定ノードから通信ネットワーク内の他ノードに送信し、他ノードでは送信された第１のノードステータスデータが第２のノードステータスデータとして受信される。
【００６２】
さらに、受信手段６４０が、送信ノードが属するクラスタのノードに関する第２のノードステータスデータを通信ネットワーク内の他ノードから受信する。次いで、ノードステータス評価データ判定手段６５０が、判定した第１のノードステータスデータと、通信ネットワーク内の他ノードから受信した第２のノードステータスデータとに基づいて、通信ネットワーク内のノードに対するノードステータス評価データを判定する。
【００６３】
図７は、クラスタ構造ネットワークの一例を示す。クラスタ１の第１のノードを１−１と表示し、クラスタ１の第２のノードを１−２と表示し、以下同様に表示する。図７に見られるように、各クラスタがｃ個のノードで構成される場合、ｎ個のノードは論理的にｎ／ｃ個のクラスタに分割される。図示の例では、ｎがｃで割り切れることを想定しているが、以下の説明は、ｃで割り切れないｎ個のノードを有するシステムにも適用することができる。
【００６４】
図８に、各ノードのステータス評価結果記憶部ｘ２０１（例えば図３に示すもの）に記憶されたノードステータスデータを示す。図８に見られるように、全ノードは各クラスタに対するｃ×ｃ個のノードステータスデータ項目を記憶する。このシステムにはｎ／ｃ個のクラスタがあるため、ステータス評価結果記憶部と通信帯域幅をｎ×ｃビットに減らすことができ、また多数決作業の実行時間をｃ／ｎに減らすことができる。
【００６５】
図８に示す空き領域は、実施例１が従来例の図４と比較して新たな計算作動力と通信帯域幅を得たことを示している。すなわち従来例のｎ×ｎビットに比べて、ｎ×ｃビットのメモリしか割り当てる必要がない。図８に示すように、ノードに対するノードステータスデータに基づいて、多数決作業で全ノードに対するノードステータス評価データが判定される。
〔ノードステータス監視方法〕
図９に、実施例１の通信ネットワーク内の障害を判定するノードステータス監視方法を説明する。図９に示すように、ノード２−１は受信ノードであって、ノード２−１が属さないクラスタであるクラスタ１のノード１−１、ノード１−２、及びノード１−４から第２のノードステータスデータを受信しているが、ノード１−３からは第２のノードステータスデータを受信していない。従って、ノード２−１自身かノード１−３のどちらかに障害があると判定する。すなわち、ノード２−１はノード１−３のステータスを診断することによって第１のノードステータスデータを判定する。
【００６６】
図９の右側に示すように、ノード２−１はノード１−１、ノード１−２、及びノード１−４から受信した第２のノードステータスデータを評価する。「１」はノードが正常であることを表し、「０」はノードに障害があることを示す。「−」は何の情報も受信されなかったことである。図９の右側に見られるように、第２のノードステータスデータの第１ビットにノード１−１についての情報が含まれ、第２ビットにはノード１−２についての情報が、第３ビットにはノード１−３についての情報、第４ビットにはノード１−４についての情報が含まれているので、ノード１−１はノード２−１に、ノード１−１の見解によるとノード１−２、ノード１−３、およびノード１−４は正常に機能していることを伝えている。
【００６７】
ノード２−１は第２のノードステータスデータを評価し、クラスタ内のノードの見解によると、そのクラスタではどのノードも正常に機能していることを判定する。しかし、ノード２−１はノード１−３から情報を受信しておらず、それはノード１−３かノード２−１のどちらかに障害があることを意味する。ノード２−１は第２のノードステータスデータからクラスタ１内のノードは全て正常に機能していることを導き出すので、ノード２−１はそれ自身に障害があることを結論づけることができる。つまり、ノード２−１は、第１のノードステータスデータが第２のノードステータスデータと一致しないことを判定し、よってそれ自身のステータスを障害ありと診断する。
【実施例２】
【００６８】
以下に、本発明の実施例２の通信ネットワーク内のノードステータス監視装置及び方法を、図１０〜図１２を参照しながら説明する。図１０において、ノードステータス監視装置１０００は、第１ノードステータスデータ判定手段１００１を有し、これは第１のノードの自ノードステータスと、少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定する。送信手段１００３は第１のノードステータスデータを少なくとも１つの第２のノードに送信する。少なくとも１つの第２のノードからの第２のノードステータスデータは、受信手段１００４で受信される。
【００６９】
ノードステータス監視装置１０００は更に、ノードステータス評価データ判定手段１００２を有し、これは判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、第１のノードでノードステータス評価データを判定する。送受信は通信周期で周期的に行われる。第１のノードが属するノードグループは、ノードグループを規定するグループ規定手段１００５によって決められる。
【００７０】
ノードステータス監視装置１０００は更に、判定したノードステータス評価データに基づいてある特定のノードに障害があることを判定する特定ノード障害判定手段１００６と、図示しない障害カウンタを有する。特定ノード障害判定手段１００６である特定ノードに障害があることが判定された場合、ノードステータス監視装置１０００の一部である、特定ノードに対する第１の障害カウンタを初期値化する障害カウンタ初期値化手段１００７によって、その特定ノードに対する第１の障害カウンタが１に初期値化される。第１の障害カウンタは、ノードステータス評価データでその特定ノードに障害があると示された通信周期ごとに、障害カウンタインクリメント手段１００８によってインクリメントされる。送信手段１００３が第１の障害カウンタ値をグループ内の他ノードに送信し、受信手段１００４で、特定ノードに対する第２の障害カウンタ値をグループ内の他ノードから受信する。
【００７１】
ノードステータス監視装置１０００は更に、グループ内のノードの大多数の障害カウンタが有する障害カウンタ値を判定する、障害カウンタ値判定手段１００９を有する。障害カウンタ補正手段１０１０は、判定した障害カウンタ値が第１の障害カウンタ値と異なる場合、第１の障害カウンタを補正する。第１の障害カウンタが既定の閾値に達した場合、アプリケーション通知手段１０１１で、その通信ネットワークを使用するアプリケーションに特定ノードの障害を通知する。
【００７２】
図１１に、送信手段１００３によって送信されるデータ構造の例を示す。データ構造にはノードステータスデータフィールド１１１０が含まれ、そのフィールド１１１０には診断された各ノードに対して１つずつサブフィールドが設けられている。更に、図示のデータ構造には障害通知同期化フラグフィールド１１２０が設けらている。この障害通知同期化フラグフィールド１１２０の各ビットは、ある特定のノードに障害があるかどうかを示す。障害があるかどうかについては、例えばアプリケーション通知手段１０１１で判定される。障害カウンタ値フィールド１１３０において、通信周期に基づいて特定ノードの障害カウンタ値が送信される。
【００７３】
図１２に示すように、周期ｋではノード１−１に対する障害カウンタ値が送信され、周期ｋ＋１ではノード１−２に対する障害カウンタ値が送信される。図１２は、本発明実施例のクラスタリング概念を用いたネットワークシステムを例にしており、クラスタのノードに関する第１の障害カウンタ値はクラスタ内で送信される。しかし、図１０〜図１２に示す実施形態は、クラスタリング概念を使わないネットワークシステムにも適用できる。
【００７４】
通信帯域幅が更に必要になるが（すなわち、Ｐｔｈが障害カウンタ値の閾値である場合のｌｏｇ２ Ｐｔｈビット）、破損した障害カウンタを持つノードの数が増えすぎる前に、例えばビット反転などの理由によるノードの障害カウンタ値の間違いを補正することができる。
【実施例３】
【００７５】
図１３及び図１４を参照しながら以下に、本発明の実施例３の通信ネットワーク内のノードステータス監視装置及び方法を説明する。
【００７６】
図１３に示すノードステータス監視装置１３００は、ノードステータスデータ判定手段１３０１を有し、これは第１のノードの自ノードステータスと少なくとも１つの第２のノードステータスとを診断することにより、第１のノードで第１のノードステータスデータを判定する。送信手段１３０３は第１のノードステータスデータを少なくとも１つの第２のノードに送信し、受信手段１３０４は少なくとも１つの第２のノードから第２のノードステータスデータを受信する。判定した第１のノードステータスデータと受信した第２のノードステータスデータとに基づいて、ノードステータス評価データ判定手段１３０２は、第１のノードでノードステータス評価データを判定する。送信手段１３０３と受信手段１３０４が行う送受信は、通信周期で周期的に行われる。
【００７７】
ノードステータス監視装置１３００は、さらにノードステータス評価データに基づいてある特定ノードに障害があることを判定する特定ノード障害判定手段１３０５と、図示しない機能停止カウンタを有する。特定ノードが既定回数の通信周期間正常に機能した後で、その特定ノードに障害があることが検知された場合に、機能停止カウンタ初期値化手段１３０６が機能停止カウンタを初期値化する。それから、機能停止カウンタインクリメント手段１３０７が、機能停止カウンタが初期値化された後に各通信周期ごとに機能停止カウンタをインクリメントさせる。
【００７８】
図１３に示すノードステータス監視装置１３００は、さらにアプリケーション通知手段１３０８を有し、これは機能停止カウンタが既定の閾値に達した場合、その通信ネットワークを使用するアプリケーションに特定ノードの障害を通知する。機能停止カウンタリセット手段１３０９は、特定ノードがそれ以前に既定回数の通信周期間正常に機能したことが検知された場合、機能停止カウンタを０にリセットする。
【００７９】
図１４に３つのシナリオを用いて、障害カウンタと比較した機能停止カウンタの動作を説明する。機能停止カウンタは、障害カウンタと同様に、第１のノードステータスデータだけでなく第１及び第２のノードステータスデータに基づいて取り扱われる。しかし、下記の図１４の説明では簡素化のため受信側の障害は考慮せず、障害は送信ノードが原因であると推定する。
【００８０】
各シナリオ（例１〜例３）の第１列目において、○は通信周期でメッセージが正しく受信されたこと、すなわち、送信ノードが正常に機能していることを意味し、×はメッセージが正しく受信されなかったこと、すなわち送信ノードに障害があることを意味する。機能停止カウンタと障害カウンタの閾値は４であり、リセットする前に正しく行われる通信周期の既定回数は３である。これは、アプリケーションプログラムが、それまでに３回受信したメッセージに基づいて出力結果を計算するため、メッセージが連続して３回正しく受信されるまで機能停止カウンタが増え続けることを意味する。これは制御論理を実行するアプリケーションプログラムで頻繁に行われる。
【００８１】
例１は永続的障害の発生した状態を示す。永続的障害は周期４から始まっている。このシナリオでは、障害カウンタと機能停止カウンタが同じように作動している。すなわち、障害カウンタと機能停止カウンタは周期４から始まって１ずつ増加する。周期７で、カウンタが閾値の４に達し、アプリケーションに通知される。
【００８２】
例２は障害が間欠的に発生した状態、つまり、障害が完全に解決することなく、ある周期で発生したり別の周期で消滅したりする場合に起きる事象を示す。最初の障害は周期４で発生している。機能停止カウンタがインクリメントし始め、周期７で閾値に達するため、アプリケーションには周期７で通知される。一方、障害カウンタは間欠的障害が起きる度にインクリメントされる。間欠的障害は周期４、５、８、および１１で発生しているため、障害カウンタに基づいてアプリケーションに通知されるのは周期１１までかかる。これは、間欠的障害の場合、潜在的に機能停止カウンタがアプリケーションへの迅速な通知を請け負うことを意味する。
【００８３】
例３は、間欠的障害がごくまれにしか発生しない状態を示す。この場合は機能停止カウンタがリセットされる。最初の障害は周期３で発生し、障害カウンタと機能停止カウンタが１にインクリメントされる。機能停止カウンタは周期６になるまで毎周期インクリメントされるが、周期６でそのノードが過去３周期のあいだ正常に機能したことをシステムが認識するため、機能停止カウンタはゼロにリセットされる。次の障害は周期７で発生するが、そこで障害カウンタは２になり、機能停止カウンタは再び１に初期値化され、カウントをし始める。
【００８４】
機能停止カウンタはインクリメントし続け、再びリセットされることなく周期１０で４の値に達する。これは、周期１０までにノードが３周期間正常に機能することがなかったためである。このため、周期１０で機能停止カウンタに基づいてアプリケーションに通知される。同周期において、障害カウンタはまだ３の値しかない。次の障害は周期１８まで起こらないため、障害カウンタに基づいてアプリケーションへ通知が行われるのは周期１８になる。
【００８５】
本実施形態や図面の説明に制限的な意味はなく、例示として理解されるべきである。請求項に記載された本発明の範囲を逸脱することなしに、様々な変更や修正が可能であることは明らかである。本実施形態で説明した特徴を一部変更した上で組み合わせて、ある特定の使用でのシナリオに最適化した実施形態を更に追加することが可能である。そのような変更が当業者に簡単に思いつく限り、それらの変更は上記実施形態によって開示されているものと見なす。
【符号の説明】
【００８６】
６１０：ノードクラスタ分割手段
６２０：第１ノードステータスデータ判定手段
６３０：第１ノードステータスデータ送信手段
６４０：第２ノードステータスデータ受信手段
６５０：ノードステータス評価データ判定手段
１００１：第１ノードステータスデータ判定手段
１００２：判定手段
１００３：送信手段
１００４：受信手段
１００５：ノードグループ規定手段
１００６：特定ノード障害判定手段
１００７：障害カウンタ初期値化手段
１００８：障害カウンタインクリメント手段
１００９：障害カウンタ値判定手段
１０１０：障害カウンタ補正手段
１３０１：第１ノードステータスデータ判定手段
１３０２：判定手段
１３０３：送信手段
１３０４：受信手段
１３０５：特定ノード障害判定手段
１３０６：機能停止カウンタ初期値化手段
１３０７：機能停止カウンタインクリメント手段
１３０８：アプリケーション通知手段
１３０９：機能停止カウンタリセット手段
【図１】
0005668800.tif 000002
【図２】
0005668800.tif 000003
【図３】
0005668800.tif 000004
【図４】
0005668800.tif 000005
【図５】
0005668800.tif 000006
【図６】
0005668800.tif 000007
【図７】
0005668800.tif 000008
【図８】
0005668800.tif 000009
【図９】
0005668800.tif 000010
【図１０】
0005668800.tif 000011
【図１１】
0005668800.tif 000012
【図１２】
0005668800.tif 000013
【図１３】
0005668800.tif 000014
【図１４】
0005668800.tif 000015