Application Containers for VDI via Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application delivery in virtual desktop infrastructure (VDI) using application storage volumes (ASVs) faces performance issues due to limited data access speeds, particularly in cloud-based deployments where ASVs are stored on network shares, leading to significant latency and diminished application performance.

Innovation Solution

The solution involves prefetching application data blocks during the ASV capture process by monitoring file access patterns and recording them in a manifest, allowing for caching of frequently used blocks before application launch, thereby reducing the need for network access and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If ASVs are stored on network shares in cloud-based VDI deployments, then centralized storage and management is achieved, but data access speed decreases and application performance deteriorates

Engineering Contradiction:
Improvecentralized storage and managementVSAvoiddata access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by prefetching application data blocks from the ASV to the VM's cache memory before the application is actually launched or before data is needed. This advance preparation ensures that when applications need to access data, it is already available in fast local memory rather than requiring slow network access to the centrally stored ASV.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If ASVs are located remotely from VMs and accessed over network connections, then centralized application delivery is enabled, but latency increases and application performance diminishes

Engineering Contradiction:
Improvecentralized application deliveryVSAvoidlatency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system prefetches application data blocks from the remotely located ASV to the VM's cache memory in advance, before the application actually needs the data. This preliminary action eliminates or reduces the latency that would otherwise occur when applications need to access data over the network during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The VM's cache memory acts as an intermediary between the remotely located ASV and the application. Instead of applications directly accessing data over the network from the remote ASV, they access data from the local cache, which is populated in advance from the remote ASV, thus mediating the slow network access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If application data is accessed from network-shared ASVs during runtime, then centralized storage is utilized, but network bandwidth consumption increases and performance suffers

Engineering Contradiction:
Improvedata availabilityVSAvoidapplication runtime performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system prefetches application data blocks from the ASV to the VM's cache memory before the application is launched or before data is needed during runtime. This advance preparation ensures that when applications need to access data, it is already available in fast local memory rather than requiring slow network access to the centrally stored ASV.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10936352B2High performance application delivery to VDI desktops using attachable application containers
Publication Date: 2021.03.02 OMNISSA LLC
  • US10936352B2 patent drawing
  • US10936352B2 patent drawing
  • US10936352B2 patent drawing

AI summary

A system is described for high-performance delivery of applications via attachable application storage volumes (ASV), particularly in cloud-based VDI environments, by precaching application data that is determined by learning the application behavior. Data blocks for files that are likely to be used by the application are prefetched and cached by virtual machines before the application requests those blocks so that the relevant data is instantly available in memory when required without needing to wait for the data to be transmitted from the ASV. In order to efficiently prefetch content, the read pattern for application files and their corresponding blocks is inspected. This information is used during application delivery after a user logs onto the virtual machine to selectively prefetch those blocks from the ASVs. As a result, when the user launches those applications, the system avoids the performance penalty of reading those blocks from the ASV.