(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024180067
(43)【公開日】2024-12-26
(54)【発明の名称】車載中継装置、中継方法および中継プログラム
(51)【国際特許分類】
H04L 12/46 20060101AFI20241219BHJP
H04L 12/28 20060101ALI20241219BHJP
B60R 16/023 20060101ALI20241219BHJP
【FI】
H04L12/46 E
H04L12/28 100A
B60R16/023 P
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023099499
(22)【出願日】2023-06-16
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】井上 和之
(72)【発明者】
【氏名】前田 英樹
(72)【発明者】
【氏名】松本 真
(72)【発明者】
【氏名】菊地 慶剛
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA01
5K033BA06
5K033CB06
5K033DB18
(57)【要約】
【課題】車載ネットワークのパケット伝送において安定したスループットを実現する。
【解決手段】車載中継装置は、パケットの送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部とを備え、前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットの要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
機能部間において送受信されるパケットを中継する車載中継装置であって、
前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、
前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部とを備え、
前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、
前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する、車載中継装置。
【請求項2】
前記設定部は、前記通信部が前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、前記車載中継装置と受信された前記パケットの中継先の前記機能部との間のスループットの目標値に基づいて、前記要求データサイズを決定し、
前記通信部は、前記応答処理において、前記設定部によって決定された前記要求データサイズを制御するための前記制御情報を前記送信元機能部へ通知する、請求項1に記載の車載中継装置。
【請求項3】
前記設定部は、前記通信部が前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、前記通信部が前記応答パケットを送信してから前記応答パケットに対する前記パケットを受信するまでの往復時間に基づいて、前記要求データサイズを算出する算出処理を行い、
前記通信部は、前記応答処理において、前記設定部によって算出された前記要求データサイズを制御するための前記制御情報を前記送信元機能部へ通知する、請求項1または請求項2に記載の車載中継装置。
【請求項4】
前記車載中継装置は、さらに、
前記往復時間を計測する計測部を備え、
前記設定部は、前記算出処理において、前記計測部によって計測された前記往復時間に基づいて、前記要求データサイズを算出する、請求項3に記載の車載中継装置。
【請求項5】
前記通信部は、複数の前記送信元機能部と通信を行い、
前記車載中継装置は、さらに、
前記送信元機能部の別に応じて前記往復時間を決定する往復時間決定部を備え、
前記設定部は、前記算出処理において、前記往復時間決定部によって決定された前記往復時間に基づいて、前記要求データサイズを算出する、請求項3に記載の車載中継装置。
【請求項6】
前記通信部は、複数の前記送信元機能部と通信を行い、
前記設定部は、前記通信部によって前記パケットが受信された場合、前記送信元機能部の別に応じて前記要求データサイズを決定し、
前記通信部は、前記応答処理において、前記設定部によって決定された前記要求データサイズを前記送信元機能部へ通知する、請求項1または請求項2に記載の車載中継装置。
【請求項7】
前記通信部は、前記応答処理において、前記応答パケットに含まれる確認応答番号を前記制御情報として前記送信元機能部へ通知する、請求項1または請求項2に記載の車載中継装置。
【請求項8】
前記送信元機能部は、前記車載中継装置を含む車載ネットワークの外部に設けられ、LANケーブルを介して前記車載中継装置と接続され、
前記通信部は、前記車載ネットワークに設けられた前記機能部へ前記パケットを中継する、請求項1または請求項2に記載の車載中継装置。
【請求項9】
機能部間において送受信されるパケットを中継する車載中継装置における中継方法であって、
前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定するステップと、
設定した前記ウィンドウサイズを前記送信元機能部へ通知するステップと、
前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行うステップとを含み、
前記ウィンドウサイズを設定するステップにおいて、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する、中継方法。
【請求項10】
機能部間において送受信されるパケットを中継する車載中継装置において用いられる中継プログラムであって、
コンピュータを、
前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、
前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部、
として機能させるためのプログラムであり、
前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、
前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する、中継プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載中継装置、中継方法および中継プログラムに関する。
【背景技術】
【0002】
従来、機能部間において送受信されるパケットを中継する車載中継装置が開発されている。たとえば、特許文献1(特開2015-147446号公報)には、以下のような車両制御装置が開示されている。すなわち、車両制御装置は、車両に搭載されネットワークによって接続される複数の単位車両制御装置を有し、少なくとも1つの単位車両制御装置に車両を識別する車両識別コードを記憶した車両制御装置であって、前記単位車両制御装置の夫々は通信を介して外部の診断装置とメッセージのやり取りを行うノードを備えており、前記夫々のノードの一つを代表ノードとし、前記代表ノードが有する固別識別情報を車両識別用情報として他のノードに転送、記憶させ、前記診断装置から前記夫々のノードに対して送信される車両識別要求メッセージに対して前記各ノードは、前記車両識別コードと前記各ノード自身に記憶された前記車両識別用情報を含む車両識別応答メッセージ、或いは前記車両識別コードを含まず前記各ノード自身に記憶された前記車両識別用情報を含む車両識別応答メッセージのいずれかを返信することを特徴とする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車載中継装置は、たとえば、パケットを中継先の機能部へ送信した後に、当該パケットの送信元の機能部に新たなパケットの送信を要求する場合がある。この場合、車載中継装置がパケットを中継先の機能部へ送信してから新たなパケットを送信元の機能部から受信するまでの空き時間が発生し、当該送信元の機能部と車載中継装置との間のスループットが低下または不安定となる可能性がある。車載ネットワークにおける限られたリソースの中で安定したスループットを実現することが可能な技術が望まれる。
【0005】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークのパケット伝送において安定したスループットを実現することが可能な車載中継装置、中継方法および中継プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の車載中継装置は、機能部間において送受信されるパケットを中継する車載中継装置であって、前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部とを備え、前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する。
【0007】
本開示の一態様は、このような特徴的な処理部を備える車載中継装置として実現され得るだけでなく、車載中継装置の一部または全部を実現する半導体集積回路として実現され得たり、車載中継装置を含むシステムとして実現され得る。
【発明の効果】
【0008】
本開示によれば、車載ネットワークのパケット伝送において安定したスループットを実現することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示の第1の実施の形態に係る通信システムの構成を示す図である。
【
図2】
図2は、本開示の第1の実施の形態に係る車載中継装置が診断装置との間で送受信するIPパケットの一例を示す図である。
【
図3】
図3は、本開示の第1の実施の形態に係る車載中継装置の構成を示す図である。
【
図4】
図4は、比較例の通信システムにおける診断装置および車載中継装置の処理のシーケンスの一例を示す図である。
【
図5】
図5は、本開示の第1の実施の形態に係る車載中継装置が保存する対応テーブルの一例を示す図である。
【
図6】
図6は、本開示の第1の実施の形態に係る通信システムにおける診断装置および車載中継装置の処理の一例を示すシーケンスである。
【
図7】
図7は、本開示の第1の実施の形態に係る通信システムにおける診断装置および車載中継装置の処理の他の例を示すシーケンスである。
【
図8】
図8は、本開示の第1の実施の形態に係る車載中継装置が保存する更新後の対応テーブルの一例を示す図である。
【
図9】
図9は、本開示の第1の実施の形態に係る車載中継装置が設定処理および応答処理を行う際の動作手順を定めたフローチャートである。
【
図10】
図10は、本開示の第1の実施の形態に係る通信システムの変形例の構成を示す図である。
【
図11】
図11は、本開示の第1の実施の形態に係る車載中継装置の変形例の構成を示す図である。
【
図12】
図12は、本開示の第1の実施の形態に係る車載中継装置の変形例が保存する更新後の対応テーブルの一例を示す図である。
【
図13】
図13は、本開示の第2の実施の形態に係る車載中継装置の構成を示す図である。
【
図14】
図14は、本開示の第2の実施の形態に係る車載中継装置が保存する対応テーブルの一例を示す図である。
【
図15】
図15は、本開示の第2の実施の形態に係る車載中継装置が設定処理および応答処理を行う際の動作手順を定めたフローチャートである。
【発明を実施するための形態】
【0010】
最初に、本開示の実施の形態の内容を列記して説明する。
(1)本開示の実施の形態に係る車載中継装置は、機能部間において送受信されるパケットを中継する車載中継装置であって、前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部とを備え、前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する。
【0011】
このように、パケットの送信元の機能部との通信接続を確立した場合、当該機能部に対して、応答処理において通知する要求データサイズより大きいウィンドウサイズを通知する構成により、中継先の機能部へ送信するパケットの単位時間あたりの数より大きい数のパケットを受信することができるため、要求した新たなパケットが送信元の機能部から到着するまでの期間において、受信済のパケットを中継先の機能部へ送信することができる。したがって、パケット伝送において安定したスループットを実現することができる。
【0012】
(2)上記(1)において、前記設定部は、前記通信部が前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、前記車載中継装置と受信された前記パケットの中継先の前記機能部との間のスループットの目標値に基づいて、前記要求データサイズを決定してもよく、前記通信部は、前記応答処理において、前記設定部によって決定された前記要求データサイズを制御するための前記制御情報を前記送信元機能部へ通知してもよい。
【0013】
このような構成により、車載中継装置と中継先の機能部との間のスループットの目標値に応じて、送信元の機能部へ通知する要求データサイズを調整することができるため、当該スループットを安定させ、かつ目標値に近づけることができる。
【0014】
(3)上記(1)または(2)において、前記設定部は、前記通信部が前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、前記通信部が前記応答パケットを送信してから前記応答パケットに対する前記パケットを受信するまでの往復時間に基づいて、前記要求データサイズを算出する算出処理を行ってもよく、前記通信部は、前記応答処理において、前記設定部によって算出された前記要求データサイズを制御するための前記制御情報を前記送信元機能部へ通知してもよい。
【0015】
このような構成により、車載中継装置および送信元の機能部間におけるパケットの往復時間に応じて、送信元の機能部へ通知する要求データサイズを調整することができるため、当該往復時間の大小を考慮した要求データサイズを送信元の機能部へ通知することができる。
【0016】
(4)上記(3)において、前記車載中継装置は、前記往復時間を計測する計測部を備えてもよく、前記設定部は、前記算出処理において、前記計測部によって計測された前記往復時間に基づいて、前記要求データサイズを算出してもよい。
【0017】
このような構成により、往復時間の実測値に基づく要求データサイズを送信元の機能部へ通知することができるため、車載ネットワークの負荷状況に応じたより正確な要求データサイズを送信元の機能部へ通知することができる。
【0018】
(5)上記(3)において、前記通信部は、複数の前記送信元機能部と通信を行ってもよく、前記車載中継装置は、さらに、前記送信元機能部の別に応じて前記往復時間を決定する往復時間決定部を備えてもよく、前記設定部は、前記算出処理において、前記往復時間決定部によって決定された前記往復時間に基づいて、前記要求データサイズを算出してもよい。
【0019】
このような構成により、送信元の機能部ごとの往復時間に応じた適切な要求データサイズを通知することができるため、各送信元の機能部からのパケットを中継先の機能部へ送信する場合においてより安定したスループットを実現することができる。
【0020】
(6)上記(1)または(2)において、前記通信部は、複数の前記送信元機能部と通信を行ってもよく、前記設定部は、前記通信部によって前記パケットが受信された場合、前記送信元機能部の別に応じて前記要求データサイズを決定してもよく、前記通信部は、前記応答処理において、前記設定部によって決定された前記要求データサイズを制御するための前記制御情報を前記送信元機能部へ通知してもよい。
【0021】
このような構成により、各送信元の機能部に対して適切な要求データサイズを通知することができるため、各送信元の機能部からのパケットを中継先の機能部へ送信する場合においてより安定したスループットを実現することができる。
【0022】
(7)上記(1)から(6)のいずれかにおいて、前記通信部は、前記応答処理において、前記応答パケットに含まれる確認応答番号を前記制御情報として前記送信元機能部へ通知する。
【0023】
このような構成により、既存の確認応答番号を利用した簡易な処理で要求データサイズを送信元の機能部へ通知することができる。
【0024】
(8)上記(1)から(7)のいずれかにおいて、前記送信元機能部は、前記車載中継装置を含む車載ネットワークの外部に設けられ、LANケーブルを介して前記車載中継装置と接続されてもよく、前記通信部は、前記車載ネットワークに設けられた前記機能部へ前記パケットを中継してもよい。
【0025】
このような構成により、たとえば車両の故障診断を行う場合において、診断用の装置が接続される車載ネットワークのパケット伝送において安定したスループットを実現することができる。
【0026】
(9)本開示の実施の形態に係る中継方法は、機能部間において送受信されるパケットを中継する車載中継装置における中継方法であって、前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットの単位時間あたりの数の最大値に相当するデータサイズであって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記データサイズであるウィンドウサイズを設定するステップと、設定した前記ウィンドウサイズを前記送信元機能部へ通知するステップと、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットの単位時間あたりの数に相当するデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行うステップとを含み、前記ウィンドウサイズを設定するステップにおいて、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する。
【0027】
このように、パケットの送信元の機能部との通信接続を確立した場合、当該機能部に対して、応答処理において通知する要求データサイズより大きいウィンドウサイズを通知する構成により、中継先の機能部へ送信するパケットの単位時間あたりの数より大きい数のパケットを受信することができるため、要求した新たなパケットが送信元の機能部から到着するまでの期間において、受信済のパケットを中継先の機能部へ送信することができる。したがって、パケット伝送において安定したスループットを実現することができる。
【0028】
(10)本開示の実施の形態に係る中継プログラムは、機能部間において送受信されるパケットを中継する車載中継装置において用いられる中継プログラムであって、コンピュータを、前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定する設定部と、前記設定部によって設定された前記ウィンドウサイズを前記送信元機能部へ通知する通信部、として機能させるためのプログラムであり、前記通信部は、前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、前記設定部は、前記ウィンドウサイズを前記要求データサイズより大きい値に設定する。
【0029】
このように、パケットの送信元の機能部との通信接続を確立した場合、当該機能部に対して、応答処理において通知する要求データサイズより大きいウィンドウサイズを通知する構成により、中継先の機能部へ送信するパケットの単位時間あたりの数より大きい数のパケットを受信することができるため、要求した新たなパケットが送信元の機能部から到着するまでの期間において、受信済のパケットを中継先の機能部へ送信することができる。したがって、パケット伝送において安定したスループットを実現することができる。
【0030】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0031】
<第1の実施の形態>
[通信システム]
図1は、本開示の第1の実施の形態に係る通信システムの構成を示す図である。
図1を参照して、通信システム501は、車載システム301と、診断装置201とを備える。車載システム301は、車両1に搭載される。診断装置201は、たとえば、ISO13400において規定される通信規格であるDoIP(Diagnostics over Internet Protocol)に従う診断ツールであり、車載システム301の故障診断を行う。診断装置201は、機能部の一例である。
【0032】
車載システム301は、車載中継装置101と、複数の車載機器202とを備える。車載機器202は、機能部の一例である。
【0033】
車載機器202は、自動運転ECU(Electronic Control Unit)、エンジンECU、ボディ制御ECU、TCU(Telematics Communication Unit)、センサ、ナビゲーション装置、ヒューマンマシンインターフェース、およびカメラ等である。
【0034】
図1に示す例では、車載システム301は、車載機器202である車載機器202A,202Bを備える。車載中継装置101および複数の車載機器202は、車載ネットワーク401を構成する。
【0035】
なお、車載システム301は、2つの車載機器202を備える構成に限らず、1つまたは3つ以上の車載機器202を備える構成であってもよい。
【0036】
車載中継装置101は、たとえばゲートウェイ装置である。車載中継装置101は、自己に接続される複数の車載機器202間のデータを中継可能である。
【0037】
各車載機器202は、たとえば、イーサネット(登録商標)ケーブル11を介して車載中継装置101と接続される。
【0038】
より詳細には、車載中継装置101は、複数の通信ポート51を備える。通信ポート51である通信ポート51A,51B,51Cは、たとえば、イーサネットケーブル11を接続可能な端子である。車載機器202A,202Bは、イーサネットケーブル11を介して通信ポート51A,51Bとそれぞれ接続される。
【0039】
なお、車載中継装置101は、イーサネットケーブル11を介して車載機器202と接続される構成に限らず、CAN(Controller Area Network)、CAN FD(CAN with Flexible Data Rate)、FlexRay(登録商標)、MOST(Media Oritend System Transport)(登録商標)、LIN(Local Interconnect Network)およびCXPI(Clock Extention Peripheral Interface)(登録商標)等の規格に従うバスを介して車載機器202と接続される構成であってもよい。
【0040】
また、車載中継装置101は、自己に接続される診断装置201および車載機器202間のデータを中継可能である。
【0041】
より詳細には、たとえば、診断装置201は、車載中継装置101を含む車載ネットワーク401の外部に設けられ、イーサネットケーブル等のLAN(Local Area Network)ケーブル12を介して車載中継装置101と接続される。
【0042】
具体的には、車載中継装置101における通信ポート51である通信ポート51Dは、たとえば、LANケーブル12を接続可能な端子である。診断装置201は、LANケーブル12を介して通信ポート51Dに接続される。
【0043】
なお、車載中継装置101は、4つの通信ポート51を備える構成に限らず、2つ、3つまたは5つ以上の通信ポート51を備える構成であってもよい。
【0044】
車載中継装置101および車載機器202、ならびに車載中継装置101および診断装置201では、たとえば、IPパケットを用いて情報のやり取りが行われる。IPパケットは、イーサネットフレームに格納されて伝送される。
【0045】
(TCPコネクション)
診断装置201は、コネクション型のプロトコルに従って、所定のメッセージをやり取りするための通信接続を確立することにより、車載中継装置101との間でメッセージを含むIPパケットの送受信を行う。
【0046】
図2は、本開示の第1の実施の形態に係る車載中継装置が診断装置との間で送受信するIPパケットの一例を示す図である。
【0047】
図2を参照して、診断装置201および車載中継装置101は、TCP(Transmission Control Protocol)/IPに従ってIPパケットの送受信を行う。診断装置201および車載中継装置101は、3ウェイハンドシェイクにより、TCP/IPに従う通信接続であるTCPコネクションを確立する。
【0048】
より詳細には、診断装置201は、TCPヘッダにおけるSYN(synchronize)フラグがオンにセットされたTCPパケットを含むIPパケット(以下、「SYNパケット」とも称する。)を作成し、作成したSYNパケットを車載中継装置101へ送信する。
【0049】
車載中継装置101は、診断装置201からSYNパケットを受信すると、TCPヘッダにおけるSYNフラグおよびACK(acknoledgement)フラグがオンにセットされたTCPパケットを含むIPパケット(以下、「SYN/ACKパケット」とも称する。)を作成し、作成したSYN/ACKパケットを含むIPパケットを診断装置201へ送信する。
【0050】
診断装置201は、車載中継装置101からSYN/ACKパケットを受信すると、TCPヘッダにおけるACKフラグがオンにセットされたTCPパケットを含むIPパケット(以下、「ACKパケット」とも称する。)を作成し、作成したACKパケットを車載中継装置101へ送信する。これにより、診断装置201と車載中継装置101とのTCPコネクションが確立される。
【0051】
また、診断装置201は、車載中継装置101とのTCPコネクションを終了する場合、TCPヘッダにおけるFIN(finish)フラグがオンにセットされたTCPパケットを含むIPパケット(以下、「FINパケット」とも称する。)を作成し、作成したFINパケットを車載中継装置101へ送信する。
【0052】
車載中継装置101は、診断装置201からFINパケットを受信すると、TCPヘッダにおけるFINフラグおよびACKフラグがオンにセットされたTCPパケットを含むIPパケット(以下、「FIN/ACKパケット」とも称する。)を作成し、作成したFIN/ACKパケットを診断装置201へ送信する。
【0053】
診断装置201は、車載中継装置101からFIN/ACKパケットを受信すると、ACKパケットを作成し、作成したACKパケットを車載中継装置101へ送信する。これにより、診断装置201と車載中継装置101とのTCPコネクションが終了する。
【0054】
診断装置201は、車載中継装置101とのTCPコネクションの接続期間Tcにおいて、1または複数のIPパケットを車載中継装置101経由で宛先の車載機器202へ送信する。
【0055】
具体的には、たとえば、診断装置201は、接続期間Tcにおいて、DoIPの規格に従うメッセージを含み、送信元IPアドレスおよび宛先IPアドレスとして、自己のIPアドレスおよび宛先の車載機器202のIPアドレスをそれぞれ含むIPパケット(以下、「DoIPパケット」とも称する。)を作成する。そして、診断装置201は、作成したDoIPパケットを車載中継装置101経由で宛先の車載機器202へ送信する。
【0056】
[車載中継装置]
図3は、本開示の第1の実施の形態に係る車載中継装置の構成を示す図である。
図3を参照して、車載中継装置101は、複数の通信ポート51と、中継部52と、処理部53と、記憶部54とを備える。中継部52は、バッファ55を含む。処理部53は、設定部61と、計測部62と、更新部63とを含む。中継部52および処理部53の一方または両方は、たとえば、1または複数のプロセッサを含む処理回路(Circuitry)により実現される。記憶部54は、たとえば上記処理回路に含まれる不揮発性メモリである。中継部52は、通信部の一例である。
【0057】
中継部52は、自己の車載中継装置101に接続される装置間において送受信されるデータを中継する中継処理を行う。
【0058】
より詳細には、中継部52は、たとえば、レイヤ2、およびレイヤ2よりも上位のレイヤ3に従って中継処理を行うことが可能である。
【0059】
具体的には、中継部52は、車載機器202間において送受信されるIPパケットを中継する。中継部52は、ある車載機器202からIPパケットを受信すると、受信したIPパケットを宛先の車載機器202へ送信する。
【0060】
また、中継部52は、診断装置201と車載機器202との間において送受信されるIPパケットを中継するパケット中継処理を行う。
【0061】
より詳細には、たとえば、中継部52は、診断装置201からDoIPパケットを受信すると、受信したDoIPパケットをバッファ55に保存するとともに、受信したDoIPパケットを含まれる宛先IPアドレスを変換する変換処理を行う。
【0062】
具体的には、たとえば、記憶部54は、IPアドレスとMAC(Media Access Control)アドレスとの対応関係を示すARP(Address Resolution Protocol)テーブルを記憶する。
【0063】
中継部52は、診断装置201からDoIPパケットを受信すると、記憶部54におけるARPテーブルを参照することにより、当該DoIPパケットに含まれる宛先IPアドレスに対応するMACアドレスを宛先MACアドレスとして特定する。
【0064】
記憶部54は、さらに、宛先MACアドレスと通信ポートとの対応関係を示すアドレステーブルTb10を記憶する。
【0065】
中継部52は、宛先MACアドレスを特定すると、記憶部54におけるアドレステーブルTb10を参照することにより、当該宛先MACアドレスに対応する通信ポート51を特定する。そして、中継部52は、バッファ55に保存されているDoIPパケットを、特定した通信ポート51から中継先の車載機器202へ送信する。
【0066】
車載機器202は、車載中継装置111からDoIPパケットを受信すると、受信したDoIPパケットに基づいて所定の処理を行う。たとえば、車載機器202は、診断装置201が故障診断を行うために必要なデータの取得を要求するメッセージがDoIPパケットに含まれている場合、当該データを取得する。
【0067】
[課題の説明]
図4は、比較例の通信システムにおける診断装置および車載中継装置の処理のシーケンスの一例を示す図である。
図4において、比較例に係る通信システムにおいて伝送されるDoIPパケットは、白抜きの長方形によって示されている。
【0068】
図4を参照して、まず、比較例の診断装置である診断装置211は、比較例の車載中継装置である車載中継装置111との通信接続が確立している状態において(ステップS1)、1個のDoIPパケットを車載中継装置111へ送信する(ステップS2)。
【0069】
次に、車載中継装置111は、診断装置211から受信したDoIPパケットに対して変換処理を行い、変換処理後のDoIPパケットを車載機器202へ送信する(ステップS3)。
【0070】
次に、車載中継装置111は、DoIPに従い、診断装置211にDoIPパケットの送信を要求するIPパケットである送信要求パケットを診断装置211へ送信する。
図4に示す例では、車載中継装置111は、1個のDoIPパケットの送信を要求する送信要求パケットを診断装置211へ送信する(ステップS4)。
【0071】
次に、診断装置211は、車載中継装置111から送信要求パケットを受信すると、1個のDoIPパケットを車載中継装置111へ送信する(ステップS5)。
【0072】
その後、同様にして、ステップS3からステップS5までの処理が繰り返される。そして、診断装置211および車載中継装置111は、TCPコネクションを終了する(ステップS6)。
【0073】
車載中継装置111は、送信要求パケットを診断装置211へ送信してから、DoIPパケットを診断装置211から受信するまで待機している。すなわち、比較例の通信システムでは、車載中継装置111が送信要求パケットを診断装置211へ送信してからDoIPパケットを診断装置211から受信するまでの期間は、車載中継装置111において、パケット中継処理および変換処理が行われていない空き時間である。そのため、比較例の通信システムでは、診断装置211と車載中継装置111との間のスループットが当該空き時間によって低下し、安定しない。
【0074】
そこで、本開示の実施の形態に係る車載中継装置101では、以下のような構成および動作により、上記課題を解決する。
【0075】
[車載中継装置の構成]
(設定処理)
再び
図3を参照して、車載中継装置101における設定部61は、パケットの送信元の機能部(以下、「送信元機能部」とも称する。)が車載中継装置101へ送信可能なDoIPパケットの単位時間あたりの数の最大値Mを設定する。より詳細には、設定部61は、送信元機能部と車載中継装置101との通信接続が確立された場合に当該送信元機能部へ通知する最大値Mを設定する設定処理を行う。中継部52は、設定部61によって設定された最大値Mを送信元機能部へ通知する。本開示の第1の実施の形態では、送信元機能部は、
図1に示す診断装置201であるとして説明する。
【0076】
より詳細には、中継部52は、上述したTCP/IPに従って、診断装置201との間でパケットの送受信を行う。
【0077】
設定部61は、中継部52により受信されたパケットを監視し、当該パケットのTCPヘッダを参照することにより、当該パケットの内容を確認する。
【0078】
設定部61は、中継部52により受信されたパケットがSYN/ACKパケットに対するACKパケットである場合、診断装置201と自己の車載中継装置101との通信接続が確立されたと判断する。
【0079】
ここで、中継部52は、診断装置201からDoIPパケットを受信した場合、DoIPパケットに対する応答パケットP2を診断装置201へ送信する応答処理を行う。応答パケットP2には、診断装置201に送信を要求するDoIPパケットのデータサイズの合計値(以下、「要求データサイズDr」とも称する。)が含まれる。
【0080】
具体的には、たとえば、中継部52は、応答処理において、要求データサイズDrに相当する、DoIPパケットの単位時間あたりの数(以下、「要求パケット数Nr」とも称する。)を応答パケットP2に含める。
【0081】
設定部61は、診断装置201と自己の車載中継装置101との通信接続が確立されたと判断すると、応答パケットP2に含まれる要求パケット数Nrの初期値を算出する。
【0082】
図5は、本開示の第1の実施の形態に係る車載中継装置が保存する対応テーブルの一例を示す図である。
【0083】
図5を参照して、記憶部54は、送信元機能部のID(Identifer)(以下、「送信元ID」とも称する。)と要求データサイズDrとの対応関係を示す対応テーブルTb1を記憶する。対応テーブルTb1は、たとえば、車両1の出荷時に、車両1の製造事業者によって記憶部54に登録される。
図5に示す「RTT」については、後述する。
【0084】
対応テーブルTb1において、送信元ID「該当なし」、および要求データサイズDr「Y0バイト」が初期値として登録されている。
【0085】
再び
図3を参照して、記憶部54は、さらに、診断装置201から送信されるDoIPパケットの1個あたりのデータサイズDsを記憶する。
【0086】
設定部61は、診断装置201と自己の車載中継装置101との通信接続が確立されたと判断すると、記憶部54に保存されている、対応テーブルTb1およびDoIPパケットの1個あたりのデータサイズDsを用いて、要求データサイズDr「Y0バイト」に相当する要求パケット数Nrを算出する。
【0087】
設定部61は、要求パケット数Nrを算出すると、設定処理において、最大値Mに相当するデータサイズであるTCPウィンドウサイズ(以下、単に「ウィンドウサイズ」とも称する。)を、算出した要求パケット数Nrに相当する要求データサイズDrより大きい値に設定する、すなわち要求パケット数Nrを最大値Mより小さい値に制限する。そして、設定部61は、設定したウィンドウサイズを中継部52へ通知する。
【0088】
中継部52は、設定部61からの通知を受けると、通知されたウィンドウサイズを含み、かつ送信元アドレスおよび宛先IPアドレスとして、自己の車載中継装置101のIPアドレスおよび診断装置201のIPアドレスをそれぞれ含むIPパケット(以下、「通知パケットP0」とも称する。)を作成する。そして、中継部52は、作成した通知パケットP0を診断装置201へ送信する。
【0089】
中継部52は、送信元機能部と自己の車載中継装置101との通信接続が確立された場合、当該送信元機能部から最大値Mに応じた数のDoIPパケット(以下、「パケットP10」とも称する。)を受信する。
【0090】
より詳細には、診断装置201は、車載中継装置101から通知パケットP0を受信すると、受信した通知パケットP0に含まれるウィンドウサイズに相当する数のパケットP10を車載中継装置101へ送信する。
【0091】
図6は、本開示の第1の実施の形態に係る通信システムにおける診断装置および車載中継装置の処理の一例を示すシーケンスである。
図6において、通信システム501において伝送されるDoIPパケットは、白抜きの長方形によって示されている。
【0092】
図6を参照して、まず、車載中継装置101は、診断装置201とのTCPコネクションが確立された場合(ステップS11)、最大値Mに相当するウィンドウサイズを含む通知パケットP0を診断装置201へ送信する。ここでは、通知パケットP0に含まれるウィンドウサイズは、「最大値M=3」に相当するウィンドウサイズであるとする(ステップS12)。
【0093】
次に、診断装置201は、車載中継装置101から通知パケットP0を受信すると、3個のパケットP10を車載中継装置101へ送信する(ステップS13)。
【0094】
次に、車載中継装置101は、診断装置201から3個のパケットP10を受信すると、受信した各パケットP10に対して変換処理を行い、変換処理後の3個のパケットP10をバッファ55に保存する。そして、車載中継装置101は、中継先の車載機器202との間のスループットThに応じて定まる数のDoIPパケットを当該車載機器202へ送信する。ここでは、車載中継装置101が中継先の車載機器202へ送信する、変換処理後のDoIPパケットの数は、1個であるとする。これにより、車載中継装置101のバッファ55に保存されているパケットP10の数は、2個となる(ステップS14)。なお、
図6に示すステップS15以降については、後述する。
【0095】
(要求データサイズの算出)
再び
図3を参照して、たとえば、設定部61は、中継部52が最大値Mの通知後に診断装置201からパケットP10を受信した場合、自己の車載中継装置101と受信されたパケットP10の中継先の車載機器202との間のスループットThの目標値Gに基づいて、要求データサイズDrを決定する。
【0096】
より詳細には、たとえば、設定部61は、スループットThの目標値Gと、中継部52が応答パケットP2を送信してから応答パケットP2に対するDoIPパケット(以下、「パケットP11」とも称する。)を受信するまでの往復時間とに基づいて、要求パケット数Nrを算出する算出処理を行う。以下、往復時間を「RTT」(Round Trip Time)とも称する。
【0097】
具体的には、たとえば、中継部52は、通知パケットP0を診断装置201へ送信すると、通知パケットP0を送信した旨を示す送信通知R0を計測部62へ出力する。
【0098】
計測部62は、RTTを計測する。たとえば、計測部62は、中継部52から送信通知R0を受けると、図示しないタイマを起動する。
【0099】
中継部52は、通知パケットP0に対するパケットP10を診断装置201から受信すると、パケットP10を受信した旨を示す受信通知R1を計測部62へ出力する。
【0100】
計測部62は、中継部52から受信通知R1を受けると、タイマを停止させる。そして、計測部62は、タイマが起動してから停止するまでの時間をRTTとして計測する。計測部62は、RTTを計測すると、記憶部54における対応テーブルTb1を読み出す。
【0101】
図5に示す対応テーブルTb1は、さらに、送信元IDとRTTとの対応関係を示す。対応テーブルTb1において、RTT「X0ミリ秒」が初期値として登録されている。
【0102】
計測部62は、対応テーブルTb1を参照することにより、計測したRTTと、対応テーブルTb1の示すRTTとが一致するか否かを確認する。
【0103】
計測部62は、計測したRTTと、対応テーブルTb1の示すRTTの初期値とが一致する場合、計測したRTTと当該初期値とが一致する旨、および計測したRTTを示す計測結果情報K1を設定部61へ出力する。
【0104】
一方、計測部62は、計測したRTTと、対応テーブルTb1の示すRTTの初期値とが異なる場合、計測したRTTと当該初期値とが異なる旨、および計測したRTTを示す計測結果情報K2を設定部61へ出力する。
【0105】
記憶部54は、さらに、スループットThの目標値Gを記憶する。目標値Gは、たとえば、車両1の出荷時に、車両1の製造事業者によって記憶部54に登録される。
【0106】
設定部61は、計測部62から計測結果情報K1または計測結果情報K2を受けると、算出処理において、計測部62から受けた計測結果情報K1または計測結果情報K2の示すRTTと、記憶部54に保存されている、スループットThの目標値Gとを乗算することにより、要求データサイズDrを算出する。
【0107】
そして、設定部61は、算出した要求データサイズDr、および記憶部54に保存されている、DoIPパケットの1個あたりのデータサイズDsを用いて、要求パケット数Nrを算出し、算出した要求パケット数Nrを中継部52へ出力する。また、設定部61は、計測部62からの計測結果情報K2を用いて要求データサイズDrを算出した場合、計測結果情報K2の示すRTTと、算出した要求データサイズDrとを含むテーブル更新情報T1を更新部63へ出力する。
【0108】
(要求データサイズの通知)
中継部52は、最大値Mの通知後に診断装置201からパケットP10を受信した場合、受信したパケットP10に対する応答パケットP2を診断装置201へ送信する応答処理を行う。たとえば、中継部52は、応答処理において、設定部61によって決定された要求データサイズDrを制御するための制御情報を診断装置201へ通知する。
【0109】
より詳細には、たとえば、中継部52は、応答処理において、応答パケットP2に含まれる確認応答番号(以下、「ACK番号」とも称する。)を制御情報として診断装置201へ通知する。
【0110】
具体的には、たとえば、中継部52は、応答処理において、応答パケットP2に含まれるACK番号を調整することにより、設定部61によって算出された要求パケット数Nrを診断装置201へ通知する。
【0111】
たとえば、中継部52は、設定部61から算出結果を受けると、診断装置201から受信したパケットP10に含まれるシーケンス番号に、当該算出結果の示す要求パケット数Nrを加算したACK番号を含む応答パケットP2を作成する。そして、中継部52は、作成した応答パケットP2を診断装置201へ送信する。
【0112】
診断装置201は、車載中継装置101から応答パケットP2を受信すると、受信した応答パケットP2に含まれるACK番号から、パケットP10に含まれるシーケンス番号を減算した数のパケットP11を車載中継装置101へ送信する。
【0113】
再び
図6を参照して、ステップS15以降の処理について説明する。車載中継装置101は、応答パケットP2を診断装置201へ送信する。
図6に示す例では、車載中継装置101は、通知パケットP0に対するパケットP10を受信すると(ステップS13)、診断装置201との間における往復時間であるRTT1を計測する。そして、車載中継装置101は、計測したRTT1、およびスループットThの目標値Gを乗算することにより、要求データサイズDrおよび要求パケット数Nrを算出する。ここでは、要求パケット数Nrが2個であるとする。この場合、車載中継装置101は、要求パケット数Nrが2個となるように調整したACK番号を含む応答パケットP2を診断装置201へ送信する(ステップS15)。
【0114】
次に、車載中継装置101は、変換処理後の1個のパケットP10を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP10の数は、1個となる(ステップS16)。
【0115】
次に、車載中継装置101は、変換処理後の1個のパケットP10を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP10の数は、ゼロ個となる(ステップS17)。
【0116】
次に、車載中継装置101は、応答パケットP2を送信してからRTT1経過後に、2個のパケットP11を診断装置201から受信する。そして、車載中継装置101は、受信した各パケットP11に対して変換処理を行い、変換処理後の2個のパケットP11をバッファ55に保存する(ステップS18)。
【0117】
次に、車載中継装置101は、要求パケット数Nrが2個となるように調整したシーケンス番号を含む応答パケットP2を診断装置201へ送信する(ステップS19)。
【0118】
次に、車載中継装置101は、変換処理後の1個のパケットP11を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP11の数は、1個となる(ステップS20)。
【0119】
次に、車載中継装置101は、変換処理後の1個のパケットP11を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP11の数は、ゼロ個となる(ステップS21)。
【0120】
その後、ステップS18からステップS21までと同様の処理が繰り返される。そして、診断装置201および車載中継装置101は、TCPコネクションを終了する(ステップS22)。
【0121】
図7は、本開示の第1の実施の形態に係る通信システムにおける診断装置および車載中継装置の処理の他の例を示すシーケンスである。
図7において、通信システム501において伝送されるDoIPパケットは、白抜きの長方形によって示されている。
【0122】
図7を参照して、ステップS31からステップS34までの処理は、
図6に示すステップS11からステップS14までの処理とそれぞれ同様である。
【0123】
次に、車載中継装置101は、応答パケットP2を診断装置201へ送信する。
図7に示す例では、車載中継装置101は、通知パケットP0に対するパケットP10を受信すると(ステップS33)、診断装置201との間における往復時間であるRTT2を計測し、要求データサイズDrを算出する。ここでは、RTT2は、
図6に示すRTT1より小さい値であるとする。この場合、たとえば、要求パケット数Nrは、
図6に示す「要求パケット数Nr=2」より小さい1個である。そのため、車載中継装置101は、要求パケット数Nrが1個となるように調整したACK番号を含む応答パケットP2を診断装置201へ送信する(ステップS35)。
【0124】
次に、車載中継装置101は、変換処理後の1個のパケットP10を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP10の数は、1個となる(ステップS36)。
【0125】
次に、車載中継装置101は、応答パケットP2を送信してからRTT2経過後に、1個のパケットP11を診断装置201から受信する。そして、車載中継装置101は、受信したパケットP11に対して変換処理を行い、変換処理後の1個のパケットP11をバッファ55に保存する。これにより、バッファ55には、1個のパケットP10および1個のパケットP11が保存される状態となる。すなわち、バッファ55に保存されているDoIPパケットの数は、2個となる(ステップS37)。
【0126】
次に、車載中継装置101は、変換処理後の1個の、パケットP10およびパケットP11のいずれか一方を中継先の車載機器202へ送信する。ここでは、車載中継装置101は、変換処理後の1個のパケットP10を中継先の車載機器202へ送信する。これにより、バッファ55に保存されているDoIPパケットの数は、パケットP11の1個となる(ステップS38)。
【0127】
次に、車載中継装置101は、要求パケット数Nrが1個となるように調整したACK番号を含む応答パケットP2を診断装置201へ送信する(ステップS39)。
【0128】
次に、車載中継装置101は、応答パケットP2を送信してからRTT2経過後に、1個のパケットP11を診断装置201から受信する。そして、車載中継装置101は、受信したパケットP11に対して変換処理を行い、変換処理後の1個のパケットP11をバッファ55に保存する。これにより、バッファ55に保存されているパケットP11の数は、2個となる(ステップS40)。
【0129】
次に、車載中継装置101は、変換処理後の1個のパケットP11を中継先の車載機器202へ送信する。これにより、車載中継装置101のバッファ55に保存されているパケットP11の数は、1個となる(ステップS41)。
【0130】
その後、ステップS39からステップS41までと同様の処理が繰り返される。そして、診断装置201および車載中継装置101は、TCPコネクションを終了する(ステップS42)。
【0131】
(テーブル更新処理)
たとえば、更新部63は、設定部61からテーブル更新情報T1を受けると、対応テーブルTb1を更新するテーブル更新処理を行う。
【0132】
より詳細には、更新部63は、設定部61からテーブル更新情報T1を受けた場合、診断装置201のIDの送信を要求する旨を示すID要求情報を中継部52へ出力する。
【0133】
記憶部54におけるARPテーブルは、さらに、送信元IDと、宛先IPアドレスとの対応関係を示す。
【0134】
中継部52は、更新部63からID要求情報を受けると、記憶部54におけるARPテーブルを参照することにより、バッファ55に保存されているDoIPパケットに含まれる宛先IPアドレスに対応する送信元IDを特定する。そして、中継部52は、特定した送信元IDを更新部63へ通知する。
【0135】
更新部63は、中継部52からの通知を受けると、記憶部54における対応テーブルTb1を読み出す。そして、更新部63は、対応テーブルTb1において、中継部52から通知された送信元ID、ならびに設定部61から受けたテーブル更新情報T1に含まれるRTTおよび要求データサイズDrを対応付けて登録する。
【0136】
図8は、本開示の第1の実施の形態に係る車載中継装置が保存する更新後の対応テーブルの一例を示す図である。
【0137】
図8を参照して、更新後の対応テーブルTb1において、送信元ID「ID-A」、RTT「X1ミリ秒」および要求データサイズ「Y1バイト」が対応付けて登録されている。
【0138】
(応答パケットP2に対するパケットP11を受信した場合)
たとえば、設定部61は、中継部52が応答パケットP2に対するパケットP11を受信した場合、更新後の対応テーブルTb1に基づいて、要求データサイズDrを決定する。
【0139】
より詳細には、たとえば、中継部52は、応答パケットP2の送信後にパケットP11を受信した場合、記憶部54におけるARPテーブルを参照することにより、受信したパケットP11に含まれる宛先IPアドレスに対応する送信元IDを特定し、特定した送信元IDを設定部61へ通知する。
【0140】
設定部61は、中継部52からの通知を受けると、記憶部54における対応テーブルTb1を読み出す。そして、設定部61は、対応テーブルTb1を参照することにより、中継部52から通知された送信元IDに対応する要求データサイズDrを特定する。
【0141】
そして、設定部61は、要求データサイズDrを特定すると、記憶部54に保存されている、DoIPパケットの1個あたりのデータサイズDsを用いて、特定した要求データサイズDrに相当する要求パケット数Nrを算出し、算出した要求パケット数Nrを中継部52へ通知する。
【0142】
なお、設定部61は、上記算出処理において、計測したRTT、およびスループットThの目標値Gを用いて要求パケット数Nrを算出した場合、算出結果を記憶部54に保存してもよい。この場合、設定部61は、中継部52からの通知を受けると、記憶部54に保存されている要求パケット数Nrを中継部52へ通知する。
【0143】
中継部52は、設定部61からの通知を受けると、応答処理において、通知された要求パケット数Nrを診断装置201へ通知する。
【0144】
[動作の流れ]
図9は、本開示の第1の実施の形態に係る車載中継装置が設定処理および応答処理を行う際の動作手順を定めたフローチャートである。
【0145】
図9を参照して、まず、車載中継装置101は、診断装置201とのTCPコネクションが確立すると(ステップS101においてYES)、診断装置201へ通知する最大値Mを設定する。たとえば、上述したように、車載中継装置101は、診断装置201が自己へ送信可能なDoIPパケットの単位時間あたりの数の最大値Mに相当するウィンドウサイズを設定する(ステップS102)。
【0146】
次に、車載中継装置101は、設定したウィンドウサイズを含む通知パケットP0を診断装置201へ送信する(ステップS103)。
【0147】
次に、車載中継装置101は、通知パケットP0に対する診断装置201からのパケットP10の到着を待ち受け(ステップS104においてNO)、パケットP10を受信すると(ステップS104においてYES)、RTTを計測する(ステップS105)。
【0148】
次に、車載中継装置101は、要求データサイズDrを算出する。たとえば、上述したように、車載中継装置101は、計測したRTTと、記憶部54に保存されているスループットThの目標値Gとを乗算することにより、要求データサイズDrを算出する(ステップS106)。
【0149】
次に、車載中継装置101は、RTTの計測結果と、記憶部54における対応テーブルTb1の示すRTTの初期値とが異なる場合(ステップS107においてYES)、対応テーブルTb1を更新するテーブル更新処理を行う。たとえば、上述したように、車載中継装置101は、対応テーブルTb1において、診断装置201の送信元IDと、計測したRTTと、算出した要求データサイズDrとを対応付けて登録する(ステップS108)
【0150】
次に、車載中継装置101は、テーブル更新処理を完了するか(ステップS108)、またはRTTの計測結果と、対応テーブルTb1の示すRTTの初期値とが同じである場合(ステップS107においてNO)、要求データサイズDrに基づく応答パケットP2を診断装置201へ送信する。たとえば、上述したように、車載中継装置101は、応答パケットP2に含まれるACK番号を調整することにより、算出した要求データサイズDrに相当する要求パケット数Nrを診断装置201へ通知する(ステップS109)。
【0151】
次に、車載中継装置101は、応答パケットP2に対するパケットP11の到着を待ち受ける(ステップS110においてNO)。
【0152】
そして、車載中継装置101は、応答パケットP2に対するパケットP11を診断装置201から受信すると(ステップS110においてYES)、要求データサイズDrに基づく応答パケットP2を診断装置201へ送信する(ステップS109)。
【0153】
車載中継装置101は、診断装置201とのTCPコネクションが終了した場合(ステップS111においてYES)、当該TCPコネクションが新たに確立されることを待ち受ける(ステップS101においてNO)。
【0154】
[変形例]
車載中継装置101は、複数の診断装置201と通信を行う場合、要求パケット数Nrを決定する以下のような処理を行う構成であってもよい。
【0155】
図10は、本開示の第1の実施の形態に係る通信システムの変形例の構成を示す図である。
図10を参照して、変形例では、通信システム501Aは、車載システム301と、複数の診断装置201である診断装置201A,201Bとを備える。以下、診断装置201A,201Bの送信元IDは、それぞれ「ID-A1」,「ID-A2」であるとする。送信元IDは、診断装置201ごとに固有のIDである。
【0156】
診断装置201A,201Bは、それぞれLANケーブル12A,12Bを介して車載中継装置101の通信ポート51C,51Dと接続される。なお、通信システム501Aは、2つの診断装置201を備える構成に限らず、3つ以上の診断装置201を備える構成であってもよい。
【0157】
図11は、本開示の第1の実施の形態に係る車載中継装置の変形例の構成を示す図である。
図11を参照して、車載中継装置101Aは、
図3に示す車載中継装置101と比べて、中継部52の代わりに中継部52Aを備える。また、車載中継装置101Aにおける処理部53は、
図3に示す車載中継装置101と比べて、更新部63の代わりに更新部63Aを含む。更新部63Aは、往復時間決定部の一例である。
【0158】
中継部52Aは、複数の診断装置201と通信を行う。より詳細には、たとえば、中継部52Aは、TCP/IPに従って、各診断装置201との間でパケットの送受信を行う。
【0159】
中継部52Aは、通知パケットP0に対するパケットP10を各診断装置201から受信すると、診断装置201の送信元IDを計測部62へ通知する。
【0160】
計測部62は、中継部52Aから上述の送信通知R0を受けてタイマを起動した後に、中継部52Aから受信通知R21を受けると、タイマを停止させる。
【0161】
そして、計測部62は、RTTを計測し、計測したRTTと、記憶部54における対応テーブルTb1の示すRTTの初期値とが一致するか否かを確認する。
【0162】
ここで、車載中継装置101と診断装置201Aとの間におけるRTT、および車載中継装置101と診断装置201Bとの間におけるRTTは、
図5に示す対応テーブルTb1の示すRTTの初期値「X0ミリ秒」と異なるものとする。
【0163】
計測部62は、計測したRTTと、対応テーブルTb1の示すRTTの初期値とが異なる場合、計測したRTTと当該初期値とが異なる旨と、計測したRTTと、中継部52Aから通知された送信元IDとを示す計測結果情報K21を設定部61へ出力する。
【0164】
設定部61は、計測部62からの計測結果情報K21を用いて要求パケット数Nrを算出した場合、計測結果情報K21の示す送信元IDおよびRTT、ならびに算出した要求パケット数Nrに相当する要求データサイズDrを含むテーブル更新情報T2を更新部63Aへ出力する。
【0165】
たとえば、更新部63Aは、診断装置201の別に応じてRTTを決定する。より詳細には、更新部63Aは、設定部61からテーブル更新情報T2を受けると、記憶部54における対応テーブルTb1を読み出す。そして、更新部63Aは、対応テーブルTb1において、テーブル更新情報T2に含まれる送信元ID、RTTおよび要求データサイズDrを対応付けて登録する。
【0166】
図12は、本開示の第1の実施の形態に係る車載中継装置の変形例が保存する更新後の対応テーブルの一例を示す図である。
【0167】
図12を参照して、変形例では、更新後の対応テーブルTb1において、送信元ID「ID-A1」、RTT「X1ミリ秒」および要求データサイズDr「Y1バイト」が対応付けて登録されている。送信元ID「ID-A2」、RTT「X2ミリ秒」および要求データサイズDr「Y2バイト」が対応付けて登録されている。
【0168】
更新部63Aは、テーブル更新処理を完了すると、テーブル更新処理を完了した旨を示す更新完了通知を設定部61へ出力する。
【0169】
再び
図3を参照して、設定部61は、算出処理において、更新部63Aによって決定されたRTTに基づいて、要求パケット数Nrを算出する。
【0170】
より詳細には、設定部61は、更新部63Aから更新完了通知を受け、かつ中継部52Aから送信元IDを受けると、記憶部54における対応テーブルTb1を読み出す。そして、設定部61は、対応テーブルTb1を参照することにより、中継部52Aから受けた送信元IDに対応する要求データサイズDrを特定する。
【0171】
そして、設定部61は、記憶部54に保存されている、DoIPパケットの1個あたりのデータサイズDsを用いて、特定した要求データサイズDrに相当する要求パケット数Nrを算出し、算出した要求パケット数Nrを中継部52Aへ出力する。
【0172】
なお、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101は、DoIPパケットの中継先の車載機器202とのスループットThの目標値G、および診断装置201との間におけるRTTに基づいて、要求データサイズDrを決定する構成であるとしたが、これに限定するものではない。車載中継装置101は、スループットThの目標値GおよびRTTのいずれか一方に基づいて、要求データサイズDrを決定する構成であってもよい。
【0173】
また、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101は、応答処理において、要求データサイズDrに相当する要求パケット数Nrを診断装置201へ通知する構成であるとしたが、これに限定するものではない。車載中継装置101は、応答処理において、要求データサイズDrを診断装置201へ通知する構成であってもよい。この場合、診断装置201は、DoIPパケットの1個あたりのデータサイズDsを記憶する。そして、診断装置201は、データサイズDsを用いて、車載中継装置101から通知された要求データサイズDrに相当する要求パケット数Nrを算出する。
【0174】
また、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101は、診断装置201との間におけるRTTを計測し、計測したRTTに基づいて、要求データサイズDrを算出する構成であるとしたが、これに限定するものではない。車載中継装置101において、RTTは、車両1の製造事業者によって予め記憶部54に登録される構成であってもよい。この場合、車載中継装置101は、RTTを計測せず、記憶部54に保存されているRTTに基づいて、要求データサイズDrを算出する。また、診断装置201の記憶部が、RTTを記憶する構成であってもよい。この場合、車載中継装置101は、RTTを計測せず、たとえば、自己と診断装置201との通信接続が確立されると、RTTを示す情報の送信を診断装置201に要求する。そして、車載中継装置101は、診断装置201から受信した当該情報に基づいて、要求データサイズDrを算出する。
【0175】
また、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101は、応答パケットP2に含まれる確認応答番号を制御情報として診断装置201へ通知する構成であるとしたが、これに限定するものではない。車載中継装置101は、要求パケット数Nrを応答パケットP2に含めて診断装置201へ送信する構成であってもよい。
【0176】
また、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101は、1つの診断装置201とTCPコネクションを確立し、算出した要求パケット数Nrを診断装置201へ通知する構成であるとしたが、これに限定するものではない。車載中継装置101は、複数の診断装置201とTCPコネクションを確立する場合、共通の要求パケット数Nrを各診断装置201へ通知する構成であってもよい。
【0177】
また、本開示の第1の実施の形態に係る通信システム501において、車載中継装置101における記憶部54は、車両1の製造事業者によって登録されたスループットThの目標値Gを記憶する構成であるとしたが、これに限定するものではない。車載中継装置101は、自己におけるリソースの状態、たとえば、バッファ55およびCPU(Central Processing Unit)の少なくともいずれか一方の使用率に応じて目標値Gを更新する構成であってもよい。
【0178】
次に、本開示の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0179】
<第2の実施の形態>
上述した本開示の第1の実施の形態では、車載中継装置101は、診断装置201からのIPパケットを車載機器202へ中継する構成において、設定処理および応答処理を行う。これに対して、本開示の第2の実施の形態では、車載中継装置102は、車載機器202からのIPパケットを診断装置201へ中継する構成において、設定処理および応答処理を行う。以下で説明する内容以外は第1の実施の形態に係る車載中継装置101と同様である。
【0180】
図13は、本開示の第2の実施の形態に係る車載中継装置の構成を示す図である。
図13を参照して、車載中継装置102は、
図3に示す車載中継装置101と比べて、中継部52の代わりに中継部252を備え、処理部53の代わりに処理部253を備える。処理部253は、
図3に示す処理部53と比べて、設定部61の代わりに設定部261を含む。中継部252および処理部253の一方または両方は、たとえば、1または複数のプロセッサを含む処理回路により実現される。記憶部54は、たとえば上記処理回路に含まれる不揮発性メモリである。
【0181】
中継部252は、複数の車載機器202と通信を行う。具体的には、たとえば、中継部252は、
図3に示す中継部52と同様に、TCP/IPに従って、各車載機器202との間でIPパケットの送受信を行う。
【0182】
車載機器202は、車載中継装置102とのTCPコネクションの接続期間Tcにおいて、故障診断において用いられる診断用情報を含み、かつ送信元IPアドレスおよび宛先IPアドレスとして、自己のIPアドレスおよび診断装置201のIPアドレスをそれぞれ含むIPパケット(以下、「パケットP31」とも称する。)を作成する。そして、車載機器202は、作成したパケットP31を車載中継装置102経由で診断装置201へ送信する。
【0183】
車載中継装置102において、中継部252は、車載機器202からパケットP31を受信すると、受信したパケットP31をバッファ55に保存するとともに、パケットP31を診断装置201へ送信する。
【0184】
記憶部54は、さらに、宛先IPアドレスと通信ポートとの対応関係を示すアドレステーブルTb20を記憶する。
【0185】
中継部252は、車載機器202からパケットP31を受信すると、記憶部54におけるアドレステーブルTb20を参照することにより、当該パケットP31に含まれる宛先IPアドレスに対応する通信ポート51を特定する。そして、中継部252は、車載機器202から受信したパケットP31を、特定した通信ポート51から診断装置201へ送信する。
【0186】
診断装置201は、車載中継装置102からパケットP31を受信すると、受信したパケットP31に基づいて所定の処理を行う。たとえば、診断装置201は、車載中継装置102から受信したパケットP31に含まれる診断用情報に基づいて、車載機器202の故障診断を行う。
【0187】
(設定処理)
車載中継装置101において、設定部261は、車載機器202と車載中継装置102との通信接続が確立された場合、最大値Mを設定する設定処理を行う。
【0188】
より詳細には、たとえば、設定部261は、中継部252によって受信されたIPパケットを監視し、車載機器202と自己の車載中継装置102との通信接続が確立されたと判断すると、送信元IDの送信を要求するID要求通知を中継部252へ出力する。
【0189】
中継部252は、設定部261からID要求通知を受けると、自己の車載中継装置102が車載機器202とTCPコネクションを確立する処理において受信したIPパケットに含まれる送信元IDを設定部261へ通知する。
【0190】
図14は、本開示の第2の実施の形態に係る車載中継装置が保存する対応テーブルの一例を示す図である。
【0191】
図14を参照して、記憶部54は、たとえば、送信元IDと要求データサイズとの対応関係を示す対応テーブルTb2を記憶する。
【0192】
対応テーブルTb2において、送信元ID「ID-B1」に対応する要求データサイズは「Z1バイト」である。送信元ID「ID-B2」に対応する要求データサイズは「Z2バイト」である。
【0193】
再び
図13を参照して、設定部261は、中継部252からの通知を受けると、記憶部54における対応テーブルTb2を参照することにより、中継部252から通知された送信元IDに対応する要求データサイズDrを特定する。
【0194】
そして、設定部261は、特定した要求データサイズDr、および記憶部54に保存されている、パケットP31の1個あたりのデータサイズDsに基づいて、当該要求データサイズDrに相当する要求パケット数Nrを算出する。
【0195】
設定部261は、要求パケット数Nrを算出した場合、設定処理において、算出した要求パケット数Nrより小さい値に最大値Mを設定する。そして、設定部261は、最大値Mに相当するウィンドウサイズを中継部252へ通知する。
【0196】
中継部252は、設定部261からの通知を受けると、通知されたウィンドウサイズを含み、かつ送信元アドレスおよび宛先IPアドレスとして、自己の車載中継装置102のIPアドレスおよび診断装置201のIPアドレスをそれぞれ含むIPパケット(以下、「通知パケットP30」とも称する。)を作成する。そして、中継部252は、作成した通知パケットP30を車載機器202へ送信する。
【0197】
車載機器202は、車載中継装置102から通知パケットP30を受信すると、受信した通知パケットP30に含まれるウィンドウサイズに相当する数のパケットP31を車載中継装置102へ送信する。
【0198】
(応答処理)
たとえば、設定部261は、中継部252によってパケットP31が受信された場合、車載機器202の別に応じて要求データサイズDrを決定する。
【0199】
より詳細には、記憶部54は、さらに、宛先IPアドレスと送信元IDとの対応関係を示すアドレステーブルTb20を記憶する。
【0200】
中継部252は、最大値Mに相当するウィンドウサイズの通知後に車載機器202からパケットP31を受信すると、記憶部54におけるアドレステーブルTb20を参照することにより、パケットP31に含まれる宛先IPアドレスに対応する送信元IDを特定し、特定した送信元IDを設定部261へ通知する。
【0201】
設定部261は、中継部252からの通知を受けると、記憶部54における対応テーブルTb2を参照することにより、中継部252から通知された送信元IDに対応する要求データサイズDrを特定する。
【0202】
そして、設定部261は、特定した要求データサイズDr、および記憶部54に保存されている、パケットP31の1個あたりのデータサイズDsに基づいて、当該要求データサイズDrに相当する要求パケット数Nrを算出する。そして、設定部261は、算出した要求パケット数Nrを中継部252へ通知する。
【0203】
なお、設定部261は、上記設定処理において、算出した要求パケット数Nrを記憶部54に保存してもよい。この場合、設定部261は、中継部252からの通知を受けると、記憶部54に保存されている要求パケット数Nrを中継部252へ通知する。
【0204】
たとえば、中継部252は、応答処理において、設定部261によって決定された要求パケット数Nrを送信元の車載機器202へ通知する。
【0205】
より詳細には、たとえば、中継部252は、設定部261からの通知を受けると、送信元の車載機器202からの直前のパケットP31に含まれるシーケンス番号に、設定部261から通知された要求パケット数Nrを加算したシーケンス番号を含む応答パケットP2を作成する。そして、中継部252は、作成した応答パケットP2を送信元の車載機器202へ送信する。
【0206】
[動作の流れ]
図15は、本開示の第2の実施の形態に係る車載中継装置が設定処理および応答処理を行う際の動作手順を定めたフローチャートである。ここでは、一例として、車載中継装置102が、車載機器202AからのパケットP31を診断装置201へ中継する場合において、設定処理および応答処理を行う際の動作手順について説明する。
【0207】
図15を参照して、まず、車載中継装置102は、車載機器202AとのTCPコネクションが確立すると(ステップS201においてYES)、パケットP31の送信元の車載機器202へ通知する最大値Mを設定する。たとえば、上述したように、車載中継装置101は、当該車載機器202が自己へ送信可能なパケットP31の単位時間あたりの数の最大値Mに相当するウィンドウサイズを設定する(ステップS202)。
【0208】
次に、車載中継装置102は、設定したウィンドウサイズを含む通知パケットP30を車載機器202Aへ送信する(ステップS203)。
【0209】
次に、車載中継装置102は、通知パケットP30に対する車載機器202AからのパケットP31の到着を待ち受け(ステップS204においてNO)、パケットP31を受信すると(ステップS204においてYES)、要求データサイズDrを決定する。たとえば、上述したように、車載中継装置102は、記憶部54における対応テーブルTb2を参照することにより、車載機器202Aの送信元IDに対応する要求データサイズDrを特定する(ステップS205)。
【0210】
次に、車載中継装置102は、決定した要求パケット数Nrに基づく応答パケットP2を車載機器202Aへ送信する。たとえば、上述したように、車載中継装置102は、応答パケットP2に含まれるACK番号を調整することにより、算出した要求データサイズDrに相当する要求パケット数Nrを車載機器202Aへ通知する(ステップS206)。
【0211】
次に、車載中継装置102は、車載中継装置102は、応答パケットP2に対するパケットP31の到着を待ち受ける(ステップS207においてNO)。
【0212】
そして、車載中継装置102は、応答パケットP2に対するパケットP31を車載機器202Aから受信すると(ステップS207においてYES)、要求データサイズDrに基づく応答パケットP2を車載機器202Aへ送信する(ステップS206)。
【0213】
車載中継装置102は、車載機器202AとのTCPコネクションが終了した場合(ステップS208においてYES)、当該TCPコネクションが新たに確立されることを待ち受ける(ステップS201においてNO)。
【0214】
なお、本開示の第2の実施の形態に係る車載システム301において、車載中継装置102は、車載機器202の別に応じて要求データサイズDrを決定し、決定した要求データサイズDrに相当する要求パケット数Nrを車載機器202へ通知する構成であるとしたが、これに限定するものではない。車載中継装置102は、共通の要求パケット数Nrを各車載機器202へ通知する構成であってもよい。
【0215】
また、本開示の第2の実施の形態に係る車載システムにおいて、車載中継装置102は、対応テーブルTb2に基づいて、要求データサイズDrを決定する構成であるとしたが、これに限定するものではない。車載中継装置102は、第1の実施の形態に係る車載中継装置101と同様に、車載機器202との間におけるRTTを計測し、計測したRTTおよびパケットP31の中継先の診断装置との間におけるスループットの目標値に基づいて、要求データサイズDrを決定する構成であってもよい。
【0216】
その他の構成および動作は第1の実施の形態に係る車載中継装置101と同様であるため、ここでは詳細な説明を繰り返さない。
【0217】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0218】
上述の実施形態の各処理(各機能)は、1または複数のプロセッサを含む処理回路により実現される。上記処理回路は、上記1または複数のプロセッサに加え、1または複数のメモリ、各種アナログ回路、各種デジタル回路が組み合わされた集積回路等で構成されてもよい。上記1または複数のメモリは、上記各処理を上記1または複数のプロセッサに実行させるプログラム(命令)を格納する。上記1または複数のプロセッサは、上記1または複数のメモリから読み出した上記プログラムに従い上記各処理を実行してもよいし、予め上記各処理を実行するように設計された論理回路に従って上記各処理を実行してもよい。上記プロセッサは、CPU、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、およびASIC(Application Specific Integrated Circuit)等、コンピュータの制御に適合する種々のプロセッサであってよい。なお、物理的に分離した上記複数のプロセッサが互いに協働して上記各処理を実行してもよい。たとえば、物理的に分離した複数のコンピュータのそれぞれに搭載された上記プロセッサがLAN(Local Area Network)、WAN(Wide Area Network)、およびインターネット等のネットワークを介して互いに協働して上記各処理を実行してもよい。上記プログラムは、外部のサーバ装置等から上記ネットワークを介して上記メモリにインストールされても構わないし、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、および半導体メモリ等の記録媒体に格納された状態で流通し、上記記録媒体から上記メモリにインストールされても構わない。
【0219】
以上の説明は、以下に付記する特徴を含む。
[付記1]
機能部間において送受信されるパケットを中継する車載中継装置であって、
処理回路を備え、
前記処理回路は、
前記パケットの送信元の前記機能部である送信元機能部が前記車載中継装置へ送信可能な前記パケットのデータサイズの最大値であって、前記送信元機能部と前記車載中継装置との通信接続が確立した場合に前記送信元機能部へ通知する前記最大値であるウィンドウサイズを設定し、
設定した前記ウィンドウサイズを前記送信元機能部へ通知し、
前記ウィンドウサイズの通知後に前記送信元機能部から前記パケットを受信した場合、受信した前記パケットに対する応答パケットに、前記送信元機能部に送信を要求する前記パケットのデータサイズである要求データサイズを制御するための制御情報を含めて前記送信元機能部へ送信する応答処理を行い、
前記ウィンドウサイズを前記要求データサイズより大きい値に設定する、車載中継装置。
【符号の説明】
【0220】
1 車両
11 イーサネットケーブル
12,12A,12B LANケーブル
51,51A,51B,51C,51D 通信ポート
52,52A,252 中継部
53,253 処理部
54 記憶部
61,261 設定部
62 計測部
63,63A 更新部
101,101A,102 車載中継装置
201,201A,201B 診断装置
202,202A,202B 車載機器
301 車載システム
401 車載ネットワーク
501,501A 通信システム