Tree-Structured Dataset Insertion Using Bitset Summaries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage methods, such as linked lists, face inefficiencies in searching and processing operations as the dataset grows, particularly in finding and removing items, due to linear time complexity and high computational resource usage.

Innovation Solution

A computer-implemented method for inserting items into a tree-structured dataset using data summary calculations, where new items are summarized using an algorithm like a bloom filter, and new nodes are added based on calculated locations, with data summaries for internal nodes recalculated to optimize search and insertion operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If linked lists are used to store data, then data can be stored in a simple structure, but searching and removing items becomes computationally expensive with linear time complexity

Engineering Contradiction:
Improvedata structure simplicityVSAvoidsearch time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The data structure is segmented into a hierarchical tree format with internal nodes and leaf nodes. Each node contains a data summary (bitset) that segments the search space, allowing parallel evaluation of multiple data items through bitwise operations rather than sequential traversal.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical sequential traversal of linked lists with bitwise logical operations (AND, OR, NOT) on bitsets. This substitution transforms linear-time mechanical searching into parallel bitwise operations that can evaluate multiple items simultaneously, dramatically reducing search time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Device complexity

If linked lists are used to store data, then data storage is simple, but computational resources required for dataset operations increase

Engineering Contradiction:
Improvedata structure simplicityVSAvoidcomputational resource usage
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent replaces computationally expensive sequential comparisons with efficient bitwise operations. Bitset operations can process multiple data items in parallel using single CPU instructions, significantly reducing computational resource usage and energy consumption compared to linear traversal of linked lists.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

Data summaries (bitsets) are pre-calculated and stored with each node during data insertion. This preliminary action allows subsequent search and removal operations to use these pre-computed bitsets for rapid comparison without performing expensive computations during the actual search or removal operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If queue operations are performed frequently, then data processing can be done, but operations get significantly slower as the queue grows in size

Engineering Contradiction:
Improvedata processing throughputVSAvoidoperation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent transitions from a one-dimensional linear queue structure to a multi-dimensional hierarchical tree structure. This dimensional change allows operations to navigate through multiple levels of the tree simultaneously using bitwise operations, effectively processing data in parallel across different dimensions rather than sequentially through a single line.

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

Solution Approach 2:

The patent substitutes sequential queue operations with parallel bitwise operations on bitsets. This substitution maintains high productivity even as data size grows because bitwise operations scale efficiently with data volume, unlike linear queue operations that degrade performance as the queue expands.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Adaptability or versatility

If the same task needs to be performed multiple times, then tasks can be added multiple times to the queue, but finding and removing items becomes less efficient

Engineering Contradiction:
Improvetask repetition capabilityVSAvoiditem removal time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces sequential item-by-item removal operations with parallel bitwise operations. When removing items, the system uses bitwise NOT operations on the item's bitset to efficiently identify and remove all instances of that item simultaneously, regardless of how many times it appears in the dataset.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent pre-calculates and stores unique bitset representations for each distinct data item. This preliminary action enables efficient removal operations by allowing the system to identify all instances of an item through bitwise comparison and remove them in a single operation, rather than searching for and removing each instance sequentially.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11681679B2Systems and methods for performing tree-structured dataset operations
Publication Date: 2023.06.20 ATLASSIAN PTY LTD
  • US11681679B2 patent drawing
  • US11681679B2 patent drawing
  • US11681679B2 patent drawing

AI summary

Described herein is a computer implemented method for inserting a new item to a tree-structured dataset. The method comprises: calculating a new item data summary; generating a new leaf node for storing the new item and the new item data summary; adding the new leaf node to the dataset; and recalculating data summaries for all internal dataset nodes in an update path starting at a parent of the new leaf node and ending at a root node of the dataset. The data summary for a given internal node in the update path is calculated based on data summaries for each of the given internal node's children nodes.