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: 20200117494Abstract: 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: ApplicationFiled: October 15, 2018Publication date: April 16, 2020Inventors: Eli CORTEZ, Ajay MANI, Marcus Felipe FONTOURA, Nisarg Tarakkumar SHETH, Thomas MOSCIBRODA, Ana-Maria CONSTANTIN
-
Patent number: 10496503Abstract: 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: GrantFiled: November 13, 2017Date of Patent: December 3, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Patent number: 10459750Abstract: 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: GrantFiled: June 10, 2016Date of Patent: October 29, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jiaxing Zhang, Thomas Moscibroda, Haoran Wang, Jurgen Aubrey Willis, Yang Chen, Ying Yan, James E. Johnson, Jr., Ajay Mani
-
Publication number: 20190317811Abstract: 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: ApplicationFiled: April 17, 2018Publication date: October 17, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Ajay Mani, Esaias E. Greeff, David A. Dion, Shailesh P. Joshi
-
Publication number: 20190317824Abstract: 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: ApplicationFiled: April 11, 2018Publication date: October 17, 2019Applicant: Microsoft Technology Licensing, LLCInventors: 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: 20190286475Abstract: 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: ApplicationFiled: March 14, 2018Publication date: September 19, 2019Inventor: Ajay MANI
-
Patent number: 10374970Abstract: 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: GrantFiled: February 1, 2017Date of Patent: August 6, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Prajakta Patil, Sushant Pramod Rewaskar, Ajay Mani
-
Publication number: 20180359313Abstract: 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: ApplicationFiled: January 16, 2018Publication date: December 13, 2018Inventors: MARK EUGENE RUSSINOVICH, JAMES E. JOHNSON, AJAY MANI, BRYAN W. TUTTLE, ALEJANDRO MATUTE GONZALEZ, HUY VU-BAO HOANG
-
Publication number: 20180331973Abstract: 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: ApplicationFiled: June 27, 2017Publication date: November 15, 2018Inventors: Ajay Mani, Nisarg T. Sheth
-
Patent number: 10116735Abstract: 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: GrantFiled: April 8, 2016Date of Patent: October 30, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Sushant Pramod Rewaskar, Muhammad Umer Azad, Saad Syed, Christopher Paul Almida, Ajay Mani
-
Patent number: 10110501Abstract: 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: GrantFiled: July 7, 2014Date of Patent: October 23, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Pavithra Tyamagondlu Nagesharao, James E. Johnson, Luis Irun-Briz, Sushant Pramod Rewaskar, Ajay Mani, Saad Syed
-
Publication number: 20180234492Abstract: 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: ApplicationFiled: August 10, 2016Publication date: August 16, 2018Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
-
Publication number: 20180219794Abstract: 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: ApplicationFiled: February 1, 2017Publication date: August 2, 2018Inventors: Prajakta PATIL, Sushant Pramod REWASKAR, Ajay MANI
-
Publication number: 20180136960Abstract: 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: ApplicationFiled: June 10, 2016Publication date: May 17, 2018Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jiaxing ZHANG, Thomas MOSCIBRODA, Haoran WANG, Jurgen Aubrey WILLIS, Yang CHEN, Ying YAN, James E. Johnson, Jr., Ajay MANI
-
Patent number: 9940210Abstract: 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: GrantFiled: June 26, 2015Date of Patent: April 10, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Publication number: 20180067830Abstract: 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: ApplicationFiled: November 13, 2017Publication date: March 8, 2018Inventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Patent number: 9871857Abstract: 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: GrantFiled: April 29, 2015Date of Patent: January 16, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Mark Eugene Russinovich, James E. Johnson, Ajay Mani, Bryan Tuttle, Alejandro Matute Gonzalez, Huy Vu-Bao Hoang
-
Patent number: 9753713Abstract: 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: GrantFiled: October 22, 2010Date of Patent: September 5, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Ajay Mani, Pavel Dournov, Luis Irun-Briz, Pavithra Nagesharao, Haizhi Xu, Akram Hassan, Ashish Shah, Todd Pfleiger
-
Patent number: 9740546Abstract: 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: GrantFiled: December 21, 2015Date of Patent: August 22, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Pavithra Tyamagondlu Nagesharao, Murtuza Rizvi, Sushant Pramod Rewaskar, Christopher P. Almida, Akram M. H. Hassan, Ajay Mani, Wakkas Rafiq
-
Publication number: 20160323374Abstract: 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: ApplicationFiled: April 29, 2015Publication date: November 3, 2016Inventors: MARK EUGENE RUSSINOVICH, JAMES E. JOHNSON, AJAY MANI, BRYAN TUTTLE, ALEJANDRO MATUTE GONZALEZ, HUY VU-BAO HOANG