IP Library Granted Patent US 11,586,706
Granted Patent B2
US 11,586,706 · App. 16/917,821 · Granted Feb 21, 2023

Time-series analysis for forecasting computational workloads

Inventors: Antony Stephen Higginson (Cheshire, GB); Octavian Arsene (Bucharest, RO); Mihaela Dediu (Manchester, GB); Thomas Elders (Dublin, IE)
Assignee: Oracle International Corporation
G06F17/18G06F11/3409G06N5/02
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,586,706
App. No.
16/917,821
Granted
Feb 21, 2023
Kind
B2
Abstract

Techniques for time-series analysis for forecasting computational workloads are disclosed. A resource management system monitors a computing system and obtains metrics data from the computing system. The metrics data is stored as a set of historical data points of a data set. A first portion of the set of historical data points comprise an outlier that does not correspond to a seasonality pattern associated with a second portion of the set of historical data points. The resource management system tests a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold. Then, the resource management system selects the first time-series model to predict future data points of the data set.

Claims (87)

1. One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause performance of operations comprising:

receiving a set of historical data points of a data set;

determining that a first portion of the set of historical data points comprise at least one outlier that does not correspond to at least one seasonality pattern associated with a second portion of the set of historical data points;

testing a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold; and

selecting the first time-series model to predict future data points of the data set;

determining whether the first time-series model is stale by determining:

whether the first time-series model is older than a threshold expiration value; or

whether the first time-series model has a root means square error (RMSE) that falls below a threshold percentage;

based on determining that the first time-series model is stale,

receiving a new set of historical data points of a second data set;

testing a second time-series model that incorporates a second exogenous variable corresponding to a second exogeneous factor; and

selecting the second time-series model to predict future data points of the second data set.

2. The one or more non-transitory machine-readable media of claim 1 , wherein the future data points predicted by the first time-series model do not incorporate any influence of the first exogenous variable.

3. The one or more non-transitory machine-readable media of claim 1 , wherein the future data points predicted by the first time-series model incorporate an influence of the first exogenous variable by accepting as input a value for the first exogenous variable.

4. The one or more non-transitory machine-readable media of claim 1 , wherein the first time-series model incorporates an influence of the first exogenous variable on future data points predicted by the first time-series model by reducing a weight given to the first exogenous variable relative to first variables in the first time-series model representing the at least one seasonality pattern.

5. The one or more non-transitory machine-readable media of claim 1 , wherein the operations further comprise:

testing a second time-series model that incorporates a second exogenous variable corresponding to a second exogeneous factor to determine that the second time-series model does not fit both the first portion of the set of historical data points and the second portion of the set of historical data points within the error threshold; and

refraining from selecting the second time-series model based on testing the second time-series model.

6. The one or more non-transitory machine-readable media of claim 1 , wherein the operations further comprise:

determining a first score for the first time-series model based on a fit of the first time-series model to both the first portion of the set of historical data points and the second portion of the set of historical data points; and

determining a second score for a second time-series model based on a fit of the second time-series model to both the first portion of the set of historical data points and the second portion of the set of historical data points,

wherein the selecting operation is responsive to determining that the first time-series model is a better fit for the data set than the second time-series model based on the first score and the second score.

7. The one or more non-transitory machine-readable media of claim 6 , wherein the second time-series model does not include any exogenous variable.

8. The one or more non-transitory machine-readable media of claim 6 , wherein the second time-series model includes a second exogenous variable.

9. The one or more non-transitory machine-readable media of claim 1 , wherein testing a first time-series model comprises:

performing a Fourier transform on the first time-series model.

10. The one or more non-transitory machine-readable media of claim 1 , wherein the first time-series model includes the first exogenous variable and variables corresponding to the at least one seasonality pattern and to at least one multiple-seasonality pattern in the set of historical data points.

11. The one or more non-transitory machine-readable media of claim 1 , wherein the data set is obtained from a workload of a computing system, and

the operations further comprise:

generating a recommendation for modifying the computing system based on the predicting the future data points.

12. One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause performance of operations comprising:

receiving a set of historical data points of a data set;

determining that a first portion of the set of historical data points comprise at least one outlier that does not correspond to at least one seasonality pattern associated with a second portion of the set of historical data points;

testing a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold;

selecting the first time-series model to predict future data points of the data set;

determining whether the first time-series model is stale by determining:

whether the first time-series model is older than a threshold expiration value; or

whether the first time-series model has a root means square error (RMSE) that falls below a threshold percentage;

based on determining that the first time-series model is not stale,

receiving a new set of historical data points of a second data set; and

using the first time-series model to predict future data points of the second data set.

13. A method, comprising:

receiving a set of historical data points of a data set;

determining that a first portion of the set of historical data points comprise at least one outlier that does not correspond to at least one seasonality pattern associated with a second portion of the set of historical data points;

testing a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold;

selecting the first time-series model to predict future data points of the data set;

determining whether the first time-series model is stale by determining:

whether the first time-series model is older than a threshold expiration value; or

whether the first time-series model has a root means square error (RMSE) that falls below a threshold percentage;

based on determining that the first time-series model is stale,

receiving a new set of historical data points of a second data set;

testing a second time-series model that incorporates a second exogenous variable corresponding to a second exogeneous factor; and

selecting the second time-series model to predict future data points of the second data set.

14. The method according to claim 13 , wherein the future data points predicted by the first time-series model do not incorporate any influence of the first exogenous variable.

15. The method according to claim 13 , wherein testing a first time-series model comprises:

performing a Fourier transform on the first time-series model.

16. The method according to claim 13 , wherein the first time-series model includes the first exogenous variable and variables corresponding to the at least one seasonality pattern and to at least one multiple-seasonality pattern in the set of historical data points.

17. The method according to claim 13 , wherein the data set is obtained from a workload of a computing system, and

the method further comprises:

generating a recommendation for modifying the computing system based on the predicting the future data points.

18. A method comprising:

receiving a set of historical data points of a data set;

determining that a first portion of the set of historical data points comprise at least one outlier that does not correspond to at least one seasonality pattern associated with a second portion of the set of historical data points;

testing a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold;

selecting the first time-series model to predict future data points of the data set;

determining whether the first time-series model is stale by determining:

whether the first time-series model is older than a threshold expiration value; or

whether the first time-series model has a root means square error (RMSE) that falls below a threshold percentage;

based on determining that the first time-series model is not stale,

receiving a new set of historical data points of a second data set; and

using the first time-series model to predict future data points of the second data set.

19. An apparatus, comprising:

a monitoring module configured to monitor a system to obtain metrics data from the system, and to store the metrics data in a data repository as historical data;

a training module configured to:

receive a set of historical data points of a data set;

determine that a first portion of the set of historical data points comprise at least one outlier that does not correspond to at least one seasonality pattern associated with a second portion of the set of historical data points;

test a first time-series model that incorporates a first exogenous variable corresponding to a first exogeneous factor to determine that the first time-series model fits both the first portion of the set of historical data points and the second portion of the set of historical data points within an error threshold; and

select the first time-series model to predict future data points of the data set; and

a forecast module configured to:

determine whether the first time-series model is stale by determining:

whether the first time-series model is older than a threshold expiration value; or

whether the first time-series model has a root means square error (RMSE) that falls below a threshold percentage,

wherein the training module is further configured to:

based on determining, by the forecast module, that the first time-series model is stale:

receive a new set of historical data points of a second data set;

test a second time-series model that incorporates a second exogenous variable corresponding to a second exogeneous factor; and

select the second time-series model to predict future data points of the second data set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2020
From: HIGGINSON, ANTONY STEPHEN; ARSENE, OCTAVIAN; DEDIU, MIHAELA; ELDERS, THOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 053128/0785 →
Continuity (3)
Provisional Application 62939603 · Nov 23, 2019
Provisional Application 62901088 · Sep 16, 2019
Related Publication 20210081492A1 · Mar 18, 2021
Cited By (2)
US 12,488,284 US 12,682,047