应用的预测预启动的制作方法

文档序号:9672518阅读:733来源:国知局
应用的预测预启动的制作方法
【专利说明】应用的预测预启动
【背景技术】
[0001] 由于在初始化期间所使用的资源,所以启动应用是昂贵的操作。随着可以趋向于 比传统台式机具有更多的硬件约束的低代价设备的普及,这个问题可能进一步加重。在过 去,像高速缓存的解决方案已经用于加速应用启动。虽然这些解决方案改善了应用的启动 时间,但是它们可能不足以给予用户足够的响应或所期望的性能,并且当高速缓存空间有 限时,可能不太有效。

【发明内容】

[0002] 以下内容呈现发明的简化概述以便提供对本文中所描述的一些方面的基本理解。 该
【发明内容】
不是要求保护的主题的广泛概述。它既不旨在标识要求保护的主题的关键元素 或必要元素,也不旨在描绘本主题发明的范围。其唯一目的是以简化形式呈现所要求保护 的主题的一些概念,以作为稍后呈现的【具体实施方式】的前序。
[0003] 公开了在计算机系统中预启动应用的系统和方法,所述应用很可能从终止和/或 暂停进程状态由用户激活。应用的预启动可以基于正在被激活的应用的评估概率以及影响 这样的预启动的系统资源的可用性水平。应用可以基于这些和其它条件/考虑被预启动, 其被设计成改善后台中的应用的快速启动的用户体验。若干个预测模型被呈现以提供正在 由用户激活的应用的似然性的良好估计。这样的预测模型可以包括自适应预测器(基于过 去的应用使用情形)和/或切换速率预测器(基于被应用到这样的切换速率测量的正在被切 换的并且可能具有衰减速率(decayrate)的应用的历史数据)。
[0004] 在一个实施例中,公开了一种用于在计算机系统内预启动应用的方法。该方法可 以包括以下步骤:对于给定的应用集合,所述应用能够由计算机系统的用户激活,将所述应 用何时可以由所述用户激活的预测与所述应用相关联;监控所述计算机系统的系统资源; 将预启动规则集合应用于所述应用集合,所述预启动规则包括组的其中一个,所述组包括: 关于所述系统资源可用性的规则和关于与所述应用相关联的所述预测的规则;和基于所述 预启动规则集合的满足来预启动一个所述应用。
[0005] 在另一实施例中,公开了一种用于在计算机系统上预启动应用的系统。该系统可 以包括:预测引擎,所述预测引擎能够提供给定应用可以由所述计算机系统的用户激活的 似然性的预测测量;资源监控器,所述资源监控器能够提供所述计算机系统的系统资源利 用的测量;预启动策略模块,所述预启动策略模块能够应用预启动策略规则集合,所述预启 动策略规则包括组的其中一个,所述组包括:关于所述系统资源可用性的规则和关于与所 述应用相关联的所述预测测量的规则;和预启动队列模块,所述预启动队列模块能够维护 用于在所述计算机系统预启动的应用列表,所述应用列表取决于所述预启动策略规则的满 足。
[0006]当结合在本申请中呈现的附图阅读时,下文在【具体实施方式】中呈现本系统的其它 特征和方面。
【附图说明】
[0007] 在参照的附图中图示了示例性实施例。旨在使本文中所公开的实施例和附图被认 为是说明性的而非限制性的。
[0008] 图1描绘了按照本申请的原理做出的本系统可以驻留在其中的许多个示例性环 境。
[0009] 图2示出了按照本申请的原理做出的本系统的一个实施例。
[0010] 图3是用于在其中预测预启动是可能的应用的状态图的一个实施例。
[0011] 图4描绘了范例示例以图示本系统和方法的使用。
[0012] 图5和图6描绘了可以在本申请的一些实施例中采用的自适应预测器的一个实施 例和一个范例示例。
[0013] 图7和图8描绘了可以在本申请的一些实施例中采用的速率预测器的一个实施例 和一个范例示例。
【具体实施方式】
[0014] 如本文中所利用的,术语"组件"、"系统"、"接口"、"控制器"等旨在是指计算机相 关的实体,或者是硬件、软件(例如,执行中的)和/或固件。例如,这些术语的任一个都可 以是在处理器上运行的进程、处理器、对象、可执行程序、程序和/或计算机。通过图示的方 式,在服务器上运行的应用和服务器两者可以是组件和/或控制器。一个或多个组件/控 制器可以驻留在进程内,并且组件/控制器可以被定位在一个计算机上和/或分布在两个 或更多个计算机之间。
[0015] 参照附图对所要求保护的主题进行描述,其中,相同的附图标记在全文中被用于 指代相同元件。在以下说明书中,出于解释的目的,许多特定细节被阐述以便提供对本主题 发明的透彻理解。然而,明显的是,所要求保护的主题可以在没有这些具体细节的情况下被 实施。在其它实例中,众所周知的结构和设备以方框图的形式示出,以便促进描述本发明。
[0016] 预测预启动的概述 在很多实施例中,可以期望操作系统提供快速且流畅的用户体验。如所提及的,其中该 愿望没有完全实现的一个领域是现代应用的启动时间。一个可能的实施例影响以下方面: 因为启动应用趋向于比切换到暂停应用更加昂贵,所以在应用由用户启动(并且可能将它 置于暂停状态)之前预加载该应用可能趋向于改善应用的所感知的起动性能。在另一实施 例中,可以期望当终止应用时本系统做出正确的选择一作为潜在地减少昂贵的新的应用启 动的实例的方式。另外,可以期望具有对用户透明地工作的这些特征,例如,用户可能仅注 意到改善的性能,而没有注意到任何(或很多)实现方式细节。
[0017] 在考虑本文中的预测预启动的各种实施例中,应当领会的是,预测预启动的方法 和技术可以在许多不同场景中采用。在一些场景中,本系统可以执行用于单独应用的其预 测预启动,例如,一次考虑一个。在其它情形中,本系统可以考虑有关应用的集合。例如,以 下是用户应用和在其中本系统可以采用本申请的技术的方式的示例的部分列举: (1) 典型地一起使用而不管特定次序的应用的组,例如,办公应用(例如,文字处理器、 演示软件、电子表格软件等)。 (2) 典型地以一定顺序使用的应用:由浏览器跟随的新闻应用、照片编辑器或pdf阅读 器跟随的电子邮件应用等。 (3) 典型地在一天中的某些时间或一周中的某些天使用的应用:查看新闻、电子邮件、 天气预报、上班前早上交通、从会议/午餐(会议通常周复一周的重复)回来后查看电子邮 件/頂、下午6点下班之前查看交通、星期五下班之前查看周末天气、晚上在家查看新闻/体 育、查看用户的日历等。 (4) 在规律的时间间隔所使用的应用:每天在午餐时期间查看新闻/股票。 (5) 位置特定的应用使用(例如,经由GPS/Wi-Fi、用户输入等收集的):平板设备在工 作时用于工作,但在家里用于孩子们的游戏。 (6) 响应于计算机中的某些事件所使用的应用:登录之后或者从睡眠状态唤醒计算机 之后,使用电子邮件应用和頂应用。
[0018] 示例性环境 图1是预测预启动可以驻留在其中的一些示例性环境的一个实施例。如在图1中可以 看出,本系统的实施例可以安装在计算机系统102内。合适的计算机系统可以包括任意数 量的系统,例如,PC/台式机102a、膝上型计算机102b、平板计算机102c或者任何智能设备、 智能手机。该系统具有运行本系统的足够的处理和存储器能力可能就足够了。
[0019] 如本领域已知的,计算机系统102还可以包括控制器104,该控制器104进而可以 具有一个或多个处理器(例如,CPU和/或GPU)和计算机存储器。计算机系统102还可以 具有安装在存储器中的和工作以控制可以由计算机系统的用户激活的各种应用的生命周 期的操作系统106。
[0020] 如本文所描述的,本申请的一个实施例可能已经安装预测预启动108模块,该预 测预启动108模块可以与操作系统106结合工作以影响本系统的方法和技术以及它们的各 种实施例。
[0021] 在本系统的其它实施例中(并且如将在下文中更详细地讨论的),预测预启动可以 (整体或部分)远离任何具体计算机系统而被安装。如图1所示,预测预启动模块可以在客 户端-服务器模型(或任何其它合适的模型)中经由服务器110接入计算机系统。如下文将 要讨论的,如果与应用的用户使用模式有关的某些数据和/或元数据可以被远程地共享, 那么任何一个用户的预测预启动的效果可以跟随和/或迀移到用户可以拥有和/或访问的 任何其它计算机系统112。
[0022] 一个实施例 图2描绘了按照本申请的原理做出的本系统的一个可能实施例。
[0023] 系统200包括可以驻留在操作系统中的许多(可能可选的)模块,其在计算机系统 (例如,智能电话、智能设备、平板设备、膝上型计算机、台式机等)内的处理器上运行。在可 替换的实施例中,这些模块的一些(或全部)可以远离操作系统驻留,但与计算机系统的操 作系统通信。应当领会的是,存在许多本系统的可能实现方式,并且该本申请的范围涵盖所 有这样的可能实现方式和/或实施例。
[0024] 预启动服务模块202包括处理模块集合,例如,预测引擎204、资源监控器206、预 启动策略208和预启动队列210。预测引擎204可以包括可以帮助本系统评估计算机系统 的用户所需要和/或期望运行特定应用的概率规则和/或启发式集合,如本文中更详细地 描述的。预测引擎可以关联任何给定应用可以何时由用户激活的预测。
[0025] 应当领会的是,与应用相关联的预测可以包括任何已知的数据结构和/或元数据 结构的形式。如果满足用于预启动的一些合适规则/启发式集合,则预测可以被本系统利 用以帮助做出关于哪些应用可以被预启动的决定可能是足够的。这些规则可以包括:监控 和/或测试可用系统资源和/或预启动策略规则/启发式,如将在本文中进一步讨论的。
[0026] 资源监控器206可以评估计算机系统的资源的利用,例如,用于应用的潜在预启 动的当前可用的处理和/或存储器资源。预启动策略208可以将用于本系统可以何时期望 地预启动一个或多个应用的规则和/或启发式通知给本系统。预启动队列210可以访问关 于可能已经预启动和/或被期望预启动的应用的元数据和/或数据集合。
[0027] 将领会的是,出于本申请的目的,这些模块的一个或多个可以是可选的。本系统
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1