User space pci device emulation for peer processes

US2020233687A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020233687-A1
Application numberUS-201916251048-A
CountryUS
Kind codeA1
Filing dateJan 17, 2019
Priority dateJan 17, 2019
Publication dateJul 23, 2020
Grant date

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.

A system and method include receiving, at a host device, a request from a virtual machine to communicate with an emulated device. The host device establishes a socket connection between an emulator and the emulated device and communicates input-output messages via the socket connection from the virtual machine to the emulated device where the input-output messages use a virtual function input/output (VFIO) message protocol.

First claim

Opening claim text (preview).

1 . A method comprising: receiving, at a host device, a request to communicate with an emulated device; establishing, at the host device, an inter-process communication connection between an application in user space at the host device and the emulated device; and communicating an input-output message via the inter-process communication connection from the application to the emulated device, wherein the input-output message uses a message protocol. 2 . The method of claim 1 , wherein the inter-process communication connection is a UNIX socket connection. 3 . The method of claim 7 , wherein the storage device is a non-volatile memory (NVMe) device. 4 . The method of claim 1 , wherein the application receives the request to communicate with the emulated device from a virtual machine coupled to the application in the user space of the host device. 5 . The method of claim 1 , wherein the application is an emulator. 6 . The method of claim 5 , wherein the emulator and the emulated device are located in the user space of the host device. 7 . The method of claim 1 , wherein the emulated device is a storage device or a network device. 8 . The method of claim 1 , wherein the emulated device is a peripheral component interconnect (PCI) device. 9 . The method of claim 1 , wherein the message protocol is a virtual function input/output message protocol. 10 . The method of claim 1 , wherein the message protocol is a virtual function input/output-like message protocol. 11 . The method of claim 10 , wherein the emulated device controls a portion of an external memory that is accessible to the application in the user space at the host device using the emulated device. 12 . A host device comprising: a user space including a device emulator and an application, wherein the application requests communication with an emulated device associated with the user space and establishes an inter-process communication connection with the emulated device upon receiving a request via the device emulator; wherein the application and the emulated device communicate an input-output message via the inter-process communication connection; and wherein the input-output message uses a message protocol. 13 . The host device of claim 12 , wherein the inter-process communication connection is a UNIX socket connection. 14 . The host device of claim 12 , wherein the emulated device is a storage device or a network device. 15 . The host device of claim 12 , wherein the application receives the request to communicate with the emulated device from a virtual machine coupled to the application in the user space of the host device. 16 . The host device of claim 12 , wherein the application is an emulator. 17 . The host device of claim 16 , wherein the emulator and the emulated device are located in the user space of the host device. 18 . A non-transitory computer readable media with computer-executable instructions embodied thereon that, when executed by a processor of a virtual computing system, cause the virtual computing system to perform a process comprising: receiving, at a host device, a request to communicate with an emulated device; establishing, at the host device, an inter-process communication connection between an application in user space at the host device and the emulated device; and communicating an input-output message via the inter-process communication connection from the application to the emulated device, wherein the input-output message uses a message protocol. 19 . The non-transitory computer readable media of claim 18 , wherein the application receives the request to communicate with the emulated device from a virtual machine coupled to the application in the user space of the host device. 20 . The non-transitory computer readable media of claim 18 , wherein the message protocol is a virtual function input/output message protocol or a virtual function input/output-like message protocol.

Assignees

Inventors

Classifications

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · CPC title

  • Peripheral component interconnect [PCI] · 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 US2020233687A1 cover?
A system and method include receiving, at a host device, a request from a virtual machine to communicate with an emulated device. The host device establishes a socket connection between an emulator and the emulated device and communicates input-output messages via the socket connection from the virtual machine to the emulated device where the input-output messages use a virtual function input/o…
Who is the assignee on this patent?
Nutanix 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 Thu Jul 23 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).