Hypervisor Multicast Address Resolution in Virtual Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualized systems face challenges in efficiently performing multicast and broadcasting between virtual machines over virtual networks, as they lack effective mechanisms to resolve group virtual network addresses and route messages to the correct destination virtual machines.
Innovation Solution
A source hypervisor accesses network messages and determines virtual network addresses associated with destination virtual machines, resolving group addresses using an external address lookup service if needed, and dispatches the messages with unique identifiers to the destination hypervisors over the physical network, ensuring accurate delivery to the intended virtual machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtual machines communicate over virtual networks using group addresses, then multicast and broadcasting functionality is enabled, but the system lacks mechanisms to resolve group addresses to individual destination virtual machines
Solution Approach 1:
The patent introduces a multicast virtual network address as an intermediary that enables virtual machines to communicate with multiple destinations without requiring each virtual machine to know individual destination addresses. The hypervisor acts as a mediator that resolves this group address to individual virtual machine addresses, abstracting the complexity from the virtual machines themselves.
Solution Approach 2:
The system enables virtual machines to perform multicast and broadcasting operations independently using standard network protocols, with the address resolution handled automatically by the hypervisor infrastructure rather than requiring complex configuration or management intervention.
2Measurement precision
If the hypervisor resolves group virtual network addresses to individual addresses, then accurate message routing is achieved, but the network communication overhead increases
Solution Approach 1:
The hypervisor performs address resolution in advance by maintaining mappings between multicast virtual network addresses and individual virtual machine addresses. When a multicast message is sent, the resolution has already been prepared, reducing the time required at message transmission time and minimizing communication overhead.
Solution Approach 2:
The patent extracts the address resolution function from the virtual machine layer and places it at the hypervisor layer. This separation allows virtual machines to send messages using simple group addresses while the complex resolution logic is handled independently by the hypervisor, improving overall system efficiency.
3Ease of operation
If virtual network architecture abstracts physical network details, then ease of operation is improved, but the mechanism to route messages across physical hypervisors becomes complex
Solution Approach 1:
The multicast virtual network address serves as an intermediary that bridges the abstract virtual network layer and the concrete physical network layer. It allows virtual machines to operate with simple group addresses while the hypervisor handles the complex mapping to physical network addresses and routing across multiple physical hypervisors.
Solution Approach 2:
The patent introduces an additional addressing dimension by using multicast virtual network addresses that exist in the virtual network namespace. This allows the system to maintain simple virtual network abstraction while adding a layer of indirection that enables complex physical network routing without affecting virtual machine operations.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
The performance of multicast and/or broadcasting between virtual machines over a virtual network. A source hypervisor accesses a network message originated from a source virtual machine, and uses the network message to determine a virtual network address associated with destination virtual machines (after potentially resolving group virtual network addresses). Using each virtual network address, the hypervisor determines a physical network address of the corresponding hypervisor that supports the destination virtual machine, and also determines a unique identifier for the destination virtual machine. The source hypervisor may then dispatch the network message along with the unique identifier to the destination hypervisor over the physical network using the physical network address of the hypervisor. The destination hypervisor passes the network message to the destination virtual machine identified by the unique identifier.