Multipathing Code Rewinding for Error-Resilient Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Maintaining resilience and availability of computing systems is challenging due to minor errors that can cause shutdowns and system downtime, especially in critical processes, and conventional error management methodologies are inadequate against recurring errors.
Innovation Solution
Implementing a multipathing manager that dynamically switches between code-paths in response to errors, identifying strategic breakpoints, and using redundancy to ensure continuous operation by rewinding to a previous breakpoint and initiating an alternate code-path.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error management methodologies are used, then system simplicity is maintained, but system reliability deteriorates due to shutdowns and downtime from minor errors
Solution Approach 1:
The code execution path is segmented into multiple alternative paths at strategic breakpoints. When an error occurs in one path, the system can switch to another segment (code path) that may not have the error, thereby improving reliability without requiring complete system redundancy
Solution Approach 2:
The system dynamically selects which code path to execute based on real-time error detection. The multipathing manager monitors execution and can switch between alternative code paths during runtime, allowing the system to adapt to errors dynamically and maintain availability
2Reliability
If multiple code-paths are implemented for redundancy, then system reliability improves, but device complexity increases
Solution Approach 1:
Instead of implementing complete duplicate systems, the code is segmented into multiple paths only at critical breakpoints where errors occur. This selective segmentation provides redundancy only where needed, reducing overall complexity compared to full system duplication
Solution Approach 2:
A multipathing manager acts as an intermediary component that handles the complexity of managing multiple code paths. This mediator abstracts the complexity from the application code, allowing developers to focus on business logic while the multipathing manager handles path selection and switching
3Reliability
If error checking is performed in production environment, then system reliability improves, but productivity decreases due to potential outages
Solution Approach 1:
Instead of treating errors as harmful events that stop execution, the system converts error detection into a beneficial feature. When errors are detected, they trigger automatic path switching to alternative code that may not have the error, turning potential outages into opportunities to maintain continuous operation
Solution Approach 2:
The multipathing capability ensures continuous execution of useful work by providing alternative code paths that can take over when errors occur in the current path. This eliminates interruptions and maintains productivity while still performing thorough error checking
Data Source
AI summary
A computer-implemented method provides rewinding and switching to a new code-path after an error in a preferred code-path. The method includes identifying a first error during execution of an application. The method further includes determining, in response to the first error, a previous breakpoint in a first code-path of the application prior to the location of the first error. The method also includes rewinding the application from the first error to the previous breakpoint. The method includes initiating, in response to the rewinding, a second code-path available at the previous breakpoint. Further aspects of the present disclosure are directed to systems and computer program products containing functionality consistent with the method described above.


