Shared Memory Holder Process for Fast Application Restart

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database management systems face significant downtime and performance issues during restarts due to the time-consuming process of loading data from non-volatile storage into memory, which can be exacerbated by the need to reload large amounts of data.

Innovation Solution

The use of shared memory to maintain data during application restarts, where data is stored in primary memory and associated with a holder process, allowing it to be re-associated with the application upon restart without being freed to the operating system, and checked for usability and consistency using checksums.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is loaded from non-volatile storage into memory during restart, then data durability is ensured, but restart time increases significantly

Engineering Contradiction:
Improvedata durabilityVSAvoidrestart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-loading data into shared memory before the application actually needs it. The shared memory is allocated and populated with data from non-volatile storage in advance, so when the application restarts, the data is already available in memory, eliminating the need for time-consuming data loading during restart.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses shared memory as an intermediary between non-volatile storage and the application. Instead of directly loading data from storage to application memory during restart, the system uses shared memory as a buffer that holds data ready for quick access, mediating the data transfer process and reducing restart time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If large amounts of data are loaded into memory, then in-memory database performance is improved, but memory resource consumption increases

Engineering Contradiction:
Improvedatabase performanceVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent makes memory resources universal by using shared memory that can be allocated dynamically based on demand. The shared memory serves multiple purposes: it acts as a cache for frequently accessed data, a buffer for data in transit, and can be reallocated to different applications as needed. This multi-functionality allows the system to maintain high performance with more efficient memory utilization.

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

Solution Approach 2:

The patent applies dynamics by making the memory allocation flexible and adaptive. Rather than statically allocating large amounts of memory, the system dynamically allocates shared memory based on actual data access patterns and application needs, allowing memory resources to be optimized for current workloads while maintaining performance.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If shared memory is maintained during restart, then data reload time is reduced, but memory management complexity increases

Engineering Contradiction:
Improvedata reload timeVSAvoidmemory management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing automatic validation and management of shared memory content. The system automatically checks data integrity, validates checksums, and manages the lifecycle of shared memory allocations without requiring manual intervention. This automation reduces the perceived complexity for users while maintaining the benefits of shared memory persistence across restarts.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11137911B2Fast restart of applications using shared memory
Publication Date: 2021.10.05 SAP SE
  • US11137911B2 patent drawing
  • US11137911B2 patent drawing
  • US11137911B2 patent drawing

AI summary

Technologies are described for restarting an application while maintaining data in memory (e.g., using shared memory). For example, shared memory can be associated with an application. The shared memory can also be associated with a holder process to maintain the shared memory from the time the application stops to the time the application starts again. When the application starts, the shared memory can be associated with the started application. In addition, restart of in-memory databases can be provided using shared memory. For example, in-memory data can be maintained when a database process or database management system stops and starts (e.g., during a restart).