P
US11275668B2ActiveUtilityPatentIndex 52

Dynamically enhancing the performance of a foreground application

Assignee: DELL PRODUCTS LPPriority: Aug 10, 2020Filed: Aug 10, 2020Granted: Mar 15, 2022
Est. expiryAug 10, 2040(~14.1 yrs left)· nominal 20-yr term from priority
Inventors:KHOSROWPOUR FARZAD
Y02D10/00G06F 9/5094G06F 2201/865G06F 11/3466G06F 9/5027G06F 11/302G06F 11/3409G06F 11/3442G06F 11/3072
52
PatentIndex Score
0
Cited by
8
References
20
Claims

Abstract

A performance enhancing solution can be executed on a computing device to detect changes in the foreground application. When the foreground application changes, the performance enhancing solution can adjust the allocation of system resources to running applications to thereby enhance the performance of the foreground application.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
       1. A method for dynamically enhancing the performance of a foreground application, the method comprising:
 detecting that a first application of a plurality of running applications has become the foreground application; 
 in response to detecting that the first application has become the foreground application, determining whether the first application is included in a list of target applications; and 
 in response to determining that the first application is included in the list of target applications, adjusting an allocation of system resources to the plurality of running applications to enhance performance of the first application while the first application is the foreground application including one or more of:
 adjusting a priority at which one or more of the plurality of running applications are selected for slices of CPU time; 
 adjusting a processor affinity of one or more of the plurality of running applications; or 
 adjusting an I/O priority of one or more of the plurality of running applications. 
 
 
     
     
       2. The method of  claim 1 , wherein detecting that the first application has become the foreground application comprises determining that another application that is also included in the list of target applications is no longer the foreground application. 
     
     
       3. The method of  claim 1 , wherein detecting that the first application has become the foreground application comprises determining that a window that has focus is owned by the first application. 
     
     
       4. The method of  claim 1 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the first application while the first application is the foreground application comprises:
 increasing the allocation of system resources to the first application. 
 
     
     
       5. The method of  claim 4 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the first application while the first application is the foreground application further comprises:
 decreasing the allocation of system resources to one or more other applications of the plurality of running applications. 
 
     
     
       6. The method of  claim 1 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the first application while the first application is the foreground application comprises:
 decreasing the allocation of system resources to one or more other applications of the plurality of running applications. 
 
     
     
       7. The method of  claim 1 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the first application while the first application is the foreground application comprises two or more of:
 adjusting a priority at which one or more of the plurality of running applications are selected for slices of CPU time; 
 adjusting a processor affinity of one or more of the plurality of running applications; or 
 adjusting an I/O priority of one or more of the plurality of running applications. 
 
     
     
       8. The method of  claim 1 , wherein the allocation of system resources is adjusted based on one or more policies. 
     
     
       9. The method of  claim 1 , wherein determining whether the first application is included in the list of target applications comprises accessing a policy. 
     
     
       10. The method of  claim 9 , further comprising:
 identifying a plurality of most used applications; and 
 modifying the policy to include the most used applications in the list of target applications. 
 
     
     
       11. The method of  claim 1 , further comprising:
 detecting that the first application is no longer the foreground application; and 
 adjusting the allocation of system resources to the plurality of running applications to no longer enhance the performance of the first application. 
 
     
     
       12. The method of  claim 11 , wherein detecting that the first application is no longer the foreground application comprises detecting that a second application of the plurality of running applications is the foreground application and is included in the list of target applications; and
 wherein adjusting the allocation of system resources to the plurality of running applications to no longer enhance the performance of the first application comprises adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the second application while the second application is the foreground application. 
 
     
     
       13. The method of  claim 1 , further comprising:
 detecting that a second application of the plurality of running applications is included in the list of target applications; and 
 in response to determining that the second application is included in the list of target applications, adjusting an allocation of system resources to the plurality of running applications to enhance performance of the second application when the second application is not the foreground application. 
 
     
     
       14. One or more computer storage media storing computer executable instructions which when executed on a computing device implement a method for dynamically enhancing the performance of a foreground application, the method comprising:
 monitoring for changes in the foreground application; 
 upon detecting that the foreground application has changed, determining that the foreground application is included in a list of target applications; and 
 in response to determining that the foreground application is included in the list of target applications, adjusting an allocation of system resources to a plurality of running applications to enhance performance of the foreground application including one or more of:
 adjusting a priority at which one or more of the plurality of running applications are selected for slices of CPU time; 
 adjusting a processor affinity of one or more of the plurality of running applications; or 
 adjusting an I/O priority of one or more of the plurality of running applications. 
 
 
     
     
       15. The computer storage media of  claim 14 , wherein determining that the foreground application is included in the list of target applications comprises accessing a policy. 
     
     
       16. The computer storage media of  claim 14 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the foreground application comprises two or more of:
 adjusting a priority at which one or more of the plurality of running applications are selected for slices of CPU time; 
 adjusting a processor affinity of one or more of the plurality of running applications; or 
 adjusting an I/O priority of one or more of the plurality of running applications. 
 
     
     
       17. The computer storage media of  claim 14 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the foreground application comprises one or both of:
 increasing an allocation of system resources to the foreground application; or 
 decreasing an allocation of system resources to one or more other applications of the plurality of running applications. 
 
     
     
       18. A computing device comprising:
 system resources including one or more processors; 
 an operating system; 
 a performance enhancing solution; and 
 a plurality of running applications; 
 wherein the performance enhancing solution is configured to:
 detect that a first application of the plurality of applications has become a foreground application; 
 in response to detecting that the first application has become the foreground application, determine whether the first application is included in a list of target applications; and 
 in response to determining that the first application is included in the list of target applications, adjust an allocation of the system resources to the plurality of running applications to enhance performance of the first application while the first application is the foreground application; 
 wherein detecting that the first application has become the foreground application comprises determining that another application that is also included in the list of target applications is no longer the foreground application. 
 
 
     
     
       19. The computing device of  claim 18 , wherein adjusting the allocation of system resources to the plurality of running applications to enhance the performance of the first application while the first application is the foreground application comprises one or more of:
 adjusting a priority at which one or more of the plurality of running applications are selected for slices of CPU time; 
 adjusting a processor affinity of one or more of the plurality of running applications; or 
 adjusting an I/O priority of one or more of the plurality of running applications. 
 
     
     
       20. The computing device of  claim 18 , wherein adjusting the allocation of the system resources to the plurality of running applications comprises one or both of:
 increasing an allocation of system resources to the first application when the first application is the foreground application; or 
 decreasing an allocation of system resources to one or more other applications of the plurality of running applications when the first application is the foreground application.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.