Virtual Machine State Management for Network Interruption Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing desktop virtualization systems face issues with lost network connections, leading to user frustration and productivity loss due to the inability to quickly resume sessions after connectivity is restored, resulting in buffered data loss and potential file transfer failures.

Innovation Solution

Implementing a method to suspend virtualized applications on a server when a connection with the client is lost and automatically resume them upon re-establishment of the connection, using techniques such as storing application states in memory or on disk, and employing Wake-On-LAN to quickly restore operations without requiring users to re-enter credentials.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system continues to run software on the remote computer during network connectivity loss, then the software remains ready to execute, but outgoing data buffers quickly fill causing file transfer failures and video content display failures

Engineering Contradiction:
Improvesoftware execution readinessVSAvoidbuffered data loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by suspending the virtual machine upon detecting network connectivity loss, preventing buffer overflow before it occurs. The VM state is preserved and can be quickly restored when connectivity returns, avoiding data loss while maintaining execution readiness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the VM state based on network connectivity conditions. When connectivity is lost, the VM transitions to a suspended state; when connectivity is restored, the VM automatically resumes. This dynamic state management prevents buffer overflow while maintaining software execution readiness.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the system deletes session data after a longer period without connectivity, then storage space is freed, but users must re-enter credentials and re-establish sessions causing user frustration and productivity loss

Engineering Contradiction:
Improvestorage spaceVSAvoiduser productivity
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary action by preserving VM state information instead of deleting it, even after extended connectivity loss. This allows users to automatically resume their sessions without re-entering credentials, maintaining productivity while managing storage resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by preserving session state and enabling automatic resumption. The VM state is kept intact across connectivity interruptions, allowing users to seamlessly continue their work without re-authentication, thus maintaining productivity throughout the extended period.

Inventive Principle:
Principle #20Continuity of useful action

3Extent of automation

If the system waits for a predetermined time to re-establish connection, then automatic reconnection attempts are made, but buffered data fills causing transfer failures and video content failures

Engineering Contradiction:
Improveautomatic reconnectionVSAvoidbuffer overflow
Core Design Contradiction:
Extent of automationVSLoss of information

Solution Approach 1:

The system takes preliminary action by suspending the VM immediately upon detecting connectivity loss, before the predetermined wait period begins. This prevents buffer overflow during the automatic reconnection attempt period, while still maintaining automated reconnection functionality when connectivity is restored.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically responds to connectivity restoration by automatically resuming the VM when the connection is re-established. This dynamic behavior combines automated reconnection with buffer overflow prevention, as the VM is suspended during connectivity loss and automatically resumed when connectivity returns.

Inventive Principle:
Principle #15Dynamics

4Loss of information

If the system suspends virtualized applications upon connection loss, then data loss is prevented, but re-establishing connection requires user intervention and credential re-entry

Engineering Contradiction:
Improvedata preservationVSAvoidreconnection ease
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The system implements self-service by automatically resuming the VM when connectivity is restored, without requiring user intervention or credential re-entry. The VM state is preserved during connectivity loss and automatically restored when the connection returns, maintaining both data preservation and ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11552869B2Robust suspension and resumption of desktop virtualization
Publication Date: 2023.01.10 CITRIX SYSTEMS INC
  • US11552869B2 patent drawing
  • US11552869B2 patent drawing
  • US11552869B2 patent drawing

AI summary

A method for suspending and resuming a connection for desktop virtualization between two computing devices. In response to a client computing device shutting down, suspending, hibernating, or losing network connectivity during virtualization, the server computing device may itself shut down, suspend, or hibernate, or may pause or suspend the operation of one or more applications currently hosted by the server computing device. The server may detect that connectivity has been restored and resume operation of hosted applications. Alternatively, the client may transmit a command to the server indicating that the client is ready to resume virtualization. The client may also be configured to transmit a command that may cause the server to resume a powered-on state after the server was shut down or in a state of hibernation.