Patents by Inventor Carl Alan WALDSPURGER

Carl Alan WALDSPURGER 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: 12147844
    Abstract: In some aspects, a non-transitory computer readable storage medium includes instructions stored thereon that, when executed by a processor, cause the processor to detect that system software is proceeding to swap memory content of a virtual machine (VM) from memory to storage, wherein the memory is allocated to the VM; buffer the memory content; and perform alternative memory reclamation of the memory.
    Type: Grant
    Filed: March 4, 2021
    Date of Patent: November 19, 2024
    Assignee: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies
  • Patent number: 12107879
    Abstract: Methods, systems, apparatuses, and computer-readable storage mediums are described for assigning a security risk score to a resource. In one example, resource access data is collected for a resource. Based at least on the resource access data, a data risk index (DRI) score is generated for the resource. The DRI score comprises a value that is indicative of a level of risk that the resource will be compromised. At least one of the DRI score, an alert based at least on the DRI score, or a policy change for the resource based at least on the generated DRI score is reported to an administrator.
    Type: Grant
    Filed: January 28, 2022
    Date of Patent: October 1, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Carl Alan Waldspurger, Shaun Robert Applegate-Swanson, Venkata Adusumilli, Balaji Parimi, Naga Venkata Naveen Teja Jangalapalli, Nicholas James Barretta, Guruprasad Ramprakash, Parag Mahendrakumar Bajaria
  • Publication number: 20240143389
    Abstract: Methods, systems, and computer program products for high-performance multi-node computing. Upon receiving a request to move a computing process from a first computing node to a second computing node, an agent responds to the request by: copying contents of one or more pages of the computing process from the first computing node to the second computing node, identifying page recency metadata corresponding to the one or more pages of the computing process, and copying all or portions of the identified page recency metadata to the second computing node. When the CPU of the second computing node accesses pages of the moved computing process, the operating system of the second computing node observes page recency metadata that had been copied from the first node and stored at the second computing node. The computing process might comprise a virtual machine, a guest operating system, or an executable container.
    Type: Application
    Filed: October 28, 2022
    Publication date: May 2, 2024
    Applicant: Nutanix, Inc.
    Inventors: Ivan TETEREVKOV, Carl Alan WALDSPURGER, Jonathan DAVIES
  • Patent number: 11899572
    Abstract: In some aspects, a non-transitory computer readable storage medium includes instructions stored thereon that, when executed by a processor, cause the processor to create a virtual swap space that is exposed to a core system software, intercept a first page selected by the core system software to be swapped out to the virtual swap space, map the virtual swap space to a physical swap space that is allocated to a type of page associated with first swap metadata, and write the first page to the physical swap space based on the first page having the first swap metadata. In some embodiments, the first page is associated with the first swap metadata.
    Type: Grant
    Filed: September 9, 2021
    Date of Patent: February 13, 2024
    Assignee: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies, Ivan Teterevkov, Christopher Joel Riches
  • Patent number: 11816498
    Abstract: Various embodiments disclosed herein are related to a non-transitory computer readable storage medium. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to receive, from a user-space application, a request to detect swapping activity satisfying a threshold condition, detect the swapping activity satisfying the threshold condition, and, in response to occurrence of the threshold condition, send a response that indicates that the swapping activity satisfies the threshold condition.
    Type: Grant
    Filed: January 21, 2021
    Date of Patent: November 14, 2023
    Assignee: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies
  • Publication number: 20230237169
    Abstract: In some aspects, an apparatus includes a processor and a memory. In some embodiments, the memory includes programmed instructions that, when executed by the processor, cause the apparatus to intercept an I/O transaction between a virtual machine and an I/O device, determine whether data in the I/O transaction indicates a security misconfiguration, and perform a remedial action in response to identifying the security misconfiguration.
    Type: Application
    Filed: January 21, 2022
    Publication date: July 27, 2023
    Applicant: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Bijan Mottahedeh
  • Patent number: 11656982
    Abstract: Various embodiments disclosed herein are related to a non-transitory computer readable storage medium. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to send an indication of a first storage location to a destination host. In some embodiments, the first storage location includes content that is swapped out from a memory location in a source host. In some embodiments, the indication includes one or more of a logical address and a first physical address. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to map the logical address of the first storage location to a second physical address of a second storage location. In some embodiments, the destination host accesses the content of the first storage location.
    Type: Grant
    Filed: January 15, 2021
    Date of Patent: May 23, 2023
    Assignee: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Felipe Franciosi, Florian Anselm Johannes Schmidt
  • Publication number: 20230071475
    Abstract: In some aspects, a non-transitory computer readable storage medium includes instructions stored thereon that, when executed by a processor, cause the processor to create a virtual swap space that is exposed to a core system software, intercept a first page selected by the core system software to be swapped out to the virtual swap space, map the virtual swap space to a physical swap space that is allocated to a type of page associated with first swap metadata, and write the first page to the physical swap space based on the first page having the first swap metadata. In some embodiments, the first page is associated with the first swap metadata.
    Type: Application
    Filed: September 9, 2021
    Publication date: March 9, 2023
    Applicant: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies, Ivan Teterevkov, Christopher Joel Riches
  • Publication number: 20220283873
    Abstract: In some aspects, a non-transitory computer readable storage medium includes instructions stored thereon that, when executed by a processor, cause the processor to detect that system software is proceeding to swap memory content of a virtual machine (VM) from memory to storage, wherein the memory is allocated to the VM; buffer the memory content; and perform alternative memory reclamation of the memory.
    Type: Application
    Filed: March 4, 2021
    Publication date: September 8, 2022
    Applicant: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies
  • Publication number: 20220263851
    Abstract: Methods, systems, apparatuses, and computer-readable storage mediums are described for assigning a security risk score to a resource. In one example, resource access data is collected for a resource. Based at least on the resource access data, a data risk index (DRI) score is generated for the resource. The DRI score comprises a value that is indicative of a level of risk that the resource will be compromised. At least one of the DRI score, an alert based at least on the DRI score, or a policy change for the resource based at least on the generated DRI score is reported to an administrator.
    Type: Application
    Filed: January 28, 2022
    Publication date: August 18, 2022
    Inventors: Carl Alan WALDSPURGER, Shaun Robert APPLEGATE-SWANSON, Venkata ADUSUMILLI, Balaji PARIMI, Naga Venkata Naveen Teja JANGALAPALLI, Nicholas James BARRETTA, Guruprasad RAMPRAKASH, Parag Mahendrakumar BAJARIA
  • Publication number: 20220229684
    Abstract: Various embodiments disclosed herein are related to a non-transitory computer readable storage medium. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to receive, from a user-space application, a request to detect swapping activity satisfying a threshold condition, detect the swapping activity satisfying the threshold condition, and, in response to occurrence of the threshold condition, send a response that indicates that the swapping activity satisfies the threshold condition.
    Type: Application
    Filed: January 21, 2021
    Publication date: July 21, 2022
    Applicant: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Florian Anselm Johannes Schmidt, Jonathan James Davies
  • Publication number: 20220229774
    Abstract: Various embodiments disclosed herein are related to a non-transitory computer readable storage medium. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to send an indication of a first storage location to a destination host. In some embodiments, the first storage location includes content that is swapped out from a memory location in a source host. In some embodiments, the indication includes one or more of a logical address and a first physical address. In some embodiments, the medium includes instructions stored thereon that, when executed by a processor, cause the processor to map the logical address of the first storage location to a second physical address of a second storage location. In some embodiments, the destination host accesses the content of the first storage location.
    Type: Application
    Filed: January 15, 2021
    Publication date: July 21, 2022
    Applicant: Nutanix, Inc.
    Inventors: Carl Alan Waldspurger, Felipe Franciosi, Florian Anselm Johannes Schmidt
  • Patent number: 11221971
    Abstract: Systems and methods are directed to managing access to a shared memory. A request received at a memory controller, for access to the shared memory from a client of one or more clients configured to access the shared memory, is placed in at least one queue in the memory controller. A series of one or more timeout values is assigned to the request, based, at least in part on a priority associated with the client which generated the request. The priority may be fixed or based on a Quality-of-Service (QoS) class of the client. A timer is incremented while the request remains in the first queue. As the timer traverses each one of the one or more timeout values in the series, a criticality level of the request is incremented. A request with a higher criticality level may be prioritized for servicing over a request with a lower criticality level.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: January 11, 2022
    Assignee: Qualcomm Incorporated
    Inventors: Derek Hower, Harold Wade Cain, III, Carl Alan Waldspurger
  • Patent number: 10831254
    Abstract: Allocating power between multiple central processing units (CPUs) in a multi-CPU processor based on total current availability and individual CPU quality-of-service (QoS) requirements is disclosed. Current from a power rail is allocated to CPUs by a global current manger (GCM) circuit related to performance criteria set by CPUs. The CPUs can request increased current allocation from the GCM circuit, such as in response to executing a higher performance task. If the increased current allocation request keeps total current on the power rail within its maximum rail current limit, the GCM circuit approves the request to allow the CPU increased current allocation. This can allow CPUs executing higher performance tasks to have a larger current allocation than CPUs executing lower performance tasks without the maximum rail current limit being exceeded, and without having to necessarily lower voltage of the power rail, which could unnecessarily lower performance of all CPUs.
    Type: Grant
    Filed: September 12, 2018
    Date of Patent: November 10, 2020
    Assignee: Qualcomm Incorporated
    Inventors: Shivam Priyadarshi, SeyedMajid Zahedi, Derek Robert Hower, Carl Alan Waldspurger, Jeffrey Todd Bridges, Sanjay Bhikhubhai Patel, Gabriel Martel Tarr, Chih Kang Lin, Ryan Donovan Wells, Harold Wade Cain, III
  • Patent number: 10678690
    Abstract: Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: June 9, 2020
    Assignee: QUALCOMM Incorporated
    Inventors: Derek Robert Hower, Carl Alan Waldspurger, Vikramjit Sethi
  • Publication number: 20190086982
    Abstract: Allocating power between multiple central processing units (CPUs) in a multi-CPU processor based on total current availability and individual CPU quality-of-service (QoS) requirements is disclosed. Current from a power rail is allocated to CPUs by a global current manger (GCM) circuit related to performance criteria set by CPUs. The CPUs can request increased current allocation from the GCM circuit, such as in response to executing a higher performance task. If the increased current allocation request keeps total current on the power rail within its maximum rail current limit, the GCM circuit approves the request to allow the CPU increased current allocation. This can allow CPUs executing higher performance tasks to have a larger current allocation than CPUs executing lower performance tasks without the maximum rail current limit being exceeded, and without having to necessarily lower voltage of the power rail, which could unnecessarily lower performance of all CPUs.
    Type: Application
    Filed: September 12, 2018
    Publication date: March 21, 2019
    Inventors: Shivam Priyadarshi, SeyedMajid Zahedi, Derek Robert Hower, Carl Alan Waldspurger, Jeffrey Todd Bridges, Sanjay Bhikhubhai Patel, Gabriel Martel Tarr, Chih Kang Lin, Ryan Donovan Wells, Harold Wade Cain, III
  • Publication number: 20190065374
    Abstract: Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators.
    Type: Application
    Filed: August 29, 2017
    Publication date: February 28, 2019
    Inventors: Derek Robert Hower, Carl Alan Waldspurger, Vikramjit Sethi
  • Patent number: 10055158
    Abstract: Providing flexible management of heterogeneous memory systems using spatial Quality of Service (QoS) tagging in processor-based systems is disclosed. In one aspect, a heterogeneous memory system of a processor-based system includes a first memory and a second memory. The heterogeneous memory system is divided into a plurality of memory regions, each associated with a QoS identifier (QoSID), which may be set and updated by software. A memory controller of the heterogeneous memory system provides a QoS policy table, which operates to associate each QoSID with a QoS policy state, and which also may be software-configurable. Upon receiving a memory access request including a memory address of a memory region, the memory controller identifies a software-configurable QoSID associated with the memory address, and associates the QoSID with a QoS policy state using the QoS policy table. The memory controller then applies the QoS policy state to perform the memory access operation.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: August 21, 2018
    Assignee: QUALCOMM Incorporated
    Inventors: Colin Beaton Verrilli, Carl Alan Waldspurger, Natarajan Vaidhyanathan, Mattheus Cornelis Antonius Adrianus Heddes, Koustav Bhattacharya
  • Publication number: 20180081579
    Abstract: Providing flexible management of heterogeneous memory systems using spatial Quality of Service (QoS) tagging in processor-based systems is disclosed. In one aspect, a heterogeneous memory system of a processor-based system includes a first memory and a second memory. The heterogeneous memory system is divided into a plurality of memory regions, each associated with a QoS identifier (QoSID), which may be set and updated by software. A memory controller of the heterogeneous memory system provides a QoS policy table, which operates to associate each QoSID with a QoS policy state, and which also may be software-configurable. Upon receiving a memory access request including a memory address of a memory region, the memory controller identifies a software-configurable QoSID associated with the memory address, and associates the QoSID with a QoS policy state using the QoS policy table. The memory controller then applies the QoS policy state to perform the memory access operation.
    Type: Application
    Filed: September 22, 2016
    Publication date: March 22, 2018
    Inventors: Colin Beaton Verrilli, Carl Alan Waldspurger, Natarajan Vaidhyanathan, Mattheus Cornelis Antonius Adrianus Heddes, Koustav Bhattacharya
  • Publication number: 20170293578
    Abstract: Systems and methods are directed to managing access to a shared memory. A request received at a memory controller, for access to the shared memory from a client of one or more clients configured to access the shared memory, is placed in at least one queue in the memory controller. A series of one or more timeout values is assigned to the request, based, at least in part on a priority associated with the client which generated the request. The priority may be fixed or based on a Quality-of-Service (QoS) class of the client. A timer is incremented while the request remains in the first queue. As the timer traverses each one of the one or more timeout values in the series, a criticality level of the request is incremented. A request with a higher criticality level may be prioritized for servicing over a request with a lower criticality level.
    Type: Application
    Filed: September 23, 2016
    Publication date: October 12, 2017
    Inventors: Derek HOWER, Harold Wade CAIN, III, Carl Alan WALDSPURGER