Patents by Inventor Ajay Gulati

Ajay Gulati 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: 10924349
    Abstract: A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: February 16, 2021
    Assignee: VMWARE, INC.
    Inventors: Parth Shah, Pradeep Padala, Ajay Gulati
  • Patent number: 10686724
    Abstract: A system and method for providing quality of service (QoS) for clients running on host computers to access a common resource uses a resource pool module and a local scheduler in at least one of the host computers. The resource pool module operates to compute an entitlement of each client for the common resource based on a current capacity for the common resource and demands of the clients for the common resource. In addition, the resource pool module operates to assign a portion of the computed current capacity for the common resource to a particular host computer using the computed entitlement of each client running on the particular host computer. The local scheduler operates to allocate the portion of the computed current capacity among the clients running on the particular host computer.
    Type: Grant
    Filed: January 25, 2016
    Date of Patent: June 16, 2020
    Assignee: VMWARE, INC.
    Inventors: Ajay Gulati, Ganesha Shanmuganathan, Peter Joseph Varman
  • Publication number: 20200053170
    Abstract: A first cluster of servers maintains a shared database that stores, for each of a plurality of cloud service consumers, user interface data for the cloud service consumer, wherein each server in the first cluster can read and write to the shared database. The first cluster further receives, from a customer computer, a request to access services of an identified cloud service consumer among the plurality of cloud service consumers, wherein the customer computer is associated with a customer of the identified cloud service consumer. Still further, the first cluster retrieves the user interface data of the identified cloud service consumer from the shared database; retrieves, from a second cluster of servers maintained by the identified cloud service consumer, user data required in response to the request; and provides the user interface data of the identified cloud service consumer and the user data to the customer computer.
    Type: Application
    Filed: October 22, 2019
    Publication date: February 13, 2020
    Inventors: Kiran Bondalapati, Ajay Gulati
  • Patent number: 10498837
    Abstract: Approaches for automated provisioning of a private cloud infrastructure. A cloud service provider maintains a first cluster of servers which stores a set of user interfaces. Each first cluster node comprises a first distributed management layer that manages, monitors, and self-heals first cluster nodes and facilitates communication with nodes of a second cluster of servers. A cloud service consumer maintains the second cluster which stores sets of user data. Second cluster nodes comprise a second distributed management layer that manages, monitors, and self-heals second cluster nodes and facilitates communication with first cluster nodes. When a first node in the first cluster receives a request from an end-user of a cloud-based service, the first node (a) communicates with the second distributed management layer to obtain a required set of user data and (b) prepares and transmits, to the end-user, a response that comprises the appropriate user interface and required user data.
    Type: Grant
    Filed: August 10, 2017
    Date of Patent: December 3, 2019
    Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
    Inventors: Kiran Bondalapati, Ajay Gulati
  • Publication number: 20190280933
    Abstract: A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.
    Type: Application
    Filed: May 21, 2019
    Publication date: September 12, 2019
    Inventors: Parth Shah, Pradeep Padala, Ajay Gulati
  • Patent number: 10387202
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.
    Type: Grant
    Filed: September 27, 2016
    Date of Patent: August 20, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Ajay Gulati, Umesh Maheshwari, Tomasz Barszczak, Vanco Buca
  • Patent number: 10305741
    Abstract: A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: May 28, 2019
    Assignee: VMware, Inc.
    Inventors: Parth Shah, Pradeep Padala, Ajay Gulati
  • Patent number: 10185592
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Grant
    Filed: March 20, 2017
    Date of Patent: January 22, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Publication number: 20170302523
    Abstract: A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.
    Type: Application
    Filed: April 10, 2017
    Publication date: October 19, 2017
    Applicant: VMware, Inc.
    Inventors: Parth Shah, Pradeep Padala, Ajay Gulati
  • Publication number: 20170192823
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Application
    Filed: March 20, 2017
    Publication date: July 6, 2017
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Patent number: 9686207
    Abstract: A management server and method for performing resource management operations in a distributed computer system uses at least one sampling parameter to estimate demand of a client for a resource. The sampling parameter has a correlation with at least one target performance goal of an application that the client is running. The demand estimation can then be used to make at least one decision in a resource management operation.
    Type: Grant
    Filed: January 29, 2014
    Date of Patent: June 20, 2017
    Assignee: VMware, Inc.
    Inventors: Ganesha Shanmuganathan, Anne Holler, Ajay Gulati
  • Patent number: 9686352
    Abstract: Maximum throughput of a storage unit, and workload and latency values of the storage unit corresponding to a predefined fraction of the maximum throughput are estimated based on workloads and latencies that are monitored on the storage unit. The computed metrics are usable in a variety of different applications including admission control, storage load balancing, and enforcing quality of service in a shared storage environment.
    Type: Grant
    Filed: September 29, 2016
    Date of Patent: June 20, 2017
    Assignee: VMware, Inc.
    Inventors: Ajay Gulati, Ganesha Shanmuganathan, Irfan Ahmad
  • Patent number: 9621427
    Abstract: A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.
    Type: Grant
    Filed: December 6, 2013
    Date of Patent: April 11, 2017
    Assignee: VMware, Inc.
    Inventors: Parth Shah, Pradeep Padala, Ajay Gulati
  • Patent number: 9600337
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: March 21, 2017
    Assignee: Nimble Storage, Inc.
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Patent number: 9563453
    Abstract: One or more embodiments of the present invention provide a technique for effectively managing virtualized computing systems with an unlimited number of hardware resources. Host systems included in a virtualized computer system are organized into a scalable, peer-to-peer (P2P) network in which host systems arrange themselves into a network overlay to communicate with one another. The network overlay enables the host systems to perform a variety of operations, which include dividing computing resources of the host systems among a plurality of virtual machines (VMs), load balancing VMs across the host systems, and performing an initial placement of a VM in one of the host systems.
    Type: Grant
    Filed: October 7, 2014
    Date of Patent: February 7, 2017
    Assignee: VMware, Inc.
    Inventors: Ajay Gulati, Irfan Ahmad, Ganesha Shanmuganathan, Carl A. Waldspurger
  • Publication number: 20170019465
    Abstract: Maximum throughput of a storage unit, and workload and latency values of the storage unit corresponding to a predefined fraction of the maximum throughput are estimated based on workloads and latencies that are monitored on the storage unit. The computed metrics are usable in a variety of different applications including admission control, storage load balancing, and enforcing quality of service in a shared storage environment.
    Type: Application
    Filed: September 29, 2016
    Publication date: January 19, 2017
    Inventors: Ajay GULATI, Ganesha SHANMUGANATHAN, Irfan AHMAD
  • Publication number: 20170017524
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.
    Type: Application
    Filed: September 27, 2016
    Publication date: January 19, 2017
    Inventors: Gurunatha Karaje, Ajay Gulati, Umesh Maheshwari, Tomasz Barszczak, Vanco Buca
  • Patent number: 9535789
    Abstract: Systems and methods are disclosed that allow for transparently recovering from an uncorrected multi-bit error of arbitrary length located at a memory address. Storing one or more parity pages, for a set of pages in system memory, such that a page in the set of pages may be reconstructed using one of the parity pages is disclosed. Storing an indication of one or more page'disk location such that the one or more pages may be reconstructed by refilling the page from disk is also disclosed.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: January 3, 2017
    Assignee: VMware, Inc.
    Inventors: Ajay Gulati, Abhishek Chaturvedi, Gregory T. Harmon, Anil Rao
  • Patent number: 9509621
    Abstract: A shared input/output (IO) resource is managed in a decentralized manner. Each of multiple hosts having IO access to the shared resource, computes an average latency value that is normalized with respect to average IO request sizes, and stores the computed normalized latency value for later use. The normalized latency values thus computed and stored may be used for a variety of different applications, including enforcing a quality of service (QoS) policy that is applied to the hosts, detecting a condition known as an anomaly where a host that is not bound by a QoS policy accesses the shared resource at a rate that impacts the level of service received by the plurality of hosts that are bound by the QoS policy, and migrating workloads between storage arrays to achieve load balancing across the storage arrays.
    Type: Grant
    Filed: April 28, 2014
    Date of Patent: November 29, 2016
    Assignee: VMware, Inc.
    Inventors: Ajay Gulati, Irfan Ahmad, Jyothir Ramanan, Carl A. Waldspurger
  • Patent number: 9483187
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: November 1, 2016
    Assignee: Nimble Storage, Inc.
    Inventors: Gurunatha Karaje, Ajay Gulati, Umesh Maheshwari, Tomasz Barszczak, Vanco Buca