Shared Memory Channel for VM Filesystem Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing systems, communication between client applications in virtual machines and filesystem servers in the hypervisor is hindered by latency due to multiple system calls and context switches, which are necessary for accessing shared storage.
Innovation Solution
Establishing a guest application shared memory channel between the client application and the filesystem server, allowing direct communication without system calls or context switches, by allocating shared memory, creating a shared memory channel, and submitting commands with authentication information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If communication between client application and filesystem server uses traditional system call mechanism, then security and address space isolation are maintained, but communication latency increases due to multiple context switches
Solution Approach 1:
The patent introduces a shared memory channel as an intermediary communication mechanism between the client application and filesystem server. This channel uses guest physical addresses that are directly accessible from user space, eliminating the need for traditional system calls and context switches while maintaining security through authentication information verification.
Solution Approach 2:
The patent replaces the mechanical system of system calls and context switches with a direct memory access mechanism. By using shared memory channels with guest physical addresses, the communication path is simplified from a multi-layered system call structure to a direct memory-based communication path, significantly reducing latency.
2Productivity
If shared memory channel is established between client application and filesystem server, then communication efficiency improves, but security requirements and authentication complexity increase
Solution Approach 1:
The patent implements preliminary authentication by embedding authentication information within the shared memory channel structure itself. The authentication credentials are established beforehand and integrated into the memory channel configuration, allowing rapid verification without adding complex runtime authentication procedures.
3Reliability
If multiple context switches are used for file access operations, then proper process management and security checks are performed, but overall system performance deteriorates
Solution Approach 1:
The shared memory channel acts as a trusted intermediary that maintains process management correctness while eliminating context switches. The channel structure itself enforces proper access control and authentication, replacing the need for repeated context switch-based security checks with a single authenticated connection.
Data Source
AI summary
Examples provide a method of communication between a client application and a filesystem server in a virtualized computing system. The client application executes in a virtual machine (VM) and the filesystem server executes in a hypervisor. The method includes: allocating, by the client application, first shared memory in a guest virtual address space of the client application; creating a guest application shared memory channel between the client application and the filesystem server upon request by the client application to a driver in the VM, the driver in communication with the filesystem server, the guest application shared memory channel using the first shared memory; sending authentication information associated with the client application to the filesystem server to create cached authentication information at the filesystem server; and submitting a command in the guest application shared memory channel from the client application to the filesystem server, the command including the authentication information.


