以安全访问的方式向车载信息娱乐系统提供应用的方法、装置和计算机程序产品的制作方法

文档序号:6495638阅读:231来源:国知局
以安全访问的方式向车载信息娱乐系统提供应用的方法、装置和计算机程序产品的制作方法
【专利摘要】一种用于向(多个)IVI客户端设备提供一个或多个应用的装置可以包括处理器和存储可执行计算机代码的存储器,该可执行计算机代码使得该装置至少执行包括以下的操作:响应于接收到与(多个)应用相关联的选择的指示而向设备提供(多个)应用和相关联的数据。该计算机程序代码可以进一步使得该装置使得该(多个)应用能够在应用执行期间经由多个应用编程接口访问所请求的数据。该计算机程序代码可以进一步使得该装置响应于接收到接口中的第一应用编程接口所生成的(多个)消息而向应用提供所请求的数据,该第一应用接口从接口中的第二应用编程接口接收针对所请求的数据的请求。还提供了相对应的方法和计算机程序产品。
【专利说明】以安全访问的方式向车载信息娱乐系统提供应用的方法、装置和计算机程序产品
【技术领域】
[0001]本发明的示例实施例总体上涉及无线通信技术,尤其涉及一种用于促成向一个或多个车辆的车载信息娱乐(IVI)系统提供一个或多个应用的有效且可靠的机制的装置、方法和计算机程序产品。
【背景技术】
[0002]现代的通信时代已经导致了有线和无线网络的迅猛发展。计算机网络、电视网络和电话网络正在经历着以消费者需求为动力的前所未有的技术发展。无线和移动网络技术已经满足了相关的消费者需求,同时提供了更多的信息传输灵活性和快捷性。
[0003]当前和未来的网络技术继续促进信息传输的便捷以及用户的便利性。由于电子通信设备当前的普及性,所有年龄和教育水平的人都在利用电子设备与其它个人或联系人进行通信,接收服务和/或共享信息、媒体和其它内容。需要在其中提高信息传输便利性的一个领域涉及用于向车辆的IVI系统提供应用的服务。
[0004]目前,在终端模式中(一种由Car Connectivity Consortium所研发的新型的智能电话到车辆的接口),IVI系统可以利用虚拟网络计算(VNC)将移动电话的用户界面复制到车辆所提供的显示器以使得用户能够利用车辆(例如,旧的汽车)的IVI系统来运用移动电话所提供的最新或当前的应用。当使用VNC连接时,应用的帧率可能会受到移动电话和IVI系统之间的基本网络连接的带宽的限制。因此,可能难以支持需要高帧率的应用,例如视频、游戏和用户界面。
[0005]执行从移动设备下载到IVI系统的应用时的一个挑战可能是缺少IVI系统所提供的设备应用编程接口(API)。设备API可以是指向web (例如,HTML)应用所提供的JavaScript API,以用于访问来自可能正在运行应用的移动电话的数据。设备API的示例可以与联系人、日历、GPS位置等相关联。由于目前每年都在研发新的设备API,所以数年前所研发的IVI系统(例如,在较旧车辆中)可能没有执行从移动电话下载的应用所必需的所有设备API,而从移动电话所下载的应用则趋于支持最新或大多数当前可用的API。即使相对应的设备API可经由IVI系统使用,该设备API也可能对于应用而言并非特别有用的。例如,即使用户的移动电话可以拥有具有用户最近日程的日历,IVI系统所提供的日历设备API也可能并不包括用户最近的日程。然而,用户可能想要能够在即使应用(例如,日历应用)在IVI系统中执行的情况下也能够访问其最近的日程。
[0006]作为针对该问题的解决方案,一种用于IVI系统以使用web接口从移动电话获取设备数据的当前机制可以是通过将设备API的调用方替换为从移动电话远程取得必要数据的另一代码而动态转译JavaScript代码。然而,根据所传送和转译的代码数量,这样的转译可能耗费很长时间。当前用于向IVI系统提供移动设备的设备数据的机制的另一个问题可能涉及缺少用户数据的保护。例如,诸如用户日历、联系人和位置之类的敏感数据可能需要被保护以防止IVI系统或相同网络中的其它设备中运行的恶意软件访问这样的数据。[0007]—种针对该问题的解决方案可以请求用户输入密码来访问敏感数据,但是该方法在车辆中使用可能是不切实际的。例如,当车辆正在被用户驾驶时,用户可能难以且不期望输入密码来访问敏感信息。这样,可能需要更好的用于保护敏感数据的机制。
[0008]可能无法被向IVI系统提供应用的现有机制所解决的另一问题涉及驾驶员分神规则/规定。目前,现有机制可能无法充分提供指示发送至IVI系统的应用是否满足驾驶员分神规则/规定以及是否可以在驾驶的同时允许应用的一个或多个功能的信息。这样,缺少这样的与驾驶员分神规则/规定相关的信息可能要求IVI系统仅在车辆完全停止时才允许所下载应用。然而,这可能并非是IVI系统的最有效使用并且用户可能在无法在行进中访问所期望的应用而感到不满。
[0009]考虑到上述缺陷,可能期望提供一种能够向车载信息娱乐系统提供一个或多个应用的更为有效且可靠的机制。

【发明内容】

[0010]因此,提供了一种使得能够以有效且可靠的方式向IVI客户端设备提供一个或多个应用的方法、装置和计算机程序产品。在这方面,示例性实施例可以使得能够以安全的方式将移动设备上的应用提供至IVI客户端设备,该IVI客户端设备最初可能并没有用于访问与该应用相关联的数据的最新的设备API。
[0011]一个示例实施例还可以使得IVI客户端设备能够获得用于决定所接收的(多个)应用是否适用于安全驾驶的信息。一个示例实施例可以包括数据访问的许可/功能检查以防止在没有用户事先同意的情况下进行不被允许的数据访问。
[0012]此外,一个示例实施例可以保护用户的私人数据免受恶意应用(例如,恶意软件)的影响。例如,通过执行设备发现和认证机制以验证分别在通信设备和IVI客户端设备中实施的服务器和浏览器是真实且可信的,示例性实施例可以防止任一设备(例如,通信设备、IVI客户端设备)中的恶意软件因为进行了伪装而伪装成原始应用;如果未经过检查,则可能导致有害应用在用户驾驶车辆时执行或者会导致所不期望见到的用户私人数据的获取。
[0013]在一个示例实施例中,提供了一种用于向一个或多个IVI客户端设备提供一个或多个应用的方法。该方法可以包括使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据。该方法可以进一步包括使得应用能够在应用执行期间经由多个应用编程接口访问所请求的数据。该方法可以进一步包括使得能够响应于接收到至少一个消息而向应用提供所请求的数据。该消息可以由第一应用编程接口生成,该第一应用编程接口从第二应用编程接口接收针对所请求数据的请求。
[0014]在另一个示例实施例中,提供了一种用于向一个或多个IVI客户端设备提供一个或多个应用的装置。该装置可以包括处理器和包括计算机程序代码的存储器。该存储器和计算机程序代码被配置为在利用该处理器而使得该装置至少执行包括以下的操作:使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据。该计算机程序代码可以进一步使得该装置而使得应用能够在应用执行期间经由多个应用编程接口访问所请求的数据。该计算机程序代码可以进一步使得该装置使得能够响应于接收到至少一个消息而向应用提供所请求的数据。该消息可以由第一应用编程接口生成,该第一应用编程接口从第二应用编程接口接收针对所请求数据的请求。
[0015]在另一个示例实施例中,提供了一种用于向一个或多个IVI客户端设备提供一个或多个应用的计算机程序产品。该计算机程序产品包括至少一个其中存储有计算机可执行程序代码部分的有形计算机可读存储介质。该计算机可执行程序代码指令可以包括被配置为使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据的程序代码指令。该程序代码指令还可以被配置为使得应用能够在应用执行期间经由多个应用编程接口访问所请求的数据。该程序代码指令还可以被配置为使得能够响应于接收到至少一个消息而向应用提供所请求的数据。该消息可以由第一应用编程接口生成,该第一应用编程接口从第二应用编程接口接收针对所请求数据的请求。
[0016]由于用户能够以有效且可靠的方式向车辆的IVI客户端设备提供通信设备上的一个或多个应用,所以本发明的示例实施例提供了更好的用户体验。结果,设备用户会享受到关于可经由通信设备所访问的应用和服务而有所改进的性能。
【专利附图】

【附图说明】
[0017]因此已经在总体上对本发明进行了描述,现在将参考附图,其并非依比例进行绘制,并且其中:
[0018]图1是根据本发明示例实施例的系统的示意性框图;
[0019]图2是根据本发明示例实施例的装置的示意性框图;
[0020]图3是根据本发明示例实施例的IVI客户端设备的示意性框图;
[0021]图4是图示根据本发明示例实施例的装置和IVI客户端设备所进行的通信的示意性框图;
[0022]图5是根据本发明示例实施例的系统的示意性框图;
[0023]图6是图示根据本发明示例实施例的装置和IVI客户端设备之间所交换的消息的示图;
[0024]图7是图示用于向(多个)应用提供所请求数据的消息的示图;和
[0025]图8图示了根据本发明示例实施例的用于向IVI客户端数据提供一个或多个应用的流程图。
【具体实施方式】
[0026]现在将参考附图在下文对本发明的一些实施例进行更为全面地描述,附图中示出了本发明的一些而非全部实施例。实际上,本发明的各个实施例可以以许多不同方式来实现,而并不应当被理解为局限于这里所给出的实施例,相反,提供这些实施例以便本公开内容将满足可应用的法律要求。相同的附图标记通篇指代相同要素。如这里所使用的,术语“数据”、“内容”、“信息”以及类似术语可以互换使用以指代能够依据本发明的实施例而被传送、接收和/或存储的数据。因此,使用这样的术语并不应当被理解为对本发明实施例的精神和范围进行限制。
[0027]此外,如这里所使用的,术语“电路”是指(a)仅硬件的电路实施方式(例如以模拟和/或数字电路的实施方式);(b)电路和(多个)计算机程序产品的组合,该计算机程序产品包括存储在一个或多个计算机可读存储器上的软件和/或固件指令,所述指令共同工作以使得装置执行这里所描述的一个或多个功能;和(C)例如(多个)微处理器或(多个)微处理器的一部分的电路,其需要软件或固件以进行操作,即使软件或固件并非物理存在。“电路”的这个定义适用于本申请中该术语的所有使用,包括在任意权利要求中的使用。作为另外的示例,如这里所使用的,术语“电路”还将包括包含一个或多个处理器和/或其(多个)部分并且伴随有软件和/或固件的实施方式。作为另一个示例,如这里所使用的术语“电路”还包括例如移动电话中的基带集成电路或应用处理器集成电路,或者服务器、蜂窝网络设备、其它网络设备和/或其它计算设备中类似的集成电路。
[0028]如这里所定义的,指代非瞬时的物理存储介质(例如,易失性或非易失性存储器设备)的“计算机可读存储介质”可以与指代电磁信号的“计算机可读传输介质”有所不同。
[0029]如这里所提到的,(多个)设备API (这里也被称作远程API)可以表示与应用可以用来互相进行通信的一个或多个规则和规范的集合相对应的应用编程接口。就此而言,设备API可以用作相对应应用、软件程序等之间的接口并且可以促进应用之间的交互。此外,如这里所提到的(多个)设备API可以用来定义为相对应的应用定义词汇或术语以及资源请求惯例(例如,功能调用)。此外,如这里所提到的(多个)设备API可以包括与用于可用来在(多个)相对应应用和相对应设备API之间进行通信的例程、数据结构、对象类别、协议等的规范相关联的数据。
[0030]图1图示了一般的系统示图,其中在根据一些示例实施例的通信环境中示出了诸如移动终端10的设备。如图1所示,依据一些示例实施例的系统可以包括能够经由网络30互相通信的第一通信设备(例如,移动终端10)和第二通信设备20。在一些情况下,本发明的实施例可以进一步包括一个或多个附加通信设备,其中之一在图1中被描绘为第三通信设备25。在一些实施例中,并非采用本发明实施例的所有系统都可以包括这里所图示和/或描述的所有设备。虽然可以出于示例的目的图示并随后描述移动终端10和/或第二和第三通信设备20和25的示例实施例,但是诸如便携式数字助理(PDA)、传呼机、移动电视、移动电话、游戏设备、笔记本计算机、相机、视频录影机、音/视频播放器、无线电广播、全球定位系统(GPS)和/或全球导航卫星系统(GL0NASS)设备、蓝牙耳机、通用串行总线(USB)设备的其它类型的终端或者以上所提到的任意组合和其它类型的语音及文本通信系统都能够轻易采用本发明的实施例。此外,诸如服务器和个人计算机之类的并不移动的设备也能够轻易采用本发明的实施例。
[0031]网络30可以包括可以经由相对应的有线和/或无线接口互相进行通信的各种不同节点(其中的第二和第三通信设备20和25可以作为示例)、设备或功能的集合。这样,图1的图示应当被理解为是系统的某些部件的宽泛视图的示例而并非是系统或网络30的无所不包或详细的视图。根据一些示例实施例,网络30能够支持依据多种第一代(1G)、第二代(2G)、2.5G、第三代(3G)、3.5G、3.9G、第四代(4G)移动通信协议、长期演进(LTE)或演进通用陆地无线电接入网络(E-UTRAN)、LTE内的自优化/组织网络(SON)、无线电接入技术(RAT)间的网络等中的任意一个或多个的通信。根据一些示例实施例,网络30可以是端对端(P2P)网络。
[0032]诸如移动终端10以及第二和第三通信设备20和25之类的一个或多个通信终端可以经由网络30互相进行通信,并且均可以包括用于向一个或多个基本站点传送信号和从一个或多个基本站点接收信号的一个或多个天线。该基本站点例如可以是作为一个或多个蜂窝或移动网络的一部分的一个或多个基站或者可以耦合至数据网络的一个或多个接入点(AP),该数据网络诸如局域网(LAN)。无线局域网(WLAN)、W1-Fi网络、城域网(MAN)和/或诸如互联网的广域网(WAN)。进而,诸如处理部件(例如,个人计算机、服务器计算机等)的其它设备可以经由网络30耦合至移动终端10以及第二和第三通信设备20和25。通过将移动终端10以及第二和第三通信设备20和25 (和/或其它设备)直接或间接连接至网络30,使得移动终端10以及第二和第三通信设备20和25能够与其它设备进行通信或者互相进行通信。例如,移动终端10以及第二和第三通信设备20和25以及其它设备可以根据包括超文本传输协议(HTTP)等在内的多种通信协议进行通信,以因此分别执行移动终端10以及第二和第三通信设备20和25的各种通信和其它功能。
[0033]此外,移动终端10以及第二和第三通信设备20和25例如可以依据射频(RF)、蜂窝、近场通信(NFC)、蓝牙(BT)、红外(IR)或任意数量的不同有线或无线通信技术进行通信,该通信技术包括局域网(LAN)、无线LAN (WLAN)、全球微波接入互操作性(WiMAX)、无线保真度(W1-Fi)、超宽带(UWB)、Wibree技术等。这样,可以使得移动终端10以及第二和第三通信设备20和25能够通过任意多种不同的访问机制与网络30进行通信以及互相进行通信。例如,可以支持诸如宽带码分多址(W-CDMA)。CDMA2000、全球移动通信系统(GSM)、通用分组无线服务(GPRS)等的移动接入机制,以及诸如WLAN、WiMAX等的无线接入机制和诸如数字订户线路(DSL)、有线调制解调器、以太网等的固定接入机制。
[0034]根据一些示例实施例,第一通信设备(例如,移动终端10)可以是移动通信设备,例如无线电话或者诸如个人数字助理(PDA)、移动计算设备、相机、视频录影机、音/视频播放器、定位设备、游戏设备、电视设备、无线电设备或者各种其它类似设备的其它设备或其组合。第二通信设备20和第三通信设备25可以是移动或固定通信设备。然而,在一个示例中,第二通信设备20和第三通信设备25可以是服务器、远程计算机或者诸如个人计算机(PO或笔记本计算机的终端。
[0035]根据一些示例实施例,网络30可以是被部署为智能空间的自组织或分布式网络。因此,设备可以进入和/或离开网络30,并且网络30的设备能够基于其它设备的进入和/或离开而调节操作以应对相应设备或节点及其相对应能力的增加或减少。
[0036]根据一些示例实施例,移动终端以及第二和第三通信设备20和25可以采用能够根据本发明的示例实施例进行工作的装置(例如,图2的装置)。在一些示例实施例中,该第二和第三通信装置可以是IVI客户端设备,但并非需要如此。IVI客户端可以在相应车辆内实现。
[0037]图2图示了根据一些示例实施例的用于使得能够向一个或多个IVI客户端设备提供一个或多个应用的装置的示意性框图。现在将参考其中显示了装置50的某些部件的图2对本发明的一些示例实施例进行描述。图2的装置50例如可以在移动终端10 (和/或第二通信设备20或第三通信设备25)上采用。可替换地,装置50可以在网络30的网络设备上实现。然而,装置50可替换地可以在移动和固定的各种其它设备(例如,以上所列出的任意设备)实现。在一些情况下,实施例可以在设备的组合上采用。因此,本发明的一些实施例可以整体在单个设备(例如,移动终端10)实现,由多个设备以分布式方式实现(例如,在P2P网络中的一个或多个设备上),或者由处于客户端/服务器关系的设备所实现。此外,应当注意的是,以下所描述的设备或部件可能并非是强制的并且因此其中的一些在一些实施例中可以被省略。
[0038]现在参考图2,装置50可以包括处理器70、用户接口 67、通信接口 74、存储器设备76、显示器85、可选服务器模块71 (这里也被称作服务器71)、浏览器73、应用管理器模块78、终端模式模块72和主机操作系统(OS)87,或者以其它方式与之进行通信。0S87可以对与装置50相关联的一些活动进行协调。例如,0S87可以对用于向一个或多个IVI客户端设备发送一个或多个应用和/或相关联数据的活动进行协调,并且可以对任意其它适当活动进行协调。根据一些示例实施例,显示器85可以是触摸屏显示器。存储器设备76例如可以包括易失性和/或非易失性存储器。例如,存储器设备76可以是包括被配置为存储可由机器(例如,如处理器70的计算设备)获取的数据(例如,比特)的门电路的电子存储设备(例如,计算机可读存储介质)。在一些实施例中,存储器设备76可以是非瞬时的有形存储器设备。存储器设备76可以被配置为存储信息、数据、文件、应用(例如,Web应用(例如,超文本传输协议(HTML)应用等)、指令等以使得该装置能够执行依据本发明示例实施例的各种功能。例如,存储器设备76可以被配置为缓存输入数据以便由处理器70处理。除此之外或可替换地,存储器设备76可以被配置为存储指令以便由处理器70执行。在又一个的可替换形式中,存储器设备76可以是存储信息和/或媒体内容(例如,图片、视频等)的多个数据库之一。
[0039]根据一些示例实施例,装置50可以是被配置为采用本发明示例实施例的移动终端(例如,移动终端10)或者固定通信设备或计算设备。根据一些示例实施例,装置50可以实现为芯片或芯片组。换句话说,装置50可以包括一个或多个物理封装(例如,芯片),其包括结构组件(例如,基板)上的材料、部件和/或接线。该结构组件可以为其上所包括的部件电路提供物理强度、尺寸保持和/或电交互限制。因此,装置50在一些情况下可以被配置为在单个芯片上实施本发明的实施例或者将其实施为单个“片上系统”。这样,在一些情况中,芯片或芯片组可以构成执行用于提供这里所描述的功能的一个或多个操作的器件。除此之外或可替换地,芯片或芯片组可以构成用于使得能够关于这里所描述的功能和/或服务进行用户界面导航的器件。
[0040]处理器70可以以多种不同方式来实现。例如,处理器70可以被实现为诸如协同处理器、微处理器、控制器、数字信号处理器(DSP)、具有或没有所附DSP的处理电路之类的各种处理器件中的一个或多个,或者包括集成电路的各种其它处理设备,该集成电路例如ASIC (专用集成电路)、FPGA (现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。在一些示例实施例中,处理器70可以被配置为执行存储器设备76中所存储或者处理器可以以其它方式所访问的指令。这样,无论是以硬件或软件方法还是其组合进行配置,处理器70可以表示在被相应配置的同时能够执行根据本发明实施例的操作的实体(例如,以电路物理实现)。因此,例如,当处理器70被实现为ASIC、FPGA等时,处理器70可以是用于进行这里所描述的操作的特殊配置的硬件。可替换地,作为另一个示例,当处理器70实现为软件指令的执行器时,该指令可以对处理器进行特殊配置以在该指令被执行时实施这里所描述的算法和操作。然而,在一些情况下,处理器70可以是特定设备(例如,移动终端或者网络设备)的处理器,其适配于通过由用于执行这里所描述的算法和操作的指令进一步配置处理器70来采用本发明示例性实施例。处理器70可以尤其包括被配置为支持处理器70的操作的时钟、算术逻辑单元(ALU)和逻辑门。[0041]在一些示例实施例中,处理器70可以被配置为操作连接性程序,诸如浏览器73(例如,Web浏览器)等。就此而言,例如,该连接性程序可以使得装置50例如能够根据无线应用协议(WAP)(例如,HTML应用协议)传送和接收Web内容,例如基于位置的内容或任意其它适当内容(例如,应用)。在一个示例实施例中,处理器70可以可选地被配置为对可以向一个或多个设备输送内容(例如,一个或多个应用)的服务器模块71 (例如,Web服务器模块)进行操作。可以被送至一个或多个设备(例如,(多个)客户端设备(例如,IVI客户端设备)的浏览器)的内容可以经由网络(例如,网络30 (例如,互联网))进行访问和/或从存储器设备76进行访问。在示例实施例中,服务器模块71可以接受来自浏览器(例如,图3的浏览器73、浏览器93)接受一个或多个请求并且可以通过向浏览器发送应用(例如,HTML应用(例如,HTML5应用))、网页、文件(例如,HTML文件)、文档等而对该请求作出响应。在可替换的示例实施例中,处理器70可以执行浏览器73以生成一个或多个可以被发送至外部网络设备(例如,服务器(例如,Web服务器))的请求并且外部网络设备可以通过向装置50发送应用(例如,HTML应用)、网页、文件(例如,HTML文件)、文档等而作出响应。
[0042]通信接口 74可以是诸如以硬件、计算机程序产品或者硬件和软件的组合所实现的诸如设备或电路的任意器件,其被配置为从网络和/或与装置50进行通信的任何其它设备或模块接收数据和/或向网络和/或与装置50进行通信的任何其它设备或模块传送数据。就此而言,通信接口 74可以包括例如天线(或多个天线)以及用于使得能够与无线通信网络(例如,网络30)进行通信的支持硬件和/或软件。在固定环境中,可替换地或除此之夕卜,通信接口 74可以支持有线通信。这样,通信接口 74可以包括通信调制解调器和/或用于支持经由线缆、数字用户线缆(DSL)、通用串行总线(USB)、以太网或其它机制的通信的其它硬件/软件。
[0043]用户接口 67可以与处理器70进行通信以在用户接口 67处接收用户输入的指示和/或向用户提供听觉、视觉、机械或其它输出。这样,用户接口 67例如可以包括键盘、鼠标、操纵杆、显示器、触摸屏、麦克风、扬声器或者其它输入/输出机制。在装置被实现为服务器或一些其它网络设备的一些示例实施例中,用户接口 67可以是受限的、远程定位的,或者被省略。处理器70可以包括被配置为对用户接口的一个或多个部件的至少一些功能进行控制的用户接口电路,上述用户接口例如扬声器、振铃器、麦克风、显示器等。处理器70和/或包括处理器70的用户接口电路可以被配置为通过存储在处理器70可访问的存储器(例如,存储器设备76等)上的计算机程序指令(例如,软件和/或固件)来控制用户接口的一个或多个部件的一个或多个功能。
[0044]终端模式模块72可以与处理器70和应用管理器模块78进行通信。终端模式模块78可以是依据软件进行操作或者通过其它方式以硬件或者硬件和软件的组合所实现的诸如设备或电路的任意器件,其被配置为执行如以下更为全面描述的终端模式模块72的相对应功能。例如,终端模式模块72可以被配置为发现装置50到(多个)IVI客户端设备的连接。该连接可以经由通用即插即用(UPnP)连接来建立,但并非需要如此。此外,终端模式模块72可以执行认证以验证(多个)IVI客户端设备可以被信任并且正在执行浏览器或服务器。终端模式模块72可以通过执行信任计算群体(TCG)协议或者可替换地根据超文本传输安全协议(HTTPS)和/或传输层安全(TLS)协议以及以任意其它适当方式执行基于证书的认证,来执行认证以确定(多个)IVI客户端设备是否可以被信任。响应于终端模式模块72对成功认证的检测,终端模式72可以在装置50和(多个)IVI客户端设备之间建立一个或多个安全信道以交换应用特定信息和设备数据以及任意其它适当数据。该安全信道可以是超文本传输安全协议(HTTPS)信道、传输层安全(TLS)信道或者任意其它适当安全信道。
[0045]在一些示例实施例中,处理器70可以被实现为、包括或者以其它方式控制应用管理器模块78。应用管理器模块78可以是诸如设备或电路的任意器件,该设备或电路依据软件进行操作或者通过其它方式以硬件或者硬件和软件的组合(例如,在软件控制下进行操作的处理器70,被实现为特别配置以执行这里所描述的操作的ASIC或FPGA的处理器,或者其组合)而实现,从而将该设备或电路配置为执行如以下所描述的应用管理器模块78的相对应功能。因此,在其中采用软件的示例中,执行该软件的设备或电路(例如,一个示例中的处理器70)形成了与这样的器件相关联的结构。
[0046]应用管理器模块78可以向一个或多个IVI客户端设备提供一个或多个应用(例如,HTML应用(例如,HTML5应用)和/或相关联数据)以使得该IVI客户端设备能够利用该应用。例如,(多个)IVI客户端设备可能并不具有能够支持要由(多个)IVI客户端设备所实施的相对应应用的设备API。在这方面,应用管理器模块78可以向IVI客户端设备提供相对应的设备API。应用管理器模块78向(多个)IVI客户端设备所提供的应用和/或相关联数据可以存储在存储器设备76中和/或可以经由服务器模块721获得,或者可替换地从外部网络设备(例如,服务器)获得。
[0047]如以下更为全面描述的,与应用管理器模块78可以向(多个)IVI客户端设备发送的(多个)应用相对应的相关联数据可以包括一个或多个驾驶员分神规则/规定、许可数据以及任意其它数据。例如,驾驶员分神规则/规定可以与指示有关(多个)应用是否被允许经由IVI客户端设备的屏幕或显示器进行滚动的规则的数据相关联,并且可以指定针对使用而设置的最小字体、用户界面的最小响应时间,以及其它适当规则,如以下更为全面所描述的。此外,例如,许可数据可以涉及(多个)应用的允许功能或数据访问许可。出于说明而非限制的目的,该许可数据可以指示相对应的(多个)应用是否可以访问用户的位置数据(例如,包括相对应IVI客户端设备的车辆的位置数据),但并非需要如此。如以下更为全面描述的,该许可数据可以包括指示一个或多个相对应应用的任意其它适当指示、所允许功能和/或数据访问许可的数据。
[0048]现在参考图3,提供了根据示例实施例的IVI客户端设备的示意性框图。根据一些示例实施例,IVI客户端设备90可以在车辆内实现。在一些可替换的示例实施例中,IVI客户端设备90可以是独立设备。主机操作系统99可以提供用于执行IVI客户端设备的各种操作的服务。如图3所示,IVI客户端设备90总体上包括处理器94和相关联的存储器96。存储器96可以包括易失性和/或非易失性存储器,并且可以存储内容、数据等。例如,存储器可以存储从IVI客户端设备传送和/或者由其所接收的内容、数据、信息等。而且,例如,存储器96可以存储客户端应用、指令等以便处理器94执行根据如这里所描述的本发明的示例实施例的IVI客户端设备的各种操作。存储器96还可以存储一个或多个应用(例如,Web应用(例如,HTML应用))和相关联的数据(例如,驾驶员分神规则/规定、许可数据等)以及任意其它适当信息。
[0049]除了存储器96之外,处理器94还可以连接至至少一个接口或其它器件以便显示、传送和/或接收数据、内容等。就此而言,(多个)接口可以包括至少一个通信接口 98或者用于传送和/或接收数据、内容等的其它器件,以及至少一个用户输入接口 95。用户输入接口 95进而可以包括允许网络设备从用户接收数据的多个设备中的任意设备,诸如键盘、触摸显示器、操纵杆或其它输入设备。就此而言,处理器94可以包括被配置为对用户输入设备的一个或多个部件的至少一些功能进行控制的用户接口电路。处理器和/或处理器的用户接口电路可以被配置为通过存储在可由处理器所访问的存储器(例如,易失性存储器、非易失性存储器等)上的计算机程序指令(例如,软件和/或固件)来控制用户接口的一个或多个部件的一个或多个功能。
[0050]显示器93可以与处理器94进行通信。显示器93可以被配置为示出与一个或多个应用相关联的数据以及任意其它适当数据(例如,视频数据、图像数据等)。在示例实施例中,显示器93可以是触摸屏显示器。终端模式模块92可以与处理器94和应用请求器模块97进行通信。终端模式模块92可以是诸如依据软件进行操作或者通过其它方式以硬件或者硬件和软件的组合实现的设备或电路的任意器件,其被配置为执行终端模式模块92的相对应功能,如以下更为全面描述的。例如,终端模式模块92可以被配置为发现IVI客户端设备90到装置50的连接。该连接可以经由UPnP连接来建立,但是并非需要如此。就此而言,在IVI客户端设备90可以连接至网络(例如,网络30)的情形中,IVI客户端设备90和装置50可以发现彼此在网络上的存在并且可以共享/交换通信。
[0051]与终端模式模块72相类似,终端模式模块92可以执行认证以验证装置50可以被信任并且执行浏览器或服务器。终端模式模块92可以通过执行TCG协议或者可替换地根据HTTPS和/或TLS协议以及以任意其它适当方式执行基于证书的认证,来执行认证以确定装置50是否可以被信任。响应于终端模式模块92对成功认证的检测,终端模式92可以在装置50和IVI客户端设备90之间建立一个或多个安全信道以交换一个或多个应用和/或相关联数据以及任意其它适当数据。如以上所描述的,安全信道可以是HTTPS信道、TLS信道或者任意其它适当的安全信道,但是并非需要如此。
[0052]浏览器93 (例如,Web浏览器)可以从装置50请求(例如,HTTP请求)数据。在示例实施例中,浏览器93可以从装置50请求一个或多个应用(例如,Web应用(例如,HTML应用))和/或相关联数据、(多个)相对应设备API以及任意其它适当数据。浏览器93所生成的(多个)请求可以由向IVI客户端设备90提供所请求数据的服务器模块71所接收。在另一个示例实施例中,(多个)请求可以被处理器70所接收并且处理器70可以从设备(例如,网络设备(例如,服务器))获得所请求的数据并且可以将该数据提供给浏览器93。
[0053]应用可以涉及可能并未存储在IVI客户端设备90的存储器96中的应用。例如,在(多个)相对应的应用可以存储在存储器96中的情形中,所接收的数据可以涉及针对(多个)相对应设备API而对装置50进行请求以促成(多个)相对应的应用的实施。
[0054]在一些示例实施例中,处理器94可以被实施为、包括或者以其它方式控制应用请求器模块97。应用请求器模块97可以是任意器件,该器件诸如依据软件进行操作或者通过其它方式以硬件或者硬件和软件的组合实现的设备或电路(例如,在软件控制下操作的处理器94,被实现为特别配置以执行这里所描述的操作的ASIC或FPGA的处理器94,或者其组合),从而将该设备或电路配置为执行应用请求器模块97的相对应功能,如以下所描述的。因此,在采用软件的示例中,执行软件的设备或电路(例如,一个示例中的处理器94)形成了与这样的器件相关联的结构。
[0055]应用请求器模块97可以响应于由终端模式模块92对连接的检测而从应用管理器模块78接收由装置50所存储的一个或多个应用的指示(例如,列表)。在一个示例实施例中,应用请求器模块97可以响应于终端模式模块92发现装置50、对装置50进行认证并且在IVI客户端设备90和装置50之间建立一个或多个安全连接而接收一个或多个应用的指示。这些指示可以对应于例如显示器93上所示的一个或多个相对应图标的可视标记,但是并非需要如此。响应于接收到可视标记(例如,(多个)图标)的项目的(例如,由用户进行的)选择的指示,应用请求模块97可以生成请求,该请求可被浏览器93发送至装置50而请求装置50发送与所选择的可视标记的项目相对应的应用和/或相关联数据。
[0056]在一个示例实施例中,应用请求器模块97可以在请求中包括指定IVI客户端设备90是否具有(例如,存储在存储器96中的)与相对应应用相关联的设备API的数据。在应用请求模块97在请求中包括了指示IVI客户端设备90并不具有相对应的设备API的数据的情形中,应用管理器模块78可以将相对应的设备API连同相对应的应用一起发送至应用请求器模块97。这样,装置50可以将设备API (例如,远程设备API (例如,JavaScript远程设备API))连同基于接收到与应用相关联的图标的选择而被请求的应用一起提供。在一个示例实施例中,设备API可以对应于库,该库可以包括与相对应的应用相关联的一个或多个调用函数、例程、协议以及任意其它适当数据。
[0057]通过利用示例实施例,在IVI客户端设备90可以存储(例如,预存储的)一些设备API但是并非必然具有与(多个)新的所期望应用相对应的特定设备API的情形中,IVI客户端设备90能够以以上所描述的方式从装置50获得设备API和相对应的(多个)所期望应用。
[0058]在可替换示例实施例中,响应于终端模式模块92向应用请求器模块97指示IVI客户端设备90和装置50相连接,应用请求器模块97可以向装置50发送存储器96中所存储的应用的指示并且应用管理器模块78可以向应用请求器模块97发送与存储器96中并未存储的应用有关的应用的指示和相关联的数据。就此而言,通过并不向应用请求器模块97发送可被IVI客户端设备90的存储器(例如,存储器96)所存储的应用的一个或多个指示,可以节省存储器96的存储容量。
[0059]如以上所描述的,应用管理器模块78可以向应用请求器模块97提供与对应于可视标记(例如,图标)的所选择项目相对应的(多个)应用相关联的数据。在示例实施例中,相关联的数据可以包括但并不局限于一个或多个驾驶分神规则/规定和/或许可数据等。驾驶分神规则/规定和许可数据可以保存在证书(例如,数字证书)内,该证书可以被加密(例如,通过使用(例如,与安全密钥相关联的)数字签名)。在示例实施例中,驾驶分神规则/规定可以由车辆制造商发布和/或可以与国家、州、城市或者任意其它适当实体等的一个或多个法规相关。驾驶分神规则/规定可以涉及(多个)应用可能需要满足的要求,以便(多个)应用被IVI客户端设备90所采用或者至少被IVI客户端设备90在持有该IVI客户端设备90的车辆处于行进之中时所采用。如果应用并不满足一个或多个规定,则应用请求器模块78可能不会在车辆被驾驶的同时执行(多个)应用。驾驶分神规则/规定的一些示例可以包括但并不局限于不允许播放与应用相关联的视频,禁止自动滚动显示器(例如,显示器93)上所示出的文本,文本的字体大小不超过某个大小,用户界面的触摸响应时间应当处于某个时间段之内,等等。在应用请求器模块97确定相对应的应用违反了任何驾驶分神规则/规定的情况下,应用请求模块97至少可能不会在具有IVI客户端设备90的车辆被驾驶时执行相对应的应用。
[0060]在一个示例实施例中,应用请求器模块97可以通过与装置50进行通信并且要求应用管理器模块78向应用请求器模块97提供相对应的分神规则/规定来确定相对应的应用是否违反了任何驾驶分神规则/规定。就此而言,应用管理器模块78可以利用安全密钥(例如,秘密密钥、公钥、私钥等)来访问证书中的分神规则/规定并且可以将该分神规则/规定提供给应用请求器模块97。应用请求器模块97可以对该分神规则/规定进行分析以确定相对应的(多个)应用是否满足该分神规则/规定。
[0061]在可替换的示例实施例中,应用管理器模块78可以向应用请求器模块97提供证书,并且应用请求器模块97可以利用密钥(例如,秘密密钥、公钥、私钥等)访问该证书以确定分神规则/规定并且用于确定相对应的应用是否满足该分神规则/规定。
[0062]该证书还可以包括指示针对(多个)相对应应用的一个或多个使用许可的许可数据。该许可数据可以指定相对应的(多个)应用的某些功能是否被允许。出于说明而非限制的目的,该许可数据可以指示相对应的(多个)应用并没有访问位置数据的许可和/或可以指定用户被禁止在车辆被驾驶的同时与应用相关联的用户界面进行交互,等等。这样,应用请求器模块97可以根据该许可数据来执行相对应的(多个)应用。
[0063]现在参考图4,提供了图示根据示例实施例的装置和IVI客户端设备之间的通信的示图。图4的示例中示出了装置50的终端模式模块72和可选服务器模块71。此外,在图4的示例实施例中示出了 IVI客户端设备90的终端模式模块92和浏览器93。在图4的示例实施例中,提供了用于生成初始步骤以在IVI客户端设备90运行/执行一个或多个应用的整体架构。在操作1,服务器/应用发现机制41可以由终端模式模块72所实施以找出或识别装置50的服务器服务(例如,服务器模块71 (例如,Web服务器))。而且,在操作1,服务/应用发现机制51可以由终端模式模块92实施以找出或识别IVI客户端设备90的浏览器(例如,浏览器93)服务。服务/应用发现机制41和服务/应用发现机制51可以利用UPnP设备和/或服务发现/广告来找出或识别web服务及浏览器。
[0064]一旦找到了匹配的服务,则在操作2,设备证明或互相认证模块43、53可以互相验证为信任以及验证装置50和IVI客户端设备90正在运行可信web服务器或浏览器以确保服务器和浏览器没有实施恶意软件。作为示例,设备证明或互相认证模块43、53可以至少部分基于实施一种或多种由TCG所定义的证明过程或者如TLS或HTTPS中所定义的基于证书的互相认证来执行验证。在操作3,响应于检测到成功的证明/认证,服务器模块71和浏览器93可以建立一个或多个安全信道以在相互之间输送一个或多个应用和/或应用特定信息以及设备数据。在示例实施例中,安全信道可以是HTTPS信道、TLS信道或者具有数据加密的其它适当网络连接。
[0065]现在参考图5,提供了根据示例实施例的用于向IVI客户端设备提供一个或多个应用的系统和方法。在图5的系统中,应用管理器模块78可以包括一个或多个应用21(这里也被称作(多个)应用21)、一个或多个设备API23 (这里也被称作(多个)设备API23)以及一个或多个其它API (这里也被称作(多个)其它API25)。此外,应用请求器模块97可以包括一个或多个应用31 (这里也被称作(多个)应用31)、一个或多个远程设备API (这里也被称作(多个)远程设备API33 (例如,(Sf)JavaScript远程设备API)), —个或多个其它API (这里也被称作(多个)其它API)以及远程通信API37。在示例实施例中,(多个)其它API25和(多个)其它API35可以是JavaScript API,其可以是独立于平台或依赖于平台的,但是并非必需与用户的数据相关联。在一个示例实施例中,(多个)其它API25和(多个)其它API35可以是一个或多个库,例如可能并不依赖于潜在平台的相应数学库。在另一个可替换示例实施例中,(多个)其它API25和(多个)其它API35可以是相应的基于Web的图形库(WebGL) API,其可以提供用于针对一个或多个web应用而访问图形硬件的标准API。
[0066]在操作1,IVI客户端设备90可以从装置50 (例如,移动终端10)请求应用。就此而言,IVI客户端设备90的浏览器93可以生成针对应用的请求(例如,针对(多个)应用21的请求)并且可以将该请求发送至装置50的服务器模块71。响应于接收到针对应用的请求,服务器模块71可以获取信息,该信息包括但并不局限于所请求应用的类型、该应用所支持的一个或多个相对应驾驶分神规则/规定、许可数据以及任意其它适当信息。
[0067]在操作2和3,服务器模块71可以将所请求的应用(例如,可以对应于(多个)应用21的(多个)应用31)传送至IVI客户端设备90。在操作4,远程设备API (例如,(多个)JavaScript (JS)远程设备API)可以对应于装置50的设备API23。这样,在示例实施例中,与(多个)设备API23相关联的软件代码可以与用于(多个)远程设备API33的软件代码相同,但是并非需要如此。在示例实施例中,(多个)远程设备API33可以被预先存储在IVI客户端设备90的存储器或应用请求器管理器97中。然而,在另一个示例实施例中,可以从装置50 (例如,从服务器模块71)接收(多个)远程设备API33。作为示例,在应用请求器模块97所生成的请求可以包括指示IVI客户端设备90并不具有(多个)相对应远程设备API的情况下,IVI客户端设备90可以响应于针对相对应应用的请求而从装置50接收(多个)远程设备API33。
[0068](多个)远程设备API33(例如,(多个)JS远程设备API)可以从远程通信API (例如,JS远程通信API)请求用于执行所接收的应用和/或用于实施所接收应用的一个或多个功能所要求或需要的信息(例如,设备数据)。在操作5,响应于接收到请求,远程通信API37可以将所生成的请求发送至装置50以从装置50取得或获取所需要的信息(例如,设备数据)。这样,IVI客户端设备90自身并非必然需要提供与(多个)远程设备API33相关联的设备数据。应当指出的是,在远程通信API37可以向装置50发送针对所需信息(例如,设备数据)的请求的情况下,远程通信API37可以利用安全通信信道(HTTPS信道、TLS信道等)以确保安全通信。
[0069]虽然服务器模块71可以执行以上所描述的图4的系统中与接收针对应用和相关联数据以及所需信息(例如,设备数据)的请求相关联的一些功能,但是应当指出的是,在可替换实施例中,处理器(例如,处理器70)可以从IVI客户端设备90接收请求。就此而言,处理器可以在本地(例如,从存储器设备76)或者从外部设备(例如,网络设备(例如,服务器))获取相对应信息并且可以将所获取的数据提供至IVI客户端设备90。就此而言,该处理器可以将所请求的应用和/或相关联数据(例如,驾驶员分神规则/规定、许可数据等)以及所需要的信息(例如,设备数据)和任意其它适当数据提供至IVI客户端设备90。
[0070]现在参考图6,提供了图示根据示例实施例的、在装置和IVI客户端设备之间进行信息交换的示图。在操作1,IVI客户端设备(例如,IVI客户端设备90)的浏览器(例如,浏览器93)可以生成针对例如地图应用(在这里也被称作mapapp)的应用的请求(例如,HTTPGET请求)。在操作2,装置50 (例如,移动终端10)的服务器(例如,服务器模块71)可以将所请求的应用(例如,mapapp html文件)发送至浏览器93。在操作3,该浏览器可以从服务器请求与该应用相关联的信息。在操作4,服务器可以利用所请求的信息进行响应。就此而言,服务器可以向浏览器提供指示该应用的应用类型的信息(例如,mapapp html文件)、必要文件的校验和、该应用的一个或多个被允许的许可(或功能)、该应用所满足的一个或多个驾驶员分神规则/规定以及任意其它适当数据。
[0071]应用请求器模块97可以从浏览器接收该信息并且可以利用校验和来验证与所请求应用相关的所有代码(例如,软件代码)都是真的,并且浏览器可以利用应用类型和驾驶员分神规则/规定(例如,规则a、b、c等)来决定是否允许应用在车辆被驾驶的同时被使用。在操作5,所接收的应用(例如,mapapp html文件)可以在IVI客户端设备中执行(例如,由处理器94和/或应用请求器模块97执行)并且被执行的应用可以从设备API (例如,(多个)远程设备API33)请求位置数据。就此而言,远程设备API可以生成针对位置数据的请求(例如,数据请求=位置,函数=’getLastLocation’,等)并且所生成的请求可以被远程设备API提供至远程通信API (例如,远程通信API37)。远程通信API可以生成请求位置数据的消息。所生成的消息可以被远程通信API提供至可以在操作5中向服务器发送消息的浏览器。通过使得远程设备API (例如,(多个)远程设备API33)能够依赖于远程通信API(例如,远程通信API37)以便访问至少一些数据,可以获得以下好处。远程通信API可以保持IVI客户端设备(例如,IVI客户端设备90)和装置(例如,装置50 (例如,移动终端10))之间的安全连接,并且远程通信API因此可以作为由IVI客户端设备从装置所接收的关键数据的守门人(gateke印er)进行操作。由于远程通信API可以在IVI客户端设备内实现,所以恶意软件接管API以访问用户的关键数据的机会较少。此外,示例实施例的远程通信API (例如,远程通信API)可以是可以跨不同平台共享的标准化API,但并非需要如此。
[0072]在示例实施例中,远程通信API所生成的消息可以包括指示相对应应用(例如,mapapp html (这里也被称作mapapp.html))在给定JavaScript (JS)上下文(例如,js=mapapp.html: linel6)请求位置的数据并且可以指示函数名称(例如,函数=,getLastLocation’)。
[0073]在操作6,服务器可以使得能够验证请求数据的应用具有请求位置数据的有效许可。例如,服务器可以向应用管理器模块78通知IVI客户端设备在请求位置数据。这样,应用管理器模块78可以检查证书中的许可数据以确定该应用是否被给予获得位置数据的许可。在应用管理器模块78确定许可数据指示该应用(例如,mapapp html file)被允许访问位置数据(例如,经纬度坐标123.87.30.00)的情况下,应用管理器模块78可以通知服务器并且服务器可以向浏览器发送所请求的位置数据。响应于从浏览器接收到位置数据,应用管理器模块78和/或处理器94可以使得应用能够利用该位置数据。
[0074]应当指出的是,在图5的示例实施例中,在装置(例如,装置50)的服务器和IVI客户端设备(例如,IVI客户端设备90)之间进行交换的消息可以在操作3-6中跨一个或多个安全信道(例如,(多个)HTTPS信道、(多个)TLS信道等)进行传输。虽然出于说明而非限制的目的,图5的消息可以与地图应用相关,但是应当指出的是,该消息可以与任意其它适当应用(例如,从装置50所接收的应用)相关联而并不背离本发明的精神和范围。[0075]现在参考图7,提供了图示根据示例实施例的用于获取(多个)应用所请求的数据的消息的示图。在图7的示例实施例中,(多个)应用31可以对应于从图6的服务器所接收的应用。如以上所描述的,所接收的应用(例如,地图应用(例如,mapapp html))可以从例如(多个)远程设备API33的设备API请求数据(例如,位置数据)。从所接收的应用发送至(多个)远程设备API33的请求可以涉及函数调用,例如GetLastLocation (见操作I)。响应于接收到来自所接收应用的请求,(多个)远程设备API33可以生成具有请求远程通信API37获得所请求数据的数据(例如,请求执行函数调用GetLastLocation的数据)的请求。就此而言,所生成的请求可以由(多个)远程设备API33提供到远程通信API37 (见操作2)。
[0076]响应于从(多个)远程设备API33接收到请求,远程通信API37可以对请求的数据进行分析以确定所请求的数据(例如,位置数据)是否对应于被授权或有效的应用。在示例实施例中,在远程通信API37将(多个)远程设备API33所发送的请求的函数调用(例如,‘getLastLocation’ )识别为对应于与请求应用(例如,地图应用)相关联的数据的情况下,远程通信API37可以确定所请求的数据是否对应于有效应用。在远程通信API37并未将相对应函数调用识别为与请求数据的应用相对应的情况下,远程通信API37可以停止获得所请求数据的处理并且可以向处理器94和/或应用请求器模块97发送指定不应当再执行该请求应用的消息。该消息可以包括指示该请求的应用可能无效并且未被授权在IVI客户端设备上运行的数据。就此而言,远程通信API37可以通过表示应用可能无效而提供安全措施。
[0077]另一方面,在远程通信API37识别出从远程设备API33所发送的请求中的(多个)调用函数的情况下,远程通信API37可以确定该请求应用(例如,(多个)应用31 (例如,mapapp html))是有效的或者被授权的。这样,远程通信API37可以生成并且可以向浏览器93发送消息,该消息请求浏览器93从服务器获取所请求的数据。(见操作3&4)。作为响应,浏览器93可以将该消息发送至服务器并且可以接收所请求的数据(例如,位置数据(例如,经纬度坐标123.87.30.00))。(见操作5)。响应于从服务器接收到所请求的数据,浏览器93可以将所请求的数据提供至远程通信API37。(见操作6)。当接收到所请求的数据时,远程通信API37可以将所请求数据提供至远程设备API33,其可以将所请求数据提供至请求应用(例如,(多个)应用31 (例如,mapapp html))。(见操作7&8)。当接收到所请求的数据,该请求应用可以利用所请求的数据(例如,向持有IVI客户端设备的车辆提供坐标)。
[0078]参考图8,提供了根据示例实施例的用于向IVI客户端设备提供一个或多个应用的示例方法的流程图。在操作800,装置(例如,应用管理器模块78)可以响应于接收到与应用相关联的选择(例如,对可见标记(例如,图标)的项目的选择)的指示而向设备(例如,IVI客户端设备90)提供至少一个应用(例如,(多个)应用31)以及相关联的数据(例如,驾驶员分神规则/规定、许可数据等)。在操作805,装置(例如,应用管理器模块78)可以使得应用能够在该应用的执行期间经由多个应用编程接口(例如,(多个)远程设备API33、远程通信API37)访问所请求的数据。在操作810,装置(例如,应用管理器模块78)可以响应于接收到第一应用编程接口(例如,远程通信API37)所生成的至少一个消息而向应用提供所请求的数据,该第一应用编程接口从第二应用编程接口(例如,(多个)远程设备API33)接收针对所请求数据的请求。该第二应用编程接口可能已经从应用(例如,(多个)应用31)接收了请求所请求数据的消息。[0079]应当指出的是,图8是根据本发明一些示例实施例的系统、方法和计算机程序指令的流程图。将要理解的是,流程图中的每个框以及流程图中框的组合可以通过各种手段来实施,诸如硬件、固件、处理器、和/或包括一个或多个计算机程序指令的计算机程序产品。例如,以上所描述的一个或多个过程可以计算机程序指令来实现。就此而言,在一些示例实施例中,体现以上所描述过程的计算机程序指令可以由存储器设备(例如,存储器设备76、存储器96)所存储并且由处理器(例如,处理器70、处理器94、应用管理器模块78、应用请求器模块97)来执行。如将要意识到的,任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置(例如,硬件)上以生产机器,以使得在计算机或其它可编程装置上执行的指令使得流程图的框中所指定的功能得以被实施。在一些示例实施例中,该计算机程序指令可以存储在计算机可读存储器中,其可以指示计算机或其它可编程装置以特定方式工作,以使得存储在计算机可读存储器中的指令产生包括有执行实施流程图的框中所指定的(多个)功能的指令的制造物。计算机程序指令还可以被加载到计算机或其它可编程装置上以使得一系列操作得以在计算机或其它可编程装置上执行而产生计算机实施的处理,以使得在计算机或其它可编程装置上执行的指令实施流程图中所指定的功能。
[0080]因此,流程图中的框支持用于执行指定功能的手段的组合。还将要理解的是,流程图中的一个或多个框以及流程图中框的组合可以由执行所指定功能的基于专用硬件的计算机系统或者特殊用途的硬件和计算机指令的组合来实施。
[0081]在一些示例实施例中,用于执行以上图8的方法的装置可以包括处理器(例如,处理器70、处理器94、应用管理器模块78、应用请求器模块97),其被配置为执行以上所描述的操作(800-810)中的一些或每个操作。例如,该处理器可以被配置为通过执行硬件实施的逻辑功能、执行所存储的指令或者执行用于实施每个操作的算法来执行操作(800-810)。可替换地,该装置还可以包括用于执行以上所描述的每个操作的器件。就此而言,根据一些示例实施例,用于执行操作(800-810)的器件的示例例如可以包括处理器70 (例如,用于执行以上所描述的任意操作的器件)、处理器94、应用管理器模块78、应用请求器模块97和/或用于执行指令或执行算法以便和处理如以上所描述的信息的设备或电路。
[0082]这里所给出的本发明的许多修改和其它实施例将使得本发明所涉及领域的技术人员意识到从以上描述和附图中所给出的教导而获益。因此,所要理解的是,本发明并不局限于所公开的具体实施例,并且修改和其它实施例已在包括在所附权利要求的范围之内。此外,虽然以上描述和附图以部件和/或功能的某些示例组合为背景对示例实施例进行了描述,但是应当意识到的是,可以由可替换实施例提供部件和/或功能的不同组合而并不背离所附权利要求的范围。就此而言,例如,不同于以上所明确描述的部件和/或功能的不同组合也预期在一些所附权利要求中被给出。虽然这里采用了具体术语,但是它们仅以一般和描述性含义被使用而并非用于限制的目的。
【权利要求】
1.一种方法,包括: 使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据; 使得所述应用能够在所述应用的执行期间经由多个应用编程接口访问请求的数据;并且 使得能够响应于接收到由所述接口中的第一应用编程接口所生成的至少一个消息而经由处理器向所述应用提供所述请求的数据,所述第一应用编程接口从所述接口中的第二应用编程接口接收针对所述请求的数据的请求。
2.根据权利要求1所述的方法,其中在使能所述应用之前,所述方法进一步包括: 使得能够响应于确定所述设备之前并不包括所述第二应用编程接口而向所述设备提供所述第二应用编程接口。
3.根据权利要求1所述的方法,其中所述设备包括由车辆所维护的车载信息娱乐设备,所述车载信息娱乐设备被配置为执行所述应用并且利用所述相关联的数据。
4.根据权利要求3所述的方法,其中使得所述应用能够访问所述请求的数据进一步包括使得所述应用能够从所述第二应用编程接口生成请求所述请求的数据的消息。
5.根据权利要求3所述的方法,其中使得能够提供所述请求的数据进一步包括使得能够部分基于响应于所述第一应用编程接口根据从所述第二应用编程接口接收的所述请求的信息确定所述应用有效而提供所述请求的数据。
6.根据权利要求3所述的方法,其中在使能所述应用之前,所述方法进一步包括: 确定所述选择的所述指示表示所述设备之前并不包括所述应用或者并不包括所述应用的当前版本。
7.根据权利要求3所述的方法,其中所述相关联的数据包括一个或多个驾驶员分神规则或者指示所述应用的一个或多个许可的数据的项目中的至少一个,所述驾驶员分神规则表示在所述车辆被驾驶时被执行的、预计所述应用要满足的标准。
8.根据权利要求7所述的方法,进一步包括: 部分基于所述驾驶员分神规则的内容,确定是否可以利用所述应用的一个或多个特征;并且 使得能够向所述设备提供指示,以使得所述设备能够确定哪些特征满足所述驾驶员分神规则的所述标准。
9.根据权利要求7所述的方法,进一步包括: 对指示所述许可的所述数据进行分析,以确定所述应用的一个或多个功能是被允许还是被限制;并且 使得能够向所述设备发送表示所述许可的指示,以使得所述设备能够确定所述应用的被允许或被限制的功能。
10.一种装置,包括: 至少一个处理器;以及 至少一个包括计算机程序代码的存储器,所述计算机程序代码被配置为使用所述至少一个处理器使得所述装置至少执行以下步骤: 使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据; 使得所述应用能够在所述应用的执行期间经由多个应用编程接口访问请求的数据;并且 使得能够响应于接收到由所述接口中的第一应用编程接口所生成的至少一个消息而向所述应用提供所述请求的数据,所述第一应用编程接口从所述接口中的第二应用编程接口接收针对所述请求的数据的请求。
11.根据权利要求10所述的装置,其中在使能所述应用之前,所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 使得能够响应于确定所述设备之前并不包括所述第二应用编程接口而向所述设备提供所述第二应用编程接口。
12.根据权利要求10所述的装置,其中所述设备包括由车辆所维护的车载信息娱乐设备,所述车载信息娱乐设备被配置为执行所述应用并且利用所述相关联的数据。
13.根据权利要求12所述的装置,其中所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 通过使得所述应用能够从所述第二应用编程接口生成请求所述请求的数据的消息而使得所述应用能够访问所述请求的数据。
14.根据权利要求12 所述的装置,其中所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 通过使得能够部分基于响应于所述第一应用编程接口根据从所述第二应用编程接口接收的所述请求的信息确定所述应用有效而提供所述请求的数据,而使得能够提供所述请求的数据。
15.根据权利要求12所述的装置,其中在使能所述应用之前,所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 确定所述选择的所述指示表示所述设备之前并不包括所述应用或者并不包括所述应用的当前版本。
16.根据权利要求12所述的装置,其中所述相关联的数据包括一个或多个驾驶员分神规则或者指示所述应用的一个或多个许可的数据的项目中的至少一个,所述驾驶员分神规则表示在所述车辆被驾驶时被执行的、预计所述应用要满足的标准。
17.根据权利要求16所述的装置,其中所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 部分基于所述驾驶员分神规则的内容,确定是否可以利用所述应用的一个或多个特征;并且 使得能够向所述设备提供指示,以使得所述设备能够确定哪些特征满足所述驾驶员分神规则的所述标准。
18.根据权利要求16所述的装置,其中所述存储器和所述计算机程序代码被配置为使用所述处理器使得所述装置: 对指示所述许可的所述数据进行分析,以确定所述应用的一个或多个功能是被允许还是被限制;并且 使得能够向所述设备发送表示所述许可的指示,以使得所述设备能够确定所述应用的被允许或被限制的功能。
19.一种计算机程序产品,包括其中存储有计算机可读程序代码部分的至少一个有形计算机可读存储介质,所述计算机可读程序代码部分包括: 被配置为使得能够响应于接收到与应用相关联的选择的指示而向设备提供至少一个应用和相关联的数据的程序代码指令; 被配置为使得所述应用能够在所述应用的执行期间经由多个应用编程接口访问请求的数据的程序代码指令;以及 被配置为使得能够响应于接收到由所述接口中的第一应用编程接口所生成的至少一个消息而向所述应用提供所述请求的数据的程序代码指令,所述第一应用编程接口从所述接口中的第二应用编程接口接收针对所述请求的数据的请求。
20.根据权利要求19所述的计算机程序产品, 其中所述设备包括由车辆所维护的车载信息娱乐设备,所述车载信息娱乐设备被配置为执行所述应用并且利用所述相关联的数据。
【文档编号】G06F9/445GK103608780SQ201280030198
【公开日】2014年2月26日 申请日期:2012年5月15日 优先权日:2011年6月20日
【发明者】朴根永 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1