Managing processes within suspend states and execution states

US9588576B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9588576-B2
Application numberUS-201113230698-A
CountryUS
Kind codeB2
Filing dateSep 12, 2011
Priority dateSep 12, 2011
Publication dateMar 7, 2017
Grant dateMar 7, 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.

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.

First claim

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

Assignees

Inventors

Classifications

  • Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title

  • G06F1/329Primary

    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

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 US9588576B2 cover?
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 pr…
Who is the assignee on this patent?
Singh Neeraj Kumar, Pulapaka Hari, Kishan Arun, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F1/329. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 07 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).