Application Migration Thread Synchronization and Memory Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional application migration methods disrupt the normal operation of applications during the migration process, often resulting in incorrect data integrity and system performance issues due to the lack of synchronization of threads and resource management across machines.
Innovation Solution
A method for application migration that synchronizes threads, determines and transmits resource descriptors and memory allocation conditions, and employs asynchronous batch and on-demand data transmission to ensure data integrity and minimize system disruption, allowing seamless application migration between machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional application migration methods are used, then the application can be migrated from source machine to target machine, but the normal operation of the application is disrupted and data integrity is compromised
Solution Approach 1:
The patent performs preliminary actions by synchronizing all threads to a common barrier before migration begins, and by pre-determining resource descriptors and memory allocation conditions. This ensures the application is in a consistent state before data transfer, preventing data integrity issues while enabling seamless migration without operational disruption.
Solution Approach 2:
The patent enables continuous operation during migration by using asynchronous batch transmission for data transfer, which occurs in the background without blocking application execution. The application continues to run on the source machine while data is being transferred to the target machine, maintaining operational continuity.
2Reliability
If application migration is performed without thread synchronization, then migration speed is improved, but data correctness and integrity are compromised
Solution Approach 1:
The patent performs thread synchronization as a preliminary action before data migration begins. By bringing all threads to a common barrier and ensuring consistent application state beforehand, the actual data transfer can proceed quickly without needing repeated synchronization checks, achieving both data correctness and efficient migration timing.
Solution Approach 2:
The patent segments the migration process into distinct phases: thread synchronization phase, resource descriptor determination phase, and data transmission phase. This segmentation allows each phase to be optimized independently - synchronization ensures correctness while asynchronous batch transmission minimizes time loss.
3Reliability
If all memory data is transmitted during migration, then data completeness is ensured, but system performance impact increases
Solution Approach 1:
The patent extracts only the necessary data for migration by determining specific resource descriptors and memory allocation conditions that are relevant to the application's state. Instead of transmitting all memory data, it selectively identifies and transfers only the essential data portions, ensuring completeness while reducing performance impact.
Solution Approach 2:
The patent applies partial action by transmitting only the specific portions of memory that are allocated and used by the application, as determined by resource descriptors. This avoids the excessive action of transmitting entire memory spaces, achieving data completeness for migrated application while minimizing system performance impact.
Data Source
AI summary
The present disclosure relate to a method and an electronic device for application migration. The method includes: in response to a migration request for migrating, from a source machine to a target machine, an application executed at a source processing unit on the source machine, establishing a connection between the source machine and the target machine, the request indicating the application to be migrated, the target machine and a target processing unit to operate the application on the target machine; synchronizing a plurality of threads related to the application executed on the source processing unit; determining a resource descriptor and allocation and use conditions of a memory related to the application at the source processing unit; transmitting, via the connection, the determined resource descriptor and the allocation and use conditions of the memory to the target memory, for migration preparation performed by the target machine; and determining, based on the allocation and use conditions of the memory, the data to be migrated, for migration via the connection to the target machine.


