Hypervisor Proxy Agent for VM Management Channel Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in establishing network connectivity between a host and a virtual machine (VM) when they are on different networks or when firewalls block access, preventing management applications from invoking management agents on the VM.
Innovation Solution
A logical communication path is established between a target VM and a host or application using a proxy agent on the hypervisor host, which selects a communication channel and passes messages or packets through a private channel to the VM, even if direct network connectivity is not available.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If direct network connectivity is used between host and VM, then communication is simple and direct, but connectivity fails when VM and host are on different networks or firewalls block access
Solution Approach 1:
The patent introduces a hypervisor as an intermediary component between the host and the VM. The host sends communication requests to the hypervisor, which then establishes appropriate communication channels to the target VM. This mediator approach resolves network connectivity issues by allowing the hypervisor to select suitable channels (e.g., direct socket connections, network sockets, or shared memory) based on the specific scenario, thereby ensuring reliable communication while abstracting away the complexity from the host.
2Adaptability or versatility
If multiple communication channels are supported, then adaptability to different scenarios is improved, but channel selection complexity increases
Solution Approach 1:
The patent implements dynamic channel selection within the hypervisor based on the communication scenario. The hypervisor evaluates factors such as whether the host and VM are on the same physical network, firewall configurations, and performance requirements to dynamically choose the most appropriate communication channel. This dynamic approach provides adaptability across different scenarios while centralizing the decision-making logic in the hypervisor to manage complexity.
Solution Approach 2:
The hypervisor acts as an intelligent intermediary that manages multiple communication channels. Instead of requiring the host to handle complex channel selection logic, the hypervisor receives communication requests and automatically selects the appropriate channel type (direct socket, network socket, shared memory, etc.), thereby providing versatility while abstracting selection complexity from the host system.
3Adaptability or versatility
If VM network address is used for communication, then standard protocols can be used, but address validity fails when VM is on different network than host
Solution Approach 1:
The hypervisor serves as an intermediary that handles address translation and routing. When the host sends a communication request using the VM's network address, the hypervisor intercepts the request, translates the address to the appropriate internal representation, and routes it through the selected communication channel to the target VM. This allows standard protocols to be used at the host level while the hypervisor ensures reliable delivery regardless of network topology differences.
Solution Approach 2:
The patent segments the communication system into distinct layers: the host layer using standard network protocols and addresses, and the hypervisor layer that handles the actual VM addressing and channel selection. This segmentation allows each layer to operate independently with its own addressing scheme, enabling protocol compatibility at the host level while ensuring reliable delivery to the VM through hypervisor-mediated address translation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A logical communication path is provided between a target virtual machine (VM) and a host or application communicating with the VM. The target VM runs on a hypervisor host that has a hypervisor and a proxy agent. The hypervisor manages execution of the VM. A mapping is maintained indicating which VMs execute on which hosts. When the host or application is to send a message or packet to the target VM, the mapping is consulted and the hypervisor host hosting the target VM is identified. The message or packet, which may identify the target VM, is transmitted to the hypervisor host. A proxy agent at the hypervisor host selects a communication channel between the hypervisor and the target VM. The hypervisor then passes the message or packet through the selected channel to the target VM.