IP Library › Granted Patent US 11,782,695
Granted Patent B2
US 11,782,695 · App. 17/536,830 · Granted Oct 10, 2023

Dynamic ring structure for deployment policies for improved reliability of cloud service

Inventors: Nidhi Verma (Redmond, WA); Rahul Nigam (Bothell, WA); Rohan Khanna (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/65G06F11/3612G06N20/00H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,782,695
App. No.
17/536,830
Granted
Oct 10, 2023
Kind
B2
Abstract

A data processing system implements obtaining a set of first input parameters associated with a first update to be deployed to one or more components of a cloud-based service; providing the set of first input parameters to a machine learning model to obtain a first deployment policy for the first update; analyzing the set of first input parameters using the machine learning model to generate the first deployment policy, the machine learning model being trained to analyze input parameters associated with an update to be deployed to the cloud-based service and to generate a deployment policy for the update, the deployment policy identifying a set of rings for deploying the update and when the update is to be deployed to a subset of the userbase of the cloud-based service associated with that ring; and executing the first deployment policy to deploy the update to the one or more components.

Claims (60)

1. A data processing system comprising:

a processor; and

a machine-readable medium storing executable instructions that, when executed, cause the processor to perform operations comprising:

obtaining a set of first input parameters associated with a first update to be deployed to one or more first components of a cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a first deployment policy for the first update;

analyzing the set of first input parameters using the machine learning model to generate the first deployment policy, the machine learning model being trained to analyze input parameters associated with an update to be deployed to the cloud-based service and to generate a deployment policy for the update, the deployment policy identifying a set of rings for deploying the update and when the update is to be deployed to each ring, each ring representing a deployment stage in which the update is deployed to a subset of a userbase of the cloud-based service; and

executing the first deployment policy to deploy the update to the one or more first components of the cloud-based service.

2. The data processing system of claim 1 , wherein the machine learning model is configured to select the set of rings from multiple sets of predetermined rings.

3. The data processing system of claim 1 , wherein the machine learning model is configured to dynamically generate the set of rings based on the set of first input parameters and an architecture of the cloud-based service.

4. The data processing system of claim 1 , wherein the input parameters include a risk parameter indicative of an amount of risk that the update may introduce problems, an audience parameter indicating users to which the update is to be deployed, and a type of update indicating whether the update includes a new feature or is to fix a problem with the one or more first components of the cloud-based service.

5. The data processing system of claim 1 , wherein the machine-readable medium includes instructions configured to cause the processor to perform operations of:

obtaining a set of second input parameters associated with a second update to be deployed to one or more second components of the cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a second deployment policy for the first update;

analyzing the set of second input parameters using the machine learning model to generate the second deployment policy, wherein the second deployment policy is different from the first deployment policy; and

executing the second deployment policy to deploy the update to the one or more second components of the cloud-based service.

6. The data processing system of claim 1 , wherein the machine-readable medium includes instructions configured to cause the processor to perform operations of:

monitoring deployment of the first update to each ring of the set of rings;

detecting a problem with the first update based on data collected while monitoring the deployment;

halting the deployment of the first update responsive to detecting the problem; and

performing one or more remedial actions to correct the problem with the first update.

7. The data processing system of claim 6 , wherein the machine-readable medium includes instructions configured to cause the processor to perform operations of:

updating the machine learning model based on the data collected while monitoring the deployment.

8. A method implemented in a data processing system for deploying updates to a cloud-based service, the method comprising:

obtaining a set of first input parameters associated with a first update to be deployed to one or more components of the cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a first deployment policy for the first update;

analyzing the set of first input parameters using the machine learning model to generate the first deployment policy, the machine learning model being trained to analyze input parameters associated with an update to be deployed to the cloud-based service and to generate a deployment policy for the update, the deployment policy identifying a set of rings for deploying the update and when the update is to be deployed to each ring, each ring representing a deployment stage in which the update is deployed to a subset of a user base of the cloud-based service; and

executing the first deployment policy to deploy the update to the one or more components of the cloud-based service.

9. The method of claim 8 , wherein the machine learning model is configured to select the set of rings from multiple sets of predetermined rings.

10. The method of claim 8 , wherein the machine learning model is configured to dynamically generate the set of rings based on the set of first input parameters and an architecture of the cloud-based service.

11. The method of claim 8 , wherein the input parameters include a risk parameter indicative of an amount of risk that the update may introduce problems, an audience parameter indicating users to which the update is to be deployed, and a type of update indicating whether the update includes a new feature or is to fix a problem with the one or more components of the cloud-based service.

12. The method of claim 8 , further comprising:

obtaining a set of second input parameters associated with a second update to be deployed to one or more second components of the cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a second deployment policy for the first update;

analyzing the set of second input parameters using the machine learning model to generate the second deployment policy, wherein the second deployment policy is different from the first deployment policy; and

executing the second deployment policy to deploy the update to the one or more second components of the cloud-based service.

13. The method of claim 8 , further comprising:

monitoring deployment of the first update to each ring of the set of rings;

detecting a problem with the first update based on data collected while monitoring the deployment;

halting the deployment of the first update responsive to detecting the problem; and

performing one or more remedial actions to correct the problem with the first update.

14. The method of claim 13 , further comprising:

updating the machine learning model based on the data collected while monitoring the deployment.

15. A machine-readable medium on which are stored instructions that, when executed, cause a processor of a programmable device to perform operations of:

obtaining a set of first input parameters associated with a first update to be deployed to one or more components of a cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a first deployment policy for the first update;

analyzing the set of first input parameters using the machine learning model to generate the first deployment policy, the machine learning model being trained to analyze input parameters associated with an update to be deployed to the cloud-based service and to generate a deployment policy for the update, the deployment policy identifying a set of rings for deploying the update, and when the update is to be deployed to each ring, each ring representing a deployment stage in which the update is deployed to a subset of a userbase of the cloud-based service; and

executing the first deployment policy to deploy the update to the one or more components of the cloud-based service.

16. The machine-readable medium of claim 15 , wherein the machine learning model is configured to select the set of rings from multiple sets of predetermined rings.

17. The machine-readable medium of claim 15 , wherein the machine learning model is configured to dynamically generate the set of rings based on the set of first input parameters and an architecture of the cloud-based service.

18. The machine-readable medium of claim 15 , wherein the input parameters include a risk parameter indicative of an amount of risk that the update may introduce problems, an audience parameter indicating users to which the update is to be deployed, and a type of update indicating whether the update includes a new feature or is to fix a problem with the one or more components of the cloud-based service.

19. The machine-readable medium of claim 15 , further comprising instructions configured to cause the processor to perform operations of:

obtaining a set of second input parameters associated with a second update to be deployed to one or more second components of the cloud-based service;

providing the set of first input parameters to a machine learning model to obtain a second deployment policy for the first update;

analyzing the set of second input parameters using the machine learning model to generate the second deployment policy, wherein the second deployment policy is different from the first deployment policy; and

executing the second deployment policy to deploy the update to the one or more second components of the cloud-based service.

20. The machine-readable medium of claim 15 , further comprising instructions configured to cause the processor to perform operations of:

monitoring deployment of the first update to each ring of the set of rings;

detecting a problem with the first update based on data collected while monitoring the deployment;

halting the deployment of the first update responsive to detecting the problem; and

performing one or more remedial actions to correct the problem with the first update.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF ASSIGNOR RAHUL NIGAM FROM 12/06/2021 TO 12/04/2021 PREVIOUSLY RECORDED AT REEL: 058323 FRAME: 0429. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 26, 2022
From: NIGAM, RAHUL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 061327/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2021
From: VERMA, NIDHI; NIGAM, RAHUL; KHANNA, ROHAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 058323/0429 →
Continuity (1)
Related Publication 20230168880A1 · Jun 1, 2023