Ancestry Determination in Directed Acyclic Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for determining hierarchical relationships in directed acyclic graphs (DAGs) incur performance penalties due to the multiplicity of paths and node movements, requiring extensive navigation to establish ancestry between nodes.
Innovation Solution
The method involves designating nodes as points of interest, storing data on the closest point of interest and change times, allowing for ancestry validation by comparing change time data, thereby minimizing traversal and reducing performance penalties. This includes creating, modifying, and validating hierarchies while only traversing the hierarchy when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing methods navigate a hierarchy along all potential paths to determine ancestry, then ancestry relationships can be established, but performance penalties occur due to extensive traversal required
Solution Approach 1:
The system performs preliminary actions by pre-computing and storing ancestry information in ancestor pointers within each node, and maintaining change time data for points of interest. This allows the ancestry determination to skip extensive traversal by directly comparing stored change times, thus resolving the contradiction between reliable ancestry determination and fast performance
Solution Approach 2:
The invention creates copies of ancestry-relevant information (change time data, ancestor pointers) and stores them in each node. Instead of traversing to verify ancestry, the system copies the essential verification data (change times) to local nodes, enabling fast comparison-based ancestry determination while maintaining accuracy
2Measurement precision
If the system traverses the hierarchy to validate ancestry, then accurate ancestry relationships are confirmed, but time is lost due to multiplicity of paths and node movements
Solution Approach 1:
The system extracts only the essential information needed for ancestry validation (change time data and ancestor pointers) from the full hierarchy traversal. By taking out just the critical verification data and storing it locally in each node, the system eliminates the need to traverse multiple paths, thus achieving accurate validation without time loss
Solution Approach 2:
The invention changes the parameter being compared from structural hierarchy position to temporal change time data. Instead of traversing paths to determine ancestry, the system compares change time parameters stored in nodes, transforming a spatial traversal problem into a temporal comparison problem that is much faster while maintaining precision
3Adaptability or versatility
If the system creates snapshots, quotas, or replications in DAGs, then data management operations are performed, but performance penalties occur due to extensive hierarchy navigation required
Solution Approach 1:
The system performs preliminary actions by pre-storing ancestry information and change time data in each node before snapshot, quota, or replication operations are needed. This preliminary preparation allows these data management operations to execute quickly by comparing pre-stored change times rather than traversing the full hierarchy, thus maintaining versatility while improving operation speed
Data Source
AI summary
A system and method for determining ancestry in directed acyclic graphs (DAGs). The method includes accessing a first node of a plurality of nodes in a DAG to obtain first change time data and ancestry data, wherein the plurality of nodes includes at least one point of interest, wherein the first change time data indicates a time of a first change to ancestry of the closest point of interest (CPOI); accessing a CPOI of the first node to obtain second change time data, wherein the second change time data indicates a time of a most recent change to ancestry of the CPOI; comparing the first change time data with the second change time data; and determining ancestry of the first node, wherein the ancestry of the first node is determined based on the ancestry data when the first change time data matches the second change time data.


