Dynamic process criticality scoring

US11966787B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11966787-B2
Application numberUS-202117219620-A
CountryUS
Kind codeB2
Filing dateMar 31, 2021
Priority dateMar 31, 2021
Publication dateApr 23, 2024
Grant dateApr 23, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

There is disclosed in one example a computer apparatus, including: a hardware platform including a central processor unit (CPU) and a memory; and instructions encoded within the memory to instruct the CPU to: enumerate a plurality of running processes, and associate resource demands with the running processes; predict a resource starvation condition for at least one process; rank the plurality of running processes according to a dynamic ranking algorithm, wherein the ranking algorithm includes user engagement as an input for ranking a process; and according to the ranking and a safeguard algorithm, deallocate resources from a process ranked lower than the at least one process and assign the deallocated resources to the at least one process to mitigate the predicted resource starvation condition.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing apparatus, comprising: an endpoint hardware platform comprising a central processor unit (CPU) circuit and a memory; and instructions encoded within the memory to instruct the CPU circuit to: enumerate a plurality of running user processes, and associate resource demands with the running user processes; predict a resource starvation condition for a selected user process, selected from the running user processes; rank the plurality of running user processes according to a multi-factor resource-wise process prioritization topology, wherein ranking comprises including device-local user interaction as an input for ranking the selected user process; and according to the ranking and a safeguard algorithm, deallocate resources from a process ranked lower than the selected user process and assign the deallocated resources to the selected user process to mitigate the predicted resource starvation condition. 2. The computing apparatus of claim 1 , wherein the instructions are further to build a topologically-ordered process graph to use as an input to the multi-factor resource-wise process prioritization topology. 3. The computing apparatus of claim 2 , wherein the topologically-ordered process graph comprises a two-dimensional matrix of process priority and resource priority. 4. The computing apparatus of claim 1 , wherein user engagement is a function of user focus time. 5. The computing apparatus of claim 1 , wherein user engagement is a function of user interactions with a user interface. 6. The computing apparatus of claim 1 , wherein user engagement is a function of data streaming duration. 7. The computing apparatus of claim 1 , wherein user engagement is a function of a usage mode. 8. The computing apparatus of claim 7 , wherein the usage mode is selected from work, leisure, or kids. 9. The computing apparatus of claim 1 , wherein the multi-factor resource-wise process prioritization topology includes a static user-assigned ranking as an input. 10. The computing apparatus of claim 1 , wherein the multi-factor resource-wise process prioritization topology includes system criticality as an input. 11. The computing apparatus of claim 1 , wherein at least some of the plurality of running user processes have a pre-assigned priority. 12. The computing apparatus of claim 1 , wherein deallocating comprises deallocating resources from a process with a higher pre-assigned priority to a process with a lower pre-assigned priority or without a pre-assigned priority. 13. At least one tangible, non-transitory computer-readable storage medium having stored thereon executable instructions to: enumerate, on an endpoint device, a plurality of running user processes having user-assigned static rankings; identify a resource starvation condition for a selected process, selected from the running user processes; dynamically rank the plurality of running user processes via a multi-factor resource-wise process prioritization topology that includes a user engagement score, wherein the user engagement score accounts for device-local user interaction with running user processes; and apply a safeguard algorithm to shift resources to the selected process from a process ranked lower by the multi-factor resource-wise process prioritization topology. 14. The at least one tangible, non-transitory computer-readable storage medium of claim 13 , wherein identifying the resource starvation condition comprises examining a process's resource utilization over a window, and resource availability over a window, and predicting a starvation condition if a difference between a maximum usage and a minimum availability within the window is less than a threshold. 15. The at least one tangible, non-transitory computer-readable storage medium of claim 13 , wherein the plurality of running user processes have a pre-assigned rank selected from 0, 1, and 2. 16. The at least one tangible, non-transitory computer-readable storage medium of claim 13 , wherein the safeguard algorithm uses a minimum of 20% availability for a resource for a process with a pre-assigned rank of 0. 17. The at least one tangible, non-transitory computer-readable storage medium of claim 13 , wherein the safeguard algorithm uses a minimum of 15% availability for a resource for a process with a pre-assigned rank of 1. 18. The at least one tangible, non-transitory computer-readable storage medium of claim 13 , wherein the safeguard algorithm uses a minimum of 5% availability for a resource for a process with a pre-assigned rank of 2. 19. A method of providing process management for an endpoint computing system, comprising: receiving static priority assignments for a plurality of n user processes of the endpoint, wherein n is an integer greater than 1; predicting that a selected process from among the plurality of user processes will encounter a resource shortage; dynamically ranking the plurality of user processes according to a multi-factor resource-wise process prioritization topology, wherein the multi-factor resource-wise process prioritization topology accounts for device-local user interaction with user processes; selecting a lower-ranked process according to the multi-factor resource-wise process prioritization topology; and shifting a resource allocation from the lower-ranked process to the selected process. 20. The method of claim 19 , wherein 2≤n≤10.

Assignees

Inventors

Classifications

  • G06F9/505Primary

    considering the load · CPC title

  • G06F9/4831Primary

    with variable priority · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Workload prediction · CPC title

  • Resource availability · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11966787B2 cover?
There is disclosed in one example a computer apparatus, including: a hardware platform including a central processor unit (CPU) and a memory; and instructions encoded within the memory to instruct the CPU to: enumerate a plurality of running processes, and associate resource demands with the running processes; predict a resource starvation condition for at least one process; rank the plurality …
Who is the assignee on this patent?
Mcafee Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 23 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).