Data Subsetting via Entity Graph Cycle Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Determining appropriate data subsets from multiple tables with complex relationships is a resource-intensive task, often requiring recursive solutions that are inefficient, especially when cyclic relationships are involved.

Innovation Solution

The method involves modeling database tables using an entity graph to differentiate between acyclic and cyclic relationships, allowing for optimized non-recursive processing of acyclic cases and recursive processing of cyclic cases, using entity graph expansion to detect cycles and generate expanded graphs for efficient data subsetting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a one-size-fits-all recursive solution is used to compute data subsets for large sets of data across multiple tables, then the solution can handle both cyclic and acyclic relationships, but the computational resources and processing time are excessively consumed

Engineering Contradiction:
Improveability to handle both cyclic and acyclic relationshipsVSAvoidcomputational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the problem of data subsetting by separating cyclic and acyclic relationships into distinct processing paths. The system detects whether an entity graph contains cycles and applies different algorithms accordingly: recursive processing for cyclic cases and optimized non-recursive processing for acyclic cases. This segmentation resolves the contradiction by allowing the system to maintain versatility while improving productivity through case-specific optimization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic processing by adapting the algorithm based on the characteristics of the input data. The system dynamically determines whether to use recursive or non-recursive processing based on cycle detection in the entity graph. This dynamic adaptation allows the system to maintain the ability to handle both cyclic and acyclic relationships while optimizing computational efficiency for each specific case.

Inventive Principle:
Principle #15Dynamics

2Reliability

If recursive processing is used to handle cyclic relationships in data subsetting, then the solution can correctly compute data subsets with cycles, but the processing time and computational complexity increase significantly

Engineering Contradiction:
Improvecorrectness of data subset computationVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the processing based on the presence of cyclic relationships. By detecting cycles in the entity graph, the system separates problems requiring recursive processing from those that can use optimized non-recursive methods. This ensures that recursive processing is applied only when necessary for correctness, while reducing time loss for cases where it is not needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary step of cycle detection that acts as a mediator between the input data and the processing algorithm. This intermediary analysis determines the appropriate processing path, ensuring reliability for cyclic cases while minimizing time loss by avoiding unnecessary recursive processing for acyclic cases.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If non-recursive methods are used for data subsetting, then the processing speed is improved, but the methods fail to correctly handle cyclic relationships between tables

Engineering Contradiction:
Improveprocessing speedVSAvoidcorrectness for cyclic relationships
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the problem space into cyclic and acyclic cases, allowing non-recursive methods to be applied to acyclic cases where they provide improved processing speed. For cyclic cases, the system correctly applies recursive methods to maintain reliability. This segmentation resolves the contradiction by matching the method to the problem characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic method selection based on the detection of cyclic relationships. The system dynamically chooses between non-recursive and recursive processing methods based on the input data characteristics. This dynamic approach allows the system to achieve high processing speed for acyclic cases while maintaining correctness for cyclic cases.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9779158B2Method, apparatus, and computer-readable medium for optimized data subsetting
Publication Date: 2017.10.03 INFORMATICA CORP
  • US9779158B2 patent drawing
  • US9779158B2 patent drawing
  • US9779158B2 patent drawing

AI summary

An apparatus, computer-readable medium, and computer-implemented method for data subsetting, including receiving a request for a subset of data from a plurality of tables, generating an entity graph corresponding to the plurality of tables, expanding the entity graph if the entity graph does not have any cycles, and performing acyclic subset processing on the expanded entity graph if the entity graph does not have any cycles and the expanded entity graph does not have any cycles.