Remote Application Migration After Crashes From Local Resource Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users of computationally intensive applications face crashes due to resource constraints in their computing devices, and existing checkpointing methods require explicit user intervention and result in wasted processing time if the application does not support checkpoint mechanisms.
Innovation Solution
Applications are migrated to a remote computer server that provisions necessary resources, allowing execution to resume and results to be seamlessly returned to the host device, identifying and allocating missing resources as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application checkpointing is used to prevent crashes, then application reliability is improved, but user operation complexity increases due to explicit configuration requirements
Solution Approach 1:
The system automatically detects application crashes and performs checkpointing operations without requiring user intervention. The crash detection module monitors application states and triggers automated recovery procedures, allowing the system to serve itself rather than requiring explicit user configuration for reliability features.
Solution Approach 2:
The system pre-configures checkpoint criteria and recovery mechanisms before application execution begins. By establishing automated crash detection and recovery protocols in advance, the system eliminates the need for users to configure checkpointing parameters during operation, thereby improving both reliability and ease of use.
2Reliability
If application checkpointing is implemented, then application reliability is improved, but processing time is lost due to stopping and copying data to storage
Solution Approach 1:
The system maintains continuous application execution by implementing background crash detection and automated recovery mechanisms. Instead of stopping the application to perform checkpointing operations, the system continuously monitors application health and performs recovery actions without interrupting the main processing flow, thereby preserving both reliability and processing time.
Solution Approach 2:
The system rapidly detects crashes and executes recovery procedures in minimal time, effectively skipping the traditional lengthy checkpointing process. By implementing fast crash detection algorithms and streamlined recovery mechanisms, the system reduces the time penalty associated with reliability measures while maintaining application stability.
3Ease of operation
If applications run on local computing devices, then ease of operation is maintained, but application productivity decreases due to resource constraints
Solution Approach 1:
The system enables local computing devices to run resource-intensive applications by providing automated access to remote computing resources. The crash detection and recovery system acts as a universal interface that allows applications to leverage both local and remote resources transparently, thereby increasing productivity without compromising ease of operation for end users.
Solution Approach 2:
The system introduces an intermediary crash detection and resource management layer between the application and computing resources. This intermediary automatically manages resource allocation and can transparently migrate application execution to remote servers when local resources are insufficient, thereby enhancing productivity while maintaining user-friendly operation.
Data Source
AI summary
A method of repairing crashed applications includes detecting a crash in an application operating in a host computing device. The application is migrated to a remote computer server. The remote computer server provisions computing resources to the application, while the application is resident in the remote computer server. Resumed operation of the application is executed, using the provisioned computing resources, in the remote computer server. Execution results are generated from the application, in the remote computer server. The generated execution results are migrated from the application back to the host computing device.


