用于使用移动设备的移动平台缓存的系统和方法与流程

文档序号:13142151阅读:188来源:国知局
用于使用移动设备的移动平台缓存的系统和方法与流程

本技术领域一般涉及使用移动设备的移动平台缓存的系统和相关操作方法。



背景技术:

移动平台(如车辆)通常经由蜂窝数据传输系统发送和接收数据。将要发送和接收的数据(如软件和固件的更新)继续扩大。此外,对其他大内容数据传送(如电影和娱乐应用)的需求正在增加。经由蜂窝数据传输与这些大内容数据传送相关联的连接成本相当高。另外,蜂窝数据带宽的限制可能不利地影响或禁止大内容数据传输。

因此,需要以较低成本实现大内容数据传送到移动平台的系统和方法。特别地,使用一个或多个经常使用的现有移动设备的可用存储容量构建适合于大内容数据传送的缓存可以节省成本。还需要移动平台缓存系统和方法不排外地依靠蜂窝数据传输,并且在可用的情况下实现免费或低成本的数据传输。此外,本发明其它的期望特征和特点将通过下面对本发明的详细描述和所附权利要求,以及结合附图和上述技术领域及背景技术而变得显而易见。



技术实现要素:

提供的本发明内容部分以简化形式介绍一些概念,这些概念将在以下详细描述部分中进一步描述。本发明内容部分的目的不是标识所要求保护的主题的关键特征或基本特征,也不是用于帮助确定所要求保护的主题的范围。

提供了一种移动平台缓存方法。该方法包括:(a)通过服务器缓存模块,经由来自移动设备缓存模块的通信,接收与移动设备相关联的存储容量信息;(b)响应于接收的存储容量信息,通过服务器缓存模块为移动设备构建存储容量简档,存储容量简档包括以下集合的至少一个元素,该集合包括(i)移动设备在车辆中的实际次数,(ii)移动设备在车辆中的时间量,(iii)移动设备相对于(i)或(ii)的可用存储容量,(iv)用于将数据包传送到移动设备的通信的类型,以及(v)将数据包从移动设备传送到车辆所需的传送时间;(c)基于存储容量简档,通过服务器缓存模块将软件程序解析为第一数目的数据包,其中第一数目的数据包中包括完整的软件程序;(d)根据存储容量简档,经由与移动设备缓存模块的无线通信将第一数目的数据包中的至少一部分存储在移动设备中;以及(e)从与车辆关联的车辆缓存模块接收传送状态,传送状态包括从移动设备接收的数据包的数目(m)和标识。

还提供了一种移动平台缓存系统,该系统包括:无线通信模块,其用于同与移动设备相关联的移动设备缓存模块以及与车辆相关联的车辆缓存模块进行无线通信;处理器;和存储设备;处理器耦合到存储设备和无线通信模块,并且被配置为:(a)响应于来自移动设备缓存模块的通信,在存储设备中构建存储容量简档,用于移动设备的存储容量简档包括集合的至少一个元素,该集合包括(i)移动设备在车辆中的实际次数,(ii)移动设备在车辆中的时间量,(iii)移动设备相对于(i)或(ii)的可用存储容量,(iv)用于将数据包传送到移动设备的通信类型,以及(v)将数据包从移动设备传送到车辆所需的传送时间;(b)基于存储容量简档将软件程序解析为第一数目的数据包,其中第一数目的数据包中包括完整的软件程序;(c)根据存储容量简档,经由通信,命令移动设备缓存模块将第一数目的数据包中的至少一部分存储在移动设备中;(d)从车辆缓存模块接收从移动设备接收的数据包的数目(m)和标识;以及(e)重复(a)至(d),直到车辆已经接收到数据包的所需数目。

提供了另一种移动平台缓存方法,该方法包括:(a)响应于与移动设备相关联的存储容量信息的wi-fi接收,通过服务器缓存模块构建包括集合的至少一个元素的存储容量简档,该集合包括(i)移动设备在车辆中的实际次数,(ii)移动设备在车辆中的时间量,以及(iii)移动设备相对于(i)或(ii)的可用存储容量;(b)通过服务器缓存模块对软件程序进行编码;(c)通过服务器缓存模块将编码的软件程序解析为第一数目(n)的数据包;(d)根据存储容量简档将数据包发送到与移动设备相关联的移动设备缓存模块,以存储在移动设备中;(e)接收指示车辆缓存模块接收的数据包的数目和标识的传送状态;以及(f)重复(a)至(e),直到车辆缓存模块已经接收所需数目的数据包。

其它期望特征将通过下面对本发明的详细描述和所附权利要求,并结合附图和本发明的背景技术而变得显而易见。

附图说明

结合附图进行的下述详细描述可以更全面地理解本发明主题,其中,相同附图标记表示相同的元件,以及:

图1是根据各种示范性实施例说明移动平台缓存系统的简化框图;

图2是根据各种示范性实施例说明移动平台缓存系统的一些系统组件的框图;以及

图3是根据各种示范性实施例描述用于移动平台缓存系统的方法的流程图。

具体实施方式

以下详细描述本质上仅仅是示范性的,并不用来限制本发明主题的实施例或这些实施例的应用和使用。如本文所使用的,词汇“示范性”是指“用作示例,范例或举例说明”。本文中描述为示范性的任何实施并不一定被解释为相比其它实施更优选或有利。另外,并没有意图受限于前述技术领域、背景技术、简要概述或以下具体实施方式中提出的任何明确的或隐含的理论。

这里可以在功能和/或逻辑模块组件方面以及参考可由各种计算组件或设备执行的操作、处理任务和功能的符号表示来描述技术和工艺。这些操作、任务和功能有时称作计算机运行、计算机化、软件实施或计算机实施。

在实践中,一个或多个处理器设备可以通过操纵表示系统存储器中存储器位置处的数据位的电信号以及其它信号的处理,来执行所述操作、任务和功能。保持数据位的存储位置是物理位置,其具有对应于数据位的特定的电、磁、光或有机属性。应当理解,图中所示出的各种模块组件可以通过被配置为执行指定功能的任意数目的硬件、软件和/或固件组件来实现。例如,系统或组件的实施例可以采用各种集成电路组件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等),其可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。

以下描述可以指将元件或节点或特征“耦合”在一起。如本文所使用的,除非另有明确声明,“耦合”是指一个元件/节点/特征直接或间接地连接到(或直接或间接地与...通信)另一元件/节点/特征,而不必是机械连接。因此,尽管附图可以描绘元件的一个示范性布置,但是在所描绘的主题的实施例中可以存在附加的中间元件、设备、特征或组件。此外,某些术语也可以在以下描述中使用,仅为参考目的,因此不旨在限制。

本文提出的主题涉及利用来自一个或多个移动设备的可用存储容量作为缓存,以将数据传输到移动平台的技术。尽管下面的描述将移动平台作为车辆来实施,但是本文所提出的技术和工艺不限于这样的实施。在这点上,参与动态“通信流”环境的其他对象、系统或设备可以使用本文所述的方法。例如,在下面描述的示范性实施例中,适当配置和装备的自行车、摩托车、行人佩戴的设备、飞机、船只、滑板或踏板车可以代替车辆。易于理解的是,移动平台缓存系统和方法可以被设计为满足超出以下给出示例范围的多个应用特定标准。

为了简洁起见,在此可以不详细描述与发送和接收信号、无线通信模块、无线收发器、网络接口以及某些系统和子系统(及其各个操作组件)的其它功能方面相关的常规技术。此外,某些术语也可以在以下描述中仅作为参考使用。因此,本文给出的示例是非限制性的。

作为简化概述,提供的移动平台缓存系统和方法使用配置为彼此进行无线通信的三个模块。如本文所使用的,术语模块是指单独或任意组合的任何硬件、软件、固件、电子控制组件、处理逻辑,和/或处理器设备,包括但不限于:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或成组)和存储器、组合逻辑电路,和/或提供所述功能的其它合适组件。通常,三个模块包括源模块、传送模块和目的地模块。目标是经由与相应传送设备相关联的一个或多个传送模块将大量数据(这里是“软件程序”)从源模块移动到目的地模块。为了实现此目标,源模块基于与传送模块的无线通信,确定其在一个或多个传输设备的车载、预先存在的存储位置可以存储多少软件程序,并将软件程序解析为相应数据块。当需要如wi-fi的无线通信是可用时,源模块将数据块传送到传送设备中的存储位置。当传送模块具有可操作的期望的与目的地模块进行的无线通信时,它将数据块传送到目的地模块。源模块被配置为连续地评估/确定可用传送设备的存储容量,并解析/发送/存储数据块,直到从目的地模块接收到已接收整个软件程序的无线传达的信息。

现在参考附图,图1是根据各种示范性实施例的简化的移动平台缓存系统100图。在提供的示例中,目的地是移动平台,源模块在服务器(即,云存储)中,以及传送模块在移动设备中。尽管以下描述将移动平台作为车辆实现,但是这里所提出的概念可以部署在其他移动平台中,如飞机、航天器、船只、摩托车、机器人、机器人设备等。此外,如果需要,这里提供的概念也可以部署在非移动平台应用中。

如图1所示,示例性移动平台缓存系统100在各种实施例中包括与车辆102关联的车辆缓存模块110;与移动设备106关联的移动设备缓存模块114;以及与服务器104关联的服务器缓存模块112。车辆102、移动设备106和服务器104各自包括用户接口和无线通信模块(结合图2描述);每一个可以耦合到或集成各自的缓存模块。在一个实施例中,服务器缓存模块112可以与如onstartm的远程信息处理系统相关联,与车辆102内的系统组件进行通信。

移动缓存模块之间的通信被描绘为虚线。在可能的情况下,移动平台缓存系统100的各个实施例以最小化连接成本的方式优先连接。例如,免费wi-fi通信是优先于蜂窝数据通信(参照图3更详细地描述)的,特别是在移动设备106和服务器104之间。位于家庭、办公室或其他热点/接入点内的现有路由站108(诸如wi-fi)可以提供服务器104和移动设备106之间的通信。无线通信模块支持但不限于蜂窝数据传送和无线通信(例如,无线通信模块可以包括wi-fi接入点、特定短距离通信架构dsrc车载设备或其他通信设备)。另外,各种无线通信模块还支持有线通信,并且在各种路由站108、服务器104和路由站108之间的通信可以是有线的,例如dsl,而移动设备106和路由站108之间的通信可以是无线的。相反地,对于车辆102和服务器104之间的通信,移动平台缓存系统100可优先使用蜂窝数据传输以用于任何或所有的传输,和/或移动平台缓存系统100可以适当地改变车辆102移动设备106和服务器104之间的通信在低成本的无线和蜂窝之间来回地进行,例如,来满足软件程序传送计划。

移动设备106可以采取适当配置为经由车载无线通信模块(图2无线通信模块216)与服务器104和车辆102以及路由站108进行通信的任何便携式电子设备或远程电子设备的形式。移动设备106的示例包括蜂窝电话、平板电脑,便携式计算机或其他便携式电子设备。

接下来参考图2,提供了根据各种实施例说明移动平台缓存系统200的一些系统组件的框图。移动平台缓存系统200的功能可以以软件或固件的任何组合来实现,并且可以采用执行各种任务的程序代码段或指令。此外,移动平台缓存系统200的每个系统组件可以被配置为执行本文所描述的移动平台缓存系统200功能中的至少一部分功能。参考图2所示的实施例,每一个移动平台缓存系统200组件包括相应的“缓存模块”,其包括在下文更详细描述的存储设备、处理器、无线通信模块和用户接口。如图2所示,车辆102除了包括用户接口206和无线通信模块208之外,还包括车辆缓存模块110,车辆缓存模块110包括存储设备202和处理器204。除了板载存储器250、用户接口214和无线通信模块216之外,移动设备106包括移动设备缓存模块114,其包括存储设备210和处理器212;并且,服务器104包括服务器缓存模块112,其包括存储设备220、处理器218、用户接口224和无线通信模块222。在各种实施例中,移动平台缓存系统200的组件还可操作地耦合到(未示出)音频设备、相关车辆子系统和车辆硬件。

在每个缓存模块(110、112和114)内,存储设备和处理器耦合在一起,使得处理器可以从存储设备读取信息和向存储设备写入信息。执行上述各种任务的软件或固件程序代码段或指令可以存储在存储设备202、210和222中。在移动平台缓存系统200的各种实施例中,相应的缓存模块(即110、112和114的处理器和存储设备)的处理器和存储设备被集成到车载各自系统组件的已存在的处理器和存储设备内(例如,车辆102、移动设备106和服务器104)。

如本文所使用的,“存储设备”202、210和222包括处理器可读或计算机可读存储介质的任何组合,其可以以永久性和有形的形式实现。“处理器可读介质”或“机器可读介质”可以包括能存储或传送信息的任何介质。处理器可读介质的示例包括电子电路、半导体存储器件、ram、rom、闪速存储器、可擦除rom(erom)、软盘、可移动盘、cd-rom、光盘、硬盘。在各种实施例中,存储设备是相应的处理器不可或缺的。存储设备可以存储用于操作如本文所述的移动平台缓存系统200的永久性的计算机可读指令和程序代码,以及移动平台缓存系统200的组件的各种其他功能或逻辑模块/组件。

上述的软件和固件程序代码为每个缓存模块(110,112和114)提供通信协议、针对无线通信模块连接的输入/输出标准、以及用以验证车辆102、移动设备106和服务器104之间的关联的验证过程。为安全目的采用该验证过程,并且在单个组件之间的验证过程以确认和/或记录关联得以圆满完成时,车辆102、移动设备106和服务器104之间的通信可能因情况而异。因此,所包括的程序代码可以包括采用的商业或适当的验证过程,以在进一步的命令和数据的无线交换之前确定组件之间存在已验证的关联。

尽管并不是本发明的重点,但是该验证过程可能需要执行一些任务,例如服务器上的用户登记,用户对已识别的移动设备106和车辆102的所有权和控制权;将相应的程序代码上载到已识别的移动设备106用以支持移动平台缓存系统200;以及,为所述移动设备106提供许可,以参与到该移动平台缓存系统和/或与车辆102进行无线通信。在移动平台缓存系统200(车辆102、移动设备106和服务器104)的参与组件之内和之间,相应的存储设备和处理器执行上述操作。结合图3,描述了一种用于移动平台缓存系统的方法。

用户接口224、214和206用作以下一种或多种来实现:小键盘、触摸板、键盘、鼠标、屏幕、操纵杆、手柄、话筒、语音识别设备、手势解释设备或其他合适的能够适于从用户端接收输入的设备。用户可使用用户接口来执行活动,例如验证组件之间的关联、使能参与到移动平台缓存系统200、请求软件等等。

在存储设备220中,服务器缓存模块112包括上述程序代码,并且,此外还可获取软件程序以发送到车辆102。如本文所述,“软件程序”可包括软件或固件升级、数据块、娱乐软件,例如电影,等等。在获取软件程序时,服务器缓存模块112将软件程序存储在存储设备220中。

服务器缓存模块112的操作至少由处理器218和存储设备220执行。服务器缓存模块112将软件程序解析为第一数目(n)的数据包,n个数据包包括完整的软件程序。用于解析软件程序的过程还可包括使用编码方案来识别数据包;结合图3更详细地描述解析和编码的过程。服务器缓存模块112还配置为控制无线通信模块222。服务器缓存模块112还配置为通过以下方式将第一数目的数据包的至少一部分存储在移动设备106的在板载存储器中:(1)根据存储容量简档,命令移动设备缓存模块114将第一数目的数据包的至少一部分存储在板载存储器250中,并且(2)将所述数据包传输至移动设备缓存模块114。尽管存储包括命令和传输,但是命令和传输可通过可变时间量的通道分隔。用户可通过用户接口224和/或用户接口214调节可变时间量。有利的是,根据成本,移动平台缓存系统200具有通信优先级,例如,将数据包存储至移动设备106时,免费wi-fi通信优先于较昂贵的蜂窝数据通信。优先使用wi-fi通信可包括将蜂窝数据通信的使用转移或延时预定的时间量,用以等待可利用wi-fi通信的机会。在传输一个或多个数据块到车辆102时存在时间敏感度的情况下,移动平台缓存系统200可确定服务器104应使用蜂窝数据通信直接与车辆缓存模块110(未使用移动设备106)进行通信。在各种实施例中,为了完成将大数据内容软件程序移动到车辆的任务,移动平台缓存系统200可采用静止的、动态的、用户可调节的预定的时间量(例如最后期限)在低成本数据传输和依靠蜂窝数据传输之间选择。

在具有多个移动设备106的实施例中,服务器缓存模块112进一步配置为根据存储容量简档通过以下方式将相应的数据包存储至相应移动设备106的板载存储器250中:(1)根据存储容量简档,命令多个移动设备106中的一个设备的移动设备缓存模块114存储数据包,并且(2)根据存储容量简档传输相应数据包。

服务器缓存模块112可通过无线通信模块222(在车辆缓存模块110的控制下接收自无线通信模块208)接收传送状态,该传送状态包括多个所接收的数据包(m)和接收来自移动设备106的数据包的标识。当m小于数据包(结合图3所描述)的“所需数目”时,存储于服务器缓存模块112中的存储设备220的处理器218和程序编码可继续评估并使用移动设备106提供的存储容量以传送数据包。因此,服务器缓存模块112可从移动设备106接收数据容量信息的更新,并且,响应于更新:构建或重建存储容量简档,解析软件程序,以及将数据包存储至一个或多个移动设备的板载存储器250中,并重复以上过程直到车辆缓存模块110已经接收到所需数目的数据包,这个结果的通知可作为传送状态的一部分通过无线通信模块222传达到服务器缓存模块112。参见图3中附图标记316、318,和320。响应于从车辆缓存模块110接收到的传送状态信息和更新,服务器缓存模块112可构建传送简档,其包括传送的n个数据包比例,传送所花费的时间量,以及多个移动设备106中的每个移动设备106在车辆102中的次数。

无线通信模块208,216和222中的每一个包括,不限于,通过天线(未示出)用于广播和接收无线数据包的发射器和接收器(或收发信机)。因此,数据可以在与车辆102关联的无线通信模块208、与移动设备106关联的无线通信模块216和与服务器104关联的无线通信模块222之间进行无线传达。所传达的数据可包括命令、数据包、轻量级信标数据包等等。在某些实施例中,无线通信模块208,216和222中的一个或多个可实施为与ieee802.11标准兼容的wi-fi接入点。包括在无线通信模块中的其他无线技术可包括:特定短距通信架构(dsrc);蓝牙;在未经授权的频带上运行的低功耗蓝牙(ble);或其他未来的短距或中距无线技术,例如蜂窝设备到设备通信,以及可佩戴通信设备。应当理解,无线通信模块208,216和222能支持其他无线通信协议或标准,适用于该特定实施例。

移动设备缓存模块114的操作至少经由处理器212和存储设备210来执行。移动设备缓存模块114配置为控制无线通信模块216。当服务器104和移动设备106之间存在已验证的关联时,移动设备缓存模块114将其存储容量信息传输至服务器104内的服务器缓存模块112,并且服务器缓存模块112从移动设备106内的移动设备缓存模块114中接收存储容量信息。进一步地,移动设备缓存模块114可在有机会时将更新的移动设备106存储容量信息传输至服务器缓存模块112。所传输的更新可根据频率而改变,当已验证关联的组件之间可用wi-fi通信时,更新具有反射的非周期性。例如,当移动该设备106处于路由站108的范围内时,可传输更新。柔性、非周期性的更新有利地使得移动平台缓存的系统和方法相较于蜂窝数据传输优先使用wi-fi通信,以传输存储容量信息。

移动设备缓存模块114还从服务器缓存模块112中接收命令和数据包以存储在板载存储器250中。作为对此的响应,移动设备缓存模块114将数据包存储在板载存储器250中。当移动设备106在车辆102中时,并且一经与车辆102已验证关联,则移动设备缓存模块114将存储的数据包传输至车辆缓存模块110。在一些实施例中,移动设备缓存模块114进一步将软件程序请求传输至服务器缓存模块112,和/或接收来自服务器缓存模块112的命令以删除移动设备106中的存储位置处的数据包(当服务器缓存模块112从车辆缓存模块110接收相应的数据包已被车辆缓存模块110接收的指示后,所述命令由服务器缓存模块112发送)。

车辆缓存模块110的操作至少通过处理器204和存储设备202来执行。车辆缓存模块110配置为控制无线通信模块208。车辆缓存模块110接收数据包并将其存储在存储设备202或车辆102内的其他板载存储器中。车辆缓存模块110可从服务器缓存模块112接收第一数目(n)和/或任何与软件程序传输关联的编码方案信息。车辆缓存模块110内的处理器204和存储设备202处理数据包,移除任何添加的编码或密钥,跟踪接收到的各个数据包的标识、接收到的所有数据包的数目(m),并将此信息作为传送状态报告至服务器缓存模块112。当车辆缓存模块110接收到数据包的“所需数目”时,车辆可编译软件程序。

在一些实施例中,车辆缓存模块110接收到的数据包的所需数目为m=n数据包。在结合图3的流程图描述的其他实施例中,编码方案在接收k≠n个数据包时考虑到车辆102内待编译的软件程序。在本实施例中,一旦确定接收到了所需数目的数据包,车辆缓存模块110执行任意仍需要的解码以移除数据包中的密钥,并编译软件程序。当软件程序编译完成时,车辆缓存模块110将软件程序存储在存储设备202中,并报告至服务器缓存模块112。在一些实施例中,车辆缓存模块110向服务器104请求软件程序。

在具有多个移动设备106的实施例中,该多个移动设备106中的每个移动设备在向移动平台缓存系统200贡献存储容量之前,必须与服务器缓存模块112具有已验证的关联。利用已验证的关联,多个移动设备106的每个移动设备缓存模块114可配置为通过传输其相应的存储容量来更新服务器缓存模112。如上所述,更新可以非周期性地出现,例如当一个移动设备106具有与服务器104进行wi-fi通信的路由站108或其他机会。在具有多个移动设备106的实施例中,服务器缓存模块112构建存储容量简档,其包括集合的至少一个元素,该集合包括:(i)移动设备106在车辆中的实际次数,(ii)移动设备106在车辆中的时间量,和(iii)移动设备106相对于(i)或(ii)的可用存储容量,针对多个移动设备106中的每个移动设备。在一些实施例中,基于来自车辆缓存模块110的传送状态信息,服务器缓存模块112包括在存储容量简档中的用于传输数据包至相应移动设备106的通信的类型,以及将数据包从相应移动设备106传送至车辆102所花费的传送时间。

图3是描述移动平台缓存300的方法的一个实施例的流程图。出于说明性目的,以下描述可参考结合图1和2提到的组件和模块。因此,移动平台缓存300的方法可包括(1)用于移动设备缓存模块301的方法,(2)用于服务器缓存模块303的方法,和(3)用于车辆缓存模块305的方法,以下示出并描述每一个方法。应当理解,用于移动平台缓存300的方法可以包括任何数目的附加或替代的操作或任务,图3所示的操作不必以图示的顺序执行,并且用于移动缓存平台300的方法可以包括在具备额外功能的更为全面的程序或过程中,文中未详细描述。而且,只要预期的全部功能保持完好,图3中所示的一个或多个操作或任务可以从移动平台缓存300的方法的实施例中省略。

如前所述,服务器缓存模块112的操作至少经由处理器218、存储设备220和无线通信模块222执行。用于服务器缓存模块112的方法的操作如下。在304,服务器缓存模块112可通过执行验证过程(如上所述)验证与移动设备106和/或车辆102的关联。在312,获取待传送至车辆102的软件程序确认与服务器104具有已验证关联。尽管不是本发明的重点,但软件程序可经由用户接口224,或任何数据上载过程获取。获取软件程序可响应于来自车辆102的请求(在311处)、来自移动设备106的对其请求或来自服务器104的内部请求。

在316,服务器缓存模块112从位于移动设备106内的移动设备缓存模块114处接收存储容量信息。如上述,移动平台缓存系统200为降低成本进行通信优先级选择,使得在可能的情况下相较于蜂窝数据通信优先选择免费wi-fi通信。特别地,经由路由站108,wi-fi通信可用于从移动设备106接收存储容量信息,如上所述。对于移动设备106,存储容量信息包括集合中的至少一个元素,该集合包括:(i)移动设备106在车辆102中的实际次数;(ii)移动设备106在车辆102中的时间量;和(iii)移动设备106相对于(i)或(ii)的无线通信容量。存储容量信息还可包括移动设备106中一个或多个可用存储的位置。例如,服务器缓存模块112可接收存储容量信息,指示第一移动设备106(1)周一至周五早晨8:00在车辆102中,(2)每次停留时间为20分钟,(3)极少使用可用存储设备210,(4)周六早晨10:00在车辆102中,(5)停留时间为3小时,(6)在此时间内,板载存储器250的大部分在使用。

服务器缓存模块112处理无线接收到的存储容量信息,并从(316)中构建存储容量简档。存储容量简档使得移动平台缓存300的过程利用移动设备106中的板载存储器250,同时使对移动设备106用户正常操作的干扰最小化。在一个实施例中,如果移动设备106被其他活动(例如播放电影)占用和/或无线通信容量不允许数据包以阻止用户体验下降的方式传输至车辆102,那么该系统可阻止移动设备106将数据包传送至车辆102。为了最小化对用户正常操作移动设备106的干涉,移动平台缓存系统200确定利用小于板载存储器250未用的总存储量(例如,16gb免费容量的移动设备106可确定提供1gb容量,而500mb免费容量的移动设备106可确定提供20mb容量)。在以上示例中,存储容量简档指示在周一至周五8:00之前将更多数据存储在移动设备106中的多次机会,但每次将存储的数据下载到车辆的时间只有20分钟;以及在周六早晨10:00前存储较少量数据的一次机会,因为尽管用户可能在周六早晨10:00将移动设备106放置在车辆102中3个小时,但是板载存储器250不能使用,因为其可能干扰用户正常操作移动设备106。

根据接收自311的存储容量信息,对于移动设备106,在318中构建的存储容量简档包括集合的至少一个元素,该集合包括:(i)移动设备106在车辆102中的实际次数,(ii)移动设备106在车辆102中的时间量,和(iii)移动设备106相对于(i)或(ii)的的可用存储容量。在一些实施例中,基于来自车辆缓存模块110的传送状态信息,服务器缓存模块112包括在存储容量简档中的用于传送数据包至相应移动设备106的通信的类型,和将数据包从相应移动设备106传送至车辆102所花费的传送时间。

在318处,服务器缓存模块112将软件程序解析为第一数目(n)的数据包,数据包的大小和数目(n)可以基于:(i)存储容量简档,以及(ii)编码方案。数据包用于从服务器缓存模块112传送到移动设备缓存模块114,并且在稍后的时间,从移动设备缓存模块114传送到车辆缓存模块110。在服务器104和移动设备106之间以及在移动设备106和车辆102之间低成本或wi-fi通信的可用性可以决定数据包传送的时机。在各种实施例中,n个数据包包括完整的软件程序。

如上所述,解析(在318处)可以包括采用具有数据包的编码方案;此类编码方案可以向包括软件程序的符号的总数目添加符号信息,由此增加所生成的数据包(n)的总数目(保持数据包大小不变)。然而,不管n的值如何,n表示生成为包括整个软件程序的数据包的数目。在第一非限制性代码方案实例中,在320(存储数据包)之前,服务器缓存模块112向每个数据包添加唯一的秘钥,其中针对相应的数据包,所添加的秘钥对软件程序内的数据包的长度和数据包的位置进行编码。在另一个非限制性代码方案实例中,服务器缓存模块112向每个数据包添加唯一的秘钥,其中针对相应的数据包,所添加的秘钥对数据包将要被传送到(并存储在其中)的移动设备106的标识进行编码。在第三非限制性代码方案实例中,服务器缓存模块112使用任何可通过商业途径获得的喷泉码(也被称为无比率擦除代码)将软件程序编码为数据块,由此通过使得车辆缓存模块110在接收到k<n的包后能够外推整个软件程序的方法来生成数据包。在第三代码方案实例中,当车辆检测到其具有m=k个消息时,其能够外推并编译出整个软件程序。

当采用编码方案时,服务器缓存模块112将该信息传达到车辆缓存模块110,通过采用相应的解码处理以从包括该软件程序的符号信息中移除秘钥或代码。车辆缓存模块110采用从解码过程所获得的信息来生成传送状态。参考第三代码方案实例,在接收到k个数据包之后,车辆缓存模块110编译软件程序并以成功的编译更新服务器。在接收数据包期间,由车辆缓存模块110生成的传送状态包括报告m,如之前一样,并且服务器缓存模块112继续传输并存储数据包直到接收到软件程序已经在车辆102中完成编译的通知,这通常与m=k一致。

在320处,通过(1)命令移动设备缓存模块114存储数据包和(2)传输该数据包,服务器缓存模块112根据存储容量简档,在移动设备106内的板载存储器250中存储第一数目的数据包中的至少一部分。如上所述,用于移动平台缓存系统200的方法相对蜂窝数据通信优先考虑低成本或免费通信以用于在移动设备106中存储数据包。在一个实施例中,移动平台缓存方法进一步包括:服务器缓存模块112从移动设备缓存模块114接收移动设备106正在充电的指示;以及在320(存储)处进一步包括仅在移动设备106正在充电的条件下存储。

随着时间的推移,可以重复316;因此,服务器缓存模块112可以不定期地从移动设备缓存模块114接收关于移动设备106的存储容量的更新。当接收到更新时,服务器缓存模块112可以重复316、318和320,直到接收到指示车辆102处已经接收到所需数目的数据包的传送状态。

如前所述,不定期的更新可以反映移动设备106和服务器104之间的wi-fi通信可用的场合。如之前一样,对于移动设备106,所接收到的更新可以包括集合的至少一个元素,该集合包括:(i)移动设备106在车辆102中的实际次数;(ii)移动设备106在车辆102中的时间量;以及(iii)移动设备106相对于(i)或(ii)的可用存储容量。继续以上的实例,经过一段时间,来自移动设备缓存模块114的更新可以指示用户通常从周一到周五连续以相同的次数和持续时间在车辆102中,而在周末的次数和持续时间有所不同。响应于所接收到的更新,服务器缓存模块112可以重复316,由此重建存储容量简档。

因此,随着时间推移重复的更新,服务器缓存模块112将存储容量简档优化为对来自移动设备106的可用存储容量的时间变化的越来越精确的描述。随着存储容量简档被优化,其能够更加确保存储在移动设备106中的数据包的大小和量是可用传送时间的量的反映,在该可用传送时间,移动设备106被预测为在车辆102内,同时最小化对用户正常操作移动设备106的干扰。

在336处,服务器缓存模块112可以将第一数目n、第二数目k和/或任何相关联编码方案信息传输至车辆缓存模块110以使车辆缓存模块110为将到来的数据包做好准备。在336处,服务器缓存模块112从车辆缓存模块110接收传送状态的通知,该传送状态可以包括所接收的数据包(m)的数目以及所接收的数据包m的标识。服务器缓存模块112可以重复构建(在316处)、解析(在318处)、存储(在320处)以及接收(在336处),直到接收到车辆缓存模块110已经接收到所需数目的数据包的通知和/或直到接收到车辆缓存模块110已经编译了软件程序的通知。例如,所需数目的数据包为n个;在该情况下,响应于接收到m小于n的传送状态,服务器缓存模块112可以重复构建(在316处)、解析(在318处)、存储(在320处)以及接收(在336处)直到m=n。在另一个实例中,所需数目的数据包为k<n;在该情况下,响应于接收到m小于k的传送状态,服务器缓存模块112可以重复构建(在316处)、解析(在318处)、存储(在320处)以及接收(在336处)直到接收到m=k的通知,或者直到接收到软件程序已经被编译(在338处)的通知。附加地,响应于指示数据包已经由车辆缓存模块110接收的传送状态,服务器缓存模块112可以命令移动设备缓存模块114从其存储位置删除数据包。

在具有多个移动设备106的实施例中,该多个移动设备106中的每个移动设备在向服务器缓存模块112报告存储容量信息(314))之前,需要与服务器104和车辆102具有已验证的关联。进一步地,该多个移动设备106中的每个移动设备缓存模块114可以不定期地将存储容量信息和/或存储容量更新传输至服务器缓存模块112(314)。响应于来自移动设备缓存模块114的更新,服务器缓存模块112构建或重建包括该更新的存储容量简档(在316处),其中针对相应的移动设备106,该更新可以包括集合的至少一个元素,该集合包括:(i)移动设备106在车辆中的实际次数;(ii)移动设备106在车辆中的时间量;以及(iii)移动设备106相对于(i)或(ii)的可用存储容量。在一些实施例中,服务器缓存模块112从多个可用移动设备106中的一个或多个接收更新,并暂时存储该更新为用户提供可调的预定时间;在该预定时间过去后,响应于在预定时间期间从多个可用移动设备106接收的所有更新,服务器缓存模块112重建存储容量简档。

当存储容量简档已经被构建为包括多个移动设备106的存储容量信息时,根据该存储容量简档在移动设备中存储第一数目的数据包中的至少一部分的任务320进一步包括:根据该存储容量简档在多个移动设备106中的多于一个移动设备106中存储第一数目的数据包中的至少一部分。如上所述,用于移动平台缓存的方法300根据存储容量简档存储数据包,这确保了存储在多个移动设备106中的每个移动设备106的板载存储器250中数据包的大小和量不仅反映被视为可用的板载存储器容量,而且反映可用传送时间的量,在该可用传送时间期间相应的移动设备106被预测为在车辆102内。

继续以上实例,存储容量简档可以指示:60个数据包可以存储在第一移动设备中,5个数据包可以存储在第二移动设备中,以及100个数据包可以存储在第三移动设备中。服务器缓存模块112可以进一步配置为,在接收到特定数据包已由车辆102接收的指示时,命令已经存储该特定数据包的移动设备106从其相应存储位置删除该特定数据包。在另一个实施例中,在数据包被传送到车辆102之后,移动设备缓存模块114自动地从存储器150删除数据包。

如前所述,移动设备缓存模块114的操作至少经由处理器212、存储器210和无线通信模块216来执行。接下来的描述针对用于移动设备缓存模块301的方法以及用于车辆缓存模块305的方法。用于移动设备缓存模块301的方法在302处包括前述的确认过程以确保在移动设备106和服务器104之间已验证的关联。在308处,移动设备缓存模块114任选地将对于软件程序的请求传输至服务器缓存模块112。在314处,移动设备缓存模块114将与板载存储器250相关联的存储容量和使用信息传输至服务器缓存模块112。如上所述,314可以以反映wi-fi通信的可用性的频率不定期地重现。在322处,移动设备缓存模块114从服务器缓存模块112接收数据包并将数据包存储在板载存储器250中。基于在移动设备106和车辆102之间的已验证的关联,移动设备缓存模块114将数据包传输至车辆缓存模块110(328)。

如前所述,车辆缓存模块110的操作至少经由处理器204、存储设备202和无线通信模块208来执行。用于车辆缓存模块305的方法在306处包括前述的确认过程以确保在车辆102和服务器104之间已验证的关联。在310处,车辆缓存模块110任选地将针对软件程序的请求传输至服务器缓存模块112。在326处,车辆缓存模块110确认其具有和移动设备106的已验证的关联。车辆缓存模块110从移动设备缓存模块114接收数据包(在328处)。车辆缓存模块110识别所接收的数据包,识别所接收的数据包(m)的数目,确定其何时已经接收了所有所需数据包(在各个实施例中,n个数据包,或者k≠n个数据包),并且将该信息作为传送状态传输至服务器缓存模块112(在332处)。来自车辆缓存模块110的传送状态信息还可以包括用于将数据包传送至相应移动设备106的通信的类型和将数据包从相应移动设备106传送至车辆102所用的传送时间。车辆缓存模块110可以附加地将指示其何时已经完成编译软件程序(在334处)的更新传输至服务器缓存模块112。

由此,提供了使得大内容数据能够传送至移动平台同时利用低成本通信的系统和方法。所提供的系统和方法使用一个或多个经常使用的现有移动设备的可用存储容量构建适合于大内容数据传送的缓存,从而降低了缓存成本。所提供的移动缓存系统和方法通过一个或多个移动设备利用低成本或免费通信,因此并不唯一地依靠蜂窝数据传输。

尽管在之前的详细描述中已经介绍了至少一个示范性实施例,但是应当认识到存在大量的变型。还应当认识到,本文所述的示范性实施例或实施例并不旨在以任何方式限制所要求保护的主题的范围、应用性或构造。更确切地说,之前的详细描述将为本领域的技术人员提供用于实施所述实施例或多个实施例的方便路线图。应当理解,在元件的功能和配置方面可以做出各种改变而不偏离由权利要求书所限定的范围,此范围包括在提交本专利中请时已知的等价物和可预见的等价物。

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