IP Library Granted Patent US 11,675,687
Granted Patent B2
US 11,675,687 · App. 16/948,075 · Granted Jun 13, 2023

Application state prediction using component state

Inventors: Ajoy Kumar (Santa Clara, CA); Mantinder Jit Singh (Vancouver, CA); Smijith Pichappan (Bangalore, IN)
Assignee: BMC Software, Inc.
G06F11/3608G06F11/302G06F11/3419G06F11/3447G06N5/04G06N20/00
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,675,687
App. No.
16/948,075
Granted
Jun 13, 2023
Kind
B2
Abstract

Described systems and techniques enable prediction of a state of an application at a future time, with high levels of accuracy and specificity. Accordingly, operators may be provided with sufficient warning to avert poor user experiences. Unsupervised machine learning techniques may be used to characterize current states of applications and underlying components in a standardized manner. The resulting data effectively provides labelled training data that may then be used by supervised machine learning algorithms to build state prediction models. Resulting state prediction models may then be deployed and used to predict an application state of an application at a specified future time.

Claims (49)

1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed by at least one computing device, are configured to cause the at least one computing device to:

receive a data stream of performance metrics characterizing a technology landscape, the technology landscape including at least one application provided by at least one component;

determine component states of the at least one component and application states of the at least one application at corresponding timestamps, using the data stream of performance metrics and at least one anomaly detection model constructed with an unsupervised machine learning algorithm;

apply each component state of the component states, and each application state of the application states, as a label of each corresponding timestamp, to obtain labelled training data;

train a supervised machine learning algorithm using the labelled training data, to obtain at least one state prediction model;

detect a temporal pattern of component states of the at least one component, based on the performance metrics; and

predict a future application state of the at least one application, based on the temporal pattern of component states and the at least one state prediction model.

2. The computer program product of claim 1 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

receive the data stream of performance metrics including a set of Known Performance Indicators (KPIs) characterizing the at least one component and the at least one application;

reduce the set of KPIs by applying a Principal Component Analysis (PCA) to the set of KPIs and thereby obtain a reduced set of KPIs; and

determine the component states of the at least one component and the application states of the at least one application at corresponding timestamps, based on the reduced set of KPIs.

3. The computer program product of claim 1 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

receive the data stream of performance metrics including reports of user interactions with the at least one application; and

determine, based on the reports, a component state of the component states and an application state of the application states at a corresponding timestamp of each report of the reports.

4. The computer program product of claim 1 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

classify the component states and application states with respect to anomaly thresholds, using the at least one anomaly detection model; and

generate an alert when the one or more of the component states or the application states crosses one of the anomaly thresholds.

5. The computer program product of claim 1 , wherein the at least one application is associated with a service model that describes causal relationships between a plurality of components, including the at least one component, and the at least one application.

6. The computer program product of claim 5 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

predict the future application state of the at least one application, based on the temporal pattern of component states and on the causal relationships.

7. The computer program product of claim 1 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

predict the future application state of the at least one application, including predicting a bounded time window during which the future application state will occur.

8. The computer program product of claim 1 , wherein the instructions, when executed, are further configured to cause the at least one computing device to:

detect a temporal pattern of application states of the at least one application, based on the performance metrics; and

predict the future application state of the at least one application, based on the temporal pattern of application states.

9. A computer-implemented method, the method comprising:

receiving a data stream of performance metrics characterizing a technology landscape, the technology landscape including at least one application provided by at least one component;

determining component states of the at least one component and application states of the at least one application at corresponding timestamps, using the data stream of performance metrics and at least one anomaly detection model constructed with an unsupervised machine learning algorithm;

applying each component state of the component states, and each application state of the application states, as a label of each corresponding timestamp, to obtain labelled training data;

training a supervised machine learning algorithm using the labelled training data, to obtain at least one state prediction model;

detecting a temporal pattern of component states of the at least one component, based on the performance metrics; and

predicting a future application state of the at least one application, based on the temporal pattern of component states and the at least one state prediction model.

10. The method of claim 9 , further comprising:

classifying the component states and application states with respect to anomaly thresholds, using the at least one anomaly detection model; and

generating an alert when the one or more of the component states or the application states crosses one of the anomaly thresholds.

11. The method of claim 9 , wherein the at least one application is associated with a service model that describes causal relationships between a plurality of components, including the at least one component, and the at least one application.

12. The method of claim 11 , further comprising:

predicting the future application state of the at least one application, based on the temporal pattern of component states and on the causal relationships.

13. The method of claim 9 , further comprising:

predicting the future application state of the at least one application, including predicting a bounded time window during which the future application state will occur.

14. A system comprising:

at least one memory including instructions; and

at least one processor that is operably coupled to the at least one memory and that is arranged and configured to execute instructions that, when executed, cause the at least one processor to

receive a data stream of performance metrics characterizing a technology landscape, the technology landscape including at least one application provided by at least one component;

determine component states of the at least one component and application states of the at least one application at corresponding timestamps, using the data stream of performance metrics and at least one anomaly detection model constructed with an unsupervised machine learning algorithm;

apply each component state of the component states, and each application state of the application states, as a label of each corresponding timestamp, to obtain labelled training data;

train a supervised machine learning algorithm using the labelled training data, to obtain at least one state prediction model;

detect a temporal pattern of component states of the at least one component, based on the performance metrics; and

predict a future application state of the at least one application, based on the temporal pattern of component states and the at least one state prediction model.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2020
From: KUMAR, AJOY; SINGH, MANTINDER JIT; PICHAPPAN, SMIJITH
To: BMC SOFTWARE, INC.
Reel/Frame 054425/0359 →