# US 2021/0334274 A1 · Systems and methods for monitoring user-defined metrics

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

- Number: US 2021/0334274 A1
- Document ID: US20210334274A1
- Status: Published application
- Kind: A1
- Application number: 16/860,154
- Filed: 2020-04-28
- Published: 2021-10-28
- Earliest claimed: 2020-04-28
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Koon Heng Ivan TEO; Qingyi Sui; Mohammad Shami; Yoonseong Kim; Fernando San Martin Jorquera; Francisco Perez Leon
- Web page: https://patentgrep.com/patent/US20210334274A1

## CPC

- G06F 16/217: {Database tuning (G06F16/2282 takes precedence; database performance monitoring G06F11/3409)}
- G06F 16/2455: Query execution
- G06F 16/242: Query formulation
- G06F 16/2477: {Temporal data queries}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed are systems and methods for monitoring user-defined metrics. A method may include: receiving, from a user device, a metric definition usable to generate queries to obtain data for a metric to be monitored; receiving, from the user device, a monitoring configuration indicative of a manner in which a metric monitoring process associated with the metric definition is to be repeatedly performed; storing the metric definition in a metric definition database; and repeatedly performing the metric monitoring process in accordance with the monitoring configuration. The metric monitoring process may include: retrieving the metric definition from the metric definition database; generating a database query based on the metric definition, the database query including one or more executable database statements defined by the metric definition; executing the database query to obtain query result data, the query result data being data for the metric; and storing the query result data.

## Claims

### Claim 1

A computer-implemented method for monitoring metrics, the method comprising:
receiving, from a user device, a metric definition usable to generate queries to obtain data for a metric to be monitored;
receiving, from the user device, a monitoring configuration indicative of a manner in which a metric monitoring process associated with the metric definition is to be repeatedly performed;
storing the metric definition in a metric definition database; and
repeatedly performing the metric monitoring process in accordance with the monitoring configuration, the metric monitoring process including:
retrieving the metric definition from the metric definition database;
generating a database query based on the metric definition, the database query including one or more executable database statements defined by the metric definition;
executing the database query to obtain query result data, the query result data being data for the metric; and
storing the query result data.

### Claim 2 (depends on 1)

The method of claim 1, wherein
the monitoring configuration specifies a frequency of performing the metric monitoring process, and
in the repeatedly performing the metric monitoring process, the metric monitoring process is performed periodically at the specified frequency.

### Claim 3 (depends on 2)

The method of claim 2, wherein
the repeatedly performing the metric monitoring process includes using a scheduler to initiate the metric monitoring process, and
the scheduler is configured to initiate additional metric monitoring processes, respectively associated with additional metric definitions stored in the metric definition database, in accordance with monitoring configurations associated with the additional metric definitions.

### Claim 4 (depends on 3)

The method of claim 3, wherein the scheduler is configured to initiate metric monitoring processes respectively associated with different respective metric definitions stored in the metric definition database in a sequential manner, so as to avoid concurrent performance of two or more metric monitoring processes.

### Claim 5 (depends on 1)

The method of claim 1, wherein
the metric definition includes a query template indicative of a variable whose value is to be determined during performance of the metric monitoring process, and
the generating the database query includes:
determining an execution value of the variable, and
determining the one or more executable database statements by setting the variable to the execution value, such that the one or more executable database segments includes the execution value of the variable.

### Claim 6 (depends on 1)

The method of claim 1, wherein, in the metric monitoring process, the storing the query result data includes storing the query result data as part of collected metric data associated with the metric.

### Claim 7 (depends on 6)

The method of claim 6, wherein in the metric monitoring process,
the collected metric data includes values of the metric for a first period of time,
the query result data includes values of the metric for a second period of time, and
the storing the query result data includes appending the query result data to the collected metric data.

### Claim 8 (depends on 6)

The method of claim 6, wherein the metric monitoring process is performed a plurality of times, such that the collected metric data is updated a plurality of times.

### Claim 9 (depends on 6)

The method of claim 6, further comprising:
presenting the collected metric data to the user device or another user device.

### Claim 10 (depends on 1)

The method of claim 1, wherein the method is performed by a computer system and further comprises:
transmitting, to the user device, a web page including a user interface enabling a user of the user device to submit the metric definition to the computer system.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
transmitting, to the user device, a web page including a user interface including a list of metric definitions stored in the metric definition database to the computer system.

### Claim 12 (depends on 1)

The method of claim 1, wherein
the metric to be monitored is a measure or evaluation of events described by data recorded in a data warehouse, and
the query result data is based the data recording in the data warehouse.

### Claim 13

A computer system for monitoring metrics, the computer system comprising:
a memory storing instructions; and
one or more processors configured to execute the instructions to perform operations including;
receiving a plurality of metric definitions, each of the plurality of metric definitions being usable to generate queries to obtain data for a respective metric to be monitored;
storing the plurality of metric definitions in a metric definition database; and
scheduling and performing a plurality of metric monitoring processes respectively associated with the plurality of metric definitions, such that each of the plurality of metric monitoring processes is periodically performed at a respective user-specified frequency, wherein each of the plurality of metric monitoring processes includes:
retrieving the respective metric definition from the metric definition database;
generating a database query based on the respective metric definition, the database query including one or more executable database statements defined by the respective metric definition;
executing the database query to obtain query result data, the query result data being data for the respective metric; and
storing the query result data.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the plurality of metric monitoring processes are performed sequentially, so as to avoid concurrent performance of two or more of the plurality of metric monitoring processes.

### Claim 15 (depends on 13)

The computer system of claim 13, wherein
the plurality of metric definitions and the plurality of metric monitoring processes respectively include a first metric definition and a first metric monitoring process associated with the first metric definition, the first metric definition including a query template indicative of a variable whose value is to be determined during performance of the first metric monitoring process, and
for the first metric monitoring processes, the generating the database query includes:
determining an execution value of the variable, and
determining one or more executable database statements by setting the variable to the execution value, such that the one or more executable database segments includes the execution value of the variable.

### Claim 16 (depends on 13)

The computer system of claim 13, wherein, in each of the plurality of metric monitoring processes, the storing the query result data includes storing the query result data as part of collected metric data associated with the respective metric.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein, in each of the plurality of metric monitoring processes,
the collected metric data includes values of the respective metric for a first period of time,
the query result data includes values of the respective metric for a second period of time, and
the storing the query result data includes appending the query result data to the collected metric data.

### Claim 18 (depends on 13)

The computer system of claim 13, wherein
a first metric definition of the plurality of metric definitions is received from a user device, and
the operations further include transmitting, to the user device, a web page including a user interface enabling a user of the user device to submit the first metric definition to the computer system.

### Claim 19 (depends on 18)

The computer system of claim 18, wherein the operations further include:
transmitting, to the user device, a web page including a user interface including a list of the plurality of metric definitions stored in the metric definition database to the computer system, the list including one or more metric definitions submitted by another user.

### Claim 20

A computer system for monitoring metrics, the computer system comprising:
a memory storing instructions; and
one or more processors configured to execute the instructions to perform operations including;
receiving, from a user device, a metric definition usable to generate queries to obtain data for a metric to be monitored, the metric being a measure or evaluation of events described by data recorded in a data warehouse;
receiving, from the user device, a monitoring configuration indicative of a manner in which a metric monitoring process associated with the metric definition is to be repeatedly performed;
storing the metric definition in a metric definition database; and
repeatedly performing the metric monitoring process in accordance with the monitoring configuration, the metric monitoring process including:
retrieving the metric definition from the metric definition database;
generating a database query based on the metric definition, the database query including one or more executable database statements defined by the metric definition;
executing the database query to obtain query result data, the query result data being data for the metric and being based on the data recorded in the data warehouse; and
storing the query result data as part of collected metric data associated with the metric; and
executing a web service enabling the user device and other user devices to retrieve the collected metric data.
