Virtual Machine Agents for Shared Port Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines on the same physical device face communication challenges when external network connectivity is impaired, as they typically rely on dummy IP addresses and separate network communication stacks, which hinder efficient network-like communication.
Innovation Solution
The implementation of agents within virtual machines that cooperate to listen to shared ports and synchronize network communication stacks, using a virtual machine manager to allocate a low-level sharable memory page for channel communication, enabling proxy-like behavior and ensuring consistent port listings across virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines use separate network communication stacks with dummy IP addresses, then each virtual machine can independently communicate with external networks, but communication between virtual machines on the same physical device becomes inefficient and fails when external connectivity is impaired
Solution Approach 1:
The patent merges the network communication stacks of multiple virtual machines to share a single IP address and port space on the physical device. This allows virtual machines to communicate directly through shared memory channels without requiring separate network stacks, resolving the contradiction by combining resources to improve reliability while reducing overall complexity.
Solution Approach 2:
The patent introduces a virtual machine manager as an intermediary that allocates shared memory pages and manages communication channels between virtual machines. This mediator enables direct VM-to-VM communication without external network dependency, improving reliability while maintaining manageable complexity through centralized coordination.
2Productivity
If virtual machines communicate through separate network stacks, then each machine maintains network independence, but data exchange efficiency between virtual machines on the same device deteriorates
Solution Approach 1:
The patent segments the network communication function into two parts: a shared network stack at the physical device level for efficient data exchange, and virtualized network interfaces at the VM level for maintaining configuration flexibility. This segmentation enables high-speed direct communication while preserving individual VM network independence through virtualization layers.
Solution Approach 2:
The patent adds a new dimension of communication by introducing shared memory pages that exist alongside traditional network stacks. This creates a parallel communication channel that operates at memory speed rather than network speed, dramatically improving data exchange efficiency while the original network stacks remain available for external connectivity.
3Reliability
If virtual machines rely on external network connectivity for communication, then standard network protocols can be used, but communication fails when external network connectivity is impaired
Solution Approach 1:
The patent performs preliminary action by pre-allocating shared memory pages and establishing communication channels between virtual machines before external network connectivity is needed. This ensures that VM-to-VM communication paths are already in place and can immediately take over when external networks fail, improving reliability without complicating the implementation through runtime complexity.
Solution Approach 2:
The patent enables virtual machines to self-service their communication needs through direct memory-access channels that bypass external networks entirely. Each VM can independently access shared memory pages allocated to it, allowing autonomous communication that doesn't depend on external network infrastructure, thereby improving reliability while maintaining implementation simplicity.
Data Source
AI summary
Embodiments include methods, apparatuses, articles, and systems having a plurality of agents of a plurality of virtual machines of a physical device. In various embodiments, first and second agents of first and second virtual machines are adapted to cooperate to ensure that a port of the physical device is listened to by only a first application of the first virtual machine and by the second agent of the second virtual machine. Also, the first and second agents are further adapted to cooperate to facilitate the first application and a second application of the second virtual machine in communicating with each other in a network-like manner.


