JP6667430B2 - ソフトウェア更新装置、ソフトウェア更新システム - Google Patents
ソフトウェア更新装置、ソフトウェア更新システム Download PDFInfo
- Publication number
- JP6667430B2 JP6667430B2 JP2016252787A JP2016252787A JP6667430B2 JP 6667430 B2 JP6667430 B2 JP 6667430B2 JP 2016252787 A JP2016252787 A JP 2016252787A JP 2016252787 A JP2016252787 A JP 2016252787A JP 6667430 B2 JP6667430 B2 JP 6667430B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- software
- trigger
- unit
- server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/02—Registering or indicating driving, working, idle, or waiting time only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Description
本発明の第2の態様によるソフトウェア更新装置は、1以上の他のソフトウェア更新装置及びサーバとネットワークを介して接続されるソフトウェア更新装置であって、前記サーバから更新用データを受信する受信部と、前記更新用データを用いてソフトウェアの更新を行う更新部と、前記他のソフトウェア更新装置と通信する通信部と、前記ソフトウェアを更新する条件が記載された更新契機を前記サーバから受信する更新契機受信部と、前記他のソフトウェア更新装置に更新トリガを送信する条件を含む通知情報を前記サーバから受信する通知情報受信部と、前記通知情報に基づき前記他のソフトウェア更新装置に前記更新トリガを送信する更新トリガ通知部と、前記更新契機に記述されているすべての条件が満たされたと判断すると前記更新部に前記ソフトウェアの更新を実行させる更新開始判断部とを備える。
本発明の第3の態様によるソフトウェア更新システムは、複数のソフトウェア更新装置およびサーバを含むソフトウェア更新システムであって、前記サーバは、ソフトウェアを更新するための更新用データを配信する配信部を備え、前記複数のソフトウェア更新装置は、前記サーバから前記更新用データを受信する受信部と、前記更新用データを用いて前記ソフトウェアの更新を行う更新部と、前記サーバおよび他のソフトウェア更新装置と通信する通信部と、更新トリガの受信を含む前記ソフトウェアを更新する条件が記載された更新契機を前記サーバから受信する更新契機受信部と、前記他のソフトウェア更新装置に前記更新トリガを送信する条件を含む通知情報を前記サーバから受信する通知情報受信部と、前記通知情報に基づき前記他のソフトウェア更新装置に前記更新トリガを送信する更新トリガ通知部と、前記他のソフトウェア更新装置から前記更新トリガを受信する更新トリガ受信部と、前記更新契機に記述されているすべての条件が満たされたと判断すると前記更新部に前記ソフトウェアの更新を実行させる更新開始判断部とを備える。
以下、図1〜図18を参照して、ソフトウェア更新システムSの第1の実施の形態を説明する。
図1は、第1の実施の形態におけるソフトウェア更新システムSの構成、および機能ブロックを示す図である。ソフトウェア更新システムSは、広域ネットワーク、たとえばインターネット5により相互に接続される車両1とサーバ2とを含む。
第1更新装置10は、更新管理部30と更新部31とHMI34と通信部33とを備える。更新部31は、サーバ2から受信する更新用データを用いて第1更新装置10内の不図示のソフトウェアを更新する。HMI34はヒューマンマシンインタフェース、すなわちユーザとのインタフェース部であり、ユーザへの音や映像を用いた情報の提示、およびユーザからの入力を受け付ける。ただしHMI34は、ユーザとの物理的なインタフェースを備えず、ユーザとのインタフェースを備える装置を制御するインタフェース制御部として機能してもよい。通信部33は、サーバ2、第2更新装置11、および車両1に備えられる不図示のECUと通信する。
第1制御部71は、更新管理部30の各構成要素に動作指令を出力する。第1クライアントツリーDB72は、第1更新装置10に関する情報が格納されたツリー状のデータベースである。第1クライアントツリーDB72の構成は後に図を用いて説明する。更新データ取得部73は、サーバ2から第1更新装置10のソフトウェアの更新に必要なデータである更新用データを取得して、後述するストレージに格納する。
更新契機受信部41は、サーバ2から更新契機を受信する後述するストレージに格納する。通知情報受信部42は、サーバ2から後述する通知情報を受信して後述するストレージに格納する。更新完了検知部43は、更新部31によるソフトウェアの更新が完了したことを検知し、更新トリガ通知部45に伝達する。更新トリガ受信部44は、第1更新装置10および第2更新装置11が送信する更新トリガを受信する。すなわち本実施の形態では、第1更新装置10が自分自身に更新トリガを送信することもある。更新トリガ受信部44は、受信した更新トリガを後述するストレージに格納する。更新トリガ通知部45は、後述する通知情報の記載に基づき更新トリガを送信する。
回線状態検知部47は、第1更新装置10のインターネット5への接続状態を取得し、更新開始判断部40および更新トリガ通知部45に通知する。回線状態検知部47は、所定時間ごとにその状態を通知してもよいし、状態に変化があった場合に通知してもよい。ただし回線状態検知部47は、インターネット5への接続可否に代えて、特定のURIへのアクセス可否を判断して通知してもよい。たとえば所定のオンラインサービスの提供に必要なリソースが格納されたURIへのアクセス可否を判断してもよい。
第2更新装置11は、その機能として、更新管理部80と、更新部81と、通信部83と、HMI84とを備える。更新管理部80、更新部81、通信部83、およびHMI84は、第1更新装置10の更新管理部30、更新部31、通信部33、およびHMI34にそれぞれ対応する。更新管理部80は、第2制御部91、および第2クライアントツリーDB92を含む。第2制御部91、および第2クライアントツリーDB92は、第1更新装置10の第1制御部71、および第1クライアントツリーDB72にそれぞれ対応する。図1では更新管理部80の構成として第2制御部91および第2クライアントツリーDB92のみを記載しているが、更新管理部80は更新管理部30が備える全ての機能を備える。各機能の説明は、第1更新装置10と同様なので省略する。
サーバ2は、その機能として、サーバ制御部61と、サーバツリーDB62と、データ提供部63とを備える。
サーバ制御部61は、第1制御部71や第2制御部91と規定のメッセージをやり取りし、第1制御部71や第2制御部91によるソフトウェア更新の処理を実現する。具体的な処理および手順は後述する。
図2は、第1更新装置10のハードウェア構成を示す図である。第1更新装置10は、記憶部151と、CPU152と、ストレージ159と、WAN I/F154と、CAN I/F155と、LAN I/F157と、バス156と、HMI158とを備える。
CPU152は、第1更新装置10が扱う情報を制御し、記憶部151に保存されているソフトウェアの記述に従い動作する。記憶部151は、CPU152が扱う情報を一時的に保存し、バス156を介してデータをやり取りするメモリーである。ストレージ159は、ソフトウェアなどが保存される不揮発性の記憶装置であり、ファイルシステムを搭載するハードディスクやSSDなどであってもよいしファイルシステムを搭載しないフラッシュROMなどの記憶素子であってもよい。記憶部151、CPU152およびストレージ159は、図1の更新管理部30および更新部31に対応する。
以上が第1更新装置10のハードウェア構成である。前述のとおり第2更新装置11は第1更新装置10と同一のハードウェア構成なので、説明を省略する。
図3は、サーバ2のハードウェア構成を示す図である。サーバ2は、記憶部180と、CPU181と、ストレージ183と、WAN I/F184と、バス182とから構成される。
サーバ2のCPU181は、サーバ2で扱う情報の出入りを制御し、記憶部180に保存されているソフトウェアの記述に従い動作する。記憶部180は、CPU181が扱う情報を一時的に保存し、バス182を介してデータをやり取りするメモリーである。ストレージ183は、第1更新装置10および第2更新装置11のソフトウェアを保存し、記憶部180に保持されている情報を電源切断後も保持する不揮発性の記憶装置である。ストレージ183は、ファイルシステムを搭載するハードディスクやSSDやホログラフドライブなどであってもよい。記憶部180、CPU181およびストレージ183は、図1のサーバ制御部61およびサーバツリーDB62に対応する。WAN I/F184はバス182を介して情報を無線で送受信するインタフェースであり、たとえばLTE,3G,4G,IEEE802.16,IEEE802.11,赤外線などを用いることができる。WAN I/F184は、図1のデータ提供部63に対応する。
図4は、第1更新装置10に備えられる第1クライアントツリーDB72の構成を示す図である。第1クライアントツリーDB72はツリー構造を有するデータベースであり、複数のノードから構成される。ノードは情報を包含できるが、ノードが包含する情報だけでなくノードの存在の有無やノードの名称が後述する制御に使われる場合もある。
Delivered121以下には、ダウンロードしたパッケージを用いてソフトウェアの更新を行うための情報が格納される。Delivered121は配下に、ダウンロードしたパッケージの名称を有するABCv2s122のノードを有する。ABCv2s122は、更新に関する状態が格納されるStatus123と、動作指令を配下のノードとして有するOperation124とを配下に有する。Operation124は、サーバ2の指令に基づき配置され、存在することが更新を実行する条件の1つであるInstall125と、更新を実行する付加的な条件を格納するExt126を配下に有する。Ext126の配下に存在する更新契機191には更新を実行する付加的な条件が格納される。すなわちInstall125というノードが存在し、更新契機191に格納されるすべての条件が満たされると、ダウンロード済みのパッケージである「ABCv2s」のインストール、すなわちソフトウェア「ABC」の更新が開始される。更新契機191の構成については後述する。
図5は、第2更新装置11に備えられる第2クライアントツリーDB92の構成を示す図である。第2クライアントツリーDB92はツリー構造を有するデータベースであり、複数のノードから構成される。第2クライアントツリーDB92の構成は、第1クライアントツリーDB72と概ね同じである。すなわち原則として、第1クライアントツリーDB72を構成する各ノードの符号の100の位を「1」から「2」に変更したものが第2クライアントツリーDB92の各ノードである。
図6は、サーバ2に備えられるサーバツリーDB62の構成を示す図である。サーバツリーDB62はツリー構造を有するデータベースであり、複数のノードから構成される。サーバツリーDB62には、複数の車両に搭載された複数の更新装置に関する情報が格納される。更新装置に関する情報は、それぞれの更新装置に備えられるデータベースの一部を通信を介して複製することにより得られる。すなわちサーバツリーDB62には、第1クライアントツリーDB72の一部のノードと、第2クライアントツリーDB92の一部のノードが含まれる。
サーバツリーDB62におけるツリー構造の頂点はroot1001であり、配下に各車両を示すノードである1stVIN1010、2ndVIN1020、・・を有する。これらのノードの配下には車両ごとの情報が格納される。1stVIN1010は配下に車両1の情報を格納するノードである、DevInfo1002、DevDetail1004、1stSCM1105、および2ndSCM1205を有する。
第1クライアントツリーDB72に含まれる更新契機191、および第2クライアントツリーDB92に含まれる更新契機291を図7および図8を用いて説明する。前述のとおり更新契機には更新を実行する付加的な条件が格納される。更新契機191と更新契機291の構成は似ているので主に更新契機191を説明し、更新契機291は更新契機191との相違点を説明する。
第1更新装置1914Aは配下に直列に接続される3つのノードである、ABC1915A、Download1916A,およびVersion1917Aを有する。これらのノードは、第1更新装置10において「ABC」という名称のソフトウェアのVersion1917Aにより示されるバージョンが「ダウンロード」されることが更新の条件の1つであることを示す。
第1クライアントツリーDB72に含まれる通知情報195、および第2クライアントツリーDB92に含まれる通知情報295を図9および図10を用いて説明する。通知情報195には更新トリガ通知部45が更新トリガを送信する条件、送信先、および送信内容の情報が含まれる。
図9に示すように、通知情報195は、Download完了1951AとInstall完了1951Bの2つのノードを有する。Download完了1951A以下は、パッケージのダウンロード完了が条件となって通知される更新トリガに関する情報が格納される。Download完了1951Aは、配下に第1更新装置1952Aと第2更新装置1952Bを有する。ただし本実施の形態では、第1更新装置1952Aおよび第2更新装置1952Bはノードの名称自体に意味はない。
Install完了1951Bは配下に、インストール完了が条件となって通知される更新トリガに関する情報が格納される。ただし図9に示す例ではインストール完了が条件となる更新トリガが存在しないので配下にノードを有しない。
図10に示すように、通知情報295には第2更新装置11の更新トリガ通知部が更新トリガを送信する条件、送信先、および送信内容の情報が含まれる。通知情報295は、通知情報195と比較すると、ノードの有無、およびノードに格納される値は異なるが、構成は通知情報195と同様なので構成の説明を省略する。
図10に示されていることをまとめると、次の2点が示されている。1点目はパッケージ「PQRv3s」のダウンロードが完了すると、宛先2953Aおよび宛先2953Bに対してダウンロードしたパッケージの名称とバージョンの情報を含む更新トリガを送信することである。2点目はパッケージ「PQRv3s」のインストールが完了すると、宛先2953Cに対してインストールしたパッケージの名称とバージョンの情報を含む更新トリガを送信することである。
サーバ2、第1更新装置10、および第2更新装置11におけるソフトウェア更新に係るメッセージのやり取りを図11〜図12のシーケンス図を用いて説明する。いずれのシーケンス図も図示上方から下方に向かって時間が経過しており、図11の下部から図12の上部に時間が連続している。なお図11ではサーバ2と第1更新装置10におけるメッセージのやり取りを詳細に説明し、図12ではサーバ2と第2更新装置11におけるメッセージのやり取りは簡略して記載する。
第1制御部71は、受信した情報を第1クライアントツリーDB72に格納する。具体的には、通知情報195をExt137の配下に追加し(S362)、ソフトウェア更新情報を1stSCM105の配下にDownload106として追加する(S353)。そして、サーバ制御部61に更新情報を設定した旨の応答を返す(S305)。
次にサーバ制御部61は、ストレージ183から更新契機1191を取得し(S360)、ソフトウェア更新の実行を指示するメッセージとともに第1制御部71に送信する(S314)。ただし更新契機1191はサーバツリーDB62から読みだされてもよい。
以上説明した動作により、複数のソフトウェア更新装置が存在するシステムにおいて、ソフトウェア同士の依存関係を保持したままソフトウェアを更新することができる。
図13は、図11のS354においてHMI34がユーザへ更新の可否を問い合わせるメッセージの一例を示す図である。図13に示す表示は、第1更新装置10が備えるHMI34に表示されている。図13に示す例では第1更新装置10はカーナビゲーション機能を兼ね備えており、カーナビゲーションに用いられるインタフェース画面に重畳して、更新の可否を問い合わせるメッセージが表示される。
図14は、HMI34がHMI制御部として動作する場合に、第1更新装置10以外の装置に表示されるユーザへ更新の可否を問い合わせるメッセージの一例を示す図である。図14に示す例では、ユーザの所持する携帯端末に表示される。
第1更新装置10がサーバ2から通知情報195、更新契機191、更新実行指示、およびダウンロード実行指示を受信した際の動作を図15〜図18を参照して説明する。以下に説明するフローチャートの各ステップの実行主体は、第1更新装置10のCPU152である。なお第2更新装置11も第1更新装置10と同様な処理を行う。
図15は、第1更新装置10がサーバ2から通知情報195を受信した際の処理を表すフローチャートである。ステップS2103では、CPU152は受信した通知情報195を格納する第1クライアントツリーDB72のノードを検索する。続くステップS2104では、CPU152は受信した通知情報195をステップS2103において特定したノードに保存し、図15に示す処理を終了する。
ステップS2115では、CPU152は第1クライアントツリーDB72から通知情報195を読み込む。続くステップS2117では、通知情報195から更新が完了した際に通知すべき情報を抽出し、更新が完了した旨の通知、すなわち更新トリガを送信する。ただし通知情報195が図9に示す例の場合はInstall完了1951Bの配下にノードが存在しないため、本ステップを実行せずに図17に示す処理を終了する。続くステップS2118では、対象となるすべての宛先に更新トリガを送信したか否かを判断し、全ての対象に送信したと判断する場合は図17に示す処理を終了し、送信していない対象があると判断する場合はステップS2117に戻る。
ステップS2201では、CPU152は更新データ取得部73を用いて更新データを取得させる。ダウンロードは更新データ取得部73およびデータ提供部63との間で実行され、プロトコルはHTTPあるいはFTPなどのデータを転送することができるものであればどのようなプロトコルを用いてもよい。更新データの取得先は、第1クライアントツリーDB72にたとえばPkgURL108として格納されている。続くステップS2202では、CPU152は更新データのダウンロードが完了したか否かを判断する。この判断はたとえば、更新データ取得部73からダウンロード完了の通知を受けたか否かにより判断できる。ダウンロードが完了したとする場合はステップS2203に進み、ダウンロードが完了していないと判断する場合はステップS2202に留まる。
(1)ソフトウェア更新装置である第1更新装置10は、1以上のソフトウェア更新装置、すなわち第2更新装置11及びサーバ2とインターネット5を介して接続される。第1更新装置10は、サーバ2から更新用データを受信する更新データ取得部73と、更新用データを用いてソフトウェアの更新を行う更新部31と、他のソフトウェア更新装置と通信する通信部33と、更新トリガの受信を含むソフトウェアを更新する条件が記載された更新契機191をサーバ2から受信する更新契機受信部41と、他のソフトウェア更新装置に通知を行う条件を含む通知情報195をサーバ2から受信する通知情報受信部42と、通知情報195に基づき他のソフトウェア更新装置に更新トリガを送信する更新トリガ通知部45と、他のソフトウェア更新装置から更新トリガを受信する更新トリガ受信部44と、更新契機191に記述されているすべての条件が満たされたと判断すると更新部31にソフトウェアの更新を実行させる更新開始判断部40とを備える。
そのため第1更新装置10は、他のソフトウェア更新装置に第1更新装置10におけるソフトウェアの更新を通知することができる。すなわちソフトウェアの依存関係を満たしたまま、他のソフトウェア更新装置にソフトウェアを更新させることができる。
そのため第1更新装置10は、他の装置が更新データを受信済みであること、換言すると他の装置が更新を実行するための事前準備の少なくとも一部が完了していることを条件として更新を開始することができる。
イグニッションのオフを更新開始の条件とすることで、車両1の走行に係るソフトウェアを安全に更新することができる。また一般にユーザがイグニッションをオフに操作するとその後しばらくはユーザは車両1を使用しないので、長時間の処理を要する更新を実行してもユーザの妨げとならない。イグニッションのオンを更新開始の条件とすることで、ユーザがタイミングを選択可能なわかりやすい時に更新を実行できる。
インターネット5との接続の切断を更新開始の条件とすることで、ソフトウェアの更新による可用性の低下を低減することができる。詳述すると以下のとおりである。すなわち、動作にインターネット5との接続が必要なソフトウェアは、インターネット5との接続が切断されている間は動作できない。またソフトウェアの更新を開始すると更新が終了するまではソフトウェアを使用できない。そこで、インターネット5との接続が切断されたことによりソフトウェアを使用できない時間に更新によりソフトウェアを使用できない時間を重複させることで、ソフトウェアの更新による可用性の低下を低減する。
そのため、更新条件のそれぞれが異なるタイミングで成立した場合でも、更新を開始することができる。
更新契機191には車両状態1911以下のノードが含まれなくてもよいし、車両状態1911の配下に異なるノードが配置されてもよい。たとえば時刻に関する条件や車両1のエンジンの状態に関する条件を表すノードが配置されてもよい。
更新契機191には、第1更新装置10および第2更新装置11についての条件が格納されたが、いずれか一方についての条件のみが格納されてもよい。また1つの更新装置について2以上のソフトウェアに関する条件が格納されてもよいし、各ソフトウェアについて「Download」や「Install」以外の条件、たとえば削除されたことを示す「Remove」が設定されてもよい。
通知情報195の配下には、Download完了1951AやInstall完了1951B以外のノードが存在してもよい。たとえば、イグニッションがオンになったことを示す「IGNオン」や、ユーザから更新の許諾が得られたことを示す「更新許諾」などのノードが通知情報195の配下に存在してもよい。すなわち更新トリガ通知部45が、イグニッションがオンにされた際やユーザから更新の許諾を得られた際に更新トリガを送信してもよい。この構成は、他の更新管理装置がイグニッションの情報やユーザの許諾の情報を直接得ることができない場合に有効である。
第1の実施の形態では、第1クライアントツリーDB72、第2クライアントツリーDB92、およびサーバツリーDB62をツリー状のデータベース、すなわち階層型データベースとして表現したが、これらデータベースの形式はこれに限定されない。ネットワーク型データベースやリレーショナル型データベースなど他の形式であってもよい。
第1更新装置10は、更新トリガの送信および受信を行ったが、更新トリガの送信のみを行い受信を行わなくてもよいし、更新トリガの受信のみを行い送信を行わなくてもよい。たとえば第1更新装置10が更新トリガの送信のみを行い受信を行わない場合は、第1更新装置10は更新トリガ受信部44を備えなくてよい。また第1更新装置10が更新トリガの受信のみを行い送信を行わない場合は、通知情報受信部42および更新トリガ通知部45を備えなくてよい。
(1)ソフトウェア更新装置は、1以上のソフトウェア更新装置及びサーバとネットワークを介して接続される。ソフトウェア更新装置は、サーバから更新用データを受信する受信部と、更新用データを用いてソフトウェアの更新を行う更新部と、他のソフトウェア更新装置と通信する通信部と、更新トリガの受信を含むソフトウェアを更新する条件が記載された更新契機をサーバから受信する更新契機受信部と、他のソフトウェア更新装置から更新トリガを受信する更新トリガ受信部と、更新契機に記述されているすべての条件が満たされたと判断すると更新部にソフトウェアの更新を実行させる更新開始判断部とを備える。
第1更新装置10に格納される通知情報195には、宛先として第1更新装置10が記載されず、第1更新装置10から第1更新装置10への更新トリガが送信されなくてもよい。この場合は、更新トリガ通知部45や更新トリガ受信部44を介さずに、ダウンロードが完了した旨の情報が更新開始判断部40に伝達される。
図19〜図21を参照して、ソフトウェア更新システムSの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、第1更新装置および第2更新装置が他の装置のソフトウェアを更新する点で、第1の実施の形態と異なる。
図19は、第2の実施の形態におけるソフトウェア更新システムSの構成を示す図である。車両1は、第1更新装置10と、第2更新装置11と、LANネットワーク18と、第1ECU511と、第2ECU512と、第3ECU513と、第1CANネットワーク501と、第2CANネットワーク502とを備える。第1更新装置10、および第2更新装置11は、LANネットワーク18により接続される。第1更新装置10、第1ECU511、および第2ECU512は、第1CANネットワーク501により接続される。第2更新装置11、および第3ECU513は、第2CANネットワーク502により接続される。
第1ECU511にはソフトウェア「DEF」が備えられ、第2ECU512にはソフトウェア「GHI」が備えられ、第3ECU513にはソフトウェア「STU」が備えられる。第1更新装置10は、第1ECU511および第2ECU512のソフトウェアを更新する。第2更新装置11は、第3ECU513のソフトウェアを更新する。
第1ECU511、第2ECU512、および第3ECU513のハードウェア構成は同様なので、ここでは代表して第1ECU511のハードウェア構成を説明する。
図20は、第1ECU511のハードウェア構成を示す図である。第1ECU511は、記憶部170と、CPU171と、ストレージ173と、CAN I/F174と、バス172とを備える。
第2の実施の形態における第1クライアントツリーDB72は、第1の実施の形態における第1クライアントツリーDB72の構成において、「ABC」を「DEF」および「GHI」で置き換えたものである。
図21は、第2の実施の形態における第1クライアントツリーDB72の概略を示す図である。Download106の配下には、ダウンロードする2つのパッケージの情報が格納される、「DEFv2s」のノードと、「GHIv4s」のノードが置かれる。これと同様にDelivered121、およびDeployed130のノードの配下にも2つのソフトウェアの情報が格納される。すなわちDelivered121の配下には各ソフトウェアに対応する更新契機が配され、Deployed130の配下には各ソフトウェアに対応する通知情報が配される。
第2クライアントツリーDB92の構成は、第1の実施の形態における構成からソフトウェアおよびパッケージの名称を変更したものなので説明を省略する。
(1)第1更新装置10は第1ECU511および第2ECU512に接続され、更新部31は、第1ECU511および第2ECU512のソフトウェアを更新する。そのため、第1ECU511および第2ECU512がソフトウェアの更新に係る制御を実行できない場合でも第1更新装置10が第1ECU511および第2ECU512に代わって、ソフトウェアの依存関係を満たしたまま、第1ECU511および第2ECU512にソフトウェアを更新させることができる。
第1更新装置10は、第1ECU511および第2ECU512のソフトウェアだけでなく、第1更新装置10のソフトウェアも更新してよい。また第2更新装置11は、第3ECU513のソフトウェアだけでなく、第2更新装置11のソフトウェアも更新してよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
2 … サーバ
S … ソフトウェア更新システム
10 … 第1更新装置
11 … 第2更新装置
31 … 更新部
33 … 通信部
40 … 更新開始判断部
41 … 更新契機受信部
42 … 通知情報受信部
44 … 更新トリガ受信部
45 … 更新トリガ通知部
191 … 更新契機
195 … 通知情報
451 … 通知情報
Claims (9)
- 1以上の他のソフトウェア更新装置及びサーバとネットワークを介して接続されるソフトウェア更新装置であって、
前記サーバから更新用データを受信する受信部と、
前記更新用データを用いてソフトウェアの更新を行う更新部と、
前記他のソフトウェア更新装置と通信する通信部と、
更新トリガの受信を含む前記ソフトウェアを更新する条件が記載された更新契機を前記サーバから受信する更新契機受信部と、
前記他のソフトウェア更新装置に前記更新トリガを送信する条件を含む通知情報を前記サーバから受信する通知情報受信部と、
前記通知情報に基づき前記他のソフトウェア更新装置に前記更新トリガを送信する更新トリガ通知部と、
前記他のソフトウェア更新装置から前記更新トリガを受信する更新トリガ受信部と、
前記更新契機に記述されているすべての条件が満たされたと判断すると前記更新部に前記ソフトウェアの更新を実行させる更新開始判断部とを備えるソフトウェア更新装置。 - 1以上の他のソフトウェア更新装置及びサーバとネットワークを介して接続されるソフトウェア更新装置であって、
前記サーバから更新用データを受信する受信部と、
前記更新用データを用いてソフトウェアの更新を行う更新部と、
前記他のソフトウェア更新装置と通信する通信部と、
前記ソフトウェアを更新する条件が記載された更新契機を前記サーバから受信する更新契機受信部と、
前記他のソフトウェア更新装置に更新トリガを送信する条件を含む通知情報を前記サーバから受信する通知情報受信部と、
前記通知情報に基づき前記他のソフトウェア更新装置に前記更新トリガを送信する更新トリガ通知部と、
前記更新契機に記述されているすべての条件が満たされたと判断すると前記更新部に前記ソフトウェアの更新を実行させる更新開始判断部とを備えるソフトウェア更新装置。 - 請求項1または請求項2に記載のソフトウェア更新装置であって、
前記通知情報には、前記ソフトウェアが更新されると前記更新トリガが送信されることが含まれ、
前記更新トリガ通知部は、前記更新部が前記ソフトウェアの更新を完了すると前記更新トリガを送信するソフトウェア更新装置。 - 請求項1または請求項2に記載のソフトウェア更新装置であって、
前記通知情報には、前記受信部が前記更新用データを受信すると前記更新トリガが送信
されることが含まれ、
前記更新トリガ通知部は、前記受信部が前記更新用データを受信すると前記更新トリガを送信するソフトウェア更新装置。 - 請求項1または請求項2に記載のソフトウェア更新装置であって、
前記ソフトウェア更新装置は車両に搭載され、
前記更新契機には前記車両のイグニッションのオンまたはオフが含まれ、
前記更新開始判断部は、前記イグニッションのオンまたはオフを検知可能なソフトウェア更新装置。 - 請求項1または請求項2に記載のソフトウェア更新装置であって、
前記ソフトウェア更新装置はインターネットに接続される車両に搭載され、
前記更新契機には前記インターネットとの接続の切断が含まれ、
前記更新開始判断部は前記接続の切断を検知可能なソフトウェア更新装置。 - 請求項1に記載のソフトウェア更新装置であって、
記憶部をさらに備え、
前記更新トリガ受信部は受信した前記更新トリガを前記記憶部に記憶させ、
前記更新開始判断部は、前記記憶部に記憶されている前記更新トリガを含めて更新開始の判断を行うソフトウェア更新装置。 - 請求項1または請求項2に記載のソフトウェア更新装置において、
前記ソフトウェア更新装置は制御装置に接続され、
前記更新部は、前記ソフトウェア更新装置のソフトウェア、および前記制御装置のソフトウェアの少なくとも一方を更新するソフトウェア更新装置。 - 複数のソフトウェア更新装置およびサーバを含むソフトウェア更新システムであって、
前記サーバは、ソフトウェアを更新するための更新用データを配信する配信部を備え、
前記複数のソフトウェア更新装置の各々は、
前記サーバから前記更新用データを受信する受信部と、
前記更新用データを用いて前記ソフトウェアの更新を行う更新部と、
前記サーバおよび他のソフトウェア更新装置と通信する通信部と、
更新トリガの受信を含む前記ソフトウェアを更新する条件が記載された更新契機を前記サーバから受信する更新契機受信部と、
前記他のソフトウェア更新装置に前記更新トリガを送信する条件を含む通知情報を前記サーバから受信する通知情報受信部と、
前記通知情報に基づき前記他のソフトウェア更新装置に前記更新トリガを送信する更新トリガ通知部と、
前記他のソフトウェア更新装置から前記更新トリガを受信する更新トリガ受信部と、
前記更新契機に記述されているすべての条件が満たされたと判断すると前記更新部に前記ソフトウェアの更新を実行させる更新開始判断部とを備えるソフトウェア更新システム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016252787A JP6667430B2 (ja) | 2016-12-27 | 2016-12-27 | ソフトウェア更新装置、ソフトウェア更新システム |
PCT/JP2017/038792 WO2018123242A1 (ja) | 2016-12-27 | 2017-10-26 | ソフトウェア更新装置、ソフトウェア更新システム |
CN201780080696.5A CN110114761B (zh) | 2016-12-27 | 2017-10-26 | 软件更新装置和软件更新系统 |
EP17886794.1A EP3564822A4 (en) | 2016-12-27 | 2017-10-26 | SOFTWARE UPDATE DEVICE AND SOFTWARE UPDATE SYSTEM |
US16/473,929 US11645062B2 (en) | 2016-12-27 | 2017-10-26 | Software update device and software update system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016252787A JP6667430B2 (ja) | 2016-12-27 | 2016-12-27 | ソフトウェア更新装置、ソフトウェア更新システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018106461A JP2018106461A (ja) | 2018-07-05 |
JP6667430B2 true JP6667430B2 (ja) | 2020-03-18 |
Family
ID=62708219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016252787A Active JP6667430B2 (ja) | 2016-12-27 | 2016-12-27 | ソフトウェア更新装置、ソフトウェア更新システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11645062B2 (ja) |
EP (1) | EP3564822A4 (ja) |
JP (1) | JP6667430B2 (ja) |
CN (1) | CN110114761B (ja) |
WO (1) | WO2018123242A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7003975B2 (ja) | 2018-08-10 | 2022-01-21 | 株式会社デンソー | 車両情報通信システム,センター装置及びセンター装置のメッセージ送信方法 |
CN114698390A (zh) * | 2019-08-28 | 2022-07-01 | 株式会社电装 | 车辆用电子控制系统、车辆用主装置、基于配置信息的覆盖的改写指示方法以及基于配置信息的覆盖的改写指示程序 |
JP7392407B2 (ja) | 2019-11-14 | 2023-12-06 | 株式会社デンソー | センター装置、車両用電子制御システム、プログラム更新の進捗制御方法及びプログラム更新の進捗制御プログラム |
CN113162959B (zh) * | 2020-01-23 | 2023-06-30 | 华为技术有限公司 | 车载设备的升级方法和装置 |
JP7396216B2 (ja) * | 2020-06-26 | 2023-12-12 | トヨタ自動車株式会社 | サーバ、更新管理方法、更新管理プログラム及びソフトウェア更新装置 |
KR20220001924A (ko) * | 2020-06-30 | 2022-01-06 | 현대자동차주식회사 | 차량의 ecu 업데이트 제어 장치 및 그 방법 |
JP7380468B2 (ja) * | 2020-07-20 | 2023-11-15 | トヨタ自動車株式会社 | ソフトウェア更新装置、更新制御方法、更新制御プログラム、サーバ、otaマスタ及びセンタ |
US11513792B2 (en) * | 2020-09-30 | 2022-11-29 | Izuma Tech, Inc. | Tracking history of firmware program updates |
CN114461240B (zh) * | 2021-06-30 | 2023-04-14 | 荣耀终端有限公司 | 软件升级方法、软件升级系统及电子设备 |
JP2023022405A (ja) * | 2021-08-03 | 2023-02-15 | トヨタ自動車株式会社 | 情報処理装置、情報処理方法、およびシステム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2333864B (en) * | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US7539686B2 (en) * | 2004-03-12 | 2009-05-26 | Microsoft Corporation | Tag-based schema for distributing update metadata in an update distribution system |
JP2006011647A (ja) * | 2004-06-23 | 2006-01-12 | Fujitsu Ten Ltd | ソフトウェア管理装置 |
US20060106806A1 (en) * | 2004-11-12 | 2006-05-18 | Smith Micro Software, Inc. | Software update for a plurality of mobile devices |
US8214470B2 (en) * | 2007-11-02 | 2012-07-03 | Telefonaktiebolaget L M Ericsson (Publ) | Upgrading software in radio base station nodes |
ES2371995T3 (es) * | 2007-12-13 | 2012-01-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Actualización del firmware de un dispositivo electrónico. |
US8892699B2 (en) * | 2008-12-31 | 2014-11-18 | Schneider Electric USA, Inc. | Automatic firmware updates for intelligent electronic devices |
JP2011095950A (ja) | 2009-10-29 | 2011-05-12 | Seiko Epson Corp | ネットワークデバイス、ネットワークデバイスシステムおよびネットワークデバイスのソフトウェア更新方法 |
US20120216183A1 (en) * | 2011-02-23 | 2012-08-23 | Amit Mahajan | Firmware updation in electronic devices |
JP5708940B2 (ja) * | 2012-08-22 | 2015-04-30 | トヨタ自動車株式会社 | 情報管理装置、情報通信システム |
US9092300B2 (en) * | 2013-04-18 | 2015-07-28 | Ottr Products, Llc | Peripheral device and method for updating firmware thereof |
KR101619645B1 (ko) * | 2014-11-20 | 2016-05-18 | 현대자동차주식회사 | 차량의 펌웨어 업데이트 시스템 및 방법 |
US9934020B2 (en) | 2015-03-10 | 2018-04-03 | International Business Machines Corporation | Intelligent mobile application update |
US9952851B2 (en) * | 2015-03-10 | 2018-04-24 | International Business Machines Corporation | Intelligent mobile application update |
US10042635B2 (en) | 2015-06-16 | 2018-08-07 | Lear Corporation | Method for wireless remote updating vehicle software |
US9703490B2 (en) * | 2015-07-27 | 2017-07-11 | Datrium, Inc. | Coordinated upgrade of a cluster storage system |
-
2016
- 2016-12-27 JP JP2016252787A patent/JP6667430B2/ja active Active
-
2017
- 2017-10-26 EP EP17886794.1A patent/EP3564822A4/en not_active Withdrawn
- 2017-10-26 WO PCT/JP2017/038792 patent/WO2018123242A1/ja unknown
- 2017-10-26 US US16/473,929 patent/US11645062B2/en active Active
- 2017-10-26 CN CN201780080696.5A patent/CN110114761B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110114761A (zh) | 2019-08-09 |
US20190354363A1 (en) | 2019-11-21 |
EP3564822A1 (en) | 2019-11-06 |
WO2018123242A1 (ja) | 2018-07-05 |
JP2018106461A (ja) | 2018-07-05 |
CN110114761B (zh) | 2023-04-28 |
EP3564822A4 (en) | 2020-08-19 |
US11645062B2 (en) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6667430B2 (ja) | ソフトウェア更新装置、ソフトウェア更新システム | |
JP6754622B2 (ja) | ソフトウェア更新装置およびソフトウェア更新システム | |
JP2011148398A (ja) | 車両用プログラム更新システム | |
US9058182B2 (en) | Management device for causing devices to update programs and computer readable media | |
US8817288B2 (en) | Information processing system, management method, and storage medium for placing an application after an image forming apparatus has been arranged | |
US9635207B2 (en) | Management system and information processing apparatus managing installation and settings of an application | |
CN103309694A (zh) | 应用程序更新方法和装置 | |
KR20150141149A (ko) | 시스템, 인쇄 장치, 제어 방법 및 기록 매체 | |
JP2012250370A (ja) | 設定値管理装置及びその管理方法 | |
KR20160061306A (ko) | 펌웨어 가상화를 위한 방법 및 장치 | |
JP2016035714A (ja) | 情報処理装置、情報処理装置におけるプログラム管理方法、プログラム、およびシステム | |
JP5847457B2 (ja) | 画像形成装置及びその処理方法 | |
JPH1195989A (ja) | プログラム更新方式 | |
US9268553B2 (en) | Management device for causing specific device to update programs and computer readable media | |
KR20120074321A (ko) | 관리장치, 및 그 방법 | |
JP2013003745A (ja) | 設定値管理装置及び管理方法 | |
JP2017157114A (ja) | 情報処理システム、情報処理装置、画像処理装置、制御方法および拡張プログラム | |
JP7435100B2 (ja) | プログラム更新システム及び車両管理サーバー | |
US11670117B2 (en) | Vehicle and software update method | |
US9049180B2 (en) | Method for providing a signal output on the basis of a main file and at least one secondary file, and motor vehicle | |
JP2006178881A (ja) | ソフトウェア管理システム及びソフトウェア管理方法 | |
JP2012203801A (ja) | 通信システム、通信端末および版数変更方法 | |
JP2004005124A (ja) | ソフトウェア配布システム | |
JP6101333B2 (ja) | 画像形成装置及びその制御方法、管理装置及びその制御方法、及びプログラム | |
CN108089868B (zh) | 对智能设备上的项目进行升级的方法以及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170315 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170921 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200124 |
|
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: 20200212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6667430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |