Patents by Inventor Henri van Riel

Henri van Riel 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: 10069626
    Abstract: A method includes, with a computing system, exiting a context of a virtual machine, the exiting in response to a request from a guest operating system of the virtual machine to switch from a first encryption key identifier for the virtual machine to a second encryption key identifier for the virtual machine. The method further includes, with the computing system, loading the second encryption key identifier into a virtual machine control module of a virtual processor of the virtual machine and after loading the second encryption key identifier, entering the context of the virtual machine.
    Type: Grant
    Filed: February 23, 2016
    Date of Patent: September 4, 2018
    Inventor: Henri Van Riel
  • Publication number: 20180239625
    Abstract: A system for CPU overcommit with guest idle-polling includes a memory, a plurality of host CPUs in communication with the memory, a virtual machine, and a hypervisor. The plurality of host CPUs include a first host CPU and a second host CPU. The virtual machine includes a virtual central processing unit (VCPU) and a guest. In an example, the VCPU executes on the first host CPU. The guest records in a location of guest memory a value indicating that the VCPU is in an idle-polling state. Then, when the hypervisor detects that a new task needs to be executed, the hypervisor reads the value in the location of the guest memory and determines that the VCPU is in the idle-polling state. Then, the hypervisor schedules the new task to the first host CPU.
    Type: Application
    Filed: February 22, 2017
    Publication date: August 23, 2018
    Inventors: Michael Tsirkin, Henri van Riel
  • Patent number: 10002016
    Abstract: A system and methods are disclosed for configuring a virtualized system for real-time response from virtual machines (VMs). In accordance with one embodiment, a VM request is received, where the request specifies a number N of virtual processors for executing real-time tasks, and where N is a positive integer. In response to the VM request, a plurality of physical processors are partitioned into a first subset dedicated to real-time tasks and a second subset dedicated to non-real-time tasks, the first subset having at least N physical processors, and one or more commands are submitted to one or both of a hypervisor and a guest OS of a first VM to configure the first VM to have N virtual processors dedicated to real-time tasks and a set of additional virtual processors dedicated to non-real-time tasks.
    Type: Grant
    Filed: July 23, 2015
    Date of Patent: June 19, 2018
    Assignee: Red Hat, Inc.
    Inventors: Henri Van Riel, Luiz Capitulino, Marcelo Tosatti
  • Publication number: 20180150232
    Abstract: An example method of allocating memory pages for a guest includes receiving, by a hypervisor, a request to allocate a plurality of guest memory pages for a guest running on a virtual machine. The virtual machine and the hypervisor run on a host machine. The method also includes in response to the request: (i) allocating, by the hypervisor, a plurality of host memory pages, and (ii) mapping the plurality of guest memory pages to the plurality of host memory pages.
    Type: Application
    Filed: November 29, 2016
    Publication date: May 31, 2018
    Inventors: Michael Tsirkin, Henri van Riel
  • Publication number: 20180089089
    Abstract: Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to direct access excited (DAX) memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to DAX memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the DAX memory to a secondary storage in view of the order of the plurality of modifications.
    Type: Application
    Filed: December 4, 2017
    Publication date: March 29, 2018
    Inventor: Henri Van Riel
  • Patent number: 9886449
    Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of data objects. An example method may involve: receiving a request to create a data object; storing a first portion of the data object in a first data storage; determining a location in a second data storage in view of a predicted size of the data object and an access unit size of the second data storage; copying, by a processing device, the first portion of the data object from the first data storage to the location in the second data storage; and in response to receiving a second portion of the data object, directly storing the second portion in the second data storage.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: February 6, 2018
    Assignee: Red Hat, Inc.
    Inventor: Henri Van Riel
  • Publication number: 20180032452
    Abstract: A system, methods, and apparatus for determining memory distribution across multiple non-uniform memory access processing nodes are disclosed. An apparatus includes processing nodes, each including processing units and main memory serving as local memory. A bus connects the processing units of each processing node to different main memory of a different processing node as shared memory. Access to local memory has lower memory access latency than access to shared memory. The processing nodes execute threads distributed across the processing nodes, and detect memory accesses made from each processing node for each thread. The processing nodes determine locality values for the thread that represent the fraction of memory accesses made from the processing nodes, and determine processing time values for the threads for a sampling period. The processing nodes determine weighted locality values for the threads, and determine a memory distribution across the processing nodes based on the weighted locality values.
    Type: Application
    Filed: October 9, 2017
    Publication date: February 1, 2018
    Inventor: Henri van Riel
  • Publication number: 20180025022
    Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of data objects. An example method may involve: receiving a request to create a data object; storing a first portion of the data object in a first data storage; determining a location in a second data storage in view of a predicted size of the data object and an access unit size of the second data storage; copying, by a processing device, the first portion of the data object from the first data storage to the location in the second data storage; and in response to receiving a second portion of the data object, directly storing the second portion in the second data storage.
    Type: Application
    Filed: February 15, 2017
    Publication date: January 25, 2018
    Inventor: Henri Van Riel
  • Patent number: 9836402
    Abstract: Systems and methods for data storage management technology that enables a guest module of a virtual machine to indicate an order in which a host module should write data from physical memory to a secondary storage. An example method may comprise: identifying, by a processing device executing a host module, a plurality of modifications to physical memory made by a plurality of direct access operations executed by a guest module of a virtual machine; determining, by the host module, an order of the plurality of modifications to physical memory; receiving, by the host module, a synchronization request from the guest module; and responsive to the synchronization request, copying, by the host module, data from the physical memory to a secondary storage in view of the order of the plurality of modifications.
    Type: Grant
    Filed: July 22, 2016
    Date of Patent: December 5, 2017
    Assignee: Red Hat, Inc.
    Inventor: Henri Van Riel
  • Patent number: 9798482
    Abstract: A system and method for efficient and secure memory allocation in virtualized systems. A hypervisor receives, from a first virtual machine (VM), a message specifying a page of memory accessible to the first VM. The hypervisor determines that the page is not accessible to other VMs, adds an identifier identifying the page to a set of free page identifiers, and associates the identifier with the first VM. The hypervisor receives a page allocation request from a second VM, and in response attempts to locate an identifier associated with the second VM in the set of free page identifiers. Responsive to a successful attempt, the hypervisor allocates to the second VM a first page of memory corresponding to the located identifier, without clearing the first page. Responsive to an unsuccessful attempt, the hypervisor clears a second page of memory and allocates the cleared second page to the second VM.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: October 24, 2017
    Assignee: Red Hat, Inc.
    Inventors: Michael Tsirkin, Henri van Riel
  • Patent number: 9785581
    Abstract: A system, methods, and apparatus for determining memory distribution across multiple non-uniform memory access processing nodes are disclosed. An apparatus includes processing nodes, each including processing units and main memory serving as local memory. A bus connects the processing units of each processing node to different main memory of a different processing node as shared memory. Access to local memory has lower memory access latency than access to shared memory. The processing nodes execute threads distributed across the processing nodes, and detect memory accesses made from each processing node for each thread. The processing nodes determine locality values for the thread that represent the fraction of memory accesses made from the processing nodes, and determine processing time values for the threads for a sampling period. The processing nodes determine weighted locality values for the threads, and determine a memory distribution across the processing nodes based on the weighted locality values.
    Type: Grant
    Filed: February 28, 2014
    Date of Patent: October 10, 2017
    Assignee: Red Hat, Inc.
    Inventor: Henri van Riel
  • Publication number: 20170244557
    Abstract: A method includes, with a computing system, exiting a context of a virtual machine, the exiting in response to a request from a guest operating system of the virtual machine to switch from a first encryption key identifier for the virtual machine to a second encryption key identifier for the virtual machine. The method further includes, with the computing system, loading the second encryption key identifier into a virtual machine control module of a virtual processor of the virtual machine and after loading the second encryption key identifier, entering the context of the virtual machine.
    Type: Application
    Filed: February 23, 2016
    Publication date: August 24, 2017
    Inventor: Henri Van Riel
  • Patent number: 9715403
    Abstract: Optimized extended context management for virtual machines is disclosed. An example system includes a memory, processor, VM, and kernel, which executes the VM using guest space, stores a guest state in an extended state register, which the VM has access to, receives an instruction, saves the guest state, and determines whether the kernel is configured to handle the process using kernel space. If so, the process is handled using kernel space without using user space, and if not, a user state in the extended state register is restored, the process is handled using user space, an updated user state is stored in the extended state register, the updated user state is saved, and the guest state is restored in the extended state register. Finally, execution of the VM using the guest space is resumed.
    Type: Grant
    Filed: February 27, 2015
    Date of Patent: July 25, 2017
    Assignee: Red Hat, Inc.
    Inventors: Henri van Riel, Marcelo Tosatti
  • Publication number: 20170075814
    Abstract: Methods, systems, and computer program products for receiving a memory allocation request; comparing a memory size corresponding to the memory allocation request to a memory size threshold; allocating a memory page that has a size larger than the memory size threshold, the memory page having a page entry in a page management data structure; and allocating a portion of the memory page, the portion of the memory page corresponding to a sub-page of the memory page.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Henri van Riel, Michael Tsirkin
  • Publication number: 20170075582
    Abstract: Methods, systems, and computer program products for receiving a memory access request, the memory access request including a virtual memory address; locating a page entry in a page entry structure, the page entry corresponding to the virtual memory address; identifying that a page corresponding to the page entry includes a sub-page, the sub-page included within a subset of a memory space allocated to the page; determining a page frame number corresponding to the sub-page and an offset corresponding to the sub-page; and accessing the offset within the sub-page.
    Type: Application
    Filed: September 11, 2015
    Publication date: March 16, 2017
    Inventors: Henri van Riel, Michael Tsirkin
  • Patent number: 9588976
    Abstract: Systems and methods for data storage management technology that optimizes the creation and storage of file objects. The method includes: receiving a request to create a file object; storing a first portion of the file object in a buffer in a first data storage; determining a location in a second data storage in view of a predicted size of the file object; migrating the first portion of the file object from the buffer to the location in the second data storage; and in response to receiving a second portion of the file object, storing the second portion in the second data storage without storing the second portion in the buffer in the first data storage.
    Type: Grant
    Filed: July 22, 2016
    Date of Patent: March 7, 2017
    Assignee: Red Hat, Inc.
    Inventor: Henri Van Riel
  • Publication number: 20170024231
    Abstract: A system and methods are disclosed for configuring a virtualized system for real-time response from virtual machines (VMs). In accordance with one embodiment, a VM request is received, where the request specifies a number N of virtual processors for executing real-time tasks, and where N is a positive integer. In response to the VM request, a plurality of physical processors are partitioned into a first subset dedicated to real-time tasks and a second subset dedicated to non-real-time tasks, the first subset having at least N physical processors, and one or more commands are submitted to one or both of a hypervisor and a guest OS of a first VM to configure the first VM to have N virtual processors dedicated to real-time tasks and a set of additional virtual processors dedicated to non-real-time tasks.
    Type: Application
    Filed: July 23, 2015
    Publication date: January 26, 2017
    Inventors: Henri Van Riel, Luiz Capitulino, Marcelo Tosatti
  • Patent number: 9471228
    Abstract: Aspects of the disclosure provide for caching policies for solid state drives. A method of the disclosure includes receiving a request to perform a write operation of a first size; determining, by a processing device, a threshold of input/output I/O size in view of an average bandwidth of a solid state drive (SSD) and information related to I/O operations performed by at least one of the SSD or a hard disk drive (HDD); comparing the first size with the threshold of I/O size; and determining, by the processing device, whether the write operation is to be performed on the SSD or on the HDD in view of the comparison.
    Type: Grant
    Filed: November 20, 2014
    Date of Patent: October 18, 2016
    Assignee: Red Hat, Inc.
    Inventor: Henri van Riel
  • Publication number: 20160253196
    Abstract: Optimized extended context management for virtual machines is disclosed. An example system includes a memory, processor, VM, and kernel, which executes the VM using guest space, stores a guest state in an extended state register, which the VM has access to, receives an instruction, saves the guest state, and determines whether the kernel is configured to handle the process using kernel space. If so, the process is handled using kernel space without using user space, and if not, a user state in the extended state register is restored, the process is handled using user space, an updated user state is stored in the extended state register, the updated user state is saved, and the guest state is restored in the extended state register. Finally, execution of the VM using the guest space is resumed.
    Type: Application
    Filed: February 27, 2015
    Publication date: September 1, 2016
    Inventors: Henri van Riel, Marcelo Tosatti
  • Publication number: 20160147443
    Abstract: Aspects of the disclosure provide for caching policies for solid state drives. A method of the disclosure includes receiving a request to perform a write operation of a first size; determining, by a processing device, a threshold of input/output I/O size in view of an average bandwidth of a solid state drive (SSD) and information related to I/O operations performed by at least one of the SSD or a hard disk drive (HDD); comparing the first size with the threshold of I/O size; and determining, by the processing device, whether the write operation is to be performed on the SSD or on the HDD in view of the comparison.
    Type: Application
    Filed: November 20, 2014
    Publication date: May 26, 2016
    Inventor: Henri van Riel