Version Management Automation for Web Application Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web-based computing systems face challenges in providing a smooth upgrade experience for applications, often requiring users to manage version information and may result in lost features or disrupted workflows during the upgrade process.

Innovation Solution

A method is developed where a server computer system generates version sets for both the installed and upgrade application packages, compares these sets to identify orphaned components, and disables or deactivates them, ensuring a seamless upgrade by maintaining access to essential features and minimizing user intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If automatic version management is implemented, then upgrade smoothness is improved, but system complexity increases

Engineering Contradiction:
Improveupgrade smoothnessVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system performs automatic version management operations including generating version sets, comparing versions, identifying orphaned components, and disabling unused components without requiring user intervention. The upgrade process is automated through server-side execution that independently manages version transitions, thereby improving upgrade smoothness while the automation complexity is encapsulated within the system infrastructure.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Version sets act as an intermediary data structure that mediates between the installed application package and the upgrade package. By introducing version sets as an intermediate representation, the system can compare versions, identify differences, and manage transitions systematically, resolving the contradiction between automated management and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If version comparison and orphaned component identification is automated, then user intervention is minimized, but processing time increases

Engineering Contradiction:
Improveuser intervention requirementVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system generates version sets for both the installed application package and the upgrade package before performing comparisons. By preparing version sets in advance as preliminary data structures, the subsequent comparison and identification of orphaned components can proceed efficiently with minimal user intervention, balancing automation benefits against processing time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all components are maintained during upgrade, then feature completeness is preserved, but system resource usage increases

Engineering Contradiction:
Improvefeature completenessVSAvoidsystem resource usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system identifies and extracts orphaned components through version comparison, separating unused components from the application package. By taking out only the necessary components and disabling or removing orphaned ones, the system maintains feature completeness for active functionality while reducing system resource usage by eliminating unnecessary components.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards orphaned components that are no longer needed in the upgraded version while recovering and preserving components that remain in use. This selective discarding and recovering approach ensures feature completeness for active features while freeing system resources by removing unused components.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11403089B2Version management automation and consistent application builds for different target systems
Publication Date: 2022.08.02 SALESFORCE INC
  • US11403089B2 patent drawing
  • US11403089B2 patent drawing
  • US11403089B2 patent drawing

AI summary

Techniques are disclosed relating to database techniques for storing metadata for web applications. In some embodiments, a server computer system may operate a platform for executing one or more application modules that utilize one or more application components to implement an application. The server computer system may generate a first set of values indicative of versions of a first set of application modules specified by an application package stored on the server computer system for implementing the application. The server computer system may determine a second set of values indicative of versions of a second set of application modules specified by an updated application package for an upgrade of the application. The server computer system disables application components associated with application modules specified in the first, but not the second, set of values.