CN110114761B - 软件更新装置和软件更新*** - Google Patents

软件更新装置和软件更新*** Download PDF

Info

Publication number
CN110114761B
CN110114761B CN201780080696.5A CN201780080696A CN110114761B CN 110114761 B CN110114761 B CN 110114761B CN 201780080696 A CN201780080696 A CN 201780080696A CN 110114761 B CN110114761 B CN 110114761B
Authority
CN
China
Prior art keywords
update
software
updating
server
unit
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
CN201780080696.5A
Other languages
English (en)
Other versions
CN110114761A (zh
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.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
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 Clarion Co Ltd filed Critical Clarion Co Ltd
Publication of CN110114761A publication Critical patent/CN110114761A/zh
Application granted granted Critical
Publication of CN110114761B publication Critical patent/CN110114761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/128Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/02Registering or indicating driving, working, idle, or waiting time only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

软件更新装置经由网络与服务器及1个以上的其它的软件更新装置连接,其特征在于,包括:接收部,其从服务器接收更新用数据;更新部,其使用更新用数据进行软件的更新;通信部,其与其它的软件更新装置通信;更新契机接收部,其从服务器接收更新契机,更新契机中记载有包含更新触发的接收的对软件进行更新的条件;通知信息接收部,其从服务器接收通知信息,通知信息包含向其它的软件更新装置发送更新触发的条件;更新触发通知部,其基于通知信息向其它的软件更新装置发送更新触发;更新触发接收部,其从其它的软件更新装置接收更新触发;和更新开始判断部,其当判断为满足更新契机中描述的全部条件时,使更新部执行软件的更新。

Description

软件更新装置和软件更新***
技术领域
本发明涉及软件更新装置和软件更新***。
背景技术
近年来,在汽车的控制中多使用电子控制装置(ECU:Electric Control Unit)。控制ECU的动作的软件以往是由维修员进行更新,但是对远程更新该软件的服务的需求正在增长。例如,专利文献1公开了一种网络设备,其包括控制部,上述控制部在所安装的上述规定的软件已被更新的情况下,从上述通信部将更新后的上述规定的软件的版本发送到上述其它的网络设备,进而与来自上述其它的网络设备的请求相应地,将更新后的上述规定的软件提供给上述其它的网络设备,另一方面,上述通信部接收安装在上述其它的网络设备中的上述规定的软件的版本,在上述判断部判断为要安装的上述规定的软件发生了变更的情况下,从上述其它的网络设备获取上述规定的软件,安装所获取的上述规定的软件来代替已安装的上述规定的软件。
现有技术文献
专利文献
专利文献1:日本特开2011-95950号公报
发明内容
发明要解决的技术问题
在专利文献1所记载的发明中,无法在满足软件的依赖关系的状态下对软件进行更新。
用于解决技术问题的手段
本发明的第一方式的软件更新装置经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:接收部,其从所述服务器接收更新用数据;更新部,其使用所述更新用数据进行软件的更新;通信部,其与所述其它的软件更新装置通信;更新契机接收部,其从所述服务器接收更新契机,所述更新契机中记载有包含更新触发的接收的对所述软件进行更新的条件;通知信息接收部,其从所述服务器接收通知信息,所述通知信息包含向所述其它的软件更新装置发送所述更新触发的条件;更新触发通知部,其基于所述通知信息向所述其它的软件更新装置发送所述更新触发;更新触发接收部,其从所述其它的软件更新装置接收所述更新触发;和更新开始判断部,其当判断为满足所述更新契机中描述的全部条件时,使所述更新部执行所述软件的更新。
本发明的第二方式的软件更新装置经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:接收部,其从所述服务器接收更新用数据;更新部,其使用所述更新用数据进行软件的更新;通信部,其与所述其它的软件更新装置通信;更新契机接收部,其从所述服务器接收更新契机,所述更新契机中记载有包含更新触发的接收的对所述软件进行更新的条件;更新触发接收部,其从所述其它的软件更新装置接收所述更新触发;和更新开始判断部,其当判断为满足所述更新契机中描述的全部条件时,使所述更新部执行所述软件的更新。
本发明的第三方式的软件更新装置经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:接收部,其从所述服务器接收更新用数据;更新部,其使用所述更新用数据进行软件的更新;通信部,其与所述其它的软件更新装置通信;更新契机接收部,其从所述服务器接收更新契机,所述更新契机中记载有对所述软件进行更新的条件;通知信息接收部,其从所述服务器接收通知信息,所述通知信息包含向所述其它的软件更新装置发送更新触发的条件;更新触发通知部,其基于所述通知信息向所述其它的软件更新装置发送所述更新触发;和更新开始判断部,其当判断为满足所述更新契机中描述的全部条件时,使所述更新部执行所述软件的更新。
本发明的第四方式的软件更新***包括服务器和多个软件更新装置,所述软件更新***的特征在于,所述服务器包括发送部,其发送用于对软件进行更新的更新用数据,所述多个软件更新装置包括:接收部,其从所述服务器接收所述更新用数据;更新部,其使用所述更新用数据进行所述软件的更新;通信部,其与所述服务器及其它的软件更新装置通信;更新契机接收部,其从所述服务器接收更新契机,所述更新契机中记载有包含更新触发的接收的对所述软件进行更新的条件;通知信息接收部,其从所述服务器接收通知信息,所述通知信息包含向所述其它的软件更新装置发送所述更新触发的条件;更新触发通知部,其基于所述通知信息向所述其它的软件更新装置发送所述更新触发;更新触发接收部,其从所述其它的软件更新装置接收所述更新触发;和更新开始判断部,其当判断为满足所述更新契机中描述的全部条件时,使所述更新部执行所述软件的更新。
发明效果
采用本发明,能够在满足软件的依赖关系的状态下对软件进行更新。
附图说明
图1是表示第一实施方式的软件更新***的构成和功能块的图。
图2是表示第一更新装置的硬件结构的图。
图3是表示服务器的硬件结构的图。
图4是表示第一客户端树DB的构成的图。
图5是表示第二客户端树DB的构成的图。
图6是表示服务器树DB的构成的图。
图7是表示第一客户端树DB中包含的更新契机的构成的图。
图8是表示第二客户端树DB中包含的更新契机的构成的图。
图9是表示第一客户端树DB中包含的通知信息的构成的图。
图10是表示第二客户端树DB中包含的通知信息的构成的图。
图11是软件更新的顺序图的前半部分。
图12是软件更新的顺序图的后半部分。
图13是表示HMI向用户询问可否更新的显示的一个例子的图。
图14是表示HMI在作为HMI控制部进行动作的情况下,向用户询问可否更新的显示的一个例子的图。
图15是表示从服务器接收到通知信息时的动作的流程图。
图16是表示从服务器接收到更新契机时的动作的流程图。
图17是表示从服务器接收到更新执行指示时的动作的流程图。
图18是表示从服务器接收到下载执行指示时的动作的流程图。
图19是表示第二实施方式的软件更新***的构成的图。
图20是表示第一ECU的硬件结构的图。
图21是表示第二实施方式的第一客户端树DB的概要的图。
具体实施方式
-第一实施方式-
下面,参照图1~图18对软件更新***S的第一实施方式进行说明。
图1是表示第一实施方式的软件更新***S的构成和功能块的图。软件更新***S包括通过广域网例如互联网5相互连接的车辆1和服务器2。
车辆1包括第一更新装置10、第二更新装置11和LAN网络18。第一更新装置10经由LAN网络18与第二更新装置11通信。而且,第一更新装置10及第二更新装置11与服务器2通信。第一更新装置10和第二更新装置11具有相同的硬件结构,具有相同的功能。但是,第一更新装置10和第二更新装置1中存储的数据和更新对象的软件不同。下面,主要对第一更新装置10的构成进行说明,关于第二更新装置11,对其与第一更新装置10的不同点进行说明。
在本实施方式中,第一更新装置10对已安装在第一更新装置10中的软件“ABC”进行更新,第二更新装置11对已安装在第二更新装置11中的软件“PQR”进行更新。软件“ABC”和软件“PQR”可以为在OS上运行的1个程序,也可以为多个程序组。另外,可以为内核等OS的一部分,也可以为OS整体。
(第一更新装置的功能构成)
第一更新装置10包括更新管理部30、更新部31、HMI 34和通信部33。更新部31使用从服务器2接收的更新用数据对第一更新装置10内的未图示的软件进行更新。HMI 34为人机接口(人机界面)(Human Machine Interface),即与用户的接口部,其接受向用户的使用声音或影像的信息的提示和来自用户的输入。但是,也可以是HMI 34作为对不包括与用户的物理接口而包括与用户的接口的装置进行控制的接口控制部发挥作用。通信部33与服务器2、第二更新装置11及设置在车辆1中的未图示的ECU进行通信。
更新管理部30包括第一控制部71、第一客户端树DB 72、更新数据获取部73、更新开始判断部40、更新契机接收部41、通知信息接收部42、更新完成检测部43、更新触发接收部44、更新触发通知部45、点火接收部46和线路状态检测部47。
第一控制部71向更新管理部30的各构成要素输出动作指令。第一客户端树DB 72为存储有与第一更新装置10相关的信息的树状的数据库。第一客户端树DB 72的构成将在后面使用附图对进行说明。更新数据获取部73从服务器2获取更新用数据,并将其存储在后述的存储器中,其中,上述更新用数据是对第一更新装置10的软件进行更新所需要的数据。
更新开始判断部40当基于更新契机接收部41接收的后述的更新契机,判断为更新部31处于开始更新软件的状态时,使更新部31动作。更新契机中记载有对软件进行更新的条件,更新开始判断部40根据后述的更新触发的接收和车辆的状态等对是否满足该条件进行判断。
更新契机接收部41从服务器2接收更新契机,并将其存储在后述的存储器中。通知信息接收部42从服务器2接收后述的通知信息,并将其存储在后述的存储器。更新完成检测部43检测到更新部31进行的软件更新已结束,并将其传输到更新触发通知部45。更新触发接收部44接收第一更新装置10和第二更新装置11发送的更新触发。即,在本实施方式中,第一更新装置10有时也向自己发送更新触发。更新触发接收部44将接收到的更新触发存储在后述的存储器。更新触发通知部45基于后述的通知信息的描述发送更新触发。
点火接收部46获取车辆1的发动机的工作状态或点火开关的设定状态,并将其通知给更新开始判断部40和更新触发通知部45。点火接收部46可以每隔规定时间通知其状态,也可以在状态发生了变化的情况,例如,点火***作成接通或断开的情况或发动机停止的情况等情况下进行通知。
线路状态检测部47获取第一更新装置10与互联网5的连接状态,并将其通知给更新开始判断部40和更新触发通知部45。线路状态检测部47可以每隔规定时间通知其状态,也可以在状态发生了变化的情况下进行通知。但是,也可以是线路状态检测部47对可否访问特定的URI进行判断并进行通知,来代替对可否连接到互联网5进行判断并进行通知。例如,也可以是对可否访问存储有提供规定的在线服务所需要的资源的URI进行判断。
(第二更新装置的功能构成)
第二更新装置11作为其功能包括更新管理部80、更新部81、通信部83和HMI 84。更新管理部80、更新部81、通信部83和HMI 84分别与第一更新装置10的更新管理部30、更新部31、通信部33和HMI 34对应。更新管理部80包含第二控制部91和第二客户端树DB 92。第二控制部91和第二客户端树DB 92分别与第一更新装置10的第一控制部71和第一客户端树DB72对应。在图1中,作为更新管理部80的构成仅记载了第二控制部91和第二客户端树DB 92,但是更新管理部80具有更新管理部30所具有的全部功能。各功能的说明与第一更新装置10同样,因此省略。
(服务器的功能构成)
服务器2作为其功能包括服务器控制部61、服务器树DB 62和数据提供部63。
服务器控制部61与第一控制部71或第二控制部91交换规定的消息,实现由第一控制部71或第二控制部91进行的软件更新的处理。具体的处理和步骤将在后面说明。
服务器控制部61为OMA(Open Mobile Alliance:开放移动联盟)中定义的DM(Device Management:设备管理)服务器,另一方面,第一控制部71和第二控制部91为OMA中定义的DM客户端。OMA DM为便携式电话(手机)的软件更新所使用的技术中的一种,为通过访问树状的数据库而在服务器与客户端之间交换软件更新所需要的信息的机制。数据提供部63基于来自服务器控制部61的动作指令、来自第一更新装置10的请求和来自第二更新装置11的请求,将软件更新所需要的各种信息提供给第一更新装置10和第二更新装置11。软件更新所需要的各种信息为后述的更新契机、通知信息和更新数据。这些信息可使用HTTP或FTP等通信协议进行发送。
(第一更新装置的硬件结构)
图2是表示第一更新装置10的硬件结构的图。第一更新装置10包括存储部151、CPU152、存储器159、WAN I/F 154、CAN I/F 155、LAN I/F 157、总线156和HMI 158。
CPU 152对第一更新装置10处理的信息进行控制,根据保存在存储部151中的软件的描述进行动作。存储部151为暂时保存CPU 152处理的信息,并经由总线156交换数据的存储器。存储器159为保存软件等的非易失性存储装置,可以为搭载文件***的硬盘或SSD等,也可以为未搭载文件***的闪存ROM等存储元件。存储部151、CPU 152及存储器159与图1的更新管理部30及更新部31对应。
WAN I/F 154为经由互联网5通过无线发送接收向服务器2的信息的接口,可以使用各种无线通信标准,例如LTE、3G、4G、IEEE802.16、IEEE802.11、红外线等。CAN I/F 155为车辆1中使用的专用网络即CAN(Controller Area Network:控制器局域网)的接口,从搭载在车辆1中的未图示的ECU获取与车辆1相关的信息,例如点火的状态等。LAN I/F 157为与LAN网络18连接的接口。WAN I/F 154、CAN I/F 155及LAN I/F 157与图1的通信部33对应。HMI 158由液晶显示器等向用户提示信息的装置和触控面板等接受来自用户的输入的装置构成。HMI 158基于CPU 152的动作指令向用户提示信息,将来自用户的输入传输到CPU152。HMI 158与图1的HMI 34对应。
以上为第一更新装置10的硬件结构。如上所述,第二更新装置11的硬件结构与第一更新装置10相同,因此省略说明。
(服务器的硬件结构)
图3是表示服务器2的硬件结构的图。服务器2由存储部180、CPU 181、存储器183、WAN I/F 184和总线182构成。
服务器2的CPU 181对由服务器2处理的信息的进出进行控制,根据保存在存储部180中的软件的描述进行动作。存储部180为暂时保存CPU 181处理的信息,并经由总线182交换数据的存储器。存储器183为保存第一更新装置10和第二更新装置11的软件,且在电源切断后也保持存储部180中所保持的信息的非易失性存储装置。存储器183也可以为搭载文件***的硬盘或SSD或全息驱动器等。存储部180、CPU 181和存储器183对应于图1的服务器控制部61和服务器树DB 62。WAN I/F 184为经由总线182通过无线发送接收信息的接口,例如可以使用LTE、3G、4G、IEEE802.16、IEEE802.11、红外线等。WAN I/F 184与图1的数据提供部63对应。
(第一客户端树DB)
图4是表示第一更新装置10中包括的第一客户端树DB 72的构成的图。第一客户端树DB 72为具有树结构的数据库,由多个节点构成。节点可包含信息,但是不仅节点包含的信息,而且节点的存在与否或节点的名称有时也用于后述的控制。
第一客户端树DB 72的树结构的顶点为root 101,root 101属下(下级)具有3个节点,即DevInfo 102、DevDetail 104和1stSCM 105。DevInfo 102属下配置有车辆1的标识符即像1stVIN 103那样的设备的特征信息。DevDetail 104属下存储车辆的附属信息,但是在图4中省略了DevDetail 104的下属节点。1stSCM 105属下具有软件更新中使用的节点。下面,对1stSCM 105的下属节点进行详细说明。1stSCM 105属下具有与下载相关的节点即Download 106和用于更新软件的节点即Inventory 110。
Download 106属下具有表示作为下载对象的程序包(package)的ABCv2s 107。该节点名例如是指“ABC”这一软件的版本2的稳定版(Stable)即“ABCv2s”这一程序包名。第一更新装置10在还有其它作为下载对象的软件的情况下,与ABCv2s 107并列置于Download106的属下。
ABCv2s 107属下具有存储程序包的下载目的地URL的PkgURL 108、存储与下载相关的状态的Status 109、作为下属节点具有动作指令的Operation 110。当基于服务器2的指令将Download 111配置于Operation 110的属下时,使更新数据获取部73动作而从由PkgURL 108表示的URL下载“ABCv2s”这一程序包。ABCv2s 107以下的节点为从服务器2经由互联网5追加的节点。
与Download 106并列配置于1stSCM 105属下的Inventory 110的属下具有Delivered 121和Deployed 130的节点。
在Delivered 121以下存储用于使用所下载的程序包进行软件的更新的信息。Delivered 121属下具有拥有所下载的程序包的名称的ABCv2s 122的节点。ABCv2s 122属下具有存储与更新相关的状态的Status 123、和作为下属节点具有动作指令的Operation124。Operation 124属下具有基于服务器2的指令来配置且存在为执行更新的条件之一的Install 125、和存储执行更新的附加条件的Ext 126。存在于Ext 126的属下的更新契机191中存储执行更新的附加条件。即,当存在Install 125这一节点且满足更新契机191中存储的全部条件时,开始已下载的程序包即“ABCv2s”的安装,即软件“ABC”的更新。更新契机191的构成将在后面说明。
在Deployed 130以下存储软件的当前信息。Deployed 130属下具有拥有软件的名称的节点即ABC 131。ABC 131属下具有存储可得到的最新版本号的AvailableVersion132、存储当前版本号的Version 133、和属下具有通知信息195的Ext 137。关于通知信息195将在后面说明。
(第二客户端树DB)
图5是表示第二更新装置11中包括的第二客户端树DB 92的构成的图。第二客户端树DB 92为具有树结构的数据库,由多个节点构成。第二客户端树DB 92的构成与第一客户端树DB 72大致相同。即,原则上,将构成第一客户端树DB 72的各节点的符号的百位从“1”改变为“2”而得到的节点为第二客户端树DB 92的各节点。
但是,当第一更新装置10和第二更新装置11中包括的软件不同版本号也不同时,例如PQRv3s 207置于Download 206的属下。该节点名是指“PQR”这一软件的版本3的稳定版即“PQRv3s”这一程序包名。与要下载的程序包名相同的名称的PQRv3s 222,置于存储用于使用已下载的程序包进行软件的更新的信息的Delivered 221的属下。而且,具有软件的名称的节点即PQR 231置于存储软件的当前信息的Deployed 230的属下。
(服务器树DB)
图6是表示服务器2中包括的服务器树DB 62的构成的图。服务器树DB 62为具有树结构的数据库,由多个节点构成。服务器树DB 62中存储与搭载在多个车辆中的多个更新装置相关的信息。与更新装置相关的信息可经由通信对各更新装置中包括的数据库的一部分进行复制而得到。即,服务器树DB 62中包含第一客户端树DB 72的一部分节点和第二客户端树DB 92的一部分节点。
服务器树DB 62的树结构的顶点为root 1001,属下具有作为表示各车辆的节点的1stVIN 1010、2ndVIN 1020、……。在这些节点的属下存储每个车辆的信息。1stVIN 1010属下具有作为存储车辆1的信息的节点的DevInfo 1002、DevDetail 1004、1stSCM 1105和2ndSCM 1205。
DevInfo 1002以下的节点与第一客户端树DB 72中的DevInfo 102以下的节点及第二客户端树DB 92中的DevInfo 202以下的节点对应。DevDetail 1004相当于第一客户端树DB 72中的DevDetail 104及第二客户端树DB 92中的DevDetail 204。1stSCM 1105以下的各节点相当于第一客户端树DB 72中的1stSCM 105以下的各节点。即,服务器树DB 62中的符号“11xx”相当于第一客户端树DB 72中的符号“1xx”。2ndSCM 1205以下的各节点相当于第二客户端树DB 92中的2ndSCM 205以下的各节点。即,服务器树DB 62中的符号“12xx”相当于第二客户端树DB 92中的符号“2xx”。
(更新契机)
使用图7和图8对第一客户端树DB 72中包含的更新契机191和第二客户端树DB 92中包含的更新契机291进行说明。如上所述,更新契机中存储执行更新的附加条件。更新契机191和更新契机291的构成相似,因此,主要对更新契机191进行说明,就更新契机291而言,对其与更新契机191的不同点进行说明。
如图7所示,更新契机191属下具有3个节点,即车辆状态1911、第一更新装置1914A和第二更新装置1914B。在车辆状态1911以下存储整体的更新条件,在第一更新装置1914A以下存储与第一更新装置10相关的更新条件,在第二更新装置1914B以下存储与第二更新装置11相关的更新条件。但是,在不存在子节点的情况下,可以省略父节点,例如,在没有与第一更新装置10相关的更新条件的情况下,也可以没有第一更新装置1914A。
车辆状态1911属下具有IGN信息1912和用户许可1913。IGN信息1912取“接通”或“断开”的值,表示点火***作成“接通”或“断开”为更新条件之一。用户许可1913表示从用户接受更新的许可为更新条件之一。
第一更新装置1914A属下具有串联连接的3个节点,即ABC 1915A、Download 1916A和Version 1917A。这些节点表示在第一更新装置10中“下载”“ABC”这一名称的软件的由Version 1917A表示的版本为更新条件之一。
第二更新装置1914B属下具有串联连接的3个节点,即PQR 1915B、Install 1916B和Version 1917B。这些节点表示在第二更新装置11中“安装”“PQR”这一名称的软件的由Version 1917B表示的版本为更新条件之一。
对图7所示的内容进行总结,根据存储在更新契机191以下的信息来执行更新的附加条件是:车辆1的点火为规定的状态,从用户得到许可,软件“ABC”的规定的版本通过第一更新装置10下载完成,软件“PQR”的规定的版本已安装在第二更新装置11中。如图4所示,更新契机191存在于ABCv2s 122的属下,因此,更新契机191为安装ABCv2s 122的附加条件,换言之,为用于将软件“ABC”更新成版本“2”的附加条件。
如图8所示,更新契机291属下具有3个节点,即车辆状态2911、第一更新装置2914A和第二更新装置2914B。车辆状态2911属下具有线路状态2912。线路状态2912表示与互联网5的连接已被切断为条件。第一更新装置2914A和第二更新装置2914B的构成与图7中说明的第一更新装置1914A同样,因此省略。
对图8所示的内容进行总结,根据存储在更新契机291以下的信息来执行更新的附加条件是:与互联网5的连接被切断,软件“ABC”的规定的版本通过第一更新装置10下载完成,软件“PQR”的规定的版本通过第二更新装置11下载完成。如图5所示,更新契机291存在于PQRv3s 222的属下,因此,更新契机291为安装PQRv3s 222的附加条件,换言之,为用于将软件“PQR”更新成版本“3”的附加条件。
(通知信息)
使用图9和图10对第一客户端树DB 72中包含的通知信息195和第二客户端树DB92中包含的通知信息295进行说明。通知信息195中包含更新触发通知部45发送更新触发的条件、接收地址和发送内容的信息。
如图9所示,通知信息195具有Download完成1951A和Install完成1951B这2个节点。Download完成1951A以下存储与以程序包的下载完成为条件进行通知的更新触发相关的信息。Download完成1951A属下具有第一更新装置1952A和第二更新装置1952B。但是,在本实施方式中,第一更新装置1952A和第二更新装置1952B节点的名称本身没有意义。
第一更新装置1952A属下具有地址1953A、程序包1954A、Version 1955A这3个节点。地址1953A中存储表示更新触发的接收地址的信息,例如第一更新装置10的IP地址或环回地址(127.0.0.1)。程序包1954A表示更新触发中包含程序包的名称。Version 1955A表示更新触发中包含更新后的版本信息。第二更新装置1952B的构成与第一更新装置1952A同样。
Install完成1951B属下存储与以安装完成为条件进行通知的更新触发相关的信息。但是,在图9所示的例子中,不存在以安装完成为条件的更新触发,因此属下不具有节点。
对图9所示的内容进行总结,当程序包“ABCv2s”的下载完成时,对地址1953A和地址1953B发送包含程序包的名称和版本信息的更新触发。
如图10所示,通知信息295中包含第二更新装置11的更新触发通知部发送更新触发的条件、接收地址和发送内容的信息。与通知信息195相比,通知信息295的节点的有无和存储在节点的值不同,但是构成与通知信息195同样,因此省略对构成的说明。
对图10所示的内容进行总结,表示出了如下两点。第一点,当程序包“PQRv3s”的下载完成时,对地址2953A和地址2953B发送包含所下载的程序包的名称和版本信息的更新触发。第二点,当程序包“PQRv3s”的安装完成时,对地址2953C发送包含所安装的程序包的名称和版本信息的更新触发。
(处理顺序)
使用图11~图12的顺序图对服务器2、第一更新装置10和第二更新装置11中的软件更新的消息的交换进行说明。在任一顺序图中,从图示上方向下方去,时间经过,从图11的下部到图12的上部,时间连续。在图11中对服务器2与第一更新装置10的消息的交换进行详细说明,在图12中简略地记载了服务器2与第二更新装置11的消息的交换。
在下面说明的顺序开始的时刻,第一更新装置10中包括的软件“ABC”的版本为“1”,第二更新装置11中包括的软件“PQR”的版本为“2”。在顺序开始的时刻,第一客户端树DB 72在Download 106的属下不具有节点,在Delivered 121的属下也不具有节点。在顺序开始的时刻,第二客户端树DB 92在Download 206的属下不具有节点,在Delivered 221的属下也不具有节点。
首先,第一更新装置10的第一控制部71向服务器控制部61发送用于识别车辆的VIN信息(S301)。从而,服务器2识别出通信对象的车辆为车辆1,从未图示的数据库获取车辆1中包括的软件的最新版本的信息。最新版本的信息例如是:软件“ABC”的最新版本为“2”,软件“PQR”的最新版本为“3”。接着,服务器控制部61将获取的最新版本的信息和版本信息获取请求发送到第一控制部71(S302)。
第一控制部71将接收到的最新版本的信息存储在第一客户端树DB 72(S350)。详细进行说明,在第一客户端树DB 72中的Deployed 130的属下的ABC 131的属下的AvailableVersion 132的节点中存储“2”这一值。从服务器2接收到的最新版本的信息中还包含软件“PQR”的信息,但是第一客户端树DB 72中没有存储关于软件“PQR”的信息,因此,丢弃软件“PQR”的信息。接着,第一控制部71从第一客户端树DB 72获取Deployed 130以下的全部节点的信息(S351),并将其发送到服务器控制部61(S303)。
服务器控制部61将接收到的Deployed 130以下的节点的信息作为1stSCM 1105的Deployed 1130以下的信息保存在服务器树DB 62。然后基于所保存的Deployed 1130以下的节点的信息对是否需要更新软件进行判断。即,服务器控制部61对AvailableVersion1132和Version 1133进行比较,在AvailableVersion 1132为新的的情况下,判断为需要进行更新(S352)。
接着,服务器控制部61从服务器2中包括的存储器183获取通知信息195和软件更新信息(S361)。具体而言,软件更新信息为图4的Download 106以下的除Download 111以外的节点。然后,服务器控制部61将软件更新信息和通知信息195发送到第一控制部71(S304)。
第一控制部71将接收到的信息存储在第一客户端树DB 72。具体而言,将通知信息195追加到Ext 137的属下(S362),将软件更新信息作为Download 106追加到1stSCM 105的属下(S353)。然后,对服务器控制部61返回已设定了更新信息的意思的响应(S305)。
为了使第一更新装置10下载ABCv2s 107这一程序包,服务器控制部61向第一控制部71发送下载执行指示(S308)。该指示使得在第一客户端树DB 72的Operation 110的属下创建Download 111。当在第一客户端树DB 72的Operation 110的属下创建了Download 111时,第一控制部71向更新数据获取部73指示下载的执行(S356)。更新数据获取部73从PkgURL 108中记载的URL获取更新数据。在此,如果假设PkgURL 108中记载的URL为服务器2的内部,则更新数据获取部73向数据提供部63请求ABCv2s这一程序包(S309),获取程序包(S310)。当程序包的获取完成时,更新数据获取部73通知第一控制部71下载已结束(S357)。在此,第一控制部71执行后述的更新触发通知发送处理(S368)。第一控制部71将下载已结束发送到服务器控制部61(S311)。
接着,服务器控制部61向第一控制部71发送用于向用户确认是否可以执行软件更新的软件更新许可请求消息(S306)。第一控制部71使HMI 34显示请求软件的更新许可的消息(S354)。HMI 34显示所请求的消息,接受来自用户的响应并将其返回至第一控制部71(S355)。第一控制部71将许可或不许可的信息发送到服务器控制部61(S307)。但是,在此假设用户已许可,下面参照图12继续进行说明。
接着,服务器控制部61从存储器183获取更新契机1191(S360),将其与指示软件更新的执行的消息一同发送到第一控制部71(S314)。但是,也可以是从服务器树DB 62读取更新契机1191。
第一控制部71将接收到的更新契机作为更新契机191保存在第一客户端树DB 72(S363),基于指示软件更新的执行的消息在Operation 124的属下创建节点Install 125。然后,第一控制部71对更新契机191进行解释并等待更新触发(S365),每隔规定时间对全部更新触发是否已准备就绪进行判断(S366)。在此,并不是全部更新触发已准备就绪,因此继续等待更新触发(S365)。具体而言,等待在图7所示的更新契机191中表示第二更新装置11中的软件“PQR”的版本“3”的安装完成的更新触发。
第二更新装置11进行的、从VIN发送(S301A)到更新契机291在第二客户端树DB 92的保存(S363A)为止的处理,与第一更新装置10进行的S301~S363的处理同样。更新契机291如图8所示是线路状态2912为离线,在第一更新装置10中软件“ABC”的下载完成,在第二更新装置11中软件“PQR”的下载完成,因此,在执行了S363A的时刻,全部条件已满足。因此,第二控制部91向更新部81发送更新开始的指令(S317),使更新部81执行软件更新处理(S390)。当更新处理结束时,更新部81通知第二控制部91(S318)。第二控制部91当接收到更新处理已结束的意思的通知时,基于通知信息295发送更新触发(S368、S369)。通知信息295如图10所示,表示向地址472通知更新已完成的程序包的名称和版本号。因此,因为地址472表示第一更新装置10,所以第二控制部91将包含更新已完成的程序包的名称“PQRv3s”和版本号“3”在内的表示安装已完成的更新触发发送到第一更新装置10。
接收到更新触发的第一控制部71判断为全部更新触发已准备就绪(S366)从而使更新部31开始更新(S317)。更新部31执行软件更新处理390,当更新处理结束时,将结束的意思的通知输出到第一控制部71(S318)。
通过上面说明的动作,在存在多个软件更新装置的***中,能够在保持软件彼此的依赖关系的状态下对软件进行更新。
(画面显示)
图13是表示在图11的S354中HMI 34向用户询问可否更新的消息的一个例子的图。图13所示的显示是显示在第一更新装置10包括的HMI 34中。在图13所示的例子中,第一更新装置10兼具汽车导航功能,与汽车导航所使用的接口画面重叠地显示询问可否更新的消息。
图14是表示在HMI 34作为HMI控制部进行动作的情况下,在第一更新装置10以外的装置上显示的向用户询问可否更新的消息的一个例子的图。在图14所示的例子中,显示在用户持有的便携式终端上。
(流程图)
参照图15~图18对第一更新装置10从服务器2接收到通知信息195、更新契机191、更新执行指示和下载执行指示时的动作进行说明。下面说明的流程图的各步骤的执行主体为第一更新装置10的CPU 152。第二更新装置11也进行与第一更新装置10同样的处理。
图15是表示第一更新装置10从服务器2接收到通知信息195时的处理的流程图。在步骤S2103中,CPU 152对存储接收到的通知信息195的第一客户端树DB 72的节点进行检索。在接下来的步骤S2104中,CPU 152将接收到的通知信息195保持在步骤S2103中确定的节点,结束图15所示的处理。
图16是表示第一更新装置10从服务器2接收到更新契机191时的处理的流程图。在步骤S2107中,CPU 152对存储接收到的更新契机191的第一客户端树DB 72的节点进行检索。在接下来的步骤S2108中,CPU 152将接收到的更新契机191保存在步骤S2107中确定的节点,结束图16所示的处理。
图17是表示第一更新装置10从服务器2接收到更新执行指示时的处理的流程图。通过从服务器2接收更新执行指示,如上所述创建Install 125节点,执行更新的条件之一满足,在此省略关于Install 125节点的创建的说明。
在步骤S2110中,CPU 152从第一客户端树DB 72获取更新契机191。在接下来的步骤S2111中,CPU 152等待更新触发,并且等待满足车辆条件,在接下来的步骤S2120中,CPU152将接收到的更新触发保存在存储器159或存储部151中。在接下来的步骤S2112中,CPU152对更新契机191中记载的全部更新触发是否已准备就绪进行判断,换言之,对执行更新的附加条件是否已全部满足进行判断。CPU 152在判断为全部更新触发已准备就绪的情况下,进入步骤S2113,在判断为存在即使1个没有满足的条件的情况下,返回到步骤S2111。
在步骤S2113中,CPU 152执行软件更新处理。在接下来的步骤S2114中,CPU 152对更新是否已完成进行判断,停留在步骤S2114直至判断为更新已完成,当判断为更新已完成时,进入步骤S2115。
在步骤S2115中,CPU 152从第一客户端树DB 72读取通知信息195。在接下来的步骤S2117中,从通知信息195中提取在更新已完成时要通知的信息,发送更新已完成的意思的通知、即更新触发。但是,在通知信息195为图9所示的例子的情况下,在Install完成1951B的属下不存在节点,因此,不执行本步骤而结束图17所示的处理。在接下来的步骤S2118中,对是否已将更新触发发送到作为对象的全部地址进行判断,在判断为已发送到全部对象的情况下,结束图17所示的处理,在判断为存在没有发送到的对象的情况下,返回到步骤S2117。
图18是表示第一更新装置10从服务器2接收到下载执行指示时的处理的流程图。
在步骤S2201中,CPU 152使用更新数据获取部73获取更新数据。下载在更新数据获取部73和数据提供部63之间执行,协议只要为HTTP或FTP等能够传输数据的协议,就可以使用任何协议。更新数据的获取目的地例如作为PkgURL 108存储在第一客户端树DB 72。在接下来的步骤S2202中,CPU 152对更新数据的下载是否已完成进行判断。该判断例如能够通过是否已从更新数据获取部73收到下载完成的通知来进行判断。在判断为下载已完成的情况下,进入步骤S2203,在判断为下载没有完成的情况下,停留在步骤S2202。
在步骤S2203中,CPU 152从第一客户端树DB 72读取通知信息195。在接下来的步骤S2204中,从通知信息195中提取在下载已完成时要通知的信息,发送下载已完成的意思的通知、即更新触发。在通知信息195为图9所示的例子的情况下,向2个装置发送更新触发,该更新触发中包含下载已完成的程序包的名称和版本。在接下来的步骤S2205中,对是否已将更新触发发送到作为对象的全部地址进行判断,在判断为已发送到全部对象的情况下,结束图18所示的处理,在判断为存在没有发送到的对象的情况下,返回到步骤S2204。
即使假设在步骤S2110以后发生了第一更新装置10与互联网5的连接的切断,也能够从第一客户端树DB 72获取更新契机191和通知信息195,因此,对软件的更新无碍。在该情况下也是,如果不满足由更新契机191确定的条件,则无法执行更新,因此,即使与服务器2的连接被切断,通过适当地设定更新契机191,也能够在维持软件彼此的依赖关系的状态下对软件进行更新。
采用上述的第一实施方式,可得到下面的作用效果。
(1)作为软件更新装置的第一更新装置10经由互联网5与服务器2及1个以上的软件更新装置即第二更新装置11连接。第一更新装置10包括:更新数据获取部73,其从服务器2接收更新用数据;更新部31,其使用更新用数据进行软件的更新;通信部33,其与其它的软件更新装置通信;更新契机接收部41,其从服务器2接收更新契机191,更新契机191中记载有包含更新触发的接收的对软件进行更新的条件;通知信息接收部42,其从服务器2接收通知信息195,通知信息195包含向其它的软件更新装置进行通知的条件;更新触发通知部45,其基于通知信息195向其它的软件更新装置发送更新触发;更新触发接收部44,其从其它的软件更新装置接收更新触发;和更新开始判断部40,其当判断为满足更新契机191中描述的全部条件时,使更新部31执行软件的更新。
更新开始判断部40当满足从服务器2接收到的更新契机191中记载的全部条件时,使得执行软件的更新,因此,能够在满足软件的依赖关系的状态下对软件进行更新。例如,在安装在第一更新装置10中的软件“ABC”与安装在第二更新装置11中的软件“PQR”存在依赖关系的情况下,通过使用适当地设定的更新契机191,能够在满足软件的依赖关系的状态下对软件进行更新。即,如图7所示,能够以在第二更新装置11中安装有规定的版本的软件“PQR”作为条件,使第一更新装置10的软件“ABC”更新。
第一更新装置10包括更新触发通知部45,因此,能够基于通知信息195向其它的软件更新装置发送更新触发。即,能够基于更新触发的接收使其它的软件更新装置对软件进行更新。而且,如果是在第一更新装置10从服务器2接收到更新契机191、通知信息195和更新数据之后,则即使与服务器2的连接被切断,也能够使用接收到的信息进行软件的更新。
(2)通知信息195中包含当更新软件时发送更新触发的信息。当更新部31完成软件的更新时,更新触发通知部45发送更新触发。
因此,第一更新装置10能够将第一更新装置10中的软件的更新通知到其它的软件更新装置。即,在满足软件的依赖关系的状态下,能够使其它的软件更新装置对软件进行更新。
(3)通知信息195中包含当更新数据获取部73接收更新用数据时发送更新触发的信息。当更新数据获取部73接收更新用数据时,更新触发通知部45发送更新触发。
因此,第一更新装置10能够以其它的装置已接收到更新数据、即其它的装置已完成用于执行更新的事前准备的至少一部分作为条件,开始更新。
(4)第一更新装置10搭载在车辆1中。更新契机191中包含车辆1的点火的接通或断开。更新开始判断部40能够对点火的接通或断开进行检测。
通过以点火的断开作为更新开始的条件,能够安全地更新与车辆1的行驶相关的软件。通常,当用户将点火操作成断开时,之后短时间内用户不会使用车辆1,因此,即使执行需要长时间处理的更新也不会妨碍用户。通过以点火的接通作为更新开始的条件,能够在用户能够选择时机(timing)的容易理解时执行更新。
(5)第一更新装置10搭载在与互联网5连接的车辆1中。更新契机191中包含与互联网5的连接的切断。更新开始判断部40能够对连接的切断进行检测。
通过以与互联网5的连接的切断作为更新开始的条件,能够减小由软件的更新导致的可用性的降低。详细进行说明如下。即,运行时需要与互联网5的连接的软件,在与互联网5的连接被切断的期间无法运行。当开始软件的更新时,到更新结束为止,无法使用软件。因此,通过使因更新而无法使用软件的时间和因与互联网5的连接被切断而无法使用软件的时间重叠,能够减小由软件的更新导致的可用性的降低。
(6)第一更新装置10包括存储部151和存储器159。更新触发接收部44使接收到的更新触发存储在存储部151或存储器159中。更新开始判断部40进行包括存储在存储部151或存储器159中的更新触发在内的更新开始的判断。
因此,即使在各个更新条件在不同的时机成立的情况下,也能够开始更新。
(变形例1)
更新契机191中可以不包含车辆状态1911以下的节点,也可以在车辆状态1911的属下配置不同的节点。例如,也可以配置表示与时刻相关的条件或与车辆1的发动机的状态相关的条件的节点。
(变形例2)
更新契机191中存储有关于第一更新装置10和第二更新装置11的条件,但是也可以仅存储关于任一者的条件。另外,也可以对于1个更新装置存储与2个以上的软件相关的条件,也可以对于各软件设定除“Download”和“Install”以外的条件,例如表示已删除的“Remove”。
(变形例3)
在通知信息195的属下也可以存在除Download完成1951A和Install完成1951B以外的节点。例如,表示点火已接通的“IGN接通”或表示已从用户得到更新的许可的“更新许可”等节点也可以存在于通知信息195的属下。即,也可以是更新触发通知部45在点火已接通时或已从用户得到更新的许可时发送更新触发。在其它的更新管理装置无法直接得到点火的信息或用户的许可的信息的情况下,该结构是有效的。
(变形例4)
在第一实施方式中,将第一客户端树DB 72、第二客户端树DB 92和服务器树DB 62表达为树状的数据库、即阶层式数据库,但是这些数据库的形式并不限定于此。也可以为网络型数据库或关系型数据库等其它的形式。
(变形例5)
在上面的说明中,第一更新装置10进行更新触发的发送和接收,但是也可以是第一更新装置10仅进行更新触发的发送而不进行更新触发的接收,也可以是第一更新装置10仅进行更新触发的接收而不进行更新触发的发送。例如,在第一更新装置10仅进行更新触发的发送而不进行更新触发的接收的情况下,第一更新装置10可以不包括更新触发接收部44。在第一更新装置10仅进行更新触发的接收而不进行更新触发的发送的情况下,第一更新装置10可以不包括通知信息接收部42和更新触发通知部45。
依照本变形例,下面的软件更新装置也包含在本发明中。
(1)软件更新装置经由网络与服务器及1个以上的软件更新装置连接。软件更新装置包括:接收部,其从服务器接收更新用数据;更新部,其使用更新用数据进行软件的更新;通信部,其与其它的软件更新装置通信;更新契机接收部,其从服务器接收更新契机,更新契机中记载有包含更新触发的接收的对软件进行更新的条件;更新触发接收部,其从其它的软件更新装置接收更新触发;和更新开始判断部,其当判断为满足更新契机中描述的全部条件时,使更新部执行软件的更新。
(2)软件更新装置经由网络与服务器及1个以上的软件更新装置连接。软件更新装置包括:接收部,其从服务器接收更新用数据;更新部,其使用更新用数据进行软件的更新;通信部,其与其它的软件更新装置通信;更新契机接收部,其从服务器接收更新契机,更新契机中记载有对软件进行更新的条件;通知信息接收部,其从服务器接收通知信息,通知信息包含向其它的软件更新装置进行通知的条件;更新触发通知部,其基于通知信息向其它的软件更新装置发送更新触发,更新触发为接收为对软件进行更新的条件之一;和更新开始判断部,其当判断为满足更新契机中描述的全部条件时,使更新部执行软件的更新。
(变形例6)
第一更新装置10中存储的通知信息195中也可以不将第一更新装置10记载为地址,不从第一更新装置10发送向第一更新装置10的更新触发。在该情况下,下载完成的意思的信息可以不经由更新触发通知部45或更新触发接收部44而被传输到更新开始判断部40。
-第二实施方式-
参照图19~图21对软件更新***S的第二实施方式进行说明。在下面的说明中,对与第一实施方式相同的构成要素标注相同的附图标记,主要对不同点进行说明。没有特别说明的部分,与第一实施方式相同。在本实施方式中,与第一实施方式的不同点主要在于,第一更新装置和第二更新装置对其它的装置的软件进行更新。
(***构成)
图19是表示第二实施方式的软件更新***S的构成的图。车辆1包括第一更新装置10、第二更新装置11、LAN网络18、第一ECU 511、第二ECU 512、第三ECU 513、第一CAN网络501和第二CAN网络502。第一更新装置10和第二更新装置11通过LAN网络18连接。第一更新装置10、第一ECU 511和第二ECU 512通过第一CAN网络501连接。第二更新装置11和第三ECU513通过第二CAN网络502连接。
第一ECU 511中包括软件“DEF”,第二ECU 512中包括软件“GHI”,第三ECU 513中包括软件“STU”。第一更新装置10对第一ECU 511和第二ECU 512的软件进行更新。第二更新装置11对第三ECU 513的软件进行更新。
(ECU的硬件结构)
第一ECU 511、第二ECU 512和第三ECU 513的硬件结构相同,因此,在此以第一ECU511的硬件结构为代表进行说明。
图20是表示第一ECU 511的硬件结构的图。第一ECU 511包括存储部170、CPU 171、存储器173、CAN I/F 174和总线172。
第一ECU 511的CPU 171对由第一ECU 511处理的信息的进出进行控制,根据保存在存储器173中的软件的描述进行动作。存储部170暂时保存CPU 171处理的信息,并经由总线172与CPU 171交换数据。存储器173为存储第一ECU 511的软件的非易失性存储装置。第一ECU 511通过保存在存储器173中的软件进行动作,通过对该软件进行更新,能够改变第一ECU 511的动作。CAN I/F 174为车辆1中使用的专用网络即CAN用接口,经由第一CAN网络501与第一更新装置10通信。可以经由该接口接收软件,改写存储在存储器173中的软件。
(第一客户端树DB)
第二实施方式中的第一客户端树DB 72是在第一实施方式中的第一客户端树DB72的构成中将“ABC”替换为“DEF”和“GHI”而得到的。
图21是表示第二实施方式中的第一客户端树DB 72的概要的图。存储要下载的两个程序包的信息的“DEFv2s”的节点和“GHIv4s”的节点置于Download 106的属下。与此同样,在Delivered 121和Deployed 130的节点的属下也存储两个软件的信息。即,在Delivered 121的属下配置与各软件对应的更新契机,在Deployed 130的属下配置与各软件对应的通知信息。
第二客户端树DB 92的构成是从第一实施方式中的构成中改***件和程序包的名称而得到的,因此省略说明。
采用上述的第二实施方式,可得到下面的作用效果。
(1)第一更新装置10与第一ECU 511及第二ECU 512连接,更新部31对第一ECU 511和第二ECU 512的软件进行更新。因此,即使在第一ECU 511和第二ECU 512无法执行与软件的更新相关的控制的情况下,第一更新装置10也能够代替第一ECU 511和第二ECU 512,在满足软件的依赖关系的状态下,使第一ECU 511和第二ECU 512对软件进行更新。
(第二实施方式的变形例)
也可以是第一更新装置10不仅对第一ECU 511和第二ECU 512的软件进行更新,而且也对第一更新装置10的软件进行更新。也可以是第二更新装置11不仅对第三ECU 513的软件进行更新,而且也对第二更新装置11的软件进行更新。
在上面的说明中,假设第一更新装置10的程序存储在存储器159中,但是也可以是第一更新装置10包括未图示的输入输出接口,在需要时经由输入输出接口和第一更新装置10可利用的介质从其它的装置读取程序。在此,介质是指例如相对于输入输出接口可装拆的存储介质或通信介质,即有线、无线、光等网络、或在该网络中传播的载波或数字信号。由程序实现的功能的一部分或全部也可以由硬件电路或FPGA实现。
上述的各实施方式和变形例各自可以组合。
上面对各种实施方式和变形例进行了说明,但是本发明并不限定于这些内容。在本发明的技术思想的范围内可想到的其它的方式也包含在本发明的范围内。
下面的优先权基础申请的公开内容作为引用文***在此。
日本特许申请2016年第252787号(2016年12月27日申请)附图标记说明
1   车辆
2   服务器
S   软件更新***
10  第一更新装置
11  第二更新装置
31  更新部
33  通信部
40  更新开始判断部
41  更新契机接收部
42  通知信息接收部
44  更新触发接收部
45  更新触发通知部
191 更新契机
195 通知信息
451 通知信息

Claims (10)

1.一种软件更新装置,其经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:
接收部,其从所述服务器接收更新用数据;
更新部,其使用所述更新用数据进行软件的更新;
通信部,其与所述1个以上的其它的软件更新装置通信;
更新契机接收部,其从所述服务器接收并存储更新契机,所述更新契机限定必须从所述1个以上的其它的软件更新装置接收的、用于执行所述软件更新装置的所述软件的更新的多个更新触发;
通知信息接收部,其从所述服务器接收通知信息,所述通知信息根据各个所述更新触发的发送目的地、软件包的名称和软件的版本中的至少一者来限定所述多个更新触发中的各个更新触发;
更新触发通知部,其基于从所述服务器接收的所述通知信息,从所述软件更新装置向所述其它的软件更新装置中的1个以上的软件更新装置或所述服务器发送所述多个更新触发中的更新触发;
更新触发接收部,其从所述其它的软件更新装置中的1个以上的软件更新装置接收在从所述服务器接收的所述更新契机中确定的所述多个更新触发中的更新触发;和
更新开始判断部,其当判断为已接收到所述更新契机中描述的所述多个更新触发中的全部更新触发时,使所述更新部执行所述软件更新装置的所述软件的更新。
2.一种软件更新装置,其经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:
接收部,其从所述服务器接收更新用数据;
更新部,其使用所述更新用数据进行软件的更新;
通信部,其与所述1个以上的其它的软件更新装置通信;
更新契机接收部,其从所述服务器接收并存储更新契机,所述更新契机限定必须从所述1个以上的其它的软件更新装置接收的、用于执行所述软件更新装置的所述软件的更新的多个更新触发;
更新触发接收部,其从所述其它的软件更新装置中的1个以上的软件更新装置接收在从所述服务器接收的所述更新契机中确定的所述多个更新触发中的更新触发;和
更新开始判断部,其当判断为已接收到所述更新契机中描述的所述多个更新触发中的全部更新触发时,使所述更新部执行所述软件更新装置的所述软件的更新。
3.一种软件更新装置,其经由网络与服务器及1个以上的其它的软件更新装置连接,所述软件更新装置的特征在于,包括:
接收部,其从所述服务器接收更新用数据;
更新部,其使用所述更新用数据进行软件的更新;
通信部,其与所述1个以上的其它的软件更新装置通信;
更新契机接收部,其从所述服务器接收并存储更新契机,所述更新契机限定必须从所述1个以上的其它的软件更新装置接收的、用于执行所述软件更新装置的所述软件的更新的多个更新触发;
通知信息接收部,其从所述服务器接收通知信息,所述通知信息根据各个所述更新触发的发送目的地、软件包的名称和软件的版本中的至少一者来限定所述多个更新触发中的各个更新触发;
更新触发通知部,其基于从所述服务器接收的所述通知信息,从所述软件更新装置向所述其它的软件更新装置中的1个以上的软件更新装置或所述服务器发送所述多个更新触发中的更新触发;和
更新开始判断部,其当判断为已接收到所述更新契机中描述的所述多个更新触发中的全部更新触发时,使所述更新部执行所述软件更新装置的所述软件的更新。
4.根据权利要求1或3所述的软件更新装置,其特征在于:
从所述服务器接收的所述通知信息还限定当所述更新的软件安装完成时从所述软件更新装置向所述其它的软件更新装置中的1个以上的软件更新装置发送所述更新触发,
当所述更新部完成安装所述软件的更新时,所述更新触发通知部从所述软件更新装置发送所述更新触发。
5.根据权利要求1或3所述的软件更新装置,其特征在于:
从所述服务器接收的所述通知信息还限定当所述接收部在安装所述更新之前完成所述更新用数据的下载时从所述软件更新装置发送所述更新触发,
当所述接收部在安装所述更新之前完成所述更新用数据的下载时,所述更新触发通知部发送所述更新触发。
6.根据权利要求1~3中任一项所述的软件更新装置,其特征在于:
所述软件更新装置搭载在车辆中,
所述更新契机中包含所述车辆的点火的接通或断开,
所述更新开始判断部能够对所述点火的接通或断开进行检测。
7.根据权利要求1~3中任一项所述的软件更新装置,其特征在于:
所述软件更新装置搭载在与互联网连接的车辆中,
所述更新契机中包含与所述互联网的连接的切断,
所述更新开始判断部能够对所述连接的切断进行检测。
8.根据权利要求1或2所述的软件更新装置,其特征在于:
还包括存储部,
所述更新触发接收部将接收到的所述更新触发存储在所述存储部,
所述更新开始判断部进行包括存储在所述存储部中的所述更新触发在内的更新开始的判断。
9.根据权利要求1~3中任一项所述的软件更新装置,其特征在于:
所述软件更新装置与控制装置连接,
所述更新部对所述软件更新装置的软件和所述控制装置的软件中的至少一者进行更新。
10.一种软件更新***,其包括服务器和多个软件更新装置,所述软件更新***的特征在于:
所述服务器包括发送部,其发送用于对软件进行更新的更新用数据,
所述多个软件更新装置中的各个软件更新装置包括:
接收部,其从所述服务器接收所述更新用数据;
更新部,其使用所述更新用数据进行所述软件的更新;
通信部,其与所述服务器及1个以上的其它的软件更新装置通信;
更新契机接收部,其从所述服务器接收并存储更新契机,所述更新契机限定必须从所述1个以上的其它的软件更新装置接收的、用于执行所述多个软件更新装置中的各个软件更新装置的所述软件的更新的多个更新触发;
通知信息接收部,其从所述服务器接收通知信息,所述通知信息根据各个所述更新触发的发送目的地、软件包的名称和软件的版本中的至少一者来限定所述多个更新触发中的各个更新触发;
更新触发通知部,其基于从所述服务器接收的所述通知信息,从所述多个软件更新装置中的各个软件更新装置向所述其它的软件更新装置中的1个以上的软件更新装置或所述服务器发送所述多个更新触发中的更新触发;
更新触发接收部,其从所述其它的软件更新装置中的1个以上的软件更新装置接收在从所述服务器接收的所述更新契机中确定的所述多个更新触发中的更新触发;和
更新开始判断部,其当判断为已接收到所述更新契机中描述的所述多个更新触发中的全部更新触发时,使所述更新部执行所述多个软件更新装置中的各个软件更新装置的所述软件的更新。
CN201780080696.5A 2016-12-27 2017-10-26 软件更新装置和软件更新*** Active CN110114761B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016-252787 2016-12-27
JP2016252787A JP6667430B2 (ja) 2016-12-27 2016-12-27 ソフトウェア更新装置、ソフトウェア更新システム
PCT/JP2017/038792 WO2018123242A1 (ja) 2016-12-27 2017-10-26 ソフトウェア更新装置、ソフトウェア更新システム

Publications (2)

Publication Number Publication Date
CN110114761A CN110114761A (zh) 2019-08-09
CN110114761B true CN110114761B (zh) 2023-04-28

Family

ID=62708219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780080696.5A Active CN110114761B (zh) 2016-12-27 2017-10-26 软件更新装置和软件更新***

Country Status (5)

Country Link
US (1) US11645062B2 (zh)
EP (1) EP3564822A4 (zh)
JP (1) JP6667430B2 (zh)
CN (1) CN110114761B (zh)
WO (1) WO2018123242A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7059985B2 (ja) 2018-08-10 2022-04-26 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、データ格納面情報の送信制御方法、データ格納面情報の送信制御プログラム、車両用マスタ装置側プログラム、センター装置、更新データの選定方法及びセンター装置側プログラム
JP7287476B2 (ja) * 2019-08-28 2023-06-06 株式会社デンソー 車両用マスタ装置、車両用電子制御システム、コンフィグ情報の書換え指示方法及びコンフィグ情報の書換え指示プログラム
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 トヨタ自動車株式会社 情報処理装置、情報処理方法、およびシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
CN1668010A (zh) * 2004-03-12 2005-09-14 微软公司 用来在更新分发***中分发更新元数据的基于标记模式
CN104380252A (zh) * 2012-08-22 2015-02-25 丰田自动车株式会社 车载装置、移动终端、信息管理装置和信息通信***
CN105975254A (zh) * 2015-03-10 2016-09-28 国际商业机器公司 用于智能移动应用更新的方法和***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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 현대자동차주식회사 차량의 펌웨어 업데이트 시스템 및 방법
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
CN1668010A (zh) * 2004-03-12 2005-09-14 微软公司 用来在更新分发***中分发更新元数据的基于标记模式
CN104380252A (zh) * 2012-08-22 2015-02-25 丰田自动车株式会社 车载装置、移动终端、信息管理装置和信息通信***
CN105975254A (zh) * 2015-03-10 2016-09-28 国际商业机器公司 用于智能移动应用更新的方法和***

Also Published As

Publication number Publication date
EP3564822A1 (en) 2019-11-06
US11645062B2 (en) 2023-05-09
EP3564822A4 (en) 2020-08-19
JP2018106461A (ja) 2018-07-05
US20190354363A1 (en) 2019-11-21
JP6667430B2 (ja) 2020-03-18
CN110114761A (zh) 2019-08-09
WO2018123242A1 (ja) 2018-07-05

Similar Documents

Publication Publication Date Title
CN110114761B (zh) 软件更新装置和软件更新***
CN103309694A (zh) 应用程序更新方法和装置
CN101576828B (zh) 软件版本升级方法及装置、服务器
US9201643B2 (en) Communication system, communication method, and communication apparatus
EP2919440B1 (en) Advertisement processing method and device
CN102724308A (zh) 软件更新方法及软件更新***
CN108027741A (zh) 基于补丁升级的文件处理方法、装置、终端以及存储介质
US9058182B2 (en) Management device for causing devices to update programs and computer readable media
CN111316230B (zh) 一种补丁包生成方法及设备
KR100936239B1 (ko) 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
CN102833350A (zh) WebApp更新的处理方法和处理装置
CN105517015A (zh) 一种wifi产品空中下载OTA升级方法、装置及终端
JP2023052938A (ja) プログラム更新システム、プログラム更新サーバー、情報処理装置、車両、方法、およびプログラム
CN104102501A (zh) 一种移动终端及其升级方法
US8839250B2 (en) Image forming apparatus, storage medium, and program system determination
JP2006235838A (ja) ソフトウェア更新システム、サーバ、方法およびプログラム
JP2006261970A (ja) 画像形成システム、画像形成装置、管理装置及びプラグイン整合管理方法
JP2005228009A (ja) 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム
KR20160071260A (ko) Autosar 기반 차량 ecu 상태 관리 방법
CN103631621A (zh) 一种信息提示方法及装置
CN104079540A (zh) 应用更新方法、装置及***、用户设备
CN103634936A (zh) 文件下载方法、装置及***
CN104469278A (zh) 一种监控***升级方法及装置
WO2023141502A1 (en) Technologies for over-the-air updates for telematics systems
KR100856205B1 (ko) 디지털 지도 데이터를 동적으로 업데이트하는 경로 안내시스템 및 그 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant