Application Migration via Checkpointing and API Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing and moving applications across servers are inefficient in handling fluctuating demand and resource allocation, leading to potential errors and inefficiencies due to unpredictable load spikes and dips, especially when moving applications with outstanding API calls.
Innovation Solution
Implementing a method where applications are periodically checkpointed, allowing for controlled migration to another server by using the last or new checkpoint data set, depending on whether an API call has been sent or completed, ensuring minimal disruption and efficient resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If applications are migrated between servers to balance load, then resource utilization is improved, but errors may occur if API calls are interrupted during migration
Solution Approach 1:
The system performs preliminary actions by checkpointing the application state before migration and tracking outstanding API calls. This allows the application to be restored to its previous state on the new server, ensuring that no API calls are lost or corrupted during the migration process.
Solution Approach 2:
The patent introduces an intermediary mechanism (checkpoint data set and API call tracking system) that mediates between the application and the migration process. This intermediary ensures that API calls are properly handled during migration by maintaining state information and coordinating the transfer of active calls between servers.
2Reliability
If computing resources are pre-allocated to handle load spikes, then system availability is improved, but resource waste increases when demand decreases
Solution Approach 1:
The system implements dynamic resource allocation by enabling application migration between servers based on real-time load conditions. Applications can be moved from overloaded servers to underutilized servers, allowing resource allocation to adapt dynamically to changing demand patterns without requiring permanent over-provisioning.
Solution Approach 2:
The patent changes the operational parameters of resource allocation by transitioning from static pre-allocation to dynamic on-demand allocation through migration. This allows the system to maintain high availability during load spikes while reducing resource consumption during low-demand periods by consolidating applications on fewer servers.
3Productivity
If applications are frequently migrated to handle unpredictable demand, then load balancing is improved, but migration overhead and complexity increase
Solution Approach 1:
The system implements self-service migration capabilities where applications automatically checkpoint their state and can be restored on different servers without complex manual intervention. The checkpointing mechanism and state tracking enable applications to service their own migration needs, reducing the complexity of migration management.
Solution Approach 2:
The patent uses copying of application state through checkpointing rather than complex live migration. By creating snapshots of application state at checkpoint intervals, the system simplifies the migration process to copying and restoring state data, which is less complex than managing full application lifecycle migration.
4Speed
If applications are moved without checkpointing, then migration speed is improved, but state restoration accuracy decreases
Solution Approach 1:
The system performs preliminary checkpointing of application state before migration occurs. This preliminary action captures the application's state at known intervals, enabling accurate restoration on the destination server while maintaining relatively fast migration speeds by only transferring checkpoint data rather than full application state.
Solution Approach 2:
The patent implements periodic checkpointing where application state is captured at regular intervals during execution. This periodic action ensures that checkpoint data is available for migration without requiring continuous state capture, balancing migration speed with restoration accuracy by using periodically updated state information.
Data Source
AI summary
A method, system, and non-transitory computer readable medium for safely and efficiently migrating applications from one application server to another is provided. A termination request is received. When an API call has been sent by a first application since a last recurring checkpoint, the sent API call is processed one of several ways. Sometimes the API call is immediately terminated. Alternatively, the first application server waits a waiting period for an answer to the API call, and during the waiting period any new API calls are captured and not sent. Upon completion of the waiting period, if no answer has been returned, the API call is terminated. Then a new checkpoint of the application is taken in order to obtain a new checkpoint data set. The application is then migrated to another application server using the new checkpoint data set.


