Patents by Inventor Gleb Natapov

Gleb Natapov has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11157561
    Abstract: Methods, apparatus and computer software products implement embodiments of the present invention that include receiving requests from clients to access a corpus of data that is replicated on a group of servers, and distributing the requests among the servers for execution in accordance with an allocation function, which indicates a respective fraction of the requests that is to be assigned to each of the servers for execution. Respective cache miss rates incurred by the servers in responding to the requests that are distributed to each of the servers are measured, and the allocation function is adjusted responsively to the cache miss rates.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: October 26, 2021
    Assignee: SCYLLA DB LTD.
    Inventors: Nadav Har'El, Gleb Natapov, Avi Kivity
  • Publication number: 20190179854
    Abstract: Methods, apparatus and computer software products implement embodiments of the present invention that include receiving requests from clients to access a corpus of data that is replicated on a group of servers, and distributing the requests among the servers for execution in accordance with an allocation function, which indicates a respective fraction of the requests that is to be assigned to each of the servers for execution. Respective cache miss rates incurred by the servers in responding to the requests that are distributed to each of the servers are measured, and the allocation function is adjusted responsively to the cache miss rates.
    Type: Application
    Filed: December 10, 2018
    Publication date: June 13, 2019
    Inventors: Nadav Har'El, Gleb Natapov, Avi Kivity
  • Patent number: 9990216
    Abstract: Systems and methods for providing a hypercall interface for virtual machines. An example method may comprise receiving, by a hypervisor executing on a computer system, a hypercall instruction issued by a virtual machine to invoke a hypervisor function; and determining an identifier of the hypervisor function based on a value of an instruction pointer of the virtual machine.
    Type: Grant
    Filed: June 27, 2013
    Date of Patent: June 5, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Patent number: 9983893
    Abstract: When a guest of a virtual machine attempts to accesses an address that causes an exit from the guest to the hypervisor of a host, the hypervisor receives an indication of an exit by a guest to the hypervisor. The received address is associated with a memory-mapped input-output (MMIO) instruction. The hypervisor determines, based on the received indication, that the exit is associated with the memory-mapped input-output (MMIO) instruction. The hypervisor identifies the address that caused the exit as a fast access address. The hypervisor identifies one or more memory locations associated with the fast access address, where the one or more memory locations store information associated with the MMIO instruction. The hypervisor identifies the MMIO instruction based on the stored information. The hypervisor executes the MMIO instruction on behalf of the guest.
    Type: Grant
    Filed: October 1, 2013
    Date of Patent: May 29, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 9916173
    Abstract: A hypervisor of a host receives an indication of an exit from a guest to the hypervisor and a memory-mapped input output (MMIO) address that caused the exit to hypervisor. The hypervisor walks a page table of the guest to identify a guest address associated with the MMIO address that caused the exit to the hypervisor. The hypervisor decodes an instruction of the guest referenced by the guest address to determine a type of operation that the guest intended to execute and a location of MMIO information. The hypervisor records, in a page table entry for the MMIO address of a host page table, an association with the type of operation and the location of the MMIO information. The hypervisor executes the operation on behalf of the guest based on the type of the operation and the MMIO information.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: March 13, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 9841927
    Abstract: Systems and methods for implementing remote direct memory access (RDMA) with copy-on-write support. An example method may comprise: registering, with an RDMA adapter, by a first computer system, a mapping of a first virtual address to a first physical address, for transmitting a memory page identified by the first virtual address to a second computer system; registering, with the RDMA adapter, a mapping of a second virtual address to the first physical address; detecting an attempt to modify the memory page; copying the memory page to a second physical address; and registering, with the RDMA adapter, a mapping of a first virtual address to the second physical address.
    Type: Grant
    Filed: September 23, 2013
    Date of Patent: December 12, 2017
    Assignee: Red Hat Israel, Ltd
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 9454394
    Abstract: Systems and methods are disclosed for assigning an I/O resource to a virtual PCI device. An example system includes an I/O resource table that stores a pool of one or more available I/O resources for assignment to one or more virtual PCI devices. The system also includes a hypervisor that maintains the pool of I/O resources, assigns one or more I/O resources from the pool to a virtual PCI device, and notifies a guest running on a virtual machine that the one or more I/O resources is assigned to the virtual PCI device. The hypervisor and virtual machine are executable on a host, and the virtual PCI device is exposed to the guest.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: September 27, 2016
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 9229763
    Abstract: A method and system for providing a guest with virtual media that can be read by the guest. A hypervisor hosted by a computer system presents a guest-to-host channel to a guest in the computer system. The hypervisor receives content from the guest via the guest-to-host channel, the content to be stored and managed by the hypervisor in a memory area associated with the guest in the computer system, the memory area not being directly accessible to the guest. The hypervisor then receives a request from the guest indicating that the guest is to perform at least one operation on the content, and provides the content for the guest to perform the at least one operation.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: January 5, 2016
    Assignee: Red Hat, Ltd.
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Publication number: 20150193254
    Abstract: A method and system for providing a guest with virtual media that can be read by the guest. A hypervisor hosted by a computer system presents a guest-to-host channel to a guest in the computer system. The hypervisor receives content from the guest via the guest-to-host channel, the content to be stored and managed by the hypervisor in a memory area associated with the guest in the computer system, the memory area not being directly accessible to the guest. The hypervisor then receives a request from the guest indicating that the guest is to perform at least one operation on the content, and provides the content for the guest to perform the at least one operation.
    Type: Application
    Filed: March 16, 2015
    Publication date: July 9, 2015
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Publication number: 20150149997
    Abstract: A hypervisor of a host receives an indication of an exit from a guest to the hypervisor and a memory-mapped input output (MMIO) address that caused the exit to hypervisor. The hypervisor walks a page table of the guest to identify a guest address associated with the MMIO address that caused the exit to the hypervisor. The hypervisor decodes an instruction of the guest referenced by the guest address to determine a type of operation that the guest intended to execute and a location of MMIO information. The hypervisor records, in a page table entry for the MMIO address of a host page table, an association with the type of operation and the location of the MMIO information. The hypervisor executes the operation on behalf of the guest based on the type of the operation and the MMIO information.
    Type: Application
    Filed: November 25, 2013
    Publication date: May 28, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Publication number: 20150149996
    Abstract: Systems and methods are disclosed for assigning an I/O resource to a virtual PCI device. An example system includes an I/O resource table that stores a pool of one or more available I/O resources for assignment to one or more virtual PCI devices. The system also includes a hypervisor that maintains the pool of I/O resources, assigns one or more I/O resources from the pool to a virtual PCI device, and notifies a guest running on a virtual machine that the one or more I/O resources is assigned to the virtual PCI device. The hypervisor and virtual machine are executable on a host, and the virtual PCI device is exposed to the guest.
    Type: Application
    Filed: November 22, 2013
    Publication date: May 28, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Publication number: 20150095548
    Abstract: When a guest of a virtual machine attempts to accesses an address that causes an exit from the guest to the hypervisor of a host, the hypervisor receives an indication of an exit by a guest to the hypervisor. The received address is associated with a memory-mapped input-output (MMIO) instruction. The hypervisor determines, based on the received indication, that the exit is associated with the memory-mapped input-output (MMIO) instruction. The hypervisor identifies the address that caused the exit as a fast access address. The hypervisor identifies one or more memory locations associated with the fast access address, where the one or more memory locations store information associated with the MMIO instruction. The hypervisor identifies the MMIO instruction based on the stored information. The hypervisor executes the MMIO instruction on behalf of the guest.
    Type: Application
    Filed: October 1, 2013
    Publication date: April 2, 2015
    Applicant: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Publication number: 20150089009
    Abstract: Systems and methods for implementing remote direct memory access (RDMA) with copy-on-write support. An example method may comprise: registering, with an RDMA adapter, by a first computer system, a mapping of a first virtual address to a first physical address, for transmitting a memory page identified by the first virtual address to a second computer system; registering, with the RDMA adapter, a mapping of a second virtual address to the first physical address; detecting an attempt to modify the memory page; copying the memory page to a second physical address; and registering, with the RDMA adapter, a mapping of a first virtual address to the second physical address.
    Type: Application
    Filed: September 23, 2013
    Publication date: March 26, 2015
    Applicant: RED HAT ISRAEL, LTD.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 8990803
    Abstract: A method and system for providing a guest with virtual media that can be read by the guest with an emulated media drive. A hypervisor hosted by a computer system presents a guest-to-host channel to a guest in the computer system. The hypervisor receives content from the guest via the guest-to-host channel, and then receives a request from the guest indicating that the guest is to read the content. The hypervisor provides the content for the guest to read by emulating a media drive and an insertion of removable virtual media. The removable virtual media contains the content and is readable by the guest with the emulated media drive.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: March 24, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Patent number: 8935693
    Abstract: A method and system for providing a descriptive name of a device in a virtual machine system. A computer system hosts a hypervisor, a management component and a guest. The hypervisor receives from the management component a descriptive name of a device available to the guest. The descriptive name defines at least one of the functionality of the device, the content of the device, or a user of the device. The hypervisor then passes the descriptive name to the guest via a host-to-guest channel, which is a shared storage location writable by the hypervisor and readable by the guest.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: January 13, 2015
    Assignee: Red Hat Israel, Ltd.
    Inventors: Gleb Natapov, Michael S. Tsirkin
  • Publication number: 20150007170
    Abstract: Systems and methods for providing a hypercall interface for virtual machines. An example method may comprise receiving, by a hypervisor executing on a computer system, a hypercall instruction issued by a virtual machine to invoke a hypervisor function; and determining an identifier of the hypervisor function based on a value of an instruction pointer of the virtual machine.
    Type: Application
    Filed: June 27, 2013
    Publication date: January 1, 2015
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Patent number: 8850443
    Abstract: A mechanism for asynchronous input/output (I/O) using second stack switching in kernel space is disclosed. A method of the invention includes receiving, by a kernel executing in a computing device, an input/output (I/O) request from an application thread executing using a first stack, allocating a second stack in kernel space of the computing device, switching execution of the thread to the second stack, and processing the I/O request synchronously using the second stack.
    Type: Grant
    Filed: November 22, 2011
    Date of Patent: September 30, 2014
    Assignee: Red Hat Israel, Ltd.
    Inventors: Avi Kivity, Gleb Natapov
  • Patent number: 8719631
    Abstract: A mechanism for virtual machine (VM)-based disk rescue is disclosed. A method of the invention includes starting a reboot process of a VM hosted on a host computing machine, controlling an invocation of a recovery media that is used by a recovery process on a disk of the VM and is located separate from the VM disk, and restarting the VM after the recovery process using the recovery media successfully completes.
    Type: Grant
    Filed: July 11, 2011
    Date of Patent: May 6, 2014
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Gleb Natapov
  • Patent number: 8627133
    Abstract: A mechanism for virtual machine (VM) boot speed-up by clock acceleration is disclosed. A method of the invention includes detecting that a VM managed by a hypervisor of a host machine is starting a boot up process, modifying a rate of a clock of the VM to speed up the boot up process, determining that the boot up process of the VM is complete, and returning the rate of the VM clock to a normal operational rate that is slower than the rate of the VM clock during the boot up process.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: January 7, 2014
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael S. Tsirkin, Gleb Natapov
  • Publication number: 20130132968
    Abstract: A mechanism for asynchronous input/output (I/O) using second stack switching in kernel space is disclosed. A method of the invention includes receiving, by a kernel executing in a computing device, an input/output (I/O) request from an application thread executing using a first stack, allocating a second stack in kernel space of the computing device, switching execution of the thread to the second stack, and processing the I/O request synchronously using the second stack.
    Type: Application
    Filed: November 22, 2011
    Publication date: May 23, 2013
    Inventors: Avi Kivity, Gleb Natapov