CN105791387B - 车辆控制更新方法和系统 - Google Patents

车辆控制更新方法和系统 Download PDF

Info

Publication number
CN105791387B
CN105791387B CN201610021119.6A CN201610021119A CN105791387B CN 105791387 B CN105791387 B CN 105791387B CN 201610021119 A CN201610021119 A CN 201610021119A CN 105791387 B CN105791387 B CN 105791387B
Authority
CN
China
Prior art keywords
vehicle
control
update
storage location
module
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
CN201610021119.6A
Other languages
English (en)
Other versions
CN105791387A (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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of CN105791387A publication Critical patent/CN105791387A/zh
Application granted granted Critical
Publication of CN105791387B publication Critical patent/CN105791387B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Abstract

本公开涉及一种车辆控制更新方法和系统。一种车辆可包括用于更新车辆模块中的控制的方法和系统。所述方法和系统可包括:接收将要存储在第一存储位置上的用于车辆模块的控制更新,在第一存储位置上安装接收到的控制,使用第二存储位置上的控制运行车辆模块,检查第一存储位置上的控制,如果检查有效,则使用第一存储位置上的控制来操作车辆模块,以代替第二存储位置上的控制。车辆模块可操作第一存储位置上的控制而不等待重新启动车辆,或者可延迟所述控制的使用,直到随后的事件(例如,重新启动或下载至当前模块可依赖的其它车辆模块)发生为止。

Description

车辆控制更新方法和系统
技术领域
在此描述了涉及针对车辆更新车辆控制的系统和方法。
背景技术
车辆具有可由软件控制的各种组件。有时,软件需要被更新。为了更新车辆组件的软件,可将车辆驾驶至经销商,由技术人员进行维护。技术人员可将线连接至车辆,以利用追踪车辆中的每个组件的各自软件水平以及可用的软件更新的系统。技术人员可手动地应用通过所述系统指示的软件更新,并将任何变化记录回所述系统中。
发明内容
在此描述了各种用于更新车辆和车辆模块中的控制的方法和结构。一种车辆控制更新方法可包括:接收将要存储在第一存储位置的用于车辆模块的控制更新;在第一存储位置上安装接收到的控制更新;使用第二存储位置上的控制运行车辆模块;检查第一存储位置上的控制更新;如果检查有效,则使用第一存储位置上的控制更新来操作车辆模块,以代替第二存储位置上的控制中的至少一个。
在示例中,所述操作包括:延迟操作第一存储位置上的控制更新,直到重新启动车辆为止。
在示例中,第二存储位置上的控制包括:发动机控制。
在示例中,所述操作包括:操作第一存储位置上的控制,而不等待重新启动车辆。
在示例中,第二存储位置上的控制包括:无线电控制或环境控制中的任何一个。
在示例中,所述检查包括:针对下载错误进行错误检查。
在示例中,所述检查包括:当第一存储位置上的至少一个控制依赖于进一步的控制更新时,等待激活第一存储位置上的所述至少一个控制,直到进一步的控制更新被接收、安装和检查为止。
一种示例性车辆可包括:车辆模块,被配置为:接收将要存储在第一存储位置上的控制更新;在第一存储位置上安装接收到的控制更新;使用第二存储位置上的控制来进行运行;检查第一存储位置上的控制;如果检查有效,则使用第一存储位置上的控制来进行操作,以代替第二存储位置上的控制。
在示例中,车辆模块将要延迟操作第一存储位置上的控制,直到重新启动车辆为止。
在示例中,第二存储位置上的控制包括:发动机控制和制动器控制中的至少一个。
在示例中,车辆模块将要操作第一存储位置上的控制,而不等待重新启动车辆。
在示例中,第二存储位置上的控制包括:无线电控制或环境控制中的任何一个。
在示例中,车辆模块将要针对下载错误进行错误检查。
在示例中,车辆模块在第一存储位置上的控制依赖于进一步的控制更新时将等待激活第一存储位置上的控制,直到所述进一步的控制更新被接收、安装和检查为止。
根据本发明,一种车辆控制更新方法包括:从服务器发送针对一类车辆的控制更新,所述服务器远离所述一类车辆中的车辆;在车辆从第二存储位置操作控制的情况下,接收发送的控制更新被车辆接收到并且被存储在第一存储位置的确认;接收发送的控制更新已通过检查的确认;存储以下信息:未被运行在车辆上的控制为第一存储位置上的控制,第二存储位置上的先前的控制正被运行在车辆上并且将被删除;使用第一存储位置上的控制来操作车辆模块,以代替第二存储位置上的相应的控制。
根据本发明的一个实施例,所述存储包括对以下信息的存储:如果第一存储位置上的控制依赖于进一步的控制更新,则等待激活第一存储位置上的控制,直到所述进一步的更新控制被接收、安装和检查。
根据本发明的一个实施例,所述存储包括对以下信息的存储:如果控制更新检查失败则车辆已恢复到先前的控制,并且进一步检查其它的控制更新以确定任何其它控制更新是否依赖于已被恢复的控制更新,然后,如果所述控制更新之间的依赖性存在,则使其它的控制更新恢复到先前的版本。
根据本发明的一个实施例,所述存储包括对以下信息的存储:车辆模块将要延迟操作第一存储位置上的控制,直到重新启动车辆为止,其中,第二存储位置上的控制包括发动机控制、制动器控制、无线电控制、环境控制或者它们的组合中的至少一个。
附图说明
图1示出了用于车辆的基于车辆的计算系统的示例性方框拓扑图;
图2示出了用于通过便携式装置向车辆提供控制更新的示例性车辆系统;
图3示出了用于从用户接收由便携式装置下载用于车辆的控制更新的同意的车辆系统的示例性用户界面;
图4示出了用于利用更新管理应用来识别将要安装至车辆的控制更新的示例性处理;
图5示出了用于利用更新管理应用来识别将要安装至车辆的控制更新的示例性处理;
图6示出了用于通过移动装置利用更新检索应用来下载软件更新的示例性处理;
图7示出了用于将下载的软件更新安装至车辆的示例性处理;
图8示出了用于对车辆更新控制更新的示例性处理。
具体实施方式
根据需要,在此公开本发明的详细示例;然而,将要理解的是,所公开的示例仅为本发明的示例,本发明可用各种替代形式来实现。附图不必按比例绘制;一些特征可被夸大或最小化以示出特定组件的细节。因此,在此公开的具体结构和功能细节不应被解释为具有限制性,而仅为用于教导本领域技术人员以多种方式利用本发明的代表性基础。
图1示出了用于车辆31的基于车辆的计算系统(VCS)1的示例框式拓扑图。这种基于车辆的计算系统1的示例为由福特汽车公司制造的SYNC系统。设置有基于车辆的计算系统的车辆可包含位于车辆中的可视前端界面4。如果所述界面设置有例如触摸敏感屏幕,则用户还能够与所述界面进行交互。在另一说明性实施例中,通过按钮按压、具有自动语音识别和语音合成的口语对话系统来进行交互。界面4可包括电子控制模块,其中,电子控制模块使用硬件执行控制以提供显示并与用户(例如车辆驾驶员)进行交互。
在图1所示的说明性实施例1中,处理器3或者中央处理单元(CPU)3控制基于车辆的计算系统的至少一部分操作。设置在车辆31内的处理器允许对命令、控制和路由进行车载处理。另外,处理器3连接到非持久性存储器5和持久性存储器7两者。在此说明性实施例中,非持久性存储器5是随机存取存储器(RAM),持久性存储器7是硬盘驱动器(HDD)或闪存7。一般说来,持久性(非暂态)存储器7可包括当计算机或其它装置掉电时保持数据的所有形式的存储器。这些存储器包括但不限于:HDD、致密盘(CD)、数字通用盘(DVD)、磁带、固态驱动器、便携式通用串行总线(USB)驱动器以及任何其它适当形式的持久性存储器7。
处理器3还设置有允许用户与处理器3进行交互的若干不同的输入。在此说明性实施例中,麦克风29、辅助输入25(用于输入33)、USB输入23、全球定位系统(GPS)输入24、屏幕4(其可为触摸屏显示器)和蓝牙输入15全部被设置。这些输入中的每个可包括电子控制模块,所述电子控制模块执行控制以对所述输入的各种电子器件进行操作。还设置有输入选择器51,以允许用户在各种输入之间进行切换。麦克风和辅助连接器两者的输入在被传送到处理器3之前,由转换器27对所述输入进行模数转换。尽管未示出,但是与VCS 1进行通信的众多车辆组件和辅助组件可使用车辆网络(诸如但不限于汽车局域网络(CAN)总线)向VCS 1(或其组件)传送数据并传送来自VCS(或其组件)的数据。这样的车辆组件可由处理器3来控制,其它执行控制的电子电路或电子控制模块可以以硬件或执行用于特定车辆组件的控制的硬件的形式存在。
VCS系统1的输出可包括但不限于视觉显示器4以及扬声器13或立体声系统输出。扬声器13连接到放大器11,并通过数模转换器9从处理器3接收其信号。还可分别沿19和21所示的双向数据流产生到远程蓝牙装置(诸如个人导航装置(PND)54)或USB装置(诸如车辆导航装置60)的输出。这些输出中的每个可包括电子控制模块,所述电子控制模块执行控制以对所述输出的各种电子器件进行操作。在一些示例中,VCS系统例如通过执行控制的电子电路或电子控制模块执行控制。
在一说明性实施例中,系统1使用蓝牙收发器15与便携式装置53(例如,蜂窝电话、智能电话、PDA或具有无线远程网络连接能力的任何其它装置)进行通信(17)。便携式装置53随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,蜂窝塔57可以是WiFi接入点。
便携式装置53与蓝牙收发器之间的示例性通信由通信14表示。
可通过按钮52或类似的输入来指示将便携式装置53与蓝牙收发器15进行配对。相应地,CPU被指示车载蓝牙收发器将与便携式装置53中的蓝牙收发器进行配对。
可利用例如与便携式装置53关联的数据计划、话上数据或双音多频(DTMF)音在CPU 3与网络61之间传送数据。可选地,可期望包括具有天线18的车载调制解调器63,以便在CPU 3与网络61之间通过语音频带传送数据(16)。便携式装置53随后可用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,调制解调器63可与蜂窝塔57建立通信(20),以与网络61进行通信。作为非限制性示例,调制解调器63可以是USB蜂窝调制解调器63,并且通信20可以是蜂窝通信。
在一说明性实施例中,处理器3设置有包括用于与调制解调器应用软件进行通信的API的操作系统。调制解调器应用软件可访问蓝牙收发器上的嵌入式模块或固件,以完成与(诸如在便携式装置中发现的)远程蓝牙收发器的无线通信。蓝牙是电子与电气工程师协会(IEEE)802个域网(PAN)协议的子集。IEEE 802局域网(LAN)协议包括无线保真(WiFi),并与IEEE 802PAN具有相当多的交叉功能。两者都适合于车辆31内的无线通信。可在本领域使用的另一通信方式是自由空间光通信(诸如IrDA)和非标准化消费者IR协议。
在另一实施例中,便携式装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当便携式装置53的拥有者可在数据被传送的同时通过装置说话时,可实施已知为频分复用的技术。在其它时间,当拥有者没有在使用装置时,数据传送可使用整个带宽(在一示例中是300Hz至3.4kHz)。尽管频分复用对于车辆31与互联网之间的模拟蜂窝通信而言会是常见的并仍在被使用,但其已经很大程度上被用于数字蜂窝通信的码域多址(CDMA)、时域多址(TDMA)、空域多址(SDMA)的混合体所替代。这些都是ITU IMT-2000(3G)兼容的标准,为静止或行走的用户提供高达2mbs的数据速率,并为在移动的车辆中的用户提供高达385kbs的数据速率。3G标准现在正被IMT-Advanced(4G)所替代,其中,所述IMT-Advanced(4G)为在车辆中的用户提供200mbps的数据速率,并为静止的用户提供1gbps的数据速率。如果用户具有与便携式装置53关联的数据计划,则所述数据计划可允许宽带传输且所述系统可使用宽得多的带宽(加速数据传送)。在另一实施例中,便携式装置53被安装至车辆31的蜂窝通信装置(未示出)所替代。在另一实施例中,移动装置(ND)53可以是能够通过例如(而不限于)802.11g网络(即,WiFi)或WiMax网络进行通信的无线LAN装置。
在一实施例中,传入数据可经由话上数据或数据计划穿过便携式装置53、穿过车载蓝牙收发器,并进入车辆31的处理器3。例如,在某些临时数据的情况下,数据可被存储在HDD或其它存储介质7上,直至不再需要所述数据时为止。
其它的可与车辆31进行接口连接的源包括:具有例如USB连接56和/或天线58的PND 54、具有USB 62或其它连接的车辆导航装置60、车载GPS装置24或与网络61连接的远程导航系统(未示出)。USB是一类串行联网协议中的一种。IEEE 1394(火线TM(苹果)、i.LINKTM(索尼)和LynxTM(德州仪器))、EIA(电子工业协会)串行协议、IEEE 1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB开发者论坛)形成了装置-装置串行标准的骨干。多数协议可针对电通信或光通信来实施。
此外,CPU 3可与各种的其它辅助装置65进行通信。这些装置65可通过无线连接67或有线连接69来连接。辅助装置65可包括但不限于个人媒体播放器、无线保健装置、便携式计算机等。
此外或可选地,可使用例如WiFi(IEEE 803.11)收发器71将CPU 3连接到基于车辆的无线路由器73。这可允许CPU 3在本地路由器73的范围中连接到远程网络。
除了由位于车辆31中的车辆计算系统执行示例性处理之外,在某些实施例中,还可至少部分地由车辆计算系统外部的并与车辆计算系统进行通信的一个或更多个计算系统来执行示例性处理。这样的系统可包括但不限于:无线装置(例如但不限于移动电话)或通过无线装置连接的远程计算系统(例如但不限于服务器)。总体上,这样的系统可被称为与车辆关联的计算系统(VACS)。在某些实施例中,VACS的特定组件可根据系统的特定实施而执行处理的特定部分。通过示例而并非限制的方式,如果处理具有与配对的无线装置进行发送或者接收信息的步骤,则很可能由于无线装置不会与自身进行信息的“发送和接收”而使得无线装置不执行该处理。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的VACS。在所有解决方案中,可以预期的是,至少位于车辆31内的VCS 1本身能够执行示例性处理。
尽管图1的上述描述针对的是车辆31,但是将理解的是,网络61可同时与多个车辆进行通信。在示例中,可使用网络和合适的通信信道将针对一类车辆的控制更新发送至多个车辆。在示例中,与所述车辆的通信是在无线通信信道上,所述无线通信信道允许服务器远离所述车辆中的每一个,并允许所述车辆彼此远离。所述车辆可位于任何位置,例如,跨越国家、大陆或者全球各地。
图2示出了与用于通过电气或电子通信(例如,直接通过无线或有线网络61或通过便携式装置53)向车辆31提供控制更新206的系统200进行通信的车辆31。系统200可包括通过网络61(例如,直接或经由便携式装置53)与更新服务器210进行通信的VCS 1。更新服务器210可与控制指令数据存储区208进行通信,所述控制指令数据存储区208被配置为保存控制指令更新206以进行下载。系统200还可包括更新管理应用216,所述更新管理应用216被安装至车辆31,并被配置为将控制更新206安装至车辆31的多个模块202-A至202-C(统称为202)。模块202-A、202-B和202-C分别包括多个控制指令存储位置,这里被指定为205-1和205-2、207-1和207-2以及209-1和209-2。在模块分别具有多个存储位置的情况下,模块可继续执行先前加载的控制,因此,在新的或被更新的控制正在被下载至模块的同时允许车辆进行操作。模块将继续使用先前的指令,直到新加载的指令通过有效性检查处理。此后,模块202-A、202-B或202-C可执行新加载的指令。如果新的控制在新的控制被第一次使用之后被确定为有问题,则模块202-A、202-B或202-C可恢复回至先前的控制。
便携式装置53可经由广域数据连接214与更新服务器210进行通信,并通过局域数据连接212与VCS 1的更新管理应用216进行通信。如下面详细解释的,安装至便携式装置53的更新检索应用218可被配置为:从更新管理应用216接收用于下载控制更新206的指示,当便携式装置53连接至远离车辆31的合适的广域数据连接214时下载控制更新216,当便携式装置53返回到车辆31时将下载的控制更新206提供至VCS 1。尽管示例性系统200在图2中被示出,但图2中示出的示例性组件并不意在具有限制性。实际上,系统200可具有更多或更少的组件,并且附加的或可选的组件和/或实施方式可被使用。
车辆模块202可包括各种车辆组件,所述各种车辆组件被配置为接收相关控制的更新,所述相关控制可以以软件、固件或配置设置的形式存在。作为一些非限制性的示例,车辆模块202可包括动力传动系统控制模块(PCM)、制动系统控制模块(BSCM)、车身控制模块(BCM)、便利控制模块(CCM)、电池管理模块、环境控制单元、发动机控制模块(ECM)和VCS1本身。
车辆信息204可包括被配置为识别车辆31或车辆31配置的信息。例如,车辆信息204可包括被发布至车辆31的CAN总线的车辆识别码(VIN)或调制解调器63的用户识别模块(SIM)信息(诸如国际移动设备标识(IMEI))。此外或可选地,车辆信息204可包括针对车辆31的车辆模块202的至少一部分硬件和软件组件的版本信息。
控制更新206可包括用于解决与各种车辆模块的操作相关的问题或向模块中的当前控制提供改进的功能的车辆31的控制指令或设置的改变。例如,控制更新206可包括用于一个或更多个车辆模块202的更新配置设置和/或将安装在一个或更多个车辆模块202上的控制(例如,指令、软件或固件)的更新版本。在一些情况下,控制更新206可包括单个段,而在其它情况下,控制更新206可被组织成多个分段、分区或分块,其中,可下载所有分段来完成将要安装的整个控制更新206。
控制数据存储区208可被配置为存储控制更新206。控制数据存储区208还可被配置为存储与保存的控制更新206有关的附加信息。例如,控制数据存储区208可被配置为保存哪些车辆模块202与哪些控制更新206关联的指示。控制数据存储区208还可存储指示更新206与车辆模块或配置的兼容性的信息。例如,用于控制更新206的存储条目可指示所述更新206与车辆31的特定品牌和型号兼容或所述更新206对另一车辆模块202的版本具有依赖性,所述另一车辆模块202的版本为特定的版本或多个版本。
更新服务器210可包括一个或更多个装置,所述一个或更多个装置被配置为将数据存储区208所存储的更新206提供至车辆31。例如,更新服务器210可被配置为从车辆31接收针对可用更新206的请求。所述请求可包括车辆信息204,车辆信息204用于在车辆31当前被配置时允许服务器210向数据存储区208查询可应用到车辆31的更新206。服务器210可响应于所述请求而提供用于更新请求车辆31的更新206的指示,其中,所述更新206可被下载和安装。服务器210还可被配置为根据提供的指示向请求下载更新206的装置提供更新206。
VCS 1可被配置为通过网络61与更新服务器210进行通信。在一些情况下,VCS 1可利用VCS 1的集成网络功能(诸如内部调制解调器63)来协助与更新服务器210的通信。在其它情况下,VCS 1可利用与便携式装置53的局域数据连接212经由便携式装置53的广域数据连接214来协助与更新服务器210的通信。作为示例,对于运行安卓操作系统(由加利福尼亚州硅谷的开放手机联盟维护)的便携式装置53,可经由无线蓝牙连接建立数据连接212。作为另一示例,对于运行iOS操作系统(由加利福尼亚州库比蒂诺的苹果公司维护)的便携式装置53,可以通过有线USB连接(未示出)另外或可选地建立数据连接212。
便携式装置53还可被配置为在便携式装置53和更新服务器210之间建立广域数据连接214(例如,互联网连接),诸如通过网络61的连接。便携式装置53还可被配置为保存关于针对下载信息哪些广域数据连接214(哪些类型的广域数据连接214)可能受到用户偏好的信息。例如,为避免移动数据计划超额,便携式装置53可被配置为在经由蜂窝广域数据连接214连接至网络61时推迟用于下载文件的请求,并可被配置为在连接至Wi-Fi广域数据连接214时处理下载请求(包括任何被推迟的请求)。作为另一可行方式,便携式装置53可被配置为推迟请求,直到便携式装置53经由偏好的广域数据连接214的列表中的(例如,由用户从便携式装置53的网络控制面板用户界面中选择的)广域数据连接214连接至网络61为止。
由于便携式装置53的便携性,应当注意的是,便携式装置53可在一些情况下(当便携式装置53未通过数据连接212与VCS 1进行通信时)保持广域数据连接214。作为一个示例,当便携式装置53未与车辆31配对或者未处于车辆31附近时,便携式装置53可通过用户的家庭Wi-Fi网络或公共Wi-Fi来利用广域数据连接214。便携式装置53可从车辆中移出,例如,由用户携带并离开车辆。
更新管理应用216可被配置为管理控制更新206到车辆31的安装。例如,VCS 1的更新管理应用216可从用户接收用于请求针对控制更新206进行检查的命令。作为另一可行方式,更新管理应用216可触发针对新的控制更新206的周期性检查。当被触发时,更新管理应用216可被配置为向更新服务器210发送用于查询用于车辆31的控制更新206是否为可用的请求。例如,更新管理应用216可使用车辆信息204(或者,如果控制数据存储区208保存当前车辆信息204,则使用车辆31的标识符)来查询更新服务器210,并且可从更新服务器210接收指示用于车辆31的新的控制更新206是否为可用的响应(例如,用于下载的用于车辆31的控制更新206的链接或其它标识符)。如果对更新管理应用216的响应指示控制更新206对于车辆31是可用的,则更新管理应用216还可被配置为使这些将要下载和安装的控制更新206排成队列。在另一示例中,例如,当车辆在经销商处进行维修时,经销商可通过向车辆发送代码来触发更新管理应用216,并访问存储在车辆模块202中的当前版本或控制。
更新检索应用218可被配置为使得便携式装置53通过广域数据连接214下载控制更新206。例如,更新检索应用218可被配置为接收控制更新206的列表,所述控制更新206的列表被更新管理应用216识别为对于下载和安装是可用的。更新检索应用218还可被配置为检测便携式装置53何时具有对适合下载控制更新206的广域数据连接214的访问权,并可在这样连接时执行下载。作为示例,更新检索应用218可被配置为通过预定义的批准的连接或连接类型来下载更新。作为一可行方式,预定义的连接或者连接类型可由用户从更新检索应用218的网络控制面板用户界面来进行选择。作为另一可行方式,更新检索应用218可在默认情况下仅选择特定的类型(例如,优先于蜂窝连接而选择Wi-Fi连接)。可利用批准的连接或连接类型来避免针对检索车辆31更新而引起的数据使用费用或漫游费用。在一可行方式中,更新检索应用218可被配置为在连接至远离车辆31的相对高带宽的广域数据连接214(诸如用户的家庭Wi-Fi网络)时下载控制更新206。
通过使用便携式装置53的设施,车辆31可以相应地能够使车辆31的控制更新206通过广域数据连接214而被下载,所述广域数据连接214对车辆31可能是不可用的,但是对便携式装置53可能是可用的。因此,当便携式装置53远离车辆31但连接至网络61时,更新检索应用218可允许便携式装置53下载控制更新206。
当便携式装置53返回至车辆31时,更新检索应用218可被配置为将下载的控制更新206提供至VCS 1。更新检索应用218还可被配置为将指示何种控制更新206或控制更新206的哪些部分已被下载的状态信息提供至VCS1的更新管理应用216。作为另一可行方式,更新管理应用216可被配置为针对任何下载的控制更新206的状态查询便携式装置53,而更新检索应用218可被配置为对任何下载的控制更新206进行回应,并且用指示何种控制更新206或控制更新206的哪些部分已被下载的状态信息进行回应。
在一些情况下,一些控制更新206或控制更新206的部分可使用便携式装置53来下载,而其它控制更新206或者控制更新206的部分可由车辆31来下载。更新管理应用216还可被配置为管理已下载的以及可能仍需要更新的控制更新206或者控制更新206的部分的标识。这种仍被需要下载的更新信息可作为更新列表由更新管理应用216提供至更新检索应用218。因此,如果VCS 1以其它一些方式(例如,通过由VCS 1下载、通过使用与VCS 1关联的另一便携式装置53下载等)来接收控制更新206或者控制更新206的部分,则便携式装置53可被告知该更新状态,并且可从其用于下载的控制更新206的列表中去除所检索到的控制更新206。
在另一示例中,更新检索应用218可(例如,通过VCS 1)被运行在车辆31上。更新检索应用218大体上可操作与上述针对便携通信装置53描述的内容相同的内容。更新检索应用218还可以是车辆中的更新管理应用216的一部分。
尽管图2的上述描述针对的是车辆31和移动装置53,但是将理解的是,网络61可同时与多个车辆31和关联的移动装置53进行通信。在示例中,可使用网络和合适的通信信道将针对一类车辆的控制更新发送至多个车辆和多个关联的移动装置53。可在服务器210上基于车辆的品牌和型号以及在组成该类的个体车辆中安装的特征和附件对车辆进行分类。个体车辆可基于其发动机型、信息娱乐系统、先前安装的控制模块和其它可更新的车辆模块而成为该类中的一部分。在示例中,车辆的通信是在无线通信信道上,所述无线通信信道允许服务器远离所述车辆中的每一个,并允许所述车辆彼此远离。所述车辆可位于任何位置,例如,跨过国家、大陆或者在世界各地。
图3示出了用于从用户接收由便携式装置53或直接由车辆31通过网络61从更新服务器210下载用于车辆31的控制更新206的同意的车辆系统200的示例性用户界面300。用户界面300可由车辆31中的VCS 1经由显示器4来呈现,并且可包括用于请求用户同意使用更新检索应用218下载用于车辆31的控制更新206的由更新管理应用216提供的消息提示302。如示出的,消息提示302作为上述用户界面300的其它内容的消息而被包括在用户界面300中。应当注意的是,在其它示例中,消息提示302可以以其它形式(诸如经由全屏用户界面)来提供。
用户界面300还可包括被配置为从用户接收用户是否同意使用更新检索应用218的指示的控件。作为示例,用户界面300可包括用于从用户接收用户同意使用更新检索应用218的指示的“是”控件306、用于从用户接收用户不同意使用更新检索应用218的指示的“否”控件308、以及用于从用户接收用户希望在以后被提供消息提示302的“稍后询问”控件310。如果用户同意使用更新检索应用218,则更新管理应用216可利用更新检索应用218来帮助控制更新206到车辆31的下载。否则,更新管理应用216可退回至不使用更新检索应用218的功能,诸如使用便携式装置53作为数据连接(如果用户授权这样做的话)、使用VCS 1的内部车载调制解调器63或控制更新206可能是不可用的。在一些示例中,车辆31将自动下载控制,并将所述控制存储在车辆的存储器中或存储在车辆模块202中的非当前控制存储器中。
用户界面300还可被用于经由显示器向用户指示:更新已被成功下载并被存储在合适的模块202中。用户界面300可在控制更新已通过各种检查之后向用户指示:控制更新将在车辆的下一次重新启动被启动。用户界面300还可向用户提供用于使得模块回滚至先前的控制的输入控件,如果更新的控制针对一些模块工作不正常的话,如果这样的回滚(roll back)没有安全问题(例如,仅车辆娱乐控制可由用户通过用户界面300进行回滚)的话。用户界面300还可允许用户注册或确认他/她的车辆是一种类别的成员,该类别的成员可利用服务器在全球范围内进行更新或被选择为大规模更新过程的一部分。
图4示出了用于利用更新管理应用216来执行控制更新206到车辆31的处理400。例如,处理400可由VCS 1来执行,所述VCS 1执行更新管理应用216并与由便携式装置53或服务器210执行的更新检索应用218进行通信。处理400可使用通信装置400和在此描述的其它结构进行。
在操作401,服务器210指示控制更新对于车辆模块是可用的。一旦调制解调器与服务器进行通信,则操作410还可请求用下游模块验证安全性。
在操作403,车辆调制解调器可从车辆模块202或VCS 1中的另一位置请求安全信息。所述安全信息可以是针对车辆和车辆中的特定模块的唯一标识符。
在操作405,车辆模块202可发送将要使用的用于确认或拒绝针对控制更新的安全访问的信息。车辆模块202可发送表示存储在车辆模块中的当前控制的信息。其它安全信息可包括加密数据,例如,令牌(token)、密钥等。如果车辆是一种类别中的多个车辆的大规模更新的一部分,则操作405可基于每个车辆来执行。即,操作405可针对每个车辆来执行。
在操作407,车辆可将安全信息发送至服务器以进行比较。所述比较处理可用于确认或拒绝针对将控制更新从服务器发送到车辆以及从服务器发送到车辆模块的安全访问。操作407针对一类车辆的大规模更新的每个车辆部分来执行。
在操作409,如果任何车辆模块、车辆(例如,VCS 1)或服务器拒绝控制更新,则服务器可结束更新处理400。下一次车辆联系服务器或服务器接收到新的控制更新时,处理400可在操作401重新启动。操作409在具有单个车辆的个体基础上执行,或者在多个车辆的大量基础上执行,其中,所述多个车辆是接收控制更新的一类车辆的一部分。
在操作411,服务器可将关于控制更新的信息发送至车辆。这种信息可包括针对控制更新到车辆或车辆模块的完整和精确的发送的验证所需的总的块大小、元数据、加密密钥或者关于控制更新的其它信息。
在操作413,控制更新信息在车辆中(例如,在调制解调器中)被接收,并被发送至车辆模块。
在操作415,车辆模块向车辆确认控制更新信息的接收。在操作416,车辆向服务器确认控制更新信息的接收。
在操作417,服务器将控制更新发送至车辆。在操作419,车辆将控制更新存储在车辆模块中。如果控制更新以数据块进行传送,则服务器还将块编号发送至车辆,所述车辆将块编号传递至车辆模块。
在操作421,车辆模块通过向车辆发送块编号来确认块的接收。
在操作423,车辆可向服务器请求下一个块。该请求可包括向服务器发送的块编号,所述块编号已经被成功地存储在车辆模块中。在一示例中,车辆追踪接收到的块编号,并仅向服务器请求下一个块。
在操作425,服务器将下一个控制更新发送至车辆。在操作427,车辆将控制更新存储在车辆模块中。如果控制更新以数据块进行传送,则该下一个控制更新为到车辆的下一个块,所述车辆将该下一个块编号传递至车辆模块。
在操作429中,车辆模块通过向车辆发送块编号来确认块的接收。
在操作431中,车辆可从服务器请求下一个块。该请求可包括向服务器发送已经被成功地存储在车辆模块中的块编号。在示例中,车辆追踪接收到的块编号,并仅从服务器请求下一个块。
在操作433,服务器将下一个控制更新发送至车辆。操作421至操作433可被重复,直到整个控制更新被发送至车辆模块并被存储在车辆模块中为止。
在操作435,车辆模块可向车辆通信装置发送停止数据传输请求。停止数据传输请求可以是由于完成控制更新的下载(操作439)而引起的,或者可以是当前传输的中断(操作435)而引起的,例如,由于电力中断、关闭车辆、缺乏到从车辆到服务器的通信链路或通过便携式装置到服务器的通信链路而引起的。该中断还可由另一车辆控制模块更新的传输(例如,直接连接、有线连接)来触发。
在操作437,车辆将停止数据请求从车辆发送至服务器。
在操作439,将安装完成指示从车辆模块发送至车辆。在操作441,车辆向服务器发送安装完成指示。
在操作443,服务器识别出车辆模块指示控制更新的安装被车辆模块接收到。
在操作445,车辆向车辆模块发送安装完成信号并可触发激活程序。该激活程序可对存储在车辆模块存储器中的非激活位置上的控制更新执行有效性检查。有效性检查可包括和校验、哈希校验、块校验、错误校正码等。有效性检查还可包括使用用于控制更新的下载指令的模拟。所述控制更新实际上并未运行模块或者主动地控制车辆的部分操作。替代地,将虚拟输入输入至控制更新中,并存储由此产生的输出。如果这是有效的,并且控制更新不依赖于另一更新,则控制更新可投入激活使用。激活使用可以是立即的。激活使用可被延迟,直到车辆的下一次启动为止。激活使用还可被延迟,直到被用于启动针对车辆模块的控制更新的其它指令进一步触发为止。
在操作447,车辆指示下载的控制更新是激活的。所述控制更新是在车辆中使用的针对车辆模块的控制。
在操作449,车辆将激活完成和车辆模块正在使用控制更新的信息发送至服务器。
在操作451,服务器记录被加载至车辆模块中的控制。车辆或车辆模块中这一新的控制或更新后的控制被存储在服务器中,当服务器确定新的控制在与特定车辆和特定车辆中的特定控制相关的服务器中时,所述服务器可使用该信息来帮助启动新的更新处理。
将理解的是,使用图4的方法的服务器可向单个车辆发送控制更新或者向多个车辆广播控制更新。所述多个车辆可以是被识别为需要控制更新的一类车辆的一部分。
图5示出了用于利用更新管理应用216对车辆31执行的控制更新206的处理500。例如,处理400可由VCS 1执行,所述VCS 1执行更新管理应用216并与便携式装置53执行的更新检索应用218进行通信。
在操作502,更新管理应用216从用户接收用于利用便携式装置53执行的更新检索应用218来下载控制更新206的同意。例如,更新管理应用216可经由显示器4向用户呈现消息提示302,并可通过是控件306来接收用户同意使用更新检索应用218来帮助控制更新206至车辆31的下载的输入。在一些示例中,车辆31可在没有来自用户的输入的情况下自动检查更新并下载更新。在这种情况下,车辆可在控制被下载之后请求用户授权使用更新的控制。在另一示例中,如果这样的更新被更新提供者(例如,服务器210)视为具有关键性,则车辆可自动地使用控制更新。
在操作504,更新管理应用216识别车辆信息204。例如,VCS 1可被配置为查询这些车辆31的车辆模块202的硬件和软件组件的至少一部分的存在和版本信息。
在操作506,更新管理应用216查询用于车辆31的控制更新206。例如,更新管理应用216可被配置为向更新服务器210发送用于查询用于车辆31的控制更新206是否是可用的请求。例如,更新管理应用216可使用车辆31的标识符(例如,车辆31VIN、车辆31SIM信息等)来查询更新服务器210。
在操作508,更新管理应用216接收用于安装控制更新206的指示。例如,响应于针对用于车辆31的控制更新206的查询,更新管理应用216可从更新服务器210接收指示用于车辆31的新的控制更新206(例如,用于下载用于车辆31的控制更新206的链接或其它标识符)是否是可用的响应。
在操作510,更新管理应用216可使将要安装的控制更新206排成队列。例如,如果更新服务器210对更新管理应用216的响应指示控制更新206对于车辆31是可用的,则更新管理应用216可进一步被配置为使那些将要下载和安装的控制更新206排成队列。
在操作512,更新服务器210通过网络61将控制更新发送至便携式装置53,以稍后安装至车辆31或者将控制更新直接发送至车辆31。下载的控制更新206随后被存储在车辆存储器(例如,模块202的当前非激活存储器)中。在示例中,车辆模块202都在使用车辆模块202的第一存储位置(例如,205-1、207-1和209-1(图2))。用于车辆模块的任何控制更新被存储在第二存储位置(例如,205-2、207-2和209-2(图2))。
在操作514,对存储在模块202中的下载的控制更新执行各种检查。可使用各种检查技术(例如,和校验、哈希校验、块校验、错误校正码等)进行控制的检查。如果车辆模块202中的控制更新成功地通过错误检查,则下载的控制更新可被标记为有效并准备使用。这可以使得VCS 1通过显示器4向用户指示新的控制做好了使用的准备。标记也可向VCS 1和模块指示有效的控制是否应立即替换当前运行的控制,例如,模块202从第一存储器中的控制切换至第二存储器中的控制,或者等待直到下一次车辆启动为止。立即激活对于马达控制、制动系统或者其它重要的车辆操作可能是不可用的。立即激活对于一些用户交互(例如,无线电调谐器、便携式装置配对或通信、扬声器放大、娱乐系统等)可能是可用的。
在操作516,确定控制的激活,其可包括检查以确定下载的控制是否可与当前运行的其它控制一起进行操作或者是否需要对于另一控制的更新。如果下载的控制需要对于另一控制的更新,则下载的控制被标记为不能操作,直到另一控制被更新为止。例如,参照图2,控制更新被加载至模块202-A中的存储器205-2中。模块202-A当前正在运行存储在存储器205-1中的控制。存储器205-2中的控制更新依赖于在模块202-B上运行的控制。然而,模块202-B也正在从模块202-B的第一存储位置207-1运行控制,所述控制与存储器205-2中的下载的控制不兼容。存储器205-2中的下载的控制被进行检查错误并随后被标记为不投入使用,直到新的控制被下载至模块202-B之后为止。用于模块202-A的这些新的控制和用于模块202-B的这些新的控制两者都未被使用,直到用于模块202-A的这些新的控制和用于模块202-B的这些新的控制中的每一个被存储在模块中并通过错误检查。
在操作516之后,处理500结束。
图6示出了用于通过便携式装置53利用更新检索应用218来下载软件更新206的处理600。例如,处理600可由VCS 1来执行,所述VCS 1执行更新管理应用216并与便携式装置53执行的更新检索应用218进行通信。
在操作602,更新检索应用218确定到VCS 1的局域数据连接212是否是可用的。作为示例,对于运行安卓操作系统(其它的操作系统也可被使用,例如,黑莓OS 10、iOS或移动微软OS)的便携式装置53,更新检索应用218可确定便携式装置53是否指示经由无线蓝牙连接与VCS 1建立局域数据连接212。如果更新检索应用218确定到VCS 1的局域数据连接212是可用的,则控制转到操作604。否则,控制转到操作606。
在操作604,更新检索应用218使将要安装的软件更新206与更新管理应用216同步。例如,更新检索应用218可被配置为接收软件更新206列表,所述软件更新206列表被更新管理应用216确定为对于下载和安装是可用的。作为另一示例,更新检索应用218可被配置为向VCS 1的更新管理应用216提供状态信息,所述状态信息指示哪些软件更新206或软件更新206的哪些部分已被下载至便携式装置53。
在操作606,更新检索应用218确定便携式装置53和更新服务器210之间的广域数据连接214是否是可用的。例如,更新检索应用218可检测便携式装置53何时已经接入适合于软件更新206下载的广域数据连接214,并可在这样连接时执行下载。例如,更新检索应用218可被配置为通过预定义的许可的连接或者连接类型来下载所述更新,以避免针对捕获车辆31的更新而引起的使用费用或者漫游费用。作为一个可行方式,更新检索应用218可被配置为当连接至远离车辆31的相对高的带宽的广域数据连接214(诸如用户的家庭Wi-Fi网络)时下载软件更新206。如果合适的广域数据连接214是可用的,则控制转到操作608。否则,控制转到操作602。
在操作608,更新检索应用218执行软件更新206的下载。因此,通过使用便携式装置53的设施,车辆31能够使车辆的控制更新206通过广域数据连接214而被下载,所述广域数据连接214对车辆31可能是不可用的,但对移动装置53可能是可用的。因此,当便携式装置53远离车辆31但连接至网络61时,更新检索应用218可允许便携式装置53下载软件更新206。在操作608之后,控制转到操作602。
图7示出了用于将下载的软件更新206安装至车辆31的处理700。例如,处理700可由VCS 1执行,所述VCS 1执行更新管理应用216并与便携式装置53执行的更新检索应用218进行通信。
在操作702,更新管理应用216接收由便携式装置53下载的软件更新206。例如,当便携式装置在经由合适的广域数据连接214下载软件更新206之后返回到车辆31时,更新检索应用218可被配置为将下载的软件更新206提供至VCS 1。
在操作704,更新管理应用216安装下载的软件更新206。例如,更新管理应用216可将更新的配置或软件提供至车辆模块202或被更新的车辆模块202。
在操作706,更新管理应用216向用户通知完成更新。例如,更新管理应用216可经由显示器4将信息提示402呈现给用户,以向用户通知软件更新206安装至车辆31。在操作706之后,处理700结束。
图8示出了用于利用更新管理应用216对车辆31执行控制更新206的处理800。例如,处理800可由VCS 1来执行,所述VCS 1执行更新管理应用216并与便携式装置53执行的更新检索应用218进行通信。在示例中,处理800可在上述参照图4至图7描述的处理之后被执行。
在操作801,下载至车辆31中的控制更新(例如,存储在存储器或单独的模块中的控制更新)被验证为是有效的。控制更新的验证可通过车辆中(例如,通过VCS 1)的各种测试来进行。所述验证可测试控制更新中的指令的有效性。在一些情况中,控制更新可依赖于另一控制或控制更新。当存在多个控制更新时,对所有控制更新执行验证。如果所有的控制更新进行了验证,则处理800可在操作809向服务器210报告针对所有控制更新的肯定的验证。如果至少一个控制更新未通过验证,则处理800移至操作803。
在操作803,对未通过的控制更新的激活被停止,并将在车辆中失去活性。未通过的控制更新将不会被使用于控制车辆中的任何模块。
在操作805,可确定是否存在依赖于未通过或未被验证的控制更新的控制更新。如果不存在依赖于未通过的控制更新的控制更新,则处理800移至操作809。如果存在依赖于未通过的控制更新的控制更新,则这些控制更新恢复到这些控制更新的先前的版本。处理800随后循环回到操作805以检查其它依赖更新,所述其它依赖更新依赖于任何被恢复的更新。即,如果第一控制更新未通过且第二控制更新依赖于第一控制更新,则第一控制和第二控制两者保持第一控制和第二控制的先前的版本或者改变回至第一控制和第二控制的先前的版本。第三控制更新可依赖于第二控制更新,所述第二控制还未恢复至该控制的先前的版本。第三控制更新现在恢复至第三控制的先前的版本,因为该控制更新依赖于目前在车辆中未被使用的第二控制更新的版本。该循环可进行迭代,直到没有进一步依赖的控制为止,然后,在操作809向服务器210报告控制和控制更新的状态。此后,处理800可结束。
在所公开的处理上进行变化是可能的。例如,在一些情况下,更新检索应用218可被配置为针对将要安装的软件更新206查询更新服务器210。作为另一示例,在一些情况下,更新检索应用218可被配置为使特定的软件更新206优先于其它更新。例如,如果将要安装的软件更新206被指示为高优先级的更新,则更新检索应用218可被配置为通过任何可用的连接来检索该高优先级的软件更新206,而不必等待偏好的连接或连接类型。
在此描述的示例允许在控制更新被发送至车辆并被下载至车辆模块的同时继续操作车辆。车辆模块中的多个存储位置的使用允许该模块存储非激活控制和激活控制两者。控制更新在当前未激活的位置中的存储允许车辆时间在车辆模块内以及在与其它车辆模块和组件一起使用时这两种情况下执行有关该控制的有效性和该控制的可操作性的检查。
在此描述的示例允许将控制更新发送至单个车辆或者广播至多个车辆。多个车辆可以是一类车辆的一部分,所述一类车辆的一部分被识别为需要控制更新。所述控制更新的来源为远离接收更新的车辆的服务器,并且到车辆的通信信道(例如,无线通信)被用于将控制更新发送至车辆或车辆的移动装置代理。
虽然以上描述了示例性实施例,但这些实施例并不意在描述本发明的所有可能形式。更确切地说,说明书中所使用的词语是描述性词语而非限制性词语,并且应理解的是,可在不脱离本发明的精神和范围的情况下作出各种改变。此外,可将各种实施的实施例的特征进行组合以形成本发明的进一步的实施例。

Claims (16)

1.一种车辆更新方法,包括:
从远程服务器接收用于车辆模块的控制更新,其中,所述接收包括:
当车辆调制解调器到远程服务器的通信链路发生中断并且已经由车辆调制解调器到远程服务器的通信链路将控制更新的一部分从远程服务器接收到车辆中时,经由与车辆相关联的移动装置到远程服务器的广域数据连接继续将控制更新的其余部分从远程服务器接收到所述移动装置中,
经由所述移动装置到车辆的局域数据连接将控制更新的其余部分从所述移动装置提供至车辆中;
在车辆的第一存储位置安装控制更新;
使用车辆的第二存储位置上的控制运行车辆模块;
检查第一存储位置上的控制更新;
如果检查有效,则使用第一存储位置上的控制更新来操作车辆模块,以代替第二存储位置上的控制。
2.如权利要求1所述的方法,其中,操作车辆模块包括:延迟使用第一存储位置上的控制更新来操作车辆模块,直到重新启动车辆为止。
3.如权利要求2所述的方法,其中,第二存储位置上的控制包括:发动机控制。
4.如权利要求1所述的方法,其中,操作车辆模块包括:操作第一存储位置上的控制更新,而不等待重新启动车辆。
5.如权利要求4所述的方法,其中,第二存储位置上的控制包括:无线电控制和环境控制中的至少一个。
6.如权利要求1所述的方法,其中,检查控制更新包括:针对下载错误进行错误检查。
7.如权利要求1所述的方法,其中,检查控制更新包括:
检查第一存储位置上的控制更新是否依赖于进一步的控制更新;
仅在所述进一步的控制更新被接收、安装和检查之后,使用第一存储位置上的控制更新来操作车辆模块。
8.如权利要求1所述的方法,其中,检查控制更新包括:如果第一存储位置上的控制更新不是有效的则恢复到先前的控制,并且使其它的控制更新恢复到与所述先前的控制兼容的先前的版本。
9.一种车辆,包括:
车辆模块,被配置为:
从远程服务器接收用于车辆模块的控制更新,其中,所述接收包括:
当车辆调制解调器到远程服务器的通信链路发生中断并且已经由车辆调制解调器到远程服务器的通信链路将控制更新的一部分从远程服务器接收到车辆中时,经由与车辆相关联的移动装置到远程服务器的广域数据连接继续将控制更新的其余部分从远程服务器接收到所述移动装置中,其中,所述移动装置到远程服务器的通信链路为广域数据连接,
经由所述移动装置到车辆的局域数据连接将控制更新的其余部分从所述移动装置提供至车辆中;
在车辆的第一存储位置安装控制更新;
使用车辆的第二存储位置上的先前安装的控制而进行运行;
检查第一存储位置上的控制更新;
如果检查有效,则使用第一存储位置上的控制更新来进行操作,以代替第二存储位置上的先前安装的控制。
10.如权利要求9所述的车辆,其中,车辆模块被配置为:在随后的车辆重新启动之后,使用第一存储位置上的控制更新来进行操作。
11.如权利要求10所述的车辆,其中,第二存储位置上的先前安装的控制包括:发动机控制和制动器控制中的至少一个。
12.如权利要求9所述的车辆,其中,车辆模块被配置为:使用第一存储位置上的控制更新来进行操作,而不等待重新启动车辆。
13.如权利要求12所述的车辆,其中,第二存储位置上的先前安装的控制包括:无线电控制和环境控制中的至少一个。
14.如权利要求9所述的车辆,其中,车辆模块被配置为:针对下载错误进行错误检查。
15.如权利要求9所述的车辆,其中,车辆模块被配置为:
确定第一存储位置上的控制更新是否依赖于进一步的控制更新;
仅在所述进一步的控制更新被接收、安装和检查之后,使用第一存储位置上的控制更新来进行操作,以代替第二存储位置上的先前安装的控制。
16.如权利要求15所述的车辆,其中,车辆模块被配置为:检查第一存储位置上的控制更新对于额外的控制更新的依赖性,并且仅在接收到所述额外的控制更新之后使用第一存储位置上的控制更新来进行操作。
CN201610021119.6A 2015-01-13 2016-01-13 车辆控制更新方法和系统 Active CN105791387B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/595,410 2015-01-13
US14/595,410 US9841970B2 (en) 2015-01-13 2015-01-13 Vehicle control update methods and systems

Publications (2)

Publication Number Publication Date
CN105791387A CN105791387A (zh) 2016-07-20
CN105791387B true CN105791387B (zh) 2020-10-27

Family

ID=56233910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610021119.6A Active CN105791387B (zh) 2015-01-13 2016-01-13 车辆控制更新方法和系统

Country Status (3)

Country Link
US (1) US9841970B2 (zh)
CN (1) CN105791387B (zh)
DE (1) DE102016100203A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015203766A1 (de) * 2015-03-03 2016-09-08 Robert Bosch Gmbh Teilsystem für ein Fahrzeug und entsprechendes Fahrzeug
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
KR101704567B1 (ko) * 2015-08-27 2017-02-08 현대자동차주식회사 차량 연동 앱 관리 방법, 장치 및 시스템
US9792109B2 (en) 2015-09-30 2017-10-17 Apple Inc. Software updating
US10114634B2 (en) * 2016-01-22 2018-10-30 2236008 Ontario Inc. Updating a controller unit in a vehicle
JP6361671B2 (ja) * 2016-03-02 2018-07-25 住友電気工業株式会社 プログラム更新システム、プログラム更新方法、中継装置及びコンピュータプログラム
US20180081666A1 (en) * 2016-03-11 2018-03-22 Oleksii Surdu Reliable and Secure Firmware Update for Internet of Things (IoT) Devices
US11039198B2 (en) * 2016-07-14 2021-06-15 Thales Avionics, Inc. Terminal edge in-flight entertainment system
JP6665728B2 (ja) * 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
US10950229B2 (en) * 2016-08-26 2021-03-16 Harman International Industries, Incorporated Configurable speech interface for vehicle infotainment systems
US20180074813A1 (en) * 2016-09-14 2018-03-15 General Motors Llc Installing vehicle updates
US10140116B2 (en) * 2016-09-26 2018-11-27 Ford Global Technologies, Llc In-vehicle auxiliary memory storage
DE102016221108A1 (de) * 2016-10-26 2018-04-26 Volkswagen Aktiengesellschaft Verfahren zum Aktualisieren einer Software eines Steuergeräts eines Fahrzeugs
CN108023907A (zh) * 2016-10-31 2018-05-11 比亚迪股份有限公司 车载模块升级方法、装置及车辆
EP3532926A1 (en) * 2016-10-31 2019-09-04 Harman Becker Automotive Systems GmbH Software update mechanism for safety critical systems
EP3438815B1 (en) * 2016-12-06 2023-11-22 AutoNetworks Technologies, Ltd. Program update system and program update method
KR102123676B1 (ko) * 2016-12-06 2020-06-29 주식회사 엘지화학 주택용 ESS에 탑재되는 직류변압기(DC-DC converter)와 배터리관리시스템(BMS) 소프트웨어의 통합관리 및 업데이트 방법
US10782955B2 (en) * 2017-01-03 2020-09-22 Ford Global Technologies, Llc Pre-shutdown swap verification
US10871959B2 (en) * 2017-01-25 2020-12-22 Hitachi Automotive Systems, Ltd. Vehicle control device and program update system
DE102017201467A1 (de) 2017-01-31 2018-08-02 Bayerische Motoren Werke Aktiengesellschaft Aktualisierung eines Softwareumfangs eines Fortbewegungsmittels
US10936236B2 (en) * 2017-04-12 2021-03-02 Yazaki Corporation Rewriting system, rewriting device and computer
CN107678936B (zh) * 2017-06-25 2021-02-09 平安科技(深圳)有限公司 业务系统预先稽查方法、服务器及计算机可读存储介质
JP6755219B2 (ja) 2017-07-12 2020-09-16 クラリオン株式会社 情報配信システム及び車載装置
US10599421B2 (en) * 2017-07-14 2020-03-24 Calamp Corp. Systems and methods for failsafe firmware upgrades
JP6915500B2 (ja) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
US10834206B2 (en) 2018-02-27 2020-11-10 Excelfore Corporation Broker-based bus protocol and multi-client architecture
US20190324858A1 (en) * 2018-04-24 2019-10-24 GM Global Technology Operations LLC Rollback recovery from partial failure in multiple electronic control unit over-the-air updates
KR102610730B1 (ko) * 2018-09-05 2023-12-07 현대자동차주식회사 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
US20200128375A1 (en) * 2018-10-22 2020-04-23 GM Global Technology Operations LLC Updating vehicle electronics based on mobile device compatibility
KR20210128469A (ko) * 2019-02-19 2021-10-26 레드 밴드 리미티드 V2v 통신을 통한 차량들로의 소프트웨어 업데이트 분산 및 차량들의 컴뮤니티에 의한 검증
CN113490911B (zh) * 2019-02-22 2023-10-20 本田技研工业株式会社 软件更新装置、车辆和软件更新方法
US11704106B2 (en) * 2019-11-08 2023-07-18 Toyota Jidosha Kabushiki Kaisha Program update system and vehicle management server
JP7439720B2 (ja) * 2020-10-06 2024-02-28 トヨタ自動車株式会社 更新データを配信するサーバ、方法及びプログラム
JP2022121300A (ja) * 2021-02-08 2022-08-19 トヨタ自動車株式会社 車両用制御装置
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)
US11782692B2 (en) 2021-04-16 2023-10-10 Toyota Motor North America, Inc. Transport component acceptance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587634A (zh) * 2009-06-15 2009-11-25 北京交通大学 无线机车信号车载设备控制程序及参数在线实时更新方法
CN102681857A (zh) * 2011-03-07 2012-09-19 北京博创理想科技有限公司 一种实现车载软件系统修复或升级的方法、装置
CN103064715A (zh) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 自动路测系统远程升级方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19836748C1 (de) * 1998-08-13 2000-04-20 Siemens Ag Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts
US20060130033A1 (en) * 2003-03-03 2006-06-15 Snap-On Technologies, Inc. Method for providing a software module to an automotive vehicle control unit, and computer program for executing the method
JP4361902B2 (ja) * 2003-12-15 2009-11-11 株式会社日立製作所 車載制御装置の情報更新方法と更新情報通信システム、および、車両搭載制御装置と情報管理基地局装置
US7676804B2 (en) * 2004-05-20 2010-03-09 Caterpillar Inc. Systems and method for remotely modifying software on a work machine
US7315238B2 (en) * 2004-07-22 2008-01-01 Advanced Diagnostics Usa Corporation Method and system for providing key programming tokens to a multiple vehicle programming device
US8635609B2 (en) * 2005-02-14 2014-01-21 Red Hat, Inc. Software certification and update process
US20090119657A1 (en) * 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
US20090300595A1 (en) * 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
WO2009156302A1 (en) * 2008-06-23 2009-12-30 Nxp B.V. Electronic device and method of software or firmware updating of an electronic device
EP2416243B1 (en) * 2009-03-31 2017-05-17 Toyota Jidosha Kabushiki Kaisha Device for updating software mounted on vehicle
US8381036B2 (en) * 2010-05-26 2013-02-19 Red Hat, Inc. Systems and methods for restoring machine state history related to detected faults in package update process
US8539472B2 (en) * 2010-06-09 2013-09-17 Lear Corporation Method and system of updating shared memory
US9557981B2 (en) * 2011-07-26 2017-01-31 Ford Global Technologies, Llc Method and apparatus for automatic module upgrade
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
WO2014087613A1 (ja) * 2012-12-05 2014-06-12 パナソニック株式会社 通信装置、電子機器、通信方法、車両用鍵
US9098374B2 (en) * 2013-02-25 2015-08-04 Hamilton Sundstrand Corporation Version control for software configurable aircraft systems
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587634A (zh) * 2009-06-15 2009-11-25 北京交通大学 无线机车信号车载设备控制程序及参数在线实时更新方法
CN102681857A (zh) * 2011-03-07 2012-09-19 北京博创理想科技有限公司 一种实现车载软件系统修复或升级的方法、装置
CN103064715A (zh) * 2013-01-09 2013-04-24 上海大唐移动通信设备有限公司 自动路测系统远程升级方法及系统

Also Published As

Publication number Publication date
US9841970B2 (en) 2017-12-12
DE102016100203A1 (de) 2016-07-14
US20160202966A1 (en) 2016-07-14
CN105791387A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
CN105791387B (zh) 车辆控制更新方法和系统
CN105808285B (zh) 车辆控制更新的方法和系统
CN104866336B (zh) 无声车载软件更新
US10061574B2 (en) Method and apparatus for multiple vehicle software module reflash
CN105260198B (zh) 车辆软件更新验证
CN105094883B (zh) 用于车辆更新的方法和系统
CN105487883B (zh) 更新车辆计算系统的方法及系统
US20150363210A1 (en) Vehicle download by remote mobile device
US10379837B2 (en) Methods and apparatus for software updating
US10162625B2 (en) Vehicle control storage methods and systems
US9557981B2 (en) Method and apparatus for automatic module upgrade
CN108446129B (zh) 用于多周期车辆软件更新符合性处理的方法和设备
US20150301821A1 (en) System and method for management of software updates at a vehicle computing system
US9858064B2 (en) Methods and apparatus for vehicle computing system software updates
CN104809006B (zh) 车辆和移动装置之间的软件实现的设备和方法
US9298649B2 (en) Method and apparatus for dynamically updating a vehicle module configuration record
US20150331686A1 (en) Over-the-air vehicle issue resolution
CN107102849B (zh) 用于周期性点火开关断开的文件替换的方法和设备
US20130283255A1 (en) Method, Device and System for Installing Terminal Software
CN106257544B (zh) 用于安全配对的方法和设备
US20190014026A1 (en) Method and apparatus for ignition state monitoring
US20200004524A1 (en) Method and apparatus for confirming status of a remote update

Legal Events

Date Code Title Description
C06 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