# US 10,313,177 B2 · Data lineage summarization

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

- Number: US 10,313,177 B2
- Document ID: US10313177B2
- Status: Granted
- Kind: B2
- Application number: 15/293,490
- Filed: 2016-10-14
- Published: 2017-02-02
- Granted: 2019-06-04
- Earliest claimed: 2014-07-24
- Assignees: Ab Initio Technology LLC
- Applicants: Ab Initio Technology LLC
- Inventors: Dusan Radivojevic; Anthony M. Yeracaris; Joel Gould; Andrew Schon
- Web page: https://patentgrep.com/patent/US10313177B2

## CPC

- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/0213: Standardised network management protocols, e.g. simple network management protocol [SNMP]
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An identification of a directed graph is received that includes data transformation nodes that represent computations that transform data elements and one or more data nodes that represent data elements, and includes directed links that represent lineage relationships; and computing summary information based on paths in the directed graph, and storing the summary information in one or more summary objects. The computing includes: receiving designation of interest for a plurality of the nodes of the directed graph; and generating one or more summary objects for remaining nodes not included in the plurality of nodes of interest, a first summary object including summary information based on a first path between a first node of interest and a second node of interest that does include one or more of the remaining nodes and does not include any nodes of interest other than the first and second nodes.

## Claims

### Claim 1

A method for managing lineage information in a computing system, the method including:
receiving, over an input device or port, an identification of a directed graph that includes one or more data nodes that represent data elements, and includes directed links between data nodes that represent respective lineage relationships between data elements that are received and produced, respectively, by a computation during execution of the computation, or directed links between data nodes and data transformation nodes that represent computations that transform data elements, where the directed links between data nodes and data transformation nodes represent respective lineage relationships between a computation and a data element to be received or produced by the computation during execution of the computation; and
computing, using at least one processor, display information based on paths over directed links in the directed graph and hierarchical container relationships among nodes in the directed graph, and using the display information to generate a data lineage diagram as a visual representation of at least portions of the directed graph, the computing including:
traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram based at least in part on any tag identifiers or tag values associated with traversed nodes, where at least one of the traversed nodes is associated with one or more tag identifiers of a plurality of tag identifiers, and at least one tag identifier of the plurality of tag identifiers has a plurality of possible tag values;
receiving designation of interest for a plurality of the nodes of the directed graph;
generating one or more summary objects included in the display information for one or more remaining nodes not included in the plurality of nodes of interest and not excluded based on the traversing, a first summary object of the one or more summary objects including summary information based on a first path over directed links in the directed graph between a first node of interest and a second node of interest; and
generating one or more container objects included in the display information according to the hierarchical container relationships among the nodes, where each container object is able to be represented both by both a collapsed visual representation in the data lineage diagram, and an expanded visual representation in the data lineage diagram that contains visual representations of at least one of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, or (3) one or more container objects;
wherein generating the first summary object includes traversing the first path between the first node of interest and the second node of interest to identify one or more remaining nodes that are not designated as being of interest along the first path, and forming the summary information for the identified one or more remaining nodes.

### Claim 2 (depends on 1)

The method of claim 1 further including generating a data lineage diagram as a visual representation of at least portions of the directed graph, in which each node designated as being of interest is represented by its own icon, and a plurality of the remaining nodes are represented by a common icon connected to a plurality of nodes of interest according to summary information stored in one or more of the summary objects.

### Claim 3 (depends on 2)

The method of claim 2 further including receiving a user input indicative of a user's desire to view details associated with the common icon and, in response to the user input, traversing the plurality of remaining nodes represented by the common icon and visually representing the remaining nodes in the data lineage diagram based on the traversal of paths of the directed graph including the plurality of remaining nodes associated with the summary information.

### Claim 4 (depends on 2)

The method of claim 2 further including
receiving a designation of one of the data transformation nodes or one of the data nodes as a target node,
wherein generating the data lineage diagram includes traversing one or more paths through the directed graph, each path of the one or more paths including two or more nodes of interest and the target node.

### Claim 5 (depends on 4)

The method of claim 4 wherein for at least some of the one or more paths through the directed graph, traversing the path includes traversing a first portion of the path in an upstream direction from the target node and traversing a second portion of the path in a downstream direction from the target node.

### Claim 6 (depends on 5)

The method of claim 5 wherein traversing the first portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first upstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first upstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 7 (depends on 6)

The method of claim 6 wherein traversing the first portion of the path further includes traversing a link corresponding to a summary object associated with the first upstream node of interest from the first upstream node of interest to a second upstream node of interest.

### Claim 8 (depends on 5)

The method of claim 5 wherein traversing the second portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first downstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first downstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 9 (depends on 8)

The method of claim 8 wherein traversing the second portion of the path further includes traversing a link corresponding to a summary object associated with the first downstream node of interest from the first downstream node of interest to a second downstream node of interest.

### Claim 10 (depends on 2)

The method of claim 2 wherein the one or more summary objects includes two or more summary objects, generating the linage diagram further includes merging at least some of the two or more summary objects into a summary node represented by the common icon.

### Claim 11 (depends on 10)

The method of claim 10 wherein merging at least some of the two or more summary objects into the summary node includes analyzing relationships between the nodes of interest linked by the at least some of the two or more summary objects to determine whether merging the at least some of the two or more summary objects is possible.

### Claim 12 (depends on 11)

The method of claim 11 wherein analyzing relationships between the nodes of interest includes determining that the at least some of the two or more summary objects are associated with a common downstream node of interest.

### Claim 13 (depends on 1)

The method of claim 1, wherein the designation of interest for at least some of the nodes is received from a user.

### Claim 14 (depends on 1)

The method of claim 1, wherein the designation of interest for at least some of the nodes is generated by the computing system.

### Claim 15 (depends on 14)

The method of claim 14, wherein the computing system generates the designation of interest for at least some of the nodes based on a position of the at least some of the nodes relative to a position of other nodes designated as being of interest.

### Claim 16 (depends on 14)

The method of claim 14, wherein the computing system generates the designation of interest for at least some of the nodes based on the at least some of the nodes sharing a data structure with other nodes designated as being of interest.

### Claim 17 (depends on 2)

The method of claim 2 wherein the computing system includes a plurality of separate, interconnected sub-systems, the portions of the directed graph being distributed among at least some of the sub-systems.

### Claim 18 (depends on 17)

The method of claim 17 wherein at least some of the sub-systems are represented by the common icon.

### Claim 19 (depends on 1)

The method of claim 1 wherein traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram includes:
determining an association between a first node and at least a first tag identifier of the plurality of tag identifiers, and determining a first subset of at least one and fewer than all of a plurality of possible tag values for the first tag identifier; and
traversing nodes along a first lineage path of directed links from the first node to determine a data lineage for the first node, where the data lineage includes one or both of (1) a dependency lineage that consists of a unidirectional upstream lineage path of directed links upstream of the first node, and (2) an impact lineage that consists of a unidirectional downstream lineage path of directed links downstream of the first node, and where determining the data lineage includes, for each traversed node determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage based at least in part on any tag identifiers or tag values associated with the traversed node.

### Claim 20 (depends on 19)

The method of claim 19 wherein determining the data lineage includes, for each traversed node:
adding the traversed node to the data lineage if the traversed node is not associated with the first tag identifier, or the traversed node is associated with the first tag identifier and is associated with at least one tag value of the first subset; or
excluding the traversed node from the data lineage if the traversed node is associated with the first tag identifier and is not associated with at least one tag value of the first subset.

### Claim 21 (depends on 20)

The method of claim 20 further including, upon excluding a traversed node from the data lineage, terminating traversing of the first lineage path.

### Claim 22 (depends on 19)

The method of claim 19 further including analyzing the plurality of nodes, prior to traversing the nodes of the plurality of nodes, to determine a first subset of the plurality of nodes that are associated with the first tag identifier and are not associated with at least one tag value of the first subset of the plurality of possible tag values for the first tag identifier.

### Claim 23 (depends on 22)

The method of claim 22 wherein determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage includes determining whether the traversed node is included in the first subset of the plurality of nodes.

### Claim 24 (depends on 23)

The method of claim 23 wherein determining whether to add the traversed node to the data lineage includes adding the traversed node to the data lineage if the traversed node is not included in the first subset of the plurality of nodes and excluding the traversed node from the data lineage if the traversed node is included in the first subset of the plurality of nodes.

### Claim 25 (depends on 1)

The method of claim 1 wherein the expanded visual representation of the container object in the data lineage diagram contains visual representations of at least two of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, or (3) one or more container objects.

### Claim 26 (depends on 25)

The method of claim 25 wherein the expanded visual representation of the container object in the data lineage diagram contains visual representations of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, and (3) one or more container objects.

### Claim 27 (depends on 1)

The method of claim 1 wherein the directed graph includes directed links between data nodes and data transformation nodes that represent computations that transform data elements, where the directed links between data nodes and data transformation nodes represent respective lineage relationships between a computation and a data element to be received or produced by the computation during execution of the computation.

### Claim 28

Software stored in a non-transitory form on a computer-readable medium, for managing lineage information in a computing system, the software including instructions for causing a computing system to:
receive, over an input device or port, an identification of a directed graph that includes one or more data nodes that represent data elements, and includes directed links between data nodes that represent respective lineage relationships between data elements that are received and produced, respectively, by a computation during execution of the computation, or directed links between data nodes and data transformation nodes that represent computations that transform data elements, where the directed links between data nodes and data transformation nodes represent respective lineage relationships between a computation and a data element to be received or produced by the computation during execution of the computation; and
compute, using at least one processor, display information based on paths over directed links in the directed graph and hierarchical container relationships among nodes in the directed graph, and using the display information to generate a data lineage diagram as a visual representation of at least portions of the directed graph, the computing including:
traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram based at least in part on any tag identifiers or tag values associated with traversed nodes, where at least one of the traversed nodes is associated with one or more tag identifiers of a plurality of tag identifiers, and at least one tag identifier of the plurality of tag identifiers has a plurality of possible tag values;
receiving designation of interest for a plurality of the nodes of the directed graph;
generating one or more summary objects included in the display information for one or more remaining nodes not included in the plurality of nodes of interest and not excluded based on the traversing, a first summary object of the one or more summary objects including summary information based on a first path over directed links in the directed graph between a first node of interest and a second node of interest; and
generating one or more container objects included in the display information according to the hierarchical container relationships among the nodes, where each container object is able to be represented both by both a collapsed visual representation in the data lineage diagram, and an expanded visual representation in the data lineage diagram that contains visual representations of at least one of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, or (3) one or more container objects;
wherein generating the first summary object includes traversing the first path between the first node of interest and the second node of interest to identify one or more remaining nodes that are not designated as being of interest along the first path, and forming the summary information for the identified one or more remaining nodes.

### Claim 29 (depends on 28)

The software of claim 28 further including instructions for causing a computing system to generate a data lineage diagram as a visual representation of at least portions of the directed graph, in which each node designated as being of interest is represented by its own icon, and a plurality of the remaining nodes are represented by a common icon connected to a plurality of nodes of interest according to summary information stored in one or more of the summary objects.

### Claim 30 (depends on 29)

The software of claim 29 further including instructions for causing a computing system to receive a user input indicative of a user's desire to view details associated with the common icon and, in response to the user input, traverse the plurality of remaining nodes represented by the common icon and visually representing the remaining nodes in the data lineage diagram based on the traversal of paths of the directed graph including the plurality of remaining nodes associated with the summary information.

### Claim 31 (depends on 29)

The software of claim 29 further including instructions for causing a computing system to
receive a designation of one of the data transformation nodes or one of the data nodes as a target node,
wherein generating the data lineage diagram includes traversing one or more paths through the directed graph, each path of the one or more paths including two or more nodes of interest and the target node.

### Claim 32 (depends on 31)

The software of claim 31 wherein for at least some of the one or more paths through the directed graph, traversing the path includes traversing a first portion of the path in an upstream direction from the target node and traversing a second portion of the path in a downstream direction from the target node.

### Claim 33 (depends on 32)

The software of claim 32 wherein traversing the first portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first upstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first upstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 34 (depends on 33)

The software of claim 33 wherein traversing the first portion of the path further includes traversing a link corresponding to a summary object associated with the first upstream node of interest from the first upstream node of interest to a second upstream node of interest.

### Claim 35 (depends on 32)

The software of claim 32 wherein traversing the second portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first downstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first downstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 36 (depends on 35)

The software of claim 35 wherein traversing the second portion of the path further includes traversing a link corresponding to a summary object associated with the first downstream node of interest from the first downstream node of interest to a second downstream node of interest.

### Claim 37 (depends on 29)

The software of claim 29 wherein the one or more summary objects includes two or more summary objects, generating the linage diagram further includes merging at least some of the two or more summary objects into a summary node represented by the common icon.

### Claim 38 (depends on 37)

The software of claim 37 wherein merging at least some of the two or more summary objects into the summary node includes analyzing relationships between the nodes of interest linked by the at least some of the two or more summary objects to determine whether merging the at least some of the two or more summary objects is possible.

### Claim 39 (depends on 38)

The software of claim 38 wherein analyzing relationships between the nodes of interest includes determining that the at least some of the two or more summary objects are associated with a common downstream node of interest.

### Claim 40 (depends on 29)

The software of claim 29 wherein the computing system includes a plurality of separate, interconnected sub-systems, the portions of the directed graph being distributed among at least some of the sub-systems.

### Claim 41 (depends on 40)

The software of claim 40 wherein at least some of the sub-systems are represented by the common icon.

### Claim 42 (depends on 28)

The software of claim 28 wherein traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram includes:
determining an association between a first node and at least a first tag identifier of the plurality of tag identifiers, and determining a first subset of at least one and fewer than all of a plurality of possible tag values for the first tag identifier; and
traversing nodes along a first lineage path of directed links from the first node to determine a data lineage for the first node, where the data lineage includes one or both of (1) a dependency lineage that consists of a unidirectional upstream lineage path of directed links upstream of the first node, and (2) an impact lineage that consists of a unidirectional downstream lineage path of directed links downstream of the first node, and where determining the data lineage includes, for each traversed node determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage based at least in part on any tag identifiers or tag values associated with the traversed node.

### Claim 43 (depends on 42)

The software of claim 42 wherein determining the data lineage includes, for each traversed node:
adding the traversed node to the data lineage if the traversed node is not associated with the first tag identifier, or the traversed node is associated with the first tag identifier and is associated with at least one tag value of the first subset; or
excluding the traversed node from the data lineage if the traversed node is associated with the first tag identifier and is not associated with at least one tag value of the first subset.

### Claim 44 (depends on 43)

The software of claim 43 further including instructions for causing a computing system to, upon excluding a traversed node from the data lineage, terminate traversing of the first lineage path.

### Claim 45 (depends on 42)

The software of claim 42 further including instructions for causing a computing system to analyze the plurality of nodes, prior to traversing the nodes of the plurality of nodes, to determine a first subset of the plurality of nodes that are associated with the first tag identifier and are not associated with at least one tag value of the first subset of the plurality of possible tag values for the first tag identifier.

### Claim 46 (depends on 45)

The software of claim 45 wherein determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage includes determining whether the traversed node is included in the first subset of the plurality of nodes.

### Claim 47 (depends on 46)

The software of claim 46 wherein determining whether to add the traversed node to the data lineage includes adding the traversed node to the data lineage if the traversed node is not included in the first subset of the plurality of nodes and excluding the traversed node from the data lineage if the traversed node is included in the first subset of the plurality of nodes.

### Claim 48

A computing system for managing lineage information in a computing system, the computing system including:
an input device or port for receiving an identification of a directed graph that includes one or more data nodes that represent data elements, and includes directed links between data nodes that represent respective lineage relationships between data elements that are received and produced, respectively, by a computation during execution of the computation, or directed links between data nodes and data transformation nodes that represent computations that transform data elements, where the directed links between data nodes and data transformation nodes represent respective lineage relationships between a computation and a data element to be received or produced by the computation during execution of the computation; and
at least one processor for computing display information based on paths over directed links in the directed graph and hierarchical container relationships among nodes in the directed graph, and using the display information to generate a data lineage diagram as a visual representation of at least portions of the directed graph, the computing including:
traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram based at least in part on any tag identifiers or tag values associated with traversed nodes, where at least one of the traversed nodes is associated with one or more tag identifiers of a plurality of tag identifiers, and at least one tag identifier of the plurality of tag identifiers has a plurality of possible tag values;
receiving designation of interest for a plurality of the nodes of the directed graph;
generating one or more summary objects included in the display information for one or more remaining nodes not included in the plurality of nodes of interest and not excluded based on the traversing, a first summary object of the one or more summary objects including summary information based on a first path over directed links in the directed graph between a first node of interest and a second node of interest; and
generating one or more container objects included in the display information according to the hierarchical container relationships among the nodes, where each container object is able to be represented both by both a collapsed visual representation in the data lineage diagram, and an expanded visual representation in the data lineage diagram that contains visual representations of at least one of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, or (3) one or more container objects;
wherein generating the first summary object includes traversing the first path between the first node of interest and the second node of interest to identify one or more remaining nodes that are not designated as being of interest along the first path, and forming the summary information for the identified one or more remaining nodes.

### Claim 49 (depends on 48)

The computing system of claim 48 further including instructions for causing a computing system to generate a data lineage diagram as a visual representation of at least portions of the directed graph, in which each node designated as being of interest is represented by its own icon, and a plurality of the remaining nodes are represented by a common icon connected to a plurality of nodes of interest according to summary information stored in one or more of the summary objects.

### Claim 50 (depends on 49)

The computing system of claim 49 further including instructions for causing a computing system to receive a user input indicative of a user's desire to view details associated with the common icon and, in response to the user input, traverse the plurality of remaining nodes represented by the common icon and visually representing the remaining nodes in the data lineage diagram based on the traversal of paths of the directed graph including the plurality of remaining nodes associated with the summary information.

### Claim 51 (depends on 49)

The computing system of claim 49 further including instructions for causing a computing system to
receive a designation of one of the data transformation nodes or one of the data nodes as a target node,
wherein generating the data lineage diagram includes traversing one or more paths through the directed graph, each path of the one or more paths including two or more nodes of interest and the target node.

### Claim 52 (depends on 51)

The computing system of claim 51 wherein for at least some of the one or more paths through the directed graph, traversing the path includes traversing a first portion of the path in an upstream direction from the target node and traversing a second portion of the path in a downstream direction from the target node.

### Claim 53 (depends on 52)

The computing system of claim 52 wherein traversing the first portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first upstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first upstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 54 (depends on 53)

The computing system of claim 53 wherein traversing the first portion of the path further includes traversing a link corresponding to a summary object associated with the first upstream node of interest from the first upstream node of interest to a second upstream node of interest.

### Claim 55 (depends on 52)

The computing system of claim 52 wherein traversing the second portion of the path includes determining whether the target node is marked as being a node of interest, and
if the target node is determined to be a node of interest, traversing a link corresponding to a summary object associated with the target node from the target node to a first downstream node of interest, otherwise
if the target node is not determined to be a node of interest, traversing an original path of the directed graph between the target node and the first downstream node of interest, including traversing one or more data transformation nodes or data nodes that are not designated as being of interest.

### Claim 56 (depends on 55)

The computing system of claim 55 wherein traversing the second portion of the path further includes traversing a link corresponding to a summary object associated with the first downstream node of interest from the first downstream node of interest to a second downstream node of interest.

### Claim 57 (depends on 49)

The computing system of claim 49 wherein the one or more summary objects includes two or more summary objects, generating the linage diagram further includes merging at least some of the two or more summary objects into a summary node represented by the common icon.

### Claim 58 (depends on 57)

The computing system of claim 57 wherein merging at least some of the two or more summary objects into the summary node includes analyzing relationships between the nodes of interest linked by the at least some of the two or more summary objects to determine whether merging the at least some of the two or more summary objects is possible.

### Claim 59 (depends on 58)

The computing system of claim 58 wherein analyzing relationships between the nodes of interest includes determining that the at least some of the two or more summary objects are associated with a common downstream node of interest.

### Claim 60 (depends on 49)

The computing system of claim 49 wherein the computing system includes a plurality of separate, interconnected sub-systems, the portions of the directed graph being distributed among at least some of the sub-systems.

### Claim 61 (depends on 60)

The computing system of claim 60 wherein at least some of the sub-systems are represented by the common icon.

### Claim 62 (depends on 48)

The computing system of claim 48 wherein traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram includes:
determining an association between a first node and at least a first tag identifier of the plurality of tag identifiers, and determining a first subset of at least one and fewer than all of a plurality of possible tag values for the first tag identifier; and
traversing nodes along a first lineage path of directed links from the first node to determine a data lineage for the first node, where the data lineage includes one or both of (1) a dependency lineage that consists of a unidirectional upstream lineage path of directed links upstream of the first node, and (2) an impact lineage that consists of a unidirectional downstream lineage path of directed links downstream of the first node, and where determining the data lineage includes, for each traversed node determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage based at least in part on any tag identifiers or tag values associated with the traversed node.

### Claim 63 (depends on 62)

The computing system of claim 62 wherein determining the data lineage includes, for each traversed node:
adding the traversed node to the data lineage if the traversed node is not associated with the first tag identifier, or the traversed node is associated with the first tag identifier and is associated with at least one tag value of the first subset; or
excluding the traversed node from the data lineage if the traversed node is associated with the first tag identifier and is not associated with at least one tag value of the first subset.

### Claim 64 (depends on 63)

The computing system of claim 63 further including instructions for causing a computing system to, upon excluding a traversed node from the data lineage, terminate traversing of the first lineage path.

### Claim 65 (depends on 62)

The computing system of claim 62 further including instructions for causing a computing system to analyze the plurality of nodes, prior to traversing the nodes of the plurality of nodes, to determine a first subset of the plurality of nodes that are associated with the first tag identifier and are not associated with at least one tag value of the first subset of the plurality of possible tag values for the first tag identifier.

### Claim 66 (depends on 65)

The computing system of claim 65 wherein determining whether to add the traversed node to the data lineage or to exclude the traversed node from the data lineage includes determining whether the traversed node is included in the first subset of the plurality of nodes.

### Claim 67 (depends on 66)

The computing system of claim 66 wherein determining whether to add the traversed node to the data lineage includes adding the traversed node to the data lineage if the traversed node is not included in the first subset of the plurality of nodes and excluding the traversed node from the data lineage if the traversed node is included in the first subset of the plurality of nodes.

### Claim 68

A computing system for managing lineage information in a computing system, the computing system including:
means for receiving an identification of a directed graph that includes one or more data nodes that represent data elements, and includes directed links between data nodes that represent respective lineage relationships between data elements that are received and produced, respectively, by a computation during execution of the computation, or directed links between data nodes and data transformation nodes that represent computations that transform data elements, where the directed links between data nodes and data transformation nodes represent respective lineage relationships between a computation and a data element to be received or produced by the computation during execution of the computation; and
means for computing, using at least one processor, display information based on paths over directed links in the directed graph and hierarchical container relationships among nodes in the directed graph, and using the display information to generate a data lineage diagram as a visual representation of at least portions of the directed graph, the computing including:
traversing nodes along the paths over directed links in the directed graph and determining one or more of the nodes of the directed graph to exclude from the data lineage diagram based at least in part on any tag identifiers or tag values associated with traversed nodes, where at least one of the traversed nodes is associated with one or more tag identifiers of a plurality of tag identifiers, and at least one tag identifier of the plurality of tag identifiers has a plurality of possible tag values;
receiving designation of interest for a plurality of the nodes of the directed graph;
generating one or more summary objects included in the display information for one or more remaining nodes not included in the plurality of nodes of interest and not excluded based on the traversing, a first summary object of the one or more summary objects including summary information based on a first path over directed links in the directed graph between a first node of interest and a second node of interest; and
generating one or more container objects included in the display information according to the hierarchical container relationships among the nodes, where each container object is able to be represented both by both a collapsed visual representation in the data lineage diagram, and an expanded visual representation in the data lineage diagram that contains visual representations of at least one of: (1) one or more data transformation nodes or data nodes, (2) one or more summary objects, or (3) one or more container objects;
wherein generating the first summary object includes traversing the first path between the first node of interest and the second node of interest to identify one or more remaining nodes that are not designated as being of interest along the first path, and forming the summary information for the identified one or more remaining nodes.
