Dynamic Data Structure Processing for Memory Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data structure processing methods require unnecessary memory allocation for all data elements, even if not all elements are used, due to fixed definitions that do not account for varying data types in instances, leading to inefficiencies in storage and memory usage.
Innovation Solution
A computer-implemented method that dynamically allocates storage for data elements based on current context and usage, where dynamic data elements are only accessed and retrieved when referenced, using associations that specify data access criteria evaluated at the time of reference, allowing for efficient storage and retrieval of only needed data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all data items are allocated in the data structure definition to ensure completeness for all possible claim types, then the data structure can handle any claim type, but memory is wasted allocating space for data items that are not used in each specific instance
Solution Approach 1:
The data structure is segmented into two distinct parts: a fixed portion containing common data items applicable to all claim types, and a variable portion containing claim-type-specific data items. This segmentation allows the system to allocate memory efficiently by only including the fixed portion in every instance while loading the variable portion selectively based on the specific claim type being processed.
Solution Approach 2:
The data structure implementation transitions from a static allocation model to a dynamic loading model. The fixed data items are allocated in memory by default, while variable data items are loaded dynamically only when needed based on the current claim type context, allowing the structure to adapt its memory footprint to actual usage requirements.
2Quantity of substance
If a union of data items is used to store different data items in shared memory, then memory space is optimized, but only one item can be used at a time and the structure cannot accommodate multiple data types simultaneously
Solution Approach 1:
Rather than using a union that forces mutual exclusion, the invention segments data items into a fixed portion and a variable portion. The variable portion can contain multiple different data types simultaneously, each accessible based on the current claim type context, eliminating the limitation of union-based approaches while maintaining memory efficiency.
3Adaptability or versatility
If inheritance models with complex class hierarchies are used to account for variations in structures, then different claim types can be represented accurately, but the class definitions become complex and require storage allocation for all common and additional data items
Solution Approach 1:
The invention extracts the variability aspect of data structures into a separate loading mechanism. Instead of encoding all variations in complex class hierarchies, the system uses a simplified base structure and loads additional type-specific data items dynamically based on context, reducing class definition complexity while maintaining the ability to represent different claim types accurately.
4Speed
If data is loaded into memory when a data structure instance is referenced, then all data items are immediately available for processing, but unnecessary data items consume memory even though they are not used
Solution Approach 1:
The system performs preliminary allocation of the fixed data portion in memory, ensuring immediate availability of common data items. The variable data portion is prepared for selective loading based on the specific claim type context, balancing between having data ready for fast access and avoiding unnecessary memory consumption by loading only what is needed for the current operation.
Data Source
AI summary
Described are techniques for processing an instance of a data structure. A request to process an instance of a data structure at a first point in time is received. At least one of the data elements in the data structure is a dynamic data element that uses an association specifying how to access data for the dynamic data element in accordance with criteria evaluated using a current context determined at a point in time. In response to receiving the request, first processing is performed including determining whether the dynamic data element is referenced at the first point in time, and, if so, evaluating the criteria using a current context determined at the first point in time, and retrieving data for the dynamic data element in accordance with a current context determined at the first point in time.


