JP5975964B2 - 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム - Google Patents

情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム Download PDF

Info

Publication number
JP5975964B2
JP5975964B2 JP2013217834A JP2013217834A JP5975964B2 JP 5975964 B2 JP5975964 B2 JP 5975964B2 JP 2013217834 A JP2013217834 A JP 2013217834A JP 2013217834 A JP2013217834 A JP 2013217834A JP 5975964 B2 JP5975964 B2 JP 5975964B2
Authority
JP
Japan
Prior art keywords
vehicle
information processing
unit
update
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013217834A
Other languages
English (en)
Other versions
JP2015079468A (ja
Inventor
鈴木 雅人
雅人 鈴木
誠剛 小谷
誠剛 小谷
小熊 寿
寿 小熊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Toyota Motor Corp
Original Assignee
Fujitsu Ltd
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Toyota Motor Corp filed Critical Fujitsu Ltd
Priority to JP2013217834A priority Critical patent/JP5975964B2/ja
Priority to US14/494,903 priority patent/US9904531B2/en
Priority to EP14186183.1A priority patent/EP2876553B1/en
Priority to CN201410532506.7A priority patent/CN104570823B/zh
Publication of JP2015079468A publication Critical patent/JP2015079468A/ja
Application granted granted Critical
Publication of JP5975964B2 publication Critical patent/JP5975964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、ネットワークを介したソフトウェアの更新方法に関する。
情報処理装置のソフトウェアの更新方法の一例として、情報処理装置が、ネットワークを介して接続された更新サーバから更新ファイルを取得して、取得したソフトウェアを適用する方法がある。ネットワークを介してソフトウェアを更新する方法の一例として、例えば以下の第1、第2、及び第3の技術がある。
第1の技術では、サーバは、組込み機器の情報の書き換えを予め定められた管理者が許可するか否かを示す承認情報を有する。組込み機器は、情報への書き換え要求を受けた場合、承認確認要求を送出する。サーバは、承認確認要求への結果を応答し、組込み機器は、許可を示す承認確認応答を受け取った場合にのみ、情報の書き換えを許可する。
第2の技術では、通信ネットワークを介してユーザに対して遠隔サービスを認証する方法が開示されている。遠隔サービスは第1の秘密鍵に基づき符号生成アルゴリズムを使用して生成したサービス認証符号を獲得する。サービス認証符号を、通信ネットワークを介してユーザに伝達し、ユーザに付随する認証デバイスに受信するか、または入力する。認証デバイスは、次いで第2の秘密鍵に基づき同じ符号生成アルゴリズムを使用して予期符号値を生成し、予期符号値をサービス認証符号と比較する。比較に応じ、予期符号値がサービス認証符号と相関する場合に、認証デバイスは遠隔サービスの真正性をユーザに示す応答を生成する。
第3の技術では、ホスト(配信用コンピュータ)がサービス提供処理を実行する新モジュールを配信する。そして、端末が制御プログラムの旧モジュールをホストにより配信された新モジュールに更新し、更新した新モジュールの動作検証処理を実行し、動作検証処理でエラーを検出した時にエラー対処処理を実行する。
特開2013−37474号公報 特表2008−524727号公報 特開2004−326287号公報
更新対象のソフトウェアが自動車で稼動する場合、自動車の挙動に影響を及ぼさないようにするため、ソフトウェアの更新は自動車が停止した状態で行われることが考えられる。このためソフトウェアの更新で使用される電力は、自動車に搭載されたバッテリから供給される。しかしながら、自動車に搭載されるバッテリの容量には限りがある。ソフトウェアの更新量が大きい場合には、更新で使用される電力量も大きくなり、その結果バッテリを大量に消費してしまう。自動車に搭載されるバッテリは、自動車の起動時にも使用されるものであるので、ソフトウェアの更新でバッテリを大量に消費すると、自動車の起動ができなくなる等の問題が発生する場合がある。
そこで、1つの側面では、本発明は、自動車で稼動するソフトウェアの更新処理において、バッテリの枯渇を防ぐための方法を提供することを目的とする。
一態様によるプログラムがコンピュータに実行させる処理は、自動車に搭載された機器を制御する制御プログラムが動作する自動車から、制御プログラムについての更新要求を受信し、記憶部に記憶された、自動車が属する車種に対応するバッテリの使用可能電力量に基づいて、更新要求に対応する複数の修正プログラムを複数のグループに分類し、グループ毎に分類された修正プログラムを自動車に送信することを含む。
また、一態様によるプログラムがコンピュータに実行させる処理は、インストール対象の自動車に対する1以上の修正プログラムを受信し、記憶部に記憶された、自動車が停止した時間帯を示す履歴情報に基づいて、自動車が定期的に停止した時間帯を特定し、特定した時間帯に自動車が停止している場合、自動車のバッテリ残量に応じて、受信した1以上の修正プログラムをインストールすることを含む。
1実施態様によれば、自動車で稼動するソフトウェアの更新処理において、バッテリの枯渇を防ぐための方法を提供することができる。
情報処理装置の一実施例の構成を図解した機能ブロック図である。 本実施形態に係る、自動車に搭載されたECUの更新システムの一例を示す。 本実施形態に係る更新サーバの構成の一例を示す。 同意情報の構成の一例を示す。 本実施形態に係る容量管理情報の構成の一例を示す。 消費電力情報の一例を示す。 セキュリティ確保部が公開鍵とハッシュ関数を管理するための鍵管理情報の一例を示す。 更新サーバにおける更新ファイルの送信処理の動作フローを図解したフローチャートである。 車載器の構成の一例を示す。 車両履歴情報の構成の一例を示す。 車載器におけるインストール処理の動作フローを図解したフローチャートである。 本実施形態に係るECUの構成の一例を示す 更新サーバのハードウェア構成の一例を示す。 車載器のハードウェア構成の一例を示す。
図1は、情報処理装置の一実施例の構成を図解した機能ブロック図である。
情報処理装置7は、記憶部1、受信部2、分類部3、送信部4、確認部5、及び算出部6を含む。
記憶部1は、自動車が属する車種に対応づけて、自動車のバッテリの使用可能電力量を記憶する。
受信部2は、自動車に搭載された機器を制御する制御プログラムが動作する自動車から、制御プログラムについての更新要求を受信する。
分類部3は、制御プログラムが動作する自動車に対応する使用可能電力量に基づいて更新要求に対応する複数の修正プログラムを複数のグループに分類する。また、分類部3は、制御プログラムを実行する制御部であって、自動車に搭載される該制御部における、制御プログラムに対する修正プログラムをインストールするために使用される予測の消費電力量の合計値が、使用可能電力量よりも大きい場合、複数の修正プログラムを複数のグループに分類する。また、分類部3は、消費電力量の合計値と使用可能電力量とに基づいて決定した数のグループに、複数の修正プログラムを分類する。
送信部4は、グループ毎に分類された修正プログラムを自動車に送信する。
確認部5は、複数の修正プログラムが分類された複数のグループのうちの第1のグループに分類された修正プログラムが正常に受信されたか否かを示す確認情報を受信する。すると送信部4は、確認情報により、第1のグループに分類された修正プログラムが正常に受信されたことを確認した後に、複数のグループのうちの第2のグループに分類された修正プログラムの送信を開始する。
算出部6は、制御部毎に対応付けて記憶部1に記憶された、単位サイズの修正プログラムをインストールするために使用される消費電力量に基づいて、消費電力量の合計値を算出する。
情報処理装置10は、受信部8と処理部9を含む。
受信部8は、インストール対象の自動車が属する車種に対応するバッテリの使用可能電力量に基づいて複数のグループに分類された修正プログラムを、グループ毎に受信する。
処理部9は、インストール対象の自動車のバッテリ残量に応じて、グループ毎に、分類された修正プログラムをインストールする。また、処理部9は、インストール対象の自動車が所定の時間以上停止することが見込まれるタイミングで、複数のグループのうちのいずれかのグループに分類された修正プログラムをインストールする。また、処理部9は、インストール対象の自動車のバッテリ残量が所定の閾値以上である場合に、複数のグループのうちのいずれかのグループに分類された修正プログラムをインストールする。
図2は、本実施形態に係る、自動車に搭載されたECU(Electric Control Unit)の更新システムの一例を示す。
図2において、更新システム20は自動車21と更新サーバ22を含む。そして自動車21は車載器23とECU24A、24B、24Cを含む。更新サーバ22と車載器23はネットワークを介して接続される。そして、車載器23とECU24はネットワークまたはバスを介して接続される。更新サーバ22と車載器23を接続するネットワークには、例えば無線ネットワークがある。ECU24と車載器23を接続するネットワークには、例えばCAN(Controller Area Network)やFlexRayなどがある。以下の説明では、ECU24A、24B、24Cを特に区別しない場合には、単にECU24と記す。
更新サーバ22は、自動車21に対して、ECU24で稼動するソフトウェアの更新ファイルを配布する情報処理装置である。更新サーバ22は、自動車21の車載器23に対して更新ファイルを送信し、その後車載器23から更新ファイル適用後の各ECU24の構成情報を受信する。そして更新サーバ22は、受信した構成情報に基いて、ファイルの更新が成功したか否かを判定する。
車載器23は、ネットワークを介して更新サーバ22と情報の通信が可能な装置である。車載器23は、更新サーバ22から更新ファイルを受信し、受信した更新ファイルを更新対象のECU24にインストール(適用)するように指示する。また、車載器23は、各ECU24で稼動するソフトウェアの状態を示す構成情報を収集して、更新サーバ22に送信する。車載器23は、更新サーバ22と各ECU24に対して通信可能であれば特に限定されず、カーナビゲーション装置や、自動車21に設置可能なスマートフォンなどでもよい。
ECU24は、エンジンの制御で用いられる各種のセンサを含むセンサ系統、エンジンの動作、及び自動車に搭載される各種機器を制御する。ECU24は車載器23から更新ファイルのインストール指示を受信し、更新ファイルのインストール処理を行う。また、ECU24は更新ファイルのインストール処理が完了すると、自身の構成情報を取得して車載器23に通知する。ソフトウェアの更新は、更新ファイルのインストール処理と、更新ファイルの有効化処理の2段階で行われ、更新ファイルの有効化は、更新サーバ22からの更新の有効化の指示を受け取った後に行われる。尚、ソフトウェアの構成情報は例えば、ソフトウェアの各種パラメータであって、当該パラメータが正常であればソフトウェアが正常であることが保証されるパラメータである。
尚、更新ファイルは不具合のあるソフトウェアに適用される形式のソフトウェアでもよいし、不具合の見つかったソフトウェアと入れ替わる形式のソフトウェアでもよい。具体的には例えば更新ファイルはソフトウェアのパッチである。尚、自動車に不具合が発見された場合、その不具合を解消するには複数の更新ファイルのインストールが必要になることがある。本実施形態の以下の説明では、自動車に搭載されたECUで稼動するソフトウェアに不具合が発見された場合を考え、その不具合を解消するための1以上の更新ファイルを、適用対象の更新ファイルと記す。
また、以下の説明では、自動車21が更新ファイルを更新サーバ22から受信して、受信した更新ファイルの適用を行うことをリモートメンテナンスと記す。また、インストール処理対照の車両を対象車両と記す。
次に、更新サーバ22の構成について説明する。図3は、本実施形態に係る更新サーバ22の構成の一例を示す。
更新サーバ22は、認証部31、電力算出部32、分割部33、送信部34、セキュリティ確保部35、及び検証部36を含む。
更新サーバ22は情報処理装置7の一例である。認証部31は受信部2の一例である。電力算出部32は算出部6の一例である。分割部33は分類部3の一例である。送信部34は送信部4及び確認部5の一例である。
認証部31は、更新ファイルの送信処理及びインストール処理の開始前に、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かを確認する。対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かの確認には、事前登録された情報を用いた同意確認と、更新作業開始時に所有者から直接同意を得ることによる同意確認が含まれる。尚、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かの確認は、事前登録された情報を用いた確認または更新作業開始時に所有者から直接同意を得ることによる確認のうち、どちらか一方としてもよい。尚、事前登録された情報を用いた同意確認は、車載器23から確認要求を受信した場合に認証部31により実行されてもよい。
対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かの確認のために、認証部31は予め同意確認のための情報を収集し、所定の記憶領域に記録しておく。このような同意確認のための情報を同意情報と記す。
図4は、同意情報の構成の一例を示す。図4において、同意情報40は、車両ID41、同意フラグ42、所有者ID43、認証方法44、及び認証情報45を含む。
車両ID41は、自動車21を一意に識別するための識別情報である。同意フラグ42は、車両ID41で示される車両が、その車両の所有者からリモートメンテナンスの事前同意を得ているか否かを示す情報である。所有者ID43は、車両ID41で示される車両を所有する所有者を一意に識別するための識別情報である。尚、所有者ID43については、一つの車両に対して複数人を登録することが可能である。認証方法44は、更新作業開始時に認証部31が車両の所有者を認証する方法を示す情報である。認証方法44は、例えば、所有者の指紋、音声、または画像を用いた認証等の種々の方法とすることができる。認証情報45は、更新作業開始時の認証方法44による認証において使用される情報である。
事前登録された情報を用いた同意確認について、認証部31は、同意情報40を参照して、リモートメンテナンスを行う対象の車両が、事前にその車両の所有者からリモートメンテナンスの同意を得ているか否かを判定する。すなわち認証部31は、同意情報40から、対象車両の識別情報と一致する車両ID41のレコードを抽出する。次に認証部31は、抽出したレコードの同意フラグ42を確認し、同意フラグ42の値が、リモートメンテナンスの事前同意を得ていることを示す値(例えば「True」)であれば車両の所有者からリモートメンテナンスの同意を得ていると判定する。一方認証部31は、同意フラグ42の値が、車両の所有者からリモートメンテナンスの事前同意を得ていないことを示す値(例えば「False」)であれば車両の所有者からリモートメンテナンスの同意を得ていないと判定する。
対象車両のリモートメンテナンスに対する所有者の事前同意を得ていると判定した場合、認証部31は、更新作業開始時に所有者から直接同意を得ることによる同意確認を行う。
すなわち認証部31は、改めて、リモートメンテナンスに所有者が同意する旨の情報である同意確認情報を対象車両から取得する。同意確認情報には、リモートメンテナンスに同意したのが真の所有者であることを確認するための認証情報が含まれる。認証情報には例えば、所有者の指紋、音声、画像(顔写真)の情報が含まれる。認証部31は同意情報40から対象車両の識別情報と一致するレコードを抽出し、対象車両から受信した認証情報と、抽出したレコードの認証情報45の値とを比較する。そして認証部31は、対象車両から受信した認証情報と抽出したレコードの認証情報45の値とが一致する場合、対象車両の真正の所有者からリモートメンテナンスの同意を得たと判定する。また認証部31は対象車両から受信した認証情報と抽出したレコードの認証情報45の値とが一致しない場合、対象車両の真正の所有者からはリモートメンテナンスの同意を得ていないと判定する。対象車両の真正の所有者からリモートメンテナンスの同意を得たと判定した場合、認証部31は、車載器23から受信した同意確認情報をエビデンスとして所定の記憶領域に保存する。
図4において、車両ID41が「A」、同意フラグ42が「True」、所有者ID43が「3948A8C33」、認証方法44が「指紋」、認証情報45が「指紋データ1」のレコードが格納されている。これは、車両ID41が「A」の車両が、所有者からリモートメンテナンスの事前同意を得ており、車両ID41が「A」の所有者は、所有者ID43「3948A8C33」で示される所有者であることが示される。さらに、車両ID41が「A」の車両のリモートメンテナンス開始時には、「指紋認証」による所有者の認証が行われ、所有者から入力された指紋情報と、「指紋データ1」の情報が照合されて、照合が一致した場合に、認証が成功したと判定されることが示される。
また、図4において、車両ID41が「D」、同意フラグ42が「False」、所有者ID43、認証方法44、認証情報45が「−」のレコードが格納されている。これは、車両ID41が「D」の車両は、所有者からリモートメンテナンスの事前同意を得ていないことが示されている。従って、車両ID41が「D」の車両については、リモートメンテナンス処理は行われない。
尚、対象車両のリモートメンテナンスに対する所有者からの同意を得たことの確認後に、対象車両に対して更新ファイルの送信が行われることとなる。よって、所有者がリモートメンテナンスに同意する旨が含まれる同意確認情報は、言い換えると、所有者からの更新ファイルの配信要求と捉えることもできる。
電力算出部32は、対象車両における、適用対象の全ての更新ファイルのインストール処理にかかる消費電力を算出する。そして算出した消費電力を、電力算出部32は、更新ファイルをインストールするために使用可能な対象車両のバッテリの電力量と比較する。これにより電力算出部32は、すべての更新ファイルの更新処理を一度に実施できるか否かを判定する。
具体的には電力算出部32は、予め車種毎に、バッテリの容量のうち、更新ファイルのインストールに使用可能な最大電力量である使用可能電力量を所定の記憶領域に記憶しておく。
例えば車両に搭載されたバッテリは、エンジンの始動において用いられるため、バッテリの容量をすべて更新ファイルの更新処理で使用できるわけではない。そこで、バッテリの容量のうち更新ファイルのインストール処理に使用することのできる電力量をポリシとして電力算出部32は記憶しておく。ここで、電力算出部32がバッテリの容量のうち更新ファイルのインストール処理に使用することのできる電力量を車種毎に管理するための情報を、以下の説明では容量管理情報と記す。図5は、本実施形態に係る容量管理情報の構成の一例を示す。
容量管理情報50は、車種ID51、最大容量52、基本電力量53、及び使用可能電力量54のデータ項目を含む。車種ID51は、車種を一意に識別するための識別情報である。最大容量52は、車種ID51で示される車種に搭載されるバッテリの最大容量を示す情報である。基本電力量53は、車種ID51で示される車種に搭載されるバッテリの容量のうちエンジンの始動等に用いられる最低限確保しておかなくてはならないバッテリの残量を示す情報である。使用可能電力量54は、車種ID51で示される車種に搭載されるバッテリの容量のうち更新ファイルのインストールに使用することのできる最大電力量を示す情報である。ここで、使用可能電力量54は例えば、バッテリの最大容量52から基本電力量53を減算した値の1/n(nは正の整数)の値とすることができる。
尚、以下の説明では、エンジンの始動等に用いられる最低限確保しておかなくてはならないバッテリの残量を基本電力量と記す。
電力算出部32は、また、予め各ECU24に対応付けて、単位サイズ毎の更新ファイルのインストール処理にかかる消費電力の値を所定の記憶領域に記憶しておく。ここで、ECU24毎に対応付けられた、単位サイズ毎の更新ファイルの更新処理にかかる消費電力の値を管理するための情報を、以下の説明では消費電力情報と記す。消費電力情報は、対象車両の更新ファイルの更新にかかる消費電力の算出のために使用される。このようにECU24毎に対応付けて消費電力を管理するのは、各ECU24は処理能力に個体差があり、単位サイズあたりの更新ファイルを更新するためにかかる消費電力も異なるからである。
図6は、消費電力情報の一例を示す。消費電力情報60は、ECUID61と、処理バイト単位の消費電力62とを含む。ECUID61は、ECU24を一意に識別するための識別情報である。処理バイト単位の消費電力62は、ECUID61で示されるECU24において、例えば1Kbyteの更新ファイルのインストール処理で消費される電力量を示す情報である。
対象車両の全ての更新ファイルのインストール処理にかかる消費電力の算出において、電力算出部32は先ず、消費電力情報60と更新ファイルのサイズとに基づいて、各更新ファイルのインストール処理にかかる消費電力を算出する。具体的には電力算出部32は、消費電力情報60において、各更新ファイルが稼動するECU24のECUID61のレコードを抽出し、抽出したレコードの、処理バイト単位の消費電力62の値を取得する。そして電力算出部32は取得した処理バイト単位の消費電力62の値を、更新ファイルのサイズに掛けて、各更新ファイルのインストール処理で消費される電力量を算出する。このように各ECU24に含まれるすべての更新ファイルについて、インストール処理にかかる消費電力を電力算出部32は算出する。そして電力算出部32は、算出した、各ECU24に含まれるすべての更新ファイルの消費電力量を合計して、対象車両の全ての更新ファイルのインストール処理にかかる消費電力量を算出する。以下の説明では、全ての更新対象ファイルのインストール処理にかかる消費電力量の合計値を更新総消費電力と記す。
以上のようにして電力算出部32は、更新総消費電力を算出し、また、容量管理情報50を参照して対象車両の車種に対応する使用可能電力量を取得し、算出した更新総消費電力と取得した使用可能電力量を比較する。
分割部33は、電力算出部32により更新総消費電力が使用可能電力量より大きいと判定された場合、適用対象の複数の更新ファイルを複数のグループに分割(分類)する。
具体的には分割部33は、更新総消費電力を、対象車両のバッテリの使用可能電力量で割った値(小数点以下切り上げ)の数のグループに、更新ファイルを分割(分類)する。このように分割(分類)されたグループ毎に、対象車両では、更新ファイルが適用されるように制御される。そして一つのグループのインストール処理の完了後に、バッテリの充電が行われ、次のグループのインストール処理が行われるように制御する。これにより、インストール処理においてバッテリが枯渇することを防ぐことができる。
また分割部33は、依存関係のある更新ファイル同士は同一グループ内に含まれるように、更新ファイルを分割(分類)する。依存関係のあるファイル同士とは、更新ファイル群のうち、一方のファイルを更新した場合に、同時に他方も更新する必要のあるファイル同士を指す。このような依存関係のある更新ファイル群には、例えば、あるソフトウェアとそのソフトウェアの出力値を入力とするソフトウェアがある。
依存関係のあるファイル同士を2つ以上のグループに跨らないようにすれば、グループ毎に順次更新処理を行い、更新処理の終了したグループから順次、更新の有効化を行うことができる。
しかしながら、更新ファイルの関係やバッテリの使用可能電力量によっては、依存関係のあるファイル同士が2つ以上のグループに跨る場合も考えられる。この場合には、依存関係のある複数のファイルが含まれる複数のグループは、同じタイミングで更新の有効化が行われるように制御される。このようにすることで、依存関係のある更新ファイルの一部のみが適用された状態で車両が始動することにより発生する不具合を防ぐことができる。
送信部34は、更新ファイルを対象車両の車載器23に送信する。送信部34は、分割部33により更新ファイルの分割(分類)が行われた場合には、分割(分類)されたグループ毎に更新ファイルを対象車両に送信する。更新ファイルをグループ毎に分割して送信するため、更新ファイルを受信した車載器は、更新ファイルのインストールをグループ毎に行うことが容易になる。よって車載器においてバッテリを枯渇させないための処理にかかる負荷を軽減することができる。
また送信部34は、送信した更新ファイルが正しく車載器23で受信されたことの確認を行う。送信した更新ファイルが正しく車載器23で受信されたことの確認処理を、以下の説明では、送信処理ステータス確認と記す。
送信処理ステータス確認では、送信部34は、送信した更新ファイルが正しく受信されたか否かを示す通知を車載器23から受信し、この通知を確認することによって、送信した更新ファイルが正しく車載器23で受信されたと判定する。
具体的には、車載器23側での処理は後ほど説明するが、車載器23は受信したファイルが正しく受信できたことを、デジタル署名等を用いて確認する。そして車載器23はファイルが正しく受信できたか否かの情報、及び正しく受信できなかったファイルの識別情報を含むステータス情報を更新サーバ22に通知する。ステータス情報を受信した送信部34は、ステータス情報の内容を参照し、車載器23でファイルが正しく受信できていない場合には、そのファイルの再送を行う。また、ステータス情報により、車載器23で正しく受信されたことが確認できたファイルは、送信処理が完了したと送信部34は判定する。
グループに含まれる全てのファイルの送信処理が完了したと判定した場合、送信部34は、そのグループの送信処理が完了したことを示す送信完了通知を車載器23に通知する。その後、次の未送信のグループに含まれる更新ファイルを車載器23に送信する。
尚、更新ファイルの送信のタイミングとしては、対象車両のエンジンが起動中であることを確認してから送信部34は更新ファイルを送信してもよい。すなわち、送信部34は、更新ファイルの送信前に、車載器23に対して対象車両のエンジンが起動しているか否かの問い合わせを送信する。そして送信部34は、車載器23から問い合わせに対する応答として、エンジンが起動しているか否かの情報を受信し、エンジンが起動している場合に、更新ファイルを送信してもよい。エンジンが停止している場合は、さらに、送信部34は車載器23に対して、バッテリの残量を問い合わせてもよい。そして、バッテリの残量が所定の閾値以上である場合に、更新ファイルを送信するようにしてもよい。尚、所定の閾値は、例えば、ダウンロード処理で消費される電力量に基本電力量を加えた値などとすることができる。
エンジンが起動していれば、エンジンの回転により発電が行われるので、十分な電力が供給される。対象車両のエンジンが起動中であることを確認してから更新ファイルを送信することで、対象車両においてダウンロード処理で使用される電力として、エンジンの回転により発電された電力を使用することができる。また、エンジンが停止中の場合には、対象車両のバッテリ容量が所定の閾値以上の場合に更新ファイルを送信することで、ダウンロード処理による車両のバッテリの枯渇を防ぐことができる。
検証部36は、更新ファイルが正しくインストール(適用)されたか否かの検証を行う。検証部36は検証のために予め所定の記憶領域に、更新ファイルが正しくインストールされた場合の正しい構成情報を記録しておく。更新ファイルが正しくインストールされた場合の正しい構成情報を以下の説明ではホワイトリストと記す。ホワイトリストは、例えば、対象車両の環境を再現した検証機や実機などを用いた検証により得られた構成情報である。
検証部36は、車載器23から更新ファイルのインストール後の構成情報を取得して、取得した構成情報とホワイトリストとを比較し、更新ファイルのインストールの成否を判定する。ソフトウェアの更新が失敗したと判定した場合、検証部36は車載器23に対して更新ファイルのインストール処理のリトライを指示する。一方、ソフトウェアの更新が成功したと判定した場合、検証部36は車載器23に対して更新ファイルのインストールが成功した旨を通知する。
尚、ソフトウェアの更新が失敗したと判定した場合、検証部36は車載器23に対して更新ファイルのインストール処理のロールバックを指示してもよい。
また検証部36は、適用対象のすべての更新ファイルのインストールが成功したことを確認した場合、車載器23に対して適用対象の更新ファイルのインストールが成功した旨を通知する。
尚、グループ間に依存関係のあるファイル同士が含まれない場合には、依存関係のあるファイル同士が含まれないグループ単位でインストールが成功したことを確認し、車載器23に適用対象の更新ファイルのインストールが成功した旨を通知することもできる。例えば依存関係のある複数の更新ファイルが複数のグループに跨らない場合には、各グループに含まれるすべての更新ファイルのインストールが成功したことを確認する毎に、車載器23に適用対象の更新ファイルのインストールが成功した旨を通知することができる。この場合、適用対象の更新ファイルのインストールが成功した旨の通知を受け取った車載器23により、所有者からの更新ファイルの有効化の同意確認が行われ、同意が確認されれば、更新ファイルの有効化が行われる。すなわち、更新ファイルの依存関係による影響がない場合には、適用対象のすべての更新ファイルのインストール処理が完了するのを待たずに、インストールの成功が確認されたグループの更新ファイルからグループの有効化を行うことができる。
セキュリティ確保部35は、更新サーバ22と車載器23の間の通信のセキュリティを確保するための仕組みを提供する。
本実施形態では、更新サーバ22と車載器23との通信のセキュリティを確保するために、暗号化およびデジタル署名が用いられる。デジタル署名のための公開鍵と秘密鍵とのペアは、更新サーバと車載器との組み合わせ毎に生成され、車載器の鍵ペアは、各車両の出荷時点に生成される。暗号化の対象となるデータは、相手の公開鍵により暗号化され、自らの秘密鍵で復号化される。デジタル署名は、更新サーバおよび車載器のそれぞれが保持する自らの秘密鍵により署名されることで行われる。よって、公開鍵と秘密鍵のペアは複数存在し、第一のペア(更新サーバの鍵ペア)については、更新サーバ22が更新サーバ22の秘密鍵を、車載器23が更新サーバ22の公開鍵を保持し、第二のペア(車載器の鍵ペア)は車載器23が車載器23の秘密鍵を、更新サーバ22が車載器23の公開鍵を保持することとなる。
車載器23の鍵ペアは、各車載器23に含まれるTPM(Trusted Platform Module)により作成されたものが用いられてもよい。
更新サーバ22のセキュリティ確保部35は、更新サーバ22の秘密鍵を保持する。また、更新サーバ22は、車載器23の公開鍵、及び、送信データとデジタル署名の比較で用いるハッシュ関数を、車載器毎に管理する。図7は、セキュリティ確保部35が車載器23の公開鍵とハッシュ関数を管理するための鍵管理情報70の一例を示す。鍵管理情報70は、車載器ID71、公開鍵72、及びハッシュ関数73のデータ項目を含む。車載器ID71は車載器23を一意に識別するための識別情報である。公開鍵72は、車載器ID71で識別される車載器23の公開鍵の情報である。公開鍵72は車載器ID71の車載器23の秘密鍵と対応する。ハッシュ関数73は、送信データとデジタル署名の比較のために用いられるハッシュ関数である。このハッシュ関数73は、車載器ID71の車載器23にも同じハッシュ関数が記憶される。鍵管理情報70には、各車両の出荷時点に登録される。
次に、セキュリティ確保部35による車載器23の認証及び車載器23からのデータの機密性の確認方法の一例として、デジタル署名を用いた方法について説明する。尚、認証及び機密性の確認の方法は以下で説明するデジタル署名を用いたものに限定されず、種々の方法が用いられてもよい。ここでは、セキュリティ確保部35と車載器23の間で送受信されるデータは暗号化される一例を説明する。
認証に当たって先ず車載器23は、送信対象データのハッシュ値を、車載器23に記憶されたハッシュ関数を用いて算出する。次に車載器23は、算出したハッシュ値を自身の秘密鍵を用いて暗号化し、デジタル署名を作成する。そして車載器23は、作成したデジタル署名と送信対象データとを、更新サーバ22の公開鍵を用いて暗号化する。そして車載器23は、暗号化した、送信対象データとデジタル署名とを、更新サーバ22に送信する。
車載器23から、暗号化された、送信対象データとデジタル署名とを受信すると、セキュリティ確保部35は、更新サーバ22の秘密鍵を用いて受信した情報を復号する。次にセキュリティ確保部35は、車載器23の公開鍵72を鍵管理情報70から取得して、その公開鍵72で、デジタル署名を復号してハッシュ値を取得する。次にセキュリティ確保部35は、車載器23に対応するハッシュ関数73を鍵管理情報70から取得し、取得したハッシュ関数73を用いて、送信対象データのハッシュ値を算出する。そしてセキュリティ確保部35は、算出したハッシュ値と、デジタル署名を復号して得たハッシュ値とを比較し、比較の結果が一致した場合に、車載器23が正当な車載器23であると判定し、車載器23から受信したデータは改竄されていないと判定する。比較の結果が一致しない場合、セキュリティ確保部35は、車載器23に送信データの再送を要求する。
尚、セキュリティ確保部35と車載器23の間で送受信されるデータの暗号化については、共通鍵暗号と公開鍵暗号を組み合わせたハイブリッド暗号方式を用いてもよいし、種々の方法が用いられてもよい。
このように更新サーバ22のセキュリティ確保部35は、車載器23の認証と車載器23から受信した情報が改竄されていないことを確認する。
ここで、更新サーバ22から対象車両の車載器23に送信されるデータは、送信前にセキュリティ確保部35によりデジタル署名が付与され、さらに暗号化されて送信されるものとする。このような送信データには、送信部34が車載器23に送信する更新ファイルなどが含まれる。
図8は、更新サーバ22における更新ファイルの送信処理の動作フローを図解したフローチャートである。
図8において、先ず認証部31は、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かを確認する(S101)。対象車両のリモートメンテナンスに対する所有者からの同意を得ていないと判定された場合(S101でNo)、処理は終了する。
S101において、対象車両のリモートメンテナンスに対する所有者からの同意を得たと判定された場合(S101でYes)、電力算出部32は、全ての更新対象ファイルのインストール処理にかかる消費電力量の合計値を更新総消費電力として算出する(S102)。そして電力算出部32は、更新総消費電力と使用可能電力量とを比較し、更新総消費電力が、対象車両のバッテリの容量のうち、更新ファイルのインストールに使用可能な最大電力量である使用可能電力量より大きいか否かを判定する(S103)。電力算出部32により更新総消費電力が使用可能電力量以下であると判定された場合(S103でNo)、処理はS105に遷移する。
一方、S103において、電力算出部32により更新総消費電力が使用可能電力量より大きいと判定された場合(S103でYes)、分割部33は更新ファイルの分割を行う(S104)。
次に、送信部34は、送信制御のための制御変数の初期化処理を行う(S105)。ここで、説明のために、分割されたグループの数をNとし、グループ毎にそれぞれ1から昇順の番号が振られるとする。また、以下のステップS106において送信部34が送信対象とするグループのグループ番号を示す制御変数nを定義し、nを1で初期化する。尚、更新ファイルの分割が行われていない場合にはNの値は1となる。
次に、送信部34は、グループ番号が変数nのグループに含まれる更新ファイルを車載器23に送信する(S106)。
そして送信部34は、グループ番号が変数nのグループに含まれる全ての更新ファイルの送信が完了したか否かを判定する(S107)。グループ番号が変数nのグループに含まれる何れかのファイルの送信が完了していないと判定した場合(S107でNo)、送信部34は送信処理ステータスの確認を行う(S108)。次に、処理はS106に戻り、グループ番号が変数nのグループに含まれるファイルのうち、送信が完了していない更新ファイルを車載器23に送信する。
S107において、グループ番号が変数nのグループに含まれる全ての更新ファイルの送信が完了したと判定した場合(S107でYes)、送信部34は、グループ番号が変数nのグループの送信完了を車載器23に通知する(S109)。そして送信部34は、変数nの値をインクリメントする(S110)。
次に、送信部34は、すべてのグループの送信処理が完了したか否かを判定する(S111)。すなわち送信部34は、nの値がNより大きいか否かを判定する。何れかのグループの送信処理が完了していないと判定された場合(S111でNo)、すなわち、nの値がN以下の場合は、処理はS106に遷移する。
一方S111において、すべてのグループの送信処理が完了したと判定した場合(S111でYes)、すなわちnの値がNより大きい場合、送信部34はすべてのグループの送信処理が完了したと判定する。そして送信部34は、車載器23に適用対象の全ての更新ファイルの送信処理が完了したことを通知する(S112)。そして、処理は終了する。
次に、自動車21における更新ファイルのインストール処理について説明する。
更新ファイルのインストール処理は、対象車両が停止している状態で実施される。そこで本実施形態では、対象車両が停止状態にある時間帯の履歴を記録し、履歴から車両が安定して停止することが見込まれる時間帯を予測する。そして、車両が安定して停止することが見込まれる時間帯に、車両が停止した場合に、更新ファイルのインストール処理を開始するように制御する。また、更新ファイルのインストール処理の開始前には、その時点におけるバッテリの残量が、インストール処理を行うために十分な量あるか否かが判定される。
更に、更新ファイルのインストール処理は、分割部33によって分割された1グループ単位で行われる。また、1グループのインストール処理後、バッテリの充電が実施されたことが確認されてから、次のグループのインストール処理が開始される。よって複数のグループのインストール処理が全て完了するには、数日に跨る処理となる場合もある。例えば、3グループある場合で1週間に1回しか充電が行われない場合には、最短でも2週間と1日の日数が、すべてのファイルのインストール処理にかかることがある。
尚、更新サーバ22からの更新ファイルのダウンロード処理と更新ファイルのインストール処理とは、時間的に隔離される。更新ソフトウェアのダウンロード処理は、インストール処理よりも電力を消費することが多いが、ダウンロード処理後、バッテリが充電されてからインストール処理を行うことで、バッテリの枯渇を軽減できる。
図9は、車載器23の構成の一例を示す。
車載器23は、記録部81、状態確認部82、残量確認部83、インストール処理部84、認証部85、受信部86、通信セキュリティ確保部87、異常処理部88、作業完了確認部89、及び信頼性チェック部801を含む。
車載器23は情報処理装置10の一例である。受信部86は受信部8の一例である。インストール処理部84は処理部9の一例である。
記録部81は、対象車両が停止した時間帯の履歴情報を記録する。以下の説明では、記録部81が記録する、対象車両の停止時間帯の履歴情報を、車両履歴情報と記す。
具体的には、記録部81は、一定期間の車両の停止時間帯と停止位置を、車両停止履歴情報として、所定の記憶領域に記憶する。図10は、車両履歴情報の構成の一例を示す。
車両履歴情報90は、停止時間帯91、及び停止位置92のデータ項目を含む。停止時間帯は、対象車両の停止時間帯を示す情報である。停止位置92は、停止時間帯91で示される時間帯の対象車両の位置を示す情報である。
記録部81は、車両が停止した場合、停止した時間とそのときの車両の位置情報を、それぞれ、車両履歴情報90の停止時間帯91、停止位置92に格納する。例えば、記録部81は車両が停止する直前に停止時刻を記録し、次に車両が起動された際に起動時刻を記録し、記録した停止時刻と起動時刻から停止時間帯を算出して、停止時間帯91に記録してもよい。また、停止時刻または起動時刻における車両の位置を例えば、車両に搭載されたGPS(Global Positioning System)などを用いて測定し、測定の結果を停止位置92に格納してもよい。
状態確認部82は、対象車両が、安定して停止することが見込まれる時間帯に停止しているか否かを判定する。
具体的には、先ず状態確認部82は、車両履歴情報90を参照して、所定の場所に定期的に車両が停止する時間帯を特定する。例えば、状態確認部82は、車両履歴情報90を参照し、1ヶ月間などの一定期間の間、車両が所定の場所に停止する時間帯が定期的に現れるパターンを特定する。図10の車両履歴情報90においては、例えば、「18:00〜9:00」の間「座標X.Y」において車両が定期的に停止されていることが記録されている。そこで、状態確認部82は、「座標X.Y」において「18:00〜9:00」の間は定期的に車両が停止していると判定する。
尚、定期的に車両が停止する時間帯と判定されるのは、例えば5時間以上等、所定の時間幅以上のものであるとする。この所定の時間幅の値をαと記すと、αは予め所定の記憶領域に記憶されるものとする。またαは、更新ファイルのグループ毎のファイルをインストールするためにかかる時間を基に算出されてもよい。例えばαは、1グループに含まれるすべての更新ファイルをインストールするための時間よりも大きい値に設定されてもよい。
そして状態確認部82は、定期的に車両が停止していると判定された時間帯と座標に車両が停止しているか否かを判定する。以下の説明では、この定期的に車両が停止していると判定された時間帯と座標に、車両が停止している状態を、車両が安定停止状態にあると記す。尚、車両の停止位置は若干ずれることが考えられるので、停止位置が同じであると判定する座標には所定の幅を持たせてもよい。
残量確認部83は、現在の対象車両のバッテリの残量が、インストール処理を行うために十分に残されているかを確認する。具体的には残量確認部83は、現在の対象車両のバッテリの残量が、使用可能電力量と基本電力量と所定の余裕値の加算値以上であるか否かを判定する。尚、所定の余裕値は0でもよい。また、使用可能電力量と基本電力量は、更新サーバの容量管理情報50から残量確認部83により取得されてもよい。尚、現在のバッテリの残量は、電力負荷をかけた際の電圧低下や内部抵抗の値により推測することができる。
また、残量確認部83は、対象グループに含まれるそれぞれのファイルのインストール処理の実行前に、バッテリの電圧が正常か否かの判定を行う。具体的には、残量確認部83は、バッテリの電圧が予め所定の記憶領域に記憶された正常値の範囲内にあるか否かを判定する。各更新ファイルのインストール処理前に、バッテリ電圧が正常か否かの判定を行うことで、インストール処理以外の不測の要因によりバッテリの残量が少なくなった場合に、インストール処理が実行されることを防ぐことができる。例えば、バッテリの容量は温度によって変化することや予期せぬエンジンの起動などが、不測の要因の一つに挙げられる。
インストール処理部84は、更新ファイルのインストール処理を実行する。すなわち、インストール処理部84は、更新ファイルの適用対象のECU24に対して、更新サーバ22から受信した更新ファイルを送信するとともに、更新ファイルのインストール処理の実施を指示する。そして、指示を受けたECU24から更新ファイルのインストールの完了通知を受信すると、インストール処理部84は、更新サーバ22にインストールの完了通知を転送する。ここで、ECU24はインストールの完了通知にインストール処理後の構成情報を含ませる。この構成情報を用いて、更新サーバ22の検証部36は、インストールの成否確認を行う。検証部36によりインストールは失敗したと判定された場合には、インストール処理部84は、インストールのリトライ指示(またはロールバック指示)を検証部36から受信する。すると、インストール処理部84は、ECU24に対してインストールのリトライ(またはロールバック)を指示する。検証部36によりインストールが成功したと判定された場合には、インストール処理部84は、検証部36から更新ファイルのインストールが成功した旨の通知を受信する。
認証部85は、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かを確認する。
すなわち、認証部85は、先ず、更新サーバ22に対して、対象車両のリモートメンテナンスに対する所有者の事前同意があるか否かの確認要求を行う。そして、対象車両のリモートメンテナンスに対する所有者の事前同意がある旨の通知を受信した場合、認証部85は更新ファイルのインストールの開始に当たっての所有者の同意を取得する。
インストール開始に当たっての所有者の同意の取得では、認証部85は、所有者により事前に登録された認証方法による認証情報を取得する。例えば、事前に登録された認証方法が指紋認証(静脈認証)である場合、認証部85は所有者に対して指紋の入力を促すメッセージを出力し、所有者の指紋を所定の入力装置(例えば指紋センサ等)を介して取得する。また、例えば、事前に登録された認証方法が音声認証である場合、認証部85は所有者に対して音声の入力を促すメッセージを出力し、所有者の音声を所定の入力装置(例えばマイク等)を介して取得する。また、例えば、事前に登録された認証方法が画像認証である場合、認証部85は所有者に対して画像の取得を行う旨のメッセージを出力し、所有者の画像を所定の入力装置(例えばカメラ等)を介して取得する。尚、認証方法は、更新サーバ22が管理する同意情報40の認証方法44に対応するものとする。認証方法は車載器23の所定の記憶領域に予め格納されてもよいし、リモートインストール開始に当たっての所有者の同意取得の前に、更新サーバ22から取得されてもよい。
次に認証部85は、同意確認情報に、所有者から取得した認証情報を含ませて、更新サーバ22に送信する。そして認証部85は、更新サーバ22から認証結果を受信する。認証部85は受信した認証結果を確認し、認証に成功したか否かの結果を確認する。認証に成功していないことを確認した場合、認証部85はリモートメンテナンスに対する所有者からの同意を得ていないと判定する。認証に成功したことを確認した場合、認証部85はリモートメンテナンスに対する所有者からの同意を得たと判定する。
受信部86は、更新サーバ22の送信部34から送信された更新ファイルを受信する。上述したように、更新ファイルは、分割(分類)されたグループ毎に送信部34から送信される。受信部は、分割(分類)されたグループ毎に更新ファイルを受信し、受信した更新ファイルを分割(分類)されたグループ毎に所定の記憶領域に格納する。
また、受信部は、更新サーバ22で分割(分類)された所定のグループに含まれるすべての更新ファイルが受信済みか否かを判定する。
分割(分類)されたグループに含まれるすべての更新ファイルが受信済みか否かの判定は、更新サーバ22からグループ毎の送信完了通知を受信したか否かを受信部86が確認することにより行われる。受信部86は、グループ毎の送信完了通知を受信した場合、そのグループに含まれるすべての更新ファイルが受信済みであると判定する。
受信部86は、対象グループに含まれるすべての更新ファイルが受信済みでないと判定した場合、更新サーバ22に更新ファイルの送信要求を送信する。ここで、受信部86は、受信に失敗したファイルがある場合には、受信に失敗したファイルを指定して、更新サーバ22にファイルの送信要求を行ってもよい。
通信セキュリティ確保部87は、更新サーバ22との通信のセキュリティを確保する。更新サーバ22との通信のセキュリティを確保するために、通信セキュリティ確保部87は、予め、更新サーバ22の公開鍵、車載器23の秘密鍵、及びハッシュ関数を所定の記憶領域に記憶しておく。更新サーバ22の公開鍵、車載器23の秘密鍵、及びハッシュ関数は車両の出荷前に格納される。尚、車載器23の秘密鍵とハッシュ関数は、鍵管理情報70の公開鍵72とハッシュ関数73に対応する。
そして、通信セキュリティ確保部87は、更新サーバ22のセキュリティ確保部35と同様に、更新サーバ22と車載器23の間の通信のセキュリティを確保する。すなわち、通信セキュリティ確保部87による、更新サーバ22の認証、及び更新サーバ22から受信した情報が改竄されていないことの判定も、上記のセキュリティ確保部35による車載器23の認証と同様にして行われる。認証に当たって、先ず更新サーバ22のセキュリティ確保部35は、送信対象データのハッシュ値を、ハッシュ関数を用いて算出する。次にセキュリティ確保部35は、算出したハッシュ値を、更新サーバ22の秘密鍵を用いて暗号化し、デジタル署名を作成する。そして更新サーバ22のセキュリティ確保部35は、作成したデジタル署名と送信対象データとを、車載器23の公開鍵を用いて暗号化する。そして更新サーバ22のセキュリティ確保部35は、暗号化した、送信対象データとデジタル署名とを、車載器23に送信する。
更新サーバ22から、暗号化された、送信対象データとデジタル署名とを受信すると、通信セキュリティ確保部87は、車載器23の秘密鍵を用いて受信した情報を復号する。次に通信セキュリティ確保部87は、更新サーバ22の公開鍵を用いてデジタル署名を復号しハッシュ値を取得する。次に通信セキュリティ確保部87は、ハッシュ関数を用いて、送信対象データのハッシュ値を算出する。そして通信セキュリティ確保部87は、算出したハッシュ値と、デジタル署名を復号して得たハッシュ値とを比較し、比較の結果が一致した場合に、更新サーバ22が正当であると判定し、更新サーバ22から受信した送信対象データは改竄されていないと判定する。すなわち、通信セキュリティ確保部87は、更新サーバ22から送信されたデータは、正しく受信されたと判定する。一方、比較の結果が一致しなかった場合、通信セキュリティ確保部87は、更新サーバ22から送信されたデータは、正しく受信されなかったと判定する。
ここで、車載器23から更新サーバ22に送信されるデータは、送信前に通信セキュリティ確保部87により、デジタル署名が付加され、さらに暗号化されて送信されるものとする。このような送信データには、インストール処理部84が更新サーバ22に送信する構成情報などが含まれる。
通信セキュリティ確保部87は、更新サーバ22から送信された更新ファイルが正しく受信されなかったと判定した場合、正しく受信できなかったことを示す情報と、正しく受信できなかったファイルの識別情報とを含むステータス情報を更新サーバ22に通知する。そして、通信セキュリティ確保部87は、更新サーバ22から送信された更新ファイルが正しく受信されたと判定した場合、正しく受信できたことを示す情報を含むステータス情報を更新サーバ22に通知する。
異常処理部88は、リモートメンテナンスによるファイルの更新に失敗した場合の種々の異常処理を行う。具体的には、異常処理部88は、リモートインストール開始時に所有者の同意を得られなかった場合に、所有者によるリモートメンテナンスの同意が得られないのでリモートメンテナンスができない旨のメッセージを出力する。また、異常処理部88は、リモートインストール開始時に所有者の認証に失敗した場合に、所有者の認証ができないのでリモートメンテナンスができない旨のメッセージを出力する。また、異常処理部88は、ファイルの更新処理前のバッテリの電圧が異常値を示す場合に、バッテリの残量が不足しているためリモートメンテナンスができない旨のメッセージを出力する。尚、異常処理部88によるメッセージの出力は、次回エンジンが起動された直後に行われてもよい。また、異常処理部88はメッセージの出力後、作業ログを更新サーバ22に送信してもよい。
また、異常処理部88は、ファイルの更新処理に失敗した場合には、ファイルの更新に失敗した旨のメッセージを出力する。また、重大なエラーが発生し、自動車21の安全性が確保できない場合には、異常処理部88は、エンジンがかからないように車両を制御してもよい。
作業完了確認部89は、適用対象の更新ファイルのインストールが成功した場合の処理を行う。すなわち、作業完了確認部89は、更新サーバ22の検証部36から適用対象の更新ファイルのインストールが成功した旨の通知を受信する。すると、作業完了確認部89は、適用対象の更新ファイルのインストール処理が正しく完了したことを所有者に通知する。所有者に対する通知は、例えば、車載器23の表示装置にインストールが成功した旨を表示させることにより行う。そして作業完了確認部89は、更新ファイルのインストール処理が正しく完了したことを所有者が確認したことを示す情報、及び、更新ファイルの有効化を所有者が同意したことを示す情報を含む最終確認情報を、所有者から取得する。すると作業完了確認部89は、最終確認情報を、エビデンスとして所定の記憶領域に記憶するとともに、ECU24に対して更新ファイルの有効化を指示する。また、作業完了確認部89は、最終確認情報と一連のインストール処理の作業ログ情報を更新サーバ22に送信する。尚作業完了確認部89は、更新ファイルの受信処理及びインストール処理の作業ログを記録する。
信頼性チェック部801は、車載器23で稼動するアプリケーションの真正性をチェックする。具体的には例えば、信頼性チェック部801は、予め所定の記憶領域に、車載器23で起動する各アプリケーションの真正性を確認するためのハッシュ値を記憶しておく。そして、アプリケーションの起動時にアプリケーションのハッシュ値を取得して予め記憶しておいた真正性を確認するためのハッシュ値と比較し、ハッシュ値が一致した場合、アプリケーションは真正であると判定する。信頼性チェック部801による真正性のチェックの対象となるアプリケーションには、記録部81、状態確認部82、残量確認部83、インストール処理部84、及び認証部85の機能を提供するものが含まれる。さらに信頼性チェック部801による真正性のチェックの対象となるアプリケーションには、受信部86、通信セキュリティ確保部87、異常処理部88、及び作業完了確認部89の機能を提供するものが含まれる。また、信頼性チェック部801は、インストール処理部84と通信を行うECU24のアプリケーションについても同様に、ハッシュ値の比較による真正性のチェックを行う。このECU24のアプリケーションには、例えばECU24の構成情報を取得するアプリケーションが含まれる。尚、信頼性チェック部801の機能は、TPMにより提供されてもよい。TPMは、ハードウェア耐タンパー性をもつセキュリティチップであり、信頼性基点として、TPMがハッシュ値のチェックを行う各アプリケーションの信頼性の確保に用いることができる。
信頼性チェック部801により、車載器23から更新サーバ22に送信されるデータの信頼性を確保することができる。また例えば、信頼性チェック部801は、車両履歴情報90、認証情報、同意確認情報、ステータス情報、最終確認情報、及び作業ログの真正性を保証することができる。
図11は、車載器23におけるインストール処理の動作フローを図解したフローチャートである。
図11において先ず状態確認部82は、対象車両が安定停止状態にあるか否かを判定する(S201)。対象車両が安定停止状態にないと判定された場合(S201でNo)、処理はS201に戻る。
S201において、対象車両が安定停止状態にあると判定された場合(S201でYes)、残量確認部83は、現在の車両のバッテリの残量が、使用可能電力量と基本電力量と所定の余裕値の加算値より大きいか否かを判定する(S202)。現在の車両のバッテリの残量が、使用可能電力量と基本電力量と所定の余裕値の加算値以下であると判定された場合(S202でNo)、処理は、S201に遷移する。ここで、現在の車両のバッテリの残量が、使用可能電力量と基本電力量と所定の余裕値の加算値以下であると判定された場合には、異常処理部88はバッテリの残量が不足しているため、リモートインストールが実施できない旨のメッセージを表示する等してもよい。
S202において、現在のバッテリ残量が、使用可能電力量と基本電力量と所定の余裕値の加算値より大きいと判定された場合(S202でYes)、認証部85は、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かを確認する(S203)。
対象車両のリモートメンテナンスに対する所有者からの同意を得ていないと判定された場合(S203でNo)、異常処理部88は、異常処理を行う(S204)。すなわち、異常処理部88は、対象車両のリモートメンテナンスに対する所有者からの同意を得られなかった場合に、所有者によるリモートメンテナンスの同意が得られないのでリモートメンテナンスができない旨のメッセージを出力する。また、異常処理部88は、リモートインストール開始時に所有者の認証に失敗した場合に、所有者の認証ができないのでリモートメンテナンスができない旨のメッセージを出力する。そして処理は終了する。
一方、S203において、対象車両のリモートメンテナンスに対する所有者からの同意を得たと判定された場合(S203でYes)、受信部86は、分割されたグループに含まれるすべての更新ファイルが受信済みか否かを判定する(S205)。対象グループに含まれるすべての更新ファイルが受信済みでないと判定した場合(S205でNo)、受信部86は更新サーバ22に更新ファイルの送信要求を行う(S206)。そして、処理はS205に遷移する。
S205において、受信部86により対象グループに含まれるすべての更新ファイルが受信済みであると判定された場合(S205でYes)、残量確認部83は、バッテリの電圧が正常か否かを判定する(S207)。
S207において、バッテリの電圧が異常であると判定された場合(S207でNo)、異常処理部88は異常処理を実行する(S208)。すなわち例えば異常処理部88は、バッテリの残量が不足しているため、リモートメンテナンスができない旨のメッセージを出力する。ここで、異常処理部88は、グループのファイルのインストールが成功したファイルのロールバック処理を行ってもよい。そして処理は終了する。
一方、S207において、バッテリの電圧が正常であると判定された場合(S207でYes)、インストール処理部84は、ファイルのインストールを実行する(S209)。
次に、インストール処理部84は、対象グループの全てのファイルのインストールが終了したか否かを判定する(S210)。対象グループのいずれかのファイルのインストールが終了していないと判定された場合(S210でNo)、処理はS207に遷移する。
一方、S210において、対象グループのすべてのファイルのインストールが終了したとインストール処理部84により判定された場合(S210でYes)、処理は終了する。
尚、図11のフローは、分割された所定のグループ毎に実施される。また、図11のフローの開始は、更新サーバ22から所定のグループに含まれるすべての更新ファイルの受信が完了した状態で行われてもよい。また、一つのグループのインストール処理が完了すると(例えば1回目の図11のフローが完了すると)、次のグループのインストール処理(2回目の図11のフロー)が実施されるまでの間に、例えば車両の走行等によりバッテリの充電が実施されるものとする。分割して更新ファイルのインストールが行われる場合、1つのグループのインストール処理が完了後に初めてエンジンが起動された際に、記録部81は後日残りのインストール作業が予定されている旨を所有者に通知してもよい。
また、図11のフローは、エンジン停止キーが回された瞬間に開始されてもよい。その場合、S203の、対象車両のリモートメンテナンスに対する所有者からの同意を得たか否かの確認において実施される、インストール開始に当たっての所有者の同意の取得は停止直後に行われてもよい。
次に、ECU24の構成について説明する。図12は、本実施形態に係るECUの構成の一例を示す。図12において、ECU24は、インストール部301、及び構成情報収集部302を含む。
インストール部301は、車載器23から更新ファイルを含むインストール処理の実施指示を受信する。するとインストール部301は、受信した更新ファイルをインストールする。ただし、車載器23から有効化の指示を受信するまでは、インストール処理部は更新の有効化(例えば、更新したソフトウェアでの起動)は行わない。
構成情報収集部302は、インストール部301による更新ファイルのインストール処理の後、ソフトウェアの構成情報を収集する。そして構成情報収集部302は、収集した構成情報を含むインストールの完了通知を車載器23に送信する。
車載器23からロールバックの指示を受けた場合にはインストール部301は、インストール処理における変更を破棄して、ソフトウェアを適用処理の直前の状態に戻す。そしてインストール部301は、作業ログを車載器23に送信する。ここで、作業ログは、インストール部301によるインストール処理と、その後の有効化処理またはロールバック処理の作業ログのデータである。
車載器23からインストールのリトライ指示を受けた場合にはインストール部301は、更新ファイルのインストール処理を再実施する。
尚、ロールバック処理は、更新ソフトウェアのインストール処理の開始直前のソフトウェアの状態を所定の記憶領域にバックアップ(またはスナップショットを取得)することにより実現してもよい。この場合、インストール部301は、車載器23から対象ファイルのインストール指示を受信すると、先ず、更新対象ソフトウェアのバックアップを取得する。バックアップの取得が完了するとインストール部301は更新ファイルをインストールする。その後車載器23からロールバックの指示を受信すると、インストール部301は、バックアップしたデータを戻すことにより、インストール処理開始直前の状態に更新対象ソフトウェアを復元する。
尚、本実施形態においては、車載器23とECU24間の通信のセキュリティは確保されているものとする。車載器23とECU24間のセキュリティが確保されていない場合には、車載器23と更新サーバ22の通信と同様に、通信データに署名を付与することによって、車載器23とECU24間の通信のセキュリティを確保してもよい。
次に、ECU24での更新ファイルの有効化について説明する。ECU24は、読み出し用と更新処理用の2つの環境を含む。読み出し用の環境は現在有効となっているソフトウェアが稼動している環境である。更新処理用の環境は、修正ファイルのインストール処理において使用される環境である。読み出し用の環境の現在有効なソフトウェアのバージョンを(A)とすると、更新処理用の環境のソフトウェアはAのひとつ前のバージョンである(A−1)となる。この(A−1)のソフトウェアに対して更新ファイルのインストールが行われると、(A+1)のソフトウェアに更新される。その後、インストールの成功が確認されると、ECU24は更新ファイルの有効化が指示されるが、更新ファイルの有効化では、更新処理用の環境が読み出し用の環境に切り替えられ、読み出し用の環境が更新処理用の環境に切り替えられる。すると(A+1)のバージョンのソフトウェアがECU24で稼動することとなる。このようにしてECU24では、更新ファイルのインストールと有効化が行われる。
次に、更新サーバ22の構成について説明する。図13は、更新サーバ22のハードウェア構成の一例を示す。
更新サーバ22は、CPU(Central Processing Unit)401、メモリ402、記憶装置403、読取装置404、通信インターフェース405、及び入出力装置406を含む。CPU401、メモリ402、記憶装置403、読取装置404、通信インターフェース405、及び入出力装置406はバスを介して接続される。
CPU401は、メモリ402を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、認証部31、電力算出部32、分割部33、送信部34、セキュリティ確保部35、及び検証部36の一部または全部の機能を提供する。
メモリ402は、例えば半導体メモリであり、RAM(Random Access Memory)領域およびROM(Read Only Memory)領域を含んで構成される。記憶装置403は、例えばハードディスクである。なお、記憶装置403は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置403は、外部記録装置であってもよい。記憶装置403は記憶部1の一例である。
読取装置404は、CPU401の指示に従って着脱可能記憶媒体450にアクセスする。着脱可能記憶媒体450は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置404は更新サーバ22に含まれなくてもよい。
通信インターフェース405は、車載器23に接続し、CPU401の指示に従ってネットワークを介して、車載器23との間でデータを送受信する。また、通信インターフェース405は、他の情報処理装置と接続してもよい。
入出力装置406は、例えば、ユーザからの指示を受け付けるデバイス、情報を表示する表示装置などである。尚、入出力装置406は更新サーバ22に含まれなくてもよい。
実施形態のプログラムは、例えば、下記の形態で更新サーバ22に提供される。
(1)記憶装置403に予めインストールされている。
(2)着脱可能記憶媒体450により提供される。
(3)プログラムサーバ(図示せず)から通信インターフェース405を介して提供される。
さらに、実施形態の更新サーバ22の一部は、ハードウェアで実現してもよい。或いは、実施形態の更新サーバ22は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
次に、車載器23の構成について説明する。図14は、車載器23のハードウェア構成の一例を示す。
車載器23は、CPU501、メモリ502、記憶装置503、読取装置504、通信インターフェース505、入出力装置506、及びTPM507を含む。CPU501、メモリ502、記憶装置503、読取装置504、通信インターフェース505、入出力装置506、及びTPM507はバス等を介して接続される。
CPU501は、メモリ502を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、記録部81、状態確認部82、残量確認部83、インストール処理部84、及び認証部85の一部または全部の機能を提供する。また、CPU501は、受信部86、通信セキュリティ確保部87、及び異常処理部88の一部または全部の機能を提供する。
メモリ502は、例えば半導体メモリであり、RAM領域およびROM領域を含んで構成される。記憶装置503は、例えばハードディスクであり、また、実施形態のプログラムを格納する。なお、記憶装置503は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置503は、外部記録装置であってもよい。
読取装置504は、CPU501の指示に従って着脱可能記憶媒体550にアクセスする。着脱可能記憶媒体550は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置504は車載器23に含まれなくてもよい。
通信インターフェース505は、更新サーバ22に接続し、CPU501の指示に従ってネットワークを介してデータを送受信する。また、通信インターフェース505は、ECU24に接続し、CPU501の指示に従ってネットワークを介してデータを送受信する。
入出力装置506は、例えば、情報を表示する表示装置などである。ユーザに対する警告や更新ファイルのインストール結果は、入出力装置506に出力される。また例えば入出力装置506は、カメラ、マイク、指紋センサ、またはタッチパネル等でもよく、この入出力装置506を介して、所有者からのリモートメンテナンスの同意や、認証情報、最終確認情報が取得される。
TPM507は、CPU501で稼動するプログラムの信頼性をチェックすることが可能なセキュリティチップであり、信頼性チェック部801の機能の一部または全てを提供する。信頼性チェック部801がアプリケーションの真正性のチェックにおいて使用するハッシュ値は、TPM507内の所定の記憶領域に格納される。
実施形態のプログラムは、例えば、下記の形態で車載器23に提供される。
(1)記憶装置503に予めインストールされている。
(2)着脱可能記憶媒体550により提供される。
(3)プログラムサーバ(図示せず)または更新サーバ22から通信インターフェース505を介して提供される。
さらに、実施形態の車載器23の一部は、ハードウェアで実現してもよい。或いは、実施形態の車載器23は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
尚、車載器23の機能は、ECU24のうちの何れかに含ませるようにしてもよい。
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 記憶部
2 受信部
3 分類部
4 送信部
5 確認部
6 算出部
7 情報処理装置
8 受信部
9 処理部
10 情報処理装置

Claims (12)

  1. コンピュータに、
    自動車に搭載された機器を制御する制御プログラムが動作する自動車から、該制御プログラムについての更新要求を受信し、
    記憶部に記憶された、前記自動車が属する車種に対応するバッテリの使用可能電力量に基づいて、前記更新要求に対応する複数の修正プログラムを複数のグループに分類し、
    前記グループ毎に分類された前記修正プログラムを前記自動車に送信する
    処理を実行させることを特徴とする情報処理プログラム。
  2. 前記分類する処理は、
    前記制御プログラムを実行する制御部であって、前記自動車に搭載される該制御部における、前記制御プログラムに対する修正プログラムをインストールするために使用される予測の消費電力量の合計値が、前記使用可能電力量よりも大きい場合、前記複数の修正プログラムを複数のグループに分類する
    ことを含む
    ことを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記分類する処理は、
    前記消費電力量の合計値と前記使用可能電力量とに基づいて決定した数のグループに、前記複数の修正プログラムを分類する
    ことを含む
    ことを特徴とする請求項2に記載の情報処理プログラム。
  4. 前記コンピュータに、さらに、
    前記複数のグループのうちの第1のグループに分類された前記修正プログラムが正常に受信されたか否かを示す確認情報を受信する
    処理を実行させ、
    前記送信する処理は、
    前記確認情報により、前記第1のグループに分類された前記修正プログラムが正常に受信されたことを確認した後に、前記複数のグループのうちの第2のグループに分類された前記修正プログラムの送信を開始する
    ことを含む
    ことを特徴とする請求項1〜3のうちいずれか1項に記載の情報処理プログラム。
  5. 前記コンピュータに、さらに、
    前記制御部毎に対応付けて記憶部に記憶された、単位サイズの修正プログラムをインストールするために使用される消費電力量に基づいて、前記消費電力量の合計値を算出する
    処理を実行させることを特徴とする請求項2または3に記載の情報処理プログラム。
  6. コンピュータに、
    インストール対象の自動車に対する1以上の修正プログラムを受信し、
    記憶部に記憶された、前記自動車が停止した場所と時間帯を示す履歴情報に基づいて、前記自動車が定期的に停止した場所と時間帯を特定し、
    特定した前記場所及び前記時間帯に前記自動車が停止している場合、前記自動車のバッテリ残量に応じて、受信した前記1以上の修正プログラムをインストールする
    処理を実行させることを特徴とする情報処理プログラム。
  7. 前記インストールする処理は、
    前記自動車が所定の時間以上停止することが見込まれるタイミングで、前記受信した1以上の修正プログラムをインストールする
    ことを含む
    ことを特徴とする請求項に記載の情報処理プログラム。
  8. 前記インストールする処理は、
    前記自動車のバッテリ残量が所定の閾値以上である場合に、前記受信した1以上の修正プログラムをインストールする
    ことを含む
    ことを特徴とする請求項6または7に記載の情報処理プログラム。
  9. 自動車に搭載された機器を制御する制御プログラムが動作する自動車から、該制御プログラムについての更新要求を受信し、
    記憶部に記憶された、前記自動車が属する車種に対応するバッテリの使用可能電力量に基づいて、前記更新要求に対応する複数の修正プログラムを複数のグループに分類し、
    前記グループ毎に分類された前記修正プログラムを前記自動車に送信する
    ことを特徴とする情報処理方法。
  10. 第1情報処理装置と、該第1情報処理装置と通信可能な第2情報処理装置とを有する情報処理システムにおける情報処理方法であって、
    前記第1情報処理装置は、
    自動車に搭載された機器を制御する制御プログラムが動作する自動車から、該制御プログラムについての更新要求を受信し、
    記憶部に記憶された、前記自動車が属する車種に対応するバッテリの使用可能電力量に基づいて、前記更新要求に対応する複数の修正プログラムを複数のグループに分類し、
    前記グループ毎に分類された前記修正プログラムを前記第2情報処理装置に送信し、
    前記第2情報処理装置は、
    前記第1情報処理装置から、前記分類された修正プログラムを、前記グループ毎に受信し、
    前記制御プログラムが動作する自動車のバッテリ残量に応じて、前記グループ毎に、前記分類された修正プログラムをインストールする
    ことを特徴とする情報処理方法。
  11. 自動車が属する車種に対応づけて、前記自動車のバッテリの使用可能電力量を記憶する記憶部と、
    自動車に搭載された機器を制御する制御プログラムが動作する自動車から、該制御プログラムについての更新要求を受信する受信部と、
    前記制御プログラムが動作する自動車に対応する使用可能電力量を前記記憶部から参照し、参照した該使用可能電力量に基づいて前記更新要求に対応する複数の修正プログラムを複数のグループに分類する分類部と、
    前記グループ毎に分類された前記修正プログラムを前記自動車に送信する送信部と、
    を備えることを特徴とする情報処理装置。
  12. 第1情報処理装置と、該第1情報処理装置と通信可能な第2情報処理装置とを有する情報処理システムであって、
    前記第1情報処理装置は、
    自動車が属する車種に対応づけて、前記自動車のバッテリの使用可能電力量を記憶する記憶部と、
    自動車に搭載された機器を制御する制御プログラムが動作する自動車から、該制御プログラムについての更新要求を受信する受信部と、
    前記制御プログラムが動作する自動車に対応する使用可能電力量を前記記憶部から参照し、参照した該使用可能電力量に基づいて前記更新要求に対応する複数の修正プログラムを複数のグループに分類する分類部と、
    前記グループ毎に分類された前記修正プログラムを前記第2情報処理装置に送信する送信部と、
    を備え、
    前記第2情報処理装置は、
    前記第1情報処理装置から、前記分類された修正プログラムを、前記グループ毎に受信する受信部と、
    前記制御プログラムが動作する自動車のバッテリ残量に応じて、前記グループ毎に、前記分類された修正プログラムをインストールする処理部と、
    を備える
    ことを特徴とする情報処理システム。
JP2013217834A 2013-10-18 2013-10-18 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム Active JP5975964B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013217834A JP5975964B2 (ja) 2013-10-18 2013-10-18 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
US14/494,903 US9904531B2 (en) 2013-10-18 2014-09-24 Apparatus and method for installing vehicle correction program
EP14186183.1A EP2876553B1 (en) 2013-10-18 2014-09-24 Information processing program, information processing method, and information processing apparatus
CN201410532506.7A CN104570823B (zh) 2013-10-18 2014-10-10 信息处理方法和信息处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013217834A JP5975964B2 (ja) 2013-10-18 2013-10-18 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2015079468A JP2015079468A (ja) 2015-04-23
JP5975964B2 true JP5975964B2 (ja) 2016-08-23

Family

ID=51687795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013217834A Active JP5975964B2 (ja) 2013-10-18 2013-10-18 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム

Country Status (4)

Country Link
US (1) US9904531B2 (ja)
EP (1) EP2876553B1 (ja)
JP (1) JP5975964B2 (ja)
CN (1) CN104570823B (ja)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5267598B2 (ja) * 2011-02-25 2013-08-21 トヨタ自動車株式会社 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
US10333777B2 (en) * 2013-08-06 2019-06-25 Ciena Corporation Configuring a secure network infrastructure device
US10181161B1 (en) 2014-05-20 2019-01-15 State Farm Mutual Automobile Insurance Company Autonomous communication feature use
US9972054B1 (en) 2014-05-20 2018-05-15 State Farm Mutual Automobile Insurance Company Accident fault determination for autonomous vehicles
US11669090B2 (en) 2014-05-20 2023-06-06 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10599155B1 (en) 2014-05-20 2020-03-24 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation feature monitoring and evaluation of effectiveness
US10373259B1 (en) 2014-05-20 2019-08-06 State Farm Mutual Automobile Insurance Company Fully autonomous vehicle insurance pricing
US11030696B1 (en) 2014-07-21 2021-06-08 State Farm Mutual Automobile Insurance Company Methods of providing insurance savings based upon telematics and anonymous driver data
DE102014116172A1 (de) * 2014-11-06 2016-05-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Datenübertragungseinheit für ein Fahrzeug
US10007263B1 (en) 2014-11-13 2018-06-26 State Farm Mutual Automobile Insurance Company Autonomous vehicle accident and emergency response
JP2016224898A (ja) * 2015-05-27 2016-12-28 株式会社デンソー 車載電子制御装置
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
JP6573500B2 (ja) * 2015-07-28 2019-09-11 矢崎総業株式会社 ソフトウェア更新システム
DE102015216265A1 (de) * 2015-08-26 2017-03-02 Robert Bosch Gmbh Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug
US20210272207A1 (en) 2015-08-28 2021-09-02 State Farm Mutual Automobile Insurance Company Vehicular driver profiles and discounts
KR101724486B1 (ko) * 2015-09-21 2017-04-18 현대자동차 주식회사 차량 단말의 소프트웨어 업데이트 제어장치 및 그 방법이 구현된 컴퓨터로 판독 가능한 기록매체
JP6486484B2 (ja) * 2015-09-29 2019-03-20 日立オートモティブシステムズ株式会社 車載制御装置、および車載制御装置の情報更新システム
DE102015014049A1 (de) * 2015-10-30 2017-05-04 Audi Ag Steuergeräte-Update im Kraftfahrzeug
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US11441916B1 (en) 2016-01-22 2022-09-13 State Farm Mutual Automobile Insurance Company Autonomous vehicle trip routing
US11719545B2 (en) 2016-01-22 2023-08-08 Hyundai Motor Company Autonomous vehicle component damage and salvage assessment
US10802477B1 (en) 2016-01-22 2020-10-13 State Farm Mutual Automobile Insurance Company Virtual testing of autonomous environment control system
US10395332B1 (en) 2016-01-22 2019-08-27 State Farm Mutual Automobile Insurance Company Coordinated autonomous vehicle automatic area scanning
US11242051B1 (en) 2016-01-22 2022-02-08 State Farm Mutual Automobile Insurance Company Autonomous vehicle action communications
US10324463B1 (en) 2016-01-22 2019-06-18 State Farm Mutual Automobile Insurance Company Autonomous vehicle operation adjustment based upon route
JP6440643B2 (ja) * 2016-01-26 2018-12-19 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP6323480B2 (ja) 2016-03-02 2018-05-16 住友電気工業株式会社 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6358286B2 (ja) * 2016-06-02 2018-07-18 住友電気工業株式会社 制御装置、プログラム更新方法、およびコンピュータプログラム
WO2017149821A1 (ja) * 2016-03-02 2017-09-08 住友電気工業株式会社 制御装置、プログラム更新方法、およびコンピュータプログラム
DE102016206489A1 (de) * 2016-04-18 2017-10-19 Robert Bosch Gmbh Verfahren zur Programmierung von Steuergeräten eines Kraftfahrzeugs
JP6414568B2 (ja) * 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
US10656932B2 (en) * 2016-07-12 2020-05-19 United Radio, Inc. Radio updating method
US10042629B2 (en) * 2016-07-28 2018-08-07 GM Global Technology Operations LLC Remote vehicle update installation scheduling
US10970398B2 (en) 2016-08-10 2021-04-06 Kddi Corporation Data provision system, data security device, data provision method, and computer program
EP3499793B1 (en) * 2016-08-10 2021-11-10 KDDI Corporation Data provision system, data security device, data provision method, and computer program
JP6724717B2 (ja) * 2016-10-25 2020-07-15 株式会社オートネットワーク技術研究所 車載機器判定システム
JP2018073238A (ja) * 2016-11-01 2018-05-10 株式会社東芝 保護制御システム
CN106897627B (zh) * 2017-02-21 2020-02-11 成都信息工程大学 一种保证汽车ecu免受攻击和自动更新的方法
US10970063B2 (en) * 2017-04-12 2021-04-06 Sumitomo Electric Industries, Ltd. Relay apparatus, transfer method, and computer program
US10353696B2 (en) 2017-04-13 2019-07-16 Blackberry Limited Program release packages including program updates
FR3066626A1 (fr) * 2017-05-22 2018-11-23 Peugeot Citroen Automobiles Sa Dispositif et procede de controle des demarrages des mises a jour telechargees d'equipements d'un systeme
CN107491326A (zh) * 2017-07-31 2017-12-19 惠州市德赛西威汽车电子股份有限公司 一种车载导航自动适配软件升级方法
CN110998518A (zh) * 2017-08-10 2020-04-10 住友电气工业株式会社 控制设备、控制方法和计算机程序
JP6881150B2 (ja) * 2017-08-16 2021-06-02 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム
WO2019070235A1 (en) * 2017-10-03 2019-04-11 Google Llc UPDATE MESSAGING FOR VEHICLE COMPUTING DEVICES
JP6464466B2 (ja) * 2017-10-11 2019-02-06 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
JP6915500B2 (ja) 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
FR3075496B1 (fr) * 2017-12-14 2019-11-08 Psa Automobiles Sa Dispositif et procede de controle de la recharge d’une batterie avant demarrage d’une mise a jour telechargee d’un equipement d’un systeme
JP7013921B2 (ja) * 2018-02-19 2022-02-01 株式会社デンソー 検証端末
US11932182B2 (en) 2018-04-19 2024-03-19 Sumitomo Electric Industries, Ltd. Control device, control method, and computer program
CN108984194B (zh) * 2018-06-25 2021-08-10 上海艾拉比智能科技有限公司 一种基于4g网络的汽车远程迭代系统
JP7047819B2 (ja) * 2018-08-10 2022-04-05 株式会社デンソー 電子制御装置、車両用電子制御システム、アクティベートの実行制御方法及びアクティベートの実行制御プログラム
JP7159989B2 (ja) * 2018-08-10 2022-10-25 株式会社デンソー 車両用マスタ装置、車両用電子制御システム、アクティベート要求の指示方法及びアクティベート要求の指示プログラム
KR102587084B1 (ko) * 2018-09-05 2023-10-11 현대자동차주식회사 차량의 업데이트 제공 장치 및 방법
KR102610730B1 (ko) * 2018-09-05 2023-12-07 현대자동차주식회사 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
JP7234548B2 (ja) 2018-09-11 2023-03-08 株式会社デンソー センター装置、リプログデータの配信システム及びリプログデータの配信計画作成プログラム
DE102018216288A1 (de) * 2018-09-25 2020-03-26 Ford Global Technologies, Llc Verfahren zum Auffinden einer Ursache für die vorzeitige Entleerung einer Batterie in einem Fahrzeug
JP7169637B2 (ja) * 2018-10-11 2022-11-11 みこらった株式会社 移動装置及び移動装置用プログラム
JP6742381B2 (ja) 2018-10-15 2020-08-19 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
DE102018221954A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung
JP6943903B2 (ja) * 2019-02-22 2021-10-06 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
CN113490911B (zh) * 2019-02-22 2023-10-20 本田技研工业株式会社 软件更新装置、车辆和软件更新方法
JP7212736B2 (ja) * 2019-02-22 2023-01-25 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
CN111619484B (zh) * 2019-02-28 2022-03-25 北京新能源汽车股份有限公司 一种刷写程序的控制方法、装置和设备
JP7111038B2 (ja) * 2019-03-15 2022-08-02 オムロン株式会社 制御システム、中継装置、および中継プログラム
JP2021002713A (ja) * 2019-06-20 2021-01-07 富士通株式会社 更新装置、鍵更新プログラム
JP7456270B2 (ja) * 2020-05-07 2024-03-27 株式会社デンソー 車両制御システム
KR20220050620A (ko) * 2020-10-16 2022-04-25 현대자동차주식회사 차량 제어기의 업데이트 제어 시스템 및 제어 방법
JP7333350B2 (ja) * 2021-01-14 2023-08-24 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム
US11704107B2 (en) 2021-03-04 2023-07-18 Toyota Motor North America, Inc. Software updates based on transport-related actions
US11782692B2 (en) 2021-04-16 2023-10-10 Toyota Motor North America, Inc. Transport component acceptance
JP7456414B2 (ja) 2021-04-20 2024-03-27 トヨタ自動車株式会社 車両制御装置のソフトウェア更新方法及び車両運行システム
JP2022175761A (ja) * 2021-05-14 2022-11-25 株式会社デンソー 車両用電子制御装置、車両用電子制御システム及び更新後構成情報判定プログラム
KR20230000808A (ko) * 2021-06-25 2023-01-03 현대자동차주식회사 차량의 ota 업데이트 제어 장치 및 그 방법
DE102022205889A1 (de) 2022-06-10 2023-12-21 Volkswagen Aktiengesellschaft Vorrichtung zum Aktualisieren einer elektronischen Rechnereinheit eines Kraftfahrzeuges, System, Kraftfahrzeug und Verfahren zum Aktualisieren einer elektronischen Rechnereinheit

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6715068B1 (en) * 1999-03-31 2004-03-30 Fuji Photo Optical Co., Ltd. Multi-microcomputer system
JP2004326287A (ja) 2003-04-23 2004-11-18 Mitsubishi Electric Corp プログラム遠隔更新システム
JP2006085534A (ja) * 2004-09-17 2006-03-30 Fujitsu Ltd 情報処理装置、情報処理装置のソフトウェア更新方法、プログラム
BRPI0519184A2 (pt) 2004-12-21 2008-12-30 Emue Holdings Pty Ltd mÉtodos para autenticar um serviÇo remoto para um usuÁrio, e para autenticar mutuamente um usuÁrio de serviÇo remoto e um serviÇo remoto, arquitetura de software, dispositivo de autenticaÇço, e, mÉtodos para autenticar a identidade e/ou credenciais de um segundo usuÁrio para um primeiro usuÁrio, para criar um dispositivo de autenticaÇço, e, para autenticar um usuÁrio para um serviÇo remoto
AU2005318933B2 (en) 2004-12-21 2011-04-14 Emue Holdings Pty Ltd Authentication device and/or method
US20080140941A1 (en) * 2006-12-07 2008-06-12 Dasgupta Gargi B Method and System for Hoarding Content on Mobile Clients
DE102007010182A1 (de) 2007-03-02 2008-09-04 Robert Bosch Gmbh Getriebevorrichtung
JP2009177686A (ja) 2008-01-28 2009-08-06 Panasonic Corp デジタル放送受信装置およびソフトウェアダウンロード方法
CN101677264B (zh) * 2008-09-17 2013-05-22 艾威梯科技(北京)有限公司 Ack发送方法
WO2010113348A1 (ja) * 2009-03-31 2010-10-07 トヨタ自動車株式会社 車載ソフトウェア更新装置
US20120005125A1 (en) * 2010-07-01 2012-01-05 Daniel Jammer Payment system and method for provision of power to electric vehicle batteries
JP5686697B2 (ja) 2011-08-05 2015-03-18 三菱電機株式会社 組込み機器保守システム
KR101360705B1 (ko) * 2011-09-22 2014-02-07 기아자동차주식회사 차량 업그레이드 시스템 및 그 방법
JP5699893B2 (ja) * 2011-10-11 2015-04-15 株式会社デンソー 車載通信機
US8713562B2 (en) * 2012-01-06 2014-04-29 International Business Machines Corporation Intelligent and automated code deployment
US20130261939A1 (en) * 2012-04-01 2013-10-03 Zonar Systems, Inc. Method and apparatus for matching vehicle ecu programming to current vehicle operating conditions
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
US20140359593A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Maintaining known dependencies for updates

Also Published As

Publication number Publication date
JP2015079468A (ja) 2015-04-23
CN104570823A (zh) 2015-04-29
US9904531B2 (en) 2018-02-27
EP2876553B1 (en) 2018-08-29
EP2876553A1 (en) 2015-05-27
US20150113521A1 (en) 2015-04-23
CN104570823B (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
JP5975964B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
US11907698B2 (en) Vehicle electronic control system, vehicle master device, method for controlling transmission of data storage bank information and computer program product for controlling transmission of data storage bank information
CN108762783B (zh) 车辆系统的软件更新方法、装置及车辆系统
JP5864510B2 (ja) 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
US20210255805A1 (en) Vehicle master device, update data verification method and computer program product
US11151241B2 (en) Validation of software residing on remote computing devices
US20210155252A1 (en) Vehicle master device, control method for executing rollback, computer program product for executing rollback and data structure of specification data
US11604637B2 (en) Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product
US20210155173A1 (en) Vehicle master device, vehicle electronic control system, activation request instruction method and computer program product
US20210157570A1 (en) Vehicle master device, installation instruction determination method and computer program product
US20130055228A1 (en) System and Method for Installing a Patch on a Computing System
CN103679005A (zh) 启用安全电子控制单元的开发模式的方法
US11928459B2 (en) Electronic control unit, retry point specifying method and computer program product for specifying retry point
US20210157574A1 (en) Vehicle master device, non-rewrite target power supply administration method and computer program product
US20190034637A1 (en) In-vehicle apparatus for efficient reprogramming and controlling method thereof
US11941384B2 (en) Vehicle master device, rewrite target group administration method, computer program product and data structure of specification data
US11926270B2 (en) Display control device, rewrite progress display control method and computer program product
US11876898B2 (en) Vehicle master device, security access key management method, security access key management program and data structure of specification data
US11656771B2 (en) Electronic control unit, vehicle electronic control system, activation execution control method and computer program product
JP2013046119A (ja) 認証装置及び認証システム及び認証方法
US20200089909A1 (en) Personal information protection device for vehicle and personal information protection mehtod thereof and vehicle including the same
WO2022107422A1 (ja) コンピュータシステム、ソフトウェア改竄検証方法、及び非一時的なコンピュータ可読媒体
CN117651947A (zh) 信息处理装置、信息处理方法以及信息处理程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R150 Certificate of patent or registration of utility model

Ref document number: 5975964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150