Streaming Virtual Disk for Fast Virtual Application Launching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual application deployment methods face challenges due to incompatibilities between applications sharing resources, leading to costly and time-consuming compatibility testing, as one application's requirements may overwrite another's, causing malfunctions or crashes.

Innovation Solution

A sparsely populated streaming virtual disk is used to enable fast launching of virtual applications by downloading only the necessary blocks on demand, with authentication and verification through hash trees, allowing each application to have its own version of shared resources, eliminating the need for extensive compatibility testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If applications share configuration elements and resources on the same device, then deployment complexity is reduced, but compatibility problems arise causing applications to malfunction or crash

Engineering Contradiction:
Improvedeployment complexityVSAvoidapplication compatibility
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent segments shared resources into application-specific isolated copies. Each virtual application receives its own dedicated configuration elements, registry entries, and dynamic link libraries, eliminating conflicts between applications while maintaining ease of deployment through centralized virtual application packaging and distribution.

Inventive Principle:
Principle #1Segmentation

2Reliability

If application-specific copies of shared resources are created, then application compatibility is ensured, but deployment time and costs increase due to extensive compatibility testing

Engineering Contradiction:
Improveapplication compatibilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-configuring application-specific resource copies within the virtual application package before deployment. Compatibility is ensured in advance through the virtualization packaging process, eliminating the need for time-consuming post-deployment compatibility testing and validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates application-specific copies of shared resources as part of the virtual application package. These copies are prepared in advance during virtualization, ensuring compatibility without requiring extensive testing during deployment. The copying process is automated and integrated into the virtual application creation workflow.

Inventive Principle:
Principle #26Copying

3Reliability

If complete virtual application files are downloaded before launching, then application launch reliability is ensured, but deployment speed is reduced

Engineering Contradiction:
Improvelaunch reliabilityVSAvoiddeployment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary action by pre-configuring and validating the virtual application package structure, including creating application-specific resource copies and establishing file relationships, before deployment. This preliminary preparation ensures launch reliability while enabling faster deployment since the validation work is completed in advance rather than during the download and launch process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8005851B2Streaming virtual disk for virtual applications
Publication Date: 2011.08.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8005851B2 patent drawing
  • US8005851B2 patent drawing
  • US8005851B2 patent drawing

AI summary

A sparsely populated, streaming virtual disk may be used with a virtual application to enable fast launching of a virtual application from a network server. The virtual disk may be configured and populated in blocks, enabling those blocks that are used at a particular time to be downloaded and stored in the virtual disk. As other blocks are requested by the virtual application, those blocks may be fetched from the network server. Each block may be validated using a hash tree or some other function so that the recipient may verify authenticity and completeness. In some embodiments, a virtual application may be configured and deployed as a single file, enabling simple version control among other things.