# US 12,001,416 B1 · Systems and methods for generic data parsing applications

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

- Number: US 12,001,416 B1
- Document ID: US12001416B1
- Status: Granted
- Kind: B1
- Application number: 17/235,148
- Filed: 2021-04-20
- Granted: 2024-06-04
- Earliest claimed: 2021-04-20
- Assignees: The Travelers Indemnity Company
- Applicants: The Travelers Indemnity Company
- Inventors: Roman Cwalina; Shashank Jain; Vishesh Kain; Rudrappa Malapur; Kalyani Chidrawar
- Web page: https://patentgrep.com/patent/US12001416B1

## CPC

- G06F 16/2272: {Management thereof}
- G06F 16/182: Distributed file systems
- G06F 16/211: {Schema design and management}
- G06F 16/214: {Database migration support}
- G06F 16/2455: Query execution
- G06F 16/24564: {Applying rules; Deductive queries}
- G06F 16/435: Filtering based on additional data, e.g. user or group profiles
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for Generic Data Parsing (GDP) applications may automatically parse unstructured and/or semi-structured data sources (e.g., eXtensible Markup Language (XML), JavaScript Object Notation (JSON), and/or COmmon Business-Oriented Language (COBOL)) and generate a normalized and/or structured (e.g., relational) data schema, and load the parsed data into the structured data schema, which may then be readily queried utilizing known end-user tools.

## Claims

### Claim 1

A computer system utility for loading semi-structured data into a data storage structure operable to accept and respond to structured queries, comprising:
at least one electronic processing device; and
at least one non-transitory computer readable medium storing (i) semi-structured source data, (ii) schema derivation rules, (iii) base layer creation rules, (iv) Single Subject Layer (SSL) creation rules, and (v) operating instructions that when executed by the at least one electronic processing device, result in:
deriving, by execution of the schema derivation rules, a schema, by:
receiving, from a user and via a User Interface (UI), first input comprising a command and an identifier of a semi-structured data source;
extracting, utilizing the identifier of the semi-structured data source and from the semi-structured data source, a listing of tables and fields;
generating a unique identifier for each extracted table and field;
identifying keys linking two or more extracted tables; and
creating a plurality of output files descriptive of the extracted tables and fields, the unique identifiers for the tables and fields, and the keys, thereby defining the schema;
generating, based on the plurality of output files, a plurality of table create statements; and
storing the plurality of table create statements in a schema definition file;
creating, by execution of the base layer creation rules, a base layer, by:
extracting, for each record in the semi-structured data source, all fields and corresponding values;
comparing each of the extracted fields and values to the plurality of output files descriptive of the extracted tables and fields;
mapping each of the extracted field values to a base layer table identified by a base layer table name;
storing an indication of the mapping for each of the extracted field values in a partition of a distributed file system;
creating, by executing at least one of the table create statements stored in the schema definition file, a plurality of base layer tables;
writing, utilizing the stored mapping for each of the extracted field values, each of the extracted field values into a corresponding base layer table of the plurality of base layer tables; and
creating, by execution of the Single Subject Layer (SSL) creation rules, an SSL layer, by:
creating, utilizing a mapping sheet comprising at least one column of data descriptive of at least one data relationship, an SSL configuration file;
generating, automatically, by executing a generic script and utilizing the SSL configuration file, SSL table creation code;
creating, utilizing the SSL table creation code, a plurality of SSL tables; and
loading the plurality of SSL tables with the corresponding values from the extracted fields of the records in the semi-structured data source.

### Claim 2 (depends on 1)

The computer system utility of claim 1, wherein the mapping of the extracted field values to the base layer table produces a mapping file in delimited form.

### Claim 3 (depends on 1)

The computer system utility of claim 1, wherein the plurality of output files comprise each of (i) a version file, (ii) a control file, (iii) a tables file, (iv) an XPath date file, (v) a keys file, and (vi) a format file.

### Claim 4 (depends on 1)

The computer system utility of claim 1, wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
outputting, via the UI, a listing of the created plurality of output files.

### Claim 5 (depends on 1)

The computer system utility of claim 1, wherein the extracting, utilizing the identifier of the semi-structured data source and from the semi-structured data source, of the listing of tables and fields, is conducted by an AI logical routine.

### Claim 6 (depends on 1)

The computer system utility of claim 1, wherein the deriving of the schema, further comprises:
grouping the extracted fields by corresponding extracted tables.

### Claim 7 (depends on 1)

The computer system utility of claim 1, wherein the semi-structured data source comprises at least one of an XML, JSON, and a COBOL file.

### Claim 8 (depends on 1)

The computer system utility of claim 1, wherein the first input further comprises information identifying a location at which the plurality of output files are to be created.

### Claim 9 (depends on 1)

The computer system utility of claim 1, wherein the at least one column of data descriptive of the at least one data relationship from the mapping sheet comprises data describing the at least one relationship that differs from data descriptive of the at least one relationship that is stored with respect to the mapping for each of the extracted field values.

### Claim 10 (depends on 1)

The computer system utility of claim 1, wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
identifying the mapping sheet from a plurality of available mapping sheets.

### Claim 11 (depends on 1)

The computer system utility of claim 1, wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
receiving the mapping sheet from the user.

### Claim 12 (depends on 1)

The computer system utility of claim 1, wherein the creating, utilizing the mapping sheet comprising the at least one column of data descriptive of the at least one data relationship, of the SSL configuration file, comprises:
accessing the mapping sheet; and
retrieving, from the mapping sheet, data descriptive of at least two of:
(i) a target entity;
(ii) a target attribute;
(iii) a column order number;
(iv) a target data type;
(v) a temp table;
(vi) a source;
(vii) a source attribute;
(viii) a filter condition;
(ix) a filter value; and
(x) a transformation format.

### Claim 13 (depends on 1)

The computer system utility of claim 1, wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
executing a suspended record analysis.

### Claim 14 (depends on 13)

The computer system utility of claim 13, wherein the schema comprises a baseline schema and wherein the executing of the suspended record analysis, comprises:
deriving a first new schema from a population of suspended records;
deriving a second new schema from the first new schema; and
comparing the second new schema to the baseline schema.

### Claim 15 (depends on 14)

The computer system utility of claim 14, wherein the executing of the suspended record analysis, further comprises:
identifying, based on the comparing of the second new schema to the baseline schema, at least one new field;
generating a report that provides a listing descriptive of the at least one new field; and
outputting the report.

### Claim 16 (depends on 14)

The computer system utility of claim 14, wherein the executing of the suspended record analysis, further comprises:
identifying, based on the comparing of the second new schema to the baseline schema, at least one new table;
generating a report that provides a listing descriptive of the at least one new table; and
outputting the report.

### Claim 17 (depends on 1)

The computer system utility of claim 1, wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
executing a quality assurance analysis.

### Claim 18 (depends on 17)

The computer system utility of claim 17, wherein the base layer creation rules comprise a first set of base layer creation rules, and wherein the executing of the quality assurance analysis, comprises:
receiving at least one test key;
extracting, from the semi-structured data source and utilizing the at least one test key, raw data;
parsing the extracted raw data, utilizing a second set of base layer creation rules into one or more corresponding tables; and
comparing each field value from the raw data to each field value stored in a corresponding field of at least one base layer table.

### Claim 19 (depends on 18)

The computer system utility of claim 18, wherein the executing of the quality assurance analysis, further comprises:
identifying, based on the comparing of the field values from the raw data to the field values stored in the corresponding field of the at least one base layer table, at least one mismatched value;
generating a report that provides a listing descriptive of the at least one mismatched value; and
outputting the report.

### Claim 20 (depends on 1)

The computer system utility of claim 1, wherein the creating of the SSL configuration file is based on a subset of the plurality of base layer tables selected for SSL layer creation and wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
receiving, via the UI, an indication of a user selection of the subset of the plurality of base layer tables.

### Claim 21 (depends on 1)

The computer system utility of claim 1, wherein the automatic generating of the SSL table creation code is based on a subset of the plurality of base layer tables selected for SSL layer creation and wherein the operating instructions, when executed by the at least one electronic processing device, further result in:
receiving, via the UI, an indication of a user selection of the subset of the plurality of base layer tables.
