External Agent for Monolithic Application Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing high availability services for monolithic applications requires additional development or restructuring, particularly for failover and file synchronization logic, which is burdensome and often not modularly designed for distributed computing.
Innovation Solution
An external high availability services agent is introduced that monitors and controls monolithic applications, providing start, stop, and kill functionality, and synchronizes configuration files across instances, allowing for failover without modifying the existing application architecture.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If failover and file synchronization logic is implemented within monolithic applications, then high availability is achieved, but development complexity and restructuring burden increase
Solution Approach 1:
The patent extracts failover and file synchronization logic from monolithic applications and places them in external agent processes. The agent monitors application health, manages failover to backup instances, and synchronizes configuration files across instances, eliminating the need to modify application code and reducing development complexity while maintaining high availability
Solution Approach 2:
The patent introduces an agent as an intermediary component that mediates between monolithic applications and the failover/synchronization functionality. The agent acts as a separate process that communicates with applications and manages high availability operations, allowing applications to remain unchanged while still achieving failover capability
2Reliability
If monolithic applications are designed for distributed computing with failover capability, then high availability is achieved, but application architecture must be modified
Solution Approach 1:
The patent removes the requirement to modify application architecture by extracting failover management to an external agent. The agent handles instance monitoring, failover initiation, and configuration synchronization, allowing monolithic applications to be deployed as-is without architectural changes while still achieving distributed failover capability
Solution Approach 2:
The patent segments high availability functionality into a separate agent process that operates independently from the monolithic application. This segmentation allows the application and the failover management to be developed, deployed, and maintained separately, easing the deployment process
3Reliability
If configuration files are not synchronized across instances, then deployment is simpler, but failover instances may not function correctly
Solution Approach 1:
The patent uses the agent as an intermediary to automatically synchronize configuration files between the primary application instance and backup instances. The agent monitors configuration changes and distributes them across instances, ensuring failover instances have the correct configuration without requiring complex manual synchronization processes
Data Source
AI summary
To eliminate additional development for monolithic applications, the high availability services are externalized from the application and performed by an agent executing alongside an application on a server or computing device. The agent is provided resources for verifying that an application is active and for controlling the application. The agent can use the provided resources to initialize a failover instance of the application as needed. Additionally, the agent can communicate and broadcast the status of its monitored application(s) to other agents through a shared database so that an agent on another server can initialize a failover instance of the application as needed. The agent can synchronize configuration files among the one or more instances of an application so that the application executes uniformly across all instances. The file synchronization is performed externally from the application and does not require additional development or modification of the existing monolithic application.


