Memory Centric Database Architecture for Java Object Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Java runtime environments lack the capability to store data objects persistently, and existing database architectures are inefficient for flash memory, requiring new approaches for object management, indexing, and transaction models to leverage the speed and persistence of non-volatile flash memory.

Innovation Solution

A new memory-centric database architecture using persistent non-volatile flash memory, optimized for the Java programming language, which includes an all-flash compiler and runtime environment that allows direct storage and management of objects in flash memory, employs bean annotations for object persistence, and utilizes indexing structures like B-trees and inverted indexes for efficient object retrieval and deletion, along with a different transaction model for atomic operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional Java runtime environments store objects in volatile memory (RAM), then objects can be automatically cleared and memory freed through garbage collection, but data cannot be stored persistently and requires different management for flash memory

Engineering Contradiction:
Improvedata persistenceVSAvoidobject management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent changes the fundamental parameter of memory volatility by implementing a persistent object store that maintains objects in flash memory across application shutdowns, transforming the transient nature of traditional Java objects into persistent storage while maintaining Java object model compatibility

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The persistent object store acts as an intermediary layer between Java applications and flash memory, providing Java-style object management interfaces while handling the underlying flash memory operations, thus shielding applications from flash-specific management complexities

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If databases serialize objects into table structures using dedicated server products, then transactional consistency and query capabilities are provided, but significant overhead on CPU and internal memory occurs

Engineering Contradiction:
Improvetransactional consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the object management functionality directly into the Java runtime environment itself, eliminating the need for external database server products and their associated serialization/deserialization overhead, while maintaining transactional capabilities through integrated persistent object store operations

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical serialization/deserialization process with direct object storage and retrieval in the persistent object store, eliminating the need to convert Java objects into database table structures and back, thus significantly reducing CPU overhead and improving processing speed

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If flash memory is used for persistent storage, then storage costs are reduced and speed increases, but affirmative action is required to delete objects and free memory

Engineering Contradiction:
Improvestorage speedVSAvoidmemory management
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The persistent object store implements automatic garbage collection that monitors object references and automatically reclaims space from unreferenced objects, making the memory management process self-service and transparent to applications, thus eliminating the need for manual deletion operations

Inventive Principle:
Principle #25Self-service

4Loss of time

If traditional indexing approaches are used for volatile memory, then object retrieval is efficient, but finding objects in persistent memory requires different approaches

Engineering Contradiction:
Improveobject retrieval timeVSAvoidindexing approach compatibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal indexing system that functions effectively for both volatile and persistent memory, using the same object reference mechanisms and search algorithms across different storage media, thus maintaining compatibility and efficiency without requiring separate indexing approaches

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

Data Source

PatentUS10049041B2Memory centric database architecture
Publication Date: 2018.08.14 EMC IP HLDG CO LLC
  • US10049041B2 patent drawing
  • US10049041B2 patent drawing
  • US10049041B2 patent drawing

AI summary

A system and method for Java object storage and retrieval in a non-volatile all flash memory database. Bean annotations define the attributes of objects and object classes that are created using a Java compiler in an all flash Java runtime environment. Object indexes are created based upon these attributes, and a Java object query language using the indexes is employed to locate objects in the all flash memory database. A new transactional model is provided for managing objects and memory in the all flash memory database, and a new garbage collector deletes objects and reclaims memory.