Distributed Application Fault Tolerance With 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 for fault tolerance that utilizes a split execution module to identify device failures, generate sub-processes on idle devices, and execute fault tolerance using checkpoints and operation graphs to restore application continuity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the application is restarted by applying regularly stored checkpoints to other devices when a hardware error occurs, then the application can resume execution, but service interruption still occurs because user intervention is required to reset the device
Solution Approach 1:
The system prepares standby devices and pre-configures sub-processes before failures occur. When a device fails, the orchestrator automatically activates pre-prepared sub-processes on standby devices, eliminating the need for user intervention in device reset procedures.
Solution Approach 2:
The fault tolerance system performs self-healing by automatically detecting device failures, transferring sub-processes to standby devices, and resuming execution without requiring user intervention. The system manages its own fault recovery through automated orchestration.
2Reliability
If the application is run in a distributed environment with tasks distributed to multiple computers, then availability and reliability improve, but device complexity and coordination overhead increase
Solution Approach 1:
The orchestrator serves as an intermediary that manages the complexity of distributed system coordination. It handles device registration, sub-process distribution, failure detection, and automatic recovery, thereby simplifying the overall system architecture while maintaining high reliability through distributed execution.
3Reliability
If checkpoints are stored at regular intervals to minimize failure impact, then recovery capability is improved, but storage requirements and processing overhead increase
Solution Approach 1:
The application execution is divided into multiple sub-processes that can be independently managed and transferred. Instead of storing complete application state checkpoints, the system segments the workload into transferable sub-process units, reducing the storage and processing overhead associated with traditional checkpointing while maintaining recovery capability.
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.


