预关闭交换验证的制作方法

文档序号:14910855发布日期:2018-07-10 23:22阅读:237来源:国知局

本公开的多个方面涉及在车辆关闭完成之前执行的车辆软件交换验证。



背景技术:

车辆可被驾驶到经销商处且由技术人员进行维护,以更新车辆组件的软件。技术人员可利用跟踪车辆内组件的各自的软件级别以及可用软件更新的系统。技术人员可手动应用由系统指示的软件更新,并将任何改变记录回该系统中。可在车辆不操作且位于经销商处时执行软件更新。



技术实现要素:

在第一示意性实施例中,一种系统包括:第一存储区;第二存储区;车辆电子控制单元,被配置为:将从服务器接收的软件更新下载到所述第一存储区;在车辆关闭之前,在点火开关断开时,尝试车辆电子控制单元的重新启动;响应于车辆电子控制单元成功地启动至所述第一存储区,将所述第一存储区而不是所述第二存储区确认为活动以用于启动。

在第二示意性实施例中,一种系统包括:远程信息处理控制单元;多个车辆电子控制单元,通过车辆总线与远程信息处理控制单元进行通信,所述多个车辆电子控制单元中的一个被配置为:在点火开关断开时,使用从远程信息处理控制单元接收软件更新将车辆电子控制单元重新启动至第一存储区;响应于使用所述第一存储区成功重新启动,将所述第一存储区而不是第二存储区确认为活动以用于启动。

在第三示意性实施例中,一种用于空中软件更新的方法包括:由车辆电子控制单元在车辆关闭之前在点火开关断开时,响应于车辆电子控制单元成功地重新启动至第一存储区,将所述第一存储区而不是第二存储区确认为活动以用于启动,所述第一存储区包括从远程服务器接收的下载的软件更新。

附图说明

图1示出用于向车辆提供软件更新的示例系统;

图2A和图2B示出用于针对车辆ECU的软件更新的安装的可编程存储器的示例;

图2C和图2D示出用于针对车辆ECU的软件更新的安装的可编程存储器的替代示例;

图3示出用于将软件更新安装到车辆ECU中的一个ECU的非活动存储区的示例数据流;

图4示出用于在车辆关闭完成之前执行交换验证的示例处理。

具体实施方式

根据需要,在此公开本发明的详细实施例;然而,将理解的是,所公开的实施例仅仅是本发明的示例,其中,本发明可以以各种替代形式来实现。附图无需按比例绘制;一些特征可被夸大或最小化以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应被解释为具有限制性,而仅仅是用于教导本领域技术人员以多种方式利用本发明的代表性基础。

软件和固件(在此被统称为软件)在现代车辆中起到越来越重要的作用。软件越来越重要的作用已引起将在非操作时(out in the field)的车辆中被解决的效率问题、功能改变和安全性缺陷的潜在增加。在许多现代车辆系统中,车辆电子控制单元(ECU)被配置为具有在部署后经历固件更新的能力。更新固件可以是提高安装到车辆的ECU的软件的安全性的一个解决方案。然而,不正确的固件更新可使得未授权的或恶意的软件更新被安装到车辆ECU。这种不适当的更新可导致车辆ECU出故障或未授权的车辆操作。

改进的软件更新过程可采用两个阶段:第一阶段,在第一阶段中,软件更新从更新服务器被下载并被提供给车辆ECU,以用于安装到非活动存储区(inactive storage);第二阶段,在第二阶段中,交换被执行,以允许车辆ECU进行交换以将软件更新安装到非活动存储区。通过使用这种两阶段处理,可随时间对非活动存储区执行软件更新,而不影响使用活动存储区的ECU操作的功能。

响应于新的软件被加载到非活动存储区且被验证为准备好交换,交换功能可在ECU重置事件期间被执行。重置事件可能需要车辆的少量停机时间(downtime)。作为一种可行方式,将非活动存储区交换更新为新的活动存储区可在点火开关断开期间被写入ECU。然而,如果交换或新的软件有问题,则该问题直到当客户准备好驾驶时的下一次点火开关接通循环才可被检测到。

改进的交换方法可被采用,以避免在下一次点火开关接通时检测到错误的潜在复杂性。在车辆关闭完成之前的点火开关断开时,ECU可使用新软件重启以确保ECU如期工作。然后,如果ECU正确重启,则在再次关闭ECU之前交换可被确认,以继续正常的关闭序列。另一方面,如果利用更新的软件识别出问题,则ECU可自动转回到先前的软件和/或向远程信息处理控制单元通知任何错误,以报告回更新服务器从而进行错误处理。因此,通过在点火开关断开时测试新软件,潜在的软件问题可在下一次点火开关接通循环之前被检测到。下面详细地描述两个阶段的更新过程的进一步方面。

图1示出用于向车辆102提供软件更新116的示例系统100。系统100可包括远程信息处理控制单元108,远程信息处理控制单元108(例如,经由车载调制解调器,或者经由由车辆乘员的移动装置提供的数据信道)通过网络110与更新服务器120进行通信。更新服务器120可与数据存储区118进行通信,数据存储区118被配置为保存用于下载的软件更新116以及关于车辆102的车辆配置信息114。远程信息处理控制单元108可包括软件更新管理器112,软件更新管理器112被配置为利用远程信息处理控制单元108下载用于安装到远程信息处理控制单元108或车辆102的其它ECU 104的软件更新116。虽然在图1中示出了示例系统100,但是示出的示例组件不意在限制。实际上,系统100可具有更多或更少的组件,并可使用附加的或可选的组件和/或实施方式。作为一些可选示例,软件更新管理器112的功能可由除了远程信息处理控制单元108之外的另一ECU(诸如,车载通信ECU(例如,福特SYNC附件协议接口模块(APIM)、车辆总线106之间的网关模块等))来实现。

车辆102可包括各种类型的汽车、混合型多用途车辆(CUV)、运动型多用途车辆(SUV)、卡车、休旅车(RV)、船、飞机或用于运输人或货物的其它移动机器。在许多情况下,车辆102可由内燃发动机来驱动。作为另一可行方式,车辆102可以是由内燃发动机和一个或更多个电动马达二者驱动的混合动力电动车辆(HEV),诸如,串联式混合动力电动车辆(SHEV)、并联式混合动力电动车辆(PHEV)或并联式/串联式混合动力电动车辆(PSHEV)。由于车辆102的类型和配置可能变化,因此车辆102的性能可能相应地变化。作为一些其它可行方式,车辆102可具有关于载客量、牵引能力和性能以及储存容量的不同性能。

车辆102可包括多个电子控制单元(ECU)104,所述多个ECU 104被配置为在车辆电池和/或动力传动系统的动力下执行和管理车辆102的各种功能。如所描述的,示例的车辆ECU 104被表示为分立的ECU 104-A至104-H。然而,车辆ECU 104可共用物理硬件、固件和/或软件,使得来自多个ECU 104的功能可被集成到单个ECU 104中。或者,多个这样的ECU 104的功能可分布在多个ECU 104中。车辆ECU 104可包括车辆102的各种组件,所述组件被配置为接收关联的软件、固件或配置设置的更新。

作为一些非限制性车辆ECU 104的示例:发动机控制ECU 104-A可被配置为提供对发动机运行组件的控制;传动装置控制ECU 104-B可被配置为利用传感器数据和来自发动机控制ECU 104-A的数据来计算如何以及何时改变车辆102中的挡位,以用于最佳性能、燃料经济性和换挡质量;车身控制ECU104-C可被配置为管理各种电力控制功能,诸如,外部照明、内部照明、无钥匙进入、远程启动和接入点状态验证;无线电收发器ECU 104-D可被配置为与遥控钥匙、移动装置或车辆102的其它本地装置进行通信;娱乐控制单元104-E可被配置为支持与驾驶员和驾驶员携带装置的语音命令交互和蓝牙交互;气候控制管理ECU 104-F可被配置为提供对制热系统组件和制冷系统组件(例如,压缩机离合器、鼓风机风扇、温度传感器等)的控制;全球定位系统(GPS)ECU 104-G可被配置为提供车辆位置信息;人机界面(HMI)ECU 104-H可被配置为经由各种按钮或其它控制接收用户输入以及向驾驶员提供车辆状态信息。

车辆总线106可包括在车辆ECU 104之间可用的各种通信方法。车辆总线106还可支持在远程信息处理控制单元108与车辆ECU 104之间的通信。作为一些非限制性示例,车辆总线106可包括车辆控制器局域网(CAN)、以太网和面向媒体的系统传输(MOST)网络中的一个或更多个。应注意的是,示出的总线拓扑仅仅是示例,并且可使用其它数量和布置的车辆总线106。

远程信息处理控制单元108(或TCU 108)可包括网络硬件,所述网络硬件被配置为便于在车辆ECU 104之间进行通信以及与系统100的其它装置进行通信。例如,远程信息处理控制单元108可包括或利用车载蜂窝调制解调器,以便于通过通信网络110进行通信。网络110可包括一个或更多个互联的通信网络,作为一些非限制性示例,诸如互联网、有线电视分布网络、卫星链路网络、局域网、广域网以及电话网络。作为另一示例,远程信息处理控制单元108可利用蓝牙、Wi-Fi和有线USB网络连接中的一个或更多个,以便于经由用户的智能电话或其它移动装置与通信网络110进行通信。

软件更新管理器112可被配置为:利用远程信息处理控制单元108来访问车辆总线106,以与车辆ECU 104进行通信。当车辆102被装配时,车辆102可包括各种硬件组件和软件组件。在装配时或者在装配之后,软件更新管理器112可被配置为查询车辆102的车辆ECU 104的至少一部分硬件组件和软件组件的存在和版本信息。

软件更新管理器112还可被配置为利用远程信息处理控制单元108通过网络110与更新服务器120进行通信。使用查询到的信息和标识特定车辆102的附加信息,软件更新管理器112可经由网络110进行通信,以与更新服务器120建立账户。作为一些非限制性示例,标识车辆102的附加信息可包括:在CAN总线上发布的VIN信息、或者远程信息处理控制单元108的调制解调器的用户身份识别模块(SIM)信息(诸如,国际移动站设备标识(IMEI)))。更新服务器120可从车辆102接收这些通信,并可维护与接收到的链接到车辆102的标识符的硬件配置和软件(例如,固件等)版本有关的车辆配置信息114的软件数据存储区118。

软件数据存储区118还可被配置为存储可被提供给车辆102的软件更新116。软件更新116可包括对车辆102的软件或设置的改变,以解决当前软件或设置的问题或者向当前软件提供改进的功能。例如,软件更新116可包括针对一个或更多个车辆ECU 104的更新的配置设置和/或将被安装在一个或更多个车辆ECU 104上的软件或固件的更新版本。在一些情况下,软件更新116可包括单一部分,而在其它情况下,软件更新116可被组织成多个子部分、分区或块,其中,所有子部分可被下载以使将被安装的整个软件更新116完整。在一些示例中,软件更新116可由供应商(例如,车辆ECU 104的供应商)发起或者由车辆制造商发起。在一些情况下,软件更新116可被加密,而在其它情况下,软件更新116可不被加密。

软件数据存储区118还可被配置为存储关于软件更新116的附加信息。例如,软件数据存储区118可被配置为保存关于软件更新116的可选的/必需的标志,所述标志允许车辆102确定哪些软件更新116是必要的以及哪些软件更新116是可选的。作为另一示例,软件数据存储区118可被配置为保存表明哪些车辆ECU 104与哪些软件更新116相关联的指示。软件数据存储区118还可存储指示软件更新116与车辆型号或配置的兼容性的信息。例如,软件更新116的存储条目可指示软件更新116与特定品牌和型号的车辆102兼容,或者指示软件更新116依赖于另一车辆ECU 104的版本(所述版本为特定的软件版本或多个软件版本)。

更新服务器120可包括被配置为将数据存储区118存储的软件更新116提供给车辆102的一个或更多个装置。例如,更新服务器120可被配置为从车辆102接收对于可用的软件更新116的更新请求。更新请求可包括车辆信息,以允许更新服务器120在数据存储区118中查询适用于当前配置的车辆102的软件更新116。更新服务器120可响应于更新请求而提供可被下载和安装的软件更新116的指示(或软件更新116本身),以对请求的车辆102进行更新。更新服务器120还可被配置为根据提供的指示向请求下载软件更新116的装置提供软件更新116。

软件更新管理器112还可被配置为管理软件更新116的安装。例如,车辆102可从请求检查软件更新116的用户接收命令。作为另一可行方式,车辆102可触发针对新的软件更新116的周期性检查。当周期性检查被触发时,车辆102可被配置为向更新服务器120发送更新请求,以询问用于车辆102的软件更新116是否可用。例如,车辆102可使用车辆信息(或者,如果数据存储区118保存了当前车辆信息,则使用车辆102的标识符)查询更新服务器120,并且可从更新服务器120接收指示针对车辆102的新的软件更新116是否可用的响应(例如,用于进行下载的针对车辆102的软件更新116的链接或其它标识符)。例如,新的更新是否可用的确定可基于针对请求的车辆102保存的配置信息114。如果对于车辆102的响应指示软件更新116对于车辆102可用,则车辆102还可被配置为利用远程信息处理控制单元108下载指示的软件更新116,或者在其它情况下对将被下载的软件更新116进行排队。

软件更新管理器112还可被配置为向用户提供用于管理软件更新116的用户界面。例如,软件更新管理器112可被配置为(例如,经由用户界面模块104-H的显示器或扬声器)向用户提供提示,以用于向用户通知软件更新116可用,并请求允许进行软件更新116的安装。作为另一可行方式,软件更新管理器112可被配置为:当软件更新116可用(例如,被下载)时,在车辆102的仪表组内提供可用更新的指示。

为了增强将软件更新116下载到车辆102的安全性,系统100可利用非对称加密算法以用于验证接收的信息。例如,数据存储区118可保存用于对从更新服务器120发送到车辆102的消息进行签名的私钥122,车辆ECU 104可保存与可被用于确保从更新服务器120发送的消息确实被签名的私钥122对应的公钥124。发动机控制ECU 104-A的公钥124在图1中被示出为示例,但应注意到的是,车辆102的其它ECU 104也保存它们各自的公钥124。特别地,远程信息处理控制单元108也可具有它自己的单独公钥124,以用于将远程信息处理控制单元108作为另一车辆ECU进行更新,尽管用于远程信息处理控制单元108的公钥124可适用于对远程信息处理控制单元108进行更新,而不适用于对其它ECU 104进行更新。可使用对称密钥而不使用私钥122/公钥124对的变型是可行的。

一旦用户确认软件更新116应该被安装和/或在车辆的其它触发(诸如点火开关接通或点火开关断开)时,软件更新管理器112可被配置为启动对支持车辆ECU 104的软件更新有用的各种功能。例如,软件更新管理器112可被配置为:通过经由车辆总线106向车辆模块ECU 104提供来自软件更新管理器112的消息,来调用软件更新模式。软件更新管理器112还可被配置为:向由软件更新116识别为软件更新116的接收方的车辆ECU 104提供软件更新116,以用于验证和安装。作为接收方的车辆ECU 104可相应地接收软件更新116,以用于兼容性测试和安装。

在车辆102的一些系统中,由于被车辆ECU 104用于保存执行的软件的存储装置(例如,闪存)无法同时工作和利用软件更新116被刷新,所以软件更新116的安装会要求车辆102不工作。然而,在一些情况下,车辆ECU 104可包括多个存储区,使得软件更新116可被安装到车辆ECU 104的一个存储区,而当前版本的软件可从车辆ECU 104的另一存储区被执行。

图2A示出用于具有多个存储区202的车辆ECU 104的可编程存储器电路的示例。如所示出的,可编程存储器电路可包括活动存储区202-A、非活动存储区202-B、活动处理器204-A、更新处理器204-B和开关206。活动存储区202-A可包括位于软件版本210-A处的软件安装208-A,非活动存储区202-B可包括位于软件版本210-B处的软件安装208-B。可编程存储器电路还可包括或以其它方式可访问车辆ECU 104的公钥124,公钥124可被用于帮助验证接收的软件更新116。在开关206的第一状态(如图2A所示)下,活动处理器204-A可连接到活动存储区202-A,更新处理器204-B可连接到非活动存储区202-B。在开关206的第二状态(如图2B所示)下,开关206可将哪个存储区202是活动存储区202-A以及哪个存储区202是非活动存储区202-B进行对调。相应地,在开关206的第二状态下,活动处理器204-A可连接到作为新的活动存储区202-A的先前是非活动存储区202-B的存储区,更新处理器204-B可连接到作为新的非活动存储区202-B的先前是活动存储区202-A的存储区。因此,通过切换开关206,可编程存储器电路可对软件安装208-A或208-B中的哪一个将被活动处理器204-A执行进行切换。

例如,车辆ECU 104可利用活动处理器204-A执行被安装到用于车辆102操作的活动存储区202-A的软件安装208-A,同时利用更新处理器204-B安装作为非活动存储区202-B的软件安装208-B的软件更新116。在这样的示例中,当软件更新116正在被安装时,车辆ECU 104可在不中断的情况下持续利用连接到存储区202-A的活动处理器204-A,以持续执行软件安装208-A。

当已将软件更新116安装到非活动存储区202-B的车辆ECU 104接收到用于交换安装的软件更新116的确认时,车辆ECU 104可被配置为切换开关206,以使得非活动存储区202-B变为新的活动存储区202-A并且当前的活动存储区202-A变为新的非活动存储区202-B。开关206的这种切换可在车辆102的下一初始化事件时被执行。作为一些非限制性示例,初始化事件可包括车辆点火开关接通、车辆点火开关断开和/或车辆ECU 104重新初始化事件。

作为另一示例,图2C和图2D示出了包括活动存储区202-A、非活动存储区202-B和处理器204的可编程存储器电路。与图2A和图2B的处理器204-A和处理器204-B相比,处理器204可执行活动存储区202-A的软件安装208-A的运行,以及使用非活动存储区202-B执行软件安装208-B的更新。可编程存储器电路还可包括或以其它方式访问车辆ECU 104的公钥124,公钥124可被用于帮助验证接收的软件更新116。与图2A和图2B类似,图2C中的处理器204可基于更新的应用来对哪个存储区202是活动存储区202-A以及哪个存储区202是非活动存储区202-B进行切换。

或者,作为另一示例(未示出),存储区202-A可存储软件安装208,存储区202-B可存储软件更新116。在这样的示例中,软件更新116可包括将被应用到软件安装208以将软件安装208从软件版本210-A更新到软件版本210-B的更新的差异。这种对于软件更新116的差异方式可允许更容易地下载软件更新116。当已将软件更新116接收到非活动存储区202-B的车辆ECU104接收到用于交换软件更新116的确认时,车辆ECU 104可被配置为将软件更新116安装到存储区202-A。

图3示出用于验证软件更新116并将软件更新116安装到车辆ECU 104的示例处理300。在示例中,处理300可由通过车辆总线106与远程信息处理控制单元108进行通信的车辆ECU 104来执行。

在操作302,车辆ECU 104接收软件更新116。在示例中,车辆ECU 104响应于更新服务器120确定车辆102应该接收针对车辆ECU 104的软件更新116,而从远程信息处理控制单元108接收更新消息。

在操作304,车辆ECU 104验证软件更新116的签名和版本。在示例中,车辆ECU 104可利用由车辆ECU 104保存的公钥124,来确保接收的软件更新116是由更新服务器120使用由数据存储区118保存的私钥122而提供的。在另一示例中,车辆ECU 104可确认软件更新116的版本具有比针对车辆ECU 104的活动存储区202-A的软件安装208-A的软件版本210-A高的版本号。

在操作306,车辆ECU 104确定软件更新116是否被许可安装。在示例中,如果在操作304的验证成功,则软件更新116可被许可安装。此外或可选地,软件更新管理器112可被配置为提示用户许可安装软件更新116,并且可指示来自用户的将软件更新116安装到车辆ECU 104的许可。如果软件更新116被许可安装,则控制转到操作308。否则,车辆ECU 104放弃软件更新116,并且处理300结束。

在操作308,车辆ECU 104将软件更新116安装到车辆ECU 104的非活动存储区202-B。在示例中,车辆ECU 104可将软件更新116安装到车辆ECU 104的非活动存储区202-B。车辆ECU 104可使用更新处理器204-B来执行安装,允许活动处理器204-A持续使用活动存储区202-A来执行车辆ECU 104的操作。在操作308之后,处理300结束。

图4示出用于在车辆102关闭完成之前执行交换验证的示例处理400。如同处理300那样,处理400可由通过车辆总线106与远程信息处理控制单元108进行通信的车辆ECU 104来执行。

在操作402,车辆ECU 104确定是否准备好尝试交换。在示例中,车辆ECU 104可确定车辆102已利用安装到ECU 104的非活动存储区202-B的软件更新116来发起点火开关断开循环。点火开关断开的发起可由车辆ECU 104响应于由车辆ECU 104通过车辆总线106接收到指示点火开关状态的信号或总线消息而被检测到。在其它示例中,在点火开关断开时的更新处理可由远程信息处理控制单元108(或执行软件更新管理器112的功能的其它ECU)来控制,并且远程信息处理控制单元108(或所述其它ECU)可经由车辆总线106来识别点火开关断开状况,或者可通过车辆总线106从车辆ECU 104接收消息,所述消息指示发送消息的车辆ECU 104准备好尝试交换。如果车辆ECU 104准备好执行交换,则控制转到操作404。否则控制转到操作414。

在操作404,车辆ECU 104执行对软件更新116的交换。在示例中,车辆ECU 104可在车辆ECU 104中的存储区202中标记以下情况:更新的存储器存储区202-B将被临时作为活动存储器存储区202-A而重启。车辆ECU 104还可通过车辆总线106向其它车辆ECU 104发送信号或消息,所述信号或消息请求中止车辆102关闭序列以允许车辆ECU 104尝试重新启动。在其它示例中,在点火开关断开时的更新处理可由远程信息处理控制单元108(或执行软件更新管理器112的功能的其它ECU)来控制,并且请求中止车辆102关闭序列以允许车辆ECU 104尝试重新启动的信号可由远程信息处理控制单元108(或所述其它ECU)发送到车辆ECU 104。

在操作406,车辆ECU 104发起车辆ECU 104的重新启动。

在操作408,车辆ECU 104确定重新启动是否成功。在示例中,车辆ECU 104可确定新激活的软件安装208-B是否在无错误的情况下成功地启动至车辆ECU 104。如果新激活的软件安装208-B在无错误的情况下成功地启动至车辆ECU 104,则控制转到操作410。否则,控制转到操作412。在车辆ECU 104的重新启动之后,车辆ECU 104还可通过车辆总线106向其它车辆ECU 104发送指示车辆102关闭序列可继续的信号或消息。在其它示例中,在点火开关断开时的更新处理可由远程信息处理控制单元108(或执行软件更新管理器112的功能的其它ECU)来控制,并且指示车辆102关闭序列可继续的信号可由远程信息处理控制单元108(或所述其它ECU)发送到车辆ECU 104。

在操作410,车辆ECU 104将包括软件更新116的更新版本的软件安装208-B确定为新的活动软件安装208-A。相应地,车辆ECU 104可将新的安装设置为活动存储器存储区202-A,并且可将先前的活动存储区设置回非活动状态。在操作410之后,控制继续进行操作414。

在操作412,车辆ECU 104恢复到先前的活动软件安装208-A。相应地,车辆ECU 104可丢弃或撤销新软件的安装。因此,车辆ECU 104可重新启动回最后已知的良好的安装存储器存储区。在一些示例中,车辆ECU 104可另外或附加地向远程信息处理控制单元108通知任何错误以报告回更新服务器120,从而进行错误处理。在操作412之后,控制继续进行操作414。

在操作414,车辆ECU 104结束车辆点火开关断开关闭。在示例中,车辆ECU可终止上电操作和/或将它们各自的点火开关断开负载降低到点火开关断开状态时的负载。当下一次点火开关接通循环时,车辆ECU 104可再次使用安装到活动存储器存储区202-A的软件来上电到它们的活动状态。在操作414之后,处理400结束。

因此,通过在点火开关断开而不是点火开关接通时验证软件更新116,交换可在作为正常关闭事件的一部分的ECU 104再次关闭之前被确认。因此,改进的交换方法可被采用,以避免关于在下一次点火开关接通时检测到软件兼容性或其它错误的潜在复杂性。

一般而言,诸如车辆ECU 104、远程信息处理控制单元108和更新服务器120的计算系统和/或装置可利用多种计算机操作系统中的任何一种,所述多种计算机操作系统包括但绝不限于:Microsoft操作系统、Unix操作系统(例如由加利福尼亚州红木滩(Redwood Shores)的甲骨文公司发布的操作系统)、由纽约州阿蒙克(Armonk)的国际商业机器公司发布的AIX UNIX操作系统、Linux操作系统、由加利福尼亚州的库比蒂诺(Cupertino)的苹果公司发布的Mac OS X和iOS操作系统、由加拿大滑铁卢(Waterloo)的动态研究公司发布的黑莓OS或QNX操作系统以及由开放手机联盟开发的安卓操作系统的多个版本和/或种类。

诸如车辆ECU 104、远程信息处理控制单元108和更新服务器120的计算装置通常包括计算机可执行指令,所述计算机可执行指令可由一个或更多个计算装置的处理器执行。可通过使用各种编程语言和/或技术创建的计算机程序来编译或解释计算机可执行指令,所述编程语言和/或技术包括但不限于:JavaTM、C、C++、Visual Basic、Java Script、Perl等中的一种或它们的组合。一般地,处理器或微处理器从例如存储器、计算机可读介质等接收指令并执行这些指令,从而执行一个或更多个处理,所述一个或更多个处理包括在此描述的处理中的一个或更多个。可使用各种计算机可读介质来存储和传输这种指令以及其它数据。

计算机可读介质(也被称为处理器可读介质)包括参与提供可由计算机(例如,由计算装置的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形的)介质。这种介质可采用许多形式,所述许多形式包括但不限于非易失性介质和易失性介质。例如,非易失性介质可包括光盘或磁盘以及其它持久性存储器。例如,易失性介质可包括通常构成主存储器的动态随机存取存储器(DRAM)。这样的指令可通过一个或更多个传输介质进行传输,所述一个或更多个传输介质包括同轴电缆、铜线和光纤,它们包括包含连接到计算机的处理器的系统总线的线缆。例如,计算机可读介质的常见形式包括:软盘、柔性盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD、任何其它光学介质、打孔卡、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其它存储器芯片或盒式磁盘或者计算机可从其进行读取的任何其它介质。

数据库、数据存储库或其它数据存储(诸如,在此描述的数据存储区118)可包括用于存储、访问和检索各种数据的各种机制,所述各种机制包括:分层数据库、文件系统中的一组文件、专用格式的应用数据库、关系型数据库管理系统(RDBMS)等。每个这样的数据存储通常被包括在使用计算机操作系统(诸如上面提到的计算机操作系统之一)的计算装置中,并且以各种方式中的任何一种或更多种经由网络被访问。文件系统可通过计算机操作系统被访问,并且可包括以各种格式存储的文件。RDBMS除了利用用于创建、存储、编辑和执行所存储的程序的语言之外,RDBMS通常还使用结构化查询语言(SQL)(诸如上面提到的PL/SQL语言)。

在一些示例中,系统元素可被实现为在一个或更多个计算装置(例如,服务器、个人计算机等)上的计算机可读指令(例如,软件),所述计算机可读指令被存储在与所述计算装置相关联的计算机可读介质(例如,盘、存储器等)上。计算机程序产品可包括这种被存储在计算机可读介质上的用于执行在此描述的功能的指令。在此公开的由车辆ECU 104、远程信息处理控制单元108、软件更新管理器112和更新服务器120执行的一些操作或全部操作可以是计算机程序产品。在某示例中,这些计算机程序产品可作为软件被提供,当软件由一个或更多个处理器执行时,提供在此描述的操作。可选地,计算机程序产品可作为硬件或固件或者软件、硬件和/或固件的组合被提供。

对于在此描述的处理、系统、方法、启示等,应理解的是,虽然这种处理等的步骤已被描述为根据特定有序顺序发生,但是可利用以在此描述的顺序之外的顺序执行的所述步骤来实施这种处理。还应理解的是,可同时执行特定步骤,可添加其它步骤,或者可省略在此描述的特定步骤。换言之,在此对处理的描述被提供用于示出特定实施例的目的,并且不应以任何方式被解释为限制权利要求。

相应地,应理解的是,上面的描述意在为示意性的而非限制性的。当阅读上面的描述时,除了提供的示例之外的许多实施例和应用会是显然的。范围不应参考上面的描述来确定,而应参考权利要求以及这些权利要求所要求保护的等同物的全部范围来确定。可以预期和计划的是,未来的发展将发生在于此描述的技术中,并且所公开的系统和方法将被合并到这种未来的实施例中。总之,应理解的是,本申请能够进行修改和变型。

除非在此做出了明确的相反指示,否则权利要求中使用的所有术语意在给出在此描述的本领域技术人员所理解的它们最广义的合理解释以及它们的普遍含义。具体来讲,除非权利要求描述了明确的相反限制,否则诸如“一种”、“所述”、“该”等的单数冠词的使用应被理解为描述指示的元素中的一个或更多个。

本公开的摘要被提供以使得读者能够快速地确定本技术公开的本质。摘要服从于这种理解:摘要不被用于解释或限制权利要求的范围或含义。此外,在上述具体实施方式中,可以看到的是,各种特征在各种实施例中被组合在一起以用于使得本公开合理化。本公开的方法不被理解为反映这样的意图:所要求的实施例需要比在每个权利要求中清楚地叙述的特征更多的特征。相反地,如权利要求所反映的,发明的主题在于少于单个的公开的实施例的所有特征。因此,权利要求在此被合并到具体实施方式中,且每个权利要求作为独立要求的主题而独立。

虽然以上描述了示例性实施例,但是这些实施例并不意在描述本发明的所有可能形式。更确切地,说明书中所使用的词语是描述性词语而非限制性词语,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可将各种实现的实施例的特征进行组合以形成本发明的进一步的实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1