Application Version Management in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice continuityVSAvoidversion consistency
Core Design Contradiction:
Duration of action of stationary objectVSStability of the object's composition

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.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If older version of application remains after updating, then memory resources are insufficient, but removing old version may cause service interruption

Engineering Contradiction:
Improvememory resourcesVSAvoidservice reliability
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If application version is updated on each server independently, then deployment flexibility is improved, but version management complexity increases

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidversion management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10489148B1Unnecessary resource recognition and release plan in application hot deploy on distributed system
Publication Date: 2019.11.26 TMAXSOFT
  • US10489148B1 patent drawing
  • US10489148B1 patent drawing
  • US10489148B1 patent drawing

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.