Hierarchical Data Encoding Using Numerical Path Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for storing and retrieving hierarchical data structures in computer systems are inefficient due to recursive algorithms, excessive memory usage, and slow query execution times, particularly in relational database management systems.

Innovation Solution

The method calculates numerical values that encode paths in a hierarchy using mathematical series, allowing for efficient storage and retrieval by associating these values with nodes in a sequential data structure, eliminating the need for recursive algorithms and minimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the adjacency list approach is used to incorporate hierarchical information into a sequential data structure, then the simplicity of the concept and algorithms is improved, but the execution speed deteriorates due to recursive loops being slow and resource-intensive

Engineering Contradiction:
Improvesimplicity of concept and algorithmsVSAvoidexecution speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent pre-calculates and stores the depth and level-order position of each node in the hierarchy before queries are executed. This preliminary action eliminates the need for recursive loops during query execution, as the position information is already available in the data structure, directly resolving the contradiction between algorithmic simplicity and execution speed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If materialized lists or materialized paths are used to associate each node with a record of all its ancestors, then the need for recursive algorithms is eliminated, but the memory usage increases and operations on string data types are much slower

Engineering Contradiction:
Improveelimination of recursive algorithmsVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the data type parameters from string-based materialized paths to numerical representations (depth as integers and level-order position as integers). This parameter change reduces memory usage compared to string storage and enables faster numerical operations while still eliminating the need for recursive algorithms.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the nested sets approach is used to model hierarchy in a relational database, then integer data types can be used for fast searching, but a large number of write actions are required to complete a given task which are slow and resource-intensive

Engineering Contradiction:
Improvesearch speedVSAvoidtime for write actions
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-calculates the depth and level-order position of each node when the hierarchical structure is built or updated. This preliminary calculation allows subsequent search operations to use fast integer comparisons without requiring multiple write actions, thus resolving the contradiction between search speed and write operation time.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If rational numbers are used as high and low value parameters in the nested intervals approach, then it is possible to add nodes without recalculating parameters, but extensive calculations are required to reconstitute and compare the intervals which slows query execution

Engineering Contradiction:
Improveability to add nodes without recalculationVSAvoidquery execution speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent changes from using rational numbers with extensive calculations to using simple integer parameters (depth and level-order position). This parameter change maintains the ability to add nodes efficiently while dramatically improving query execution speed through simple integer comparisons instead of complex rational number calculations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7769781B1Method for labeling data stored in sequential data structures with parameters which describe position in a hierarchy
Publication Date: 2010.08.03 HUNTLEY STEPHEN EDWARD
  • US7769781B1 patent drawing
  • US7769781B1 patent drawing
  • US7769781B1 patent drawing

AI summary

A method for calculating numerical values in a manner which can be interpreted as encoding places in a hierarchy, and are in a format convenient for storage and retrieval on computer systems. The numerical values are calculated by associating paths in a hierarchy with sub-sequences of terms of a mathematical series where an ordering of the sub-sequences according to the occurrence of the first terms of the sub-sequences in the mathematical series is the same as an ordering of the magnitude of the sums of the terms of the sub-sequences. Said numerical values can be conveniently stored as integer or floating-point data types commonly used in computer systems and as such assigned to appropriate data elements in a data structure which defines serial relationships between the items it stores. Thus this invention enables sequential data structures such as arrays, linked lists and databases to store and retrieve tree structure data efficiently.