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: 11870846
    Abstract: 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: Grant
    Filed: February 25, 2021
    Date of Patent: January 9, 2024
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Publication number: 20220269521
    Abstract: 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: Application
    Filed: February 25, 2021
    Publication date: August 25, 2022
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Publication number: 20220269522
    Abstract: 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: Application
    Filed: February 25, 2021
    Publication date: August 25, 2022
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Publication number: 20220272152
    Abstract: 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: Application
    Filed: February 25, 2021
    Publication date: August 25, 2022
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Publication number: 20220237313
    Abstract: 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: Application
    Filed: April 18, 2022
    Publication date: July 28, 2022
    Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
  • Publication number: 20220214901
    Abstract: 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: Application
    Filed: January 6, 2021
    Publication date: July 7, 2022
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Patent number: 11308230
    Abstract: 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: Grant
    Filed: January 28, 2019
    Date of Patent: April 19, 2022
    Assignee: Red Hat, Inc.
    Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
  • Patent number: 11237963
    Abstract: 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: Grant
    Filed: February 1, 2019
    Date of Patent: February 1, 2022
    Assignee: Red Hat, Inc.
    Inventors: Miklos Szeredi, Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert
  • Patent number: 11151051
    Abstract: 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: Grant
    Filed: October 7, 2019
    Date of Patent: October 19, 2021
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
  • Publication number: 20200250092
    Abstract: 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: Application
    Filed: February 1, 2019
    Publication date: August 6, 2020
    Inventors: Miklos Szeredi, Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert
  • Publication number: 20200242263
    Abstract: 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: Application
    Filed: January 28, 2019
    Publication date: July 30, 2020
    Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
  • Publication number: 20200242264
    Abstract: 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: Application
    Filed: January 28, 2019
    Publication date: July 30, 2020
    Inventors: Stefan Hajnoczi, Vivek Goyal, David Alan Gilbert, Steven John Whitehouse, Miklos Szeredi
  • Publication number: 20200042461
    Abstract: 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: Application
    Filed: October 7, 2019
    Publication date: February 6, 2020
    Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
  • Patent number: 10552080
    Abstract: 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: Grant
    Filed: July 28, 2017
    Date of Patent: February 4, 2020
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Patent number: 10521256
    Abstract: 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: Grant
    Filed: August 30, 2016
    Date of Patent: December 31, 2019
    Assignee: RED HAD ISRAEL, LTD.
    Inventors: Michael Tsirkin, David Alan Gilbert
  • Patent number: 10437735
    Abstract: 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: Grant
    Filed: December 13, 2017
    Date of Patent: October 8, 2019
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
  • Patent number: 10423478
    Abstract: 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: Grant
    Filed: August 29, 2017
    Date of Patent: September 24, 2019
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
  • Publication number: 20190179767
    Abstract: 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: Application
    Filed: December 13, 2017
    Publication date: June 13, 2019
    Inventors: Michael Tsirkin, Andrea Lee Arcangeli, David Alan Gilbert
  • Publication number: 20190065301
    Abstract: 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: Application
    Filed: August 29, 2017
    Publication date: February 28, 2019
    Inventors: Michael Tsirkin, Andrea Arcangeli, David Alan Gilbert
  • Publication number: 20190034112
    Abstract: 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: Application
    Filed: July 28, 2017
    Publication date: January 31, 2019
    Inventors: Michael Tsirkin, David Alan Gilbert