# US 12,182,123 B2 · Dynamic performance tuning based on implied data characteristics

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

- Number: US 12,182,123 B2
- Document ID: US12182123B2
- Status: Granted
- Kind: B2
- Application number: 18/149,576
- Filed: 2023-01-03
- Published: 2023-05-11
- Granted: 2024-12-31
- Earliest claimed: 2018-10-19
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Joseph Marc Posner; Sunil Kumar Kunisetty; Mohan Kamath; Nickolas Kavantzas; Sachin Bhatkar; Sergey Troshin; Sujay Sarkhel; Shivakumar Subramanian Govindarajapuram; Vijayalakshmi Krishnamurthy
- Web page: https://patentgrep.com/patent/US12182123B2

## CPC

- G06F 16/24544: {Join order optimisation}
- G16Y 40/20: Analytics; Diagnosis
- G06F 3/061: {Improving I/O performance}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/0673: {Single storage device}
- G06F 11/3409: {for performance assessment}
- G06F 16/213: {with details for schema evolution support}
- G06F 16/2228: {Indexing structures}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 16/2425: {Iterative querying; Query formulation based on the results of a preceding query}
- G06F 16/285: {Clustering or classification}
- G06N 3/08: Learning methods
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 5/025: Extracting rules from data
- G06N 5/04: Inference or reasoning models
- G06N 20/10: using kernel methods, e.g. support vector machines [SVM]
- G06N 20/20: Ensemble learning
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16Y: INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Techniques for improving system performance based on data characteristics are disclosed. A system may receive updates to a first data set at a first frequency. The system selects a first storage configuration, from a plurality of storage configurations, for storing the first data set based on the first frequency, and stores the first data set in accordance with the first storage configuration. The system may further receive updates to a second data set at a second frequency. The system selects a second storage configuration, from the plurality of storage configurations, for storing the second data set based on the second frequency, and stores the second data set in accordance with the second storage configuration. The second storage configuration is different than the first storage configuration.

## Claims

### Claim 1

One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause performance of operations comprising:
training a machine learning model to classify values of time-series data, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
time-series data corresponding to a particular interval of time, the time-series data comprising at least one first field across a first plurality of records corresponding to a respective first plurality of intervals of time;
for each record, a label specifying a particular data type stored in the first field across the first plurality of records, the particular data type associated with a number of different values stored in the first field across the first plurality of records;
training the machine learning model based on the training data sets;
receiving a target set of time-series data for a first time interval, the target set of time-series data comprising a second plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a second field and a third field;
applying the machine learning model to the target set of time-series data to classify first data stored in the second field across the plurality of records as corresponding to a first data type, and second data stored in the third field across the plurality of records as corresponding to a second data type, the applying comprising:
analyzing (a) a number of different values stored in the second field across the plurality of records and (b) a number of different values stored in the third field across the plurality of records, wherein the plurality of records comprises a first record including the second field and the third field;
classifying a first value stored in the second field of the first record as corresponding to the first data type based at least on the number of different values stored in the second field across the plurality of records; and
classifying a second value stored in the third field of the first record as corresponding to the second data type based at least on the number of different values stored in the third field across the plurality of records.

### Claim 2 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, wherein applying the machine learning model to the target set of time-series data further comprises classifying third data stored in a fourth field across the plurality of records as a third data type based at least on the number of different values stored in the fourth field across the plurality of records.

### Claim 3 (depends on 2)

The one or more non-transitory machine-readable media of claim 2, wherein classifying the first data as corresponding to the first data type comprises classifying the first data as name data associated with a device name,
wherein classifying the second data as corresponding to the second data type comprises classifying the first data as use-case data describing an operating state of a device, and
wherein classifying the third data as corresponding to the third data type comprises classifying the third data as runtime data comprising measurements generated by the device.

### Claim 4 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, wherein training the machine learning model to classify the first data as corresponding to the first data type includes training the machine learning model classify the first data as corresponding to the first data type based on determining values stored in the second field do not change across the plurality of records.

### Claim 5 (depends on 1)

The one or more non-transitory machine-readable media of claim 1, wherein the operations further comprise:
based on classifying the first data as corresponding to the first data type, storing the first data according to a first storage configuration; and
based on classifying the second data as corresponding to the second data type, storing the second data according to a second storage configuration different from the first storage configuration.

### Claim 6

One or more non-transitory computer readable media comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:
receiving a set of time series data for a first time interval, the set of time series data comprising a plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a first field and a second field;
analyzing the first field across the plurality of records to determine a first number of values stored in the first field across the plurality of records;
based on the first number being equal to, or less than, a first threshold: classifying first data stored in the first field as corresponding to a first data type;
analyzing the second field across the plurality of records to determine a second number of values stored in the second field across the plurality of records;
based on the second number exceeding the first threshold: classifying second data stored in the second field as a corresponding to a second data type;
based on classifying the first data as corresponding to the first data type, storing the first data according to a first storage configuration; and
based on classifying the second data as corresponding to the second data type, storing the second data according to a second storage configuration different from the first storage configuration.

### Claim 7 (depends on 6)

The one or more non-transitory computer readable media of claim 6, wherein the operations further comprise:
analyzing a third field across the plurality of records to determine a third number of different values stored in the third field across the plurality of records;
based on the third number exceeding a second threshold higher than the first threshold:
classifying third data stored in the third field as a corresponding to a third data type.

### Claim 8 (depends on 7)

The one or more non-transitory computer readable media of claim 7, wherein the first data type is name data associated with a device name,
wherein the second data type is use-case data describing an operating state of a device, and
wherein the third data type is runtime data comprising measurements generated by the device.

### Claim 9 (depends on 6)

The one or more non-transitory computer readable media of claim 6, wherein the first threshold is 1, such that determining the first number is equal to, or less than, the first threshold includes determining the a value stored in the first field across the plurality of records does not change.

### Claim 10 (depends on 6)

The one or more non-transitory computer readable media of claim 6, wherein analyzing the first field across the plurality of records to determine the first number of values stored in the first field across the plurality of records includes determining a number of times a value stored in the first field changes between one record and a temporally adjacent record among the plurality of records, and
wherein analyzing the second field across the plurality of records to determine the second number of values stored in the second field across the plurality of records includes determining a number of times a value stored in the second field changes between one record and a temporally adjacent record among the plurality of records.

### Claim 11 (depends on 6)

The one or more non-transitory computer readable media of claim 6, wherein the first storage configuration and the second storage configuration comprise at least one of:
hashing values for a respective data field to a lookup table;
storing values for the first field and the second field in separate storage devices corresponding to different data retrieval speeds;
storing values for the first field and the second field in separate storage devices having different data storage capacities;
a particular data partitioning schema; and
a compression rate for compressing data stored in the first field and the second field.

### Claim 12 (depends on 6)

The one or more non-transitory computer readable media of claim 6, wherein storing the second data of a particular record according to the second storage configuration comprises storing the second data together with a timestamp from the particular record of the set of time series data, and
wherein storing the first data of the particular record according to the first storage configuration comprises storing the first data without storing the timestamp from the corresponding record of the set of time series data.

### Claim 13

A method, comprising:
training a machine learning model to classify values of time-series data, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
time-series data corresponding to a particular interval of time, the time-series data comprising at least one first field across a first plurality of records corresponding to a respective first plurality of intervals of time;
for each record, a label specifying a particular data type stored in the first field across the first plurality of records, the particular data type associated with a number of different values stored in the first field across the first plurality of records;
training the machine learning model based on the training data sets;
receiving a target set of time-series data for a first time interval, the target set of time-series data comprising a second plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a second field and a third field;
applying the machine learning model to the target set of time-series data to classify first data stored in the second field across the plurality of records as corresponding to a first data type, and second data stored in the third field across the plurality of records as corresponding to a second data type, the applying comprising:
analyzing (a) a number of different values stored in the second field across the plurality of records and (b) a number of different values stored in the third field across the plurality of records, wherein the plurality of records comprises a first record including the second field and the third field;
classifying a first value stored in the second field of the first record as corresponding to the first data type based at least on the number of different values stored in the second field across the plurality of records; and
classifying a second value stored in the third field of the first record as corresponding to the second data type based at least on the number of different values stored in the third field across the plurality of records.

### Claim 14 (depends on 13)

The method of claim 13, wherein applying the machine learning model to the target set of time-series data further comprises classifying third data stored in a fourth field across the plurality of records as a third data type based at least on the number of different values stored in the fourth field across the plurality of records.

### Claim 15 (depends on 14)

The method of claim 14, wherein classifying the first data as corresponding to the first data type comprises classifying the first data as name data associated with a device name,
wherein classifying the second data as corresponding to the second data type comprises classifying the first data as use-case data describing an operating state of a device, and
wherein classifying the third data as corresponding to the third data type comprises classifying the third data as runtime data comprising measurements generated by the device.

### Claim 16 (depends on 13)

The method of claim 13, wherein training the machine learning model to classify the first data as corresponding to the first data type includes training the machine learning model classify the first data as corresponding to the first data type based on determining values stored in the second field do not change across the plurality of records.

### Claim 17 (depends on 13)

The method of claim 13, further comprising:
based on classifying the first data as corresponding to the first data type, storing the first data according to a first storage configuration; and
based on classifying the second data as corresponding to the second data type, storing the second data according to a second storage configuration different from the first storage configuration.

### Claim 18

A method, comprising:
receiving a set of time series data for a first time interval, the set of time series data comprising a plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a first field and a second field;
analyzing the first field across the plurality of records to determine a first number of values stored in the first field across the plurality of records;
based on the first number being equal to, or less than, a first threshold: classifying first data stored in the first field as corresponding to a first data type;
analyzing the second field across the plurality of records to determine a second number of values stored in the second field across the plurality of records;
based on the second number exceeding the first threshold: classifying second data stored in the second field as a corresponding to a second data type;
based on classifying the first data as corresponding to the first data type, storing the first data according to a first storage configuration; and
based on classifying the second data as corresponding to the second data type, storing the second data according to a second storage configuration different from the first storage configuration.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
analyzing a third field across the plurality of records to determine a third number of different values stored in the third field across the plurality of records;
based on the third number exceeding a second threshold higher than the first threshold:
classifying third data stored in the third field as a corresponding to a third data type.

### Claim 20 (depends on 19)

The method of claim 19, wherein the first data type is name data associated with a device name,
wherein the second data type is use-case data describing an operating state of a device, and
wherein the third data type is runtime data comprising measurements generated by the device.

### Claim 21

A system comprising:
at least one device including a hardware processor;
the system being configured to perform operations comprising:
training a machine learning model to classify values of time-series data, the training comprising:
obtaining training data sets, each training data set of historical data comprising:
time-series data corresponding to a particular interval of time, the time-series data comprising at least one first field across a first plurality of records corresponding to a respective first plurality of intervals of time;
for each record, a label specifying a particular data type stored in the first field across the first plurality of records, the particular data type associated with a number of different values stored in the first field across the first plurality of records;
training the machine learning model based on the training data sets;
receiving a target set of time-series data for a first time interval, the target set of time-series data comprising a second plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a second field and a third field;
applying the machine learning model to the target set of time-series data to classify first data stored in the second field across the plurality of records as corresponding to a first data type, and second data stored in the third field across the plurality of records as corresponding to a second data type, the applying comprising:
analyzing (a) a number of different values stored in the second field across the plurality of records and (b) a number of different values stored in the third field across the plurality of records, wherein the plurality of records comprises a first record including the second field and the third field;
classifying a first value stored in the second field of the first record as corresponding to the first data type based at least on the number of different values stored in the second field across the plurality of records; and
classifying a second value stored in the third field of the first record as corresponding to the second data type based at least on the number of different values stored in the third field across the plurality of records.

### Claim 22

A system comprising:
at least one device including a hardware processor;
the system being configured to perform operations comprising:
receiving a set of time series data for a first time interval, the set of time series data comprising a plurality of records associated with a respective plurality of sequential second time intervals, each record comprising a same set of fields including a first field and a second field;
analyzing the first field across the plurality of records to determine a first number of values stored in the first field across the plurality of records;
based on the first number being equal to, or less than, a first threshold: classifying first data stored in the first field as corresponding to a first data type;
analyzing the second field across the plurality of records to determine a second number of values stored in the second field across the plurality of records;
based on the second number exceeding the first threshold: classifying second data stored in the second field as a corresponding to a second data type;
based on classifying the first data as corresponding to the first data type, storing the first data according to a first storage configuration; and
based on classifying the second data as corresponding to the second data type, storing the second data according to a second storage configuration different from the first storage configuration.
