Adaptive process importance

US9411637B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9411637-B2
Application numberUS-201213656506-A
CountryUS
Kind codeB2
Filing dateOct 19, 2012
Priority dateJun 8, 2012
Publication dateAug 9, 2016
Grant dateAug 9, 2016

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 changes the importance of a daemon process is described. In an exemplary embodiment, the device receives a message from a user process destined for daemon process, wherein the daemon process executes independently of the user process and the first daemon process communicates messages with other executing processes. The device further determines if the first message indicates that the importance of the first daemon process can be changed. If the first message indicates the importance of the first daemon process can be changed, the device changes the importance of the first daemon process. The device additionally forwards the first message to the first daemon process.

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 change an importance of a first daemon process, the method comprising: receiving a first message from a user process destined for the first daemon process, wherein the first daemon process executes independently of the user process, the first daemon process communicates messages with other executing processes, and the first message is a service request for a service provided by the first daemon process from the user process; determining if the first message indicates that the importance of the first daemon process can be changed; if the first message indicates the importance of the first daemon process can be changed, changing the importance of the first daemon process from a lower importance value to a higher importance value; forwarding the first message to the first daemon process, wherein the first daemon process services the service request at the higher importance value and the forwarding includes, enqueueing the message in a port queue for the first daemon process; and changing the importance of the first daemon process back to the lower importance value after the first daemon process services the service request. 2. The non-transitory machine-readable medium of claim 1 , wherein the user process is running at the higher importance value. 3. The non-transitory machine-readable medium of claim 1 , wherein the changing the importance of the first daemon process changes importance of the first daemon process to an importance that is the same as the user process. 4. The non-transitory machine-readable medium of claim 1 , wherein the determining comprises: determining if the message is destined for a first daemon process that can have the importance of the first daemon process changed. 5. The non-transitory machine-readable medium of claim 1 , further comprising: maintaining a count of assertions for the first daemon process; receiving a drop assertion for the first daemon process; decrementing the count of assertions for the first daemon process; and if the count of assertions for the first daemon process is zero, changing the importance of the first daemon process to the lower importance. 6. The non-transitory machine-readable medium of claim 1 , further comprising: receiving a second message from the user process destined for a second daemon process, wherein the second daemon process is executing, the second daemon process executes independently of the first daemon process, and the second daemon process communicates messages with the other executing processes; determining if the second message indicates that an importance of the second daemon process can be changed; if the second message indicates the importance of the second daemon process can be changed, changing the importance of the second daemon process; and forwarding the second message to the second daemon process. 7. The non-transitory machine-readable medium of claim 6 , wherein the changing the importance of the second daemon process changes the importance of the second daemon process being changed to an importance that is the same as the user process. 8. The non-transitory machine-readable medium of claim 1 , further comprising: marking the first message as carrying importance. 9. The non-transitory machine-readable medium of claim 1 , wherein the forwarding of the first message to the first daemon process is in response to the changing of the first daemon process importance. 10. The non-transitory machine-readable medium of claim 1 , wherein the user process is a process for a user application that is executing in the foreground. 11. The non-transitory machine-readable medium of claim 1 , wherein the first daemon process is running in the background. 12. The non-transitory machine-readable medium of claim 1 , wherein a process importance is indicates that an action is needed on behalf of the user. 13. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to change an importance of an adaptive daemon process, the method comprising: receiving a message from an importance donor process destined for the adaptive daemon process, wherein the adaptive daemon has yet to be launched; determining if the message indicates that the importance of the adaptive daemon process can be changed; if the message indicates the importance of the adaptive daemon process can be changed, launching the adaptive daemon process with an importance that is different than a default importance associated with the adaptive daemon process; and forwarding the message to the launched adaptive daemon process. 14. The non-transitory machine-readable medium of claim 13 , wherein the adaptive daemon process is a daemon process with a changeable process importance. 15. The non-transitory machine-readable medium of claim 13 , wherein the importance donor process is a process that can donate an importance to another process. 16. The non-transitory machine-readable medium of claim 15 , wherein the importance donor process is selected from the group consisting of a user application process and another adaptive daemon process whose importance has been promoted. 17. The non-transitory machine-readable medium of claim 13 , wherein the adaptive daemon process importance is promoted to an importance of the importance donor. 18. The non-transitory machine-readable medium of claim 13 , wherein the message is a service request from the importance donor process to the adaptive daemon process. 19. An apparatus to change an importance of a first daemon process, the system comprising: means for receiving a first message from a user process destined for the first daemon process, wherein the first daemon process executes independently of the user process, the first daemon process communicates messages with other executing processes, and the message is a service request for a service provided by the first daemon process from the user process; means for determining if the first message indicates that the importance of the first daemon process can be changed; means for changing the importance of the first daemon process from a lower importance value to a higher value if the first message indicates the importance of the first daemon process can be changed; means for forwarding the first message to the first daemon process, wherein the first daemon process services the service request at the higher importance value and the forwarding includes, enqueueing the message in a port queue for the first daemon process; and means for changing the importance of the first daemon process back to the lower importance value after the first daemon process services the service request. 20. The apparatus of claim 19 , wherein the user process is running at a higher importance higher than the first daemon process. 21. The apparatus of claim 19 , wherein the changing the importance of the first daemon process changes importance of the first daemon process to an importance that is the same as the user process. 22. The apparatus of claim 19 , wherein the forwarding of the first message to the first daemon process is in response to the changing of the first daemon process importance. 23. The non-transitory machine-readable medium of claim 1 , wherein if the number of service requests b

Assignees

Inventors

Classifications

  • G06F9/4843Primary

    by program, e.g. task dispatcher, supervisor, operating system · CPC title

  • G06F9/4831Primary

    with variable priority · 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 US9411637B2 cover?
A method and apparatus of a device that changes the importance of a daemon process is described. In an exemplary embodiment, the device receives a message from a user process destined for daemon process, wherein the daemon process executes independently of the user process and the first daemon process communicates messages with other executing processes. The device further determines if the fir…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4843. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 09 2016 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).