Version Management Automation for Web Application Upgrades
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Ease of operation
If automatic version management is implemented, then upgrade smoothness is improved, but system complexity increases
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.
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.
2Ease of operation
If version comparison and orphaned component identification is automated, then user intervention is minimized, but processing time increases
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.
3Reliability
If all components are maintained during upgrade, then feature completeness is preserved, but system resource usage increases
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.
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.
Data Source
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.


