Multipathing Source Code Execution for System Resilience
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional exception handling mechanisms in computer systems become less reliable when repeatedly encountering the same errors along the same execution path, and are inadequate for unanticipated or unknown errors, which can lead to catastrophic failures in core systems requiring high resilience and reliability.
Innovation Solution
Generating multiple execution paths during the compilation process by using different compilers, optimization settings, or rearranging logically independent code segments, allowing the system to switch to an alternative path if an error occurs, thereby ensuring uninterrupted operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional exception handling mechanisms are used, then anticipated errors can be handled, but reliability decreases when encountering repeated or unanticipated errors
Solution Approach 1:
The patent divides the software task into multiple independent segments or paths during compilation. When an error occurs in one segment, the system can switch to executing a different segment, thereby maintaining reliability while adapting to various error conditions without requiring traditional exception handling for each scenario.
Solution Approach 2:
The system dynamically selects which segment of compiled code to execute based on runtime conditions and error detection. This dynamic switching capability allows the system to adapt its execution path in real-time, improving both reliability and adaptability to unanticipated errors compared to static exception handling.
2Reliability
If multiple execution paths are generated during compilation, then system resilience improves, but device complexity increases
Solution Approach 1:
The source code is segmented into multiple independent paths during the compilation process. Each path represents an alternative execution sequence that can be selected based on error conditions. This segmentation approach improves resilience by providing alternatives while managing complexity through automated compilation-time generation rather than manual implementation.
Solution Approach 2:
Multiple execution paths are generated and prepared during the compilation phase before runtime execution occurs. This preliminary action of creating multiple paths during compilation, rather than at runtime, reduces operational complexity while maintaining high resilience, as the complexity is shifted to the build process rather than execution time.
Data Source
AI summary
Techniques and methods for generating multiple paths of execution during the compilation process are provided. One or more portions of a software-based task to be executed are identified. A plurality of segments of compiled code for executing the identified one or more portions of the software-based task are generated. Errors during execution of a first segment of compiled code from the plurality of segments of compiled code are monitored. Upon detecting an error in the first segment of compiled code, a second segment of compiled code from the plurality of segments of compiled code is executed.


