Approximate computation in digital systems using bit partitioning
US-11914447-B1 · Feb 27, 2024 · US
US9588576B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9588576-B2 |
| Application number | US-201113230698-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 12, 2011 |
| Priority date | Sep 12, 2011 |
| Publication date | Mar 7, 2017 |
| Grant date | Mar 7, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One or more techniques and/or systems are provided for suspending logically related processes associated with an application, determining whether to resume a suspended process based upon one or more wake policies, and/or managing an application state of an application, such as timer and/or system message data. That is, logically related processes associated with an application, such as child processes, may be identified and suspended based upon logical relationships between the processes (e.g., a logical container hierarchy may be traversed to identify logically related processes). A suspended process may be resumed based upon a set of wake policies. For example, a suspended process may be resumed based upon an inter-process communication call policy that may be triggered by an application attempting to communicate with the suspended process. Application data may be managed while an application is suspended so that the application may be resumed in a current and/or relevant state.
Opening claim text (preview).
What is claimed is: 1. A method for managing an application state of an application, comprising: maintaining an application message queue associated with an application while the application is in a suspend state, the application message queue configured to store system messages for the application while the application is in the suspend state; determining whether a first system message directed to the application message queue while the application is in the suspend state is supplementary to a second system message within the application message queue; upon determining the first system message is supplementary to the second system message, modifying at least one of the first system message or the second system message by merging the first system message and the second system message; maintaining and associating one or more counters with one or more wake policies for waking the application after the application is put into a suspend state, the wake policies causing the application to be transitioned out of the suspend state when the one or more counters reach a predetermined aggregate threshold of wake notifications, the one or more counters being incremented or decremented in response to a wake notification that is created in response to an event associated with the one or more wake policies; and processing at least the modified message. 2. The method of claim 1 , comprising: maintaining a list of timers associated with the application. 3. The method of claim 2 , comprising: creating timer rebasing data derived from the list of timers. 4. The method of claim 3 , the timer rebasing data comprising at least one of an original expiration time of an absolute timer or a time till expiration value of a relative timer. 5. The method of claim 2 , the maintaining a list of timers comprising: maintaining one or more timers associated with a root logical container assigned to the application within a logical container hierarchy. 6. The method of claim 5 , the maintaining a list of timers comprising: maintaining a first timer associated with a first process of the application based upon determining the first process is assigned to a first logical container associated with the root logical container within the logical container hierarchy. 7. The method of claim 6 , the maintaining a list of timers comprising: maintaining a second timer associated with a second process of the application based upon determining the second process is assigned to a second logical container associated with the first logical container. 8. The method of claim 3 , comprising: upon receiving a notification that the application is to be transitioned out of the suspend state and placed into an execution state, applying the timer rebasing data to one or more timers associated with the list of timers. 9. The method of claim 8 , the applying the timer rebasing data comprising: applying relative timer rebasing data to a relative timer to create a rebased relative timer, the rebased relative timer comprising a rebased expiration time derived from applying a time till expiration value to a current time. 10. The method of claim 1 , wherein the method further includes applying relevancy rankings to the first system message and the second system message to determine which message to delete prior to deleting the at least one of the first system message and the second system message. 11. The method claim 1 , wherein the method further includes applying different weights to different types of wake notifications, such that different types of wake notifications cause the one or more counters to be incremented differently. 12. A system for managing an application state of an application, comprising: one or more processing units; and memory comprising computer-executable instructions that are executable by the one or more processing units to cause the system to: maintain an application message queue associated with an application while the application is in a suspend state, the application message queue configured to store system messages for the application while the application is in the suspend state; and maintain and associate one or more counters with one or more wake policies for waking the application after the application is put into a suspend state, the wake policies causing the application to be transitioned out of the suspend state when the one or more counters reach a predetermined aggregate threshold of wake notifications, the one or more counters being incremented or decremented in response to a wake notification that is created in response to an event associated with the one or more wake policies. 13. The system of claim 12 , the application state manager configured to: upon receiving a notification that the application is to be transitioned out of the suspend state and placed into an execution state, apply timer rebasing data to one or more timers associated with the application, wherein the timer rebasing data comprises a duration of time during which the application is determined to have remained in a suspend state prior to being transitioned out of the suspend state. 14. The system of claim 12 , comprising: a component configured to maintain a list of timers associated with the application. 15. The system of claim 12 , wherein the computer-executable instructions are further executable by the one or more processing units to cause the system to determine whether a first system message directed to the application message queue while the application is in the suspend state corresponds to a second system message within the application message queue, where the first system message and the second system message originate from and are directed to a same computer; upon determining the first system message is supplementary to the second system message, modify at least one of the first system message or the second system message by merging the first system message and the second system message; delete at least one of the first system message and the second system message based on relevancy rankings associated with the first system message and the second system message; and to process at least the modified message. 16. A computer readable storage device comprising computer executable instructions that when executed via a processing unit perform operations for managing an application state of an application, comprising: maintaining an application message queue associated with an application while the application is in a suspend state, the application message queue configured to store system messages for the application while the application is in the suspend state; maintaining and associating one or more counters with one or more wake policies for waking the application after the application is put into a suspend state, the wake policies causing the application to be transitioned out of the suspend state when the one or more counters a predetermined aggregate threshold of wake notifications, the one or more counters being incremented or decremented in response to a wake notification that is created in response to an event associated with the one or more wake policies; determining whether a first system message directed to the application message queue while the application is in the suspend state corresponds to a second system message within the application message queue; and upon determining the first system message is supplementary to the second system message, modifying at least one of the first system message or the second system message. 17. The computer readable storage device of clai
Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title
by task scheduling · CPC title
Saving or restoring of program or task context · CPC title
Cross-Sectional Technologies · mapped topic
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.