专利名称:用于与车辆计算机系统交互的方法
技术领域:
本发明的一个或多个实施例涉及用于在多个设备和车辆计算机系统之间通信数据的方法。多个设备可通过不同的通信协议通信数据。在一些实施例中,多个设备可为有线或无线设备。
背景技术:
在通过通信网络协助多个终端之间通信的领域内存在多种示例。美国专利US 7,602,782号公开了用于在远程设备和主机系统之间智能传送数据的装置和方法。更具体地,该专利提供用于在远程或移动设备和固定通信主机网络之间透明通信。逻辑上驻留在主机网络和现有基础设施之间的远程网络控制器用于提供与一个或多个远程设备联系的通信网络。远程网络控制器连接至主机通信网络作为适当协议通信控制器以便让主机网络不能辨别远程设备和本地连接设备。每个远程设备可设有导步串行数据接口以与移动数据控制器通信。移动数据控制器(与远程网络控制器组合)提供端对端数据通信,这样不兼容的协议对于远程设备和主机通信网络是透明的。可提供路由器,其根据用户配置参数选择通信网络。路由器通过多个不兼容的网络通信并且能够使用多种不同的协议。在多个不兼容的网络之间切换对于远程设备和主机通信网络是透明的。美国专利US 2006/0150197公开了用于管理系统的客户端的连接。该专利公开了生成客户端系统的程序对象的实例,客户端系统为计算机平台类型、程序对象与多个不同的计算机平台类型兼容。该专利进一步公开了将程序对象的实例与服务器接口连接并且使用程序对象的实例管理服务器上的程序。美国专利US 2006/0156315号公开了用于在客户端-服务器端环境下提供图形用户接口的计算机可读介质和装置和方法。该专利具体地公开了客户端/服务器端关系的客户端程序,其接收生成特定实施的图形用户接口部件的指令并且从服务器端程序接收任何将在接口部件上显示的数据。当终端用户与客户端交互时,客户端将事件和数据返回至服务器端用于处理。指令和事件构成协议并且经由API发布。在客户端和服务器端之间无需要联系程序可实现传输指令事件。特定的GUI实施方案由服务器端程序指定并且与在运行时间的客户端相关。
发明内容
本发明的一个方面包括用于交互两个或多个设备和车辆计算机系统的方法。从两个或多个设备接收请求以与车辆计算机系统连接,两个或多个设备使用不同的通信协议通信数据。通信协议可包括互联网协议、蓝牙协议、私有协议、802. 11协议和大容量设备协议。基于连接请求建立与两个或多个设备连接(其可为也可不为同时连接)。方法可进一步包括确定两个或多个设备的通信协议。在两个或多个设备上利用通用传输协议用于与基于各自的通信协议的两个或多个设备通信数据。基于通用传输协议可建立与两个或多个设备的数据交换。数据可包括但不限于运行安装在两个或多个设备上的一个或多个应用程序的指令或用于基于一个或多个服务类型执行事件的指令。服务类型可包括但不限于远程进程调用、批量传输或流媒体。方法可进一步包括基于数据在车辆计算机系统或两个或多个设备处执行事件。在一个实施例中,通用传输协议可为普适传输(transport agnostic)。根据本发明的一个实施例,建立与两个或多个设备的连接包括在车辆计算机系统处监视来自两个或多个设备的连接请求;及一旦建立连接,生成定义连接的识别信息。根据本发明的一个实施例,确定两个或多个设备的通信协议包括接收定义两个或多个设备的连接的识别信息;及基于识别信息确定两个或多个设备的通信协议。根据本发明的一个实施例,识别信息为通信协议名称和设备名称中至少一个。本发明的另一方面包括一种包含可配置用于与两个或多个设备连接的数据处理器的系统。两个或多个设备通信可使用不同的通信协议通信。数据处理器可进一步配置用于确定两个或多个设备的协议。可基于它们的各自通信协议利用通用协议用于与两个或多个设备通信数据。可与设备通信数据用于执行事件。在一个非限制性实施例中,数据处理器可为车辆计算机。在一些实施例中,两个或多个设备可配置用于从数据处理器接收连接请求。此外, 两个或多个设备可同时与数据处理器连接。根据本发明的一个实施例,数据处理器为车辆计算机。根据本发明的一个实施例,两个或多个设备配置用于从数据处理器接收连接请求。根据本发明的一个实施例,两个或多个设备与数据处理器同时连接。在根据附图和本发明的下面的详细描述可更好地明白这些或其它方面。
下文所列附图为本发明一些实施例的说明。附图并非意为权利要求中所述本发明的限定。结合附图参考下文的描述,关于实施例的结构和运转方式的描述以及其它目的和优点将更易理解。图1说明了车辆计算机系统的框式拓扑图。图2说明了一个或多个远程终端和图1中的车辆计算机系统之间的通信接口的系统架构。图3说明了用于生成一个或多个数据包通过图2中的通信接口交换的非限制性示例的数据流程图。图4说明了用于在一个或多个远程终端和车辆计算机系统之间建立连接的示例性运转。图5A和5B说明了在多个远程终端和车辆计算机系统之间的非限制性示例的数据交换场景。图6说明了用于生成用于传输的消息的运转的一个方面。图7说明了用于在远程终端和车辆计算机系统之间消息传输和交换的运转。
具体实施方式
本说明书中公开了本发明的详细实施例。然而,应理解,所公开的实施例仅为本发明的示例,其可以多种替代形式实施。因此,本文中所公开的具体功能性细节不可解释为限定,而仅是权利要求的代表性基础和/或教导本领域技术人员以多种方式实施本发明的代表性基础。例如个人计算机、手持诊断工具、蜂窝电话、智能手机、个人数字处理(PDA)等的设备可均包括不同的信道用于通信数据。非限制性的示例包括蜂窝式、蓝牙、WiFi、WiMax、 红外(IF)、RF等。一些设备(例如由苹果公司制造的iWione)可使用私有协议通信数据。而且,这些设备可具有安装在其上的应用程序或程序(下文称为应用程序)用于由设备的用户使用。这些应用程序可用于用户的多个目的,例如通信、娱乐、诊断和社交网络。用户通常运行这些位于漫游设备上的本地应用程序。因此,这些应用程序可编程有用于从本地漫游设备接收输入和运转指令以便运转应用程序的指令。然而,在一些情况下,用户能够远程地运行这些应用程序。如一个示例,用户可从车辆信息系统运行这些应用程序。这种车辆信息系统的一个示例为福特汽车公司的SYNC。 在这种情况下,应用程序可安装在漫游装置上,但是可通过车辆计算机系统执行这些应用程序的运行。然而,应用程序不会编程为通过远程终端(例如车辆计算机系统)来运行。因此,在不具有与远程终端的功能和控制交互能力下,用户不能够获得这些应用程序的功能。图1说明了基于车辆31的计算机系统1的车辆示例框式拓扑图。应了解图1(和图2-7)的配置是非限制性的。因此,可修改或重新配置图1-7的公开和配置以最佳地适合本发明的多个实施例中的特定实施。设有基于车辆的计算机系统的车辆可包含位于车辆中的可视前端界面4。用户还可通过例如触摸屏与该界面(如果有的话)交互。在另一说明性实施例中,通过按压按键、 口头对话和语音合成进行交互。在图1中所示的说明性实施例1中,处理器3控制基于车辆的计算机系统的运转的至少一部分。设置于车辆中的处理器允许在车辆中处理指令和应用程序。此外,处理器连接至非持久性存储器5和持久性存储器7。在此说明性实施例中,非持久性存储器为随机存取存储器(RAM),而持久性存储器为硬盘驱动器(HDD)或快闪存储器。处理器还设有多个不同的输入,允许用户与处理器交互。在此说明性实施例中,设有麦克风四、辅助输入25 (用于输入3 、USB输入23、GPS输入24、和蓝牙输入15。还设有输入选择器51以允许用户在多种输入之间切换。转换器27对麦克风和辅助连接器的输入传递至处理器之前将其从模拟信号转换为数字信号。对系统的输出可包括但不限于视觉显示器4和扬声器13或立体声系统输出。扬声器连接至放大器11并通过数字-模拟转换器9从处理器3接收其信号。还可分别沿19、 21处所示的双向数据流输出至远程蓝牙设备(例如PND54)或USB设备(例如车辆导航设备 60)。在一个说明性实施例中,系统1使用蓝牙收发器15与用户的漫游设备53 (例如蜂窝电话、智能电话、PDA等)通信17。漫游设备可随后用于通过例如与蜂窝塔57的通信55 来与车辆31外部的网络61通信59。在一些实施例中,蜂窝塔57可为WiFi接入点(WiFi access point)。信号14代表了漫游设备和蓝牙收发器之间的示例性通信。
可通过按钮52或类似输入指示漫游设备53和蓝牙收发器15的配对。这样,指示 CPU车载蓝牙收发器将与漫游设备中的蓝牙收发器配对。可利用例如与漫游设备53相关联的数据计划(data-plan)、声载数据(data over voice)或双音多频(DTMF)音调在CPU3和网络61之间传递数据。可替代地,可能需要包括具有天线18的车载调制解调器63以便通过语音频带(voice band)在CPU3和网络61之间传递16数据。随后漫游设备53可用于通过例如与蜂窝基站57的通信55与车辆31外部的网络61通信59。在一些实施例中,调制解调器63可建立与基站57的通信20用于与网络61通信。作为非限定示例,调制解调器63可为USB蜂窝调制解调器,而通信20可为蜂窝通信。在一个说明性实施例中,处理器设有包括API的操作系统以与调制解调器应用程序相通信。调制解调器应用程序可访问蓝牙收发器上的嵌入模块或固件以完成与远程蓝牙收发器(例如在漫游设备中所找到的)的无线通信。在另一实施例中,漫游设备包括调制解调器用于语音频带通信或宽带数据通信。 在声载数据实施例中,可采用称为分频多路(frequency division multiplexing)的技术, 漫游设备的用户可在传输数据的同时通过设备交谈。在其它时间,当用户未使用该设备时, 数据传输可使用整个带宽(在一个示例中为300Hz至3. 4kHz)。如果用户具有与漫游设备相关联的数据计划,该数据计划可能允许宽带传输且系统可使用更宽的带宽(加速数据传输)。在又一实施例中,漫游设备53被安装至车辆31 的蜂窝通信设备(未显示)所代替。在又一实施例中,漫游设备53可为能够通过例如(而非限定)802. 11网络(例如但不限于WiFi和WiMax)和长期演进技术(LTE, Long Term Evolution)网络通信的无线局域网(LAN)设备。在一个实施例中,输入数据可经由声载数据或数据计划穿过漫游设备、穿过车载蓝牙收发器、并进入车辆内部处理器3。例如,在某些临时数据的情况下,数据可存储在HDD 或其它存储介质7上直至不再需要的时候。其它可与车辆交互的来源包括具有例如USB连接56和/或天线58的个人导航设备M,或者具有USB 62或其它连接的车辆导航设备60、车载GPS设备M、或者与网络61连接的远程导航系统(未显示)。此外,CPU可与多个其它辅助设备65通信。这些设备可通过无线连接67或有线连接69相连。同样地或可替代地,CPU可使用例如WiFi 71收发器连接至基于车辆的无线路由器73。这可允许CPU在本地路由器73范围内连接至远程网络。图2说明了非限定架构,其中用户可通过车辆计算机系统(VCS)I与多个设备交互。更为具体地,系统100可允许用户通过VCS 1与安装在设备lOh-f上的应用程序 103a-f交互用于通过VCS 1运转应用程序103a-f。运转应用程序103a_f可包括但不限于启动应用程序、输出指令和指示(通过语音、按钮等)、以及接收输出(例如视觉、图形、音频、及其它类似输出)。然而应了解,图2的架构和相关联的描述为非限定性的。例如而非限定,额外地或可替代地,可通过设备lOh-f运行应用程序103a_f。例如而非限定,输入、输出、及指令可在设备lOh-f处发生。还应了解到,参考图2所描述的多个实施例可额外地或可替代地用于远程信息通讯支持。作为非限定示例,可在交换车辆健康报告数据时使用多个实施例。作为另一非限定示例,可在交换应用程序103a-f的授权数据时使用多个实施例。作为再一非限定示例, 多个实施例可用于远程车门解锁。现在参考图2,可有一个或多个可与VCS 1交互的设备lOh-f。然而,出于说明和清楚起见,图2显示了多个设备102a-f。这些设备的非限定示例可包括蜂窝电话、手持诊断工具、个人计算机、智能电话、个人数字助理(PDA)、媒体设备(例如而非限定,Mp3播放器)、 便携存储设备(例如而非限定,USB拇指盘(thumbdrive)、存储卡/棒、SLOTMUSIC存储卡、 及其它合适的存储设备)、和/或用于接受这些存储设备的适配器,以及现在或以后可知的其它设备。安装在设备lOh-f上的应用程序103a_f可由工厂安装在设备lOh-f上或由用户在购买设备lOh-f后安装。例如而非限定,用户可从计算机可读介质(例如CD或拇指盘)安装应用程序,或者通过互联网下载应用程序。用户可包括但不限于消费者、车辆经销商(及经销商所雇用的工作人员)、或维修店(及维修店所雇用的工作人员)。可安装在设备lOh-f上的应用程序103a-f的非限定示例可包括车辆诊断应用程序、通信应用程序 (例如而非限定,电子邮件、互联网语音(VOIP)、及文本信息)、娱乐应用程序(例如而非限定,多媒体流、视频、音乐、游戏等)、社交网络应用程序、基于特定位置的应用程序、互联网应用程序、基于个人广告的应用程序等。各个设备lOh-f均可使用一个或多个通信协议l(Ma_f通过一个或多个信道传递数据。这些通信协议l(Ma-f的非限定示例可包括蓝牙协议、802. 11协议、TCP/IP、私有协议(例如而非限定,苹果公司的iAP协议)、大容量存储器协议(例如而非限定,USB协议)、 基于USB的网络协议(例如而非限定,USB串口或USB-RNDIS)、及其它现在或以后可知的协议。应理解,设备lOh-f能够使用多个通信协议(例如而非限定,蓝牙和802. 11)传递数据。VCS 1和设备lOh-f之间的这种关系可称为网络。在一些实施例中,设备lOh-f和 VCS 1之间的关系可形成“自组织”网络("ad-hoc "network).应理解,尽管描述了与机动车辆中计算机系统的使用相关的多种实施例,还可能有执行网络的其它环境。这些环境的非限定示例包括家庭、办公室、飞机、火车、公共汽车及其它类似环境。返回参考图2,对于蓝牙备用的设备,每个设备还可包括一个或多个蓝牙配置文件,其确定备有蓝牙的设备可与哪个设备通信。配置文件可为标准配置文件(例如A2DP、 HFP、SDAP、及HSP)或者定制的配置文件。如非限制性示例,具有蓝牙的设备可包括SDAP配置文件以发现VCS问题1上可用的服务。在一些实施例,发现流程可基于具有用于SDAP配置文件的通用唯一识别码(UUID,universally unique identifier)的 SDAP 记录。设备lOh-f可使用上文所述的信道与VCS 1建立连接。在一个实施例中,设备 lOh-f可接收来自VCS 1的连接请求。在其它实施例中,VCS 1可接收来自设备lOh-f的连接请求。当建立连接后,数据传输管理器106(其可以或不可以实施为VCS 1的CPU 3的应用程序)可从一个或多个应用程序103a-f (通过设备102a-f)接收信息/数据,并处理信息/数据用于进一步传输。在一些实施例中,设备l(^a_f可同时连接至VCS 1。在其它实施例中,设备可建立单独且分离(即非同时的)的连接。
在一个实施例中,传输管理器106可将此数据传递至安全管理器108。因此,传输管理器106可协助设备lOh-f和安全管理器108之间的通信。下文将描述安全管理器的其它细节。在一些实施例中,传输管理器还可与可将数据传递至安全管理器的数据管理器 (未显示)通信。数据管理器可在数据库结构中存储应用程序之间可用的系统数据。传输管理器106的工作的非限定示例可包括概括(或标准化)通信协议l(Ma-f 并传递下列非限定信息数据、传输状态改变、发现的应用程序、以及开始请求。传输管理器106可根据通过给定信道l(Ma-f以给定名称与设备lOh-f连接的交互完成这些工作。 更为具体地,传输管理器106可通过已有对话(session)发送和/或接收数据。对话可为设备lOh-f上的应用程序103a-f与VCS 1之间的逻辑连接。传输管理器还可为协议模块105(例如,并且非限制,连接至设备)提供通知。在一个实施例中,通知可为定义发生触发该通知的识别信息。此外,传输管理器106可维持多个连接映射,包括连接与给定连接上的所有活动对话之间的映射,以及连接与对应信道l(Ma-f之间的映射。“连接”可为设备lOh-f的传输层与VCS 1之间的连接。因此,传输管理器106可通过数据传输协议 (下面描述)从信道l(Ma_f打包传输具体细节。传输管理器106也可维持关于连接的设备lOh-f (例如设备名称)和关于信道l(Ma-f (例如传输名称)的信息。因此,传输管理器106可协助通过用于向/从设备lOh-f通信数据的通信协议l(Ma-f中的任意一种在应用程序103a-f和VCS 1之间进行的数据交换。如上所述,传输管理器可协助发现应用程序103a_f和/或设备102a_f。如非限制性示例,可使用零配置网络实现发现。然而,在一些实施例中,发现可具体至每个通信协议 104a-f (例如,而非限定,使用用于蓝牙设备的服务发现协议(SDP))。在一个实施例中,数据传输管理器106可包括在CPU3上执行的数据传输插件应用程序107。数据传输插件107可确定并且管理每个通信协议l(Ma-f的连接。例如而非限定,可存在用于私有协议、蓝牙协议、802. 11协议等的插件。在一些实施例中,插件107可实施为动态链接库(DLL)。因此,可提供当前和新的信道l(Ma-f的功能。插件107可由OEM 或第三方开发者(例如Wipro技术公司)实现。数据传输插件107可提供用于连接至设备lOh-f的接口。在一个实施例中,插件 107可等待来自设备lOh-f的输入连接。由插件107建立的连接可允许通过现有连接(如上所述)发送和/或接收数据。接口可独立于底层通信传输协议l(Ma-f。在一些实施例中,插件107可基于其接收的信息提供传输管理器106的发生(例如,而非限定,连接)。在一个实施例中,通知可为定义发生的识别信息。在其它实施例中,插件107可缓冲通过传输连接接收的数据。如上所述,传输管理器106可发送和/或接收通过现有对话(如上所定义)传输的数据。在一个实施例中,可由与传输管理器106通信的协议模块105接收/发送消息。协议模块105可执行多个任务以协助用户从VCS 1运转应用程序103a-f。一些非限制性的任务包括(1)协议模块初始化/非初始化;(2)开始/结束通过给定连接的对话(如上所定义);(3)增加/移除新服务和现有服务(如下所定义);及(4)通过现有对话(如上所定义)发送/接收数据。在一个实施例中,协议模块105也可提供通知。当由协议模块105 接收数据包(例如从传输管理器106)时,可触发这些通知。协议模块105可进一步确定应用程序103a-f所要求的服务的类型。服务可为心跳服务(heartbeat,HB)、远程进程调用(remote procedure call,RPC)、或批量服务(bulk service)。其它非限定服务可包括媒体流、使用应用程序专用传输协议(例如具有特定域名协议的应用程序)、使用其它协议(例如HTTP、FTP、IRC、SOAP、及IMAP)、以及其它合适的服务类型。更为笼统地,服务可指示应用程序103a-f可被要求的行为的类型。在一个实施例中,每个服务类型可维持在协议模块105内的队列里并且根据传输模式传输。在一个非限制性示例中,该传输模式可为先进先出(FIFO)传输模式。另外地或可替代地,协议模块105可为每个服务类型分配优先级。因此,具有高优先级的服务类型会在具有低优先级的服务类型之前传输。如非限制性示例,心跳服务可具有最低的优先级,RPC可具有中等优先级,以及批量服务可具有最高优先级。应了解可使用其它优先级计划而不偏离多个实施例的范围和实质。在一个实施例中,协议模块105可替代地或另外地周期性地发送和/或接收每个有效对话的心跳消息。当接收心跳消息(例如从设备102a-f),协议模块105可以预定时间周期和/或预定次数接收心跳消息。如果没有接收心跳消息,协议模块105可关闭对话并且可传输状态通知至应用程序103a-f。此外,每个心跳可跨越预定时间周期(例如,而非限定,5秒)。协议模块105也可分割超过特定有效载荷阈值的消息。传输插件107可具有其能够接收有效载荷大小的限制。这可称为最大传输单元(MTU,maximum transmission unit)。 因此,协议105可分割输入消息并且传输分割形式的消息以便符合传输插件的MTU规则。在返回时,协议模块105也可在将消息传输至应用程序103a-f之前重新组合分割的消息。在一个实施例中,应用程序103a-f可仅接收重新组合的消息。分割也可提供用于通过提供交错数据来增加系统100的性能。在一些实施例中,会对交错交互的数目有限制。图5A和5B 说明了非限制性示例的非分割数据交换(图5A)和分割的数据交换(图5B)。协议可分为两层(例如上层和低层)。上层可包含实现设备通信和系统控制流的功能调用。低层可提供基础通信功能。低层可无关于硬件和系统细节。将参考图3描述系统100的多个部件之间交互的细节。如上所述,可根据数据传输协议传输从应用程序103a-f接收的一个或多个消息(或数据包)。该数据传输协议可为 “普适传输”(transport agnostic)。这样,数据传输协议可为动态协议,其可支持扩展性而不用对其架构做出较大的(或任何)改变。因此,可经由数据传输协议传输来自应用程序 103a-f的指令,而无关乎设备lOh-f使用哪一种通信协议104a-f (例如,当前和未来的通信协议)来传输数据。例如而非限定,一个设备可使用蓝牙(例如使用射频通信(RFComm))以及逻辑连接控制和适配(L2CAP)协议运行应用程序103a-f,同时另一设备可使用私有协议(例如苹果公司的iAP)运行应用程序103a-f。数据传输协议通过VCS 1协助各自设备lOh-f上应用程序的运转而不用考虑各个设备所使用的数据信道103a-f。从用户的角度,可无缝使用设备lOh-f上的应用程序。从应用程序103a-f的开发者的角度,无需基于不同的通信协议l(Ma-f分别开发应用程序。而且,数据传输协议200可与带宽和延迟无关。因此,在这个实施例中,协议不会从应用程序103a_f作出有关于数据连接的速度或延迟的假设。在一些实施例中,信道 l(Ma-f的最小公分母可管理交互。最小公分母可为相对的。例如,相较于WiFi能够获得大约10-20mbs吞吐量,蓝牙限制于大约7001ibs吞吐量。在一个实施例中,数据传输协议可包含通用指令。在这种实施例中,用于与VCS 1 交互的特定功能(例如至VCS 1的特定指令)可不会编程至协议。而是,在VCS 1和应用程序103a-f之间提供通用的数据传输。如在图3中所说明,某些方面的数据交换可为单向的(例如由数据流箭头208所代表)。另外地或可替代地,某些方面的可为双向的(例如由数据流箭头200所代表)。然而,应了解可修改或重新配置图3中的公开和配置以最佳地适合本发明的多个实施例的特定实施。应用程序标识(“AppID”)、对话信息(“Session”)、服务类型(“krvType”)和应用程序数据可从应用程序103a-f传输(箭头200)。应用程序数据可包括但不限于用户指令/请求(例如而非限定,将请求绑定至响应的关联ID、执行的指令、开始的事件和状态返回码)和应用程序脚本(例如而非限制,可包括界定应用程序103a-f可以使用VCS 1的何种资源)。应用程序数据也可包括图标、声音文件和图形。根据车辆,应用程序数据可包括但不限于获得的语音结果和获得的车辆诊断结果。应该明白地是应用程序数据的组成是开放且非限制性的,其可被增加或修改。AppID可为与应用程序103a_f关联的唯一的ID。在一些实施例中,其可为数字 ID、用户友好的描述、图标等。AppID可确定可通过VCS 1运转的应用程序103a-f。而且, 一旦建立对话,AppID可用于为用户识别(例如在显示器4处)车辆内的应用程序103a-f。这些数据中的一些可包括在数据传输协议内。例如而非限定,服务类型(例如而非限定,RPC或批量)可包含至少一个字节的数据协议。另外地,对话ID (识别该对话)可包含一个或多个字节的数据协议。一旦激活应用程序103a_f或在应用程序103a_f的运转期间,可传输来自应用程序103a-f的数据。下面的表1提供了数据的定义。数据传输协议的额外内容可包括帧类型(例如而非限定,控制帧、单帧、第一帧或连续帧)、帧数据(其可基于帧类型)、协议的版本号、压缩标识(例如出现压缩数据时)、用于压缩的算法和数据大小(其可基于帧类型)。数据可均包含一个或多个字节的数据传输协议。如在图3中进一步说明,可在应用程序103a_f和传输插件107之间交换其它数据。多种指令可从应用程序103a-f传输至传输管理器106。在表1中提供了这些指令的非限制性示例。AppID(其可包含也可以不包含在独立的数据包内)、数据传输协议的协议头和应用程序数据(例如用户指令/请求、应用程序脚本等)也可传输至传输管理器106 (数据流箭头202)。相同的信息可返回(例如当已经在VCS 1处执行运转时)至数据传输协议模块105(数据流箭头202)。传输管理器也可向协议模块105提交传输属性(数据流箭头214)。可选地,传输状态可从传输插件107处接收(数据流箭头216)并且传输至协议模块105 (数据流箭头 212)。传输属性和传输状态在表1中描述。传输管理器106也可将协议头(PH)和应用程序数据传输至传输插件107或从其接收(数据流箭头204)。传输插件107可生成传输头 (TH)并且将其与PH和应用程序数据一起传输(数据流箭头206)。在一个实施例中,TH可为可选头,其将数据传输协议保存不了的过剩数据保存。基于由底层通信协议l(Ma-f指示的数据大小要求可认为数据是过剩的。该数据可传输至安全管理器108。
数据/控制信息解说/描述 ’AppID应用程序身份在给定设备中唯一标识应用程序的参数对话丨D用于识别设备102a-f和VCS 1上的应用程序之间的逻辑连接的身份服务类型服务类型例如而非限定,远程应用程序调用(RPC)、 批量应用程序、流媒体、特定应用程序传输的用途、其它传输(例如HTTP)的用途和其它合适的服务类型传输属性有关于传输插件的信息(例如而非限定传输插件名称)传输状态包括传输的状态的信息(例如而非限定初始化/非初始化、 连接/断开和错误)指令数据传输指令包括但不限于初始化/非初始化、连接/断开和发送消息PH数据传输协议头I 传输头由传输插件添加的头信息。返回参考图2,安全管理器108可从传输管理器106接收数据以确保执行特定应用程序策略和/或初始安全策略。这样,应用程序103a-f对VCS 1的资源的访问权限不会获得比应用程序103a-f所要求的大。此外,基于安全管理器108的安全策略,每个应用程序会被限制以在其允许参数内运行。在一个实施例中,安全策略执行可被视为“沙箱” (sandbox) 环境。通过这个示例,如果用户从设备lOh-f请求运行音乐应用程序(例如“潘多拉”), 安全管理器108可基于来自应用程序103a-f的计算机可读指令(例如应用程序脚本)确定有关于VCS的音乐应用程序的源的使用限制。更具体地,限制可规定为音乐应用程序可访问图形和语音,而不是车辆诊断。因此,限制可基于应用程序的特定功能。因此,安全管理器108可确定应用程序103a_f正请求哪个源并且阻止访问其它源。此外,其可评估来自应用程序103a-f的每个输入请求限定的策略以便进一步限制其访问已经访问的源。在一个实施例中,可通过安装在VCS 1上的应用程序编程接口(API)访问VCS 1 源(例如车辆控制器112和车辆模块114)。这些API可由车辆OEM开发。在一个实施例中,API可编程为DLL并且使用C或C++编程语言编程。而且,每个API可包括其自有组安全参数以便均能执行唯一策略限制。非限制性示例的车辆控制112可包括文本-语音转换(TTQ功能、语音-文本转换 (STT)功能、语音控制、按钮控制(例如方向盘按钮控制和/或中控台按钮控制)以及触摸屏按钮控制。响应使用一个或多个车辆控制112可实现运转一个或多个车辆模块114。可通过通信连接115在车辆控制112和车辆模块114之间传输数据。在一个实施例中,通信连接可为车辆网络115。非限制性示例的车辆模块114包括动力传动系统控制模块(PCM)、 车身控制模块(BCM)、ABS控制模块等。在另外的或可替代实施例中,可通过语音、文本和/ 或图形输入将数据传输至其它车辆模块114。这些可包括但不限于一个或多个显示器(包括但不限于显示器4、仪表盘显示器(未显示)或后部娱乐显示器(未显示))、扬声器13 或车辆31中其它类似的输出模块。API可为OEM开发的API、第三方开发的API和/或开放的API。如本领域所知,开放的API为允许在网站(社会化网络网站)之间互联的API。下面的表2中列出了可安装在VCS 1上的非限制性示例的API和它们的非限制性功能。
权利要求
1.一种用于交互两个或多个设备和车辆计算机系统的方法,所述方法包含从两个或多个设备接收与所述车辆计算机系统连接的请求,所述两个或多个设备使用不同的通信协议通信数据;基于所述连接请求与所述两个或多个设备建立连接;确定所述两个或多个设备的所述通信协议;在所述两个或多个设备上的所述通信协议上利用计算机可读介质内包含的通用传输协议用于与基于所述各自的通信协议的所述两个或多个设备通信数据;基于所述通用传输协议与所述两个或多个设备通信数据;及基于所述数据在所述车辆计算机系统或所述两个或多个设备处执行事件。
2.如权利要求1所述的方法,其特征在于,所述连接为同时连接。
3.如权利要求1所述的方法,其特征在于,所述通用传输协议为所述两个或多个设备的所述通信协议的普适传输。
4.如权利要求3所述的方法,其特征在于,所述通信协议从包含互联网协议、蓝牙协议、私有协议、802. 11协议和大容量设备协议的一组中选择。
5.如权利要求1所述的方法,其特征在于,所述数据包含运行安装在所述两个或多个设备上的一个或多个应用程序的指令。
6.如权利要求5所述的方法,其特征在于,还包含通过所述连接接收应用程序对话信息;基于所述应用程序对话信息,通过所述连接建立一个或多个应用程序对话。
7.如权利要求6所述的方法,其特征在于,通过所述连接多路传输多个应用程序对话。
8.如权利要求1所述的方法,其特征在于,所述数据包含用于基于一个或多个服务类型执行所述事件的指令。
9.如权利要求8所述的方法,其特征在于,所述服务类型为远程程序调用。
10.如权利要求8所述的方法,其特征在于,所述服务类型为批量传输服务。
11.如权利要求8所述的方法,其特征在于,所述服务类型为流媒体。
全文摘要
本发明公开了一种用于与车辆计算机系统交互的方法。一种用于交互两个或多个设备和车辆计算机系统的方法。该方法包括从两个或多个设备接收请求以与车辆计算机系统连接,两个或多个设备使用不同的通信协议通信数据;基于连接请求建立与两个或多个设备连接;确定两个或多个设备的通信协议;在两个或多个设备上的通信协议上利用计算机可读介质内包含的通用传输协议用于基于各自的通信协议与两个或多个设备通信;基于通用传输协议与两个或多个设备通信数据;及基于数据在车辆计算机系统或两个或多个设备处执行事件。
文档编号H04L12/40GK102347971SQ20111012348
公开日2012年2月8日 申请日期2011年5月13日 优先权日2010年5月27日
发明者圣迪普·辛格·沃拉西, 塔瑞克·奥克瑞, 多伦·M·埃利奥特, 朱利叶斯·玛奇维奇, 杰弗里·雷蒙德·奥斯特洛斯基, 米歇尔·瑞曼德·威斯查, 苏克温德·瓦德华, 迈克尔·J·谢纳伯格 申请人:福特全球技术公司