Shared Memory Holder Process for Fast Application Restart
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If large amounts of data are loaded into memory, then in-memory database performance is improved, but memory resource consumption increases
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.
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.
3Loss of time
If shared memory is maintained during restart, then data reload time is reduced, but memory management complexity increases
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.
Data Source
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).


