Hierarchical Data Query via Directed Graph Adjacency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for querying network configuration data modeled as a hierarchical tree structure are limited by memory capacity, leading to inefficient processing and increased query time, especially when dealing with large datasets.

Innovation Solution

Converting the hierarchical tree structure into a directed graph represented as an adjacency table, allowing only the necessary portion of the data to be loaded into memory for querying, and maintaining this portion for subsequent queries to reduce reload time and improve processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the complete hierarchical data structure is loaded into memory for querying, then query processing speed is improved, but memory capacity requirements increase significantly

Engineering Contradiction:
Improvequery processing speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides the complete hierarchical data structure into multiple levels or segments, where only the necessary portion (e.g., root level or frequently accessed nodes) is loaded into memory at any given time. This segmentation allows the system to process queries efficiently using in-memory data structures while avoiding the need to load the entire dataset, thus resolving the contradiction between query speed and memory capacity requirements.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the hierarchical data is repeatedly reloaded into memory for each query, then memory usage is optimized, but query time increases

Engineering Contradiction:
Improvememory usageVSAvoidquery time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-processing and organizing the hierarchical data structure into an optimized format (such as adjacency lists or graph representations) that can be efficiently loaded into memory. This preliminary organization allows subsequent queries to be executed quickly without requiring repeated full data reloads, thus reducing query time while maintaining optimized memory usage.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If a flat file structure is used for storing hierarchical data, then storage simplicity is improved, but query efficiency deteriorates

Engineering Contradiction:
Improvestorage simplicityVSAvoidquery efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent transitions from a one-dimensional flat file structure to a multi-dimensional data representation (such as graph structures with nodes and edges, or hierarchical trees with parent-child relationships). This dimensional transformation enables the system to maintain the storage simplicity of flat files while introducing additional structural dimensions that significantly improve query efficiency by enabling direct navigation and filtering operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP3470992B1Efficient storage and utilization of a hierarchical data set
Publication Date: 2021.12.08 ADTRAN INC
  • EP3470992B1 patent drawingFigure 1A
  • EP3470992B1 patent drawingFigure 1B
  • EP3470992B1 patent drawingFigure 1C

AI summary

First data of a hierarchical data structure is accessed. A directed graph is generated based on the first data. Generating the directed graph includes creating multiple nodes representing the first data and linking first nodes representing data at a particular level of the hierarchical data structure to second nodes representing data at a lower level of the hierarchical data structure. A query requesting information from the hierarchical data structure is received. A particular node, that is a starting point for searching the directed graph based on the query, is identified within the directed graph. Out-links, that link the particular node to other nodes of the directed graph, are identified. Each of the other nodes, that is connected to the particular node by the out-links, is inspected to determine which of the other nodes represents responsive data matching the query. The query is responded with the responsive data.