System and method for dynamic CPU multitasking

US11249800B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11249800-B2
Application numberUS-201916665466-A
CountryUS
Kind codeB2
Filing dateOct 28, 2019
Priority dateOct 28, 2019
Publication dateFeb 15, 2022
Grant dateFeb 15, 2022

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.

A method, computer program product, and computing system for determining a block application execution utilization on a central processing unit (CPU) of the computing device. A non-block application execution utilization on the CPU may be determined. A CPU execution release interval and CPU execution release duration for the block application may be generated based upon, at least in part, the block application execution utilization and the non-block application execution utilization.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: determining a block application execution utilization on a central processing unit (CPU) of the computing device; determining a non-block application execution utilization on the CPU, wherein determining the non-block application execution utilization on the CPU includes determining a CPU execution release time and a CPU execution resume time associated with the block application, wherein determining the CPU execution release time and a CPU execution resume time associated with the block application includes, at least in part, determining a threshold minimum number of times the CPU was released by the block application and not used by the non-block application; and generating a CPU execution release interval and CPU execution release duration for the block application based upon, at least in part, the block application execution utilization and the non-block application execution utilization. 2. The computer-implemented method of claim 1 , further comprising: releasing the CPU from executing the block application for a predefined CPU execution release duration and a predefined CPU execution release interval based upon, at least in part, the CPU execution release interval and the CPU execution release duration. 3. The computer-implemented method of claim 1 , wherein determining the block application execution utilization on the CPU includes: determining a percentage of time the block application is idle, and determining a percentage of time the block application is used. 4. The computer-implemented method of claim 1 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes: comparing the block application utilization against one or more block application utilization thresholds, and comparing the non-block application utilization against one or more non-block application utilization thresholds. 5. The computer-implemented method of claim 4 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes incrementally adjusting one or more of a previous CPU execution release interval and a previous CPU execution release duration. 6. The computer-implemented method of claim 5 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes one or more of: increasing the previous CPU execution release interval in response to determining a high block application utilization and a low non-block application utilization based upon, at least in part, comparing the block application utilization against the one or more block application utilization thresholds and comparing the non-block application utilization against the one or more non-block application utilization thresholds, and decreasing the previous CPU execution release interval and increasing the previous CPU execution release duration in response to determining a high non-block application utilization and a low block application utilization based upon, at least in part, comparing the block application utilization against the one or more block application utilization thresholds and comparing the non-block application utilization against the one or more non-block application utilization thresholds. 7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: determining a block application execution utilization on a central processing unit (CPU) of a computing device; determining a non-block application execution utilization on the CPU, wherein determining the non-block application execution utilization on the CPU includes determining a CPU execution release time and a CPU execution resume time associated with the block application, wherein determining the CPU execution release time and a CPU execution resume time associated with the block application includes, at least in part, determining a threshold minimum number of times the CPU was released by the block application and not used by the non-block application; and generating a CPU execution release interval and CPU execution release duration for the block application based upon, at least in part, the block application execution utilization and the non-block application execution utilization. 8. The computer program product of claim 7 , wherein the operations further comprise: releasing the CPU from executing the block application for a predefined execution release duration and a predefined execution release interval based upon, at least in part, the CPU execution release interval and the CPU execution release duration. 9. The computer program product of claim 7 , wherein determining the block application execution utilization on the CPU includes: determining a percentage of time the block application is idle, and determining a percentage of time the block application is used. 10. The computer program product of claim 7 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes: comparing the block application utilization against one or more block application utilization thresholds, and comparing the non-block application utilization against one or more non-block application utilization thresholds. 11. The computer program product of claim 10 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes incrementally adjusting one or more of a previous CPU execution release interval and a previous CPU execution release duration. 12. The computer program product of claim 11 , wherein generating the CPU execution release interval and the CPU execution release duration for the block application includes one or more of: increasing the previous CPU execution release interval in response to determining a high block application utilization and a low non-block application utilization based upon, at least in part, comparing the block application utilization against the one or more block application utilization thresholds and comparing the non-block application utilization against the one or more non-block application utilization thresholds, and decreasing the previous CPU execution release interval and increasing the previous CPU execution release duration in response to determining a high non-block application utilization and a low block application utilization based upon, at least in part, comparing the block application utilization against the one or more block application utilization thresholds and comparing the non-block application utilization against the one or more non-block application utilization thresholds. 13. A computing system comprising: a memory; and a processor configured to determine a block application execution utilization on a central processing unit (CPU) of a computing device, the processor further configured to determine a non-block application execution utilization on the CPU, wherein determining the non-block application execution utilization on the CPU includes determining a CPU execution release time and a CPU execution resume time associated with the block application, wherein determining the CPU execution release time and a CPU execution resume time associated with the block application includes, at least in part, determining a threshold minimum number of times the CPU was released by the block application and not used by the n

Assignees

Inventors

Classifications

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · 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 US11249800B2 cover?
A method, computer program product, and computing system for determining a block application execution utilization on a central processing unit (CPU) of the computing device. A non-block application execution utilization on the CPU may be determined. A CPU execution release interval and CPU execution release duration for the block application may be generated based upon, at least in part, the b…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 15 2022 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).