# US 10,372,761 B2 · Auto-discovery of data lineage in large computer systems

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

- Number: US 10,372,761 B2
- Document ID: US10372761B2
- Status: Granted
- Kind: B2
- Application number: 15/392,932
- Filed: 2016-12-28
- Published: 2018-06-28
- Granted: 2019-08-06
- Earliest claimed: 2016-12-28
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Min He; Nikhil Patil; Jun Lu
- Web page: https://patentgrep.com/patent/US10372761B2

## CPC

- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/215: Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an example, one or more processes that transform data originating in one or more of a plurality of different data sources are identified. Then, for each of the identified one or more processes, a relationship table is created, the relationship table listing objects input to the process, objects output from the process, and one or more mappings defining transformations performed on the objects input to the process to produce the objects output from the process. Dependencies are created between relationship tables by linking at least an instance of a first object input to a process in a first relationship table with at least an instance of the first object output from a process in a second relationship table. Lineage of an object in the computer system is traced by accessing one or more of the relationship tables and the dependencies.

## Claims

### Claim 1

A system comprising:
at least one processor;
a memory; and
a component stored in the memory and executable by the at least one processor, the component comprising:
one or more integrators to perform operations comprising:
identifying, in a computer system comprising a plurality of different data sources and a plurality of different applications performing operations on data from the plurality of different data sources, one or more processes that transform data originating in one or more of the plurality of different data sources;
for each of the identified one or more processes, creating a relationship table, the relationship table listing objects input to the process, objects output from the process, and one or more mappings defining transformations performed on the objects input to the process to produce the objects output from the process;
a relationships engine to perform operations comprising:
creating one or more dependencies between relationship tables by linking at least an instance of a first object in input to a process in a first relationship table with at least an instance of the first object in output from a process in a second relationship table; and
a big data analytics engine to perform operations comprising:
tracing lineage of an object in the computer system by accessing one or more of the relationship tables and the one or more dependencies between the relationship tables.

### Claim 2 (depends on 1)

The system of claim 1, wherein the big data analytics engine is further to perform operations comprising:
calculating a quality score for a data element, the quality score indicating how reliable a data source producing the data element is.

### Claim 3 (depends on 1)

The system of claim 1, wherein the big data analytics engine further performs operations comprising generating, in a graphical user interface, a lineage diagram visually indicating the traced lineage of the object in the computer system.

### Claim 4 (depends on 3)

The system of claim 3, wherein the lineage diagram indicates an identification of the object in each of a plurality of different applications that transformed the object.

### Claim 5 (depends on 1)

The system of claim 1, wherein the different data sources include at least an Enterprise Resource Planning component and an in-memory database.

### Claim 6 (depends on 1)

The system of claim 1, wherein each relationship table contains a first column for input objects, a second column for output objects, and a third column for mappings.

### Claim 7 (depends on 6)

The system of claim 6, wherein for each row of a relationship table, a mapping in the third column corresponds to a transformation that produces an object in the second column, but does not correlate with the object in the first column.

### Claim 8

A computerized method comprising:
identifying, in a computer system comprising a plurality of different data sources and a plurality of different applications performing operations on data from the plurality of different data sources, one or more processes that transform data originating in one or more of the plurality of different data sources;
for each of the identified one or more processes, creating a relationship table, the relationship table listing objects input to the process, objects output from the process, and one or more mappings defining transformations performed on the objects input to the process to product the objects output from the process;
creating one or more dependencies between relationship tables by linking at least an instance of a first object in input to a process in a first relationship table with at least an instance of the first object in output from a process in a second relationship table; and
tracing lineage of an object in the computer system by accessing one or more of the relationship tables and the one or more dependencies between the relationship tables.

### Claim 9 (depends on 8)

The method of claim 8, further comprising calculating a quality score for a data element, the quality score indicating how reliable a data source producing the data element is.

### Claim 10 (depends on 8)

The method of claim 8, further comprising generating, in a graphical user interface; a lineage diagram visually indicating the traced lineage of the object in the computer system.

### Claim 11 (depends on 10)

The method of claim 10, wherein the lineage diagram indicates an identification of the object in each of a plurality of different applications that transformed the object.

### Claim 12 (depends on 8)

The method of claim 8, wherein the different data sources include at least an Enterprise Resource Planning component and an in-memory database.

### Claim 13 (depends on 8)

The method of claim 8, wherein each relationship table contains a first column for input objects, a second column for output objects, and a third column for mappings.

### Claim 14 (depends on 13)

The method of claim 13, wherein for each row of a relationship table, a mapping in the third column corresponds to a transformation that produces an object in the second column, but does not correlate with the object in the first column.

### Claim 15

A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:
identifying, in a computer system comprising a plurality of different data sources and a plurality of different applications performing operations on data from the plurality of different data sources, one or more processes that transform data originating in one or more of the plurality of different data sources;
for each of the identified one or more processes creating a relationship table, the relationship table listing objects input to the process, objects output from the process, and one or more mappings defining transformations performed on the objects input to the process to product the objects output from the process;
creating one or more dependencies between relationship tables by linking at least an instance of a first object in input to a process in a first relationship table with at least an instance of the first object in output from a process in a second relationship table; and
tracing lineage of an object in the computer system by accessing one or more of the relationship tables and the one or more dependencies between the relationship tables.

### Claim 16 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the operations further comprise calculating a quality score for a data element, the quality score indicating how reliable a data source producing the data element is.

### Claim 17 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the operations further comprise generating, in a graphical user interface, a lineage diagram visually indicating the traced lineage of the object in the computer system.

### Claim 18 (depends on 17)

The non-transitory machine-readable storage medium of claim 17, wherein the lineage diagram indicates an identification of the object in each of a plurality of different applications that transformed the object.

### Claim 19 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the different data sources include at least an Enterprise Resource Planning component and an in-memory database.

### Claim 20 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein each relationship table contains a first column for input objects, a second column for output objects, and a third column for mappings.
