Reference Element Dependency Graph for Spreadsheet Recalculation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face significant delays when propagating changes among interdependent data entries, especially when the number of entries and interdependencies are high and span across different documents and servers, leading to slow recalculations and updates.
Innovation Solution
A computing device maintains dependencies among reference elements by using an interval-based dependency graph and range tree to group and reevaluate formulas sequentially, allowing for parallel processing across multiple processor cores, thereby optimizing recalculation speed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If changes are propagated sequentially through all interdependent data entries, then dependency tracking is complete and accurate, but the propagation time increases significantly
Solution Approach 1:
The patent segments the dependency graph into multiple levels based on the depth of dependencies. By dividing the propagation task into level-based segments, the system can process dependencies in parallel across different levels while maintaining accurate tracking of all interdependencies, thus reducing overall propagation time without sacrificing reliability.
Solution Approach 2:
The patent performs preliminary actions by pre-calculating and storing dependency levels and propagation orders before actual changes occur. This allows the system to prepare the propagation path in advance, enabling faster execution during actual change propagation while ensuring all dependencies are properly tracked.
2Reliability
If all reference elements are reevaluated sequentially, then complete recalculation is ensured, but the recalculation speed decreases
Solution Approach 1:
The patent segments reference elements into groups based on their dependency levels, allowing parallel reevaluation of elements within the same level while maintaining the correct evaluation order across levels. This segmentation enables complete recalculation with improved speed through parallel processing.
Solution Approach 2:
The patent implements dynamic reevaluation strategies where the system adjusts the reevaluation process based on actual dependency changes. By making the reevaluation process adaptive and flexible, the system can optimize between completeness and speed based on the specific circumstances of each recalculation scenario.
3Adaptability or versatility
If dependency tracking is performed across multiple documents and servers, then comprehensive data propagation is achieved, but system complexity increases
Solution Approach 1:
The patent creates a universal dependency tracking mechanism that works across multiple documents, servers, and geographical locations using a unified approach. The same core algorithms and data structures handle local and distributed dependencies, allowing the system to maintain comprehensive propagation capability without proportionally increasing complexity.
Solution Approach 2:
The patent introduces intermediary components such as dependency graphs and propagation managers that act as mediators between different documents and servers. These intermediaries simplify the complexity by providing a standardized interface and abstraction layer, making it easier to manage and propagate dependencies across distributed systems.
Data Source
AI summary
The disclosure is generally directed to a method and computing device for maintaining dependencies among multiple reference elements (e.g., formulas of a table or spreadsheet). In various embodiments, prior to a reevaluation operation carried out on the reference elements, a computing device receives an input of a reference element via a user interface (e.g., receives a user's input of a formula), assigns the reference element to a group based on the dependency between the reference element and one or more other reference elements, and assigns the reference element to a location within a dependency graph to which the other reference elements are assigned. In response to an event that requires at least one of the reference elements to be reevaluated, the computing device reevaluates each group of reference elements in sequence a group at a time.


