Application Version Gatekeeping in Distributed Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, managing multiple applications and service instances during upgrades can lead to inconsistencies, as different service instances may run different versions, causing issues like application crashes and user experience problems.
Innovation Solution
A computer system with a configuration agent, failover manager, and cluster manager ensures only one version of an application is active by maintaining a service instance version table, generating queries to determine the appropriate version to activate, and managing service instance upgrades, ensuring consistency across the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple service instances are upgraded independently in parallel, then upgrade speed and productivity are improved, but version inconsistencies and system reliability deteriorate
Solution Approach 1:
The system performs preliminary actions by checking the current active service instance version before initiating any upgrade. The configuration agent queries the active version and uses this information to coordinate the upgrade process, ensuring that all service instances transition to the same new version rather than upgrading independently and potentially creating version inconsistencies.
Solution Approach 2:
The system implements feedback mechanisms where service instances report their version status to the configuration agent, which maintains knowledge of the active version. This feedback loop allows the system to monitor and enforce version consistency across all service instances during the upgrade process, preventing reliability deterioration while maintaining high productivity.
2Adaptability or versatility
If service instances can activate any version independently, then system adaptability and ease of operation are improved, but version control and system reliability worsen
Solution Approach 1:
The configuration agent acts as an intermediary between service instances and version information. Instead of allowing service instances to independently determine their version (which would provide flexibility but harm version control), the configuration agent mediates by querying the active version and directing all service instances to use the correct version, thus maintaining both controlled adaptability and reliability.
Solution Approach 2:
The configuration agent serves multiple functions: it queries the active service instance version, maintains the version table, directs service instance activation, and coordinates upgrades. This multi-functional approach allows the system to maintain version control while still enabling service instances to activate appropriately, balancing reliability with operational flexibility.
Data Source
AI summary
Embodiments are directed to ensuring that only one version of an application is running on a cluster. In one scenario, a computer system includes a configuration agent that generates service instance version queries upon startup to determine which service instance version to activate, maintains a service instance version table that includes a listing of service instance versions currently running on the computer system as part of one or more application instances and activates specified service instances. The computer system also includes a failover manager that manages service instance version queries. The failover manager indicates which service instance version to activate to ensure that the appropriate, current version is activated for each service instance. The computer system further includes a cluster manager that creates, deletes and upgrades service instances as part of an application instance upgrade.


