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: 11157561Abstract: 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: GrantFiled: December 10, 2018Date of Patent: October 26, 2021Assignee: SCYLLA DB LTD.Inventors: Nadav Har'El, Gleb Natapov, Avi Kivity
-
Publication number: 20190179854Abstract: 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: ApplicationFiled: December 10, 2018Publication date: June 13, 2019Inventors: Nadav Har'El, Gleb Natapov, Avi Kivity
-
Patent number: 9990216Abstract: 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: GrantFiled: June 27, 2013Date of Patent: June 5, 2018Assignee: Red Hat Israel, Ltd.Inventors: Michael S. Tsirkin, Gleb Natapov
-
Patent number: 9983893Abstract: 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: GrantFiled: October 1, 2013Date of Patent: May 29, 2018Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 9916173Abstract: 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: GrantFiled: November 25, 2013Date of Patent: March 13, 2018Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 9841927Abstract: 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: GrantFiled: September 23, 2013Date of Patent: December 12, 2017Assignee: Red Hat Israel, LtdInventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 9454394Abstract: 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: GrantFiled: November 22, 2013Date of Patent: September 27, 2016Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 9229763Abstract: 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: GrantFiled: March 16, 2015Date of Patent: January 5, 2016Assignee: Red Hat, Ltd.Inventors: Michael S. Tsirkin, Gleb Natapov
-
Publication number: 20150193254Abstract: 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: ApplicationFiled: March 16, 2015Publication date: July 9, 2015Inventors: Michael S. Tsirkin, Gleb Natapov
-
Publication number: 20150149997Abstract: 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: ApplicationFiled: November 25, 2013Publication date: May 28, 2015Applicant: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Publication number: 20150149996Abstract: 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: ApplicationFiled: November 22, 2013Publication date: May 28, 2015Applicant: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Publication number: 20150095548Abstract: 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: ApplicationFiled: October 1, 2013Publication date: April 2, 2015Applicant: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Publication number: 20150089009Abstract: 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: ApplicationFiled: September 23, 2013Publication date: March 26, 2015Applicant: RED HAT ISRAEL, LTD.Inventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 8990803Abstract: 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: GrantFiled: May 31, 2011Date of Patent: March 24, 2015Assignee: Red Hat Israel, Ltd.Inventors: Michael S. Tsirkin, Gleb Natapov
-
Patent number: 8935693Abstract: 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: GrantFiled: May 31, 2011Date of Patent: January 13, 2015Assignee: Red Hat Israel, Ltd.Inventors: Gleb Natapov, Michael S. Tsirkin
-
Publication number: 20150007170Abstract: 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: ApplicationFiled: June 27, 2013Publication date: January 1, 2015Inventors: Michael S. Tsirkin, Gleb Natapov
-
Patent number: 8850443Abstract: 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: GrantFiled: November 22, 2011Date of Patent: September 30, 2014Assignee: Red Hat Israel, Ltd.Inventors: Avi Kivity, Gleb Natapov
-
Patent number: 8719631Abstract: 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: GrantFiled: July 11, 2011Date of Patent: May 6, 2014Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Gleb Natapov
-
Patent number: 8627133Abstract: 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: GrantFiled: December 20, 2010Date of Patent: January 7, 2014Assignee: Red Hat Israel, Ltd.Inventors: Michael S. Tsirkin, Gleb Natapov
-
Publication number: 20130132968Abstract: 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: ApplicationFiled: November 22, 2011Publication date: May 23, 2013Inventors: Avi Kivity, Gleb Natapov