Policy enforcement by hypervisor paravirtualized ring copying

US9904564B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9904564-B2
Application numberUS-201113296422-A
CountryUS
Kind codeB2
Filing dateNov 15, 2011
Priority dateNov 15, 2011
Publication dateFeb 27, 2018
Grant dateFeb 27, 2018

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.

Methods and systems for executing a request between a virtual machine and a paravirtualized machine are provided. The request is received from the virtual machine at a first shared memory of a hypervisor. The first shared memory is accessible to the virtual machine but not the paravirtualized machine. The request is transferred by the hypervisor from the first shared memory to a second shared memory of the hypervisor. The second shared memory is accessible to the paravirtualized machine but not the virtual machine. The request is intended for execution by the paravirtualized machine.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: providing, by a hypervisor executed by a processing device of a host system, a first memory location shared between a virtual machine executed by the processing device and the hypervisor for exclusive use by the virtual machine; providing, by the hypervisor, a second memory location shared between a paravirtualized machine executed by processing device and the hypervisor for exclusive use by the paravirtualized machine, wherein the paravirtualized machine is assigned a first level of privileges, and wherein the virtual machine is assigned a second level of privileges that is lower than the first level of privileges assigned to the paravirtualized machine; receiving a request from the virtual machine at the first memory location, wherein the request is to be executed by the paravirtualized machine, wherein the first memory location is accessible to the virtual machine but not to the paravirtualized machine, wherein the request from the virtual machine is received from an application of the virtual machine, and wherein a corresponding request from the paravirtualized machine is received from the processing device of the host system that is executing the virtual machine; in response to a length of the request exceeding a maximum transmission size of the host system executing the virtual machine, determining to not transfer the request from the first memory location to the second memory location and providing a notification to a guest operating system associated with the virtual machine in view of the determination to not transfer the request; and in response to the length of the request not exceeding the maximum transmission size of the host system executing the virtual machine, transferring, by the hypervisor, the request from the first memory location to the second memory location when the request from the first memory location, the second memory location accessible to the paravirtualized machine but not to the virtual machine. 2. The method of claim 1 , wherein the transferring is performed without modification of the request. 3. The method of claim 1 , further comprising executing the request by the paravirtualized machine. 4. The method of claim 3 , wherein said executing the request comprises modifying a state of a device associated with a host operating system of a host computer system. 5. The method of claim 4 , wherein modifying the state of the device comprises modifying a location in memory associated with the host operating system. 6. The method of claim 4 , wherein modifying the state of the device comprises at least one of transmitting a packet to a network device or receiving a packet from a network device. 7. The method of claim 4 , further comprising notifying the guest operating system of the modification of the state of the device. 8. The method of claim 1 , further comprising filtering the request, the filtering comprising dropping the request. 9. The method of claim 8 , wherein the filtering is in view of at least one of a source of the request, a destination of the request, a length of the request, a type of the request, or a specification of a device associated with the request. 10. The method of claim 1 , wherein determining to not transfer the request from the first memory location to the second memory location is further in response to a source address of the request not matching a corresponding source address that has been assigned to the virtual machine. 11. The method of claim 1 , further comprising dropping, if necessary, the request in view of a source address associated with the request, a specific destination port of the request, the length of the request exceeding a host maximum transmission unit (MTU), a type of the request, and a privilege of a device associated with the request, wherein the type of request comprises domain name system (DNS) and address resolution protocol (ARP). 12. A method comprising: providing, by a hypervisor executed by a processing device of a host system, a first memory location shared between a paravirtualized machine executed by the processing device and the hypervisor for exclusive use by the paravirtualized machine; providing, by the hypervisor, a second memory location shared between a virtual machine executed by a host computer system and the hypervisor for exclusive use by the virtual machine, wherein the paravirtualized machine is assigned a first level of privileges, and wherein the virtual machine is assigned a second level of privileges that is lower than the first level of privileges assigned to the paravirtualized machine; transmitting, by the paravirtualized machine, a request to the first memory location, wherein the request is from the processing device associated with a host operating system and is to be executed by the virtual machine, wherein the first memory location is accessible to the paravirtualized machine but not to the virtual machine, wherein the request transmitted from the paravirtualized machine is received from the processing device associated with the host operating system that is executing the virtual machine, and wherein a corresponding request from the virtual machine is received from an application of the virtual machine; in response to a length of the request exceeding a maximum transmission size of the host system executing the paravirtualized machine, determining to not transfer the request from the first memory location to the second memory location and providing a notification to a guest operating system associated with the paravirtualized machine in view of the determination to not transfer the request; and in response to the length of the request not exceeding the maximum transmission size of the host system executing the paravirtualized machine, transferring, by the hypervisor, the request from the first memory location to the second memory location, the second memory location accessible to the virtual machine but not to the paravirtualized machine. 13. The method of claim 12 , wherein the transferring is performed without modification of the request. 14. The method of claim 13 , further comprising executing the request by the virtual machine. 15. The method of claim 12 , further comprising filtering the request. 16. The method of claim 12 , further comprising monitoring the request. 17. The method of claim 12 , further comprising notifying the guest operating system of a modification of a state of the device. 18. A system, comprising: a memory; and a processing device, operatively coupled with the memory, to: provide, by a hypervisor executed by the processing device of a host system, a first memory location shared between a virtual machine executed by the processing device and the hypervisor for exclusive use by the virtual machine; provide, by the hypervisor executed by the processing device, a second memory location shared between a paravirtualized machine executed by the processing device and the hypervisor for exclusive use by the paravirtualized machine, wherein the paravirtualized machine is assigned a first level of privileges, and wherein the virtual machine is assigned a second level of privileges that is lower than the first level of privileges assigned to the paravirtualized machine; receiving, by the hypervisor executed by the processing device, a request from the virtual machine at the first memory location, wherein the request is to be executed by the paravirtualized machine, wherein the first memory location is accessible to the virtual machine but not to the paravirtualized machine, wherein the

Assignees

Inventors

Classifications

  • Memory management, e.g. access or allocation · CPC title

  • where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • where the computing system is a virtual computing platform, e.g. logically partitioned systems (virtual machines G06F9/45533; logical partitioning of resources G06F9/5077) · CPC title

  • Para-virtualisation, i.e. guest operating system has to be modified · 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 US9904564B2 cover?
Methods and systems for executing a request between a virtual machine and a paravirtualized machine are provided. The request is received from the virtual machine at a first shared memory of a hypervisor. The first shared memory is accessible to the virtual machine but not the paravirtualized machine. The request is transferred by the hypervisor from the first shared memory to a second shared m…
Who is the assignee on this patent?
Tsirkin Michael S, Kivity Avi, Red Hat Israel Ltd
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 Feb 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).