发送排队的空中软件更新的系统和方法与流程

文档序号:19282856发布日期:2019-11-29 23:09阅读:219来源:国知局
发送排队的空中软件更新的系统和方法与流程

引言

车辆通信通常作为基于短消息服务(sms)的空中(ota)通知从后端发送。这些通知中的每一个还伴随着交易成本。结果,随着每天车辆交互次数的增加,车辆连接性的成本迅速增加。然而,如果能够在仍然传送所有必要信息的同时减少车辆交互的数量,则可以在不导致数据丢失的情况下降低车辆连接性成本。因此,期望提供一种系统和方法,其将保持非紧急车辆通信,直到它们可以与其他更高优先级的车辆通信一起传输,因为该系统和方法可以减少车辆交互的数量,并且因此可以减少车辆连接性成本。



技术实现要素:

一台或多台计算机的系统可以被配置成通过使在操作中引起系统执行动作的软件、固件、硬件或其组合安装在系统上而执行特定操作或动作。一个或多个计算机程序可以被配置成通过包括在由数据处理装置执行时引起装置执行动作的指令来执行特定操作或动作。一个总的方面包括一种发送一个或多个空中软件更新的方法,该方法包括:(a)经由控制器接收软件更新;(b)经由控制器接收车辆命令请求;(c)响应于车辆命令请求,经由控制器,生成通信包,通信包包括基于软件更新的更新回叫信息和基于车辆命令请求的车辆命令;以及(d)经由控制器将通信包发送给车辆。此方面的其它实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,各自都被配置为执行这些方法的动作。

实施方式可以包括以下特征中的一个或多个。该方法进一步包括:(e)在步骤(a)之后,经由控制器与车辆通信,以确定软件更新是否能够由车辆安装;以及当确定车辆能够安装软件更新时,生成步骤(c)的通信包;否则,在步骤(c)中生成排除更新回叫信息的通信包。在该方法中,更新回叫信息指示车辆从控制器检索软件更新。在该方法中,车辆命令是远程启动命令、车辆诊断更新命令、位置更新命令或其某种组合。在该方法中,通信包作为基于sms的ota通知发送到车辆。在该方法中,在执行步骤(a)之后将软件更新置于队列中并且将软件更新存储在存储器中直到执行步骤(d)之后。在该方法中,在控制器处经由无线载波系统从移动计算设备接收车辆命令请求。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。

一个总的方面包括一种用于发送一个或多个空中软件更新的系统,该系统包括:存储器,其配置成包括一个或多个可执行指令;以及控制器,其配置成执行可执行指令,其中可执行指令使得控制器能够:接收软件更新;接收车辆指令请求;响应于车辆命令请求生成通信包,通信包包括基于软件更新的更新回叫信息和基于车辆命令请求的车辆命令;以及将通信包发送给车辆。此方面的其它实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,各自都被配置为执行这些方法的动作。

实施方式可以包括以下特征中的一个或多个。该系统进一步包括:在接收到软件更新之后,与车辆通信以确定软件更新是否能够由车辆安装。该系统还可以包括仅当确定车辆能够安装软件更新时,生成包括更新回叫信息和车辆命令的通信包;否则,生成排除更新回叫信息的通信包。在该系统中:更新回叫信息指示车辆从控制器检索软件更新。在该系统中:车辆命令是远程启动命令、车辆诊断更新命令、位置更新命令或其某种组合。在该系统中:通信包作为基于sms的ota通知发送给车辆。在该系统中:软件更新在接收之后置于队列中;将软件更新存储在存储器中直到通信包发送之后。在该系统中:经由无线载波系统从移动计算设备接收车辆命令请求。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。

一个总的方面包括一种非瞬态机器可读介质,其上存储有适于发送一个或多个空中软件更新的可执行指令,可执行指令在被提供给控制器并由此执行时,使得控制器:接收软件更新;接收车辆命令请求;响应于车辆命令请求,生成通信包,其包括基于软件更新的更新回叫信息和基于车辆命令请求的车辆命令;以及将通信包发送给车辆。此方面的其它实施例包括相应的计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,各自都被配置为执行这些方法的动作。

实施方式可以包括以下特征中的一个或多个。非瞬态机器可读存储器进一步包括:在已经接收到软件更新之后,与车辆通信以确定软件更新是否能够由车辆安装;以及当确定车辆能够安装软件更新时,生成包括更新回叫信息和车辆命令的通信包;否则,生成排除更新回叫信息的通信包。在非瞬态机器可读存储器中,更新回叫信息指示车辆从控制器检索软件更新。在非瞬态机器可读存储器中,通信包作为基于sms的ota知发送到车辆。在非瞬态机器可读存储器中,软件更新在接收之后置于队列中;且软件更新存储在非瞬态机器可读介质中直到发送通信包之后。在非瞬态机器可读存储器中,经由无线载波系统从移动计算设备接收车辆命令请求。所描述的技术的实施方式可以包括硬件、方法或过程,或计算机可访问介质上的计算机软件。

从下面结合附图进行教导的详细描述中,本教导的上述特征和优点以及其它特征和优点是显而易见的。

附图说明

下文将结合以下附图描述所公开的示例,其中相同的标记表示相同的元件,并且其中:

图1是描述能够利用本文公开的系统和方法的通信系统的示例性实施例的框图;以及

图2是发送一个或多个排队的空中软件更新的示例性方法的流程图。

具体实施方式

本文描述了本公开的实施例。然而,应当理解的是,所公开的实施例仅仅是示例,并且其它实施例可以采取各种和可替换的形式。附图不一定成比例;一些特征可以被放大或最小化以显示特殊组件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是用于教导本领域技术人员以各种方式使用本系统及/或方法的代表性基础。如本领域普通技术人员将理解的,示出和描述在任何一个附图中的技术特征能够结合成一个或多个其它附图所示的特征组合,以产生未明确示出或描述的实施例。所示特征的组合提供了典型应用的代表性实施例。然而,与本公开的教导一致的特征的各种组合和修改对于特殊的应用或实施方式是期望的。

参考图1,示出了操作环境,除了其他特征之外,该操作环境包括移动车辆通信系统10并且可以用于实现本文公开的方法。通信系统10通常包括车辆12、一个或多个无线载波系统14、陆地通信网络16,计算机18和数据中心20。应当理解,所公开的方法可以与任何数量的不同系统一起使用,并且不特别限于本文所示的操作环境。同样,系统10及其各个组件的架构、构造、设置和操作在本领域中是众所周知的。因此,以下段落简单地提供了一个这样的通信系统10的简要概述;然而,这里未示出的其它系统也可以采用所公开的方法。

车辆12在所示实施例中描述为客车,但应明白,也可以使用任何其他车辆包括但不限于:摩托车、卡车、公共汽车、运动型多用途车辆(suv)、休闲车辆(rv)、建筑车辆(例如推土机)、火车、手推车、船舶(例如船)、飞机,直升飞机、游乐园车辆,农场装备、高尔夫球车,有轨电车等。一些车辆电子设备28大体上在图1中示出,且包括远程信息处理单元30、麦克风32、一个或多个按钮或其他控制输入34、音频系统36,视觉显示器38和gps模块40以及多个车辆系统模块(vsm)42。这些设备中的一部分可以直接连接到远程信息处理单元30,诸如(例如)麦克风32和按钮34,而其他设备使用一个或多个网络连接间接连接,诸如通信总线44或娱乐总线46。合适的网络连接的示例包括控制器局域网络can)、wifi、蓝牙和低功耗蓝牙、面向媒体的系统传输(most)、本地互连网络(lin)、局域网(lan),以及其它合适的连接,诸如以太网或符合已知iso、sae和ieee标准和规范的其它连接,这里仅举几个例子。

远程信息处理单元30可以是安装在车辆中的oem安装(嵌入式)或售后收发器设备,其能够通过无线载波系统14并经由无线网络进行无线语音和/或数据通信。这使得车辆能够与数据中心20、其他支持远程信息处理的车辆或一些其他实体或设备通信。远程信息处理单元30优选使用无线电传输来建立与无线载波系统14的通信信道(语音信道和/或数据信道),使得可以通过该信道发送和接收语音和/或数据传输。通过提供语音和数据通信,远程信息处理单元30使得车辆能够提供多种不同的服务,包括与导航、电话、紧急辅助、诊断、信息娱乐等相关的服务。可经由数据连接(诸如经由数据信道上的包数据传输)或经由语音信道使用此项技术中已知的技术来发送数据。对于涉及语音通信(例如,与数据中心20处的现场顾问86或语音响应单元)和数据通信(例如,向数据中心20提供gps位置数据或车辆诊断数据)两者的组合服务,系统可利用语音信道上的单个呼叫并根据需要通过语音信道在语音与数据传输之间切换。并且这可以使用本领域技术人员已知的技术来完成。

根据一个实施例,远程信息处理单元30利用根据诸如lte或5g的标准的蜂窝通信,并且因此包括用于诸如免提呼叫的语音通信的标准蜂窝芯片组50、用于数据传输的无线调制解调器(即收发器)、电子处理设备52,至少一个数字存储器设备54和天线系统56。应明白,调制解调器可以通过软件来实现,该软件存储在远程信息处理单元中并由处理器52执行,或者调制解调器可以是单独的硬件组件,其位于远程信息处理单元30内部或外部。调制解调器可以使用任意数量的不同标准或协议来操作,诸如但不限于wcdma、lte和5g。车辆12与其他联网设备之间的无线联网也可以使用远程信息处理单元30来执行。为此,远程信息处理单元30可以配置成根据一个或多个无线协议进行无线通信,诸如ieee802.11协议、wimax或蓝牙中的任一个。当用于诸如tcp/ip的分组交换数据通信时,远程信息处理单元可以配置有静态ip地址,或者可以设置成自动地从网络上的另一设备(诸如路由器)或从网络地址服务器接收分配的ip地址。

能够与远程信息处理单元30通信的联网设备之一是移动计算设备57,诸如但不限于具有双向通信能力的智能电话、个人膝上型计算机、智能可穿戴设备,上网本或平板计算机。移动计算设备57可以包括计算机处理能力和存储器(未示出)、能够与无线载波系统14通信的收发器,和/或能够接收gps卫星信号并基于这些信号生成gps坐标的gps模块。移动计算设备57的实例包括由apple公司制造的iphonetm和由htc公司制造的pixeltm以及其他设备。

移动计算设备57另外具有驻留在其存储器上的与车辆相关的软件应用61(例如,onstar的remotelinktm,generalmotors的mychevrolettm等)。该车辆应用可以(例如,从在线应用商店或市场上)下载并存储在设备的电子存储器上。当安装车辆应用61时,在一个或多个实施例中,车辆应用61使得移动计算设备用户能够管理和发送来自移动计算设备57的一个或多个远程命令请求(例如,远程启动请求、延迟的远程启动请求、车辆诊断更新请求,位置更新请求等)。该请求信息还可以经由无线载波系统14发送到数据中心20,用于处理和随后生成一个或多个车辆命令(例如,远程启动、车辆诊断更新、位置更新等)。

远程信息处理控制器52(处理器)可以是能够处理电子指令的任何类型的设备,包括微处理器、微控制器、主机处理器、控制器,车辆通信处理器和专用集成电路(asic)。它可以是仅用于远程信息处理单元30的专用处理器,或者可以与其他车辆系统共享。远程信息处理控制器52执行各种类型的数字存储和可更新指令,诸如存储在存储器54中的软件或固件程序,其使得远程信息处理单元能够提供多种服务。例如,控制器52可以执行程序或处理数据以执行本文讨论的系统和/或方法的至少一部分。

远程信息处理单元30可用于提供各种范围的车辆服务,涉及传至车辆及/或来自车辆的空中消息收发/通信。这样的服务包括:空中软件更新、分路段向导和结合基于gps的车辆导航模块40提供的其他导航相关服务;气囊展开通知和结合一个或多个车辆系统模块42(vsm)提供的其他紧急或路边辅助相关服务;使用一个或多个诊断模块的诊断报告;以及信息娱乐相关服务,其中音乐、网页、电影、电视节目、视频游戏和/或其它信息由信息娱乐模块(未示出)下载并存储以供当前或以后回放。以上列出的服务决不是远程信息处理单元30的所有能力的穷举列表,而仅仅是远程信息处理单元30能够提供的一些服务的枚举。此外,应当理解,上述模块中的至少一些可以以保存在远程信息处理单元30内部或外部的软件指令的形式来实现,它们可以是位于远程信息处理单元30内部或外部的硬件组件,或者它们可以彼此集成和/或共享,或者与位于整个车辆中的其他系统集成和/或共享,以仅列举几种可能性。在模块被实现为位于远程信息处理单元30外部的vsm42的情况下,它们可以利用车辆总线44与远程信息处理单元交换数据和命令。

gps模块40从gps卫星的星座60接收无线电信号。根据这些信号,模块40可以确定用于向车辆驾驶员提供导航和其他与位置相关服务的车辆位置。导航信息可以呈现在显示器38(或车辆内的其他显示器)上,或者可以口头呈现,诸如在提供分路段导航时进行。导航服务可以使用专用车载导航模块(其可以是gps模块40的一部分)来提供,或者一些或所有导航服务可以经由远程信息处理单元30来完成,其中位置信息被发送到远程位置以便为车辆提供导航地图、地图注释(感兴趣点,餐馆等),路线计算等。位置信息可以提供给数据中心20或其它远程计算机系统,诸如计算机18,以用于其它目的,例如车队管理。此外,新的或更新的地图数据可以经由远程信息处理单元30从数据中心20下载到gps模块40。

除了音频系统36和gps模块40之外,车辆12可以包括电子硬件组件形式的其他vsm42,这些电子硬件组件位于整个车辆中并且通常接收来自一个或多个传感器的输入以及使用感测到的输入来执行诊断、监测、控制、报告和/或其他功能。每个vsm42优选地通过通信总线44连接到其他vsm以及远程信息处理单元30,并且可以经编程以运行车辆系统和子系统诊断测试。

例如,一个vsm42可以是控制发动机操作的各个方面(诸如燃料点火和点火正时)的发动机控制模块(ecm),另一vsm42可以是调节车辆动力系的一个或多个组件的操作的动力系控制模块,且又一vsm42可以是控制位于整个车辆中的各种电气组件(如车辆的动力门锁和前灯)的车身控制模块。根据一个实施例,发动机控制模块配备有车载诊断(obd)特征,所述特征提供无数实时数据,诸如从包括车辆排放传感器的各种传感器接收的数据,并且提供标准化的一系列诊断故障代码(dtc),dtc允许技术人员快速地识别和补救车辆内的故障。本领域技术人员应明白,上述vsm仅仅是可以在车辆12中使用的一些模块的示例,因为许多其他模块也是可行的。

车辆电子设备28还包括多个车辆用户界面,其向车辆乘客提供提供及/或接收信息的装置,包括麦克风32、按钮34、音频系统36和视觉显示器38。本文中所用的术语“车辆用户界面”广泛地包括任何适当形式的电子设备,包括硬件和软件组件,其位于车辆上并且使得车辆用户能够与车辆的组件通信或通过车辆的组件通信。麦克风32向远程信息处理单元提供音频输入,以使得驾驶员或其他乘客能够提供语音命令并经由无线载波系统14执行免提呼叫。为此,可以利用本领域已知的人机界面(hmi)技术将其连接到车载自动语音处理单元。

按钮34允许用户手动输入到远程信息处理单元30中以发起无线电话呼叫并提供其它数据、响应或控制输入。单独的按钮可以用于向数据中心20发起紧急呼叫和常规服务辅助呼叫。音频系统36向车辆乘客提供音频输出,并且可以是专用的独立系统或主车辆音频系统的一部分。根据这里所示的特定实施例,音频系统36可操作地耦合到车辆总线44和娱乐总线46两者上,并且可以提供am、fm、媒体流传输服务(例如,pandoraradiottm、spotifytm等),卫星无线电、cd、dvd和其他多媒体功能。该功能可以结合或独立于上述信息娱乐模块来提供。视觉显示器38优选地是图形显示器,诸如仪表板上的触摸屏或从挡风玻璃反射的平视显示器,并且可以用于提供多种输入和输出功能(即,能够实现gui)。音频系统36还可以生成至少一个音频通知以宣告这样的第三方联系信息正在显示器38上展示,及/或可以生成独立地宣告第三方联系信息的音频通知。还可以利用各种其他车辆用户界面,因为图1的界面仅是一个特定实施方案的实例。

无线载波系统14优选地是蜂窝电话系统,其包括多个蜂窝塔70(仅示出一个)、一个或多个蜂窝网络基础设施(cni)72,以及将无线载波系统14与陆地网络16连接所需的任何其它联网组件。每个小区塔70包括发送和接收天线以及基站,来自不同小区塔的基站直接或经由诸如基站控制器的中间装备连接到cni72。蜂窝系统14可以实现任何合适的通信技术,包括(例如)诸如amps的模拟技术,或诸如但不限于4glte和5g的较新的数字技术。本领域技术人员应明白,各种小区塔/基站/cni布置都是可行的并且可以与无线系统14一起使用。例如,基站和小区塔可以共同位于同一站点,或者它们可以彼此远离地定位,每个基站可以负责单个小区塔,或者单个基站可以服务于各个小区塔,并且各个基站可以耦合到单个msc,这里仅列举几个可能的布置。

除了使用无线载波系统14之外,还可以使用卫星通信形式的不同无线载波系统来提供与车辆的单向或双向通信。这可以使用一个或多个通信卫星62和上行链路发射站64来实现。单向通信可以是(例如)卫星无线电服务,其中节目内容(新闻、音乐等)由发射站64接收,打包用于上载,然后发送到卫星62,卫星62向订户广播节目。双向通信可以是(例如)卫星电话服务,其使用卫星62中继车辆12和站64之间的电话通信。如果使用该卫星电话,则可以使用该卫星电话作为无线载波系统14的补充或替代。

陆地网络16可以是传统的基于陆地的电信网络,其连接到一个或多个陆地线路电话并将无线载波系统14连接到数据中心20。例如,陆地网络16可以包括公共交换电话网(pstn),诸如用于提供硬连线电话、分组交换数据通信和因特网基础设施(即,互连计算设备节点的网络)的pstn。可通过使用标准有线网络、光纤或其它光网络,电缆网络、电力线、其它诸如无线局域网(wlan)的无线网络或提供宽带无线接入(bwa)的网络,或其任何组合来实施陆地网络16的一个或一个以上区段。此外,数据中心20不需要经由陆地网络16连接,但可以包括无线电话设备,使得它可以直接与诸如无线载波系统14的无线网络通信。

计算机18可以是可经由诸如因特网的专用或公共网络访问的多个计算机之一。每个这样的计算机18可用于一个或多个目的,诸如可由车辆经由远程信息处理单元30和无线载波14访问的web服务器。其他这样的可访问计算机18可以是例如服务中心计算机(例如,sip呈现服务器),其中诊断信息和其他车辆数据可以经由远程信息处理单元30从车辆上传;客户计算机,由车主或其他订户用于诸如访问或接收车辆数据或建立或配置订户偏好或控制车辆功能的目的;或者第三方储存库,通过与车辆12或数据中心20通信,或者通过与车辆12或数据中心20通信,向第三方储存库提供车辆数据或其他信息,或者从第三方储存库提供车辆数据或其他信息。计算机18还可以用于提供诸如dns服务的因特网连接,或者用作网络地址服务器,其使用dhcp或其它合适的协议来向车辆12分配ip地址。

数据中心20设计成向车辆电子设备28提供许多不同的系统后端功能(例如,发送空中软件更新),并且根据这里所示的示例性实施例,数据中心20通常包括一个或多个交换机80、服务器82、数据库84、现场顾问86以及自动语音响应系统(vrs)88,所有这些都是本领域已知的。这些各种数据中心组件优选地经由有线或无线局域网90彼此耦合。交换机80可以是专用交换分机(pbx)交换机,其路由输入信号,使得语音传输一般通过常规电话、后端计算机87发送到现场顾问86,或者使用voip发送到自动语音响应系统88。服务器82可以并入数据控制器81,数据控制器81本质上控制服务器82的操作。服务器82可控制数据信息以及充当收发器以从数据库84、远程信息处理单元30和移动计算装置57中的一个或多个发送和/或接收数据信息(即,数据传输)。

控制器81能够读取存储在非瞬态机器可读介质中的可执行指令,并且可以包括处理器、微处理器、中央处理单元(cpu)、图形处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、状态机以及硬件,软件和固件组件的组合中的一个或多个。现场顾问电话还可以使用voip,如图1中的虚线所示。voip和通过交换机80的其它数据通信经由连接在陆地通信网络16和局域网90之间的调制解调器(即收发器)来实现。

数据传输经由调制解调器传递到服务器82和/或数据库84。数据库84可以存储账户信息,诸如车辆动力学信息和其他相关订户信息。数据传输也可以由诸如802.11x、gprs等无线系统进行。尽管所说明的实施例已经被描述为与使用现场顾问86的有人数据中心20结合使用,但应明白,数据中心可以替代地使用vrs88作为自动顾问,或者可以使用vrs88和现场顾问86的组合。

数据库84还可以设计成以可执行指令的形式存储信息,可执行指令诸如但不限于由服务器82访问、执行和/或管理的多个应用程序界面(api)套件。此外,在某些实施例中,这些api套件可由系统用户、数据中心20或一个或多个第三方访问。例如,一个api套件可以是软件更新队列模块92(队列模块)。队列模块92可接收可被认为是非紧急的车辆软件更新(例如,释放更新包、信息娱乐显示配置更新,预付费无线通信信用)。队列模块92可以将更新置于队列中,然后至少临时地将更新存储在数据库84中,直到数据中心20已经接收到与更新的队列号相对应的车辆命令请求(例如,远程启动请求、延迟的远程启动请求、车辆诊断更新请求,位置更新请求等)。一旦接收到命令,队列模块92将向服务器82提供软件更新,使得服务器可以基于软件更新(即,用于远程信息处理单元30响应呼叫服务器82以下载软件更新的指令)生成更新回叫信息。或者,在一个或多个实施例中,队列模块92本身可基于软件更新生成更新回叫信息并将该信息提供给服务器82。

方法

现在参看图2,所示为发送一个或多个排队的ota软件更新的方法200的实施例。传输方法200的一个或多个方面可以通过由数据中心20的服务器82实现的队列模块92来完成,队列模块92可以包括并入数据库81中的一个或多个可执行指令。方法200的一个或多个方面可以另外(例如)通过车辆远程信息处理单元30和移动计算设备57来完成。本领域技术人员还将看到,远程信息处理单元30、数据中心20和移动计算设备57可以彼此远离地定位。

方法200由远程信息处理单元30支持,其配置成与数据中心20建立一个或多个通信协议。该配置可以由车辆制造商在组装远程信息处理单元时或大约同一时间建立或售后建立(例如,经由使用前述通信系统10的车辆下载或在车辆服务时,这里仅列举几个示例)。在至少一个实施方案中,可将一个或多个指令提供给远程信息处理单元30并将其存储在非瞬态计算机可读介质(例如,存储器设备54)上。方法200进一步通过预先配置数据中心20以在数据库84中储存队列模块92以及一个或多个其它api来支持,每个api可经由服务器82操作地访问。方法200还进一步通过预先配置移动计算设备57以产生一个或多个车辆命令请求以及在其电子存储器中存储一个或多个软件应用程序来支持。

方法200开始于步骤210,其中将非紧急软件更新下载到服务器82上(将被存储在数据库84上)。软件更新可以是例如新的交通工具软件或先前存在的交通工具软件的较新版本,诸如(例如)软件升级、补丁或错误修复,或者ota软件更新可以是例如先前存在的交通工具软件的更新的配置设置。此外,ota软件更新可通过无线载波系统14上的通信协议(即,空中或ota软件更新)发送到远程信息处理单元30。此外,当软件更新可以在更新已经下载到服务器82之后的某个时间量被下载并安装在远程信息处理单元30或某个其他车辆系统上时,软件更新被认为是非紧急的,因为更新基本上不影响车辆性能或乘客安全。例如,用于远程信息处理单元30的信息娱乐操作系统或预付费无线通信信用的无线电预置设置更新可以在被下载到服务器82上后12小时到几天由车辆安装,因为这些特征的延迟安装不会引起车辆操作错误(例如,制动问题、远程信息处理单元服务中断/故障等),延迟安装也不应该使车辆乘客处于危险中。在一个或多个实施例中,当软件更新下载到服务器82时,其可提交给安装在数据库84上的外部重试请求管理器(errm)api。

在可选步骤220中,服务器82将与车辆12通信以分析车辆硬件,从而确定是否应当将软件更新安装到车辆12上。例如,服务器82可以访问车辆通信系统(vcs)api以经由所建立的通信协议与远程信息处理单元30通信,从而分析远程信息处理单元30是否具有配置成接收包括在软件更新中的特定软件升级的操作系统。如果服务器82确定软件更新是能够由远程信息处理单元30下载的软件更新,则方法200将移至步骤230;否则,方法200将移至完成201(例如,当针对未安装到远程信息处理单元30上的信息娱乐操作系统设计软件升级时)。

在步骤230中,服务器82将与队列模块92通信以将软件更新置于队列中并且至少临时地将更新存储在数据库84中(即,软件更新将保持在存储器中直到其队列号被调用)。此外,队列可以配置成先进先出系统。在步骤240中,服务器82将接收车辆命令请求,其可以与更新的队列号相关联。此外,该命令请求可以在从队列模块92最初将软件更新存储在数据库84中时起的相当长的持续时间之后(例如,六小时,两天等)以及在已经接收到与其它队列号相关联的其它请求之后被接收。

如上所述,该车辆命令请求可以通过用户激活并操作其远程启动车辆应用程序(例如,onstar的remotelinktm、generalmotors的mychevrolettm等)生成并从移动计算设备57无线发送。此外,车辆命令请求可以是多个众所周知请求中的一个,诸如(例如)远程启动请求、延迟远程启动请求、车辆诊断更新请求,或位置更新请求。如下所述,远程启动请求将请求服务器82生成车辆命令,该车辆命令将启动发动机操作和/或车辆12的一个或多个车辆系统。延迟的远程启动请求将请求服务器82生成车辆命令,该车辆命令将在接收到请求之后的某个时间点(例如,两(2)小时)启动发动机和/或一个或多个车辆系统。车辆诊断更新请求将请求服务器82生成车辆命令,该车辆命令将使车辆产生并发送用于一个或多个车辆系统和/或vsm42的诊断信息。此外,为了显示的目的,可以将诊断信息发送到移动计算设备57。位置更新请求将请求服务器82生成车辆命令,该车辆命令将使车辆产生并发送当前位置信息(例如,gps位置信息),当前位置信息也可出于显示目的而发送给移动计算设备57。

在步骤250中,服务器82将响应于命令请求(即,触发事件)而生成命令。例如,服务器82可以生成远程启动命令、车辆诊断更新命令,位置更新命令(如上所述)。此外,该命令可以是二进制形式,并且是可由远程信息处理单元30识别的整数序列(即,包含数字和字母的消息)。如下所述,当被远程信息处理单元30接收时,处理器52应当分析命令消息并且随后应当从数字存储设备54中检索可执行指令以使处理器52执行该命令。

在步骤260中,服务器82将生成更新回叫信息,当远程信息处理单元30接收到该更新回叫信息时,其将指示远程信息处理单元30自动回叫服务器82以通过无线载波系统14请求和检索软件更新。类似于命令,回叫信息还可以是二进制形式的,并且是远程信息处理单元30可识别的整数序列。在一个或一个以上实施例中,在此步骤中,服务器82可与队列模块92通信以使该模块生成回叫信息或简单地检索先前由队列模块92在其第一次使软件更新排队时生成的回叫信息。在一个或多个实施例中,队列模块92可以使得排他类型的车辆命令请求能够计数为队列的触发事件。例如,远程启动请求和延迟的远程启动请求可以仅计数以使服务器82生成更新回叫信息。

在步骤270中,服务器82将创建通信包,其至少包括生成的更新回叫信息和命令。通信包可实现为基于短消息服务(sms)的空中(ota)通知,其包括命令和更新回叫信息消息以及在执行与更新回叫信息相关联的任何动作之前执行命令的指令。此外,通信包中的消息或通信包本身可以进行加密。应当理解,至少这个通信包是至少更新回叫信息和命令特征的创新布置。通信包还提高了服务器82与车辆12通信的能力,因为该通信包减少了传送某些信息所需的交互的数量,并且因此可以降低连接性失败率、数据传输速度和效率,因为服务器82和车辆12之间的通信线路在发送时更可能是开放的以便接收。另外,由于每个基于sms的ota通知伴随着每次交易的费用,因此将通信包实现到系统10中可以降低车辆通信的总成本,因为需要发送到车辆12的基于sms的ota通知的数量减少。

在步骤280中,服务器82将通过建立的通信协议(信道)经由无线载波系统14将通信包发送到车辆12。一旦接收到命令包,通信协议结束,并且远程信息处理单元30将分析命令消息和更新回叫信息消息两者,并且随后从数字存储设备54中检索相应的可执行指令。然后,可执行指令将使处理器52执行命令(例如,启动车辆),随后与天线系统56协作以通过无线载波系统14与服务器82建立其自己的独立通信协议。此外,在已经建立该单独的回叫通信协议之后,处理器52将请求服务器82提供状态更新以经由该协议下载。此外,在请求服务器82提供更新时,可以在服务器82和远程信息处理单元30之间执行握手技术以验证该请求是可信的。应当理解,通信协议可以进行加密。

在步骤290中,服务器82将与队列模块92通信以从数据库84检索软件更新,并且可以更新任何数据库/模块记录以记录该检索(即更新队列)。一旦已从队列模块92检索到软件更新,服务器82将使软件更新可用于远程信息处理单元30以经由通信协议下载。远程信息处理单元30然后将检索、下载和安装软件更新。在步骤290之后,方法200将移至完成201。

本文所公开的过程、方法或算法可传递到处理设备、控制器或计算机,或者由处理设备,控制器或计算机实施,该处理设备,控制器或计算机可包括任何现有可编程电子控制单元或专用电子控制单元。类似地,过程、方法或算法可以以多种形式存储为可由控制器或计算机执行的数据和指令,该形式包括但不限于永久存储在不可写储存器介质(诸如rom设备)上的信息和可变地存储在可写储存器介质(诸如软盘、磁带、cd、ram设备以及其它磁性和光学介质)上的信息。过程、方法或算法也可以在软件可执行对象中实施。可替换地,可以使用适当的硬件组件诸如专用集成电路(asic)、现场可编程门阵列(fpga)、状态机、控制器或其它硬件组件或设备、或硬件、软件和固件组件的组合来整体或部分地实现过程、方法或算法。

虽然以上描述了示例性实施例,但是这些实施例并不旨在描述权利要求所涵括的所有可能的形式。说明书中使用的词语是描述的词语而不是限制的词语,并且应当理解的是,在不脱离本公开的精神和范围的情况下可以进行各种改变。如前所述,各种实施例的特征可被组合以形成可能未被明确描述或示出的系统和/或方法的其它实施例。虽然关于一个或多个期望的特性,已将各种实施例描述为提供优点或优于其它实施例或现有技术实施方案,但是本领域的普通技术人员认识到,一个或多个特征或特性可能会被折中以实现期望的整体系统属性,这取决于特定的应用和实施方式。这些属性可以包括但不限于成本、强度、耐用性、生命周期成本、市场性、外观、包装、尺寸、适用性、重量、可制造性、组装容易性等。因此,相对于一个或多个特征而言,被描述为比其他实施例或现有技术实现方式更不是期望的实施例并不在本公开的范围之外,并且对于特殊的应用而言可能是期望的。

为了易于描述,空间上相对的术语(诸如内部、外部、下面、下方、下部、上方、上部等等)可以在本文使用以描述一个元件或特征与如图所示的另外的元件或特征的关系。除了图中描绘的方位之外,空间上相对的术语可能意在涵括使用或操作中的设备的不同方位。例如,如果图中的设备被翻转,则被描述为在其他元素或特征“下方”或“下面”的元素然后将被定向为在其他元素或特征“上方”。因此,示例性术语“下面”可以涵括上方和下方的方位。该设备可以以其它方式取向(旋转90度或以其它取向)并且本文使用的空间上相对的描述符被相应地解释。

除非使用短语“用于……的装置”或在使用权利要求中的短语“用于……的操作”或“用于……的步骤”的方法权利要求的情况下明确地叙述了技术特征,否则权利要求中叙述的元件都不旨在是在35u.s.c.§112(f)意义内的装置加功能元件。

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