IP Library Granted Patent US 10,452,440
Granted Patent B1
US 10,452,440 · App. 15/612,196 · Granted Oct 22, 2019

Systems and methods of optimized tuning of resources

Inventors: Bogdan Odulinski (Austin, TX); Brett Pany (Lakeway, TX)
Assignee: PC Drivers Headquarters, Inc.
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,452,440
App. No.
15/612,196
Granted
Oct 22, 2019
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 (54)

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

monitoring the computing environment for optimization triggers 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 detection of an optimization trigger via the kernel-level agent executing in the kernel mode of the CPU, generating pre-modification metadata using a user-level agent executing in a user-level mode of the CPU, wherein the user-level mode of the CPU restricts access to the at least some hardware and memory of the computer system, and wherein the pre-modification metadata serves as a pre-modification performance snapshot of the computer system;

identifying, via the user-level agent executing in the user-level mode of the CPU, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger;

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;

generating post-modification metadata using the user-level agent executing in the user-level mode of the CPU, the post-modification metadata serving as a post-modification performance snapshot of the computer system;

responsive to the temporarily modifying, monitoring the computing environment for optimization exit triggers using the kernel-level agent executing in the kernel mode of the CPU;

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

wherein the pre-modification metadata comprises performance data for a time after the detection of the optimization trigger and before the temporarily modifying of the computing environment in accordance with the optimization profile; and

wherein the post-modification metadata comprises performance data for a time after the temporarily modifying of the computing environment in accordance with the optimization profile and before the automatically reversing.

2. The method of claim 1 , wherein:

the temporarily modifying comprises stopping a service; and

the reversing the temporarily modifying comprises resuming the service.

3. The method of claim 1 , wherein:

the temporarily modifying comprises ending a process; 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 triggers comprise at least one kernel-level event.

6. 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:

monitoring the computing environment for optimization triggers 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 detection of an optimization trigger via the kernel-level agent executing in the kernel mode of the CPU, generating pre-modification metadata using a user-level agent executing in a user-level mode of the CPU, wherein the user-level mode of the CPU restricts access to the at least some hardware and memory of the computer system, and wherein the pre-modification metadata serves as a pre-modification performance snapshot of the computer system;

identifying, via the user-level agent executing in the user-level mode of the CPU, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger;

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;

generating post-modification metadata using the user-level agent executing in the user-level mode of the CPU, the post-modification metadata serving as a post-modification performance snapshot of the computer system;

responsive to the temporarily modifying, monitoring the computing environment for optimization exit triggers using the kernel-level agent executing in the kernel mode of the CPU;

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

wherein the pre-modification metadata comprises performance data for a time after the detection of the optimization trigger and before the temporarily modifying of the computing environment in accordance with the optimization profile; and

wherein the post-modification metadata comprises performance data for a time after the temporarily modifying of the computing environment in accordance with the optimization profile and before the automatically reversing.

7. The system of claim 6 , wherein:

the temporarily modifying comprises stopping a service; and

the reversing the temporarily modifying comprises resuming the service.

8. The system of claim 6 , wherein:

the temporarily modifying comprises ending a process; and

the reversing the temporarily modifying comprises restarting the process.

9. The system of claim 6 , 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.

10. The system of claim 6 , wherein the optimization triggers comprise at least one kernel-level event.

11. 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:

monitoring the computing environment for optimization triggers 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 detection of an optimization trigger via the kernel-level agent executing in the kernel mode of the CPU, generating pre-modification metadata using a user-level agent executing in a user-level mode of the CPU, wherein the user-level mode of the CPU restricts access to the at least some hardware and memory of the computer system, and wherein the pre-modification metadata serves as a pre-modification performance snapshot of the computer system;

identifying, via the user-level agent executing in the user-level mode of the CPU, an optimization profile of a plurality of optimization profiles that is applicable to the optimization trigger;

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;

generating post-modification metadata using the user-level agent executing in the user-level mode of the CPU, the post-modification metadata serving as a post-modification performance snapshot of the computer system;

responsive to the temporarily modifying, monitoring the computing environment for optimization exit triggers using the kernel-level agent executing in the kernel mode of the CPU;

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

wherein the pre-modification metadata comprises performance data for a time after the detection of the optimization trigger and before the temporarily modifying of the computing environment in accordance with the optimization profile; and

wherein the post-modification metadata comprises performance data for a time after the temporarily modifying of the computing environment in accordance with the optimization profile and before the automatically reversing.

12. The computer-program product of claim 11 , wherein:

the temporarily modifying comprises stopping a service; and

the reversing the temporarily modifying comprises resuming the service.

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

the temporarily modifying comprises ending a process; and

the reversing the temporarily modifying comprises restarting the process.

14. The computer-program product of claim 11 , 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.

15. The computer-program product of claim 11 , wherein the optimization triggers comprise at least one kernel-level event.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Oct 14, 2020
From: ASURVIO MANAGEMENT, INC.
To: ASURVIO, LP
Reel/Frame 054054/0611 →
CHANGE OF NAME Recorded Sep 23, 2019
From: PC DRIVERS HEADQUARTERS I, INC.
To: ASURVIO MANAGEMENT, INC.
Reel/Frame 050508/0884 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 048403 FRAME: 0597. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 18, 2019
From: ODULINSKI, BOGDAN; PANY, BRETT
To: PC DRIVERS HEADQUARTERS I, INC.
Reel/Frame 050410/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2019
From: ODULINSKI, BOGDAN; PANY, BRETT
To: PC DRIVERS HEADQUARTERS, INC.
Reel/Frame 048403/0597 →
Continuity (1)
Provisional Application 62346964 · Jun 7, 2016
Cited By (4)
US 12,216,561 US 12,432,176 US 12,445,453 US 12,706,976