(57)【要約】【課題】異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことができる車載更新装置、更新処理方法及び更新処理プログラムを提供する。【解決手段】本実施の形態に係る車載更新装置は、車外通信部にて通信を行い、複数の車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部とを備え、更新処理部は、実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。【選択図】図１
2019196158.tif 000002
【特許請求の範囲】
【請求項１】
車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、
複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、
前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、車載更新装置。
【請求項２】
前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、
前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、
前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定する、請求項１に記載の車載更新装置。
【請求項３】
前記実施判定部は、システムバージョンが同じ複数の更新用プログラムを用いた更新処理を実施可能と判定する、請求項２に記載の車載更新装置。
【請求項４】
前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項２又は請求項３に記載の車載更新装置。
【請求項５】
前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定する、請求項２又は請求項３に記載の車載更新装置。
【請求項６】
前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定する、請求項４又は請求項５に記載の車載更新装置。
【請求項７】
車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、
複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する、更新処理方法。
【請求項８】
コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、
複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、
複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する
処理を行わせる、更新処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された車載装置のプログラム又はデータを更新する車載更新装置、更新処理方法及び更新処理プログラムに関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）などの車載装置が搭載され、複数のＥＣＵがＣＡＮ（Controller Area Network）バスなどの通信線を介して接続されて相互に情報の送受信を行うことが可能とされている。各ＥＣＵは、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の記憶部に記憶されたプログラムをＣＰＵ（Central Processing Unit）などの処理装置が読み出して実行することにより、車両の制御などの種々の処理を行っている。ＥＣＵの記憶部に記憶されたプログラム又はデータは、例えば機能追加、不具合の修正又はバージョンアップ等の必要が生じた際には、新たなプログラム又はデータに書き換える更新処理を行う必要がある。この場合、更新処理の対象となるＥＣＵに対して、通信線を介して更新用のプログラム又はデータを送信することが行われている。
【０００３】
特許文献１においては、ネットワークに含まれる書換可能な全てのＥＣＵから読み出した現在バージョン情報と、この現在バージョン情報に対応する最新バージョン情報とを比較し、両バージョン情報が一致しないＥＣＵを対象ＥＣＵとして抽出し、抽出した対象ＥＣＵに対して順番ＤＢ（データベース）に記憶されている優先順番でプログラム書換動作を連続して実行するプログラム書換装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１８８０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のプログラム書換装置は、例えば車両のディーラ又は整備工場等に備えられる装置であり、車両に設けられたコネクタに有線接続された後、車両のゲートウェイに対してＥＣＵの更新用のプログラムを送信する構成である。これに対して近年では、車両とサーバ装置とが無線通信を行い、サーバ装置がＥＣＵの更新用プログラムを車両へ送信することで車両のＥＣＵの更新処理を行う技術、いわゆるリモートリプログラミングの技術が研究開発されている。リモートプログラミングによる更新処理を行う機能と、プログラム書換装置などの有線接続による更新処理を行う機能とが共に車両に搭載された場合、両更新処理を実施する要求が同時的に行われる可能性がある。例えば、一方の機能による更新処理を行っている途中に、他方の機能による更新処理を行う要求が与えられる可能性がある。このような場合の対処法について、従来は検討がなされていなかった。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことができる車載更新装置、更新処理方法及び更新処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本態様に係る車載更新装置は、車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【０００８】
本態様に係る更新処理方法は、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【０００９】
本態様に係る更新処理プログラムは、コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する処理を行わせる。
【００１０】
なお、本願は、このような特徴的な処理部を備える車載更新装置として実現することができるだけでなく、かかる特徴的な処理をステップとする更新処理方法として実現したり、かかるステップをコンピュータに実行させるための更新処理プログラムとして実現したりすることができる。また、車載更新装置の一部又は全部を実現する半導体集積回路として実現したり、車載更新装置を含むその他の装置又はシステムとして実現したりすることができる。
【発明の効果】
【００１１】
上記によれば、異なる経路から複数の更新処理が与えられた場合に、車両に搭載された複数の車載装置の更新処理を適切に行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係る車載更新システムの構成を示す模式図である。
【図２】本実施の形態に係るゲートウェイの構成を示すブロック図である。
【図３】車載システムのバージョン対応情報の一例を示す模式図である。
【図４】本実施の形態に係るＥＣＵの構成を示すブロック図である。
【図５】更新処理の実施の可否判定を説明するための模式図である。
【図６】更新処理の実施の可否判定を説明するための模式図である。
【図７】更新処理の実施の可否判定を説明するための模式図である。
【図８】本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。
【図９】本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。
【図１０】本実施の形態に係るゲートウェイが行う更新処理の手順を示すフローチャートである。
【図１１】本実施の形態に係るＥＣＵが行う更新処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
［本発明の実施の形態の説明］
最初に本発明の実施態様を列記して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１４】
（１）本態様に係る車載更新装置は、車両の外部の装置と通信を行う複数の車外通信部と、前記車両に搭載された複数の車載装置との通信を行う車内通信部と、前記車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを、前記車外通信部にて前記外部の装置から受信して、前記車内通信部にて前記車載装置へ送信する更新処理部とを備える車載更新装置であって、複数の前記車外通信部にて異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定する実施判定部を備え、前記更新処理部は、前記実施判定部が複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【００１５】
本態様にあっては、車両に搭載された複数の車載装置のプログラムを更新する処理を行う車載更新装置が、有線又は無線による複数の通信経路で車両の外部の装置と通信を行うことができる。車載更新装置は、外部の装置から車載装置の更新用プログラムを受信し、車内通信にて更新用プログラムを車載装置へ送信することで、この車載装置が記憶しているプログラムの更新処理を行う。車載更新装置は、外部の装置から更新用プログラムと共に、更新用プログラムのバージョン情報を取得する。異なる外部の装置から異なる更新用プログラムを受信した場合、車載更新装置は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
これにより車載更新装置は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【００１６】
（２）前記バージョン情報は、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、各車載装置に対して個別に付される装置バージョンとを含み、前記システムバージョン及び前記装置バージョンの対応関係を記憶する記憶部を備え、前記実施判定部は、複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用である場合に、当該複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
【００１７】
本態様にあっては、更新用プログラムと共に外部の装置から取得するバージョン情報には、協働する複数の車載装置を一群とした車載システムに対して付されるシステムバージョンと、車載装置に対して個別に付される装置バージョンとが含まれる。車載更新装置は、システムバージョンと装置バージョンとの対応関係を記憶しておく。これにより車載更新装置は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
例えば複数の外部装置から与えられた複数の更新用プログラムが異なる車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システムに含まれる車載装置の間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず更新処理を並行して実施することが可能である。
【００１８】
（３）前記実施判定部は、システムバージョンが同じ複数の更新用プログラムを用いた更新処理を実施可能と判定することが好ましい。
【００１９】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムが、共通の車載システムに含まれる車載装置の更新用のものである場合、車載更新装置は、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、車載更新装置は、この複数の更新用プログラムを用いた更新処理を並行して実施する。車載システムに含まれる複数の車載装置が実行するプログラムはシステムバージョンが一致することが好ましいため、車載更新装置は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
【００２０】
（４）前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、先に更新処理を開始した一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
【００２１】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これにより、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
【００２２】
（５）前記実施判定部は、システムバージョンが異なる複数の更新用プログラムについて、システムバージョンが最新の一の更新用プログラムの更新処理を優先し、他の更新用プログラムの更新処理を実施不可能と判定することが好ましい。
【００２３】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、車載更新装置は、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定する。これにより車載更新装置は、車載装置のプログラムを最新のシステムバージョンへ更新することができる。
【００２４】
（６）前記実施判定部は、前記他の更新用プログラムの装置バージョンが、更新処理を優先したシステムバージョンに対応する装置バージョンと同じである場合には、前記他の更新用プログラムを用いた更新処理を並列して実施可能と判定することが好ましい。
【００２５】
本態様にあっては、複数の外部装置から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理が実施不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施可能と判定したシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並列して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、車載更新装置が更新処理を実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
【００２６】
（７）本態様に係る更新処理方法は、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する更新処理方法であって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する。
【００２７】
本態様にあっては、態様（１）と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【００２８】
（８）本態様に係る更新処理プログラムは、コンピュータに、車載装置の記憶部に記憶されたプログラムを更新するための更新用プログラムを車両の外部の装置から受信し、受信した更新用プログラムを前記車載装置へ送信する処理を行わせる更新処理プログラムであって、複数の異なる外部の装置から異なる更新用プログラムをそれぞれ受信した場合に、前記更新用プログラムのバージョン情報に基づいて、各更新用プログラムを用いた更新処理の実施の可否を判定し、複数の更新用プログラムについて更新処理の実施が可能であると判定した場合に、当該複数の更新用プログラムを用いた更新処理を並行して実施する処理を行わせる。
【００２９】
本態様にあっては、態様（１）と同様に、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【００３０】
［本発明の実施形態の詳細］
本発明の実施形態に係る車載更新システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３１】
＜システム概要＞
図１は、本実施の形態に係る車載更新システムの構成を示す模式図である。本実施の形態に係る車載更新システム１００は、車両１に搭載された複数のＥＣＵ２ａ〜２ｅと、１つの無線通信装置３と、１つのゲートウェイ１０とを備えている。各ＥＣＵ２ａ〜２ｅは、通信線１ａ又は１ｂのいずれかに接続されており、接続された通信線１ａ又は１ｂを介した通信を行うことができる。図示の例においては、通信線１ａに２つのＥＣＵ２ａ，２ｂが接続され、通信線１ｂに３つのＥＣＵ２ｃ〜２ｅが接続されており、２つの通信線１ａ，１ｂはゲートウェイ１０に接続されている。ゲートウェイ１０は通信線１ａ，１ｂ間の通信を中継し、これにより複数のＥＣＵ２ａ〜２ｅは通信線１ａ，１ｂ及びゲートウェイ１０を介して通信を行うことができる。
【００３２】
また本実施の形態に係る車載更新システム１００では、ゲートウェイ１０に通信線１ｃを介して無線通信装置３が接続されている。ゲートウェイ１０は、無線通信装置３を介して車両１の外部に設置されたサーバ装置９との通信を行うことができる。また車両１の適所には外部の機器を有線で接続するためのコネクタ４が設けられており、ゲートウェイ１０は通信線１ｄを介してコネクタ４に接続されている。コネクタ４には、例えば通信ケーブル８ａを介してダイアグツール８が着脱可能に接続される。これによりゲートウェイ１０は、通信線１ｄ、コネクタ４及び通信ケーブル８ａを介してダイアグツール８との通信を行うことができる。
【００３３】
ＥＣＵ２ａ〜２ｅは、例えば車両１のエンジンの動作を制御するＥＣＵ、ドアのロック／アンロックを制御するＥＣＵ、ライトの点灯／消灯を制御するＥＣＵ、エアバッグの動作を制御するＥＣＵ、及び、ＡＢＳ（Antilock Brake System）の動作を制御するＥＣＵ等の種々のＥＣＵが含まれ得る。各ＥＣＵ２ａ〜２ｅは、車両１に配された通信線１ａ又は１ｂに接続され、通信線１ａ，１ｂを介して他のＥＣＵ２ａ〜２ｅ及びゲートウェイ１０との間でデータの送受信を行うことができる。
【００３４】
また本実施の形態に係る車両１においては、エンジンの制御、ドアロックの制御又はライトの制御等の機能が、複数のＥＣＵ２ａ〜２ｅの協働により実現されている。図示の例では、通信線１ａに接続された２つのＥＣＵ２ａ、２ｂは協働により１つの機能を実現する車載システム２Ａを構成しており、通信線１ｂに接続された３つのＥＣＵ２ｃ〜２ｅは協働により１つの機能を実現する車載システム２Ｂを構成している。例えば車載システム２ＡのＥＣＵ２ａ，２ｂは、各々の処理を行って処理結果を通信により情報交換し、情報交換により得られた情報を基に各々の処理を行うことで、協働による機能を実現している。なお本例では、通信線１ａ，１ｂ毎に車載システム２Ａ，２Ｂを設ける構成としているが、これに限るものではなく、１つの車載システムに含まれる複数のＥＣＵが異なる通信線に接続されていてもよい。
【００３５】
無線通信装置３は、例えば携帯電話通信網又は無線ＬＡＮ（Local Area Network）等の無線通信を行うことによって、車両１の外部に設置されたサーバ装置９との間で通信を行うことができる。無線通信装置３は、ゲートウェイ１０及びサーバ装置９の間の通信を中継することができ、ゲートウェイ１０から与えられたデータをサーバ装置９へ送信すると共に、サーバ装置９から受信したデータをゲートウェイ１０へ与える。
【００３６】
ゲートウェイ１０は、車両１の車内ネットワークを構成する複数の通信線１ａ〜１ｄが接続され、通信線間のデータの送受信を中継する処理を行う。図１に示す例においては、ゲートウェイ１０には４つの通信線１ａ〜１ｄ、即ち２つのＥＣＵ２ａ，２ｂが接続された第１の通信線１ａ、３つのＥＣＵ２ｃ〜２ｅが接続された第２の通信線１ｂ、無線通信装置３が接続された第３の通信線１ｃ、並びに、コネクタに接続された第４の通信線１ｄが接続されている。ゲートウェイ１０は、いずれかの通信線１ａ〜１ｄから受信したデータを他の通信線１ａ〜１ｄへ送信することによって、データの中継を行う。
【００３７】
サーバ装置９は、車両１に搭載されるＥＣＵ２ａ〜２ｅにて実行されるプログラム及びデータを管理及び記憶している。サーバ装置９は、車両１からの問合わせに応じてプログラムなどの更新が必要であるか否かを通知すると共に、更新が必要である場合には更新用のプログラム及びデータ（以下、単に更新用プログラムという）を車両１へ配信する処理を行う。またサーバ装置９は、更新用プログラムのバージョン情報を更新用プログラムと共に配信する。
【００３８】
ダイアグツール８は、例えば車両１のディーラ又は整備工場等に備えられる装置であり、車両１の不具合の検査又は設定変更等を作業者が行うための装置である。ダイアグツール８は、例えば操作部及び表示部等を有する可搬型の装置である。作業者がダイアグツール８の通信ケーブル８ａを車両１のコネクタ４に接続し、適宜の認証処理などを経た後で、ダイアグツール８及び車両１のゲートウェイ１０が通信可能となる。本実施の形態においてダイアグツール８は、車両１に搭載されたＥＣＵ２ａ〜２ｅが実行するプログラムを更新するための更新用プログラムを車両１へ送信することができる。またダイアグツール８は、更新用プログラムのバージョン情報を更新用プログラムと共に送信する。
【００３９】
本実施の形態に係る車載更新システム１００では、ゲートウェイ１０が無線通信装置３を介して定期的にサーバ装置９との通信を行い、ＥＣＵ２ａ〜２ｅが記憶しているプログラム又はデータの更新の有無を確認する。更新がある場合、ゲートウェイ１０は、更新用プログラムをサーバ装置９から取得して自身のメモリに記憶する。更新用プログラムの取得が完了した後、ゲートウェイ１０は、通信線１ａ，１ｂを介して更新対象のＥＣＵ２ａ〜２ｅへ更新用プログラムを送信することによって、ＥＣＵ２ａ〜２ｅの更新処理を行う。ＥＣＵ２ａ〜２ｅは、ゲートウェイ１０から送信された更新用プログラムを受信して自身のメモリに蓄積し、更新用プログラムを全て受信し終えた後に自身の実行するプログラムを蓄積した更新用プログラムに変更することによって、プログラムの更新を行う。
【００４０】
また本実施の形態に係る車載更新システム１００は、上述のサーバ装置９から取得した更新用プログラムを用いた更新処理の他に、ダイアグツール８から取得した更新用プログラムを用いた更新処理を行うことが可能である。例えば車両１のディーラ又は整備工場等の作業者は、ダイアグツール８を接続して車両１の検査を行い、ＥＣＵ２ａ〜２ｅのプログラムを更新する必要があると判断した場合に、ダイアグツール８から更新用プログラムを車両１へ送信してＥＣＵ２ａ〜２ｅの更新処理を行わせることができる。作業者の操作に応じてダイアグツール８は更新用プログラムを車両１へ送信し、この更新用プログラムをゲートウェイ１０が受信する。以降の更新処理は、サーバ装置９から更新用プログラムを取得した場合と同様である。
【００４１】
本実施の形態に係る車載更新システム１００では、ゲートウェイ１０がＥＣＵ２ａ〜２ｅのプログラムの更新するための更新用プログラムを、無線通信装置３を利用してサーバ装置９から取得する場合と、コネクタ４に接続されたダイアグツール８から取得する場合とがあり得る。例えば、ユーザが車両１を車検などの目的でディーラへ向かう際にサーバ装置９から受信した更新プログラムを用いた更新処理が開始され、この更新処理が終了する前にディーラにて作業者がダイアグツール８を用いた更新処理を実施する可能性がある。また例えば、ディーラにて作業者がダイアグツール８を用いた更新処理を開始した後に、車両１及びサーバ装置９の自動的な通信が行われて更新処理が行われる可能性がある。
【００４２】
本実施の形態に係る車載更新システム１００は、サーバ装置９から取得した更新用プログラムを用いた更新処理と、ダイアグツール８から取得した更新用プログラムを用いた更新処理とを、特定の条件が成立する場合に、並列して実施することが可能である。車載更新システム１００は、ゲートウェイ１０がサーバ装置９又はダイアグツール８から更新用プログラムを取得する際に、更新用プログラムのバージョン情報を取得する。ゲートウェイ１０は、サーバ装置９から取得した更新用プログラムのバージョン情報と、ダイアグツール８から取得した更新用プログラムのバージョン情報を比較することで、両更新用プログラムを用いた更新処理を並行して実施可能であるか否かを判定する。またゲートウェイ１０は、並行して実施することができないと判定した場合、いずれの更新用プログラムを用いた更新処理を優先して行うかを判定する。
【００４３】
＜装置構成＞
図２は、本実施の形態に係るゲートウェイ１０の構成を示すブロック図である。本実施の形態に係るゲートウェイ１０は、処理部（プロセッサ）１１、記憶部（ストレージ）１２及び通信部（トランシーバ）１３ａ〜１３ｄ等を備えて構成されている。処理部１１は、例えばＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部１２に記憶されたプログラム１２ａを読み出して実行することにより、種々の演算処理を行う。本実施の形態において処理部１１は、車内ネットワークの通信線１ａ〜１ｄ間のデータ送受信を中継する処理、及び、ＥＣＵ２ａ〜２ｅの更新処理等に必要な演算処理を行う。
【００４４】
記憶部１２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。記憶部１２は、処理部１１が実行する各種のプログラム、及び、処理部１１の処理に必要な各種のデータを記憶する。本実施の形態において記憶部１２は、処理部１１が実行するプログラム１２ａと、このプログラム１２ａの実行に必要なデータとしてバージョン対応情報１２ｂとを記憶している。なおプログラム１２ａは、例えばゲートウェイ１０の製造段階において記憶部１２に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをゲートウェイ１０が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体１０１に記録されたものをゲートウェイ１０が読み出して記憶部１２に記憶してもよく、また例えば記録媒体１０１に記録されたものを書込装置が読み出してゲートウェイ１０の記憶部１２に書き込んでもよい。プログラム１２ａは、ネットワークを介した配信の態様で提供されてもよく、記録媒体１０１に記録された態様で提供されてもよい。
【００４５】
本実施の形態において記憶部１２には、バージョン対応情報１２ｂが記憶される。バージョン対応情報１２ｂは、車両１に備えられた各車載システム２Ａ，２Ｂに対して付与されたシステムバージョンと、車載システム２Ａ，２Ｂに含まれる各ＥＣＵ２ａ〜２ｅに対して付与された装置バージョンとの対応が記憶されている。図３は、車載システム２Ａのバージョン対応情報１２ｂの一例を示す模式図である。図３の上段に示すように、車載システム２Ａには２つのＥＣＵ２ａ，２ｂが含まれており、バージョン対応情報１２ｂには車載システム２Ａのシステムバージョン１に対してＥＣＵ２ａの装置バージョン１及びＥＣＵ２ｂの装置バージョン１が対応付けられている。またバージョン対応情報１２ｂには、車載システム２Ａのシステムバージョン２に対してＥＣＵ２ａの装置バージョン２及びＥＣＵ２ｂの装置バージョン１が対応付けられている。なおシステムバージョン及び装置バージョンは、数値が大きいほど新しいプログラムが用いられているものとし、バージョン対応情報１２ｂに記憶された最新のバージョンのプログラムが車両１の各ＥＣＵ２ａ〜２ｅに適用されているものとする。
【００４６】
ゲートウェイ１０は、サーバ装置９又はダイアグツール８から更新用プログラムを取得した際に、この更新用プログラムに関するバージョン情報を取得する。例えばゲートウェイ１０がＥＣＵ２ａの更新用プログラムと共に取得したバージョン情報を図３の中段に示す。ゲートウェイ１０が取得するバージョン情報には、更新用プログラムを取得したＥＣＵ２ａの装置バージョンの他に、このＥＣＵ２ａが含まれる車載システム２Ａのシステムバージョンと、この車載システム２Ａに含まれる他のＥＣＵ２ｂの装置バージョンとの情報が含まれる。
【００４７】
サーバ装置９又はダイアグツール８から更新用プログラムと共にバージョン情報を取得したゲートウェイ１０は、更新用プログラムを用いた更新処理を行うと共に、取得したバージョン情報を記憶部１２のバージョン対応情報１２ｂに追加して記憶する（図３の下段参照）。なおゲートウェイ１０は、ＥＣＵ２ｂの更新用プログラムと共に同じ内容のバージョン情報を取得するが、内容が重複する場合には取得したバージョン情報を破棄してよい。また本実施の形態においては、ゲートウェイ１０がサーバ装置９又はダイアグツール８から取得するバージョン情報に、システムバージョンと共に複数のＥＣＵ２ａ，２ｂの装置バージョンを含む構成としたが、これに限るものではなく、システムバージョンと１つのＥＣＵ２ａの装置バージョンを含み、他のＥＣＵ２ｂの装置バージョンを含まない構成であってもよい。
【００４８】
また、本実施の形態においてゲートウェイ１０は、４つの通信部１３ａ〜１３ｄを備えている。通信部１３ａ〜１３ｄは、車内ネットワークを構成する通信線１ａ〜１ｄのいずれかに接続され、所定の通信プロトコルに従ってデータの送受信を行う。本実施の形態において、通信部１３ａ〜１３ｄはＣＡＮの通信規格に基づくデータの送受信を行うものとするが、通信規格はＣＡＮ以外のどのようなものであってもよい。通信部１３ａ〜１３ｄは、処理部１１から与えられたデータを電気信号に変換して通信線１ａ〜１ｄへ出力することによって情報を送信すると共に、通信線１ａ〜１ｄの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部１１へ与える。なおゲートウェイ１０が備える４つの通信部１３ａ〜１３ｄは、それぞれ異なる通信プロトコルに従って通信を行うものであってもよい。
【００４９】
また処理部１１には、記憶部１２に記憶されたプログラム１２ａが実行されることによって、更新処理部１１ａ、バージョン情報取得部１１ｂ、更新実施判定部１１ｃ及び中継処理部１１ｄ等がソフトウェア的な機能ブロックとして実現される。更新処理部１１ａは、サーバ装置９又はダイアグツール８から取得した更新用プログラムを更新対象のＥＣＵ２ａ〜２ｅへ送信することによって、ＥＣＵ２ａ〜２ｅが記憶しているプログラムを更新する処理を行う。更新処理部１１ａは、無線通信装置３を用いたサーバ装置９との通信を行うことにより、定期的に車両１に搭載されたＥＣＵ２ａ〜２ｅのプログラムを更新する必要があるか否かの問合わせを行う。更新の必要がある場合、更新処理部１１ａは、サーバ装置９から更新用プログラムを取得して記憶部１２に記憶する。また更新処理部１１ａは、コネクタ４に接続されたダイアグツール８からＥＣＵ２ａ〜２ｅのプログラムを更新する旨の命令が与えられた場合、ダイアグツール８から更新用プログラムを取得して記憶部１２に記憶する。その後、更新処理部１１ａは、記憶部１２に記憶した更新用プログラムを、更新対象のＥＣＵ２ａ〜２ｅが接続された通信線１ａ又は１ｂへ送信し、ＥＣＵ２ａ〜２ｅにプログラムの更新を行わせる。
【００５０】
バージョン情報取得部１１ｂは、サーバ装置９又はダイアグツール８から更新用プログラムを取得する際に、この更新用プログラムに関するバージョン情報を取得する処理を行う。バージョン情報取得部１１ｂは、サーバ装置９又はダイアグツール８から取得したバージョン情報を、記憶部１２のバージョン対応情報１２ｂに追加して記憶する。
【００５１】
更新実施判定部１１ｃは、サーバ装置９又はダイアグツール８から取得した更新用プログラムを用いたＥＣＵ２ａ〜２ｅの更新処理の実施の可否を判定する処理を行う。サーバ装置９又はダイアグツール８のいずれか一方のみから更新用プログラムが与えられてＥＣＵ２ａ〜２ｅを更新する要求が与えられている場合、更新実施判定部１１ｃは、この更新用プログラムを用いた更新処理の実施が可能であると判定する。サーバ装置９及びダイアグツール８の両方から更新処理の要求が与えられている場合、更新実施判定部１１ｃは、記憶部１２に記憶したバージョン対応情報１２ｂに基づいて、両更新処理を並行して実施することが可能であるか否かを判定する。また更新実施判定部１１ｃは、並行して実施することが可能ではないと判定した場合、いずれの更新処理を優先して実施するかを判定する。
【００５２】
中継処理部１１ｄは、いずれかの通信線１ａ〜１ｄにて受信したデータを、他の通信線１ａ〜１ｄから送信することによって、通信線１ａ〜１ｄ間のデータ送受信を中継する処理を行う。中継処理部１１ｄは、受信した全てのデータを中継する必要はなく、受信したデータについて中継の要否の判定、及び、データの中継先の決定等の処理を行う。中継処理部１１ｄは、中継が必要な受信データを、このデータを必要とする装置が接続された通信線１ａ〜１ｄへ送信する。
【００５３】
図４は、本実施の形態に係るＥＣＵ２ａの構成を示すブロック図である。なお本図においては、車両１に搭載された複数のＥＣＵ２ａ〜２ｅのうち、１つのＥＣＵ２ａの構成を図示しているが、他のＥＣＵ２ｂ〜２ｅについても同様の構成である。また図４に示すブロック図は、複数のＥＣＵ２ａ〜２ｅに共通の機能ブロックを抜き出して示しており、ＥＣＵ２ａ〜２ｅ毎に異なる機能ブロックについては図示を省略している。本実施の形態に係るＥＣＵ２ａは、処理部（プロセッサ）２１、記憶部（ストレージ）２２及び通信部（トランシーバ）２３等を備えて構成されている。処理部２１は、例えばＣＰＵ又はＭＰＵ等の演算処理装置を用いて構成され、記憶部２２に記憶されたプログラム２２ａを読み出して実行することにより、種々の演算処理を行う。なお記憶部２２に記憶されるプログラム２２ａは、ＥＣＵ２ａ〜２ｅ毎にその内容が異なっている。
【００５４】
記憶部２２は、フラッシュメモリ又はＥＥＰＲＯＭ等の不揮発性のメモリ素子を用いて構成されている。記憶部２２は、処理部２１が実行するプログラム２２ａと、このプログラム２２ａの実行に必要なデータとを記憶する。なお以下において"プログラム２２ａ"との記載には、プログラム２２ａと、このプログラム２２ａの実行に必要なデータとを含み得る。最初期のプログラム２２ａは、例えばＥＣＵ２ａの製造段階において記憶部２２に書き込まれてもよく、また例えばメモリカード又は光ディスク等の記録媒体に記録されたものをＥＣＵ２ａが読み出して記憶部２２に記憶してもよく、また例えば記録媒体に記録されたものを書込装置が読み出してＥＣＵ２ａの記憶部２２に書き込んでもよい。ただし本実施の形態においては、ＥＣＵ２ａが車両１に搭載された後、ゲートウェイ１０から通信線１ａを介して送信された更新用プログラムをＥＣＵ２ａが受信し、受信した更新用プログラムによりＥＣＵ２ａが記憶部２２のプログラム２２ａを更新する。
【００５５】
本実施の形態においてＥＣＵ２ａの記憶部２２は、プログラム２２ａを記憶するための２つの領域が設けられている。２つの領域は、いずれもプログラム２２ａを記憶する十分な記憶容量を有している。処理部２１は記憶部２２の一方の領域からプログラム２２ａを読み出して処理を行い、ゲートウェイ１０から受信した更新用プログラムが記憶部２２の他方の領域に記憶される。ＥＣＵ２ａは、ゲートウェイ１０から更新用プログラムの全ての受信を完了した後、処理部２１がプログラム２２ａを読み出す領域を切り替えることによって、プログラム２２ａの更新を行う。
【００５６】
通信部２３は、車内ネットワークを構成する通信線１ａに接続され、例えばＣＡＮの通信プロトコルに従ってデータの送受信を行う。通信部２３は、処理部２１から与えられたデータを電気信号に変換して通信線１ａへ出力することによってデータを送信すると共に、通信線１ａの電位をサンプリングして取得することによりデータを受信し、受信したデータを処理部２１へ与える。
【００５７】
また本実施の形態に係るＥＣＵ２ａの処理部２１には、更新用情報受信部２１ａ及び更新処理部２１ｂが設けられている。更新用情報受信部２１ａ及び更新処理部２１ｂは、記憶部２２に記憶されたプログラム２２ａの更新を行うための機能ブロックである。更新用情報受信部２１ａ及び更新処理部２１ｂは、更新処理の対象となるプログラム２２ａとは別のプログラム（図示は省略する）を処理部２１が実行することにより実現されるソフトウェア的な機能ブロックである。更新用情報受信部２１ａは、通信線１ａ又は１ｂを介して送信される更新用のプログラムを通信部２３にて受信し、受信した更新用のプログラムを記憶部２２の未使用の領域に記憶する処理を行う。
【００５８】
更新処理部２１ｂは、記憶部２２の未使用領域に更新用プログラムの全ての記憶を完了した後、処理部２１がプログラム２２ａを実行する記憶部２２の領域を、現在実行しているプログラム２２ａが記憶されている領域から、更新用プログラムを記憶した領域へ切り替える処理を行う。これにより処理部２１は、ゲートウェイ１０から更新用プログラムとして取得した新たなプログラム２２ａを記憶部２２から読み出して実行し、プログラム２２ａの更新が完了する。更新完了後、ＥＣＵ２ａは、以前のプログラム２２ａが記憶されていた記憶部２２の領域に対して、データの消去処理を行ってもよい。
【００５９】
＜更新処理＞
本実施の形態に係る車載更新システム１００では、ゲートウェイ１０がサーバ装置９及びダイアグツール８からそれぞれＥＣＵ２ａ〜２ｅの更新用プログラムを与えられ、ＥＣＵ２ａ〜２ｅの更新処理を行う要求が与えられる。サーバ装置９又はダイアグツール８のいずれか一方のみから更新処理を行う要求が与えられた場合、ゲートウェイ１０は、この要求に係る更新処理を実施することが可能であると判定し、この更新処理を実施する。
【００６０】
これに対して、サーバ装置９及びダイアグツール８の両方から更新処理を行う要求が与えられた場合、ゲートウェイ１０は、両更新処理の実施の可否を判定する。なお、上記の「サーバ装置９及びダイアグツール８の両方から更新処理を行う要求が与えられた場合」には、サーバ装置９及びダイアグツール８から同時的に要求が与えられた場合、サーバ装置９からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にダイアグツール８から別の要求が与えられた場合、並びに、ダイアグツール８からの要求が与えられてからこの要求に係る更新処理が完了するまでの間にサーバ装置９から別の要求が与えられた場合を含み得る。
【００６１】
サーバ装置９から与えられた更新要求の対象となるＥＣＵ２ａ〜２ｅが含まれる車載システム２Ａ，２Ｂと、ダイアグツール８から与えられた更新要求の対象となるＥＣＵ２ａ〜２ｅが含まれる車載システム２Ａ，２Ｂとが異なる場合、ゲートウェイ１０は、両更新要求に係る更新処理を並列して実施可能と判定する。例えば、サーバ装置９から車載システム２ＡのＥＣＵ２ａのための更新用プログラムを受信し、ダイアグツール８から車載システム２ＢのＥＣＵ２ｃのための更新用プログラムを受信した場合、ゲートウェイ１０は、両更新用プログラムを用いた更新処理を並列して実施可能と判定し、通信線１ａを介したＥＣＵ２ａへの更新用プログラムの送信と、通信線１ｂを介したＥＣＵ２ｃへの更新用プログラムの送信とを並列して実施する。
【００６２】
サーバ装置９からの更新要求の対象となる車載システム２Ａ，２Ｂと、ダイアグツール８からの更新要求の対象となる車載システム２Ａ，２Ｂとが同じであり、更新対象となるＥＣＵ２ａ〜２ｅが異なる場合、ゲートウェイ１０は、サーバ装置９及びダイアグツール８から取得した両更新用プログラムのバージョン情報に含まれるシステムバージョン及び装置バージョンと、その時点における車載システム２Ａ，２Ｂのシステムバージョン及び各ＥＣＵ２ａ〜２ｅの装置バージョンとを比較する。図５〜図７は、更新処理の実施の可否判定を説明するための模式図であり、サーバ装置９から車載システム２ＡのＥＣＵ２ａの更新用プログラムを受信し、ダイアグツール８から車載システム２ＡのＥＣＵ２ｂの更新用プログラムを受信した場合におけるバージョン情報の一例を示してある。図５〜図７のいずれの例においても、更新処理の実施前は車載システム２Ａがシステムバージョン２であり、ＥＣＵ２ａが装置バージョン２であり、ＥＣＵ２ｂが装置バージョン１であるものとする。
【００６３】
図５に示す例は、サーバ装置９からシステムバージョン３且つ装置バージョン３のＥＣＵ２ａの更新用プログラムが与えられ、ダイアグツール８からシステムバージョン３且つ装置バージョン２の更新用プログラムが与えられた場合のバージョン対応情報１２ｂである。両更新用プログラムを用いてＥＣＵ２ａ、２ｂの更新処理を行った場合、更新処理後のシステムバージョンは共に３である。このように、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムについて、複数の更新用プログラムのシステムバージョンが一致する場合、ゲートウェイ１０は、これらの更新用プログラムを用いた更新処理を並行して実施可能であると判定する。
【００６４】
判定結果に基づいてゲートウェイ１０は、ＥＣＵ２ａへの更新用プログラムの送信と、ＥＣＵ２ｂへの更新用プログラムの送信とを並行して行う。ただしＥＣＵ２ａ、２ｂは同一の通信線１ａに接続されているため、ゲートウェイ１０は、例えば両ＥＣＵ２ａ，２ｂへの更新用プログラムの送信を交互に行ってもよく、また例えばいずれか一方のＥＣＵ２ａ，２ｂへの更新用プログラムの送信を終えた後に他方のＥＣＵ２ａ，２ｂへの更新用プログラムの送信を行ってもよい。ゲートウェイ１０による複数の更新処理を並行して実施する方法は、必ずしも複数の更新処理を同時に行うものでなくてよく、上記のような実質的に並行して更新処理を行うものであってよい。
【００６５】
図６に示す例は、サーバ装置９からシステムバージョン３且つ装置バージョン３のＥＣＵ２ａの更新用プログラムが与えられ、ダイアグツール８からシステムバージョン４且つ装置バージョン３の更新用プログラムが与えられた場合のバージョン対応情報１２ｂである。この例では、ＥＣＵ２ａの更新用プログラムのシステムバージョンが３であるのに対し、ＥＣＵ２ｂの更新用プログラムのシステムバージョンが４であり、両システムバージョンが一致しない。このように複数の更新用プログラムのシステムバージョンが一致しない場合、ゲートウェイ１０は、これらの更新用プログラムを用いた更新処理を並行して実施することは不可能であると判定する。
【００６６】
並行して実施することが不可能と判定した場合、ゲートウェイ１０は、いずれの更新用プログラムを用いた更新処理を優先して実施するかを判定する。本実施の形態に係るゲートウェイ１０は、先に更新処理を行う要求が与えられた更新用プログラムを優先して実施する。例えばゲートウェイ１０は、先にサーバ装置９からＥＣＵ２ａの更新処理を行う要求が与えられ、その後にダイアグツール８からＥＣＵ２ｂの更新処理を行う要求が与えられていた場合、先に更新処理を行う要求が与えられたＥＣＵ２ａの更新処理を優先して行う。ＥＣＵ２ａの更新処理が完了した後、ゲートウェイ１０は、例えばＥＣＵ２ｂの更新処理を行ってもよく、また例えばＥＣＵ２ｂの更新処理は行わず、ダイアグツール８から更新処理を行う要求が再び与えられた場合に更新処理を行ってもよい。
【００６７】
あるいは、ゲートウェイ１０は、システムバージョンが新しい更新用プログラムを用いた更新処理を優先して実施してもよい。即ち、図６に示す例においてゲートウェイ１０は、ＥＣＵ２ｂの更新用プログラムの方がシステムバージョンは新しいため、ＥＣＵ２ｂの更新処理を優先して行ってもよい。なおゲートウェイ１０は、例えばＥＣＵ２ａの更新処理を開始した後にＥＣＵ２ｂの更新処理を行う要求を与えられた場合、ＥＣＵ２ａの更新処理を中断してＥＣＵ２ｂの更新処理を行ってもよい。
【００６８】
あるいは、ゲートウェイ１０は、更新処理を並行した実施することが不可能であると判定した場合に、サーバ装置９又はダイアグツール８のいずれを優先するかが予め定められていてもよい。ゲートウェイ１０は、例えばダイアグツール８からの更新要求を優先して実施すると予め定められていてよい。この場合にゲートウェイ１０は、図６に示す例では、ＥＣＵ２ｂの更新処理を優先して行うこととなる。ゲートウェイ１０は、サーバ装置９からの更新処理を優先して実施すると定められていてもよい。
【００６９】
図７に示す例は、サーバ装置９からシステムバージョン３且つ装置バージョン３のＥＣＵ２ａの更新用プログラムが与えられ、ダイアグツール８からシステムバージョン４且つ装置バージョン３の更新用プログラムが与えられた場合のバージョン対応情報１２ｂである。ただしこの例では、システムバージョン４に対応するＥＣＵ２ａの装置バージョンは３であり、システムバージョン３と４とでＥＣＵ２ａの装置バージョンが同じである。このような場合にゲートウェイ１０は、これらの更新用プログラムを用いた更新処理を並行して実施することが可能であると判定する。即ちゲートウェイ１０は、ＥＣＵ２ａの更新用プログラムのシステムバージョンとＥＣＵ２ｂの更新用プログラムのシステムバージョンとが一致しない場合であっても、両システムバージョンに含まれる装置バージョンが一致している場合には、更新処理を並行して実施することが可能であると判定してよい。換言すれば、ゲートウェイ１０は、ＥＣＵ２ａの更新用プログラムのシステムバージョンをＥＣＵ２ｂの更新用プログラムのシステムバージョンと比較する場合に、ＥＣＵ２ａの更新用プログラムのシステムバージョンを３又は４として比較を行い、いずれか一方がＥＣＵ２ｂの更新用プログラムのシステムバージョンと一致すれば更新処理を並行して実施することが可能であると判定すればよい。
【００７０】
＜フローチャート＞
図８、本実施の形態に係るゲートウェイ１０が行う更新処理の手順を示すフローチャートである。本実施の形態に係るゲートウェイ１０の処理部１１の更新処理部１１ａは、サーバ装置９又はダイアグツール８のうちのいずれか一方から更新要求を受信したか否かを判定する（ステップＳ１）。なお更新処理部１１ａは、定期的にＥＣＵ２ａ〜２ｅの更新の有無を無線通信装置３にてサーバ装置９に問い合わせており、この問い合わせに対して更新ありの応答が得られた場合に、サーバ装置９からの更新要求を受信したと判断する。また更新処理部１１ａは、車両１のコネクタ４にダイアグツール８が接続され、ダイアグツール８からＥＣＵ２ａ〜２ｅの更新処理を行う命令が与えられた場合に、ダイアグツール８からの更新要求を受信したと判断する。サーバ装置９又はダイアグツール８からの更新要求を共に受信していない場合（Ｓ１：ＮＯ）、更新処理部１１ａは、サーバ装置９又はダイアグツール８のいずれか一方から更新要求を受信するまで待機する。
【００７１】
サーバ装置９又はダイアグツール８からの更新要求を受信した場合（Ｓ１：ＹＥＳ）、更新処理部１１ａは、更新要求の送信元のサーバ装置９又はダイアグツール８から送信される更新用プログラムを受信することにより、更新処理に用いる更新用プログラムを取得する（ステップＳ２）。またこのときに処理部１１のバージョン情報取得部１１ｂは、更新用プログラムを送信したサーバ装置９又はダイアグツール８から、この更新用プログラムに関するバージョン情報を取得し（ステップＳ３）、記憶部１２のバージョン対応情報１２ｂに追加して記憶する。
【００７２】
更新処理部１１ａは、ステップＳ２にて取得した更新用プログラムを通信部１３ａ，１３ｂにて更新対象のＥＣＵ２ａ〜２ｅへ送信する（ステップＳ４）。ここで更新処理部１１ａは、ステップＳ１にて更新要求を受信したサーバ装置９又はダイアグツール８の一方とは異なる他方から更新要求を受け付けたか否かを判定する（ステップＳ５）。他方の更新要求を受け付けていない場合（Ｓ５：ＮＯ）、更新処理部１１ａは、ステップＳ７へ処理を進める。他方の更新要求を受け付けた場合（Ｓ５：ＹＥＳ）、更新処理部１１ａは、複数の更新処理を並列して実施する並列更新処理を開始し（ステップＳ６）、ステップＳ７へ処理を進める。なお処理部１１は、ステップＳ６の並列更新処理を、本フローチャートの処理と並列して実施する。
【００７３】
その後、更新処理部１１ａは、更新対処のＥＣＵ２ａ〜２ｅへの更新用プログラムの送信を完了したか否かを判定する（ステップＳ７）。更新用プログラムの送信が完了していない場合（Ｓ７：ＮＯ）、更新処理部１１ａは、ステップＳ４へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合（Ｓ７：ＹＥＳ）、更新処理部１１ａは、ステップＳ１にて受信した更新要求に係る更新処理を終了する。
【００７４】
図９は、本実施の形態に係るゲートウェイ１０が行う更新処理の手順を示すフローチャートであり、図８に示したフローチャートのステップＳ６にて開始される並列更新処理の詳細である。ステップＳ６にて並列更新処理を開始した更新処理部１１ａは、ステップＳ５にて受信した更新要求の送信元のサーバ装置９又はダイアグツール８から更新用プログラムを取得する（ステップＳ１１）。またこのときにバージョン情報取得部１１ｂは、更新用プログラムを送信したサーバ装置９又はダイアグツール８から、この更新用プログラムに関するバージョン情報を取得し（ステップＳ１２）、記憶部１２のバージョン対応情報１２ｂに追加して記憶する。
【００７５】
次いで処理部１１の更新実施判定部１１ｃは、既に実施している更新処理（図８に示す更新処理）が対象とする車載システム２Ａ，２Ｂと、ステップＳ１１にて取得した更新用プログラムを用いた更新処理が対象とする車載システム２Ａ，２Ｂとを比較し、両車載システム２Ａ，２Ｂが一致するか否かを判定する（ステップＳ１３）。両車載システム２Ａ，２Ｂが一致しない場合（Ｓ１３：ＮＯ）、更新実施判定部１１ｃは、ステップＳ１１にて取得した更新用プログラムを用いた更新処理を実施可能と判定する（ステップＳ１７）。
【００７６】
両車載システム２Ａ，２Ｂが一致する場合（Ｓ１３：ＹＥＳ）、更新実施判定部１１ｃは、記憶部１２に記憶されたバージョン対応情報１２ｂに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンと、ステップＳ１１にて取得した更新用プログラムのシステムバージョンとを比較し、両システムバージョンが一致するか否かを判定する（ステップＳ１４）。両システムバージョンが一致する場合（Ｓ１４：ＹＥＳ）、更新実施判定部１１ｃは、ステップＳ１１にて取得した更新用プログラムを用いた更新処理を実施可能と判定する（ステップＳ１７）。
【００７７】
両システムバージョンが一致しない場合（Ｓ１４：ＮＯ）、更新実施判定部１１ｃは、記憶部１２に記憶されたバージョン対応情報１２ｂに基づいて、既に実施している更新処理に用いられている更新用プログラムのシステムバージョンに対応するステップＳ１１にて取得した更新用プログラムの装置バージョンと、ステップＳ１１にて取得した更新用プログラムの装置バージョンとを比較し、両装置バージョンが一致するか否かを判定する（ステップＳ１５）。両装置バージョンが一致する場合（Ｓ１５：ＹＥＳ）、更新実施判定部１１ｃは、ステップＳ１１にて取得した更新用プログラムを用いた更新処理を実施可能と判定する（ステップＳ１７）。
【００７８】
両システムバージョンが一致しない場合（Ｓ１５：ＮＯ）、更新実施判定部１１ｃは、ステップＳ１１にて取得した更新用プログラムを用いた更新処理を実施不可能と判定する（ステップＳ１６）。本フローチャートでは、更新処理を並列して実行することが不可能と判定した場合、先に処理を開始していた更新処理を優先するものとし、更新処理部１１ａは、並列して更新処理を行うことなく処理を終了する。ただし更新処理部１１ａは、更新処理を並列して実行することが不可能と判定した場合にシステムバージョンが新しい更新用プログラムを用いる更新処理を優先して行う構成としてもよい。この場合に更新処理部１１ａは、ステップＳ１６の後にシステムバージョンの比較を行って新しい更新用プログラムがいずれであるかを判定し、システムバージョンが新しい更新用プログラムを用いた更新処理を行ってもよい。
【００７９】
ステップＳ１７にて並列して更新処理を実施することが可能と判定した後、更新処理部１１ａは、ステップＳ１１にて取得した更新用プログラムを通信部１３ａ，１３ｂにて更新対象のＥＣＵ２ａ〜２ｅへ送信する（ステップＳ１８）。更新処理部１１ａは、更新対処のＥＣＵ２ａ〜２ｅへの更新用プログラムの送信を完了したか否かを判定する（ステップＳ１９）。更新用プログラムの送信が完了していない場合（Ｓ１９：ＮＯ）、更新処理部１１ａは、ステップＳ１８へ処理を戻し、更新用プログラムの送信を継続して行う。更新用プログラムの送信を完了した場合（Ｓ１９：ＹＥＳ）、更新処理部１１ａは、ステップＳ１１にて取得した更新用プログラムを用いた更新処理を終了する。
【００８０】
図１０は、本実施の形態に係るゲートウェイ１０が行う更新処理の手順を示すフローチャートであり、図８及び図９の処理の後で行われる処理である。本実施の形態に係るゲートウェイ１０の更新処理部１１ａは、サーバ装置９又はダイアグツール８から与えられた更新要求に係る全ての更新用プログラムのＥＣＵ２ａ〜２ｅへの送信を完了したか否かを判定する（ステップＳ３１）。全ての更新用プログラムの送信を完了していない場合（Ｓ３１：ＮＯ）、更新処理部１１ａは、全ての更新用プログラムの送信を完了するまで、更新用プログラムの送信を継続して行う。
【００８１】
全ての更新用プログラムの送信を完了した場合（Ｓ３１：ＹＥＳ）、更新処理部１１ａは、記憶部１２に記憶したバージョン対応情報１２ｂと、現状のＥＣＵ２ａ〜２ｅのバージョンとに基づいて、更新処理対象の車載システム２Ａ，２Ｂのシステムバージョンと、この車載システム２Ａ，２Ｂに含まれる各ＥＣＵ２ａ〜２ｅの装置バージョンとが適切な対応関係となったか否かを判定する（ステップＳ３２）。システムバージョン及び装置バージョンの対応関係が適切である場合（Ｓ３２：ＹＥＳ）、更新処理部１１ａは、更新処理を行った車載システム２Ａ，２Ｂに含まれるＥＣＵ２ａ〜２ｅに対して、更新プログラムを適用して更新処理を各個に行う更新命令を送信し（ステップＳ３３）、処理を終了する。システムバージョン及び装置バージョンの対応関係が適切でない場合（Ｓ３２：ＮＯ）、更新処理部１１ａは、更なる更新処理が行われることを待機すべく、更新命令を送信せずに処理を終了する。
【００８２】
図１１は、本実施の形態に係るＥＣＵ２ａ〜２ｅが行う更新処理の手順を示すフローチャートである。本実施の形態に係るＥＣＵ２ａ〜２ｅの処理部２１の更新用情報受信部２１ａは、通信部２３にてゲートウェイ１０から送信される更新用プログラムを受信し（ステップＳ４１）、記憶部２２に更新用プログラムを記憶する。更新用情報受信部２１ａは、更新用プログラムの全てについて受信を完了したか否かを判定する（ステップＳ４２）。更新用プログラムの受信を完了していない場合（Ｓ４２：ＮＯ）、更新用情報受信部２１ａは、ステップＳ４１へ処理を戻し、更新用プログラムの受信を継続して行う。
【００８３】
更新用プログラムの受信を完了した場合（Ｓ４２：ＹＥＳ）、処理部２１の更新処理部２１ｂは、ゲートウェイ１０から送信される更新命令を受信したか否かを判定する（ステップＳ４３）。更新命令を受信していない場合（Ｓ４３：ＮＯ）、更新処理部２１ｂは、更新命令を受信するまで待機する。更新命令を受信した場合（Ｓ４３：ＹＥＳ）、更新処理部２１ｂは、処理部２１が実行するプログラム２２ａを、現在実行中のプログラム２２ａから、ゲートウェイ１０から受信した更新用プログラムへ切り替える処理を行い（ステップＳ４４）、更新処理を終了する。
【００８４】
＜まとめ＞
以上の構成の本実施の形態に係る車載更新システム１００は、車両１に搭載された複数のＥＣＵ２ａ〜２ｅのプログラム２２ａを更新する処理をゲートウェイ１０が行う。ゲートウェイ１０は、無線通信装置３を利用した無線通信及びコネクタ４を介した有線通信の複数の通信経路で、サーバ装置９及びダイアグツール８等の車両１の外部の装置と通信を行うことができる。ゲートウェイ１０は、サーバ装置９又はダイアグツール８からＥＣＵ２ａ〜２ｅの更新用プログラムを受信し、車内通信にて更新用プログラムをＥＣＵ２ａ〜２ｅへ送信することで、ＥＣＵ２ａ〜２ｅが記憶部２２に記憶しているプログラム２２ａの更新処理を行う。
【００８５】
ゲートウェイ１０は、サーバ装置９又はダイアグツール８から更新用プログラムと共にバージョン情報を取得する。サーバ装置９及びダイアグツール８から異なる更新用プログラムを受信した場合、ゲートウェイ１０は、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施の可否を判定する。複数の更新用プログラムを用いた更新処理が実施可能であると判定した場合、ゲートウェイ１０は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。
【００８６】
これによりゲートウェイ１０は、異なる外部の装置から複数の更新用プログラムを受信した場合に、バージョン情報に基づいて各更新用プログラムを用いた更新処理の実施可否を適切に判定することができ、更には複数の更新処理を並行して実施することが可能となる。
【００８７】
また本実施の形態に係る車載更新システム１００では、更新用プログラムと共にサーバ装置９又はダイアグツール８からゲートウェイ１０が取得するバージョン情報には、協働する複数のＥＣＵ２ａ〜２ｅを一群とした車載システム２Ａ，２Ｂに対して付されるシステムバージョンと、ＥＣＵ２ａ〜２ｅに対して個別に付される装置バージョンとが含まれる。ゲートウェイ１０は、システムバージョン及び装置バージョンの対応関係を記憶部１２にバージョン対応情報１２ｂとして記憶しておく。これによりゲートウェイ１０は、システムバージョン及び装置バージョンの対応関係を適切に把握し、更新用プログラムを用いた更新処理の実施の可否を適切に判定することができる。
【００８８】
また本実施の形態に係るゲートウェイ１０は、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムが異なる車載システム２Ａ，２Ｂに含まれるＥＣＵ２ａ〜２ｅの更新用のものである場合、これら複数の更新用プログラムを用いた更新処理を並行して実施する。異なる車載システム２Ａ，２Ｂに含まれるＥＣＵ２ａ〜２ｅの間にはバージョンの依存関係がないため、システムバージョン及び装置バージョンに関わらず、更新処理を並行して実施することが可能である。
【００８９】
また本実施の形態に係るゲートウェイ１０は、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムが共通の車載システム２Ａ，２Ｂに含まれるＥＣＵ２ａ〜２ｅの更新用のものである場合、複数の更新用プログラムのシステムバージョンを比較する。複数の更新用プログラムのシステムバージョンが同じである場合、ゲートウェイ１０は、これら複数の更新用プログラムを用いた更新処理を並行して実施する。共通の車載システム２Ａ，２Ｂに含まれる複数のＥＣＵ２ａ〜２ｅが実行するプログラム２２ａはシステムバージョンが一致することが好ましいため、ゲートウェイ１０は、システムバージョンが同じ更新用プログラムについては更新処理を並行して実施可能と判定することができる。
【００９０】
また本実施の形態に係るゲートウェイ１０は、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、処理を先に開始した更新用プログラムの更新処理を優先して行い、後から受信した更新用プログラムの更新処理を実施不可能と判定する。これによりゲートウェイ１０は、既に開始されている更新処理が途中で強制的に終了されて不具合などが発生することを防止できる。
【００９１】
又は、本実施の形態に係るゲートウェイ１０は、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムのシステムバージョンが異なる場合、システムバージョンが最新の更新用プログラムの更新処理を優先して行い、他の更新用プログラムの更新処理を実施不可能と判定してもよい。これによりゲートウェイ１０は、ＥＣＵ２ａ〜２ｅのプログラム２２ａを最新のシステムバージョンのものに更新することができる。
【００９２】
また本実施の形態に係るゲートウェイ１０は、サーバ装置９及びダイアグツール８から与えられた複数の更新用プログラムのシステムバージョンが異なり、更新処理を並列して実施することが不可能と判定すべき更新用プログラムであっても、この更新用プログラムの装置バージョンが、更新処理を優先して実施すると判定した更新用プログラムのシステムバージョンに対応する装置バージョンと同じである場合には、この更新用プログラムを用いた更新処理を並行して実施可能とする。システムバージョンが異なっていても対応する装置バージョンが同じという例外的な場合については、ゲートウェイ１０が更新処理を並行して実施可能と判定することによって、更新処理をより効率的に行うことが可能となる。
【００９３】
なお本実施の形態においては、プログラム又はデータの更新を行う対象の装置をＥＣＵ２ａ〜２ｅとしたが、これに限るものではなく、ＥＣＵ２ａ〜２ｅ以外の種々の車載装置についてプログラム又はデータの更新を行う構成であってよい。また車載更新システム１００は、ＥＣＵ２ａ〜２ｅの更新処理を行う装置をゲートウェイ１０としたが、これに限るものではなく、例えばいずれかのＥＣＵ２ａ〜２ｅが他のＥＣＵ２ａ〜２ｅの更新データを取得して送信する構成であってもよく、ゲートウェイ１０及びＥＣＵ２ａ〜２ｅ以外の種々の装置が更新処理を行う構成であってよい。また更新用プログラムを車両１へ送信する装置をサーバ装置９及びダイアグツール８としたが、これに限るものではなく、これ以外の装置が更新用プログラムを有線又は無線の通信により車両１へ送信する構成としてよい。
【００９４】
またゲートウェイ１０は無線通信装置３を利用してサーバ装置９との通信を行う構成としたが、これに限るものではなく、ゲートウェイ１０が無線通信の機能を有する構成としてもよい。またゲートウェイ１０はコネクタ４を介してダイアグツール８との有線通信を行う構成としたが、これに限るものではなく、例えば無線ＬＡＮ（Local Area Network）又はBluetooth（登録商標）等の無線通信を行う構成としてもよい。
【００９５】
なお本実施の形態における更新処理には、ＥＣＵ２ａ〜２ｅが実行するプログラムを更新するのみでなく、プログラムを実行して行われる処理に用いられるデータを更新する処理を含み得ると共に、プログラムのコード（命令）を更新せずにデータのみを更新する処理をも含み得る。「更新用プログラム」は、更新されるプログラムのコードのみを含むもの、プログラムのコード及びデータを共に含むもの、プログラムのコードを含まずにデータのみを含むものいずれであってもよい。
【００９６】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９７】
１  車両
１ａ〜１ｄ  通信線
２ａ〜２ｅ  ＥＣＵ
２Ａ，２Ｂ  車載システム
３  無線通信装置
４  コネクタ
８  ダイアグツール
８ａ  通信ケーブル
９  サーバ装置
１０  ゲートウェイ（車載更新装置）
１１  処理部
１１ａ  更新処理部
１１ｂ  バージョン情報取得部
１１ｃ  更新実施判定部（実施判定部）
１１ｄ  中継処理部
１２  記憶部
１２ａ  プログラム
１２ｂ  バージョン対応情報
１３ａ，１３ｂ  通信部（車内通信部）
１３ｃ，１３ｄ  通信部（車外通信部）
２１  処理部
２１ａ  更新用情報受信部
２１ｂ  更新処理部
２２  記憶部
２２ａ  プログラム
２３  通信部
１００  車載更新システム
１０１  記録媒体
【図１】
2019196158.tif 000003
【図２】
2019196158.tif 000004
【図３】
2019196158.tif 000005
【図４】
2019196158.tif 000006
【図５】
2019196158.tif 000007
【図６】
2019196158.tif 000008
【図７】
2019196158.tif 000009
【図８】
2019196158.tif 000010
【図９】
2019196158.tif 000011
【図１０】
2019196158.tif 000012
【図１１】
2019196158.tif 000013