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: 20160294930Abstract: 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: ApplicationFiled: April 8, 2016Publication date: October 6, 2016Inventors: Sushant Pramod Rewaskar, Muhammad Umer Azad, Saad Syed, Christopher Paul Almida, Ajay Mani
-
Patent number: 9338254Abstract: 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: January 9, 2013Date of Patent: May 10, 2016Assignee: Microsoft CorporationInventors: Sushant Pramod Rewaskar, Muhammad Umer Azad, Saad Syed, Christopher Paul Almida, Ajay Mani
-
Publication number: 20160006666Abstract: 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: ApplicationFiled: July 7, 2014Publication date: January 7, 2016Inventors: Pavithra Tyamagondlu Nagesharao, James E. Johnson, Luis Irun-Briz, Sushant Pramod Rewaskar, Ajay Mani, Saad Syed
-
Patent number: 9229839Abstract: Embodiments are directed to implementing rate controls to limit faults detected by timeout and to learning and adjusting an optimal timeout value. In one scenario, a computer system identifies cloud components that have the potential to fail within a time frame that is specified by a timeout value. The computer system establishes a number of components that are allowed to fail during the time frame specified by the timeout value and further determines that the number of component failures within the time frame specified by the timeout value has exceeded the established number of components that are allowed to fail. In response, the computer system increases the timeout value by a specified amount of time to ensure that fewer than or equal to the established number of components fail within the time frame specified by the timeout value.Type: GrantFiled: January 9, 2013Date of Patent: January 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Abhishek Singh, Srikanth Raghavan, Ajay Mani, Saad Syed
-
Patent number: 9218246Abstract: 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: March 14, 2013Date of Patent: December 22, 2015Assignee: 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: 20150293821Abstract: 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: June 26, 2015Publication date: October 15, 2015Inventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Patent number: 9141487Abstract: 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: January 15, 2013Date of Patent: September 22, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Patent number: 8996932Abstract: Embodiments are directed to establishing a model for testing cloud components and to preventing cascading failures in cloud components. In one scenario, a computer system models identified cloud components (including cloud hardware components and/or cloud software components) as health entities. Each health entity is configured to provide state information about the cloud component. The computer system establishes declarative safety conditions which declaratively describe cloud computing conditions that are to be maintained at the identified cloud components. The computer system then tests against the declarative safety conditions to determine which cloud components are or are becoming problematic. Upon determining that an error has occurred, the computer system notifies users of the error and the component at which the error occurred. Guarded interfaces are established to ensure that actions taken to fix the error do not cause further failures.Type: GrantFiled: January 9, 2013Date of Patent: March 31, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Abhishek Singh, Srikanth Raghavan, Ajay Mani, Saad Syed
-
Publication number: 20140281700Abstract: 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: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Inventors: PAVITHRA TYAMAGONDLU NAGESHARAO, MURTUZA RIZVI, SUSHANT PRAMOD REWASHKAR, CHRISTOPHER P. ALMIDA, AKRAM M.H. HASSAN, AJAY MANI
-
Publication number: 20140201564Abstract: 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: January 15, 2013Publication date: July 17, 2014Applicant: Microsoft CorporationInventors: Gaurav Jagtiani, Abhishek Singh, Ajay Mani, Akram Hassan, Thiruvengadam Venketesan, Saad Syed, Sushant Pramod Rewaskar, Wei Zhao
-
Publication number: 20140195672Abstract: Embodiments are directed to isolating a cloud computing node using network- or some other type of isolation. In one scenario, a computer system determines that a cloud computing node is no longer responding to monitoring requests. The computer system isolates the determined cloud computing node to ensure that software programs running on the determined cloud computing node are no longer effectual (either the programs no longer produce outputs, or those outputs are not allowed to be transmitted). The computer system also notifies various entities that the determined cloud computing node has been isolated. The node may be isolated by powering the node down, by preventing the node from transmitting and/or receiving data, and by manually isolating the node. In some cases, isolating the node by preventing the node from transmitting and/or receiving data includes deactivating network switch ports used by the determined cloud computing node for data communication.Type: ApplicationFiled: January 9, 2013Publication date: July 10, 2014Applicant: Microsoft CorporationInventors: Srikanth Raghavan, Abhishek Singh, Chandan Aggarwal, Fatima Ijaz, Asad Yaqoob, Joshua McKone, Ajay Mani, Matthew Jeremiah Eason, Muhammad Mannan Saleem
-
Publication number: 20140195861Abstract: Embodiments are directed to implementing rate controls to limit faults detected by timeout and to learning and adjusting an optimal timeout value. In one scenario, a computer system identifies cloud components that have the potential to fail within a time frame that is specified by a timeout value. The computer system establishes a number of components that are allowed to fail during the time frame specified by the timeout value and further determines that the number of component failures within the time frame specified by the timeout value has exceeded the established number of components that are allowed to fail. In response, the computer system increases the timeout value by a specified amount of time to ensure that fewer than or equal to the established number of components fail within the time frame specified by the timeout value.Type: ApplicationFiled: January 9, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Abhishek Singh, Srikanth Raghavan, Ajay Mani, Saad Syed
-
Publication number: 20140195853Abstract: Embodiments are directed to establishing a model for testing cloud components and to preventing cascading failures in cloud components. In one scenario, a computer system models identified cloud components (including cloud hardware components and/or cloud software components) as health entities. Each health entity is configured to provide state information about the cloud component. The computer system establishes declarative safety conditions which declaratively describe cloud computing conditions that are to be maintained at the identified cloud components. The computer system then tests against the declarative safety conditions to determine which cloud components are or are becoming problematic. Upon determining that an error has occurred, the computer system notifies users of the error and the component at which the error occurred. Guarded interfaces are established to ensure that actions taken to fix the error do not cause further failures.Type: ApplicationFiled: January 9, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Abhishek Singh, Srikanth Raghavan, Ajay Mani, Saad Syed
-
Publication number: 20140195687Abstract: 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: ApplicationFiled: January 9, 2013Publication date: July 10, 2014Applicant: MICROSOFT CORPORATIONInventors: Sushant Pramod Rewaskar, Muhammad Umer Azad, Saad Syed, Christopher Paul Almida, Ajay Mani
-
Publication number: 20120102481Abstract: 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: ApplicationFiled: October 22, 2010Publication date: April 26, 2012Applicant: MICROSOFT CORPORATIONInventors: Ajay Mani, Pavel Dournov, Luis Irun-Briz, Pavithra Nagesharao, Haizhi Xu, Akram Hassan, Ashish Shah, Todd Pfleiger