Shared Memory Session State Persistence for Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveaccess speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If session state information is persisted to external storage, then data persistence is improved, but access speed deteriorates

Engineering Contradiction:
Improvedata persistenceVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If session state is shared across multiple virtual machines, then system reliability is improved, but memory management complexity increases

Engineering Contradiction:
Improvefailover protectionVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

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

4Reliability

If all session state attributes are persisted, then data recovery capability is improved, but resource consumption increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7853698B2Internal persistence of session state information
Publication Date: 2010.12.14 SAP SE
  • US7853698B2 patent drawing
  • US7853698B2 patent drawing
  • US7853698B2 patent drawing

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.