# US 11,308,072 B2 · Declarative and unified data transition

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

- Number: US 11,308,072 B2
- Document ID: US11308072B2
- Status: Granted
- Kind: B2
- Application number: 15/185,106
- Filed: 2016-06-17
- Published: 2017-05-18
- Granted: 2022-04-19
- Earliest claimed: 2016-06-17
- Assignees: Netcracker Technology Corp.
- Applicants: NetCracker Technology Corp.
- Inventors: Iliya Georgievich Naryzhnyy; Sergey Mikhailovich Vladimirov; Nikita Sergeevich Ershov
- Web page: https://patentgrep.com/patent/US11308072B2

## CPC

- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/213: {with details for schema evolution support}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/258: {Data format conversion from or to a database}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Described are computer-based methods and apparatuses, including computer program products, for declarative and unified data transition. In some embodiments, a computer implemented method includes determining a unified configuration for a knowledge domain. The unified configuration can include one or more predicates for one or more system objects, and/or one or more relationships between the one or more system objects. The method can include generating one or more transformation rules based on the one or more predicates. The one or more transformations can enable transformation of input data. The input data can include information associated with the one or more system objects and/or the one or more relationships between the one or more system objects. The method can include generating one or more reconciliation rules based on the one or more predicates. The one or more reconciliation rules can be associated with a destination database and can enable reconciliation of the transformed data with the destination database.

## Claims

### Claim 1

A computer implemented method for declarative and unified data transition, the method comprising:
determining a unified configuration for a knowledge domain, the unified configuration comprising one or more predicates for one or more relationships between one or more system objects, the unified configuration being a single configuration file, the one or more predicates identifying a first system object and a second system object, a multiplicity of the relationship between the first system object and the second system object and one of a plurality of predetermined directions indicating a direction of input data between the first system object and the second system object, each system object including a primary key attribute that uniquely identifies the system object, the unified configuration further including one or more validation rules, transformation rules, reconciliation rules and the one or more predicates;
generating the one or more validation rules based on the one or more predicates of the unified configuration;
validating the input data based on the one or more validation rules;
generating the one or more transformation rules based on the one or more predicates of the unified configuration;
transforming first input data based on the one or more transformation rules, the first input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generating the one or more reconciliation rules based on the one or more predicates of the unified configuration, the one or more reconciliation rules associated with a destination database defined by the unified configuration;
reconciling the transformed data with the destination database based on the one or more reconciliation rules;
generating one or more second transformation rules based on the one or more predicates of the unified configuration;
transforming second input data based on the one or more second transformation rules, the second input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generating one or more combined transformation rules based on the one or more predicates of the unified configuration;
transforming the first and second transformed input data based on the one or more combined transformation rules, the first and second transformed input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generating one or more combined reconciliation rules based on the one or more predicates of the unified configuration, the one or more combined reconciliation rules associated with one or more destination databases defined by the unified configuration; and
reconciling the first and second combined transformed input data with the one or more destination database based on the one or more combined reconciliation rules.

### Claim 2 (depends on 1)

The method of claim 1, further comprising automatically modifying the input data based on the validation of the input data to remove at least one validation error associated with the input data.

### Claim 3 (depends on 2)

The method of claim 2, further comprising reporting the at least one validation error.

### Claim 4 (depends on 1)

The method of claim 1, further comprising extracting the input data from one or more source databases based on one or more extraction rules.

### Claim 5 (depends on 4)

The method of claim 4, further comprising generating the one or more extraction rules based on the one or more predicates of the unified configuration.

### Claim 6 (depends on 4)

The method of claim 4, wherein the extracting the input data from the one or more source databases and the reconciling the transformed data with the destination database occur relative to each other in real-time.

### Claim 7 (depends on 4)

The method of claim 4, wherein the one or more extraction rules includes information that identifies where the input data is stored.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
generating one or more second reconciliation rules based on the one or more predicates of the unified configuration, the one or more second reconciliation rules associated with a second destination database defined by the unified configuration; and
reconciling the transformed data with the second destination database based on the one or more second reconciliation rules.

### Claim 9 (depends on 1)

The method of claim 1, wherein the transforming the input data further comprises joining at least one part of the input data with at least one other part of the input data based on the one or more transformation rules.

### Claim 10 (depends on 1)

The method of claim 1, wherein the transforming the input data further comprises merging at least one part of the input data with at least one other part of the input data based on the one or more transformation rules.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
generating one or more post-transformation validation rules based on the one or more predicates of the unified configuration; and
validating the transformed data based on the one or more post-transformation validation rules.

### Claim 12 (depends on 1)

The method of claim 1, further comprising merging the reconciled data with data stored on the destination database.

### Claim 13 (depends on 1)

The method of claim 1, further comprising appending the reconciled data with data stored on the destination database.

### Claim 14 (depends on 1)

The method of claim 1, wherein the input data comprises one or more table sets, one or more tables, one or more table fields, or any combination thereof.

### Claim 15 (depends on 1)

The method of claim 1, wherein the destination database comprises an operational support system database, a healthcare system database, an information technology database, or any combination thereof.

### Claim 16

A non-transitory computer readable storage medium including instructions, which when executed by a data processing apparatus causes the data processing apparatus to:
determine a unified configuration for a knowledge domain, the unified configuration comprising one or more predicates for one or more relationships between one or more system objects, the unified configuration being a single configuration file, the one or more predicates identifying a first system object and a second system object, a multiplicity of the relationship between the first system object and the second system object and one of a plurality of predetermined directions indicating a direction of input data between the first system object and the second system object, each system object including a primary key attribute that uniquely identifies the system object, the unified configuration further including one or more validation rules, transformation rules, reconciliation rules and the one or more predicates;
generate the one or more validation rules based on the one or more predicates of the unified configuration;
validate the input data based on the one or more validation rules;
generate the one or more transformation rules based on the one or more predicates of the unified configuration;
transform first input data based on the one or more transformation rules, the first input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate the one or more reconciliation rules based on the one or more predicates of the unified configuration, the one or more reconciliation rules associated with a destination database defined by the unified configuration; reconciling the transformed data with the destination database based on the one or more reconciliation rules;
generate one or more second transformation rules based on the one or more predicates of the unified configuration;
transform second input data based on the one or more second transformation rules, the second input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate one or more combined transformation rules based on the one or more predicates of the unified configuration;
transform the first and second transformed input data based on the one or more combined transformation rules, the first and second transformed input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate one or more combined reconciliation rules based on the one or more predicates of the unified configuration, the one or more combined reconciliation rules associated with one or more destination databases defined by the unified configuration; and
reconcile the first and second combined transformed input data with the one or more destination database based on the one or more combined reconciliation rules.

### Claim 17

A system for declarative and unified data transition, the system comprising:
at least one processor and a memory storing instructions that, when executed by the at least one processor, causes the at least one processor to:
determine a unified configuration for a knowledge domain, the unified configuration comprising one or more predicates for one or more relationships between one or more system objects, the unified configuration being a single configuration file, the one or more predicates identifying a first system object and a second system object, a multiplicity of the relationship between the first system object and the second system object and one of a plurality of predetermined directions indicating a direction of input data between the first system object and the second system object, each system object including a primary key attribute that uniquely identifies the system object, the unified configuration further including one or more validation rules, transformation rules, reconciliation rules and the one or more predicates;
generate the one or more validation rules based on the one or more predicates of the unified configuration;
validate the input data based on the one or more validation rules;
generate the one or more transformation rules based on the one or more predicates of the unified configuration;
transform first input data based on the one or more transformation rules, the first input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate the one or more reconciliation rules based on the one or more predicates of the unified configuration, the one or more reconciliation rules associated with a destination database defined by the unified configuration;
reconciling the transformed data with the destination database based on the one or more reconciliation rules;
generate one or more second transformation rules based on the one or more predicates of the unified configuration;
transform second input data based on the one or more second transformation rules, the second input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate one or more combined transformation rules based on the one or more predicates of the unified configuration;
transform the first and second transformed input data based on the one or more combined transformation rules, the first and second transformed input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration;
generate one or more combined reconciliation rules based on the one or more predicates of the unified configuration, the one or more combined reconciliation rules associated with one or more destination databases defined by the unified configuration; and
reconcile the first and second combined transformed input data with the one or more destination database based on the one or more combined reconciliation rules.

### Claim 18 (depends on 17)

The system of claim 17, wherein:
the at least one processor is further configured to transform second input data based on the one or more transformation rules, the second input data comprising information associated with the one or more system objects, the one or more relationships between the one or more system objects, or any combination thereof defined by the unified configuration; and
the at least one processor is further configured to reconcile the second transformed data with the destination database based on the one or more reconciliation rules.

### Claim 19 (depends on 17)

The system of claim 17, wherein the instructions that, when executed by the at least one processor, causes the at least one processor to generate one or more validation rules based on the one or more predicates of the unified configuration; and
validate the input data based on the one or more validation rules.

### Claim 20 (depends on 19)

The system of claim 19, wherein the at least one processor is further configured to automatically modify the input data based on the validation of the input data to remove at least one validation error associated with the input data.

### Claim 21 (depends on 20)

The system of claim 20, wherein the at least one processor is further configured to report the at least one validation error.

### Claim 22 (depends on 17)

The system of claim 17, wherein the instructions that, when executed by the at least one processor, further cause the at least one processor to extract the input data from one or more source databases based on one or more extraction rules.

### Claim 23 (depends on 22)

The system of claim 22, wherein the instructions that, when executed by the at least one processor, further cause the at least one processor to generate the one or more extraction rules based on the one or more predicates of the unified configuration.

### Claim 24 (depends on 2)

The system of claim 2, wherein the one or more extraction rules includes information that identifies where the input data is stored.

### Claim 25 (depends on 17)

The system of claim 17, wherein:
the at least one processor is further configured to generate one or more second reconciliation rules based on the one or more predicates of the unified configuration, the one or more second reconciliation rules associated with a second destination database defined by the unified configuration; and
the at least one processor is further configured to reconcile the transformed data with the second destination database based on the one or more second reconciliation rules.

### Claim 26 (depends on 17)

The system of claim 17, wherein the at least one processor is further configured to join at least one part of the input data with at least one other part of the input data based on the one or more transformation rules.

### Claim 27 (depends on 17)

The system of claim 17, wherein the at least one processor is further configured to merge at least one part of the input data with at least one other part of the input data based on the one or more transformation rules.

### Claim 28 (depends on 17)

The system of claim 17, wherein the at least one processor is further configured to modify at least one part of the input data based on the one or more transformation rules.

### Claim 29 (depends on 17)

The system of claim 17, wherein the instructions that, when executed by the at least one processor, further cause the at least one processor to
generate one or more post-transformation validation rules based on the one or more predicates of the unified configuration; and
validate the transformed data based on the one or more post-transformation validation rules.

### Claim 30 (depends on 17)

The system of claim 17, wherein the at least one processor is further configured to merge the reconciled data with data stored on the destination database.

### Claim 31 (depends on 17)

The system of claim 17, wherein the at least one processor is further configured to append the reconciled data with data stored on the destination database.
