(57)【要約】【課題】車両に搭載され、相対優先方式の中間ノードを介しても装置間の時刻同期精度を向上できるネットワークシステムを提供する。【解決手段】車載ネットワークシステムは、第１装置および第２装置と、第１装置および第２装置の間に接続され、相対優先方式によってメッセージの伝送を行う中間ノードとを備える。第１装置は、第２装置と通信可能な通信部と、時刻を管理する時刻管理部と、通信部を制御して、相異なる優先度を有する複数のメッセージの送受信を第２装置と行うことにより、優先度ごとの通信遅延の測定を行い、測定結果に基づいて、優先度ごとの通信遅延の最大値より小さい遅延代表値を定め、第２通信装置によるメッセージ送信時の第２通信装置が管理する時刻を受信し、メッセージ受信時の第１通信装置が管理する時刻と、受信した第２通信装置が管理する時刻と、遅延代表値とに基づいて、時刻管理部が管理する時刻の調整を行う制御部とを含む。【選択図】図２
2020129778.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ時刻を管理し互いにメッセージを送受信する第１装置および第２装置と、
前記第１装置および前記第２装置の間に接続され、入力されたメッセージをバッファリングし、バッファリングしたメッセージのうち高い優先度を有するメッセージを低い優先度を有するメッセージより常に先に出力することを保証しない相対優先方式によって決定した順序でメッセージの出力を行う中間ノードとを備える車載ネットワークシステムであって、
前記第１装置は、
前記第２装置と通信可能な通信部と、
時刻を管理する時刻管理部と、
前記通信部を制御して、相異なる優先度を有する複数のメッセージの送受信を前記第２装置と行うことにより、前記優先度ごとの通信遅延の測定を行い、測定した前記優先度ごとの通信遅延に基づいて、前記優先度ごとの通信遅延の最大値より小さい遅延代表値を定め、前記第２通信装置によるメッセージ送信時の前記第２通信装置が管理する時刻を受信し、前記メッセージ受信時の前記第１通信装置が管理する時刻と、受信した前記第２通信装置が管理する時刻と、前記遅延代表値とに基づいて、前記時刻管理部が管理する時刻の調整を行う制御部とを含む、車載ネットワークシステム。
【請求項２】
前記制御部は、前記遅延代表値として、前記優先度ごとの通信遅延のうち、最小値を用いる、請求項１に記載の車載ネットワークシステム。
【請求項３】
前記制御部は、前記遅延代表値として、前記優先度ごとの通信遅延のうち、最大値以外のいずれかを用いる、請求項１に記載の車載ネットワークシステム。
【請求項４】
前記制御部は、前記遅延代表値として、前記優先度ごとの通信遅延の平均値を用いる、請求項１に記載の車載ネットワークシステム。
【請求項５】
前記制御部は、前記遅延代表値として、前記優先度ごとの通信遅延のうち、所定の優先度における通信遅延以下のいずれかを用いる、請求項１に記載の車載ネットワークシステム。
【請求項６】
前記制御部は、前記遅延代表値として、前記優先度ごとの通信遅延の、優先度が高いほど大きくなる重みによる重み付け平均値を用いる、請求項１に記載の車載ネットワークシステム。
【請求項７】
前記制御部は、過去に測定した前記優先度ごとの通信遅延に基づいて、各優先度に対して、過去に測定した通信遅延が小さい傾向があるほど大きくなる重みを定め、前記遅延代表値として、今回測定した前記優先度ごとの通信遅延の、前記重みによる重み付した平均値を用いる、請求項１に記載の車載ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両等に搭載されるネットワークシステムに関する。
【背景技術】
【０００２】
車両には、ネットワークシステムが搭載されている。ネットワークシステムは、複数のＥＣＵ（Electronic Control Unit）と呼ばれる装置が接続されている。各ＥＣＵは、互いにメッセージを送受信し、車両の各機能を分担して実行する。ネットワークシステムは、一般にスイッチ、ルータ、あるいはゲートウェイ等、メッセージを中継、転送する中間ノードを含み、各ＥＣＵは、中間ノードを介して互いにメッセージの送受信を行う。
【０００３】
このような、ネットワークシステムにおいて各装置が管理する時刻を同期させる方法が提案されている。非特許文献１は、このような手法を規定するＩＥＥＥ１５８８規格に準拠した時刻同期方法の一実装方法を検討している。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Kendall Correll, Nick Barendt, and Michael Branicky. "Design Considerations for Software Only Implementations of the IEEE 1588 Precision Time Protocol." In Conference on IEEE 1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような時刻同期の方法においては、スレーブとなる装置が、マスタとなる装置とメッセージの送受信を行い、マスタからスレーブへの通信遅延を測定する遅延測定処理と、スレーブがマスタからメッセージを受信し、メッセージ受信時のスレーブの時刻とメッセージ送信時のマスタの時刻との差を求め、この差から遅延測定処理で測定した通信遅延を減算して、マスタの時刻に対するスレーブの時刻の進み量であるオフセットを求めるオフセット測定処理とが行われる。時刻同期を高い精度で実行するためには、オフセットの測定精度が高いことが必要である。そのためには、遅延測定処理およびオフセット測定処理のそれぞれにおいて、マスタからスレーブに送信される各メッセージの通信遅延になるべく差が少ないことが求められる。
【０００６】
スイッチのような中間ノードは、装置からメッセージが入力されるとバッファに記憶し、複数のメッセージに対して、各メッセージに含まれる優先度に基づいて、宛先の装置に出力する順序を決定する。中間ノードは、メッセージを出力するとそのメッセージをバッファから消去する。このような出力順序の決定方式として、バッファに記憶されているメッセージのうち優先度が高いメッセージを、優先度の低いメッセージより常に先に送信することを保証する絶対優先方式と、このような保証のない、ＷＲＲ、ＷＦＱのような相対優先方式とがある。
【０００７】
時刻同期の処理に用いるメッセージとして、一般に１つの優先度のメッセージが用いられる。このようなメッセージとして最も優先度が高いメッセージを用いれば、通信遅延が最も小さく安定しており分散も小さく、高い精度で時刻同期が可能であると期待することができる。しかし、中間ノードが相対優先方式を採用している場合は、中間ノードに入力されるメッセージの優先度ごとの数や分布によっては、実際には期待どおりにならず、複数の優先度のうち、最も優先度が高いメッセージが、通信遅延やその分散が最小とならないこともある。そのため、最も優先度が高いメッセージを用いても、オフセットの測定精度が低く、時刻同期の精度も低くなる場合があった。
【０００８】
本発明は、上記課題を鑑みてなされたものであり、車両に搭載される、相対優先方式の中間ノードを介しても装置間の時刻同期精度を向上できるネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の一局面は、それぞれ時刻を管理し互いにメッセージを送受信する第１装置および第２装置と、第１装置および第２装置の間に接続され、入力されたメッセージをバッファリングし、バッファリングしたメッセージのうち高い優先度を有するメッセージを低い優先度を有するメッセージより常に先に出力することを保証しない相対優先方式によって決定した順序でメッセージの出力を行う中間ノードとを備える車載ネットワークシステムであって、第１装置は、第２装置と通信可能な通信部と、時刻を管理する時刻管理部と、通信部を制御して、相異なる優先度を有する複数のメッセージの送受信を第２装置と行うことにより、優先度ごとの通信遅延の測定を行い、測定した優先度ごとの通信遅延に基づいて、優先度ごとの通信遅延の最大値より小さい遅延代表値を定め、第２通信装置によるメッセージ送信時の第２通信装置が管理する時刻を受信し、メッセージ受信時の第１通信装置が管理する時刻と、受信した第２通信装置が管理する時刻と、遅延代表値とに基づいて、時刻管理部が管理する時刻の調整を行う制御部とを含む、車載ネットワークシステムである。
【発明の効果】
【００１０】
本発明によれば、車両に搭載される、相対優先方式の中間ノードを介しても装置間の時刻同期精度を向上できるネットワークシステムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るネットワークシステムの構成図
【図２】本発明の一実施形態に係る処理を示すフローチャート
【図３】本発明の一実施形態に係る処理を示すシーケンス図
【図４】本発明の一実施形態に係る処理を示すシーケンス図
【発明を実施するための形態】
【００１２】
本発明に係るネットワークシステムにおいては、スイッチングハブのような中間ノードが設けられ、中間ノードは相対優先方式を採用している。ネットワークシステムにおいて、最も優先度が高いメッセージの通信遅延の分散がすべての優先度のなかで最小とならない場合がありうる。しかし、ネットワークシステムに含まれる装置が、複数の優先度のメッセージを用いた通信により、分散がより小さいと期待できる通信遅延代表値を定め、これを用いて同期のための時刻調整量であるオフセットを求めるので、時刻同期の精度を向上できる。
【００１３】
（実施形態）
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。
【００１４】
＜構成＞
図１に、本実施形態に係るネットワークシステム１の構成の一部を示す。ネットワークシステム１は、一例として車両に搭載される。ネットワークシステム１は、第１装置１０、第２装置２０と、中間ノード３０とを含む。第１装置１０および第２装置２０は例えばＥＣＵである。中間ノード３０は例えばスイッチングハブである。第１装置１０および第２装置２０は中間ノード３０を介して、互いにメッセージの送受信が可能なように接続されている。また、ネットワークシステム１は、他のＥＣＵを含んでもよい。ネットワークシステム１は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格に準拠した通信を行う。
【００１５】
第１装置１０は、固有の計時機能を有し時刻を管理する第１時刻管理部（時刻管理部）１１、ネットワークシステム１の、第２装置２０を含む他の装置と通信を行う第１通信部（通信部）１２、および、これらを制御する第１制御部（制御部）１３を含む。第２装置２０も同様に、固有の計時機能を有し時刻を管理する第２時刻管理部２１、ネットワークシステム１の、第１装置１０を含む他の装置と通信を行う第２通信部２２、および、これらを制御する第２制御部２３を含む。
【００１６】
中間ノード３０には、第１装置１０、第２装置２０、あるいは他の装置が送信したメッセージが入力される。中間ノード３０はメッセージが入力されると内蔵のバッファに記憶する。中間ノード３０は、バッファに記憶されている複数のメッセージに対して、各メッセージに含まれる優先度に基づいて、メッセージの宛先の装置にメッセージを出力する順序を決定（スケジューリング）し、決定した順序でメッセージを出力する。中間ノード３０は、メッセージを出力するとそのメッセージをバッファから消去し、未出力のメッセージのみバッファに記憶されている状態を維持する。
【００１７】
本実施形態に係る中間ノード３０は、メッセージの出力順序の決定において一例としてＷＲＲ（重み付けラウンドロビン）方式のような相対優先方式を採用している。このような中間ノード３０においてはバッファに記憶されているメッセージのうち優先度が高いメッセージを、優先度が低いメッセージより先に送信する頻度は高くても、常に先に送信する保証がない。つまり、メッセージが、送信元の装置から送信されてから、中間ノード３０を介して宛先の装置に受信されるまでに要する時間である通信遅延は、中間ノード３０に入力される各優先度のメッセージの優先度ごとの数や分布によっては、メッセージの優先度が高い場合であっても、優先度の低いメッセージより大きいこともある。すなわち、優先度が高いメッセージは優先度が低いメッセージに比べて通信遅延やその分散がより小さくなることが一般的な傾向として期待できても常にそうとは限らない。優先度によらず、その時点において通信遅延が小さい優先度のメッセージのほうが、通信遅延が大きい優先度のメッセージに比べて、その時点においては通信遅延が安定しており、分散も小さいと考えることができる。
【００１８】
＜処理＞
以下に、本実施形態に係る時刻同期処理を説明する。本処理は、例えば、ネットワークシステム１の起動時や、各装置の機能上時刻が一致することが要求される場合に、あるいは、定期的に、実行することができる。ここでは、一例として、第１装置１０が、自装置が管理する時刻を、第２装置２０が管理する時刻に同期させる処理を説明する。図２は第１装置１０が行う処理のフローチャートである。
【００１９】
（ステップＳ１０１）：第１装置１０の第１制御部１３は、本時刻同期処理で用いるメッセージの優先度を設定する。優先度は、通信の規格において複数の値が定義されており、例えば最も高い「７」から最も低い「０」まで、８つの程度がある。このうち２つ以上の程度の優先度を、本実施形態で用いる程度とする。本ステップでは、本実施形態で用いることが定められた２つ以上の程度の優先度のうち、いずれかが設定される。
【００２０】
（ステップＳ１０２）：第１装置１０の第１制御部１３は、ステップＳ１０１で設定した優先度を有するメッセージによる通信を用いて、第２装置２０との間の通信遅延を測定する。本ステップの詳細を、図３を参照して説明する。図３は、本ステップＳ１０２の処理を詳細に説明するシーケンス図である。本ステップＳ１０２の処理は、一例としてＩＥＥＥ１５８８規格に準拠して行われる。
【００２１】
−（ステップＳ１０２１）：第１装置１０の第１制御部１３は、ステップＳ１０１で設定した優先度のＰｄｅｌａｙ＿Ｒｅｑメッセージを生成し、第１装置１０の第１通信部１２は、Ｐｄｅｌａｙ＿Ｒｅｑメッセージを第２装置２０宛てに送信する。第１制御部１３は、第１時刻管理部１１が管理する時刻を参照してＰｄｅｌａｙ＿Ｒｅｑメッセージを送信した時刻ｔ１を記憶する。
【００２２】
−（ステップＳ１０２２）：中間ノード３０に、Ｐｄｅｌａｙ＿Ｒｅｑメッセージが入力される。中間ノード３０は、Ｐｄｅｌａｙ＿Ｒｅｑメッセージに含まれる優先度に基づいて、Ｐｄｅｌａｙ＿Ｒｅｑメッセージの出力タイミングをスケジューリングし、スケジューリング結果に従ってＰｄｅｌａｙ＿Ｒｅｑメッセージを出力することで、第２装置２０宛てにＰｄｅｌａｙ＿Ｒｅｑメッセージを伝送する。
【００２３】
−（ステップＳ１０２３）：第２装置２０の第２通信部２２は、Ｐｄｅｌａｙ＿Ｒｅｑメッセージを受信する。第２装置２０の第２制御部２３は、第２時刻管理部２１が管理する時刻を参照してＰｄｅｌａｙ＿Ｒｅｑメッセージを受信した時刻ｔ２を記憶する。
【００２４】
−（ステップＳ１０２４）：第２装置２０の第２制御部２３は、受信したＰｄｅｌａｙ＿Ｒｅｑメッセージに含まれる優先度と同じ優先度のＰｄｅｌａｙ＿Ｒｅｓｐメッセージを生成し、第２装置２０の第２通信部２２は、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージを第１装置１０宛てに送信する。Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージには、上述のＰｄｅｌａｙ＿Ｒｅｑメッセージを受信した時刻ｔ２が含まれる。
【００２５】
−（ステップＳ１０２５）：中間ノード３０に、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージが入力される。中間ノード３０は、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージに含まれる優先度に基づいて、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージの出力タイミングをスケジューリングし、スケジューリング結果に従ってＰｄｅｌａｙ＿Ｒｅｓｐメッセージを出力することで、第１装置１０宛てにＰｄｅｌａｙ＿Ｒｅｓｐメッセージを伝送する。
【００２６】
−（ステップＳ１０２６）：第１装置１０の第１通信部１２は、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージを受信する。第１装置１０の第１制御部１３は、Ｐｄｅｌａｙ＿Ｒｅｓｐメッセージに含まれる上述の時刻ｔ２を記憶し、また、第１時刻管理部１１が管理する時刻を参照してＰｄｅｌａｙ＿Ｒｅｓｐメッセージを受信した時刻ｔ４を記憶する。
【００２７】
−（ステップＳ１０２７）：第２装置２０の第２制御部２３は、ステップＳ１０２４でＰｄｅｌａｙ＿Ｒｅｓｐメッセージを送信した時刻ｔ３を、第２時刻管理部２１が管理する時刻を参照して取得する。第２制御部２３は、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージを生成し、第２装置２０の第２通信部２２は、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージを第１装置１０宛てに送信する。Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージには、上述のＰｄｅｌａｙ＿Ｒｅｓｐメッセージを送信した時刻ｔ３が含まれる。
【００２８】
−（ステップＳ１０２８）：中間ノード３０に、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージが入力される。中間ノード３０は、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージに含まれる優先度に基づいて、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージの出力タイミングをスケジューリングし、スケジューリング結果に従ってＰｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージを出力することで、第１装置１０宛てにＰｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージを伝送する。
【００２９】
−（ステップＳ１０２９）：第１装置１０の第１通信部１２は、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿Ｕｐメッセージを受信する。第１制御部１３は、Ｐｄｅｌａｙ＿Ｒｅｓｐ＿Ｆｏｌｌｏｗ＿ＵＰメッセージに含まれる上述の時刻ｔ３を記憶する。
【００３０】
−（ステップＳ１０３０）：第１装置１０の第１制御部１３は、上述した時刻ｔ１、ｔ２、ｔ３、ｔ４に基づいて、メッセージが第２装置２０から送信されてから中間ノード３０を介して第１装置１０に受信されるまでの時間である通信遅延ｄｅｌａｙを、以下の式（１）により算出する。
ｄｅｌａｙ＝｛（ｔ４−ｔ１）−（ｔ３−ｔ２）｝／２          式（１）
【００３１】
（ステップＳ１０３）：第１装置１０の第１制御部１３は、ステップＳ１０１で設定した優先度を有するメッセージによる通信とステップＳ１０２で測定した通信遅延ｄｅｌａｙを用いて、第２装置２０との間のオフセットを測定する。オフセットとは、第１装置１０の第１時刻管理部１１が管理する時刻の、第２装置２０の第２時刻管理部２２が管理する時刻からの進み量を表す数値である。本ステップの詳細を、図４を参照して説明する。図４は、本ステップＳ１０３の処理を詳細に説明するシーケンス図である。本ステップＳ１０３の処理は、一例としてＩＥＥＥ１５８８規格に準拠して行われる。
【００３２】
−（ステップＳ１０３１）：第２装置２０の第２制御部２３は、受信したＰｄｅｌａｙ＿Ｒｅｑメッセージに含まれる優先度と同じ優先度のＳｙｎｃメッセージを生成し、第２装置２０の第２通信部２２は、Ｓｙｎｃメッセージを第１装置１０宛てに送信する。
【００３３】
−（ステップＳ１０３２）：中間ノード３０に、Ｓｙｎｃメッセージが入力される。中間ノード３０は、Ｓｙｎｃメッセージに含まれる優先度に基づいて、Ｓｙｎｃメッセージの出力タイミングをスケジューリングし、スケジューリング結果に従ってＳｙｎｃメッセージを出力することで、第１装置１０宛てにＳｙｎｃメッセージを伝送する。
【００３４】
−（ステップＳ１０３３）：第１装置１０の第１通信部１２は、Ｓｙｎｃメッセージを受信する。第１装置１０の第１制御部１３は、第１時刻管理部１１が管理する時刻を参照してＳｙｎｃメッセージを受信した時刻ｔ６を記憶する。
【００３５】
−（ステップＳ１０３４）：第２装置２０の第２制御部２３は、ステップＳ１０３１でＳｙｎｃメッセージを送信した時刻ｔ５を、第２時刻管理部２１が管理する時刻を参照して取得する。第２制御部２３は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを生成し、第２装置２０の第２通信部２２は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを第１装置１０宛てに送信する。Ｆｏｌｌｏｗ＿Ｕｐメッセージには、上述のＳｙｎｃメッセージを送信した時刻ｔ５が含まれる。
【００３６】
−（ステップＳ１０３５）：中間ノード３０に、Ｆｏｌｌｏｗ＿Ｕｐメッセージが入力される。中間ノード３０は、Ｆｏｌｌｏｗ＿Ｕｐメッセージに含まれる優先度に基づいて、Ｆｏｌｌｏｗ＿Ｕｐメッセージの出力タイミングをスケジューリングし、スケジューリング結果に従ってＦｏｌｌｏｗ＿Ｕｐメッセージを出力することで、第１装置１０宛てにＦｏｌｌｏｗ＿Ｕｐメッセージを伝送する。
【００３７】
−（ステップＳ１０３６）：第１装置１０の第１通信部１２は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを受信する。第１制御部１３は、Ｆｏｌｌｏｗ＿ＵＰメッセージに含まれる上述の時刻ｔ５を記憶する。
【００３８】
−（ステップＳ１０３７）：第１装置１０の第１制御部１３は、上述した時刻ｔ５、ｔ６と、ステップＳ１０２で算出した通信遅延ｄｅｌａｙとに基づいて、第１装置１０の第１時刻管理部１１が管理する時刻の、第２装置２０の第２時刻管理部２２が管理する時刻からの進み具合を表すオフセットｏｆｆｓｅｔを、以下の式（２）により算出する。
ｏｆｆｓｅｔ＝（ｔ６−ｔ５）−ｄｅｌａｙ          式（２）
【００３９】
なお、ＳｙｎｃメッセージおよびＦｏｌｌｏｗ＿Ｕｐメッセージは、各優先度で定期的にマルチキャストされるメッセージであり、ステップＳ１０２の処理とステップＳ１０３のうちステップＳ１０３１−１０３６の処理とは、順序が逆であってもよい。
【００４０】
（ステップＳ１０４）：第１装置１０の第１制御部１３は、本実施形態で用いる優先度のうちその優先度のメッセージを用いた上述の通信遅延およびオフセットが未測定のものがあるか否かを判定する。未測定のものがあればステップＳ１０５に進み、未測定のものがなければステップＳ１０６に進む。
【００４１】
（ステップＳ１０５）：第１装置１０の第１制御部１３は、本実施形態で用いる優先度のうちその優先度のメッセージを用いた上述の通信遅延およびオフセットが未測定のものを選択して、つぎに生成するメッセージの優先度として設定し、ステップＳ１０２に進む。
【００４２】
（ステップＳ１０６）：第１装置１０の第１制御部１３は、優先度ごとの通信遅延に基づいて、遅延代表値を定める。遅延代表値は、典型的には優先度ごとの通信遅延の最大値より小さい値となるよう定められる。以下に遅延代表値として用いる値の定め方の例を示す。
【００４３】
（１）第１制御部１３は、優先度ごとの通信遅延のうち、最小値を遅延代表値とする。これにより、遅延代表値として、測定値のうち最も小さく比較的安定しており、分散も小さいと期待できる値を採用できる。
【００４４】
（２）第１制御部１３は、優先度ごとの通信遅延のうち、最大値以外のいずれかを遅延代表値とする。これにより、遅延代表値として、測定値のうち相対的に小さく比較的安定しており、分散も小さいと期待できる値を採用できる。
【００４５】
（３）第１制御部１３は、優先度ごとの通信遅延の平均値を遅延代表値とする。これにより、遅延代表値として、平均化により測定値の最大値より小さく、分散も小さいと期待できる値を採用できる。
【００４６】
（４）第１制御部１３は、優先度ごとの通信遅延のうち、所定の優先度における通信遅延未満のいずれかを遅延代表値とする。これにより、遅延代表値として、測定値のうち相対的に小さく比較的安定しており、分散も小さいと期待できる値を採用できる。なお、所定の優先度における通信遅延が最小値であった場合は、その値を遅延代表値とする。
【００４７】
（５）第１制御部１３は、優先度が高いほど大きくなる重みを定めておき、優先度ごとの通信遅延の、この重みによる重み付け平均値を遅延代表値とする。これにより遅延代表値として、（３）と同様、平均化により測定値の最大値より小さく分散も小さいと期待できる値を採用できる。また、一般的な傾向の通り高優先度の場合のほうが低優先度の場合より通信遅延が小さく分散も小さい場合は、（３）の場合より、より小さく分散も小さい値を採用できる。
【００４８】
（６）第１制御部１３は、図２に示すフローを過去に実行したときに測定した優先度ごとの通信遅延を記憶しておく。また、第１制御部１３は、記憶している直近過去所定回の優先度ごとの通信遅延に基づいて、各優先度に対して、過去に測定した通信遅延が小さい傾向があるほど大きくなる重みを定めておく。例えば過去所定回の通信遅延の優先度ごとの平均値を取って、平均値の小さい優先度ほど重みを大きくする。この例では、第１制御部１３は、今回測定した優先度ごとの通信遅延の、この重みによる重み付け平均値を遅延代表値とする。これにより、遅延代表値として、（３）と同様、平均化により測定値の最大値より小さく、分散も小さいと期待できる値を採用できる。また、（３）の場合より、過去に通信遅延が大きかった優先度の通信遅延の影響の小さい値を採用できる。
【００４９】
（ステップＳ１０７）：第１装置１０の第１制御部１３は、ステップＳ１０６で定めた遅延代表値に応じたオフセット代表値を求める。例えば、上記（１）、（２）、（４）のように、いずれかの優先度における通信遅延の測定値を遅延代表値とした場合、第１制御部１３は、その優先度におけるオフセットをオフセット代表値とする。すなわち優先度「７」のメッセージの通信遅延を遅延代表値とした場合、優先度「７」のメッセージのオフセットをオフセット代表値とする。
【００５０】
また、例えば、上記（３）、（５）、（６）のように、複数の優先度における通信遅延の測定値の平均値（または重み付け平均値）を遅延代表値とした場合、第１制御部１３は、優先度ごとのオフセットの平均値（または同じ重みによる重み付け平均値）をオフセット代表値とする。すなわち優先度「７」および「０」における各通信遅延の平均値を遅延代表値とした場合、優先度「７」および「０」における各オフセットの平均値をオフセット代表値とする。
【００５１】
（ステップＳ１０８）：第１装置１０の第１制御部１３は、ステップＳ１０７で求めたオフセット代表値に基づいて、第１時刻管理部１１が管理する時刻を調整し、第２装置２０の第２時刻管理部２１が管理する時刻と同期させる。例えば第１時刻管理部１１が管理する時刻を徐々にオフセット代表値だけ減算することで同期を行う。
【００５２】
以上で処理は終了する。なお、もし、優先度ごとの通信遅延の測定結果がすべて同じ値となり、差異がない場合は、第１制御部１３は、例えば、その値を遅延代表値とし、測定したオフセットのいずれか、あるいは平均値をオフセット代表値とすればよい。
【００５３】
なお、上述の例では、第１制御部１３は、優先度ごとの通信遅延の測定後、優先度ごとのオフセットの測定を行うが、代わりに、優先度ごとの通信遅延に基づいて遅延代表値を定めた後、オフセット代表値を求めるのに必要な優先度のオフセットのみを測定してもよい。例えば遅延代表値を上記（１）によって定める場合、優先度「７」のメッセージの通信遅延が最小であれば、優先度「７」のメッセージのオフセットのみを測定し、測定値をオフセット代表値とすればよい。
【００５４】
（効果）
本発明によれば、スイッチングハブのような中間ノードが相対優先方式を採用しているネットワークシステムにおいて、最も優先度が高いメッセージの通信遅延の分散が最小とならない場合があっても、複数の優先度のメッセージを用いた通信により、分散がより小さいと期待できる通信遅延代表値を定め、これを用いて同期のための時刻調整量であるオフセットを求めるので、時刻同期の精度を向上することができる。
【００５５】
例えば、現在のネットワークシステム１の通信状態において、優先度「７」のメッセージの通信遅延の平均値が３ｍｓ、最大値が５ｍｓであり、優先度「１」のメッセージの通信遅延の平均値が０．５ｍｓ、最大値が１０ｍｓである場合、遅延代表値として、優先度「７」の通信遅延と優先度「１」の通信遅延とのうち小さいほうを用いることとすると、遅延代表値は、おおむね平均値０．５ｍｓ、最大値５ｍｓとなり、分散を抑制することができる。
【００５６】
本発明は、ネットワークシステムだけでなく、ネットワークシステムに含まれる装置、装置のコンピュータが実行する時刻同期方法、時刻同期プログラムおよびこれを記憶したコンピュータ読み取り可能な非一時的記憶媒体、ネットワークシステムを備えた車両等として捉えることが可能である。また、本発明は、車両に搭載されるネットワークシステム以外のネットワークシステムにも適用できる。
【産業上の利用可能性】
【００５７】
本発明は、車両等に搭載されるネットワークシステムに有用である。
【符号の説明】
【００５８】
１    ネットワークシステム
１０    第１装置
１１    第１時刻管理部
１２    第１通信部
１３    第１制御部
２０    第２装置
２１    第２時刻管理部
２２    第２通信部
２３    第２制御部
３０    中間ノード
【図１】
2020129778.tif 000003
【図２】
2020129778.tif 000004
【図３】
2020129778.tif 000005
【図４】
2020129778.tif 000006