《预测动作的执行.pdf》由会员分享,可在线阅读,更多相关《预测动作的执行.pdf(22页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104321764 A (43)申请公布日 2015.01.28 CN 104321764 A (21)申请号 201380028081.X (22)申请日 2013.05.21 13/539177 2012.06.29 US G06F 17/00(2006.01) (71)申请人 英特尔公司 地址 美国加利福尼亚州 (72)发明人 D. 霍恩德尔 A. 范德文 (74)专利代理机构 中国专利代理(香港)有限公 司 72001 代理人 申屠伟进 姜甜 (54) 发明名称 预测动作的执行 (57) 摘要 描述了用于预测动作的执行的技术和系统的 实施例。在实施例中, 预测。
2、动作执行引擎 ( “PAE” ) 可以接收可以在计算设备上执行的潜在动作的一 个或概率。PAE 也可以接收描述计算设备上的可 用资源、 工作负荷等等的计算设备的系统背景。 基 于这些概率和系统背景, PAE 可以确定可能发生 并且可以被提前执行的一个或多个预测动作和 / 或资源利用。PAE 然后可以促进这些动作和 / 或 资源利用的执行。可以描述和要求保护其他实施 例。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.11.28 (86)PCT国际申请的申请数据 PCT/US2013/042092 2013.05.21 (87)PCT国际申请的公布数据 WO2014/003。
3、919 EN 2014.01.03 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 11 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图11页 (10)申请公布号 CN 104321764 A CN 104321764 A 1/2 页 2 1. 一种用于改善第一计算设备的响应度的计算机实施的方法, 所述方法包括 : 由第二计算设备接收针对第一计算设备的当前系统背景的一个或多个指示 ; 以及 由第二计算设备至少部分地基于所述当前系统背景和计算设备的潜在动作或资源利 用的一个或多个概率来选择将被执行以对被预测将发生的一个或多个动作。
4、或资源利用进 行支持的一个或多个动作或资源利用。 2. 根据权利要求 1 所述的方法, 其中, 接收当前系统背景的一个或多个指示包括接收 过程的执行状态。 3. 根据权利要求 1 所述的方法, 其中, 接收当前背景的一个或多个指示包括接收针对 第一计算设备的环境信息。 4. 根据权利要求 1 所述的方法, 其中, 接收当前系统背景的一个或多个指示包括接收 资源的可用性的指示。 5. 根据权利要求 1 所述的方法, 其中, 选择一个或多个预测动作或资源利用包括 : 选择 在不使第一计算设备的执行减速的情况下能够利用可用资源被执行的一个或多个动作或 资源利用。 6. 根据权利要求 1 所述的方法,。
5、 其中, 第一和第二计算设备是相同的计算设备, 并且所 述方法还包括促进由计算设备进行的一个或多个所选择的动作或资源利用的执行。 7. 根据权利要求 6 所述的方法, 其中, 促进一个或多个所选择的动作的执行包括加载 针对被预测将发生的一个或多个动作的可执行代码。 8. 根据权利要求 6 所述的方法, 其中, 促进一个或多个所选择的资源利用的执行包括 对来自所述资源的数据进行高速缓存。 9. 根据权利要求 6 所述的方法, 其中, 促进一个或多个所选择的资源利用的执行包括 通过网络执行数据访问。 10. 根据权利要求 1 所述的方法, 还包括由第二计算设备接收第一计算设备的潜在动 作或资源利用。
6、的一个或多个概率。 11. 根据权利要求 10 所述的方法, 其中, 接收第一计算设备的潜在动作或资源利用的 一个或多个概率包括 : 接收包括潜在动作或资源利用的排序标识的结构。 12. 根据权利要求 11 所述的方法, 其中, 接收包括潜在动作或资源利用的排序标识的 结构包括 : 接收按概率排序的结构。 13. 根据权利要求 11 所述的方法, 其中, 接收包括潜在动作或资源利用的排序标识的 结构包括 : 接收按距当前事件起的时间上的距离排序的结构。 14. 根据权利要求 1 所述的方法, 进一步包括由第二计算设备向背景添加所选择的动 作。 15. 包括多个指令的至少一个机器可读介质, 所述。
7、多个指令响应于在计算设备上被执 行, 使计算设备执行根据权利要求 1-14 中的任何一项所述的计算机实施的方法。 16. 一种装置, 包括用于执行根据权利要求 1-14 中的任何一项所述的计算机实施的方 法的装置。 17. 一种用于预测装置的活动的装置, 所述装置包括 : 一个或多个计算机处理器 ; 预测动作引擎, 被配置为由一个或多个计算机处理器操作以 : 权 利 要 求 书 CN 104321764 A 2 2/2 页 3 接收针对计算设备的当前系统背景的一个或多个指示 ; 以及 至少部分地基于当前背景和由在计算设备上执行的第一一个或多个过程进行的潜在 动作或资源利用的一个或多个概率来选择。
8、将由第二一个或多个过程执行的一个或多个预 测动作或资源利用以支持针对第一一个或多个任务预测的一个或多个动作或资源利用。 18. 根据权利要求 17 所述的装置, 还包括第一或第二一个或多个过程中的至少所选择 的一个。 19. 根据权利要求 18 所述的装置, 其中, 第一和第二一个或多个过程是相同的一个或 多个过程。 20. 根据权利要求 17-19 中任何一项所述的装置, 还包括 : 概率引擎, 还被配置为由所 述一个或多个计算机处理器操作以 : 确定由在计算设备上执行的第一一个或多个过程进行的潜在动作或资源利用的一个 或多个概率 ; 以及 向预测动作引擎提供所确定的一个或多个概率。 21.。
9、 根据权利要求 17-19 中任何一项所述的装置, 其中 : 所述装置和计算设备是相同的设备 ; 并且 预测动作引擎被配置为由所述一个或多个计算机处理器来操作以促进一个或多个所 选择的动作或资源利用的执行。 22. 根据权利要求 21 所述的装置, 其中, 预测动作引擎被配置为 : 通过针对被预测将发 生的一个或多个动作的可执行代码的加载来促进一个或多个所选择的动作的执行。 23. 根据权利要求 21 所述的装置, 其中, 预测动作引擎被配置为 : 通过对来自所述资源 的数据的高速缓存来促进一个或多个所选择的资源利用的执行。 24. 根据权利要求 21 所述的装置, 其中, 预测动作引擎被配置。
10、为 : 通过经由网络执行数 据访问来促进一个或多个所选择的资源利用的执行。 25. 根据权利要求 17-19 中的任何一项所述的装置, 其中, 预测动作引擎还被配置为 : 由所述一个或多个计算机处理器来操作以接收由第一一个或多个过程进行的潜在动作或 资源利用的一个或多个概率。 权 利 要 求 书 CN 104321764 A 3 1/8 页 4 预测动作的执行 0001 相关申请的交叉引用 本申请要求 2012 年 6 月 29 日提交的美国专利申请号码 13 / 539, 177 的优先权, 其 整个内容通过引用被整体合在此以用于所有目的。 背景技术 0002 当使用计算设备时, 许多用户体。
11、验到与预期的相比更慢的执行。 具体地, 经常察觉 到许多新的计算机和设备比他们的前任仅仅少量地快, 这是因为系统对用户输入的响应时 间可能保持为类似于较旧的系统。类似地, 可能察觉到共同的应用采用大致相同的时间量 来开始或完成。 0003 例如, 点击用户接口中的按钮或开始新的命令经常趋向于导致从系统到系统的基 本上恒定的响应时间。该执行可能表现为几乎与基础系统的真实执行和能力无关。尽管 在一些情况下固态驱动器和更智能高速缓存机制的使用可能有帮助, 但他们尚未解决该问 题。 附图说明 0004 通过结合附图所进行的以下详细描述将容易地理解实施例。为了促进该描述, 相 似的参考数字指的是相似结构。
12、要素。在附图的图中作为示例而非作为限制来图示实施例。 0005 图 1 是图示根据各个实施例的示例预测动作执行系统的框图。 0006 图 2 是图示根据各个实施例的示例概率引擎的框图。 0007 图 3 图示根据各个实施例的示例动作预测和执行过程。 0008 图 4 图示根据各个实施例的示例概率生成过程。 0009 图 5 图示根据各个实施例的示例流结构生成过程。 0010 图 6 图示根据各个实施例的示例观测收集过程。 0011 图 7 图示根据各个实施例的示例流结构。 0012 图 8 图示根据各个实施例的从流结构生成概率的示例过程。 0013 图 9 图示根据各个实施例的示例预期值结构。。
13、 0014 图 10 图示根据各个实施例的示例预测动作执行过程。 0015 图 11 图示根据各个实施例的适合于实践本公开的示例计算环境。 具体实施方式 0016 在下面的详细描述中, 对形成本描述的部分的附图进行参考, 其中, 相似的数字在 通篇中指的是相似部分, 并且其中作为说明示出了可以实践的实施例。 要理解, 在不背离本 公开的范围的情况下, 可以利用其他实施例, 并且可以进行结构或逻辑改变。因此, 将不以 限制意义进行以下详细描述, 并且实施例的范围由所附权利要求和他们的等同物来限定。 0017 进而可以以对理解所要求保护的主题最有帮助的方式来将各个操作描述为多个 分立的动作或操作。。
14、 然而, 不应当将描述的次序理解为暗示这些操作必然地是次序相关的。 说 明 书 CN 104321764 A 4 2/8 页 5 具体地, 可以不按呈现的次序来执行这些操作。可以按与所描述的实施例相比不同的次序 来执行所描述的操作。在附加的实施例中, 可以执行各个附加的操作和 / 或可以省略所描 述的操作。 0018 为了本公开的目的, 短语 “A 和 / 或 B” 意指 (A)、 (B) 或 (A 和 B) 。为了本公开的目 的, 短语 “A、 B 和 / 或 C” 意指 (A)、 (B)、 (C)、(A 和 B) 、(A 和 C) 、(B 和 C) , 或 (A、 B 和 C) 。 001。
15、9 描述可以使用短语 “在一实施例中” 或 “在实施例中” , 其均可以指代一个或多个相 同的或不同的实施例。此外, 如关于本公开的实施例所使用的术语 “包括” 、“包含” 、“具有” 等等是同义的。 0020 如在本文所使用的, 术语 “模块” 可以指代执行一个或多个软件或固件程序的如下 各项中的一部分, 或者包括如下各项 : 专用集成电路 ( “ASIC” ) 、 电子电路、 处理器 (共享、 专 用或群组) 和 / 或存储器 (共享、 专用或群组) ; 组合逻辑电路和 / 或提供所描述的功能的其 他适当的组件。 0021 现在参照图 1, 示出了图示示例预测动作执行系统的实施例的框图。在。
16、各个实施 例中, 预测动作执行系统可以包括预测动作引擎 100( “PAE 100” ) 和概率引擎 110( “PE 110” ) 。在各个实施例中, PAE 100 可以被配置为接收关于计算设备的历史和 / 或当前操作 的信息。PAE 100 可以被配置为 : 部分地基于该信息来选择对被预测为可能在计算设备上 发生的潜在的动作和 / 或资源利用进行支持的一个或多个动作。在各个实施例中, 动作可 以包括诸如过程开始、 打开窗口或对话框、 进来的网络事件或用户交互之类的事情。例如, PAE 100 可以被配置为选择针对被预测不久将被执行的应用的预载代码, 或者可以将数据 读取到高速缓存中。 0。
17、022 如图 1 的示例中所图示的, 在各个实施例中, PAE 100 可以被配置为选择对诸如过 程 150 之类的的正在执行的过程的潜在动作和 / 或资源利用进行支持的动作。在各个实施 例中, 过程 150 可以包括子过程 160。在各个实施例中, PAE 100 可以被配置为预测可能在 不久的将来执行第二子过程 170。因此, 在各个实施例中, PAE 100 可以被配置为促进针对 子过程 170 的代码的预先取出 (和 / 或促进该代码的及早执行) 。在其他的实施例中, PAE 可 以被配置为引起在当前执行的过程之外的可执行代码的预先取出和 / 或及早执行。例如, 如果接收到具有特定文档。
18、类型的附件的电子邮件, 则 PAE 100 可以选择预先取出针对被配 置为读取该文档类型的应用或过程的代码。 0023 类似地, 在一些实施例中, PAE 100 可以被配置为预测外部资源 175(例如网卡) 可 能在不久的将来被使用 (例如, 用于执行域名系统搜索) 。 因此, 在各个实施例中, PAE 100可 以被配置为促进做出对外部资源 175 的及早请求。认识到上述示例仅仅指示 PAE 100 的潜 在的动作和能力的情况下, 在其他的实施例中, 可以涉及不同的过程或外部的资源。 0024 在图 1 的示例中, 可以在虚线的左侧图示预测动作执行系统的各方面, 而可以在 虚线的右侧图示预。
19、测动作执行系统正在预测其动作的计算设备的各方面。因此, 在一些 实施例中, 预测动作执行系统可以被配置为在与预测动作执行系统分离的设备或装置上操 作。 然而, 在各个实施例中, 可以在其动作正被预测的相同计算设备上操作预测动作执行系 统的一个或多个方面。 0025 在各个实施例中, PAE 100 可以被配置为接收潜在动作将在计算设备上执行的一 个或多个概率。在各个实施例中, PAE 100 可以从 PE 110 接收这些概率。以下对 PE 110 的 说 明 书 CN 104321764 A 5 3/8 页 6 特定实施例进行讨论。 0026 在各个实施例中, PAE 100 也可以被配置为。
20、接收 (或以其他方式获取) 计算设备的 当前系统背景120。 在各个实施例中, 系统背景可以包括计算设备的状态 (例如, 功率、 执行、 存储器、 存贮器、 负载、 电池状态, 和 / 或热数据) 、 逻辑环境 (例如, 网络连接性、 通过网络接 收的数据) , 和/或计算设备的物理位置 (例如, 计算设备在移动、 在家、 在办公室、 在航班上、 在外国, 等等)。 在各个实施例中, 背景可以包括计算设备内部和外部两方面的其他信息、 数 据, 和 / 或可以从该信息和数据推断出的结论。 0027 在各个实施例中, 可以由PAE 100被动地接收 (诸如通过向PAE 100报告系统背景 信息的应。
21、用或系统过程) 当前系统背景。在其他的实施例中, PAE 100 可以被配置为从计算 设备主动地请求和 / 或以其他方式获取当前系统背景 120。在各个实施例中, PAE 100 可以 被配置为基于可用的系统资源 (诸如那些在当前系统背景中所标识的系统资源) 来选择用 于执行的动作。 0028 现在参照图 2, 示出了图示根据各个实施例的示例 PE 110 的框图。在各个实施例 中, PE 110 可以包括观测引擎 250( “OE 250” ) 和分析引擎 260( “AE 260” ) 。在各个实施 例中, OE 250 可以被配置为接收计算设备的动作和资源利用 210。如在这里所描述的,。
22、 OE 250 可以基于由 OE 250 接收的历史数据来生成描述计算设备的稳定状态和转换的流结构 250。可以由 AE 260 将该流结构与正由计算设备执行的当前动作 205 的指示一起使用, 以 确定可能在所接收的当前动作 205 之后的潜在动作的一个或多个概率。可以由 PAE 100 使 用这些概率来选择用于执行的动作, 如在本文所描述的。 0029 在各个实施例中, 可以由OE 250被动地接收 (诸如通过向OE 250报告已经被执行 的动作和 / 或资源利用的指示的应用或系统过程) 动作资源利用 210。在其他的实施例 中, OE 250 可以被配置为从计算设备主动地请求和 / 或以。
23、其他方式获取动作和 / 或资源利 用 210。 0030 在各个实施例中, OE 250 也可以被配置为从在计算设备上执行的一个或多个应用 220 接收应用背景信息。在各个实施例中, 应用 220 可以包括可以与 OE 250 进行通信以便 提供背景信息的背景组件230。 应用220可以被如此配置以便向OE 250并且因此向PE 110 提供与否则在没有来自在计算设备上执行的应用的直接协助的情况下将对于 PE 110 可得 到的信息相比更多的信息。例如, 编码环境应用 220 可以诸如通过其背景组件 230 提供描 述被写入应用中的代码的类型的标签。在另一个示例中, 电子邮件应用 220 可以。
24、提供已经 接收到电子邮件的标签、 电子邮件的发送方的标签和描述 .ppt 文件被附加的标签。可以由 PE 110 使用该信息来确定每当从某个人接收到具有 .ppt 文件的电子邮件时, 就可能执行 PowerPoint。PAE 100 可以因此促进针对 PowerPointTM应用的代码的加载。 0031 在各个实施例中, 背景组件 230 可以提供诸如但不限于以下各项的信息 : 应用状 态、 描述由应用 220 访问的一个或多个文件的信息、 由应用 220 接收的消息、 信息的一个或 多个接收方或发送方对应用的标识, 等等。在各个实施例中, 背景组件 230 可以以一个或多 个标签的形式向 O。
25、E 250 提供应用背景信息。如以下描述的, 这些标签可以被附加到由 OE 250 接收的动作和 / 或资源利用 210 以便提供针对这些所接收的动作和 / 或资源利用 210 的附加背景 ; 这进而可以允许 OE 生成更准确和 / 或更详细的流结构 250。类似地, 在各个 实施例中, OE 250 可以向 AE 260 提供一个或多个背景标签 225, AE 260 可以用于向一个或 说 明 书 CN 104321764 A 6 4/8 页 7 多个当前动作 205 提供背景。在各个实施例中, 背景标签 255 的该提供可以促进 AE 260 产 生更准确的概率 270。在本文描述应用背景。
26、信息和标签的特定使用。 0032 图 3 图示根据各个实施例的示例动作预测和执行过程 300。过程可以在操作 320 开始, 其中, 在各个实施例中, PE 110 可以生成一个或多个概率以供 PAE 100 使用。以下讨 论操作 320 的特定实施例。接下来, 在操作 340, PAE 100 可以基于由 PE 110 在操作 320 生 成的概率来执行一个或多个预测动作。在实施例中, 在操作 340 的预测动作的执行也可以 部分地基于当前系统背景 120。以下讨论操作 340 的特定实施例。在各个实施例中, 然后可 以对于附加的概率和预测动作在操作 320 重复该过程。在一些实施例中, 过。
27、程改为结束。 0033 图 4 图示根据各个实施例的示例概率生成过程 400。在各个实施例中, 可以由 PE 110 执行过程 400 以实施过程 300 的操作 320 的一个或多个实施例。过程可以在操作 410 开始, 其中 OE 250 可以生成流结构 250。以下讨论操作 410 的特定实施例。接下来, 在操作 420, AE 260 可以基于生成的流结构 250 和当前动作 205 来生成概率。以下讨论操作 420 的 特定实施例。 0034 接下来, 在操作 430, 可以从 AE 260 输出概率。在各个实施例中, 可以将输出的概 率排序以易于由 PAE 100 使用。因此, 在。
28、一些实施例中, 可以按可能性将概率排序。在其他 的实施例中 , 可以按距当前动作 205 的时间上的假设距离来对由 AE 260 输出的概率进行 排序。该过程然后可以结束。 0035 图 5 图示根据各个实施例的示例流结构生成过程 500。在各个实施例中, 可以由 OE 250 执行过程 500 以实施过程 400 的操作 410 的一个或多个实施例。过程可以在操作 520 开始, 其中 OE 250 可以从计算设备收集关于动作和 / 或资源利用的信息。在各个实施 例中, 也可以从一个或多个应用获得这些观测。以下参考图 6 的过程 600 来描述操作 520 的特定实施例。 0036 现在参照。
29、图 6, 该图图示根据各个实施例的示例观测收集过程 600。在各个实施例 中, 可以由 OE 250 执行过程 600 以实施过程 500 的操作 510 的一个或多个实施例。该过程 可以在操作 610 开始, 其中 OE 250 可以从应用 220 接收应用背景信息。在各个实施例中, 可以从应用 220 的背景组件 230 接收应用背景信息。在一些实施例中, 可以接收标签形式 的应用背景信息。 过程600的操作的以下描述因此可以特定参考标签 ; 然而, 可以认识到的 是, 在其他的实施例中, 所接收的应用背景信息可以采取其他形式。 0037 在操作 620, OE 250 可以将最近接收的标。
30、签推送到堆栈数据结构上。在各个实施 例中, 使用堆栈以便允许背景的容易移除以及在各个堆栈被应用于所接收的动作和资源利 用时允许各个堆栈的嵌套 ; 在其他的实施例中, 可以使用其他数据结构来存储堆栈。 0038 接下来, 在操作 630, OE 250 可以获取一个或多个动作和 / 或资源利用。如以上讨 论的, 在各个实施例中, 可以被动地接收这些动作和 / 或资源利用, 而在其他实施例中, OE 250 可以主动地寻找动作和 / 或资源利用信息。接下来, 在操作 640, OE 250 可以利用最近 接收的标签为所接收的动作资源利用加标签。在各个实施例中, 这种加标签可以促进 OE 250提供。
31、应用背景信息来伴随所接收的动作和/或资源利用、 提供改善的概率生成。 在各个 实施例中, OE 250 可以重复操作 630 和 640 以便接收附加的动作和 / 或资源利用 (并且对 其加标签) 。 0039 然而, OE 250 也可以接收与应用背景信息相关联的应用背景已经发生改变的指 说 明 书 CN 104321764 A 7 5/8 页 8 示, 诸如在操作 650。因此, 例如, 应用 220 可以接收其中用户可以选择菜单的用户交互。然 后应用 220 可以诸如使用其背景组件 230 向 OE 250 发送指示该菜单选择的标签。稍后, 如 果用户结束菜单的选择, 则应用 220 的。
32、背景组件 230 可以向 OE 250 指示有关的背景已经结 束。然后, 在操作 660, OE 250 可以从堆栈结构中移除标签。这可以有效地结束利用所接收 的标签对将来所接收的动作加标签。该过程然后可以结束。 0040 返回到图 5 的过程 500, 在收集关于动作和 / 或资源利用的信息之后, 过程 500 可 以继续到操作 530, 其中 OE 250 可以标识计算设备的一个或多个稳定状态。在各个实施例 中, 如以下所图示的, 这些稳定状态可以表示计算设备在特定时间处于一致状态的状态。 在 各个实施例中, 稳定状态可以包括计算设备的背景的一致状态。 在一些实施例中, 稳定状态 可以包括。
33、诸如像当前工作目录、 网络设备的当前 IP 地址、 一个或多个应用的当前运行状态 等等的计算设备的一个或多个内部变量的一致状态。 例如, 在一个实施例中, 可以在高级别 将示例稳定状态描述为 “电子邮件程序在前台运行, 显示编辑器窗口, 等待用户输入” 。 0041 接下来, 在操作 540, OE 250 可以标识可以由计算设备执行的一个或多个转换动 作和 / 或资源利用。例如, 在操作 540, OE 250 可以标识 : 目录改变命令使计算设备在目录 稳定状态之间改变。在另一个示例中, 在操作 540, OE 250 可以标识执行应用的命令可以使 计算设备改变到应用正在执行的稳定状态。在。
34、另一个示例中, 转换动作可以包括从用户接 收命令 (诸如电子邮件应用中的 “发送” 命令) 。 0042 接下来, 在操作 550, OE 250 可以基于他的关于动作和资源利用的所接收的信息 来生成每一个稳定状态的频率。这些频率的特定示例可以在下文在图 7 看见。在操作 560, 可以向 AE 260 提供这些频率以用于确定将要由 PAE 100 使用的概率。该过程然后可以结 束。 0043 图 7 图示根据各个实施例的具有稳定状态和频率的示例流结构。在所图示的示 例中, 稳定状态被图示为图形节点, 而图形转换示出如下频率 : 在给定时段 ob 观测期间 OE 260 多经常观测到两个稳定状。
35、态之间的特定转换。如所图示的流结构 700 示出的, 在各个 实施例中, 稳定状态可以包含执行应用的命令的接收 (例如,“/usr/bin/bash” 、“/usr/bin/ make/” 、“/bin/rm” ) 或可以包括基于该命令的过程的执行 (例如,“/usr/bin/bash:bash” 、 “/usr/bin/make:make” ) 。可以注意的是, 尽管图 7 的示例流结构没有示出标签有应用背 景信息的稳定状态, 但在各个实施例中, 流结构可以附加地包括应用背景信息。因此, 在各 个实施例中, 对于给定目录或过程可以存在多于一个的稳定状态, 但具有不同的标签。 0044 图8图。
36、示根据各个实施例的从流结构生成概率的示例过程800。 在各个实施例中, 可以由 AE 260 执行过程 800 以实施过程 400 的操作 420。过程可以在操作 810 开始, 其中 AE 260 可以接收由 OE 250 生成的流结构。接下来, 在操作 820, AE 260 可以接收当前动作 205 的指示。在操作 830, AE 260 可以从 OE 250 接收应用背景标签 255 ; 这些标签可以用于 较好地标识流结构中的有关的稳定状态和转换。 0045 接下来, 在操作 840, AE 260 可以计算所接收的动作之后的预期值。在各个实施例 中, 可以基于每个稳定状态至下一个之间。
37、的直接频率来计算预期值, 并且预期值可以不包 括与如下转换不相关的频率 : 预期值正针对该转换被计算。在各个实施例中, AE 260 可以 利用所接收的流结构的子结构, 该子结构仅仅包括可以在当前动作 205 的执行之后达到的 稳定状态。在各个实施例中, AE 260 然后可以计算针对在当前动作 205 之后可以多经常达 说 明 书 CN 104321764 A 8 6/8 页 9 到每个随后的稳定状态的预期值。 0046 现在参照图 9, 图 9 图示根据各个实施例的示例预期值结构 900。如在图 9 的示例 中所图示的, 在各个实施例中, AE 260 可以以百分数 (out of 100。
38、) 的可以执行的转换的次 数的形式来计算预期值。 例如, 如果基于当前动作, 给定应用被预期为运行时间的50%, 则至 该应用的转换的预期值可以是 50 (百分数) 。在另一个示例中, 如果应用被预期为平均运行 两倍时间, 则预期值可以是百分之 200。在一些实施例中, 预期值可以被控制在最大值。 0047 返回到图 8, 在操作 850 和 860, AE 260 可以从所计算的预期值计算稳定状态的有 效概率 (850) 和资源利用的有效概率 (860) 。在各个实施例中, AE 260 可以通过将概率形 式的预期值直接地相乘来计算有效概率。在其他实施例中, AE 260 可以利用计算概率的。
39、其 他方法, 诸如使用基于人工智能的技术或通过包括其他信息。最后, 在操作 870, AE 260 可 以诸如按可能性或距当前动作 205 的距离 (例如流结构中的距离) 将所计算的概率排序。该 过程然后可以结束。 0048 图 10 图示根据各个实施例的示例预测动作执行过程 1000。在各个实施例中, PAE 100 可以执行过程 1000 以实施图 3 的过程 300 的操作 340。该过程可以在操作 1010 开始, 其中 PAE 100 可以从计算设备获取系统背景。如以上讨论的, 在各个实施例中, 系统背景在 各个实施例中可以包括诸如存储器或存储能力之类的资源可用性、 当前工作负荷、 。
40、执行的 位置, 和 / 或诸如计算设备的温度之类的环境信息。接下来, 在操作 1020, PAE 100 可以诸 如从 PE 110 获取动作和 / 或资源的一个或多个概率。如上面讨论的, 在各个实施例中, 可 以将这些概率排序以供 PAE 100 使用。 0049 接下来, 在操作 1030, PAE 100 可以选择对潜在的动作和 / 或资源分配进行支持 并且在给定针对计算设备的当前系统背景的情况下可以被执行的动作和 / 或资源利用。因 此, 在各个实施例中, PAE 100 可以针对已接收到其概率的潜在动作和 / 或资源利用来确定 在给定由系统背景指示的能力的情况下可以执行哪些支持动作和。
41、 / 或资源利用。在各个实 施例中, 在操作 1030, PAE 100 可以确定在不引起计算设备的用户值得注意的减速的情况 下可以执行这些支持动作和 / 或资源利用中的那些。 0050 最后, 在操作 1040, PAE 100 可以促进所选择的动作和 / 或资源利用的执行。在各 个实施例中, PAE 100 可以本身引导动作和 / 或资源利用的执行。在其他的实施例中, PAE 100 可以从其他实体请求动作和 / 或资源利用的执行。该过程然后可以结束。 0051 对于一个实施例, 图 11 图示适合于实践本公开的实施例的示例计算机系统 1100。 如所图示的, 示例计算机系统 1100 可。
42、以包括耦合到 (一个或多个) 处理器 1104 中至少一个 的控制逻辑1108、 耦合到系统控制逻辑1108的系统存储器1112、 耦合到系统控制逻辑1108 的非易失性存储器 (NVM) 存贮器 1116, 和耦合到系统控制逻辑 1108 的一个或多个通信接 口 1120。在各个实施例中, 一个或多个处理器 1104 可以是处理器核。 0052 对于一个实施例, 系统控制逻辑 1108 可以包括任何适当的接口控制器来提供针 对 (一个或多个) 处理器 1104 中的至少一个和 / 或针对与系统控制逻辑 1108 进行通信的任 何适当的设备或组件的任何适当的接口。 0053 对于一个实施例, 。
43、系统控制逻辑 1108 可以包括一个或多个存储器控制器来提供 针对系统存储器1112的接口。 系统存储器1112可以用于加载和存储例如用于系统1100的 数据和 / 或指令。在一个实施例中, 系统存储器 1112 可以包括任何适当的易失性存储器, 说 明 书 CN 104321764 A 9 7/8 页 10 诸如像适当的动态随机存取存储器 ( “DRAM” ) 。 0054 在一个实施例中, 系统控制逻辑 1108 可以包括一个或多个输入输出 ( “I/O” ) 控 制器以提供针对 NVM/ 存贮器 1116 和 (一个或多个) 通信接口 1120 的接口。 0055 NVM 存贮器 111。
44、6 可以例如用于存储数据和 / 或指令。NVM 存贮器 1116 可以 包括任何适当的非易失性存储器, 诸如像闪速存储器, 和 / 或可以包括任何适当的 (一个或 多个) 非易失性存储设备, 诸如像一个或多个硬盘驱动器 ( “HDD” ) 、 一个或多个固态驱动器、 一个或多个光盘 ( “CD” ) 驱动器, 和 / 或一个或多个数字通用盘 ( “驱动器” ) 驱动器。 0056 NVM 存贮器 1116 可以包括物理上是系统 1100 安装于其上的设备的部分的存储 资源, 或者其可以是可由设备访问的, 但不必然是设备的部分。例如, 可以经由 (一个或多 个) 通信接口 1120 通过网络来访。
45、问 NVM 存贮器 1116。 0057 系统存储器1112和NVM存贮器1116可以具体地包括预测动作执行逻辑1124的 暂时的和持久的拷贝。预测动作执行逻辑 1124 可以包括指令, 当该指令由 (一个或多个) 处 理器1104中的至少一个执行时导致系统1100实践如上所述的一个或多个预测动作执行操 作。 在一些实施例中, 预测动作执行逻辑1124可以附加地替换地位于系统控制逻辑1108 中。 0058 (一个或多个) 通信接口 1120 可以提供用于系统 1100 通过一个或多个网络通信和 / 或与任何其他适当的设备通信的接口。 (一个或多个) 通信接口 1120 可以包括任何适当的 硬。
46、件和 / 或固件, 诸如网络适配器、 一个或多个天线、 无线接口, 等等。在各个实施例中,(一 个或多个) 通信接口 1120 可以包括用于系统 1100 使用 NFC、 光通信 (例如, 条形码) 、 蓝牙或 其他类似的技术来直接地 (例如, 没有中间物) 与另一个设备进行通信的接口。 0059 对于一个实施例,(一个或多个) 处理器 1104 中的至少一个可以与系统控制逻辑 1108 和 / 或预测动作执行逻辑 1124 一起被封装。对于一个实施例,(一个或多个) 处理器 1104中的至少一个可以与系统控制逻辑1108和/或预测动作执行逻辑1124一起被封装以 形成系统级封装 ( “SiP。
47、” ) 。对于一个实施例,(一个或多个) 处理器 1104 中的至少一个可以 与系统控制逻辑 1108 和 / 或预测动作执行逻辑 1124 被集成在相同的管芯上。对于一个实 施例,(一个或多个) 处理器 1104 中的至少一个可以与系统控制逻辑 1108 和 / 或预测动作 执行逻辑 1124 被集成在相同的管芯上以形成片上系统 ( “SoC” ) 。 0060 以下段落描述各个实施例的示例。在各个实施例中, 用于预测装置的活动的装置 可以包括一个或多个计算机处理器。装置也可以包括预测动作引擎, 该预测动作引擎被配 置为由一个或多个计算机处理器操作以接收计算设备的当前系统背景的一个或多个指示。
48、。 预测动作引擎也可以被配置为 : 被操作以至少部分地基于当前背景和由在计算设备上执行 的第一一个或多个过程进行的潜在动作或资源利用的一个或多个概率来选择将由第二一 个或多个过程执行的一个或多个预测动作或资源利用以支持针对第一一个或多个任务预 测的一个或多个动作或资源利用。 0061 在各个实施例中, 装置还可以包括第一或第二一个或多个过程中的至少所选择的 一个。在各个实施例中, 第一和第二一个或多个过程是相同的一个或多个过程。在各个实 施例中, 装置还可以包括概率引擎, 该概率引擎还被配置为由一个或多个计算机处理器来 操作以确定由在计算设备上执行的第一一个或多个过程进行的潜在动作或资源利用的。
49、一 个或多个概率并且向预测动作引擎提供所确定的一个或多个概率。 说 明 书 CN 104321764 A 10 8/8 页 11 0062 在各个实施例中, 预测动作引擎可以被配置为经由过程的执行状态的接收来接收 当前系统背景的一个或多个指示。在各个实施例中, 预测动作引擎可以被配置为经由针对 计算设备的环境信息的接收来接收当前系统背景的一个或多个指示。 0063 在各个实施例中, 预测动作引擎可以被配置为经由资源的可用性的指示的接收来 接收当前系统背景的一个或多个指示。 在各个实施例中, 预测动作引擎可以被配置为 : 通过 在不使第二计算设备的执行减速的情况下选择能够利用可用资源被执行的一个或多个动 作或资源利用来选择一个或多个预测动作或资源利用。 0064 在各个实施例中, 装置和计算设备可以是相同的设备。 在各个实施例中, 预测动作 引擎被配置为由一个或多个计算机处理器来操作以促进一个或多个所选择的动作或资源 利用的执行。在各个实施例中, 预测动作引擎可以被配置为 : 通过针对被预测将发生的一 个或多。