# US 12,007,958 B2 · Methods and systems for providing database development recommendations based on multi-modal correlations detected through artificial intelligence

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

- Number: US 12,007,958 B2
- Document ID: US12007958B2
- Status: Granted
- Kind: B2
- Application number: 17/590,471
- Filed: 2022-02-01
- Published: 2023-08-03
- Granted: 2024-06-11
- Earliest claimed: 2022-02-01
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Steve Cheng; Narender Pashikant
- Web page: https://patentgrep.com/patent/US12007958B2

## CPC

- G06F 16/211: {Schema design and management}
- G06F 11/3442: {for planning or managing the needed capacity}
- G06F 11/3457: {Performance evaluation by simulation}
- G06F 16/2462: {Approximate or statistical queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method or system for generating recommendations based on detected correlations of static and dynamic data. For example, the system generates feature inputs for the machine learning model that is based on labeled static data as well as dynamic data indicating current usage. Notably, the dynamic data is not retrieved from a data store of known training data, but instead is streamed in real time from active databases accessible to the network. Furthermore, the system provides a formatting mechanism that translates user selected requirements and parameters from a human-readable format indicating particular attributes of a database to optimize (e.g., database performance, security, compliance, capacity planning, etc.) into data that may be included in a machine learning feature input that specifies which correlations to use (e.g., server operational statistics data, server log data, monitoring metrics, etc.).

## Claims

### Claim 1

A system for providing database development recommendations based on multi-modal correlations detected through artificial intelligence, the system comprising:
cloud-based storage circuitry storing a plurality of machine learning models;
cloud-based control circuitry configured to:
receive a first user action, at a user interface, requesting a first database development recommendation based on first user selected criteria, wherein the first user selected criteria comprise known static data and expected dynamic data for a first database on a network of disparate computing devices, wherein the known static data comprises a function serviced by the first database and the expected dynamic data comprises expected usage statistics for the first database;
determine, based on the first user selected criteria, a first parameter for the first database development recommendation, wherein the first parameter is determined based on the function serviced by the first database and the expected usage statistics for the first database;
determine, based on the first parameter, a first subset of static and dynamic training data for generating a first feature input, wherein the first subset comprises data streamed in real time from databases accessible to the network;
determine, based on the first parameter, a first model criterion for the first database development recommendation;
select a first machine learning model from the plurality of machine learning models based on the first model criterion;
input the first feature input into the first machine learning model to generate a first output from the first machine learning model;
select a first database design element from a plurality of database design elements based on the first output, wherein the plurality of database design elements comprise different database architectures and database stack designs; and
cloud-based input/output circuitry configured to generate, at the user interface, the first database development recommendation based on the first database design element.

### Claim 2

A method for providing database development recommendations based on multi-modal correlations detected through artificial intelligence, the method comprising:
receiving a first user action, at a user interface, requesting a first database development recommendation based on first user selected criteria, wherein the first user selected criteria comprise known static data and expected dynamic data for a first database on a network of disparate computing devices;
determining, based on the first user selected criteria, a first parameter for the first database development recommendation;
determining, based on the first parameter, a first subset of static and dynamic training data for generating a first feature input, wherein the first subset comprises data streamed in real time from databases accessible to the network;
inputting the first feature input into a first machine learning model to generate a first output from the first machine learning model;
selecting a first database design element from a plurality of database design elements based on the first output; and
generating, at the user interface, the first database development recommendation based on the first database design element.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
after generating the first database development recommendation, receiving a second user action, at the user interface, requesting a second database development recommendation based on second user selected criteria;
determining, based on the second user selected criteria, a second parameter for the second database development recommendation;
determining, based on the second parameter, a second subset of static and dynamic training data for generating a second feature input;
inputting the second feature input into a second machine learning model to generate a second output from the second machine learning model;
selecting a second database design element from the plurality of database design elements based on the second output; and
generating, at the user interface, the second database development recommendation based on the second database design element.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
determining, based on the first parameter, a first model criterion for the first database development recommendation;
selecting the first machine learning model from a plurality of machine learning models based on the first model criterion.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
determining new dynamic data corresponding to an implementation of the first database development recommendation;
determining a network location, on the network, comprising the new dynamic data;
generating a query for retrieving the new dynamic data;
automatically retrieving, based on the query, the new dynamic data from the network location; and
generating, at the user interface, the new dynamic data.

### Claim 6 (depends on 2)

The method of claim 2, wherein the known static data comprises a function serviced by the first database and the expected dynamic data comprises expected usage statistics for the first database, and wherein the first parameter is determined based on the function serviced by the first database and the expected usage statistics for the first database.

### Claim 7 (depends on 2)

The method of claim 2, wherein the first parameter comprises a performance characteristic of the first database.

### Claim 8 (depends on 2)

The method of claim 2, wherein determining the first subset of static and dynamic training data for generating the first feature input comprises:
filtering available training data based on the known static data to generate a filtered dataset; and
retrieving labeled dynamic data corresponding to the filtered dataset.

### Claim 9 (depends on 8)

The method of claim 8, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
querying a metadata retrieval layer; and
generating a common function call using the metadata retrieval layer.

### Claim 10 (depends on 8)

The method of claim 8, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
determining a network location, on the network, comprising the labeled dynamic data;
generating a query for retrieving the labeled dynamic data;
automatically retrieving, based on the query, the labeled dynamic data from the network location.

### Claim 11 (depends on 8)

The method of claim 8, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
determining an update period for a network location comprising the labeled dynamic data;
comparing the update period to a threshold update period; and
retrieving the labeled dynamic data in response to the update period corresponding to the threshold update period.

### Claim 12

A non-transitory, computer-readable medium comprising instructions that when executed by one or more processors cause operations comprising:
receiving a first user action, at a user interface, requesting a first database development recommendation based on first user selected criteria, wherein the first user selected criteria comprise known static data and expected dynamic data for a first database on a network of disparate computing devices;
determining, based on the first user selected criteria, a first parameter for the first database development recommendation;
determining, based on the first parameter, a first subset of static and dynamic training data for generating a first feature input, wherein the first subset comprises data streamed in real time from databases accessible to the network;
inputting the first feature input into a first machine learning model to generate a first output from the first machine learning model;
selecting a first database design element from a plurality of database design elements based on the first output; and
generating, at the user interface, the first database development recommendation based on the first database design element.

### Claim 13 (depends on 12)

The non-transitory, computer readable medium of claim 12, wherein the instructions further cause operations comprising:
after generating the first database development recommendation, receiving a second user action, at the user interface, requesting a second database development recommendation based on second user selected criteria;
determining, based on the second user selected criteria, a second parameter for the second database development recommendation;
determining, based on the second parameter, a second subset of static and dynamic training data for generating a second feature input;
inputting the second feature input into a second machine learning model to generate a second output from the second machine learning model;
selecting a second database design element from the plurality of database design elements based on the second output; and
generating, at the user interface, the second database development recommendation based on the second database design element.

### Claim 14 (depends on 12)

The non-transitory, computer readable medium of claim 12, wherein the instructions further cause operations comprising:
determining, based on the first parameter, a first model criterion for the first database development recommendation;
selecting the first machine learning model from a plurality of machine learning models based on the first model criterion.

### Claim 15 (depends on 12)

The non-transitory, computer readable medium of claim 12, wherein the instructions further cause operations comprising:
determining new dynamic data corresponding to an implementation of the first database development recommendation;
determining a network location, on the network, comprising the new dynamic data;
generating a query for retrieving the new dynamic data;
automatically retrieving, based on the query, the new dynamic data from the network location; and
generating, at the user interface, the new dynamic data.

### Claim 16 (depends on 12)

The non-transitory, computer-readable medium of claim 12, wherein the known static data comprises a function serviced by the first database and the expected dynamic data comprises expected usage statistics for the first database, and wherein the first parameter is determined based on the function serviced by the first database and the expected usage statistics for the first database, and wherein the first parameter comprises a performance characteristic of the first database.

### Claim 17 (depends on 12)

The non-transitory, computer-readable medium of claim 12, wherein determining the first subset of static and dynamic training data for generating the first feature input comprises:
filtering available training data based on the known static data to generate a filtered dataset; and
retrieving labeled dynamic data corresponding to the filtered dataset.

### Claim 18 (depends on 17)

The non-transitory, computer-readable medium of claim 17, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
querying a metadata retrieval layer; and
generating a common function call using the metadata retrieval layer.

### Claim 19 (depends on 18)

The non-transitory, computer-readable medium of claim 18, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
determining a network location, on the network, comprising the labeled dynamic data;
generating a query for retrieving the labeled dynamic data;
automatically retrieving, based on the query, the labeled dynamic data from the network location.

### Claim 20 (depends on 18)

The non-transitory, computer-readable medium of claim 18, wherein retrieving the labeled dynamic data corresponding to the filtered dataset further comprises:
determining an update period for a network location comprising the labeled dynamic data;
comparing the update period to a threshold update period; and
retrieving the labeled dynamic data in response to the update period corresponding to the threshold update period.
