基于上下文的数据的预测性预缓存转让专利

申请号 : CN201380044966.9

文献号 : CN104583963B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : T.科伦伯格R.沃海比S.莫M.棉

申请人 : 英特尔公司

摘要 :

一种用于在移动通信设备上预测性地预缓存内容的设备和方法包括针对关于用户活动的上下文数据监视多个数据源。移动通信设备使用上下文数据来预测网络连接中断和受影响的应用。移动通信设备将预测的网络连接中断通知受影响的应用,并且作为响应,受影响的应用将适当的内容预缓存。受影响的应用可响应于该通知而采用若干预缓存策略,诸如从远程内容服务器下载内容,调整内容流式传输,或者在预测的网络连接中断之前调整内容缓冲。在网络中断期间,使用预缓存内容来提供应用服务。还可使用本地高速缓存代理服务器来实现此类预缓存。

权利要求 :

1.一种预测性地预缓存数据的移动通信设备,所述移动通信设备包括:上下文引擎,将监视移动通信设备的用户的上下文数据;以及预测引擎,其:

使用所述上下文数据来预测网络连接中断;

使用所述上下文数据来预测受到网络连接中断影响的应用;以及使得受影响的应用在网络连接中断之前应用预缓存策略以将内容预缓存,其中所述预测引擎将:通过预测多个网络连接中断并确定所述多个网络连接中断的平均长度来预测网络连接中断;并且使得所述受影响的应用施加所述预缓存策略以便根据所述多个网络连接中断的平均长度来确定所需缓冲器大小。

2.权利要求1的移动通信设备,其中所述预测引擎将使用贝叶斯预测方法来预测受影响的应用。

3.权利要求1的移动通信设备,还包括安全协处理器,该安全协处理器包括所述上下文引擎和所述预测引擎。

4.权利要求1的移动通信设备,还包括安全执行环境,该安全执行环境包括所述上下文引擎和所述预测引擎。

5.权利要求1的移动通信设备,其中,所述预测引擎将通过确定所述移动通信设备所需的带宽阈值并确定在所述带宽阈值以下的未来时间段内的预期带宽来预测网络连接中断。

6.权利要求1的移动通信设备,其中:

所述上下文引擎将监视用户的日历;以及

所述预测引擎将根据所述用户的日历来预测网络连接中断。

7.权利要求1的移动通信设备,还包括位置确定电路,其中:所述上下文引擎将通过使用所述位置确定电路来确定所述移动通信设备的位置而监视所述用户的上下文数据;以及所述预测引擎将根据所述移动通信设备的位置和识别减少网络连接的区域的网络覆盖图来预测网络连接中断。

8.权利要求7的移动通信设备,其中,所述预测引擎将:下载所述网络覆盖图;

根据所述移动通信设备的位置来预测所述移动通信设备的路线;以及根据所述移动通信设备的网络覆盖图和预测路线来预测网络连接中断。

9.权利要求8的移动通信设备,其中,所述预测引擎将进一步:根据所述移动通信设备的位置和所述移动通信设备的预测路线来确定替代路线,以及向所述用户呈现所述替代路线。

10.权利要求7的移动通信设备,其中,所述预测引擎将从第三方网络连接图服务器下载所述网络覆盖图,其中,所述第三方网络连接图服务器用由其他移动通信设备提供的连接信息来保持众包化连接图。

11.权利要求1的移动通信设备,其中:所述上下文引擎将监视所述移动通信设备的网络连接状态并记录历史网络连接状态信息;以及所述预测引擎将根据所述历史连接状态信息来预测网络连接中断。

12.权利要求1的移动通信设备,其中:所述上下文引擎将监视所述用户对应用的使用并记录所述用户的历史应用使用数据;

以及

所述预测引擎将根据所述历史应用使用数据来预测受影响的应用。

13.权利要求1的移动通信设备,其中,所述预测引擎进一步将向受影响的应用通知网络连接中断,以使得受影响的应用(i)在网络连接中断之前应用所述预缓存策略以便受影响的应用将内容预缓存,以及(ii)在网络连接中断期间访问预缓存内容。

14.权利要求1的移动通信设备,其中,所述预测引擎将:预测网络连接中断的开始时间和持续时间;以及使得受影响的应用应用所述预缓存策略以:选择用于网络连接中断的预测持续时间的内容,以及在网络连接中断的预测开始时间之前下载所选内容。

15.权利要求14的移动通信设备,其中,所述预测引擎将使得受影响的应用从用户指定内容队列选择内容。

16.权利要求14的移动通信设备,其中,所述预测引擎将使得受影响的应用使用内容预测试探法来选择内容。

17.权利要求14的移动通信设备,其中,所述预测引擎将使得受影响的应用在网络连接中断的预测开始时间之前与内容服务器协商内容许可。

18.权利要求14的移动通信设备,其中,所述预测引擎将使得受影响的应用在网络连接中断的预测开始时间之前调度用于未来时间的所选内容的下载。

19.权利要求1的移动通信设备,其中,所述预测引擎将使得受影响的应用应用所述预缓存策略来:确定在网络连接中断期间提供基本上连续应用服务所需的预缓存内容的量;

确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断之前下载所需量的预缓存内容所需的网络带宽;

根据所需网络带宽来确定当前可用网络带宽是否充足;

响应于确定当前可用网络带宽不充足,提供降低质量连续应用服务以减少所需网络带宽;以及流式传输数据以在网络连接中断之前同时地提供连续应用服务并下载所需量的预缓存内容。

20.权利要求1的移动通信设备,其中,所述预测引擎将使得所述受影响的应用进一步应用所述预缓存策略以:根据所需缓冲器大小来确定应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将应用的当前缓冲器大小调整至所需缓冲器大小。

21.一种预测性地预缓存数据的移动通信设备,所述移动通信设备包括:上下文引擎,将监视所述移动通信设备的用户的上下文数据;

本地高速缓存代理服务器;以及

预测引擎,其:

使用所述上下文数据来预测网络连接中断;

使用所述上下文数据来预测受到网络连接中断影响的应用;以及使得所述本地高速缓存代理服务器在网络连接中断之前应用预缓存策略以将内容预缓存并在网络连接中断期间将预缓存内容用于受影响的应用,其中所述预测引擎将:通过预测多个网络连接中断并确定所述多个网络连接中断的平均长度来预测网络连接中断;并且使得所述受影响的应用施加预缓存策略以便根据所述多个网络连接中断的平均长度来确定所需缓冲器大小。

22.权利要求21的移动通信设备,其中:所述预测引擎将预测网络连接中断的开始时间和持续时间;以及所述本地高速缓存代理服务器将应用所述预缓存策略来:选择用于网络连接中断的预测持续时间的内容,以及在网络连接中断的预测开始时间之前下载所选内容。

23.权利要求21的移动通信设备,其中,所述本地高速缓存代理服务器将应用所述预缓存策略来:确定在网络连接中断期间提供基本上连续应用服务所需的预缓存内容的量;

确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断之前下载所需量的预缓存内容所需的网络带宽;

根据所需网络带宽来确定当前可用网络带宽是否充足;

响应于确定当前可用网络带宽不充足,使得受影响的应用提供降低质量连续应用服务以减少所需网络带宽;以及在网络连接中断之前下载所需量的预缓存内容。

24.权利要求21的移动通信设备,其中:所述本地高速缓存代理服务器将进一步应用所述预缓存策略来:根据所需缓冲器大小来确定受影响的应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将受影响的应用的当前缓冲器大小调整至所需缓冲器大小。

25.一种在移动通信设备上预测性地预缓存数据的方法,所述方法包括:在所述移动通信设备上监视所述移动通信设备的用户的上下文数据;

在所述移动通信设备上使用所述上下文数据来预测网络连接中断;

在所述移动通信设备上使用所述上下文数据来预测受网络连接中断影响的应用;以及在所述移动通信设备上将预缓存策略应用于受影响的应用在网络连接中断之前将内容预缓存,其中预测网络连接中断包括预测多个网络连接中断并确定所述多个网络连接中断的平均长度;以及其中应用所述预缓存策略包括:根据所述多个网络连接中断的平均长度来确定所需缓冲器大小。

26.权利要求25的方法,其中,预测受影响的应用包括使用贝叶斯预测方法来预测受影响的应用。

27.权利要求25的方法,其中:

监视所述上下文数据包括使用所述移动通信设备的安全协处理器来监视上下文数据;

预测网络连接中断包括使用所述安全协处理器来预测网络连接中断;以及预测受影响的应用包括使用所述安全协处理器来预测受影响的应用。

28.权利要求25的方法,其中:

监视所述上下文数据包括在所述移动通信设备的安全执行环境中监视上下文数据;

预测预测的网络连接中断包括在所述安全执行环境中预测预测的网络连接中断;以及预测受影响的应用包括中所述安全执行环境来预测受影响的应用。

29.权利要求25的方法,其中,预测网络连接中断包括确定所述移动通信设备所需的带宽阈值并确定在带宽阈值以下的未来时间段内的预期带宽。

30.权利要求25的方法,其中:

监视所述用户的上下文数据包括监视用户的日历;以及预测网络连接中断包括根据所述用户的日历来预测网络连接中断。

31.权利要求25的方法,其中:

监视所述用户的上下文数据包括确定所述移动通信设备的位置;以及预测网络连接中断包括根据所述移动通信设备的位置和识别减少网络连接的区域的网络覆盖图来预测网络连接中断。

32.权利要求31的方法,其中,根据所述移动通信设备的位置和网络覆盖图来预测网络连接中断包括:下载所述网络覆盖图;

根据所述移动通信设备的位置来预测所述移动通信设备的路线;以及根据所述移动通信设备的网络覆盖图和预测路线来预测网络连接中断。

33.权利要求32的方法,还包括:

根据所述移动通信设备的位置和所述移动通信设备的预测路线来确定替代路线,以及向所述用户呈现所述替代路线。

34.权利要求32的方法,其中,下载所述网络覆盖图包括从第三方网络连接图服务器下载所述网络覆盖图,其中,所述第三方网络连接图服务器用由其他移动通信设备提供的连接信息来保持众包化连接图。

35.权利要求25的方法,其中:

监视所述用户的上下文数据包括监视所述移动通信设备的网络连接状态并记录历史网络连接状态信息;以及预测网络连接中断包括根据所述历史连接状态数据来预测网络连接中断。

36.权利要求25的方法,其中:

监视所述用户的上下文数据包括监视所述用户对应用的使用并记录所述用户的历史应用使用数据;以及预测受影响的应用包括根据所述历史应用使用数据来预测受影响的应用。

37.权利要求25的方法,其中:

预测网络连接中断包括预测网络连接中断的开始时间和持续时间;以及应用所述预缓存策略包括:

选择用于网络连接中断的预测持续时间的内容,以及在网络连接中断的预测开始时间之前下载所选内容。

38.权利要求37的方法,其中,选择内容包括从用户指定内容队列选择内容。

39.权利要求37的方法,其中,选择内容包括使用内容预测试探法来选择内容。

40.权利要求37的方法,其中,下载所选内容包括在网络连接中断的预测开始时间之前与内容服务器协商内容许可。

41.权利要求37的方法,其中,下载所选内容包括在网络连接中断的预测开始时间之前调度用于未来时间的所选内容的下载。

42.权利要求25的方法,其中,应用所述预缓存策略包括:确定在网络连接中断期间提供基本上连续应用服务所需的预缓存内容的量;

确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断之前下载所需量的预缓存内容所需的网络带宽;

根据所需网络带宽来确定当前可用网络带宽是否充足;

响应于确定当前可用网络带宽不充足,提供降低质量连续应用服务以减少所需网络带宽;以及流式传输数据以在网络连接中断之前同时地提供连续应用服务并下载所需量的预缓存内容。

43.权利要求25的方法,其中:应用所述预缓存策略进一步包括:根据所需缓冲器大小来确定应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将应用的当前缓冲器大小调整至所需缓冲器大小。

44.权利要求25的方法,还包括在所述移动计算设备上将网络连接中断通知受影响的应用。

45.权利要求25的方法,还包括在所述移动计算设备上在网络连接中断期间访问预缓存内容。

46.权利要求25的方法,其中:

应用所述预缓存策略包括使用在所述移动通信设备上建立的本地高速缓存代理服务器来将内容预缓存;以及访问预缓存内容包括访问由所述本地高速缓存代理服务器提供的预缓存内容。

47.一种移动通信设备,包括:

处理器;以及

存储器,在其中存储多个指令,所述多个指令在被处理器执行时使得移动通信设备执行权利要求25—46中的任一项的方法。

48.一种机器可读存储介质,包括存储在其上面的程序,该程序响应于被执行而导致移动通信设备执行权利要求25—46中的任一项的方法。

说明书 :

基于上下文的数据的预测性预缓存

背景技术

[0001] 移动通信设备提供用于用户访问存储在远程服务器上的期望内容的各种应用。移动内容应用一般地要求活动网络连接以访问新内容。某些应用在允许用户访问内容之前将诸如媒体文件之类的内容下载到移动通信设备。例如,电子阅读器应用允许用户下载并访问书籍及其他文献。其他应用将内容流式传输到移动通信设备,允许用户在内容被完全下载之前访问内容。例如,流式传输音频应用在不要求冗长的下载的情况下允许用户访问大型音乐库。某些应用缓冲内容以解决网络连接中的短暂、非计划中断。
[0002] 移动通信设备所使用的无线网络提供广泛但不普遍的覆盖。例如,蜂窝式网络一般地在居住区中具有高质量覆盖,但在边远地区中具有降低的覆盖。Wi-Fi®网络可在某些建筑物中或建筑物内的房间中提供覆盖但在其他地方没有。另外,环境因素可影响无线网络可用性。例如,无线网络在地下可能并不是可用的,例如在地铁系统中。并且,策略可影响无线网络可用性。例如,通常在飞机内部不允许无线通信。

附图说明

[0003] 在附图中以示例的方式而非以限制的方式图示出本文所述的概念。为了图示的简单和明了起见,图中所示的元素不一定按比例描绘。在认为适当的情况下,在图之间已重复附图标记以指示相应或类似的元素。
[0004] 图1是用于基于上下文数据的预测性数据预缓存的系统的至少一个实施例的简化框图;
[0005] 图2是图1的系统的移动通信设备的环境的至少一个实施例的简化框图;
[0006] 图3是可由图1和2的移动通信设备执行的将基于上下文数据来预测性地预缓存数据的方法的至少一个实施例的简化流程图;
[0007] 图4是可作为图3的方法的一部分执行的将使用网络覆盖图来预测网络连接中断的方法的至少一个实施例的简化流程图;
[0008] 图5是可由图1和2的移动通信设备执行的将响应于预测网络连接中断而预缓存内容的方法的至少一个实施例的简化流程图;
[0009] 图6是可作为图5的方法的一部分执行的将预先下载应用数据的方法的至少一个实施例的简化流程图;
[0010] 图7是可作为图5的方法的一部分执行的将调整应用数据的流式传输的方法的至少一个实施例的简化流程图;以及
[0011] 图8是可作为图5的方法的一部分执行的将缓冲附加应用数据的方法的至少一个实施例的简化流程图。

具体实施方式

[0012] 虽然本公开的概念易受各种修改和替代形式,但在图中已以示例的方式示出了其特定实施例并将在本文中详细地描述。然而,应理解的是不存在使本公开的概念局限于公开的特定形式的意图,而是相反地,意图是涵盖与本公开和所附权利要求书一致的所有修改、等价物以及替代。
[0013] 本说明书中的对“一个实施例”、“实施例”、“说明性实施例”等的参考指示所述实施例可包括特定特征、结构或特性,但每个实施例可包括或可不必包括该特定特征、结构或特性。此外,此类短语不一定表示相同实施例。此外,当结合实施例来描述特定特征、结构或特性时,认为其在本领域的技术人员的知识内以实现与无论是否明确地描述的其他实施例相结合地实现此类特征、结构或特性。
[0014] 在某些情况下,可用硬件、固件、软件或其任何组合来实现公开实施例。还可将公开实施例实现为由瞬时或非瞬时机器可读(例如,计算机可读)存储介质承载或存储在其上面的指令,该指令可被一个或多个处理器读取和执行。可将机器可读存储介质体现为用于以机器可读的形式存储或发射信息的任何存储器件、机制或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。
[0015] 在图中,可以特定布置和/或排序示出某些结构或方法特征。然而,应认识到的是可不要求此类特定布置和/或排序。相反地,在某些实施例中,可以与说明性图中所示不同的方式和/或顺序来布置此类特征。另外,特定图中的结构或方法特征的包括并不意图暗示在所有实施例中都要求此类特征,并且在某些实施例中,可不包括或者可将其与其他特征组合。
[0016] 现在参考图1,一种用于基于用户上下文进行数据的预测性预缓存的系统100包括通过网络108进行通信的移动通信设备102和内容服务器104。如更详细地讨论的,移动通信设备102监视多个数据源以确定用户的上下文并从而预测网络连接中断。在某些实施例中,移动通信设备102可与网络连接图服务器106通信以便预测网络连接中断。响应于预测到网络连接中断,在移动通信设备102上运行的一个或多个应用可将来自内容服务器104的适当内容预缓存。
[0017] 公开预测性预缓存允许移动通信设备102在不要求用户干预的情况下提供用于网络中断的期望内容。对于预定的(scheduled)网络中断而言,例如飞行,在不要求用户执行潜在地耗时且不方便的提前下载的情况下使得离线内容可用。对于非预定网络中断而言,在否则移动通信设备可能不可用时使得离线内容可用。
[0018] 可将移动通信设备102体现为能够执行本文所述功能的任何类型的通信设备。例如,可在没有限制的情况下将移动通信设备102体现为智能电话、蜂窝式电话、手持设备、消息收发设备、车辆远程信息处理设备、计算机、平板计算机、膝上型计算机、笔记本计算机、移动计算设备、工作站、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费者电子设备、数字电视设备和/或被配置成基于上下文而将数据预测性地预缓存的任何其他通信设备。在图1的说明性实施例中,移动通信设备102包括处理器120、I/O子系统124、存储器128、数据储存130、通信电路132以及一个或多个外围设备134。在某些实施例中,可将前述部件中的若干个结合在移动通信设备102的母板或主板上,同时可经由例如外围端口将其他部件通信耦合到母板。此外,应认识到的是移动通信设备102可包括其他部件、子部件以及通常在通信和/或计算设备中找到的设备,其为了描述的明了起见而未在图1中示出。
[0019] 可将移动通信设备102的处理器120体现为能够执行软件/固件的任何类型的处理器,诸如微处理器、数字信号处理器、微控制器等。处理器120被说明性地体现为具有处理器核122的单核处理器。然而,在其他实施例中,可将处理器120体现为具有多个处理器核122的多核处理器。另外,移动通信设备102可包括具有一个或多个处理器核122的附加处理器120。
[0020] 可将移动通信设备102的I/O子系统124体现为将促进与处理器120和/或移动通信设备102的其他部件的输入/输出操作的电路和/或部件。在某些实施例中,可将I/O子系统124体现为存储器控制器集线器(MCH或“北桥”)、输入/输出控制器集线器(ICH或“南桥”)和固件设备。在此类实施例中,可将I/O子系统124的固件设备体现为用于存储基本输入/输出系统(BIOS)数据和/或指令和/或其他信息的存储器设备(例如,在移动通信设备102的启动期间使用的BIOS驱动器)。然而,在其他实施例中,可使用具有其他配置的I/O子系统。例如,在某些实施例中,可将I/O子系统124体现为平台控制器集线器(PCH)。在此类实施例中,可将存储器控制器集线器(MCH)结合在处理器120中或与之相关联,并且处理器120可直接地与存储器128通信(如图1中的短划线所示)。另外,在其他实施例中,I/O子系统124可形成片上系统(SoC)的一部分并连同处理器120和移动通信设备102的其他部件一起结合在单个集成电路芯片上。
[0021] 在某些实施例中,I/O子系统124可包括安全引擎126。可将安全引擎126体现为能够执行指令的安全执行或向主处理器120提供安全服务的任何类型的处理器。例如,可将安全引擎26体现为可信平台模块、可管理性引擎、密码加速器处理器等。在某些实施例中,将安全引擎126体现为嵌入式带外微处理器,与处理器120分开,能够执行代码并对处理器120不可访问的数据进行寻址。处理器120和安全引擎126的此类严格分离可增强平台安全性。
[0022] 在某些实施例中,处理器120可包括允许建立安全执行环境的指令。安全执行环境是包括由于硬件限制而不能从主要执行环境访问的代码和数据的执行环境。示例性安全执行环境包括安全包围物(enclave)、可信执行技术、虚拟化分区等。
[0023] 处理器120经由多个信号路径被通信耦合到I/O子系统124。可将这些信号路径(和图1中所示的其他信号路径)体现为任何类型的信号路径,其能够促进移动通信设备102的部件之间的通信。例如,可将信号路径体现为任何数量的点到点链路、导线、电缆、指示灯、印刷电路板迹线、过孔、总线、中间设备等。
[0024] 移动通信设备102的存储器128可被体现为或者否则包括一个或多个存储器设备或数据存储位置,包括例如动态随机访问存储器设备(DRAM)、同步动态随机存取存储设备(SDRAM)、双数据速率同步动态随机访问存储器设备(DDR、SDRAM)、掩码只读存储器(ROM)设备、可擦可编程序ROM(EPROM)、电可擦可编程ROM(EEPROM)设备、闪速存储器设备和/或其他易失性和/或非易失性存储器设备。存储器128经由多个信号路径被通信耦合到I/O子系统124。虽然在图1中仅图示出单个存储器件128,但在其他实施例中移动通信设备102可包括附加存储器设备。可将各种数据和软件存储在存储器128中。例如,构成由处理器120执行的软件栈的一个或多个操作系统、应用、程序、库以及驱动器可在执行期间驻留于存储器128中。
[0025] 可将数据储存器130体现为被配置成用于数据的短期或长期存储的任何类型的一个或多个设备。例如,数据储存器130可包括任何一个或多个存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。数据储存器130可存储用来监视用户的上下文数据的一个或多个数据源,如下面更详细地描述的。另外,可在任何预测网络连接中断之前使用数据储存器130来存储预缓存内容。因此,数据储存器可使用安全软件、硬件、固件或其他常规数字权限管理技术的任何组合来提供用于内容的加密或安全存储区。在某些实施例中,移动通信设备102可与数据储存器130相结合地使用安全引擎126来提供用于内容的安全存储区。
[0026] 移动通信设备102的通信电路132可包括用于使得能够实现移动通信设备102与一个或多个设备或网络之间的通信的任何数目的设备和电路,如下面更详细地讨论的。可将通信电路132配置成使用用以通信的任何一个或多个通信协议或其组合,例如蜂窝式通信协议(例如,宽带码分多址(W-CDMA))、无线网络通信协议(例如,Wi-Fi®、WiMAX)、无线个域网通信协议(例如,Bluetooth®)、有线网络通信协议(例如TCP/IP)和/或其他通信协议。
[0027] 在某些实施例中,移动通信设备102还可包括一个或多个外围设备134。此类外围设备134可包括任何数目的附加输入/输出设备、接口设备和/或其他外围设备。例如,在某些实施例中,外围设备134可包括显示器、触摸屏、图形电路、键盘、扬声器系统和/或其他输入/输出设备、接口设备和/或外围设备。
[0028] 在说明性实施例中,移动通信设备102包括位置确定电路136。可将位置确定电路136体现为能够确定移动通信设备102的精确或近似位置的任何类型的电路。例如,可将位置确定电路136体现为能够确定移动通信设备102的精确坐标的全球定位系统(GPS)接收机。在其他实施例中,位置确定电路136可使用由通信电路132提供的到具有已知位置的蜂窝式网络塔的距离或角度对移动通信设备102的位置进行三角测量。在其他实施例中,位置确定电路136可使用通信电路132基于到具有已知位置的无线网络的关联来确定移动通信设备102的近似位置。
[0029] 如下面更详细地讨论的,移动通信设备102被配置成与内容服务器104且可选地通过网络108与网络连接图服务器106发射和接收数据。可将网络108体现为任何数目的各种有线和/或无线网络。例如,网络108可被体现为或否则包括有线或无线局域网(LAN)、有线或无线广域网(WAN)和/或诸如因特网之类的公共可访问全局网络。这样,网络108可包括任何数目的附加设备,诸如附加计算机、路由器以及交换机,以促进移动通信设备102、内容服务器104与可选地网络连接图服务器106之间的通信。
[0030] 内容服务器104被配置成向移动通信设备102提供内容,如下面更详细地讨论的。网络连接图服务器106被配置成在请求时向移动通信设备102提供网络连接图,如下面更详细地讨论的。可将内容服务器104和网络连接图服务器106体现为任何类型的数据服务器(例如,web服务器)或能够执行本文所述功能的类似计算设备。这样,内容服务器104和网络连接图服务器106可包括类似于移动通信设备102的部件和特征,诸如处理器、I/O子系统、存储器、数据储存器、通信电路以及各种外围设备,其为了本描述的明了起见而未在图1中图示出。
[0031] 现在参考图2,在一个实施例中,移动通信设备102在操作期间建立环境200。说明性环境200包括上下文引擎202、预测引擎204、一个或多个数据源208和一个或多个应用218。在某些实施例中,环境200可包括本地高速缓存代理服务器226。可将环境200的各种模块体现为硬件、固件、软件或其组合。
[0032] 上下文引擎202被配置成监视和聚合多个数据源208以确定关于移动通信设备102和用户的上下文信息。可将此类上下文信息体现为历史信息、当前信息以及计划的未来信息。在某些实施例中,上下文引擎202可保持从数据源208接收到的信息的其自己的存储。在其他实施例中,上下文引擎202可根据需要对数据源208查询信息。当然,用于访问数据的上下文引擎202所使用的策略可取决于数据源208的监视的特定数据源。
[0033] 可将由上下文引擎202监视的数据源208体现为位置确定模块210、用户日历模块212、网络连接模块214和用户活动模块216。位置确定模块210被配置成使用从位置确定电路136和/或通信电路132接收到的信息确定移动通信设备102的精确或近似位置。用户日历模块212被配置成提供关于用户的约会的信息,并且可提供关于用户的一般时间表的信息,例如典型的睡醒时间、睡眠时间以及工作时间。用户日历模块212可在移动通信设备102本地存储信息或者可从远程日历服务器(未示出)检索信息。网络连接模块214被配置成使用通信电路132来提供关于用于移动通信设备102的可用网络连接的信息。此类信息可包括无线信号强度、可用无线带宽、网络延迟、网络接口运行时间、网络标识符(例如,SSID)等。用户活动模块216被配置成使用从应用218中的一个或多个接收到的信息来提供关于由用户消费的内容和由其执行的任务的信息。当然,图2中所示的数据源208是说明性的,并且在其他实施例中可包括替代数据源。
[0034] 预测引擎204被配置成使用由上下文引擎202提供的上下文数据来预测网络连接中断和在预测网络连接中断期间可能由用户执行的活动。预测引擎204还被配置成通知被预测将受到网络连接中断的影响的应用218中的一个或多个。预测引擎204可包括用来通知应用218的通知API 206。
[0035] 应用218被配置成从预测引擎204接收网络连接中断通知并将内容预缓存以准备用于此类中断。应用218使用通信电路132来访问内容,最终与内容服务器104相交互(图2中未示出)。可将应用的潜在类别体现为下载应用220,亦即在允许用户访问内容之前下载内容;流式传输应用222,亦即连续地下载内容并允许用户在内容被下载时访问内容;和/或缓冲应用224,亦即在下载的同时缓冲内容的一部分以补偿短暂的非计划网络中断的应用。当然,在其他实施例中,可由移动通信设备102使用其他类型的应用。
[0036] 在某些实施例中,本地高速缓存代理服务器226可调停应用218中的一个或多个与通信电路132之间的交互。预测引擎204可命令本地高速缓存代理服务器226将用于应用218中的此类一个或多个应用的内容预缓存。应用218的此类一个或多个应用可经由本地高速缓存代理服务器226来访问预缓存内容。对于本领域的技术人员而言应清楚的是本地高速缓存代理服务器226的此类使用可允许在没有修改的情况下使用应用218中的某些,例如不修改应用以支持通知API 206。
[0037] 现在参考图3,在使用中,移动通信设备102 可执行用于预测网络连接中断并通知受影响的应用的方法300。方法300从其中上下文引擎202监视用户的上下文数据的方框302开始。为这样做,上下文引擎202监视数据源208中的至少一个。例如,在方框304中,上下文引擎202可使用由用户活动模块216提供的信息监视应用使用。用户活动模块216可监视由应用218产生的活动。此类应用活动可提供关于用户的行为的信息。例如,视频应用的使用可指示用户正在观看视频;电子阅读器应用的使用可指示用户正在看书,并且web浏览器应用的使用可指示用户正在浏览某些web站点。另外,在方框306中,上下文引擎202可使用由位置确定模块210提供的信息来监视移动通信设备102的位置。在方框308中,上下文引擎202还可使用网络连接模块214来监视用于移动通信设备102的网络连接。此外,在方框312中,上下文引擎202可使用用户日历模块212来监视用户的日历。当然,移动通信设备102可执行方框304、306、308和312中的某些或全部。另外,在某些实施例中,上下文引擎202可监视除方法300中所示的那些之外的数据源。
[0038] 在方框314中,预测引擎204基于由上下文引擎202提供的上下文数据来预测网络连接中断。预测引擎204可基于上下文数据来执行任何数目的若干预测方法。图3中所示的预测方法是说明性的;其他预测方法可以是可能的。在方框316中,预测引擎204可确定移动通信设备102提供应用服务所需的阈值网络带宽。阈值网络带宽可取决于当前正在执行或预期将在移动通信设备102上执行的应用。可预测其中用于未来时间段的预期带宽落在阈值网络带宽以下的网络连接中断。这种情况可例如在预期较高带宽蜂窝式网络覆盖(例如,3G或LTE网络)在将来的时间将不可用时发生。
[0039] 在方框318中,预测引擎204可使用移动通信设备102的位置和网络覆盖图来预测网络连接中断。现在参考图4,更详细地描述了方框318的方法。在方框402中,预测引擎204从网络连接图服务器106下载网络覆盖图。网络覆盖图使地理数据与网络覆盖信息相关联。网络覆盖图可识别具有覆盖的区域和没有覆盖的区域,或者网络覆盖图可提供关于可用网络带宽的更详细信息。在方框404中,在某些实施例中,预测引擎204可从网络提供商、诸如蜂窝式网络提供商下载网络覆盖图。蜂窝式网络提供商可以是与移动通信设备102相关联的运营商,或者可以是另一运营商,如当移动通信设备在另一运营商的网络上“漫游”时。在方框406中,在某些实施例中,预测引擎204可从所谓的“众包化(crowdsourced)”网络覆盖图服务器下载网络覆盖图。此类众包化网络覆盖图是从由其他移动通信设备提供给网络连接图服务器106的网络连接信息产生的。因此,移动通信设备102可为网络连接图服务器106提供关于网络连接的信息。
[0040] 在方框408中,预测引擎204预测移动通信设备102的可能路线。在方框410中,预测引擎204可从到导航接口的用户输入接收路线信息。例如,在车辆远程信息处理实施例中,移动通信设备102可提供用于车辆导航的GPS应用。用户将常常直接地向GPS应用中输入目的地地址和/或特定路线。在此类实施例中,预测引擎204可使用由用户提供的该目的地和/或路线信息来预测可能路线。在方框412中,预测模块204可使用移动通信设备102的当前位置和行进速率来预测可能路线。此类预测可结合地理信息,诸如道路图信息。例如,再次地讨论车辆远程信息处理实施例,预测引擎可针对道路图比较位置和行进速率以确定移动通信设备正在州际公路上行进,并且预测引擎204可使用州际出口信息来确定移动通信设备102的可能路线。此类预测可不要求用户输入目的地和/或路线信息。
[0041] 在方框414中,预测引擎204使用网络覆盖图和移动通信设备102的预测路线来预测网络连接中断。例如,给定州际公路上的预测路线并给定没有在网络覆盖图上定义的网络连接的区域,预测引擎204可预测移动通信设备102将穿过没有网络连接的区域,例如,如果没有州际出口在没有网络连接的区域之前可用的话。
[0042] 返回参考图3,预测引擎204可在方框320中基于用户日历信息来预测网络连接中断。例如,用户可在用户的日历中预定飞行。预测引擎204可参考此类日历信息以确定用于此类飞行的预期持续时间和开始时间。预测引擎204可使用此信息针对相应持续时间和开始时间来预测网络连接中断。预测引擎204可动态地对由上下文引擎202监视的用户日历的变化进行响应。例如,如果用户的飞行时间表改变,则预测引擎204相应地调整用于网络连接中断的预测持续时间和开始时间。
[0043] 在方框322中,预测引擎204可基于历史连接信息来预测网络连接中断。例如,多个通勤者在每个工作日的大致相同的时间行进相同的路线并进入相同的建筑物。此类路线和建筑物可具有一致地缺少网络连接的区域。给定由上下文引擎202管理的关于网络连接的这些短暂中断的上下文数据,预测引擎204可预测在工作日的适当网络连接中断。可将此类预测网络连接中断体现为预测中断开始时间和持续时间,或者可体现为预测平均中断长度。
[0044] 在方框324中,移动通信设备102确定是否已预测到网络连接中断。如果未预测到网络连接中断,则方法300环回至方框302,并且移动通信设备102继续监视用户的活动上下文。如果已预测到网络连接中断,则方法300前进至方框326。
[0045] 在方框326中,预测引擎204预测可能受到网络连接中断的影响的任何应用218。在方框328中,预测引擎204可使用历史数据来预测受影响的应用。例如,给定预测中断开始时间和持续时间,基于过去的使用信息,预测引擎204可确定用户通常读书和看电视。因此,受影响的应用可包括适当的看电影应用和适当的电子阅读器应用。在方框330中,预测引擎可使用贝叶斯预测法来预测受影响的应用。贝叶斯预测法允许预测引擎204随着由上下文引擎202监视附加上下文数据而更新其统计估计;亦即,针对用户的特定趋势和工作流程而修整其预测并随时间推移而适应于变化的使用。
[0046] 在方框332中,预测引擎204将网络连接中断通知给受影响的应用以指示受影响的应用应适当地将内容预缓存。预测引擎204可使用通知API 206来通知受影响的应用。通知API 206可使用本领域中众所周知的技术、例如使用诸如信号(semaphore)、共享存储器、网络套接字等进程间通信技术来与受影响的应用通信。在方框334中,预测引擎204可向受影响的应用提供网络连接中断的预测开始时间和预测持续时间。此类信息可能可用于例如由于诸如飞行之类的预定停工时间而引起的网络连接中断。在方框336中,预测引擎204向受影响的应用提供预测平均中断长度。此类信息可能例如基于关于频繁且短暂的网络中断的历史连接信息而可用于网络连接中断。在通知之后,受影响的应用通过将适当内容预缓存而进行响应,如下面更详细地描述的。在通知之后,方法300环回至方框302,并且移动通信设备102继续监视用户的活动上下文。
[0047] 现在参考图5,在使用中,移动通信设备102可执行通过将适当内容预缓存而对预测网络连接中断进行响应的方法500。在方框502中,应用218的受影响的应用从预测引擎204接收网络连接中断通知。上文结合方框332而更详细地描述了用于此类通知的内容和技术。
[0048] 在方框504中,应用通过重新确定路线、亦即通过向用户呈现未涉及到网络连接中断的替代路线来避免网络连接中断。在某些实施例中,重新确定路线可能并不是选项。例如,没有路线确定用户接口的应用(即,“无头”应用)不能向用户呈现替代路线。在其他实施例中,基于预测网络连接中断的情况,重新确定路线可能不是选项。例如,通过重新确定路线,诸如预定飞行之类的预定中断将不是可避免的。作为另一示例,没有可以是可用的替代路线,例如,在用户正在州际公路上行进且在用户与网络连接中断的位置之间没有出口可用的情况下。如果应用确定重新确定路线是选项,则方法500前进至方框506。
[0049] 在方框506中,应用向用户呈现一个或多个替代路线。替代路线是将避免与网络连接中断相关联的减少的网络连接的区域的用于移动通信设备102的任何可用路线。可使用移动通信设备102的任何适当用户接口、例如使用显示屏或使用可听提示来向用户呈现替代路线。可使用从预测引擎204和/或上下文引擎202接收到的信息来计算替代路线。在方框508中,应用确定用户是否已选择替代路线。如果用户选择了替代路线,则方法500环回至方框502,其中,应用可接收网络连接中断的另一通知。如果用户并未选择替代路线,则方法
500前进至方框510以处理网络连接中断。
[0050] 返回参考方框504,如果应用确定重新确定路线并不是选项,则方法500前进至方框510以处理网络连接中断。在方框510中,应用应用预缓存策略以对网络连接中断进行响应。预缓存策略允许受影响的应用在网络连接中断之前下载足够的内容以允许受影响的应用在网络连接中断的持续时间期间继续提供应用服务。应用所采用的特定预缓存策略可取决于特定应用的属性,或者可取决于特定网络连接中断通知的属性。图5中所示的预缓存策略是说明性的;其他预缓存策略可以是可能的。在方框512中,应用可预先下载适当内容,如在图6中更详细地讨论的。此类策略可适合于下载应用220的应用。在方框514中,应用可调整应用数据的流式传输,如在图7中更详细地讨论的。此类策略可适合于流式传输应用222的应用。在方框516中,应用可缓冲附加应用数据,如在图8中更详细地讨论的。此类策略可适合于缓冲应用224的应用。
[0051] 在方框518中,在应用已在方框510中将内容预缓存之后的一定时间,应用在网络连接中断期间访问预缓存内容。应用可使用与任何本地存储信息相同的机制来访问预缓存内容,或者可从本地源将预缓存内容流式传输。在方框520中,在某些实施例中,应用可将可用预缓存内容通知用户。例如,阅读应用可将在网络连接中断期间可用于阅读的特定书籍突出显示、标志或否则通知用户。在另一示例中,流式传输音频应用可为用户提供预缓存音频流的预测长度。
[0052] 在方框522中,在某些实施例中,应用可在网络连接恢复之后删除预缓存内容。删除预缓存内容可节省数据储存器130中的存储空间。在某些实施例中,删除预缓存内容可能是用户与内容服务提供商的数字权限管理协议所要求的。在某些实施例中,应用可询问用户是否删除预缓存内容。例如,用户可能希望在删除文章之前在连接已恢复之后结束阅读文章。在访问并潜在地删除预缓存内容之后,方法500环回至方框502,其中,应用准备对来自预测引擎204的另一连接中断通知进行响应。
[0053] 现在参考图6,更详细地描述了方框512的预缓存策略。在方框602中,应用选择用于网络连接中断的预测持续时间的足够内容。例如,对于具有已知持续时间的内容、诸如音频或视频而言,应用可选择具有比网络连接中断的预测持续时间更长的总持续时间的内容。对于具有不确定持续时间的内容而言,诸如书籍或文章,应用可基于过去的用户行为或基于内容持续时间的标准估计来估计所选内容的持续时间。在其他实施例中,可使所选内容的量标准化;例如,固定数目的电影或书籍。并且,可基于在移动通信设备102的数据储存器130上可用的高速缓存容量来确定或由其限制所选内容的量。例如,所选内容的量可基于移动通信设备102的总自由空间容量的百分比,其可以是本地硬盘驱动器、本地固态驱动器、外部闪速驱动器和/或网络连接储存器,其可能未受到预测网络中断的影响(例如,本地Wi-Fi®或到其他存储设备的ad-hoc连接)。
[0054] 在方框604中,应用基于用户内容队列来选择内容。例如,在某些应用中,用户保持优选电影的有序列表;应用可从列表前面拾取内容。在方框606中,应用可使用任何适当的预测性试探法来选择内容。例如,应用可选择与应用先前消费的内容类似的内容,或者应用可选择用户已经开始但尚未完成的内容。
[0055] 在方框608中,应用将来自内容服务器104的所选内容预缓存。可将预缓存体现为在网络连接中断的预测开始之前从内容服务器104下载和存储所选内容。如上文所讨论的,在方框608中预缓存的内容量可以是移动通信设备102的高速缓存器存储容量的函数。在方框610中,应用可与内容服务器104协商许可。可将此类协商体现为协商内容的加密传输和存储,或者协商对内容服务器104的数字权限管理策略的潜在例外情况。应用可提供这样的保证,即在网络连接中断之后预缓存内容将被删除,因此防止未授权内容复制。在方框612中,应用可在网络连接中断的预测开始时间之前调度用于适当时间的内容下载。例如,当移动通信设备102一般地未使用且被连接到电源时,可针对整夜调度下载。或者可针对当移动通信设备102不在被用户使用时的时间调度下载。在某些实施例中,下载时间可与其他移动通信设备相协调以便使下载交错。此类下载交错可避免在具有有限网络连接区域的边缘处使无线通信网络以多个下载请求洪泛。
[0056] 现在参考图7,更详细地描述了方框514的预缓存策略。在方框702中,应用确定在网络连接中断的预测持续时间期间提供连续应用服务所需的数据量。例如,流式传输音频应用可根据在来自预测引擎204的通知中接收到的网络连接中断的预测持续时间和流式传输位速率来确定该数据量。当然,提供继续应用服务所需的数据量可受到在移动通信设备102的数据储存器130上可用的存储容量的限制。
[0057] 在方框704中,应用确定在继续提供连续应用服务的同时将同时地流式传输预缓存内容的所需量将需要的带宽量。例如,流式传输音频应用可作为以下两项的函数来确定所需带宽(i)在方框702中确定的所需预缓存内容的量和保持直至网络连接中断的预测开始为止的时间的量,以及(ii)当前被用于流式传输内容的带宽的量。
[0058] 在方框706中,应用确定当前网络连接是否提供充足的带宽以同时地预缓存内容并继续提供应用服务。如果存在充足的带宽,则方框514的预缓存策略前进至方框708。在方框708中,应用同时地下载所需的预缓存内容并将应用内容流式传输。
[0059] 返回参考方框706,如果不存在充足的带宽,则方框514的预缓存策略前进至方框710。在方框710中,应用可询问用户批准降低的流质量以便将内容预缓存。例如,流式传输音频应用可降低当前应用内容的位速率以便释放带宽以用于将内容预缓存。可作为可用网络带宽和网络连接中断所需的预缓存内容的量的函数来确定质量降低的量值。在某些实施例(未示出)中,应用可自动地、即在不请求用户许可的情况下降低流质量。然而,随着由于降低的流质量可导致用户可感知的质量损失,所以在流质量的任何降低之前请求许可可能是有利的。在方框712中,应用确定用户是否批准降低的流质量。如果用户未批准降低流质量,则方框514的预缓存策略在不降低流质量或将内容预缓存的情况下返回。在这种情况下,预缓存内容在网络连接中断期间将不是可用的。如果用户批准降低流质量,则方框514的预缓存策略前进至方框714。在方框714中,应用将流质量降低适当的量,如上文所讨论的。在降低流质量之后,方框514的预缓存策略前进至方框708,其中,应用同时地将内容预缓存并将内容流式传输,如上文所讨论的。
[0060] 现在参考图8,更详细地描述了方框516的预缓存策略。在方框802中,应用确定用于从预测引擎204接收到的预测平均中断长度的所需缓冲器大小。因此,并且如上文更详细地讨论的,方框516的预缓存策略在其中预测引擎204已确定平均预测中断长度的情况下可能是适当的,如当预测到多个短的中断时。如上文所讨论的,特别地,缓冲应用224的多个应用在处理内容之前下载所请求内容的相对小部分,提供针对短暂网络连接中断的缓冲器。可将缓冲器的适当大小确定为关联内容的位速率和任何网络连接中断的预期平持续时间的函数。在预期较长网络连接中断的情况下,所确定的缓冲器大小一般地将增加。
[0061] 在方框804中,应用将当前缓冲器大小与在方框802中确定的所需缓冲器大小相比较。在方框806中,应用确定是否调整缓冲器大小。如果当前缓冲器大小与在802中确定的缓冲器大小不相等,则应用可确定调整缓冲器大小。应用还可应用其他准则来确定是否调整缓冲器大小。例如,应用可保持最大和最小缓冲器大小。最大缓冲器大小可以是在移动通信设备12上可用的存储容量的函数或者否则受其限制。如果应用确定不调整缓冲器大小,则方框516的预缓存策略在不调整缓冲器大小的情况下返回。如果应用确定调整缓冲器大小,则方框516的预缓存策略前进至方框808,其中,应用将缓冲器大小调整至在方框802中确定的缓冲器大小。
[0062] 结合图5—8所示和讨论的方法和预缓存策略被描述为在应用218的受影响的应用上运行。如对于本领域的技术人员而言清楚的,结合此类方法和预缓存策略可要求修改此类应用。在某些实施例中,移动通信设备102可采用本地高速缓存代理服务器226以便在不广泛地修改受影响的应用的情况下执行此类方法和预缓存策略。在此类实施例中,可将本地高速缓存代理服务器226视为从预测引擎204接收网络连接中断通知并采用如在图5—8中的预缓存策略的“应用”。本地高速缓存代理服务器可如在方框512中一样选择并下载适当内容,可如在方框514中一样预缓存内容流,并且可如在方框516中一样缓冲内容。在此类实施例中,预缓存内容在中断期间被受影响应用通过本地高速缓存代理服务器226访问。此类访问可使用诸如网络端口重定向、网络地址转换等常规手段来实现。
[0063] 在某些实施例中,本地高速缓存代理服务器226可充当用于除移动计算设备102之外的设备的本地高速缓存服务器。例如,移动计算设备102可将内容预缓存以供另一计算设备、诸如膝上型计算机或其他设备消费。此外,在某些实施例中,可在除移动计算设备102之外的设备上实现本地高速缓存代理服务器226,诸如膝上型计算机、车辆内计算系统、TV机顶盒、另一移动计算设备和/或其他计算和网络设备(例如,智能路由器)。在此类实施例中,移动计算设备102被配置成访问在另一计算设备上实现的本地高速缓存代理226以在网络连接中断期间根据需要检索内容。
[0064] 示例
[0065] 下面提供在本文中公开的设备、系统和方法的说明性示例。该设备、系统和方法的实施例可包括下面描述的示例中的任何一个或多个以及任何组合。
[0066] 示例1包括将预测性地将数据预缓存的移动通信设备。该移动通信设备包括上下文引擎,将监视移动通信设备的用户的上下文数据;以及预测引擎,其:使用上下文数据来预测网络连接中断; 使用上下文数据来预测受到网络连接中断影响的应用;以及使得受影响的应用在网络连接中断之前施加预缓存策略以将内容预缓存。
[0067] 示例2包括示例1的主题,并且其中,预测引擎将使用贝叶斯预测法来预测受影响的应用。
[0068] 示例3包括示例1和2中的任一项的主题,并且还包括安全协处理器,该安全协处理器包括上下文引擎和预测引擎。
[0069] 示例4包括示例1—3中的任一项的主题,并且还包括安全执行环境,该安全执行环境包括上下文引擎和预测引擎。
[0070] 示例5包括示例1—4中的任一项的主题,并且其中,预测引擎将通过确定移动通信设备所需的带宽阈值并确定在带宽阈值以下的未来时间段内的预期带宽来预测网络连接中断。
[0071] 示例6包括示例1—5中的任一项的主题,并且其中上下文引擎将监视用户的日历;以及预测引擎将根据用户的日历来预测网络连接中断。
[0072] 示例7包括示例1—6中的任一项的主题,并且还包括位置确定电路,其中上下文引擎将通过使用位置确定电路来确定移动通信设备的位置而监视用户的上下文数据;以及预测引擎将根据移动通信设备的位置和识别减少网络连接的区域的网络覆盖图来预测网络连接中断。
[0073] 示例8包括示例1—7中的任一项的主题,并且其中,所述预测引擎将下载网络覆盖图;根据移动通信设备的位置来预测移动通信设备的路线;以及根据移动通信设备的网络覆盖图和预测路线来预测网络连接中断。
[0074] 示例9包括示例1—8中的任一项的主题,并且其中,预测引擎进一步将根据移动通信设备的位置和移动通信设备的预测路线来确定替代路线,并向用户呈现替代路线。
[0075] 示例10包括示例1—9中的任一项的主题,并且其中,预测引擎将从第三方网络连接图服务器下载网络覆盖图,其中,第三方网络连接图服务器用由其他移动通信设备提供的连接信息来保持众包化连接图。
[0076] 示例11包括示例1—10中的任一项的主题,并且其中上下文引擎将监视移动通信设备的网络连接状态并记录历史网络连接状态信息;以及预测引擎将根据历史连接状态信息来预测网络连接中断。
[0077] 示例12包括示例1—11中的任一项的主题,并且其中上下文引擎将监视用户的应用使用并记录用户的历史应用使用数据;以及预测引擎将根据历史应用使用数据来预测受影响的应用。
[0078] 示例13包括示例1—12中的任一项的主题,并且其中,预测引擎进一步将向受影响的应用通知网络连接中断以使得受影响的应用在网络连接中断之前应用预缓存策略以便受影响的应用将内容预缓存并在网络连接中断期间访问预缓存内容。
[0079] 示例14包括示例1—13中的任一项的主题,并且其中,所述预测引擎将预测网络连接中断的开始时间和持续时间;以及使得受影响的应用应用预缓存策略以选择用于网络连接中断的预测持续时间的内容,并在网络连接中断的预测开始时间之前下载所选内容。
[0080] 示例15包括示例1—14中的任一项的主题,并且其中,预测引擎将使得受影响的应用从用户指定内容队列选择内容。
[0081] 示例16包括示例1—15中的任一项的主题,并且其中,预测引擎将使得受影响的应用使用内容预测试探法来选择内容。
[0082] 示例17包括示例1—16中的任一项的主题,并且其中,预测引擎将使得受影响的应用在网络连接中断的预测开始时间之前与内容服务器协商内容许可。
[0083] 示例18包括示例1—17中的任一项的主题,并且其中,预测引擎将使得受影响的应用在网络连接中断的预测开始时间之前调度用于未来时间的所选内容的下载。
[0084] 示例19包括示例1—18中的任一项的主题,并且其中,预测引擎将使得受影响的应用应用预缓存策略来确定在网络连接中断期间提供基本上连续应用服务所需的预缓存内容的量;确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断之前下载所需量的预缓存内容所需的网络带宽;根据所需网络带宽来确定当前可用网络带宽是否充足;响应于确定当前可用网络带宽不充足,提供降低质量连续应用服务以减少所需网络带宽;
以及流式传输数据以在网络连接中断之前同时地提供连续应用服务并下载所需量的预缓存内容。
[0085] 示例20包括示例1—19中的任一项的主题,并且其中,所述预测引擎将通过预测多个网络连接中断并确定所述多个网络连接中断的平均长度来预测网络连接中断;以及使得受影响的应用应用预缓存策略以根据所述多个网络连接中断的平均长度来确定所需缓冲器大小;根据所需缓冲器大小来确定应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将应用的当前缓冲器大小调整至所需缓冲器大小。
[0086] 示例21包括将预测性地将数据预缓存的移动通信设备。该移动通信设备包括上下文引擎,将监视移动通信设备的用户的上下文数据;本地高速缓存代理服务器;以及预测引擎,其使用上下文数据来预测网络连接中断;使用上下文数据来预测受到网络连接中断的应用;以及使得本地高速缓存代理服务器在网络连接中断之前应用预缓存策略以将内容预缓存并在网络连接中断期间将预缓存内容用于受影响的应用。
[0087] 示例22包括示例21的主题,并且其中预测引擎将预测网络连接中断的开始时间和持续时间;以及本地高速缓存代理服务器将应用预缓存策略以选择用于网络连接中断的预测持续时间的内容,并在网络连接中断的预测开始时间之前下载所选内容。
[0088] 示例23包括示例21和22中的任一项的主题,并且其中所述本地高速缓存代理服务器将应用预缓存策略以确定在网络连接中断期间提供基本上连续应用服务所需的预缓存内容的量;确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断之前下载所需量的预缓存内容所需的网络带宽;根据所需网络带宽来确定当前可用网络带宽是否充足;响应于确定当前可用网络带宽不充足,使得受影响的应用提供降低质量连续应用服务以减少所需网络带宽;以及在网络连接中断之前下载所需量的预缓存内容。
[0089] 示例24包括示例21—23中的任一项的主题,并且其中所述预测引擎将预测多个网络连接中断并确定所述多个网络连接中断的平均长度;以及本地高速缓存代理服务器将应用预缓存策略以根据所述多个网络连接中断的平均长度来确定所需缓冲器大小;根据所需缓冲器大小来确定受影响的应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将受影响的应用的当前缓冲器大小调整至所需缓冲器大小。
[0090] 示例25包括在移动通信设备上预测性地预缓存数据的方法。所述方法包括在移动通信设备上监视移动通信设备的用户的上下文数据;在移动通信设备上使用上下文数据来预测网络连接中断;在移动通信设备上使用上下文数据来预测受网络连接中断影响的应用;在移动通信设备上应用预缓存策略以便受影响的应用在网络连接中断之前将内容预缓存。
[0091] 示例26包括示例25的主题,其中,预测受影响的应用包括使用贝叶斯预测方法来预测受影响的应用。
[0092] 示例27包括示例25和26中的任一项的主题,并且其中监视上下文数据包括使用移动通信设备的安全协处理器来监视上下文数据;预测网络连接中断包括使用安全协处理器来预测网络连接中断;以及预测受影响的应用包括使用安全协处理器来预测受影响的应用。
[0093] 示例28包括示例25—27中的任一项的主题,并且其中监视上下文数据包括在移动通信设备的安全执行环境中监视上下文数据;预测预测的网络连接中断包括在安全执行环境中预测预测的网络连接中断;以及预测受影响的应用包括中安全执行环境来预测受影响的应用。
[0094] 示例29包括示例25—28中的任一项的主题,并且其中,预测网络连接中断包括确定移动通信设备所需的带宽阈值并确定在带宽阈值以下的未来时间段内的预期带宽。
[0095] 示例30包括示例25—29中的任一项的主题,并且其中监视用户的上下文数据包括监视用户的日历;以及预测网络连接中断包括根据用户的日历来预测网络连接中断。
[0096] 示例31包括示例25—30中的任一项的主题,并且其中监视用户的上下文数据包括确定移动通信设备的位置;以及预测网络连接中断包括根据移动通信设备的位置和识别减少网络连接的区域的网络覆盖图来预测网络连接中断。
[0097] 示例32包括示例25—31中的任一项的主题,并且其中根据移动通信设备的位置和网络覆盖图来预测网络连接中断包括下载网络覆盖图;根据移动通信设备的位置来预测移动通信设备的路线;以及根据移动通信设备的网络覆盖图和预测路线来预测网络连接中断。
[0098] 示例33包括示例25—32中的任一项的主题,并且还包括根据移动通信设备的位置和移动通信设备的预测路线来确定替代路线,以及向用户呈现替代路线。
[0099] 示例34包括示例25—33中的任一项的主题,并且其中,下载网络覆盖图包括从第三方网络连接图服务器下载网络覆盖图,其中,第三方网络连接图服务器用由其他移动通信设备提供的连接信息来保持众包化连接图。
[0100] 示例35包括示例25—34中的任一项的主题,并且其中监视用户的上下文数据包括监视移动通信设备的网络连接状态并记录历史网络连接状态信息;以及预测网络连接中断包括根据历史连接状态信息来预测网络连接中断。
[0101] 示例36包括示例25—35中的任一项的主题,并且其中,监视用户的上下文数据包括监视用户的应用使用并记录用户的历史应用使用数据;以及预测受影响的应用包括根据历史应用使用数据来预测受影响的应用。
[0102] 示例37包括示例25—36中的任一项的主题,并且其中,预测网络连接中断包括预测网络连接中断的开始时间和持续时间;以及应用预缓存策略包括选择用于网络连接中断的预测持续时间的内容,并在网络连接中断的预测开始时间之前下载所选内容。
[0103] 示例38包括示例25—37中的任一项的主题,并且其中,选择内容包括从用户指定内容队列选择内容。
[0104] 示例39包括示例25—38中的任一项的主题,并且其中,选择内容包括使用内容预测试探法来选择内容。
[0105] 示例40包括示例25—39中的任一项的主题,并且其中,下载所选内容包括在网络连接中断的预测开始时间之前与内容服务器协商内容许可。
[0106] 示例41包括示例25—40中的任一项的主题,并且其中,下载所选内容包括在网络连接中断的预测开始时间之前调度用于未来时间的所选内容的下载。
[0107] 示例42包括示例25—41中的任一项的主题,并且其中应用预缓存策略包括确定在网络连接中断期间提供基本上连续的应用服务所需的预缓存内容的量;确定同时地(i)提供基本上连续的应用服务和(ii)在网络连接中断下载所需量的预缓存内容所需的网络带宽;根据所需网络带宽来确定当前可用网络带宽是否充足;响应于确定当前可用网络带宽不充足,提供降低质量连续应用服务以减少所需网络带宽;以及流式传输数据以在网络连接中断之前同时地提供连续应用服务并下载所需量的预缓存内容。
[0108] 示例43包括示例25—42中的任一项的主题,并且其中,预测网络连接中断包括预测多个网络连接中断并确定所述多个网络连接中断的平均长度;以及应用预缓存策略包括根据所述多个网络连接中断的平均长度来确定所需缓冲器大小;根据所需缓冲器大小来确定应用的当前缓冲器大小是否充足;以及响应于确定当前缓冲器大小不充足,将应用的当前缓冲器大小调整至所需缓冲器大小。
[0109] 示例44包括示例25—43中的任一项的主题,并且还包括在移动计算设备上将网络连接中断通知受影响的应用。
[0110] 示例45包括示例25—44中的任一项的主题,并且还包括在移动计算设备上在网络连接中断期间访问预缓存内容。
[0111] 示例46包括示例25—45中的任一项的主题,并且其中应用预缓存策略包括使用在移动通信设备上建立的本地高速缓存代理服务器来将内容预缓存;以及访问预缓存内容包括访问由本地高速缓存代理服务器提供的预缓存内容。
[0112] 示例47包括一种移动通信设备,具有处理器并在其中存储多个指令的存储器,所述多个指令在被处理器执行时使得移动通信设备执行权利要求25—46中的任一项的方法。
[0113] 示例48包括一个或多个机器可读存储介质,包括存储在其上面的多个指令,该指令响应于被执行而导致移动通信设备执行权利要求25—46中的任一项的方法。