Patents by Inventor David Alan Gilbert
David Alan Gilbert 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: 11870846Abstract: Systems and methods of the disclosure include: publishing, by a first host computer system of a computing cluster comprising a plurality of host computer systems running a plurality of virtual machines, a list of memory page identifiers, wherein each memory page identifier is associated with a corresponding content identifier; receiving, from a second host computer system of the computing cluster, a memory page request comprising a first memory page identifier; and sending, to the first host computer system, a first memory page identified by the first memory page identifier.Type: GrantFiled: February 25, 2021Date of Patent: January 9, 2024Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, David Alan Gilbert
-
Publication number: 20220269521Abstract: Systems and methods of the disclosure include: identifying, by a destination host computer system, a first memory page residing in a memory of the destination host computer system; transmitting, by the destination host computer system, at least a part of the first memory page to a source host computer system; receiving, by the destination host computer system, a confirmation from the source host computer system that the first memory page matches a second memory page associated with a virtual machine to be migrated from the source host computer system to the destination host computer system; and associating, by the destination host computer system, the first memory page with the virtual machine.Type: ApplicationFiled: February 25, 2021Publication date: August 25, 2022Inventors: Michael Tsirkin, David Alan Gilbert
-
Publication number: 20220269522Abstract: Systems and methods for providing memory over-commit support for live migration of virtual machines (VMs). In one implementation, a processing device of a source host computer system may identify a host page cache associated with a VM undergoing live migration from the source to a destination host computer system. The host page cache comprises a first plurality of memory pages associated with the VM. The processing device may transmit, from the source to the destination, at least a part of the host page cache. The processing device may discard the part of the host page cache. The processing device may read into the host page cache one or more memory pages of a second plurality of memory pages associated with the VM. The processing device may transmit, from the source to the destination, the one or more memory pages stored by the host page cache.Type: ApplicationFiled: February 25, 2021Publication date: August 25, 2022Inventors: Michael Tsirkin, David Alan Gilbert
-
Publication number: 20220272152Abstract: Systems and methods of the disclosure include: publishing, by a first host computer system of a computing cluster comprising a plurality of host computer systems running a plurality of virtual machines, a list of memory page identifiers, wherein each memory page identifier is associated with a corresponding content identifier; receiving, from a second host computer system of the computing cluster, a memory page request comprising a first memory page identifier; and sending, to the first host computer system, a first memory page identified by the first memory page identifier.Type: ApplicationFiled: February 25, 2021Publication date: August 25, 2022Inventors: Michael Tsirkin, David Alan Gilbert
-
Publication number: 20220237313Abstract: Direct access to host memory for guests is disclosed. For example, a system includes a processor, a host memory, a filesystem daemon, a guest including a storage controller, and a filesystem queue accessible to the filesystem daemon and the storage controller. The storage controller receives a file retrieval request associated with a file stored in the host memory and forwards the file retrieval request to the filesystem daemon by adding the file retrieval request to the filesystem queue. The filesystem daemon retrieves the file retrieval request from the filesystem queue, determines a host memory address (HMA) associated with the file, and causes the HMA to be mapped to a guest memory address (GMA). The guest accesses the file in the host memory with the GMA, and later terminates access to the file, where the filesystem daemon is then configured cause the GMA to be unmapped.Type: ApplicationFiled: April 18, 2022Publication date: July 28, 2022Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
-
Publication number: 20220214901Abstract: A method includes identifying two virtual machines (VMs) to be migrated from a source host. The method further includes determining that the two VMs correspond to identical memory pages in a memory deduplicaiton module. The method further includes recording, in hypervisor memory, an indication that the two VMs correspond to the two identical memory pages in the memory deduplication module. The method further includes sending, by a processing device of the hypvervisor, a single memory page of the two identical memory pages to a first destination host.Type: ApplicationFiled: January 6, 2021Publication date: July 7, 2022Inventors: Michael Tsirkin, David Alan Gilbert
-
Patent number: 11308230Abstract: Direct access to host memory for guests is disclosed. For example, a system includes a processor, a host memory, a filesystem daemon, a guest including a storage controller, and a filesystem queue accessible to the filesystem daemon and the storage controller. The storage controller receives a file retrieval request associated with a file stored in the host memory and forwards the file retrieval request to the filesystem daemon by adding the file retrieval request to the filesystem queue. The filesystem daemon retrieves the file retrieval request from the filesystem queue, determines a host memory address (HMA) associated with the file, and causes the HMA to be mapped to a guest memory address (GMA). The guest accesses the file in the host memory with the GMA, and later terminates access to the file, where the filesystem daemon is then configured cause the GMA to be unmapped.Type: GrantFiled: January 28, 2019Date of Patent: April 19, 2022Assignee: Red Hat, Inc.Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
-
Patent number: 11237963Abstract: Shared filesystem metadata caching is disclosed. For example, a system includes a guest with a storage controller (SC) and a metadata cache on a host with a filesystem daemon (FSD), and a host memory storing a registration table (RT). The SC receives a first metadata request associated with a file stored in the host memory. A first version identifier (VID) of metadata associated with the file is retrieved from the metadata cache and validated against a corresponding second VID in the RT. Upon determining the first VID matches the second VID, the SC responds to the first metadata request based on the metadata. Upon determining the first VID fails to match the second VID, the SC requests the FSD to update the metadata. The first VID is updated to match the second VID and the SC responds to the first metadata request based on the updated metadata.Type: GrantFiled: February 1, 2019Date of Patent: February 1, 2022Assignee: Red Hat, Inc.Inventors: Miklos Szeredi, Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert
-
Patent number: 11151051Abstract: A system and method relates to detecting a hardware event, determining a first virtual memory address associated with the hardware event, wherein the first virtual memory address is associated with a first processing thread, identifying, using the first virtual memory address, an entry of a logical address table, the entry comprising a file descriptor and a file offset associated with a file, identifying a memory address table associated with the file descriptor, translating, using the memory address table, the file offset into a second virtual memory address associated with a second processing thread, and transmitting, to the second processing thread, a notification comprising the second virtual memory address.Type: GrantFiled: October 7, 2019Date of Patent: October 19, 2021Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
-
Publication number: 20200250092Abstract: Shared filesystem metadata caching is disclosed. For example, a system includes a guest with a storage controller (SC) and a metadata cache on a host with a filesystem daemon (FSD), and a host memory storing a registration table (RT). The SC receives a first metadata request associated with a file stored in the host memory. A first version identifier (VID) of metadata associated with the file is retrieved from the metadata cache and validated against a corresponding second VID in the RT. Upon determining the first VID matches the second VID, the SC responds to the first metadata request based on the metadata. Upon determining the first VID fails to match the second VID, the SC requests the FSD to update the metadata. The first VID is updated to match the second VID and the SC responds to the first metadata request based on the updated metadata.Type: ApplicationFiled: February 1, 2019Publication date: August 6, 2020Inventors: Miklos Szeredi, Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert
-
Publication number: 20200242263Abstract: Secure and efficient access to host memory for guests is disclosed. For example, a system includes (i) a processor, (ii) a host memory, (iii) a hypervisor including a filesystem daemon, (iv) a guest including a storage controller, and (v) a first filesystem queue. The storage controller is configured to receive a file request, translate the file request, and add the translated file request to a filesystem queue. The filesystem daemon is configured to retrieve the translated file request from the filesystem queue and provide access to a file in the host memory identified in the file request to the guest.Type: ApplicationFiled: January 28, 2019Publication date: July 30, 2020Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
-
Publication number: 20200242264Abstract: Direct access to host memory for guests is disclosed. For example, a system includes a processor, a host memory, a filesystem daemon, a guest including a storage controller, and a filesystem queue accessible to the filesystem daemon and the storage controller. The storage controller receives a file retrieval request associated with a file stored in the host memory and forwards the file retrieval request to the filesystem daemon by adding the file retrieval request to the filesystem queue. The filesystem daemon retrieves the file retrieval request from the filesystem queue, determines a host memory address (HMA) associated with the file, and causes the HMA to be mapped to a guest memory address (GMA). The guest accesses the file in the host memory with the GMA, and later terminates access to the file, where the filesystem daemon is then configured cause the GMA to be unmapped.Type: ApplicationFiled: January 28, 2019Publication date: July 30, 2020Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
-
Publication number: 20200042461Abstract: A system and method relates to detecting a hardware event, determining a first virtual memory address associated with the hardware event, wherein the first virtual memory address is associated with a first processing thread, identifying, using the first virtual memory address, an entry of a logical address table, the entry comprising a file descriptor and a file offset associated with a file, identifying a memory address table associated with the file descriptor, translating, using the memory address table, the file offset into a second virtual memory address associated with a second processing thread, and transmitting, to the second processing thread, a notification comprising the second virtual memory address.Type: ApplicationFiled: October 7, 2019Publication date: February 6, 2020Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
-
Patent number: 10552080Abstract: Multi-target post-copy guest migration is disclosed. For example, first, second, and third host nodes are associated with respective first, second, and third memories and respective first, second, and third isolated guest managers. An isolated guest, previously migrated from the first host node, executes on the second host node with a first memory page in the first memory and second and third memory pages in the second memory. The isolated guest is requested to migrate to the third host node. The isolated guest executes on the third host node after the third memory page is migrated. The isolated guest requests the first memory page. The third memory is determined to lack the first memory page, and in response, the first and second isolated guest managers are notified that the first memory page is required by the third host resulting in the first memory page being sent to the third host.Type: GrantFiled: July 28, 2017Date of Patent: February 4, 2020Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, David Alan Gilbert
-
Patent number: 10521256Abstract: Methods, systems, and computer program products are included for migrating a virtual machine. An example method of migrating a virtual machine includes transmitting, from a hypervisor, a migration indicator to a guest. The hypervisor receives a free memory page indicator from the guest that identifies one or one or more free memory pages corresponding to a virtual machine. The hypervisor then places the virtual machine in a suspended state. While the virtual machine is in the suspended state, the hypervisor modifies a dirty status and a migration status corresponding to one or more dirty memory pages. After resuming operation of the virtual machine from the suspended state, the hypervisor modifies a migration status corresponding to the one or more free memory pages to exclude the one or more free memory pages from a migration. The hypervisor migrates the one or more dirty memory pages.Type: GrantFiled: August 30, 2016Date of Patent: December 31, 2019Assignee: RED HAD ISRAEL, LTD.Inventors: Michael Tsirkin, David Alan Gilbert
-
Patent number: 10437735Abstract: A system and method relates to detecting a hardware event, determining a first virtual memory address associated with the hardware event, wherein the first virtual memory address is associated with a first processing thread, identifying, using the first virtual memory address, an entry of a logical address table, the entry comprising a file descriptor and a file offset associated with a file, identifying a memory address table associated with the file descriptor, translating, using the memory address table, the file offset into a second virtual memory address associated with a second processing thread, and transmitting, to the second processing thread, a notification comprising the second virtual memory address.Type: GrantFiled: December 13, 2017Date of Patent: October 8, 2019Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
-
Patent number: 10423478Abstract: Systems and methods that enable user space processing threads to handle hardware events (e.g., page faults) for another processing thread in a security-enhanced manner. An example method may comprise: associating, by a processing device executing a kernel, a first processing thread with a storage unit of a second processing thread; detecting, by a processing device, a hardware event corresponding to an address of the storage unit; determining a storage object comprising data of the storage unit; translating the address of the storage unit to an offset of the storage object; and transmitting, by the kernel, a notification of the hardware event to the first processing thread, wherein the notification comprises the offset.Type: GrantFiled: August 29, 2017Date of Patent: September 24, 2019Assignee: Red Hat, Inc.Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
-
Publication number: 20190179767Abstract: A system and method relates to detecting a hardware event, determining a first virtual memory address associated with the hardware event, wherein the first virtual memory address is associated with a first processing thread, identifying, using the first virtual memory address, an entry of a logical address table, the entry comprising a file descriptor and a file offset associated with a file, identifying a memory address table associated with the file descriptor, translating, using the memory address table, the file offset into a second virtual memory address associated with a second processing thread, and transmitting, to the second processing thread, a notification comprising the second virtual memory address.Type: ApplicationFiled: December 13, 2017Publication date: June 13, 2019Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
-
Publication number: 20190065301Abstract: Systems and methods that enable user space processing threads to handle hardware events (e.g., page faults) for another processing thread in a security-enhanced manner. An example method may comprise: associating, by a processing device executing a kernel, a first processing thread with a storage unit of a second processing thread; detecting, by a processing device, a hardware event corresponding to an address of the storage unit; determining a storage object comprising data of the storage unit; translating the address of the storage unit to an offset of the storage object; and transmitting, by the kernel, a notification of the hardware event to the first processing thread, wherein the notification comprises the offset.Type: ApplicationFiled: August 29, 2017Publication date: February 28, 2019Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
-
Publication number: 20190034112Abstract: Multi-target post-copy guest migration is disclosed. For example, first, second, and third host nodes are associated with respective first, second, and third memories and respective first, second, and third isolated guest managers. An isolated guest, previously migrated from the first host node, executes on the second host node with a first memory page in the first memory and second and third memory pages in the second memory. The isolated guest is requested to migrate to the third host node. The isolated guest executes on the third host node after the third memory page is migrated. The isolated guest requests the first memory page. The third memory is determined to lack the first memory page, and in response, the first and second isolated guest managers are notified that the first memory page is required by the third host resulting in the first memory page being sent to the third host.Type: ApplicationFiled: July 28, 2017Publication date: January 31, 2019Inventors: Michael Tsirkin, David Alan Gilbert