Application State Persistence in Virtual Desktop Rebuilds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in managing and maintaining large-scale data centers, particularly in provisioning, administering, and managing physical computing resources, as well as in providing on-demand access to applications across multiple locations, where application state and scratch data are not persistently stored, leading to loss of application settings when virtual desktop instances are rebuilt.

Innovation Solution

An application fulfillment platform that provides on-demand delivery and management of desktop applications through virtualized computing resources, allowing IT administrators to build and manage application catalogs, deliver applications as virtualized packages, and persist application state and scratch data for seamless re-launching across different virtual desktop instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are delivered through virtualized computing resources with dynamic provisioning, then adaptability and ease of operation are improved, but application state persistence and reliability deteriorate

Engineering Contradiction:
Improveapplication delivery flexibilityVSAvoidapplication state persistence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by capturing application state and scratch data before virtual desktop instances are destroyed or rebuilt. The application fulfillment platform intercepts write operations to storage devices, captures the state at predetermined points in time, and stores it for later restoration, ensuring continuity despite dynamic provisioning

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The application fulfillment platform acts as an intermediary between applications and storage devices. It intercepts write operations, captures state data, and manages the persistence of application state across virtual desktop instances, solving the reliability issue without compromising delivery flexibility

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If applications are reinstalled on different virtual desktop instances, then adaptability is improved, but loss of application state and settings occurs

Engineering Contradiction:
Improvecross-instance access capabilityVSAvoidapplication settings
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

Before a virtual desktop instance is destroyed or rebuilt, the system captures application state and scratch data at predetermined points in time. This preliminary capture ensures that when the application is relaunched on a different instance, the state information is already available for restoration

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of application state and scratch data from destroyed virtual desktop instances and restores them to new instances. This copying mechanism enables users to access applications across different virtual desktop instances while retaining their settings and state

Inventive Principle:
Principle #26Copying

3Ease of operation

If scratch data is stored locally on virtual desktop instances, then ease of operation is improved, but data loss occurs when instances are rebuilt

Engineering Contradiction:
Improvelocal data access speedVSAvoidscratch data
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The system performs preliminary capture of scratch data at predetermined points in time before virtual desktop instances are destroyed. This ensures that scratch data is preserved and can be restored to new instances, preventing data loss while maintaining local access speed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10761826B2Dynamic reconstruction of application state upon application re-launch
Publication Date: 2020.09.01 AMAZON TECH INC
  • US10761826B2 patent drawing
  • US10761826B2 patent drawing
  • US10761826B2 patent drawing

AI summary

A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or scratch data that is generated by an application executing on the computing resource instance to a secure location on service provider storage resources. After a machine failure or change, or a rebuilding of a virtualized computing resource instance or virtual desktop instance, an application delivery agent installed on the new machine or instance may reinstall the application, retrieve the stored application state or scratch data from service provider resources, and restore the application to the last known persisted state. Upon request, the application delivery agent may restore the application to any earlier persisted state.