# US 11,308,044 B2 · Rule based decisioning on metadata layers

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

- Number: US 11,308,044 B2
- Document ID: US11308044B2
- Status: Granted
- Kind: B2
- Application number: 15/910,135
- Filed: 2018-03-02
- Published: 2018-07-05
- Granted: 2022-04-19
- Earliest claimed: 2015-07-14
- Assignees: American Express Travel Related Services Company, Inc.
- Applicants: American Express Travel Related Services Company, Inc.
- Inventors: Vineet Agrwal; Ravi Arasan; Atul R. Dalmia; Pratiksha M. Jogani; Kunal C. Joshi; Ravi Kaushik; Himanshu Prabhakar; Kandarp Srivastava
- Web page: https://patentgrep.com/patent/US11308044B2

## CPC

- G06F 16/21: Design, administration or maintenance of databases
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The process includes receiving a data set comprising a plurality of rows and a plurality of columns, and applying a first rule based decisioning to the data set to generate a first layer of metadata that comprises at least one of a key, a type indicator, a categorical indicator, and/or a continuous indicator. The first layer of metadata may be descriptive of the data set. The processor may further apply a second rule based decisioning to the first layer to generate a second layer that includes at least one of the key, the type indicator, the categorical indicator, or the continuous indicator. The second layer may be descriptive of the first layer. The process may also include generating an output file from at least one of the first layer or the second layer.

## Claims

### Claim 1

A method comprising:
generating, by a processor, a numerical indicator for a portion of a first layer of metadata of a data set based at least in part on a first rule based decisioning determining that the portion of the first layer of metadata includes numerical data;
applying, by the processor, a second rule based decisioning to the first layer of metadata to generate a second layer of metadata, wherein the second layer of metadata comprises the numerical indicator and a numeric analysis for the portion of the first layer of the metadata that includes the numerical data;
generating, by the processor, a third layer of metadata by collating the first layer of metadata and the second layer of metadata into a table for a file, wherein the first layer of metadata and the second layer of metadata collated in an order in which the first layer of metadata and the second layer of metadata were generated, and the third layer of metadata comprises derived data that is generated from a combination of the first layer of metadata and the second layer of metadata;
determining, by the processor, to generate a fourth layer of metadata based at least in part on the third layer of metadata;
executing, by the processor, a function call based at least in part on an input of the third layer of metadata, wherein the third layer of metadata is inputted to the function call in response to the determination to generate the fourth layer of metadata, and the function call generates the fourth layer of metadata; and
generating, by the processor, an output file based at least in part on the fourth layer of metadata.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by the processor, the data set comprising data within a plurality of rows and a plurality of columns;
analyzing, by the processor, a first column of the plurality of columns in the data set to identify traits of the first column; and
iteratively analyzing, by the processor, each additional column of the plurality of columns in the data set to identify traits of each additional column.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first layer of metadata comprises a respective indicator for a column that stores at least one of: string data, a number of filled cells in the column, or a most common value identified in the column.

### Claim 4 (depends on 1)

The method of claim 1, further comprising formatting, by the processor, the first layer of metadata for operations.

### Claim 5 (depends on 1)

The method of claim 1, further comprising formatting, by the processor, the third layer of metadata by reducing a number of columns or a number of rows in the third layer of metadata.

### Claim 6 (depends on 1)

The method of claim 1, wherein the second layer of metadata comprises at least one of: a primary key indicator, a string indicator, a type indicator, a categorical indicator, or a continuous indicator, the primary key indicator is a unique identifier for a row in the data set, the string indicator is assigned based on contents of the row in a column, the categorical indicator identifies the data set as descriptive of discrete characteristics, and the continuous indicator identifies the data set as representative of measurements on a continuous scale.

### Claim 7 (depends on 1)

The method of claim 1, further comprising determining, by the processor, a data type for a column in the first layer of metadata based at least in part on running a regular expression on the first layer of metadata.

### Claim 8 (depends on 1)

The method of claim 1, further comprising computing, by the processor, percentile calculations for a column of a plurality of columns.

### Claim 9 (depends on 1)

The method of claim 1, further comprising formatting, by the processor, the first layer of metadata and the second layer of metadata for recursive decisioning.

### Claim 10 (depends on 1)

The method of claim 1, wherein the data set is stored on a distributed storage system.

### Claim 11 (depends on 10)

The method of claim 10, further comprising communicating, by the processor, with the distributed storage system across a network.

### Claim 12 (depends on 10)

The method of claim 10, wherein the processor is in a node of the distributed storage system.

### Claim 13

A computer-based system, comprising:
a computing device that comprises a processor, and
a memory configured to communicate with the processor, the memory having instructions stored thereon that, in response to execution by the processor, cause the computing device to at least:
generate a numerical indicator for a portion of a first layer of metadata of a data set based at least in part on a first rule based decisioning determining that the portion of the first layer of metadata includes numerical data;
apply a second rule based decisioning to the first layer of metadata to generate a second layer of metadata, wherein the second layer of metadata comprises the numerical indicator and a numeric analysis for the portion of the first layer of the metadata that includes the numerical data;
generate a third layer of metadata by collating the first layer of metadata and the second layer of metadata into a table for a file, wherein the first layer of metadata and the second layer of metadata collated in an order in which the first layer of metadata and the second layer of metadata were generated, the third layer of metadata comprises derived data that is generated from a combination of the first layer of metadata and the second layer of metadata;
determine to generate a fourth layer of metadata based at least in part on the third layer of metadata;
execute a function call based at least in part on an input of the third layer of metadata, wherein the third layer of metadata is inputted to the function call in response to the determination to generate the fourth layer of metadata, and the function call generates the fourth layer of metadata; and
generate an output file based at least in part on the fourth layer of metadata.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
receiving, by the processor, the data set comprising data within a plurality of rows and a plurality of columns;
analyzing, by the processor, a first column of the plurality of columns in the data set to identify traits of the first column; and
iteratively analyzing, by the processor, each additional column of the plurality of columns in the data set to identify traits of each additional column.

### Claim 15 (depends on 13)

The system of claim 13, wherein the traits of data include at least one of: a first respective indicator as to whether a column stores numeric data, a second respective indicator as to whether the column stores string data, a number of filled cells in the column, or most common values in the column.

### Claim 16 (depends on 13)

The system of claim 13, further comprising formatting, by the processor, the first layer of metadata for operations.

### Claim 17 (depends on 13)

The system of claim 13, further comprising formatting, by the processor, the first layer of metadata for operations by compiling all metadata generated for the first layer of metadata into a single table with rows corresponding to field values.

### Claim 18

A non-transitory computer medium having instructions executable in a computing device, wherein, when executed, the instructions cause the computing device to at least:
generate a numerical indicator for a portion of a first layer of metadata of a data set based at least in part on a first rule based decisioning determining that the portion of the first layer of metadata includes numerical data;
apply a second rule based decisioning to the first layer of metadata to generate a second layer of metadata, wherein the second layer of metadata comprises the numerical indicator and a numeric analysis for the portion of the first layer of the metadata that includes the numerical data;
generate a third layer of metadata by collating the first layer of metadata and the second layer of metadata into a table for a file, wherein the first layer of metadata and the second layer of metadata collated in an order in which the first layer of metadata and the second layer of metadata were generated, and the third layer of metadata comprises derived data that is generated from a combination of the first layer of metadata and the second layer of metadata;
determine to generate a fourth layer of metadata based at least in part on the third layer of metadata;
execute a function call based at least in part on an input of the third layer of metadata, wherein the third layer of metadata is inputted to the function call in response to the determination to generate the fourth layer of metadata, and the function call generates the fourth layer of metadata; and
generate an output file based at least in part on the fourth layer of metadata.

### Claim 19 (depends on 18)

The non-transitory computer medium of claim 18, wherein the instructions, when executed, further cause the computing device to at least:
condense the table by deleting a duplicate column identified in the table.

### Claim 20 (depends on 18)

The non-transitory computer medium of claim 18, wherein the numeric analysis for the portion of the first layer of the metadata comprises a statistical distribution of the portion of the first layer of the metadata, wherein the statistical distribution comprises a distribution of frequently appearing values in the portion of the first layer of the metadata.
