Transparent Multi-Process Application Replication via Interception
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fault-tolerant systems, especially in commodity computer systems and standard applications, face challenges in providing transparent and consistent replication of multi-process multi-threaded applications across commodity operating systems and hardware, often requiring modifications and lacking real-time recovery capabilities.
Innovation Solution
The implementation of a leader-follower strategy with a messaging system that keeps a backup application in virtual lock-step with the primary application, using interceptors and sequence numbering to ensure replica consistency without modifying the application, and working on commodity operating systems like Windows and Linux with standard hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If application replication is implemented on commodity systems without modifications, then ease of operation is improved, but reliability is worsened due to lack of fault tolerance
Solution Approach 1:
The patent introduces an intermediary replication layer that sits between the application and the operating system. This intermediary captures system calls and messages from the primary application and forwards them to the backup application, enabling fault tolerance without requiring modifications to the application itself or the underlying commodity operating system.
Solution Approach 2:
The patent creates a complete copy of the application running on a backup server, maintaining identical state through message interception and forwarding. This copying approach allows the backup to take over seamlessly in case of primary failure, providing reliability while keeping the original application unchanged for ease of operation.
2Ease of manufacture
If transparent replication is implemented without application modifications, then ease of manufacture is improved, but manufacturing precision is worsened due to difficulty in ensuring replica consistency
Solution Approach 1:
The patent performs preliminary actions by intercepting system calls and messages before they are processed by the application. By capturing and forwarding these calls in advance, the system ensures that the backup application receives identical inputs in the same sequence, maintaining replica consistency without requiring complex synchronization mechanisms or application modifications.
Solution Approach 2:
The patent implements a feedback mechanism where the primary application's system calls and messages are continuously monitored and forwarded to the backup. This real-time feedback loop ensures that the backup remains synchronized with the primary, maintaining manufacturing precision (replica consistency) while keeping the system easy to manufacture (no application modifications required).
3Adaptability or versatility
If multi-process multi-threaded application replication is implemented, then adaptability is improved, but device complexity is worsened
Solution Approach 1:
The patent creates a universal replication mechanism that works with any multi-process multi-threaded application on commodity operating systems. The interception layer is designed to be application-agnostic, capturing system calls and messages regardless of the specific application architecture, thereby providing high adaptability without requiring complex application-specific replication logic.
Solution Approach 2:
The patent replaces complex mechanical synchronization mechanisms with a message-forwarding approach. Instead of implementing complex inter-process and inter-thread synchronization protocols, the system simply intercepts and forwards system calls and messages in sequence, significantly reducing device complexity while maintaining adaptability to various application types.
4Reliability
If real-time fault detection and failover is implemented, then reliability is improved, but loss of time is worsened due to recovery time
Solution Approach 1:
The patent performs preliminary actions by continuously maintaining a synchronized backup application ready to take over immediately upon primary failure. The backup is kept in lockstep with the primary through message interception, so when failover is needed, the transition is rapid with minimal recovery time, thus reducing loss of time while maintaining high reliability.
Solution Approach 2:
The patent creates a complete operational copy of the application on the backup server, not just a static backup. This active copying approach allows the backup to be immediately operational upon failover, eliminating lengthy recovery procedures and reducing loss of time while ensuring reliability through real-time fault detection and seamless failover.
Data Source
AI summary
A system, method, and computer readable medium for consistent and transparent replication of multi process multi threaded applications. 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. Replica consistency between primary application and its replicas is provided by imposing the execution ordering of the primary on all its replicas. The execution ordering on a primary is captured by intercepting calls to the operating system and libraries, sending replication messages to its replicas, and using interception on the replicas to enforce said captured primary execution order. Replication consistency is provided without requiring modifications to the application, operating system or libraries.


