US8645736B1ActiveUtility

Periodic system wakeup to update state

91
Assignee: TABONE RYANPriority: Apr 4, 2011Filed: Sep 27, 2011Granted: Feb 4, 2014
Est. expiryApr 4, 2031(~4.7 yrs left)· nominal 20-yr term from priority
Inventors:Ryan Tabone
G06F 8/65G06F 1/329G06F 9/4418G06F 1/3209Y02D10/00
91
PatentIndex Score
14
Cited by
35
References
24
Claims

Abstract

Methods and apparatus for updating state of computing device are disclosed. An example method includes automatically scheduling, in a computing device, an update-process trigger. In the example method, occurrence of the update-process trigger causes the computing device to transition from a low power state to a first active power state and perform an update process for the computing device. The example method further includes initiating, after scheduling the update-process trigger, a transition of the computing device from a second active power state to the low power state. In response to occurrence of the update-process trigger, the example method includes initiating the transition of the computing device from the low power state to the first active power state and performing the update process after the transition from the low power state to the first active power state is complete.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method comprising:
 gathering, by a computing device, a plurality of operating statistics for the computing device; 
 analyzing the plurality of operating statistics; 
 automatically scheduling, based on the analysis of the plurality of operating statistics, an update-process trigger for the computing device, wherein the update-process trigger is scheduled to occur at a time just prior to an anticipated use of the computing device and occurrence of the update-process trigger causes the computing device to:
 transition from a low power state to a first active power state; and 
 perform an update process for the computing device; 
 
 initiating, after scheduling the update-process trigger, a transition of the computing device from a second active power state to the low power state; and 
 in response to occurrence of the update-process trigger:
 initiating the transition of the computing device from the low power state to the first active power state; and 
 performing the update process after the transition from the low power state to the first active power state is complete, the update process including:
 sending, to a plurality of servers, respective update requests; 
 receiving, from the plurality of servers, respective responses to the update requests, each response indicating a respective quantity of available update information for the computing device; and 
 deciding, based on the indication of available update information, whether to perform one or more updates includes:
 determining a total quantity of available update information data based on the respective quantities of available update information data; and 
 if the total quantity of available update information data is equal to or above a threshold amount, the update process further includes: 
  requesting the available update information from the plurality of servers; 
  receiving the available update information from the plurality of servers; and 
  updating an operating state of the computing device using the received update information. 
 
 
 
 
     
     
       2. The computer-implemented method of  claim 1 , wherein scheduling the update-process trigger includes scheduling a real-time-clock alarm wherein occurrence of the alarm indicates occurrence of the update-process trigger. 
     
     
       3. The computer-implemented method of  claim 1 , wherein scheduling the update-process trigger includes initializing a timer, wherein the timer is configured such that expiration of the timer indicates occurrence of the update-process trigger. 
     
     
       4. The computer-implemented method of  claim 1 , wherein the low power state includes one of a suspend-to-RAM power state, a suspend-to-disk power state and a powered-off power state. 
     
     
       5. The computer-implemented method of  claim 1 , wherein the first active power state includes a display-off active power state and the second active power state includes a display-on active power state. 
     
     
       6. The computer-implemented method of  claim 1 , wherein the first active power state and the second active power state are substantially equivalent active power states. 
     
     
       7. The computer-implemented method of  claim 1 , wherein automatically scheduling the update-process trigger includes automatically scheduling the update-process trigger based on at least one of:
 a history of user interaction with the computing device; and 
 an application update frequency for the computing device. 
 
     
     
       8. The computer-implemented method of  claim 1 , wherein automatically scheduling the update-process trigger includes automatically scheduling the update-process trigger based on at least one of:
 an amount of time elapsed since a last security update of the computing device; and 
 an amount of time elapsed since a last operating system update of the computing device. 
 
     
     
       9. The computer-implemented method of  claim 1 , wherein automatically scheduling the update-process trigger includes automatically scheduling the update-process trigger based on at least one of:
 a calendar date of the computing device; and 
 a time of day of the computing device. 
 
     
     
       10. The computer-implemented method of  claim 1 , wherein performing the one or more updates includes at least one of:
 updating respective states of one or more user applications of the computing device; 
 updating respective states of one or more security components of the computing device; and 
 updating an operating system of the computing device. 
 
     
     
       11. The computer-implemented method of  claim 1 , wherein the received update information includes at least one of:
 respective update information for one or more user applications of the computing device; 
 respective update information for one or more security components of the computing device; and 
 update information for an operating system of the computing device. 
 
     
     
       12. The computer-implemented method of  claim 11 , wherein the respective update information for the one or more user applications of the computing device includes at least one of:
 one or more email messages; 
 one or more voicemail messages; and 
 one or more instant messages. 
 
     
     
       13. The computer-implemented method of  claim 11 , wherein the respective update information for the one or more security components of the computing device includes at least one of:
 virus definition updates; and 
 spyware signature updates. 
 
     
     
       14. The computer-implemented method of  claim 1 , wherein, if the total quantity of available update information data is below the threshold amount, the update process further includes:
 automatically scheduling another update-process trigger; and 
 transitioning the computing device from the first active power state to the low power state. 
 
     
     
       15. The computer-implemented method of  claim 1 , wherein:
 the indication of available update information includes least one of:
 a priority of an available operating system update for the computing device; and 
 a priority of an available security component update for the computing device; and 
 
 if at least one of the received priorities is at or above a respective threshold priority level, the update process further includes:
 requesting available update information from the plurality of servers; 
 receiving the available update information from the plurality of servers; and 
 updating at least one of an operating system of the computing device and a security component of the computing device using the received update information. 
 
 
     
     
       16. The computer-implemented method of  claim 1 , wherein automatically scheduling the update-process trigger includes traversing, by the computing device, a decision tree, wherein the computing device traverses the decision tree based on at least two or more of:
 a history of user interaction with the computing device; 
 an application update frequency for the computing device; 
 a time of a last security update of the computing device; 
 a time of a last operating system update of the computing device; 
 a calendar data of the computing device; and 
 a time of day of the computing device. 
 
     
     
       17. The computer-implemented method of  claim 1 , wherein:
 the respective responses to the update requests include at least one of:
 an indication of available user application update information for the computing device; 
 an indication of available security component update information for the computing device; and 
 an indication of available operating system update information for the computing device; and 
 
 deciding whether to perform the one or more updates further includes:
 traversing, by the computing device based on the indications included in the respective responses, a decision tree; and 
 based on the traversing, determining:
 whether to update a respective state of one or more applications of the computing device; 
 whether to update a respective state of one or more security components of the computing device; and 
 whether to update an operating system of the computing device. 
 
 
 
     
     
       18. A non-transitory recordable storage medium having recorded and stored thereon instructions that, when executed by a computing device, cause the computing device to:
 gather a plurality of operating statistics for the computing device; 
 analyze the plurality of operating statistics; 
 automatically schedule, based on the analysis of the plurality of operating statistics, an update-process trigger for the computing device, wherein the update-process trigger is scheduled to occur at a time just prior to an anticipated use of the computing device and occurrence of the update-process trigger causes the computing device to:
 transition from a low power state to a first active power state; and 
 perform an update process for the computing device; 
 
 initiate, after scheduling the update-process trigger, a transition of the computing device from a second active power state to the low power state; and 
 in response to occurrence of the update-process trigger:
 initiate the transition of the computing device from the low power state to the first active power state; and 
 perform the update process after the transition from the low power state to the first active power state is complete, the update process including:
 sending, to a plurality of servers, respective update requests; 
 receiving, from the plurality of servers, respective responses to the update requests, each response indicating a respective quantity of available update information for the computing device; and 
 deciding, based on the indication of available update information, whether to perform one or more updates includes:
 determining a total quantity of available update information data based on the respective quantities of available update information data; and 
 if the total quantity of available update information data is equal to or above a threshold amount, the update process further includes: 
  requesting the available update information from the plurality of servers; 
  receiving the available update information from the plurality of servers; and 
  updating an operating state of the computing device using the received update information. 
 
 
 
 
     
     
       19. The storage medium of  claim 18 , wherein the instructions for implementing the update process, when executed, cause the computing device to perform at least one of:
 updating respective states of one or more user applications of the computing device; 
 updating respective states of one or more security components of the computing device; and 
 updating an operating system of the computing device. 
 
     
     
       20. The storage medium of  claim 18 , wherein:
 the respective responses to the update requests include at least one of:
 an indication of available user application update information for the computing device; 
 an indication of available security component update information for the computing device; and 
 an indication of available operating system update information for the computing device; and 
 
 deciding whether to perform the one or more updates includes:
 traversing, based on the indications included in the respective responses, a decision tree; and 
 based on the traversing, determining:
 whether to update a respective state of one or more applications of the computing device; 
 whether to update a respective state of one or more security components of the computing device; and 
 whether to update an operating system of the computing device. 
 
 
 
     
     
       21. An apparatus comprising:
 a processor; and 
 a non-transitory recordable storage medium having instructions recorded thereon, the apparatus being configured, as a result of executing the instructions, to:
 gather a plurality of operating statistics for a computing device; 
 analyze the plurality of operating statistics; 
 automatically schedule, based on the analysis of the plurality of operating statistics, an update-process trigger for the computing device, wherein the update-process trigger is scheduled to occur at a time just prior to an anticipated use of the computing device and occurrence of the update-process trigger causes the computing device to:
 transition from a low power state to a first active power state; and 
 perform an update process for the computing device; 
 
 initiate, after scheduling the update-process trigger, a transition of the computing device from a second active power state to the low power state; and 
 in response to occurrence of the update-process trigger:
 initiate the transition of the computing device from the low power state to the first active power state; and 
 perform the update process after the transition from the low power state to the first active power state is complete, the update process including:
 sending, to a plurality of servers, respective update requests; 
 receiving, from the plurality of servers, respective responses to the update requests, each response indicating a respective quantity of available update information for the computing device; and 
 deciding, based on the indication of available update information, whether to perform one or more updates includes: 
  determining a total quantity of available update information data based on the respective quantities of available update information data; and 
  if the total quantity of available update information data is equal to or above a threshold amount, the update process further includes: 
  requesting the available update information from the plurality of servers; 
  receiving the available update information from the plurality of servers; and 
  updating an operating state of the computing device using the received update information. 
 
 
 
 
     
     
       22. The apparatus of  claim 21 , further comprising a real-time clock, wherein automatically scheduling the update-process trigger comprises automatically scheduling an alarm in the real-time clock, the real-time clock being configured such that occurrence of the alarm indicates occurrence of the update-process trigger. 
     
     
       23. The apparatus of  claim 21 , further comprising a timer, wherein automatically scheduling the update-process trigger comprises initializing the timer, the timer being configured such that:
 the timer remains active when the computing device is in the low power state; and 
 expiration of the timer indicates occurrence of the update-process trigger. 
 
     
     
       24. The apparatus of  claim 21 , further comprising an activity monitor configured to:
 maintain a history of user interaction with the computing device; and 
 monitor respective update frequencies for one or more applications of the computing device, 
 wherein the update-process trigger is automatically scheduled based on at least one of the history of user interaction and the respective update frequencies.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.