(57)【要約】      （修正有）【課題】適切な中継処理を実行する技術を提供する。【解決手段】通信システム１は、ゲートウェイ１１、第１ツール１３、第２ツール１５、ＥＣＵ１７を含む。ゲートウェイ１１は、第１送信部３１、第２送信部３２、第３送信部３３、第４送信部３４を備える。第１送信部３１は、ＥＣＵ１７へのメッセージの送信ができないタイミングで第２ツール１５から要求メッセージの送信が発生したときに、第２ツール１５へ応答待ちメッセージを送信する。第２送信部３２は、応答済みメッセージをＥＣＵ１７に送信する。第３送信部３３は、要求メッセージをＥＣＵ１７に送信する。ＥＣＵ１７は、応答済みメッセージを受信しているか否かに応じて、要求メッセージを受信したときに実行する処理の内容を変更する。【選択図】図２
2019097116.tif 000002
【特許請求の範囲】
【請求項１】
中継装置（１１）と、該中継装置と接続可能に構成された送信元ノード（１３、１５）及び送信先ノード（１７）と、を備え、前記中継装置を介して前記送信元ノードと前記送信先ノードとが通信可能に構成された通信システム（１）であって、
前記中継装置は、
前記送信先ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記送信先ノードへの要求メッセージの送信が発生したときに、前記送信元ノードへ応答待ちメッセージを送信するように構成された第１送信部（３１）と、
前記送信先ノードへのメッセージの送信が可能となった後に、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージを前記送信先ノードに送信するように構成された第２送信部（３２）と、
前記第２送信部により前記応答済みメッセージが前記送信先ノードへ送信された以後、前記送信元ノードからの要求メッセージを前記送信先ノードに送信するように構成された第３送信部（３３）と、を備え、
前記送信先ノードは、前記第２送信部により前記応答済みメッセージを受信しているか否かに応じて、当該応答済みメッセージに係る要求メッセージを受信したときに実行する処理の内容を変更するように構成された変更部（４２）を備える、通信システム。
【請求項２】
送信元ノード（１３、１５）及び送信先ノード（１７）の間の通信を中継する中継装置（１１）であって、
前記送信先ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記送信先ノードへの要求メッセージの送信が発生したときに、前記送信元ノードへ応答待ちメッセージを送信するように構成された第１送信部（３１）と、
前記送信先ノードへのメッセージの送信が可能となった後に、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージを前記送信先ノードに送信するように構成された第２送信部（３２）と、
前記第２送信部により前記応答済みメッセージが前記送信先ノードへ送信された以後、前記送信元ノードからの要求メッセージを前記送信先ノードに送信するように構成された第３送信部（３３）と、を備える、中継装置。
【請求項３】
中継装置（１１）を介して、送信元ノード（１３、１５）と通信可能に構成されたノード（１７）であって、
前記中継装置は、前記ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記ノードへの要求メッセージの送信が発生したときに前記送信元ノードへ送信される応答待ちメッセージと、前記ノードへのメッセージの送信が可能となった後に前記ノードへ送信される、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージと、を送信可能に構成されており、
前記ノードは、前記中継装置から送信される前記応答済みメッセージを受信可能に構成された応答受信部（４１）を備える、ノード。
【請求項４】
請求項２に記載の中継装置であって、
さらに、前記第２送信部による前記応答待ちメッセージの前記送信元ノードへの送信が完了するタイミングとの時間差分を特定可能な情報を含むメッセージを前記送信先ノードに送信するように構成された第４送信部（３４）と、を備える、中継装置。
【請求項５】
請求項３に記載のノードであって、
前記中継装置により前記応答済みメッセージを受信しているか否かに応じて、当該応答済みメッセージに係る要求メッセージを受信したときに実行する処理の内容を変更するように構成された変更部（４２）を備える、ノード。
【請求項６】
請求項５に記載のノードであって、
さらに、前記中継装置から送信される、前記中継装置による前記応答待ちメッセージの前記送信元ノードへの送信が完了するタイミングとの時間差分を特定可能な情報を含むメッセージを受信可能に構成された時間受信部（４３）を備える、ノード。
【請求項７】
請求項６に記載のノードであって、
さらに、要求メッセージを受信してから所定の時間が経過したときに、前記応答待ちメッセージを前記送信元ノードへ送信するように構成された応答送信部（４４）を備え、
前記応答送信部は、前記時間受信部から前記時間差分を特定可能な情報を取得している場合には、前記時間差分と、前記要求メッセージを送信できるようになってから経過した時間と、を含めた時間に基づいて、前記所定の時間が経過したか否かを判断する、ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークを介して通信を行うシステムに関する。
【背景技術】
【０００２】
車両に搭載されるネットワークシステムのように、複数のノードがネットワーク上に存在する場合、１つのノードに対して同時に複数の要求メッセージが送信される場合がある。下記特許文献１には、特定の要求を受信する場合には、受信要求に対する応答性を高くし、他の要求の応答をキャンセルして、特定な要求を優先的に応答するという技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４４６６１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
中継装置を用いてノード間の通信を行う場合において、送信先ノードへの要求メッセージの転送処理を進行している間に、当該送信先ノードへの要求メッセージの送信が別の送信元ノードから発生した場合、従来では中継装置が当該別のノードにＮＧの応答を返すか、そのままメッセージを破棄することが一般的である。しかしながら、発明者の詳細な検討の結果、メッセージの破棄は別のノードが対応結果を取得できないため望ましくなく、またＮＧ応答を返す場合は要求メッセージの再送とＮＧ応答を繰り返すことでバス負荷が高くなってしまうおそれがある、という課題が見出された。
【０００５】
本開示の１つの局面は、適切な中継処理を実行する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様による通信システム（１）は、中継装置（１１）と、該中継装置と接続可能に構成された送信元ノード（１３、１５）及び送信先ノード（１７）と、を備え、前記中継装置を介して前記送信元ノードと前記送信先ノードとが通信可能に構成されている。
【０００７】
前記中継装置は、第１送信部（３１）と、第２送信部（３２）と、第３送信部（３３）と、を備える。
第１送信部は、前記送信先ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記送信先ノードへの要求メッセージの送信が発生したときに、前記送信元ノードへ応答待ちメッセージを送信するように構成されている。
【０００８】
第２送信部は、前記送信先ノードへのメッセージの送信が可能となった後に、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージを前記送信先ノードに送信するように構成されている。
【０００９】
第３送信部は、前記第２送信部により前記応答済みメッセージが前記送信先ノードへ送信された以後、前記送信元ノードからの要求メッセージを前記送信先ノードに送信するように構成されている。
【００１０】
また、前記送信先ノードは、前記第２送信部により前記応答済みメッセージを受信しているか否かに応じて、当該応答済みメッセージに係る要求メッセージを受信したときに実行する処理の内容を変更するように構成された変更部（４２）を備える。
【００１１】
このような構成であれば、中継装置は、送信元ノードに応答待ちメッセージを送信したことを送信先ノードに認識させることができる。このような適切な中継処理によって、送信元ノード及び送信先ノードは、不都合な状態となってしまうことを抑制できる。例えば、送信元ノードは応答待ちメッセージを受信することができるため、送信元ノードが要求メッセージを繰り返し発信したり、送信先ノードに要求メッセージが届いていない状態で放置されてしまったりすることが抑制できる。また送信先ノードは、既に送信元ノードに応答待ちメッセージが送信されたものとして、適当な処理を実行することができる。
【００１２】
本開示の別の一態様による中継装置（１１）は、送信元ノード（１３、１５）及び送信先ノード（１７）の間の通信を中継する中継装置である。
この中継装置は、第１送信部（３１）と、第２送信部（３２）と、第３送信部（３３）と、を備える。
【００１３】
第１送信部は、前記送信先ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記送信先ノードへの要求メッセージの送信が発生したときに、前記送信元ノードへ応答待ちメッセージを送信するように構成されている。
【００１４】
第２送信部は、前記送信先ノードへのメッセージの送信が可能となった後に、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージを前記送信先ノードに送信するように構成されている。
【００１５】
第３送信部は、前記第２送信部により前記応答済みメッセージが前記送信先ノードへ送信された以後、前記送信元ノードからの要求メッセージを前記送信先ノードに送信するように構成されている。
【００１６】
このような構成であれば、中継装置は、送信元ノードに応答待ちメッセージを送信したことを送信先ノードに認識させることができ、上述した通信システムの一部を構成することができる。
【００１７】
本開示の別の一態様によるノード（１７）は、中継装置（１１）を介して、送信元ノード（１３、１５）と通信可能に構成されたノードである。
前記中継装置は、前記ノードへのメッセージの送信ができないタイミングで前記送信元ノードから前記ノードへの要求メッセージの送信が発生したときに前記送信元ノードへ送信される応答待ちメッセージと、前記ノードへのメッセージの送信が可能となった後に前記ノードへ送信される、前記応答待ちメッセージを前記送信元ノードへ送信したことを示す応答済みメッセージと、を送信可能に構成されている。
【００１８】
そして、このノードは、前記中継装置から送信される前記応答済みメッセージを受信可能に構成された応答受信部（４１）を備える。
このような構成であれば、ノードは、送信元ノードに応答待ちメッセージを送信したことを認識することができる。このような適切な中継処理によって、ノードはその状態に応じた適切な処理を実行することができる。
【００１９】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００２０】
【図１】通信システムの構成を示すブロック図である。
【図２】通信システムの機能ブロック図である。
【図３】通信システムの処理を説明するシーケンス図である。
【図４】ゲートウェイの処理を説明するフローチャートである。
【図５】通信中の定義を説明する図である。
【図６】ＥＣＵの処理を説明するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．実施形態］
［１−１．全体構成］
図１に示す通信システム１は、車両に搭載されて用いられるものである。通信システム１は、ゲートウェイ１１、第１ツール１３、第２ツール１５、及びＥＣＵ１７を備えるネットワークを含む。ＥＣＵとは、Electronic Control Unitの略である。第１ツール１３及び第２ツール１５と、ＥＣＵ１７と、はゲートウェイ１１を介して通信可能に接続されている。ゲートウェイ１１と第１ツール１３及び第２ツール１５とは通信ライン２１により接続され、ゲートウェイ１１とＥＣＵ１７とは通信ライン２３により接続される。各通信ラインにおける通信プロトコルは同一であってもよいし、異なっていてもよい。
【００２２】
［１−２．ゲートウェイ］
ゲートウェイ１１は、ＣＰＵ１１ａと、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ（以下、メモリ１１ｂ）と、を有する周知のマイクロコンピュータを中心に構成される。ゲートウェイ１１の各種機能は、ＣＰＵ１１ａが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ１１ｂが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。このメモリ１１ｂには、ルーティングテーブル等の必要な情報が記憶されている。なお、ゲートウェイ１１は、１つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
【００２３】
ゲートウェイ１１は、図２に示すように、第１送信部３１と、第２送信部３２と、第３送信部３３と、第４送信部３４と、を備える。ゲートウェイ１１に含まれる各部の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。
【００２４】
以下の説明において、送信元ノードとは、本実施形態においては第１ツール１３又は第２ツール１５を意味し、送信先ノードとは、本実施形態においてはＥＣＵ１７を意味する。
第１送信部３１は、送信先ノードへのメッセージの送信ができないタイミングで送信元ノードから送信先ノードへの要求メッセージの送信が発生したときに、送信元ノードへ応答待ちメッセージを送信するように構成されている。
【００２５】
送信先ノードへのメッセージが送信できないタイミングとは、ＥＣＵ１７がメッセージを受信できないタイミング、または、ゲートウェイ１１の制約やバス（通信ライン２３）の制限によりゲートウェイ１１が転送処理を実施できないタイミングである。例えば、ＥＣＵ１７が第１ツール１３からメッセージを受信しているときは、第２ツール１５から送信されるメッセージを受信できない。また、ＥＣＵ１７が特定の処理を実行している場合にはメッセージを受信しないように構成されている場合には、その処理を実行している場合が上記タイミングに相当する。
【００２６】
要求メッセージとは、送信元ノードから送信先ノードに送信されるメッセージであって、送信元ノード及び送信先ノードを示す識別子や必要なデータを含み、送信先ノードに対して何らかの処理を実行させるメッセージである。送信先ノードは要求メッセージを受信した場合にはそのメッセージに対応する処理を実行し、原則として、応答メッセージを送信元ノードに送信する。
【００２７】
応答待ちメッセージとは、送信先ノードが要求メッセージに対する処理を所定時間内に完了できない場合に、送信先ノードが送信元ノードに送信するメッセージである。すなわち、応答待ちメッセージは、本来は送信先ノードが送信するメッセージである。ゲートウェイ１１は、送信元ノードから送信されたメッセージが送信先ノードに転送できない場合に、送信先ノードに代わって応答待ちメッセージを送信元ノードに送信する。なお、以下の説明において、応答待ちメッセージを単に「応答待ち」とも記載する。
【００２８】
第２送信部３２は、送信先ノードにおいてメッセージが送信できない事情が解消し、送信先ノードへのメッセージの送信が可能となった後に、「応答待ち」を送信元ノードへ送信したことを示す応答済みメッセージを送信先ノードに送信するように構成されている。
【００２９】
応答済みメッセージとは、ゲートウェイ１１が、送信先ノードに代わって「応答待ち」を送信元ノードに送信したことを示すメッセージである。なお、以下の説明において、応答済みメッセージを単に「応答済み」とも記載する。
【００３０】
第３送信部３３は、第２送信部３２により「応答済み」が送信先ノードへ送信された以後、送信元ノードからの要求メッセージを送信先ノードに送信するように構成されている。
第４送信部３４は、第２送信部３２による「応答待ち」の送信元ノードへの送信が完了するタイミングとの時間差分を特定可能な情報を含むメッセージを送信先ノードに送信するように構成されている。ここでいう時間差分とは、第２送信部３２が「応答待ち」を送信元ノードへ送信してからの経過時間が該当する。経過時間を特定可能な情報とは、経過時間そのものを示す情報であってもよいし、それ以外の情報であってもよい。例えば、各ノードが時刻を取得可能であれば「応答待ち」が第２送信部３２により送信された時刻の情報であってもよい。
【００３１】
なお、第２送信部３２、第３送信部３３、第４送信部３４が送信先ノードに送信する上述した各メッセージは、個別に送信されてもよいし、適宜組み合わせて同時に送信されても良い。但し、第３送信部３３が送信する要求メッセージは、第２送信部３２が送信する「応答済み」と同時かそれ以降に送信されるようにすることで、送信先ノードがより確実に「応答待ち」が送信元ノードに送信されたことを認識した上で処理を実行することができる。
【００３２】
［１−３．第１ツール及び第２ツール］
第１ツール１３及び第２ツール１５は、要求メッセージをＥＣＵ１７に送信するとともに、応答メッセージ、応答待ちメッセージを受信する。第１ツール１３及び第２ツール１５は、ＣＰＵ、メモリ等を備え、ゲートウェイ１１に対して通信ライン２１を介して接続可能に構成されている。
【００３３】
応答メッセージとは、要求メッセージを受信したＥＣＵ１７がそのメッセージに対応する処理を実行して得られた結果などを含むメッセージである。
なお、第１ツール１３及び第２ツール１５の具体例としては、ＥＣＵ１７から故障診断のための各種情報を収集するための診断ツールが挙げられる。診断ツールは例えばディーラーで点検を行う際に用いられるものである。よって、第１ツール１３及び第２ツール１５は、通信ライン２１に対して着脱可能に構成されていてもよい。
【００３４】
［１−４．ＥＣＵ］
ＥＣＵ１７は、ＣＰＵ１７ａと、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ（以下、メモリ１７ｂ）と、を有する周知のマイクロコンピュータを中心に構成される。ＥＣＵ１７の各種機能は、ＣＰＵ１７ａが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ１７ｂが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、ＥＣＵ１７は、１つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
【００３５】
ＥＣＵ１７は、図２に示すように、応答受信部４１と、変更部４２と、時間受信部４３と、応答送信部４４と、を備える。ＥＣＵ１７に含まれる各部の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。
【００３６】
応答受信部４１は、ゲートウェイ１１から送信される「応答済み」のメッセージを受信可能に構成されている。
変更部４２は、ゲートウェイ１１により「応答済み」を受信しているか否かに応じて、当該「応答済み」のメッセージに係る要求メッセージを受信したときに実行する処理の内容を変更するように構成されている。具体的には、「応答済み」を受信していれば、既に送信元ノードが「応答待ち」を受信しているものとして処理を実行する。言い換えると、既にＥＣＵ１７が自ら「応答待ち」を送信元ノードに送信した場合と同様の処理を実行する。
【００３７】
つまり、「応答済み」を送信先ノードが受信することにより、送信先ノードは、「応答待ち」が送信元ノードに送信されていることを認識できる。その結果、送信先ノードは、「応答待ち」の送信の有無に応じて処理が異なる場合に、既に「応答待ち」を送信したものとして処理を実行することができる。これにより、例えば送信元ノードは「応答待ち」を受信しているが送信先ノードは「応答待ち」を送信していないという状況が生じてしまい、システム全体として問題が生じる、という危険を抑制できる。
【００３８】
時間受信部４３は、ゲートウェイ１１による「応答待ち」の送信元ノードへの送信が完了するタイミングとの時間差分を特定可能な情報、言い換えると、ゲートウェイ１１から送信される、ゲートウェイ１１が「応答待ち」のメッセージを送信元ノードへ送信してからの経過時間を特定可能な情報を含むメッセージを受信可能に構成されている。
【００３９】
応答送信部４４は、要求メッセージを受信してから所定の時間が経過したときに、「応答待ち」のメッセージを送信元ノードへ送信するように構成されている。また応答送信部４４は、時間受信部４３から経過時間を特定可能な情報を取得している場合には、その情報に基づいて特定される経過時間と、要求メッセージを送信できるようになってから経過した時間と、を含めた時間に基づいて、所定の時間が経過したか否かを判断する。
【００４０】
また、ＥＣＵ１７は、要求メッセージを受信してから第１応答待ち時間が経過するまでに応答メッセージを送信できない場合、又は、応答メッセージが不要であり、かつ、第１応答待ち時間が経過するまでに当該要求メッセージに係る処理が終了しない場合には、「応答待ち」を送信元ノードに送信する。また、「応答待ち」を送信元ノードに送信してから第２応答待ち時間が経過するまでに応答メッセージを送信できない場合には、再度「応答待ち」を送信元ノードに送信する。第１応答待ち時間は、例えば５０ｍｓとすることができ、第２応答待ち時間は、例えば２５００ｍｓとすることができる。
【００４１】
［１−５．処理］
［１−５−１．全体の処理］
通信システム１が実行する処理を、図３に示すシーケンス図を用いて説明する。図３の例は、第１ツール１３が先に要求メッセージをＥＣＵ１７に送信し、その後、第２ツール１５が要求メッセージをＥＣＵ１７に送信する場合の処理の例である。図３におけるメッセージの後につける数字は、第１ツール１３又は第２ツール１５のいずれとの関係で送受信しているメッセージであるかを示す序数である。
【００４２】
まず、Ｓ１では、第１ツール１３は、要求メッセージをゲートウェイ１１に送信する。
Ｓ２では、ゲートウェイ１１は、要求メッセージをＥＣＵ１７に転送する。このＳ１及びＳ２が、第１ツール１３による要求メッセージ送信の処理である。
【００４３】
ここで、Ｓ２による要求メッセージの転送が終了するまで、ＥＣＵ１７は次のメッセージを受け取ることができない。なお、これは次のメッセージを受け取ることができない期間の一例であり、後述するように他の状況も含み得る。
【００４４】
Ｓ１１以降は、第２ツール１５による要求メッセージの送信に起因する処理である。
Ｓ１１では、第２ツール１５は、要求メッセージをゲートウェイ１１に送信する。ゲートウェイ１１は、この時点から、第１応答待ち時間の経過をカウントする。第１応答待ち時間が経過する前に要求メッセージをＥＣＵ１７に転送できれば、当該メッセージの転送についての処理は終了する。第１応答待ち時間が経過する前に要求メッセージをＥＣＵ１７に転送できない場合、Ｓ１２に移行する。
【００４５】
Ｓ１２では、ゲートウェイ１１は、ＥＣＵ１７が次のメッセージを受けとることができない状態であるため、「応答待ち」のメッセージを第２ツール１５に送信する。またゲートウェイ１１は、この時点から、ＥＣＵ１７が第２ツール１５の要求メッセージを受信できるようになるまでの経過時間Ｔ１をカウントする。
【００４６】
Ｓ１３では、ゲートウェイ１１は、「応答済み」と、経過時間Ｔ１と、をＥＣＵ１７に送信する。これにより、ＥＣＵ１７は、応答待ちメッセージが第２ツール１５に送信されたことと、経過時間Ｔ１とを知ることができる。
【００４７】
Ｓ１４では、ゲートウェイ１１は、第２ツール１５の要求メッセージをＥＣＵ１７に送信する。なおＥＣＵ１７は、要求メッセージを受信したとき、第２ツール１５の要求メッセージを受信できるようになってからその時点までの経過時間Ｔ２を算出して取得する。すなわち、経過時間Ｔ１と経過時間Ｔ２の和は、Ｓ１２にて応答待ちメッセージが送信されてから、Ｓ１４が完了するまでの経過時間となる。
【００４８】
またＥＣＵ１７は、Ｓ１４のメッセージ受信が完了した時点から、第２応答待ち時間の経過をカウントする。このとき、ＥＣＵ１７は「応答待ち」を送信していないが、Ｓ１３にて「応答済み」を受信しているため、既に一度「応答待ち」が送信されたものとして処理を行う。
【００４９】
なお、応答メッセージを送信する前に第２応答待ち時間が経過すれば、ＥＣＵ１７は再度「応答待ち」を送信するが、このときの第２応答待ち時間は、経過時間Ｔ１＋Ｔ２を除いた値とする。例えばＴ１が１００ｍｓ、Ｔ２が３０ｍｓであれば、
２５００−（１００＋３０）＝２３７０ｍｓ
が経過した時点で「応答待ち」を送信する。これにより、ＥＣＵ１７による再度の「応答待ち」のメッセージは、最初にゲートウェイ１１が「応答待ち」を送信してから２５００ｍｓ後に送信されることとなる。ところで、Ｓ２における要求メッセージの送信完了が、Ｓ１２における「応答待ち」の送信完了よりも早ければ、経過時間Ｔ１は負の値となる。この場合にも上述した方法で第２応答待ち時間が計算される。
【００５０】
ＥＣＵ１７において、要求メッセージに対応する処理が第２応答待ち時間内に終了しなかった場合、Ｓ１５では、ＥＣＵ１７は、「応答待ち」をゲートウェイ１１に送信し、Ｓ１６では、ゲートウェイ１１は、第２ツール１５に「応答待ち」を転送する。ＥＣＵ１７からの「応答待ち」の送信は、第２応答待ち時間が経過するごとに行われる。
【００５１】
その後、ＥＣＵ１７にて上記処理が終了した場合、Ｓ１７では、応答メッセージをゲートウェイ１１に送信し、Ｓ１８では、ゲートウェイ１１は、第２ツール１５に応答メッセージを転送する。なお、ＥＣＵ１７がＳ１５の送信前に応答メッセージを送信すれば、Ｓ１５及びＳ１６は行われない。
【００５２】
［１−５−２．ゲートウェイの処理］
次に、ゲートウェイ１１のＣＰＵ１１ａが実行する転送処理について、図４のフローチャートを用いて説明する。本処理は、第１ツール１３又は第２ツール１５から要求メッセージを受信したときに開始される。なお、以下の説明では、第２ツール１５からメッセージを受信したときに開始された転送処理について説明する。なお、この受信した要求メッセージを、以下、当該メッセージとも記載する。
【００５３】
まず、Ｓ４１では、ＣＰＵ１１ａは、当該メッセージの転送先ＥＣＵであるＥＣＵ１７が第１ツール１３と通信中であるか否かを判断する。上述したように、「通信中」とは、ＥＣＵ１７がメッセージを受け取ることができない場面の例である。このＳ４１では、ＥＣＵ１７がメッセージを受け取ることができるか否かを他の条件も含めて総合的に判断してもよい。
【００５４】
ところで、「通信中」とは、図５に示すように、複数の状況が考えられる。以下に、３つのパターンを例示する。
パターン１は、ゲートウェイ１１が第１ツール１３から要求メッセージを受信しているとき、及び、ゲートウェイ１１がＥＣＵ１７に要求メッセージを転送しているときを通信中とするものである。このパターンは、例えば要求メッセージと応答メッセージとが干渉しないシステムにて適用できる。
【００５５】
パターン２は、パターン１の状況に加えて、ゲートウェイ１１がＥＣＵ１７から応答メッセージを受信しているとき、及び、ゲートウェイ１１が第１ツール１３に応答メッセージを転送しているとき、を通信中とするものである。このパターンは、例えば要求メッセージと応答メッセージとが干渉するシステムにて適用できる。
【００５６】
パターン３は、ゲートウェイ１１が第１ツール１３から要求メッセージの受信を開始してから、ゲートウェイ１１からＥＣＵ１７への転送、ＥＣＵ１７における要求メッセージに対応する処理、ゲートウェイ１１のＥＣＵ１７からの応答メッセージの受信、及びゲートウェイ１１による第１ツール１３への応答メッセージの転送が完了するまでの時間を、通信中とするものである。このパターンは、例えば、ＥＣＵ１７が、ある処理を実行しているときには他のメッセージを受信したくない場合に適用できる。
【００５７】
本実施形態では、パターン１の動作を行う場合を説明する。なお、送信先ノードとなり得るＥＣＵを複数有するシステムにおいては、「通信中」の定義は、システム全体として一律に定められていても良いし、ＥＣＵごとに定められていてもよい。
【００５８】
説明を図４に戻る。ＣＰＵ１１ａは、Ｓ４１にて転送先ＥＣＵが通信中であると判定した場合、つまりＥＣＵ１７が第１ツール１３からのメッセージ受信を行っている場合には、処理がＳ４２に移行する。一方、ＣＰＵ１１ａは、Ｓ４１にて転送先ＥＣＵが通信中でないと判定した場合には、処理がＳ４８に移行する。
【００５９】
Ｓ４２では、ＣＰＵ１１ａは、「応答待ち」送信用のタイマのカウントを開始する。ここでは、第１応答待ち時間の経過をカウントする。
Ｓ４３では、ＣＰＵ１１ａは、Ｓ４２でカウントを開始したタイマと転送先のＥＣＵ１７の通信の状態を判定する。すなわち、ＣＰＵ１１ａは、予め定められた時間を経過すること（以下、タイムアウト）と、第１ツール１３とＥＣＵ１７の通信が終了したか否かと、をチェックする。
【００６０】
タイムアウトしていない（以下、未タイムアウト）状態であって、通信中であるときは、Ｓ４３を繰り返し、いずれかの状態が変化するまで待機する。未タイムアウトであり通信が完了したときは、処理がＳ４８に移行する。また、通信が完了せずにタイムアウトしたときは、処理がＳ４４に移行する。
【００６１】
Ｓ４４では、ＣＰＵ１１ａは、「応答待ち」を第２ツール１５に送信する。この処理は、図３のＳ１２の処理に対応する。
Ｓ４５では、ＣＰＵ１１ａは、「応答待ち」送信用のタイマの再カウントを開始する。このＳ４５では、Ｓ４２とは異なり、２度目以降の「応答待ち」を送信するためのカウントを行う。よって、ここでは、ＣＰＵ１１ａは、第２応答待ち時間の経過をカウントする。
【００６２】
Ｓ４６では、ＣＰＵ１１ａは、タイマとＥＣＵ１７の通信の状態を判定する。ここでは、Ｓ４２と同様の処理が行われるが、タイムアウトとなる時間が第２応答待ち時間である点で異なる。未タイムアウトであり通信が完了したときは、処理がＳ４７に移行する。また、通信が完了せずにタイムアウトしたときは、処理がＳ４４に移行する。
【００６３】
Ｓ４７では、ＣＰＵ１１ａは、「応答済み」とタイマの経過時間Ｔ１とをＥＣＵ１７へ送信する。この処理は、図３のＳ１３の処理に対応する。
Ｓ４８では、ＣＰＵ１１ａは、受信した当該メッセージをＥＣＵ１７に転送する。Ｓ４７からＳ４８に移行した場合、この処理は、図３のＳ１４の処理に対応する。その後、図４の転送処理を終了する。
【００６４】
［１−５−３．ＥＣＵの処理］
次に、ＥＣＵ１７のＣＰＵ１７ａが実行する応答処理について、図６のフローチャートを用いて説明する。本処理は、ゲートウェイ１１からメッセージを受信したときに開始される。以下、このメッセージを当該メッセージとも記載する。
【００６５】
まず、Ｓ５１では、ＣＰＵ１７ａは、受信した当該メッセージが要求メッセージであるか、又は「応答済み」のメッセージと経過時間であるか、を判定する。受信した当該メッセージが要求メッセージであれば、処理がＳ５２に移行する。一方、受信した当該メッセージが「応答済み」のメッセージと経過時間であれば、処理がＳ６１に移行する。
【００６６】
Ｓ５２では、ＣＰＵ１７ａは、情報受信フラグがオンであるか否かを判定する。情報受信フラグは、初期値はオフであるが、Ｓ６１においてオンとなる。情報受信フラグがオンであれば、処理がＳ６２に移行する。一方、情報受信フラグがオフであれば、処理がＳ５３に移行する。
【００６７】
Ｓ５３では、ＣＰＵ１７ａは、当該メッセージである要求メッセージの通信中状態の終了後に、経過時間Ｔ２のカウントを開始する。この時点では、ゲートウェイ１１においてＥＣＵ１７への送信を待機している要求メッセージ、つまり図３におけるＳ１１の要求メッセージが存在するか否かは不明であるが、要求メッセージが存在した場合には、ここでカウントが開始された経過時間Ｔ２が後の処理で用いられる。
【００６８】
Ｓ５４では、ＣＰＵ１７ａは、「応答待ち」送信用のタイマのカウントを開始する。ここでは、ＣＰＵ１７ａは、第１応答待ち時間の経過をカウントする。
Ｓ５５では、ＣＰＵ１７ａは、タイマとＥＣＵ１７の処理の完了を判定する。すなわち、ＣＰＵ１７ａは、タイムアウトしたか否かと、受信した要求メッセージに応じた処理が完了したか否かと、をチェックする。
【００６９】
未タイムアウトであって、処理中であるときは、Ｓ５５を繰り返し、いずれかの状態が変化するまで待機する。未タイムアウトであり処理が完了したときは、処理がＳ５６に移行する。また、処理が完了せずにタイムアウトしたときは、処理がＳ５７に移行する。
【００７０】
Ｓ５６では、ＣＰＵ１７ａは、要求メッセージに係る応答メッセージの要否を判定する。応答メッセージが必要である場合には、処理がＳ６０に移行する。一方、応答メッセージが不要である場合には、図６の応答処理を終了する。
【００７１】
Ｓ５７では、ＣＰＵ１７ａは、「応答待ち」を第２ツール１５に送信する。
Ｓ５８では、ＣＰＵ１７ａは、「応答待ち」送信用タイマの再カウントを開始する。このＳ５８では、Ｓ５４とは異なり、２度目以降の「応答待ち」を送信するためのカウントを行う。よって、ここでは、ＣＰＵ１７ａは第２応答待ち時間の経過をカウントする。
【００７２】
Ｓ５９では、ＣＰＵ１７ａは、タイマとＥＣＵ１７の処理の完了を判定する。ここでは、Ｓ５５と同様の処理が行われるが、タイムアウトとなる時間が第２応答待ち時間である点で異なる。未タイムアウトであり処理が完了したときは、処理がＳ６０に移行する。また、処理が完了せずにタイムアウトしたときは、処理がＳ５７に移行する。
【００７３】
Ｓ６０では、ＣＰＵ１７ａは、要求メッセージに対応した処理結果の応答メッセージを第２ツール１５に送信する。その後、図６の応答処理を終了する。
また、Ｓ５１にて受信した当該メッセージが「応答済み」メッセージと経過時間Ｔ１である場合に移行するＳ６１では、ＣＰＵ１７ａは、情報受信フラグをオンとし、また、送信された経過時間Ｔ１を記憶する。その後、図６の応答処理を終了する。
【００７４】
また、Ｓ５２にて情報受信フラグがオンである場合に移行するＳ６２では、ＣＰＵ１７ａは、「応答待ち」送信用タイマのカウントを開始する。但し、タイマの上限値、言い換えると経過の判断を行う閾値となる時間は、第２応答待ち時間から経過時間Ｔ１及び経過時間Ｔ２を差し引いた時間を用いる。これにより、ゲートウェイ１１が初回の「応答待ち」を送信してから、ＥＣＵ１７が要求メッセージを受信するまでの時間が既に経過したものとして、２回目の「応答待ち」の送信タイミングを測ることができる。言い換えると、ゲートウェイ１１が応答待ちを初回に送信したタイミングでＥＣＵ１７が初回の応答待ちを送信していた場合と同じ条件で、２回目の応答待ちの送信タイミングが計測される。
【００７５】
Ｓ６３では、ＣＰＵ１７ａは、情報受信フラグをオフとする。その後、処理がＳ５９に移行する。
［１−６．効果］
以上詳述した実施形態によれば、以下の効果を奏する。
【００７６】
（１ａ）通信システム１では、ゲートウェイ１１は、ゲートウェイ１１がメッセージ送信元の第２ツール１５に応答待ちメッセージを送信したことを、ＥＣＵ１７に認識させることができる。このような適切な中継処理によって、ＥＣＵ１７はその状態に応じた適切な処理を実行することができる。
【００７７】
具体的には、ＥＣＵ１７は、既に第２ツール１５に１回以上の応答待ちメッセージが送信されたものとして、次回の応答待ちメッセージを送信するタイミングを測るための閾値を第２応答待ち時間とすることができる。これにより、次回の応答待ちメッセージの送信タイミングを適切なものとすることができる。
【００７８】
（１ｂ）ＥＣＵ１７が「応答待ち」を送信した場合には、応答不要である要求メッセージを受信しても応答メッセージを送信する必要があるシステム構成においては、次の効果を奏する。すなわち、ＥＣＵ１７が「応答待ち」を送信していなくても、ゲートウェイ１１により既に「応答待ち」が送信されている場合には、ＥＣＵ１７自らが初回の「応答待ち」を送信した場合と同様に、応答メッセージの送信処理を行うことができる。よって、第２ツール１５が「応答待ち」のメッセージを受信したにもかかわらず、応答メッセージを受信できないという危険を低減できる。
【００７９】
（１ｃ）ＥＣＵ１７が第１ツール１３のメッセージを受信中である場合には、ゲートウェイ１１が「応答待ち」メッセージを第２ツール１５に送信するため、要求メッセージが単に廃棄されることが無く、第２ツール１５が要求メッセージを繰り返し送信することによる負荷の増大を抑制できる。
【００８０】
（１ｄ）ＥＣＵ１７が第２応答待ち時間の経過を判断するにあたって、経過時間Ｔ１を取得することにより、ゲートウェイ１１が第２ツール１５に初回の「応答待ち」を送信した時点からの経過時間を用いることができる。そのため、次回の応答待ちメッセージの送信タイミングをより適切なものとすることができる。
【００８１】
［１−７．対応関係］
ゲートウェイ１１が、中継装置に相当する。第１ツール１３及び第２ツール１５が、送信元ノードに相当する。ＥＣＵ１７が、送信先ノードに相当する。
【００８２】
なお、送信元ノード及び送信先ノードにおける「送信元」及び「送信先」の意味は、ある要求メッセージを送受信する場合における送信元と送信先を意味するものである。つまり、要求メッセージを含む別のメッセージを送受信する場合において、送信元であるノードと送信先であるノードが入れ替わってもよい。
【００８３】
［２．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００８４】
（２ａ）上記実施形態では、ゲートウェイ１１の他、第１ツール１３、第２ツール１５、ＥＣＵ１７をノードとするネットワークを含む通信システム１を例示した。しかしながら、例示した構成以外のシステム構成であってもよい。
【００８５】
例えば、ネットワークに接続されるツールは３つ以上であってもよい。また、ネットワークに接続されるＥＣＵは２つ以上であってもよく、それぞれが本開示の送信先ノードとして機能するものであってもよい。
【００８６】
また、第１ツール１３及び第２ツール１５は診断ツールであってもよいし、それ以外のツールであってもよい。また、車両に搭載されるＥＣＵが送信先ノードとして機能してもよい。
【００８７】
ＥＣＵ１７の機能は特に限定されず、様々なＥＣＵを送信先ＥＣＵとすることができる。もちろん、ＥＣＵ以外の制御装置を送信先ノードとしてもよい。
（２ｂ）第２送信部３２、第３送信部３３、第４送信部３４が送信するメッセージは、適宜組み合わせて、或いは個別に送信先ノードに送信することができる。上記実施形態では、応答済みメッセージと経過時間Ｔ１とを同時に送信する構成を例示したが、別々に送信してもよい。
【００８８】
（２ｃ）応答済みメッセージを受信した際に、変更部４２は、ＥＣＵ１７が応答待ちメッセージ未送信の場合の処理と、応答待ちメッセージ送信済みの場合の処理と、を切り替える構成を例示した。具体的には、再度の応答待ちメッセージを送信するタイミングを計測する閾値となる時間の変更と、要求メッセージが応答不要であっても応答待ちメッセージを送信したものとして応答メッセージを送信することと、を例示した。しかしながら、これら以外の処理を変更してもよい。
【００８９】
（２ｄ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００９０】
（２ｅ）上述した通信システム１の他、当該システムの構成要素であるゲートウェイ１１又はＥＣＵ１７、当該ゲートウェイ１１又はＥＣＵ１７としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００９１】
１…通信システム、１１…ゲートウェイ、１３…第１ツール、１５…第２ツール、１７…ＥＣＵ、３１…第１送信部、３２…第２送信部、３３…第３送信部、４２…変更部
【図１】
2019097116.tif 000003
【図２】
2019097116.tif 000004
【図３】
2019097116.tif 000005
【図４】
2019097116.tif 000006
【図５】
2019097116.tif 000007
【図６】
2019097116.tif 000008