Event-Driven Live Migration of Multi-Process Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fault-tolerant systems face challenges in ensuring continuous operation of applications across commodity operating systems and hardware, particularly in migrating applications from a primary server to a backup in response to both external events and faults, with existing solutions often requiring extensive customization and resulting in prolonged downtime.
Innovation Solution
A system and method for transparent and consistent application replication using a leader-follower strategy with a messaging system that ensures replica consistency, allowing for live migration of applications between primary and backup servers, even in the event of faults, without requiring modifications to the application, and utilizing a reliable messaging protocol for ordered and reliable delivery of messages over UDP or TCP.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If application replication is implemented on commodity operating systems and hardware, then adaptability and versatility are improved, but reliability and consistency of replica operation deteriorate
Solution Approach 1:
The patent introduces an intermediary layer (virtualization layer or software interface) between the commodity hardware/OS and the application replication mechanism. This intermediary abstracts the underlying system differences and provides a standardized interface for ensuring replica consistency, allowing the system to maintain reliability while running on diverse commodity platforms without requiring application customization
2Ease of operation
If live migration is implemented without application customization, then ease of operation is improved, but manufacturing precision and control over migration timing deteriorate
Solution Approach 1:
The patent implements preliminary actions by establishing replication relationships and synchronizing state between primary and backup applications before migration is needed. Checkpointing mechanisms capture application state in advance, and the backup is kept in a ready-to-takeover state, enabling seamless live migration without requiring precise timing control during the actual migration event
Solution Approach 2:
The system employs event-driven mechanisms where the replication and migration process is self-regulating through monitored events and triggers. The application state is automatically synchronized and the failover is triggered by events (such as primary failure or migration requests) without requiring external coordination, maintaining both ease of operation and timing precision
3Reliability
If fault recovery mechanisms are implemented, then reliability is improved, but loss of time due to failover and synchronization deteriorates
Solution Approach 1:
The patent implements preliminary synchronization and checkpointing mechanisms that continuously maintain the backup application in a near-real-time state before failures occur. By pre-synchronizing state and keeping the backup ready, the system minimizes the time lost during actual failover, achieving both high reliability and minimal downtime
Solution Approach 2:
The system maintains continuous replication and synchronization between primary and backup applications, ensuring that the backup is always in a usable state. This continuous action eliminates idle time during failover, as the backup can immediately take over without requiring re-synchronization, thus reducing loss of time while maintaining reliability
Data Source
AI summary
A system, method, and computer readable medium for asynchronous live migration of applications between two or more servers. The computer readable medium includes computer-executable instructions for execution by a processing system. Primary applications runs on primary hosts and one or more replicated instances of each primary application run on one or more backup hosts. Asynchronous live migration is provided through a combination of process replication, logging, barrier synchronization, checkpointing, reliable messaging and message playback. The live migration is transparent to the application and requires no modification to the application, operating system, networking stack or libraries.


