Reference Map Normalization for In-Memory Data Grids

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory data grids face inefficiencies due to recurring instances of reference data across multiple object instances, leading to significant memory usage and performance impacts from distributed data access across interconnected Java Virtual Machines (JVMs).

Innovation Solution

Applying normalization techniques to identify and create a reference map for reference data, replicating this map across all partitions of the in-memory data grid, and updating object fields to reference the map, allowing for efficient access and storage of reference data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If reference data is stored in each object instance across multiple partitions, then data access is simplified and fast, but memory usage increases significantly due to redundant storage

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

Solution Approach 1:

The patent extracts reference data from individual object instances and centralizes it in a separate reference map structure. This allows objects to reference the centralized data rather than containing copies, reducing memory usage while maintaining fast access through the reference map.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges all reference data into a single centralized reference map that is shared across all partitions. This consolidation eliminates redundant storage of identical reference data across multiple object instances while maintaining accessibility through the unified reference map.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If reference data is replicated across all partitions, then data availability and access speed improve, but memory consumption increases due to redundant copies

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent introduces a reference map as an intermediary layer between object instances and reference data. This reference map serves as a centralized mediator that all partitions can access, ensuring data availability without requiring each partition to maintain redundant copies of the reference data.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If normalization techniques are applied to create a reference map, then memory efficiency and scalability improve, but system complexity increases due to additional data structures

Engineering Contradiction:
Improvesystem efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal reference map structure that serves multiple functions: storing reference data, providing centralized access across partitions, and enabling efficient memory utilization. This multi-functional approach consolidates what would otherwise require multiple separate mechanisms into a single unified structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9244630B2Identifying and accessing reference data in an in-memory data grid
Publication Date: 2016.01.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9244630B2 patent drawing
  • US9244630B2 patent drawing
  • US9244630B2 patent drawing

AI summary

Embodiments relate to providing normalization techniques for reference data in an in-memory data grid. An aspect includes monitoring object creation and access in an in-memory data grid and identifying reference data in an object field of a plurality of object instances. A reference map for the object field is created and the reference map is replicated across all partitions of the in-memory data grid. The reference data of an embodiment is stored in the reference map and the object field is updated to identify the reference map. Accordingly, the reference data may be accessed using the created reference map.