CN106257420B - 用于使用差分更新包更新ecu的方法 - Google Patents

用于使用差分更新包更新ecu的方法 Download PDF

Info

Publication number
CN106257420B
CN106257420B CN201610416747.4A CN201610416747A CN106257420B CN 106257420 B CN106257420 B CN 106257420B CN 201610416747 A CN201610416747 A CN 201610416747A CN 106257420 B CN106257420 B CN 106257420B
Authority
CN
China
Prior art keywords
server
data stream
control unit
electronic control
vehicle
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
CN201610416747.4A
Other languages
English (en)
Other versions
CN106257420A (zh
Inventor
道格拉斯·S·穆勒
罗纳德·W·帕什比
考特尼·乔·霍姆斯
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.)
Lear Corp
Original Assignee
Lear 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 Lear Corp filed Critical Lear Corp
Publication of CN106257420A publication Critical patent/CN106257420A/zh
Application granted granted Critical
Publication of CN106257420B publication Critical patent/CN106257420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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 

Abstract

本发明公开了一种用于使用差分更新包更新ECU的方法。一种用于升级车辆中的车辆电子控制单元(ECU)的方法包括:创建用于对预定ECU的每个升级的差分升级包(DUP),所述创建包括:将预定ECU闪存存储器的数字内容的新图像与预定ECU闪存存储器的数字内容的现有图像进行比较;以及产生一组变化以将现有图像修改为新图像,所述变化包括一组指令。DUP包括被用于一次一块地更新ECU闪存存储器的一组指令。

Description

用于使用差分更新包更新ECU的方法
发明领域
本发明总体上涉及车辆,并涉及允许车辆制造商利用车辆的更新包的空中下载(OTA)无线通信来批量或单独地远程更新车辆软件的方法和装置。
发明背景
车辆广泛利用编程的电子产品来控制各种装置和功能。通常,电子控制单元(ECU)提供对装置和功能的控制。每个ECU通常包括微控制器和闪存存储器来存储用于控制特定ECU相关的装置或功能的软件和参数。
ECU经由总线被互联到车辆网络。通常使用的一个这种车辆网络总线是控制器局部网(CAN)总线,其为被设计成允许ECU和设备相互通信的标准车辆总线。
现代车辆通常还包括无线通信能力。用于提供无线通信的一个这种机制可包括远程信息处理控制单元(TCU)。通常,TCU涉及结合电信和信息处理的车载嵌入式系统。术语已经演变成涉及结合全球定位系统(GPS)卫星追踪和无线通信的车辆系统。TCU通常包括或有权访问追踪车辆的位置的全球定位系统(GPS)单元、存储器、微控制器以及一个或多个用于经由例如GPRS、Wi-Fi、WiMAX或LTE的无线通信的接口。TCU被连接至或耦合至车辆网络总线。
制造商可时不时地发布软件更新以向存储在各种ECU中的软件和数据提供加强或修正或其他改变。更新通过刷新ECU闪存存储器来安装。
通常在制造商保修期内或作为召回的一部分提供软件更新。向车辆所有人发出通知,要求该所有人将车辆返回到制造商的经销商以用于软件更新。在将车辆送回经销商之后,车辆经销商安装软件更新。
存在与提供车辆更新有关的巨额开支。制造商通常为安装软件而赔偿车辆经销商。此外,存在与向车辆所有人发送通知相关的成本。对于车辆所有人未能响应通知从而必需随后通知的额外开支并不少见。对于车辆所有人未能及时地响应于将车辆送到经销商的不便并不少见。
因此,期望的是提供允许车辆软件的远程更新使得用于软件安装的经销商成本大大降低或完全消除的方法和装置。
概述
提供了用于在包括一个或多个车辆的目标车辆组中的一个或多个目标电子控制单元(ECU)的车辆软件的无线远程更新的方法的实施方式,每个ECU包括闪存存储器。方法包括将管理软件托管在作为可由客户端访问的客户端服务器或中心服务器中的一个的服务器上。方法还包括利用管理软件以用于:选择目标车辆组;生成用于目标车辆的差分更新包(DUP),DUP包括更新管理软件;选择用于执行DUP的更新先决条件;以及选择用于下载DUP的更新安排。方法还包括:提供用于将DUP下载到一个或多个目标车辆的每个的下载管理软件,以及利用下载管理软件以用于:建立至目标车辆组中的每个目标车辆中的远程信息处理控制单元(TCU)的独立的无线通信链路;并利用下载管理软件来经由每个独立的无线通信链路将DUP下载到每个TCU。方法还包括利用在每个TCU中的更新管理器来通过利用DUP刷新一个或多个目标ECU的每个闪存存储器以更新每个目标车辆中的一个或多个目标ECU。
实施方式还可包括:为DUP提供更新规则集并利用在每个TCU处的更新管理软件以通过执行以下步骤来更新每个目标ECU闪存存储器:验证下载到每个TCU的每个目标ECU闪存图像;验证下载到每个TCU的更新的规则集;以及更新符合规则集的每个目标ECU。
实施方式还可包括:利用下载管理软件来提供经由独立无线通信链路的与每个TCU的更新交互。
实施方式还可包括操作每个TCU以经由无线通信链路向下载管理软件报告更新状态。
实施方式可包括利用管理软件以用于:执行车辆搜索;创建并管理多个车辆组;以及从多个车辆组中选择目标车辆组。
实施方式还可包括在每个车辆的基础上查看ECU硬件和软件。
实施方式可包括利用下载管理软件来提供经由无线通信链路的与每个TCU的更新交互。
实施方式还可包括利用每个TCU以经由无线通信链路向下载管理软件报告更新状态。
实施方式可包括向管理软件提供ECU管理器。方法可包括利用ECU管理器来搜索预定ECU;并利用ECU管理器来执行上传预定ECU的每个闪存存储器的内容或者管理预定ECU的闪存存储器内容中的其中一个或两个。
实施方式可包括利用下载管理软件来提供经由无线链路的与TCU的更新交互。
实施方式可包括操作TCU以经由无线链路向下载管理软件报告更新状态。
实施方式可包括利用管理软件以用于:执行车辆搜索;创建并管理车辆组;以及在每个车辆的基础上查看ECU和每个查看的ECU的当前硬件和软件版本。
实施方式可包括提供包管理软件,利用包管理器来选择更新先决条件;利用包管理器来选择更新安排;以及利用包管理器来选择将生成的通知。
实施方式可包括利用管理软件以向一个或多个预定个体请求对每个DUP的批准。
实施方式可包括在发起每个DUP的任何下载之前从一个或多个预定个体接收对每个DUP的批准。
用于更新车辆中的电子控制单元(ECU)的方法的实施方式包括(其中ECU包括存储数字内容图像的闪存存储器、随机访问内存(RAM)和引导装载器):生成用于ECU的差分更新包(DUP)以将数字内容图像更新为更新的数字内容图像。DUP包括用以执行复制来自闪存存储器的一个或多个字节、应用一组修改到复制的字节并添加额外的字节中的一个或多个的指令。方法还包括在无线载波系统上向车辆的远程信息处理设备传输DUP;将闪存存储器的原始块存储到RAM中;根据DUP来修改块以产生修改的块;从闪存存储器中擦除原始块;以及将修改的块写入闪存存储器以替代块。
闪存存储器和RAM被调整大小以不具有同时存储现有数字内容图像、期望的数字内容图像和DUP的容量。
方法还包括通过将闪存存储器的现有数字内容图像与闪存存储器的新的期望的数字内容图像进行比较并产生将现有数字内容图像修改为期望的数字内容图像所需的一组变化来生成DUP。
方法还可包括修改引导装载器以允许闪存工具向引导装载器提供指令以在数字内容图像上实施DUP。
方法还可包括利用闪存工具来追踪更新闪存存储器的进展;利用闪存工具来检测更新进展的任何中断;以及利用闪存工具来从中断发起更新进展的继续。
方法还可包括修改引导装载器以允许闪存工具向引导装载器提供指令以在数字内容图像上实施DUP。
用于实时监控车辆组件的广泛分布的软件更新的集中系统的实施方式包括:仲裁服务器;包括多个通信服务器的分布式网络;以及多个车辆,多个车辆中的每个车辆包括可操作以与多个通信服务器中的一个通信服务器通信的远程信息处理控制单元(TCU),TCU被调整为接收并部署车辆内的电子控制单元(ECU)的软件更新,且TCU可操作以生成用于软件更新的状态更新并向一个通信服务器传达状态更新。多个通信服务器中的每个通信服务器可操作以同时从多个车辆接收包括状态更新的数据消息并生成包括来自多个车辆的数据消息的数据流,数据流被发送到日志文件。
在实施方式中,日志文件专用于客户端;而仲裁服务器从客户端接收过滤项和参数以将数据流减少至客户端确定的数据。
实施方式可操作使得仲裁服务器从客户端接收参数以控制数据流的格式化和呈现中的至少一个。
另外,仲裁服务器将过滤项传达至多个通信服务器中的对其应用过滤项的选择的通信服务器。
每个通信服务器可将数据消息的每个与过滤项进行比较,以确定每个数据消息是否匹配过滤项并产生过滤的数据流。将过滤的数据流传达至仲裁服务器。
用于实时监控车辆组件的广泛分布的软件更新的集中系统的另一实施方式包括:客户端服务器、仲裁服务器和包括多个通信服务器的分布式网络。每个服务器可操作以与对应的多个车辆通信。对应的多个车辆中的每个车辆包括可操作以与多个通信服务器的对应通信服务器进行通信的装置。装置可操作以与在每个车辆中的电子控制单元(ECU)进行通信。装置可操作以从通信服务器接收软件更新并选择性地部署车辆内的一个或多个ECU的软件更新。装置可操作以监控软件更新的状态并生成用于软件更新的部署的状态更新。装置可操作以向对应的通信服务器传达状态更新。每个对应的通信服务器可操作以从对应的多个车辆接收包括状态更新的数据消息,并可操作以利用来自对应的多个车辆的数据消息来生成数据流。
在此实施方式中,仲裁服务器从客户端服务器接收过滤项并将过滤项应用至数据流,以将数据流减少为客户端确定的数据。仲裁服务器可从客户端服务器接收格式化参数以控制数据流的格式化。仲裁服务器将过滤项传达至多个通信服务器中的对其应用过滤项的选择的通信服务器。每个通信服务器将过滤项应用至数据消息的每个以产生过滤的数据流,且将过滤的数据流传达至仲裁服务器。仲裁服务器结合从用于客户端的多个通信服务器接收的所有数据流以产生结合的数据流,而仲裁服务器将过滤和格式化和呈现参数应用至结合的数据流以产生过滤的数据流。
用于包括闪存存储器的车辆组件的软件更新的实时广泛分布的方法的实施方式包括提供用于发起软件更新的客户端服务器,提供可操作以与客户端服务器进行通信的仲裁服务器,以及提供包括多个通信服务器的分布式网络,通信服务器的每个可操作以与多个对应车辆中的装置进行通信。实施方式还包括操作每个装置以经由无线网络与多个通信服务器中的一个通信服务器进行通信,以接收并部署其对应车辆内的电子控制单元(ECU)的软件更新。实施方式还包括操作每个装置以生成用于软件更新的状态更新并经由无线网络向一个通信服务器传达状态更新。方法还包括操作多个通信服务器的每个通信服务器,使其可操作以从多个对应车辆同时接收包括状态更新的数据消息。另外,方法包括操作每个通信服务器以生成包括来自多个对应车辆的数据消息的数据流,将数据流发送至仲裁服务器。
用于实时监控车辆组件的广泛分布的软件更新的方法的实施方式包括:提供客户端服务器;提供仲裁服务器;提供分布式网络,其包括多个通信服务器;以及操作每个通信服务器以与对应的多个车辆进行通信。对应的多个车辆中的每个车辆包括可操作以经由无线网络与多个通信服务器中的对应通信服务器进行通信并可操作以与每个车辆中的电子控制单元(ECU)进行通信的装置。方法包括操作每个通信服务器以将用于多个车辆中的每个中的一个或多个预定ECU的选择的软件更新经由无线网络下载至每个车辆装置,操作每个车辆装置以选择性地部署车辆内的一个或多个预定ECU的软件更新,以监控软件更新的状态并生成用于软件更新的部署的状态更新,以及操作每个车辆装置以将状态更新经由无线网络传达至对应通信服务器。每个对应的通信服务器可操作以从每个车辆装置接收包括状态更新的数据消息,并利用来自对应的多个车辆的数据消息来生成对应的数据流。
用于包括闪存存储器的车辆组件的软件更新的实时分布的方法的实施方式包括以下步骤:确定车辆所有人已经请求用于所有人的车辆的软件更新;提供用于发起软件更新的客户端服务器;提供可操作以与客户端服务器进行通信的仲裁服务器;提供包括多个通信服务器的分布式网络,通信服务器的每个可操作以经由无线网络与多个对应车辆中的装置进行通信。方法还包括操作所有者的车辆中的每个装置来经由无线网络与多个通信服务器中的一个通信服务器进行通信,以接收并部署所有者的车辆中的电子控制单元(ECU)的软件更新;操作所有者的车辆中的装置以生成用于软件更新的状态更新并将状态更新经由无线网络传达至一个通信服务器;操作可操作以经由无线网络同时从多个对应车辆接收包括状态更新的数据消息的多个通信服务器的每个通信服务器;以及操作每个通信服务器来生成包括来自多个对应车辆的数据消息和来自所有者的车辆的状态更新的数据流。将数据流经由无线网络发送至仲裁服务器。
用于实时监控车辆组件的广泛分布的软件更新的方法的实施方式包括:提供分布式网络,其包括多个通信服务器;以及操作每个通信服务器以与对应的多个车辆进行通信。每个车辆包括可操作以通过无线网络与多个通信服务器的对应通信服务器进行通信的装置。装置可操作以与每个车辆中的电子控制单元(ECU)进行通信。方法还包括:发起多个车辆中的预定的一个车辆中的装置的软件更新;操作通信服务器中的一个来下载用于预定的一个车辆中的预定的一个或多个ECU的选择的软件更新;以及操作每个预定的一个车辆装置来选择性地部署预定一个车辆内的一个或多个预定ECU的软件更新,以监控软件更新的状态并生成用于软件更新的部署的状态更新;操作装置以将状态更新传达至对应的通信服务器。一个通信服务器可操作以从预定的一个车辆装置接收包括状态更新的数据消息,并利用数据消息来生成对应的数据流。
可安装在车辆中的远程信息处理电子控制单元(TCU)的实施方式包括:无线网络接口;至被耦合至车辆中设置的多个电子控制单元(ECU)的车辆总线的接口,每个ECU包括闪存存储器、随机访问存储器(RAM)、以及引导装载器;存储器;处理器;以及经由无线网络接口接收的差分更新包(DUP),用于向ECU的特定一个ECU提供更新,DUP包括闪存工具、用于特定一个ECU的差分更新指令和用于特定一个ECU的闪存存储器的差分更新数据。处理器利用闪存工具来向特定一个ECU的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU执行以将闪存存储器的块存入RAM;处理器可操作以向特定一个ECU提供差分更新数据;差分更新指令可由特定一个ECU执行以根据差分更新数据来修改块以便产生修改的块;差分更新指令可由特定一个ECU执行以从闪存存储器擦除块;以及差分更新指令可由特定一个ECU执行以将修改的块从RAM写入闪存存储器以替代擦除的块。
处理器利用闪存工具来保持闪存存储器的更新的进展状态。处理器利用进展状态来检测更新的任何中断。处理器利用闪存工具来在中断之后发起更新的继续。
无线网络接口可包括至无线广域网的接口。无线网络接口可包括至无线局域网的接口。
TCU可包括通信代理以自动选择通过其接收DUP的无线广域网接口和无线局域网接口中的一个。
TCU可包括负责尝试在无线广域网接口和无线局域网接口中的一个至少下载DUP以自动实现将DUP下载至远程信息处理控制单元的通信代理。
可安装在车辆中的远程信息处理电子控制单元(TCU)的另一实施方式包括:无线网络接口;至被耦合至车辆中设置的多个电子控制单元(ECU)的车辆总线的接口,每个ECU包括闪存存储器、随机访问存储器(RAM)、以及引导装载器;存储器;处理器;以及经由无线网络接口接收的差分更新包(DUP),用于向ECU的特定一个ECU提供更新,DUP包括闪存工具、用于特定一个ECU的差分更新指令和用于特定一个ECU的闪存存储器的差分更新数据。处理器可操作以确定车辆是否处于预定状态中,且处理器可操作成如果车辆处于预定状态则更新ECU。
处理器可操作以监控ECU和车辆状态并只有当ECU处于预定ECU状态且车辆处于预定状态时执行更新。
处理器利用闪存工具来向特定一个ECU的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU执行以将闪存存储器的块存入RAM中。处理器可操作以向特定一个ECU提供差分更新数据。差分更新指令可由特定一个ECU执行以根据差分更新数据来修改块以产生修改的块。差分更新指令可由特定一个ECU执行以从闪存存储器擦除块,且差分更新指令可由特定一个ECU执行以将修改的块从RAM写入闪存存储器以替代擦除的块。
处理器可操作以监控ECU和车辆状态并只有当特定一个ECU处于预定ECU状态且车辆处于预定状态且更新可在预定时间段之内完成时执行更新。
在一个实施方式中,处理器利用闪存工具来向特定一个ECU的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU执行以将闪存存储器的块存入RAM中。处理器可操作以向特定一个ECU提供差分更新数据。差分更新指令可由特定一个ECU执行以根据差分更新数据来修改块以产生修改的块。差分更新指令可由特定一个ECU执行以从闪存存储器擦除块,且差分更新指令可由特定一个ECU执行以将修改的块从RAM写入闪存存储器以替代擦除的块。
在一个实施方式中,处理器利用闪存工具来保持闪存存储器的更新的进展状态。处理器利用进展状态来检测更新的任何中断。处理器利用闪存工具来在中断之后发起更新的继续。
在一个实施方式中,无线网络接口包括至无线广域网的接口。无线网络接口包括至无线局域网的接口。远程信息处理控制单元还可包括通信代理以自动选择通过其接收DUP的无线广域网接口和无线局域网接口中的一个。
在一个实施方式中,通信代理负责尝试在无线广域网接口和无线局域网接口的其中一个上下载DUP以自动实现将DUP下载至远程信息处理控制单元。
提供用于升级车辆电子控制单元(ECU)的方法的实施方式,车辆电子控制单元包括闪存存储器并被设置在包括远程信息处理控制单元(TCU)的车辆中,TCU可操作以与ECU进行通信。方法包括为预定ECU的每个升级创建差分升级包(DUP)。创建包括:将预定ECU闪存存储器的数字内容的新图像与预定ECU闪存存储器的数字内容的现有图像进行比较;以及产生将现有图像修改为新图像的一组变化,变化包括一组指令。一组指令包括:用于复制来自预定ECU闪存的存储器的字节块的指令;执行应用一组修改至字节块和将额外的字节添加到字节块中的一个或多个以生成新图像的块的指令;以及将新图像的块复制到预定ECU闪存存储器中以替代来自预定ECU闪存存储器的复制的块的指令。方法还包括经由无线网络将DUP下载到包括远程信息处理控制单元(TCU)的一个或多个车辆和利用远程信息处理控制单元来自动响应于对预定ECU的DUP接收而更新预定的ECU闪存存储器。
在一个实施方式中,方法包括利用分布式网络来将DUP下载到多个车辆以提供多个车辆中每个车辆的预定ECU的同时更新。
在一个实施方式中,方法包括:提供客户端服务器;将DUP上传到客户端服务器;以及将客户端服务器耦合到分布式网络以将DUP下载到多个车辆,每个车辆包括预定ECU。
本方法的实施方式包括对于所述分布式网络利用被耦合至多个通信服务器的管理服务器。
本方法的实施方式包括利用耦合至用于分布式网络的多个通信服务器的仲裁服务器。
方法还包括:提供分布式网络,分布式网络包括仲裁服务器和多个通信服务器;经由仲裁服务器将DUP上传到通信服务器;以及同时从多个通信服务器下载DUP到多个车辆。
本方法还包括:提供客户端服务器;以及将所述DUP从所述客户端服务器上传至所述仲裁服务器。
提供了用于实时监控车辆电子控制单元(ECU)的广泛分布的软件更新的方法的另一个实施方式,每个ECU包括闪存存储器,每个ECU被设置在多个车辆中的一个车辆中,且每个车辆包括可操作以与ECU进行通信的远程信息处理控制单元(TCU)。方法包括为多个车辆的每个车辆中的预定ECU的每个升级创建数字升级包(DUP)。创建包括:将预定ECU闪存存储器的数字内容的新图像与预定ECU闪存存储器的数字内容的现有图像进行比较;以及产生将现有图像修改为新图像的一组变化,变化包括一组指令。一组指令包括:用于复制来自预定ECU闪存存储器的字节块的指令;执行应用一组修改至字节块和将额外的字节添加到字节块中的一个或多个以生成新图像块的指令;以及将新图像的块复制到预定ECU闪存存储器中以替代来自预定ECU闪存存储器的复制的块的指令。方法还包括经由无线分布式网络将DUP下载到多个车辆;利用每个远程信息处理控制单元来自动响应于DUP的接收以更新对应的预定的ECU闪存存储器;利用每个远程信息处理控制单元来自动生成用于对应的预定ECU闪存存储器的DUP更新的更新状态报告;以及操作每个远程信息处理控制单元来自动将状态报告上传到无线分布式网络。
实施方式可包括:给无线分布式网络提供多个通信服务器,通信服务器的每个可操作以与多个车辆的对应子集进行通信;以及给无线分布式网络提供仲裁服务器,仲裁服务器可操作以与多个通信服务器进行通信。
实施方式可包括:操作多个通信服务器中的每个通信服务器来从多个车辆的对应子集的每个车辆接收更新状态报告;以及操作多个通信服务器的每个通信服务器来将更新状态报告结合到对应的数据流。
实施方式可包括给多个通信服务器的每个通信服务器提供数据流过滤准则,以过滤更新状态报告来产生过滤的数据流。
实施方式可包括将数据流过滤准则从客户端上传到仲裁服务器,并还可包括给多个通信服务器的每个通信服务器提供格式化数据以将过滤的数据流格式化。
实施方式另外还可包括将数据流过滤准则从客户端上传到仲裁服务器。
实施方式可包括:向仲裁服务器提供数据流过滤准则以过滤更新状态报告来产生过滤的数据流;建立与多个通信服务器中的可应用数据流过滤的选择的服务器建立通信链路;将数据流过滤准则上传到选择的通信服务器;以及利用在选择的通信服务器的每个处的数据流过滤准则以过滤更新状态报告以生成用于选择的通信服务器的每个的对应数据流。
实施方式还可包括将每个对应数据流下载到仲裁服务器;以及操作仲裁服务器以将所有的对应的过滤数据流的结合至单个数据流;以及将单个数据流下载到客户端。
实施方式可包括向仲裁服务器提供格式化准则;以及利用仲裁服务器来将格式化准则应用至单个数据流以提供格式化的数据流。
实施方式可包括将格式化的数据流下载到客户端。
实施方式可包括将所述格式化准则从所述客户端服务器提供给所述仲裁服务器。
提供了用于实时监控车辆电子控制单元(ECU)的广泛分布的软件更新的方法的实施方式,每个ECU包括闪存存储器,每个ECU被设置在多个车辆中的一个车辆中,每个车辆包括可操作以与ECU进行通信的远程信息处理控制单元(TCU)。方法包括创建用于多个车辆的每个车辆中的预定ECU的每个升级的数字升级包(DUP);经由无线分布式网络将DUP下载到多个车辆;利用每个远程信息处理控制单元来自动响应于DUP的接收以更新对应的预定的ECU闪存存储器;利用每个远程信息处理控制单元来自动生成用于对应的预定ECU闪存存储器的每个DUP更新的更新状态报告;以及操作每个远程信息处理控制单元来自动将状态报告上传到无线分布式网络。
实施方式可包括给无线分布式网络提供多个通信服务器,通信服务器的每个可操作以与多个车辆对应子集的多个车辆进行通信;以及给无线分布式网络提供仲裁服务器,仲裁服务器可操作以与多个通信服务器进行通信。
实施方式包括操作所述多个通信服务器的每个通信服务器,以从所述多个车辆的所述对应子集的多个车辆的每个车辆接收所述更新状态报告;以及操作所述多个通信服务器的每个所述通信服务器,以将所述更新状态报告结合到对应的数据流。
实施方式包括向所述多个通信服务器的每个通信服务器提供数据流过滤准则,以便过滤所述更新状态报告来产生过滤的数据流。
实施方式包括将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
实施方式包括为所述多个通信服务器的每个所述通信服务器提供格式化数据以格式化所述过滤的数据流。
实施方式包括将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
实施方式包括向所述仲裁服务器提供数据流过滤准则,以过滤所述更新状态报告来产生过滤的数据流;建立与所述多个通信服务器中能够应用所述数据流过滤准则的选择的通信服务器的通信链路;将所述数据流过滤准则上传至所述选择的通信服务器;以及在所述选择的通信服务器的每个处使用所述数据流过滤准则以过滤所述更新状态报告,以生成对应的过滤的数据流。
实施方式包括将每个所述对应的过滤的数据流下载到所述仲裁服务器。
实施方式包括操作所述仲裁服务器以将所有的所述对应的过滤的数据流结合为单个数据流。
实施方式包括将所述单个数据流下载到所述客户端服务器。
实施方式包括为所述仲裁服务器提供格式化准则;以及利用所述仲裁服务器以将所述格式化准则应用至所述单个数据流,以提供格式化的数据流。
实施方式包括将所述格式化的数据流下载到所述客户端服务器。
实施方式包括将所述格式化准则从所述客户端服务器提供给所述仲裁服务器。
实施方式包括将所述DUP从所述客户端服务器上传至所述无线分布式网络。
实施方式包括将数据过滤准则从所述客户端服务器上传至所述无线分布式网络;生成所述更新状态报告的数据流;以及利用所述数据过滤准则以生成过滤的数据流。
实施方式包括将来自所述无线分布式网络的所述过滤的数据流下载到所述客户端服务器。
实施方式包括将格式化准则从所述客户端服务器上传至所述无线分布式网络;以及利用所述格式化准则来格式化所述过滤的数据流。
附图简述
本发明从结合附图的以下详细描述的阅读中将得到更好地理解,在附图中相同的标志符用于识别相同的元件,并在附图中:
图1示出用于提供车辆更新的系统的功能概述图;
图2示出图2A和图2B如何被安排以示出策略管理器仪表板的屏幕截图;
图2A和2B在如图2中所示被安排时是策略管理器仪表板的屏幕截图;
图3是车辆管理器车辆选择的屏幕截图;
图4是示出搜索结果的车辆管理器车辆选择的屏幕截图;
图5是车辆管理器组选择的屏幕截图;
图6是车辆管理器组选择的第二屏幕截图;
图7是车辆管理器ECU类型管理器的屏幕截图;
图8是车辆管理器制造商选择的屏幕截图;
图9是数据包管理器选择的屏幕截图;
图10示出图10A、图10B和图10C如何被安排以示出数据包管理器的屏幕截图;
图10A、图10B和图10C在如图10所示地安排时是数据包管理器的屏幕截图;
图11示出图11A和图11B如何被安排以示出数据包管理器的第二屏幕的第二屏幕截图;
图11A和图11B在如图11所示地安排时是数据包管理器的第二屏幕的第二屏幕截图;
图12是当选择质量保证(QA)标签时访问的屏幕的屏幕截图;
图13示出图13A和图13B如何被安排以示出屏幕截图;
图13A和图13B如图13所示地安排时示出屏幕截图;
图14是远程信息处理控制单元的框图;
图15是更新系统的一部分的框图;
图16是图15的更新系统的更详细的部分;
图17示出可扩展的路由器网络的细节;以及
图18示出图6的网络的其他细节。
详细描述
图1以简化的形式示出用于向车辆提供软件更新的系统100的实施方式的功能。系统100提供在车辆制造商处发生的车辆软件更新的无线分布,包括但不限于,对车辆软件和数据的提高或修正或其他变化。有利的是,系统100可操作以自动地向个体选定车辆或向大组的预定车辆车提供这种更新。系统100可被用于自动向车辆所有人提供更新可用性的通知、自动下载车辆更新并生成关于更新状态的报告。
在系统100中,软件更新由车辆制造商生成或在车辆制造商处生成。
为了向ECU提供软件更新,提供了对具有有限的闪存存储器装置和有限的随机访问存储器(RAM)的车辆ECU进行差分图像升级而不需要访问原始闪存存储器数据存储图像的方法。
为了减少ECU图像的OTA闪存的图像下载时间和成本,仅仅发送原始图像的变化,而不是整个新图像。这些变化在本文中被称为差分升级包(DUP)。通过将新图像与原始图像进行比较并产生将原始图像修改为新图像所需的一组变化来创建DUP。该组变化包括从原始图像复制字节并对这些字节进行一组修改和/或将额外的字节添加到新图像的指令。
创建新图像的一种方式需要足够的存储器来保存原始图像、新图像和DUP。它还需要对原始图像的访问权。然而,许多ECU没有足够的闪存存储器和/或RAM来保存原始图像、新图像和DUP。由于安全问题,不能从外部读取大部分的ECU图像。这带来对于闪存工具利用DUP实施ECU的空中下载升级的障碍。
在各种实施方式中,提供了只需要对ECU上的引导装载器的小变化来允许闪存工具向引导装载器提供在ECU的闪存中的实际图像上实施DUP的指令的方法。闪存存储器以如下的方式来设计:对于发生的写入,被称为块的存储器的区域首先被擦除且该块可被写入。为了修改块的一些部分,通常使用以下序列:
1)通常将块读入RAM;
2)然后将RAM修改以反应将要写入的值;
3)擦除块;以及
4)然后从RAM写入块。
ECU引导装载器支持以下命令:
1)move source_address,destination_address,size
2)move_with_modifications source_address,destination_address,size,modification_bytes....
3)write_bytes address,size,bytes...
实施该方法的闪存工具获取DUP并创建和执行引导装载器命令以实现变化。闪存工具还保持进展状态,以防闪存过程中有中断。
利用终端101的制造商代表访问策略管理器计算机程序103。在该实施方式中,策略管理器程序103在一个或多个服务器上被托管。服务器可设在车辆制造商处。可选地,策略管理器103可被提供为软件即服务(SAAS),SAAS是在其中软件订阅的基础上被授权并集中地被托管的软件授权和递送模型。SAAS有时候被称为“按需软件”。SAAS通常由用户经由网页浏览器访问。另外,策略管理器103可被托管在第三方服务器上并可在其上执行。
与策略管理器103相关联的是未在图1中示出的复制数据库。策略管理器103提供可在终端101查看的定制仪表板。在下文中将描述定制仪表板。
在所示实施方式中,策略管理器103包括四个不同的连锁软件组件,即车辆管理器105、ECU管理器107、包管理器109和报告管理器111。在下文中详细描述四个组件的每一个。
策略管理器103用来创建更新包并获取更新包的批准。被批准的更新包被提供给下载管理器105,其用于将更新包下载到个体车辆TCU。
策略管理器103用来生成用于更新的控制信息,包括将被更新的车辆、车辆模型和或车辆的组。此外,策略管理器103识别将被更新的对应的ECU以及ECU闪存存储器数据图像。策略管理器103还被用于确定对将被提供的每个更新、更新安排和通知的先决条件。策略管理器103还被用于选择将被返回到车辆制造商的更新状态报告。
对于所有的更新,每个车辆的ECU必须处于正确状况,以便ECU存储器的闪存有效开始。对于一些ECU,这将需要在特定ECU上具有点火装置的车辆不可被唤醒除非具有点燃事件。然而,其他ECU可由诊断消息唤醒并当点燃装置处于关闭模式时进行闪存。如果ECU在点燃装置关闭模式中能够被唤醒,那么ECU应该能够进行闪存,但是需要被考虑的项中的一些是功率损耗(即,不期望的是消耗车辆电池)和实施更新所需的时间。
在对ECU实施更新时,满足用于刷新以开始的所有的ECU内部条件。此外,ECU在受保护的存储器中应具有其闪存装载器。ECU应验证有效代码是否在闪存存储器(可刷新代码)中,且如果有效代码不在闪存存储器中那么ECU应停留在故障安全引导块中,即闪存模式。另外,引导块(闪存)模式应支持从失败的闪存尝试中恢复的方法。ECU应在刷新之后保持原始零件号。
下载管理器113为每个指定的车辆115下载并认证软件包更新。下载管理器113如下文所述的被提供在一个或多个服务器上且向正被更新的每个目标车辆115中的客户端或目标TCU 119提供更新包。更新下载经由使用无线链路的网络117提供,即空中下载(OTA)。更新包的一部分包括TCU 119用以经由车辆115的CAN总线211更新一个或多个ECU 123的更新管理器121。
在另一个实施方式中,下载管理器113利用开放式移动联盟(OMA)设备管理(DM)协议来将软件更新包提供给由策略管理器103识别的目标车辆。OMA DM协议在过去已被使用以将软件更新提供给诸如移动电话、个人数字助理(PDA)和平板电脑的移动设备,但是尚未发现对于软件更新车辆的应用。我们已经确定OMA DM协议及其管理能力可被有利地使用以提供车辆软件更新。
OMA DM通过在管理设备的服务器和作为被管理的设备的客户端之间的无线通信来提供设备管理。OMA DM被设计成在支持并利用物理上通过例如通用串行总线(USB)和RS-232的两个电缆以及通过例如GSM、CDMA、IrDA或蓝牙的无线媒介的任何数量的数据传输。
OMA DM通信协议是请求-响应协议。认证和认证的挑战是内置的,以确保服务器和客户端只在适当的验证之后进行通信。服务器和客户端都是状态性的,意味着消息的特定序列将仅在认证完成之后进行交换以进行任何任务。
在利用OMA DM协议的实施方式中,下载管理器105将每个更新包下载到选择的目标车辆TCU。TCU实际上被操作为下载管理器105服务器的客户端。在这个实施方式中,用于每个DUP的OMA DM下载由用于软件组件管理对象(SCOMO)的OMA规范所定义,OMA规范允许管理当局实施远程设备上的软件管理,包括软件组件OTA的安装、卸载、激活和停用。
下载至每个车辆115TCU 119的更新包包括更新管理器121,TCU 119执行更新管理器121以验证更新闪存存储器图像,验证更新规则库,监控被更新的每个ECU 123,发起每次更新并将更新状态报告至下载管理器105。
车辆管理器105包括对于车辆制造商的基于用于特定车辆的车辆识别号(VIN)来实施车辆搜索,实施对车辆中的特定ECU的搜索,以及实施对车辆的制造、模型和年代的搜索的能力。
第一实施方式利用现有技术来将更新文件传送给TCU。在该实施方式中,每个车辆TCU被用作为诊断工具并更新ECU(推送)。每个TCU充当服务器并支持ECU拉取更新。所有的更新在点火装置关闭的周期处执行。TCU监控被更新的其相关联的ECU和其他车辆系统的状态以确保更新是安全的。如果在顾客没有选择加入更新的情况下执行更新,则将只允许可在预定时间内完成的更新。顾客可经由通过网站或通过电话的通信来安排更大的更新。
在特定实施方式中,顾客将车辆带到车辆经销商。经销商请求更新并准备车辆。更新利用OTA过程来无线地执行。通过利用OTA,更新执行得快很多,且多个更新可同时执行,节省时间和金钱。经销商验证更新已被安装且可操作。
在其他实施方式中,关于更新经由电子邮件或文本消息来警告车辆顾客,且向车辆顾客提供用于呼叫以启动更新的电话号码。电话号码可以是呼叫中心、顾客支持或经销商的电话,且在呼叫电话号码之后,将为顾客提供关于如何留下车辆并启动更新的信息。可选地,关于更新可经由电子邮件和/或文本消息来警告顾客,且顾客必须明确地回复以开始更新。经由电子邮件和/或文本消息向顾客发送开始/完成/状态。在这些实施方式中,顾客可经由网站或通过联系车辆经销商来安排或重新安排更新。更大规模的更新可仍然要求经销商拜访且经销商将向顾客确认车辆运行正确。
在本发明的其他实施方式中,车辆制造商将更新直接推送至每个车辆,且每个更新根据策略管理器的规则来执行。车辆制造商可选择性地将成功通知给顾客和/或经销商。
在登录策略管理器103之后,可向终端101处的用户呈现图2所示的屏幕200。用于策略管理器103的每个屏幕200包括工具栏201、203。
利用工具栏201,用户可点击标签或按钮以通过点击仪表板按钮201a来显示仪表板界面,通过点击车辆按钮201b访问车辆管理器和ECU管理器107,通过点击包按钮201c访问包管理器109,通过点击QA按钮301d访问质量保证报告并通过点击报告按钮201e访问报告管理器。
工具栏203允许用户访问额外的显示。显示的选择根据被显示的屏幕是否用于车辆管理器105、ECU管理器107、包管理器109、QA来变化,或者包管理器109包括取决于由工具栏203做出的选择的选择搜索。
屏幕显示200是用于车辆管理器105的显示,且工具栏203提供用于确定搜索类型、最受欢迎的搜索以及与车辆管理器105有关的最近查看的项目的按钮。用户可通过点击车辆按钮203a、组按钮203b、ECU类型按钮203c、制造商按钮203d和存储的搜索按钮203e来选择搜索类型。此外,工具栏203可被用于通过点击更新待定按钮203f和最近更新的车辆按钮203g来显示包括待定更新的“最受欢迎的搜索”。用户还可通过点击按钮203h、203i来选择查看近期的项目。
在所示实施方式中,所呈现的最初屏幕200显示仪表板205。仪表板205以图表形式呈现历史数据。如在实施方式中所示的,仪表板205示出制造商数据、包数据的饼图、更新历史的曲线图和系统100的商标用户的图示。在其他实施方式中,不同的仪表板信息可被呈现给用户。
现在转到图3,假设用户点击了工具栏201中的车辆按钮201a,屏幕300被显示。工具栏203向用户提供搜索选项。屏幕显示300提供对车辆管理器105的访问权并被用于执行车辆搜索。点击+按钮305打开搜索字段307,其包括车辆VIN(车辆识别号)、组(用于先前所选择的目标组)、车辆品牌、模型、年代、车体风格、ECU零件号、硬件(HW)级和软件(SW)级。通过键入期望的搜索字段,车辆搜索准则被提供。点击过滤器按钮309将引起对于将在车辆数据库上执行的匹配车辆的搜索,并引起图4所示的搜索结果屏幕显示400被生成。
搜索结果屏幕显示400提供如图4所示的搜索结果411。所示的搜索结果411是满足搜索准则的车辆的清单。通过点击按钮413,用户可在搜索中带出额外的结果。用户可通过点击框415选择用于包括到组中的搜索结果的任何搜索结果。
用户可点击分组该搜索按钮417。在点击分组该搜搜按钮417之后,选择框将作为窗口覆盖在屏幕显示400上,其将允许用户创建新的组或在所选搜索结果上执行包括将选择添加到另一组的其他操作。
用户可利用工具栏203通过点击组按钮203b来搜索并创建组。在点击按钮203b之后,在图5中所示的屏幕显示500被显示。可通过将期望的名称输入到字段507中并点击过滤器按钮509来进行组名称搜索。搜索结果的清单将出现在图6中所示的窗口511中。
可通过将组名称输入到字段509中并点击创建按钮519来创建组。窗口将被打开,其允许待被关联的图像文件和与字段509中的组名称附接。另一个创建按钮被设置在窗口中,且点击另一个创建按钮将图像文件和组名称相关联。
点击ECU类型按钮203c将打开具有类似于图5的屏幕的ECU类型管理器。一系列字段709类似于图5中所示的那些字段,包括名称字段、制造商字段和零件号字段。如在屏幕显示700中示出地,提供了+按钮705、过滤器按钮707和创建按钮719。通过填写期望的搜索字段709并点击创建按钮719来启动对ECU的搜索。搜索结果显示在窗口711中。
因为实施方式中的搜索结果超过窗口711的尺寸,因此按钮713可被用于滚动通过搜索结果或者选择搜索结果的单个部分。当查看搜索结果时,可通过点击选择框715来选择每个结果以用于包括到组中。通过点击创建按钮719来创建组,以打开包括用于ECU类型名称、供应者、零件号和CAN识别的字段的窗口。此外,描述字段被打开且ECU类型可被识别为严格的安全性或者不被识别为严格的安全性。
可选地,可通过点击制造商按钮203d来对包括来自特定制造商的ECU的所有车辆进行搜索。点击按钮203将产生图8中所示的屏幕显示800。期望的制造商名称被输入到字段909中。可通过点击+按钮805来显示添加的过滤器字段。在完成期望的字段之后,点击过滤器按钮807且在窗口811中显示搜索结果。可通过点击按钮813来滚动搜索结果。
通过点击创建按钮819,窗口被打开,其可用于创建新制造商清单。
通过点击工具栏201中的包按钮201c,包管理器109被激活,带出如图9中所示的屏幕900。最初的屏幕只显示字段909中的名称字段。可通过点击+按钮905来显示添加的过滤器字段。在将期望的信息输入到字段909中之后,点击过滤器按钮907且搜索结果被显示在窗口911中。可通过点击按钮913来滚动搜索结果窗口。所显示的每个搜索结果包括分配给更新的名称、车辆组、对于更新的最近行动的更新日期和时间以及更新的状态。所显示的状态可包括更新正被创建(创建)、所创建的更新处于审批查看中(查看)、所创建的更新已被批准(批准)或者所批准的更新处于被安装的过程中(运行中)。
点击屏幕900上的创建标签919导致屏幕1000被显示。屏幕1000被用于创建更新包。屏幕1000包括被用于创建更新包的多个窗口或部分1031、1033、1035、1037、1039、1041、1043。
窗口1031包括以下字段:为更新包命名(名称);为更新包分配召回号(召回号);为更新包分配一个或多个技术公告号(技术公告);选择车辆组;选择用于下载更新包的下载安排;选择用于安装更新包的安装安排;确定更新发布是否应该被部署在较小的部分以及选择较小的部分的号(交错发布);选择在下一阶段开始之前每个阶段必须达到的完成百分比(完成门限);以及设置每个阶段应需要以达到其门限的最大的时间量。
窗口1033包括在发布更新包之前所需的批准者的清单。可通过点击选项框1033a中的相关联的一个或多个来选择批准者。
窗口1035提供用于更新包的运行时间的选项。在一些实例中,对于更新包可能可期望的是只在车辆经销商处启动。在那种情况下,用户将点击框1035a。在其中已通知顾客更新的其他实例中,经销商可通过点击框1035b来覆盖顾客通知设置。在当被安排时用于个体车辆的更新包的下载不发生的情况中,可通过设置框1035c中的时间来选择用于在每次尝试之后重新尝试下载更新包的时间。可将应用于下一个下载重新尝试的框1035c中的时间的乘数输入到框1035d中。
可通过勾选在框1037e中的框1037a、1037b、1037c、1037d来做出对用于更新包的各种通知的选择。
可通过利用窗口1039中的消息选择按钮1039a、1039b、1039c、1039d将更新文本和电子邮件消息发送给车辆所有者。
将被包括在更新包中的ECU更新图像输入到窗口1041中。
窗口1043用于添加应用于更新安装的规则。点击按钮1043a将打开各种规则选择选项。以非限制性示例的方式,规则可包括ECU识别、点燃装置状态(点燃装置打开、点燃装置位于附件位置、点燃装置接通、点燃装置切断)、电池电压电平、传动装置状态(空档、停放)、引擎状态(开启、关闭)、车辆等级、门状态(已锁、未锁、开启)、乘员状态(司机在、司机不在、乘客在、乘客不在)、移动状态(车辆移动中、车辆停止)。
在所有的创建包字段完成之后,点击按钮1047将创建包。可选地,通过点击按钮1045可将所有的条目取消。
点击工具栏1003中的标签1003f使得显示出最近工作的更新包。所选的更新包显示在图11中所示的屏幕显示1100中。特别感兴趣的是,示出了待定更新包的状态。如果更新包仍然处于被创建的过程中,则状态被指示为“创建”。一旦更新被创建,将它提交审批,状态被指示为“查看”,并在被批准之后,状态被指示为“已批准”。点击用于批准队列的按钮1151将数据包提交为配置成被指定用于批准的个体。
点击QA标签201d打开在图12中示出的屏幕1200,屏幕1200示出用于批准队列的更新包。
点击在屏幕1200列出的包将导致该包的细节被显示在图13所示的屏幕1300中。点击测试安装按钮1361将打开在测试车辆上安装更新包的窗口。该窗口将允许通过VIN对测试车辆的识别,并将陈述车辆规则并安装安排。窗口还允许覆盖对安装包的任何默认安排和覆盖任何顾客通知。
点击拒绝按钮1363将允许拒绝更新包且将其打开以用于编辑。
点击批准按钮1365批准用于部署的更新包。
点击克隆按钮1367将使得更新包被克隆。
现在转到图14,示出了车辆1401的电子系统的表示。车辆1401包括TCU 1403、多个ECU 1405、1407、1409以及允许TCU 1403与ECU 1405、1407、1409中的每个进行通信的电子总线1411。
尽管只显示和描述了三个ECU 1405、1407、1409,但本领域的技术人员将理解,所示的ECU的数量仅仅是代表性的,且ECU的数量可以是更多或更少。每个ECU包括处理器1405a、1407a、1409a和闪存存储器1405b、1407b、1409b。
如在图14中所示的,TCU 1403包括处理器1403a、存储器1403b、无线通信接口1403c以及车辆电子总线的接口1411。如在本文所使用的,“处理器”可包括任何控制器、微控制器、处理器或微处理器或两个或更多个上述项中的任何项的任意组合。无线通信接口1403c能够无线地向图15中所示的网关1524发送数据并从其接收数据。
无线通信接口1403c使得TCU 1403能够访问图15中所示的无线通信网络。无线通信接口1403c可包括多于一种类型的无线能力,除了诸如蜂窝移动电话能力中的任一个的较长距离的无线通信链路能力之外,还包括诸如Wi-Fi和蓝牙的各种短距离无线通信链路能力。在本发明的一个实施方式中,无线通信接口1403c使得TCU 1403能够从车辆经销商或从车辆制造商无线地接收更新包。尽管未在附图中示出,但无线通信接口可包括一个或多个天线,或者被耦合至一个或多个天线。
无线地接收的更新包被存储在存储器1403b中。
存储器1403b可包括一种或多种类型的存储器。
总线接口1403d将TCU 1403耦合至车辆总线1411并用于在TCU 1403和ECU 1405、1407、1409的每个之间传达数据。
每个ECU 1405、1407、1409包括处理器ECU 1405a、1407a、1409a和对应的闪存存储器1405b、1407b、1409b。闪存存储器1405b、1407b、1409b存储由对应的处理器ECU 1405a、1407a、1409a使用的参数和软件。
现在转到图15,示出了无线OTA更新系统1500,其中多个车辆1401的同时无线更新可被管理。系统1500提供可同时连接至多个车辆1401的无线网络1517。
图1的下载管理器113可位于服务器1531上并经由无线网络1517与每个TCU 1403进行通信。图15示出了两个服务器1531。图1531的实施方式中,两个服务器是备用对,且每次两个服务器中只有一个经由无线网络1517进行通信。在其他实施方式中,可利用无复制品的服务器,且期望的是,当参考一个服务器或多个服务器时,该一个服务器或多个服务器可被复制或不被复制。每个服务器1531经由互联网1529和无线回程网络1521与TCU 1403进行通信。
图16更详细地示出了无线回程网络1521的一部分。互联网1529将服务器1531连接到回程网络1521。在该实施方式中回程网络1521包括被耦合至蜂窝网络1627的网关1625,蜂窝网络1627经由蜂窝基站1631向车辆1401提供无线链路1422。
每个TCU 1430将进行中的过程信息发送给服务器。考虑到可能需要同时更新的许多车辆,存在在分布式网络中可用的许多通信服务器。每个通信服务器可同时从上千个车辆接收状态更新,产生通常被发送至日志文件的数据流。人类监控所有的分布的数据流是挑战。
客户端可使用长会话协议来建立与仲裁服务器的连接。客户端提供将数据流减少成仅仅是用户希望看到的所必需的的过滤项和其他参数。额外的参数被提供以控制格式化和呈现。
仲裁服务器建立与可应用过滤项的所有通信服务器的连接。这些连接还包括对于每个通信服务器相关的过滤项。仲裁服务器可具有对于所有可用的通信服务器的任何子组开放的多个连接。
当通信服务器产生它们的数据流时,每个消息与由仲裁服务器提供的过滤项进行比较。如果项匹配,则将消息转发给仲裁服务器。该活动不在其他方面干扰数据的常规日志记录或保持。
仲裁服务器结合用于每个客户端的所有数据流,应用要求的过滤、格式化和呈现,然后将数据传输给客户端。
客户端接收数据并将其呈现给用户。
图17和图18示出被安排成分布式网络的包括主服务器或仲裁服务器SP000和多个通信或组服务器SP001、...、SPxxx的网络1700。分布式网络1700是图1、图2和图3中所示的网络100的扩展版。每个TCU 1403可操作,使得其与网络1700的初始通信利用在其存储器1403b中存储的主服务器信息以建立与主服务器SP000的第一通信。每个TCU 1403控制器1403a可与主服务器SP000进行交互以经由网络1700将来自存储器1403b的配置信息上传至主服务器SP000。
每个TCU 1403可操作以当与主服务器SP000第二次进行通信时从主服务器SP000接收组服务器识别信息。控制器1403a可操作以将组服务器识别信息存储在存储器1403b中。组服务器信息包括识别对应于由主服务器SP000分配的预定组的一个或多个服务器的信息。每个TCU 1403使用组服务器识别信息以用于经由网络1700的随后通信。
来自主服务器SP000的每个TCU 1403在TCU 1403第二次建立与主服务器SP000的通信时,组服务器识别信息通过通信接收。每个TCU 1403利用组服务器识别信息来访问多个组服务器SP001、…、SPxxx中的一个组服务器。
组服务器识别信息包括用于从多个组服务器SP001、…、SPxxx中选择性分配的预定数量的组服务器的识别信息。
返回到图14,每个控制器1403a可操作以从预定数量的组服务器中选择经由网络1700与其进行通信的组服务器。控制器1403a根据预定的选择算法从预定数量的组服务器中选择组服务器。在一个实施方式中,组服务器通过以如在存储器1403b中存储的先后顺序尝试访问组服务器通过访问第一可用组服务器来选择。
尽管上述描述涉及单数中的每个服务器,但在本发明的实施方式中,图17中所示的每个组服务器SP001、…、SPxxx包括被相同地配置的对应的服务器对P、S。
每个组服务器对中的一个组服务器P、S操作为主要服务器P以追踪并监控多个移动路由器,而对应的成对的服务器被选为备用次要服务器S。每个主要组服务器P及其对应的次要服务器S操作使得在主要组服务器P中的数据被复制到其对应的次要服务器S中。
主要组服务器P和次要服务器S操作以确定主要组服务器组中是否发生了故障;且主要组服务器P和次要服务器S操作以当发生故障时自动将次要副服务器转换为主要组服务器。在原始的主要组服务器组P被修复之后,其被手动转换回到运行中。
组服务器对SP001、…、SPxxx被分散为位于分散的地理位置处并具有不同的网络对等点。
当新的移动路由器TCU 1403被预分配在工厂处时,它被配置成通过将用于“主”通信服务器对SP000的访问信息存储到存储器1403b中来与在网络操作中心处的“主”通信服务器对SP000进行对话。每个新预分配的移动路由器1403向“主”通信服务器对SP000注册并将其配置信息上传至“主”通信服务器对SP000。当TCU 1403向“主”通信服务器对SP000注册时,它以默认方式调用到“未被分配的”服务器组地址中。
在发生特定事件之后,例如当包含TCU 1403的车辆1401初始被运来时,它被分配到从多个组RG001-RGyyy中选出的组。将TCU 1403分配给其的组可专用于经销商或地理区域,或者基于一些其他准则被分配。
下一次TCU 1403上线并与主通信服务器对SP000进行对话时,主通信服务器对SP000将识别TCU 1403已经被分配给从组RG001至RGyyy中选出的不同于“未被分配的”组的组。主通信服务器对SP000然后将TCU 1403重新分配,以与新的通信服务器对进行对话,新的通信服务器对处理已经通过将新的通信服务器对访问信息下载到存储器1403b来分配给TCU 1403的组。新的通信服务器对是从通信服务器对SP001至SPxxx中选出的。
每组可具有多个通信服务器对,且每个通信服务器可支持多个组。
每个TCU 1403通过主通信服务器对SP000被配置具有用于多个通信服务器对的地址。用于多个通信服务器对的地址被存储在每个TCU 1403的存储器1403b中。每个TCU 1403将以预定顺序访问在其对应的存储器1403b中存储的服务器地址。如果与第一地址关联的通信服务器对是不可用的,那么TCU 1403将访问在存储器1403b中存储的通信服务器的下一个地址。TCU 1403将以预定顺序访问来自TCU 1403的通信服务器地址,直到建立了与对应的通信服务器的通信。
主服务器对SP000包括管理器程序。管理器程序被提供使得主服务器对SP000可与所有的通信服务器SP001–SPXXX进行通信,因此网络系统的操作员永远不需要知道哪个通信服务器与哪个路由器进行通信。图18中示出了由主服务器对SP000与服务器对SP001-SPXXX的通信。
通信服务器对SP001-SPXXX不需要被位于同一个设施中。优选的是,通信服务器对SP001-SPXXX不位于同一个设施中。非常优选的是,通信服务器对SP001-SPxxx在地理上分散并具有不同网络对等点。
使用如上所述的服务器网络架构,通过仅添加额外的服务器对并将它们配置为在网络操作中心SP000处的系统管理器中是可用的,容易地增加了额外的容量。
在各种实施方式中,联网系统1700包括:多个车辆TCU 1403N、1403RG001-001、…、1403RGyyy-nnn;主服务器SP000;以及多个组服务器SP001、…、SPxxx。每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn最初被配置成与主服务器SP000进行通信。提供了在每个TCU 1403N和主服务器SP000之间的第一链接通信。每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn可操作以最初向主服务器SP000注册并可操作以从每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn向主服务器SP000上传配置信息。主服务器SP000可操作向每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn分配从多个预定组RG001、…、RGyyy中选择的至少一个预定组。主服务器SP000可操作以在注册和分配TCU 1403N之后将每个TCU 1403N重新分配以通过为每个TCU 1403N提供至少一个对应的组服务器的地址来与被分配以与预定组RG001、…、RGyyy进行通信的至少一个组服务器进行通信。在所示的实施方式中,TCU 1403N尚未被分配给组,且TCU 1403N、1403RG001-001、…、1403RGyyy-nnn被分配给它们对应的组。
主仲裁服务器SP000可操作以给每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn重新分配预定数量的组服务器地址;且每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn可操作以与从多个组服务器中选择的对应的预定数量的组服务器SP001、…、SPyyy进行通信。每个组服务器地址对应于预定数量的组服务器SP001、SPyyy中的一个。
每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn被操作以与对应于预定数量的地址中的一个的预定数量的组服务器SP001、…、SPyyy中的一个进行通信。
在实施方式的方法中,方法包括以下步骤:提供多个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn;提供用于追踪和监控多个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn的主服务器SP000;初始配置每个TCU 1403N、RG001-001、…、1403RGyyy-nnn以与主服务器SP000进行通信;提供在每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn和主服务器SP000之间的第一链接通信;向主服务器SP000注册每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn并将来自每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn的配置信息上传到主服务器SP000;给每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn分配预定组SP001、…、SPyyy;在注册和分配步骤之后,提供每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn和主服务器SP000之间的第二链接通信;以及操作主服务器SP000,使得当第二链接通信发生时,主服务器SP000重新分配每个TCU 1403N、1403RG001-001、…、1403RGyyy-nnn,以便与被分配成与特定组进行通信的至少一个组服务器SP001、…、SPyyy进行通信。
实施方式还可包括为至少一个组服务器SP001、…、SPyyy提供对应的成对组服务器P、S。每个服务器P及其对应的配对的服务器S被相似地配置。实施方式还包括:选择至少一个组服务器P作为主要服务器,以追踪和监控多个TCU;选择对应的配对的服务器作为次要服务器;以及将主要组服务器中的数据复制到次要组服务器中。可实时地执行复制数据步骤。
实施方式甚至还可包括确定主要服务器P中是否发生了故障;以及在确定故障发生之后将次要服务器S转换成主要服务器。
另外,实施方式可包括维修出故障的主要服务器;以及利用手动转换以将修好的服务器返回投入运行。
有利地,分布网络1700可被用于通过每个车辆的TCU与对应组服务器的关联来提供对大量车辆的同时更新。
在通信或组服务器和目标TCU 1430之间的交互遵照以下顺序:
通信服务器将通知发送给目标TCU 1430;
TCU 1430连接至通信服务器;
通信服务器将软件/硬件清单请求发送给目标TCU 1430;
TCU 1430发送软件/硬件清单请求;
通信服务器发送下载命令;
如果命令为“下载”,则TCU 1430将经由通信服务器下载差分更新包DUP,并然后将“下载完成”发送至通信服务器;
通信服务器向TCU 1430发送具有先决条件规则的“安装”命令;以及
TCU 1430在适当的时间安装差分更新。
在更新安装开始、进行和结束时,TCU 1430将通知发送给服务器。
提供了用于无线远程更新包括一个或多个车辆1401的目标车辆组中的一个或多个目标ECU 1405、1407、1409的车辆软件的方法的实施方式,每个ECU 1405、1407、1409包括闪存存储器1405a、1407a、1409a。方法包括将管理软件103托管在可由客户端访问的客户端服务器或中心服务器中的一个的服务器上。方法还包括利用管理软件103以用于:选择目标车辆组;生成用于目标车辆组的差分更新包(DUP),DUP包括更新管理软件121;选择用于执行DUP的更新先决条件;以及选择用于下载DUP的更新安排。方法还包括:提供用于将DUP下载到每个的一个或多个目标车辆1401的下载管理软件113,以及利用下载管理软件以用于:建立至目标车辆组中的每个目标车辆1401中的TCU 1403的独立的无线通信链路1422;并利用下载管理软件113来经由每个独立的无线通信链路1422将DUP下载到每个TCU 1403。方法还包括利用每个TCU中的更新管理器来通过利用DUP刷新一个或多个目标ECU 1405、1407、1409的每个闪存存储器1405a、1407a、1409a来更新每个目标车辆中的一个或多个目标ECU。
实施方式还可包括:为DUP提供更新规则集并利用每个TCU 1403处的更新管理软件121以通过执行以下步骤来更新每个目标ECU 1405、1407、1409的闪存存储器1405a、1407a、1409a:验证下载到每个TCU 1403的每个目标ECU 1405、1407、1409闪存图像;验证下载到每个TCU 03的更新的规则集;以及更新符合规则集的每个目标ECU 1405、1407、1409。
实施方式还可包括:利用下载管理软件113来提供经由独立的无线通信链路1422的与每个TCU 1403的更新交互。
实施方式可包括操作每个TCU 1403以经由无线通信链路1422向下载管理软件113报告更新状态。
实施方式可包括利用管理软件103以用于:执行车辆搜索;创建并管理多个车辆组RG001、…、RGyyy;以及从多个车辆组RG001、…、RGyyy中选择目标车辆组RG001。
实施方式还可包括在每个车辆1401的基础上查看ECU 1405、1407、1409硬件和软件。
实施方式可包括利用下载管理软件113来提供经由无线通信链路1422的与每个TCU 1403的更新交互。
实施方式还可包括利用每个TCU 1403以经由无线通信链路1422向下载管理软件113报告更新状态。
实施方式可包括给管理软件103配备ECU管理器107。方法可包括利用ECU管理器107来搜索预定ECU 1405、1407、1409;并利用ECU管理器107来执行上传预定ECU 1405、1407、1409的每个闪存存储器1405b、1407b、1409b的内容或者管理预定ECU 1405、1407、1409的闪存存储器1405b、1407b、1409b中的一个或两个。
实施方式可包括利用下载管理软件113来提供经由无线链路1422的与TCU 1403的更新交互。
实施方式可包括操作TCU 1403以经由无线链路1422向下载管理软件113报告更新状态。
实施方式可包括利用管理软件103以用于:执行车辆搜索;创建并管理车辆组;以及在每个车辆1401的基础上查看ECU 1405、1407、1409和每个查看的ECU 1405、1407、1409的当前硬件和软件版本。
实施方式可包括提供包管理软件109,利用包管理器109来选择更新先决条件;利用包管理器109来选择更新安排;以及利用包管理器109来选择将生成的通知。
实施方式可包括利用管理软件103来请求来自一个或多个预定个体对每个DUP的批准。
实施方式可包括在发起每个DUP的任何下载之前接收来自一个或多个预定个体对每个DUP的批准。
可提供用于更新车辆1401中的ECU 1405、1407、1409的方法的实施方式。ECU1405、1407、1409包括闪存存储器1405b、1407b、1409b,其存储数字内容图像、随机访问存储器(RAM)(未在附图中示出)和引导装载器。方法包括生成用于ECU 1405、1407、1409的差分更新包(DUP),以将数字内容图像更新成更新的数字内容图像。DUP包括用以执行来自闪存存储器1405b、1407b、1409b的一个或多个复制字节的指令、对复制的字节进行一组修改并添加额外的字节。方法还包括在无线载波系统120上向车辆1401的远程信息处理设备或TCU1403传输DUP;将闪存存储器1405b、1407b、1409b的原始块存储到RAM中;根据DUP来修改块以产生修改的块;从闪存存储器1405b、1407b、1409b中擦除原始块;以及将修改的块写入闪存存储器1405b、1407b、1409b以替代块。
闪存存储器1405b、1407b、1409b和RAM被调整大小以不具有同时存储现有数字内容图像、期望的数字内容图像和DUP的容量。
方法还包括通过将闪存存储器1405b、1407b、1409b的现有数字内容图像与闪存存储器的新的期望的数字内容图像进行比较来生成DUP并产生将现有的数字内容图像修改为期望的数字内容图像所需的一组变化。
方法还可包括修改引导装载器以允许闪存工具向引导装载器提供指令,以在数字内容图像上执行DUP。
方法还可包括利用闪存工具来追踪更新闪存存储器1405b、1407b、1409b的进展;利用闪存工具来检测更新进展的任何中断;以及利用闪存工具来从中断中发起更新进展的继续。
方法还可包括修改引导装载器以允许闪存工具向引导装载器提供指令,以在数字内容图像上执行DUP。
用于实时监控车辆组件的广泛分布的软件更新的集中系统1800的实施方式包括:仲裁服务器SP000;包括多个通信服务器SP001、…、SPxxx的分布式网络;以及多个车辆1401,多个车辆中的每个车辆包括TCU 1403N、1403RG001-001、…1403RGyyy-nnn,其可操作以与多个通信服务器SP001、…、SPxxx中的一个对应的通信服务器进行通信。每个TCU1403N、1403RG001-001、…1403RGyyy-nnn适于接收并部署对于在对应的车辆1401内的ECU1405、1407、1409的软件更新。每个TCU 1403N、1403RG001-001、…1403RGyyy-nnn可操作以生成用于软件更新的状态更新并将状态更新传达至其对应的通信服务器。多个通信服务器SP001、...、SPxxx中的每个通信服务器可操作以同时从其对应的多个车辆1401接收包括状态更新的数据消息并生成包括来自多个车辆1401的数据消息的数据流,数据流被发送到日志文件。
在实施方式中,日志文件专用于客户端101;而仲裁服务器SP000从客户端101接收过滤项和参数以将数据流减少至客户端确定的数据。
实施方式可操作使得仲裁服务器SP000从客户端101接收参数以控制数据流的格式化和呈现中的至少一个。
另外,仲裁服务器SP000将过滤项传达至多个通信服务器SP001、...、SPxxx中应用过滤项的选择的通信服务器。
每个通信服务器SP001、...、SPxxx可将数据消息的每个与过滤项进行比较,以确定每个数据消息是否匹配过滤项并产生过滤的数据流。将过滤的数据流传达至仲裁服务器SP000。
用于实时监控图18中所示的车辆组件的广泛分布的软件更新的集中系统的另一实施方式包括:客户端服务器1801、仲裁服务器SP000和包括多个通信服务器SP001、...、SPxxx的分布式网络。每个通信服务器SP001、...、SPxxx可操作以与对应的多个车辆1401通信。每个车辆1401包括可操作以与多个通信服务器SP001、...、SPxxx的对应的通信服务器进行通信的装置1403N、1403RG001-001、…1403RGyyy-nnn。装置1403N、1403RG001-001、…1403RGyyy-nnn可操作以与每个车辆中的电子控制单元(ECU)1405、1407、1409进行通信。装置1403N、1403RG001-001、...、1403RGyyy-nnn可操作以从对应的通信服务器接收软件更新并选择性地将软件更新部署到在每个车辆1401内的一个或多个ECU 1405、1407、1409。装置1403N、1403RG001-001、...、1403RGyyy-nnn可操作以监控软件更新的状态并生成用于软件更新的部署的状态更新。装置1403N、1403RG001-001、...、1403RGyyy-nnn可操作以向对应的通信服务器传达状态更新。每个对应的通信服务器SP001、...SPxxx可操作以从对应的多个车辆1401接收包括状态更新的数据消息,并可操作以利用来自对应的多个车辆1401的数据消息来生成数据流。
在此实施方式中,仲裁服务器SP000从客户端服务器1801接收过滤项并将过滤项应用至数据流,以将数据流减少为客户端确定的数据。仲裁服务器SP000可从客户端服务器1801接收格式化参数,以控制数据流的格式化。仲裁服务器SP000将过滤项传达至多个通信服务器SP001、...SPxxx中对其应用过滤项的选择的通信服务器。每个通信服务器SP001、...SPxxx将过滤项应用至数据消息中的每一个以产生过滤的数据流,且将过滤的数据流传达至仲裁服务器SP000。仲裁服务器SP000结合从用于客户端的多个通信服务器SP001、...SPxxx接收的所有数据流以产生结合的数据流,而仲裁服务器SP000将过滤和格式化和呈现参数应用至结合的数据流以产生过滤的数据流。
用于包括闪存存储器1405a、1407a、1409a的车辆组件的软件更新的实时广泛分布的方法的实施方式包括提供用于发起软件更新的客户端服务器1801,提供可操作以与客户端服务器1801进行通信的仲裁服务器SP000并提供包括多个通信服务器SP001、...SPxxx的分布式网络1700。每个通信服务器SP001、...SPxxx可操作以与多个对应车辆1401中的装置1403N、1403RG001-001、…1403RGyyy-nnn进行通信。实施方式还包括操作每个装置1403N、1403RG001-001、…1403RGyyy-nnn以经由在图15中示出的无线网络1521与多个通信服务器SP001、…、SPxxx中的一个通信服务器进行通信,以接收并部署对其对应车辆1401内的电子控制单元(ECU)1405、1407、1409的软件更新。实施方式还包括操作每个装置1403N、1403RG001-001、…1403RGyyy-nnn以生成用于软件更新的状态更新并经由无线网络1521向一个通信服务器传达状态更新。方法还包括操作多个通信服务器SP001、...SPxxx中的每个通信服务器,其待被操作以同时从多个对应车辆1401接收包括状态更新的数据消息。另外,方法包括操作每个通信服务器SP001、...SPxxx以生成包括来自多个对应车辆1401的数据消息的数据流,数据流被发送至仲裁服务器SP000。
用于实时监控车辆组件的广泛分布的软件更新的方法的实施方式包括:提供客户端服务器1801,提供仲裁服务器SP000,提供分布式网络1700,其包括多个通信服务器SP001、…SPxxx,以及操作每个通信服务器以与对应的多个车辆1401进行通信。对应的多个车辆中的每个车辆1401包括可操作以经由无线网络1521与多个通信服务器SP001、...SPxxx的对应通信服务器进行通信并可操作以与每个车辆1401中的ECU 1405、1407、1409进行通信的装置1403N、1403RG001-001、…1403RGyyy-nnn。方法包括操作每个通信服务器SP001、...SPxxx以将用于多个车辆1401中的每个中的一个或多个预定ECU 1405、1407、1409的选择的软件更新经由无线网络1521下载至每个车辆装置1403N、1403RG001-001、…1403RGyyy-nnn,操作每个车辆装置1403N、1403RG001-001、…1403RGyyy-nnn以选择性地将软件更新部署到车辆1401中的一个或多个预定ECU 1505、1407、1409,以便监控软件更新的状态并生成用于软件更新的部署的状态更新,以及操作每个车辆装置1403N、1403RG001-001、…1403RGyyy-nnn以将状态更新经由无线网络1521传达至对应的通信服务器SP001、...SPxxx。每个对应的通信服务器SP001、...SPxxx可操作以从每个车辆装置1403N、1403RG001-001、…1403RGyyy-nnn接收包括状态更新的数据消息,并利用来自对应的多个车辆1401的数据消息来生成对应的数据流。
用于包括闪存存储器1405、1407、1409的车辆组件的软件更新的实时分布的方法的实施方式包括以下步骤:确定车辆所有者已经请求用于所有者的车辆的软件更新;提供用于发起软件更新的客户端服务器1801;提供可操作以与客户端1801进行通信的仲裁服务器SP000;提供包括多个通信服务器SP001、...SPxxx的分布式网络1700,通信服务器SP001、...SPxxx中的每个可操作以经由无线网络1521与多个对应车辆1401中的装置1403N、1403RG001-001、…1403RGyyy-nnn进行通信。方法还包括操作在所有者的车辆1401中的每个装置1403N、1403RG001-001、…1403RGyyy-nnn以经由无线网络1521与多个通信服务器SP001、…、SPxxx中的一个通信服务器进行通信,以便接收并部署在所有者的车辆1401内的ECU 1405的软件更新;操作在所有者的车辆中的装置1403N、1403RG001-001、…1403RGyyy-nnn来生成用于软件更新的状态更新并将状态更新经由无线网络1521传达到一个通信服务器SP001、…、SPxxx;操作可操作以经由无线网络1521同时从多个对应车辆1401接收包括状态更新的数据消息的多个通信服务器SP001、…、SPxxx的每个通信服务器;以及操作每个通信服务器SP001、…、SPxxx来生成包括来自多个对应车辆1401的数据消息和来自所有者的车辆1401的状态更新的数据流。数据流被发送至仲裁服务器SP000。
用于实时监控车辆组件的广泛分布的软件更新的方法的实施方式包括:提供分布式网络1700,其包括多个通信服务器SP001、…、SPxxx;以及操作每个通信服务器SP001、…、SPxxx以与对应的多个车辆1401进行通信。每个车辆包括可操作以通过无线网络1521与多个通信服务器SP001、…、SPxxx的对应通信服务器进行通信的对应的装置1403N、1403RG001-001、…1403RGyyy-nnn。装置1403N、1403RG001-001、…1403RGyyy-nnn可被操作以与每个车辆1401中的ECU 1405、1407、1409进行通信。方法还包括:发起多个车辆中的预定的一个车辆1401中的装置1403的软件更新;操作多个通信服务器SP001、…、SPxxx中一个通信服务器来下载用于预定的一个车辆1401中的预定的一个或多个ECU 1405、1407、1409的选择的软件更新;以及操作每个预定的一个车辆装置1403来选择性地将软件更新部署到预定的一个车辆1401内的一个或多个预定ECU 1405、1407、1409,以监控软件更新的状态并生成用于软件更新的部署的状态更新;以及操作装置1403以将状态更新传达至多个通信服务器SP001、…、SPxxx的对应的通信服务器。对应的通信服务器可操作以从预定的一个车辆装置1403接收包括状态更新的数据消息,并利用数据消息来生成对应的数据流。
可安装在车辆1401中的TCU 1403的实施方式包括:无线网络接口1403c;耦合至被设置在车辆1401中的多个ECU 1405、1407、1409的车辆总线1411的接口1403d,存储器1403b;处理器1403a;以及差分更新包(DUP),其经由无线网络接口1403c被接收并被存储在存储器1403b中以提供对于ECU的特定一个ECU的更新。每个ECU 1405、1407、1409包括闪存存储器1405b、1407b、1409b、未示出的随机访问存储器以及也是未示出的引导装载器。DUP包括闪存工具、用于特定一个ECU的差分更新指令以及用于特定一个ECU 1405、1407、1409的闪存存储器1405b、1407b、1409b的差分更新数据。处理器1403a利用闪存工具来向特定一个ECU 1405、1407、1409的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU1405、1407、1409执行以将闪存存储器内容的块存入RAM;处理器1403a可操作以向特定一个ECU 1405、1407、1409提供差分更新数据;差分更新指令可由特定一个ECU 1405、1407、1409执行以根据差分更新数据来修改块,以便产生修改的块;差分更新指令可由特定一个ECU1405、1407、1409执行以从闪存存储器1405b、1407b、1409b中擦除块;以及差分更新指令可由特定一个ECU 1405、1407、1409执行以将修改的块从RAM写入闪存存储器1405b、1407b、1409b,替代擦除的块。
处理器1403a利用闪存工具来保持闪存存储器1405b、1407b、1409的更新的进展状态。处理器1403a利用进展状态来检测更新的任何中断。处理器1403a利用闪存工具来在中断之后发起更新的继续。
无线网络接口1403c可包括无线广域网1521的接口和无线局域网的接口。
每个TCU 1403可包括通信代理以自动选择通过其接收DUP的无线广域网接口和无线局域网接口中的一个。
每个TCU 1403可包括负责尝试在无线广域网接口和无线局域网接口中的一个上下载DUP以自动实现将DUP下载至TCU 1403的通信代理。
可安装在车辆1401中的TCU 1403的另一个实施方式包括:无线网络接口1403c;耦合至被设置在车辆1401中的多个电子控制单元(ECU)1405、1407、1409的车辆总线1411的接口1403d,存储器1403b;处理器1403a;以及差分更新包(DUP),其经由无线网络接口1403c被接收并被存储在存储器1403b以提供对于特定一个ECU 1405、1407、1409的更新。包括闪存存储器1405b、1407b、1409b、随机访问存储器(RAM)和引导装载器、DUP的每个ECU 1405、1407、1409包括闪存工具、用于特定一个ECU 1405、1407、1409的差分更新指令和用于特定一个ECU 1405、1407、1409的闪存存储器1405b、1407b、1409b的差分更新数据。处理器1403a可操作以确定车辆1401是否处于预定状态中,且处理器1403a可操作成如果车辆1401处于预定状态则更新ECU 1405、1407、1409。
处理器1403a可操作以监控ECU 1405、1407、1409和车辆1401的状态,并只有当ECU1405、1407、1409处于预定ECU状态且车辆1401处于预定状态时执行更新。
处理器1403a利用闪存工具以向特定一个ECU 1405、1407、1409的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU 1405、1407、1409执行以将闪存存储器的块存入RAM中。处理器1403a可操作以向特定一个ECU 1405、1407、1409提供差分更新数据。差分更新指令可由特定一个ECU 1405、1407、1409执行以根据差分更新数据来修改块,以产生修改的块。差分更新指令可由特定一个ECU 1405、1407、1409执行以从闪存存储器1405b、1407b、1409b擦除块,且差分更新指令可由特定一个ECU 1405、1407、1409执行以将修改的块从RAM写入闪存存储器1405b、1407b、1409b,替代擦除的块。
处理器1403a可操作以监控每个ECU 1405、1407、1409和车辆状态,并只有当特定一个ECU 1405、1407、1409处于预定ECU状态且车辆1401处于预定状态且更新可在预定时间段之内完成时执行更新。
在一个实施方式中,处理器1403a利用闪存工具来向特定一个ECU 1405、1407、1409的引导装载器提供差分更新指令。差分更新指令可由特定一个ECU 1405、1407、1409执行以将闪存存储器1405b、1407b、1409b的块存入RAM中。处理器1403a可操作以向特定一个ECU 1405、1407、1409提供差分更新数据。差分更新指令可由特定一个ECU 1405、1407、1409执行以根据差分更新数据来修改块以产生修改的块。差分更新指令可由特定一个ECU1405、1407、1409执行以从闪存存储器1405b、1407b、1409b擦除块,且差分更新指令可由特定一个ECU 1405、1407、1409执行以将修改的块从RAM写入闪存存储器1405b、1407b、1409b,替代擦除的块。
在一个实施方式中,处理器1403a利用闪存工具来保持闪存存储器1405b、1407b、1409b的更新的进展状态。处理器1403a利用进展状态来检测更新的任何中断。处理器1403a利用闪存工具来在中断之后发起更新的继续。
在一个实施方式中,无线网络接口(多个接口)1403c包括至无线广域网1521的接口。无线网络接口(多个接口)1403c可额外地包括至无线局域网的接口。TCU 1403还可包括通信代理以自动选择通过其接收DUP的无线广域网接口和无线局域网接口中的一个。
在一个实施方式中,TCU 1403中的通信代理负责尝试在无线广域网接口和无线局域网接口中的一个上下载DUP以自动实现将DUP下载至TCU 1403。
提供了用于升级车辆ECU 1405、1407、1409的方法的实施方案,每个ECU包括闪存存储器1405b、1407b、1409b并被设置在车辆1401中,车辆1401包括可操作以与ECU 1405、1407、1409进行通信的TCU 1403。方法包括为预定ECU 1405、1407、1409的每个升级创建差分升级包(DUP)。创建包括:将预定ECU闪存存储器的数字内容的新图像与预定ECU闪存存储器的数字内容的现有图像进行比较;以及产生将现有图像修改为新图像的一组变化,变化包括一组指令。一组指令包括:用于复制来自预定ECU闪存存储器的字节块的指令;执行将一组修改应用于字节块和将额外的字节添加到字节块中的一个或多个以生成新图像块的指令;以及将新图像的块复制到预定ECU闪存存储器中以替代来自预定ECU闪存存储器的复制的字节块的指令。方法还包括经由无线网络将DUP下载到包括TCU的一个或多个车辆和利用TCU以自动响应于对预定ECU的DUP接收而更新预定的ECU闪存存储器。
在一个实施方式中,方法包括利用分布式网络1700来将DUP下载到多个车辆1401,以提供多个车辆的每个中的预定ECU的同时更新。
在一个实施方式中,方法包括:提供客户端服务器1801;将DUP上传到客户端服务器1801;以及将客户端服务器1801耦合到分布式网络1700以将DUP下载到多个车辆TCU1403N、1403RG001-001、…1403RGyyy-nnn,每个对应的车辆包括预定ECU。
本方法的实施方式还包括利用耦合至用于分布式网络1700的多个通信服务器SP001、…、SPxxx的仲裁服务器SP000。
方法还可包括:提供分布式网络1700,分布式网络1700包括仲裁服务器SP000和多个通信服务器SP001、…、SPxxx;经由仲裁服务器SP000将DUP上传到通信服务器SP001、…、SPxxx;以及同时从多个通信服务器SP001、…、SPxxx下载DUP到多个车辆TCU 1403N、1403RG001-001、…1403RGyyy-nnn。
提供了用于实时监控车辆ECU 1405、1407、1409的广泛分布的软件更新的方法的又一个实施方式。每个ECU 1405、1407、1409包括闪存存储器1405b、1407b、1409b并被设置在多个车辆中的一个车辆1401中。每个车辆1401包括可操作以与其对应ECU 1405、1407、1409进行通信的TCU 1403。方法包括为多个车辆中的每个车辆中的预定ECU的每个升级创建数字升级包(DUP)。创建包括:将预定ECU闪存存储器的数字内容的新图像与预定ECU闪存存储器的数字内容的现有图像进行比较;以及产生将现有图像修改为新图像的一组变化,变化包括一组指令。一组指令包括:用于复制来自预定ECU闪存存储器的字节块的指令,执行对字节块应用一组修改和将额外的字节添加到字节块中的一个或多个以生成新图像的块的指令;以及将新图像的块复制到预定ECU闪存存储器中以替代来自预定ECU闪存存储器的复制的字节块的指令。方法还包括经由无线分布式网络1700将DUP下载到多个车辆;利用每个TCU 1430以自动响应于DUP的接收来更新对应的预定的ECU闪存存储器1405b、1407b、1409b;利用每个TCU 1430来自动生成用于对应的预定ECU闪存存储器的DUP更新的更新状态报告;以及操作每个TCU 1430来自动将状态报告上传到无线分布式网络1700。
实施方式可包括提供具有多个通信服务器SP001、、SPxxx的无线分布式网络1700,通信服务器SP001、…、SPxxx中的每个可操作以与多个车辆1401的对应子集进行通信;以及向无线分布式网络1700提供仲裁服务器SP000,仲裁服务器SP000可操作以与多个通信服务器SP001、…、SPxxx进行通信。
实施方式可包括:操作多个通信服务器SP001、…、SPxxx中的每个通信服务器以从多个车辆的对应子集的每个车辆1401接收更新状态报告;以及操作多个通信服务器SP001、…、SPxxx的每个通信服务器SP001、…、SPxxx以将更新状态报告结合到对应的数据流中。
实施方式可包括向多个通信服务器SP001、…、SPxxx的每个通信服务器提供数据流过滤准则,以过滤更新状态报告来产生过滤的数据流。
实施方式可包括将数据流过滤准则从客户端上传至仲裁服务器SP000,并还可包括向多个通信服务器SP001、…、SPxxx的每个通信服务器提供格式化数据以将过滤的数据流格式化。
实施方式另外还可包括将数据流过滤准则从客户端上传至仲裁服务器SP000。
实施方式可包括:向仲裁服务器SP000提供数据流过滤准则以过滤更新状态报告来产生过滤的数据流;建立与多个通信服务器SP001、…、SPxxx中可应用数据流过滤的选择的通信服务器SP001、…、SPxxx的通信链路;将数据流过滤准则上传到选择的通信服务器;以及在选择的通信服务器SP001、…、SPxxx的每个处利用数据流过滤准则,以便更新状态报告以产生用于选定通信服务器SP001、…、SPxxx的每个的对应数据流。
实施方式还可包括将每个对应的数据流下载到仲裁服务器SP000;以及操作仲裁服务器SP000以将所有的对应的过滤数据流的结合至单个数据流;以及将单个数据流下载到客户端。
实施方式可包括向仲裁服务器SP000提供格式化准则;以及利用仲裁服务器SP000来将格式化准则应用至单个数据流,以提供格式化的数据流。
实施方式可包括将格式化的数据流下载到客户端。
提供了用于实时监控车辆ECU 1405、1407、1409的广泛分布的软件更新的方法的实施方式,每个ECU 1405、1407、1409包括闪存存储器1405b、1407b、1409b。每个ECU 1405、1407、1409被设置在多个车辆中的一个车辆1401中,每个车辆1401包括可操作以与ECU1405、1407、1409进行通信的TCU 1403。方法包括创建用于多个车辆的每个车辆1401中的预定ECU 1405、1407、1409的每个升级的数字升级包(DUP);经由无线分布式网络1700将DUP下载到多个车辆;利用每个TCU 1403以自动响应于DUP的接收来更新对应的预定闪存存储器1405、1407、1409;利用每个TCU 1403以自动生成用于对应的预定闪存存储器1405、1407、1409的每个DUP更新的更新状态报告;以及操作每个TCU 1403以自动将状态报告上传到无线分布式网络1700。
实施方式可包括给无线分布式网络1700提供多个通信服务器SP001、…、SPxxx,通信服务器SP001、…、SPxxx中的每个可操作以与多个车辆1403N、1403RG001-001、…1403RGyyy-nnn的对应子集的多个车辆进行通信;以及给无线分布式网络1700提供仲裁服务器SP000,仲裁服务器SP000可操作以与多个通信服务器1403N、1403RG001-001、…1403RGyyy-nnn进行通信。
本领域技术人员将意识到,在不背离本发明的精神或范围的情况下,可以对本文所描述的实施方式做出各种改变和修改。其意图是,本发明不被本文所示和所描述的实施方式以任何方式限制,而是本发明只被本发明所附的权利要求限制。

Claims (38)

1.一种用于升级车辆中的车辆电子控制单元的方法,每个电子控制单元包括闪存存储器,每个电子控制单元被设置在包括远程信息处理控制单元的车辆中,所述远程信息处理控制单元可操作以与所述电子控制单元进行通信,所述方法包括:
创建用于预定电子控制单元的每个升级的差分升级包,所述创建包括:
将所述预定电子控制单元的所述闪存存储器的数字内容的新的期望的图像与所述预定电子控制单元的所述闪存存储器的数字内容的现存的现有图像进行比较;所述现存的现有图像包括多个字节块;以及
产生一次一个字节块地将所述现有图像修改为所述新的期望的图像的一组改变,所述改变包括一组指令;
所述一组指令包括:(1)用于一次复制来自所述预定电子控制单元的所述闪存存储器的所述多个字节块的一个字节块的指令,(2)执行应用一组修改至所述一个字节块和将额外的字节添加到所述一个字节块中的一个或两个以生成所述新的期望的图像的一个字节块的指令,(3)从所述预定电子控制单元的所述闪存存储器擦除所述一个字节块的指令,以及(4)将所述新的期望的图像的所述一个字节块复制到所述预定电子控制单元的所述闪存存储器中以替代来自所述预定电子控制单元的所述闪存存储器的所复制的字节块的指令;
将所述差分升级包经由无线网络下载到包括各自的远程信息处理控制单元的一个或多个车辆;
利用所述远程信息处理控制单元来自动响应对所述预定电子控制单元的所述差分升级包的接收,以一次一个字节块地更新所述预定电子控制单元的所述闪存存储器;
生成用于所述预定电子控制单元的所述闪存存储器的所述差分升级包的更新的更新状态报告;以及
利用过滤准则以过滤所述更新状态报告来生成过滤的数据流。
2.根据权利要求1所述的方法,包括:
利用分布式网络来将所述差分升级包下载到所述一个或多个车辆,以提供所述一个或多个车辆的每个车辆中的所述预定电子控制单元的同时更新;
其中所述一个或多个车辆包括多个车辆。
3.根据权利要求1所述的方法,包括:
提供客户端服务器;
将所述差分升级包上传到所述客户端服务器;以及
将所述客户端服务器耦合到分布式网络,以将所述差分升级包下载到所述一个或多个车辆,每个车辆包括所述预定电子控制单元;
其中所述一个或多个车辆包括多个车辆。
4.根据权利要求3所述的方法,包括:
对于所述分布式网络利用被耦合至多个通信服务器的管理服务器。
5.根据权利要求1所述的方法,包括:
提供分布式网络,其包括仲裁服务器和多个通信服务器;
经由所述仲裁服务器将所述差分升级包上传至所述多个通信服务器;以及
将所述差分升级包从所述多个通信服务器同时下载至所述一个或多个车辆,所述一个或多个车辆包括多个车辆。
6.根据权利要求5所述的方法,包括:
提供客户端服务器;以及
将所述差分升级包从所述客户端服务器上传至所述仲裁服务器。
7.一种用于实时监控车辆电子控制单元的广泛分布的软件更新的方法,每个电子控制单元包括闪存存储器,每个电子控制单元被设置在多个车辆中的一个车辆中,每个车辆包括可操作以与所述电子控制单元进行通信的远程信息处理控制单元,所述方法包括:
创建用于所述多个车辆的每个车辆中的预定电子控制单元的每个升级的差分升级包,所述创建包括:
将所述预定电子控制单元的所述闪存存储器的数字内容的新图像与所述预定电子控制单元的所述闪存存储器的数字内容的现有图像进行比较,所述现有图像包括多个字节块;
产生基于逐字节块将所述现有图像修改为所述新图像的一组改变,所述改变包括一组指令;
所述一组指令包括:(1)用于一次复制来自所述预定电子控制单元的所述闪存存储器的所述多个字节块的一个字节块的指令,(2)执行对所述一个字节块应用一组修改和将额外的字节添加到所述一个字节块中的一个或两个以生成所述新图像的字节块的指令,(3)从所述预定电子控制单元的所述闪存存储器擦除所述一个字节块的指令,以及(4)将所述新图像的所述字节块复制到所述预定电子控制单元的所述闪存存储器中以替代来自所述预定电子控制单元的所述闪存存储器的所复制的一个字节块的指令;
经由无线分布式网络将所述差分升级包下载到所述多个车辆;
利用每个所述远程信息处理控制单元来自动响应对所述差分升级包的接收,以更新所述预定电子控制单元的所述闪存存储器;
利用每个所述远程信息处理控制单元以自动生成用于所述预定电子控制单元的所述闪存存储器的所述差分升级包的更新的更新状态报告;
操作每个所述远程信息处理控制单元以自动将所述更新状态报告上传至所述无线分布式网络;以及
在所述无线分布式网络中利用数据流过滤准则以过滤所述更新状态报告来生成对应的过滤的数据流。
8.根据权利要求7所述的方法,包括:
为所述无线分布式网络提供多个通信服务器,每个所述通信服务器可操作以与所述多个车辆的对应子集进行通信;以及
为所述无线分布式网络提供仲裁服务器,所述仲裁服务器可操作以与所述多个通信服务器进行通信。
9.根据权利要求8所述的方法,包括:
操作所述多个通信服务器的每个所述通信服务器,以从所述多个车辆的所述对应子集的每个车辆接收所述更新状态报告;
操作所述多个通信服务器的每个所述通信服务器,以将所述更新状态报告结合到对应的数据流。
10.根据权利要求9所述的方法,包括:
向所述多个通信服务器的每个所述通信服务器提供数据流过滤准则,以过滤所述更新状态报告来产生所述对应的过滤的数据流。
11.根据权利要求10所述的方法,包括:
将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
12.根据权利要求10所述的方法,包括:
为所述多个通信服务器的每个所述通信服务器提供格式化数据以格式化所述过滤的数据流。
13.根据权利要求12所述的方法,包括:
将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
14.根据权利要求9所述的方法,包括:
向所述仲裁服务器提供所述数据流过滤准则,以过滤所述更新状态报告来产生所述对应的过滤的数据流;
建立与所述多个通信服务器中能够应用所述数据流过滤准则的选择的通信服务器的通信链路;
将所述数据流过滤准则上传至所述选择的通信服务器;以及
在所述选择的通信服务器的每个处使用所述数据流过滤准则来过滤所述更新状态报告,以对于每个所述选择的通信服务器生成所述对应的过滤的数据流。
15.根据权利要求14所述的方法,包括:
将每个所述对应的过滤的数据流下载到所述仲裁服务器。
16.根据权利要求15所述的方法,包括:
操作所述仲裁服务器以将所有的所述对应的过滤的数据流结合为单个数据流。
17.根据权利要求16所述的方法,包括:
将所述单个数据流下载到客户端服务器。
18.根据权利要求17所述的方法,包括:
为所述仲裁服务器提供格式化准则;以及
利用所述仲裁服务器以将所述格式化准则应用至所述单个数据流,以提供格式化的数据流。
19.根据权利要求18所述的方法,包括:
将所述格式化的数据流下载到所述客户端服务器。
20.根据权利要求19所述的方法,包括:
将所述格式化准则从所述客户端服务器提供给所述仲裁服务器。
21.一种用于实时监控车辆电子控制单元的广泛分布的软件更新的方法,每个电子控制单元包括闪存存储器,所述闪存存储器包括多个字节块,每个电子控制单元被设置在多个车辆中的一个车辆中,每个车辆包括可操作以与所述电子控制单元进行通信的远程信息处理控制单元,所述方法包括:
创建用于对所述多个车辆的每个车辆中的预定电子控制单元的每个升级的差分升级包;
经由无线分布式网络将所述差分升级包下载到所述多个车辆;
利用每个所述远程信息处理控制单元来自动响应对所述差分升级包的接收,以通过基于逐字节块更新所述电子控制单元的闪存存储器来更新所述预定电子控制单元的闪存存储器;所述更新包括:(1)一次复制来自所述预定电子控制单元的所述多个字节块的一个字节块,(2)执行对所述一个字节块应用一组修改和将额外的字节添加到所述一个字节块中的一个或两个以生成新图像的字节块,(3)从所述预定电子控制单元擦除所述一个字节块,以及(4)将所述新图像的所述字节块复制到所述预定电子控制单元的闪存存储器中以替代来自所述预定电子控制单元的所复制的一个字节块;
利用每个所述远程信息处理控制单元以自动生成用于所对应的所述预定电子控制单元的闪存存储器的每个所述差分升级包的更新的更新状态报告;
操作每个所述远程信息处理控制单元以自动将所述更新状态报告上传至所述无线分布式网络;
操作所述无线分布式网络以生成包括来自所述多个车辆的更新状态报告的数据流;以及
利用数据流过滤准则以过滤所述更新状态报告来生成过滤的数据流。
22.根据权利要求21所述的方法,包括:
为所述无线分布式网络提供多个通信服务器,所述多个通信服务器的每个可操作以与所述多个车辆的对应子集的多个车辆进行通信;以及
为所述无线分布式网络提供仲裁服务器,所述仲裁服务器可操作以与所述多个通信服务器进行通信。
23.根据权利要求22所述的方法,包括:
操作所述多个通信服务器的每个通信服务器,以从所述多个车辆的所述对应子集的多个车辆的每个车辆接收所述更新状态报告;以及
操作所述多个通信服务器的每个所述通信服务器,以将所述更新状态报告结合到对应的数据流。
24.根据权利要求23所述的方法,包括:
向所述多个通信服务器的每个通信服务器提供所述数据流过滤准则,以便过滤所述更新状态报告来产生所述过滤的数据流。
25.根据权利要求24所述的方法,包括:
将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
26.根据权利要求24所述的方法,包括:
为所述多个通信服务器的每个所述通信服务器提供格式化数据以格式化所述过滤的数据流。
27.根据权利要求26所述的方法,包括:
将所述数据流过滤准则从客户端服务器上传至所述仲裁服务器。
28.根据权利要求23所述的方法,包括:
向所述仲裁服务器提供所述数据流过滤准则,以过滤所述更新状态报告来产生所述过滤的数据流;
建立与所述多个通信服务器中能够应用所述数据流过滤准则的选择的通信服务器的通信链路;
将所述数据流过滤准则上传至所述选择的通信服务器;以及
在所述选择的通信服务器的每个处使用所述数据流过滤准则以过滤所述更新状态报告,以对于每个所述选择的通信服务器生成对应的过滤的数据流。
29.根据权利要求23所述的方法,包括:
将每个所述对应的过滤的数据流下载到所述仲裁服务器。
30.根据权利要求29所述的方法,包括:
操作所述仲裁服务器以将所有的所述对应的过滤的数据流结合为单个数据流。
31.根据权利要求30所述的方法,包括:
将所述单个数据流下载到客户端服务器。
32.根据权利要求31所述的方法,包括:
为所述仲裁服务器提供格式化准则;以及
利用所述仲裁服务器以将所述格式化准则应用至所述单个数据流,以提供格式化的数据流。
33.根据权利要求32所述的方法,包括:
将所述格式化的数据流下载到所述客户端服务器。
34.根据权利要求33所述的方法,包括:
将所述格式化准则从所述客户端服务器提供给所述仲裁服务器。
35.根据权利要求21所述的方法,包括:
将所述差分升级包从客户端服务器上传至所述无线分布式网络。
36.根据权利要求35所述的方法,包括:
将所述数据流过滤准则从所述客户端服务器上传至所述无线分布式网络。
37.根据权利要求36所述的方法,包括:
将来自所述无线分布式网络的所述过滤的数据流下载到所述客户端服务器。
38.根据权利要求37所述的方法,包括:
将格式化准则从所述客户端服务器上传至所述无线分布式网络;以及
利用所述格式化准则来格式化所述过滤的数据流。
CN201610416747.4A 2015-06-16 2016-06-14 用于使用差分更新包更新ecu的方法 Active CN106257420B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/740,458 US9836300B2 (en) 2015-06-16 2015-06-16 Method for updating vehicle ECUs using differential update packages
US14/740,458 2015-06-16

Publications (2)

Publication Number Publication Date
CN106257420A CN106257420A (zh) 2016-12-28
CN106257420B true CN106257420B (zh) 2020-05-01

Family

ID=57467299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610416747.4A Active CN106257420B (zh) 2015-06-16 2016-06-14 用于使用差分更新包更新ecu的方法

Country Status (3)

Country Link
US (1) US9836300B2 (zh)
CN (1) CN106257420B (zh)
DE (1) DE102016210676A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3101535B1 (en) * 2015-06-01 2022-04-13 OpenSynergy GmbH Method for updating a control unit for an automotive vehicle, control unit for an automotive vehicle, and computer program product
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
JP6414568B2 (ja) * 2016-06-09 2018-10-31 株式会社デンソー 車両用装置
JP6665728B2 (ja) * 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
JP6696417B2 (ja) * 2016-12-20 2020-05-20 株式会社オートネットワーク技術研究所 車載更新装置、更新システム及び可搬型通信器
CN108574588B (zh) * 2017-03-10 2023-09-15 中兴通讯股份有限公司 客户端、服务端及差异化升级方法
EP3418887A1 (en) * 2017-06-19 2018-12-26 Clarion Co., Ltd. Electronic device and program updating method
US20190014026A1 (en) * 2017-07-05 2019-01-10 Ford Global Technologies, Llc Method and apparatus for ignition state monitoring
CN111133412A (zh) * 2017-07-25 2020-05-08 奥罗拉实验室有限公司 基于工具链构建车辆ecu软件的软件增量更新和异常检测
US10430178B2 (en) * 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
WO2019168907A1 (en) * 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
EP3759588B1 (en) * 2018-03-19 2022-09-28 Huawei International Pte. Ltd. Method and apparatus for updating devices in a remote network
CN108769226A (zh) * 2018-06-05 2018-11-06 北京智行者科技有限公司 车辆的oat升级方法及车载终端
CN109324813A (zh) * 2018-08-16 2019-02-12 深圳市元征科技股份有限公司 电子控制系统刷写方法、装置及计算机介质
KR102610730B1 (ko) 2018-09-05 2023-12-07 현대자동차주식회사 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
US10732959B2 (en) * 2018-10-17 2020-08-04 Ford Global Technologies, Llc Pre and post update vehicle bus traffic fingerprinting
JP7192415B2 (ja) * 2018-11-06 2022-12-20 株式会社オートネットワーク技術研究所 プログラム更新システム及び更新処理プログラム
US11086769B2 (en) 2019-03-25 2021-08-10 Aurora Labs Ltd. Proving whether software functionality has changed following a software change
CN110162330B (zh) * 2019-07-08 2021-04-13 上海赫千电子科技有限公司 一种应用于汽车ecu升级文件的系统及方法
CN110795124A (zh) * 2019-10-18 2020-02-14 安徽江淮汽车集团股份有限公司 汽车安全件的远程升级方法、装置、设备及存储介质
CN112835598B (zh) * 2019-11-25 2023-11-10 广州汽车集团股份有限公司 一种汽车ecu刷写方法及其系统、计算机可读存储介质
JP7206183B2 (ja) * 2019-12-28 2023-01-17 株式会社クボタ 作業機
JP7309603B2 (ja) * 2019-12-28 2023-07-18 株式会社クボタ 作業機のプログラム更新システム
CN111327689A (zh) * 2020-01-22 2020-06-23 大运汽车股份有限公司 基于uds通信协议实现车辆ecu远程升级的方法
JP7419557B2 (ja) * 2020-02-28 2024-01-22 華為技術有限公司 ソフトウェアバージョンロールバックの方法、装置、およびシステム
CN111580840A (zh) * 2020-03-27 2020-08-25 惠州市德赛西威汽车电子股份有限公司 一种基于分布式内存管理实现ecu更新的方法
KR20210140862A (ko) * 2020-05-14 2021-11-23 현대자동차주식회사 소프트웨어 업데이트 시스템 및 그 제어 방법
CN111722860B (zh) * 2020-06-16 2024-02-02 东软睿驰汽车技术(沈阳)有限公司 基于有穷状态机的ota升级方法和装置
KR20220028879A (ko) * 2020-08-31 2022-03-08 현대자동차주식회사 차량의 ecu 업데이트 관리 장치 및 그 방법
CN112486528B (zh) * 2020-11-09 2022-08-02 浙江吉利控股集团有限公司 一种车辆空中下载ota升级方法
US11556329B2 (en) * 2020-11-16 2023-01-17 Ford Global Technologies, Llc System for updating vehicle software
US11271971B1 (en) * 2021-03-19 2022-03-08 King Saud University Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV)
CN113094073B (zh) * 2021-04-29 2024-03-12 芜湖雄狮汽车科技有限公司 车辆远程升级方法、装置及服务器
CN113320491A (zh) * 2021-07-16 2021-08-31 重庆金康赛力斯新能源汽车设计院有限公司 一种控制器升级方法和系统
CN114265613B (zh) * 2021-12-21 2022-06-28 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295492B1 (en) * 1999-01-27 2001-09-25 Infomove.Com, Inc. System for transmitting and displaying multiple, motor vehicle information

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7194489B2 (en) * 1998-09-28 2007-03-20 Bentley Systems Incorporated System, method and computer program product for collaborative engineering using component and file oriented tools
US20020100026A1 (en) * 2001-01-19 2002-07-25 Robert Betros System and method for generating machine-language code from readable text code for information filtering
US7788648B2 (en) * 2005-02-28 2010-08-31 International Business Machines Corporation System and method for the localization of released computer program
JP5162846B2 (ja) * 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
US8117086B1 (en) * 2006-05-04 2012-02-14 Rbs Lynk Incorporated Order tracking system and method using trigger events
US20080228671A1 (en) * 2007-03-14 2008-09-18 Oracle International Corporation Facilitating Development of Documentation for Products Related to an Enterprise
US20090119657A1 (en) * 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
US8712956B2 (en) * 2009-03-30 2014-04-29 Sap Ag Systems and methods to provide report part via a web service
US8707246B2 (en) * 2011-01-30 2014-04-22 Microsoft Corporation Engineering project event-driven social networked collaboration
WO2014164893A2 (en) * 2013-03-13 2014-10-09 Arynga Inc. Remote transfer of electronic images to a vehicle
EP2790101B1 (en) * 2013-04-10 2016-01-20 ABB Technology AG System and method for automated virtual commissioning of an industrial automation system
US20150142675A1 (en) * 2013-11-20 2015-05-21 Guardian Consumer Services, Inc. Electronic process validation
US9747096B2 (en) * 2014-07-07 2017-08-29 Harman Connected Services, Inc. Remote embedded device update platform apparatuses, methods and systems
JP6636930B2 (ja) * 2014-09-25 2020-01-29 株式会社京都ソフトウェアリサーチ フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295492B1 (en) * 1999-01-27 2001-09-25 Infomove.Com, Inc. System for transmitting and displaying multiple, motor vehicle information

Also Published As

Publication number Publication date
US20160371076A1 (en) 2016-12-22
DE102016210676A1 (de) 2016-12-22
CN106257420A (zh) 2016-12-28
US9836300B2 (en) 2017-12-05

Similar Documents

Publication Publication Date Title
CN106257420B (zh) 用于使用差分更新包更新ecu的方法
CN106257416B (zh) 用于无线远程更新车辆软件的方法
US10165084B2 (en) Method for software updating of vehicle components
US9841965B2 (en) Centralized system for software updating vehicle components
US10101992B2 (en) Telematics control unit comprising a differential update package
US10127036B2 (en) Method for OTA updating vehicle electronic control unit
JP7439439B2 (ja) 車両情報通信システム,車両情報通信方法,車両情報通信プログラム及びセンター装置
JP7408936B2 (ja) センター装置,諸元データの生成方法及び諸元データ生成用プログラム
JP7346956B2 (ja) 車両用プログラム書換えシステム、車両用マスタ装置、進捗状態の同期制御方法及び進捗状態の同期制御プログラム
JP7354658B2 (ja) 車両用電子制御システム、進捗表示の画面表示制御方法及び進捗表示の画面表示制御プログラム
JP7383967B2 (ja) 電子制御装置及び車両用電子制御システム
JP7354631B2 (ja) 電子制御装置、車両用電子制御システム、差分データの整合性判定方法及び差分データの整合性判定プログラム
JP7400232B2 (ja) 電子制御装置、リトライポイントの特定方法、リトライポイントの特定プログラム及び車両用電子制御システム
JP7367359B2 (ja) 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置
US20230033167A1 (en) Vehicle electronic control system, data initialization method, center device, vehicle master device, storage medium for storing initialization package distribution program, and storage medium storing data initialization program
JP7427879B2 (ja) 車両用マスタ装置、書換え対象のグループ管理方法及び書換え対象のグループ管理プログラム
JP7400320B2 (ja) センター装置、センター装置のレポート出力方法及びコンピュータプログラム
JP7419689B2 (ja) 車両用電子制御システム、センター装置、車両用マスタ装置、表示制御情報の送信制御方法、表示制御情報の受信制御方法、表示制御情報の送信制御プログラム及び表示制御情報の受信制御プログラム
JP7380756B2 (ja) 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
JP7416036B2 (ja) 車両用電子制御システム、車両用スレーブ装置、車両用マスタ装置、電源自己保持の実行制御方法、電源自己保持の実行制御プログラム及び電源自己保持の指示制御プログラム
US20230036444A1 (en) System, method, and non-transitory storage medium
US20230068491A1 (en) Method and system for automatically activating a connected car service
JP7451927B2 (ja) 電子制御装置
JP7354748B2 (ja) 車両用マスタ装置、車両用電子制御システム、アクティベート要求の指示方法及びアクティベート要求の指示プログラム
CN116185456A (zh) Ota升级方法、装置、设备及计算机可读存储介质

Legal Events

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