US2015212919A1PendingUtilityA1

Policy Based Application Suspension and Termination

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Aug 19, 2011Filed: Mar 17, 2015Published: Jul 30, 2015
Est. expiryAug 19, 2031(~5.1 yrs left)· nominal 20-yr term from priority
G06F 9/485G06F 11/3409G06F 11/302G06F 9/54Y02D10/00G06F 9/5022
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In accordance with one or more aspects, an application that is to be suspended on a computing device is identified based on a policy. The policy indicates that applications that are not being used are to be suspended. The application is automatically suspended, and is allowed to remain in memory but not execute while suspended. Additionally, when memory is to be freed one or more suspended applications to terminate are automatically selected based on the policy, and these one or more selected applications are terminated.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 determining, based on one or more metrics regarding memory usage in a computing device, that memory in the computing device is to be freed;   automatically selecting, based on a memory-based policy, one or more of multiple applications on the computing device to terminate to free memory of the computing device; and   terminating the one or more applications.   
     
     
         2 . A method as recited in  claim 1 , the multiple applications comprising applications that are suspended on the computing device, the multiple applications being allowed to remain in the memory but not being executed while suspended. 
     
     
         3 . A method as recited in  claim 1 , the automatically selecting comprising:
 accessing a first list of recently used applications of the multiple applications;   accessing a second list of recently used applications of the multiple applications, each of the applications in the second list being less frequently used than each of the applications in the first list; and   selecting as the one or more of the multiple applications to be terminated one or more applications in the second list that are using a largest amount of memory among the applications in the second list.   
     
     
         4 . A method as recited in  claim 3 , the selecting as the one or more of the multiple applications comprising selecting one application in the second list using a largest amount of memory among the applications in the second list, the method further comprising:
 terminating the one application;   removing the one application from the second list;   determining whether memory in the computing device still is to be freed; and   if memory in the computing device still is to be freed, then continuing selecting one application in the second list using a largest amount of memory among the applications in the second list, terminating the one application, removing the selected one application, and determining whether memory in the computing device still is to be freed until memory in the computing device no longer is to be freed or no applications remain in the second list.   
     
     
         5 . A method as recited in  claim 3 , the selecting comprising:
 determining, based on the amounts of memory used by each of the applications in the second list and an amount of memory to be freed, an expected number of applications to be terminated so that memory no longer is to be freed; and   selecting, as the one or more of the multiple applications to be terminated, the expected number of applications.   
     
     
         6 . A method as recited in  claim 3 , the automatically selecting further comprising selecting, if memory is to be freed and no applications remain in the second list, one or more applications in the first list. 
     
     
         7 . A method as recited in  claim 6 , the selecting one or more applications in the first list comprising selecting the one or more applications in the first list in an order from least recently used application to most recently used application. 
     
     
         8 . A method as recited in  claim 6 , the selecting one or more applications in the first list comprising selecting a least recently used application in the first list, the method further comprising:
 terminating the one application;   removing the one application from the first list;   determining whether memory in the computing device still is to be freed; and   if memory in the computing device still is to be freed, then continuing selecting a least recently used application in the first list, terminating the one application, removing the selected one application, and determining whether memory in the computing device still is to be freed until memory in the computing device no longer is to be freed or no applications remain in the first list.   
     
     
         9 . A method comprising:
 determining, based on one or more metrics regarding memory usage in a computing device, that memory in the computing device is to be freed;   automatically selecting, based on a memory-based policy, one or more of multiple applications on the computing device to be terminated to free memory of the computing device, the automatically selecting including:
 accessing a first list of recently used applications of the multiple applications, 
 accessing a second list of recently used applications of the multiple applications, each of the applications in the second list being less frequently used than each of the applications in the first list, 
 selecting, as ones of the one or more applications, applications in the second list that are using a largest amount of memory among the applications in the second list, and 
 if memory is to be freed and no applications remain in the second list, then selecting one or more applications in the first list in an order from least recently used application to most recently used application; and 
   terminating the one or more applications.   
     
     
         10 . A method as recited in  claim 9 , wherein the applications in the second list are suspended applications. 
     
     
         11 . A method as recited in  claim 10 , wherein the suspended applications remain in memory but are not executable. 
     
     
         12 . A method as recited in  claim 9 , wherein the terminating the one or more applications includes terminating a suspended application from the first list or the second list. 
     
     
         13 . A method as recited in  claim 9 , wherein the automatically selecting is further based on an allowable number of windows to be displayed. 
     
     
         14 . A system comprising:
 one or more modules implemented at least partially in hardware, the one or more modules configured to perform operations comprising:
 determining, based on one or more metrics regarding memory usage in a computing device, that memory in the computing device is to be freed; 
 automatically selecting, based on a memory-based policy, one or more of multiple applications on the computing device to terminate to free memory of the computing device; and 
 terminating the one or more applications. 
   
     
     
         15 . A system as recited in  claim 14 , the multiple applications comprising applications that are suspended on the computing device, the multiple applications being allowed to remain in the memory but not being executed while suspended. 
     
     
         16 . A system as recited in  claim 14 , the automatically selecting comprising:
 accessing a first list of recently used applications of the multiple applications;   accessing a second list of recently used applications of the multiple applications, each of the applications in the second list being less frequently used than each of the applications in the first list; and   selecting as the one or more of the multiple applications to be terminated one or more applications in the second list that are using a largest amount of memory among the applications in the second list.   
     
     
         17 . A system as recited in  claim 16 , the selecting as the one or more of the multiple applications comprising selecting one application in the second list using a largest amount of memory among the applications in the second list, the method further comprising:
 terminating the one application;   removing the one application from the second list;   determining whether memory in the computing device still is to be freed; and   if memory in the computing device still is to be freed, then continuing selecting one application in the second list using a largest amount of memory among the applications in the second list, terminating the one application, removing the selected one application, and determining whether memory in the computing device still is to be freed until memory in the computing device no longer is to be freed or no applications remain in the second list.   
     
     
         18 . A system as recited in  claim 16 , the selecting comprising:
 determining, based on the amounts of memory used by each of the applications in the second list and an amount of memory to be freed, an expected number of applications to be terminated so that memory no longer is to be freed; and   selecting, as the one or more of the multiple applications to be terminated, the expected number of applications.   
     
     
         19 . A system as recited in  claim 16 , the automatically selecting further comprising selecting, if memory is to be freed and no applications remain in the second list, one or more applications in the first list. 
     
     
         20 . A system as recited in  claim 19 , the selecting one or more applications in the first list comprising selecting the one or more applications in the first list in an order from least recently used application to most recently used application.

Join the waitlist — get patent alerts

Track US2015212919A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.