IP Library › Granted Patent US 11,558,250
Granted Patent B2
US 11,558,250 · App. 16/997,575 · Granted Jan 17, 2023

Configuration change control for computing environments

Inventors: David Nissimoff (Redmond, WA); Romit Chattopadhyay (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04L41/082H04L41/0886
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,558,250
App. No.
16/997,575
Granted
Jan 17, 2023
Kind
B2
Abstract

Solutions for balancing speed and risk by managing configuration changes include: receiving a second configuration item for displacement, in an exposure group, of a first configuration item; receiving an exposure state, wherein the exposure state indicates an exposure tree comprising a first configuration item branch and a second configuration item branch; determining, based at least on the exposure state: a first portion of the exposure group to continue with the first configuration item, and a second portion of the exposure group to receive the second configuration item; deploying the second configuration item to the second portion of the exposure group, in accordance with the exposure state; receiving, from the central orchestrator, an updated exposure state; and deploying the second configuration item in accordance with the updated exposure state. In some examples, the exposure tree is a hierarchical binary tree. An exemplary configuration item includes a software application version.

Claims (57)

1. A system for management of configuration changes, the system comprising:

a processor; and

a computer-readable medium storing instructions that are operative upon execution by the processor to:

receive a second configuration item for displacement, in an exposure group, of a first configuration item;

receive, by a central orchestrator, an exposure state, wherein the exposure state indicates a binary tree comprising branches indicating a first configuration item branch weight and a second configuration item branch weight, and wherein the first configuration item branch weight and the second configuration item branch weight are determined by performing a deterministic hashing function on data associated with each member of the exposure group;

determine, for the exposure group, based at least on the exposure state:

a first portion of the exposure group to continue with the first configuration item, and

a second portion of the exposure group to receive the second configuration item; and

deploy the second configuration item to the second portion of the exposure group, in accordance with the exposure state.

2. The system of claim 1 , wherein the first configuration item and the second configuration item each comprises a software application version.

3. The system of claim 1 , wherein the exposure state is received based on a first trigger event, the first trigger event comprising a first timer event, a message from a developer, or metric data meeting a criteria.

4. The system of claim 1 , wherein the instructions are further operative to:

store first configuration performance data and second configuration performance data in collected data.

5. The system of claim 1 , wherein the instructions are further operative to:

determine a threshold based at least on the first configuration item branch weight or the second configuration item branch weight.

6. The system of claim 5 , wherein the instructions are further operative to:

perform a deterministic operation on data associated with each member of the exposure group to generate a member value.

7. The system of claim 6 , wherein the instructions are further operative to:

compare, for at least one member of the exposure group, the threshold with the member value; and

based at least on the comparison, assign the at least one member of the exposure group to the first portion of the exposure group or the second portion of the exposure group.

8. A method of configuration change control, the method comprising:

receiving a second configuration item for displacement, in an exposure group, of a first configuration item;

receiving, by a central orchestrator, an exposure state, wherein the exposure state indicates a binary tree comprising branches indicating a first configuration item branch weight and a second configuration item branch weight, and wherein the first configuration item branch weight and the second configuration item branch weight are determined by performing a deterministic hashing function on data associated with each member of the exposure group;

determining, for the exposure group, based at least on the exposure state:

a first portion of the exposure group to continue with the first configuration item, and

a second portion of the exposure group to receive the second configuration item; and

deploying the second configuration item to the second portion of the exposure group, in accordance with the exposure state.

9. The method of claim 8 , wherein the first configuration item and the second configuration item each comprises a software application version.

10. The method of claim 8 , wherein the exposure state is received based on a first trigger event, the first trigger event comprising a first timer event, a message from a developer, or metric data meeting a criteria.

11. The method of claim 8 , further comprising:

storing first configuration performance data and second configuration performance data in collected data.

12. The method of claim 8 , further comprising:

determining a threshold based at least on the first configuration item branch weight or the second configuration item branch weight.

13. The method of claim 12 , further comprising:

performing a deterministic operation on data associated with each member of the exposure group to generate a member value.

14. The method of claim 13 , further comprising:

comparing, for at least one member of the exposure group, the threshold with the member value; and

based at least on the comparison, assigning the at least one member of the exposure group to the first portion of the exposure group or the second portion of the exposure group.

15. One or more computer storage devices having computer-executable instructions stored thereon for configuration change control, which, on execution by a computer, cause the computer to perform operations comprising:

receiving a second configuration item for displacement, in an exposure group, of a first configuration item, wherein the first configuration item and the second configuration item each comprises a software application version;

receiving, by a central orchestrator, an exposure state, wherein the exposure state indicates a binary tree comprising branches indicating a first configuration item branch weight and a second configuration item branch weight, and wherein the first configuration item branch weight and the second configuration item branch weight are determined by performing a deterministic hashing function on data associated with each member of the exposure group;

receiving, by the central orchestrator, a poll for the exposure state;

responding, by the central orchestrator, to the poll with the exposure state;

determining, for the exposure group, based at least on the exposure state:

a first portion of the exposure group to continue with the first configuration item, and

a second portion of the exposure group to receive the second configuration item; and

deploying the second configuration item to the second portion of the exposure group, in accordance with the exposure state.

16. The one or more computer storage devices of claim 15 , wherein the exposure state is received based on a first trigger event, the first trigger event comprising a first timer event, a message from a developer, or metric data meeting a criteria.

17. The one or more computer storage devices of claim 15 , wherein the operations further comprise:

storing first configuration performance data and second configuration performance data in collected data.

18. The one or more computer storage devices of claim 15 , wherein the operations further comprise:

determining a threshold based at least on the first configuration item branch weight or the second configuration item branch weight.

19. The one or more computer storage devices of claim 18 , wherein the operations further comprise:

performing a deterministic operation on data associated with each member of the exposure group to generate a member value.

20. The one or more computer storage devices of claim 19 , wherein the operations further comprise:

comparing, for at least one member of the exposure group, the threshold with the member value; and

based at least on the comparison, assigning the at least one member of the exposure group to the first portion of the exposure group or the second portion of the exposure group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2020
From: NISSIMOFF, DAVID; CHATTOPADHYAY, ROMIT
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053542/0830 →
Continuity (2)
Continuation 16525442 · Jul 29, 2019
Related Publication 20210036914A1 · Feb 4, 2021