System and method for selective timer coalescing

US9542230B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9542230-B2
Application numberUS-201313895262-A
CountryUS
Kind codeB2
Filing dateMay 15, 2013
Priority dateMay 15, 2013
Publication dateJan 10, 2017
Grant dateJan 10, 2017

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 and apparatus of a device that coalesces the execution of several timers by scheduling the timers using a scheduling window is described. The device determines a scheduling window for each of several timers. The device selects a coalesced execution time that is within the scheduling window of the timers. The device coalesces the execution of the timers by scheduling the timers to execute at the coalesced execution time. The device can further coalesce multiple timers by opportunistic execution of the timers. In response to a detection of an opportunistic execution trigger event, the device receives multiple timers. The device selects a subset of the timers to execute based on an initial execution time and a latency time for each of the timers. The device schedules each of the subset of timers to execute during or before the opportunistic execution trigger event.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to coalesce an execution of a plurality of timers, the method comprising: receiving the plurality of timers, wherein each of the plurality of timers includes an initial execution time, timer priority, and a latency time and, wherein the latency time for one of the plurality of timers is based on at least the timer priority for that timer and each of the plurality of timers is a time-driven interrupt source to trigger a periodic activity; determining a scheduling window based on the initial execution time and the latency time for each of the plurality of timers; selecting a coalesced execution time that is within each scheduling window of the plurality of timers; and coalescing the execution of each of the plurality of timers by scheduling each of the plurality of timers to execute at the coalesced execution time. 2. The non-transitory machine-readable medium of claim 1 , wherein the method further comprises: executing each of the plurality of timers at the coalesced execution time. 3. The non-transitory machine-readable medium of claim 1 , wherein each of the plurality of timers is a software timer. 4. The non-transitory machine-readable medium of claim 1 , wherein each of the plurality of timers is associated with a task and the timer priority for each of the plurality of timers is based on a task priority of the associated task. 5. The non-transitory machine-readable medium of claim 1 , wherein the latency time is the amount of time that an execution of that timer can be delayed. 6. The non-transitory machine-readable medium of claim 1 , wherein the selecting the coalesced execution time comprises: identifying an overlapped scheduling window of all the plurality of timers; and selecting the coalesced execution time within the overlapped scheduling window. 7. The non-transitory machine-readable medium of claim 1 , wherein the selecting the coalesced execution time comprises: identifying an overlapped scheduling window of a set of the plurality of timers, wherein the set of timers comprises more timers than any other set of timers that have overlapped scheduling windows; and selecting the coalesced execution time within the overlapped scheduling window. 8. A computer implemented method to coalesce an execution of a plurality of timers, the method comprising: detecting an opportunistic execution trigger event of a device; and in response to the detecting of the opportunistic execution trigger event: receiving the plurality of timers, wherein each of the plurality of timers includes an initial execution time, a timer priority, and a latency time and, wherein the latency time for one of the plurality of timers is based on at least the timer priority for that timer and each of the plurality of timers is a time-driven interrupt source to trigger a periodic activity; selecting a subset of the plurality of timers to execute based on the initial execution time and the latency time for each of the plurality of timers; and coalescing the execution of the subset of each of the plurality of timers by scheduling each of the subset of timers to execute based on the opportunistic execution trigger event. 9. The method of claim 8 , wherein each of the plurality of timers is associated with a task and the timer priority for each of the plurality of timers is based on a task priority of the associated task. 10. The method of claim 8 , wherein the opportunistic execution trigger event is a non-timer device interrupt. 11. The method of claim 8 , wherein the opportunistic execution trigger event is a pending entry into a processor idle state. 12. The method of claim 8 , wherein the latency time is the amount of time that an execution of that timer can be delayed. 13. The method of claim 8 , wherein the selecting the subset of the plurality of timers to execute comprises: determining a scheduling window for each of the plurality of timers based on the initial execution time and the latency time of the timer; and selecting a timer when the opportunistic execution trigger event occurs at a time that falls into the scheduling window of the timer. 14. A device to coalesce an execution of a plurality of timers, the device comprising: a processor; a memory coupled to the processor though a bus; and a process executed from the memory by the processor causes the processor to detect an opportunistic execution trigger event, receive the plurality of timers, wherein each of the plurality of timers includes an initial execution time, a timer priority, and a latency time and, wherein the latency time for one of the plurality of timers is based on at least the timer priority for that timer and each of the plurality of timers is a time-driven interrupt source to trigger a periodic activity, select a subset of the plurality of timers to execute based on the initial execution time and the latency time for each of the plurality of timers, and coalesce the execution of each of the subset of the plurality of timers by scheduling each of the subset of timers to execute based on the opportunistic execution trigger event. 15. The device of claim 14 , wherein the opportunistic execution trigger event is a non-timer device interrupt. 16. The device of claim 14 , wherein the opportunistic execution trigger event is a pending entry into a processor idle state.

Assignees

Inventors

Classifications

  • G06F9/4881Primary

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

  • Improving the reliability of storage systems · CPC title

  • Cross-Sectional Technologies · mapped topic

  • G06F9/5038Primary

    considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · 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 US9542230B2 cover?
A method and apparatus of a device that coalesces the execution of several timers by scheduling the timers using a scheduling window is described. The device determines a scheduling window for each of several timers. The device selects a coalesced execution time that is within the scheduling window of the timers. The device coalesces the execution of the timers by scheduling the timers to execu…
Who is the assignee on this patent?
Apple Inc, Apple Inc
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 Jan 10 2017 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).