Virtual Application Deployment Configurations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual application deployment methods require manual identification and configuration of settings for each application instance, which can be time-consuming and invalidates testing when deployed to different environments, as settings are often tied to specific machines or users.

Innovation Solution

Automatically discovering configuration items during packaging and allowing their settings to be edited and applied during deployment, enabling a single package to be instantiated with different configurations across various environments without repackaging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual identification and configuration of settings is performed for each application instance, then configuration accuracy is improved, but deployment time and complexity increase significantly

Engineering Contradiction:
Improveconfiguration accuracyVSAvoiddeployment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by automatically discovering and configuring all necessary settings during the packaging phase before deployment. Configuration items are identified, default values are assigned, and deployment configurations are generated in advance, eliminating the need for manual configuration during deployment and significantly reducing deployment time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies self-service by enabling automatic discovery of configuration items through scanning application binaries and metadata, automatically generating deployment configurations with appropriate default values, and allowing the virtual application to self-configure during instantiation without requiring manual intervention, thus resolving the contradiction between accuracy and time consumption.

Inventive Principle:
Principle #25Self-service

2Reliability

If configuration settings are tied to specific machines or users during packaging, then application reliability is improved, but adaptability to different environments deteriorates

Engineering Contradiction:
Improveapplication reliabilityVSAvoidenvironmental adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments configuration into two distinct parts: environment-independent configuration items (discovered during packaging) and environment-specific settings (applied during deployment). This segmentation allows the core application package to remain universal and reliable across environments, while environment-specific configurations are applied separately to ensure adaptability to different target environments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies parameter changes by dynamically adjusting configuration values based on the target environment during deployment. The deployment configuration contains parameters that can be modified for different environments (such as server names, database connections, file paths) while maintaining the core application functionality, thus achieving both reliability through consistent core behavior and adaptability through environment-specific parameter adjustments.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If configuration items are automatically discovered during packaging, then deployment complexity is reduced, but configuration precision for specific environments may deteriorate

Engineering Contradiction:
Improvedeployment complexityVSAvoidconfiguration precision
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by performing automatic discovery of configuration items during packaging to reduce deployment complexity, while simultaneously preparing the groundwork for precise environment-specific configuration during deployment. The system discovers all potential configuration items in advance, categorizes them, and prepares default configurations that can be precisely adjusted for specific environments without increasing deployment complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deployment configuration file serves as an intermediary between automatic discovery and environment-specific precision. It captures all discovered configuration items with default values from automatic discovery, then allows precise environment-specific values to be specified in this intermediate representation before final application, thus maintaining both low deployment complexity and high configuration precision.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10318263B2Virtual software application deployment configurations
Publication Date: 2019.06.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10318263B2 patent drawing
  • US10318263B2 patent drawing
  • US10318263B2 patent drawing

AI summary

Configuration items for a software application can be automatically and/or manually discovered, and the application can be packaged to form a virtual application package. A deployment configuration can include settings for the configuration items. The deployment configuration can be set after packaging the software application. For example, a selected configuration item in the deployment configuration may be changed in response to user input. The virtual application package can be deployed to instantiate the application one or more times, and the deployment configuration can be applied in the instantiated application.