(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
H04L 41/06 20220101AFI20240521BHJP
【FI】
H04L41/06
(21)【出願番号】P 2021034829
(22)【出願日】2021-03-04
【審査請求日】2023-03-23
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】芝 寿法
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2017-123639(JP,A)
【文献】特開2012-171361(JP,A)
【文献】特開2016-060433(JP,A)
【文献】米国特許出願公開第2018/0302422(US,A1)
【文献】特開2008-001233(JP,A)
【文献】特開2004-017676(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
車両が有する一つ以上の電子制御ユニットと通信を行う情報処理装置であって、
前記一つ以上の電子制御ユニットが送信または受信したメッセージに基づいて、異常な動作を行っている電子制御ユニットを特定することと、
前記特定された電子制御ユニットについて、現在の動作状態を表すスナップショットデータを取得することと、
を実行する制御部を有
し、
前記制御部は、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知した場合に、ユーザに通知を行い、前記ユーザの指示に基づいて、前記異常な動作を行っている電子制御ユニットの特定を開始する、情報処理装置。
【請求項2】
前記一つ以上の電子制御ユニットが過去に送信または受信したメッセージを記憶する記憶部をさらに有する、
請求項1に記載の情報処理装置。
【請求項3】
前記制御部は、前記記憶されたメッセージに基づいて、前記異常な動作を行っている電子制御ユニットを特定する、
請求項2に記載の情報処理装置。
【請求項4】
前記制御部は、二つ以上の前記電子制御ユニットが交換するメッセージを中継し、前記中継した前記メッセージを記憶する、
請求項2または3に記載の情報処理装置。
【請求項5】
前記制御部は、前記スナップショットデータとして、前記特定された電子制御ユニットのメモリダンプを取得する、
請求項1から4のいずれか1項に記載の情報処理装置。
【請求項6】
前記制御部は、前記一つ以上の電子制御ユニットに流れる暗電流に基づいて、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知する、
請求項
1に記載の情報処理装置。
【請求項7】
前記制御部は、前記取得したスナップショットデータを、前記車両を管理するサーバ装置に送信する、
請求項1から
6のいずれか1項に記載の情報処理装置。
【請求項8】
前記制御部は、前記スナップショットデータを取得したのちに、前記
特定された電子制御ユニットに対してリセット信号を送信する、
請求項1から
7のいずれか1項に記載の情報処理装置。
【請求項9】
車両が有する一つ以上の電子制御ユニットと通信を行う情報処理装置が実行する情報処理方法であって、
前記一つ以上の電子制御ユニットが送信または受信したメッセージに基づいて、異常な動作を行っている電子制御ユニットを特定するステップと、
前記特定された電子制御ユニットについて、現在の動作状態を表すスナップショットデータを取得するステップと、
を含
み、
前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知した場合に、ユーザに通知を行い、前記ユーザの指示に基づいて、前記異常な動作を行っている電子制御ユニットの特定を開始する、情報処理方法。
【請求項10】
前記一つ以上の電子制御ユニットが過去に送信または受信したメッセージを記憶するステップをさらに含む、
請求項
9に記載の情報処理方法。
【請求項11】
前記記憶されたメッセージに基づいて、前記異常な動作を行っている電子制御ユニットを特定する、
請求項
10に記載の情報処理方法。
【請求項12】
二つ以上の前記電子制御ユニットが交換するメッセージを中継するステップをさらに含み、前記中継した前記メッセージを記憶する、
請求項
10または
11に記載の情報処理方法。
【請求項13】
前記スナップショットデータとして、前記特定された電子制御ユニットのメモリダンプを取得するステップをさらに含む、
請求項
9から
12のいずれか1項に記載の情報処理方法。
【請求項14】
前記一つ以上の電子制御ユニットに流れる暗電流に基づいて、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知するステップをさらに含む、
請求項
9に記載の情報処理方法。
【請求項15】
前記取得したスナップショットデータを、前記車両を管理するサーバ装置に送信するステップをさらに含む、
請求項
9から
14のいずれか1項に記載の情報処理方法。
【請求項16】
前記スナップショットデータを取得したのちに、前記
特定された電子制御ユニットに対してリセット信号を送信するステップをさらに含む、
請求項
9から
15のいずれか1項に記載の情報処理方法。
【請求項17】
請求項
9から
16のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に関する。
【背景技術】
【0002】
近年、自動車の電子制御化が進んでいる。これに関連し、特許文献1には、車両が有する複数の電子制御ユニットが異常なメッセージを送信したことを検知する車載ネットワークシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、異常が発生した電子制御ユニットに関する情報を効率よく収集することを目的とする。
【課題を解決するための手段】
【0005】
本開示の第一の態様は、車両が有する一つ以上の電子制御ユニットと通信を行う情報処理装置である。具体的には、前記一つ以上の電子制御ユニットが送信または受信したメッセージに基づいて、異常な動作を行っている電子制御ユニットを特定することと、前記特定された電子制御ユニットについて、現在の動作状態を表すスナップショットデータを取得することと、を実行する制御部を有する。
【0006】
本開示の第二の態様は、車両が有する一つ以上の電子制御ユニットと通信を行う情報処理装置が実行する情報処理方法である。具体的には、前記一つ以上の電子制御ユニットが送信または受信したメッセージに基づいて、異常な動作を行っている電子制御ユニットを特定するステップと、前記特定された電子制御ユニットについて、現在の動作状態を表すスナップショットデータを取得するステップと、を含む。
【0007】
また、他の態様として、上記の情報処理方法をコンピュータに実行させるためのプログラム、または、該プログラムを非一時的に記憶したコンピュータ可読記憶媒体が挙げられる。
【発明の効果】
【0008】
本開示によれば、異常が発生した電子制御ユニットに関する情報を効率よく収集することができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る車両システムのシステム構成図。
【
図3】ゲートウェイが有するマイコンの構成を示したブロック図。
【
図5】センタサーバが有する構成要素を示したブロック図。
【
図6】ゲートウェイが実行する第一の処理のフローチャート。
【
図7】構成要素間で送受信されるデータのフロー図。
【
図8】ゲートウェイが実行する第二の処理のフローチャート。
【発明を実施するための形態】
【0010】
本開示の一態様は、車両が有する一つ以上の電子制御ユニットと通信を行う情報処理装置である。
具体的には、前記一つ以上の電子制御ユニットが送信または受信したメッセージに基づいて、異常な動作を行っている電子制御ユニットを特定することと、前記特定された電子制御ユニットについて、現在の動作状態を表すスナップショットデータを取得することと、を実行する制御部を有する。
【0011】
情報処理装置は、例えば、車載ネットワークに接続されたコンピュータである。情報処理装置は、車両に搭載されている電子制御ユニットのうち、異常な動作、すなわち、想定外の動作を行っている電子制御ユニットを特定する機能を有する。
【0012】
車両に搭載されている複数の電子制御ユニットの中から、異常な動作を行っている電子制御ユニットを特定する技術が公知となっている。異常な動作を行っている電子制御ユニットは、例えば、複数の電子制御ユニットが送信したメッセージに基づいて特定することができる。
【0013】
しかし、電子制御ユニットが送受信するメッセージのみでは、具体的な異常の原因を究明することが難しい場合がある。また、電子制御ユニットの状態は刻々と変化するため、異常の特定(例えば、デバッグ)に利用するためのデータを取得しようとしても、これが間に合わない場合がある。
【0014】
そこで、本開示に係る情報処理装置は、異常な動作をしている電子制御ユニットを特定するとともに、当該特定した電子制御ユニットについて、スナップショットデータを取得する。スナップショットデータとは、電子制御ユニットの現在の状態を表すデータであって、典型的には、メモリダンプ等である。
このような処理を併用することで、異常を認めたタイミングで、対象の電子制御ユニットがどのような状態にあったかを示すデータを残すことができる。また、これにより、異常が発生した原因の究明に役立てることができる。
【0015】
また、情報処理装置は、前記一つ以上の電子制御ユニットが過去に送信または受信したメッセージを記憶する記憶部をさらに有することを特徴としてもよい。
また、前記制御部は、前記記憶されたメッセージに基づいて、前記異常な動作を行っている電子制御ユニットを特定することを特徴としてもよい。
電子制御ユニットが過去に送受信したメッセージを記憶することで、異常を起こした電子制御ユニットを遡って調べることが可能になる。
【0016】
また、前記制御部は、二つ以上の前記電子制御ユニットが交換するメッセージを中継し、前記中継した前記メッセージを記憶することを特徴としてもよい。
情報処理装置は、複数の電子制御ユニットが交換するメッセージを中継する装置(ゲートウェイ)を兼用してもよい。車載ネットワークを流れるメッセージを記憶することで、電子制御ユニットの状態を適切に監視することができる。
【0017】
また、前記制御部は、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知した場合に、前記異常な動作を行っている電子制御ユニットの特定を開始することを特徴としてもよい。
また、前記制御部は、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知した場合に、ユーザに通知を行い、前記ユーザの指示に基づいて、前記異常な動作を行っている電子制御ユニットの特定を開始することを特徴としても
よい。
【0018】
全てのメッセージを監視するのではなく、所定のトリガが発生した場合に、異常を起こしている電子制御ユニットの特定を開始してもよい。例えば、システム上、通常では起こり得ない何らかの事象を観測した場合に、前記特定を開始する。かかる構成によると、異常の原因特定を低コストで行うことができる。
【0019】
また、前記制御部は、前記一つ以上の電子制御ユニットに流れる暗電流に基づいて、前記一つ以上の電子制御ユニットのうちのいずれかにおいて異常が発生していることを検知することを特徴としてもよい。
暗電流とは、車両システムが停止している状態において電子制御ユニットに流れている電流である。暗電流が所定値を上回っている場合、車両が有する電子制御ユニットのうちのいずれかが異常動作を行っていることが推定される。
【0020】
また、前記制御部は、前記取得したスナップショットデータを、前記車両を管理するサーバ装置に送信することを特徴としてもよい。
かかる構成によると、異常の原因を究明するためのデータの共有を迅速に行うことが可能になる。
【0021】
また、前記制御部は、前記スナップショットデータを取得したのちに、前記一つ以上の電子制御ユニットに対してリセット信号を送信することを特徴としてもよい。
必要な情報を取得した後で、異常が発生した電子制御ユニットをリセットすることで、応急処置を行うことができる。
【0022】
以下、図面に基づいて、本開示の実施の形態を説明する。以下の実施形態の構成は例示であり、本開示は実施形態の構成に限定されない。
【0023】
(第一の実施形態)
第一の実施形態に係る車両システムの概要について、
図1を参照しながら説明する。本実施形態に係る車両システムは、車両1と、センタサーバ2と、を含んで構成される。
【0024】
車両1は、通信機能を有するコネクティッドカーである。車両1は、複数の電子制御ユニット(Electronic Control Unit,ECUとも称する)と、当該複数の電子制御ユニッ
トを管理するコンピュータであるゲートウェイを含んで構成される。ゲートウェイは、自車両の内外における通信を仲介する機能と、自車両が有するECUの動作を監視し、いずれかのECUにおいて異常動作が発生した場合に、当該異常を特定するためのデータを収集する機能を有する。
なお、ECUに発生する異常動作とは、設計上想定されていない動作を指す。例えば、本来動作すべきでないタイミングでECUが動作した場合や、送受信すべきでないメッセージが送受信された場合、異常動作が発生したと判定される。
【0025】
センタサーバ2は、車両1を管理するサーバ装置である。センタサーバ2は、複数の車両1を管理してもよい。センタサーバ2は、車両1と無線通信を行い、各種データの収集等を行う。本実施形態では、センタサーバ2は、車両1が有する複数のECUのうちのいずれかにおいて異常動作が発生した場合に、車両1側からの申告に基づいて、当該異常を特定するためのデータを収集する。
【0026】
システムの構成要素について、詳しく説明する。
図2は、
図1に示した車両1のハードウェア構成の一例を概略的に示したブロック図である。車両1は、ゲートウェイ11および複数のECU(ECU12A,ECU12B,
ECU12C…)を有して構成される。車両が有する複数のECUとして、例えば、エンジンECU、ボディECU、パワートレインECU、または、ハイブリッドECUなどを挙げることができる。なお、
図2には、複数のECUを例示しているが、互いを区別する必要がない場合、これらをECU12と総称する。
【0027】
これらの構成要素は、車載ネットワークのバス(CANバス)によって相互に接続される。本実施形態では、車両1は、複数の通信バス(CANバス13A,13B)を備えており、複数のECUが、いずれかの通信バスに接続される。接続された複数のECUは、CANバスを介して互いにデータを送受信する。なお、
図2には、複数のCANバスを例示しているが、互いを区別する必要がない場合、これらをCANバス13と総称する。
【0028】
ゲートウェイ11は、複数のECU間においてデータを中継する中継装置として機能する。また、ゲートウェイ11は、車両1を外部のネットワークに接続する装置としても機能する。ゲートウェイ11を介することで、車両1が有する複数のECUは、異なる車載ネットワーク、および、車両外部のネットワークと通信を行うことができる。以下、車両1の外部のネットワークを、単にネットワーク、または、外部ネットワークと称する。外部ネットワークとして、例えば、インターネット等の広域ネットワークが挙げられる。
【0029】
ゲートウェイ11は、マイクロコンピュータ(以下、マイコン)110と、複数のCANバスと通信を行うインタフェースである通信部113Aと、外部ネットワークと通信を行うインタフェースである通信部113Bと、を含んで構成される。
【0030】
マイコン110は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサ、RAMやROM等の主記憶装置、EPROMやディスクドラ
イブ、リムーバブルメディア等の補助記憶装置を有するマイクロコンピュータとして構成することができる。ただし、一部または全部の機能はASICやFPGAのようなハードウェア回路によって実現されてもよい。
【0031】
本実施形態では、マイコン110は、制御部111および記憶部112を有して構成される。制御部111は、所定のプログラムを実行することで、ゲートウェイ11の各種機能を実現する演算ユニットである。
記憶部112は、主記憶装置および補助記憶装置を含むメモリ装置である。補助記憶装置には、オペレーティングシステム(OS)、各種プログラム、各種テーブル等が格納され、そこに格納されたプログラムを主記憶装置にロードして実行することによって、後述するような、所定の目的に合致した各機能を実現することができる。
【0032】
ゲートウェイ11が有するマイコン110は、車両1が有する複数のECU間で行われる通信を仲介する機能を有する。例えば、車両1が有する第一のECU12Aが、第二のECU12Bとの通信を必要とする場合、ゲートウェイ11は、第一のECU12Aから送信されたデータを、第二のECU12Bに中継する。この際、送信先のECUが、送信元のECUと異なるCANバスに接続されていた場合、ゲートウェイ11は、データを適切なCANバスに送出する。
【0033】
また、ゲートウェイ11が有するマイコン110は、外部ネットワークと車両1との通信を仲介する機能を有する。例えば、車両1が有するECU12が、外部ネットワークとの通信を必要とする場合、ゲートウェイ11は、当該ECU12から送信されたデータを外部ネットワークに中継する。また、外部ネットワークから送信されたデータを受信し、当該データを適切なECU12に転送する。
【0034】
さらに、ゲートウェイ11は、自装置に固有な機能を実行することができる。例えば、
ゲートウェイ11は、セキュリティシステムの監視機能や通話機能を有しており、車内で発生したトリガに基づいて、セキュリティ通報や緊急通報等を行うことができる。
【0035】
通信部113Aは、ゲートウェイ11を車載ネットワークに接続する通信インタフェースである。通信部113Aは、マイコン110によって生成された所定形式のメッセージをCANデータに変換する処理と、受信したCANデータを所定形式のメッセージに変換し、マイコン110に送信する処理を実行する。
通信部113Bは、ゲートウェイ11を外部ネットワークに接続する通信インタフェースである。通信部113Bは、マイコン110によって生成された所定形式のメッセージを通信パケットに変換する処理と、受信した通信パケットを所定形式のメッセージに変換し、マイコン110に送信する処理を実行する。
【0036】
マイコン110の構成について、より詳しく説明する。
図3は、制御部111および記憶部112の論理構成を示した図である。
制御部111は、機能モジュールとして、データ中継部111A、異常判定部111B、異常特定部111C、および、データ収集部111Dを有している。各機能モジュールは、記憶部112に記憶されたプログラムをCPU等によって実行することで実現してもよい。
記憶部112は、メッセージDB112AおよびスナップショットDB112Bを記憶している。
【0037】
制御部111が有する機能モジュールについて説明する。
データ中継部111Aは、第一のECUによってCANバス13に送出されたメッセージを受信し、必要に応じて、宛先である第二のECUに転送する処理を実行する。また、データ中継部111Aは、転送したメッセージを、後述するメッセージDB112Aに記憶させる処理を実行する。
なお、同一のバスに接続されたECU同士がデータを送受信する場合など、データを中継する必要がない場合がある。この場合、データ中継部111Aは、通信部113Aが受信したメッセージを、メッセージDB112Aに記憶させる処理のみを実行する。
【0038】
異常判定部111Bは、車両1が有する複数のECU12のうち、異常動作をしているECUが存在することを検出する。異常動作をしているECUが存在することは、例えば、車両システムの監視結果に基づいて検出することができる。
例えば、送受信のシーケンスや周期が、規定された手順に沿っていないメッセージが車載ネットワークから検出された場合や、起動すべきでないECUが電力を消費していることが検出された場合、異常動作をしているECUが存在することが疑われる。
【0039】
異常特定部111Cは、車両1が有する複数のECU12のうち、異常動作をしているECUを特定する。異常動作をしているECUは、メッセージDB112Aに記憶された複数のメッセージの履歴に基づいて特定することができる。異常特定部111Cは、例えば、メッセージDB112Aに記憶されたメッセージ(すなわち、過去に送受信されたメッセージ)が、規定の手順に適合しているかを遡って確認することで、異常動作をしているECUを特定する。例えば、規定の手順に適合してないメッセージを送信したECU、または、規定の手順に適合してないメッセージを受信したECUと通信を行ったECUが、異常動作を起こしていると判定することができる。
【0040】
データ収集部111Dは、異常特定部111Cによって、動作異常を起こしているECUが特定された場合に、当該ECUのスナップショットデータを取得する。スナップショットデータとは、典型的にはECUのメモリダンプであるが、これ以外のデータを含んでいてもよい。取得されたスナップショットデータは、後述するスナップショットDB11
2Bに格納される。
【0041】
次に、記憶部112に記憶されるデータについて説明する。
記憶部112は、メッセージDB112AおよびスナップショットDB112Bを記憶する。
メッセージDB112Aは、複数のECUによって送受信されたメッセージの履歴(メッセージログ)が格納されるデータベースである。
図4(A)は、メッセージDB112Aに格納されるデータの例である。図示したように、メッセージDB112Aには、メッセージを一意に識別するID、メッセージの送信日時、送信元ECUの識別子、送信先ECUの識別子、メッセージの内容などが格納される。なお、本例では、メッセージの内容をそのまま格納する構成を例示したが、メッセージDB112Aに格納されるデータは、メッセージのダイジェスト等であってもよい。
【0042】
スナップショットDB112Bは、データ収集部111Dによって取得されたスナップショットデータが格納されるデータベースである。
図4(B)は、スナップショットDB112Bに格納されるデータの例である。図示したように、スナップショットDB112Bには、メモリダンプを取得したECUの識別子、メモリダンプの取得日時、取得したメモリダンプデータ(バイナリデータ)などが格納される。なお、本例では、メモリダンプを格納する構成を例示したが、スナップショットDB112Bに格納されるデータは、これ以外のデータを含んでいてもよい。
【0043】
メッセージDB112AおよびスナップショットDB112Bは、プロセッサによって実行されるデータベース管理システム(DBMS)のプログラムが、記憶装置に記憶されるデータを管理することで構築される。メッセージDB112AおよびスナップショットDB112Bは、例えばリレーショナルデータベースである。
【0044】
次に、車両1が有するECUについて説明する。
ECU12は、車両1が有するコンポーネントを制御する電子制御ユニットである。複数のECU12は、例えば、エンジン系統、電装系統、パワートレイン系統など、それぞれ異なる系統のコンポーネントを制御する。ECU12は、規定されたメッセージを生成し、車載ネットワークを介して周期的に送受信する機能を有する。
【0045】
ECU12は、マイクロコンピュータ(マイコン)120と、CANバス13と通信を行うインタフェースである通信部123と、を含んで構成される。
【0046】
マイコン120は、マイコン110と同様に、CPUやGPU等のプロセッサ、RAMやROM等の主記憶装置、EPROMやディスクドライブ、リムーバブルメディア等の補助記憶装置を有するマイクロコンピュータとして構成することができる。
【0047】
本実施形態では、マイコン120は、制御部121および記憶部122を有して構成される。
制御部121は、所定のプログラムを実行することで、ECU12の各種機能を実現する演算ユニットである。記憶部122は、主記憶装置および補助記憶装置を含むメモリ装置である。それらの構成は、制御部111および記憶部112と同様であるため、詳細な説明は省略する。
【0048】
ECU12が有するマイコン120は、他のECU12が有するマイコンと通信を行うためのメッセージを周期的に生成し、通信部123を介して当該メッセージを送受信する。
【0049】
通信部123は、ECU12を車載ネットワーク(CANバス)に接続する通信インタフェースである。通信部123は、マイコン120によって生成された所定形式のメッセージをCANデータに変換する処理と、受信したCANデータを所定形式のメッセージに変換し、制御部121に送信する処理を実行する。
【0050】
CANバス13は、CAN(Controller Area Network)プロトコルに基づく車載ネッ
トワークを構成する通信バスである。なお、本例では、二つのCANバス13Aおよび30Bが例示されているが、車載ネットワークは、三つ以上の通信バスを有していてもよい。複数のCANバスは、ゲートウェイ11によって互いに接続される。
【0051】
次に、センタサーバ2について説明する。
センタサーバ2は、複数の車両1を管理するサーバ装置である。センタサーバ2は、無線通信によって複数の車両1とデータの送受信を行うことができる。
【0052】
センタサーバ2は、汎用のコンピュータにより構成することができる。すなわち、センタサーバ2は、CPUやGPU等のプロセッサ、RAMやROM等の主記憶装置、EPROM、ハードディスクドライブ、リムーバブルメディア等の補助記憶装置を有するコンピュータとして構成することができる。補助記憶装置には、オペレーティングシステム(OS)、各種プログラム、各種テーブル等が格納され、そこに格納されたプログラムを実行することによって、後述するような、所定の目的に合致した各機能を実現することができる。ただし、一部または全部の機能はASICやFPGAのようなハードウェア回路によって実現されてもよい。
【0053】
図5は、
図1に示したセンタサーバ2の構成の一例を概略的に示したブロック図である。
センタサーバ2は、制御部21、記憶部22、および通信部23を有して構成される。
【0054】
制御部21は、センタサーバ2の制御を司る手段である。制御部21は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の情報処理ユ
ニットによって構成される。
制御部21は、機能モジュールとして、車両管理部211および異常処置部212を有している。各機能モジュールは、ROM等の記憶手段に記憶されたプログラムをCPUによって実行することで実現してもよい。
【0055】
車両管理部211は、管理下にある車両1(ゲートウェイ11)と周期的に通信を行い、車両に関するデータを収集する。車両に関するデータとして、例えば、車両の位置情報、速度情報、運転操作に関する情報、通信ステータスなどがある。
【0056】
異常処置部212は、車両1が有する複数のECU12のうちのいずれかにおいて異常が発生した場合に、対応を指示する処理を実行する。具体的には、車両1に搭載されたゲートウェイ11(異常判定部111B)から、いずれかのECUにおいて異常が発生した旨のメッセージを受信した場合に、車両1に対して、異常動作を起こしているECU(以下、異常ECU)の特定を指示する。また、ゲートウェイ11(データ収集部111D)によって収集されたスナップショットデータを取得する。
【0057】
記憶部22は、情報を記憶する手段であり、RAM、磁気ディスクやフラッシュメモリなどの記憶媒体により構成される。記憶部22には、制御部21にて実行される各種プログラム、当該プログラムが利用するデータ等が記憶される。また、記憶部22は、車両1に関するデータ(例えば、車両1の識別子や、ゲートウェイ11の識別情報など)を記憶する。
【0058】
通信部23は、センタサーバ2をネットワークに接続するためのインタフェースである。通信部23は、例えば、インターネットや移動体通信網などを介して、車両1と通信することができる。
【0059】
次に、ゲートウェイ11が行う処理について説明する。ゲートウェイ11が行う処理は、複数のECUが送受信するメッセージを記憶する処理(第一の処理)と、当該複数のECUのいずれかにおいて異常が発生していることを検知し、処置を行う処理(第二の処理)とに大別される。
【0060】
図6は、第一の処理を説明するフローチャートである。図示した処理は、車両1が有するECUがメッセージを送受信する際に、データ中継部111Aによって実行される。
まず、ステップS11で、メッセージの送信元であるECU(第一のECU)からメッセージを受信する。
次に、ステップS12で、受信したメッセージをメッセージDB112Aに記憶させる。
次に、ステップS13で、第一のECUと、メッセージの送信先であるECU(第二のECU)が異なるバスに接続されており、メッセージの中継が必要であるか否かを判定する。
ここで、肯定判定がなされた場合、処理はステップS14へ遷移し、受信したメッセージを、第二のECUが接続されたバスに送出する。否定判定がなされた場合、メッセージの中継は必要ないため、処理は終了する。
【0061】
かかる処理によると、車載ネットワークを介して送受信されたメッセージが、メッセージDB112Aに記憶される。なお、記憶部112の記憶容量が不足している場合、タイムスタンプの古い順にメッセージを消去してもよい。
【0062】
次に、第二の処理、すなわち、車両1が有する複数のECUのうちのいずれかにおいて異常が発生した場合における処理について説明する。まず、
図7を参照して処理の概要について説明し、その後、
図8を参照して具体的な処理内容について説明する。
【0063】
図7は、車両1とセンタサーバ2との間で送受信されるデータのフロー図である。
まず、ゲートウェイ11が、車載されているECU(ECU12A,12B,12C…)のうちのいずれかにおいて異常動作が起きている旨を検出する。ゲートウェイ11は、いずれかのECUにおいて異常動作が起きている旨を検出した場合に、その旨を通知するデータ(異常通知)をセンタサーバ2に送信する。
センタサーバ2は、異常通知を受信すると、解析の必要有無を判定し、必要であると判定した場合に、ゲートウェイ11に対してスナップショットデータの取得を指示する。
指示を受けたゲートウェイ11は、異常が発生しているECUを特定し、スナップショットデータを取得する。
スナップショットデータは、センタサーバ2に送信され、解析の用に供される。
【0064】
次に、ゲートウェイ11が行う処理の詳細について説明する。
図8は、ゲートウェイ11が実行する処理のフローチャートである。図示した処理は、車両1のイグニッション電源が切られている状態において実行される。
【0065】
車両のシステム電源が切られている場合、セキュリティ等を管轄する一部のECUを除き、ECUは動作しない。しかし、外部から攻撃を受けている場合など、本来動作すべきでないタイミングでECUが動作することがありうる。本実施形態に係るゲートウェイ11は、このような、本来動作すべきでないタイミングで動作しているECUがあることを
検知し、センタサーバに対して通知を行う。
また、センタサーバからの指示に基づいて、異常動作をしているECUを特定し、特定したECUのスナップショットデータを取得する。
このように構成することにより、異常動作の原因を究明するためのデータを保全することができる。
【0066】
ECUの異常解析において、スナップショットデータは有効である。しかし、何らかの異常がECUに発生している場合に、全てのECUについてスナップショットデータを取得すると、不要なコスト(解析コスト等)が発生する。そこで、本実施形態では、異常を検知したタイミングで、過去のメッセージログに基づいて異常ECUを特定し、特定したECUに対してのみスナップショットデータを取得する。
【0067】
ステップS21およびS22は、本来動作すべきでないタイミングで動作しているECUが存在していることを検知するための処理である。
まず、ステップS21で、異常判定部111Bが、複数のECU12に流れている暗電流を測定する。ここで、暗電流の値が想定されている範囲内であった場合、処理は初期状態へ戻る(ステップS22-Yes)。暗電流の値が想定されている範囲に無い場合、処理はステップS23へ遷移する(ステップS22-No)。
【0068】
暗電流の値が想定されている範囲に無い場合、いずれかのECUが想定外の動作を行っていることが推定される。かかる場合、ステップS23において、異常判定部111Bが、センタサーバ2に対して異常が発生した旨の通知(異常通知)を送信する。当該異常通知には、自車両に関する他の情報を含ませてもよい。
ステップS24では、異常判定部111Bが、センタサーバ2から、データ取得指示を受信したか否かを判定する。センタサーバ2から、データ取得指示を受信した場合、処理はステップS25へ遷移する。データ取得指示を受信しない場合、待ち受けを続ける。なお、受信がタイムアウトした場合、処理を初期状態に戻してもよい。
【0069】
ステップS25では、異常特定部111Cが、メッセージDB112Aに記録されたメッセージの送受信履歴に基づき、異常動作をしているECUを特定する。例えば、送受信のシーケンスや周期が、規定された手順に沿っていないメッセージがあった場合、当該メッセージを送信したECUが異常動作をしていると判定することができる。
【0070】
ステップS26では、データ収集部111Dが、特定されたECU12に対してスナップショットデータの送信を要求し、これを取得する。スナップショットデータには、ECU12が有するマイコン120の現在の状態に関するデータが含まれる。このようなデータとして、例えば、主記憶装置のメモリダンプ、プロセッサが実行中のコードに関する情報(例えば、プログラムのアセンブリコード)などが例示できる。
取得されたスナップショットデータは、スナップショットDB112Bに記憶されるとともに、センタサーバ2(異常処置部212)に送信される。
なお、データ収集部111Dは、特定されたECU12の異常動作を停止させるため、ステップS26において、該当するECUをリセットするための信号を送信してもよい。
【0071】
以上説明したように、第一の実施形態におけるゲートウェイ11は、本来動作すべきでないタイミングで動作しているECU(異常ECU)があることを検知した場合に、異常動作をしているECUを特定し、特定したECUのスナップショットデータを取得する。これにより、異常の原因を究明するためのデータを適切なタイミングで保全することができる。
【0072】
(第一の実施形態の変形例)
第一の実施形態では、ゲートウェイ11が異常ECUの存在を検知した場合に、センタサーバ2に通知を行い、センタサーバ2の指示をもってスナップショットデータの取得を開始した。しかしながら、スナップショットデータの取得は、ユーザの指示に基づいて開始してもよい。例えば、センタサーバ2が異常通知を受信した場合に、ユーザが所持する端末(ユーザ端末)に対して通知を送信し、ユーザがこれに応答した場合(例えば、異常の解消を指示した場合)に、スナップショットデータの取得を開始するようにしてもよい。
【0073】
また、第一の実施形態では、システム停止中における暗電流に基づいて、異常ECUの存在を検知し、異常ECUの特定を開始したが、これ以外のトリガによって、異常ECUの特定を開始するようにしてもよい。例えば、異常ECUの検知は、車両の走行中において行ってもよい。
例えば、車載ネットワークを流れるデータに異常が認められた際に、警告灯などによってユーザに対して通知が行われる場合がある。この場合、警告灯を確認したユーザが、ユーザ端末を介して、ゲートウェイ11に対してスナップショットデータの取得を指示するようにしてもよい。このように、センタサーバ2を介さずに、スナップショットデータの取得を指示することもできる。
これ以外にも、システム上、通常では起こり得ない何らかの事象を車両1側において観測した場合に、異常ECUの特定を開始するようにしてもよい。
【0074】
(変形例)
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
例えば、本開示において説明した処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【0075】
また、実施形態の説明では、車載ネットワークとしてCANネットワークを例示したが、イーサネットを始めとする他の種類の車載ネットワークを採用することもできる。
【0076】
また、1つの装置が行うものとして説明した処理が、複数の装置によって分担して実行されてもよい。あるいは、異なる装置が行うものとして説明した処理が、1つの装置によって実行されても構わない。コンピュータシステムにおいて、各機能をどのようなハードウェア構成(サーバ構成)によって実現するかは柔軟に変更可能である。
【0077】
本開示は、上記の実施形態で説明した機能を実装したコンピュータプログラムをコンピュータに供給し、当該コンピュータが有する1つ以上のプロセッサがプログラムを読み出して実行することによっても実現可能である。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な非一時的なコンピュータ可読記憶媒体によってコンピュータに提供されてもよいし、ネットワークを介してコンピュータに提供されてもよい。非一時的なコンピュータ可読記憶媒体は、例えば、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクドライブ(HDD)等)、光ディスク(CD-ROM、DVDディスク・ブルーレイディスク等)など任意のタイプのディスク、読み込み専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体を含む。
【符号の説明】
【0078】
1・・・車両
11・・・ゲートウェイ
110・・・マイコン
111・・・制御部
112・・・記憶部
113・・・通信部
20・・・ECU
120・・・マイコン
121・・・制御部
122・・・記憶部
123・・・通信部
2・・・センタサーバ
21・・・制御部
22・・・記憶部
23・・・通信部