Application Virtualization Engine with Look-Aside Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application virtualization methods, such as ThinApp, XenApp, FsLogix Apps, AppVolumes, and Docker, are not effective in cloud environments and fail to efficiently manage duplicate components and user-specific application requirements, leading to performance issues and resource wastage.

Innovation Solution

The proposed solution involves an application virtualization engine that intercepts file and registry key requests, uses a look-aside cache to store retrieved files and keys, and dynamically adjusts filters to provide a virtual view of applications, allowing for zero-copy instantiation and on-demand delivery, thereby reducing bandwidth and storage usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional application virtualization methods are used to achieve application isolation and virtualization, then application encapsulation and mobility are improved, but performance and resource efficiency deteriorate in cloud environments

Engineering Contradiction:
Improveapplication virtualization capabilityVSAvoidapplication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent creates a virtual copy of the file system through a virtual file system filter driver that intercepts and redirects file access requests. This allows applications to operate on a virtualized copy of the file system while the actual file system remains intact, achieving application isolation without performance degradation from traditional virtualization methods.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual file system filter driver acts as an intermediary layer between applications and the underlying file system. It intercepts file access requests, applies virtualization rules, and redirects requests as needed, enabling application virtualization while maintaining efficient file system operations without the overhead of traditional virtualization approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If application virtualization is implemented without a look-aside cache, then system complexity is reduced, but bandwidth and storage usage increase due to duplicate file delivery

Engineering Contradiction:
Improvesystem complexityVSAvoidbandwidth and storage usage
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The look-aside cache pre-stores frequently accessed files and data in memory before they are actually needed by applications. When multiple applications request the same file, it is already available in the cache, eliminating the need to retrieve it repeatedly from storage or network, thus reducing bandwidth and storage usage while maintaining simple system architecture.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If dynamic filtering is not used for file access interception, then system overhead is reduced, but ability to manage user-specific application requirements deteriorates

Engineering Contradiction:
Improvesystem overheadVSAvoiduser-specific application management
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

The virtual file system filter driver applies different filtering rules and redirection behaviors to different applications and users based on their specific requirements. Each application can have its own customized file access patterns and virtual file system views, allowing user-specific application management without imposing uniform system-wide overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11709799B2Content or file based application virtualization using a cache
Publication Date: 2023.07.25 OMNISSA LLC
  • US11709799B2 patent drawing
  • US11709799B2 patent drawing
  • US11709799B2 patent drawing

AI summary

Embodiments provide for application-specific provisioning of files or registry keys. As applications are installed or launched, data is recorded by an application virtualization engine, and an index is created linking the recorded data to both the application and the underlying files or registry keys. As applications are requested (e.g., launched, updated, or the like), the application virtualization engine reveals various copies of file or registry keys to the application on demand or in accordance with a policy.