Live-Migration and Automated Recovery in Distributed Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions for managing multiple applications on a cluster of servers fail to effectively address redundancy and load-balancing issues in high-latency networked systems, as they either incur significant costs, impose performance overhead, or are limited by geographical constraints and the risk of data corruption.
Innovation Solution
A server configured to operate in either a master or slave role, capable of autonomously switching roles between applications, with logic for replicating data and detecting events to manage redundancy and load balancing across a cluster, using a filesystem mount handler and snapshot replicator to maintain data consistency and balance load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtualisation is used to replicate every change in memory and system state to a second physical host, then application recovery capability is improved, but system cost and resource requirements worsen
Solution Approach 1:
The patent uses copying by replicating only the necessary application state data to standby servers rather than copying entire virtual machine states. This selective copying approach maintains recovery capability while significantly reducing resource overhead and system complexity compared to full virtualisation-based replication.
Solution Approach 2:
The patent extracts only the essential application state information needed for recovery, separating it from the complete system state. This extraction principle allows the system to maintain recovery capability without the overhead of replicating entire virtual machine environments, thereby reducing resource requirements.
2Productivity
If manual intervention is used to move applications between servers during load spikes, then resource utilisation can be adjusted, but recovery time worsens
Solution Approach 1:
The patent implements self-service by enabling servers to automatically detect load conditions and autonomously migrate applications to appropriate target servers without manual intervention. This automated self-service mechanism maintains optimal resource utilisation while significantly reducing recovery time compared to manual processes.
Solution Approach 2:
The system employs feedback mechanisms where servers continuously monitor load conditions and automatically trigger application migration when thresholds are exceeded. This closed-loop feedback control enables dynamic resource adjustment while maintaining rapid response times without human intervention.
3Stability of the object's composition
If operation-system level constraints are applied to isolate high-load applications, then system stability is improved, but application availability worsens
Solution Approach 1:
The patent extracts high-load applications from their original servers and relocates them to dedicated servers designed to handle such loads. This extraction prevents stability issues on origin servers while maintaining application availability through purpose-built hosting environments, avoiding the need for constraining applications that would degrade their performance.
Solution Approach 2:
The system segments the server infrastructure into different functional categories, with specific servers dedicated to handling high-load applications. This segmentation allows unstable high-load applications to be isolated on appropriate platforms without affecting overall system stability, while maintaining their availability through dedicated hosting.
4Productivity
If shared storage backend is used in classical cluster architecture, then load distribution is improved, but system cost and single point of failure risk worsen
Solution Approach 1:
The patent extracts the shared storage dependency from the cluster architecture, allowing servers to access application state data through direct replication rather than through a shared storage backend. This extraction eliminates the single point of failure represented by shared storage while maintaining load distribution capabilities through replicated data access.
Solution Approach 2:
Instead of relying on shared storage for data access, the patent uses copying to replicate application state data across multiple servers. This copying approach enables load distribution through data redundancy while eliminating the need for expensive shared storage infrastructure and removing the associated single point of failure.
5Stability of the object's composition
If complex solutions like quorum, fencing or STONITH are implemented to prevent split-brain problem, then data consistency is improved, but device complexity and operational cost worsen
Solution Approach 1:
The patent uses copying with version tracking to maintain data consistency across servers without requiring complex quorum or fencing mechanisms. Each server maintains copies of application state with version information, allowing automatic consistency resolution through version comparison rather than through expensive and complex coordination protocols.
Solution Approach 2:
The system implements self-service data consistency through automatic version tracking and conflict resolution at each server. Servers autonomously manage their own data copies and resolve inconsistencies through built-in version control mechanisms, eliminating the need for external quorum systems, fencing, or STONITH procedures.
Data Source
AI summary
A method and apparatus for distribution of applications amongst a number of servers, ensuring that changes to application data on a master for that application are asynchronously replicated to a number of slaves for that application. Servers may be located in geographically diverse locations; the invention permits data replication over high-latency and lossy network connections and failure-tolerance under hardware and network failure conditions. Access to applications is mediated by a distributed protocol handler which allows any request for any application to be addressed to any server, and which, when working in tandem with the replication system, pauses connections momentarily to allow seamless, consistent live-migration of applications and their state between servers. Additionally, a system which controls the aforementioned live-migration based on dynamic measurement of load generated by each application and the topological preferences of each application, in order to automatically keep servers at an optimum utilisation level.


