Split Execution Fault Tolerance Using Idle Device Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing fault tolerance methods in applications fail to maintain continuous operation without user intervention when hardware errors occur, leading to inevitable service interruptions.
Innovation Solution
A method and system that utilizes a split execution module to distribute application processes across multiple devices, allowing for automatic failure recovery by switching to idle devices using checkpoints and operation graphs, ensuring seamless continuation of application operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application processes are distributed across multiple devices using a split execution module, then system reliability and availability are improved, but device complexity and management overhead increase
Solution Approach 1:
The application process is segmented into multiple independent sub-processes that can be distributed across different devices. Each sub-process can be executed on separate devices, allowing the system to continue operating even if one device fails. This segmentation enables fault tolerance while maintaining manageable complexity through modular architecture.
Solution Approach 2:
An orchestrator is introduced as an intermediary component that manages the distribution and execution of sub-processes across multiple devices. The orchestrator handles device selection, process allocation, and coordination, simplifying the complexity of distributed process management by centralizing control logic.
2Reliability
If automatic failure recovery is implemented by switching to idle devices, then service interruption is reduced, but the system requires more sophisticated fault tolerance mechanisms
Solution Approach 1:
Idle devices are pre-allocated and prepared in advance before failures occur. When a failure is detected, the system can immediately switch to a pre-prepared idle device without delay. This preliminary preparation enables automatic failure recovery while minimizing the complexity of real-time decision-making during failure events.
Solution Approach 2:
The system implements self-service fault tolerance by automatically detecting failures and switching to idle devices without requiring user intervention. The split execution module monitors device status and autonomously redistributes processes, reducing service interruption while managing the complexity of fault detection and recovery internally.
3Reliability
If checkpoints are stored at regular intervals for failure recovery, then the impact of failures is minimized, but storage requirements and system overhead increase
Solution Approach 1:
Instead of storing complete application states at every possible interval, the system stores selective checkpoints at critical intervals. This partial action approach reduces storage requirements while maintaining sufficient recovery capability. The checkpoints capture essential state information needed for process resumption without unnecessary data overhead.
Data Source
AI summary
Provided is a fault tolerance method which is performed by one or more processors, and which includes receiving an application execute command, executing a main process of an application in response to the execute command, receiving, by a split execution module, information on a plurality of devices associated with the execution of the application from an orchestrator, executing, by the split execution module, a sub-process for each of the plurality of devices using the information on the plurality of devices, and performing, by the split execution module, fault tolerance associated with the execution of the application using an idle device, if a failure occurs in at least some of the plurality of devices.


