Proxy Object Data Access for Derived Value Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face inefficiencies in calculating and updating derived data values, particularly when underlying data changes, leading to resource wastage and incorrect calculations due to the order of dependency between derived data objects.
Innovation Solution
Implementing a system where derived data objects calculate their values in a predecessor-to-successor manner, ensuring synchronization only when requested, and updating only when necessary, using lock objects to manage validity and synchronization across dependent objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If derived data values are calculated and stored in advance, then network, data store, and processing bandwidth costs are reduced, but the system must update stored values when underlying data changes and may waste resources calculating values that are never used
Solution Approach 1:
The system pre-calculates derived data values and stores them before they are needed, eliminating the need to recalculate when they are requested. This preliminary action reduces the computational burden and network traffic during actual usage, directly addressing the energy loss reduction goal while managing update complexity through version control mechanisms
Solution Approach 2:
The system implements a feedback mechanism where changes to underlying data automatically trigger updates to dependent derived data values. The version number increments and propagation logic ensure that only necessary derived values are updated, balancing the trade-off between maintaining data accuracy and managing update complexity
2Productivity
If derived data objects are synchronized with predecessors only when requested, then resource consumption is reduced, but data consistency may be compromised if underlying data changes
Solution Approach 1:
The system performs preliminary synchronization of derived data objects with their predecessors before actual usage occurs. By pre-fetching and caching data at appropriate times, the system ensures data consistency is maintained without requiring continuous synchronization, thus improving resource efficiency while preserving reliability
Solution Approach 2:
Derived data objects automatically monitor and detect changes in their predecessor objects, triggering self-synchronization when necessary. This self-service mechanism ensures data consistency is maintained proactively without external intervention, balancing resource consumption with reliability requirements
3Measurement precision
If stored derived data values are updated when underlying data changes, then data accuracy is maintained, but resources are consumed to calculate values that may never be used
Solution Approach 1:
The system applies partial updates to derived data values based on change propagation analysis. Instead of updating all derived values whenever underlying data changes, the system selectively updates only those values that are actually dependent on the changed data and will be used, reducing unnecessary processing while maintaining accuracy for relevant data
Solution Approach 2:
The system uses feedback from version number changes to determine whether derived data values need updating. By monitoring version increments in predecessor objects and propagating changes only when necessary, the system maintains derived data accuracy while avoiding wasted processing on values that won't be used
4Measurement precision
If derived data objects are calculated in a specific order based on dependency, then calculation accuracy is ensured, but processing time increases due to sequential computation
Solution Approach 1:
The system segments the calculation process into independent batches based on dependency levels. By dividing derived data objects into groups that can be calculated in parallel while maintaining proper ordering within each group, the system preserves calculation accuracy through structured segmentation while reducing overall processing time through concurrent execution
Data Source
AI summary
Some embodiments provide a system including a database, two or more data access objects, and a proxy object. In some such embodiments, each data access object has exclusive access privileges to a subset of data within the database. Further each object includes one or more of a read method that provides access to data and a write method that causes data to be stored. In such embodiments, the proxy object accesses data via data access object methods and includes a valuate method, the execution of which causes data to be passed from a data access object to the proxy object.


