Concurrent Hierarchical Data Aggregation via Multi-Value Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for rolling data up a hierarchy in computer systems do not allow multiple processes to access and update data simultaneously, leading to increased latency and complexity due to exclusive control requirements, which results in stale data and inefficient processing.
Innovation Solution
The method allows concurrent access to a data hierarchy by relaxing the constraint of a single primary key, enabling multiple values for a single primary key and adding an aggregation step to handle multiple values, ensuring that only the most recent processes' data is aggregated, thus reducing the size of the dataset for querying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive control is implemented to maintain data consistency during hierarchical data updates, then data consistency is ensured, but processing speed and system throughput deteriorate due to blocking other processes
Solution Approach 1:
The patent segments the data structure by allowing multiple values (versions) to coexist for a single primary key instead of requiring a single exclusive value. This segmentation of the value space enables concurrent processes to access and modify different versions of the same data without blocking each other, while consistency is maintained through aggregation operations that combine multiple values when needed.
Solution Approach 2:
The patent changes the parameter constraint from 'single value per primary key' to 'multiple values per primary key'. This parameter change allows the system to store multiple versions or instances of data associated with the same primary key, enabling concurrent access patterns where multiple processes can read and write different versions simultaneously without requiring exclusive locks.
2Productivity
If multiple processes are allowed to access and update hierarchical data concurrently, then processing throughput improves, but data consistency and correctness deteriorate without exclusive control mechanisms
Solution Approach 1:
The patent implements a feedback mechanism where the system automatically detects when multiple values exist for a single primary key and triggers an aggregation operation to combine them. This feedback loop ensures that concurrent modifications are properly reconciled, maintaining data consistency without requiring preemptive exclusive control. The aggregation step combines multiple values (e.g., through addition, merging, or other combination operations) to produce a consistent final state.
3Measurement precision
If exclusive control is required for data rollup operations, then data accuracy is maintained, but system latency increases due to process blocking
Solution Approach 1:
The patent performs preliminary actions by allowing multiple values to be accumulated and stored concurrently without immediate aggregation. Instead of requiring exclusive control at the time of each update, the system preliminarily stores multiple versions and performs aggregation only when a read operation requires a consolidated view or when explicitly triggered. This preliminary accumulation approach eliminates blocking latency while ensuring accuracy when data is actually needed.
Data Source
AI summary
Methods, systems, and computer-readable storage mediums are presented for aggregating multiple values for an object using database rows. Each value added to the database for the object may include a same primary key and a unique sequence key. This allows multiple values to be added for an object concurrently by simply adding additional rows to the database table. After values have been added, a process can identify multiple rows having the same primary key and aggregate the values stored in those rows together into a single database row having the primary key. This can be done as part of a garbage-collection routine or in response to other processes attempting to add additional values for the object.


