Linearized Tree Subtree Range Determination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods lack an efficient way to determine the memory address range of a subtree within a linearized tree of objects, especially after modifications, which is crucial for multiobject garbage collection and requires significant processing overhead or extra storage.
Innovation Solution
A method that traverses the linearized tree in reverse order, checks for modifications, and uses cached results to efficiently determine the end of a subtree, reducing processing time and overhead by avoiding unnecessary traversals and storage of sibling addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional methods are used to determine subtree address range in a modified linearized tree, then accuracy can be maintained, but processing time and computational overhead increase significantly
Solution Approach 1:
The patent stores the right sibling address of each node during the linearization process, before any modifications occur. This preliminary storage of metadata allows the system to quickly determine subtree boundaries later without performing complex traversals or calculations on modified trees, thus maintaining accuracy while reducing processing time.
Solution Approach 2:
The patent creates a copy of the right sibling address information and stores it in a separate metadata structure. This copy can be queried independently without affecting the original linearized tree, enabling fast subtree range determination even when the tree is modified, thus resolving the contradiction between maintaining accuracy and reducing processing time.
2Loss of time
If right sibling addresses are stored for every node to enable fast subtree range determination, then processing time is reduced, but memory usage increases
Solution Approach 1:
The patent stores right sibling address information locally at each node position within the linearized tree structure. This localized storage allows the system to access only the specific metadata needed for a given subtree query, rather than storing or processing entire tree structures, thus reducing overall memory usage while maintaining fast processing.
Solution Approach 2:
The patent divides the tree metadata into discrete units (right sibling addresses stored at each node position). This segmentation allows the system to store minimal information at each location and reconstruct subtree boundaries on-demand, reducing total memory requirements compared to storing complete subtree metadata for every node.
3Adaptability or versatility
If the linearized tree structure is modified to allow dynamic updates, then adaptability improves, but determining original subtree ranges becomes more difficult
Solution Approach 1:
The patent introduces right sibling address metadata as an intermediary layer between the linearized tree structure and the subtree range determination process. This intermediary stores the structural information needed to identify subtree boundaries, allowing the tree to be modified dynamically while the metadata preserves the original structural relationships for accurate range determination.
Solution Approach 2:
The patent captures and stores the right sibling address information during the initial linearization process, before any dynamic modifications occur. This preliminary action preserves the original tree structure information in the metadata, enabling accurate subtree range determination even as the tree undergoes subsequent modifications, thus reducing the complexity of tracking changes.
Data Source
AI summary
A method and computer system for determining the memory address range of a subtree of a linearized tree of objects or the original version of such tree when the tree has been modified or is concurrently being modified by other threads. The primary application of the method is in garbage collection for multiprocessor shared memory computers with very large memories, but it is also relevant for a number of other applications.


