Inter-virtual machine communication using pseudo devices

US9507617B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9507617-B1
Application numberUS-201314094364-A
CountryUS
Kind codeB1
Filing dateDec 2, 2013
Priority dateDec 2, 2013
Publication dateNov 29, 2016
Grant dateNov 29, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Communication between software components in different virtual machines may be made through a hypervisor between pseudo-devices that have no corresponding physical device. A software component in a virtual machine transfers data to a pseudo-device in the virtual machine. The pseudo-device is connected to another pseudo-device in another virtual machine, and the connection is through the hypervisor. The data from the software component is transferred from the pseudo-device to the other pseudo-device over the connection through the hypervisor. The other pseudo-device in the other virtual machine receives the data and provides the data to another software component in the other virtual machine.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of communicating between software components of virtual machines, the method comprising: a hypervisor running a plurality of virtual machines; a first virtual machine of the plurality of virtual machines detecting a configuration of a second pseudo-device in a second virtual machine of the plurality of virtual machines and, in response to detecting the configuration of the second pseudo-device, creating a first pseudo-device based on the configuration of the second pseudo-device, wherein the second virtual machine is a privileged virtual machine and the first virtual machine is an unprivileged virtual machine; a first software component in the first virtual machine sending data to the first pseudo-device in the first virtual machine; the first pseudo-device establishing a dedicated connection to the second pseudo-device of the second virtual machine through the hypervisor, and placing the data in a shared memory shared by the first virtual machine and the second virtual machine, wherein the first and second pseudo-devices comprise virtual devices with no corresponding physical device; alerting the second pseudo-device to presence of the data in the shared memory by way of a signal received through the hypervisor; and in response to the alerting, the second pseudo-device retrieving the data from the shared memory and providing the data to a second software component in the second virtual machine. 2. The computer-implemented method of claim 1 , wherein the data is addressed to the second software component. 3. The computer-implemented method of claim 1 , wherein the data is provided by the first software component to the first pseudo-device by way of an input/output (I/O) request from the first software component to the first pseudo-device. 4. The computer-implemented method of claim 1 , wherein the second software component comprises a security module. 5. The computer-implemented method of claim 1 , wherein the first virtual machine connects to the second virtual machine by way of a para-virtualization driver. 6. A system comprising: a memory; and a processor that executes instructions in the memory to host a hypervisor running a plurality of virtual machines, boot a first virtual machine of the plurality of virtual machines and a second virtual machine of the plurality of virtual machines, wherein the first virtual machine is an unprivileged virtual machine and the second virtual machine is a privileged virtual machine, create a first pseudo-device in the first virtual machine based on a detected configuration of a second pseudo-device in the second virtual machine, establish a dedicated connection from the first pseudo-device in the first virtual machine to the second pseudo-device in the second virtual machine through the hypervisor, and transfer data from a first software component in the first virtual machine to a second software component in the second virtual machine over the dedicated connection through the hypervisor, wherein the first and second pseudo-devices comprise virtual devices that have no corresponding physical device, wherein the data is transferred over a shared memory shared by the first and second virtual machines, wherein the second software component is alerted of availability of the data in the shared memory by way of a signal transmitted through the hypervisor, and wherein the data is retrieved by the second pseudo-device from the shared memory and is provided by the second pseudo-device to the second software component in the second virtual machine. 7. The system of claim 6 , wherein the first virtual machine is connected to the second virtual machine by way of a para-virtualization driver. 8. A computer-implemented method comprising: running a plurality of virtual machines that include a first virtual machine and a second virtual machine; providing a configuration of a second pseudo-device in the second virtual machine; creating a first pseudo-device in the first virtual machine based on the configuration of the second pseudo-device, wherein the first virtual machine is an unprivileged virtual machine and the second virtual machine is a privileged virtual machine; establishing a dedicated connection between the first pseudo-device of the first virtual machine and the second pseudo-device of the second virtual machine through a hypervisor that runs the plurality of virtual machines; and transferring data from a first software component in the first virtual machine to a second software component in the second virtual machine over the connection between the first pseudo-device and the second pseudo-device through the hypervisor, wherein the first pseudo-device and the second pseudo-device comprise virtual devices that have no corresponding physical device, and transferring the data from the first software component in the first virtual machine to the second software component in the second virtual machine comprises: storing the data in a shared memory shared by the first virtual machine and the second virtual machine; alerting the second pseudo-device of availability of the data in the shared memory by way of a signal transmitted through the hypervisor; and in response to the alerting, the second pseudo-device retrieving the data from the shared memory and providing the data to the second software component in the second virtual machine. 9. The computer-implemented method of claim 8 , wherein the first pseudo-device and the second pseudo-device are connected through the hypervisor by way of a para-virtualization driver. 10. The computer-implemented method of claim 8 , wherein the data is transferred from the first software component to the first pseudo-device by way of an I/O request. 11. The computer-implemented method of claim 8 , wherein the data is addressed to the second software component.

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • G06F9/4555Primary

    Para-virtualisation, i.e. guest operating system has to be modified · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9507617B1 cover?
Communication between software components in different virtual machines may be made through a hypervisor between pseudo-devices that have no corresponding physical device. A software component in a virtual machine transfers data to a pseudo-device in the virtual machine. The pseudo-device is connected to another pseudo-device in another virtual machine, and the connection is through the hypervi…
Who is the assignee on this patent?
Trend Micro Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).