Container Migration Synchronization Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Migrating containerized workloads is challenging due to shared resources and changes over time, such as software patches, which complicates tracking of operating system handles and resource management.
Innovation Solution
A synchronization engine facilitates efficient migration of containers between local and remote devices by transmitting migration requests, instantiating compatible virtual machines, and updating memory snapshots using copy-on-write techniques, while tracking handles to ensure seamless resource switching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If containers share resources such as operating system kernel, files, and storage, then resource efficiency is improved and administrative costs are lowered, but tracking operating system handles and managing resources during migration becomes more difficult
Solution Approach 1:
The patent introduces a synchronization engine as an intermediary component that manages and tracks operating system handles between source and destination systems during container migration. This mediator maintains handle tables that map handles across systems, resolving the complexity of tracking shared resources while preserving resource efficiency benefits.
Solution Approach 2:
The patent creates copies of handle tables and synchronizes them between source and destination systems. By copying and maintaining synchronized handle information, the system can track shared resources without directly interfering with the shared nature of containers, thus managing complexity while preserving resource efficiency.
2Adaptability or versatility
If containers are migrated between systems with different operating system versions or patches, then adaptability and flexibility are improved, but inconsistencies in shared resources and handle tracking arise
Solution Approach 1:
The patent performs preliminary actions by capturing and synchronizing handle tables before migration occurs. The synchronization engine prepares the destination system with the necessary handle information in advance, ensuring that resource consistency is maintained even when migrating between systems with different operating system versions or patches.
Solution Approach 2:
The patent implements feedback mechanisms where the synchronization engine continuously monitors and updates handle tables during migration. This feedback loop ensures that any inconsistencies arising from migrating between different operating system versions are detected and corrected, maintaining resource stability while preserving migration flexibility.
3Measurement precision
If container migration is performed with recurrent checkpoint updates, then migration accuracy is improved, but migration time and processing overhead increase
Solution Approach 1:
The patent employs periodic action by implementing recurrent checkpoint updates at intervals during migration. The synchronization engine periodically captures and transfers checkpoint data, maintaining migration accuracy while managing processing overhead through structured periodic operations rather than continuous updates.
Solution Approach 2:
The patent applies partial action by updating only the necessary portions of checkpoint data that have changed since the last synchronization. Rather than transferring complete checkpoint data repeatedly, the system identifies and transfers only incremental changes, reducing migration time while maintaining accuracy.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Techniques of migrating containerized software packages between source and destination computing devices are disclosed herein. In one embodiment, a method includes receiving, at a destination device, a request to migrate a source container currently executing on the source device to the destination device. The method also includes synchronizing a list of handles utilized by the source container on the source device between the destination device and the source device and instantiating, in the destination device, a destination container using a copy of an image, a memory snapshot, and the synchronized list of handles of the source container on the source device. Upon completion of instantiating the destination container, the destination device can transmit a remote display output of the application to be surfaced on the source device in place of the local display output generated by the source container.