(57)【要約】【課題】診断装置に対する意図しないデータ提供を行わない車載制御装置を提供する。【解決手段】ＥＣＵ２０では、セッション制御部２０５は、通信履歴保持部２０７が保持している通信履歴とセッション状態とに基づいて、セッション状態を初期化するセッション初期化処理を実行する。【選択図】図２
2016094032.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されると共に複数の診断装置との間でデータ通信を行う車載制御装置であって、
前記複数の診断装置とのデータ通信が許可されるか否かを特定するセッション状態を保持するセッション保持部（２１０，２１０ａ，２１０ｎ，２１１，２１１ａ，２１１ｎ）と、
前記複数の診断装置とデータ通信を行った履歴である通信履歴を保持する通信履歴保持部（２０７）と、
前記複数の診断装置それぞれに対するデータ通信の可否を制御するセッション制御部（２０５）と、を備え、
前記セッション制御部は、
前記通信履歴保持部が保持している通信履歴と前記セッション保持部が保持しているセッション状態とに基づいて、前記セッション保持部が保持しているセッション状態を初期化するセッション初期化処理を実行することを特徴とする車載制御装置。
【請求項２】
前記セッション制御部は、
前記通信履歴保持部が保持している通信履歴が特定する第１診断装置と、前記データ通信を要求してきた第２診断装置とが異なる場合に、前記セッション初期化処理を実行することを特徴とする請求項１に記載の車載制御装置。
【請求項３】
前記複数の診断装置との間において前記データ通信が行われているか否かを示す通信状態を保持する通信状態保持部（２０８）を備え、
前記セッション制御部は、
前記通信状態保持部が保持している通信状態が通信中でない場合に、前記セッション初期化処理を実行することを特徴とする請求項２に記載の車載制御装置。
【請求項４】
前記複数の診断装置から送信される前記データ通信の要求について優先度を判定する優先判定部（２０４）を備え、
前記セッション制御部は、
前記通信状態保持部が保持している通信状態が通信中の場合に、前記優先判定部が判定した優先度に基づいて前記セッション初期化処理を実行することを特徴とする請求項３に記載の車載制御装置。
【請求項５】
前記セッション保持部（２１０ａ，２１０ｎ，２１１ａ，２１１ｎ）は、前記複数の診断装置それぞれに対して前記セッション状態を保持することを特徴とする請求項１から４のいずれか１項に記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されると共に複数の診断装置との間でデータ通信を行う車載制御装置に関する。
【背景技術】
【０００２】
車両に搭載されると共に複数の診断装置との間でデータ通信を行う車載制御装置としては、下記特許文献１に記載のものが一例として挙げられる。下記特許文献１に記載の車載制御装置（同文献内では、ＥＣＵ１〜ｍ）は、車両外のネットワークに接続された診断装置（同文献内では、ツール１〜ｎ）から送信される要求メッセージを、ゲートウェイ装置（同文献内では、ＤｏＩＰ１０１）を介して受信する。ゲートウェイ装置は、複数の診断装置から１つの車載制御装置に要求メッセージが送信された場合、動作干渉が起きないように要求メッセージの車載制御装置への送信をコントロールしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１２３９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記した従来の技術では、ゲートウェイ装置を設けているが、システム全体を簡素化するためにはゲートウェイ装置を設けないようにしなければならない事態も想定される。そこで、ゲートウェイ装置を設けずに、車載制御装置に対して複数の診断装置からアクセスが入った場合について本発明者らが検討を行った。
【０００５】
診断装置との間でダイアグ通信といったデータ通信を行う車載制御装置は、例えば診断データのやり取りに一定の制限を設けるため、セッション管理を行っている。このセッション管理は、診断装置と車載制御装置との間でデータ通信が許可されるか否かを定めるためのものであって、文字通りのセッション状態のみならず、セキュリティ状態もあわせてセッション管理とするものである。
【０００６】
初期状態では、セッション状態はデフォルトセッション、セキュリティ状態はロック状態となっており、これが別の状態に遷移することで診断装置と車載制御装置とのデータ通信が可能となる。例えば、第１診断装置からセッション要求メッセージが送信されると、車載制御装置はセッション状態をデフォルトセッションからノンデフォルトセッション（セッション＃１とする）の状態に遷移させ、セッション状態を遷移させた旨の応答メッセージを送信する。
【０００７】
その後更に第１診断装置からセキュリティ要求メッセージが送信されると、車載制御装置はセキュリティ状態をセキュリティロックからセキュリティアンロック（レベル＃１解除とする）の状態に遷移させ、セキュリティ状態を遷移させた旨の応答メッセージを送信する。
【０００８】
セッション状態がセッション＃１となり、セキュリティ状態がレベル＃１解除となったところで、診断装置から診断データの取得要求メッセージが送信されると、車載制御装置は診断データを応答メッセージとして送信する。車載診断装置は、その内容に関わらず応答メッセージを送信してから所定の時間内は、セッションタイマを有効にしてセッション状態及びセキュリティ状態を維持する。所定の時間が経過すると、セッションタイマを無効にしてセッション状態をデフォルトセッションとし、セキュリティ状態をセキュリティロック状態に戻す。
【０００９】
このタイミングで、第１診断装置とは異なる第２診断装置から、セッション要求メッセージが送信されずに、セッション＃１とセキュリティレベル＃１解除を必要とする診断データの取得要求メッセージが送信されると、セッション状態とセキュリティ状態の条件を満たさないため、その要求を拒否することができる。一方、第１診断装置に対して応答メッセージを送信してから所定の時間内に、第２診断装置から診断データ取得要求メッセージが送信されると、セッション状態はセッション＃１となり、セキュリティ状態はレベル＃１解除となったままなので、第２診断装置に対して診断データを提供してしまうことになる。
【００１０】
本発明はこのような課題に鑑みてなされたものであり、その目的は、診断装置に対する意図しないデータ提供を行わない車載制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る車載制御装置は、車両に搭載されると共に複数の診断装置との間でデータ通信を行う車載制御装置であって、前記複数の診断装置とのデータ通信が許可されるか否かを特定するセッション状態を保持するセッション保持部（２１０，２１０ａ，２１０ｎ，２１１，２１１ａ，２１１ｎ）と、前記複数の診断装置とデータ通信を行った履歴である通信履歴を保持する通信履歴保持部（２０７）と、前記複数の診断装置それぞれに対するデータ通信の可否を制御するセッション制御部（２０５）と、を備える。前記セッション制御部は、前記通信履歴保持部が保持している通信履歴と前記セッション保持部が保持しているセッション状態とに基づいて、前記セッション保持部が保持しているセッション状態を初期化するセッション初期化処理を実行する。
【００１２】
本発明では、通信履歴とセッション状態とに基づいてセッション状態を初期化するので、複数の診断装置とのデータ通信の履歴と複数の診断装置とのデータ通信の諾否とを反映させて、診断装置に無条件でデータ通信を許可すべきではない場面において的確にセッション状態を初期化することができる。
【発明の効果】
【００１３】
本発明によれば、診断装置に対する意図しないデータ提供を行わない車載制御装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態であるＥＣＵを含む車載制御システムの構成を示すブロック図である。
【図２】本発明の第１実施形態であるＥＣＵの機能的な構成を示すブロック図である。
【図３】図２に示すＥＣＵの動作を説明するためのフローチャートである。
【図４】図２に示すＥＣＵのセッションタイマ処理を説明するためのフローチャートである。
【図５】図２に示すＥＣＵのセッション初期化処理を説明するためのフローチャートである。
【図６】図３に示すダイアグメッセージ優先度判定処理を説明するためのフローチャートである。
【図７】図２に示すＥＣＵの動作を説明するためのシーケンス図である。
【図８】図２に示すＥＣＵの動作を説明するためのシーケンス図である。
【図９】本発明の第２実施形態であるＥＣＵを含む車載制御システムの構成を示すブロック図である。
【図１０】図９に示すＥＣＵの動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【００１６】
本発明の第１実施形態に係るＥＣＵ（車載制御装置）が用いられる車載制御システムの構成について、図１を参照しながら説明する。車載制御システム１０は、ＥＣＵ２０と、ＥＣＵ２１と、中継装置２２と、診断装置２３と、バス２４と、コネクタ２５と、を備えている。ＥＣＵ２０と、ＥＣＵ２１と、中継装置２２と、診断装置２３とは、それぞれがバス２４に繋がれており、バス２４を介して相互にデータ通信可能なように構成されている。
【００１７】
ＥＣＵ２０及びＥＣＵ２１は、ともに車載制御装置であって、それぞれが独立して別の制御動作を行うものである。診断装置２３は、車載制御システム１０に設けられている診断装置であって、ＥＣＵ２０及びＥＣＵ２１といわゆるダイアグ通信を行うことで、車両内の故障診断等を行っている。
【００１８】
中継装置２２は、ゲートウェイ装置であって、外部ネットワーク上に設けられている診断装置３０とのデータ通信を行うための装置である。中継装置２２は、車載制御システム１０内と診断装置３０との間で、プロトコル変換を行ってデータの送受信を可能なものとしている。コネクタ２５は、バス２４に診断装置４０を接続するためのコネクタである。
【００１９】
上述したような構成とすることで、車載制御システム１０は、複数の診断装置２３，３０，４０と、ＥＣＵ２０，２１との間でデータ通信可能なように構成されている。
【００２０】
続いて、車載制御装置であるＥＣＵ２０及びＥＣＵ２１について、ＥＣＵ２０を例にとって図２を参照しながら説明する。図２に示されるように、ＥＣＵ２０は、通信プロトコル処理部２０１と、通信処理部２０２と、受信処理部２０３と、優先判定部２０４と、セッション制御部２０５と、セッションタイマ計測部２０６と、通信履歴保持部２０７と、通信状態保持部２０８と、診断サービス部２０９と、セキュリティ状態保持部２１０（セッション保持部）と、セッション状態保持部２１１（セッション保持部）と、応答処理部２１２と、を備えている。
【００２１】
通信プロトコル処理部２０１は、バス２４との間でデータの授受を行う部分である。通信プロトコル処理部２０１は、ルーティング情報やプロトコル情報といった情報に基づいてプロトコル処理をし、バス２４から受け取ったデータを通信処理部２０２に出力し、通信処理部２０２から出力されたデータをバス２４に送り出す。
【００２２】
通信処理部２０２は、診断処理に関するダイアグメッセージ（セッション要求メッセージ、セッション応答メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＳＥＥＤ応答）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、セキュリティアクセス（セキュリティ解除）メッセージ、診断データ要求メッセージ、診断データ応答メッセージ）を処理する部分である。通信処理部２０２は、通信プロトコル処理部２０１から受け取ったプロトコルデータからダイアグメッセージを構成して受信処理部２０３に出力し、応答処理部２１２から受け取ったダイアグメッセージをプロトコルデータに分解し通信プロトコル処理部２０１に出力する。
【００２３】
受信処理部２０３は、診断処理に関するダイアグメッセージであって、受信したダイアグメッセージ（セッション要求メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、診断データ要求メッセージ）を処理する部分である。受信処理部２０３は、優先判定部２０４及びセッション制御部２０５に受信したダイアグメッセージを出力する。受信処理部２０３は、通信履歴保持部２０７及び通信状態保持部２０８との間で情報の授受を行う。
【００２４】
優先判定部２０４は、受信したダイアグメッセージの優先度を判定して処理する部分である。優先判定部２０４の処理の詳細については後述する。優先判定部２０４は、受信したダイアグメッセージの優先度判定結果をセッション制御部２０５に出力する。
【００２５】
セッション制御部２０５は、診断装置２３、診断装置３０、及び診断装置４０それぞれに対するダイアグメッセージの通信可否（データ通信可否）を制御する部分である。セッション制御部２０５は、受信処理部２０３からダイアグメッセージを受け取ると、セッションタイマ計測部２０６にセッションタイマを停止するための情報を出力する。セッション制御部２０５は、通信履歴保持部２０７、セキュリティ状態保持部２１０及びセッション状態保持部２１１と情報の授受を行い必要に応じてセッション状態を更新したり、初期化したりといった処理を行う。
【００２６】
セッション制御部２０５は、受信したダイアグメッセージ（セッション要求メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、診断データ要求メッセージ）及びセッション状態を診断サービス部２０９に出力する。セッション制御部２０５の処理の詳細については後述する。
【００２７】
診断サービス部２０９は、セッション制御部２０５から出力されるダイアグメッセージ及びセッション状態に基づいて、必要に応じて診断データ２０９ａを読み出して応答処理部２１２に出力する。
【００２８】
応答処理部２１２は、診断処理に関するダイアグメッセージであって、送信するダイアグメッセージ（セッション応答メッセージ、セキュリティアクセス（ＳＥＥＤ応答）メッセージ、セキュリティアクセス（セキュリティ解除）メッセージ、診断データ応答メッセージ）を処理する部分である。応答処理部２１２は、通信処理部２０２に送信するダイアグメッセージを出力し、必要に応じセッションタイマを開始する。
【００２９】
続いて、図３を参照しながら、ＥＣＵ２０の各部の情報処理について説明する。プログラムが起動されると、ステップＳ００１では、セッション制御部２０５が、ダイアグメッセージ（セッション要求メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、診断データ要求メッセージ）を受信したかどうかを判断する。ダイアグメッセージを受信していなければステップＳ００２の処理に進み、ダイアグメッセージを受信していればステップＳ００３の処理に進む。ステップＳ００２では、一定時間の経過を待った後、ステップＳ００１の処理に戻る。
【００３０】
ステップＳ００３では、セッションタイマを停止するように、セッション制御部２０５からセッションタイマ計測部２０６に指示信号が出力される。本実施形態ではセッションタイマは５秒に設定されており、所定の条件を満たしてセッションタイマが開始されてから５秒経過の間にセッションタイマ停止の処理がなされなければ、セッション初期化処理を実行するように構成されている。
【００３１】
ここで、図４を参照しながらセッションタイマ処理について説明する。ステップＳ３０１では、セッション制御部２０５が、セッションタイマ計測部２０６の計測が所定時間（５秒）を超過し、セッションタイマがタイムアウトになっているか否かを判断する。セッションタイマがタイムアウトになっていなければ、セッションタイマ処理は終了する。
【００３２】
セッションタイマがタイムアウトになっていれば、セッション制御部２０５は、通信履歴保持部２０７が保持する通信履歴をクリアさせる（ステップＳ３０２）。ステップＳ３０２に続くステップＳ３０３では、セッション初期化処理を実行する。
【００３３】
続いて、図５を参照しながらセッション初期化処理について説明する。図４に示されるように、ステップＳ２０１では、セッション状態保持部２１１に保持されたセッション状態を初期化（例えば、デフォルトセッション化）する。ステップＳ２０１に続くステップＳ２０２では、セキュリティ状態保持部２１０に保持されたセキュリティ状態を初期化（例えば、セキリティロック）する。セッション状態保持部２１１及びセキュリティ状態保持部２１０へは、セッション制御部２０５から指示信号が出力される。
【００３４】
図３に戻って説明を続ける。ステップＳ００３に続くステップＳ００４では、セッション制御部２０５が、ダイアグ通信中であるか否かを判断する。ダイアグ通信中であるか否かの判断について説明するため、図７及び図８を参照する。
【００３５】
図７及び図８は、第１診断装置（図１に示す車載制御システム１０では、診断装置２３に相当する、ＮｏｄｅＩＤ＃０１）と、第２診断装置（図１に示す車載制御システム１０では、診断装置３０に相当する、ＮｏｄｅＩＤ＃０２）と、ＥＣＵ２０とのデータ通信の１つのパターンを示したシーケンス図である。それらのデータ通信と対応させて、セッション状態、セキュリティ状態、及び診断装置との通信履歴を示している。
【００３６】
図７及び図８は、上述したようにいずれも第１診断装置及び第２診断装置とＥＣＵ２０とのデータ通信を示すシーケンス図であるけれども、ダイアグ通信のタイミングが異なった例を示している。図７は、第１診断装置のダイアグ通信が完了してからセッションタイマがタイムアウトする前に、第２診断装置から診断データ要求メッセージが送信された場合を示している。図８は、第１診断装置のダイアグ通信が完了する前であって、ＥＣＵ２０が診断データの提供処理を行っている途中に、第２診断装置からセッション要求メッセージが送信された場合を示している。
【００３７】
上述したステップＳ００１では、図７及び図８に示されるようなダイアグメッセージ（セッション要求メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、診断データ要求メッセージ）の受信があるかどうかを判断している。従って、図７及び図８に示される例においては、ステップＳ００１では「Ｙｅｓ」の判断となる。
【００３８】
ステップＳ００４では、現時点においてＥＣＵ２０がダイアグメッセージを受信してから、ダイアグ応答メッセージを送信するまでの間の状態にあるかどうかを判断している。例えば、図７に示される状態では、第２診断装置からＥＣＵ２０に診断データ要求メッセージが送信されたのが、ＥＣＵ２０から第１診断装置へ診断データ応答メッセージ送信された後なので、「Ｎｏ」の判断となる。
【００３９】
一方、例えば図８に示される状態では、第２診断装置からＥＣＵ２０にセッション要求メッセージが送信されたのが、ＥＣＵ２０から第１診断装置へ診断データ応答メッセージ送信される前なので、「Ｙｅｓ」の判断となる。ダイアグ通信中であると判断されればステップＳ００５の処理に進み、ダイアグ通信中ではないと判断されればステップＳ００６の処理に進む。
【００４０】
ステップＳ００５では、優先判定部２０４が、受信したダイアグメッセージの優先度が高いか否かを判断する。このダイアグメッセージ優先度判定について、図６を参照しながら説明する。
【００４１】
ステップＳ４０１では、優先判定部２０４が、通信中の診断装置のＮｏｄｅＩＤと、受信したダイアグメッセージを発信した診断装置のＮｏｄｅＩＤに基づいて、両者の優先度を比較する。優先判定部２０４は、受信したダイアグメッセージを送信した診断装置のＮｏｄｅＩＤの優先度が高く設定されていればステップＳ４０３の処理に進み、受信したダイアグメッセージを送信した診断装置のＮｏｄｅＩＤの優先度が低く設定されていればステップＳ４０５の処理に進み、双方の優先度が同じであればステップＳ４０２の処理に進む。
【００４２】
ステップＳ４０２では、優先判定部２０４が、通信中の診断装置から受信したダイアグメッセージのＳＩＤ（Ｓｅｒｖｉｃｅ  Ｉｄｅｎｔｉｆｉｅｒ：診断サービスを示すＩＤ）と、受信したダイアグメッセージのＳＩＤとを比較し、それぞれのメッセージが法規ＳＩＤを有するか非法規ＳＩＤを有するかを判断する。法規ＳＩＤを有していれば、そのダイアグメッセージが法規に基づく優先度の高いものであると判断される。
【００４３】
優先判定部２０４は、非法規ＳＩＤを有するダイアグメッセージの受信中に法規ＳＩＤを有するダイアグメッセージを受信した場合には、ステップＳ４０３の処理に進む。法規ＳＩＤを有するダイアグメッセージの受信中に非法規ＳＩＤを有するダイアグメッセージを受信した場合には、優先判定部２０４はステップＳ４０５の処理に進む。法規ＳＩＤを有するダイアグメッセージの受信中に法規ＳＩＤを有するダイアグメッセージを受信した場合、及び非法規ＳＩＤを有するダイアグメッセージの受信中に非法規ＳＩＤを有するダイアグメッセージを受信した場合には、優先判定部２０４はステップＳ４０４の処理に進む。
【００４４】
ステップＳ４０４では、ステップＳ４０１及びステップＳ４０２の判断で両者に優先度の差異がつけられなかったため、優先判定部２０４は、同じ優先度のダイアグメッセージを受信した場合の判定基準で優先度をつける処理を行う。例えば、先に受信している診断装置を優先させるというコンフィギュレーションであれば、優先判定部２０４は、先に受信しているダイアグメッセージの優先度が高いものと判断し、ステップＳ４０５の処理に進む。一方、後から受信している診断装置を優先させるというコンフィギュレーションであれば、優先判定部２０４は、後から受信したダイアグメッセージの優先度が高いものと判断し、ステップＳ４０３の処理に進む。
【００４５】
ステップＳ４０３では、優先判定部２０４は受信したダイアグメッセージの優先度を高いものと判断してセッション制御部２０５にその判断結果を出力し、ダイアグメッセージの優先度判定処理を終了させ、図３のステップＳ００９の処理に進む。ステップＳ４０５では、優先判定部２０４は受信したダイアグメッセージの優先度を低いものと判断してセッション制御部２０５にその判断結果を出力し、ダイアグメッセージの優先度判定処理を終了させ、図３のステップＳ００９の処理に進む。
【００４６】
ステップＳ００９では、ダイアグメッセージの優先度判定処理の結果に基づいて、セッション制御部２０５が受信したダイアグメッセージの優先度が高いか否かを判断する。受信したダイアグメッセージの優先度が高ければステップＳ０１１の処理に進み、受信したダイアグメッセージの優先度が低ければステップＳ０１０の処理に進む。図８に示されたシーケンス図の例では、後からダイアグメッセージを送信した第２診断装置の優先度が高くなっているので、ステップＳ００９の判断結果は「Ｙｅｓ」となる。
【００４７】
ステップＳ０１０では、受信したダイアグメッセージの優先度が低いため、セッション制御部２０５は、この処理フローでの処理を行わずそのダイアグメッセージを破棄する。
【００４８】
ステップＳ０１１では、セッション制御部２０５が実行診断装置切替処理を行う。これは、実行中の診断サービス処理を終了させる処理であって、セッション制御部２０５から診断サービス処理を終了させるように診断サービス部２０９に指示信号を出力する。ステップＳ０１１に続くステップＳ０１２では、セッション状態保持部２１１及びセキュリティ状態保持部２１０が、セッション初期化処理を行う（図５を参照しながらした上述の説明参照）。
【００４９】
図８に示されたシーケンス図の例では、ステップＳ００９の判断結果が「Ｙｅｓ」となり、ステップＳ０１１及びステップＳ０１２の処理が実行される。その結果、第２診断装置から送信されるダイアグメッセージ（セッション要求メッセージ、セキュリティアクセス（ＳＥＥＤ要求）メッセージ、セキュリティアクセス（ＫＥＹ要求）メッセージ、診断データ要求メッセージ）に基づく処理が実行される。
【００５０】
図３に戻って説明を続ける。ステップＳ００４の判断で、セッション制御部２０５がダイアグ通信中ではないと判断するとステップＳ００６の処理に進み、通信履歴があるか否かを判断する。より具体的には、通信履歴保持部２０７が、通信履歴を保持している診断装置があるか否かを、セッション制御部２０５が判断する。
【００５１】
通信履歴保持部２０７がいずれの診断装置の通信履歴も保持していなければ、セッション制御部２０５は、ダイアグ通信中ではないものの（ステップＳ００４の判断結果）、他に通信中の診断装置も無いものと判断する。通信履歴保持部２０７がいずれの診断装置の通信履歴も保持していなければステップＳ０１３の処理に進み、通信履歴保持部２０７がいずれかの診断装置の通信履歴を保持していれば、ステップＳ００７の処理に進む。図７に示されたシーケンス図の例では、ステップＳ００６の判断結果は「Ｙｅｓ」となる。
【００５２】
ステップＳ００７では、セッション制御部２０５が、受信したダイアグメッセージのＮｏｄｅＩＤ（送信元である診断装置のＮｏｄｅＩＤ）と、通信履歴にあるダイアグメッセージのＮｏｄｅＩＤ（送信元である診断装置のＮｏｄｅＩＤ）とを比較し、同じＮｏｄｅＩＤであるか否かを判断する。同じＮｏｄｅＩＤであれば、セッション制御部２０５は、同じ診断装置から連続してダイアグメッセージが送信されたものと判断する。
【００５３】
セッション制御部２０５は、受信したダイアグメッセージのＮｏｄｅＩＤと、通信履歴にあるダイアグメッセージのＮｏｄｅＩＤとを比較し、同じＮｏｄｅＩＤであればステップＳ０１３の処理に進み、違うＮｏｄｅＩＤであればステップＳ００８の処理に進む。図７に示されたシーケンス図の例では、ステップＳ００７の判断結果は「Ｎｏ」となる。
【００５４】
ステップＳ００８では、セッション制御部２０５は、既に図４を参照しながら説明したセッション初期化処理を行い、ステップＳ０１３の処理に進む。図７に示されたシーケンス図の例では、このステップＳ００８の処理がなされ、セッション状態及びセキュリティ状態が初期化されるため、セッション要求を伴わない第２診断装置からの診断データ要求メッセージには否定応答のメッセージが送信される。
【００５５】
ステップＳ０１３では、通信履歴保持部２０７が、ダイアグメッセージを現に受信した診断装置のＮｏｄｅＩＤを記憶する。例えば、ＮｏｄｅＩＤが＃１である診断装置２３からダイアグメッセージを受信していたところ、ステップＳ００１からステップＳ００９の処理によってＮｏｄｅＩＤが＃２である診断装置３０からのダイアグメッセージを処理することになれば、通信履歴保持部２０７は通信履歴のＮｏｄｅＩＤを＃１から＃２に書き換える処理を行う。
【００５６】
ステップＳ０１４では、診断サービス部２０９が診断サービスを実行する。一例としては、診断サービス部２０９は、診断データ２０９ａから適合する診断データを取得し、診断装置に送信する準備を実行する。ステップＳ０１４に続くステップＳ０１５では、応答処理部２１２が診断データを応答用のダイアグメッセージ（診断データ応答メッセージ）として送信する。応答処理部２１２が応答用のダイアグメッセージを送信した情報はセッションタイマ計測部２０６に伝達され、セッションタイマ計測部２０６はセッションタイマの計測が必要なセッションであれば、セッションタイマのカウントを開始する（ステップＳ０１６）。
【００５７】
上述した第１実施形態では、セッション状態保持部２１１及びセキュリティ状態保持部２１０をそれぞれ１つ設け、保持するセッション状態及びセキュリティ状態をそれぞれ単一のものとし、ダイアグメッセージの送受信に連動させることで、狙いとするダイアグメッセージの送受信を可能なものとしている。しかしながら、セッション状態やセキュリティ状態を、診断装置の数に応じて複数保持することができれば、目的とするダイアグメッセージの的確な送受信（意図しない診断装置にダイアグメッセージを提供しない）を実現することができる。
【００５８】
図９は、第２実施形態のＥＣＵ２０Ａの機能的な構成を示すブロック構成図である。図９に示されるように、対象となる診断装置の数に応じて、セッション状態保持部２１１ａ〜２１１ｎが設けられ、セキュリティ状態保持部２１０ａ〜２１０ｎが設けられている。
【００５９】
このようにそれぞれ複数のセッション状態保持部２１１ａ〜２１１ｎ及びセキュリティ状態保持部２１０ａ〜２１０ｎを設けることで、図１０に示されるように、それぞれの診断装置に最適化されたセッション状態及びセキュリティ状態を保持することができ、ＥＣＵ２０Ａは、第１診断装置である診断装置２３から診断データの取得要求が送信された場合も、第２診断装置である診断装置３０から診断データの取得要求が送信された場合も、それぞれのセッション状態及びセキュリティ状態に応じた対応をとることができる。
【符号の説明】
【００６０】
２０，２０Ａ：ＥＣＵ（車載制御装置）
２０４：優先判定部
２０５：セッション制御部
２０７：通信履歴保持部
２０８：通信状態保持部
２１０，２１０ａ，２１０ｎ：セッション状態保持部（セッション保持部）
２１１，２１１ａ，２１１ｎ：セキュリティ状態保持部（セッション保持部）
【図１】
2016094032.tif 000003
【図２】
2016094032.tif 000004
【図３】
2016094032.tif 000005
【図４】
2016094032.tif 000006
【図５】
2016094032.tif 000007
【図６】
2016094032.tif 000008
【図７】
2016094032.tif 000009
【図８】
2016094032.tif 000010
【図９】
2016094032.tif 000011
【図１０】
2016094032.tif 000012