IP Library Granted Patent US 11,803,440
Granted Patent B2
US 11,803,440 · App. 17/490,340 · Granted Oct 31, 2023

Automated methods and systems for troubleshooting and optimizing performance of applications running in a distributed computing system

Inventors: Ashot Nshan Harutyunyan (Yerevan, AM); Arnak Poghosyan (Yerevan, AM)
Assignee: VMware, Inc.
G06F11/079G06F11/3447G06F11/3612G06N5/04
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 11,803,440
App. No.
17/490,340
Granted
Oct 31, 2023
Kind
B2
Abstract

Automated processes and systems troubleshoot and optimize performance of applications running in distributed computing systems. An automated computer-implemented processes train an inference model for an application based on metrics associated with the application and a key performance indicator (“KPI”) of the application. When a run-time performance problem is detected in run-time KPI values of KPI, the trained inference model is applied to run-time metrics and run-time KPI values to identify relevant run-time metrics that can be used to identify the root cause of the performance problem. The root cause of the performance problem can be used to generate a recommendation for correcting the performance problem. An alert identifying the root cause of the performance problem and the recommendation for correcting the performance problem are displayed on an interface of a display, thereby enabling correction of the performance problem and optimization of the application.

Claims (81)

1. In an automated computer-implemented process for troubleshooting and correcting a performance problem of an application running in a distributed computing system, the improvement comprising: training an inference model of the application based on metrics associated with the application and a key performance indicator (“KPI”) of the application over a historical time window retrieved from a data storage device; in response to detecting a run-time performance problem in run-time KPI values, applying the inference model to run-time metrics and run-time KPI values of the application to identify relevant run-time metrics that are indicators of the performance problem; identifying a root cause of the performance problem based on the relevant run-time metrics; and using a script program to execute one or more remedial measures to correct the root cause of the performance problem, wherein the remedial measures include migrating a virtual object of the application to a different server computer, reconfiguring a virtual network used by virtual objects of the application, and allocating one or more of additional CPUs, memory, and network bandwidth to a virtual object of the application.

2. The process of claim 1 wherein training the inference model based on the metrics and the KPI comprises:

normalizing the metrics and the KPI;

synchronizing the metrics and the KPI to a general set of time stamps;

training a parametric inference model based on the metrics and the KPI over the historical time window;

computing a cross-validation estimate of the parametric inference model based on the KPI and a validating set of metrics and KPI over a historical time window;

using the parametric inference model as the inference model when the cross-validation estimate is less than a cross-validation threshold; and

computing a non-parametric inference model that is used as the inference model when the cross-validation estimate is greater than the cross-validation threshold.

3. The process of claim 1 wherein applying the inference model to the run-time metrics and the run-time KPI values of the application comprises:

normalizing the run-time metrics and the KPI;

synchronizing the run-time metrics and the run-time KPI values to a general set of regularly spaced time stamps:

for each run-time metric of the run-time metrics,

computing a run-time expected KPI based on the inference model and the run-time metrics with the run-time metric omitted, and

computing an error between the run-time expected KPI and the run-time KPI;

determining a maximum error of the errors computed for each of the run-time errors;

computing an importance score for each of the run-time metrics based on the error associated with the run-time metric and the maximum error;

rank ordering the run-time metrics based on the associated importance scores; and

discarding run-time metrics with importance scores below an importance score threshold, wherein non-discarded highest ranked metrics are the run-time relevant metrics.

4. The process of claim 1 wherein identifying the root cause of the performance problem based on the relevant run-time metrics comprises:

for each list of ranked metrics stored in a data storage device,

comparing run-time relevant metrics with a list of ranked metrics, and

when the run-time relevant metrics matches the list of ranked metrics, identifying the root cause of the performance problem as a performance problem associated with the matching list of ranked metrics.

5. The process of claim 1 wherein identifying the recommendation for correcting the performance problem based on the relevant run-time metrics comprises:

identifying a rule associated with a list of ranked metrics that matches the run-time relevant metrics; and

identifying the recommendation for correcting the performance problem based on the rule.

6. The process of claim 1 further comprising retraining the inference model based on user-selected highest rank ordered metrics.

7. The process of claim 1 further comprising executing remedial measures that correct the performance problem associated with at least one of CPU, memory, network, hosts, virtual CPU, virtual memory, virtual network, and an application coding error.

8. A computer system for automatically troubleshooting and correcting a performance problem of an application executing in a distributed computing system, the system comprising: one or more processors; one or more data-storage devices; and machine-readable instructions stored in the one or more data-storage devices that when executed using the one or more processors controls the system to execute operations comprising: training an inference model of the application based on metrics associated with the application and a performance indicator (“KPI”) of the application over a historical time window retrieved from a data storage device; in response to detecting a run-time performance problem in run-time KPI values, applying the inference model to run-time metrics and run-time KPI values of the application to identify relevant run-time metrics that are indicators of the performance problem; identifying a root cause of the performance problem based on the relevant run-time metrics; and using a script program to execute one or more remedial measures to correct the root cause of the performance problem, wherein the remedial measures include migrating a virtual object of the application to a different server computer, reconfiguring a virtual network used by virtual objects of the application, and allocating one or more of additional CPUs, memory, and network bandwidth to a virtual object of the application.

9. The system of claim 8 wherein training the inference model based on the metrics and the KPI comprises:

normalizing the metrics and the KPI;

synchronizing the metrics and the KPI to a general set of time stamps:

training a parametric inference model based on the metrics and the KPI over the historical time window;

computing a cross-validation estimate of the parametric inference model based on the KPI and a validating set of metrics and KPI over a historical time window;

using the parametric inference model as the inference model when the cross-validation estimate is less than a cross-validation threshold; and

computing a non-parametric inference model that is used as the inference model when the cross-validation estimate is greater than the cross-validation threshold.

10. The system of claim 8 wherein applying the inference model to the run-time metrics and the run-time KPI values of the application comprises:

normalizing the run-time metrics and the KPI;

synchronizing the run-time metrics and the run-time KPI values to a general set of regularly spaced time stamps;

for each run-time metric of the run-time metrics,

computing a run-time expected KPI based on the inference model and the run-time metrics with the run-time metric omitted, and

computing an error between the run-time expected KPI and the run-time KPI;

determining a maximum error of the errors computed for each of the run-time errors;

computing an importance score for each of the run-time metrics based on the error associated with the run-time metric and the maximum error;

rank ordering the run-time metrics based on the associated importance scores; and

discarding run-time metrics with importance scores below an importance score threshold, wherein non-discarded highest ranked metrics are the run-time relevant metrics.

11. The system of claim 8 wherein identifying the root cause of the performance problem based on the relevant run-time metrics comprises:

for each list of ranked metrics stored in a data storage device,

comparing run-time relevant metrics with a list of ranked metrics, and

when the run-time relevant metrics matches the list of ranked metrics, identifying the root cause of the performance problem as a performance problem associated with the matching list of ranked metrics.

12. The system of claim 8 wherein identifying the recommendation for correcting the performance problem based on the relevant run-time metrics comprises:

identifying a rule associated with a list of ranked metrics that matches the run-time relevant metrics; and

identifying the recommendation for correcting the performance problem based on the rule.

13. The system of claim 8 further comprising retraining the inference model based on user-selected highest rank ordered metrics.

14. The system of claim 8 further comprising executing remedial measures that correct the performance problem associated with at least one of CPU, memory, network, hosts, virtual CPU, virtual memory, virtual network, and an application coding error.

15. An operations manager stored in one or more data storage devices and executing instructions using one or more processors of a computer system, the operations manager uses the one or more processor to execute instructions to perform operations comprising: training an inference model of an application running in a distributed computing system based on metrics associated with the application and a key performance indicator (“KPI”) of the application over a historical time window retrieved from a data storage device; in response to detecting a run-time performance problem in run-time KPI values, applying the inference model to run-time metrics and run-time KPI values of the application to identify relevant run-time metrics that are indicators of the performance problem; identifying a root cause of the performance problem based on the relevant run-time metrics; and using a script program to execute one or more remedial measures to correct the root cause of the performance problem, wherein the remedial measures include migrating a virtual object of the application to a different server computer, reconfiguring a virtual network used by virtual objects of the application, and allocating one or more of additional CPUs, memory, and network bandwidth to a virtual object of the application.

16. The operations manager of claim 15 wherein training the inference model based on the metrics and the KPI comprises:

normalizing the metrics and the KPI;

synchronizing the metrics and the KPI to a general set of time stamps;

training a parametric inference model based on the metrics and the KPI over the historical time window;

computing a cross-validation estimate of the parametric inference model based on the KPI and a validating set of metrics and KPI over a historical time window;

using the parametric inference model as the inference model when the cross-validation estimate is less than a cross-validation threshold; and

computing a non-parametric inference model that is used as the inference model when the cross-validation estimate is greater than the cross-validation threshold.

17. The operations manager of claim 15 wherein applying the inference model to the run-time metrics and the run-time KPI values of the application comprises:

normalizing the run-time metrics and the KPI;

synchronizing the run-time metrics and the run-time KPI values to a general set of regularly spaced time stamps;

for each run-time metric of the run-time metrics,

computing a run-time expected KPI based on the inference model and the run-time metrics with the run-time metric omitted, and

computing an error between the run-time expected KPI and the run-time KPI;

determining a maximum error of the errors computed for each of the run-time errors;

computing an importance score for each of the run-time metrics based on the error associated with the run-time metric and the maximum error;

rank ordering the run-time metrics based on the associated importance scores; and

discarding run-time metrics with importance scores below an importance score threshold, wherein non-discarded highest ranked metrics are the run-time relevant metrics.

18. The operations manager of claim 15 wherein identifying the root cause of the performance problem based on the relevant run-time metrics comprises:

for each list of ranked metrics stored in a data storage device,

comparing run-time relevant metrics with a list of ranked metrics, and

when the run-time relevant metrics matches the list of ranked metrics, identifying the root cause of the performance problem as a performance problem associated with the matching list of ranked metrics.

19. The operations manager of claim 15 wherein identifying the recommendation for correcting the performance problem based on the relevant run-time metrics comprises:

identifying a rule associated with a list of ranked metrics that matches the run-time relevant metrics; and

identifying the recommendation for correcting the performance problem based on the rule.

20. The operations manager of claim 15 further comprising retraining the inference model based on user-selected highest rank ordered metrics.

21. The operations manager of claim 15 further comprising executing remedial measures that correct the performance problem associated with at least one of CPU, memory, network, hosts, virtual CPU, virtual memory, virtual network, and an application coding error.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: HARUTYUNYAN, ASHOT NSHAN; POGHOSYAN, ARNAK
To: VMWARE, INC.
Reel/Frame 057656/0443 →
Cited By (3)
US 12,602,277 US 12,613,764 US 12,670,047