Software Deployment Mechanism for Offline Installation Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The deployment of software applications in data centers is complex, error-prone, and time-consuming, requiring manual checks and expertise, especially when dealing with multiple versions and subversions of software components like the Java Development Kit (JDK), and existing mechanisms lack alternative installation structures that can be configured before user machines are powered up.

Innovation Solution

A method that detects user-defined requirements for software modules, compares them to capabilities in a software registry, determines candidate hosting modules, filters based on non-hosting requirements, and presents a list of filtered options to users, allowing for complete installation without requiring powered-up user machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual setup is performed by administrators to deploy software applications, then the deployment can be customized according to specific application requirements and data center policies, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improvedeployment accuracyVSAvoidsetup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically detecting software requirements, checking for required modules and packages, and validating deployment configurations before actual deployment occurs. This preliminary validation prevents errors and reduces rework, thereby improving reliability while reducing the time needed during actual deployment operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deployment system performs self-service by automatically detecting software application requirements, identifying necessary modules and packages, and configuring deployment parameters without requiring manual administrator intervention for each check. This automation eliminates human error in requirement detection while significantly reducing setup time.

Inventive Principle:
Principle #25Self-service

2Reliability

If administrators manually check each software application's requirements and configure multiple JDK versions and subversions, then complete and accurate deployment can be achieved, but the complexity and time consumption increase significantly

Engineering Contradiction:
Improvedeployment completenessVSAvoidsetup complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically detecting software requirements, identifying necessary modules and packages, and configuring deployment parameters without requiring manual administrator intervention for each check. This automation eliminates human error in requirement detection while significantly reducing setup time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The deployment mechanism provides universal functionality by handling multiple software applications with different requirements through a single automated system. It can detect various software types, manage multiple JDK versions and subversions, and validate different deployment configurations using the same core mechanism, thereby reducing complexity while maintaining completeness.

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

3Reliability

If existing deployment mechanisms are used that check prerequisites on running user machines, then incomplete deployment can be prevented, but alternative installation structures cannot be configured before user machines are powered up

Engineering Contradiction:
Improvedeployment validationVSAvoidinstallation structure flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by automatically detecting software requirements, checking for required modules and packages, and validating deployment configurations before actual deployment occurs. This preliminary validation prevents errors and reduces rework, thereby improving reliability while reducing the time needed during actual deployment operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of checking prerequisites only on running user machines as in existing mechanisms, this system inverts the approach by enabling configuration and validation of alternative installation structures before user machines are powered up. The deployment mechanism can detect requirements and validate configurations in advance, providing both validation reliability and installation flexibility.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS7681193B2Method and apparatus for providing alternative installation structures for deployment of software applications
Publication Date: 2010.03.16 X CORP
  • US7681193B2 patent drawing
  • US7681193B2 patent drawing
  • US7681193B2 patent drawing

AI summary

A method, an apparatus, and computer instructions are provided for providing alternative installation structures for deployment of software applications. A set of requirements for software modules to be deployed are detected. Based on the hosting requirement, the present invention determines a set of candidate software modules by comparing the hosting requirements to capabilities of software modules in a software registry. Non-hosting requirements are cascaded for validation at a corresponding level. The present invention exposes software modules based on their supported requirement types and filters candidate hosting software modules based on options defined in the non-hosting requirements. Finally, a list of options with a list of candidate software modules is presented for user selection.