Transport Protocol Selection for Virtual Machine Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The use of the Virtual Machine Communication Interface (VMCI) protocol in cloud computing environments is impractical due to the need for code modifications and its limited functionality within local hypervisors, preventing efficient communication between virtual machines on different physical machines or hosts across a network, leading applications to rely on TCP/IP instead.
Innovation Solution
A method that enables the selection of the optimal transport protocol by creating a socket to communicate with a destination virtual machine, querying a virtual machine manager to determine hypervisor association, and routing traffic using VMCI if on the same hypervisor, or TCP/IP otherwise, without requiring code modifications to the application.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the VMCI protocol is used for communication between virtual machines, then communication throughput is significantly improved, but code modifications are required which increase implementation complexity and re-testing costs
Solution Approach 1:
The patent introduces a transport protocol selection mechanism that acts as an intermediary between the application and the communication infrastructure. This mechanism automatically selects between VMCI and TCP/IP protocols based on whether the destination virtual machine is on the same host, eliminating the need for application code modifications while enabling high-performance VMCI communication when applicable.
Solution Approach 2:
The system implements self-service by automatically detecting the location of destination virtual machines and selecting the appropriate transport protocol without requiring application developers to modify code or make decisions about protocol selection. The transport layer handles protocol selection autonomously based on virtual machine location information.
2Speed
If the VMCI protocol is used for communication, then communication speed within local hypervisor is enhanced, but functionality is limited to same-host communication only
Solution Approach 1:
The patent implements dynamic protocol selection where the transport protocol changes based on the communication scenario. When the destination virtual machine is on the same host, VMCI protocol is used for high-speed communication. When the destination is on a different host, the system dynamically switches to TCP/IP protocol, providing both speed and versatility adaptively.
Solution Approach 2:
The transport protocol selection mechanism provides multi-functionality by supporting both VMCI and TCP/IP protocols within a single communication infrastructure. This enables the system to handle both same-host high-performance communication and cross-host standard communication through a unified mechanism.
3Ease of operation
If TCP/IP protocol is used for all communications, then compatibility and ease of operation are maintained, but communication throughput is reduced compared to VMCI
Solution Approach 1:
The patent applies local quality by optimizing the communication protocol based on the specific communication context. For same-host virtual machine communication, VMCI protocol is selected to provide high throughput. For cross-host communication, TCP/IP is used to maintain compatibility. This localized optimization ensures high performance where possible while maintaining ease of operation elsewhere.
Data Source
AI summary
A method, system and computer program product for selecting an optimal transport protocol in a cloud computing environment. An application creates a socket to communicate with a destination Virtual Machine (VM). The application requests a daemon agent to query a virtual machine manager to determine if the destination VM is on the same hypervisor as the application. The daemon agent receives a VMCI address (“context ID”) and an indication of the hypervisor associated with the destination VM from the virtual machine manager. The daemon agent enables the transport layer to route traffic over the VMCI protocol to the destination VM using its context ID in response to the destination VM being on the same hypervisor as the application. In this manner, the application is able to route traffic using an optimal transport protocol, including VMCI, depending on peer hypervisor association without requiring any code modifications to the application.


