Bundle-Aware Application Configuration Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face challenges in configuring complex application programs due to the large volume and complexity of configuration files, which leads to lengthy development cycles and errors, especially when interacting with diverse resources from multiple sources.

Innovation Solution

A computer system with a configuration unit that divides application programs into bundles, determines bundle environments, selects relevant configuration conventions, and automatically generates a system configuration to ensure correct execution with library resources, reducing the need for manual configuration and handling conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual configuration files are used to define application-program interactions with computer-system resources, then the application can be configured to execute correctly, but the development and deployment cycles become very lengthy and errors occur

Engineering Contradiction:
Improvestability and reliability of computer systemsVSAvoiddevelopment and deployment cycles
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs automatic configuration by having the computer system itself generate and apply configuration data based on resource dependencies, eliminating the need for manual configuration file creation and reducing human error in the process

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system determines resource dependencies and generates configuration data before the application executes, performing the configuration work in advance during the deployment phase rather than requiring manual setup during development

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If configuration files are used to define application interactions with resources from multiple sources, then the application can support diverse environments, but the volume and complexity of configuration required increases

Engineering Contradiction:
Improveability to support diverse environmentsVSAvoidvolume and complexity of configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the configuration process by determining resource dependencies for each bundle individually and generating configuration data based on specific dependency relationships, rather than managing a single large configuration file

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary configuration mechanism that automatically determines resource dependencies and generates appropriate configuration data, mediating between the application bundles and the diverse computer system resources

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If configuration is distributed among many different parts of the application, then the application can be modularized into bundles, but the complexity of managing and coordinating configuration increases

Engineering Contradiction:
Improvemodularization into bundlesVSAvoidcomplexity of managing configuration
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system provides a universal configuration mechanism that works across all bundles regardless of their specific resource dependencies, using a consistent process of dependency determination and configuration generation for each bundle

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8805804B2Configuring an application program in a computer system
Publication Date: 2014.08.12 VMWARE INC
  • US8805804B2 patent drawing
  • US8805804B2 patent drawing
  • US8805804B2 patent drawing

AI summary

A computer system which configures an application program to execute with one or more resources is disclosed. The computer system includes a configuration unit to configure the application program for deployment into a runtime execution environment. The application program is divided into a plurality of bundles and the configuration unit examines the bundles individually to determine a bundle environment for each bundle based on dependencies of that bundle on the one or more resources. The configuration unit selects one or more conventions, which provide templates of configuration for a relevant resource, according to the determined bundle environment, and the configuration unit automatically generates a system configuration from the selected conventions and adds the generated system configuration to the application program, whereby the dependencies of the application program upon the resources are configured based on at least the automatically generated system configuration.