(57)【特許請求の範囲】
【請求項１】
データ処理ユニットの群において通信をモニタする方法であって、特定の動作を実行するために、一のデータ処理ユニットが他のデータ処理ユニットにデータ信号を送信する、方法において、
全ての前記他のデータ処理ユニットが、前記データ信号を送信する送信データ処理ユニットからのデータ信号の受信の際に、前記送信データ処理ユニット及び自身以外の前記他のデータ処理ユニットに対して確認応答を行うステップと、
前記送信データ処理ユニットからのデータ信号を受信するデータ処理ユニットの各々が、前記確認応答から、自身以外の全ての他のデータ処理ユニットが前記データ信号を受信したか否かを知るステップと、を含む方法。
【請求項２】
請求項１に記載の方法において、前記各データ処理ユニットは、少なくとも自身の確認応答を含む自身のステータス信号を発生させる、方法。
【請求項３】
請求項２に記載の方法において、前記応答するデータ処理ユニットは、時間順に規定された順序で応答し、この結果、少なくとも第１のデータ処理ユニットが応答し、続いて、次の、第２のデータ処理ユニットが応答し、同様に続き、前記第１の応答データ処理ユニットは、自身の確認応答のみを含むステータス信号を送信し、前記第２の応答データ処理ユニットは、自身の確認応答と、更に、前記第１のデータ処理ユニットの前記確認応答とを含むステータス信号を送信し、該当する場合、次に応答する後続の全てのデータ処理ユニットは、自身の確認応答と、更に、以前に応答した全データ処理ユニットの前記確認応答とを含むステータス信号を送信する、方法。
【請求項４】
請求項２又は３に記載の方法において、前記各データ処理ユニットの前記ステータス信号は、前記他のデータ処理ユニットから受信された前記ステータス信号によって補完される、方法。
【請求項５】
請求項４に記載の方法において、前記各データ処理ユニットの前記ステータス信号は、前記他のデータ処理ユニットから受信された前記ステータス信号と組み合わせられる、方法。
【請求項６】
請求項４又は５に記載の方法において、前記順序中応答するのが最後であるデータ処理ユニットが、自身の確認応答に加えて、既に応答した全データ処理ユニットの前記確認応答を含む、ステータス信号を送信したら、全データ処理ユニットは、このように更新された自身のステータス信号を２度目に送信する、方法。
【請求項７】
請求項２乃至６の何れか１項に記載の方法において、全データ処理ユニットによって発生される前記ステータス信号は、応答データ処理ユニットの数に対応する同じ数の信号エレメントを有し、前記各信号エレメントは、特定の応答データ処理ユニットと関連し、当該データ処理ユニットの前記確認応答を示す、方法。
【請求項８】
請求項７に記載の方法において、前記各信号エレメントは、少なくとも第１の状態及び第２の状態を取ることができ、これらのうち、前記第１の状態は正しい受信を示し、前記第２の状態は非受信又は受信障害を示す、方法。
【請求項９】
請求項７又は８に記載の方法において、全てのデータ処理ユニットによって発生される前記ステータス信号はベクトル信号を表し、当該ベクトル信号は、前記信号エレメントを形成するベクトル素子から成る、方法。
【請求項１０】
請求項９に記載の方法において、前記ベクトル信号はビットベクトルであり、前記ベクトル素子はビットから成る、方法。
【請求項１１】
請求項１０に記載の方法において、前記ビットの「１」は正しい受信を示し、「０」は非受信又は受信障害を示す、方法。
【請求項１２】
請求項５に従属する請求項１０又は１１に記載の方法において、前記組合せはＯＲコンビネーションである、方法。
【請求項１３】
請求項１乃至１２の何れか１項に記載の方法において、前記データ処理ユニット間の前記通信は、時間制御された態様で起こり、特に、規定された時間パルスで起こる、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理ユニットの群において通信をモニタする方法であって、特定の動作を実行するために、一のデータ処理ユニットが他のデータ処理ユニットにデータ信号を送信する、方法に関する。
【背景技術】
【０００２】
多くのアプリケーションにおいて、幾つかのデータ処理ユニットが、通信ネットワークを介して相互接続される。この目的のために、従来から、データ信号をより低いレベルのデータ処理ユニット（クライアント）に送信する、より高いレベルの中央ユニット（サーバ）が提供されており、当然、これらデータ処理ユニット間のデータ交換は可能である。
【０００３】
ユニット間で送信されるデータに関しては、多くの場合、受取先がデータを正しく受信して更に処理したことが、保証されなければならない。このことは特に、安全性が重要なアプリケーションにおいて、又は、個々の場合においては安全性が致命的なまでに重要なアプリケーションにおいて、重要である。説明のために、以下の例が与えられる。機械部品と共に、４つの車輪のそれぞれにおいて個々のブレーキを制御するためのデータ処理ユニット及び中央ユニットを有し、これらがネットワーク化されている、ブレーキ系（例えばアンチロックブレーキ系）を持つ自動車において、中央ユニットからの適当なコマンドによってトリガされたブレーキ動作の最中に、左のブレーキのためのデータ処理ユニットのみが当該コマンドを理解して実行すると仮定する。この結果、致命的でなくとも極めて深刻な自動車の不良動作が起こることとなる。
【０００４】
現状技術については、米国特許第６，０３２，２１８号並びにThilo Demmeler及びPaolo Giustoによる文献「A Universal Communication Model for an Automotive System Integration Platform」（Proceedings of the DATE 2001 on Design, automation and test in Europe、ページ47〜54）並びにGianluca Cena及びAdriano Valenzanoによる文献「New efficient communication services for ISO 11898 networks」（Computer Standard & Interfaces 22 (2000)、ページ61〜74）が参照される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ネットワークにおける通信をモニタする信頼性のある方法を提供することである。
【課題を解決するための手段】
【０００６】
この目的は、本発明による、データ処理ユニットの群において通信をモニタする方法であって、特定の動作を実行するために、一のデータ処理ユニットが他のデータ処理ユニットにデータ信号を送信し、前記送信するデータ処理ユニットからのデータ信号の受信の際に、全ての前記他のデータ処理ユニットは、前記送信するデータ処理ユニット及び前記他のデータ処理ユニットに適当な確認応答によって応答する、方法を提案することによって達成される。
【０００７】
本発明による方法によって、他のデータ処理ユニットがデータ信号を受信したか否かを、各データ処理ユニットが知ることになる。本発明により、送信器及び受信器は、受信器が送信されたデータを受信したかどうか、及び、どの受信器が送信されたデータを受信したか、についての同一の見識を得ることになる。本発明は、データ送信が、いつでも乱れうることを考慮に入れる。実際のデータ信号だけでなく、返送される、受信の確認応答も乱れうる。
【０００８】
本発明による方法の他の利点は、確認応答が、プロトコルレベルではなくアプリケーションレベルで起こるということにある。これに関し、通常は、これらの確認応答が、送信された信号が関連するデータ処理ユニットによってのみ返信されれば十分である。
【０００９】
送信するデータ処理ユニットは、より高レベルの中央ユニット（サーバ）であってよく、送信されたデータ信号を受信して変換する、他のデータ処理ユニットは、より低レベルのデータ処理ユニット（クライアント）であってよい。しかし、更に考えられる構成は、全データ処理ユニットが等しい権利を持つ構成である。
【００１０】
好適には、各データ処理ユニットは、少なくとも自身の確認応答を含む、自身のステータス信号を発生する。従って、各データ処理ユニットは、自身のステータス信号を含む。
【００１１】
他の、ここでは非常に好適な実施例において、応答データ処理ユニットは、時間順に規定された順序で応答し、この結果、少なくとも第１のデータ処理ユニットが応答し、続いて、次の、第２のデータ処理ユニットが応答し、同様に続き、ここで、第１の応答データ処理ユニットは、自身の確認応答のみを含むステータス信号を送信し、第２の応答データ処理ユニットは、自身の確認応答と、更に、第１のデータ処理ユニットの確認応答とを含むステータス信号を送信し、該当する場合、次に応答する後続の全てのデータ処理ユニットは、自身の確認応答と、更に、既に以前に応答した全データ処理ユニットの確認応答とを含むステータス信号を送信する。従って、後続するデータ処理ユニットが、自身の確認応答と共に、先行するデータ処理ユニットの確認応答を、他のデータ処理ユニットに送信する、一種のカスケードが形成される。
【００１２】
好適には、各データ処理ユニットのステータス信号は、他のデータ処理ユニットから受信されたステータス信号によって、適切な態様で補充され、これは、特に、組合せ操作（combining operation）によって起こる。従って、全データ処理ユニットは、段階的に、自身の現在ステータス信号を送信し、受信ユニットは、他のデータ処理ユニットのそれぞれから受信されるステータス信号を考慮に入れて自身のステータス信号を適切に更新する。
【００１３】
時間順に規定された順序に従って応答するのが最後であるデータ処理ユニットが、自身の確認応答に加えて既に応答した全データ処理ユニットの確認応答を含むステータス信号を送信したら、全データ処理ユニットは、便宜上、上記のようにして更新された自身のステータス信号を２度目に送信するべきである。この２度目のサイクルによって、識別の確実性は、データ処理ユニットが２度目に応答するという事実のみによって既に上昇される。しかし、第１のサイクルとの違いは、全データ処理ユニットにおいて正しく受信された場合、第１のサイクルの終わりには、全データ処理ユニットのステータス信号が同一の値を持ち、従って、第２のサイクルにおいては全データ処理ユニットが同一のステータス信号を送信しなければならないということである。従って、全ステータス信号が同一の値を持つか否かという第２のサイクルにおける決定は、全データ処理ユニットにおける受信が正しかったか否かを判断する他の基準を形成する。
【００１４】
各データ処理ユニットは、このようにして、当該データ処理ユニットが中央ユニットからデータ信号を受信したことを、他のデータ処理ユニットが知っているか否かを決定することができる。従って、正しく受信したデータ処理ユニットであっても、他の全てのデータ処理ユニットが、当該データ処理ユニットが正しく受信していないと信じているということを知っている、データ処理ユニットは、正しく受信しなかったかのように挙動することもできる。従って、全てのデータ処理ユニットが、他のデータ処理ユニットのそれぞれによって期待される態様で挙動することが、保証される。
【００１５】
他の好適な実施例において、全データ処理ユニットによって発生されるステータス信号は、応答データ処理ユニットの数に対応するのと同じ信号エレメントを持ち、各信号エレメントは、特定の応答データ処理ユニットに関連し、その確認応答を示す。これに関連して、例えば、ステータス信号中で最初に来る信号エレメントは、時間順に規定された順序で最初に応答するデータ処理ユニットを指定し、次に、第２の信号エレメントが、次に応答する第２のデータ処理ユニットを指定し、以下同様に続く。しかし、送信するデータ処理ユニットに関して、更なる信号エレメントがあってはならない。なぜなら、このユニットは、均一な見解が存在しなければならないデータ信号の、送信器だからである。
【００１６】
各信号エレメントは、慣習上、少なくとも第１の状態及び第２の状態を取るべきであり、このうち、例えば、第１の状態が正しい受信を示し、第２の状態が非受信又は受信障害を示す。全データ処理ユニットによって発生されたステータス信号は、便宜上、信号エレメントを形成するベクトルエレメントから成るベクトル信号を示し、このベクトル信号は慣習上ビットベクトルであり、従って、ベクトルエレメントは、例えば「１」が正しい受信を示し「０」が非受信又は受信妨害を示すビットからなる。
【００１７】
ステータス信号がビットベクトルから構成されれば、コンビネーションは、好適には、ＯＲコンビネーションとして実行されるべきである。
【００１８】
各データ処理ユニットが他のデータ処理ユニットの何れの送信の瞬間をも演繹的に知ることを保証するため、データ処理ユニット間の通信は、好適には、時間制御されるべきであり、特に、規定された時間パルスにおいて制御されるべきである。
【００１９】
上記の通信は、ネットワークの一部又はネットワーク全体を形成するデータ処理ユニットの群において起こってよい。
【発明を実施するための最良の形態】
【００２０】
本発明のこれらの及び他の側面は、以下で説明される実施例を参照して説明され明らかになる。
【００２１】
図１〜３は、より高いレベルの中央ユニット及び４つのより低いレベルのデータ処理ユニットを有する詳細に示されない通信ネットワークの信号図の例を概略的に示し、前記データ処理ユニットは、「ノード１」、「ノード２」、「ノード３」及び「ノード４」と示され、中央ユニットは「ノード５」と示される。個々のユニットはデータバスを介して相互接続され、これは示されない。このようなネットワーク構造は、中でも、制御又は調整アプリケーションにおいて、例えば自動車のブレーキ系において用いられる。上記アプリケーションにおいて、中央ユニットは制御デバイスを形成し、制御信号をデータ信号としてデータ処理ユニットに送信し、これらデータ処理ユニットは、これらのデータ信号に依存して、例えば、自動車の各車輪においてブレーキを適切に駆動する。
【００２２】
ユニット間で送信されるデータに関しては、特に自動車のブレーキ系のような重要なアプリケーションにおいては、受取先が当該データを正しく受信して更に処理したことが保証されなければならない。これを達成するには、送信器及び受信器が、送信されたデータが正しく受信されたか、また、受信器のうちの何れが当該データを正しく受信したか、についての均一な見識を得なければならない。このために、データ処理ユニットは、受信確認応答を送信することによって応答しなければならない。しかし、これに関して、データ送信はいつでも乱れうるということを考慮に入れなければならない。実際のデータが妨害されるだけでなく、返送される受信確認応答も妨害されうる。従って、例えば、ブレーキ動作の場合に、自動車の左のブレーキのみがブレーキ命令を理解したら、致命的でなくとも極めて深刻な自動車の不良動作が起こることとなる。従って、各ユニットが、他のユニットが命令を受信したか否かを知ることが非常に重要である。
【００２３】
また、時間によって制御される通信は有利である。なぜならこの場合、各ユニットは、どの他のユニットの送信の瞬間をも演繹的に知るからである。
【００２４】
各ユニットは、ステータス信号を記憶しており、これは、図に示される例によれば、４つの１又は０の列を含む４桁のビットベクトルΓからなる。示される例において、ビットベクトルΓの第１のビットは第１のデータ処理ユニット「ノード１」を示し、第２のビットは第２のデータ処理ユニット「ノード２」を示し、第３のビットは第３のデータ処理ユニット「ノード３」を示し、第４のビットは第４のデータ処理ユニット「ノード４」を示す。示される例においては、「１」ビットは関連するデータ処理ユニットにおける正しい受信を示すが、「０」ビットは、何も受信されなかった又は受信が乱れたということを示す。他方では、中央ユニット「ノード５」にはビットは割り当てられない。なぜならこのユニットは、均一な見識がなければならないデータ信号の、送信器だからである。しかし、中央ユニットも、このようなビットベクトルを受信して記憶する。
【００２５】
中央ユニット「ノード５」がデータ信号（例えばブレーキ命令）を送信したら、受信するデータ処理ユニットのそれぞれは、自身に割り当てられたビットを、正しい値が受信された（「１」）か又は受信されなかった（「０」）かに応じて、ローカルに利用可能なビットベクトルに入れる。図が示すように、全データ処理ユニットは、ここで、自身の現在ビットベクトルを段階的に送信し、受信するデータ処理ユニットは、自身のビットベクトルを、他のデータ処理ユニットの何れかから受信された各ビットベクトルとのＯＲコンビネーションによって更新する。
【００２６】
図１は、全データ処理ユニット「ノード１」〜「ノード４」が正しく受信する状況を示す。開始時の状態では、ビットは、全ユニットのビットベクトルにおいてゼロにセットされる。図１のステップ０ａに示されるように、中央ユニット「ノード５」が続いてデータ信号を４つのデータ処理ユニット「ノード１」〜「ノード４」に送信すれば、各データ処理ユニットにおいて、ビットベクトルの関連するビットは「１」にセットされ、このため、第１のデータ処理ユニット「ノード１」のビットベクトルＧは値１０００を得て、第２のデータ処理ユニット「ノード２」は値０１００を得て、以下続く。次のステップＩａにおいて、第１のデータ処理ユニット「ノード１」は、確認応答により、自身のビットベクトルＧ＝（１０００）を他のユニットに送信し、他のデータ処理ユニット「ノード２」、「ノード３」及び「ノード４」において、関連するビットベクトルは、それぞれ、第１のデータ処理ユニットの受信されたビットベクトルとのＯＲコンビネーションによって組み合わせられ、この結果、第２のデータ処理ユニット「ノード２」のビットベクトルの値は、（０１００）から（１１００）に変化し、第３のデータ処理ユニット「ノード３」においては（００１０）から（１０１０）に、第４のデータ処理ユニット「ノード４」においては（０００１）から（１００１）に、中央ユニット「ノード５」においては（００００）から（１０００）に、変化する。続いて、第２のデータ処理ユニット「ノード２」は、このように更新されたビットベクトルＧ＝（１１００）を他の３つのデータ処理ユニットに送信し、ここで、関連するビットベクトルとの（他の）ＯＲコンビネーションは上記と同様の態様で起こり、これは、図１の次のステップＩＩａにおいて概略的に示される。構成の明瞭のため図１には示されない次の２つの最後のステップＩＩＩａ及びＩＶａにおいては、２つの他のデータ処理ユニット「ノード３」及び「ノード４」が、それぞれ、自身の対応して更新されたビットベクトルを送信し、この結果、全ユニットのビットベクトルは最終的に値（１１１１）を持つ。
【００２７】
更に、中央ユニット「ノード５」においても、関連するビットベクトルの受信されたビットベクトルとのＯＲコンビネーションが起こり、この結果、ビットは続いて「０」から「１」に変更されることに注意されたい。
【００２８】
この第１の問合せサイクルの後、第２のサイクルが実行され、このサイクルにおいて、図１の例（正しい受信）では、ステップＩｂに図式的に示されるように、全ユニットが、同じ値「（１１１１）」を持つビットベクトルのみを送信する。これは、ステップＩａに対応するが、ステップＩｂでは第１のデータ処理ユニット「ノード１」が値Ｇ＝（１１１１）を持つビットベクトルを送信する、という違いがある。
【００２９】
この第２の問合せサイクルの後、全ユニットのビットベクトルは値（１１１）にセットされたままであり、これは図１の最終ステップＶに図式的に示される。
【００３０】
図１に示される状況のように、障害が起きなければ、第１のサイクルの後に、既に、各ユニットは、データ信号が受信されたか否かを全ての他のユニットについて知っている。
【００３１】
図２は、第４のデータ処理ユニット「ノード４」において短い応答障害が発生する状況を示し、示されているステップ０ａ、Ｉａ及びＩＩａは、図１の同一ステップに対応する。図２のステップＩａにおいて、第４のデータ処理ユニット「ノード４」が第１のデータ処理ユニット「ノード１」から確認応答を受信しないことを見ることができ、このため、第４のデータ処理ユニット「ノード４」のビットベクトルにおいて、第１のデータ処理ユニットに関連した第１のビットは「１」にセットされず、「０」にセットされたままである。しかし、図２の例においては、第４のデータ処理ユニット「ノード４」が短い障害のため第１のデータ処理ユニット「ノード１」からビットベクトルを受信することができなかったので、第４のデータ処理ユニット「ノード４」のビットベクトルは、次のステップＩＩａで、即ち、第２のデータ処理ユニット「ノード２」が自身のビットベクトルを送信するときに、適切に修正され、前記ビットベクトルは、中でも、第４のデータ処理ユニット「ノード４」によっても妨害なしに受信される。残りの手順は、図１を参照して説明される手順に対応する。
【００３２】
図３−ａは、図２に示される、２つのデータ処理ユニット間で選択的な障害がある状況とは異なり、第１のデータ処理ユニット「ノード１」によって送信されるビットベクトルが完全に破壊され、このため全ての他のユニットがこのベクトルを受信しない、という状況を示す。この場合、ステップ０ａ、Ｉａ、ＩＩａ及びＩｂは、図１の同一ステップに対応し、ステップ０ｂ（第２サイクルの最初）が加えて示されている。ステップＩａは、第２から第４のデータ処理ユニット「ノード２」から「ノード４」の、更に、中央ユニット「ノード５」の、ビットベクトルは、変化しないことを明らかに示す。なぜなら、これら全ての場合において、第１のデータ処理ユニットに関連する第１のビットは「１」にセットされず「０」にセットされたままであるからである。このエラーは、後のステップＩＩＩａ及びＩＶａ（示さず）に続き、このため、第１のサイクルの終わりに、第１のデータ処理ユニット「ノード１」のビットベクトルは、（１１１１）に正しくセットされるが、他のユニットのそれぞれのビットベクトルは（０１１１）にしか示されない。後者のセッティングは、中央ユニット「ノード５」にも当てはまる。第２のサイクルの最初に、中央ユニット「ノード５」は、従って、ステップ０ｂに示されるように、ビットベクトルＧ＝（０１１１）を送信する。図３ａに示される例において、障害は、それまでに解消されているので、第１のデータ処理ユニット「ノード１」からの応答は、ビットベクトルＧ＝（１１１１）であり、このときこれは、他のユニットによって正しく受信され、この結果、他のユニットのビットベクトルも（１１１１）にセットされる。第２の問合せサイクルの、引き続きのステップＩＩｂ〜ＩＶｂ（示さず）において、他のデータ処理ユニットは、自身の現在ビットベクトルを段階的に送信するが、既に全ての場合においてこれは（１１１１）にセットされているので、他の変化は起こらない。従って、第２のサイクルの最後に、全ユニットのビットベクトルは、（１１１１）に正しくセットされ、このため、全ユニットが、データ送信が正しく起こったことを認識した。
【００３３】
しかし、図３−ｂに示される場合には、第１のデータ処理ユニット「ノード１」によって送信されたビットベクトルを完全に破壊して他のユニットによって受信されないようにした障害は、第２のサイクル中に解消されないので、第２のサイクルの終わりでも、第１のサイクルの結果と比較してビットベクトルは変化しない。第２〜第４のデータ処理ユニット「ノード２」〜「ノード４」及び中央ユニット「ノード５」が、それぞれ、値（０１１１）を持つビットベクトルを送信するので、第１のデータ処理ユニット「ノード１」は、他の全てのユニットが、「ノード１」がデータを受信していないと信じていることを知らされる（しかしこれは真ではない。なぜなら、「ノード１」は、自身のビットベクトルを送信することが可能ではあったが、このベクトルは送信プロセスの間に完全に破壊されたためである）。この結果、第１のデータ処理ユニット「ノード１」は、これに対応して挙動することができる。
【００３４】
完全性のために、上記の例では、「ノード５」がより高レベルの中央ユニットとして設けられることに更に注意されたい。しかし、代替的に、ここで説明される例において、「ノード１」〜「ノード５」が、等しい権利を持つデータ処理ユニットとして提供されることも考えられる。
【００３５】
従って、説明された方法は、各データ処理ユニットが、当該データ処理ユニットが命令を受信したか否かを他のデータ処理ユニットが知っているかを確かめることを可能にする。従って、正しく受信したデータ処理ユニットであるが、当該ユニットが正しく受信していないと他の全てのデータ処理ユニットが信じていることを知っているデータ処理ユニットは、自身が正しく受信しなかったかのように挙動することができる。従って、全データ処理ユニットが、他のデータ処理ユニットのそれぞれによって予想される態様で挙動することが保証される。
【図面の簡単な説明】
【００３６】
【図１】正しい受信の場合の、中央ユニット及び４つのデータ処理ユニットを有する通信ネットワークの信号図を概略的に示す。
【図２】１つのデータ処理ユニットにおける受信が少し乱れた場合の、中央ユニット及び４つのデータ処理ユニットを有する通信ネットワークの信号図を概略的に示す。
【図３−ａ】中央ユニット及び４つのデータ処理ユニットを有する通信ネットワークの信号図を、一のデータ処理ユニットから他の全てのユニットへのステータス信号の送信が短時間乱れる第１の状況について、概略的に示す。
【図３−ｂ】中央ユニット及び４つのデータ処理ユニットを有する通信ネットワークの信号図を、一のデータ処理ユニットから他のユニットへのステータス信号の送信がより長時間乱れる第２の状況について、概略的に示す。
【図１】
0004468354.tif 000002
【図２】
0004468354.tif 000003
【図３ａ】
0004468354.tif 000004
【図３ｂ】
0004468354.tif 000005