VM Session State Preservation via Hypervisor Memory Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stateful network storage protocols face disruptions and increased complexity due to server failures, leading to loss of session information and client downtime, as current systems require extensive memory and time for server reboot and reinitialization.

Innovation Solution

Implementing a hypervisor-based virtual machine (VM) architecture where a passive clone VM is pre-initialized and shares memory with an active VM, allowing seamless takeover in case of failure, preserving session state and minimizing downtime by quickly assuming the active role and responding to client requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a stateful storage protocol is implemented on a physical server, then session state information can be maintained for client access, but the system suffers from service disruption and downtime when server failure occurs due to reboot and reinitialization requirements

Engineering Contradiction:
Improvestorage service availabilityVSAvoidreboot and reinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A passive clone virtual machine is pre-initialized with all necessary session state information and storage protocol configurations before any failure occurs. This clone VM remains in a standby state with memory pages shared with the active VM, so that upon active VM failure, the clone can immediately activate and resume service without requiring reboot or reinitialization, thus eliminating downtime

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a clone virtual machine that replicates the active VM's session state and configuration. The clone VM shares memory pages with the active VM through the hypervisor, maintaining an identical operational state. When failure occurs, the clone becomes the new active instance, preserving all session information and avoiding the need for reinitialization

Inventive Principle:
Principle #26Copying

2Loss of information

If session state information is maintained in memory on a physical server, then client sessions can be preserved, but the memory consumption and system complexity increase significantly

Engineering Contradiction:
Improvesession state preservationVSAvoidmemory management complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The active VM and passive clone VM share the same memory pages through the hypervisor's memory management. Instead of duplicating entire memory spaces, the system merges the memory resources so that both VMs reference the same physical memory pages. This allows the passive clone to have session state information available without consuming additional memory resources, reducing overall memory consumption while maintaining session preservation capability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared memory pages serve multiple functions: they store the active VM's running state, provide session information to the passive clone for failover, and enable both VMs to access the same data structures. This multi-functional use of memory reduces the need for separate memory allocations and simplifies memory management

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

3Reliability

If a passive clone VM is pre-initialized and shares memory with the active VM, then seamless failover can be achieved, but the device complexity and resource requirements increase

Engineering Contradiction:
Improvesession continuityVSAvoidvirtual machine management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hypervisor acts as an intermediary layer between the active VM and passive clone VM, managing memory sharing, CPU allocation, and failover coordination. The hypervisor handles the complexity of maintaining shared memory pages, managing virtual hardware resources, and orchestrating the activation sequence, thereby simplifying the overall system architecture while enabling seamless failover

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9600315B2Seamless takeover of a stateful protocol session in a virtual machine environment
Publication Date: 2017.03.21 NETAPP INC
  • US9600315B2 patent drawing
  • US9600315B2 patent drawing
  • US9600315B2 patent drawing

AI summary

The disclosed technique uses virtual machines in solving a problem of persistent state for storage protocols. The technique provides for seamless, persistent, storage protocol session state management on a server, for higher availability. A first virtual server is operated in an active role in a host system to serve a client, by using a stateful protocol between the first virtual server and the client. A second, substantially identical virtual server is maintained in a passive role. In response to a predetermined event, the second virtual server takes over for the first virtual server, while preserving state for a pending client request sent to the first virtual server in the stateful protocol. The method can further include causing the second virtual server to respond to the request before a timeout which is specific to the stateful protocol can occur.