CN109165054B - 用于程序代码的预先取出和早执行的系统和方法 - Google Patents
用于程序代码的预先取出和早执行的系统和方法 Download PDFInfo
- Publication number
- CN109165054B CN109165054B CN201810929002.7A CN201810929002A CN109165054B CN 109165054 B CN109165054 B CN 109165054B CN 201810929002 A CN201810929002 A CN 201810929002A CN 109165054 B CN109165054 B CN 109165054B
- Authority
- CN
- China
- Prior art keywords
- computer device
- computer
- executable code
- action
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000009471 action Effects 0.000 claims abstract description 128
- 230000003334 potential effect Effects 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims description 60
- 230000007704 transition Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 230000008093 supporting effect Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000002910 structure generation Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- LPXPTNMVRIOKMN-UHFFFAOYSA-M sodium nitrite Substances [Na+].[O-]N=O LPXPTNMVRIOKMN-UHFFFAOYSA-M 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了用于预测动作的执行的技术和系统的实施例。在实施例中,预测动作执行引擎(“PAE”)可以接收可以在计算设备上执行的潜在动作的一个或概率。PAE也可以接收描述计算设备上的可用资源、工作负荷等等的计算设备的系统背景。基于这些概率和系统背景,PAE可以确定可能发生并且可以被提前执行的一个或多个预测动作和/或资源利用。PAE然后可以促进这些动作和/或资源利用的执行。可以描述和要求保护其他实施例。
Description
相关申请的交叉引用
本申请要求2012年6月29日提交的美国专利申请号码13/539,177的优先权,其整个内容通过引用被整体合在此以用于所有目的。
背景技术
当使用计算设备时,许多用户体验到与预期的相比更慢的执行。具体地,经常察觉到许多新的计算机和设备比他们的前任仅仅少量地快,这是因为系统对用户输入的响应时间可能保持为类似于较旧的系统。类似地,可能察觉到共同的应用采用大致相同的时间量来开始或完成。
例如,点击用户接口中的按钮或开始新的命令经常趋向于导致从系统到系统的基本上恒定的响应时间。该执行可能表现为几乎与基础系统的真实执行和能力无关。尽管在一些情况下固态驱动器和更智能高速缓存机制的使用可能有帮助,但他们尚未解决该问题。
附图说明
通过结合附图所进行的以下详细描述将容易地理解实施例。为了促进该描述,相似的参考数字指的是相似结构要素。在附图的图中作为示例而非作为限制来图示实施例。
图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的代码的预先取出(和/或促进该代码的及早执行)。在其他的实施例中,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使用这些概率来选择用于执行的动作,如在本文所描述的。
在各个实施例中,可以由OE 250被动地接收(诸如通过向OE 250报告已经被执行的动作和/或资源利用的指示的应用或系统过程)动作/资源利用210。在其他的实施例中,OE 250可以被配置为从计算设备主动地请求和/或以其他方式获取动作和/或资源利用210。
在各个实施例中,OE 250也可以被配置为从在计算设备上执行的一个或多个应用220接收应用背景信息。在各个实施例中,应用220可以包括可以与OE 250进行通信以便提供背景信息的背景组件230。应用220可以被如此配置以便向OE 250并且因此向PE 110提供与否则在没有来自在计算设备上执行的应用的直接协助的情况下将对于PE 110可得到的信息相比更多的信息。例如,编码环境应用220可以诸如通过其背景组件230提供描述被写入应用中的代码的类型的标签。在另一个示例中,电子邮件应用220可以提供已经接收到电子邮件的标签、电子邮件的发送方的标签和描述.ppt文件被附加的标签。可以由PE 110使用该信息来确定每当从某个人接收到具有.ppt文件的电子邮件时,就可能执行PowerPoint。PAE 100可以因此促进针对PowerPointTM应用的代码的加载。
在各个实施例中,背景组件230可以提供诸如但不限于以下各项的信息:应用状态、描述由应用220访问的一个或多个文件的信息、由应用220接收的消息、信息的一个或多个接收方或发送方对应用的标识,等等。在各个实施例中,背景组件230可以以一个或多个标签的形式向OE 250提供应用背景信息。如以下描述的,这些标签可以被附加到由OE 250接收的动作和/或资源利用210以便提供针对这些所接收的动作和/或资源利用210的附加背景;这进而可以允许OE生成更准确和/或更详细的流结构250。类似地,在各个实施例中,OE 250可以向AE 260提供一个或多个背景标签225,AE 260可以用于向一个或多个当前动作205提供背景。在各个实施例中,背景标签255的该提供可以促进AE 260产生更准确的概率270。在本文描述应用背景信息和标签的特定使用。
图3图示根据各个实施例的示例动作预测和执行过程300。过程可以在操作320开始,其中,在各个实施例中,PE 110可以生成一个或多个概率以供PAE 100使用。以下讨论操作320的特定实施例。接下来,在操作340,PAE 100可以基于由PE 110在操作320生成的概率来执行一个或多个预测动作。在实施例中,在操作340的预测动作的执行也可以部分地基于当前系统背景120。以下讨论操作340的特定实施例。在各个实施例中,然后可以对于附加的概率和预测动作在操作320重复该过程。在一些实施例中,过程改为结束。
图4图示根据各个实施例的示例概率生成过程400。在各个实施例中,可以由PE110执行过程400以实施过程300的操作320的一个或多个实施例。过程可以在操作410开始,其中OE 250可以生成流结构250。以下讨论操作410的特定实施例。接下来,在操作420,AE260可以基于生成的流结构250和当前动作205来生成概率。以下讨论操作420的特定实施例。
接下来,在操作430,可以从AE 260输出概率。在各个实施例中,可以将输出的概率排序以易于由PAE 100使用。因此,在一些实施例中,可以按可能性将概率排序。在其他的实施例中,可以按距当前动作205的时间上的假设距离来对由AE 260输出的概率进行排序。该过程然后可以结束。
图5图示根据各个实施例的示例流结构生成过程500。在各个实施例中,可以由OE250执行过程500以实施过程400的操作410的一个或多个实施例。过程可以在操作520开始,其中OE 250可以从计算设备收集关于动作和/或资源利用的信息。在各个实施例中,也可以从一个或多个应用获得这些观测。以下参考图6的过程600来描述操作520的特定实施例。
现在参照图6,该图图示根据各个实施例的示例观测收集过程600。在各个实施例中,可以由OE 250执行过程600以实施过程500的操作510的一个或多个实施例。该过程可以在操作610开始,其中OE 250可以从应用220接收应用背景信息。在各个实施例中,可以从应用220的背景组件230接收应用背景信息。在一些实施例中,可以接收标签形式的应用背景信息。过程600的操作的以下描述因此可以特定参考标签;然而,可以认识到的是,在其他的实施例中,所接收的应用背景信息可以采取其他形式。
在操作620,OE 250可以将最近接收的标签推送到堆栈数据结构上。在各个实施例中,使用堆栈以便允许背景的容易移除以及在各个堆栈被应用于所接收的动作和资源利用时允许各个堆栈的嵌套;在其他的实施例中,可以使用其他数据结构来存储堆栈。
接下来,在操作630,OE 250可以获取一个或多个动作和/或资源利用。如以上讨论的,在各个实施例中,可以被动地接收这些动作和/或资源利用,而在其他实施例中,O E250可以主动地寻找动作和/或资源利用信息。接下来,在操作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,其中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。在各个实施例中,可以由AE 260执行过程800以实施过程400的操作420。过程可以在操作810开始,其中AE260可以接收由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可以以百分数(out of 100)的可以执行的转换的次数的形式来计算预期值。例如,如果基于当前动作,给定应用被预期为运行时间的50%,则至该应用的转换的预期值可以是50(百分数)。在另一个示例中,如果应用被预期为平均运行两倍时间,则预期值可以是百分之200。在一些实施例中,预期值可以被控制在最大值。
返回到图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可以诸如从PE110获取动作和/或资源的一个或多个概率。如上面讨论的,在各个实施例中,可以将这些概率排序以供PAE 100使用。
接下来,在操作1030,PAE 100可以选择对潜在的动作和/或资源分配进行支持并且在给定针对计算设备的当前系统背景的情况下可以被执行的动作和/或资源利用。因此,在各个实施例中,PAE 100可以针对已接收到其概率的潜在动作和/或资源利用来确定在给定由系统背景指示的能力的情况下可以执行哪些支持动作和/或资源利用。在各个实施例中,在操作1030,PAE 100可以确定在不引起计算设备的用户值得注意的减速的情况下可以执行这些支持动作和/或资源利用中的那些。
最后,在操作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可以包括一个或多个输入/输出(“I/O”)控制器以提供针对NVM/存贮器1116和(一个或多个)通信接口1120的接口。
NVM/存贮器1116可以例如用于存储数据和/或指令。NVM/存贮器1116可以包括任何适当的非易失性存储器,诸如像闪速存储器,和/或可以包括任何适当的(一个或多个)非易失性存储设备,诸如像一个或多个硬盘驱动器(“HDD”)、一个或多个固态驱动器、一个或多个光盘(“CD”)驱动器,和/或一个或多个数字通用盘(“驱动器”)驱动器。
NVM/存贮器1116可以包括物理上是系统1100安装于其上的设备的部分的存储资源,或者其可以是可由设备访问的,但不必然是设备的部分。例如,可以经由(一个或多个)通信接口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”)。
以下段落描述各个实施例的示例。在各个实施例中,用于预测装置的活动的装置可以包括一个或多个计算机处理器。装置也可以包括预测动作引擎,该预测动作引擎被配置为由一个或多个计算机处理器操作以接收计算设备的当前系统背景的一个或多个指示。预测动作引擎也可以被配置为:被操作以至少部分地基于当前背景和由在计算设备上执行的第一一个或多个过程进行的潜在动作或资源利用的一个或多个概率来选择将由第二一个或多个过程执行的一个或多个预测动作或资源利用以支持针对第一一个或多个任务预测的一个或多个动作或资源利用。
在各个实施例中,装置还可以包括第一或第二一个或多个过程中的至少所选择的一个。在各个实施例中,第一和第二一个或多个过程是相同的一个或多个过程。在各个实施例中,装置还可以包括概率引擎,该概率引擎还被配置为由一个或多个计算机处理器来操作以确定由在计算设备上执行的第一一个或多个过程进行的潜在动作或资源利用的一个或多个概率并且向预测动作引擎提供所确定的一个或多个概率。
在各个实施例中,预测动作引擎可以被配置为经由过程的执行状态的接收来接收当前系统背景的一个或多个指示。在各个实施例中,预测动作引擎可以被配置为经由针对计算设备的环境信息的接收来接收当前系统背景的一个或多个指示。
在各个实施例中,预测动作引擎可以被配置为经由资源的可用性的指示的接收来接收当前系统背景的一个或多个指示。在各个实施例中,预测动作引擎可以被配置为:通过在不使第二计算设备的执行减速的情况下选择能够利用可用资源被执行的一个或多个动作或资源利用来选择一个或多个预测动作或资源利用。
在各个实施例中,装置和计算设备可以是相同的设备。在各个实施例中,预测动作引擎被配置为由一个或多个计算机处理器来操作以促进一个或多个所选择的动作或资源利用的执行。在各个实施例中,预测动作引擎可以被配置为:通过针对被预测将发生的一个或多个动作的可执行代码的加载来促进一个或多个所选择的动作的执行。在各个实施例中,预测动作引擎可以被配置为:通过来自资源的数据的高速缓存来促进一个或多个所选择的资源利用的执行。在各个实施例中,预测动作引擎被配置为:通过经由网络执行数据访问来促进一个或多个所选择的资源利用的执行。
在各个实施例中,预测动作引擎还可以被配置为由一个或多个计算机处理器来操作以接收由第一一个或多个过程进行的潜在动作或资源利用的一个或多个概率。在各个实施例中,预测动作引擎可以被配置为:通过接收包括潜在动作或资源利用的排序标识的结构来接收由第一一个或多个过程进行的潜在动作或资源利用的一个或多个概率。在各个实施例中,预测动作引擎可以被配置为:通过接收按概率排序的结构来接收包括潜在动作或资源利用的排序标识的结构。在各个实施例中,预测动作引擎可以被配置为:通过接收按距当前事件的时间上的距离排序的结构来接收包括潜在动作或资源利用的排序标识的结构。在各个实施例中,预测动作引擎还可以被配置为被操作以向背景添加所选择的动作。
用于执行以上描述的技术的计算机可读介质(包括非暂时性计算机可读介质)、方法、系统和设备是在本文公开的实施例的说明性示例。另外地,在以上描述的交互中的其他设备可以被配置为执行各种公开的技术。
尽管在这里为了描述的目的已经图示和描述了某些实施例,但可以在不背离本公开的范围的情况下利用被计算为实现相同目的的广泛的各种替换和/或等同的实施例或实施方式来代替所示出和描述的实施例。本申请意图覆盖在这里讨论的实施例的任何更改或变化。因此,在本文描述的实施例显然意图仅仅由权利要求所限制。
在本公开叙述“一”或“第一”要素或其等同物的情况下,这样的公开包括一个或多个这样的要素,既不要求也不排斥两个或更多这样的要素。另外,针对所标识的要素的顺序指示符(例如,第一、第二或第三)用于在要素之间进行区分,并且不指示或暗示这样的要素的所要求或限制的编号,他们也不指示这样的要素的特定位置或次序,除非另外特别陈述。
Claims (30)
1.一种在计算机系统中采用的片上系统(SoC),所述SoC包括处理器电路,所述处理器电路被配置为:
标识所述计算机系统的当前系统背景,其中,所述当前系统背景包括关于在所述计算机系统上执行的一个或多个应用的信息,
基于多个状态和所述多个状态中的各个状态之间的转换的指示,确定针对所述计算机系统的一个或多个潜在动作的概率,以及
基于所述当前系统背景和所确定的概率,选择要执行的预测动作;以及
在接收获取针对所述预测动作的可执行代码的命令之前,预先取出针对所述预测动作的所述可执行代码。
2.根据权利要求1所述的SoC,其中,所述当前系统背景还包括所述计算机系统的当前状态、所述计算机系统的资源可用性、所述计算机系统的逻辑环境、所述计算机系统的物理位置以及针对所述计算机系统的环境信息。
3.根据权利要求1所述的SoC,其中,流结构要指示所述多个状态和各个状态之间的转换,并且其中,所述流结构包括按距所述计算机系统的当前状态起执行的概率和时间上的距离排序的潜在动作的指示,并且其中,为了确定所述概率,所述处理器电路被配置为处理所述流结构。
4.根据权利要求1所述的SoC,其中,所述处理器电路被配置为:
为所述预测动作选择一个或多个支持动作和/或资源利用以支持执行所述预测动作的所述可执行代码的执行。
5.根据权利要求4所述的SoC,其中,为了选择一个或多个动作以支持执行,所述处理器电路被配置为:
从由所述当前系统背景指示的能力之中标识所述一个或多个支持动作和/或资源利用。
6.根据权利要求1所述的SoC,其中,所述计算机系统包括通信电路,并且其中,为了预先取出所述可执行代码,所述处理器电路被配置为:
将与所选择的预测动作相关联的高速缓存数据从一个或多个资源加载到高速缓冲存储器中,或者
控制所述通信电路以通过网络访问与所选择的预测动作相关联的数据。
7.根据权利要求1所述的SoC,其中,为了预先取出所述可执行代码,所述处理器电路被配置为:
获取由所述计算机系统实现的针对应用的所述可执行代码;或者从与所述计算机系统分离的另一个计算机系统获取所述可执行代码。
8.根据权利要求1-7中任何一项所述的SoC,其中,所述概率是基于与所述一个或多个潜在动作中的各个潜在动作相关联的一个或多个标签。
9.一种计算机系统,包括:
一个或多个处理器,与一个或多个存储器设备耦合,其中,所述一个或多个处理器要执行指令以:
标识所述计算机设备的当前系统背景,其中,所述当前系统背景包括关于在所述计算机设备上执行的一个或多个应用的信息;
基于多个状态和所述多个状态中的各个状态之间的转换的指示,确定针对所述计算机设备的一个或多个潜在动作的概率,以及
基于所述当前系统背景和所确定的概率,选择要执行的预测动作;以及
在接收获取针对所述预测动作的可执行代码的命令之前,预先取出针对所述预测动作的所述可执行代码。
10.根据权利要求9所述的计算机系统,还包括:
一个或多个通信接口,以及
其中,所述当前系统背景还包括:
所述计算机系统的当前状态,包括在所述计算机系统上执行的一个或多个应用、所述计算机系统消耗的功率、一个或多个存储器设备的资源可用性或者一个或多个处理器的当前工作负荷,
所述计算机设备的逻辑环境,包括所述一个或多个通信接口的网络连接性或由所述一个或多个通信接口通过网络接收的数据,
所述计算机设备的物理位置,以及
针对所述计算机设备的环境信息,包括所述计算机系统的温度。
11.根据权利要求10所述的计算机系统,其中,流结构要指示所述多个状态和各个状态之间的转换,并且其中,所述流结构包括按距所述计算机设备的当前状态起执行的概率和时间上的距离排序的潜在动作的指示,并且其中,为了确定所述概率,所述一个或多个处理器要执行所述指令以处理所述流结构。
12.根据权利要求11所述的计算机系统,其中,所述一个或多个处理器要执行所述指令以:
为所述预测动作选择一个或多个支持动作和/或资源利用以支持执行所述预测动作的所述可执行代码的执行。
13.根据权利要求12所述的计算机系统,其中,为了选择一个或多个动作以支持执行,所述一个或多个处理器要执行所述指令以:
从由所述当前系统背景指示的能力之中标识所述一个或多个支持动作和/或资源利用。
14.根据权利要求13所述的计算机系统,其中,为了预先取出所述可执行代码,所述一个或多个处理器要执行所述指令以将与所选择的预测动作相关联的高速缓存数据从一个或多个资源加载到高速缓冲存储器中,或者通过网络访问与所选择的预测动作相关联的数据。
15.根据权利要求9-14中任何一项所述的计算机系统,其中,为了预先取出所述可执行代码,所述一个或多个处理器要执行所述指令以:
获取由所述计算机设备实现的针对应用的所述可执行代码;或者从与所述计算机设备分离的另一个计算机设备获取所述可执行代码。
16.一种装置,用于预测计算机设备的活动,所述装置包括:
概率引擎,要由一个或多个计算机处理器操作以:
从所述计算机设备上执行的一个或多个应用获取背景信息;
标识由所述计算机设备当前正在执行的当前动作;
基于所述背景信息和所述当前动作,确定针对所述计算机设备的一个或多个潜在动作的概率;和
预测动作引擎,要由所述一个或多个计算机处理器操作以:
标识所述计算机设备的当前系统背景;
基于所述当前系统背景和所确定的概率,选择要执行的预测动作;以及
在接收获取针对动作的可执行代码的命令之前,预先取出针对所述预测动作的所述可执行代码。
17.根据权利要求16所述的装置,其中,所述当前系统背景包括所述计算机设备的当前状态、所述计算机设备的资源可用性、所述计算机设备的逻辑环境、所述计算机设备的物理位置以及针对所述计算机设备的环境信息。
18.根据权利要求17所述的装置,其中,流结构要指示多个状态和各个状态之间的转换,并且其中,所述流结构包括按距所述计算机设备的当前状态起执行的概率和时间上的距离排序的潜在动作的指示,并且其中,为了确定所述概率,所述概率引擎要处理所述流结构。
19.根据权利要求18所述的装置,其中,所述预测动作引擎要:
从由所述当前系统背景指示的能力之中标识一个或多个支持动作和/或资源利用;以及
为所述预测动作选择所述一个或多个支持动作和/或资源利用以支持针对所述预测动作的所述可执行代码的执行。
20.根据权利要求16-19中任何一项所述的装置,其中,为了预先取出所述可执行代码,所述预测动作引擎要将与所选择的预测动作相关联的高速缓存数据从一个或多个资源加载到高速缓冲存储器中、通过网络访问与所选择的预测动作相关联的数据、获取由所述计算机设备实现的针对应用的所述可执行代码或者从与所述计算机设备分离的另一个计算机设备获取所述可执行代码。
21.一种用于预测第一计算机设备的活动的方法,所述方法包括:
由第二计算机设备标识所述第一计算机设备的当前系统背景,其中,所述当前系统背景包括关于在所述第一计算机设备上执行的一个或多个应用的信息;
由所述第二计算机设备基于多个状态和所述多个状态中的各个状态之间的转换的指示,确定针对所述第一计算机设备的一个或多个潜在动作的概率;
由所述第二计算机设备基于所述当前系统背景和所确定的概率,选择要执行的预测动作;以及
由所述第二计算机设备在接收获取针对所述预测动作的可执行代码的命令之前,预先取出针对所述预测动作的所述可执行代码,其中,所述预先取出包括由所述第二计算机设备向所述第一计算机设备提供所述可执行代码。
22.根据权利要求21所述的方法,其中,所述当前系统背景还包括所述第一计算机设备的当前状态、所述第一计算机设备的资源可用性、所述第一计算机设备的逻辑环境、所述第一计算机设备的物理位置以及针对所述第一计算机设备的环境信息。
23.根据权利要求21所述的方法,其中,预先取出所述可执行代码包括以下各项中的一个或多个:
由所述第二计算机设备将与所选择的预测动作相关联的高速缓存数据从一个或多个资源加载到高速缓冲存储器中;
由所述第二计算机设备通过网络针对所述第一计算机设备访问和获取数据;以及
由所述第二计算机设备通过所述网络或另一个网络向所述第一计算机设备发送数据。
24.根据权利要求21所述的方法,其中,预先取出所述可执行代码包括:
由所述第二计算机设备从由所述第二计算机设备或所述第一计算机设备实现的应用获取所述可执行代码;或者
由所述第二计算机设备从与所述第一计算机设备分离的第三计算机设备获取所述可执行代码。
25.根据权利要求24所述的方法,其中,所述第一计算机设备和第二计算机设备被实现为相同的计算机设备,或者所述第一计算机设备和第二计算机设备被实现为不同的计算机设备。
26.包括指令的至少一个计算机可读存储介质,其中,由一个或多个处理器执行所述指令要使计算机设备执行根据权利要求21-25中任何一项所述的方法。
27.一种用于预测计算机设备的活动的装置,所述装置包括:
用于标识第一计算机设备的当前系统背景的部件,其中,所述当前系统背景包括关于在所述第一计算机设备上执行的一个或多个应用的信息;
用于基于多个状态和所述多个状态中的各个状态之间的转换的指示确定针对所述第一计算机设备的一个或多个潜在动作的概率的部件;
用于基于所述当前系统背景和所确定的概率选择要执行的预测动作的部件;以及
用于在接收获取针对所述预测动作的可执行代码的命令之前预先取出针对所述预测动作的所述可执行代码的部件,其中,用于预先取出的部件包括用于向所述计算机设备提供所述可执行代码的部件。
28.根据权利要求27所述的装置,其中,所述当前系统背景还包括所述第一计算机设备的当前状态、所述第一计算机设备的资源可用性、所述第一计算机设备的逻辑环境、所述第一计算机设备的物理位置以及针对所述第一计算机设备的环境信息。
29.根据权利要求27所述的装置,其中,用于预先取出所述可执行代码的部件包括以下各项中的一个或多个:
用于将与所选择的预测动作相关联的高速缓存数据从一个或多个资源加载到高速缓冲存储器中的部件;
用于通过网络针对所述第一计算机设备访问和获取数据的部件;以及/或者
用于通过所述网络或另一个网络发送数据的部件;以及/或者
用于从由所述计算机设备实现的应用或者与所述计算机设备分离的另一个计算机设备获取所述可执行代码的部件。
30.根据权利要求29所述的装置,其中,所述装置和所述计算机设备在相同的计算机系统中实现,或者所述装置和所述计算机设备在不同的计算机系统中实现。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/539177 | 2012-06-29 | ||
US13/539,177 US9483308B2 (en) | 2012-06-29 | 2012-06-29 | Performance of predicted actions |
CN201380028081.XA CN104321764B (zh) | 2012-06-29 | 2013-05-21 | 用于程序代码的预先取出和早执行的系统和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380028081.XA Division CN104321764B (zh) | 2012-06-29 | 2013-05-21 | 用于程序代码的预先取出和早执行的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109165054A CN109165054A (zh) | 2019-01-08 |
CN109165054B true CN109165054B (zh) | 2021-12-28 |
Family
ID=49779394
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810929002.7A Expired - Fee Related CN109165054B (zh) | 2012-06-29 | 2013-05-21 | 用于程序代码的预先取出和早执行的系统和方法 |
CN201380028081.XA Expired - Fee Related CN104321764B (zh) | 2012-06-29 | 2013-05-21 | 用于程序代码的预先取出和早执行的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380028081.XA Expired - Fee Related CN104321764B (zh) | 2012-06-29 | 2013-05-21 | 用于程序代码的预先取出和早执行的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9483308B2 (zh) |
EP (2) | EP2867792A4 (zh) |
CN (2) | CN109165054B (zh) |
AU (1) | AU2013281102B2 (zh) |
WO (1) | WO2014003919A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9817739B1 (en) * | 2012-10-31 | 2017-11-14 | Veritas Technologies Llc | Method to restore a virtual environment based on a state of applications/tiers |
EP3183707A4 (en) | 2014-08-21 | 2018-02-28 | Uber Technologies Inc. | Arranging a transport service for a user based on the estimated time of arrival of the user |
US10706432B2 (en) * | 2014-09-17 | 2020-07-07 | [24]7.ai, Inc. | Method, apparatus and non-transitory medium for customizing speed of interaction and servicing on one or more interactions channels based on intention classifiers |
US10685416B2 (en) | 2015-12-10 | 2020-06-16 | Uber Technologies, Inc. | Suggested pickup location for ride services |
US10146656B2 (en) * | 2016-02-16 | 2018-12-04 | Tata Consultancy Services Limited | Service demand based performance prediction using a single workload |
US10721327B2 (en) | 2017-08-11 | 2020-07-21 | Uber Technologies, Inc. | Dynamic scheduling system for planned service requests |
US11049744B2 (en) * | 2017-10-24 | 2021-06-29 | International Business Machines Corporation | Optimizing semiconductor binning by feed-forward process adjustment |
US10731998B2 (en) | 2017-11-05 | 2020-08-04 | Uber Technologies, Inc. | Network computer system to arrange pooled transport services |
US11429725B1 (en) * | 2018-04-26 | 2022-08-30 | Citicorp Credit Services, Inc. (Usa) | Automated security risk assessment systems and methods |
US12064851B2 (en) | 2021-06-30 | 2024-08-20 | Saint-Gobain Abrasives, Inc. | Abrasive articles and methods for forming same |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690952A (zh) * | 2004-04-22 | 2005-11-02 | 国际商业机器公司 | 根据多组高速缓存组预测来选择执行的指令的装置和方法 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098064A (en) | 1998-05-22 | 2000-08-01 | Xerox Corporation | Prefetching and caching documents according to probability ranked need S list |
US6453389B1 (en) | 1999-06-25 | 2002-09-17 | Hewlett-Packard Company | Optimizing computer performance by using data compression principles to minimize a loss function |
US6501947B1 (en) * | 1999-12-23 | 2002-12-31 | Denso Corporation | Efficient resource management for packet data services |
US7285090B2 (en) * | 2000-06-16 | 2007-10-23 | Bodymedia, Inc. | Apparatus for detecting, receiving, deriving and displaying human physiological and contextual information |
WO2002044901A2 (en) | 2000-11-29 | 2002-06-06 | Netuitive Inc. | Computer performance forecasting system |
DE60209947T2 (de) | 2001-01-09 | 2007-02-22 | Metabyte Networks, Inc., Fremont | System, Verfahren und Software für die Bereitstellung einer gezielten Werbung durch Benutzerprofildatenstruktur basierend auf Benutzerpräferenzen |
US7007270B2 (en) | 2001-03-05 | 2006-02-28 | Cadence Design Systems, Inc. | Statistically based estimate of embedded software execution time |
US7054933B2 (en) * | 2001-03-19 | 2006-05-30 | Polycom, Inc. | Self-tuning statistical resource allocation for multipoint network events |
US20020174217A1 (en) * | 2001-05-18 | 2002-11-21 | Gateway, Inc. | System and method for predicting network performance |
JP2004008471A (ja) | 2002-06-06 | 2004-01-15 | Seiko Instruments Inc | 行動状況モニター装置、行動状況解析装置および行動状況解析システム |
US7020758B2 (en) * | 2002-09-18 | 2006-03-28 | Ortera Inc. | Context sensitive storage management |
US20090177068A1 (en) * | 2002-10-09 | 2009-07-09 | Stivoric John M | Method and apparatus for providing derived glucose information utilizing physiological and/or contextual parameters |
WO2004068399A1 (ja) | 2003-01-31 | 2004-08-12 | Matsushita Electric Industrial Co. Ltd. | 予測型行動決定装置および行動決定方法 |
CN1269036C (zh) * | 2003-04-24 | 2006-08-09 | 英特尔公司 | 用于生成预测助手线程的方法和计算机 |
US7647585B2 (en) * | 2003-04-28 | 2010-01-12 | Intel Corporation | Methods and apparatus to detect patterns in programs |
US7487296B1 (en) | 2004-02-19 | 2009-02-03 | Sun Microsystems, Inc. | Multi-stride prefetcher with a recurring prefetch table |
JP2005332127A (ja) | 2004-05-19 | 2005-12-02 | Nippon Telegr & Teleph Corp <Ntt> | 個人プロファイルによる状況予測システムおよび方法、プログラムおよび記録媒体 |
US7558822B2 (en) | 2004-06-30 | 2009-07-07 | Google Inc. | Accelerating user interfaces by predicting user actions |
KR100624432B1 (ko) * | 2004-08-05 | 2006-09-19 | 삼성전자주식회사 | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 |
US20070008989A1 (en) | 2005-06-30 | 2007-01-11 | Intel Corporation | Packet processing |
US7958509B2 (en) * | 2005-12-21 | 2011-06-07 | International Business Machines Corporation | Method and system for scheduling of jobs |
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 |
US8626136B2 (en) | 2006-06-29 | 2014-01-07 | Microsoft Corporation | Architecture for user- and context-specific prefetching and caching of information on portable devices |
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 |
WO2008041302A1 (en) * | 2006-09-29 | 2008-04-10 | Fujitsu Limited | Server disposing program and server disposing method |
US20080201332A1 (en) | 2007-02-20 | 2008-08-21 | Souders Steven K | System and method for preloading content on the basis of user context |
US7844424B2 (en) | 2007-03-01 | 2010-11-30 | The Boeing Company | Human behavioral modeling and simulation framework |
US8032472B2 (en) | 2007-04-04 | 2011-10-04 | Tuen Solutions Limited Liability Company | Intelligent agent for distributed services for mobile devices |
US9009292B2 (en) | 2007-07-30 | 2015-04-14 | Sybase, Inc. | Context-based data pre-fetching and notification for mobile applications |
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 |
US20090222833A1 (en) | 2008-02-28 | 2009-09-03 | Microsoft Corporation | Codeless provisioning sync rules |
WO2009108344A1 (en) | 2008-02-29 | 2009-09-03 | Vkernel Corporation | Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network |
US10115111B2 (en) | 2008-06-12 | 2018-10-30 | Guardian Analytics, Inc. | Modeling users for fraud detection and analysis |
JP5447774B2 (ja) * | 2008-11-28 | 2014-03-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プリフェッチ命令生成方法、コンパイラ、及びプログラム |
US8209062B2 (en) | 2009-12-16 | 2012-06-26 | Robert Bosch Gmbh | Method for non-intrusive load monitoring using a hybrid systems state estimation approach |
JP5382436B2 (ja) * | 2009-08-03 | 2014-01-08 | ソニー株式会社 | データ処理装置、データ処理方法、およびプログラム |
JP5445085B2 (ja) * | 2009-12-04 | 2014-03-19 | ソニー株式会社 | 情報処理装置、およびプログラム |
US8595176B2 (en) | 2009-12-16 | 2013-11-26 | The Boeing Company | System and method for network security event modeling and prediction |
JP2011209904A (ja) * | 2010-03-29 | 2011-10-20 | Sony Corp | 命令フェッチ装置、および、プロセッサ |
US10026058B2 (en) * | 2010-10-29 | 2018-07-17 | Microsoft Technology Licensing, Llc | Enterprise resource planning oriented context-aware environment |
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 |
US8745212B2 (en) * | 2011-07-01 | 2014-06-03 | Google Inc. | Access to network content |
US8645300B1 (en) | 2011-07-20 | 2014-02-04 | Usability Sciences Corporation | System and method for intent data processing |
US9043692B2 (en) | 2011-09-20 | 2015-05-26 | Oracle International Corporation | Predictive system recommended actions based on recent activities |
CN102521158B (zh) * | 2011-12-13 | 2014-09-24 | 北京北大众志微系统科技有限责任公司 | 一种实现数据预取的方法及装置 |
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,177 patent/US9483308B2/en active Active
-
2013
- 2013-05-21 AU AU2013281102A patent/AU2013281102B2/en not_active Ceased
- 2013-05-21 EP EP13809249.9A patent/EP2867792A4/en not_active Ceased
- 2013-05-21 CN CN201810929002.7A patent/CN109165054B/zh not_active Expired - Fee Related
- 2013-05-21 CN CN201380028081.XA patent/CN104321764B/zh not_active Expired - Fee Related
- 2013-05-21 WO PCT/US2013/042092 patent/WO2014003919A1/en active Application Filing
- 2013-05-21 EP EP19192498.4A patent/EP3588287B1/en active Active
-
2016
- 2016-10-27 US US15/336,076 patent/US9886667B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1690952A (zh) * | 2004-04-22 | 2005-11-02 | 国际商业机器公司 | 根据多组高速缓存组预测来选择执行的指令的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104321764A (zh) | 2015-01-28 |
EP3588287A1 (en) | 2020-01-01 |
AU2013281102B2 (en) | 2016-05-26 |
CN109165054A (zh) | 2019-01-08 |
EP3588287B1 (en) | 2022-11-30 |
EP2867792A1 (en) | 2015-05-06 |
US9886667B2 (en) | 2018-02-06 |
EP2867792A4 (en) | 2016-05-25 |
CN104321764B (zh) | 2018-09-11 |
US20170109645A1 (en) | 2017-04-20 |
US9483308B2 (en) | 2016-11-01 |
US20140006623A1 (en) | 2014-01-02 |
WO2014003919A1 (en) | 2014-01-03 |
AU2013281102A1 (en) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165054B (zh) | 用于程序代码的预先取出和早执行的系统和方法 | |
AU2013281104B2 (en) | Application-provided context for potential action prediction | |
US9547520B1 (en) | Virtual machine load balancing | |
CN103108020A (zh) | 服务协作设备、服务协作方法和计算机可读记录介质 | |
US9785374B2 (en) | Storage device management in computing systems | |
US20140006599A1 (en) | Probabilities of potential actions based on system observations | |
CN114207570A (zh) | 用于通过对环境上下文的主动适配识别信息空间的段的技术 | |
CN102426535A (zh) | 动态进程虚拟化 | |
Papageorgiou et al. | Situation detection on the edge | |
WO2012050416A1 (en) | A method of caching application | |
KR101248470B1 (ko) | 자원 모니터링 컴퓨팅 장치, 방법 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록매체 | |
US8468371B2 (en) | Energy management for datacenters | |
KR20220072338A (ko) | 엣지 서비스 증설 제어 시스템 및 그 제어방법 | |
Jiang | Dynamic Consolidation Based on K th-Order Markov Model for Virtual Machines | |
KR20220043303A (ko) | 마이크로 데이터센터내 가용 자원상태 기반 워크로드 예측 정확도 증가 방법 | |
CN114281486A (zh) | 数据处理方法、装置、计算设备及介质 | |
CN117573756A (zh) | 业务计数方法、装置、存储介质及电子设备 | |
CN103942084A (zh) | 虚拟化环境中应用共存分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211228 |