# US 12,001,310 B2 · Approximating activity loads in databases using smoothed time series

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

- Number: US 12,001,310 B2
- Document ID: US12001310B2
- Status: Granted
- Kind: B2
- Application number: 17/222,010
- Filed: 2021-04-05
- Published: 2022-10-06
- Granted: 2024-06-04
- Earliest claimed: 2021-04-05
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ofer Haim Biller; Oded Sofer
- Web page: https://patentgrep.com/patent/US12001310B2

## CPC

- G06F 11/3419: {by assessing time}
- G06F 11/302: {where the computing system component is a software system}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 2201/835: Timestamp
- G06F 2201/86: Event-based monitoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An example system includes a processor to monitor activity on a database server to generate an events stream. The processor can convert the events stream into a time series that approximates activity load at the database server using an exponential smoothing. The processor can also send the time series to a streaming analytics engine.

## Claims

### Claim 1

A system, comprising a processor to:
monitor activity on a database server to generate an events stream;
convert the events stream into a time series;
approximate, in response to detecting each event in the events stream, an activity load at the database server using an exponential smoothing, a current time stamp generated at the time of each detected event, and a previous time stamp generated at a previous event time, wherein a plurality of simulated time windows for analyzing the activity load are calculated using a smoothing factor of the exponential smoothing;
send the time series to a streaming analytics engine; and
generate a trained machine learning model for the stream analytics engine for analyzing the time series using the plurality of simulated time windows in parallel.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processor is to monitor the activity per each user or database.

### Claim 3 (depends on 1)

The system of claim 1, wherein the exponential smoothing is based on a density function of the activity load that uses a smoothing exponential average of events in the events stream.

### Claim 4 (depends on 1)

The system of claim 1, wherein the exponential smoothing is calculated based on a current event timestamp and a previous event timestamp in the events stream.

### Claim 5 (depends on 1)

The system of claim 1, wherein the processor is to approximate an activity load of database server for the plurality of simulated time windows in parallel.

### Claim 6 (depends on 1)

The system of claim 1, wherein the processor is to approximate an updated activity load of the database server at each detected additional event in the events stream.

### Claim 7 (depends on 1)

The system of claim 1, wherein the streaming analytics engine is to perform anomaly detection on the time series.

### Claim 8

A computer-implemented method, comprising:
monitoring, via a processor, activity on database server to generate an events stream;
converting, via the processor, the events stream into a time series;
approximating, in response to detecting each event in the events stream, an activity load at the database server using an exponential smoothing, a current time stamp generated at the time of each detected event, and a previous time stamp generated at a previous event time, wherein a plurality of simulated time windows for analyzing the activity load are calculated using a smoothing factor of the exponential smoothing;
sending, via the processor, the time series to a streaming analytics engine; and
generating a trained machine learning model for the stream analytics engine for analyzing the time series using the plurality of simulated time windows in parallel.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising separating the events stream into per-user streams or per-database streams.

### Claim 10 (depends on 8)

The computer-implemented method of claim 8, further comprising receiving an adjustable smoothing factor and converting the events stream using the exponential smoothing based on the smoothing factor.

### Claim 11 (depends on 8)

The computer-implemented method of claim 8, wherein converting the events stream comprises approximating an updated activity load of the database server at each detected additional event in the events stream.

### Claim 12 (depends on 8)

The computer-implemented method of claim 8, wherein executing the streaming analytics engine comprises predicting a future activity load based on the time series.

### Claim 13 (depends on 8)

The computer-implemented method of claim 8, wherein executing the streaming analytics engine comprises calculating statistics on the time series to generate anomalies in real time in response to detecting that a current value of the time series exceeds a deviation threshold.

### Claim 14 (depends on 8)

The computer-implemented method of claim 8, wherein executing the streaming analytics engine comprises clustering the time series with another calculated time series.

### Claim 15

A computer program product for approximating activity loads in databases, the computer program product comprising a computer-readable storage medium having program code embodied therewith, the program code executable by a processor to cause the processor to:
monitor activity on a database server to generate an events stream;
convert the events stream into a time series;
approximate, in response to detecting each event in the events stream, an activity load at the database server using an exponential smoothing, a current time stamp generated at the time of each detected event, and a previous time stamp generated at a previous event time, wherein a plurality of simulated time windows for analyzing the activity load are calculated using a smoothing factor of the exponential smoothing;
send the time series to a streaming analytics engine; and
generate a trained machine learning model for the stream analytics engine for analyzing the time series using the plurality of simulated time windows in parallel.

### Claim 16 (depends on 15)

The computer program product of claim 15, further comprising program code executable by the processor to separate the events stream into per-user streams or per-database streams.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising program code executable by the processor to approximate an updated activity load of the database server at each detected additional event in the events stream.

### Claim 18 (depends on 15)

The computer program product of claim 15, further comprising program code executable by the processor to predict a future activity load based on the time series.

### Claim 19 (depends on 15)

The computer program product of claim 15, further comprising program code executable by the processor to calculate statistics on the time series to generate anomalies in real time in response to detecting that a current value of the time series exceeds a deviation threshold.

### Claim 20 (depends on 15)

The computer program product of claim 15, further comprising program code executable by the processor to cluster the time series with another calculated time series.
