(57)【要約】【課題】データの送受信を中継する中継装置を複数備え、中継装置間でデータを交換するに際し、交換に要する時間を短縮させることができ、更に各中継装置が持つデータの同一性を担保することができる中継装置、該中継装置を含む通信システム及び通信方法を提供する。【解決手段】中継装置３ａ，３ｂ，３ｃ，３ｄは、夫々に接続されているＥＣＵから受信するデータを第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶する。同期期間中は中継装置３ａ，３ｂ，３ｃ，３ｄが相互にＥＣＵから受信した属性値群を含む幹線フレームにより送受信する。各ＥＣＵへはデータベース３１ａ，３１ｂ，３１ｃ，３１ｄから読み出されたデータが送信されるが、全幹線フレームを受信した中継装置３ｄからの最終フレームを中継装置３ａが受信してＣＯＭＭＩＴを発行して初めてデータベース３１ａ，３１ｂ，３１ｃ，３１ｄが同期される。【選択図】図９
2010021805.tif 000002
【特許請求の範囲】
【請求項１】
数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する外部装置に接続され、外部装置とのデータの送受信を行なう第１の通信手段、及びデータベースにデータを記憶する手段を備え、データベースから読み出したデータを前記第１の通信手段により外部装置へ送信して外部装置間のデータの送受信を中継する中継装置において、
他の中継装置との間で通信を行なう第２の通信手段と、
外部装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、
一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、
作成したデータフレームを前記第２の通信手段により送信する手段と、
データフレームを他の中継装置から受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と、
前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段と、
データベースに記憶するデータの確定を示す確定通知を他の中継装置から受信したか否かを判断する手段と
を備え、
確定通知を受信したと判断した場合に前記更新手段により更新を行なうようにしてあること
を特徴とする中継装置。
【請求項２】
確定通知を受信していないと判断した場合に、他の中継装置から前記確定通知が送信されたことを示す送信情報を受信したとき、前記更新手段により更新を行なうようにしてあること
を特徴とする請求項１に記載の中継装置。
【請求項３】
数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する外部装置に接続され、外部装置とのデータの送受信を行なう第１の通信手段、及びデータベースにデータを記憶する手段を備え、データベースから読み出したデータを前記第１の通信手段により外部装置へ送信して外部装置間のデータの送受信を中継する中継装置において、
他の中継装置との間で通信を行なう第２の通信手段と、
外部装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、
一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、
作成したデータフレームを前記第２の通信手段により他の中継装置へ送信する手段と、
データフレームを他の中継装置から受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と、
データベースに記憶するデータを確定すべきか否かを判断する判断手段と、
前記判断手段が確定すべきと判断した場合に、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段と、
前記判断手段が確定すべきと判断した場合、前記第２の通信手段によりデータの確定を示す確定通知を他の中継装置へ送信する手段と
を備えることを特徴とする中継装置。
【請求項４】
前の周期で前記確定通知を送信したか否かを示す通知情報を前記第２の通信手段により送信する通知情報送信手段を更に備え、
前記判断手段が確定すべきと判断した場合、次の周期で前記通知情報送信手段により前記確定通知を送信したことを示す通知情報を送信させるようにしてあること
を特徴とする請求項３に記載の中継装置。
【請求項５】
前記判断手段が確定すべきでないと判断した場合、次の周期で前記通知情報送信手段により前記確定通知を送信していないこと示す通知情報を送信させるようにしてあり、
前の周期で作成したデータフレームを再送するようにしてあること
を特徴とする請求項３に記載の中継装置。
【請求項６】
数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する複数の通信装置により夫々構成される複数の通信装置群と、該複数の通信装置群に群毎に一又は複数接続され、通信装置とのデータの送受信を行なう第１の通信手段、データベースにデータを記憶する手段、データベースから読み出したデータを前記第１の通信手段により通信装置へ送信する手段を備え、相互に接続され、通信装置間のデータの送受信を中継する複数の中継装置とを含む通信システムにおいて、
各中継装置は、
他の中継装置との間で通信を行なう第２の通信手段と、
接続している通信装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、
一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、
作成したデータフレームを前記第２の通信手段により他の中継装置へ送信する手段と、
他の中継装置からデータフレームを受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と
前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段と
を備え、
各中継装置の内の特定の中継装置は、
データベースに記憶するデータを確定すべきか否かを判断する判断手段と、
該判断手段が確定すべきと判断した場合、前記第２の通信手段によりデータの確定を示す確定通知を他の中継装置へ送信する手段と
を備え、
前記判断手段が確定すべきと判断した場合、前記更新手段により更新を行なうようにしてあり、
前記特定の中継装置以外の中継装置は、
前記確定通知を特定の中継装置から受信したか否かを判断する手段と、
確定通知を受信したと判断した場合、前記更新手段により更新を行なうようにしてあること
を特徴とする通信システム。
【請求項７】
各中継装置は直列的に接続されており、
前記特定の中継装置は、
各中継装置の内の一端に位置する中継装置であること
を特徴とする請求項６に記載の通信システム。
【請求項８】
各中継装置の内の前記特定の中継装置と逆の一端に位置する中継装置は、
自身以外の全ての中継装置から送信されるデータフレームを受信するまで、作成したデータフレームの送信を待機するようにしてあり、
他の中継装置は、前記第２の通信手段により両隣に接続されている中継装置の内の一方からデータフレームを受信した場合、他方へデータフレームを転送する手段を備えるようにしてあること
を特徴とする請求項７に記載の通信システム。
【請求項９】
前記特定の中継装置の判断手段は、他の全ての中継装置からのデータフレームを受信した場合、データを確定すべきと判断するようにしてあること
を特徴とする請求項７又は８に記載の通信システム。
【請求項１０】
数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する複数の通信装置により夫々構成される複数の通信装置群に群毎に一又は複数接続され、通信装置からデータを受信し、データベースにデータを記憶し、前記データベースから読み出したデータを通信装置へ送信し、通信装置間のデータの送受信を中継するように相互に接続される複数の中継装置による通信方法において、
各中継装置は、
接続している通信装置からデータを受信する都度、受信した一又は複数のデータの数値情報をを前記データベースに対する第１のバッファに記憶し、
一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成し、
作成したデータフレームを他の中継装置へ送信し、
他の中継装置から送信されるデータフレームを受信し、
受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶し、
各中継装置の内の特定の中継装置は、
データベースに記憶するデータを確定すべきか否かを判断し、
確定すべきと判断した場合、データの確定を更に示す確定通知を他の中継装置へ送信し、
確定すべきと判断した場合、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新し、
前記特定の中継装置以外の中継装置は、
前記確定通知を特定の中継装置から受信したか否かを判断し、
確定通知を受信したと判断した場合、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置間でデータを送受信する通信システムに関する。特に、通信装置間のデータの送受信を中継する中継装置を複数備え、中継装置間でデータを交換する場合に、データの交換に要する時間を短縮させることができると共に、各中継装置が持つデータの同一性をより確実に担保することができる中継装置、該中継装置を含む通信システム及び通信方法に関する。
【背景技術】
【０００２】
近年では、複数の通信装置を接続し、各通信装置に夫々機能を割り振って相互にデータを交換し、連携して多様な処理を行なわせるシステムが各分野で利用されている。例えば、車両に配される車載ＬＡＮ（Local Area Network）の分野では、通信装置としてＥＣＵ（電子制御装置；Electronic Control Unit）を用い、各ＥＣＵに夫々特化させた処理を行なわせて相互にデータを交換することにより、システムとして多様な機能を実現させている。
【０００３】
各通信装置の機能の特化、また各通信装置が行なうことができる機能の増加に伴ない、通信媒体に接続される通信装置の数及び種別も増加する。更に、システムとして多様な機能が期待されるようになることから、各通信装置がデータを共有して連携する必要が生じ、送出されるデータの量は増加する。
【０００４】
通信線で送受信されるデータ量の増大はコリジョン（衝突）によるデータの遅延又は欠落を招く。データの著しい遅延又は欠落は、ＥＣＵによるブレーキ制御等の運転補助機能に対して致命的な場合がある。
【０００５】
そこで、通信線を複数に分け、異なる通信線にＥＣＵを夫々接続する構成が一般的である。データを共通に使用するＥＣＵをまとめることで通信線の使用の無駄を抑えることができるからである。また、ＥＣＵの種類の増大に対して効率的に通信線を利用するため、通信速度の異なる通信線に、送受信するデータの種類によりＥＣＵを分別して接続する構成もある。これらの構成では、異なる通信線間はデータの送受信を制御する中継装置により接続される。
【０００６】
各通信装置を複数のグループに分けた場合であっても各通信装置の制御に必要なデータを中継装置が全て転送する構成では通信線に送出されるデータの量は低減されない。そこで、特許文献１には各通信装置から受信したデータを一旦データベースに記憶し、各通信装置が必要とするデータを適宜データベースから読み出して送信するようにし、更にデータベースを有する装置間でデータベースに記録されたデータを送受信し、データベースをを共有する技術が開示されている。
【特許文献１】特開２００７−３００３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された技術により、各通信装置を複数の群に分け、異なる群間のデータの送受信はデータベースを有する装置が中継する構成とし、データベースを共有させることによって遅延を低減させることができる。このようにデータベースを有する装置により異なる群の通信装置間のデータの送受信を中継する構成とした場合、中継処理の更なる高速化が要求されるときにはデータベースを有する中継装置間での通信量を削減する構成が望まれる。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、データベースを有する中継装置間でデータを交換するに際し、識別情報と識別情報に対応する数値情報との対からなるデータの内、数値情報のみを適宜組み合わせて送受信することにより通信量を削減することができ、更に各装置で確定通知が受信されない限りデータベースを更新しない構成とすることによって各中継装置のデータベースの同一性を担保することができる中継装置、該中継装置を含む通信システム及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１発明に係る中継装置は、数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する外部装置に接続され、外部装置とのデータの送受信を行なう第１の通信手段、及びデータベースにデータを記憶する手段を備え、データベースから読み出したデータを前記第１の通信手段により外部装置へ送信して外部装置間のデータの送受信を中継する中継装置において、他の中継装置との間で通信を行なう第２の通信手段と、外部装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、作成したデータフレームを前記第２の通信手段により送信する手段と、データフレームを他の中継装置から受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段と、データベースに記憶するデータの確定を示す確定通知を他の中継装置から受信したか否かを判断する手段とを備え、確定通知を受信したと判断した場合に前記更新手段により更新を行なうようにしてあることを特徴とする。
【００１０】
第２発明に係る中継装置は、確定通知を受信していないと判断した場合に、他の中継装置から前記確定通知が送信されたことを示す送信情報を受信したとき、前記更新手段により更新を行なうようにしてあることを特徴とする。
【００１１】
第３発明に係る中継装置は、数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する外部装置に接続され、外部装置とのデータの送受信を行なう第１の通信手段、及びデータベースにデータを記憶する手段を備え、データベースから読み出したデータを前記第１の通信手段により外部装置へ送信して外部装置間のデータの送受信を中継する中継装置において、他の中継装置との間で通信を行なう第２の通信手段と、外部装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、作成したデータフレームを前記第２の通信手段により他の中継装置へ送信する手段と、データフレームを他の中継装置から受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と、データベースに記憶するデータを確定すべきか否かを判断する判断手段と、前記判断手段が確定すべきと判断した場合に、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段と、前記判断手段が確定すべきと判断した場合、前記第２の通信手段によりデータの確定を示す確定通知を他の中継装置へ送信する手段とを備えることを特徴とする。
【００１２】
第４発明に係る中継装置は、第３発明において前の周期で前記確定通知を送信したか否かを示す通知情報を前記第２の通信手段により送信する通知情報送信手段を更に備え、前記判断手段が確定すべきと判断した場合、次の周期で前記通知情報送信手段により前記確定通知を送信したことを示す通知情報を送信させるようにしてあることを特徴とする。
【００１３】
第５発明に係る中継装置は、第３発明において前記判断手段が確定すべきでないと判断した場合、次の周期で前記通知情報送信手段により前記確定通知を送信していないこと示す通知情報を送信させるようにしてあり、前の周期で作成したデータフレームを再送するようにしてあることを特徴とする。
【００１４】
第６発明に係る通信システムは、数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する複数の通信装置により夫々構成される複数の通信装置群と、該複数の通信装置群に群毎に一又は複数接続され、通信装置とのデータの送受信を行なう第１の通信手段、データベースにデータを記憶する手段、データベースから読み出したデータを前記第１の通信手段により通信装置へ送信する手段を備え、相互に接続され、通信装置間のデータの送受信を中継する複数の中継装置とを含む通信システムにおいて、各中継装置は、他の中継装置との間で通信を行なう第２の通信手段と、接続している通信装置からデータを受信する都度、受信した一又は複数のデータの数値情報を前記データベースに対する第１のバッファに記憶する手段と、一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成する手段と、作成したデータフレームを前記第２の通信手段により他の中継装置へ送信する手段と、他の中継装置からデータフレームを受信した場合、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶する手段と前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新する更新手段とを備え、各中継装置の内の特定の中継装置は、データベースに記憶するデータを確定すべきか否かを判断する判断手段と、該判断手段が確定すべきと判断した場合、前記第２の通信手段によりデータの確定を示す確定通知を他の中継装置へ送信する手段とを備え、前記判断手段が確定すべきと判断した場合、前記更新手段により更新を行なうようにしてあり、前記特定の中継装置以外の中継装置は、前記確定通知を特定の中継装置から受信したか否かを判断する手段と、確定通知を受信したと判断した場合、前記更新手段により更新を行なうようにしてあることを特徴とする。
【００１５】
第７発明に係る通信システムは、第６発明において各中継装置は直列的に接続されており、前記特定の中継装置は、各中継装置の内の一端に位置する中継装置であることを特徴とする。
【００１６】
第８発明に係る通信システムは、第７発明において各中継装置の内の前記特定の中継装置と逆の一端に位置する中継装置は、自身以外の全ての中継装置から送信されるデータフレームを受信するまで、作成したデータフレームの送信を待機するようにしてあり、他の中継装置は、前記第２の通信手段により両隣に接続されている中継装置の内の一方からデータフレームを受信した場合、他方へデータフレームを転送する手段を備えるようにしてあることを特徴とする。
【００１７】
第９発明に係る通信システムは、第７発明又は第８発明において前記特定の中継装置の判断手段は、他の全ての中継装置からのデータフレームを受信した場合、データを確定すべきと判断するようにしてあることを特徴とする。
【００１８】
第１０発明に係る通信方法は、数値情報及び該数値情報の識別情報を含むデータを周期的に送受信する複数の通信装置により夫々構成される複数の通信装置群に群毎に一又は複数接続され、通信装置からデータを受信し、データベースにデータを記憶し、前記データベースから読み出したデータを通信装置へ送信し、通信装置間のデータの送受信を中継するように相互に接続される複数の中継装置による通信方法において、各中継装置は、接続している通信装置からデータを受信する都度、受信した一又は複数のデータの数値情報をを前記データベースに対する第１のバッファに記憶し、一定の周期で、前記第１のバッファに記憶されている数値情報を読み出して該数値情報を含むデータフレームを作成し、作成したデータフレームを他の中継装置へ送信し、他の中継装置から送信されるデータフレームを受信し、受信したデータフレーム、又は該データフレームに含まれる数値情報を前記データベースに対する第２のバッファに記憶し、各中継装置の内の特定の中継装置は、データベースに記憶するデータを確定すべきか否かを判断し、確定すべきと判断した場合、データの確定を更に示す確定通知を他の中継装置へ送信し、確定すべきと判断した場合、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新し、前記特定の中継装置以外の中継装置は、前記確定通知を特定の中継装置から受信したか否かを判断し、確定通知を受信したと判断した場合、前記第１及び第２のバッファの数値情報により、データベースのデータの数値情報を更新することを特徴とする。
【００１９】
本発明では、外部装置（通信装置）が送受信し、更に中継装置のデータベースに記憶されるデータを交換する場合、各中継装置は、外部装置との通信を行なう第１の通信手段とは異なる第２の通信手段によって数値情報を含むデータフレームを送受信することにより交換する。データの種類が多いほど識別情報を表わすための情報長が長くなり、更に中継装置間で交換するデータの数に応じて識別情報の情報長の総計は長くなる。しかしながら、本発明では中継装置間における送受信でデータ毎の識別情報の送受信が省略されるので通信量が削減される。更に、各中継装置は外部装置から受信されるデータ及び中継装置間で送受信するデータを一時的にデータベースに対する第１及び第２のバッファに記憶しておく。そして各中継装置はデータの確定を示す確定通知を受信しない限り、第１及び第２バッファに記憶している数値情報によってデータベースを更新することはない。各中継装置で確定通知が受信されたときに一斉にデータベースの更新がされる。
【００２０】
本発明では、各中継装置は周期的にデータフレームを作成して交換する。他の中継装置から確定通知を受信していない場合、データベースの更新がされない。次の周期の期間に、前の周期で確定通知が送信されたことを示す送信情報を受信したときは、前の周期で受信して第１及び第２のバッファに記憶してある数値情報でデータベースを更新する。確定通知が送信されている場合は、他の中継装置で既にデータベースの更新がされている可能性がある。したがって、当該中継装置でも早急に更新をすることにより、他の中継装置のデータベースと同一とすることができる。これにより、中継装置間でデータの交換に失敗した場合もできる限り早くリカバリーしてデータベースの同一性を確保することが可能である。
【００２１】
本発明では、各中継装置は周期的にデータフレームを作成して交換する。その際に、データフレームの交換に失敗した可能性があり、各中継装置が第２のバッファに記憶しているデータは揃っていないはずであるためにデータを確定すべきでないと判断される場合は確定通知が送信されない。この場合、確定通知が送信されていないことを示す送信情報が送信される。そして、次の周期の期間で、各中継装置により改めてデータフレームが作成され交換がされる際に前の周期のデータフレームが再送される。したがって各中継装置は他の中継装置でも前の周期でデータベースの更新がされていないことを認識することができ、次に他の中継装置とと共に確定通知を受信するまでデータベースの更新を行なわない。これにより、データベースの同一性を担保することが可能である。
【００２２】
本発明では、各中継装置は直列的に接続される。そして直列的に接続される各中継装置の一端に位置する中継装置が、データベースに記憶するデータを確定すべきか否かを判断する特定の中継装置として機能する。直列的に接続されることにより送受信が一箇所ででも失敗した場合は送受信が途切れる。したがって、一端に位置する特定の中継装置は、受信すべきデータフレーム又は各種情報を受信できないことにより、いずれかの中継装置間での送受信が失敗した可能性が高いことを認識できる。全ての中継装置間で送受信が成功した場合は、データが各中継装置で揃っているのでデータベースの更新が可能であり、一箇所でも失敗した場合は、届くべきデータが届いていない可能性が高いのでデータベースの更新をすべきでないと判断できる。これにより、データベースの同一性を担保することが可能である。
【００２３】
本発明では、直列的に接続されている各中継装置の内、特定の中継装置とは逆の一端に位置する中継装置が自身以外の全中継装置からのデータフレームを受信しない限り、いずれかでデータフレームの送受信が失敗していることになるので自身が作成したデータフレームを送信しない。これにより、特定の中継装置とは逆の一端に位置する中継装置からのデータフレームは、特定の中継装置からのデータフレームの応答としての機能を発揮する。これにより、各中継装置間でのデータフレームの送受信がいずれでも成功しているか否かの判断が容易となる。また、効率的なデータフレームの送受信が可能となる。
【００２４】
本発明では、直列的に接続されている各中継装置の内の一端に位置する特定の中継装置は、他の中継装置からの全データフレームが届いた場合、各中継装置間でのデータフレームの送受信がいずれでも成功したことを認識することができる。この場合、データが各中継装置で揃っているので各中継装置でデータベースを更新してもデータベースの内容はほぼ同一である。全データフレームの内の一つでも届かない場合、いずれか一箇所で送受信が失敗している。この場合、届くべきデータが届いていない可能性が高いのでデータベースの更新をすべきでないと判断できる。これにより、データベースの同一性を担保することが可能である。
【発明の効果】
【００２５】
本発明による場合、異なる群の外部装置（通信装置）間のデータを中継するために自身のデータベースのデータを他の中継装置と交換するに際し、データベースに含まれるデータの数値情報に対応する識別情報の送信が省略されて中継装置間の通信量を削減することができる。中継装置間における通信量を削減することにより、中継装置のデータベースのデータ交換に要する時間を短縮して高速に完了させることが可能になる。また、各中継装置は他装置から送信される確定通知を受信しない限りデータベースを更新しない。したがって、一部の中継装置でデータの交換に失敗した場合は各中継装置でデータベースを更新しないようにすることができ、異なる群の外部装置間でのデータの同一性を担保することが可能となる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下の実施の形態では、データの送受信処理を行なうＥＣＵ（Electronic Control Unit）が複数接続される車載通信システムに本発明に係る通信システムを適用した場合を例に説明する。
【００２７】
（実施の形態１）
図１は、実施の形態１における車載通信システムの構成を示す構成図である。車載通信システムは、データを送受信する通信装置であり、群をなすＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…と、群毎に各ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…を接続している通信線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈと、通信線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈに夫々接続しており、各ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…間のデータの送受信を中継する中継装置３ａ，３ｂ，３ｃ，３ｄと、中継装置３ａ，３ｂ，３ｃ，３ｄを接続している通信線４ａ，４ｂ，４ｃとを含む。
【００２８】
実施の形態１における車載通信システムは、幹線となる通信線４ａ，４ｂ，４ｃにより接続される中継装置３ａ，３ｂ，３ｃ，３ｄを介して複数の群をなすＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…間を接続する幹線型の車載ネットワークを構成している。以下、説明を明瞭とするため、通信線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈを支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈと呼び、通信線４ａ，４ｂ，４ｃを幹線４ａ，４ｂ，４ｃと呼ぶ。
【００２９】
ＥＣＵ１ａ，１ａ，…は支線２ａに、ＥＣＵ１ｂ，１ｂ，…は支線２ｂに、ＥＣＵ１ｃ，１ｃ，…は支線２ｃに、ＥＣＵ１ｄ，１ｄ，…は支線２ｄに夫々接続している。また、ＥＣＵ１ｅ，１ｅ，…は支線２ｆに、ＥＣＵ１ｆ，１ｆ，…は支線２ｆに、ＥＣＵ１ｇ，１ｇ，…は支線２ｇに、ＥＣＵ１ｈ，１ｈ，…は支線２ｈに夫々接続している。なお、支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈを介した各ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…間の接続形態は図１に示すようにバス型とする。後述するようにＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…は、ＣＡＮ（Controller Area Network）のプロトコルに準じてデータを送受信するからである。しかしながら支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈにおける接続形態はこれに限らず、スター型、ディジーチェーン型等のいずれの接続形態でもよい。
【００３０】
中継装置３ａ，３ｂ，３ｃ，３ｄ間の幹線４ａ，４ｂ，４ｃを介した接続形態は、ディジーチェーン型とする。中継装置３ａ及び中継装置３ｂ間は幹線４ａを介して接続されている。中継装置３ｂ及び中継装置３ｃ間は幹線４ｂを介して接続されている。中継装置３ｃ及び中継装置３ｄ間は幹線４ｃを介して接続されている。そして中継装置３ａ，３ｂ，３ｃ，３ｄは夫々、データベース３１ａ，３１ｂ，３１ｃ，３１ｄとして使用する記憶領域を備えている。
【００３１】
中継装置３ａは基本的に、支線２ａ，２ｂを介して接続しているＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から送信されたデータをデータベース３１ａに記憶する。中継装置３ａはデータベース３１ａから読み出したデータをＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…へ送信する。更に、中継装置３ａはＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から受信したデータを他の中継装置３ｂ，３ｃ，３ｄへ送信し、他の中継装置３ｂ，３ｃ，３ｄから受信したデータをデータベース３１ａに記憶する。他の中継装置３ｂ，３ｃ，３ｄも同様に、他の中継装置３ａ，３ｂ，３ｃ，３ｄから受信したデータをデータベース３１ｂ，３１ｃ，３１ｄに記憶する。これにより、データベース３１ａ，３１ｂ，３１ｃ，３１ｄが同一内容となるように同期され、異なる支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｆに接続しているＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…，１ｃ，１ｃ，…，１ｄ，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…が夫々同一のデータを使用することができる。
【００３２】
図２は、実施の形態１における車載通信システムを構成するＥＣＵ１ｃ及び中継装置３ｂの内部構成を示すブロック図である。
【００３３】
ＥＣＵ１ｃは、各構成部の動作を制御する制御部１０と、制御に必要なデータを記憶する記憶部１１と、支線２ｃとの通信を制御する通信制御部１２とを備える。他のＥＣＵ１ａ，１ｂ，１ｄ，１ｅ，１ｆ，１ｇ，１ｈの内部構成はＥＣＵ１ｃと同様であるので詳細な説明を省略する。
【００３４】
ＥＣＵ１ｃの制御部１０は、図示しない車両のバッテリー、オルタネータ等の電力供給装置から電力の供給を受けて各構成部の動作を制御するようにしてある。
【００３５】
記憶部１１は揮発性のメモリを利用し、制御部１０は処理の過程で発生する各種情報、後述するようにセンサから入力された信号が表す測定値又は中継装置３ｂから受信したデータを一時的に記憶部１１に記憶する。
【００３６】
通信制御部１２は、ネットワークコントローラチップを有して通信線２ｃとの通信を実現する。ＥＣＵ１ｃの制御部１０は、通信制御部１２を介してデータを送受信する。
【００３７】
このように構成されるＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…は測定値、計算値、制御値等の各種物理量の数値情報を含むデータの送信又はエンジン、ブレーキ等のマイクロコンピュータによる制御が可能な装置である。例えばＥＣＵ１ｃはＡＢＳ（Antilock Brake System）として機能し、車輪の回転速度（車輪速）を検知する図示しないセンサと接続されている。ＥＣＵ１ｃは、車両の制動時にセンサを介して検知した車輪速に基づいてブレーキを制御すると共に、車輪速の測定値をデータとして通信線２ｃを介して中継装置３ｂへ送信する。
【００３８】
なお、ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…から送信されるデータは、車輪速、温度、角度等のデータの属性を識別する属性ＩＤ（Identification Data）と、夫々の具体的な数値情報（属性値）との対で構成される。例えば、車輪速を表わすデータは、車輪速に割り振られた属性ＩＤ「１０」と、属性値「３０００（ｒｐｍ：revolutions per minute）」との対からなる。また、数値情報にはオン・オフ、上・中・下等の切り替えのための制御値を数値情報で表わしたもの（オン：１，オフ：０、上：１，中：０，下：マイナス１）も含まれる。
【００３９】
更に、ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…と、中継装置３ａ，３ｂ，３ｃ，３ｄとのデータの送受信は、複数のデータがまとめられた「メッセージ」の送受信によって実行される。車載装置１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ，１ｇ，１ｈ，…は、通信制御部１２によりデータを送信する場合、自身の動作によって得られるデータ群をメッセージとして送信する。
【００４０】
通信線（支線）２ｃ，２ｄは、ＣＡＮのプロトコルに基づく通信線を利用し、ＥＣＵ１ｃ，１ｃ，…，１ｄ，１ｄ，…の通信制御部１２は夫々、ＣＡＮプロトコルに基づき支線２ｃ，２ｄを介してメッセージを送受信する。なお、ＥＣＵ１ｃ，１ｃ，…，１ｄ，１ｄ，…は、ＣＡＮプロトコルに基づきメッセージを送信する場合、メッセージは複数のデータの組み合わせ毎に規定されているメッセージＩＤ、即ち「ＣＡＮ  ＩＤ」を含み、組み合わせに応じた属性値群をまとめて送信するようにしてある。
【００４１】
なお、支線２ｃ，２ｄはこれに限らず、ＬＩＮ（Local Interconnect Network）、ＦｌｅｘＲａｙ（登録商標）等のプロトコルに基づくメッセージの送受信が可能であってもよい。他の支線２ａ，２ｂ，２ｅ，２ｆ，２ｇ，２ｈも通信線２ａ，２ｂと同様である。なお、各ＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…から送受信されるデータの種類に応じて支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈを夫々異なるプロトコルの通信線で構成してもよい。
【００４２】
中継装置３ｂは、各構成部の動作を制御する制御部３０ｂと、支線２ｃ及び支線２ｄに接続されている支線通信部３２ｂと、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等の揮発性のメモリを利用した一時記憶領域３３ｂと、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electrically EPROM）、フラッシュメモリ等の不揮発性メモリを利用した記憶部３４ｂとを備える。そして、中継装置３ｂは幹線４ａに接続されている第１幹線通信部３５ｂ及び幹線４ｂに接続されている第２幹線通信部３６ｂとを備える。中継装置３ａ，３ｃ，３ｄの内部構成は中継装置３ｂの内部構成と同様であるので詳細な説明を省略する。
【００４３】
制御部３０ｂはＭＰＵ（Micro Processing Unit）を利用し、図示しない車両のオルタネータ、バッテリー等の電力供給装置から電力の供給を受けて各構成部の動作を制御するように構成してある。
【００４４】
支線通信部３２ｂは、支線２ｃ，２ｄを介して接続しているＥＣＵ１ｃ，１ｃ，…，１ｄ，１ｄ，…とのデータの送受信を実現する。なお、中継装置３ｂとＥＣＵ１ｃ，１ｃ，…，１ｄ，１ｄ，…との間のデータの送受信は上述のようにメッセージの送受信により実行される。そして、支線通信部３２ｂは複数のポートを有し、夫々のポートにより同時にメッセージを送受信することが可能な構成とする。実施の形態１における中継装置３ｂが備える支線通信部３２ｂはポートを８つ有し、８ポートから同時にメッセージを送受信することが可能である。
【００４５】
一時記憶領域３３ｂには、制御部３０ｂがデータを記憶するデータベース３１ｂのための記憶領域が設けられている。なお、データベース３１ｂは中継装置３ｂの外部に存在する記憶装置内の領域に設けられ、中継装置３ｂが接続して読み書きが可能な構成としてもよい。一時記憶領域３３ｂにはデータベース３１ｂの他に、受信したデータ（メッセージ）を一時的に記憶する第１受信バッファ３７ｂ及び第２受信バッファ３８ｂのための記憶領域が設けられている。
【００４６】
記憶部３４ｂには、制御部３０ｂが第１幹線通信部３５ｂにより他の中継装置３ｂと通信する際に参照する対応表３９ｂが予め記憶されている。対応表３９ｂの詳細については後述する。各中継装置３ａ，３ｂ，３ｃ，３ｄで記憶されている対応表３９ａ，３９ｂ，３９ｃ，３９ｄはいずれも同一の内容である。
【００４７】
第１幹線通信部３５ｂは幹線４ａを介して接続している中継装置３ａとの通信を実現する。また、第２幹線通信３６ｂは幹線４ｂを介して接続している中継装置３ｃとの通信を実現する。制御部３０ｂは、第１幹線通信部３５ｂによる中継装置３ａとの通信、及び第２幹線通信部３６ｂによる中継装置３ｃとの通信を同時に行なうことができる。
【００４８】
制御部３０ｂは、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂによる他の中継装置３ａ，３ｃとの通信を例えば１ミリ秒等の一定期間毎に周期的に行なう。なお、以下の説明では当該周期を同期周期と呼ぶ。他の中継装置３ａ，３ｃ，３ｄでも一定期間毎に周期的に行なうようにしてあり、その周期は精度よく時間的に同期されている。周期の同期の方法については既存の方法でも新しい方法でも問わない。例えば各中継装置３ａがＧＰＳ（Global Positioning System）衛星からの電波を受信して時間情報を取得する機能を有し、取得した時間情報に基づいて自身が備えるタイマーと他の中継装置３ｂ，３ｃ，３ｄが夫々備えるタイマーとを同期させるようにしてもよい。なぜならば、車載通信システムでは、ＥＣＵが多数であっても高速且つ確実にデータが中継されることが要求されるからである。また、同時に取得できる同一のデータは同一の数値情報を有しているべきであり、より高速化且つ同一性の担保が要求される点で、車載通信システムでは高速に且つ同期して処理を行なうことが必要であるからである。
【００４９】
なお、中継装置３ａも第１幹線通信部３５ａ及び第２幹線通信部３６ｂを備え、同時に通信を行なうことができる。しかしながら実施の形態１では中継装置３ａは第２幹線通信部３６ａにより幹線４ａを介して中継装置３ｂと接続される。実施の形態１では中継装置３ａは中継装置３ｂ以外の中継装置とは接続されていないので第１幹線通信部３５ａを使用しない。同様に中継装置３ｄも第１幹線通信部３５ｄ及び第２幹線通信部３６ｄを備える。実施の形態１では幹線通信部３５ｄにより幹線４ｃを介して中継装置３ｃと接続されており、第２幹線通信部３６ｄを使用しない。中継装置３ｄより後段に更に他の中継装置が接続される場合は第２幹線通信部３６ｄを使用してディジーチェーン型に接続する構成とし、中継装置３ｄは第１幹線通信部３５ｄによる中継装置３ｃとの通信と第２幹線通信部３６ｄによる他の中継装置との通信を実現するようにすればよい。
【００５０】
このように構成される車載通信システムにおけるＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…及び中継装置３ａ，３ｂ，３ｃ，３ｄ間における通信処理について説明する。
【００５１】
図３は、実施の形態１における車載通信システムを構成する中継装置３ａの制御部３０ａがメッセージを受信した場合の処理手順の一例を示すフローチャートである。他の中継装置３ｂ，３ｃ，３ｄの制御部３０ｂ，３０ｃ，３０ｄによる処理手順は、中継装置３ａの制御部３０ａによる処理手順と同様であるので詳細な説明を省略する。
【００５２】
制御部３０ａは支線通信部３２ａにより、支線２ａ，２ｂを介して接続されているＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から送信されたメッセージを受信したか否かを判断する（ステップＳ１１）。制御部３０ａは、メッセージを受信していないと判断した場合（Ｓ１１：ＮＯ）、処理をステップＳ１１へ戻す。
【００５３】
制御部３０ａは、メッセージを受信したと判断した場合（Ｓ１１：ＹＥＳ）、受信したメッセージを一旦第１受信バッファ３７ａに記憶し（ステップＳ１２）、メッセージを受信した場合の処理を終了する。
【００５４】
制御部３０ａは、図３のフローチャートに示した処理手順を継続して行なう。即ち、ＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…からメッセージが受信される都度、制御部３０ａはこれを記憶する。そして、受信バッファ３７ａに記憶したメッセージに含まれる属性値群は、後述するタイミングで属性値ＩＤ毎にデータベース３１ａに記憶される。その際、データベース３１ａには属性値ＩＤ及び属性値の対の形式で記憶される。
【００５５】
制御部３０ａは、データベース３１ａに記憶してあるデータの属性値群からメッセージを作成し、当該メッセージを必要とするＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…へ支線通信部３２ａにより適宜送信する。送信タイミングは例えば、送信先のＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…毎にスケジューリングされていてもよい。この場合制御部３０ａは記憶部３４ａに記憶されるスケジュールを参照してメッセージを生成して送信する。また、制御部３０ａはデータベース３１ａに記憶されている属性値を監視し、データベース３１ａが更新されることで属性値が変化した場合に当該属性値を含むメッセージを必要とするＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…へ送信するようにしてもよい。
【００５６】
次に、中継装置３ａ，３ｂ，３ｃ，３ｄが、夫々のデータベース３１ａ，３１ｂ，３１ｃ，３１ｄに記憶しているデータを相互に交換する際の処理について説明する。
【００５７】
制御部３０ａは、データベース３１ａに記憶されるデータを他の中継装置３ｂ，３ｃ，３ｄと交換する場合、基本的に以下のようにする。制御部３０ａは、データベース３１ａから属性値を識別する属性値ＩＤ及び属性値の対からなるデータを読み出して送信するのではなく、一旦第１受信バッファ３７ｂに記憶しておいたメッセージを利用して送受信を行なう。詳細には、制御部３０ａはメッセージをまとめたフレームにより送信する。このときのフレームを以下、幹線フレームと呼ぶ。そして、中継装置３ａの制御部３０ａは、他の中継装置３ｂ，３ｃ，３ｄから送信された幹線フレームを第２幹線通信部３６ａにより受信する。制御部３０ａは受信した幹線フレームを第２受信バッファ３８ａに記憶しておく。そして、受信バッファ３８ａに記憶される幹線フレームのメッセージに含まれる属性値群は後述するタイミングでデータベース３１ａに記憶される。
【００５８】
同様に、中継装置３ｂの制御部３０ｂは、第１幹線通信部３５ｂから受信した幹線フレームを第２受信バッファ３８ｂに記憶すると共に第２幹線通信部３６ｂにより転送する。なお、中継装置３ｂの制御部３０ｂは、第１幹線通信部３５ｂによる送受信と第２幹線通信部３６ｂによる送受信を同時に行なうことができる。したがって、制御部３０ｂは自身が作成した幹線フレームを第２幹線通信部３６ｂにより中継装置３ｃへ送信しつつ、中継装置３ａから送信される幹線フレームを第１幹線通信部３５ｂにより受信することができる。なお、制御部３０ｂは第１幹線通信部３５ｂにおいては受信を優先し、第２幹線通信部３６ｂにおいては送信を優先する。中継装置３ｃの制御部３０ｃも中継装置３ｂの制御部３０ｂと同様である。
【００５９】
中継装置３ｄの制御部３０ｄは、中継装置３ｃから受信する幹線フレームを受信した場合、第２受信バッファ３８ｄに記憶する。そして中継装置３ｄの制御部３０ｄは第１幹線通信部３５ｄにおいては送信よりも受信を優先する。つまり、制御部３０ｄは、中継装置３ｃが作成して送信する幹線フレーム、及び中継装置３ｃが受信して転送する幹線フレーム全てを第１幹線通信部３５ｄにより受信するまで、自身が作成した幹線フレームは送信しない。
【００６０】
なお、上述のように各中継装置３ａ，３ｂ，３ｃ，３ｄがメッセージを利用した幹線フレームを送信することにより以下の効果を奏する。ＣＡＮに準じて送受信されるメッセージは属性値の一又は複数の組み合わせで構成され、その組み合わせ毎にＣＡＮ  ＩＤが規定されている。したがって、メッセージを利用することにより属性値毎の属性値ＩＤの送信を省略できる。なおＣＡＮに準じたメッセージのみならず、新たに、ＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から送信されるメッセージよりも更に効率的に属性値群をまとめたデータフレームを規定し、更にデータフレームが含む属性値の数及びその属性値ＩＤに応じてデータフレームＩＤを規定して用いる構成としてもよい。
【００６１】
図４は、実施の形態１における車載通信システムを構成する中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄが送信する幹線フレームのフォーマット例を示す説明図である。図４（ａ）に実施の形態１における中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３ｂ，３ｃ，３ｄが送信する幹線フレームのフォーマット例を示し、図４（ｂ）は比較のために属性値ＩＤ及び属性値からなるデータが複数送信される場合のフォーマット例を示す。
【００６２】
図４（ａ）に示すように、幹線フレームのフォーマットは先頭にヘッダが付加され、末尾に幹線フレームの終了を示すトレーラが付加されて構成される。中継装置３ａから送信される幹線フレームのヘッダとトレーラとの間には、中継装置３ａがＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から受信して第１受信バッファ３７ａに記憶してあるｍ個のメッセージが含まれる。そして夫々のメッセージに属性値群の数、及び属性値ＩＤの組み合わせに応じて予め定めてあるメッセージＩＤ（ＣＡＮ  ＩＤ）と、直後に続く属性値群の合計のサイズ（情報長）とが含まれる。なおこの場合、メッセージに含まれる属性値群の合計の最大サイズは８バイトである。そして、属性値群のフィールドのサイズ（情報長）をバイト単位で表わすフィールド自体は、最大８を表わせばよいので４ビットである。ＣＡＮ  ＩＤは１１ビットで表わされるので、１メッセージ当たりのサイズはバイト単位に切り上げたときは１０バイトとなる。
【００６３】
図４（ｂ）には、図４（ａ）の比較のために属性値ＩＤ及び属性値からなるデータが複数送信される場合の例が示されている。この場合も、先頭にはヘッダが付加され、末尾には送信の終了を示すトレーラが付加されて構成される。中継装置３ａがＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から受信して第１受信バッファ３７ａに記憶してあるメッセージに含まれる属性値がｋ個ある場合には、ヘッダとトレーラとの間に属性値ＩＤ及び属性値の対がｋ個分含まれる。なおこの場合、属性値ＩＤは２バイトで表わされるとする。
【００６４】
図５は、実施の形態１における車載通信システムを構成する中継装置３ａの記憶部３４ａに記憶されている対応表３９ａの内容例を示す説明図である。なお、図５中のｎは任意の自然数である。図５の説明図に示すように、メッセージＩＤに対応付けて含まれる属性値数、含まれる属性値毎に属性値ＩＤ、メッセージ中の位置（順序）、及び情報長（ビット単位）が記憶されている。図５の内容例では、メッセージＩＤが「１」のメッセージには属性値が「２」含まれていることを示している。メッセージＩＤが「１」のメッセージに含まれる１つめの属性値は、属性値ＩＤが「１」であって「１」番目に「１」ビット分の情報長で含まれ、２つめの属性値は、属性値ＩＤが「２」であって「２」番目に「１」ビット分の情報長で含まれることを示している。
【００６５】
図５に示される他の例では、メッセージＩＤが「２」のメッセージには属性値が「４」含まれていることを示している。メッセージＩＤが「２」のメッセージに含まれる１つめの属性値は、属性値ＩＤが「２０」であって「２」番目に「１」ビット分の情報長で含まれ、２つめの属性値は、属性値ＩＤが「５０」であって「４」番目に「８」ビット分の情報長で含まれることを示している。メッセージＩＤが「３」のメッセージには属性値が「ｎ」含まれていることを示している。メッセージＩＤが「３」のメッセージに含まれる１つめの属性値は、属性値ＩＤが「８」であって「４」番目に「３」ビット分の情報長で含まれ、２つめの属性値は、属性値ＩＤが「５」であって「ｎ」番目に「４」ビット分の情報長で含まれることを示している。そして、メッセージＩＤが「４」のメッセージには属性値が「６４」含まれていることを示している。メッセージＩＤが「４」のメッセージに含まれる１つめの属性値は、属性値ＩＤが「１」であって「１」番目に「１」ビット分の情報長で含まれ、２つめの属性値は、属性値ＩＤが「２」であって「２」番目に「１」ビット分の情報長で含まれることを示している。
【００６６】
中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄは、図４（ａ）に示したようなフォーマットの幹線フレームを受信した場合、受信した幹線フレームを第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄに記憶しておく。そして、中継装置３ｂ，３ｃは、第１幹線通信部３５ｂ，３５ｃ又は第２幹線通信部３６ｂ，３６ｃのいずれか一方から幹線フレームを受信した場合、他方へ転送する。
【００６７】
制御部３０ａ，３０ｂ，３０ｃ，３０ｄは後にデータベースを更新するに際し、第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄに記憶してある幹線フレームから、メッセージＩＤに基づいて対応表３９ａ，３９ｂ，３９ｃ，３９ｄを夫々参照し、属性値を取り出す。このように夫々対応表３９ａ，３９ｂ，３９ｃ，３９ｄを参照することによって、中継装置３ａ，３ｂ，３ｃ，３ｄが属性値ＩＤを含めずに属性値群のみを含むメッセージ、及び該メッセージをまとめた幹線フレームによりデータを送受信した場合であっても、中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄは、メッセージにはいずれのデータの属性値が含まれているかを認識して取り出すことができる。
【００６８】
なお、制御部３０ａ，３０ｂ，３０ｃ，３０ｄは、幹線フレームを受信した場合に対応表３９ａ，３９ｂ，３９ｃ，３９ｄを夫々参照し、データフレームＩＤに基づいて予め属性値を取り出し、第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄに記憶しておく構成としてもよい。
【００６９】
このようにして第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄにはＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…から受信されたメッセージが記憶される。そして、第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄには中継装置３ａ，３ｂ，３ｃ，３ｄ間で交換された幹線フレームが記憶される。
【００７０】
ここで、ディジーチェーンの一端（始端）に位置する中継装置３ａは特定の中継装置として機能し、データベース３１ａ，３１ｂ，３１ｃ，３１ｄに記憶するデータを確定してよいことを示すＣＯＭＭＩＴ（確定通知）を発行する。中継装置３ａはＣＯＭＭＩＴを第２幹線通信部３６ａにより中継装置３ｂへ送信する。中継装置３ａからＣＯＭＭＩＴを受信した中継装置３ｂは、隣の中継装置３ｃへＣＯＭＭＩＴを転送する。中継装置３ｃは、転送されたＣＯＭＭＩＴを更に中継装置３ｄへ転送する。各中継装置３ａ，３ｂ，３ｃ，３ｃは、ＣＯＭＭＩＴを発行する際又はＣＯＭＭＩＴを受信した場合に、第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄ及び第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄに記憶されているメッセージから属性値群を読み出し、データべース３１ａ，３１ｂ，３１ｃ，３１ｄを更新する。
【００７１】
実施の形態１における中継装置３ａ，３ｂ，３ｃ，３ｄによる幹線フレームの送受信及びデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの更新の処理は夫々、以下に示すように一部の処理が異なる。そこで、夫々の処理の詳細についてフローチャートを参照して説明する。
【００７２】
図６は、実施の形態１において特定の中継装置として機能する中継装置３ａの制御部３０ａが幹線フレームを送受信し、データベース３１ａを更新する処理手順の一例を示すフローチャートである。
【００７３】
制御部３０ａは同期周期（例えば１ミリ秒）が到来した場合、記憶部３４ａの対応表３９ａを参照し、ＥＣＵ１ａ，１ａ，…，１ｂ，１ｂ，…から受信して一時的に記憶してある第１受信バッファ３７ａからメッセージを読み出し（ステップＳ２０１）、幹線フレームを作成し（ステップＳ２０２）、作成した幹線フレームを第２幹線通信部３６ａにより中継装置３ｂへ送信する（ステップＳ２０３）。
【００７４】
その後、制御部３０ａは第２幹線通信部３６ａにより、他の中継装置３ｂ，３ｃ，３ｄから送信される幹線フレームを受信したか否かを判断する（ステップＳ２０４）。制御部３０ａは、幹線フレームを受信していないと判断した場合（Ｓ２０４：ＮＯ）、処理をステップＳ２０４へ戻す。制御部３０ａは、幹線フレームを受信したと判断した場合（Ｓ２０４：ＹＥＳ）、受信した幹線フレームを第２受信バッファ３８ａに記憶する（ステップＳ２０５）。制御部３０ａは、受信した幹線フレームが中継装置３ｄから送信されたものであるか否かにより、最終フレームを受信したか否かを判断する（ステップＳ２０６）。幹線フレームのヘッダに送信元が記載されていれば、制御部３０ａは送信元を識別可能である。幹線フレームに含まれるメッセージＩＤで識別してもよい。
【００７５】
ステップＳ２０６における判断処理を行なうのは以下の理由による。後述するように、中継装置３ｄは中継装置３ａ，３ｂ，３ｃから送信される幹線フレームをいずれも受信するまで、自身が作成する幹線フレームを送信しない。中継装置３ｄから幹線フレームが送信されるということは、中継装置３ｄへ中継装置３ａからの幹線フレームを含む他の幹線フレームが全て届いたからである。即ち、特定の中継装置として機能する中継装置３ａから一番遠くに位置する中継装置３ｄからの幹線フレームは、中継装置３ａへの応答（ＡＣＫ：Acknowledge）としての機能を発揮する。そして、中継装置３ｄから中継装置３ａへ応答が順次転送されて受信されることにより、中継装置３ａは、中継装置３ｂ，３ｃでも全幹線フレーム、即ち最終フレームを受信したことを確認することができる。
【００７６】
制御部３０ａは、受信した幹線フレームが中継装置３ｄから送信されたものでなく、最終フレームでないと判断した場合（Ｓ２０６：ＮＯ）、処理をステップＳ２０４へ戻す。制御部３０ａは、受信した幹線フレームが中継装置３ｄから送信されたものであり、最終フレームであると判断した場合（Ｓ２０６：ＹＥＳ）、全中継装置３ａ，３ｂ，３ｃ，３ｄで幹線フレームの送受信に成功したこととなるので、各中継装置３ｂ，３ｃ，３ｄでデータベース３１ｂ，３１ｃ，３１ｄに記憶するデータを確定して更新すべくＣＯＭＭＩＴを発行して中継装置３ｂへ送信する（ステップＳ２０７）。
【００７７】
そして制御部３０ａは、ステップＳ２０１で第１受信バッファ３７ａから読み出したメッセージから属性値を取り出し（ステップＳ２０８）、第２受信バッファ３８ａに記憶されている幹線フレームに含まれるメッセージからも属性値を取り出す（ステップＳ２０９）。制御部３０ａは、ステップＳ２０８及びステップＳ２０９で取り出した属性値群をデータベース３１ａに記憶することによりデータベース３１ａを更新し（ステップＳ２１０）、処理を終了する。
【００７８】
図７は、実施の形態１における中継装置３ｂの制御部３０ｂが幹線フレームを送受信し、データベース３１ｂを更新する処理手順の一例を示すフローチャートである。中継装置３ｃの制御部３０ｃによる処理手順は、中継装置３ｂの制御部３０ｂの処理手順と同様であるので詳細な説明を省略する。
【００７９】
制御部３０ｂは中継装置３ａ，３ｃ，３ｄと時間的に同期している同期周期が到来した場合、記憶部３４ｂの対応表３９ｂを参照し、ＥＣＵ１ｃ，１ｃ，…，１ｄ，１ｄ，…から受信して一時的に記憶してある第１受信バッファ３７ｂからメッセージを読み出す（ステップＳ３０１）。制御部３０ｂは読み出したメッセージにより幹線フレームを作成する（ステップＳ３０２）。
【００８０】
制御部３０ｂは、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより、他の中継装置３ａ，３ｃから幹線フレームの受信を開始したか、又は、送信すべき幹線フレームがある場合に第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより幹線フレームの送信が可能か否かを判断する（ステップＳ３０３）。制御部３０ｂは、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれからも幹線フレームの受信を開始しておらず、且つ送信すべき幹線フレームもない場合（Ｓ３０３：ＮＯ）、処理をステップＳ３０３へ戻す。
【００８１】
制御部３０ｂは、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより、他の中継装置３ａ，３ｃから幹線フレームの受信を開始したか、又は、送信すべき幹線フレームがある場合に第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより幹線フレームの送信が可能であると判断した場合（Ｓ３０３：ＹＥＳ）、幹線フレームを受信しているか否かを判断する（ステップＳ３０４）。制御部３０ｂは、幹線フレームを受信していると判断した場合（Ｓ３０４：ＹＥＳ）、受信した幹線フレームを第２受信バッファに一時的に記憶しておく（ステップＳ３０５）。
【００８２】
制御部３０ｂは、ステップＳ３０４で幹線フレームを受信していないと判断した場合（Ｓ３０４：ＮＯ）、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより、送信すべき幹線フレームの送信が可能か否かを判断する（ステップＳ３０６）。制御部３０ｂは、送信が不可能であると判断した場合（Ｓ３０６：ＮＯ）、処理をステップＳ３０３へ戻す。制御部３０ｂは、送信が可能であると判断した場合（Ｓ３０６：ＹＥＳ）、自身が作成した幹線フレーム、又は他の中継装置３ａ，３ｃから受信して他へ送信すべく一時的に記憶してある幹線フレームを送信する（ステップＳ３０７）。
【００８３】
なお、ステップＳ３０４において幹線フレームを受信していないと判断した場合にステップＳ３０６へ進めたが、制御部３０ｂは、第１幹線通信部３５ｂによる送信又は受信の処理と、第２幹線通信部３６ｂによる送信又は受信の処理とを同時に可能である。第１幹線通信部３５ｂにより幹線フレームを受信しつつ、第２幹線通信部３６ｂにより幹線フレームを送信できる。したがって、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかにより幹線フレームを受信していると判断した場合（Ｓ３０４：ＹＥＳ）であっても幹線フレームを受信して一時的に記憶しつつ（Ｓ３０５）、ステップＳ３０６に処理を進め、第１幹線通信部３５ｂ及び第２幹線通信部３６ｂのいずれかが空いており、送信すべき幹線フレームがある場合には幹線フレームを送信する（Ｓ３０７）。
【００８４】
次に制御部３０ｂは、後述するように全ての幹線フレームを受信した中継装置３ｄから送信される幹線フレーム、即ち最終フレームを受信したか否かを判断する（ステップＳ３０８）。制御部３０ｂは、最終フレームを受信していないと判断した場合（Ｓ３０８：ＮＯ）、処理をステップＳ３０３へ戻す。
【００８５】
制御部３０ｂは、最終フレームを受信した場合、自身以外の他の全ての中継装置３ｂ，３ｃ，３ｄからの幹線フレームを受信したことになる。したがって制御部３０ｂは最終フレームを受信したと判断した場合（Ｓ３０８：ＹＥＳ）、中継装置３ａから発行されるＣＯＭＭＩＴを受信したか否かを判断する（ステップＳ３０９）。制御部３０ｂは、ＣＯＭＭＩＴを受信していないと判断した場合（Ｓ３０９：ＮＯ）、処理をステップＳ３０９へ戻し、ＣＯＭＭＩＴを受信したと判断するまで待機する。
【００８６】
制御部３０ｂは、ＣＯＭＭＩＴを受信したと判断した場合（Ｓ３０９：ＹＥＳ）、ステップＳ３０１で第１受信バッファ３７ｂより読み出してあるメッセージから属性値を取り出す（ステップＳ３１０）。また、制御部３０ｂは第２受信バッファ３８ｂに記憶してある幹線フレームのメッセージから属性値を取り出す（ステップＳ３１１）。制御部３０ｂは、ステップＳ３１０及びステップＳ３１１で取り出した属性値群をデータベース３１ｂに記憶することによりデータベース３１ｂを更新し（ステップＳ３１２）、処理を終了する。
【００８７】
図８は、実施の形態１における中継装置３ｄの制御部３０ｄが幹線フレームを送受信し、データベース３１ｄを更新する処理手順の一例を示すフローチャートである。中継装置３ｄは、ディジーチェーン型に接続されている中継装置３ａ，３ｂ，３ｃ，３ｄの内、一端に位置する特定の中継装置３ａとは逆の一端に位置する中継装置３ｄである。したがって、中継装置３ｄは間に位置する中継装置３ｂ，３ｃと一部異なる処理を行なう。
【００８８】
制御部３０ｄは中継装置３ａ，３ｂ，３ｃと同期している同期周期が到来した場合、記憶部３４ｄの対応表３９ｄを参照し、ＥＣＵ１ｇ，１ｇ，…，１ｈ，１ｈ，…から受信して維持的に記憶してある第１受信バッファ３７ｄからメッセージを読み出す（ステップＳ４０１）。制御部３０ｄは読み出したメッセージにより幹線フレームを作成する（ステップＳ４０２）。
【００８９】
制御部３０ｄは、第１幹線通信部３５ｄにより、他の中継装置３ａ，３ｂ，３ｃから送信される幹線フレームを受信したか否かを判断する（ステップＳ４０３）。制御部３０ｄは、幹線フレームを受信していないと判断した場合（Ｓ４０３：ＮＯ）、処理をステップＳ４０３へ戻す。制御部３０ｄは、幹線フレームを受信したと判断した場合（Ｓ４０３：ＹＥＳ）、受信した幹線フレームを第２受信バッファ３８ｄに記憶する（ステップＳ４０４）。
【００９０】
次に制御部３０ｄは、他の中継装置３ａ，３ｂ，３ｃから送信される幹線フレームを全て受信したか否かを判断する（ステップＳ４０５）。制御部３０ｄは、全てを受信してはいないと判断した場合（Ｓ４０５：ＮＯ）、処理をステップＳ４０３へ戻す。制御部３０ｄは、全てを受信したと判断した場合（Ｓ４０５：ＹＥＳ）、自身がステップＳ４０２で作成した幹線フレームを最終フレームとして第１幹線通信部３５ｄにより送信する（ステップＳ４０６）。最終フレームは上述のように中継装置３ａへの応答としての機能を発揮する。
【００９１】
そして制御部３０ｄは、中継装置３ａから発行されるＣＯＭＭＩＴを受信したか否かを判断する（ステップＳ４０７）。制御部３０ｄは、ＣＯＭＭＩＴを受信していないと判断した場合（Ｓ４０７：ＮＯ）、処理をステップＳ４０７へ戻し、ＣＯＭＭＩＴを受信したと判断するまで待機する。
【００９２】
制御部３０ｄは、ＣＯＭＭＩＴを受信したと判断した場合（Ｓ４０７：ＹＥＳ）、ステップＳ４０１で第１受信バッファ３７ｄより読み出してあるメッセージから属性値を取り出す（ステップＳ４０８）。また、制御部３０ｄは第２受信バッファ３８ｄに記憶してある幹線フレームのメッセージから属性値を取り出す（ステップＳ４０９）。制御部３０ｄは、ステップＳ４０８及びステップＳ４０９で取り出した属性値群をデータベース３１ｄに記憶することによりデータべース３１ｄを更新し（ステップＳ４１０）、処理を終了する。
【００９３】
次に、図６乃至図８のフローチャートに示した処理手順を、具体例を挙げて説明する。図９は、実施の形態１における中継装置３ａ，３ｂ，３ｃ，３ｄのデータベース３１ａ，３１ｂ，３１ｃ，３１ｄが幹線フレームの送受信により更新される過程を模式的に示す説明図である。
【００９４】
図９の説明図には、中継装置３ａ，３ｂ，３ｃ，３ｄ間のディジーチェーン型の接続形態をブロック図により示している。また、中継装置３ａ，３ｂ，３ｃ，３ｄ夫々のデータベース３１ａ，３１ｂ，３１ｃ，３１ｄ、それに対する第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄ及び第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄの構成をブロック図により示している。更に図９の説明図は、中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄが夫々、図６乃至図８のフローチャートに示した処理手順を実行することにより、幹線フレームが送受信される様子を時系列に示している。図９中の符号を省略したブロックは、第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄを示している。
【００９５】
図６乃至図８のフローチャートに示したように、同期期間が到来した場合、各中継装置３ａ，３ｂ，３ｃ，３ｄでは夫々第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶されていたメッセージから幹線フレームに含められるべき属性値群Ａ，Ｂ，Ｃ，Ｄが夫々読み出される。図９の説明図では、説明を簡略とするために、第２受信バッファ３８ａ，３８ｂ，３８ｃ，３８ｄに他の中継装置から受信した幹線フレームに含まれる属性値群と共に一時的に記憶されるとするが、これに限らず一時記憶領域３３ａ，３３ｂ，３３ｃ，３３ｄの他の記憶領域に記憶させるようにしてもよい。
【００９６】
そして同期処理が開始されると、中継装置３ａは第１受信バッファ３７ａから読み出して作成された属性値群Ａを含む幹線フレームを中継装置３ｂへ送信する。なお、上述したように、各中継装置３ａ，３ｂ，３ｃ，３ｄの第１幹線通信部３５ｂにおいては受信を優先し、第２幹線通信部３６ｂにおいては送信を優先する。したがって、中継装置３ｂは、中継装置３ａから送信される幹線フレームを受信すると共に、属性値群Ｂを含む幹線フレームを中継装置３ｃへ送信する。これにより、中継装置３ｂは幹線フレームから属性値群Ａを取り出して第２受信バッファ３８ｂに記憶する。中継装置３ｃは中継装置３ａから送信される幹線フレームを受信すると共に、属性値群Ｃを含む幹線フレームを中継装置３ｄへ送信する。
【００９７】
続いて、中継装置３ｂは中継装置３ａから受信した属性値群Ａを含む幹線フレームを中継装置３ｃへ送信しつつ、第１幹線通信部３５ｂが空いているので属性値群Ｂを含む幹線フレームを中継装置３ａへ送信する。同時に、中継装置３ｃは第２幹線通信部３６ｃが空くので、中継装置３ｂから受信した属性値群Ｂを含む幹線フレームを中継装置３ｄへ転送する。これにより、中継装置３ｃの第２受信バッファ３８ｃには、属性値群Ａ，Ｂ，Ｃが記憶される。
【００９８】
次のタイミングで中継装置３ｃは第１幹線通信部３５ｃが空くので属性値群Ｃを含む幹線フレームを中継装置３ｂへ送信しつつ、中継装置３ｂから受信した属性値群Ａを含む幹線フレームを中継装置３ｄへ転送する。これにより、中継装置３ｄの第２受信バッファ３８ｄには、全属性値群Ａ，Ｂ，Ｃ，Ｄが記憶される。
【００９９】
中継装置３ｄは属性値群Ａ，Ｂ，Ｃを夫々含む幹線フレームを全て受信したので、属性値群Ｄを含む幹線フレームを最終フレームとして中継装置３ｃへ送信する。同時に、中継装置３ｂは前のタイミングで受信した属性値群Ｃを含む幹線フレームを中継装置３ａへ転送する。これにより、中継装置３ｃの第２受信バッファ３８ｃには、全属性値群Ａ，Ｂ，Ｃ，Ｄが記憶される。
【０１００】
中継装置３ｃへ送信された最終フレームは送受信にエラーが起こらないかぎり、中継装置３ｃから中継装置３ｂへ、更に中継装置３ｂから中継装置３ａへ転送される。これにより、中継装置３ａ，３ｂの第２受信バッファ３８ａ，３８ｂにも、全属性値群Ａ，Ｂ，Ｃ，Ｄが記憶される。中継装置３ａは、最終フレームを受信することにより全中継装置３ａ，３ｂ，３ｃ，３ｄが全幹線フレームを受信したことを確認し、ＣＯＭＭＩＴを発行する。
【０１０１】
中継装置３ａから発行されたＣＯＭＭＩＴは、中継装置３ａから中継装置３ｂへ、中継装置３ｂから中継装置３ｃへ、中継装置３ｃから中継装置３ｄへ送信される。各中継装置３ａ，３ｂ，３ｃ，３ｄはＣＯＭＭＩＴを発行した場合、又はＣＯＭＭＩＴを受信した場合は、受信して記憶してある全幹線フレームから属性値群を取り出してデータベース３１ａ，３１ｂ，３１ｃ，３１ｄを更新する。
【０１０２】
このように特定の中継装置として機能する中継装置３ａがＣＯＭＭＩＴを発行し、中継装置３ｂ，３ｃ，３ｄ間でＣＯＭＭＩＴを順次転送することにより、データベース３１ａ，３１ｂ，３１ｃ，３１ｄの内容がほぼ同時に同一の内容に同期される。最終フレームが特定の中継装置として機能する中継装置３ａで受信されなかった場合、又は中継装置３ｂ，３ｃ，３ｄでＣＯＭＭＩＴを受信できなかった場合など、幹線４ａ，４ｂ，４ｃを介した通信にエラーが発生した場合は同期されない。中継装置３ａ，３ｂ，３ｃ，３ｄのいずれかでいずれかの幹線データを受信していない場合にデータベース３１ａ，３１ｂ，３１ｃ，３１ｄを更新したときは、データベース３１ａ，３１ｂ，３１ｃ，３１ｄの内容が異なる状況となる。例えば、異なる支線２ｂ及び２ｃに夫々接続されているＥＣＵ１ｂと、ＥＣＵ１ｃとで受信する車輪速の具体的数値が３０００（ｒｐｍ）と２５００（ｒｐｍ）とで異なるという状況になる。
【０１０３】
車載通信システムのように多数の装置の連携制御によって処理が行なわれる場合、いずれのＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…でも使用するデータの同一性が必要とされる。これに対し、実施の形態１における各中継装置３ａ，３ｂ，３ｃ，３ｄの処理により、データベース３１ａ，３１ｂ，３１ｃ，３１ｄの内容が異なる状況となることを回避し、データの同一性を担保することができる。
【０１０４】
そして、実施の形態１においては幹線４ａ，４ｂ，４ｃを介した中継装置３ａ，３ｂ，３ｃ，３ｄ間の通信を、複数の属性値群を含むメッセージを更に複数含む幹線フレームのフォーマットにより行なう構成としたので、属性値毎の属性値ＩＤの送受信が省略され、通信量が削減される。通信量の削減の効果について、具体的な数値を挙げて以下に説明する。
【０１０５】
中継装置３ａ，３ｂ，３ｃ，３ｄは、１ミリ秒毎に図６乃至図８のフローチャートに示した処理手順を繰り返し、図９の説明図に示したように幹線フレームを送受信する。１ミリ秒の周期が到来するまでに、中継装置３ａ，３ｂ，３ｃ，３ｄの支線通信部３２ａ，３２ｂ，３２ｃ，３２ｄ夫々の８つのポートで、１ビットからなる６４個の属性値を含むメッセージを４回受信する場合を例に以下に説明する。
【０１０６】
同期期間が開始する時点で各中継装置３ａ，３ｂ，３ｃ，３ｄの第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄには夫々、１ビットからなる２０４８個（＝８ポート×４メッセージ（１ポート当たりのメッセージ数）×６４個（１メッセージに含まれる属性値数））の属性値が記憶されている。
【０１０７】
中継装置３ａが図４（ａ）に示したように幹線フレームにより中継装置３ｂへ属性値を送信する際に要する通信量は、以下の式１のように算出される。なおこの場合、６４個の１ビットからなる属性値（８バイト）が一のメッセージに含まれるとする。したがって、一の幹線フレームは３２個のメッセージを含み送信される。
【０１０８】
｛（ＩＤ＿Ｌ＋ＤＬＣ＿Ｌ＋Ｄ＿Ｌ）×ｍ｝＋Ｈ＿Ｌ＋Ｔ＿Ｌ
＝｛（１１（ビット）＋４（ビット）＋８（バイト））×３２｝＋Ｈ＿Ｌ＋Ｔ＿Ｌ
＝｛（１０（バイト））×３２｝＋Ｈ＿Ｌ＋Ｔ＿Ｌ
＝３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ  …（１）
ただし、
ＩＤ＿Ｌ：メッセージＩＤの情報長
ＤＬＣ＿Ｌ：属性値群の情報長を表わすフィールドの情報長
Ｄ＿Ｌ：属性値群の情報長
ｍ：メッセージ数
Ｈ＿Ｌ：ヘッダの情報長
Ｔ＿Ｌ：トレーラの情報長
【０１０９】
これにより、図９の説明図に示したように、データベース３１ａ，３１ｂ，３１ｃ，３１ｄが同期されるまでに中継装置３ａ，３ｂ，３ｃ，３ｄ間の通信量は以下の式２のように算出される。
｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ａから中継装置３ｂへ）
＋｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ｂから中継装置３ｃへ）
＋｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ｃから中継装置３ｄへ）
＋｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ｄから中継装置３ｃへ）
＋｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ｃから中継装置３ｂへ）
＋｛１×３２０（バイト）＋Ｈ＿Ｌ＋Ｔ＿Ｌ｝（中継装置３ｂから中継装置３ａへ）
＝１９２０（バイト）＋６×（Ｈ＿Ｌ＋Ｔ＿Ｌ）…（２）
【０１１０】
図９の説明図では中継装置３ａ，３ｂ，３ｃ，３ｄ間で１２回の幹線フレームの送受信が行なわれている。しかしながら、各幹線フレームは属性値群Ａ、Ｂ、Ｃ及びＤ毎に夫々送受信され、且つ、幹線フレームの送受信は同時に行なわれている場合がある。したがって、１ミリ秒毎の周期の間にデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの同期に要する時間は、１９２０バイト分が幹線４ａ，４ｂ，４ｃで送受信されるために要する時間である。幹線４ａ，４ｂ，４ｃの通信速度が１００Ｍｂｐsである場合、１９２０バイトの情報の送受信に要する時間は約１５４マイクロ秒である。１ミリ秒毎の周期の間に１９２０バイト分の送受信は十分に間に合う。
【０１１１】
比較のために、中継装置３ａが図４（ｂ）に示したように、属性値ＩＤ及び属性値の対が属性値の数分含まれるフォーマットで中継装置３ｂへ属性値を送信する構成とした場合の通信量について説明する。中継装置３ａから中継装置３ｂへの送信に要する通信量は、以下の式３のように算出される。
｛（属性値ＩＤの情報長＋属性値の情報長）×属性値の数｝＋ヘッダの情報長＋トレーラの情報長
＝｛（２（バイト）＋１（ビット））×２０４８｝＋ｈ＿Ｌ＋ｔ＿Ｌ
＝４３５２（バイト）＋ｈ＿Ｌ＋ｔ＿Ｌ…（３）
ただし、
ｈ＿Ｌ：ヘッダの情報長
ｔ＿Ｌ：トレーラの情報長
【０１１２】
これにより、中継装置３ａ，３ｂ，３ｃ，３ｄ間の通信量は以下の式４のように算出される。なおこの場合、中継装置３ｂ，３ｃ，３ｄは、受信した幹線フレームに自身の受信バッファ３７ｂ，３７ｃ，３７ｄに記憶されている属性値群を追加して転送する。そして、属性値群Ａ，Ｂ，Ｃを含む幹線フレームを受信する中継装置３ｄは、全属性値群Ａ，Ｂ，Ｃ，Ｄを含む幹線フレームを中継装置３ｃへ送信する。そして全属性値群Ａ，Ｂ，Ｃ，Ｄを含む幹線フレームが中継装置３ｃから中継装置３ｂへ、中継装置３ｂから中継装置３ａへ巡回的に転送される。
｛１×４３５２（バイト）＋ｈ＿Ｌ＋ｔ＿Ｌ｝（中継装置３ａから中継装置３ｂへ）
＋｛２×４３５２（バイト）｝（中継装置３ｂから中継装置３ｃへ）
＋｛３×４３５２（バイト）｝（中継装置３ｃから中継装置３ｄへ）
＋｛４×４３５２（バイト）｝（中継装置３ｄから中継装置３ｃへ）
＋｛４×４３５２（バイト）｝（中継装置３ｃから中継装置３ｂへ）
＋｛４×４３５２（バイト）｝（中継装置３ｂから中継装置３ａへ）
＝７８３３６（バイト）＋（ｈ＿Ｌ＋ｔ＿Ｌ）…（４）
【０１１３】
式４により、１ミリ秒毎の周期の間に、７８３３６バイト分が幹線４ａ，４ｂ，４ｃで送受信されることが必要となる。しかしながら、幹線４ａ，４ｂ，４ｃの通信速度が１００Ｍｂｐsである場合には７８３３６バイトの情報の送受信に要する時間は６ミリ秒である。１ミリ秒毎の周期の間での送受信には間に合わない。
【０１１４】
このように、中継装置３ａ，３ｂ，３ｃ，３ｄ間においてデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの内容を同期させるためにデータを送受信する際に、図４（ａ）に示したようなフォーマットの幹線フレームを作成して送受信することにより、中継装置３ａ，３ｂ，３ｃ，３ｄ間における通信量を最大約１／４０まで削減することができる。したがって、中継装置３ａ，３ｂ，３ｃ，３ｄ間のデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの同期に要する時間を短縮して高速に完了させることができ、異なる支線２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｈに接続されているＥＣＵ１ａ，…，１ｂ，…，１ｃ，…，１ｄ，…，１ｅ，…，１ｆ，…，１ｇ，…，１ｈ，…間でのデータの同一性、及び中継の即時性が担保される。
【０１１５】
（実施の形態２）
実施の形態１では、図６乃至図８のフローチャート及び図９の説明図で説明したとおり、中継装置３ａ，３ｂ，３ｃ，３ｄ間の幹線フレーム及びＣＯＭＭＩＴの送受信がいずれも成功する場合の例を示した。実施の形態２では、いずれかの送受信が失敗した場合でも、できる限り早くリカバリーしてデータベースの同一性を確保することができる処理を追加した構成とする。
【０１１６】
実施の形態２における車載通信システムの構成は、各中継装置３ａ，３ｂ，３ｃ，３ｄによる処理の詳細以外は実施の形態１と同様である。したがって、実施の形態１と同一の符号を付して各構成部についての詳細について説明を省略し、以下に相違点である処理の詳細を説明する。
【０１１７】
実施の形態２における各中継装置３ａ，３ｂ，３ｃ，３ｄはデータベース３１ａ，３１ｂ，３１ｃ，３１ｄ夫々に記憶しているデータに、記憶してから又は受信してからの経過時間の長さを示すエイジ情報を付加して記憶する。詳細には、各中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄは同期期間が経過する都度、属性値が更新されていない場合、属性値に付加してある自然数からなるエイジを１ずつ加算する。
【０１１８】
また実施の形態２における中継装置３ａは、自身が同期期間中にＣＯＭＭＩＴを発行したか否かを一時記憶領域３３ａに記憶しておく。その他の中継装置３ｂ，３ｃでも、各同期期間において最終フレームを受信したか否か、及びＣＯＭＭＩＴを受信したか否かを一時記憶領域３３ｂ，３３ｃに記憶しておく。中継装置３ｄも各同期期間中にＣＯＭＭＩＴを受信したか否かを記憶しておく。
【０１１９】
そして中継装置３ａは、同期期間が開始して作成した幹線フレームを送信するに際し、前回ＣＯＭＭＩＴを発行したか否かを示すＣＯＭＭＩＴ有無情報（通知情報）を共に送信する。中継装置３ｂ，３ｃ，３ｄはＣＯＭＭＩＴ有無情報を受信した場合にその内容に応じてリカバリーが必要な場合、リカバリー処理を行なう。
【０１２０】
以下、各中継装置３ａ，３ｂ，３ｃ，３ｄによる処理の詳細について、フローチャートを参照して説明する。
【０１２１】
図１０及び図１１は、実施の形態２における中継装置３ａの制御部３０ａが幹線フレームを送受信し、データベース３１ａを更新する処理手順の一例を示すフローチャートである。なお、実施の形態１における図６のフローチャートに示した処理手順と共通する処理については、同一のステップ番号を付して詳細な説明を省略する。
【０１２２】
制御部３０ａは、幹線フレームを作成した後（Ｓ２０２）、一時記憶領域３３ａに記憶してある情報を参照し、前回の同期期間でＣＯＭＭＩＴを発行したか否か（ＣＯＭＭＩＴ有無）を判断する（ステップＳ５１）。制御部３０ａは、前回ＣＯＭＭＩＴを発行したと判断した場合（Ｓ５１：ＹＥＳ）、中継装置３ｂ，３ｃ，３ｄでもデータベース３１ｂ，３１ｃ，３１ｄの更新がされているはずなので、ステップＳ２０２で作成した幹線フレーム及びＣＯＭＭＩＴを発行したことを示すＣＯＭＭＩＴ有の情報を送信する（ステップＳ５２）。
【０１２３】
制御部３０ａは、前回最終フレームを受信しなかったことによりＣＯＭＭＩＴを発行していないと判断した場合（Ｓ５１：ＮＯ）、前回送信した幹線フレームを再送する（ステップＳ５３）。なお、再送する幹線フレームに含まれる属性値群には後述するように、１加算されたエイジが付加されている。そして、制御部３０ａは、ステップＳ２０２で作成した幹線フレーム及びＣＯＭＭＩＴを発行していないことを示すＣＯＭＭＩＴ無の情報を送信する（ステップＳ５４）。
【０１２４】
制御部３０ａは、処理を開始してから１ミリ秒の同期期間を超過したか否かを判断する（ステップＳ５５）。制御部３０ａは、未だ同期期間を超過していないと判断した場合（Ｓ５５：ＮＯ）、他の中継装置３ｂ，３ｃ，３ｄから送信される幹線フレームを受信したか否かを判断し（Ｓ２０４）、受信していないと判断した場合は（Ｓ２０４：ＮＯ）、処理をステップＳ５５へ戻す。
【０１２５】
そして、制御部３０ａは他の中継装置３ｂ，３ｃ，３ｄのいずれかから幹線フレームを受信したと判断した場合（Ｓ２０４：ＹＥＳ）、幹線フレームを記憶し（Ｓ２０５）、受信した幹線フレームが最終フレームであったか否かを判断する（Ｓ２０６）。このとき制御部３０ａが最終フレームでないと判断した場合（Ｓ２０６：ＮＯ）、処理をステップＳ５５へ戻す。
【０１２６】
制御部３０ａが最終フレームを受信し（Ｓ２０６：ＹＥＳ）、ＣＯＭＭＩＴを発行した場合（Ｓ２０７）、制御部３０ａはＣＯＭＭＩＴを発行したこと（ＣＯＭＭＩＴ有）を記憶し（ステップＳ５６）、第１受信バッファ３７ａ及び第２受信バッファ３８ａから属性値を取り出して（Ｓ２０８、Ｓ２０９）、データベース３１ａを更新し（Ｓ２１０）、同期期間における処理を終了する。
【０１２７】
制御部３０ａは、最終フレームを受信することなしに同期期間を超過したと判断した場合（Ｓ５５：ＹＥＳ）、ＣＯＭＭＩＴを発行しなかったこと（ＣＯＭＭＩＴ無）を記憶し（ステップＳ５７）、第１受信バッファ３７ａより読み出したメッセージに含まれる属性値群及び第２受信バッファの幹線フレームのメッセージに含まれる属性値群に付加されているエイジを１加算し（ステップＳ５８）、データベース３１ａを更新することなしに同期期間における処理を終了する。
【０１２８】
図１２及び図１３は、実施の形態２における中継装置３ｂの制御部３０ｂが幹線フレームを送受信し、データベース３１ｂを更新する処理手順の一例を示すフローチャートである。中継装置３ｃの制御部３０ｃによる処理手順は、中継装置３ｂの制御部３０ｂの処理手順と同様であるので詳細な説明を省略する。また、実施の形態１における図７のフローチャートに示した処理手順と共通する処理については、同一のステップ番号を付して詳細な説明を省略する。
【０１２９】
制御部３０ｂは、幹線フレームを作成した後（Ｓ３０２）、処理を開始してから１ミリ秒の同期期間を超過したか否かを判断する（ステップＳ６０１）。制御部３０ｂは、同期期間を超過していないと判断した場合（Ｓ６０１：ＮＯ）、他の中継装置３ａ，３ｃから幹線フレームの受信を開始したか、又は、送信すべき幹線フレームの送信が可能か否かを判断する（Ｓ３０３）。
【０１３０】
そして、制御部３０ｂは、幹線フレームを受信していると判断した場合（Ｓ３０４：ＹＥＳ）、受信している幹線フレームが中継装置３ａから送信された幹線フレームであってＣＯＭＭＩＴ有無情報を共に受信しているか否かを判断する（ステップＳ６０２）。制御部３０ｂは、ＣＯＭＭＩＴ有無情報を受信していないと判断した場合（Ｓ６０２：ＮＯ）、中継装置３ｃからの幹線フレームであるから第２受信バッファ３８ｂに記憶して（Ｓ３０５）、処理をステップＳ３０８へ進める。
【０１３１】
制御部３０ｂは、ＣＯＭＭＩＴ有無情報を共に受信していると判断した場合（Ｓ６０２：ＹＥＳ）、受信したＣＯＭＭＩＴ有無情報に応じた処理を行ない（ステップＳ６０３）、処理をステップＳ３０８へ進める。ステップＳ６０３におけるＣＯＭＭＩＴ有無情報に応じた処理については後述にて詳細を説明する（図１４参照）。
【０１３２】
なお、制御部３０ｂは、ステップＳ３０３からＳ３０７までの処理において幹線フレームも受信しておらず、送信も不可能であると判断した場合には（Ｓ３０３：ＮＯ、Ｓ３０６：ＮＯ）、処理をステップＳ６０１へ戻す。
【０１３３】
そして制御部３０ｂは、送信が可能であると判断した場合（Ｓ３０６：ＹＥＳ）、自身における記憶では前回の同期期間でＣＯＭＭＩＴを受信した（ＣＯＭＭＩＴ有）か否かを判断する（ステップＳ６０４）。制御部３０ｂは、ＣＯＭＭＩＴを受信したと記憶している場合（Ｓ６０４：ＹＥＳ）、送信すべく一時的に記憶してある幹線フレームを送信する（Ｓ３０７）。制御部３０ｂは、ステップＳ６０４においてＣＯＭＭＩＴを受信したと記憶していない場合（Ｓ６０４：ＮＯ）、前回自身が作成して送信した幹線フレームを再送する（ステップＳ６０５）。なお、再送する幹線フレームに含まれる属性値群には後述するように、１加算されたエイジが付加されている。
【０１３４】
制御部３０ｂは、ステップＳ３０８で最終フレームを受信したか否かを判断する（Ｓ３０８）。このとき制御部３０ｂは最終フレームを受信していないと判断した場合（Ｓ３０８：ＮＯ）、処理をステップＳ６０１へ戻す。そして、制御部３０ｂは、最終フレームを受信したと判断した場合（Ｓ３０８：ＹＥＳ）、最終フレームを受信したことを記憶しておく（ステップＳ６０６）。
【０１３５】
制御部３０ｂは、最終フレームを受信して記憶した後は、ＣＯＭＭＩＴを受信するまでに同期期間を超過したか否かを判断する（ステップＳ６０７）。制御部３０ｂは、同期期間を超過していないと判断した場合（Ｓ６０７：ＮＯ）、ＣＯＭＭＩＴを受信したか否かを判断し（Ｓ３０９）、受信していないと判断した場合（Ｓ３０９：ＮＯ）、処理をステップＳ６０７へ戻す。制御部３０ｂは、同期期間を超過する前にＣＯＭＭＩＴを受信したと判断した場合（Ｓ３０９：ＹＥＳ）、ＣＯＭＭＩＴを受信したことを記憶しておき（ステップＳ６０８）、第１受信バッファ３７ｂ及び第２受信バッファ３８ｂから属性値を取り出して（Ｓ３１０、Ｓ３１１）、データベース３１ｂを更新し（Ｓ３１２）、同期期間における処理を終了する。
【０１３６】
制御部３０ｂは、ステップＳ６０１で最終フレームを受信することなしに同期期間を超過したと判断した場合（Ｓ６０１：ＹＥＳ）、及び、ステップＳ６０７でＣＯＭＭＩＴを受信することなしに同期期間を超過したと判断した場合（Ｓ６０７：ＹＥＳ）、いずれもＣＯＭＭＩＴを受信していないこと（未受信）を記憶しておく（ステップＳ６０９）。制御部３０ｂは、最終フレームは受信しているか否かを判断し（ステップＳ６１０）、最終フレームを受信していると判断した場合は（Ｓ６１０：ＹＥＳ）、第２受信バッファ３８ｂに記憶されている受信済みの全幹線フレームのメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算する（ステップＳ６１１）。更に制御部３０ｂは、第１受信バッファ３７ｂより読み出したメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算して（ステップＳ６１２）、同期期間における処理を終了する。
【０１３７】
制御部３０ｂは、ステップＳ６１０において最終フレームも受信していないと判断した場合（Ｓ６１０：ＮＯ）、第１受信バッファ３７ｂより読み出したメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算して（Ｓ６１２）、同期期間における処理を終了する。
【０１３８】
図１４は、実施の形態２における中継装置３ｂの制御部３０ｂにより実行されるＣＯＭＭＩＴ有無情報に応じた処理の詳細を示すフローチャートである。中継装置３ｃの制御部３０ｃも同様の処理を行なう。
【０１３９】
制御部３０ｂは、中継装置３ａから幹線フレームと共にＣＯＭＭＩＴ有無情報を受信した場合（図１２、ステップＳ６０２：ＹＥＳ）、受信したＣＯＭＭＩＴ有無情報がＣＯＭＭＩＴ有、即ち前回ＣＯＭＭＩＴを発行したこと（ＣＯＭＭＩＴ有）を示しているか否かを判断する（ステップＳ７１）。制御部３０ｂは、ＣＯＭＭＩＴ有無情報がＣＯＭＭＩＴ有を示していると判断した場合（Ｓ７１：ＹＥＳ）、自身におけるＣＯＭＭＩＴを受信したか否かの情報と矛盾するか否かを判断する（ステップＳ７２）。制御部３０ｂは、自身における記憶でも前回の同期期間でＣＯＭＭＩＴを受信しており、矛盾しないと判断した場合（Ｓ７２：ＮＯ）、前回の同期期間でデータベース３１ｂを同期済みであるので、中継装置３ａから受信した新たな幹線フレームはそのまま第２受信バッファ３８ｂに記憶し（ステップＳ７３）、処理を図１２及び図１３のフローチャート中のステップＳ３０８へ戻す。
【０１４０】
制御部３０ｂは、ステップＳ７２で自身における記憶では前回の同期期間でＣＯＭＭＩＴを受信しておらず、矛盾すると判断した場合（Ｓ７２：ＹＥＳ）、中継装置３ａではＣＯＭＭＩＴを発行してデータベース３１ａを既に更新済みであるので、前回の同期期間で持ち越しとした属性値群によりデータベース３１ｂを更新する（ステップＳ７４）。このとき、中継装置３ａ，３ｂ，３ｃ，３ｄはディジーチェーン型に接続されているので中継装置３ａでＣＯＭＭＩＴが発行されているのであれば、中継装置３ｂでも最終フレームの転送をしているはずであり、持ち越しとしてあるデータは全属性値群であってデータベース３１ａの内容と同一である。つまり、前回の同期期間でＣＯＭＭＩＴの受信に失敗したとしても、この時点で中継装置３ａのデータベース３１ａとの内容の同期がリカバリー可能である。そして、制御部３０ｂは、受信した幹線フレームは第２受信バッファ３８ｂに記憶して（Ｓ７３）、処理を図１２及び図１３のフローチャート中のステップＳ３０８へ戻す。
【０１４１】
制御部３０ｂは、ステップＳ７１でＣＯＭＭＩＴ有無情報がＣＯＭＭＩＴ無を示していると判断した場合（Ｓ７１：ＮＯ）、自身におけるＣＯＭＭＩＴを受信したか否かの情報と矛盾するか否かを判断する（ステップＳ７５）。制御部３０ｂは、自身における記憶でも前回の同期期間でＣＯＭＭＩＴを受信しておらず、矛盾しないと判断した場合（Ｓ７５：ＮＯ）、前回の同期期間で持ち越しとした属性値群の内、支線通信部３２ｂにより受信したメッセージより取り出した属性値群以外は破棄する（ステップＳ７６）。この場合、中継装置３ａからは、前回送信された幹線フレームが再送されるので制御部３０ｂは再送分と、新たに作成されて送信される幹線フレームを第２受信バッファ３８ｂに記憶し（ステップＳ７７）、処理を図１２及び図１３のフローチャート中のステップＳ３０８へ戻す。
【０１４２】
そして制御部３０ｂは、ステップＳ７５において自身における記憶では前回の同期期間でＣＯＭＭＩＴを受信しており、矛盾すると判断した場合は（Ｓ７５：ＹＥＳ）、予期しない状況であるためエラー処理を行ない（ステップＳ７８）、処理を図１２及び図１３のフローチャート中のステップＳ３０８へ戻す。
【０１４３】
図１５及び図１６は、実施の形態２における中継装置３ｄの制御部３０ｄが幹線フレームを送受信し、データベース３１ｄを更新する処理手順の一例を示すフローチャートである。実施の形態１における図８のフローチャートに示した処理手順と共通する処理については、同一のステップ番号を付して詳細な説明を省略する。
【０１４４】
制御部３０ｄは、幹線フレームを作成した後（Ｓ４０２）、処理を開始してから１ミリ秒の同期期間を超過したか否かを判断する（ステップＳ８０１）。制御部３０ｄは、同期期間を超過していないと判断した場合（Ｓ８０１：ＮＯ）、中継装置３ａ，３ｂ，３ｃから送信される幹線フレームを受信したか否かを判断し（Ｓ４０３）、受信していないと判断した場合（Ｓ４０３：ＮＯ）、処理をステップＳ８０１へ戻す。
【０１４５】
制御部３０ｄは、幹線フレームを受信したと判断した場合（Ｓ４０３：ＹＥＳ）、受信している幹線フレームが中継装置３ａから送信された幹線フレームであって、ＣＯＭＭＩＴ有無情報を共に受信しているか否かを判断する（ステップＳ８０２）。制御部３０ｂは、ＣＯＭＭＩＴ有無情報を受信していないと判断した場合（Ｓ８０２：ＮＯ）、中継装置３ｂ，３ｃからの幹線フレームであるから第２受信バッファ３８ｄに記憶して（Ｓ４０４）、処理をステップＳ４０５へ進める。
【０１４６】
制御部３０ｄは、ＣＯＭＭＩＴ有無情報を受信していると判断した場合（Ｓ８０２：ＹＥＳ）、受信したＣＯＭＭＩＴ有無情報に応じた処理を行ない（ステップＳ８０３）、処理をステップＳ４０５へ進める。ステップＳ８０３におけるＣＯＭＭＩＴ有無情報に応じた処理については、中継装置３ｂについて説明した処理（図１２、ステップＳ６０３）と同一であるので詳細な説明は省略する（図１４参照）。
【０１４７】
制御部３０ｄは、ステップＳ４０５で他の中継装置３ａ，３ｂ，３ｃからの幹線フレームを全て受信していないと判断した場合（Ｓ４０５：ＮＯ）、処理をステップＳ８０１へ戻す。制御部３０ｄは、全て受信したと判断して（Ｓ４０５：ＹＥＳ）、自身が作成した最終フレームを送信する（Ｓ４０６）。
【０１４８】
そしてこのとき制御部３０ｄは、受信したＣＯＭＭＩＴ有無情報がＣＯＭＭＩＴ有を示しているか否かを判断する（ステップＳ８０４）。制御部３０ｄは、ＣＯＭＭＩＴ有無情報がＣＯＭＭＩＴ無を示している場合（Ｓ８０４：ＮＯ）、前回の同期期間で自身が作成して送信した幹線フレーム（最終フレーム）を再送する（ステップＳ８０５）。前回の同期期間で送信した最終フレームが、少なくとも中継装置３ａへは届いていないからである。なお、再送する幹線フレームに含まれる属性値群には後述するように、１加算されたエイジが付加されている。制御部３０ｄは、ＣＯＭＭＩＴ有を示している場合（Ｓ８０４：ＹＥＳ）、処理を次のステップＳ８０６へ進める。この場合、前回通常処理によってデータベース３１ｄが更新されているか、又は前回持ち越された場合もステップＳ８０３における処理で更新したので、再送する必要がないからである。
【０１４９】
そして制御部３０ｄは、中継装置３ａにより発行されるＣＯＭＭＩＴを受信するまでに同期期間を超過したか否かを判断する（ステップＳ８０６）。制御部３０ｄは、同期期間を超過していないと判断した場合（Ｓ８０６：ＮＯ）、ＣＯＭＭＩＴを受信したか否かを判断し（Ｓ４０７）、受信していないと判断した場合（Ｓ４０７：ＮＯ）、処理をステップＳ８０６へ戻す。制御部３０ｂは、同期期間を超過する前にＣＯＭＭＩＴを受信したと判断した場合（Ｓ４０７：ＹＥＳ）、ＣＯＭＭＩＴを受信したことを記憶しておき（ステップＳ８０７）、第１受信バッファ３７ｄ及び第２受信バッファ３８ｄから属性値を取り出して（Ｓ４０８、Ｓ４０９）、データベース３１ｄを更新し（Ｓ４１０）、同期期間における処理を終了する。
【０１５０】
制御部３０ｄは、ステップＳ８０１で中継装置３ａ，３ｂ，３ｃからの全幹線フレームを受信することなしに同期期間を超過したと判断した場合（Ｓ８０１：ＹＥＳ）、及び、ステップＳ８０６でＣＯＭＭＩＴを受信することなしに同期期間を超過したと判断した場合（Ｓ８０６：ＹＥＳ）、いずれもＣＯＭＭＩＴを受信していないこと（未受信）を記憶しておく（ステップＳ８０８）。制御部３０ｄは、中継装置３ａ，３ｂ，３ｃからの全幹線フレームは受信しているか否かを判断し（ステップＳ８０９）、全幹線フレームを受信していると判断した場合は（Ｓ８０９：ＹＥＳ）、第２受信バッファ３８ｄに記憶されている受信済みの幹線フレームのメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算する（ステップＳ８１０）。更に制御部３０ｄは、第１受信バッファ３７ｄより読み出したメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算して（ステップＳ８１１）、同期期間における処理を終了する。
【０１５１】
制御部３０ｄは、ステップＳ８０９において全幹線フレームも受信していないと判断した場合（Ｓ８０９：ＮＯ）、第１受信バッファ３７ｄより読み出したメッセージに含まれる属性値群を持ち越しとし、付加されているエイジを１加算して（Ｓ８１１）、同期期間における処理を終了する。
【０１５２】
次に、図１０乃至図１６のフローチャートに示した処理手順を、具体例を挙げて説明する。図１７は、実施の形態２における中継装置３ａ，３ｂ，３ｃ，３ｄのデータベース３１ａ，３１ｂ，３１ｃ，３１ｄが幹線フレームの送受信により更新される過程を模式的に示す説明図である。なお、図１７の説明図では、前の同期期間で中継装置３ａからＣＯＭＭＩＴが発行されなかった場合にリカバリーがされる過程を示している。
【０１５３】
図１７の説明図の構成は、実施の形態１における図９の説明図における構成と同様であるので、各構成部の詳細な説明は省略する。
【０１５４】
図１０乃至図１６のフローチャートに示したように、前の同期期間では同期期間が到来した場合に各中継装置３ａ，３ｂ，３ｃ，３ｄの第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶されていたメッセージから幹線フレームに含められるべき属性値群Ａ，Ｂ，Ｃ，Ｄが夫々読み出される。そして、幹線フレームの送受信が行なわれる。しかしながら、幹線フレームの送受信に失敗して同期期間中に中継装置３ａが最終フレームを受信しなかった場合はＣＯＭＭＩＴは発行されない。この場合は勿論、データベース３１ａ，３１ｂ，３１ｃ，３１ｄの更新も行なわれない。
【０１５５】
次の同期期間では、前の同期期間の間に各中継装置３ａ，３ｂ，３ｃ，３ｄの第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶されていたメッセージから幹線フレームに含められるべき属性値群Ｅ，Ｆ，Ｇ，Ｈが夫々読み出される。なお、各中継装置３ａ，３ｂ，３ｃ，３ｄは夫々、持ち越し属性値群Ａ、Ａ，Ｂ、Ｂ，Ｃ、Ｃ，Ｄを記憶している。中継装置３ａは前の同期期間でＣＯＭＭＩＴを発行しなかった。したがって、ＣＯＭＭＩＴ無を示すＣＯＭＭＩＴ有無情報と、前回送信した属性値群Ａを含む幹線フレーム（再送）が属性値群Ｅを含む幹線フレームと共に中継装置３ｂに送信される。中継装置３ｂは、持ち越されていた属性値群Ａ，Ｂの内の属性値群Ａを削除し改めて再送された幹線フレーム及び新たに作成されて送信された幹線フレームから属性値群Ａ，Ｅを取り出して第２受信バッファ３８ｂに属性値群Ｂ，Ｆと共に記憶する。同様に、中継装置３ｃでも持ち越されていた属性値群Ｂは削除され、再送された幹線フレーム及び新たに作成されて送信された幹線フレームから属性値群Ｂ，Ｆが取り出されて第２受信バッファ３８ｃに属性値群Ｃ，Ｇと共に記憶される。中継装置３ｄでも同様である。
【０１５６】
その後は図１７に示すように、前回の同期期間中に中継装置３ａ，３ｂ，３ｃ，３ｄから送受信されたはずの幹線フレームが再送される。そして、中継装置３ａ，３ｂ，３ｃ，３ｄ全てが、再送分の幹線フレームを含めた全幹線フレームを受信したことが確認された場合、即ち、中継装置３ａが属性値群Ｄを含む幹線フレーム（再送）及び新たに作成された属性群Ｈを含む幹線フレームを受信し、ＣＯＭＭＩＴを発行した場合に初めて、属性値群Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈによりデータベース３１ａ，３１ｂ，３１ｃ，３１ｄが夫々更新される。これにより、中継装置３ａ，３ｂ，３ｃ，３ｄ間での幹線フレームの送受信がいずれかのタイミングで失敗した場合であっても次にリカバリーをすることができる。更に、再度ＣＯＭＭＩＴが発行されるまでデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの更新がされないので、データベース３１ａ，３１ｂ，３１ｃ，３１ｄの内容の同一性を担保することができる。
【０１５７】
図１８は、実施の形態２における中継装置３ａ，３ｂ，３ｃ，３ｄのデータベース３１ａ，３１ｂ，３１ｃ，３１ｄが幹線フレームの送受信により更新される過程を模式的に示す説明図である。なお、図１８の説明図では、前の同期期間で中継装置３ａから発行されたＣＯＭＭＩＴが中継装置３ｂで受信できなかった場合にリカバリーがされる過程を示している。図１８の説明図の構成も、実施の形態１における図９の説明図における構成と同様であるので、各構成部の詳細な説明は省略する。
【０１５８】
図１０乃至図１６のフローチャートに示したように、前の同期期間では同期期間が到来した場合に各中継装置３ａ，３ｂ，３ｃ，３ｄの第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶されていたメッセージから幹線フレームに含められるべき属性値群Ａ，Ｂ，Ｃ，Ｄが夫々読み出される。そして、幹線フレームの送受信が行なわれる。中継装置３ｄからの最終フレームが中継装置３ａで受信された場合はＣＯＭＭＩＴが発行されデータベース３１ａも属性値群Ａ，Ｂ，Ｃ，Ｄにより更新されている。しかしながら、中継装置３ａが発行したＣＯＭＭＩＴが中継装置３ｂで受信できなかった場合、全属性群Ａ，Ｂ，Ｃ，Ｄを受信バッファ３８ｂに記憶しているにも拘らず、データベース３１ｂの更新がされない。他の中継装置３ｃ，３ｄでも、全属性群Ａ，Ｂ，Ｃ，Ｄを受信バッファ３８ｃ，３８ｄに記憶しているにも拘らず、データベース３１ｃ，３１ｄの更新がされない。この場合、データベース３１ａの内容と、データベース３１ｂ，３１ｃ，３１ｄの内容とがずれてしまう。
【０１５９】
しかしながら、実施の形態２における中継装置３ａ，３ｂ，３ｃ，３ｄによる図１０乃至図１６のフローチャートに示した処理によって、以下のように早期にリカバリーが可能である。
【０１６０】
次の同期期間では、前の同期期間の間に各中継装置３ａ，３ｂ，３ｃ，３ｄの第１受信バッファ３７ａ，３７ｂ，３７ｃ，３７ｄに記憶されていたメッセージから幹線フレームに含められるべき属性値群Ｅ，Ｆ，Ｇ，Ｈが夫々読み出される。中継装置３ａは、前回ＣＯＭＭＩＴを発行して送信したことを記憶している。したがって中継装置３ａからは、新たに属性値群Ｅを含む幹線フレームが送信される。このとき、中継装置３ａからはＣＯＭＭＩＴ有を示すＣＯＭＭＩＴ有無情報も送信される。したがって、中継装置３ｂの制御部３０ｂが図１４に示した処理手順の内のステップＳ７１，Ｓ７２，Ｓ７４の処理が行ない、データベース３１ｂを持ち越されている属性値群Ａ，Ｂ，Ｃ，Ｄにより更新する。これにより、データベース３１ｂは中継装置３ａのデータベース３１ａと同一の内容となる。
【０１６１】
同様に、中継装置３ａから送信されるＣＯＭＭＩＴ有を示すＣＯＭＭＩＴ有無情報により、次のタイミングで中継装置３ｃの制御部３０ｃも、データベース３１ｃを持ち越されている属性値群Ａ，Ｂ，Ｃ，Ｄにより更新する。これにより、データベース３１ｃも中継装置３ａ，３ｂのデータベース３１ａ，データベース３１ｂと同一の内容となる。更に次のタイミングで、中継装置３ｄの制御部３０ｄも、データベース３１ｄを持ち越されている属性値群Ａ，Ｂ，Ｃ，Ｄにより更新する。このように、中継装置３１ａ，３１ｂ，３１ｃ，３１ｄ間で最後にＣＯＭＭＩＴの送受信に失敗した場合も、できる限り早くリカバリーしてデータベース３１ａ，３１ｂ，３１ｃ，３１ｄの同一性を確保することが可能である。
【０１６２】
なお、実施の形態１及び２における車載通信システムでは、４つの中継装置３ａ，３ｂ，３ｃ，３ｄ間をディジーチェーン型に接続した場合の例を示した。本発明はこれに限らない。中継装置の数も４に限らず、２，３，５等であってもよい。また、接続形態もディジーチェーン型によらずバス型、スター型でもよい。この場合も、特定の中継装置が全中継装置からの幹線フレームを受信したか否かによって夫々のデータベースを更新すべきことを示すＣＯＭＭＩＴを発行する。ただし、ディジーチェーン型のようにいずれかの送受信が失敗した場合にこれを検知するためには、各中継装置３ａ，３ｂ，３ｃ，３ｄにおけう処理に設計変更が必要である。
【０１６３】
なお、実施の形態１及び２における車載通信システムの中継装置３ａ，３ｂ，３ｃ，３ｄの制御部３０ａ，３０ｂ，３０ｃ，３０ｄが夫々幹線フレームを受信する際には対応表３９ａ，３９ｂ，３９ｃ，３９ｄを参照する構成としたが、これに限らない。例えば、各中継装置３ａ，３ｂ，３ｃ，３ｄ間で送受信される幹線フレームに含まれるメッセージの数、順序、及びメッセージ内における属性値の組み合わせ及び順序を、中継装置毎に予め決めておき、幹線フレームを受信した中継装置は送信元の中継装置を特定することにより、正確に属性値を読み出すようにしてもよい。
【０１６４】
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６５】
【図１】実施の形態１における車載通信システムの構成を示す構成図である。
【図２】実施の形態１における車載通信システムを構成するＥＣＵ及び中継装置の内部構成を示すブロック図である。
【図３】実施の形態１における車載通信システムを構成する中継装置の制御部がメッセージを受信した場合の処理手順の一例を示すフローチャートである。
【図４】実施の形態１における車載通信システムを構成する中継装置の制御部が送信する幹線フレームのフォーマット例を示す説明図である。
【図５】実施の形態１における車載通信システムを構成する中継装置の記憶部に記憶されている対応表の内容例を示す説明図である。
【図６】実施の形態１において特定の中継装置として機能する中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図７】実施の形態１における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図８】実施の形態１における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図９】実施の形態１における中継装置のデータベースが幹線フレームの送受信により更新される過程を模式的に示す説明図である。
【図１０】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１１】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１２】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１３】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１４】実施の形態２における中継装置の制御部により実行されるＣＯＭＭＩＴ有無情報に応じた処理の詳細を示すフローチャートである。
【図１５】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１６】実施の形態２における中継装置の制御部が幹線フレームを送受信し、データベースを更新する処理手順の一例を示すフローチャートである。
【図１７】実施の形態２における中継装置のデータベースが幹線フレームの送受信により更新される過程を模式的に示す説明図である。
【図１８】実施の形態２における中継装置のデータベースが幹線フレームの送受信により更新される過程を模式的に示す説明図である。
【符号の説明】
【０１６６】
１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ，１ｇ，１ｈ  ＥＣＵ
２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆ，２ｇ，２ｇ  通信線（支線）
３ａ，３ｂ，３ｃ，３ｄ  中継装置
３０ａ，３０ｂ，３０ｃ，３０ｄ  制御部
３１ａ，３１ｂ，３１ｃ，３１ｄ  データベース
３２ａ，３２ｂ，３２ｃ，３２ｄ  支線通信部
３５ａ，３５ｂ，３５ｃ，３５ｄ  第１幹線通信部
３６ａ，３６ｂ，３６ｃ，３６ｄ  第２幹線通信部
３７ａ，３７ｂ，３７ｃ，３７ｄ  第１受信バッファ
３８ａ，３８ｂ，３８ｃ，３８ｄ  第２受信バッファ
４ａ，４ｂ，４ｃ  通信線（幹線）
【図１】
2010021805.tif 000003
【図２】
2010021805.tif 000004
【図３】
2010021805.tif 000005
【図４】
2010021805.tif 000006
【図５】
2010021805.tif 000007
【図６】
2010021805.tif 000008
【図７】
2010021805.tif 000009
【図８】
2010021805.tif 000010
【図９】
2010021805.tif 000011
【図１０】
2010021805.tif 000012
【図１１】
2010021805.tif 000013
【図１２】
2010021805.tif 000014
【図１３】
2010021805.tif 000015
【図１４】
2010021805.tif 000016
【図１５】
2010021805.tif 000017
【図１６】
2010021805.tif 000018
【図１７】
2010021805.tif 000019
【図１８】
2010021805.tif 000020