Application Migration via Checkpointing and API Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoidAPI call completion
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If computing resources are pre-allocated to handle load spikes, then system availability is improved, but resource waste increases when demand decreases

Engineering Contradiction:
Improvesystem availabilityVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If applications are frequently migrated to handle unpredictable demand, then load balancing is improved, but migration overhead and complexity increase

Engineering Contradiction:
Improveload balancingVSAvoidmigration management
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #26Copying

4Speed

If applications are moved without checkpointing, then migration speed is improved, but state restoration accuracy decreases

Engineering Contradiction:
Improvemigration speedVSAvoidstate restoration accuracy
Core Design Contradiction:
SpeedVSManufacturing precision

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9727375B1Systems and methods for run time migration
Publication Date: 2017.08.08 GOOGLE LLC
  • US9727375B1 patent drawing
  • US9727375B1 patent drawing
  • US9727375B1 patent drawing

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.