Patents by Inventor Ajay Mani

Ajay Mani 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).

  • Publication number: 20200117494
    Abstract: The present disclosure relates to systems, methods, and computer readable media that utilize a low-impact live-migration system to reduce unfavorable impacts caused as a result of live-migrating computing containers between physical server devices of a cloud computing system. For example, systems disclosed herein evaluates characteristics of computing containers on server devices to determine a predicted unfavorable impact of live-migrating the computing containers between the server devices. Based on the predicted impact, the systems disclosed herein can selectively identify which computing containers to live-migrate as well as carry out live-migration of the select computing containers in such a way the significantly reduces unfavorable impacts to a customer or client device associated with the computing containers.
    Type: Application
    Filed: October 15, 2018
    Publication date: April 16, 2020
    Inventors: Eli CORTEZ, Ajay MANI, Marcus Felipe FONTOURA, Nisarg Tarakkumar SHETH, Thomas MOSCIBRODA, Ana-Maria CONSTANTIN
  • Patent number: 10496503
    Abstract: Embodiments described herein are directed to migrating affected services away from a faulted cloud node and to handling faults during an upgrade. In one scenario, a computer system determines that virtual machines running on a first cloud node are in a faulted state. The computer system determines which cloud resources on the first cloud node were allocated to the faulted virtual machine, allocates the determined cloud resources of the first cloud node to a second, different cloud node and re-instantiates the faulted virtual machine on the second, different cloud node using the allocated cloud resources.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: December 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
  • Patent number: 10459750
    Abstract: Systems and methods are taught for providing customers of a cloud computing service to control when updates affect the services provided to the customers. Because multiple customers share the cloud's infrastructure, each customer may have conflicting preferences for when an update and associated downtime occurs. Preventing and resolving conflicts between the preferences of multiple customers while providing them with input for scheduling a planned update may reduce the inconvenience posed by updates. Additionally, the schedule for the update may be transmitted to customers so that they can prepare for the downtime of services associated with the update.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: October 29, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jiaxing Zhang, Thomas Moscibroda, Haoran Wang, Jurgen Aubrey Willis, Yang Chen, Ying Yan, James E. Johnson, Jr., Ajay Mani
  • Publication number: 20190317811
    Abstract: According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to receive an allocation request from an allocator client, determine a resource allocation for the received job allocation request, store a record of the determined resource allocation in a records store, and send the determined resource allocation to the allocator client, in which an acknowledgement to the sent determined resource allocation is to be received from the allocator client. The instructions may also cause the processor to manage a state of the determined resource allocation using the record stored in the records store based on whether the acknowledgement is received from the allocator client.
    Type: Application
    Filed: April 17, 2018
    Publication date: October 17, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
  • Publication number: 20190317824
    Abstract: According to examples, a system may include a plurality of clusters of nodes and a plurality of container manager hardware processors, in which each of the container manager hardware processors may manage the nodes in a respective cluster of nodes. The system may also include at least one service manager hardware processor to manage deployment of customer services across multiple clusters of the plurality of clusters of nodes through the plurality of container manager hardware processors.
    Type: Application
    Filed: April 11, 2018
    Publication date: October 17, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ajay MANI, David A. Dion, Marcus F. Fontoura, Prajakta S. Patil, Saad Syed, Shailesh P. Joshi, Sushant P. Rewaskar, Vipins Gopinadhan, James Ernest Johnson
  • Publication number: 20190286475
    Abstract: Techniques are disclosed for providing opportunistic virtual machine migration. In response to determining that a virtual machine will be rebooted, a determination is made whether the virtual machine should be migrated from the computing device that is currently hosting the virtual machine. Based on one or more criteria, a destination computing device for the virtual machine is identified. When a performance threshold is met, subsequent to shutting down the virtual machine at the current host and prior to rebooting the virtual machine at a new host, the virtual machine is migrated to the destination computing device.
    Type: Application
    Filed: March 14, 2018
    Publication date: September 19, 2019
    Inventor: Ajay MANI
  • Patent number: 10374970
    Abstract: A system receives a request for a plurality of resources of a cloud computing system to deploy a service. The system selects a portion of the resources and determines whether the selected portion is at least partially available in one or more clusters in parallel. If available, the system reserves the available resources for a predetermined period of time. If unavailable in one of the clusters, the system releases the reserved resources after the predetermined period of time. While or after determining the availability, the system locates at least a portion of the remainder of the resources in the one or more clusters. The system allocates the reserved resources on one of the clusters and the located remainder of the resources to deploy the service and instantiates the service on the one of the clusters using the allocated resources.
    Type: Grant
    Filed: February 1, 2017
    Date of Patent: August 6, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Prajakta Patil, Sushant Pramod Rewaskar, Ajay Mani
  • Publication number: 20180359313
    Abstract: In various embodiments, methods and systems for optimizing allocation of dynamic resources are provided. A user service request resource instance is received at an allocator. The user service request resource instance is based on a dynamic resource protocol that supports generating and communicating resource instances between components in a resource allocation platform. The dynamic resource protocol also defines a set of rules for translating and representing resources as logical resource types and logical units. At a node, a node resource instance is generated and communicated, based on the dynamic resource protocol, from the node to the allocator. The node resource instance specifically comprises a resource interaction matrix that indicates dependencies between resource types. A resource allocation instance is generated at the allocator for the user service request resource instance.
    Type: Application
    Filed: January 16, 2018
    Publication date: December 13, 2018
    Inventors: MARK EUGENE RUSSINOVICH, JAMES E. JOHNSON, AJAY MANI, BRYAN W. TUTTLE, ALEJANDRO MATUTE GONZALEZ, HUY VU-BAO HOANG
  • Publication number: 20180331973
    Abstract: Methods, systems, and apparatuses increase virtual machine availability during server updates. A first resource set is designated to include one or more servers needing an update. A first set of virtual machines running on the one or servers in a live manner is migrated from the first resource set to a second resource set to convert the first resource set to an empty resource set, and such that the first set of virtual machines runs in a live manner on the second resource set. The update is performed on the one or more servers of the empty resource set to create an updated empty resource set.
    Type: Application
    Filed: June 27, 2017
    Publication date: November 15, 2018
    Inventors: Ajay Mani, Nisarg T. Sheth
  • Patent number: 10116735
    Abstract: Embodiments provide migration of services across different clusters to balance utilization and meet customer demands. Different service migration options may be performed with or without downtime. The artifacts of the service are moved to a new destination cluster. The service is created on the new destination cluster and staged so that the service is almost ready to start. In one embodiment, the service is stopped on the old cluster and started on the new cluster. After stopping the service, DNS is updated to point to the service on the new cluster. In another embodiment, the service is stopped on the old cluster and started on the new cluster with the same IP address to avoid DNS reprogramming and associated delays. In a further embodiment, the migration is performed without downtime by moving the service part by part from one cluster to another.
    Type: Grant
    Filed: April 8, 2016
    Date of Patent: October 30, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sushant Pramod Rewaskar, Muhammad Umer Azad, Saad Syed, Christopher Paul Almida, Ajay Mani
  • Patent number: 10110501
    Abstract: Tenant and server platform coordination of the performance of atomic tasks that are to be performed by the platform, but which have at least a potential impact on the tenant. The server platform allows a particular tenant a timeframe within which the tenant itself may approve of initiation of each of one or more tasks. The server platform may protect itself from delayed action by imposing time constraints on the timeframe such that after the timeframe is elapsed, the tenant no longer has control over triggering the initiation of the particular task. Accordingly, the tenant is provided with flexibility on controlling initiation of a task performed by the server platform, while the server platform maintains a level of control to protect its resources and balances the needs of the various tenants.
    Type: Grant
    Filed: July 7, 2014
    Date of Patent: October 23, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pavithra Tyamagondlu Nagesharao, James E. Johnson, Luis Irun-Briz, Sushant Pramod Rewaskar, Ajay Mani, Saad Syed
  • Publication number: 20180234492
    Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a packing quality metric associated with each candidate node to which a service instance could be allocated are determined. An eviction cost associated with at least a portion of the candidate nodes to which the service instance could be allocated are determined. The eviction costs generally indicate a cost to evict a service instance from a corresponding node such that another service instance can be allocated to that node. At least a portion of the packing quality metrics and the eviction costs are used to select a node from the candidate nodes to which to allocate the service instance.
    Type: Application
    Filed: August 10, 2016
    Publication date: August 16, 2018
    Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
  • Publication number: 20180219794
    Abstract: A system receives a request for a plurality of resources of a cloud computing system to deploy a service. The system selects a portion of the resources and determines whether the selected portion is at least partially available in one or more clusters in parallel. If available, the system reserves the available resources for a predetermined period of time. If unavailable in one of the clusters, the system releases the reserved resources after the predetermined period of time. While or after determining the availability, the system locates at least a portion of the remainder of the resources in the one or more clusters. The system allocates the reserved resources on one of the clusters and the located remainder of the resources to deploy the service and instantiates the service on the one of the clusters using the allocated resources.
    Type: Application
    Filed: February 1, 2017
    Publication date: August 2, 2018
    Inventors: Prajakta PATIL, Sushant Pramod REWASKAR, Ajay MANI
  • Publication number: 20180136960
    Abstract: Systems and methods are taught for providing customers of a cloud computing service to control when updates affect the services provided to the customers. Because multiple customers share the cloud's infrastructure, each customer may have conflicting preferences for when an update and associated downtime occurs. Preventing and resolving conflicts between the preferences of multiple customers while providing them with input for scheduling a planned update may reduce the inconvenience posed by updates. Additionally, the schedule for the update may be transmitted to customers so that they can prepare for the downtime of services associated with the update.
    Type: Application
    Filed: June 10, 2016
    Publication date: May 17, 2018
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jiaxing ZHANG, Thomas MOSCIBRODA, Haoran WANG, Jurgen Aubrey WILLIS, Yang CHEN, Ying YAN, James E. Johnson, Jr., Ajay MANI
  • Patent number: 9940210
    Abstract: Embodiments described herein are directed to migrating affected services away from a faulted cloud node and to handling faults during an upgrade. In one scenario, a computer system determines that virtual machines running on a first cloud node are in a faulted state. The computer system determines which cloud resources on the first cloud node were allocated to the faulted virtual machine, allocates the determined cloud resources of the first cloud node to a second, different cloud node and re-instantiates the faulted virtual machine on the second, different cloud node using the allocated cloud resources.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: April 10, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
  • Publication number: 20180067830
    Abstract: Embodiments described herein are directed to migrating affected services away from a faulted cloud node and to handling faults during an upgrade. In one scenario, a computer system determines that virtual machines running on a first cloud node are in a faulted state. The computer system determines which cloud resources on the first cloud node were allocated to the faulted virtual machine, allocates the determined cloud resources of the first cloud node to a second, different cloud node and re-instantiates the faulted virtual machine on the second, different cloud node using the allocated cloud resources.
    Type: Application
    Filed: November 13, 2017
    Publication date: March 8, 2018
    Inventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
  • Patent number: 9871857
    Abstract: In various embodiments, methods and systems for optimizing allocation of dynamic resources are provided. A user service request resource instance is received at an allocator. The user service request resource instance is based on a dynamic resource protocol that supports generating and communicating resource instances between components in a resource allocation platform. The dynamic resource protocol also defines a set of rules for translating and representing resources as logical resource types and logical units. At a node, a node resource instance is generated and communicated, based on the dynamic resource protocol, from the node to the allocator. The node resource instance specifically comprises a resource interaction matrix that indicates dependencies between resource types. A resource allocation instance is generated at the allocator for the user service request resource instance.
    Type: Grant
    Filed: April 29, 2015
    Date of Patent: January 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Eugene Russinovich, James E. Johnson, Ajay Mani, Bryan Tuttle, Alejandro Matute Gonzalez, Huy Vu-Bao Hoang
  • Patent number: 9753713
    Abstract: A distributed application may be updated by using information provided by the application to determine grouping, sequencing, and whether or not to advance an update sequence. The application may provide input to an update sequence, and may cause the update sequence to repair one or more replicas prior to updating. The update mechanism may be used to change the distributed application topology as well as make changes to the application executable code, application configuration, quest operating system, virtual machine, and host systems, among others. In some cases, the distributed application may use a quorum to determine which version is current, and the quorum may change during the update process.
    Type: Grant
    Filed: October 22, 2010
    Date of Patent: September 5, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ajay Mani, Pavel Dournov, Luis Irun-Briz, Pavithra Nagesharao, Haizhi Xu, Akram Hassan, Ashish Shah, Todd Pfleiger
  • Patent number: 9740546
    Abstract: In various embodiments, methods and systems for coordinating, between a host and a tenant, fault recovery of tenant infrastructure in a distributed system is provided. A fault occurrence is determined for a tenant infrastructure in the distributed system. The fault occurrence may be a software failure or hardware failure of the tenant infrastructure supporting a service application of the tenant. A fault recovery plan is communicated to the tenant to notify the tenant of the fault occurrence and actions taken to restore the tenant infrastructure. It is determined whether a fault recovery plan response is received from the tenant; the fault recovery plan response is an acknowledgement from the tenant of the fault recovery plan. Upon receiving the fault recovery plan response or at the expiration of a predefined time limit, the fault recovery plan is executed to restore the tenant infrastructure.
    Type: Grant
    Filed: December 21, 2015
    Date of Patent: August 22, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pavithra Tyamagondlu Nagesharao, Murtuza Rizvi, Sushant Pramod Rewaskar, Christopher P. Almida, Akram M. H. Hassan, Ajay Mani, Wakkas Rafiq
  • Publication number: 20160323374
    Abstract: In various embodiments, methods and systems for optimizing allocation of dynamic resources are provided. A user service request resource instance is received at an allocator. The user service request resource instance is based on a dynamic resource protocol that supports generating and communicating resource instances between components in a resource allocation platform. The dynamic resource protocol also defines a set of rules for translating and representing resources as logical resource types and logical units. At a node, a node resource instance is generated and communicated, based on the dynamic resource protocol, from the node to the allocator. The node resource instance specifically comprises a resource interaction matrix that indicates dependencies between resource types. A resource allocation instance is generated at the allocator for the user service request resource instance.
    Type: Application
    Filed: April 29, 2015
    Publication date: November 3, 2016
    Inventors: MARK EUGENE RUSSINOVICH, JAMES E. JOHNSON, AJAY MANI, BRYAN TUTTLE, ALEJANDRO MATUTE GONZALEZ, HUY VU-BAO HOANG