CN104321763A - 基于系统观察的潜在动作的概率 - Google Patents
基于系统观察的潜在动作的概率 Download PDFInfo
- Publication number
- CN104321763A CN104321763A CN201380027957.9A CN201380027957A CN104321763A CN 104321763 A CN104321763 A CN 104321763A CN 201380027957 A CN201380027957 A CN 201380027957A CN 104321763 A CN104321763 A CN 104321763A
- Authority
- CN
- China
- Prior art keywords
- action
- resources
- utilization
- computing equipment
- monitored
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3447—Performance 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)
- Measuring Volume Flow (AREA)
- User Interface Of Digital Computer (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接收这些概率。下面讨论了PE 110的具体实施例。
在各个实施例中,PAE 100还可以被配置为:接收(或者以其它方式获得)针对计算设备的当前系统上下文120。在各个实施例中,系统上下文可以包括:计算设备的状态(例如,功率、性能、存储器、存储、负载、电池状态和/或热数据)、逻辑环境(例如,网络连接性、通过网络接收的数据)、和/或计算设备的物理位置(例如,计算设备是移动的、在家中、在办公室中、在飞机上、在国外等等)。在各个实施例中,上下文可以包括其它信息(计算设备外部和内部的)、数据、和/或可以根据该信息和数据得出的结论。
在各个实施例中,当前系统上下文可以是由PAE 100被动接收的,例如通过应用或系统过程向PAE 100报告系统上下文信息。在其它实施例中,PAE 100可以被配置为:主动请求和/或以其它方式从计算设备获得当前系统上下文120。在各个实施例中,PAE 100可以被配置为:基于可用系统资源(例如在当前系统上下文中标识的那些)来选择用于执行的动作。
现在参照图2,根据各个实施例示出了图示示例PE 110的框图。在各个实施例中,PE 110可以包括观察引擎250(“OE 250”)和分析引擎260(“AE 260”)。在各个实施例中,OE 250可以被配置为:接收计算设备的动作和资源利用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。PAE 100因此可以促进用于PowerPoint?应用的代码的加载。
在各个实施例中,上下文组件230可以向应用提供诸如但不限于下列各项的信息:应用状态、描述由应用220所访问的一个或多个文件的信息、由应用220接收的消息、信息的一个或多个接收者或发送者的身份等。在各个实施例中,上下文组件230可以以一个或多个标签的形式向OE 250提供应用上下文信息。如下所述,可以将这些标签附加到由OE 250接收的动作和/或资源利用210以便针对这些所接收的动作和/或资源利用210提供额外的上下文;这继而可以允许OE生成更加精确和/或详细的流结构250。类似地,在各个实施例中,OE 250可以向AE 260提供一个或多个上下文标签225,这些上下文标签可以用于向一个或多个当前动作205提供上下文。在各个实施例中,上下文标签255的这种提供可以促进AE 260产生更加精确的概率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。在各个实施例中,PAE 100可以执行过程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 (25)
1. 一种用于对第一计算设备的潜在动作进行预测的计算机实现的方法,所述方法:
通过第二计算设备对第一计算设备的一个或多个动作或资源利用进行监视;以及
通过所述第二计算设备,至少部分基于所监视的一个或多个动作或资源利用,针对所述第一计算设备的所接收的动作来确定所述第一计算设备的一个或多个潜在动作或资源利用的一个或多个概率。
2. 根据权利要求1所述的方法,其中,所述第一计算设备和所述第二计算设备是相同的计算设备。
3. 根据权利要求1所述的方法,其中,一个或多个所监视的动作包括相关动作的过程执行。
4. 根据权利要求1所述的方法,其中,一个或多个所监视的动作包括与应用相关的动作。
5. 根据权利要求1所述的方法,其中,一个或多个所监视的动作包括与网络相关的动作。
6. 根据权利要求1所述的方法,其中,一个或多个所监视的动作包括与用户交互相关的动作。
7. 根据权利要求1所述的方法,其中,一个或多个所监视的资源利用包括用于访问文件或文档的资源利用。
8. 根据权利要求1所述的方法,其中,一个或多个所监视的资源利用包括用于域名系统查找的执行的资源利用。
9. 根据权利要求1所述的方法,其中,一个或多个所监视的资源利用包括用于代码编译的资源利用。
10. 根据权利要求1所述的方法,其中,指令还被配置为:导致所述第一计算设备生成描述所述一个或多个概率的流结构。
11. 根据权利要求10所述的方法,其中,生成流结构包括:确定所述第一计算设备的一个或多个稳定状态。
12. 根据权利要求11所述的方法,其中,生成流结构还包括:确定导致所述第一计算设备的稳定状态之间的转变的一个或多个动作或资源利用。
13. 根据权利要求10所述的方法,其中,生成流结构包括:记录所述流结构中的所述第一计算设备的所述一个或多个动作或资源利用的频率。
14. 根据权利要求1所述的方法,其中,确定一个或多个概率包括:
确定可在所接收的动作之后发生的一个稳定状态或者一个或多个稳定状态的发生频率的期望值;以及
确定所述一个或多个稳定状态的有效概率。
15. 根据权利要求1所述的方法,其中,一个或多个期望值中的一个或多个可以具有超过1或100%的值。
16. 包括多个指令的至少一个机器可读介质,所述多个指令响应于在计算设备上被执行而导致所述计算设备执行根据权利要求1-15中的任意一项的计算机实现的方法。
17. 一种包括用于执行根据权利要求1-15中的任意一项所述的计算机实现的方法的单元的装置。
18. 一种用于对装置的活动进行预测的所述装置,所述装置包括:
一个或多个计算机处理器;
观察引擎,其被配置为由所述一个或多个计算机处理器进行操作以便对计算设备的一个或多个动作或资源利用进行监视;以及
分析引擎,其被配置为由所述一个或多个计算机处理器进行操作,以便至少部分基于所监视的一个或多个动作或资源利用,针对所接收的动作来确定所述计算设备的一个或多个潜在动作或资源利用的一个或多个概率。
19. 根据权利要求18所述的装置,其中,所述装置是所述计算设备。
20. 根据权利要求18所述的装置,其中,一个或多个所监视的动作包括相关动作的过程执行。
21. 根据权利要求18所述的装置,其中,一个或多个所监视的动作包括与应用相关的动作。
22. 根据权利要求18所述的装置,其中,一个或多个所监视的动作包括与网络相关的动作。
23. 根据权利要求18所述的装置,其中,一个或多个所监视的动作包括与用户交互相关的动作。
24. 根据权利要求18所述的装置,其中,一个或多个所监视的资源利用包括用于访问文件或文档的资源利用。
25. 根据权利要求18所述的装置,其中,一个或多个所监视的资源利用包括用于域名系统查找的执行的资源利用,或者用于代码编译的资源利用。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/539,143 | 2012-06-29 | ||
US13/539143 | 2012-06-29 | ||
US13/539,143 US20140006599A1 (en) | 2012-06-29 | 2012-06-29 | Probabilities of potential actions based on system observations |
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 true CN104321763A (zh) | 2015-01-28 |
CN104321763B 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)
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 (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174217A1 (en) * | 2001-05-18 | 2002-11-21 | Gateway, Inc. | System and method for predicting network performance |
US20040215746A1 (en) * | 2003-04-14 | 2004-10-28 | Nbt Technology, Inc. | Transparent client-server transaction accelerator |
CN1645341A (zh) * | 2003-11-26 | 2005-07-27 | 英特尔公司 | 根据优先级来处理高速缓存分配请求的方法和装置 |
US20060155664A1 (en) * | 2003-01-31 | 2006-07-13 | Matsushita Electric Industrial Co., Ltd. | Predictive action decision device and action decision method |
US20080005736A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources |
CN101334688A (zh) * | 2007-06-28 | 2008-12-31 | 英特尔公司 | 便于动态功率管理的核活动检测器的方法、系统和设备 |
CN101777010A (zh) * | 2008-12-22 | 2010-07-14 | 英特尔公司 | 计算机系统的多个组件之间的适应性功率预算分配 |
CN102375869A (zh) * | 2010-08-04 | 2012-03-14 | 普瑞姆库马尔·朱娜拉 | 在设备上管理应用程序的系统,方法及装置 |
Family Cites Families (18)
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 |
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 |
US8032472B2 (en) * | 2007-04-04 | 2011-10-04 | Tuen Solutions Limited Liability Company | Intelligent agent for distributed services for mobile devices |
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 |
US10115111B2 (en) * | 2008-06-12 | 2018-10-30 | Guardian Analytics, Inc. | Modeling users for fraud detection and analysis |
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 |
-
2012
- 2012-06-29 US US13/539,143 patent/US20140006599A1/en not_active Abandoned
-
2013
- 2013-05-21 AU AU2013281103A patent/AU2013281103A1/en not_active Abandoned
- 2013-05-21 CN CN201380027957.9A patent/CN104321763B/zh not_active Expired - Fee Related
- 2013-05-21 EP EP13809921.3A patent/EP2867794A4/en not_active Withdrawn
- 2013-05-21 WO PCT/US2013/042094 patent/WO2014003920A1/en active Application Filing
-
2016
- 2016-06-22 AU AU2016204245A patent/AU2016204245A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174217A1 (en) * | 2001-05-18 | 2002-11-21 | Gateway, Inc. | System and method for predicting network performance |
US20060155664A1 (en) * | 2003-01-31 | 2006-07-13 | Matsushita Electric Industrial Co., Ltd. | Predictive action decision device and action decision method |
US20040215746A1 (en) * | 2003-04-14 | 2004-10-28 | Nbt Technology, Inc. | Transparent client-server transaction accelerator |
CN1645341A (zh) * | 2003-11-26 | 2005-07-27 | 英特尔公司 | 根据优先级来处理高速缓存分配请求的方法和装置 |
US20080005736A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources |
CN101334688A (zh) * | 2007-06-28 | 2008-12-31 | 英特尔公司 | 便于动态功率管理的核活动检测器的方法、系统和设备 |
CN101777010A (zh) * | 2008-12-22 | 2010-07-14 | 英特尔公司 | 计算机系统的多个组件之间的适应性功率预算分配 |
CN102375869A (zh) * | 2010-08-04 | 2012-03-14 | 普瑞姆库马尔·朱娜拉 | 在设备上管理应用程序的系统,方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104321763B (zh) | 2018-11-13 |
US20140006599A1 (en) | 2014-01-02 |
AU2013281103A1 (en) | 2014-11-27 |
EP2867794A4 (en) | 2016-02-24 |
AU2016204245A1 (en) | 2016-07-14 |
EP2867794A1 (en) | 2015-05-06 |
WO2014003920A1 (en) | 2014-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104321744A (zh) | 针对潜在动作预测的应用提供的上下文 | |
US9886667B2 (en) | Performance of predicted actions | |
JP5868429B2 (ja) | 領域に基づくガベージ・コレクタを用いてクラスを漸進的にアンロードするための方法、コンピュータ・プログラム製品、および装置 | |
US20150248306A1 (en) | Hidden automated data mirroring for native interfaces in distributed virtual machines | |
CN118606586A (zh) | 一种页面处理方法、装置及设备 | |
CN108400929B (zh) | 数据处理方法、装置、计算设备和介质 | |
CN107977275B (zh) | 基于消息队列的任务处理方法及相关设备 | |
US9069807B2 (en) | Method and system for implementing an array using different data structures | |
CN112258295A (zh) | 记录处理方法、装置及设备 | |
CN104321763A (zh) | 基于系统观察的潜在动作的概率 | |
CN105094857A (zh) | 用于应用加载的方法和系统 | |
CN106528294A (zh) | 一种资源池管理方法及系统 | |
KR101248470B1 (ko) | 자원 모니터링 컴퓨팅 장치, 방법 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록매체 | |
CN111475342B (zh) | 用于电子终端的应用切换方法和应用切换装置 | |
US20230297353A1 (en) | Intelligent data processing system with multi-interface frontend and backend | |
CN115794734A (zh) | 对文件存储系统进行读写操作的方法、装置和设备 | |
CN103294406A (zh) | 控制方法、控制装置、存储设备和电子设备 | |
Frommholz et al. | Towards a geometrical cognitive framework |
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 |