# US 12,001,926 B2 · Systems and methods for detecting long term seasons

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,926 B2
- Document ID: US12001926B2
- Status: Granted
- Kind: B2
- Application number: 16/168,377
- Filed: 2018-10-23
- Published: 2020-04-23
- Granted: 2024-06-04
- Earliest claimed: 2018-10-23
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Dustin Garvey; Sampanna Shahaji Salunke; Uri Shaft; Sumathi Gopalakrishnan
- Web page: https://patentgrep.com/patent/US12001926B2

## CPC

- G06N 20/00: Machine learning
- G06Q 10/06315: {Needs-based resource requirements planning or analysis}
- G06N 5/02: Knowledge representation; Symbolic representation
- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Techniques for machine-learning of long-term seasonal patterns are disclosed. In some embodiments, a network service receives a set of time-series data that tracks metric values of at least one computing resource over time. Responsive to receiving the time-series data, the network service detects a subset of metric values that are outliers and associated with a plurality of timestamps. The network service maps the plurality of timestamps to one or more encodings of at least one encoding space that defines a plurality of encodings for different seasonal patterns. Based on the mapped encodings, the network service generates a representation of a seasonal pattern. Based on the representation of the seasonal pattern, the network service may perform one or more operations in association with the at least one computing resource.

## Claims

### Claim 1

A method comprising:
receiving a set of time-series data that tracks metric values of at least one computing resource over time;
responsive to receiving the time-series data, detecting a subset of metric values that are outliers, wherein the subset of metric values are associated with a plurality of timestamps;
mapping each respective timestamp of at least a subset of the plurality of timestamps to one or more respective encodings, wherein a same timestamp for a same outlier is mapped to a plurality of different encodings including a first encoding that indicates where the same timestamp fits relative to a first type of monthly pattern and a second encoding that indicates where the same timestamp fits relative to a second type of monthly pattern, wherein the first encoding differs from the second encoding based on differences in where the same timestamp fits relative the first type of monthly pattern compared to the second type of monthly pattern due to varying seasonal irregularities;
selecting at least one type of seasonal pattern to train a machine learning model based on said mapping, wherein selecting the at least one type of seasonal pattern includes:
iteratively determining a mapping count relative to an opportunity count for each encoding of the plurality of different encodings;
generating a candidate set of encodings that includes encodings where the mapping count relative to the opportunity count exceeds a threshold, wherein encodings where the mapping count does not satisfy the threshold are not added to the candidate set of encodings;
ordering the candidate set of seasons by at least one of duration or complexity;
after ordering the candidate set of seasons, removing encodings from the candidate set that account for less than a threshold number of outliers;
training a machine learning model based on at least one remaining encoding in the candidate set of encodings to learn the at least one type of seasonal pattern to predict behavior of the at least one computing resource; and
configuring the at least one computing resource based on the behavior of the at least one computing resource predicted by applying the trained machine learning model that has learned the at least one type of seasonal pattern.

### Claim 2 (depends on 1)

The method of claim 1, wherein the at least one seasonal pattern is associated with a set of different encodings of an encoding space.

### Claim 3 (depends on 1)

The method of claim 1, wherein training the machine learning model comprises training a forecasting model to estimate resource utilization of the at least one computing resource.

### Claim 4 (depends on 1)

The method of claim 1, further comprising: displaying a summary based on a representation of the at least one seasonal pattern; wherein the summary identifies a particular pattern of outlier high values that recur over a long-term seasonal period in the at least one computing resource.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: generating a recommendation for optimizing the at least one computing resource one computing or scheduling an operation to execute on the at least one computing resource based on the behavior of the at least one computing resource predicted by applying the trained machine learning model.

### Claim 6 (depends on 1)

The method of claim 1, wherein the same timestamp for the same outlier is further mapped to a third encoding representing at least one of a weekly pattern, a bi-monthly pattern, or an annual pattern.

### Claim 7 (depends on 6)

The method of claim 6, wherein the third encoding identifies a week and a day where the same timestamp fits within a yearly seasonal pattern.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first encoding identifies how many days remain in a month relative to the same timestamp and the second encoding identifies how many days have passed from a start of the month relative to the same timestamp.

### Claim 9 (depends on 1)

The method of claim 1, further comprising: deploying at least one additional computing resource to satisfy projected demand predicted by applying the trained machine learning model.

### Claim 10

One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause:
receiving a set of time-series data that tracks metric values of at least one computing resource over time;
responsive to receiving the time-series data, detecting a subset of metric values that are outliers, wherein the subset of metric values are associated with a plurality of timestamps;
mapping each respective timestamp of at least a subset of the plurality of timestamps to one or more respective encodings, wherein a same timestamp for a same outlier is mapped to a plurality of different encodings including a first encoding that indicates where the same timestamp fits relative to a first type of monthly pattern and a second encoding that indicates where the same timestamp fits relative to a second type of monthly pattern, wherein the first encoding differs from the second encoding based on differences in where the same timestamp fits relative the first type of monthly pattern compared to the second type of monthly pattern due to varying seasonal irregularities;
selecting at least one type of seasonal pattern to train a machine learning model based on said mapping, wherein selecting the at least one type of seasonal pattern includes:
iteratively determining a mapping count relative to an opportunity count for each encoding of the plurality of different encodings;
generating a candidate set of encodings that includes encodings where the mapping count relative to the opportunity count exceeds a threshold, wherein encodings where the mapping count does not satisfy the threshold are not added to the candidate set of encodings;
ordering the candidate set of seasons by at least one of duration or complexity;
after ordering the candidate set of seasons, removing encodings from the candidate set that account for less than a threshold number of outliers;
training a machine learning model based on at least one remaining encoding in the candidate set of encodings to learn the at least one type of seasonal pattern to predict behavior of the at least one computing resource; and
configuring the at least one computing resource based on the behavior of the at least one computing resource predicted by applying the trained machine learning model that has learned the at least one type of seasonal pattern.

### Claim 11 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, wherein the at least one seasonal pattern is associated with a set of different encodings of an encoding space.

### Claim 12 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, wherein training the machine learning model comprises training a forecasting model to estimate resource utilization of the at least one computing resource.

### Claim 13 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, wherein the instructions further cause: displaying a summary based on a representation of the at least one seasonal pattern; wherein the summary identifies a particular pattern of outlier high values that recur over a long-term seasonal period in the at least one computing resource.

### Claim 14 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, further comprising:
generating a recommendation for optimizing the at least one computing resource or scheduling an operation to execute on the at least one computing resource based on the behavior of the at least one computing resource predicted by applying the trained machine learning model.

### Claim 15 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, wherein the same timestamp for the same outlier is further mapped to a third encoding representing at least one of a weekly pattern, a bi-monthly pattern, or an annual pattern.

### Claim 16 (depends on 10)

The one or more non-transitory machine-readable media of claim 10, wherein the first encoding identifies how many days remain in a month relative to the same timestamp and the second encoding identifies how many days have passed from a start of the month relative to the same timestamp.

### Claim 17 (depends on 16)

The one or more non-transitory machine-readable media of claim 16, wherein the third encoding identifies a week and a day where the same timestamp fits within a yearly seasonal pattern.

### Claim 18

A system comprising:
one or more hardware processors;
one or more non-transitory machine-readable media storing instructions which, when executed by the one or more hardware processors, cause:
receiving a set of time-series data that tracks metric values of at least one computing resource over time;
responsive to receiving the time-series data, detecting a subset of metric values that are outliers, wherein the subset of metric values are associated with a plurality of timestamps;
mapping each respective timestamp of at least a subset of the plurality of timestamps to one or more respective encodings, wherein a same timestamp for a same outlier is mapped to a plurality of different encodings including a first encoding that indicates where the same timestamp fits relative to a first type of monthly pattern and a second encoding that indicates where the same timestamp fits relative to a second type of monthly pattern, wherein the first encoding differs from the second encoding based on differences in where the same timestamp fits relative the first type of monthly pattern compared to the second type of monthly pattern due to varying seasonal irregularities;
selecting at least one type of seasonal pattern to train a machine learning model based on said mapping, wherein selecting the at least one type of seasonal pattern includes:
iteratively determining a mapping count relative to an opportunity count for each encoding of the plurality of different encodings;
generating a candidate set of encodings that includes encodings where the mapping count relative to the opportunity count exceeds a threshold, wherein encodings where the mapping count does not satisfy the threshold are not added to the candidate set of encodings;
ordering the candidate set of seasons by at least one of duration or complexity;
after ordering the candidate set of seasons, removing encodings from the candidate set that account for less than a threshold number of outliers;
training a machine learning model based on at least one remaining encoding in the candidate set of encodings to learn the at least one type of seasonal pattern to predict behavior of the at least one computing resource; and
configuring the at least one computing resource based on the behavior of the at least one computing resource predicted by applying the trained machine learning model that has learned the at least one type of seasonal pattern.

### Claim 19 (depends on 18)

The system of claim 18, wherein the at least one seasonal pattern is associated with a set of different encodings of an encoding space.

### Claim 20 (depends on 18)

The system of claim 18, wherein training the machine learning model comprises training a forecasting model to estimate resource utilization of the at least one computing resource.
