Range Tree Data Storage for Spreadsheet Cell Coordinate Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage and retrieval systems face inefficiencies when handling large numbers of interdependent data entries across different documents, databases, and geographical locations, leading to slow propagation of changes due to high computational overhead in recalculating formulas and updating dependencies.

Innovation Solution

A data storage and retrieval system utilizing a Range Tree (RTree) structure in computer memory, where nodes contain minimum bounding rectangles (MBRs) encompassing cells from different columns, allowing for efficient identification and loading of relevant nodes for search operations, and employing dependency graphs for parallel processing of formulas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional data storage systems are used to handle large numbers of interdependent data entries across different documents and databases, then data propagation and formula recalculation can be performed, but the processing speed becomes very slow due to high computational overhead

Engineering Contradiction:
Improvedata propagation speedVSAvoidcomputational overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the data storage system into multiple independent data structures including dependency graphs, position maps, and value maps. Each data structure handles a specific aspect of data management, allowing parallel processing and reducing the computational overhead of managing interdependent data entries across documents and databases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization of data by implementing a position map that maps cell positions to data locations and a dependency graph that adds a temporal dimension to track formula dependencies. This multi-dimensional approach enables efficient navigation and recalculation by organizing data in spatial and dependency-based dimensions rather than traditional linear storage.

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

2Productivity

If all nodes are loaded into memory for search operations in a Range Tree structure, then search and retrieval operations can be performed, but memory usage increases significantly

Engineering Contradiction:
Improvesearch and retrieval speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies preliminary action by pre-building the Range Tree data structure with organized minimum bounding rectangles and pre-computing position maps that map cell positions to data locations. This preliminary organization allows the system to load only necessary nodes into memory during search operations rather than loading all nodes, thus maintaining fast search performance while reducing memory usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the necessary portions of the Range Tree into memory by implementing a position map that identifies and loads only the relevant nodes required for a specific search operation. This selective extraction approach maintains fast retrieval speeds by keeping essential data in memory while leaving non-essential data on disk or in external storage.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If formulas are recalculated sequentially to maintain dependencies among data entries, then accuracy is maintained, but processing time increases significantly

Engineering Contradiction:
Improveformula recalculation accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamics by using a dependency graph that dynamically tracks formula dependencies and enables the system to determine the optimal recalculation order. This dynamic approach allows the system to recalculate formulas in parallel when dependencies permit, maintaining accuracy by respecting dependency constraints while significantly reducing processing time through parallel execution of independent formula recalculations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of formula recalculation from sequential to parallel by implementing a dependency-aware scheduling system. The dependency graph allows the system to identify independent formula groups that can be recalculated simultaneously, changing the recalculation parameter from time-sequential to space-parallel while maintaining accuracy through dependency constraint enforcement.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10769361B2Data storage and retrieval system and method for storing cell coordinates in a computer memory
Publication Date: 2020.09.08 WORKIVA INC
  • US10769361B2 patent drawing
  • US10769361B2 patent drawing
  • US10769361B2 patent drawing

AI summary

In an embodiment, a data storage and retrieval system includes a computing device that configures the computer memory according to an RTree (a type of logic tree) representing a structure of a spreadsheet. The computer memory may be internal to or external to the computing device. In an embodiment, the RTree has a plurality of nodes, at least some of which contain one or more minimum bounding rectangles. Each minimum bounding rectangle (“MBR”) encompasses cells of the spreadsheet from a different one of a plurality of columns of the spreadsheet, but does not encompass cells of any of the other columns of the plurality of columns. A node of the RTree may hold multiple MBRs or a single MBR.