Dynamic Data Structure Processing for Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata structure flexibilityVSAvoidmemory allocation
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvememory usage efficiencyVSAvoiddata type compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveclaim type representationVSAvoidclass hierarchy complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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

Engineering Contradiction:
Improvedata access speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10467200B1Techniques for dynamic data processing
Publication Date: 2019.11.05 PEGASYSTEMS INC
  • US10467200B1 patent drawing
  • US10467200B1 patent drawing
  • US10467200B1 patent drawing

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.