Shared Memory Session State Persistence for Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems lack efficient persistence of session state information in shared memory, leading to potential service disruptions and crashes when virtual machines handle concurrent application threads, resulting in significant losses during crashes.
Innovation Solution
Implementing a method where session state information is persisted in shared memory using shared closures, allowing multiple virtual machines to access and share session data, and utilizing a persistence storage interface to manage session state attributes efficiently, ensuring failover protection and reducing the impact of virtual machine crashes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If session state information is stored in volatile system memory, then access speed is improved, but data loss occurs when the virtual machine crashes
Solution Approach 1:
The patent introduces shared memory as an intermediary layer between volatile system memory and persistent storage. Session state information is first stored in shared memory (which persists across VM crashes), and can be quickly accessed when needed. This mediator resolves the contradiction by providing both fast access characteristics of memory and persistence characteristics of non-volatile storage.
Solution Approach 2:
The patent performs preliminary action by persisting session state information to shared memory before the virtual machine crashes. This ensures that even if the VM crashes, the session state is already preserved in a location that survives the crash, eliminating data loss while maintaining fast access capabilities.
2Reliability
If session state information is persisted to external storage, then data persistence is improved, but access speed deteriorates
Solution Approach 1:
Shared memory serves as an intermediary that combines the persistence of external storage with the speed of internal memory. By storing session state in shared memory rather than traditional external storage, the system achieves both data persistence across VM crashes and fast access speeds comparable to volatile memory.
3Reliability
If session state is shared across multiple virtual machines, then system reliability is improved, but memory management complexity increases
Solution Approach 1:
The patent segments session state information into individual attributes that can be independently managed and accessed. Each attribute can be selectively persisted to or retrieved from shared memory, simplifying the management of shared session state across multiple virtual machines while maintaining failover protection.
Solution Approach 2:
The shared memory mechanism provides universal access to session state information across multiple virtual machines, enabling any VM to pick up where another left off. This multi-functional approach simplifies failover management while maintaining system reliability.
4Reliability
If all session state attributes are persisted, then data recovery capability is improved, but resource consumption increases
Solution Approach 1:
The patent segments session state into individual attributes that can be selectively persisted. Only attributes that need to be recovered after a crash are persisted to shared memory, while others remain in volatile memory. This selective persistence improves data recovery capability for critical attributes without the resource overhead of persisting all session state data.
Solution Approach 2:
The system changes the persistence parameter from binary (all or nothing) to granular (selective attributes). By controlling which attributes are persisted based on their importance and size, the system optimizes the balance between data recovery capability and resource consumption.
Data Source
AI summary
A method is described for a computing system with multiple virtual machines that does not support persistence of session information in a shared memory that is internal to the computing system and that is accessible to each of the virtual machines. The method involves receiving a deployment descriptor that specifies a persistence scope that does not extend beyond the computing system. Then, as a consequence of the receiving, a plug-in is instantiated for the computing system's file system. The, over the course of a session, managing the persistence of the session's session state information in the computing system's file system by, with program code provided by the plug-in, translating a first command that is not specific to the file system into a second command that is specific to the file system. The session state information comprises a plurality of attributes. The command causes a process to be performed The process is selected from the group consisting of: storing in the file system one of the attributes; and, retrieving from the file system one of the attributes.


