Application Version Management in Distributed Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a distributed environment, the inconsistent deployment of application program versions across servers can lead to errors and resource inefficiencies, such as insufficient memory, when older versions remain after updating, causing issues with service continuity and performance.
Innovation Solution
A method for seamless application version management involves transmitting version information between application servers and a management server, determining readiness for updates, and managing the deployment and removal of application versions to ensure all servers are updated consistently, with mechanisms for handling failures and unused versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If updated version of application is deployed to servers, then service continuity is maintained, but version inconsistency across servers occurs
Solution Approach 1:
The patent implements a preliminary action by requiring all application servers to report their readiness status to the management server before the actual version update is pushed. The management server collects readiness information from all servers, and only after confirming all servers are ready does it initiate the unified version deployment. This preliminary readiness check ensures that version updates are applied consistently across all servers, preventing version inconsistency while maintaining service continuity.
2Quantity of substance
If older version of application remains after updating, then memory resources are insufficient, but removing old version may cause service interruption
Solution Approach 1:
The patent implements a feedback mechanism where application servers continuously report their operational status and version information to the management server. After a version update is deployed, the management server receives feedback from all servers confirming successful updates before proceeding to remove older versions. This feedback loop ensures that old versions are only removed when all servers have successfully adopted the new version, preventing service interruptions while freeing up memory resources.
Solution Approach 2:
The patent provides a cushioning mechanism by maintaining backup version information and implementing a rollback capability. Before removing older versions, the system ensures that all servers have successfully updated and are operating with the new version. The management server keeps version history and can restore previous versions if needed, providing a safety buffer that protects service reliability while enabling resource management.
3Adaptability or versatility
If application version is updated on each server independently, then deployment flexibility is improved, but version management complexity increases
Solution Approach 1:
The patent merges the version management functions of multiple independent servers into a centralized management server. The management server consolidates version information, readiness status, and deployment control for all application servers. This centralization reduces version management complexity by providing a single point of control, while still allowing flexible deployment to individual servers based on their readiness status and specific requirements.
Data Source
AI summary
According to an exemplary embodiment of the present disclosure, disclosed is a method for seamless application version management in a system including a plurality of application servers. Procedures stored in a computer program for processing the above-mentioned method include: recording service performance related information for every version of a plurality of versions of an application stored in the application server; transmitting at least one of held application version information, the service performance related information for every version, and version information of an application by which the service is being performed to an application management server; transmitting unused version information including version information of an application by which no service is being performed to the application management server when there is no service which is performed by an application of a version which is not a latest version, among the plurality of versions of an application, based on the service performance related information for every version; and receiving a command to remove an unused version from the application management server.


