车辆控制更新的方法和系统与流程

文档序号:13262527阅读:337来源:国知局
技术领域在此描述了用于车辆的与更新车辆控制有关的系统和方法。

背景技术:
车辆具有可以由软件控制的各种组件。软件有时需要被更新。为了更新车辆组件的软件,车辆可以被驾驶到经销商处,并且由技术人员进行检修。技术人员会将导线连接到车辆,以利用追踪车辆中的每个组件的单独的软件级别以及可用的软件更新的系统。技术人员可以手动应用由系统指示的软件更新,并且将任何变化记录回系统中。在软件到车辆的一些下载期间,当车辆和存储软件的系统之间通信中断时,下载可能中断。

技术实现要素:
描述了一种车辆更新方法和系统,其可以停止到车辆的更新下载并且可以使用另一装置(例如,移动电子装置(诸如,移动通信装置、电话、智能电话等))从更新中的偏移位置恢复下载。所述移动电子装置可以运行作为车辆控制系统的代理的应用。示例方法可以包括:从服务器将更新下载到车辆;当更新下载在偏移位置处中断时,将下载指令发送到在所述移动装置上运行的所述代理,以在所述偏移位置处恢复更新下载;使用所述移动装置恢复更新的下载;当车辆向所述代理请求更新时,将更新从所述移动装置发送到车辆。在示例中,所述代理是在所述移动装置上运行的应用。在示例中,从服务器将更新下载到车辆的步骤包括:经由非蜂窝通信下载更新。在示例中,将指令发送到所述代理的步骤包括:从车辆将标识符和偏移位置发送到所述移动装置上的所述代理。在示例中,所述标识符包括部分编号,并且所述偏移位置是由所述部分编号标识的文件的块编号。在示例中,所述更新在车辆具有用于解密更新的密钥而所述代理不具有用于解密更新的密钥的情况下被加密。在示例中,所述移动装置上的所述代理在缺少来自车辆或服务器的指令的情况下不能触发下载,其中,车辆、服务器或两者可以触发使用所述代理的下载。在示例中,所述下载包括通过局域网通信从服务器到车辆的下载,使用所述代理的下载使用脱离车辆的蜂窝通信、广域无线通信或有线通信来从服务器下载一部分更新,其中,从所述移动装置向车辆发送已下载的更新使用短距离通信。一种下载软件或控制更新的车辆可以包括:车辆计算系统,被配置为:从服务器将更新下载到车辆;当更新下载在偏移位置处中断时,将下载指令发送到在移动装置上运行的代理,以在所述偏移位置处恢复更新下载;从移动装置接收到车辆的更新的剩余部分。在示例中,车辆计算系统包括:用于在没有所述代理的情况下从服务器下载更新的非蜂窝通信装置。在示例中,车辆计算系统被用于将标识符和偏移位置发送到移动装置上的所述代理。在示例中,所述标识符包括部分编号,并且所述偏移位置是由所述部分编号标识的文件的块编号。在示例中,更新在车辆计算系统具有用于解密更新的密钥而所述代理不具有用于解密更新的密钥的情况下被加密。在示例中,车辆计算系统、服务器或两者可以触发使用所述代理的下载。在示例中,车辆计算系统包括局域网通信装置,局域网通信装置用于从服务器将更新下载到车辆并从移动装置接收一部分已下载的更新。一种车辆控制更新方法可以包括:从车辆接收用于从指定偏移位置将一部分软件更新下载到在移动电子装置中可用的存储器上的指令,从所述指定偏移位置开始下载,并且根据来自车辆的请求将已下载的软件部分发送到车辆。在示例中,移动电子装置为智能电话,其可以使用远离车辆的局域网络或蜂窝通信中的至少一个来与存储软件更新的服务器通信。在示例中,所述智能电话可以经由短距离无线通信或经由有线通信与车辆进行通信。在示例中,所述智能电话可以在车辆的指导下运行代理应用,以从所述偏移位置完成软件部分的下载。在示例中,车辆和移动装置远离控制更新的服务器,并且所述服务器可以将控制更新同时广播到多个车辆。根据本发明,一种车辆更新方法包括:从远程服务器将更新下载到车辆;当所述下载中断时,将指令发送到移动装置上的代理,以在与所述中断关联的偏移位置处恢复所述下载;通过使用所述代理,在所述偏移位置处恢复到所述移动装置的更新下载,以用于随后响应于车辆请求,通过所述代理将更新从所述移动装置发送到所述车辆。根据本发明,一种车辆包括:车辆计算系统,被配置为:从服务器下载更新;当所述下载中断时,将下载指令发送到在移动装置上运行的代理,以在与所述中断关联的偏移位置处恢复更新下载;从移动装置接收更新的若干剩余部分。一种车辆控制更新方法包括:从车辆接收指令以从指定的偏移位置将软件更新的部分从服务器下载到在移动电子装置上可用的存储器,向服务器请求在所述指定偏移位置处开始的所述软件更新,并且响应于来自车辆的请求将来自移动电子装置的所述软件更新的部分发送到车辆。根据本公开的一个实施例,所述移动电子装置为智能电话,并执行下列处理:使用远离车辆的局域网络和蜂窝网络中的至少一个与服务器进行通信;经由短距离无线通信或经由有线通信与车辆进行通信;在车辆的指导下运行代理应用,以将所述软件更新的部分发送到车辆。附图说明图1示出了用于车辆的基于车辆的计算系统的示例框式拓扑图。图2示出了用于通过便携式装置将控制更新提供给车辆的示例车辆系统。图3示出了用于接收来自用户的对通过便携式装置下载用于车辆的控制更新的同意的车辆系统的示例用户界面。图4示出了用于利用更新管理应用来识别将要安装到车辆的控制更新的示例处理。图5示出了用于利用更新管理应用来识别将要安装到车辆的控制更新的示例处理。图6示出了用于利用更新检索应用来通过移动装置下载软件更新的示例处理。具体实施方式根据需要,在此公开本发明的具体实施例;然而,应该理解的是,所公开的实施例仅为本发明的示例,其可以以多种替代形式实施。附图无需按比例绘制;可夸大或最小化一些特征以示出特定组件的细节。因此,此处所公开的具体结构和功能细节不应被解释为限制,而仅仅作为教导本领域技术人员以多种形式实施本发明的代表性基础。图1示出了用于车辆31的基于车辆的计算系统(VCS)1的示例框式拓扑图。这种基于车辆的计算系统1的示例为由福特汽车公司制造的SYNC系统。设置有基于车辆的计算系统的车辆可以包含位于车辆31中的可视前端界面4。如果所述界面设置有例如触敏屏幕,则用户还能够与所述界面进行交互。在另一说明性实施例中,通过按钮按压、具有自动语音识别和语音合成的口语对话系统来进行交互。界面4可以包括使用硬件来执行控制以提供显示和与用户(例如,车辆驾驶员)的交互的电子控制模块。VCS1及其关联的组件可以执行可能需要不时地被更新的控制算法。这样的更新可以被电传送到VCS1。在图1所示的说明性实施例1中,处理器3或中央处理单元(CPU)3控制基于车辆的计算系统的至少一部分操作。设置在车辆31内的处理器3允许对命令、控制和程序进行车载处理,所述命令、控制和程序可能需要在车辆寿命的各个阶段进行更新。另外,处理器3连接到非持久性存储器5和持久性存储器7两者。在此说明性实施例中,非持久性存储器5是随机存取存储器(RAM),持久性存储器7是硬盘驱动器(HDD)或闪存。一般说来,持久性(非暂时性)存储器7可以包括当计算机或其它装置掉电时保持数据的所有形式的存储器。所述存储器可以存储对存储在其中的命令、控制和程序的更新。这些存储器包括但不限于:HDD、致密盘(CD)、数字多功能盘(DVD)、磁带、固态驱动器、便携式通用串行总线(USB)驱动器和任何其它适当形式的持久性存储器7。处理器3还设置有允许用户与处理器3进行交互的若干不同的输入。在此说明性实施例中,麦克风29、辅助输入25(用于输入33)、USB输入23、全球定位系统(GPS)输入24、屏幕4(可以为触摸屏显示器)和短距离无线输入(例如,蓝牙、IEEE802.15连接)15全部被设置。还可以将允许便携式电子装置的连接的有线连接设置为车辆输入。这些输入中的每一个可以包括执行用于输入的各种电子器件的控制以运行的电子控制模块。还设置有输入选择器51,以允许用户在各种输入之间进行切换。麦克风和辅助连接器两者的输入在被传送到处理器3之前,由转换器27对所述输入进行模数转换。尽管未示出,但是与VCS1进行通信的众多车辆组件和辅助组件可以使用车辆网络(诸如,但不限于,控制器局域网(CAN)总线)向VCS1(或其组件)传送数据并传送来自VCS1(或其组件)的数据。这样的车辆组件可以由执行控制的处理器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可以是Wi-Fi或IEEE802.11接入点。便携式装置53与无线收发器之间的示例性通信由通信14表示。可以通过按钮52或类似的输入来指示将便携式装置53与无线收发器15进行配对。相应地,CPU被指示车载无线收发器15将与便携式装置53中的无线收发器进行配对。可以利用例如与便携式装置53关联的数据计划、话上数据或双音多频(DTMF)音在CPU3与网络61之间传送数据。可选地,可以期望包括具有天线18的车载调制解调器63,以便在CPU3与网络61之间通过语音频带传送(16)数据。便携式装置53随后可以用于通过例如与蜂窝塔57的通信(55)来与车辆31外部的网络61进行通信(59)。在一些实施例中,调制解调器63可以建立与蜂窝塔57的通信(20),以与网络61进行通信。作为非限制性示例,调制解调器63可以是USB蜂窝调制解调器63,并且通信20可以是蜂窝通信。在一说明性实施例中,处理器3设置有包括用于与调制解调器应用软件进行通信的API的操作系统。调制解调器应用软件可以访问无线收发器上的嵌入式模块或固件,以完成与(诸如在便携式装置中发现的)远程无线收发器的无线通信。蓝牙是电气与电子工程师协会(IEEE)802个域网(PAN)协议的子集。IEEE802局域网(LAN)协议包括无线保真(wirelessfidelity,Wi-Fi)并与IEEE802PAN具有相当多的交叉功能。两者都适合于车辆31内的无线通信。可以在本领域使用的另一通信方式是自由空间光通信(诸如,红外线数据协会(IrDA))和非标准化消费者红外线(IR)协议。在另一实施例中,便携式装置53包括用于语音频带或宽带数据通信的调制解调器。在话上数据的实施例中,当便携式装置53的拥有者可以在数据被传送的同时通过装置说话时,可以实施已知为频分复用的技术。在其它时间,当拥有者没有在使用装置时,数据传送可以使用整个带宽(在一示例中是300Hz至3.4kHz)。尽管频分复用对于车辆31与互联网之间的模拟蜂窝通信而言会是常见的并仍在被使用,但其已经很大程度上被用于数字蜂窝通信的码域多址(CDMA)、时域多址(TDMA)、空域多址(SDMA)的混合体所替代。这些都是ITUIMT-2000(3G)兼容的标准,为静止或行走的用户提供高达2mbps的数据速率,并为在移动的车辆31中的用户提供高达385kbps的数据速率。3G标准现在正被IMT-Advanced(4G)所替代,其中,所述IMT-Advanced(4G)为在车辆31中的用户提供200mbps的数据速率,并为静止的用户提供1gbps的数据速率。如果用户具有与便携式装置53关联的数据计划,则所述数据计划可以允许宽带传输且所述系统可以使用宽得多的带宽(加速数据传送)。在另一实施例中,便携式装置53被安装至车辆31的蜂窝通信装置(未示出)所替代。在另一实施例中,移动装置53可以是能够通过例如(而非限制)802.11g网络(即Wi-Fi)或WiMax网络进行通信的无线LAN装置。在一实施例中,传入数据可以经由话上数据或数据计划穿过便携式装置53、穿过车载无线收发器,并进入车辆31的处理器3。例如,在某些临时数据的情况下,数据可以被存储在HDD或其它存储介质7上,直至不再需要所述数据时为止。其它的可以与车辆31连接的源包括:具有例如USB连接56和/或天线58的便携式装置54、具有USB62或其它连接的车辆导航装置60、车载GPS装置24、或与网络61连接的远程导航系统(未示出)。USB是一类串行联网协议中的一种。IEEE1394(火线TM(苹果)、i.LINKTM(索尼)和LynxTM(德州仪器))、EIA(电子工业协会)串行协议、IEEE1284(Centronics端口)、S/PDIF(索尼/飞利浦数字互连格式)和USB-IF(USB开发者论坛)形成了装置-装置串行标准的骨干。多数协议可以针对电通信或光通信来实施。此外,CPU3可以与各种其它辅助装置65进行通信。这些装置65可以通过无线连接67或有线连接69来连接。辅助装置65可以包括但不限于个人媒体播放器、无线保健装置、便携式计算机、平板电脑等。此外或可选地,可以使用例如Wi-Fi(IEEE802.11)收发器71将CPU3连接到基于车辆的无线路由器73。这可以允许CPU3在本地路由器73的范围内连接到远程网络。除了由位于车辆31中的车辆计算系统执行示例性处理之外,在某些实施例中,还可以至少部分由在车辆计算系统外部且与车辆计算系统通信的一个或更多个计算系统来执行示例性处理。这样的系统可以包括但不限于:无线装置(例如,但不限于移动电话)或通过无线装置连接的远程计算系统(例如,但不限于服务器)。这样的系统可以被统称为与车辆关联的计算系统(VACS)。在某些实施例中,VACS的特定组件可以根据系统的特定实施而执行处理的特定部分。通过示例而并非限制的方式,如果处理包括与配对的无线装置进行发送或者接收信息的步骤,则很可能无线装置不执行该处理,这是因为无线装置不会与自身进行“发送和接收”信息。本领域的普通技术人员将理解何时不适合对给定解决方案应用特定的VACS。在所有解决方案中,预期至少位于车辆31内的VCS1自身能够执行示例性处理。尽管以上图1的描述指的是车辆31,但是将理解的是网络61可以同时与多个车辆进行通信。在示例中,可以使用网络和适当的通信信道向多个车辆广播用于一类车辆的控制更新。另外,网络允许服务器远离车辆并且不需要车辆被驾驶到服务站来接收控制更新。图2示出了用于通过电气或电子通信的方式(例如,直接经由无线或有线网络61或通过便携式装置53)将控制更新206提供给车辆31的与系统200通信的车辆31。系统200可以包括通过网络61与更新服务器210进行通信的VCS1,例如,VCS1直接或者经由便携式装置53与更新服务器210进行通信。更新服务器210可以与被配置为保存用于下载的控制指令更新206的控制指令数据存储区208进行通信。系统200还可以包括安装到车辆31且被配置为将控制更新206安装到车辆31的多个模块202-A至202-C(统称为202)的更新管理应用216。模块202-A、202-B和202-C分别包括多个控制指令存储位置,这里被指定为205-1和205-2、207-1和207-2以及209-1和209-2。在示例中,车辆31以特定的时间间隔或设定的时间直接经由通过网络61的通信或使用在便携式装置53上运行的代理应用(例如,更新检索应用)218来查询服务器210。便携式装置53可以经由广域数据连接214与更新服务器210进行通信,并且经由本地数据连接212与VCS1的更新管理应用216进行通信。安装到便携式装置53的更新检索应用218可以被配置为从更新管理应用216接收将下载的控制更新206的指示,当便携式装置53连接到远离车辆31的合适的广域数据连接214时下载控制更新206,当便携式装置53返回到车辆31时将已下载的控制更新206提供给VCS1。在示例中,便携式装置53代表车辆31及其VCS1执行代理应用218。代理应用218没有在缺少来自VCS1的指令的情况下向服务器请求数据或文件的能力。代理应用218将移动装置53变为代理服务器,所述代理服务器充当针对来自寻求完成来自服务器210的更新的VCS1的请求的中介。在示例中,代理应用218是仅由VCS1可访问的封闭式应用,且在被VCS1启动后,应用218可以与服务器210通信。VCS1连接到代理应用218并指示代理服务器向服务器210请求更新或在下载期间更新被中断时向服务器210请求更新的剩余部分。代理应用218评估来自VCS1的指令并从当前下载停止的位置请求更新的剩余部分。尽管在图2中示出了示例性系统200,但是在图2中示出的示例性组件并非意在限制。实际上,系统200可以具有更多或更少的组件,并且可以使用附加的或可选的组件和/或实施方式。车辆模块202可以包括被配置为接收关联的控制的更新的各种车辆组件,所述车辆组件可以是软件、固件或配置设置的形式。作为一些非限制示例,车辆模块202可以包括动力传动系统控制模块(PCM)、制动系统控制模块(BSCM)、车身控制模块(BCM)、方便控制模块(conveniencecontrolmodule,CCM)、电池管理模块、环境控制单元、发动机控制模块(ECM)和VCS1自身。车辆信息204可以包括被配置为标识车辆31或车辆31配置的信息。例如,车辆信息204可以包括发布到车辆31CAN总线的车辆标识码(VIN)或调制解调器63的用户识别模块(SIM)信息(诸如,国际移动设备标识(IMEI))。另外或可选地,车辆信息204可以包括针对车辆31的车辆模块202的至少一部分硬件和软件组件的版本信息。当正在请求更新时,在更新的下载被中断的情况下,VCS1可以向服务器210或便携式装置53发送车辆标识信息。控制更新206可以包括对车辆31的控制指令或设置的改变,以用于解决各个车辆模块的操作问题或者向模块中的当前控制提供改进功能。例如,控制更新206可以包括:针对一个或更多个车辆模块202的更新的配置设置、和/或将被安装在一个或更多个车辆模块202上的控制(例如,指令、软件或固件)的更新版本。在一些情况下,控制更新206可以包括单个部分,然而在其它情况下,控制更新206可以被组织成多个分部、分区或组块,其中,所有的分部可以被下载以完成将被安装的整个控制更新206。然而,如果更新的下载被中断(例如,车辆31失去其到网络61的连接),则车辆31可以触发便携装置中的代理应用来继续更新的下载。控制数据存储区208可以被配置为存储控制更新206。控制数据存储区208还可以被配置为存储关于保存的控制更新206的附加信息。例如,控制数据存储区208可以被配置为保存哪个车辆31和哪个车辆模块202与哪个特定控制更新206关联的指示。控制数据存储区208还可以存储指示更新206与车辆型号或配置的兼容性的信息。比如,用于控制更新206的存储条目可以指示更新206与车辆31的特定品牌和型号相兼容,或者可以指示更新206依赖于另一车辆模块202的版本,所述另一车辆模块202的版本为特定的版本。服务器210还可以存储关于被确认为被VCS1成功接收的更新的被确认的最后一部分的信息。更新的部分的示例可以是包、块、模块或完整的文件。更新服务器210可以包括一个或更多个装置,所述一个或更多个装置被配置为:将由数据存储区208存储的更新206供应给车辆31或在服务器210中具有相同类型或相同分类的车辆。例如,更新服务器210可以被配置为:从车辆31或多个车辆(例如,一类车辆)接收针对可用更新的请求。所述请求可以包括车辆信息204,以允许更新服务器210在数据存储区208中查询适用于当前所配置的车辆31的更新206。响应于所述请求,服务器210可以提供可以被下载和安装的用于更新请求的车辆31的更新206的指示。服务器210还可以被配置为:根据提供的指示,将更新206提供给正在请求下载更新206的装置。移动装置53在充当VCS1的代理时可以将这样的请求发送给服务器210。在示例中,移动装置53将自身标识为VCS1的代理,并且下载的控制可以被传输到服务器210。在示例中,更新206被加密。VCS1或车辆中的安全模块能够解密更新文件。当被加密的更新或更新的被加密的部分被下载到便携式装置53时,装置53和应用218没有能力解密该更新。当应用218充当代理时,应用218存储更新206,并且当与VCS1通信时,将被加密的更新下载到车辆31。VCS1可以被配置为:通过网络61与更新服务器210进行通信。在一些情况下,VCS1可以利用VCS1的集成网络功能(诸如,内部调制解调器63),以帮助与更新服务器210的通信。在其它示例中,VCS1可以利用到便携式装置53的本地数据连接212,以帮助经由便携式装置53的广域数据连接214与更新服务器210进行通信。作为示例,针对运行由加利福尼亚州硅谷的开放手机联盟维护的安卓操作系统的便携式装置53,数据连接212可以经由无线蓝牙连接被建立。作为另一示例,针对运行由加利福尼亚州库普蒂诺市的苹果公司维护的iOS操作系统的便携式装置53,数据连接212可以附加或可选地通过有线USB连接(未示出)被建立。便携式装置53还可以被配置为:在便携式装置53和更新服务器210之间建立广域数据连接(例如,互联网连接)214,诸如,通过网络61的连接。便携式装置53还可以被配置为维护关于用户偏好使用哪些广域数据连接214(或哪些类型的广域数据连接214)下载信息的信息。比如,为了避免移动数据计划费用超额,便携式装置53可以被配置为当经由蜂窝广域数据连接214连接到网络61时推迟请求下载文件,并且可以被配置为当被连接到Wi-Fi广域数据连接214时处理下载请求(包括任何被推迟的请求)。作为另一可行性,便携式装置53可以被配置为:推迟请求直到便携式装置53经由在优选的广域数据连接214的列表上(例如,由用户从便携式装置53的网络控制面板用户界面选择的列表)的广域数据连接214连接到网络61。由于便携式装置53的便携属性,应该注意的是,在便携式装置53未通过数据连接212与VCS1进行通信的情况下,便携式装置53可以保持广域数据连接214。作为一个示例,当便携式装置53未与车辆31配对或不在车辆31附近时,便携式装置53可以通过用户的家庭Wi-Fi网络或公共Wi-Fi利用广域数据连接214。便携式装置53可以从车辆迁移,例如,由用户带入车辆和带离车辆。更新管理应用216可以被配置为管理控制更新206到车辆31的安装。例如,VCS1的更新管理应用216可以从请求检查控制更新206的用户接收命令。作为另一可行性,更新管理应用216可以触发针对新的控制更新206的周期性检查。当被触发时,更新管理应用216可以被配置为:向更新服务器210发送请求,以查询针对车辆31的控制更新206是否是可用的。例如,更新管理应用216可以使用车辆信息204(或者,如果控制数据存储区208保存了当前车辆信息204,则可以使用车辆31的标识符)查询更新服务器210,并且可以从更新服务器210接收指示针对车辆31的新的控制更新206是否可用的响应(例如,作为将要下载的针对车辆31的控制更新206的链接或其它标识符)。如果对更新管理应用216的响应指示控制更新206针对车辆31是可用的,则更新管理应用216还可以被配置为:对那些将要被下载和安装的控制更新206进行排队。在另一示例中,当车辆31在经销商处进行检修时,经销商可以通过向车辆发送代码来触发更新管理应用216并且访问存储在车辆模块202中的控制的当前版本。更新检索应用218可以被配置为:使便携式装置53通过广域数据连接214下载控制更新206。比如,更新检索应用218可以被配置为:接收被更新管理应用216识别为可用于下载和安装的控制更新206的列表。更新检索应用218还可以被配置为检测便携式装置53何时可以使用适合于控制更新206的下载的广域数据连接214,并且当如此连接时可以执行所述下载。作为示例,更新检索应用218可以被配置为通过预定义的被认可的连接或连接类型来下载所述更新。作为可行性,预定义的连接或连接类型可以由用户从更新检索应用218的网络控制面板用户界面进行选择。作为另一可行性,更新检索应用218可以简单地默认偏好特定类型(例如,比蜂窝更偏好Wi-Fi连接)。可以利用被认可的连接或连接类型,以避免因检索车辆31更新而产生数据使用费或漫游费。在一可行性中,更新检索应用218可以被配置为:当连接到远离车辆31的带宽相对高的广域数据连接214(诸如,用户的家庭Wi-Fi网络)时,下载控制更新206。通过利用便携式装置53的协助,车辆31可以相应地能够使其不能由车辆31获得但能由便携式装置53获得的控制更新206通过广域数据连接214被下载。因此,当便携式装置53远离车辆31但被连接到网络61时,更新检索应用218可以允许便携式装置53下载控制更新206。当便携式装置53返回到车辆31时,更新检索应用218可以被配置为将下载的控制更新206提供给VCS1。更新检索应用218还可以被配置为将指示什么控制更新206或控制更新206的什么部分已经被下载的状态信息提供给VCS1的更新管理应用216。作为另一可行性,更新管理应用216可以被配置为向便携式装置53查询任何下载的控制更新206的状态,并且更新检索应用218可以被配置为利用任何下载的控制更新206以及指示什么控制更新206或控制更新206的什么部分已经被下载的状态信息来做出响应。在一些情况下,一些控制更新206或控制更新206的部分可以使用便携式装置53被下载,而其它的控制更新206或控制更新206的部分可以通过车辆31被下载。更新管理应用216还可以被配置为管理表明哪些控制更新206或控制更新206的哪些部分已经被下载以及哪些可能仍然需要被更新的标识。所述关于仍然需要下载的内容的更新的信息可以作为更新的列表由更新管理应用216提供给更新检索应用218。因此,如果控制更新206或控制更新206的部分以某些其它方式(例如,通过被VCS1下载、通过使用与VCS1关联的另一便携式装置53下载等)被VCS1接收,则便携式装置53可以被通知更新状态,并且可以将检索到的控制更新206从其将下载的控制更新206的列表中移除。在另一示例中,更新检索应用218可以由车辆31运行,例如,由VCS1运行。更新检索应用218可以进行基本上与上面针对便携式通信装置53所描述的相同的操作。更新检索应用218还可以是车辆中的更新管理应用216的一部分。将要理解的是网络61可以同时与多个车辆进行通信,例如,图2的示例。在示例中,针对一类车辆的控制更新可以使用所述网络和适当的通信信道被广播到多个车辆,例如,移动装置可以建立通信信道。图3示出了用于从用户接收同意由便携式装置53或直接由车辆31通过网络61从更新服务器210下载针对车辆31或多个车辆的控制更新206的车辆系统200的示例性用户界面300。用户界面300可以经由显示器4由车辆31中的VCS1来呈现,并且可以包括由更新管理应用216提供的请求用户同意使用更新检索应用218下载针对车辆31的控制更新206的消息提示302。如图所示,消息提示302作为在用户界面300的其它内容之上的消息304被包括在用户界面300中。应该注意的是,在其它示例中,消息提示302可以以其它形式(诸如,经由全屏幕用户界面)被提供。用户界面300还可以包括被配置为接收来自用户的表明用户是否同意使用更新检索应用218的指示的控件。作为示例,用户界面300可以包括:“是”控件306,用于从用户接收表明用户同意使用更新检索应用218的指示;“否”控件308,用于从用户接收指示用户不同意使用更新检索应用218的指示;“稍后询问我”控件310,用于从用户接收表明用户希望稍后被提供消息提示302的指示。如果用户同意使用更新检索应用218,则更新管理应用216可以利用更新检索应用218来帮助将控制更新206下载到车辆31。否则,更新管理应用216可以返回到不使用更新检索应用218的功能,诸如,使用便携式装置53作为数据连接(如果用户授权这样做的话)、使用VCS1的内部车载调制解调器63,或者控制更新206可能是不可用的。在一些示例中,车辆31将自动下载控制并将控制存储在车辆的内存中或在车辆模块202内的非当前控制存储器中。用户界面300还可以被用于经由显示器向用户指示更新已经被成功下载并存储在适当的模块202中。用户界面300可以向用户指示控制更新将在控制更新已经通过多种检查之后在车辆的下一次重新启动时被启动。用户界面300还可以将输入控制提供给用户,以使模块在更新的控制对于一些模块不能正常工作的情况下回退到先前的控制,例如,只有车辆娱乐控制可以由用户通过用户界面300进行回退。图4示出了用于执行对车辆31或多个车辆的控制更新206的处理400。例如,可以由VCS1来执行处理400,VCS1利用更新管理应用216与服务器210通信,并且如果需要的话,VCS1与由便携式装置53执行的更新检索应用218通信。可以使用如在此所描述的通信装置和其它结构来完成处理400。在操作401,处理400开始。在示例中,车辆例如通过VCS1与服务器210周期性地进行通信来确定是否需要控制更新206。该通信可以被安排为使用通过网络的从车辆到服务器210的无线通信来自动地发生。所述通信也可以经由在建立通信之前向用户请求授权的用户界面(例如,界面300)发生。所述通信也可以在车辆进行检修和被连接到电子诊断设备(例如,在经销商处)时发生。在另一示例中,服务器210将指示控制更新对车辆模块可用的信号发送到车辆31。一旦车辆与服务器进行了通信,则操作401还可以请求验证与下游模块的安全性。在操作403,车辆可以开始通过网络61从服务器210下载控制更新。有时,车辆可能失去与服务器或网络的连接。因此,车辆在下载中追踪车辆最后接收到控制更新的完整部分(例如,数据包)的位置。数据包是正在从服务器210发送的一包数据,并且包括一部分控制更新。在操作403,服务器210可以将关于控制更新206的信息发送到车辆31。该信息可以包括总的块大小、包的编号、元数据、加密密钥或验证控制更新完整和准确地传输到车辆或车辆模块所需要的关于控制更新的其它信息。该信息可以被用于追踪控制更新的下载状态。在下载失败或被中断的情况下,处理400追踪控制更新的哪些部分已经被下载并存储在车辆31中。在操作405,确定控制更新的下载是否经历中断。VCS1或者更新管理应用216可能经历与服务器210的通信的中断。例如,车辆可能移动超出距离通信点(诸如,Wi-Fi路由器或蜂窝塔57)的范围。车辆还可能未针对蜂窝通信进行配备并且只能通过有线或短距离通信进行通信。如果下载未被中断,则处理400继续进行到操作407。如果存在下载中断,则处理400移动到操作409。在操作407,车辆继续下载控制更新直到控制更新被确认为完整地下载到车辆为止。操作407还可以包括执行准确性检查、纠错、安全性检查和解密(如果需要的话)。在操作409,车辆31(例如,VCS1或应用216)将下载转移到移动装置53。车辆31将移动装置53操作为VCS1或应用216的代理。控制更新的中断位置被提供给移动装置53。车辆31将识别车辆和正在被下载的特定控制更新以及被成功地下载到车辆的最后一包的编号的信息发送到移动装置。移动装置53随后可以与服务器进行通信,以恢复下载控制更新。移动装置53与服务器210进行通信,以下载先前没有完成的控制更新206的剩余部分。所述控制更新的部分随后被存储在移动装置53中,直到移动装置53与车辆31通信为止。在下载处理的示例期间,车辆或移动装置可以向服务器请求控制更新的下一块。该请求可以包括将已经成功地存储在车辆模块中的块编号发送到服务器。在示例中,车辆追踪接收到的块编号,并且向服务器只请求下一块。在操作411,车辆31检索存储在移动装置中的控制更新的部分。车辆直接或通过移动装置向服务器确认接收到控制更新。在控制更新被加密的情况下,车辆对来自移动装置的控制更新部分进行解密。因为移动装置将不会使用控制更新,所以移动装置仅仅用作车辆的下载代理,并且不会被委托以密钥、令牌或其它加密信息。在操作413,车辆或移动装置将停止数据传输请求发送到服务器。停止数据传输请求可以由于控制更新的完整下载(例如,通过操作407)而产生或者可以由于(例如,由于供电中断、车辆熄火或缺少从车辆到服务器的通信链路的)当前传输的中断而产生,当前传输的中断触发了将下载移动到移动装置并从移动装置下载到车辆(操作411)。在操作420,示出了恢复从移动装置到车辆的下载控制更新传输的可选操作。当车辆可以通过通信网络与更新服务器通信时,车辆可以直接恢复控制更新的下载。车辆可以向移动装置请求最新确认的下载点并从所述下载点开始下载控制更新。在从服务器下载的同时,车辆还可以请求存储在移动装置中的下载数据。一旦车辆重新开始下载控制更新,则操作可以移动到操作403。车辆可以根据需要多次从直接下载切换到使用移动装置作为代理。这一改变可以是基于车辆失去其到通信系统的连接且随后重新获得所述连接的。失去连接可以是连接完全失败或数据吞吐量减少到使用移动装置下载控制更新相对于车辆通过通信系统直接连接到服务器来说更快、更不易出错或两者兼有的程度。当完整的控制更新在车辆中时,这样可以触发激活过程。该激活过程可以对存储在车辆模块存储器中的非活跃位置上的控制更新执行有效性检查。有效性检查可以包括校验和、文件校验(hashcheck)、块校验、纠错代码等。有效性检查还可以包括使用已下载的控制更新的仿真。控制更新实际上不运行模块或主动控制车辆操作的部分。相反,虚拟输入被输入到控制更新中,并且产生的输出被存储。如果这是有效的并且所述控制更新不依赖于另一更新,则所述控制更新可以投入有效使用。有效使用可以是即时的。有效使用可以被推迟,直到车辆的下一次起动为止。有效使用也可以被推迟,直到被用于开始针对车辆模块的控制更新的其它指令进一步触发为止。图5示出了用于利用更新管理应用216通过车辆31和便携式装置53来下载软件更新206的处理500。例如,可以由执行更新管理应用216且与由便携式装置53执行的更新检索应用218进行通信的VCS1来执行处理500。应用218可以是具有从车载应用216经历控制更新下载的中断的位置下载控制更新的有限能力的应用216的代理。在操作502,处理500确定到VCS1的数据连接是否是可用的。数据连接可以是通过网络到服务器210的连接和/或到移动装置53的连接。作为示例,针对运行安卓操作系统(也可以使用其它操作系统,例如,黑莓操作系统10(BlackberryOS10)、iOS或移动微软操作系统(OS))的便携式装置53,更新应用216可以确定便携式装置53是否指示了经由无线蓝牙连接与VCS1建立了数据连接212。如果更新应用216确定从VCS1到服务器210的数据连接是可用的,则控制转到操作504。否则,控制转到操作506。在操作504,更新应用216同步将要被安装的软件更新206。例如,更新管理应用216可以被配置为:接收被服务器210识别为可用于下载和安装的软件更新206的列表。作为另一示例,更新应用216可以被配置为向移动装置53和代理应用218提供指示什么软件更新206或软件更新206的哪些部分已经被下载到车辆31的状态信息。在操作506,更新应用216确定车辆31和更新服务器210之间的广域数据连接是否是可用的。比如,更新应用216可以检测车辆31何时能够接入适合于软件更新206的下载的广域数据连接,并且当如此连接时可以执行下载。例如,更新应用216可以被配置为通过预定义的被认可的连接或连接类型下载更新,以避免因捕获车辆的控制更新而产生使用费用或漫游费。作为一种可行性,更新应用216可以被配置为:当连接到带宽相对高的广域数据连接(诸如,用户的家庭Wi-Fi网络)时,下载软件更新206。如果适合的广域数据连接是可用的,则控制转到操作508。否则,控制转到操作507,以启动至少一部分控制更新到移动装置53的下载。在操作507,移动装置53上的代理应用218由VCS1或更新应用216来启动。这将允许移动装置53从服务器下载控制更新的剩余部分。代理更新检索应用218从车辆和服务器之间的下载被中断的中断点执行软件更新206的部分的下载。相应地,通过利用便携式装置53的协助,车辆31能够将其软件更新206通过可能对车辆31不可用但对便携式装置53可用的广域数据连接214进行下载。因此,当便携式装置53远离车辆31但是连接到网络61时,更新检索应用218可以允许便携式装置53完成软件更新206的部分下载。在操作507之后,控制转到操作508。在操作508,车辆31直接从服务器210下载控制更新206或者完成通过移动装置的控制更新206的下载507。在控制更新的一部分在移动装置53上之后,可以完成从移动装置到车辆的控制更新的下载。如处理500所示,在508的控制的下载在利用作为代理的移动装置下载控制更新或车辆直接下载控制更新的情况下继续。处理500可以可选择地在502继续检查车辆和控制更新服务器之间的通信连接。如果车辆和服务器之间存在连接,则车辆可以恢复控制更新的下载。车辆可以将下载控制更新与之前的下载(直接到车辆的下载或到移动装置的部分下载)进行同步。图6示出了用于将已下载的软件更新206安装到车辆31的处理600。例如,可以由执行更新管理应用216且与移动装置更新检索应用218通信的VCS1来执行处理600。在操作602,更新管理应用216接收由便携式装置53下载的、未直接下载到车辆31的控制更新206的一部分。例如,当便携式装置53在经由合适的广域数据连接214下载了软件更新206之后返回到车辆31时,更新检索应用218可以被配置为将已下载的软件更新206提供给VCS1。在操作604,更新管理应用216安装已下载的软件更新206。例如,更新管理应用216可以将已更新的配置或软件提供给正在被更新的一个车辆模块202或多个车辆模块202。在操作606,更新管理应用216通知用户更新已完成。例如,更新管理应用216可以经由显示器4将消息提示402呈现给用户,以将软件更新206安装到车辆31通知给用户。在操作606之后,处理600结束。对所公开的处理的变型也是可行的。例如,在某些情况下,更新应用216可以被配置为在更新服务器210中查询将要被安装的软件更新206。作为另一示例,在某些情况下,更新应用216可以被配置为将特定软件更新206优先于其它更新。例如,如果将要被安装的软件更新206被指示为高优先级更新,则更新应用216可以被配置为通过任何可用的连接检索所述高优先级软件更新206,而不等待偏好的连接或连接类型。当车辆和服务器之间的通信中断时(例如,当车辆和网络之间没有合适的通信连接时),在此描述的示例允许车辆使用到服务器的替换通信方式来完成控制更新的下载。车辆可以使用移动装置充当代理来下载控制更新的部分,然后当移动装置回到与车辆通信的范围内时完成控制更新的下载。在示例中,车辆可以连接到家庭Wi-Fi网络并且开始下载控制更新。在下载完成之前车辆被移动,并且现在车辆在家庭Wi-Fi范围之外。车辆可以触发使用与车辆配对的移动装置的下载的恢复。移动装置可以在连接到与服务器连接的网络的任何时候开始下载控制更新。移动装置可以在用户授权的情况下使用蜂窝数据连接,或者可以使用其它网络连接(例如,工作用Wi-Fi、第三方Wi-Fi或任何其它通信连接)。在此描述的示例允许控制更新被发送到单个车辆或被广播到多个车辆。所述多个车辆可以是被识别为需要控制更新的一类车辆的一部分。控制更新的源包括:远离接收更新的车辆的服务器和将控制更新传输到车辆或者车辆的代理(其可以由移动装置来实现)的到车辆的通信信道(例如,无线通信)。虽然上面描述了示例性实施例,但并不意在这些实施例描述了本发明的所有可能形式。更确切地,说明书中使用的词语为描述性词语而非限制,并且应理解的是,可在不脱离本发明的精神和范围的情况下做出各种改变。此外,可将各种实现的实施例的特征进行组合以形成本发明的进一步的实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1