(58)【調査した分野】(Int.Cl.,DB名)
前記スイッチ装置は、前記データ更新が完了した場合、更新前の前記更新データを廃棄し、かつ更新後の前記更新データを保持する処理を行う、請求項3に記載の車載通信システム。
前記スイッチ装置は、自己を介して前記ゲートウェイおよび前記対象機器間で送受信されるデータを監視し、自己を介して前記ゲートウェイから前記対象機器へ送信される前記更新データを保持する、請求項5に記載の車載通信システム。
前記スイッチ装置は、前記対象機器から前記ゲートウェイへ送信される更新完了通知を検出した場合、更新前の前記更新データを廃棄し、かつ更新後の前記更新データを保持する処理を行う、請求項6に記載の車載通信システム。
【発明を実施するための形態】
【0019】
最初に、本発明の実施形態の内容を列記して説明する。
【0020】
(1)本発明の実施の形態に係る車載通信システムは、車両に搭載される車載通信システムであって、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイと、通信プロトコルの変換を伴わない中継処理を行う1または複数のスイッチ装置とを備え、前記ゲートウェイまたは前記スイッチ装置は、前記車両に搭載された対象機器のデータ更新を管理し、前記ゲートウェイは、前記対象機器用の更新データを前記車両の外部における外部装置から受信し、配下の前記スイッチ装置に接続されている前記対象機器用の前記更新データを前記スイッチ装置へ送信するとともに、少なくとも更新完了後は前記更新データを保持せず、前記スイッチ装置を介さずに自己に接続されている前記対象機器用の前記更新データを更新完了後も保持する。
【0021】
このように、ゲートウェイが、配下のスイッチ装置に接続されている対象機器用の更新データをスイッチ装置へ送信する構成により、たとえば、当該スイッチ装置に当該更新データを保持させることで、当該対象機器におけるデータ更新の管理を当該スイッチ装置に行わせることができる。また、少なくとも更新完了後は、当該対象機器用の更新データをゲートウェイが保持しない構成により、ゲートウェイにおける記憶領域の消費を抑制することができる。また、ゲートウェイが、スイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0022】
(2)好ましくは、前記車載通信システムは、直列に接続された複数の前記スイッチ装置を備え、前記スイッチ装置は、前記更新データを上流側である前記ゲートウェイまたは他の前記スイッチ装置から受信し、下流側の他の前記スイッチ装置に接続されている前記対象機器用の前記更新データを前記他のスイッチ装置へ送信するとともに、少なくとも更新完了後は前記更新データを保持せず、他の前記スイッチ装置を介さずに自己に接続されている前記対象機器用の前記更新データを更新完了後も保持する。
【0023】
このように、スイッチ装置が、上流側のゲートウェイまたは他のスイッチ装置からの更新データであって他のスイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、自己のスイッチ装置において当該更新データが保持されるので、ゲートウェイは当該更新データを消去することができる。また、スイッチ装置が、下流側の他のスイッチ装置に接続されている対象機器用の更新データを当該他のスイッチ装置へ送信する構成により、たとえば、当該他のスイッチ装置に当該更新データを保持させることで、当該対象機器におけるデータ更新の管理を当該他のスイッチ装置に行わせることができる。また、少なくとも更新完了後は、当該対象機器用の更新データをスイッチ装置が保持しない構成により、スイッチ装置における記憶領域の消費を抑制することができる。
【0024】
(3)好ましくは、前記スイッチ装置は、他の前記スイッチ装置を介さずに自己に接続されている前記対象機器のデータ更新を管理し、前記ゲートウェイは、前記データ更新を管理する前記スイッチ装置に前記対象機器のデータ更新を指示する。
【0025】
このような構成により、車載通信システムにおいて、対象機器の管理処理をスイッチ装置へ分散させることができるので、ゲートウェイにおける処理負荷を軽減することをができる。
【0026】
(4)より好ましくは、前記スイッチ装置は、前記データ更新が完了した場合、更新前の前記更新データを廃棄し、かつ更新後の前記更新データを保持する処理を行う。
【0027】
このように、対象機器の更新が完了するまで更新前の更新データを廃棄しない構成により、たとえば、対象機器の更新が失敗した場合に、更新前の更新データを用いて当該対象機器を再起動させることができる。また、更新後の更新データを保持する構成により、新たな更新を行う場合において、対象機器の更新の失敗に備えることができる。
【0028】
(5)好ましくは、前記ゲートウェイは、配下の前記スイッチ装置に接続されている前記対象機器のデータ更新を管理する。
【0029】
このような構成により、車載通信システムにおいて、対象機器の管理処理をゲートウェイに集中させることができるので、車載通信システムのメンテナンスを簡素化することができる。
【0030】
(6)より好ましくは、前記スイッチ装置は、自己を介して前記ゲートウェイおよび前記対象機器間で送受信されるデータを監視し、自己を介して前記ゲートウェイから前記対象機器へ送信される前記更新データを保持する。
【0031】
このような構成により、スイッチ装置が更新データをダウンロードする処理と対象機器が当該更新データをダウンロードする処理とを並行して行うことができるので、スイッチ装置および対象機器が更新データを順番にダウンロードする構成と比べて、ダウンロード処理に要する時間を短縮することができる。
【0032】
(7)より好ましくは、前記スイッチ装置は、前記対象機器から前記ゲートウェイへ送信される更新完了通知を検出した場合、更新前の前記更新データを廃棄し、かつ更新後の前記更新データを保持する処理を行う。
【0033】
このように、対象機器の更新が完了した場合に送信される更新完了通知を検出するまで更新前の更新データを廃棄しない構成により、たとえば、対象機器の更新が失敗した場合に、更新前の更新データを用いて当該対象機器を再起動させることができる。また、更新後の更新データを保持する構成により、新たな更新を行う場合において、対象機器の更新の失敗に備えることができる。
【0034】
(8)より好ましくは、前記スイッチ装置は、前記データ更新が完了した後、所定条件を満たした場合に前記処理を行う。
【0035】
このような構成により、たとえば、データ更新が完了した直後のタイミングにおいてスイッチ装置の通信レートが大きい場合に、上記処理を通信レートが小さくなるまで延期することができるので、スイッチ装置に過度の負荷が加わることを防ぐことができる。
【0036】
(9)本発明の実施の形態に係るゲートウェイは、車両に搭載されるゲートウェイであって、通信プロトコルの変換を伴う中継処理を行うことが可能な中継部と、前記車両に搭載された対象機器のデータ更新を管理する管理部と、記憶部とを備え、前記中継部は、前記対象機器用の更新データを前記車両の外部における外部装置から受信し、前記記憶部は、前記中継部によって受信された前記更新データを保持し、前記中継部は、通信プロトコルの変換を伴わない中継処理を行う配下のスイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記スイッチ装置へ送信し、前記管理部は、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記スイッチ装置を介さずに自己の前記ゲートウェイに接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させる。
【0037】
このように、ゲートウェイが、中継対象データをスイッチ装置へ送信する構成により、たとえば、当該スイッチ装置に当該中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該スイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、ゲートウェイにおける記憶領域の消費を抑制することができる。また、ゲートウェイが、スイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0038】
(10)本発明の実施の形態に係るスイッチ装置は、車両に搭載されるスイッチ装置であって、通信プロトコルの変換を伴わない中継処理を行うスイッチ部と、前記車両に搭載された対象機器のデータ更新を管理する管理部と、記憶部とを備え、前記スイッチ装置には、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイが接続され、前記スイッチ部は、前記ゲートウェイ、または前記ゲートウェイとの間に設けられた上流側の他の前記スイッチ装置から前記対象機器用の更新データを受信し、前記記憶部は、前記スイッチ部によって受信された前記更新データを保持し、前記スイッチ部は、下流側の他の前記スイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記下流側の他のスイッチ装置へ送信するとともに、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記管理部は、他の前記スイッチ装置を介さずに自己の前記スイッチ装置に接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させる。
【0039】
このように、スイッチ装置が、ゲートウェイまたは上流側の他のスイッチ装置からの更新データであって他のスイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、スイッチ装置は当該対象機器におけるデータ更新の管理を容易に行うことができ、また、スイッチ装置において当該更新データが保持されるので、ゲートウェイは当該更新データを消去することができる。また、スイッチ装置が、中継対象データを下流側の他のスイッチ装置へ送信する構成により、たとえば、当該下流側の他のスイッチ装置に中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該下流側の他のスイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、スイッチ装置における記憶領域の消費を抑制することができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0040】
(11)本発明の実施の形態に係る通信制御方法は、車両に搭載され、通信プロトコルの変換を伴う中継処理を行うことが可能であり、記憶部を備えるゲートウェイにおける通信制御方法であって、前記車両に搭載された対象機器のデータ更新を管理するステップと、前記対象機器用の更新データを前記車両の外部における外部装置から受信するステップと、受信した前記更新データを前記記憶部に保持するステップと、通信プロトコルの変換を伴わない中継処理を行う配下のスイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記スイッチ装置へ送信するステップとを含み、前記データ更新を管理するステップにおいては、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記スイッチ装置を介さずに自己の前記ゲートウェイに接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させる。
【0041】
このように、ゲートウェイが、中継対象データをスイッチ装置へ送信する構成により、たとえば、当該スイッチ装置に当該中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該スイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、ゲートウェイにおける記憶領域の消費を抑制することができる。また、ゲートウェイが、スイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0042】
(12)本発明の実施の形態に係る通信制御方法は、車両に搭載され、通信プロトコルの変換を伴わない中継処理を行い、記憶部を備えるスイッチ装置における通信制御方法であって、前記スイッチ装置には、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイが接続され、前記車両に搭載された対象機器のデータ更新を管理するステップと、前記ゲートウェイ、または前記ゲートウェイとの間に設けられた上流側の他の前記スイッチ装置から前記対象機器用の更新データを受信するステップと、受信した前記更新データを前記記憶部に保持するステップと、下流側の他の前記スイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記下流側の他のスイッチ装置へ送信するとともに、少なくとも更新完了後は前記中継対象データを前記記憶部から消去するステップとを含み、前記データ更新を管理するステップにおいては、他の前記スイッチ装置を介さずに自己の前記スイッチ装置に接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させる。
【0043】
このように、スイッチ装置が、ゲートウェイまたは上流側の他のスイッチ装置からの更新データであって他のスイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、スイッチ装置は当該対象機器におけるデータ更新の管理を容易に行うことができ、また、スイッチ装置において当該更新データが保持されるので、ゲートウェイは当該更新データを消去することができる。また、スイッチ装置が、中継対象データを下流側の他のスイッチ装置へ送信する構成により、たとえば、当該下流側の他のスイッチ装置に中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該下流側の他のスイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、スイッチ装置における記憶領域の消費を抑制することができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0044】
(13)本発明の実施の形態に係る通信制御プログラムは、車両に搭載され、記憶部を備えるゲートウェイにおいて用いられる通信制御プログラムであって、コンピュータを、通信プロトコルの変換を伴う中継処理を行うことが可能な中継部と、前記車両に搭載された対象機器のデータ更新を管理する管理部、として機能させるためのプログラムであり、前記中継部は、前記対象機器用の更新データを前記車両の外部における外部装置から受信し、前記記憶部は、前記中継部によって受信された前記更新データを保持し、前記中継部は、通信プロトコルの変換を伴わない中継処理を行う配下のスイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記スイッチ装置へ送信し、前記管理部は、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記スイッチ装置を介さずに自己の前記ゲートウェイに接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させるプログラムである。
【0045】
このように、ゲートウェイが、中継対象データをスイッチ装置へ送信する構成により、たとえば、当該スイッチ装置に当該中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該スイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、ゲートウェイにおける記憶領域の消費を抑制することができる。また、ゲートウェイが、スイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0046】
(14)本発明の実施の形態に係る通信制御プログラムは、車両に搭載され、記憶部を備えるスイッチ装置において用いられる通信制御プログラムであって、コンピュータを、通信プロトコルの変換を伴わない中継処理を行うスイッチ部と、前記車両に搭載された対象機器のデータ更新を管理する管理部、として機能させるためのプログラムであり、前記スイッチ装置には、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイが接続され、前記スイッチ部は、前記ゲートウェイ、または前記ゲートウェイとの間に設けられた上流側の他の前記スイッチ装置から前記対象機器用の更新データを受信し、前記記憶部は、前記スイッチ部によって受信された前記更新データを保持し、前記スイッチ部は、下流側の他の前記スイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記下流側の他のスイッチ装置へ送信するとともに、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記管理部は、他の前記スイッチ装置を介さずに自己の前記スイッチ装置に接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させるプログラムである。
【0047】
このように、スイッチ装置が、ゲートウェイまたは上流側の他のスイッチ装置からの更新データであって他のスイッチ装置を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、スイッチ装置は当該対象機器におけるデータ更新の管理を容易に行うことができ、また、スイッチ装置において当該更新データが保持されるので、ゲートウェイは当該更新データを消去することができる。また、スイッチ装置が、中継対象データを下流側の他のスイッチ装置へ送信する構成により、たとえば、当該下流側の他のスイッチ装置に中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該下流側の他のスイッチ装置に行わせることができる。また、少なくとも更新完了後は、中継対象データを記憶部から消去する構成により、スイッチ装置における記憶領域の消費を抑制することができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0048】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0049】
[構成および基本動作]
図1は、本発明の実施の形態に係る車載通信システムの比較例の構成を示す図である。
【0050】
図1を参照して、比較例である車載通信システム300は、ゲートウェイ101と、複数の車載デバイス111とを備える。車載通信システム300は、車両1に搭載される。ゲートウェイ101は、揮発性メモリ(記憶部)24と、不揮発性メモリ(記憶部)25とを備える。
【0051】
揮発性メモリ24は、たとえばDRAM(Dynamic RAM)である。不揮発性メモリ25は、たとえばフラッシュメモリである。
【0052】
ゲートウェイ101は、車両1に搭載された対象機器のデータ更新を管理する。具体的には、ゲートウェイ101は、対象機器の一例である各車載デバイス111において用いられるファームウェアの更新を管理する。
【0053】
より詳細には、ゲートウェイ101は、各車載デバイス111において用いられるファームウェアを更新完了後も保持し、保持するファームウェアを用いた車載デバイス111のリカバリ処理を必要に応じて行う。具体的には、ゲートウェイ101は、対象の車載デバイス111を再起動させる。
【0054】
外部装置181は、たとえばFOTA(Firmware On−The−Air)サーバであり、車両1の外部に設けられる。外部装置181は、車載デバイス111において用いられる各バージョンのファームウェアを保持する。
【0055】
車載デバイス111の1つである車外通信装置111Tは、たとえば、LTE(Long Term Evolution)または3G等の広域無線通信の通信規格に従って、無線基地局装置161と無線通信を行うことが可能である。
【0056】
車外通信装置111Tは、車両1の外部における外部装置181と無線基地局装置161を介して通信を行うことが可能である。
【0057】
車載デバイス111は、イーサネット(登録商標)ケーブル10およびCANバス11のいずれか一方を介してゲートウェイ101に接続される。ここで、イーサネットケーブル10は、イーサネットの規格に従うケーブルである。CANバス11は、CAN(Controller Area Network)(登録商標)の規格に従うバスである。
【0058】
なお、車載デバイス111は、FlexRay(登録商標)およびMOST(Media Oriented Systems Transport)(登録商標)およびLIN(Local Interconnect Network)等のCANバス11およびイーサネットケーブル10と異なるバスまたはケーブルを介してゲートウェイ101に接続されてもよい。
【0059】
CANバス11を介してゲートウェイ101に接続される車載デバイス111(以下、CANデバイスとも称する。)は、たとえば、エンジン制御デバイス、AT(Automatic Transmission)制御デバイス、HEV(Hybrid Electric Vehicle)制御デバイス、ブレーキ制御デバイス、シャーシ制御デバイス、ステアリング制御デバイスおよび計器表示制御デバイス等である。
【0060】
CANデバイスは、たとえば、CANの通信規格に従ってゲートウェイ101と通信を行う。
【0061】
イーサネットケーブル10を介してゲートウェイ101に接続される車載デバイス111(以下、イーサデバイスとも称する。)は、たとえば、車外通信装置111T、カメラ、運転支援装置、センサおよびナビゲーション装置等であり、イーサネットの通信規格に従ってゲートウェイ101と通信を行う。
【0062】
車載デバイス111は、たとえば、ファームウェアを保持するための図示しない不揮発性メモリを有し、当該不揮発性メモリに保持されたファームウェアに従って動作する。また、車載デバイス111は、たとえば、ファームウェアの更新時において、当該ファームウェアを一時的に保持するための図示しない揮発性メモリを有する。
【0063】
ゲートウェイ101は、通信プロトコルの変換を伴う中継処理を行うことが可能である。具体的には、ゲートウェイ101は、たとえば、CANの通信規格に従ってCANデバイスからデータを受信すると、受信したデータのフォーマットをイーサネットの通信規格に従うフォーマットに変更し、フォーマット変更後のデータをイーサネットの通信規格に従ってイーサデバイスへ送信する。
【0064】
また、ゲートウェイ101は、たとえば、イーサネットの通信規格に従ってイーサデバイスからデータを受信すると、受信したデータのフォーマットをCANの通信規格に従うフォーマットに変更し、フォーマット変更後のデータをCANの通信規格に従ってCANデバイスへ送信する。
【0065】
また、ゲートウェイ101は、たとえば、通信プロトコルの変換を伴わない中継処理を行うことが可能である。具体的には、ゲートウェイ101は、たとえば、CANの通信規格に従ってCANデバイスからデータを受信すると、受信したデータをCANの通信規格に従って他のCANデバイスへ送信する。
【0066】
また、ゲートウェイ101は、イーサネットの通信規格に従ってイーサデバイスからデータを受信すると、受信したデータをイーサネットの通信規格に従って他のイーサデバイスへ送信する。
【0067】
ゲートウェイ101における不揮発性メモリ25には、各車載デバイス111において現在用いられているファームウェア(以下、現ファームウェアとも称する。)が保存されている。
【0068】
外部装置181は、たとえば、各車載デバイス111におけるファームウェアの現在のバージョンを示すバージョン情報を保持している。
【0069】
[動作の流れ]
車載通信システム300における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0070】
図2は、本発明の実施の形態に係る車載通信システムの比較例において、車載デバイスにおけるファームウェアが更新される際のシーケンスの一例を示す図である。
【0071】
図2を参照して、車載デバイス111におけるファームウェアの更新処理は、車載デバイス111がCANデバイスおよびイーサデバイスのいずれの場合でも同様の処理となる。
【0072】
まず、外部装置181は、たとえば、車載デバイス111用の最新バージョンのファームウェア(以下、新ファームウェアとも称する。)の準備が整うと、新ファームウェアと現ファームウェアとの差分データを更新データとして無線基地局装置161および車外通信装置111T経由でゲートウェイ101へ送信する(ステップS102)。
【0073】
次に、ゲートウェイ101は、外部装置181から差分データを受信すると、受信した差分データを揮発性メモリ24に一時的に保持(以下、バッファリングとも称する。)する(ステップS104)。
【0074】
次に、ゲートウェイ101は、バッファリングが正常に完了した場合、リプログラミングの開始を示すリプロ開始通知を車載デバイス111へ送信する(ステップS106)。
【0075】
次に、車載デバイス111は、ゲートウェイ101からリプロ開始通知を受信すると、ファームウェアを更新するためのリプロモードへ遷移する(ステップS108)。
【0076】
次に、車載デバイス111は、リプロモードへ遷移したことを示す遷移応答をゲートウェイ101へ送信する(ステップS110)。
【0077】
次に、ゲートウェイ101は、車載デバイス111から遷移応答を受信すると、車載デバイス111においてファームウェアの更新が可能になったことを認識し、差分データの最初の部分(以下、最初の差分データとも称する。)を車載デバイス111へ送信する(ステップS112)。
【0078】
次に、車載デバイス111は、ゲートウェイ101から最初の差分データを受信すると、差分データのバッファリングを開始する。より詳細には、車載デバイス111は、受信した最初の差分データを揮発性メモリにバッファリングする(ステップS114)。
【0079】
次に、ゲートウェイ101は、差分データの中間の部分(以下、中間の差分データとも称する。)をたとえば分割して車載デバイス111へ送信する。車載デバイス111は、ゲートウェイ101によって送信された中間の差分データを揮発性メモリにバッファリングする(ステップS116)。
【0080】
次に、ゲートウェイ101は、差分データの最後の部分(以下、最後の差分データとも称する。)を車載デバイス111へ送信する(ステップS118)。
【0081】
次に、車載デバイス111は、ゲートウェイ101から最後の差分データを受信すると、受信した最後の差分データを揮発性メモリにバッファリングし、差分データのバッファリングを終了する(ステップS122)。
【0082】
また、ゲートウェイ101は、不揮発性メモリ25から現ファームウェアを取得し、取得した現ファームウェアに差分データを加えることにより、新ファームウェアを作成して揮発性メモリ24に保存する(ステップS120)。
【0083】
次に、車載デバイス111は、バッファリングした差分データを用いて、不揮発性メモリに保存されているファームウェアを新ファームウェアに書き換える(ステップS124)。
【0084】
次に、車載デバイス111は、新ファームウェアで再起動する(ステップS126)。
【0085】
次に、車載デバイス111は、再起動に成功すると、通常動作モードへ遷移する(ステップS128)。
【0086】
次に、車載デバイス111は、ファームウェアの更新に成功したことを示す更新完了通知をゲートウェイ101へ送信する(ステップS130)。
【0087】
次に、ゲートウェイ101は、車載デバイス111から更新完了通知を受信すると、現ファームウェアを不揮発性メモリ25から消去するとともに、作成した新ファームウェアを不揮発性メモリ25に保存する(ステップS132)。
【0088】
次に、ゲートウェイ101は、揮発性メモリ24に保存されている新ファームウェアを消去する(ステップS134)。
【0089】
次に、ゲートウェイ101は、更新完了通知を車外通信装置111Tおよび無線基地局装置161経由で外部装置181へ送信する(ステップS136)。
【0090】
次に、外部装置181は、ゲートウェイ101から更新完了通知を受信すると、受信した更新完了通知に基づいてバージョン情報を更新する(ステップS138)。
【0091】
なお、車載デバイス111は、上記ステップS126において再起動に成功したが、再起動に失敗することがある。
【0092】
このような場合、ゲートウェイ101は、たとえば、現ファームウェアを用いて車載デバイス111を再起動させる。このため、ゲートウェイ101が更新完了通知を車載デバイス111から受信するまで、現ファームウェアは不揮発性メモリ25に保存される。
【0093】
図3は、本発明の実施の形態に係る車載通信システムの構成を示す図である。
【0094】
図3を参照して、車載通信システム301は、ゲートウェイ101と、スイッチ装置151B,151Cとを備える。車載通信システム301は、車両1に搭載される。車両1には、複数の車載デバイス111が設けられる。
【0095】
スイッチ装置151B,151Cは、たとえば直列に接続される。言い換えると、スイッチ装置151B,151Cは、カスケード接続される。以下、スイッチ装置151B,151Cの各々をスイッチ装置151とも称する。
【0096】
ゲートウェイ101には、イーサネットケーブル10およびCANバス11のいずれか一方を介して車載デバイス111である車載デバイス111Aが複数接続され、かつイーサネットケーブル10を介してスイッチ装置151Bが接続される。
【0097】
スイッチ装置151Bには、イーサネットケーブル10を介して車載デバイス111である車載デバイス111Bが複数接続され、かつイーサネットケーブル10を介してスイッチ装置151Cが接続される。
【0098】
スイッチ装置151Cには、イーサネットケーブル10を介して車載デバイス111である車載デバイス111Cが複数接続される。
【0099】
スイッチ装置151B,151Cは、イーサネットの通信規格に従って、イーサネットケーブル10を介して接続された装置と通信を行う。
【0100】
ここで、ゲートウェイ101の「配下」に接続されることを、外部装置181からの更新データをゲートウェイ101経由で受信可能に接続されることと定義する。
【0101】
また、車両1における「ある装置」の「上流側の装置」を、「ある装置」と外部装置181とのデータの伝送経路において「ある装置」より外部装置181側の装置と定義する。また、車両1における「ある装置」の「下流側の装置」を、外部装置181からのデータの「ある装置」による中継先の装置と定義する。
【0102】
なお、ゲートウェイ101、スイッチ装置151Bおよびスイッチ装置151Cの各々は、複数の車載デバイス111が接続される構成であるとしたが、これに限定するものではない。ゲートウェイ101、スイッチ装置151Bおよびスイッチ装置151Cの各々は、1つの車載デバイス111が接続される構成であってもよい。
【0103】
[課題]
図3に示すように、ゲートウェイ101の配下に複数のスイッチ装置151が接続される場合、車載通信システム301における車載デバイス111の個数が増大する。
【0104】
たとえば、ゲートウェイ101が、スイッチ装置151を介さずに自己に接続されている各車載デバイス111、および配下のスイッチ装置151に接続されている各車載デバイス111を管理する場合、ゲートウェイ101は、これらの車載デバイス111において用いられるファームウェアを更新完了後も保持することが求められる。しかしながら、車載デバイス111の個数が増大すると、ゲートウェイ101においてファームウェアを保持するための記憶領域が不足することがある。
【0105】
このような場合、ゲートウェイ101は、各車載デバイス111におけるデータ更新の管理を行うことが困難となる。
【0106】
そこで、本発明の実施の形態に係る車載通信システムでは、以下のような構成および動作により、このような課題を解決する。
【0107】
[プロキシ方式]
図4は、本発明の実施の形態に係る車載通信システムにおけるゲートウェイの構成を示す図である。
【0108】
図4を参照して、ゲートウェイ101は、中継部21と、管理部23と、揮発性メモリ(記憶部)24と、不揮発性メモリ(記憶部)25とを備える。中継部21は、バッファ(記憶部)22を含む。
【0109】
バッファ22、揮発性メモリ24および不揮発性メモリ25は、中継部21によって受信された差分データを保持する。
【0110】
より詳細には、中継部21におけるバッファ22は、中継部21における中継対象のデータを一時的に保存するために用いられる。揮発性メモリ24は、差分データの一時的な保存領域、および管理部23によるファームウェアの作成等の作業領域として用いられる。不揮発性メモリ25には、自己のゲートウェイ101が管理する車載デバイス111の現ファームウェアが保存されている。
【0111】
中継部21は、通信プロトコルの変換を伴う中継処理を行うことが可能である。また、中継部21は、自己のゲートウェイ101の配下のすなわち下流側のスイッチ装置151に接続されている車載デバイス111用の更新データである中継対象データを当該スイッチ装置151へ送信する。
【0112】
より詳細には、中継部21は、車載デバイス111A〜111C用の差分データを無線基地局装置161経由で外部装置181からそれぞれ受信し、受信した差分データをバッファ22に保存する。そして、中継部21は、バッファ22に保存した差分データを管理部23へ出力する。
【0113】
一方、中継部21は、たとえば、上述の差分データと異なるデータを他の装置から受信すると、受信したデータをバッファ22に保存する。そして、中継部21は、バッファ22に保存したデータを当該データの宛先の装置へ送信する。
【0114】
管理部23は、車両1に搭載された対象機器のデータ更新を管理する。具体的には、管理部23は、車載デバイス111Aのファームウェアを管理する。
【0115】
より詳細には、管理部23は、中継部21から差分データを受けると、受けた差分データを揮発性メモリ24にバッファリングする。
【0116】
管理部23は、揮発性メモリ24にバッファリングした差分データが中継対象データである場合、中継対象データを中継部21経由で配下のスイッチ装置151へ送信する。
【0117】
そして、管理部23は、中継対象データを送信した後、当該配下のスイッチ装置151から更新完了通知を中継部21経由で受信するまで中継対象データを揮発性メモリ24に保持させる。
【0118】
管理部23は、少なくとも更新完了後は中継対象データを揮発性メモリ24から消去する。具体的には、管理部23は、更新完了通知を中継部21経由で受信すると、中継対象データを揮発性メモリ24から消去する。
【0119】
また、管理部23は、スイッチ装置151を介さずに自己のゲートウェイ101に接続されている車載デバイス111A用の更新データを更新完了後も不揮発性メモリ25に保持させる。
【0120】
より詳細には、管理部23は、揮発性メモリ24にバッファリングした差分データが車載デバイス111Aの差分データ(以下、自家用差分データとも称する。)である場合、以下の処理を行う。
【0121】
すなわち、管理部23は、たとえば、自家用差分データを中継部21経由で車載デバイス111Aへ送信することにより、車載デバイス111Aのファームウェアを更新する。また、管理部23は、たとえば、不揮発性メモリ25に保存されている更新前のファームウェアすなわち現ファームウェア、および自家用差分データから新ファームウェアを作成して揮発性メモリ24に保存する。
【0122】
管理部23は、たとえば、データ更新が完了した場合、揮発性メモリ24における新ファームウェアを不揮発性メモリ25に移動するとともに、不揮発性メモリ25における現ファームウェアを消去する。
【0123】
また、管理部23は、たとえば、データ更新を管理するスイッチ装置151に車載デバイス111のデータ更新を指示する。具体的には、管理部23は、車載デバイス111のデータ更新を指示するためのリプロ依頼要求を中継部21経由でスイッチ装置151へ送信する。
【0124】
図5は、本発明の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
【0125】
図5を参照して、スイッチ装置151は、スイッチ部51と、管理部53と、揮発性メモリ(記憶部)54と、不揮発性メモリ(記憶部)55とを備える。スイッチ部51は、バッファ(記憶部)52を含む。
【0126】
バッファ52、揮発性メモリ54および不揮発性メモリ55は、スイッチ部51によって受信された差分データを保持する。
【0127】
より詳細には、スイッチ部51におけるバッファ52は、スイッチ部51における中継対象のデータを一時的に保存するために用いられる。揮発性メモリ54は、差分データの一時的な保存領域、および管理部53によるファームウェアの作成等の作業領域として用いられる。不揮発性メモリ55には、自己のスイッチ装置151が管理する車載デバイス111の現ファームウェアが保存されている。
【0128】
スイッチ部51は、プロトコルの変換を伴わない中継処理を行う。具体的には、スイッチ部51は、たとえば、イーサネットの通信規格に従って他の装置からデータを受信すると、受信したデータをバッファ52に保存する。
【0129】
そして、スイッチ部51は、バッファ52に保存したデータを、イーサネットの通信規格に従って当該データの宛先の装置へ送信する。
【0130】
具体的には、スイッチ部51は、たとえば、ゲートウェイ101、またはゲートウェイ101と自己のスイッチ装置151との間に設けられた上流側の他のスイッチ装置151から差分データを受信し、受信した差分データをバッファ52に保存する。
【0131】
スイッチ部51は、バッファ52に保存した差分データが、下流側の他のスイッチ装置151に接続されている車載デバイス111用の差分データである中継対象データである場合、中継対象データを当該下流側の他のスイッチ装置151へ送信するとともに、少なくとも更新完了後は中継対象データをバッファ52から消去する。
【0132】
より詳細には、スイッチ部51は、たとえば、中継対象データを当該下流側他のスイッチ装置151へ送信するとすぐに中継対象データをバッファ52から消去する。
【0133】
一方、スイッチ部51は、バッファ52に保存した差分データが、他のスイッチ装置151を介さずに自己のスイッチ装置151に接続されている車載デバイス111の差分データすなわち自家用差分データである場合、自家用差分データをバッファ52から取得して管理部53へ出力する。
【0134】
管理部53は、車両1に搭載された対象機器のデータ更新を管理する。具体的には、管理部53は、他のスイッチ装置151を介さずに自己のスイッチ装置151に接続されている車載デバイス111のファームウェアを管理する。
【0135】
詳細には、管理部53は、自家用差分データから作成されるファームウェアを更新完了後も不揮発性メモリ55に保持させる。
【0136】
より詳細には、管理部53は、たとえば、ゲートウェイ101からスイッチ部51経由でリプロ依頼要求を受信すると、車載デバイス111のリプログラミング処理(以下、リプロ処理とも称する。)を開始する。
【0137】
管理部53は、リプロ処理において、スイッチ部51から自家用差分データを受けると、受けた自家用差分データを揮発性メモリ54に保存する。
【0138】
管理部53は、たとえば、自家用差分データをスイッチ部51経由で自己のスイッチ装置151に接続されている車載デバイス111へ送信することにより、当該車載デバイス111のファームウェアを更新する。また、管理部53は、たとえば、不揮発性メモリ55に保存されている更新前のファームウェアすなわち現ファームウェア、および自家用差分データから新ファームウェアを作成して揮発性メモリ54に保存する。
【0139】
管理部53は、たとえば、データ更新が完了した場合、更新前のファームウェアを不揮発性メモリ55から消去し、かつ更新後のファームウェアを不揮発性メモリ55に保持させる処理Paを行う。
【0140】
より詳細には、管理部53は、たとえば、揮発性メモリ54における新ファームウェアを不揮発性メモリ55に移動するとともに、不揮発性メモリ55における現ファームウェアを消去する。
【0141】
また、管理部53は、たとえば、新ファームウェアによる車載デバイス111の起動に失敗し、データ更新が無事に完了しなかった場合、不揮発性メモリ55に保存されている現ファームウェアを用いた車載デバイス111の再起動処理を行う。
【0142】
[動作の流れ]
図6および
図7は、本発明の実施の形態に係る車載通信システムにおいて、プロキシ方式を用いて車載デバイスにおけるファームウェアが更新される際のシーケンスの一例を示す図である。
図7は、
図6のシーケンスの続きである。
【0143】
図3〜
図7を参照して、スイッチ装置151Cに接続された車載デバイス111Cのファームウェアが更新される状況を想定する。
【0144】
まず、外部装置181は、たとえば、車載デバイス111C用の新ファームウェアの準備が整うと、新ファームウェアと現ファームウェアとの差分データを更新データとして無線基地局装置161および車外通信装置111T経由でゲートウェイ101へ送信する(ステップS202)。
【0145】
次に、ゲートウェイ101は、外部装置181から差分データを受信すると、受信した差分データを揮発性メモリ54にバッファリングする(ステップS204)。
【0146】
次に、ゲートウェイ101は、バッファリングが正常に完了した場合、車載デバイス111Cのデータ更新を指示するためのスイッチ装置151C宛てのリプロ依頼要求をスイッチ装置151Bへ送信する(ステップS206)。
【0147】
次に、スイッチ装置151Bは、ゲートウェイ101からリプロ依頼要求を受信すると、受信したリプロ依頼要求を中継してスイッチ装置151Cへ送信する(ステップS208)。
【0148】
次に、スイッチ装置151Cは、スイッチ装置151Bからリプロ依頼要求を受信すると、受信したリプロ依頼要求に従ってリプロ処理を開始する(ステップS210)。
【0149】
次に、ゲートウェイ101は、スイッチ装置151C宛ての最初の差分データをスイッチ装置151Bへ送信する(ステップS212)。
【0150】
次に、スイッチ装置151Bは、ゲートウェイ101から最初の差分データを受信すると、受信した最初の差分データを中継してスイッチ装置151Cへ送信する(ステップS214)。
【0151】
次に、スイッチ装置151Cは、スイッチ装置151Bから最初の差分データを受信すると、差分データのバッファリングを開始する。より詳細には、スイッチ装置151Cは、受信した最初の差分データを揮発性メモリ54にバッファリングする(ステップS216)。
【0152】
次に、ゲートウェイ101は、中間の差分データをたとえば分割してスイッチ装置151B経由でスイッチ装置151Cへ送信する。スイッチ装置151Cは、ゲートウェイ101によって送信された中間の差分データを揮発性メモリ54にバッファリングする(ステップS218)。
【0153】
次に、ゲートウェイ101は、スイッチ装置151C宛ての最後の差分データをスイッチ装置151Bへ送信する(ステップS220)。
【0154】
次に、スイッチ装置151Bは、ゲートウェイ101から最後の差分データを受信すると、受信した最後の差分データを中継してスイッチ装置151Cへ送信する(ステップS222)。
【0155】
次に、スイッチ装置151Cは、スイッチ装置151Bから最後の差分データを受信すると、受信した最後の差分データを揮発性メモリ54にバッファリングし、差分データのバッファリングを終了する(ステップS224)。
【0156】
次に、スイッチ装置151Cは、リプロ開始通知を車載デバイス111Cへ送信する(ステップS226)。
【0157】
次に、車載デバイス111Cは、スイッチ装置151Cからリプロ開始通知を受信すると、リプロモードへ遷移する(ステップS228)。
【0158】
次に、車載デバイス111Cは、遷移応答をスイッチ装置151Cへ送信する(ステップS230)。
【0159】
次に、スイッチ装置151Cは、車載デバイス111Cから遷移応答を受信すると、車載デバイス111Cにおいてファームウェアの更新が可能になったことを認識し、最初の差分データを車載デバイス111Cへ送信する(ステップS232)。
【0160】
次に、車載デバイス111Cは、スイッチ装置151Cから最初の差分データを受信すると、差分データのバッファリングを開始する。より詳細には、車載デバイス111Cは、受信した最初の差分データを揮発性メモリにバッファリングする(ステップS234)。
【0161】
次に、スイッチ装置151Cは、中間の差分データをたとえば分割して車載デバイス111Cへ送信する。車載デバイス111Cは、スイッチ装置151Cによって送信された中間の差分データを揮発性メモリにバッファリングする(ステップS236)。
【0162】
次に、スイッチ装置151Cは、最後の差分データを車載デバイス111Cへ送信する(ステップS238)。
【0163】
次に、車載デバイス111Cは、スイッチ装置151Cから最後の差分データを受信すると、受信した最後の差分データを揮発性メモリにバッファリングし、差分データのバッファリングを終了する(ステップS242)。
【0164】
また、スイッチ装置151Cは、不揮発性メモリ55から現ファームウェアを取得し、取得した現ファームウェアに差分データを加えることにより、新ファームウェアを作成して揮発性メモリ54に保存する(ステップS240)。
【0165】
次に、車載デバイス111Cは、バッファリングした差分データを用いて、不揮発性メモリに保存されているファームウェアを新ファームウェアに書き換える(ステップS244)。
【0166】
次に、車載デバイス111Cは、新ファームウェアで再起動する(ステップS246)。
【0167】
次に、車載デバイス111Cは、再起動に成功すると、通常動作モードへ遷移する(ステップS248)。
【0168】
次に、車載デバイス111Cは、更新完了通知をスイッチ装置151Cへ送信する(ステップS250)。
【0169】
次に、スイッチ装置151Cは、車載デバイス111Cから更新完了通知を受信すると、車載デバイス111Cにおいてファームウェアの更新が無事完了したことを認識し、リプロ処理を終了する(ステップS252)。
【0170】
次に、スイッチ装置151Cは、ゲートウェイ101宛の更新完了通知をスイッチ装置151Bへ送信する(ステップS254)。
【0171】
次に、スイッチ装置151Cにおける管理部53は、現ファームウェアを不揮発性メモリ55から消去するとともに、揮発性メモリ54に保存されている新ファームウェアを不揮発性メモリ55に保存する(ステップS256)。
【0172】
次に、スイッチ装置151Cにおける管理部53は、揮発性メモリ54に保存されている新ファームウェアを消去する(ステップS258)。
【0173】
また、スイッチ装置151Bは、スイッチ装置151Cから更新完了通知を受信すると、受信した更新完了通知を中継してゲートウェイ101へ送信する(ステップS260)。
【0174】
次に、ゲートウェイ101における管理部23は、スイッチ装置151Bから中継部21経由で更新完了通知を受信すると、差分データを揮発性メモリ24から消去する(ステップS262)。
【0175】
次に、ゲートウェイ101は、更新完了通知を車外通信装置111Tおよび無線基地局装置161経由で外部装置181へ送信する(ステップS264)。
【0176】
次に、外部装置181は、ゲートウェイ101から更新完了通知を受信すると、受信した更新完了通知に基づいてバージョン情報を更新する(ステップS266)。
【0177】
なお、車載デバイス111Cは、上記ステップS246において再起動に成功したが、再起動に失敗することがある。
【0178】
このような場合、スイッチ装置151Cは、たとえば、現ファームウェアを用いて車載デバイス111Cを再起動させる。このため、スイッチ装置151Cが更新完了通知を車載デバイス111Cから受信するまで、現ファームウェアが不揮発性メモリ25に保存される。
【0179】
また、スイッチ装置151Cは、上記ステップS256およびS258において、現ファームウェアの消去、および新ファームウェアの保存を行う構成であるとしたが、これに限定するものではない。スイッチ装置151Cは、車載デバイス111Cから送信された更新完了通知の受信確認を行う(ステップS252)前に、現ファームウェアの消去、および新ファームウェアの保存を行う構成であってもよい。
【0180】
また、スイッチ装置151Cは、上記ステップS256において、現ファームウェアを不揮発性メモリ55から消去する構成であるとしたが、これに限定するものではない。スイッチ装置151Cは、現ファームウェアの消去を行わない構成であってもよい。より詳細には、スイッチ装置151Cは、たとえば、直近の所定個数のファームウェアを保存し、保存するファームウェアの個数が当該所定個数を超える場合に、最も古いファームウェアから消去していく構成であってもよい。
【0181】
[プロキシ方式の変形例]
スイッチ装置151Cにおける管理部53は、たとえば、データ更新が完了した後、所定条件C1を満たした場合に、処理Paを行う。
【0182】
ここで、所定条件C1は、たとえば、スイッチ装置151Cにおける通信レートが所定値未満となることである。
【0183】
すなわち、管理部53は、たとえば、新ファームウェアの作成、新ファームウェアの不揮発性メモリ55への保存、および新ファームウェアの揮発性メモリ54からの消去を、上記ステップS240,S256,S258においてそれぞれ行う構成に限らず、所定条件C1を満たした場合にこれらの処理を行ってもよい。
【0184】
具体的には、管理部53は、たとえば、自己のスイッチ装置151Cにおける通信レートが所定値未満の場合にこれらの処理を行う。より具体的には、たとえば、車両1が停止している場合、自動運転用のデータ転送の頻度が小さくなるので、スイッチ装置151Cにおける通信レートが所定値未満となり所定条件C1が満たされる。
【0185】
[フック方式]
再び
図4を参照して、上述のプロキシ方式では、スイッチ装置151が、他のスイッチ装置151を介さずに自己に接続されている車載デバイス111のデータ更新を管理する構成であるとしたが、これに限定するものではない。ゲートウェイ101が、たとえば、配下のスイッチ装置151に接続されている車載デバイス111のデータ更新を管理する構成であってもよい。
【0186】
このようなデータ更新の管理の一例としてフック方式がある。フック方式では、ゲートウェイ101における管理部23は、揮発性メモリ24にバッファリングした差分データが中継対象データである場合、対応の車載デバイス111を宛先として当該差分データを中継部21経由で送信する。
【0187】
再び
図5を参照して、配下のスイッチ装置151は、たとえば、自己を介してゲートウェイ101および対象機器間で送受信されるデータを監視し、自己を介してゲートウェイ101から自己に接続されている対象機器へ送信される更新データを保持する。
【0188】
また、配下のスイッチ装置151は、たとえば、自己に接続されている対象機器からゲートウェイ101へ送信される更新完了通知を検出した場合、更新前の更新データを廃棄し、かつ更新後の更新データを保持する処理Paを行う。
【0189】
より詳細には、配下のスイッチ装置151における管理部53は、たとえば、スイッチ部51におけるバッファ52を監視する。管理部53は、ゲートウェイ101から自己のスイッチ装置151に接続されている車載デバイス111へ送信される差分データすなわち自家用差分データを検出すると、検出した自家用差分データを取得し、取得した自家用差分データを揮発性メモリ54に保持させる。
【0190】
管理部53は、たとえば、不揮発性メモリ55に保存されている更新前のファームウェアすなわち現ファームウェア、および自家用差分データから新ファームウェアを作成して揮発性メモリ54に保存する。
【0191】
また、管理部53は、スイッチ部51におけるバッファ52を監視し、自己のスイッチ装置151に接続されている車載デバイス111からゲートウェイ101へ送信される更新完了通知を検出した場合、揮発性メモリ54における新ファームウェアを不揮発性メモリ55に移動するとともに、不揮発性メモリ55における現ファームウェアを消去する。
【0192】
[動作の流れ]
図8および
図9は、本発明の実施の形態に係る車載通信システムにおいて、フック方式を用いて車載デバイスにおけるファームウェアが更新される際のシーケンスの一例を示す図である。
図9は、
図8のシーケンスの続きである。
【0193】
図3〜
図5、
図8および
図9を参照して、スイッチ装置151Cに接続された車載デバイス111Cのファームウェアが更新される状況を想定する。
【0194】
まず、外部装置181は、たとえば、車載デバイス111C用の新ファームウェアの準備が整うと、新ファームウェアと現ファームウェアとの差分データを更新データとして無線基地局装置161および車外通信装置111T経由でゲートウェイ101へ送信する(ステップS302)。
【0195】
次に、ゲートウェイ101は、外部装置181から差分データを受信すると、受信した差分データを揮発性メモリ54にバッファリングする(ステップS304)。
【0196】
次に、ゲートウェイ101は、バッファリングが正常に完了した場合、車載デバイス111C宛てのリプロ開始通知をスイッチ装置151Bへ送信する(ステップS306)。
【0197】
次に、スイッチ装置151Bは、ゲートウェイ101からリプロ開始通知を受信すると、受信したリプロ開始通知を中継してスイッチ装置151Cへ送信する(ステップS308)。
【0198】
次に、スイッチ装置151Cは、スイッチ装置151Bからリプロ開始通知を受信すると、受信したリプロ開始通知を中継して車載デバイス111Cへ送信する(ステップS310)。
【0199】
次に、スイッチ装置151Cにおける管理部53は、スイッチ部51におけるバッファ52を監視し、スイッチ部51が車載デバイス111C宛てのリプロ開始通知を中継したことを検出すると、フック処理を開始する(ステップS312)。
【0200】
また、車載デバイス111Cは、スイッチ装置151Cからリプロ開始通知を受信すると、リプロモードへ遷移する(ステップS314)。
【0201】
次に、車載デバイス111Cは、リプロモードへ遷移したことを示すゲートウェイ101宛ての遷移応答をスイッチ装置151Cへ送信する(ステップS316)。
【0202】
次に、スイッチ装置151Cは、車載デバイス111Cから遷移応答を受信すると、受信した遷移応答を中継してスイッチ装置151Bへ送信する(ステップS318)。
【0203】
次に、スイッチ装置151Bは、スイッチ装置151Cから遷移応答を受信すると、受信した遷移応答を中継してゲートウェイ101へ送信する(ステップS320)。
【0204】
次に、ゲートウェイ101は、スイッチ装置151Bから遷移応答を受信すると、車載デバイス111Cにおいてファームウェアの更新が可能になったことを認識し、車載デバイス111C宛ての最初の差分データをスイッチ装置151Bへ送信する(ステップS322)。
【0205】
次に、スイッチ装置151Bは、ゲートウェイ101から最初の差分データを受信すると、受信した最初の差分データを中継してスイッチ装置151Cへ送信する(ステップS324)。
【0206】
次に、スイッチ装置151Cは、スイッチ装置151Bから最初の差分データを受信すると、受信した最初の差分データを中継して車載デバイス111Cへ送信する(ステップS326)。
【0207】
次に、スイッチ装置151Cにおける管理部53は、スイッチ部51におけるバッファ52を監視し、スイッチ部51が最初の差分データを中継したことを検出すると、差分データのバッファリングを開始する。より詳細には、管理部53は、検出した最初の差分データを取得して揮発性メモリ54にバッファリングする(ステップS328)。
【0208】
また、車載デバイス111Cは、スイッチ装置151Cから最初の差分データを受信すると、差分データのバッファリングを開始する。より詳細には、車載デバイス111Cは、受信した最初の差分データを揮発性メモリにバッファリングする(ステップS330)。
【0209】
次に、ゲートウェイ101は、中間の差分データをたとえば分割してスイッチ装置151B,スイッチ装置151C経由で車載デバイス111Cへ送信する。スイッチ装置151Cおよび車載デバイス111Cは、ゲートウェイ101によって送信された中間の差分データをバッファリングする(ステップS332)。
【0210】
次に、ゲートウェイ101は、車載デバイス111C宛ての最後の差分データをスイッチ装置151Bへ送信する(ステップS334)。
【0211】
次に、スイッチ装置151Bは、ゲートウェイ101から最後の差分データを受信すると、受信した最後の差分データを中継してスイッチ装置151Cへ送信する(ステップS336)。
【0212】
次に、スイッチ装置151Cは、スイッチ装置151Bから最後の差分データを受信すると、受信した最後の差分データを中継して車載デバイス111Cへ送信する(ステップS338)。
【0213】
次に、スイッチ装置151Cにおける管理部53は、スイッチ部51におけるバッファ52を監視し、スイッチ部51が最後の差分データを中継したことを検出すると、検出した最後の差分データを取得して揮発性メモリ54にバッファリングし、差分データのバッファリングを終了する(ステップS340)。
【0214】
また、車載デバイス111Cは、スイッチ装置151Cから最後の差分データを受信すると、受信した最後の差分データを揮発性メモリにバッファリングし、差分データのバッファリングを終了する(ステップS342)。
【0215】
次に、スイッチ装置151Cは、不揮発性メモリ55から現ファームウェアを取得し、取得した現ファームウェアに差分データを加えることにより、新ファームウェアを作成して揮発性メモリ54に保存する(ステップS344)。
【0216】
また、車載デバイス111Cは、バッファリングした差分データを用いて、不揮発性メモリに保存されているファームウェアを新ファームウェアに書き換える(ステップS346)。
【0217】
次に、車載デバイス111Cは、新ファームウェアで再起動する(ステップS348)。
【0218】
次に、車載デバイス111Cは、再起動に成功すると、通常動作モードへ遷移する(ステップS350)。
【0219】
次に、車載デバイス111Cは、ゲートウェイ101宛ての更新完了通知をスイッチ装置151Cへ送信する(ステップS352)。
【0220】
次に、スイッチ装置151Cは、車載デバイス111Cから更新完了通知を受信すると、受信した更新完了通知を中継してスイッチ装置151Bへ送信する(ステップS354)。
【0221】
次に、スイッチ装置151Cにおける管理部53は、スイッチ部51におけるバッファ52を監視し、スイッチ部51が更新完了通知を中継したことを検出すると、車載デバイス111Cにおいてファームウェアの更新が無事完了したことを認識し、フック処理を終了する(ステップS356)。
【0222】
次に、スイッチ装置151Cにおける管理部53は、現ファームウェアを不揮発性メモリ55から消去するとともに、揮発性メモリ54に保存されている新ファームウェアを不揮発性メモリ55に保存する(ステップS358)。
【0223】
次に、スイッチ装置151Cにおける管理部53は、揮発性メモリ54に保存されている新ファームウェアを消去する(ステップS360)。
【0224】
また、スイッチ装置151Bは、スイッチ装置151Cから更新完了通知を受信すると、受信した更新完了通知を中継してゲートウェイ101へ送信する(ステップS362)。
【0225】
次に、ゲートウェイ101における管理部23は、スイッチ装置151Bから中継部21経由で更新完了通知を受信すると、差分データを揮発性メモリ24から消去する(ステップS364)。
【0226】
次に、ゲートウェイ101は、更新完了通知を車外通信装置111Tおよび無線基地局装置161経由で外部装置181へ送信する(ステップS366)。
【0227】
次に、外部装置181は、ゲートウェイ101から更新完了通知を受信すると、受信した更新完了通知に基づいてバージョン情報を更新する(ステップS368)。
【0228】
なお、スイッチ装置151Cは、上記ステップS358およびS360において、現ファームウェアの消去、および新ファームウェアの保存を行う構成であるとしたが、これに限定するものではない。スイッチ装置151Cは、車載デバイス111Cから送信された更新完了通知を検出する(ステップS356)前に、現ファームウェアの消去、および新ファームウェアの保存を行う構成であってもよい。
【0229】
また、スイッチ装置151Cは、上記ステップS358において、現ファームウェアを不揮発性メモリ55から消去する構成であるとしたが、これに限定するものではない。スイッチ装置151Cは、現ファームウェアの消去を行わない構成であってもよい。より詳細には、スイッチ装置151Cは、たとえば、直近の所定個数のファームウェアを保存し、保存するファームウェアの個数が当該所定個数を超える場合に、最も古いファームウェアから消去していく構成であってもよい。
【0230】
[フック方式の変形例]
スイッチ装置151Cにおける管理部53は、たとえば、データ更新が完了した後、上述の所定条件C1を満たした場合に上述の処理Paを行う。
【0231】
すなわち、管理部53は、たとえば、新ファームウェアの作成、新ファームウェアの不揮発性メモリ55への保存、および新ファームウェアの揮発性メモリ54からの消去を、上記ステップS344,S358,S360においてそれぞれ行う構成に限らず、上述のような所定条件C1を満たした場合にこれらの処理を行ってもよい。
【0232】
なお、本発明の実施の形態に係る車載通信システムは、2つのスイッチ装置151を備える構成であるとしたが、これに限定するものではない。車載通信システム301は、1つのスイッチ装置151を備える構成であってもよいし、3つ以上のスイッチ装置151を備える構成であってもよい。
【0233】
また、本発明の実施の形態に係る車載通信システムでは、外部装置181は、差分データをゲートウェイ101へ送信する構成であるとしたが、これに限定するものではない。外部装置181は、差分データの代わりに、新ファームウェア全体をゲートウェイ101へ送信する構成であってもよい。
【0234】
また、本発明の実施の形態に係る車載通信システムでは、プロキシ方式およびフック方式のいずれか一方の方式に従って車載デバイス111のファームウェアが更新される構成であるとしたが、これに限定するものではない。車載通信システム301では、プロキシ方式およびフック方式と異なる方式に従って車載デバイス111のファームウェアが更新される構成であってもよい。
【0235】
また、本発明の実施の形態に係る車載通信システムでは、ゲートウェイ101は、更新完了通知を受信した後に差分データを消去する構成であるとしたが、これに限定するものではない。ゲートウェイ101は、差分データの全部を送信した後であり、かつ更新完了通知を受信する前に差分データを消去する構成であってもよい。
【0236】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151B,151Cが直列に接続される構成であるとしたが、これに限定するものではない。車載通信システム301では、複数のスイッチ装置151が並列に接続される構成であってもよい。
【0237】
ところで、特許文献1に記載の車載中継装置は、車載電子制御装置に記憶されているプログラム等をフラッシュROMに記憶する。このような車載ネットワークにおいて、たとえば、車載中継装置の配下にスイッチ装置が設けられることがある。このような構成において、たとえば、多数の車載電子制御装置がスイッチ装置に接続されると、フラッシュROMの使用量が増大し、空き領域が不足することがある。
【0238】
これに対して、本発明の実施の形態に係る車載通信システムは、車両1に搭載される車載通信システムであって、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイ101と、通信プロトコルの変換を伴わない中継処理を行う1または複数のスイッチ装置151とを備える。ゲートウェイ101またはスイッチ装置151は、車両1に搭載された対象機器のデータ更新を管理する。ゲートウェイ101は、対象機器用の更新データを車両1の外部における外部装置181から受信する。そして、ゲートウェイ101は、配下のスイッチ装置151に接続されている対象機器用の更新データを当該スイッチ装置151へ送信するとともに、少なくとも更新完了後は更新データを保持せず、スイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する。
【0239】
このように、ゲートウェイ101が、配下のスイッチ装置151に接続されている対象機器用の更新データをスイッチ装置151へ送信する構成により、たとえば、当該スイッチ装置151に当該更新データを保持させることで、当該対象機器におけるデータ更新の管理を当該スイッチ装置151に行わせることができる。また、少なくとも更新完了後は、当該対象機器用の更新データをゲートウェイ101が保持しない構成により、ゲートウェイ101における記憶領域の消費を抑制することができる。また、ゲートウェイ101が、スイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0240】
また、本発明の実施の形態に係る車載通信システムは、直列に接続された複数のスイッチ装置151を備える。スイッチ装置151は、更新データを上流側であるゲートウェイ101または他のスイッチ装置151から受信する。そして、スイッチ装置151は、下流側の他のスイッチ装置151に接続されている対象機器用の更新データを当該他のスイッチ装置151へ送信するとともに、少なくとも更新完了後は更新データを保持せず、他のスイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する。
【0241】
このように、スイッチ装置151が、上流側のゲートウェイ101または他のスイッチ装置151からの更新データであって他のスイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、自己のスイッチ装置151において当該更新データが保持されるので、ゲートウェイ101は当該更新データを消去することができる。また、スイッチ装置151が、下流側の他のスイッチ装置151に接続されている対象機器用の更新データを当該他のスイッチ装置151へ送信する構成により、たとえば、当該他のスイッチ装置151に当該更新データを保持させることで、当該対象機器におけるデータ更新の管理を当該他のスイッチ装置151に行わせることができる。また、少なくとも更新完了後は、当該対象機器用の更新データをスイッチ装置151が保持しない構成により、スイッチ装置151における記憶領域の消費を抑制することができる。
【0242】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151は、他のスイッチ装置151を介さずに自己に接続されている対象機器のデータ更新を管理する。そして、ゲートウェイ101は、データ更新を管理するスイッチ装置151に対象機器のデータ更新を指示する。
【0243】
このような構成により、車載通信システム301において、対象機器の管理処理をスイッチ装置151へ分散させることができるので、ゲートウェイ101における処理負荷を軽減することをができる。
【0244】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151は、データ更新が完了した場合、更新前の更新データを廃棄し、かつ更新後の更新データを保持する処理Paを行う。
【0245】
このように、対象機器の更新が完了するまで更新前の更新データを廃棄しない構成により、たとえば、対象機器の更新が失敗した場合に、更新前の更新データを用いて当該対象機器を再起動させることができる。また、更新後の更新データを保持する構成により、新たな更新を行う場合において、対象機器の更新の失敗に備えることができる。
【0246】
また、本発明の実施の形態に係る車載通信システムでは、ゲートウェイ101は、配下のスイッチ装置151に接続されている対象機器のデータ更新を管理する。
【0247】
このような構成により、車載通信システム301において、対象機器の管理処理をゲートウェイ101に集中させることができるので、車載通信システム301のメンテナンスを簡素化することができる。
【0248】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151は、自己を介してゲートウェイ101および対象機器間で送受信されるデータを監視する。そして、スイッチ装置151は、自己を介してゲートウェイ101から対象機器へ送信される更新データを保持する。
【0249】
このような構成により、スイッチ装置151が更新データをダウンロードする処理と対象機器が当該更新データをダウンロードする処理とを並行して行うことができるので、スイッチ装置151および対象機器が更新データを順番にダウンロードする構成と比べて、ダウンロード処理に要する時間を短縮することができる。
【0250】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151は、対象機器からゲートウェイ101へ送信される更新完了通知を検出した場合、更新前の更新データを廃棄し、かつ更新後の更新データを保持する処理Paを行う。
【0251】
このように、対象機器の更新が完了した場合に送信される更新完了通知を検出するまで更新前の更新データを廃棄しない構成により、たとえば、対象機器の更新が失敗した場合に、更新前の更新データを用いて当該対象機器を再起動させることができる。また、更新後の更新データを保持する構成により、新たな更新を行う場合において、対象機器の更新の失敗に備えることができる。
【0252】
また、本発明の実施の形態に係る車載通信システムでは、スイッチ装置151は、データ更新が完了した後、所定条件C1を満たした場合に上記処理Paを行う。
【0253】
このような構成により、たとえば、データ更新が完了した直後のタイミングにおいてスイッチ装置151の通信レートが大きい場合に、上記処理Paを通信レートが小さくなるまで延期することができるので、スイッチ装置151に過度の負荷が加わることを防ぐことができる。
【0254】
また、本発明の実施の形態に係るゲートウェイは、車両1に搭載される。中継部21は、通信プロトコルの変換を伴う中継処理を行うことが可能である。管理部23は、車両1に搭載された対象機器のデータ更新を管理する。中継部21は、対象機器用の更新データを車両1の外部における外部装置181から受信する。揮発性メモリ24は、中継部21によって受信された更新データを保持する。中継部21は、通信プロトコルの変換を伴わない中継処理を行う配下のスイッチ装置151に接続されている対象機器用の更新データである中継対象データをスイッチ装置151へ送信する。そして、管理部23は、少なくとも更新完了後は中継対象データを揮発性メモリ24から消去し、スイッチ装置151を介さずに自己のゲートウェイ101に接続されている対象機器用の更新データを更新完了後も不揮発性メモリ25に保持させる。
【0255】
このように、ゲートウェイ101が、中継対象データをスイッチ装置151へ送信する構成により、たとえば、当該スイッチ装置151に当該中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該スイッチ装置151に行わせることができる。また、少なくとも更新完了後は、中継対象データを揮発性メモリ24から消去する構成により、ゲートウェイ101における記憶領域の消費を抑制することができる。また、ゲートウェイ101が、スイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、当該対象機器のデータ更新の管理を容易に行うことができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0256】
また、本発明の実施の形態に係るスイッチ装置は、車両1に搭載される。スイッチ部51は、通信プロトコルの変換を伴わない中継処理を行う。管理部53は、車両1に搭載された対象機器のデータ更新を管理する。スイッチ装置151には、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイ101が接続される。スイッチ部51は、ゲートウェイ101、またはゲートウェイ101との間に設けられた上流側の他のスイッチ装置151から対象機器用の更新データを受信する。バッファ52、揮発性メモリ54および不揮発性メモリ55は、スイッチ部51によって受信された更新データを保持する。スイッチ部51は、下流側の他のスイッチ装置151に接続されている対象機器用の更新データである中継対象データを当該下流側の他のスイッチ装置151へ送信するとともに、少なくとも更新完了後は中継対象データをバッファ52から消去する。そして、管理部53は、他のスイッチ装置151を介さずに自己のスイッチ装置151に接続されている対象機器用の更新データを更新完了後も不揮発性メモリ55に保持させる。
【0257】
このように、スイッチ装置151が、ゲートウェイまたは上流側の他のスイッチ装置151からの更新データであって他のスイッチ装置151を介さずに自己に接続されている対象機器用の更新データを更新完了後も保持する構成により、スイッチ装置は当該対象機器におけるデータ更新の管理を容易に行うことができ、また、スイッチ装置において当該更新データが保持されるので、ゲートウェイは当該更新データを消去することができる。また、スイッチ装置が、中継対象データを下流側の他のスイッチ装置151へ送信する構成により、たとえば、当該下流側の他のスイッチ装置151に中継対象データを保持させることで、対象機器におけるデータ更新の管理を当該下流側の他のスイッチ装置151に行わせることができる。また、少なくとも更新完了後は、中継対象データをバッファ52から消去する構成により、スイッチ装置151における記憶領域の消費を抑制することができる。したがって、車載通信システムにおける対象機器のデータ更新を管理しながら、ゲートウェイにおける記憶領域の空きが不足することを防ぐことができる。
【0258】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0259】
以上の説明は、以下に付記する特徴を含む。
【0260】
[付記1]
車両に搭載される車載通信システムであって、
通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイと、
通信プロトコルの変換を伴わない中継処理を行う1または複数のスイッチ装置とを備え、
前記ゲートウェイまたは前記スイッチ装置は、前記車両に搭載された対象機器のデータ更新を管理し、
前記ゲートウェイは、前記対象機器用の更新データを前記車両の外部における外部装置から受信し、配下の前記スイッチ装置に接続されている前記対象機器用の前記更新データを前記スイッチ装置へ送信するとともに、少なくとも更新完了後は前記更新データを保持せず、前記スイッチ装置を介さずに自己に接続されている前記対象機器用の前記更新データを更新完了後も保持し、
前記ゲートウェイは、CAN(Controller Area Network)の通信規格に従う通信プロトコル、およびイーサネットの通信規格に従う通信プロトコル間の中継処理を行うことが可能であり、
前記スイッチ装置は、イーサネットの通信規格に従う通信プロトコル同士の中継処理を行い、
前記外部装置は、FOTA(Firmware On−The−Air)サーバであり、前記対象機器用の最新のファームウェア、または前記対象機器が現在用いているファームウェアと前記最新のファームウェアとの差分データを前記更新データとして前記ゲートウェイへ送信する、車載通信システム。
【0261】
[付記2]
車両に搭載されるゲートウェイであって、
通信プロトコルの変換を伴う中継処理を行うことが可能な中継部と、
前記車両に搭載された対象機器のデータ更新を管理する管理部と、
記憶部とを備え、
前記中継部は、前記対象機器用の更新データを前記車両の外部における外部装置から受信し、
前記記憶部は、前記中継部によって受信された前記更新データを保持し、
前記中継部は、通信プロトコルの変換を伴わない中継処理を行う配下の前記スイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記スイッチ装置へ送信し、
前記管理部は、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、前記スイッチ装置を介さずに自己の前記ゲートウェイに接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させ、
前記中継部は、CANの通信規格に従う通信プロトコル、およびイーサネットの通信規格に従う通信プロトコル間の中継処理を行うことが可能であり、
前記スイッチ装置は、イーサネットの通信規格に従う通信プロトコル同士の中継処理を行い、
前記外部装置は、FOTAサーバであり、前記対象機器用の最新のファームウェア、または前記対象機器が現在用いているファームウェアと前記最新のファームウェアとの差分データを前記更新データとして前記ゲートウェイへ送信する、ゲートウェイ。
【0262】
[付記3]
車両に搭載されるスイッチ装置であって、
通信プロトコルの変換を伴わない中継処理を行うスイッチ部と、
前記車両に搭載された対象機器のデータ更新を管理する管理部と、
記憶部とを備え、
前記スイッチ装置には、通信プロトコルの変換を伴う中継処理を行うことが可能なゲートウェイが接続され、
前記スイッチ部は、前記ゲートウェイ、または前記ゲートウェイとの間に設けられた上流側の他の前記スイッチ装置から前記対象機器用の更新データを受信し、
前記記憶部は、前記スイッチ部によって受信された前記更新データを保持し、
前記スイッチ部は、下流側の他の前記スイッチ装置に接続されている前記対象機器用の前記更新データである中継対象データを前記下流側の他のスイッチ装置へ送信するとともに、少なくとも更新完了後は前記中継対象データを前記記憶部から消去し、
前記管理部は、他の前記スイッチ装置を介さずに自己の前記スイッチ装置に接続されている前記対象機器用の前記更新データを更新完了後も前記記憶部に保持させ、
前記ゲートウェイは、CANの通信規格に従う通信プロトコル、およびイーサネットの通信規格に従う通信プロトコル間の中継処理を行うことが可能であり、
前記スイッチ部は、イーサネットの通信規格に従う通信プロトコル同士の中継処理を行う、スイッチ装置。