IP Library Granted Patent US 12,288,097
Granted Patent B2
US 12,288,097 · App. 17/649,543 · Granted Apr 29, 2025

Resource tuning with usage forecasting

Inventors: Yaron Front (Kiryat Motzkin, IL); Michele De Stefano (Soncino, IT); Marco Bertoli (Trecate, IT); Jeyashree Sivasubramanian (Framingham, MA); Komal Padmawar (Pune, IN); Nir Yavin (Kfar Szold, IL)
Assignee: BMC Helix, Inc.
G06F9/5033G06F11/3409G06N20/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 12,288,097
App. No.
17/649,543
Granted
Apr 29, 2025
Kind
B2
Abstract

Described techniques determine performance metric values of a performance metric characterizing a performance of a system resource of an information technology (IT) system, and determine driver metric values of a driver metric characterizing an occurrence of an event that is at least partially external to the system resource. A correlation analysis may confirm a potential correlation between the performance metric values and the driver metric values as a correlation. A graph relating the performance metric to the driver metric may be generated. A plurality of extrapolation algorithms may be trained to obtain a plurality of trained extrapolation algorithms using a first subset of data points of the graph, and the plurality of trained extrapolation algorithms may be validated using a second subset of data points of the graph. A driver metric threshold corresponding to the performance metric threshold may be determined using a validated extrapolation algorithm.

Claims (92)

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:

determine, as a first time series, performance metric values of a performance metric characterizing a performance of a system resource of an information technology (IT) system, the performance metric having a performance metric threshold at which the performance of the system resource degrades;

determine, as a second time series, driver metric values of a driver metric characterizing an occurrence of an event that is at least partially external to the system resource and having a potential correlation with the performance of the system resource;

perform a correlation analysis between the first time series and the second time series to confirm the potential correlation as a correlation;

identify correlated value pairs of the first time series and the second time series, each value pair occurring at a corresponding point in time, based on the correlation;

train a plurality of extrapolation algorithms to obtain a plurality of trained extrapolation algorithms using a first subset of the correlated value pairs;

validate the plurality of trained extrapolation algorithms to obtain a plurality of validated extrapolation algorithms using a second subset of the correlated value pairs;

select a validated extrapolation algorithm of the validated extrapolation algorithms; and

determine a driver metric threshold corresponding to the performance metric threshold, including using the validated extrapolation algorithm to extend a relationship between the performance metric values and the driver metric values until the performance metric threshold is met, to thereby determine the driver metric threshold corresponding to the performance metric threshold; and

tune the system resource to improve the performance metric threshold and thereby extend the driver metric threshold.

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:

perform the correlation analysis including removing a first trend of the first time series and a second trend of the second time series.

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

calculate an estimate of a Spearman correlation coefficient;

calculate a comparison of the estimate of the Spearman correlation coefficient and a coefficient threshold; and

confirm the potential correlation as the correlation based at least in part on the comparison.

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:

calculate a false positive error rate for the potential correlation;

calculate a comparison of the false positive error rate and a false positive error threshold for the potential correlation; and

confirm the potential correlation as the correlation based at least in part on the comparison.

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

generate a graph in which the performance metric values are individually graphed against corresponding ones of the driver metric values to thereby illustrate the value pairs.

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

iterate, for the driver metric, over a plurality of performance metrics that includes the performance metric, to thereby determine a plurality of performance metric thresholds and corresponding driver metric thresholds; and

identify a bottleneck performance metric of the plurality of performance metrics as corresponding to a smallest driver metric threshold of the plurality of driver metric thresholds.

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:

receive a hypothetical driver metric value;

project a hypothetical performance metric value, based on the hypothetical driver metric value and on the validated extrapolation algorithm;

determine that the hypothetical performance metric value exceeds the performance metric threshold;

tune the system resource, based on the exceeding; and

determine that an updated hypothetical performance metric value does not exceed the performance metric threshold with the adjusted capacity of the system resource, based on the hypothetical driver metric value and the validated extrapolation algorithm.

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:

train a plurality of prediction algorithms using a first subset of the driver metric values to obtain a plurality of trained prediction algorithms;

validate the plurality of trained prediction algorithms using a second subset of the driver metric values to obtain a plurality of validated prediction algorithms;

select a validated prediction algorithm of the validated prediction algorithms as exceeding a predictability threshold; and

predict future driver metric values, using the validated prediction algorithm and the driver metric values.

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

predict a point in time at which the driver metric will reach the driver metric threshold, using the validated prediction algorithm.

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

determining, as a first time series, performance metric values of a performance metric characterizing a performance of a system resource of an information technology (IT) system, the performance metric having a performance metric threshold at which the performance of the system resource degrades;

determining, as a second time series, driver metric values of a driver metric characterizing an occurrence of an event that is at least partially external to the system resource and having a potential correlation with the performance of the system resource;

performing a correlation analysis to confirm the potential correlation as a correlation;

identifying correlated value pairs of the first time series and the second time series, each value pair occurring at a corresponding point in time, based on the correlation;

training a plurality of extrapolation algorithms to obtain a plurality of trained extrapolation algorithms using a first subset of the correlated value pairs;

validating the plurality of trained extrapolation algorithms to obtain a plurality of validated extrapolation algorithms using a second subset of the correlated value pairs;

selecting a validated extrapolation algorithm of the validated extrapolation algorithms; and

determining a driver metric threshold corresponding to the performance metric threshold, including using the validated extrapolation algorithm to extend a relationship between the performance metric values and the driver metric values until the performance metric threshold is met, to thereby determine the driver metric threshold corresponding to the performance metric threshold; and

tuning the system resource to improve the performance metric threshold and thereby extend the driver metric threshold.

11. The method of claim 10 , wherein performing the correlation analysis further comprises:

calculating an estimate of a Spearman correlation coefficient;

calculating a comparison of the estimate of the Spearman correlation coefficient and a coefficient threshold; and

confirming the potential correlation as the correlation based at least in part on the comparison.

12. The method of claim 10 , wherein performing the correlation analysis further comprises:

calculating a false positive error rate for the potential correlation;

calculating a comparison of the false positive error rate and a false positive error threshold for the potential correlation; and

confirming the potential correlation as the correlation based at least in part on the comparison.

13. The method of claim 10 , wherein generating the graph further comprises:

generating a cross-plot graph in which the performance metric values are individually graphed against corresponding ones of the driver metric values.

14. The method of claim 10 , further comprising:

iterating, for the driver metric, over a plurality of performance metrics that includes the performance metric, to thereby determine a plurality of performance metric thresholds and corresponding driver metric thresholds; and

identifying a bottleneck performance metric of the plurality of performance metrics as corresponding to a smallest driver metric threshold of the plurality of driver metric thresholds.

15. The method of claim 10 , further comprising:

receiving a hypothetical driver metric value;

projecting a hypothetical performance metric value, based on the hypothetical driver metric value and on the validated extrapolation algorithm;

determining that the hypothetical performance metric value exceeds the performance metric threshold;

adjusting a capacity of the system resource, based on the exceeding; and

determining that an updated hypothetical performance metric value does not exceed the performance metric threshold with the adjusted capacity of the system resource, based on the hypothetical driver metric value and the validated extrapolation algorithm.

16. The method of claim 10 , further comprising:

training a plurality of prediction algorithms using a first subset of the driver metric values to obtain a plurality of trained prediction algorithms;

validating the plurality of trained prediction algorithms using a second subset of the driver metric values to obtain a plurality of validated prediction algorithms;

selecting a validated prediction algorithm of the validated prediction algorithms as exceeding a predictability threshold; and

predicting future driver metric values, using the validated prediction algorithm and the driver metric values.

17. The method of claim 16 , further comprising:

predicting a point in time at which the driver metric will reach the driver metric threshold, using the validated prediction algorithm.

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

determine, as a first time series, performance metric values of a performance metric characterizing a performance of a system resource of an information technology (IT) system, the performance metric having a performance metric threshold at which the performance of the system resource degrades;

determine, as a second time series, driver metric values of a driver metric characterizing an occurrence of an event that is at least partially external to the system resource and having a potential correlation with the performance of the system resource;

perform a correlation analysis to confirm the potential correlation as a correlation;

identify correlated value pairs of the first time series and the second time series, each value pair occurring at a corresponding point in time;

train a plurality of extrapolation algorithms to obtain a plurality of trained extrapolation algorithms using a first subset of the correlated value pairs;

validate the plurality of trained extrapolation algorithms to obtain a plurality of validated extrapolation algorithms using a second subset of the correlated value pairs;

select a validated extrapolation algorithm of the validated extrapolation algorithms; and

determine a driver metric threshold corresponding to the performance metric threshold, including using the validated extrapolation algorithm to extend a relationship between the performance metric values and the driver metric values until the performance metric threshold is met, to thereby determine the driver metric threshold corresponding to the performance metric threshold; and

tune the system resource to improve the performance metric threshold and thereby extend the driver metric threshold.

19. The system of claim 18 , wherein the instructions, when executed, are further configured to cause the at least one processor to:

train a plurality of prediction algorithms using a first subset of the driver metric values to obtain a plurality of trained prediction algorithms;

validate the plurality of trained prediction algorithms using a second subset of the driver metric values to obtain a plurality of validated prediction algorithms;

select a validated prediction algorithm of the validated prediction algorithms as exceeding a predictability threshold;

predict future driver metric values, using the validated prediction algorithm and the driver metric values; and

predict a point in time at which the driver metric will reach the driver metric threshold, using the validated prediction algorithm.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: FRONT, YARON; STEFANO, MICHELE DE; BERTOLI, MARCO; SIVASUBRAMANIAN, JEYASHREE; PADMAWAR, KOMAL; YAVIN, NIR
To: BMC SOFTWARE, INC.
Reel/Frame 059537/0927 →
Continuity (1)
Related Publication 20230244535A1 · Aug 3, 2023
References Cited (8)
US 20030110007A1 · McGee · 2003 [cited by examiner]
US 20200104401A1 · Burnett · 2020 [cited by examiner]
US 20220244954A1 · Kim · 2022 [cited by examiner]
K. Desouza: “Creating a Balance Portfolio of Information Technology Metrics,” IBM Center for The Business of Government, Using Technology Series, 2015, 45 pages. [cited by applicant]
The British Academy, Center for Multilevel Modeling, “Correlations in SPSS (Practical)”, available online at <https://www.bristol.ac.uk/cmm/media/research/ba-teaching-ebooks/pdf/Correlations%20-%20Practical.pdf>, Nov. 1… [cited by applicant]
X. Zhang et al.: “How To Measure It Effectiveness: The Cio's Perspective,” Journal of Information Technology Management, vol. XXIX, No. 4, Nov. 4, 2018, 22 pages. [cited by applicant]
X. Zhang et al: “ResTune: Resource Oriented Tuning Boosted by Meta-Learning for Cloud Databases,” SIGMOD '21, Jun. 20, 2021, 13 pages. [cited by applicant]
Govt of Western Australia, Department of Training and Workforce Development, “Use Quadratic, Exponential, Logarithmic and Trigonometric Functions and Matrices”, Feb. 8, 2009, 282 pages. [cited by applicant]