VM inter-process communication
First Claim
1. A method for enabling inter-process communication between a first application and a second application, the first application running within a first virtual machine (VM) in a host and the second application running within a second VM in the host, the method comprising:
- receiving a request to create a shared memory region in physical memory;
as a response to the request, creating the shared memory region in physical memory for access during execution of the first application, the shared memory region being associated with a handle and being mapped to guest memory of the first VM, the guest memory of the first VM being virtualized memory of the physical memory of the host for the first VM;
receiving a request to attach the shared region of memory to guest memory of the second VM for access during execution of the second application, the guest memory of the second VM being virtualized memory of the physical memory of the host for the second VM, the request being received by a framework from the second application, the request including the handle that uniquely identifies the shared region of memory and including an identification of the guest memory of the second VM, the framework being a component of a virtualization software in the host;
identifying a first list of physical memory pages in the physical memory as a first portion of the shared memory region that corresponds to the guest memory of the first VM;
identifying a second list of physical memory pages in the physical memory as a second portion of the shared memory region that corresponds to the guest memory of the second VM; and
mapping a portion of the guest memory of the second VM to the shared memory region in the physical memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is described for enabling inter-process communication between a first application and a second application, the first application running within a first virtual machine (VM) in a host and the second application running within a second VM in the host, The method includes receiving a request to attach a shared region of memory to a memory allocation, identifying a list of one or more physical memory pages defining the shared region that corresponds to the handle, and mapping guest memory pages corresponding to the allocation to the physical memory pages. The request may be received by a framework from the second application and includes a handle that uniquely identifies the shared region of memory as well as an identification of at least one guest memory page corresponding to the memory allocation.
-
Citations
12 Claims
-
1. A method for enabling inter-process communication between a first application and a second application, the first application running within a first virtual machine (VM) in a host and the second application running within a second VM in the host, the method comprising:
-
receiving a request to create a shared memory region in physical memory; as a response to the request, creating the shared memory region in physical memory for access during execution of the first application, the shared memory region being associated with a handle and being mapped to guest memory of the first VM, the guest memory of the first VM being virtualized memory of the physical memory of the host for the first VM; receiving a request to attach the shared region of memory to guest memory of the second VM for access during execution of the second application, the guest memory of the second VM being virtualized memory of the physical memory of the host for the second VM, the request being received by a framework from the second application, the request including the handle that uniquely identifies the shared region of memory and including an identification of the guest memory of the second VM, the framework being a component of a virtualization software in the host; identifying a first list of physical memory pages in the physical memory as a first portion of the shared memory region that corresponds to the guest memory of the first VM; identifying a second list of physical memory pages in the physical memory as a second portion of the shared memory region that corresponds to the guest memory of the second VM; and mapping a portion of the guest memory of the second VM to the shared memory region in the physical memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium embodying program instructions for causing a computer to perform a method for enabling inter-process communication between a first application and a second application, the first application running within a first virtual machine (VM) in a host and the second application running within a second VM in the host, the method comprising:
-
receiving a request to create a shared memory region in physical memory; as a response to the request, creating the shared memory region in physical memory for access during execution of the first application, the shared memory region being associated with a handle and being mapped to guest memory of the first VM, the guest memory of the first VM being virtualized memory of the physical memory of the host for the first VM; receiving a request to attach the shared region of memory to guest memory of the second VM for access during execution of the second application, the guest memory of the second VM being virtualized memory of the physical memory of the host for the second VM, the request being received by a framework from the second application, the request including the handle that uniquely identifies the shared region of memory and including an identification of the guest memory of the second VM, the framework being a component of a virtualization software in the host; identifying a first list of physical memory pages in the physical memory as a first portion of the shared memory region that corresponds to the guest memory of the first VM; identifying a second list of physical memory pages in the physical memory as a second portion of the shared memory region that corresponds to the guest memory of the second VM; and mapping a portion of the guest memory of the second VM to the shared memory region in the physical memory. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification