IP Library › Granted Patent US 10,949,436
Granted Patent B2
US 10,949,436 · App. 15/902,830 · Granted Mar 16, 2021

Optimization for scalable analytics using time series models

Inventors: Sampanna Shahaji Salunke (Dublin, CA); Dustin Garvey (Oakland, CA); Michael Avrahamov (Redwood Shores, CA)
Assignee: Oracle International Corporation
G06F16/2477G06F12/0802G06F16/24552G06F16/1824
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 10,949,436
App. No.
15/902,830
Granted
Mar 16, 2021
Kind
B2
Abstract

Techniques are described for optimizing scalability of analytics that use time-series models. In one or more embodiments, a stored time-series model includes a plurality of data points representing seasonal behavior in a training set of time-series data for at least one season. A target time for evaluating the time-series model is then determined, and the target time or one or more times relative to the target time are mapped to a subset of the plurality of data points. Based on the mapping, a trimmed version of the time-series model is generated by loading the subset of the plurality of data points into a cache, the subset of data points representing seasonal behavior in the training set of time-series data for a portion of the at least one season. A target set of time-series data may be evaluated suing the trimmed version of the time-series in the cache.

Claims (43)

1. A method comprising:

storing, by one or more hardware processors, a time-series model, the time-series model including a plurality of data points representing seasonal behavior in a training set of time-series data for at least one season, wherein the plurality of data points do not include an explicit timestamp;

determining, by the one or more hardware processors, a target time for evaluating the time-series model;

mapping, by the one or more hardware processors to a subset of the plurality of data points, the target time or one or more times relative to the target time;

based on the mapping, generating, by the one or more hardware processors, a trimmed version of the time-series model in a cache by loading the subset of the plurality of data points into the cache, the subset of data points representing seasonal behavior in the training set of time-series data for a portion of the at least one season within a threshold range of the target time;

determining, by the one or more hardware processors, whether a target set of time-series data includes data points outside the threshold range of the target time;

responsive to determining that the target set of time-series data includes data points outside the threshold range of the target time, updating, by the one or more hardware processors, the trimmed version of the time-series model in the cache by loading a second subset of the plurality of data points into the cache; and

evaluating, by the one or more hardware processors, the target set of time-series data using the updated trimmed version of the time-series model in the cache to output an evaluation result.

2. The method of claim 1 , wherein the target time is determined based on at least one of a current time or a time associated with the target set of time-series data.

3. The method of claim 1 , further comprising determining a new target time for evaluating the time-series model; and responsive to determining the new target time, updating the trimmed version of the time-series model in the cache by loading a third subset of the plurality of data points into the cache, the third subset of data points representing seasonal behavior in the training set of time-series data for a second portion of the at least one season.

4. The method of claim 1 , wherein the mapping is based on a variance in the data points representing seasonal behavior in the training set of time-series data.

5. The method of claim 1 , wherein the trimmed version of the time-series model does not include data points that do not represent seasonal behavior.

6. The method of claim 1 , further comprising retraining the trimmed version of the time-series model using the target set of time-series data.

7. The method of claim 1 , further comprising: detecting a change in the time-series model, the change causing the time-series model to include data points representing seasonal behavior for a different season; responsive to detecting the change in the time-series model, updating the trimmed version of the time-series model to include a greater number or lesser number of data points.

8. The method of claim 7 wherein the change in the time-series model is from a daily season to a weekly season.

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

storing a time-series model, the time-series model including a plurality of data points representing seasonal behavior in a training set of time-series data for at least one season, wherein the plurality of data points do not include an explicit timestamp;

determining a target time for evaluating the time-series model;

mapping, to a subset of the plurality of data points, the target time or one or more times relative to the target time;

based on the mapping, generating a trimmed version of the time-series model in a cache by loading the subset of the plurality of data points into the cache, the subset of data points representing seasonal behavior in the training set of time-series data for a portion of the at least one season within a threshold range of the target time;

determining whether a target set of time-series data includes data points outside the threshold range of the target time;

responsive to determining that the target set of time-series data includes data points outside the threshold range of the target time, updating the trimmed version of the time-series model in the cache by loading a second subset of the plurality of data points into the cache; and

evaluating the target set of time-series data using the updated trimmed version of the time-series model in the cache to output an evaluation result.

10. The one or more non-transitory computer-readable media of claim 9 , wherein the target time is determined based on at least one of a current time or a time associated with the target set of time-series data.

11. The one or more non-transitory computer-readable media of claim 9 , wherein the instructions further cause operations comprising determining a new target time for evaluating the time-series model; and responsive to determining the new target time, updating the trimmed version of the time-series model in the cache by loading a third subset of the plurality of data points into the cache, the third subset of data points representing seasonal behavior in the training set of time-series data for a second portion of the at least one season.

12. The one or more non-transitory computer-readable media of claim 9 , wherein the mapping is based on a variance in the data points representing seasonal behavior in the training set of time-series data.

13. The one or more non-transitory computer-readable media of claim 9 , wherein the trimmed version of the time-series model does not include data points that do not represent seasonal behavior.

14. The one or more non-transitory computer-readable media of claim 9 , the instructions further causing operations comprising retraining the trimmed version of the time-series model using the target set of time-series data.

15. The one or more non-transitory computer-readable media of claim 9 , the instructions further causing operations comprising: detecting a change in the time-series model, the change causing the time-series model to include data points representing seasonal behavior for a different season; responsive to detecting the change in the time-series model, updating the trimmed version of the time-series model to include a greater number or lesser number of data points.

16. The one or more non-transitory computer-readable media of claim 15 wherein the change in the time-series model is from a daily season to a weekly season.

17. A system comprising:

one or more hardware processors;

one or more non-transitory computer-readable media storing instructions which, when executed by the one or more hardware processors, cause:

storing a time-series model, the time-series model including a plurality of data points representing seasonal behavior in a training set of time-series data for at least one season, wherein the plurality of data points do not include an explicit timestamp;

determining a target time for evaluating the time-series model;

mapping, to a subset of the plurality of data points, the target time or one or more times relative to the target time;

based on the mapping, generating a trimmed version of the time-series model in a cache by loading the subset of the plurality of data points into the cache, the subset of data points representing seasonal behavior in the training set of time-series data for a portion of the at least one season within a threshold range of the target time;

determining whether a target set of time-series data includes data points outside the threshold range of the target time;

responsive to determining that the target set of time-series data includes data points outside the threshold range of the target time, updating the trimmed version of the time-series model in the cache by loading a second subset of the plurality of data points into the cache; and

evaluating the target set of time-series data using the updated trimmed version of the time-series model in the cache to output an evaluation result.

18. The system of claim 17 , wherein the target time is determined based on at least one of a current time or a time associated with the target set of time-series data.

19. The system of claim 17 , wherein the instructions further cause: determining a new target time for evaluating the time-series model; and responsive to determining the new target time, updating the trimmed version of the time-series model in the cache by loading a third subset of the plurality of data points into the cache, the third subset of data points representing seasonal behavior in the training set of time-series data for a second portion of the at least one season.

20. The system of claim 17 , wherein the instructions further cause: detecting a change in the time-series model, the change causing the time-series model to include data points representing seasonal behavior for a different season; responsive to detecting the change in the time-series model, updating the trimmed version of the time-series model to include a greater number or lesser number of data points.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2018
From: SALUNKE, SAMPANA SHAHAJI; GARVEY, DUSTIN; AVRAHAMOV, MICHAEL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 045094/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2018
From: SALUNKE, SAMPANA SHAHAJI; GARVEY, DUSTIN; AVRAHAMOV, MICHAEL
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 045014/0955 →
Continuity (2)
Provisional Application 62463474 · Feb 24, 2017
Related Publication 20180246941A1 · Aug 30, 2018