Application State Persistence in Virtual Desktop Rebuilds
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Adaptability or versatility
If applications are reinstalled on different virtual desktop instances, then adaptability is improved, but loss of application state and settings occurs
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
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
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
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
Data Source
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.


