Patents by Inventor Kevin Michael Broas

Kevin Michael Broas 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: 12353903
    Abstract: Isolating resources of a virtual machine (VM) guest from a host operating system. A computer system receives an acceptance request from a guest partition corresponding to an isolated VM. The acceptance request identifies a guest memory page that is mapped into a guest physical address space of the guest partition, and a memory page visibility class. The computer system determines whether a physical memory page that is mapped to the guest memory page meets the memory page visibility class. The computer system sets a page acceptance indication for the guest memory page from an unaccepted state to an accepted state based on the physical memory page meeting the memory page visibility class.
    Type: Grant
    Filed: June 10, 2022
    Date of Patent: July 8, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, David Alan Hepkin, Michael Bishop Ebersol, Stephanie Sumyi Luck, Jonathan Edward Lange, Bruce J. Sherwin, Jr., Kevin Michael Broas, Wen Jia Liu, Xin David Zhang, Alexander Daniel Grest
  • Patent number: 12340207
    Abstract: A computing system running a host operating system and a virtual machine (VM). The computing system includes at least one device that is directly assigned to the VM. The computing system is configured to execute one or more first VM components and one or more second VM components. The one or more first VM components are configured to manage the one or more second VM components via one or more identification pointers. While the one or more second VM components remain loaded in a system memory, and the directly assigned device remains attached to the VM and remains configured to communicate with the one or more second VM component, the one or more first VM components are shut down and restored.
    Type: Grant
    Filed: December 18, 2023
    Date of Patent: June 24, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kevin Michael Broas, David Alan Hepkin, Wen Jia Liu, Hadden Mark Hoppert
  • Patent number: 12328237
    Abstract: A device calculates a memory oversubscription threshold for a virtual machine (VM). Based on the memory oversubscription threshold, the device determines a first memory size to be physically allocated to the VM, and a second memory size to be oversubscribed to the VM. The device configures a first virtual non-uniform memory access (NUMA) node comprising a virtual processor and a first virtual memory having the first memory size. The device allocates a first physical memory to back the first virtual memory. The device configures a second virtual NUMA node comprising a second virtual memory having the second memory size. The second virtual NUMA node is a computeless NUMA node. The device configures the VM to use the first virtual NUMA node and the second virtual NUMA node. Based on the second virtual NUMA node being computeless, the VM funnels a memory access to the first virtual memory.
    Type: Grant
    Filed: December 5, 2022
    Date of Patent: June 10, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kevin Michael Broas, Yevgeniy M. Bak, Lisa Ru-feng Hsu, Daniel Sebastian Berger
  • Patent number: 12204449
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Grant
    Filed: February 13, 2023
    Date of Patent: January 21, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Kevin Michael Broas, David Alan Hepkin, Landy Wang, Mehmet Iyigun, Brandon Alec Allsop, Arun U. Kishan
  • Patent number: 11875145
    Abstract: A computing system running a host operating system and a virtual machine (VM). The computing system includes at least one device that is directly assigned to the VM. The computing system is configured to execute one or more first VM components and one or more second VM components. The one or more first VM components are configured to manage the one or more second VM components via one or more identification pointers. While the one or more second VM components remain loaded in a system memory, and the directly assigned device remains attached to the VM and remains configured to communicate with the one or more second VM component, the one or more first VM components are shut down and restored.
    Type: Grant
    Filed: December 13, 2022
    Date of Patent: January 16, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kevin Michael Broas, David Alan Hepkin, Wen Jia Liu, Hadden Mark Hoppert
  • Patent number: 11580019
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Grant
    Filed: April 17, 2020
    Date of Patent: February 14, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yevgeniy M. Bak, Kevin Michael Broas, David Alan Hepkin, Landy Wang, Mehmet Iyigun, Brandon Alec Allsop, Arun U. Kishan
  • Patent number: 11531533
    Abstract: A computing system running a host operating system and a virtual machine (VM). The computing system includes at least one device that is directly assigned to the VM. The computing system is configured to execute one or more first VM components and one or more second VM components. The one or more first VM components are configured to manage the one or more second VM components via one or more identification pointers. While the one or more second VM components remain loaded in a system memory, and the directly assigned device remains attached to the VM and remains configured to communicate with the one or more second VM component, the one or more first VM components are shut down and restored.
    Type: Grant
    Filed: April 12, 2021
    Date of Patent: December 20, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kevin Michael Broas, David Alan Hepkin, Wen Jia Liu, Hadden Mark Hoppert
  • Publication number: 20210326253
    Abstract: Techniques for computer memory management are disclosed herein. In one embodiment, a method includes in response to receiving a request for allocation of memory, determining whether the request is for allocation from a first memory region or a second memory region of the physical memory. The first memory region has first memory subregions of a first size and the second memory region having second memory subregions of a second size larger than the first size of the first memory region. The method further includes in response to determining that the request for allocation of memory is for allocation from the first or second memory region, allocating a portion of the first or second multiple memory subregions of the first or second memory region, respectively, in response to the request.
    Type: Application
    Filed: April 17, 2020
    Publication date: October 21, 2021
    Inventors: Yevgeniy M. Bak, Kevin Michael Broas, David Alan Hepkin, Landy Wang, Mehmet Iyigun, Brandon Alec Allsop, Arun U. Kishan
  • Patent number: 10990374
    Abstract: An operation of a VM running first and second VM components is suspended so that a servicing operation for the VM can be performed. The VM has devices directly attached to it. A state of the first VM components is saved. An identification pointer for the second VM components is saved in a portion of the computing system physical memory without removing any underlying data structures of second VM components from computing system physical hardware. The directly attached devices remain configured as attached to the VM and remain configured to communicate with the VM while the VM is suspended and while the servicing operation is performed. The first VM components are shut down and then restored at the completion of the servicing operation using the saved state. The restored first VM components are reconnected to the second VM components using the identification pointers. The operation of the VM is restored.
    Type: Grant
    Filed: September 14, 2018
    Date of Patent: April 27, 2021
    Assignee: MICROSOFTTECHNOLOGY LICENSING, LLC
    Inventors: Kevin Michael Broas, David Alan Hepkin, Wen Jia Liu, Hadden Mark Hoppert
  • Patent number: 10826749
    Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.
    Type: Grant
    Filed: June 11, 2019
    Date of Patent: November 3, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
  • Publication number: 20190296957
    Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.
    Type: Application
    Filed: June 11, 2019
    Publication date: September 26, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
  • Patent number: 10404520
    Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: September 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
  • Patent number: 10068092
    Abstract: A facility for booting a virtual machine hosted on a host is described. In one example facility, the facility boots the virtual machine in accordance with a policy instance associated with the virtual machine. As part of the booting, the facility extracts information needed to complete the booting from a virtual trusted platform module associated with the virtual machine, the extraction based upon the policy instance associated with the virtual machine. At the completion of the booting, the facility copies contents of a policy instance associated with the host into the policy instance associated with the virtual machine.
    Type: Grant
    Filed: August 12, 2015
    Date of Patent: September 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lawrence Ralph Cleeton, Yevgeniy A. Samsonov, Kinshumann Kinshumann, Jingbo Wu, Kevin Michael Broas, Samartha Chandrashekar
  • Publication number: 20180046536
    Abstract: Processing faults in a virtual computing environment. A method includes receiving a request to perform a memory access for a virtual machine. The method further includes identifying that that the memory access is unable to be performed without taking a fault. The method further includes identifying that a virtual fault can be taken to service the fault. The virtual fault is taken by servicing the fault asynchronously with respect to the virtual machine. The method further includes identifying that a virtual fault should be taken by evaluating criteria to weigh taking a virtual fault for servicing the fault asynchronously versus servicing the fault synchronously. As a result of identifying that a virtual fault should be taken, the method farther includes notifying the virtual machine that a virtual fault should be taken for the memory access. The method further includes servicing the fault asynchronously with respect to the virtual machine.
    Type: Application
    Filed: November 4, 2016
    Publication date: February 15, 2018
    Inventors: Mehmet Iyigun, Kevin Michael Broas, Arun U. Kishan, Yevgeniy M. Bak, John Joseph Richardson
  • Publication number: 20170123996
    Abstract: Mapping files in host virtual address backed virtual machines. A method includes receiving a request from a guest virtual machine for a file from a host. The method further includes, at the host determining that the file can be directly mapped to a physical memory location for virtual machines requesting access to the file. The method further includes, at the host, providing guest physical memory backed by the file flapping in host virtual memory.
    Type: Application
    Filed: May 16, 2016
    Publication date: May 4, 2017
    Inventors: Arun U. Kishan, Mehmet Iyigun, Landy Wang, Kevin Michael Broas, Yevgeniy M. Bak
  • Publication number: 20160299712
    Abstract: A host machine having guest virtual machine physical memory backed by host virtual memory is described. The host machine includes host physical memory. The host machine further includes one or more guest virtual machines. Each of the guest virtual machines includes guest physical memory. The host machine further includes host virtual memory. The host machine further includes a data structure having a correlation of guest physical memory addresses to host virtual memory addresses and a data structure having a correlation of host virtual memory addresses to host physical memory addresses.
    Type: Application
    Filed: April 27, 2015
    Publication date: October 13, 2016
    Inventors: Arun U. Kishan, Landy Wang, Mehmet Iyigun, Kevin Michael Broas, Yevgeniy M. Bak
  • Publication number: 20160210457
    Abstract: A facility for booting a virtual machine hosted on a host is described. In one example facility, the facility boots the virtual machine in accordance with a policy instance associated with the virtual machine. As part of the booting, the facility extracts information needed to complete the booting from a virtual trusted platform module associated with the virtual machine, the extraction based upon the policy instance associated with the virtual machine. At the completion of the booting, the facility copies contents of a policy instance associated with the host into the policy instance associated with the virtual machine.
    Type: Application
    Filed: August 12, 2015
    Publication date: July 21, 2016
    Inventors: Lawrence Ralph Cleeton, Yevgeniy A. Samsonov, Kinshumann Kinshumann, Jingbo Wu, Kevin Michael Broas, Samartha Chandrashekar
  • Publication number: 20140359144
    Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.
    Type: Application
    Filed: May 29, 2013
    Publication date: December 4, 2014
    Inventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas