Declarative Multi-Artifact Software Installation via vSolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software installation processes for cloud-based applications are inefficient and error-prone due to the need for individualized installer executables, which require developers to handle various configurations and increase the likelihood of errors, as each application must be re-implemented from scratch.

Innovation Solution

A declarative multi-artefact software installation approach using a vSolution packaging format that organizes artefacts by content type and employs a universal installation procedure with dedicated handlers, eliminating the need for a dedicated installer executable and allowing software developers to create installation packages without writing installation code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each software application has its own individually programmed installer executable, then the installation can be customized for each application, but the system becomes error-prone and time-consuming due to re-implementing installation code from scratch

Engineering Contradiction:
Improveinstallation customizationVSAvoiderror rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a universal installer executable that can install multiple different software applications by reading a manifest file that describes the application components and installation requirements. This eliminates the need for separate installer code for each application while maintaining customization through the manifest configuration.

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

Solution Approach 2:

Instead of writing installation code from scratch for each application, the system uses a template-based approach where the universal installer is copied and configured through manifest files. The manifest acts as a template that describes what needs to be installed, allowing the same installer binary to handle different applications without modification.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If each software application has its own individually programmed installer executable, then the installation can be tailored to specific requirements, but the development time and complexity increase significantly

Engineering Contradiction:
Improveinstallation tailoringVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

A single universal installer executable is designed to handle multiple different software applications by interpreting manifest files. This eliminates the repetitive task of writing separate installer code for each application, significantly reducing development time while still allowing tailoring of installation parameters through the manifest configuration.

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

Solution Approach 2:

The installation logic is extracted from the application-specific code and placed into a separate universal installer. The application-specific configuration is extracted into manifest files, separating the universal installation mechanism from the specific application requirements and eliminating redundant coding.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If developers write individual installer executables for each application, then specific installation logic can be implemented, but the system becomes complex and difficult to maintain

Engineering Contradiction:
Improveinstallation logic implementationVSAvoidsystem complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system uses a single universal installer that implements a standardized interface for installing applications. The complexity of installation logic is centralized in the universal installer, while application-specific details are abstracted into manifest files, reducing overall system complexity and making it easier to maintain.

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

Solution Approach 2:

The installation system is segmented into three distinct parts: the universal installer executable, the manifest configuration files, and the application components. This segmentation separates the universal installation logic from application-specific details, making the system easier to manufacture, maintain, and extend.

Inventive Principle:
Principle #1Segmentation

4Productivity

If a universal installation procedure is used for all applications, then development efficiency improves, but the ability to handle diverse installation requirements may be compromised

Engineering Contradiction:
Improveinstallation development efficiencyVSAvoidinstallation requirement handling
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The universal installer is designed with the capability to handle diverse installation requirements through the manifest file mechanism. The installer reads the manifest to understand what components need to be installed, their dependencies, and specific configuration requirements, allowing a single universal installer to adapt to different application needs without sacrificing versatility.

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

Solution Approach 2:

The system changes parameters such as installation location, component selection, and configuration settings based on the manifest file contents. The universal installer dynamically adjusts its behavior according to the manifest parameters, enabling it to handle diverse installation requirements while maintaining a single unified codebase.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10809994B1Declarative multi-artefact software installation
Publication Date: 2020.10.20 SAP SE
  • US10809994B1 patent drawing
  • US10809994B1 patent drawing
  • US10809994B1 patent drawing

AI summary

In an example embodiment, a solution is used to provide for a highly efficient application installer. A software packaging format, known as vSolution, is provided that allows software developers to ship multiple artefacts of different types in a single container. Unlike traditional mechanisms, this container does not contain a dedicated installer executable or any sort of installation routine. Rather, the container format encourages a declarative approach to describe what an installation routine should perform, via the organization of the artefacts based on content type and using a naming convention.