Managing processes within suspend states and execution states

US9952897B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9952897-B2
Application numberUS-201113230677-A
CountryUS
Kind codeB2
Filing dateSep 12, 2011
Priority dateSep 12, 2011
Publication dateApr 24, 2018
Grant dateApr 24, 2018

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 suspending one or more processes associated with an application, comprising: receiving a notification that the application is inactive; identifying the one or more processes associated with the application which is inactive; placing the one or more processes which were identified into a suspend state responsive to the notification that the application is inactive; maintaining an application message queue associated with the application; placing a first application message into the application message queue while the application is in the suspend state, the first application message received at a first time; placing a second application message into the application message queue while the application is in the suspend state, the second application message received at a second time that is later than the first time; determining that the second application message renders the first application message as being a stale message; and upon resumption of at least one process of the one or more processes associated with the application, refraining from providing the first application message based on determining that the first application message is the stale message. 2. The method of claim 1 , comprising: determining that the application is inactive based upon at least one of: determining that the application is not visible to a user; determining that the application fails to receive user input for at least a predetermined amount of time; or determining that the application is in a background state. 3. The method of claim 1 , wherein the application is assigned to a root logical container within a logical container hierarchy, and wherein the identifying the one or more processes comprises: determining that a first process of the one or more processes is associated with the application based upon determining that the first process is assigned to a first logical container associated with the root logical container. 4. The method of claim 3 , comprising: determining that the first logical container is nested within the root logical container. 5. The method of claim 3 , wherein the identifying the one or more processes comprises: determining that a second process of the one or more processes is associated with the application based upon determining that the second process is assigned to a second logical container associated with the first logical container. 6. The method of claim 5 , comprising: determining that the second process is a child process of the first process based upon determining that the second logical container is nested within the first logical container. 7. The method of claim 3 , wherein the identifying the one or more processes comprises: determining that a second process is associated with the application based upon determining that the second process is assigned to the first logical container. 8. The method of claim 1 , wherein the placing into the suspend state the one or more processes which were identified comprises: saving memory content associated with a suspended process of the one or more processes to a data storage. 9. The method of claim 1 , further comprising: identifying that a new process has been created; determining that the new process is associated with at least one of the application which is inactive or the one or more processes which have been placed into the suspend state based upon determining that the new process is assigned to a logical container associated with a root logical container to which the application is assigned; and placing the new process into the suspend state. 10. The system method of claim 1 , further comprising: maintaining a timer associated with at least one process of the one or more processes associated with the application; determining, upon the at least one process of the one or more processes being placed in to the suspend state, rebasing data of the timer; resuming the at least one process based at least on a wake policy associated with the application; and resuming the timer, upon the at least one process resuming, based at least on the rebasing data. 11. The method of claim 10 , wherein the timer comprises a relative timer, and wherein the rebasing data comprises a time till expiration value indicating a time span from when the relative timer is suspended to an original expiration time of the relative timer. 12. The method of claim 10 , wherein the timer comprises an absolute timer, and wherein the rebasing data comprises an original expiration time of the absolute timer. 13. The method of claim 1 , further comprising removing the first application message from the application message queue in response to determining the first application message is the stale message. 14. The method of claim 1 , further comprising maintaining the one or more processes in the suspend state based on a wake policy that applies to a logical container hierarchy that is associated with the application. 15. One of a solid state storage device, an optical disk or a magnetic storage device comprising computer-executable instructions that are executable by one or more processors of a computing system to perform acts comprising: receiving a notification that an application is inactive; iteratively traversing a logical container hierarchy to identify one or more processes associated with the application which is inactive; placing the one or more processes which were identified into a suspend state responsive to the notification that the application is inactive; maintaining a timer associated with at least one process of the one or more processes associated with the application; determining, upon the at least one process of the one or more processes being placed in to the suspend state, rebasing data of the timer; resuming the at least one process based at least on a wake policy associated with the application; and resuming the timer, upon the at least one process resuming, based at least on the rebasing data. 16. The solid state storage device, optical disk or magnetic storage device of claim 15 , wherein the iteratively traversing the logical container hierarchy comprises: determining that the application is assigned to a root logical container; determining that a first process of the one or more processes is associated with the application based upon determining that the first process is assigned to a first logical container associated with the root logical container; and determining that a second process is associated with the application based upon determining that the second process of the one or more processes is assigned to a second logical container associated with the first logical container. 17. The solid state storage device, optical disk or magnetic storage device of claim 15 , wherein the iteratively traversing the logical container hierarchy comprises: determining that the application is assigned to a root logical container; determining that a first process of the one or more processes is associated with the application based upon determining that the first process is assigned to a first logical container associated with the root logical container; and determining that a second process of the one or more processes is associated with the application based upon determining that the second process is assigned to the first logical container. 18. The solid state storage device, optical disk or magnetic storage device of claim 15 , the instructions further executable to perform acts comprising: identifying that a new process

Assignees

Inventors

Classifications

  • G06F9/485Primary

    Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · 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 US9952897B2 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 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/485. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 24 2018 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).