# US 10,120,923 B2 · Data discovery and analysis tool

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

- Number: US 10,120,923 B2
- Document ID: US10120923B2
- Status: Granted
- Kind: B2
- Application number: 14/954,777
- Filed: 2015-11-30
- Published: 2017-06-01
- Granted: 2018-11-06
- Earliest claimed: 2015-11-30
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Sean McClure; Alan G. Ennis
- Web page: https://patentgrep.com/patent/US10120923B2

## CPC

- G06F 16/26: Visual data mining; Browsing structured data
- G06F 16/245: Query processing
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/284: {Relational databases}
- G06Q 10/0633: Workflow analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Resources for data lineage discovery, data lineage analysis, role-based security, notification. The resources may include or involve machine readable memory that is configured to store a technical data element (“TDE”); a receiver that is configured to receive a query for data lineage information corresponding to a business element identifier; and a processor configured to: register a logical association between the business element identifier and the TDE; and formulate the data lineage information of the TDE associated with the business element identifier. The receiver may be configured to receive a criterion that is required to access one or more technical data elements (“TDEs”) associated with the business element identifier. The receiver may be configured to receive an election to receive a notification of a change of data lineage. The processor may be configured to toggle between a first data lineage graph and a second data lineage graph.

## Claims

### Claim 1

Apparatus for temporal data lineage analysis comprising:
machine readable memory configured to store a technical data element identifier (“TDEI”), the TDEI corresponding to a technical data element (“TDE”) that represents physical data in a source code database;
a receiver configured to receive a query for data lineage information of a business element;
a processor configured to:
identify one or more TDEIs associated with the business element;
identify a TDE corresponding to each TDEI;
identify data lineage information associated with each TDE, the data lineage information comprising:
one or more systems associated with the TDE;
one or more nodes within each system associated with the TDE, each node comprising a persistent state of the data; and
one or more hops associated with the TDE, each hop comprising movement of the data between two of the nodes;
the processor further configured to generate a data lineage map for each TDE, the data lineage map comprising a stratified representation of the data lineage information, wherein the strata correspond to the one or more systems associated with the one or more TDEs and the arrangement of the strata is based on sequential inter-system hops for the one or more TDEs, the data lineage map further comprising:
a visual indicator showing the presence of a node in the data lineage information and the system associated with the node;
a visual indicator showing the occurrence of a hop in the data lineage information and the nodes associated with the hop; and
a visual indicator showing whether a transformation occurred at the hop.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the processor is further configured to determine whether a hop is an intra-system hop, and, when the hop is an intra-system hop, exclude the hop from the data lineage map.

### Claim 3 (depends on 2)

The apparatus of claim 2 wherein the data lineage map is a default representation of data lineage information for a business element.

### Claim 4 (depends on 2)

The apparatus of claim 2 wherein the processor is further configured to determine if a system includes multiple entry nodes, and when the system includes multiple entry nodes, display a single visual indicator for the multiple entry nodes.

### Claim 5 (depends on 2)

The apparatus of claim 2 wherein the processor is further configured to determine if a system includes multiple exit nodes, and when the system includes multiple exit nodes, display a single visual indicator for the multiple exit nodes.

### Claim 6 (depends on 1)

The apparatus of claim 1 wherein, when the data lineage map is a first data lineage map, the receiver is further configured to receive a selection of a TDE from the first data lineage map; and
the processor is further configured to generate a second data lineage map for the selected TDE.

### Claim 7 (depends on 6)

The apparatus of claim 6 wherein the processor is further configured to exclude intra-system hops from the second data lineage map.

### Claim 8 (depends on 7)

The apparatus of claim 7 wherein the second data lineage map is a default representation of data lineage information for a selected TDE.

### Claim 9 (depends on 7)

The apparatus of claim 7 wherein the processor is further configured to determine if a system includes multiple exit nodes, and when the system includes multiple exit nodes, display a single visual indicator for the multiple exit nodes.

### Claim 10 (depends on 6)

The apparatus of claim 6 wherein the processor is further configured to:
determine whether a node is a file node; and
determine whether a hop is a file hop;
wherein, the data lineage map comprises a visual indicator showing the presence of a node only if the node is a file node and a visual indicator showing the presence of a hop only if the hop is a file hop.

### Claim 11 (depends on 1)

The apparatus of claim 1 wherein the data lineage map comprises a reference table illustrating the meaning of the visual indicators.

### Claim 12 (depends on 11)

The apparatus of claim 11 wherein the reference table is accessed by a selectable link from the data lineage map.

### Claim 13

Apparatus for temporal data lineage analysis comprising:
a receiver configured to receive a query for data lineage information of a technical data element (TDE), the query comprising two or more structural data parameters for the TDE;
a processor configured to:
identify data lineage information associated with the TDE, the data lineage information comprising:
one or more systems associated with the TDE;
one or more nodes within each system associated with the TDE, each node comprising a persistent state of the data; and
one or more hops associated with the TDE, each hop comprising movement of the data between two of the nodes;
the processor further configured to generate a data lineage map for the TDE, the data lineage map configured to show a flow of data lineage information toward the TDE identified by the structural data parameters and a flow of data lineage information from the TDE identified by the structural data parameters, the data lineage map comprising strata corresponding to the one or more systems associated with the TDE, the arrangement of the strata based on sequential inter-system hops for the TDE, the data lineage map comprising:
a visual indicator showing the presence of a node in the data lineage information and the system associated with the node;
a visual indicator showing the occurrence of a hop in the data lineage information and the nodes associated with the hop; and
a visual indicator showing whether a transformation occurred at the hop.

### Claim 14

An article of manufacture comprising a non-transitory computer usable medium having computer readable program code embodied therein, the code when executed by a processor causes a computer to perform a banking activity, the computer readable program code in said article of manufacture comprising:
computer readable program code for causing the computer to store:
a technical data element identifier (“TDEI”);
a business element identifier (“BEI”);
an association of one or more TDEIs with the BEI;
computer readable program code for causing the computer to receive a query for data lineage information corresponding to the business element;
computer readable program code for causing the computer to:
identify the BEI corresponding to the business element;
identify the one or more TDEIs associated with the BEI;
identify a technical data element (TDE) associated with each TDEI;
identify data lineage information associated with each TDE, the data lineage information comprising:
one or more systems associated with the TDE;
one or more nodes within each system associated with the TDE, each node comprising a persistent state of the data;
one or more hops associated with the TDE, each hop comprising movement of the data between two of the nodes; and
computer readable program code for causing the computer to generate a data lineage map aggregating the data lineage information for the one or more TDEs, the data lineage map comprising a stratified representation of the aggregated data lineage information, wherein the strata correspond to the one or more systems associated with the one or more TDEs and the arrangement of the strata is based on sequential inter-system hops for the one or more TDEs, the data lineage map further comprising:
a visual indicator showing the presence of a node in the data lineage information and the system associated with the node;
a visual indicator showing the occurrence of a hop in the data lineage information and the nodes associated with the hop; and
a visual indicator showing whether a transformation occurred at the hop.

### Claim 15 (depends on 14)

The media of claim 14 further comprising computer readable program code for causing the computer to determine whether a hop is an intra-system hop, and, when the hop is an intra-system hop, exclude the hop from the data lineage map.

### Claim 16 (depends on 15)

The media of claim 15 wherein the data lineage map is a default representation of data lineage information for a business element.

### Claim 17 (depends on 15)

The media of claim 15 further comprising computer readable program code for causing the computer to determine if a system includes multiple entry nodes, and when the system includes multiple entry nodes, display a single visual indicator for the multiple entry nodes.

### Claim 18 (depends on 15)

The media of claim 15 further comprising computer readable program code for causing the computer to determine if a system includes multiple exit nodes, and when the system includes multiple exit nodes, display a single visual indicator for the multiple exit nodes.

### Claim 19 (depends on 14)

The media of claim 14 further comprising computer readable media code for causing the computer to, when the data lineage map is a first data lineage map, receive a selection of a TDE from the first data lineage map and generate a second data lineage map for the selected TDE.

### Claim 20 (depends on 19)

The media of claim 19 further comprising computer readable media code for causing the computer to exclude intra-system hops from the second data lineage map.
