(58)【調査した分野】(Int.Cl.,DB名)
車両に搭載され、ネットワークを介して接続されたサーバから更新ソフトウェアを取得して、上記車両に搭載された車載装置の車載ソフトウェアを更新するゲートウェイであって、
上記車載装置とこの車載装置の車載ソフトウェアの構成情報を収集し、保持する構成保持部、
この構成保持部により保持された上記構成情報を上記サーバに送信することにより上記サーバから上記車載ソフトウェアに対する更新ソフトウェア候補およびその依存関係の情報を取得し、この上記サーバから取得した情報を用い、上記構成情報に基づいて、上記更新ソフトウェア候補から上記車載ソフトウェアの更新に供される更新ソフトウェアを選定するとともに、依存関係のある更新ソフトウェアのグループを生成する依存関係生成部、
ユーザの更新処理を中断する操作を受け付ける中断制御部、
上記更新ソフトウェアによる上記車載装置の車載ソフトウェアの更新を行う更新制御部、
およびこの更新制御部による上記グループ内の更新ソフトウェアの更新中に、上記中断制御部における中断操作が行われた場合は上記更新を中断しないように制御する依存制御部を備えたことを特徴とするゲートウェイ。
外部記憶装置を用いた上記車載装置の車載ソフトウェアの更新および無線を用いた上記車載ソフトウェアの更新のいずれかを選択する更新選択部を備えたことを特徴とする請求項1記載のゲートウェイ。
上記サーバに送信したときの上記構成情報と、上記サーバから上記更新ソフトウェアを受信したとき、改めて上記車載装置から収集した構成情報とを比較し、上記二つの構成情報が異なっている場合には、すべての更新ソフトウェアの更新を停止するか、または依存関係が不整合とならない更新ソフトウェアのみを抽出し、上記依存制御部に渡して、この抽出した更新ソフトウェアのみを更新させる整合部を備えたことを特徴とする請求項1記載のゲートウェイ。
車両に搭載され、ネットワークを介して接続されたサーバから更新ソフトウェアを取得して、上記車両に搭載された車載装置の車載ソフトウェアを更新するゲートウェイであって、
上記車載装置とこの車載装置の車載ソフトウェアの構成情報を収集し、保持する構成保持部、
この構成保持部により保持された上記構成情報を上記サーバに送信することにより上記サーバから取得された上記車載ソフトウェアに対する上記更新ソフトウェアおよび依存関係のある更新ソフトウェアのグループの情報を用いて、上記車載装置の車載ソフトウェアの更新を行う更新制御部、
ユーザの更新処理を中断する操作を受け付ける中断制御部、
およびこの更新制御部による上記グループ内の更新ソフトウェアの更新中に、上記中断制御部における中断操作が行われた場合は上記更新を中断しないように制御する依存制御部を備えたことを特徴とするゲートウェイ。
【発明を実施するための形態】
【0009】
実施の形態1.
実施の形態1は、ユーザの中断操作に対して車載SWの不整合が発生しないように更新制御する。
また、車載SWの依存関係の不整合を起こさないために、外部記憶装置による更新処理中に、無線更新によるSW更新しないように、どちらの方法で実施するかを選択する構成になっている。
【0010】
図1は、この発明の実施の形態1による車載ソフトウェア更新システムを示す構成図である。
図1において、車両100は、CAN(Controller Area Network)などのネットワークにより、ゲートウェイ200や車載装置300、400を互いに接続した車である。
車載装置300、400は、車載装置の識別子やSWなどの構成情報を保持し、ゲートウェイ200と通信し、構成情報の送信や、更新SWの受信、およびSW更新を行う。
通信装置600は、例えばEthernet(登録商標)などの通信手段で通信装置外部と通信可能なパーソナルコンピュータなどの計算機である。
サーバ500は、例えばデータセンターにおけるサーバコンピュータなどで、Ethernet(登録商標)などの通信手段で、サーバ外部と通信可能な計算機である。
ネットワーク700は、Ethernet(登録商標)、広域通信網、携帯電話網などの通信手段により、車や計算機を相互に通信可能にする、例えばインターネットなどの通信網である。
車両100と通信装置600は、ネットワーク700を介して、サーバ500と通信可能になっている。
【0011】
次に、車両100が有する車載装置について説明する。
ゲートウェイ200は、携帯電話網などの通信方法により接続された車両の外部との通信制御や、CANなどのネットワークで接続された車両の内部の車載装置間の通信制御を行う車載装置である。
車載装置300は、例えば、エンジンなどの機器の制御を行う制御装置である。
車載装置400は、例えば、パワーウィンドウなどの機器の制御を行う制御装置である。
車載装置300、400は、上記の制御に限らず車におけるあらゆる制御を対象にしてもよい。
また、車両100が有する車載装置は、上記に限らず、3個以上であってもよい。
【0012】
次に、ゲートウェイ200が有する機能について説明する。
通信部201は、外部の装置とネットワーク700を介して通信し、データを送受信する通信装置もしくは通信チップである。
更新選択部202は、無線更新と外部記憶装置更新のいずれを用いるかを選択するプログラム及びその設定を保持する記憶装置である。
外部記憶装置読み書き部203は、SDカードなどの外部記憶装置にデータを書き込んだり、外部記憶装置からデータを読み込んだりする装置である。
中断制御部204は、ユーザがSW更新の処理を中断する操作を受け付けるスイッチなどの装置もしくはプログラムを含む中断操作を受け付ける装置、およびプログラムである。
構成管理部205(構成保持部)は、車両100が有する車載装置の構成や車載装置上のSWの構成の情報を収集し、保持するプログラムである。
【0013】
依存関係解決部206(依存関係生成部)は、車載装置上のSWの構成、および更新候補SW(更新ソフトウェア候補)とその依存関係の情報から、車載装置に配信する更新SWを抽出し、依存関係のある更新SWを依存関係グループとするプログラムである。
依存制御部207は、更新SWの依存関係グループの処理中断を防ぐよう制御するプログラムである。
SW更新制御部208は、車載装置の例えばISO 13400などのSW更新のプロトコルを動作させるプログラムである。
車載通信部209は、車両内のネットワークの通信を制御し、通信対象の車載装置とデータの送受信を行う通信チップである。
【0014】
次に、通信装置600が有する機能について説明する。
通信部601は、外部の装置とネットワーク700を介して通信し、データを送受信する通信装置もしくは通信チップである。
外部記憶装置読み書き部602は、SDカードなどの外部記憶装置にデータを書き込んだり、外部記憶装置からデータを読み込んだりする装置である。
【0015】
次に、サーバ500の有する機能について説明する。
更新SW保管部501は、更新SWとその依存関係の情報からなる更新SWデータベースを保管し、取得要求に応じて要求された更新SWを配信する記憶装置である。
通信部502は、外部の装置とネットワーク700を介して通信し、データを送受信する通信装置もしくは通信チップである。
【0016】
次に、実施の形態1の動作について説明する。
図2は、実施の形態1における車両が、サーバからの無線更新もしくは外部記憶装置更新で、車載装置のSWを更新する動作の例を示している。
以下、
図2を用いて説明する。
時刻やイグニッションオンといったイベントを開始の契機とし、ゲートウェイ200の構成管理部205が、車載装置300、400から、車体番号、車載装置とSWの情報などの構成情報を収集する(S100)。このとき、構成管理部205は、車載通信部209を通して車載装置300、400に構成情報を問い合わせてもよいし、前回のSW更新で用いた構成情報を記憶しておいたものを用いてもよい。
次いで、更新選択部202により、無線更新を行うか、外部記憶装置更新を行うかを決定する(S101)。更新選択部202は、予めゲートウェイ200においてユーザが選択した情報を記憶していてもよいし、その都度、ユーザに問い合わせてもよい。
【0017】
外部記憶装置更新の場合(S101でNo)、外部記憶装置読み書き部203が、構成情報を予めゲートウェイ200に挿入していた外部記憶装置に書き出す(S102)。
次に、ユーザは、外部記憶装置を通信装置600に挿入する。外部記憶装置読み書き部602が外部記憶装置から構成情報を読み込み、通信部601を通して構成情報をサーバ500に送信し、更新候補SWの取得を要求する(S103)。
サーバ500は、通信部502を介して構成情報を受信する。更新SW保管部501は、更新SWデータベースと構成情報から更新候補SWと、それが連携する場合に連携する他のSWを示す依存関係情報を抽出する(S104)。このとき、更新候補SWとして、例えば、車体番号に対応するSWを全て抽出してもよいし、車載装置に対応するSWを全て抽出してもよい。
【0018】
次いで、通信装置600は、サーバ500から通信部502、通信部601を通して更新候補SWと依存関係情報を取得し、外部記憶装置読み書き部602を通して、外部記憶装置に書き出す(S105)。このとき、車両100の現在の構成情報を検証用として外部記憶装置に残してもよい。
ユーザは、外部記憶装置をゲートウェイ200に挿入し、外部記憶装置読み書き部203により、車両100は、外部記憶装置から更新候補SWと依存関係情報を取得する(S106)。
次いで、依存関係解決部206が、構成管理部205から取得した車載装置の現在のSWの構成と、外部記憶装置読み書き部203から取得した更新候補SWの依存関係情報とを突き合わせて、更新SWを抽出し、その依存関係にある更新SWをまとめて依存関係グループを生成する(S107)。これで、本発明での更新SWの依存関係が解決される。
このとき、依存関係解決部206は、事前に外部記憶装置内に記憶されている車両100の構成情報と、構成管理部205から取得した構成情報とを突き合わせて、外部記憶装置の更新SWが正しいかどうかを検証してもよい。
【0019】
無線更新の場合(S101でYes)、通信部201が構成情報をサーバ500に送信し、更新候補SWの情報のみの取得を要求する(S108)。
サーバ500は、通信部502を介して構成情報を受信し、更新SW保管部501が更新SWデータベースと構成情報から、更新候補SWの情報とその依存関係情報を抽出して、車両100に送信する(S109)。
車両100は、ゲートウェイ200の通信部201を介して、更新候補SWの情報とそ
の依存関係情報を受信する。依存関係解決部206が、更新候補SWの情報とその依存関係情報および構成情報から、更新すべきSWを抽出し、併せて更新SWの依存関係グループを生成する(S110)。このとき、更新SWのサイズが大きい場合などに無線更新を中止し、外部記憶装置更新に切り替えてもよい。
次に、依存関係解決部206は、抽出したSWを取得するよう、通信部201を介してサーバ500に要求し(S111)、サーバ500は、通信部502を介して、その要求を受信し、更新SW保管部501から該当する更新SWを抽出して車両100に送信する(S112)。
【0020】
ゲートウェイ200の依存制御部207は、依存関係解決部206から取得した更新SWとその依存関係グループの情報から、逐次、更新SWをSW更新制御部208に送り、所定のプロトコルに従い、車載装置300、400のSWを更新する(S113)。
中断制御部204は、更新中に逐次、ユーザによる中断操作があるか否かを確認する(S114)。
中断制御部204が中断操作を確認したら(Yes)、依存制御部207は、更新中の更新SWが、複数の更新SWと連携する依存関係グループに入っているかどうかを確認する(S115)。依存関係グループに入っていたら(Yes)、依存制御部207は、中断を受け付けない。もしくは、依存関係グループの更新SWを全て更新した後に中断してもよい。
S115において、依存関係グループに入っていない場合(No)、即座に終了する。
また、S114において、中断操作がない場合、依存制御部207は、更新SWを全て車載装置に書き込んだかどうかを確認する(S116)、更新完了したら(Yes)、更新処理を終了する。更新SWが残っていたら(No)、更新処理を継続する。
【0021】
実施の形態1によれば、以上の構成により、ユーザにより外部記憶装置更新と無線更新のいずれかに設定されるので、外部記憶装置更新中に無線更新が発生しなくなり、外部記憶装置更新と無線更新の2種類の更新方法があることによる車載装置のSWの不整合が発生することを防ぐことができる。
また、更新中にユーザが中断操作を行っても、車載装置のSWの不整合が発生することを防ぐことができる。
【0022】
実施の形態2.
実施の形態2は、実施の形態1における依存関係解決部206をサーバ500が有する構成の一例についてのものである。
図3は、この発明の実施の形態2による車載ソフトウェア更新システムを示す構成図である。
図3において、100、200〜205、207〜209、300、400、500〜502、600〜602は
図1におけるものと同一のものである。
図3では、依存関係解決部206を、サーバ500に設けている。
【0023】
次に、実施の形態2の動作について説明する。
図4は、実施の形態2において、車両がサーバから無線更新もしくは外部記憶装置更新で、車載装置のSWを更新する動作の一例を示すものである。
図4において、S100〜S103、S108、S111〜S116は
図2における動作と同じ動作であり、その説明を省略する。
図4では、S103に次いでS204〜S206の動作が挿入され、S108に次いで、S209、S210の動作が挿入されている。
外部記憶装置更新の場合(S101でNoの場合)、サーバ500は、通信部502を通して取得した構成情報を依存関係解決部206に渡す。依存関係解決部206は、更新SW保管部501の更新SWデータベースと構成情報を取得し、更新SWの抽出とその依
存関係グループの生成を行う(S204)。
【0024】
次いで、サーバ500は、通信部502を介して更新SWとその依存関係グループを通信装置600に送信する。通信装置600は、通信部601を通して更新SWとその依存関係グループを受信し、外部記憶装置読み書き部602で、更新SWとその依存関係グループを外部記憶装置に書き出す(S205)。
ユーザが、通信装置600から外部記憶装置を取り出し、車両100のゲートウェイ200に挿入する。車両100は、外部記憶装置読み書き部203により、更新SWとその依存関係グループを読み込む(S206)。
【0025】
無線更新の場合(S101でYesの場合)、サーバ500は、通信部502を通して取得した構成情報を依存関係解決部206に渡す。依存関係解決部206は、更新SW保管部501の更新SWデータベースと構成情報を取得し、更新SWの抽出とその依存関係グループの生成を行う(S209)。
次いで、サーバ500は、通信部502を介して、更新SWとその依存関係グループを車両100に送信する。車両100は、ゲートウェイ200の通信部201を介して更新SWとその依存関係グループの情報を受信する(S210)。
S206の動作はS113へ続き、S210の動作は、S111に続く。
【0026】
実施の形態2によれば、以上の構成により、依存関係を解決する処理を車両で行う必要が無くなり、車両の車載装置の計算能力を節約することができる。
また、外部記憶装置更新の場合に必要最小限のデータのみ送受信すればよく、通信負荷やコストを削減することができる。
【0027】
実施の形態3.
実施の形態3は、ユーザが無線更新か外部記憶装置更新かを設定することなく、SWの不整合の発生を防止する構成の一例についてのものである。
図5は、この発明の実施の形態3による車載ソフトウェア更新システムを示す構成図である。
図5において、100、200、201、203〜209、300、400、500〜502、600〜602は
図1におけるものと同一のものである。
図5では、車両100は、実施の形態1の構成から更新選択部202を除き、ゲートウェイ200に整合部210を設けている。整合部210は、現在の車両100の構成情報と、サーバ500へ送信時の構成情報とを比較し、異なる場合に、現在の車両100の構成情報と更新SWの依存関係グループの情報とを突き合わせ、現在のSWにおいて依存関係のない更新SWを抽出するプログラムである。
【0028】
次に、実施の形態3の動作について説明する。
図6は、実施の形態3において、車両がサーバから無線更新もしくは外部記憶装置更新により車載装置のSWを更新する動作の一例を示している。
図6において、S100、S102〜S116は
図2における動作と同じ動作であり、その説明を省略する。
図6では、S100の次にS301を挿入し、S107の次にS308を挿入している。
【0029】
ゲートウェイ200の外部記憶装置読み書き部203において、外部記憶装置が挿入されているかどうかを確認する(S301)。
外部記憶装置が挿入されていたら(Yes)、S102からS107の動作を実施する。
その後、ゲートウェイ200の整合部210が、外部記憶装置の持つ構成情報と、現在の車両100の構成情報を改めて取得して、突き合わせ、構成情報に変更があるかどうかを確認し、変更がある場合に、現在のSWにおいて依存関係のない更新SWを抽出する(S308)。
外部記憶装置更新を行っている間に無線更新を行った場合に、外部記憶装置が持つ構成情報と現在の車両100の構成情報が異なっている場合がある。このとき、整合部210は、外部記憶装置更新を停止する。もしくは、更新SWの依存関係が不整合とならない更新SWのみを抽出し、依存制御部207に渡して、実施の形態1と同様にして、更新する。
このとき、ユーザに、一部もしくは全部の更新SWが更新できないことを通知してもよい。
【0030】
実施の形態3によれば、以上の構成により、ユーザが外部記憶装置更新か無線更新かを特に設定することなく、実施可能な更新方法を選択しながら、SWの不整合を発生することを防ぐことができる。
【0031】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【解決手段】構成管理部205により車載装置から収集した車載装置と車載ソフトウェアの構成情報をサーバ500に送信することにより、サーバ500から更新ソフトウェア候補およびその依存関係の情報を取得し、これに基づいて、依存関係解決部206が、構成情報に基づいて、更新ソフトウェア候補から車載装置に配信する更新ソフトウェアを抽出し、さらに更新ソフトウェアの依存関係グループを生成し、SW更新制御部208によって、車載装置に対し更新を行い、この更新中に、中断制御部204がユーザの更新処理を中断する操作を受け付けた場合には、依存関係グループ内の更新ソフトウェアの更新中であれば、依存制御部207が、更新を中断しないように制御する。