IP Library Granted Patent US 10,970,124
Granted Patent B2
US 10,970,124 · App. 16/585,594 · Granted Apr 6, 2021

Hybrid configuration engine

Inventors: Jason Craig Nelson (Kirkland, WA); Ben Appleby (Manchester, GB)
Assignee: Microsoft Technology Licensing, LLC
G06F9/5072G06F8/61G06Q10/06H04L45/563H04L67/34H04W24/04
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 10,970,124
App. No.
16/585,594
Granted
Apr 6, 2021
Kind
B2
Abstract

A hybrid configuration engine and associated method for reducing the complexity and burden of configuring rich coexistence between an on-premise solution and a cloud-based solution is described herein and illustrated in the accompanying figures. The hybrid configuration engine determines the current state of the on-premise solution and the cloud-based solution and learns the desired configuration state. After obtaining the current and desired configuration state information, the hybrid configuration engine determines and automatically performs steps to reach the desired configuration state. Finally, the hybrid configuration engine provides instructions describing the manual steps needed to reach the desired configuration state.

Claims (65)

1. A method for configuring a hybrid deployment of an on-premise component and a cloud-based component in a target environment, the method comprising:

receiving a desired configuration state for the hybrid deployment of the on-premise component and the cloud-based component;

determining a current configuration state of the on-premise component and a current configuration state of the cloud-based component;

determining a difference between the current configuration state of one or both of the on-premise component and the cloud-based component and the desired configuration state for the hybrid deployment;

deriving a set of configuration tasks based on the difference; and

performing the set of configuration tasks to establish the hybrid deployment with the desired configuration state.

2. The method of claim 1 , wherein deriving the set of configuration tasks based on the difference comprises one or more of:

deriving a first set of configuration tasks to configure the on-premise component for the hybrid deployment; and

deriving a second set of configuration tasks to configure the cloud-based component for the hybrid deployment.

3. The method of claim 1 , wherein performing the set of configuration tasks to establish the hybrid deployment with the desired configuration state comprises:

incorporating the set of configuration tasks into a configuration plan; and

executing the configuration plan.

4. The method of claim 3 , wherein executing the configuration plan further comprises:

executing a selected configuration task from the configuration plan;

obtaining a result from executing the selected configuration task; and

verifying the result matches an intended result for the selected configuration task.

5. The method of claim 3 , further comprising:

collecting topology information for the target environment;

analyzing the topology information;

determining the target environment has not been previously configured for hybrid deployment; and

selecting a first run configuration plan.

6. The method of claim 5 , further comprising:

creating a set of hybrid configuration objects during execution of the first run configuration plan, each hybrid configuration object corresponding to at least one hybrid deployment feature.

7. The method of claim 6 , further comprising:

enabling or disabling the at least one hybrid deployment feature by modifying a corresponding hybrid configuration object during a subsequent run of the method within the target environment.

8. The method of claim 1 , further comprising:

performing a preflight check to determine whether or not the target environment meets a minimum set of prerequisites for the desired configuration state.

9. The method of claim 1 , further comprising:

receiving administrative credentials for connecting to the on-premise component and the cloud-based component;

connecting to a configuration endpoint of the on-premise component; and

connecting to a configuration endpoint of the cloud-based component.

10. A computing device for configuring a hybrid deployment of an on-premise component and a cloud-based component in a target environment, the computing device comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the processor to:

receive a desired configuration state for the hybrid deployment of the on-premise component and the cloud-based component;

determine a current configuration state of the on-premise component and a current configuration state of the cloud-based component;

determine a difference between the current configuration state of one or both of the on-premise component and the cloud-based component and the desired configuration state for the hybrid deployment;

derive a set of configuration tasks based on the difference; and

perform the set of configuration tasks to establish the hybrid deployment with the desired configuration state.

11. The computing device of claim 10 , wherein to perform the set of configuration tasks the processor is caused to:

incorporate the set of configuration tasks into a configuration plan; and

execute the configuration plan.

12. The computing device of claim 11 , wherein the processor is further caused to:

collect topology information for the target environment;

analyze the topology information;

based on the analysis, determine whether the target environment has been previously configured for hybrid deployment; and

based on the determination, select a type of configuration plan.

13. The computing device of claim 12 , wherein the processor is further caused to select a first run configuration plan for execution in response to a determination the target environment has not been previously configured for hybrid deployment.

14. The computing device of claim 13 , wherein the first run configuration plan includes default tasks, and the processor is further caused to:

add tasks from the set of configuration tasks that are not included in the default tasks to the first run configuration plan; and

execute the first run configuration plan.

15. The computing device of claim 12 , wherein the processor is further caused to select a subsequent run configuration plan for execution in response to a determination the target environment has been previously configured for hybrid deployment.

16. The computing device of claim 15 , wherein the subsequent run configuration plan includes a modification to a hybrid configuration object created during execution of a first run configuration plan, the modification including to enable or disable at least one hybrid deployment feature corresponding to the hybrid configuration object.

17. The computing device of claim 10 , wherein the processor is further caused to provide information associated with one or more additional tasks and testing to be completed in order to finalize configuration of the hybrid deployment.

18. A computer readable storage device including instructions for configuring a hybrid deployment of an on-premise component and a cloud-based component in a target environment that, when executed by a processor, cause the processor to:

receive a desired configuration state for the hybrid deployment of the on-premise component and the cloud-based component;

determine a current configuration state of the on-premise component and a current configuration state of the cloud-based component;

determine a difference between the current configuration state of one or both of the on-premise component and the cloud-based component and the desired configuration state for the hybrid deployment;

derive a set of configuration tasks based on the difference; and

perform the set of configuration tasks to establish the hybrid deployment with the desired configuration state.

19. The computer readable storage device of claim 18 , wherein to derive the set of configuration tasks based on the difference, the processor is caused to:

derive one or both of a first set of configuration tasks to configure the on-premise component for the hybrid deployment and a second set of configuration tasks to configure the cloud-based component for the hybrid deployment;

incorporate one or both of the first set of configuration tasks and the second set of configuration tasks into a configuration plan; and

execute the configuration plan.

20. The computer readable storage device of claim 19 , wherein the processor is further caused to select, as the configuration plan, one of a first configuration plan and a second run configuration plan based on whether the target environment has been previously configured for hybrid deployment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: NELSON, JASON CRAIG; APPLEBY, BEN
To: MICROSOFT CORPORATION
Reel/Frame 050517/0267 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2019
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050517/0321 →