IP Library Granted Patent US 11,630,971
Granted Patent B2
US 11,630,971 · App. 16/441,319 · Granted Apr 18, 2023

Predicting software performace based on different system configurations

Inventor: Marcel Hild (Kiel, DE)
Assignee: RED HAT, INC.
G06K9/6257G06F11/0772G06F11/0793G06F11/302G06F11/3075G06F11/3447G06F11/3476G06N20/00H04L67/34
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,630,971
App. No.
16/441,319
Filed
Jun 14, 2019
Granted
Apr 18, 2023
Kind
B2
Art Unit
2113
USPC
706/12
Abstract

Software performance can be predicted based on different system configurations. In one example, a computing device can receive historical datasets associated with copies of a software application executed by a group of computing environments during a prior timespan. Each historical dataset can indicate respective changes during the prior timespan to at least one performance characteristic of one of the copies of the software application executed by one of the computing environments in the group. Each computing environment in the group can being configured differently than the other computing environments in the group. The computing device can also convert the historical datasets into training data for a machine-learning model, and train the machine-learning model. This can yield a trained machine-learning model configured to generate a forecast of the performance characteristic for the software application over a future timespan.

Claims (46)

1. A system comprising:

a processor; and

a memory including instructions that are executable by the processor for causing the processor to:

receive historical datasets associated with copies of a software application executed by a plurality of computing environments during a prior timespan, each historical dataset indicating respective changes during the prior timespan to a performance characteristic of one of the copies of the software application executed by a respective computing environment among the plurality of computing environments, each computing environment among the plurality of computing environments being configured differently than the other computing environments among the plurality of computing environments;

anonymize the historical datasets;

convert the historical datasets into training data for a machine-learning model;

train the machine-learning model by iteratively tuning weights internal to the machine-learning model based on the training data, thereby producing a trained machine-learning model configured to generate a forecast of the performance characteristic for the software application over a future time window, the forecast including a plurality of predicted future values for the performance characteristic during the future time window; and

transmit the trained machine-learning model over a network to a third party to enable the third party to execute the trained machine-learning model and thereby generate the forecast.

2. The system of claim 1 , wherein the memory further comprises instructions that are executable by the processor for causing the processor to:

execute the trained machine-learning model to generate the forecast;

detect an anomaly associated with the software application in the forecast; and

in response to detecting the anomaly in the forecast, generate an alert indicative of the anomaly.

3. The system of claim 1 , wherein the performance characteristic includes a disk usage characteristic, a memory usage characteristic, a processor usage characteristic, or an input/output (I/O) usage characteristic.

4. The system of claim 1 , wherein the historical datasets are received from the plurality of computing environments.

5. The system of claim 1 , wherein the historical datasets include configuration data describing system configurations of the plurality of computing environments during the prior timespan, each historical dataset having respective configuration data describing a respective system configuration of a respective computing environment among the plurality of computing environments from which the historical dataset was obtained.

6. The system of claim 5 , wherein the memory further comprises instructions that are executable by the processor for causing the processor to generate the training data based on the historical datasets by including at least some of the configuration data describing the system configurations of the plurality of computing environments into the training data.

7. The system of claim 1 , wherein the memory further comprises instructions that are executable by the processor for causing the processor to anonymize the historical datasets by injecting noise into the historical datasets.

8. A method comprising:

receiving, by a processor of a system, historical datasets associated with copies of a software application executed by a plurality of computing environments during a prior timespan, each historical dataset indicating respective changes during the prior timespan to a performance characteristic of one of the copies of the software application executed by a respective computing environment among the plurality of computing environments, each computing environment among the plurality of computing environments being configured differently than the other computing environments among the plurality of computing environments;

anonymizing, by the processor, the historical datasets;

converting, by the processor, the historical datasets into training data for a machine-learning model;

training, by the processor, the machine-learning model by iteratively tuning weights internal to the machine-learning model based on the training data, thereby producing a trained machine-learning model configured to generate a forecast of the performance characteristic for the software application over a future time window, the forecast including a plurality of predicted future values for the performance characteristic during the future time window; and

transmitting, by the processor, the trained machine-learning model over a network to a third party to enable the third party to execute the trained machine-learning model and thereby generate the forecast.

9. The method of claim 8 , further comprising:

executing the trained machine-learning model to generate the forecast;

detecting an anomaly associated with the software application in the forecast; and

in response to detecting the anomaly in the forecast, generating an alert indicative of the anomaly.

10. The method of claim 8 , wherein the performance characteristic includes a disk usage characteristic, a memory usage characteristic, a processor usage characteristic, or an input/output (I/O) usage characteristic.

11. The method of claim 8 , wherein the historical datasets are received from the plurality of computing environments.

12. The method of claim 8 , wherein the historical datasets include configuration data describing system configurations of the plurality of computing environments during the prior timespan, each historical dataset having respective configuration data describing a respective system configuration of a respective computing environment among the plurality of computing environments from which the historical dataset was obtained.

13. The method of claim 12 , further comprising generating the training data based on the historical datasets by including at least some of the configuration data describing the system configurations of the plurality of computing environments into the training data.

14. The method of claim 8 , further comprising anonymizing the historical datasets by injecting noise into the historical datasets.

15. A non-transitory computer-readable medium comprising program code that is executable by a processor of a system for causing the processor to:

receive historical datasets associated with copies of a software application executed by a plurality of computing environments during a prior timespan, each historical dataset indicating respective changes during the prior timespan to a performance characteristic of one of the copies of the software application executed by a respective computing environment among the plurality of computing environments, each computing environment among the plurality of computing environments being configured differently than the other computing environments among the plurality of computing environments;

anonymize the historical datasets;

convert the historical datasets into training data for a machine-learning model;

train the machine-learning model by iteratively tuning weights internal to the machine-learning model based on the training data, thereby producing a trained machine-learning model configured to generate a forecast of the performance characteristic for the software application over a future time window, the forecast including a plurality of predicted future values for the performance characteristic during the future time window; and

transmit the trained machine-learning model over a network to a third party to enable the third party to execute the trained machine-learning model and thereby generate the forecast.

16. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processor for causing the processor to:

execute the trained machine-learning model to generate the forecast;

detect an anomaly associated with the software application in the forecast; and

in response to detecting the anomaly in the forecast, generate an alert indicative of the anomaly.

17. The non-transitory computer-readable medium of claim 15 , wherein the performance characteristic includes a disk usage characteristic, a memory usage characteristic, a processor usage characteristic, or an input/output (I/O) usage characteristic.

18. The non-transitory computer-readable medium of claim 15 , wherein the historical datasets are received from the plurality of computing environments.

19. The non-transitory computer-readable medium of claim 15 , wherein the historical datasets include configuration data describing system configurations of the plurality of computing environments during the prior timespan, each historical dataset having respective configuration data describing a respective system configuration of a respective computing environment among the plurality of computing environments from which the historical dataset was obtained.

20. The non-transitory computer-readable medium of claim 15 , further comprising program code that is executable by the processor for causing the processor to anonymize the historical datasets by injecting noise into the historical datasets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2019
From: HILD, MARCEL
To: RED HAT, INC.
Reel/Frame 049469/0484 →
Continuity (1)
Related Publication 20200394462A1 · Dec 17, 2020