IP Library Granted Patent US 10,884,806
Granted Patent B1
US 10,884,806 · App. 16/567,841 · Granted Jan 5, 2021

Systems and methods of optimized tuning of resources

Inventors: Bogdan Odulinski (Austin, TX); Brett Pany (Lakeway, TX)
Assignee: ASURVIO, LP
G06F9/5005G06F9/542G06F11/3024G06F11/3409
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,884,806
App. No.
16/567,841
Granted
Jan 5, 2021
Kind
B1
Abstract

In an embodiment, a method is performed by an agent installed in a computing environment on a computer system. The method includes monitoring the computing environment for optimization triggers. The method also includes, responsive to detection of an optimization trigger, identifying an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger. In addition, the method includes temporarily modifying the computing environment in accordance with the optimization profile. Further, the method includes, responsive to the temporarily modifying, monitoring the computing environment for optimization exit triggers. Additionally, the method includes, responsive to detection of an optimization exit trigger, automatically reversing the temporarily modifying.

Claims (50)

1. A method comprising, by a computer system comprising a computing environment:

detecting an optimization trigger in the computing environment using a kernel-level agent executing in a kernel mode of a central processing unit (CPU) of the computer system, wherein the kernel mode of the CPU provides unrestricted access to at least some hardware and memory of the computer system;

responsive to the detecting the optimization trigger, identifying, via a user-level agent executing in a user-level mode of the CPU, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger, wherein the user-level mode of the CPU restricts access to the at least some hardware and memory of the computer system;

storing pre-modification metadata, the pre-modification metadata comprising data related to performance in the computing environment;

subsequent to the storing ore-modification metadata, temporarily modifying the computing environment in accordance with the optimization profile using the user-level agent executing in the user-level mode of the CPU;

subsequent to the temporarily modifying, storing post-modification metadata, the post-modification metadata comprising data related to performance in the computing environment after the temporarily modifying is performed;

detecting an optimization exit trigger using the kernel-level agent executing in the kernel mode of the CPU; and

responsive to the detecting the optimization exit trigger, automatically reversing the temporarily modifying using the user-level agent executing in the user-level mode of the CPU.

2. The method of claim 1 , wherein:

the temporarily modifying comprises stopping a service provided by an operating system to computer programs in the computing environment; and

the reversing the temporarily modifying comprises resuming the service.

3. The method of claim 1 , wherein:

the temporarily modifying comprises ending a process executing in the computing environment; and

the reversing the temporarily modifying comprises restarting the process.

4. The method of claim 1 , comprising identifying, via the pre-modification metadata and the post-modification metadata, one or more of the plurality of optimization profiles that achieve greatest performance improvements.

5. The method of claim 1 , wherein the optimization trigger comprises a kernel-level event that is detected before an application responsible for the optimization trigger begins running.

6. The method of claim 1 , comprising notifying a user of the computer system in response to the temporarily modifying.

7. A system comprising a processor and memory, wherein the processor and the memory in combination are operable to implement a method, the method being performed in a computing environment on the system, the method comprising:

detecting an optimization trigger in the computing environment using a kernel-level agent executing in a kernel mode of the processor, wherein the kernel mode of the processor provides unrestricted access to at least some hardware and memory of the system;

responsive to the detecting the optimization trigger, identifying, via a user-level agent executing in a user-level mode of the processor, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger, wherein the user-level mode of the processor restricts access to the at least some hardware and memory of the system;

storing pre-modification metadata, the pre-modification metadata comprising data related to performance in the computing environment;

subsequent to the storing pre-modification metadata, temporarily modifying the computing environment in accordance with the optimization profile using the user-level agent executing in the user-level mode of the processor;

subsequent to the temporarily modifying, storing post-modification metadata, the post-modification metadata comprising data related to performance in the computing environment after the temporarily modifying is performed;

responsive to the temporarily modifying, monitoring the computing environment for an optimization exit trigger using the kemel-level agent executing in the kernel mode of the processor; and

responsive to detection of the optimization exit trigger via the kernel-level agent executing in the kernel mode of the processor, automatically reversing the temporarily modifying using the user-level agent executing in the user-level mode of the processor.

8. The system of claim 7 , wherein:

the temporarily modifying comprises stopping a service provided by an operating system to computer programs in the computing environment; and

the reversing the temporarily modifying comprises resuming the service.

9. The system of claim 7 , wherein:

the temporarily modifying comprises ending a process executing in the computing environment; and

the reversing the temporarily modifying comprises restarting the process.

10. The system of claim 7 , the method comprising identifying, via the pre-modification metadata and the post-modification metadata, one or more of the plurality of optimization profiles that achieve greatest performance improvements.

11. The system of claim 7 , wherein the optimization trigger comprises a kernel-level event that is detected before an application responsible for the optimization trigger begins running.

12. The system of claim 7 , the method comprising notifying a user of the system in response to the temporarily modifying.

13. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method, the method being performed by a computer system comprising a computing environment, the method comprising:

detecting an optimization trigger in the computing environment using a kernel-level agent executing in a kernel mode of a central processing unit (CPU) of the computer system, wherein the kernel mode of the CPU provides unrestricted access to at least some hardware and memory of the computer system;

responsive to the detecting the optimization trigger, identifying, via a user-level agent executing in a user-level mode of the CPU, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger, wherein the user-level mode of the CPU restricts access to the at least some hardware and memory of the computer system;

storing pre-modification metadata, the pre-modification metadata comprising data related to performance in the computing environment;

subsequent to the storing pre-modification metadata, temporarily modifying the computing environment in accordance with the optimization profile using the user-level agent executing in the user-level mode of the CPU;

subsequent to the temporarily modifying, storing post-modification metadata, the post-modification metadata comprising data related to performance in the computing environment after the temporarily modifying is performed;

detecting an optimization exit trigger using the kernel-level agent executing in the kernel mode of the CPU; and

responsive to the detecting the optimization exit trigger, automatically reversing the temporarily modifying using the user-level agent executing in the user-level mode of the CPU.

14. The computer-program product of claim 13 , wherein:

the temporarily modifying comprises stopping a service provided by an operating system to computer programs in the computing environment; and

the reversing the temporarily modifying comprises resuming the service.

15. The computer-program product of claim 13 , wherein:

the temporarily modifying comprises ending a process executing in the computing environment; and

the reversing the temporarily modifying comprises restarting the process.

16. The computer-program product of claim 13 , the method comprising identifying, via the pre-modification metadata and the post-modification metadata, one or more of the plurality of optimization profiles that achieve greatest performance improvements.

17. The computer-program product of claim 13 , wherein the optimization trigger comprises a kernel-level event that is detected before an application responsible for the optimization trigger begins running.

Assignments (3)
NUNC PRO TUNC ASSIGNMENT Recorded Oct 14, 2020
From: ASURVIO MANAGEMENT, INC.
To: ASURVIO, LP
Reel/Frame 054054/0611 →
CHANGE OF NAME Recorded Sep 24, 2019
From: PC DRIVERS HEADQUARTERS I, INC.
To: ASURVIO MANAGEMENT, INC.
Reel/Frame 050476/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2019
From: ODULINSKI, BOGDAN; PANY, BRETT
To: PC DRIVERS HEADQUARTERS I, INC.
Reel/Frame 050456/0618 →
Continuity (2)
Continuation 15612196 · Jun 2, 2017
Provisional Application 62346964 · Jun 7, 2016