Shared Memory Remote Procedure Call for Virtual Machine Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face performance bottlenecks due to local TCP/IP connections when running multiple virtual machines, particularly in resource-constrained platforms like mobile devices, which restrict data flow and reduce overall system performance.
Innovation Solution
Implementing a method and system that allows multiple virtual machines to run in a single process using a remote procedure call (RPC) mechanism, where applications share memory to communicate, and an application emulator maps user inputs and outputs between a general-purpose computer and a resource-constrained platform, enabling efficient communication and emulation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If local TCP/IP connections are used for communication between virtual machines, then system isolation and security are maintained, but data flow is restricted and system performance deteriorates
Solution Approach 1:
The patent introduces a shared memory region as an intermediary communication channel between virtual machines. Instead of using traditional TCP/IP network connections, the system allocates a shared memory space that multiple virtual machines can access directly, enabling high-speed data exchange while maintaining logical isolation through memory management structures and access control mechanisms.
Solution Approach 2:
The patent merges the communication infrastructure by allowing multiple virtual machines to share a common memory space within a single process. This consolidation eliminates the need for separate network stacks and communication protocols for each virtual machine, reducing overhead and improving inter-VM communication efficiency while maintaining system isolation through virtualization mechanisms.
2Reliability
If multiple virtual machines run in separate processes, then system stability and isolation are improved, but communication efficiency and data flow deteriorate
Solution Approach 1:
The patent combines multiple virtual machines into a single process address space, allowing them to share memory resources directly. This merging enables efficient inter-VM communication through shared memory regions while maintaining logical isolation and stability through virtualization management structures that control access to shared resources.
3Adaptability or versatility
If application emulator maps user inputs and outputs between general-purpose computer and resource-constrained platform, then cross-platform operability is improved, but system complexity and configuration difficulty increase
Solution Approach 1:
The patent implements a universal application emulator that can execute applications designed for resource-constrained platforms on general-purpose computers. The emulator provides a standardized interface layer that handles input/output mapping between different platform types, allowing the same application to run across multiple platforms without modification while abstracting away platform-specific complexities.
Data Source
AI summary
A method of implementing in a general purpose computer system, a remote procedure call between an application and a target application is described. The target application is one of a plurality of second applications. The first application generates a first message, the first message having a message body and a thread ID of the target application. The first application writes the first message to a shared memory. The target application to polls the shared memory, and reads the first message from the shared memory. The target application generates a second message, the second message having a message body and a thread ID of the target application. The target application writes the second message to the shared memory. The first application polls the shared memory and reads the second message from the shared memory. The first message may be sent in response to the second message, vice versa, or asynchronously.


