CN104321763B - 用于对装置的活动进行预测的方法、装置和存储介质 - Google Patents

用于对装置的活动进行预测的方法、装置和存储介质 Download PDF

Info

Publication number
CN104321763B
CN104321763B CN201380027957.9A CN201380027957A CN104321763B CN 104321763 B CN104321763 B CN 104321763B CN 201380027957 A CN201380027957 A CN 201380027957A CN 104321763 B CN104321763 B CN 104321763B
Authority
CN
China
Prior art keywords
resources
utilization
action
computing device
actions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201380027957.9A
Other languages
English (en)
Other versions
CN104321763A (zh
Inventor
D.霍恩德尔
A.范德文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104321763A publication Critical patent/CN104321763A/zh
Application granted granted Critical
Publication of CN104321763B publication Critical patent/CN104321763B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Measuring Volume Flow (AREA)

Abstract

描述了用于计算设备中的潜在动作的概率计算的技术和系统的实施例。在实施例中,观察引擎(“OE”)可以接收对计算设备的一个或多个动作和/或资源利用的指示。OE可以基于这些指示来创建描述计算设备在操作期间的稳定状态和转变的流结构。OE可以向分析引擎(“AE”)提供流结构,分析引擎可以基于流结构和对当前动作的知识来计算潜在动作的概率。可以描述和要求保护其它实施例。

Description

用于对装置的活动进行预测的方法、装置和存储介质
相关申请的交叉引用
本申请要求于2012年6月29日提交的美国专利申请No. 13/539,143的优先权,特此通过引用的方式将上述美国专利申请的全部内容在其整体上并入本文以用于所有目的。
背景技术
许多用户在使用计算设备时体验过慢于预期的性能。具体而言,常常认为许多新的计算机和设备仅比其前辈稍快,这是因为系统对于用户输入的响应时间可能仍与较旧的系统类似。类似地,可能认为常见应用要花费大约相同的时间量来启动或完成。
例如,在用户接口中的按钮上进行点击或者启动新的命令常常趋向于导致系统之间的很大的恒定响应时间。这种性能可能表现为几乎独立于底层系统的实际性能和能力。虽然固态驱动器和智能缓存机制的使用在某些情况下可能有所帮助,但它们尚未解决该问题。
附图说明
通过下面的具体实施方式结合附图将容易地理解各个实施例。为了便于描述,相同的参考标号指示相同的结构元件。在附图的图示中,通过举例的方式而非通过限定的方式示出了各个实施例。
图1是根据各个实施例的、示出了示例预测动作执行系统的框图。
图2是根据各个实施例的、示出了示例概率引擎的框图。
图3根据各个实施例示出了示例动作预测和执行过程。
图4根据各个实施例示出了示例概率生成过程。
图5根据各个实施例示出了示例流结构生成过程。
图6根据各个实施例示出了示例观察结果收集过程。
图7根据各个实施例示出了示例流结构。
图8根据各个实施例示出了用于根据流结构生成概率的示例过程。
图9根据各个实施例示出了示例期望值结构。
图10根据各个实施例示出了示例预测动作执行过程。
图11根据各个实施例示出了适于实施本公开内容的示例计算环境。
具体实施方式
在下面的具体实施方式中,参考了附图,附图形成了具体实施方式的一部分,在附图中,相同的标号通篇指示相同的部分,并且在其中通过可以实施的说明实施例的方式示出。应当理解的是:可以在不脱离本公开内容的范围的情况下使用其它实施例并进行结构或逻辑上的变化。因此,下面的具体实施方式不应被视为具有限制意义,并且实施例的范围由所附的权利要求书及其等价物限定。
可以将各种操作以最有助于理解所要求保护的主题内容的方式描述为依次多个分立动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是依赖于顺序的。具体而言,这些操作可不以呈现的顺序来执行。所描述的操作可以与所描述的实施例不同的顺序来执行。在另外的实施例中,可以执行各种额外的操作和/或可以省略所描述的操作。
对于本公开内容的目的而言,短语“A和/或B”意指(A)、(B)或者(A和B)。对于本公开内容的目的而言,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或者(A、B和C)。
本说明书可以使用短语“在实施例中”或者“在多个实施例中”,其可以各自指代相同或不同实施例中的一个或多个实施例。此外,如同针对本公开内容的实施例所使用的,术语“包括”、“包含”、“具有”等等是同义的。
如本文中所使用的,术语“模块”可以指代作为以下的一部分或者包括以下:专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的或组)和/或存储器(共享的、专用的或组)、组合逻辑电路、和/或提供所描述的功能的其它合适的组件。
现在参照图1,示出了图示示例预测动作执行系统的实施例的框图。在各个实施例中,预测动作执行系统可以包括预测动作引擎100(“PAE 100”)和概率引擎110(“PE 110”)。在各个实施例中,PAE 100可以被配置为:接收关于计算设备的历史和/或当前操作的信息。PAE 100可以被配置为:部分基于该信息,选择一个或多个动作以便支持经预测为可能在计算设备上发生的潜在动作和/或资源利用。在各个实施例中,动作可以包括诸如过程的启动、打开窗口或对话框、传入的网络事件、或者用户交互之类的事情。例如,PAE 100可以被配置为:进行选择以便针对预测即将执行的应用来预加载代码,或者可以将数据读入高速缓存。
如在图1的示例中所示,在各个实施例中,PAE 100可以被配置为:选择动作以便支持执行过程(例如过程150)的潜在动作和/或资源利用。在各个实施例中,过程150可以包括子过程160。在各个实施例中,PAE 100可以被配置为:预测第二子过程170可能在近期执行。因此,在各个实施例中,PAE 100可以被配置为:促进针对子过程170的代码的预取(和/或促进针对子过程170的代码的提早执行)。在其它实施例中,PAE可以被配置为:导致处于当前执行过程之外的可执行代码的预取和/或提早执行。例如,如果接收到具有特定文档类型的附件的电子邮件,那么PAE 100可以进行选择以便针对被配置为读取该文档类型的应用或过程来预取代码。
类似地,在一些实施例中,PAE 100可以被配置为:预测外部资源175(例如,网卡)近期可能被使用(例如,用于执行域名系统搜索)。因此,在各个实施例中,PAE 100可以被配置为:促进对外部资源175进行提早请求。认识到前述示例仅指示了潜在动作和PAE 100的能力,在其它实施例中,可以涉及不同的过程或外部资源。
在图1的示例中,可以在虚线的左侧示出预测动作执行系统的各个方面,而在虚线的右侧可以示出预测动作执行系统在预测动作时所针对的计算设备的各个方面。因此,在一些实施例中,预测动作执行系统可以被配置为:在与该预测动作执行系统分离的设备或装置上进行操作。然而,在各个实施例中,可以在对动作进行预测所针对的相同的计算设备上对预测动作执行系统的一个或多个方面进行操作。
在各个实施例中,PAE 100可以被配置为:接收要在计算设备上执行的潜在动作的一个或多个概率。在各个实施例中,PAE 100可以从PE 110接收这些概率。下面讨论了PE110的具体实施例。
在各个实施例中,PAE 100还可以被配置为:接收(或者以其它方式获得)针对计算设备的当前系统上下文120。在各个实施例中,系统上下文可以包括:计算设备的状态(例如,功率、性能、存储器、存储、负载、电池状态和/或热数据)、逻辑环境(例如,网络连接性、通过网络接收的数据)、和/或计算设备的物理位置(例如,计算设备是移动的、在家中、在办公室中、在飞机上、在国外等等)。在各个实施例中,上下文可以包括其它信息(计算设备外部和内部的)、数据、和/或可以根据该信息和数据得出的结论。
在各个实施例中,当前系统上下文可以是由PAE 100被动接收的,例如通过应用或系统过程向PAE 100报告系统上下文信息。在其它实施例中,PAE 100可以被配置为:主动请求和/或以其它方式从计算设备获得当前系统上下文120。在各个实施例中,PAE 100可以被配置为:基于可用系统资源(例如在当前系统上下文中标识的那些)来选择用于执行的动作。
现在参照图2,根据各个实施例示出了图示示例PE 110的框图。在各个实施例中,PE 110可以包括观察引擎250(“OE 250”)和分析引擎260(“AE 260”)。在各个实施例中,OE250可以被配置为:接收计算设备的动作和资源利用210。如本文中所描述的,OE 250可以基于由OE 250接收的历史数据来生成描述稳定状态和计算设备的转变的流结构250。该流结构可由AE 260使用,连同由计算设备执行的当前动作205的指示,来确定可能在所接收的当前动作205之后的潜在动作的一个或多个概率。如本文中所描述的,这些概率可由PAE 100用来选择用于执行的动作。
在各个实施例中,动作/资源利用210可由OE 250被动接收,例如,通过向OE 250报告已执行的动作和/或资源利用的指示的应用或系统过程。在其它实施例中,OE 250可以被配置为:主动请求和/或以其它方式从计算设备获得动作和/或资源利用210。
在各个实施例中,OE 250还可以被配置为:从在计算设备上执行的一个或多个应用220接收应用上下文信息。在各个实施例中,应用220可以包括:可以与OE 250通信以便提供上下文信息的上下文组件230。可以这样配置应用220,以便与否则在没有来自在计算设备上执行的应用的直接协助的情况下PE 110可用的信息相比,向OE 250并因此向PE 110提供更多信息。例如,编码环境应用220可以提供(例如,通过其上下文组件230)描述正在写入应用的代码的类型的标签。在另一个示例中,电子邮件应用220可以提供电子邮件已被接收的标签、电子邮件发送者的标签、以及描述附有.ppt文件的标签。该信息可由PE 110用于确定:每次从某个人处接收到具有.ppt文件的电子邮件,就有可能要执行PowerPoint。PAE100因此可以促进用于PowerPoint™应用的代码的加载。
在各个实施例中,上下文组件230可以向应用提供诸如但不限于下列各项的信息:应用状态、描述由应用220所访问的一个或多个文件的信息、由应用220接收的消息、信息的一个或多个接收者或发送者的身份等。在各个实施例中,上下文组件230可以以一个或多个标签的形式向OE 250提供应用上下文信息。如下所述,可以将这些标签附加到由OE 250接收的动作和/或资源利用210以便针对这些所接收的动作和/或资源利用210提供额外的上下文;这继而可以允许OE生成更加精确和/或详细的流结构250。类似地,在各个实施例中,OE 250可以向AE 260提供一个或多个上下文标签225,这些上下文标签可以用于向一个或多个当前动作205提供上下文。在各个实施例中,上下文标签255的这种提供可以促进AE260产生更加精确的概率270。在本文中描述了应用上下文信息和标签的具体使用。
图3根据各个实施例示出了示例动作预测和执行过程300。该过程可以开始于操作320,在操作320处,在各个实施例中,PE 110可以生成一个或多个由PAE 100使用的概率。下面讨论了操作320的具体实施例。接下来,在操作340处,PAE 100可以基于由PE 110在操作320处生成的概率来执行一个或多个预测动作。在实施例中,操作340处的预测动作的执行还可以部分基于当前系统上下文120。下面讨论了操作340的具体实施例。在各个实施例中,然后可以在操作320处针对额外的概率和预测动作来重复该过程。在一些实施例中,该过程替代地结束。
图4根据各个实施例示出了示例概率生成过程400。在各个实施例中,过程400可由PE 110执行以便实现过程300的操作320的一个或多个实施例。该过程可以开始于操作410,在操作410处,OE 250可以生成流结构250。下面讨论了操作410的具体实施例。接下来,在操作420处,AE 260可以基于所生成的流结构250和当前动作205来生成概率。下面讨论了操作420的具体实施例。
接下来,在操作430处,可以从AE 260输出该概率。在各个实施例中,可以对输出概率进行排序以便于PAE 100使用。因此,在一些实施例中,这些概率可以是根据可能性排序的。在其它实施例中,由AE 260输出的概率可以是根据时间上与当前动作205的假设距离排序的。然后该过程可以结束。
图5根据各个实施例示出了示例流结构生成过程500。在各个实施例中,过程500可由OE 250执行以便实现过程400的操作410的一个或多个实施例。该过程可以开始于操作520,在操作520处,OE 250可以从计算设备收集关于动作和/或资源利用的信息。在各个实施例中,还可以从一个或多个应用获得这些观察结果。下面参考图6的过程600描述了操作520的具体实施例。
现在参照图6,该图根据各个实施例示出了示例观察结果收集过程600。在各个实施例中,过程600可由OE 250执行以便实现过程500的操作510的一个或多个实施例。该过程可以开始于操作610,在操作610处,OE 250可以从应用220接收应用上下文信息。在各个实施例中,应用上下文信息可以是从应用220的上下文组件230接收的。在一些实施例中,应用上下文信息可以是以标签的形式接收的。对过程600的操作的以下描述因此可以具体参考标签,然而,可以认识到的是:在其它实施例中,所接收的应用上下文信息可以采取其它形式。
在操作620处,OE 250可以将最近接收的标签推送到栈数据结构上。在各个实施例中,使用栈以便允许上下文的方便删除,以及当各个栈应用于接收动作和资源利用时允许各个栈的嵌套;在其它实施例中,其它数据结构可以用于存储栈。
接下来,在操作630处,OE 250可以获得一个或多个动作和/或资源利用。如同上面所讨论的,在各个实施例中,这些动作和/或资源利用可以是被动接收的,而在其它实施例中,OE 250可以主动搜寻出动作和/或资源利用信息。接下来,在操作640处,OE 250可以使用最近接收的标签来为所接收的动作/资源利用添加标签。在各个实施例中,这种添加标签可以促进OE 250提供应用上下文信息来伴随所接收的动作和/或资源利用,从而提供改进的概率生成。在各个实施例中,OE 250可以重复操作630和640以便对额外的动作和/或资源利用进行接收(并添加标签)。
然而,OE 250还可以接收以下指示:与应用上下文信息相关联的应用上下文已经改变,例如在操作650处。因此,例如,应用220可以接收用户可以选择菜单的用户交互。应用220可以例如使用其上下文组件230,然后向OE 250发送指示该菜单选择的标签。随后,如果用户结束了菜单的选择,那么应用220的上下文组件230可以向OE 250指示相关上下文已经结束。然后,在操作660处,OE 250可以将标签从栈结构移除。这可以有效地终止使用所接收的标签对未来接收的动作添加标签。然后该过程可以结束。
返回图5的过程500,在收集关于动作和/或资源利用的信息之后,过程500可以继续进行操作530,在操作530中,OE 250可以标识计算设备的一个或多个稳定状态。在各个实施例中,如下所示,这些稳定状态可以表示计算设备在特定时刻处于一致状态的状态。在各个实施例中,稳定状态可以包括计算设备的上下文的一致状态。在一些实施例中,稳定状态可以包括计算设备的一个或多个内部变量的一致状态,诸如,例如,当前工作目录、网络设备的当前IP地址、一个或多个应用的当前运行状态等等。例如,在一个实施例中,可在高级别上将示例稳定状态描述为“电子邮件程序在前台运行,显示编辑器窗口,等待用户输入”。
接下来,在操作540处,OE 250可以标识可由计算设备执行的一个或多个转变的动作和/或资源利用。例如,在操作540处,OE 250可以标识:目录改变命令导致计算设备在目录稳定状态之间变化。在另一个示例中,在操作540处,OE 250可以标识:用于执行应用的命令可以导致计算设备变化到应用正在其中执行的稳定状态。在另一个示例中,转变的动作可以包括对来自用户的命令(例如电子邮件应用中的“发送”命令)的接收。
接下来,在操作550处,OE 250可以基于其接收的关于动作和资源利用的信息来生成这些稳定状态中的每个稳定状态的频率。可以在下面的图7处看到这些频率的具体示例。在操作560处,这些频率可以提供给AE 260用于确定要由PAE 100使用的概率。然后该过程可以结束。
图7根据各个实施例示出了具有稳定状态和频率的示例流结构。在图示的示例中,稳定的状态被示为图节点,而图转变示出在给定时段ob观察期间OE 260观察到两个稳定状态之间的特定转变的频繁程度的频率。如同图示的,流结构700示出,在各个实施例中,稳定状态可以包括对用于执行应用的命令(例如,“/usr/bin/bash”、“/usr/bin/make/”、“/bin/rm”)的接收,或者可以包括基于该命令的过程(例如,“/usr/bin/bash::bash”、“/usr/bin/make::make”)的执行。可以指出的是:虽然图7的示例流结构并不示出具有用应用上下文信息标记的稳定状态,但在各个实施例中,流结构可以额外包括应用上下文信息。因此,在各个实施例中,针对给定的目录或过程可以存在一个以上的稳定状态,但具有不同的标签。
图8根据各个实施例示出了用于根据流结构生成概率的示例过程800。在各个实施例中,过程800可由AE 260执行以便实现过程400的操作420。该过程可以开始于操作810,在操作810处,AE 260可以接收由OE 250生成的流结构。接下来,在操作820处,AE 260可以接收当前动作205的指示。在操作830处,AE 260可以从OE 250接收应用上下文标签255;这些标签可以用于更好地标识流结构中的相关稳定状态和转变。
接下来,在操作840处,AE 260可以计算所接收的动作随后的期望值。在各个实施例中,期望值可以是基于每个稳定状态与下一个稳定状态之间的直接频率计算的,并且可以不包括与正在计算期望值所针对的转变不相关的频率。在各个实施例中,AE 260可以利用所接收的流结构的子结构,其仅包括可以在当前动作205的执行之后达到的稳定状态。在各个实施例中,然后,AE 260可以针对在当前动作205之后可能达到每个后续稳定状态的频率来计算期望值。
现在参照图9,图9根据各个实施例示出了示例期望值结构900。如同在图9的示例中所示,在各个实施例中,AE 260可以计算以转变可能执行的次数的形式的100中的期望值。例如,如果基于当前动作,给定的应用预期要运行50%的时间,那么向该应用转变的期望值可以是50(100中的)。在另一个示例中,如果预期应用要平均运行两次,那么期望值可以是200(100中的)。在一些实施例中,期望值可具有作为上限的最大值。
返回图8,在操作850和860处,AE 260可以根据计算出的期望值来计算稳定状态(850)和资源利用(860)的有效概率。在各个实施例中,AE 260可以通过对概率形式的期望值直接进行相乘来计算有效概率。在其它实施例中,AE 260可以利用计算概率的其它方法,诸如使用基于人工智能的技术或者通过包括其它信息。最后,在操作870处,AE 260可以对计算出的概率进行排序,例如,通过可能性或者与当前动作205的距离(例如,流结构中的距离)。然后该过程可以结束。
图10根据各个实施例示出了示例预测动作执行过程1000。在各个实施例中,PAE100可以执行过程1000以便实现图3的过程300的操作340。该过程可以开始于操作1010,在该操作处,PAE 100可以从计算设备获得系统上下文。如同上面所讨论的,在各个实施例中,系统上下文可以包括(在各个实施例中):资源可用性(诸如存储器或存储能力)、当前工作负载、执行位置和/或环境信息,例如计算设备的温度。接下来,在操作1020处,PAE 100可以(例如,从PE 110)获得针对动作和/或资源的一个或多个概率。如同上面所讨论的,在各个实施例中,可以对这些概率进行排序以供PAE 100使用。
接下来,在操作1030处,PAE 100可以选择支持潜在动作和/或资源分配的动作和/或资源利用,并且这些动作和/或资源利用可以在计算设备的给定当前系统上下文的情况下执行。因此,在各个实施例中,在给定由系统上下文指示的能力的情况下,PAE 100可以针对接收概率所针对的潜在动作和/或资源利用来确定哪些支持可能执行的动作和/或资源利用。在各个实施例中,PAE 100在操作1030处可以确定在不导致用户可感知的计算设备减速的情况下这些支持动作和/或资源利用中的哪些可被执行。
最后,在操作1040处,PAE 100可以促进所选择的动作和/或资源利用的执行。在各个实施例中,PAE 100可以自身指引动作和/或资源利用的执行。在其它实施例中,PAE 100可以从其它实体请求动作和/或资源利用的执行。然后该过程可以结束。
图11针对一个实施例示出了适于实施本公开内容的实施例的示例计算机系统1100。如所示的,示例计算机系统1100可以包括:耦接到处理器1104中的至少一个处理器的控制逻辑1108、耦接到系统控制逻辑1108的系统存储器1112、耦接到系统控制逻辑1108的非易失性存储器(NVM)/存储1116、以及耦接到系统控制逻辑1108的一个或多个通信接口1120。在各个实施例中,一个或多个处理器1104可以是处理器核心。
一个实施例的系统控制逻辑1108可以包括:任意合适的接口控制器,用于提供到处理器1104中的至少一个处理器和/或到与系统控制逻辑1108相通信的任意合适设备或组件的任意合适接口。
一个实施例的系统控制逻辑1108可以包括用于提供到系统存储器1112的接口的一个或多个存储器控制器。系统存储器1112可以用于(例如,为系统1100)加载和存储数据和/或指令。在一个实施例中,系统存储器1112可以包括任意合适的易失性存储器,诸如,例如,合适的动态随机存取存储器(“DRAM”)。
在一个实施例中,系统控制逻辑1108可以包括用于提供到NVM/存储1116的接口以及通信接口1120的一个或多个输入/输出(“I/O”)控制器。
例如,NVM/存储1116可以用于存储数据和/或指令。NVM/存储1116可以包括任意合适的非易失性存储器(诸如,例如闪存),和/或可以包括任意合适的非易失性存储设备,诸如,例如,一个或多个硬盘驱动器(“HDD”)、一个或多个固态驱动器、一个或多个光盘(“CD”)驱动器、和/或一个或多个数字多功能盘(“DVD”)驱动器。
NVM/存储1116可以包括物理上是其上安装了系统1100的设备的一部分的存储资源,或者NVM/存储1116可由该设备访问,但并不一定是该设备的一部分。例如,可以经由通信接口1120通过网络访问NVM/存储1116。
具体而言,系统存储器1112和NVM/存储1116可以包括预测动作执行逻辑1124的暂时和持久副本。预测动作执行逻辑1124可以包括:当由处理器1104中的至少一个处理器执行时造成系统1100实行上述预测动作执行操作中的一个或多个操作的指令。在一些实施例中,预测动作执行逻辑1124可以附加地/可替代地位于系统控制逻辑1108中。
通信接口1120可以为系统1100提供用于通过一个或多个网络进行通信的接口和/或与任意其它合适设备进行通信的接口。通信接口1120可以包括任意合适的硬件和/或固件,诸如网络适配器、一个或多个天线、无线接口等等。在各个实施例中,通信接口1120可以包括使系统1100使用NFC、光通信(例如,条形码)、蓝牙或其它类似技术以便与另一个设备直接进行通信(例如,没有中间媒介)的接口。
对于一个实施例来说,处理器1104中的至少一个处理器可以与系统控制逻辑1108和/或预测动作执行逻辑1124封装在一起。对于一个实施例来说,处理器1104中的至少一个处理器可以与系统控制逻辑1108和/或预测动作执行逻辑1124封装在一起来形成系统级封装(“SiP”)。对于一个实施例来说,处理器1104中的至少一个处理器可以与系统控制逻辑1108和/或预测动作执行逻辑1124集成在同一个管芯上。对于一个实施例来说,处理器1104中的至少一个处理器可以与系统控制逻辑1108和/或预测动作执行逻辑1124集成在同一个管芯上来形成片上系统(“SoC”)。
以下段落描述了各个实施例的示例。在各个实施例中,用于对装置的活动进行预测的装置可以包括一个或多个计算机处理器。装置还可以包括:被配置为由一个或多个计算机处理器进行操作以便对计算设备的一个或多个动作或资源利用进行监视的观察引擎。装置还可以包括分析引擎,所述分析引擎被配置为:由一个或多个计算机处理器进行操作,以便至少部分基于所监视的一个或多个动作或资源利用针对所接收的动作来确定计算设备的一个或多个潜在动作或资源利用的一个或多个概率。
在各个实施例中,装置可以是计算设备。在各个实施例中,一个或多个所监视的动作可以包括下列各项中的一个或多个:相关动作的过程执行、应用相关的动作、与网络相关的动作、或者与用户交互相关的动作。在各个实施例中,一个或多个所监视的资源利用可以包括下列各项中的一个或多个:用于访问文件或文档的资源利用、用于执行域名系统查找的资源利用、或者用于代码的编译的资源利用。
在各个实施例中,观察引擎还可以被配置为:操作以便生成描述一个或多个概率的流结构。在各个实施例中,观察引擎可以被配置为:通过计算设备的一个或多个稳定状态的确定来生成流结构。在各个实施例中,观察引擎还可以被配置为:通过导致第二计算设备的稳定状态之间的转变的一个或多个动作或资源利用的确定来生成流结构。在各个实施例中,观察引擎还可以被配置为:通过流结构中的第二计算设备的一个或多个动作或资源利用的频率的记录来生成流结构。
在各个实施例中,分析引擎被配置为:操作以便通过可能在所接收的动作之后发生的一个稳定状态或者一个或多个稳定状态的发生频率的期望值的确定以及通过一个或多个稳定状态的有效概率的确定来确定一个或多个概率。在各个实施例中,一个或多个期望值中的一个或多个可以具有超过1或100%的值。
用于执行上述技术的计算机可读介质(包括非临时性计算机可读介质)、方法、系统和设备是本文中公开的实施例的说明性示例。另外,上述交互中的其它设备可以被配置为执行各种所公开的技术。
虽然为了描述的目的在本文中说明和描述了某些实施例,但是在不脱离本公开内容的范围的情况下,所设计的用来达到相同目的的各种各样替代方案和/或等效实施例或实现可以替代示出和描述的实施例。本申请旨在涵盖本文中所讨论的实施例的任何改变或变型。因此,其意图显然是:本文中所描述的实施例仅由权利要求来限定。
在本公开内容记载“一”或“第一”元素或者其等价物的情况下,这样的公开内容包括一个或多个这样的元素,既不要求也不排除两个或更多个这样的元素。另外,用于标识元件的序数指标(例如,第一、第二或第三)用于在元素之间进行区分,并不指示或暗示要求或受限数量的这样的元素,除非另有特别声明,否则它们也不指示这些元素的特定位置或顺序。

Claims (16)

1.一种用于对装置的活动进行预测的所述装置,所述装置包括:
用于对第二计算设备的一个或多个动作或资源利用进行监视的单元;
用于至少部分基于所监视的一个或多个动作或资源利用,针对所述第二计算设备的所接收的动作来确定所述第二计算设备的一个或多个潜在动作或资源利用的一个或多个概率;以及
用于以一个或多个标签的形式提供应用上下文信息的单元,其中将最近接收的标签推送到栈数据结构上。
2.根据权利要求1所述的装置,其中,第一和第二计算设备是相同的计算设备。
3.根据权利要求1所述的装置,其中:
一个或多个所监视的动作包括以下中的一个或多个:相关动作的过程执行、与应用相关的动作、与网络相关的动作或与用户交互相关的动作;并且
一个或多个所监视的资源利用包括以下中的一个或多个:用于访问文件或文档的资源利用、用于域名系统查找的执行的资源利用或用于代码编译的资源利用。
4.根据权利要求1-3中任意一项所述的装置,还包括用于生成描述所述一个或多个概率的流结构的单元。
5.根据权利要求4所述的装置,其中,生成流结构包括:确定所述第二计算设备的一个或多个稳定状态。
6.根据权利要求5所述的装置,其中,生成流结构还包括:
确定导致所述第二计算设备的稳定状态之间的转变的一个或多个动作或资源利用;以及
记录所述流结构中的所述第二计算设备的所述一个或多个动作或资源利用的频率。
7.根据权利要求1-3中任意一项所述的装置,其中,确定一个或多个概率包括:
确定可在所接收的动作之后发生的一个稳定状态或者一个或多个稳定状态的发生频率的期望值;以及
确定所述一个或多个稳定状态的有效概率。
8.一种用于对装置的活动进行预测的所述装置,所述装置包括:
一个或多个计算机处理器;
观察引擎,其被配置为由所述一个或多个计算机处理器进行操作以便对所述装置的一个或多个动作或资源利用进行监视;
分析引擎,其被配置为由所述一个或多个计算机处理器进行操作,以便至少部分基于所监视的一个或多个动作或资源利用,针对所接收的动作来确定所述装置的一个或多个潜在动作或资源利用的一个或多个概率;以及
上下文组件,其被配置为以一个或多个标签的形式提供应用上下文信息,其中将最近接收的标签推送到栈数据结构上。
9.根据权利要求8所述的装置,其中:
一个或多个所监视的动作包括以下中的一个或多个:相关动作的过程执行、与应用相关的动作、与网络相关的动作或与用户交互相关的动作;并且
一个或多个所监视的资源利用包括以下中的一个或多个:用于访问文件或文档的资源利用、用于域名系统查找的执行的资源利用或用于代码编译的资源利用。
10.根据权利要求8或9所述的装置,其中,所述观察引擎还被配置为操作以通过以下来生成描述所述一个或多个概率的流结构:
确定计算设备的一个或多个稳定状态;
确定导致第二计算设备的稳定状态之间的转变的一个或多个动作或资源利用;以及
记录所述流结构中的所述第二计算设备的所述一个或多个动作或资源利用的频率。
11.根据权利要求10所述的装置,其中,所述分析引擎被配置为操作以通过以下来确定一个或多个概率:
确定可在所接收的动作之后发生的一个稳定状态或者一个或多个稳定状态的发生频率的期望值;以及
确定所述一个或多个稳定状态的有效概率。
12.一种用于对计算设备的潜在动作进行预测的计算机实现的方法,所述方法:
通过所述计算设备对所述计算设备的一个或多个动作或资源利用进行监视;
通过所述计算设备,至少部分基于所监视的一个或多个动作或资源利用,针对所述计算设备的所接收的动作来确定所述计算设备的一个或多个潜在动作或资源利用的一个或多个概率;以及
通过所述计算设备以一个或多个标签的形式提供应用上下文信息,其中将最近接收的标签推送到栈数据结构上。
13.根据权利要求12所述的方法,其中:
一个或多个所监视的动作包括以下中的一个或多个:相关动作的过程执行、与应用相关的动作、与网络相关的动作或与用户交互相关的动作;并且
一个或多个所监视的资源利用包括以下中的一个或多个:用于访问文件或文档的资源利用、用于域名系统查找的执行的资源利用或用于代码编译的资源利用。
14.根据权利要求12或13所述的方法,还包括由所述计算设备通过以下来生成描述所述一个或多个概率的流结构:
确定第一计算设备的一个或多个稳定状态;
确定导致第一计算设备的稳定状态之间的转变的一个或多个动作或资源利用;以及
记录所述流结构中的所述第一计算设备的所述一个或多个动作或资源利用的频率。
15.根据权利要求14所述的方法,其中,确定一个或多个概率包括:
确定可在所接收的动作之后发生的一个稳定状态或者一个或多个稳定状态的发生频率的期望值;以及
确定所述一个或多个稳定状态的有效概率。
16.一种其上存储有指令的计算机可读介质,所述指令当被执行时使得计算设备执行根据权利要求12-15中任一项所述的方法。
CN201380027957.9A 2012-06-29 2013-05-21 用于对装置的活动进行预测的方法、装置和存储介质 Expired - Fee Related CN104321763B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/539,143 US20140006599A1 (en) 2012-06-29 2012-06-29 Probabilities of potential actions based on system observations
US13/539143 2012-06-29
US13/539,143 2012-06-29
PCT/US2013/042094 WO2014003920A1 (en) 2012-06-29 2013-05-21 Probabilities of potential actions based on system observations

Publications (2)

Publication Number Publication Date
CN104321763A CN104321763A (zh) 2015-01-28
CN104321763B true CN104321763B (zh) 2018-11-13

Family

ID=49779383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380027957.9A Expired - Fee Related CN104321763B (zh) 2012-06-29 2013-05-21 用于对装置的活动进行预测的方法、装置和存储介质

Country Status (5)

Country Link
US (1) US20140006599A1 (zh)
EP (1) EP2867794A4 (zh)
CN (1) CN104321763B (zh)
AU (2) AU2013281103A1 (zh)
WO (1) WO2014003920A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10771369B2 (en) * 2017-03-20 2020-09-08 International Business Machines Corporation Analyzing performance and capacity of a complex storage environment for predicting expected incident of resource exhaustion on a data path of interest by analyzing maximum values of resource usage over time
US11429725B1 (en) * 2018-04-26 2022-08-30 Citicorp Credit Services, Inc. (Usa) Automated security risk assessment systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375869A (zh) * 2010-08-04 2012-03-14 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453389B1 (en) * 1999-06-25 2002-09-17 Hewlett-Packard Company Optimizing computer performance by using data compression principles to minimize a loss function
ATE321422T1 (de) * 2001-01-09 2006-04-15 Metabyte Networks Inc System, verfahren und software für die bereitstellung einer gezielten werbung durch benutzerprofildatenstruktur basierend auf benutzerpräferenzen
US20020174217A1 (en) * 2001-05-18 2002-11-21 Gateway, Inc. System and method for predicting network performance
US8069225B2 (en) * 2003-04-14 2011-11-29 Riverbed Technology, Inc. Transparent client-server transaction accelerator
WO2004068399A1 (ja) * 2003-01-31 2004-08-12 Matsushita Electric Industrial Co. Ltd. 予測型行動決定装置および行動決定方法
US7103735B2 (en) * 2003-11-26 2006-09-05 Intel Corporation Methods and apparatus to process cache allocation requests based on priority
US7487296B1 (en) * 2004-02-19 2009-02-03 Sun Microsystems, Inc. Multi-stride prefetcher with a recurring prefetch table
US7558822B2 (en) * 2004-06-30 2009-07-07 Google Inc. Accelerating user interfaces by predicting user actions
US20070192065A1 (en) * 2006-02-14 2007-08-16 Sun Microsystems, Inc. Embedded performance forecasting of network devices
US7788205B2 (en) * 2006-05-12 2010-08-31 International Business Machines Corporation Using stochastic models to diagnose and predict complex system problems
US8112755B2 (en) * 2006-06-30 2012-02-07 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
US8032472B2 (en) * 2007-04-04 2011-10-04 Tuen Solutions Limited Liability Company Intelligent agent for distributed services for mobile devices
US7971074B2 (en) * 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US9211473B2 (en) * 2008-12-15 2015-12-15 Sony Computer Entertainment America Llc Program mode transition
US20090216707A1 (en) * 2008-02-26 2009-08-27 International Business Machines Corporation File resource usage information in metadata of a file
EP2288987A4 (en) * 2008-06-12 2015-04-01 Guardian Analytics Inc USER MODELING FOR DETECTING FRAUD AND ANALYSIS
US8386808B2 (en) * 2008-12-22 2013-02-26 Intel Corporation Adaptive power budget allocation between multiple components in a computing system
US8209062B2 (en) * 2009-12-16 2012-06-26 Robert Bosch Gmbh Method for non-intrusive load monitoring using a hybrid systems state estimation approach
US8595176B2 (en) * 2009-12-16 2013-11-26 The Boeing Company System and method for network security event modeling and prediction
US8412665B2 (en) * 2010-11-17 2013-04-02 Microsoft Corporation Action prediction and identification temporal user behavior
US8606728B1 (en) * 2011-06-15 2013-12-10 Google Inc. Suggesting training examples
US9043692B2 (en) * 2011-09-20 2015-05-26 Oracle International Corporation Predictive system recommended actions based on recent activities
US9189252B2 (en) * 2011-12-30 2015-11-17 Microsoft Technology Licensing, Llc Context-based device action prediction
US20130218876A1 (en) * 2012-02-22 2013-08-22 Nokia Corporation Method and apparatus for enhancing context intelligence in random index based system
US9132349B2 (en) * 2012-04-10 2015-09-15 Sap Se Third-party recommendation in game system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375869A (zh) * 2010-08-04 2012-03-14 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置

Also Published As

Publication number Publication date
CN104321763A (zh) 2015-01-28
EP2867794A1 (en) 2015-05-06
EP2867794A4 (en) 2016-02-24
US20140006599A1 (en) 2014-01-02
AU2013281103A1 (en) 2014-11-27
WO2014003920A1 (en) 2014-01-03
AU2016204245A1 (en) 2016-07-14

Similar Documents

Publication Publication Date Title
CN104321744B (zh) 用于潜在动作预测的装置、方法和机器可读介质
US9886667B2 (en) Performance of predicted actions
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
US7958509B2 (en) Method and system for scheduling of jobs
CN102473134B (zh) 虚拟硬盘的管理服务器及管理方法、管理程序
US8930902B2 (en) Automatic selection of lowest configuration feature level by functionality exploited
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
CN107798561B (zh) 音频播放、分享方法及装置、存储介质和电子设备
CN107562383B (zh) 信息处理方法、存储设备及存储介质
CN110460647B (zh) 网络节点的调度方法、装置、电子设备和存储介质
CN110291508A (zh) 垃圾收集器
CN104321763B (zh) 用于对装置的活动进行预测的方法、装置和存储介质
US20220043732A1 (en) Method, device, and program product for managing computing resource in storage system
US11263130B2 (en) Data processing for allocating memory to application containers
CN110765136A (zh) 标识符的管理方法、装置、介质及设备
US20230412731A1 (en) Automated interactive voice response interaction using voice prompt classification machine learning frameworks
CN114880092A (zh) 一种应用调度方法、装置及设备
US20130184878A1 (en) Systems and Methods for Tracing Nodes in an Electrical Network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181113

Termination date: 20210521

CF01 Termination of patent right due to non-payment of annual fee