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:
- creating a notification endpoint for the second application in the second VM, including calling, from the second application, a communication interface driver in the second VM that generates a unique handle identifying the notification endpoint and then calling, from the communication interface driver in the second VM, a framework that maintains the unique handle with a context identifier that is assigned to the second VM, wherein the framework is a component of a virtualization software in the host that is separate from the first VM and the second VM;
in response to a notification, which includes the unique handle corresponding to the notification endpoint for the second application, from the first application, obtaining the context identifier associated with the unique handle using the framework;
using the framework, identifying the communication interface driver in the second VM based on the obtained context identifier; and
using the framework, causing the communication interface driver in the second VM to supply the notification to the second application running within the second VM.
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.
89 Citations
20 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:
-
creating a notification endpoint for the second application in the second VM, including calling, from the second application, a communication interface driver in the second VM that generates a unique handle identifying the notification endpoint and then calling, from the communication interface driver in the second VM, a framework that maintains the unique handle with a context identifier that is assigned to the second VM, wherein the framework is a component of a virtualization software in the host that is separate from the first VM and the second VM; in response to a notification, which includes the unique handle corresponding to the notification endpoint for the second application, from the first application, obtaining the context identifier associated with the unique handle using the framework; using the framework, identifying the communication interface driver in the second VM based on the obtained context identifier; and using the framework, causing the communication interface driver in the second VM to supply the notification to the second application running within the second VM. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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:
-
creating a notification endpoint for the second application in the second VM, including calling, from the second application, a communication interface driver in the second VM that generates a unique handle identifying the notification endpoint and then calling, from the communication interface driver in the second VM, a framework that maintains the unique handle with a context identifier that is assigned to the second VM, wherein the framework is a component of a virtualization software in the host that is separate from the first VM and the second VM; in response to a notification, which includes the unique handle corresponding to the notification endpoint for the second application, from the first application, obtaining the context identifier associated with the unique handle using the framework; using the framework, identifying the communication interface driver in the second VM based on the obtained context identifier by the framework; and using the framework, causing the communication interface driver in the second VM to supply the notification to the second application running within the second VM. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A host computer for enabling inter-process communication between a first application and a second application, the first application running within a first virtual machine (VM) in the host computer and the second application running within a second VM in the host computer, the host computer comprising:
-
memory; and at least one processor configured to; create a notification endpoint for the second application in the second VM, including calling, from the second application, a communication interface driver in the second VM that generates a unique handle identifying the notification endpoint and then calling, from the communication interface driver in the second VM, a framework that maintains the unique handle with a context identifier that is assigned to the second VM, wherein the framework is a component of a virtualization software in the host that is separate from the first VM and the second VM; in response to a notification, which includes the unique handle corresponding to the notification endpoint for the second application, from the first application, obtain the context identifier associated with the unique handle using the framework; using the framework, identify the communication interface driver in the second VM based on the obtained context identifier; and using the framework, cause the communication interface driver in the second VM to supply the notification to the second application running within the second VM. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification