Virtual Process Migration for Cloud Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual computing environments, existing methods for managing resources and migrating virtual machines are inefficient, particularly during runtime, as they often require transferring entire virtual machines, which is compute-intensive and can lead to undesirable process swapping and wait times, especially in cloud computing where response times are critical.
Innovation Solution
A method and system for creating and transferring virtual processes between virtual machines, allowing for efficient allocation of resources by capturing a snapshot of a process and its resources, and executing it on a different virtual machine, thereby isolating specific tasks and reducing the need for entire virtual machine migration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If entire virtual machine is migrated to another computing system, then resource allocation flexibility is improved, but migration time and computational overhead increase significantly
Solution Approach 1:
The patent segments the virtual machine into individual processes that can be independently migrated. Instead of moving the entire VM image, only specific processes are extracted, serialized, and transferred to the target system. This segmentation enables selective resource allocation while reducing migration scope and time.
Solution Approach 2:
The invention extracts individual processes from the virtual machine environment and migrates them separately. The process extraction includes capturing process state, serializing to a portable format, and transferring to the destination system where it can be executed independently. This extraction approach maintains resource allocation flexibility without requiring full VM migration.
2Productivity
If process is transferred between systems during runtime, then load balancing capability is improved, but process stability and execution continuity deteriorate
Solution Approach 1:
The patent performs preliminary actions by capturing the complete process state before migration, including memory contents, register values, open file descriptors, and execution context. This state capture ensures that when the process is restored on the target system, it can continue execution from the exact same state without interruption, maintaining both load balancing capability and execution continuity.
Solution Approach 2:
The invention creates a copy of the process state and transfers this copy to the target system. The copied process image includes all necessary execution context and data, allowing the process to be resurrected and executed on the destination system. This copying approach enables seamless process migration while preserving execution continuity and reliability.
3Adaptability or versatility
If virtual machine snapshot is taken for migration, then system portability is improved, but computational overhead and storage requirements increase
Solution Approach 1:
The patent extracts only the necessary process information and state data for migration purposes, rather than capturing the entire VM snapshot. This selective extraction includes process identification, state snapshot, and portability metadata, significantly reducing the volume of data that needs to be processed and stored during migration operations.
Solution Approach 2:
The invention applies partial action by migrating only the essential process components needed for execution continuity, rather than performing a complete VM snapshot and migration. This partial migration approach reduces computational overhead and storage requirements while maintaining sufficient portability for the migrated processes to execute correctly on the target system.
Data Source
AI summary
Methods and systems for managing execution of processes in virtual environments are disclosed. One method includes creating a virtual process from a process executing on a first virtual machine, and transferring the virtual process from the first virtual machine to a second virtual machine. The method also includes executing the virtual process on the second virtual machine, and, after the virtual process completes, removing the virtual process from the second virtual machine.


