IP Library Granted Patent US 9,792,156
Granted Patent B2
US 9,792,156 · App. 13/361,236 · Granted Oct 17, 2017

Hybrid configuration engine

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 9,792,156
App. No.
13/361,236
Granted
Oct 17, 2017
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 (78)

1. A hybrid configuration engine method for configuring a hybrid deployment of an on-premise computing device and a cloud-based computing device in a target environment, the on-premise computing device being independent from the cloud-based computing device, said hybrid configuration engine method comprising the steps of:

obtaining a desired configuration state for a hybrid deployment of an on-premise computing device and a cloud-based computing device from an operator;

collecting a current configuration state of the on-premise computing device from the on-premise computing device;

collecting a current configuration state of the cloud-based computing device from the cloud-based computing device;

determining one or more differences between the current configuration state of the on-premise computing device and the cloud-based computing device and the desired configuration state for said hybrid deployment of the on-premise computing device and the cloud-based computing device;

deriving a set of configuration tasks, based on the one or more differences, to configure said hybrid deployment of the on-premise computing device and the cloud-based computing device from said current configuration state of the on-premise computing device and said current configuration state of the cloud-based computing device to the desired configuration state for said hybrid deployment;

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

executing said configuration plan to establish said hybrid deployment of the on-premise computing device and the cloud-based computing device.

2. The hybrid configuration engine method of claim 1 characterized in that said step of deriving a set of configuration tasks further comprises the steps of:

deriving a first set of configuration tasks to configure the on-premise computing device to participate in said hybrid deployment with the cloud-based computing device;

deriving a second set of configuration tasks to configure the cloud-based computing device to participate in said hybrid deployment with the on-premise computing device; and

characterized in that said step of incorporating said set of configuration tasks into a configuration plan further comprises the step of combining said first set of configuration tasks and said second set of configuration tasks into said configuration plan.

3. The hybrid configuration engine method of claim 1 characterized in that said step of executing said configuration plan further comprising the steps of:

executing a selected configuration task from said configuration plan;

obtaining a result from executing said selected configuration task; and

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

4. The hybrid configuration engine method of claim 1 further comprising the steps of:

collecting administrative credentials for connecting to the on-premise computing device and the cloud-based computing device;

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

connecting to a configuration endpoint of the cloud-based computing device.

5. The hybrid configuration engine method of claim 1 further comprising the step of creating a set of hybrid configuration objects during execution of a first run configuration plan, each said hybrid configuration object corresponding to at least one hybrid deployment feature.

6. The hybrid configuration engine method of claim 5 further comprising the step of enabling or disabling a selected said hybrid deployment feature by modifying said hybrid configuration object corresponding to said selected hybrid deployment feature during a subsequent run of said hybrid configuration engine method within the target environment.

7. The hybrid configuration engine method of claim 1 further comprising the steps of:

collecting topology information for the target environment;

analyzing said topology information to determine whether or not said hybrid configuration engine method analyzing has been previously executed; and

selecting said first run configuration plan when said hybrid configuration engine method has not been previously executed on the target environment.

8. The hybrid configuration engine method of claim 1 further comprising the step of providing information about additional tasks to be completed in order to finalize a configuration relationship.

9. The hybrid configuration engine method of claim 1 further comprising the step of performing a preflight check to determine whether or not the target environment meets a minimum set of prerequisites for the desired configuration state.

10. A system for configuring a hybrid deployment of an on-premise computing device and a cloud-based computing device in a target environment, the on-premise computing device being independent from the cloud-based computing device, said system comprising a hybrid configuration engine application comprising:

an at least one processing unit; and

a memory, coupled to the at least one processing unit, the memory including instructions that when executed by the at least one processing unit are operable to:

obtain a desired configuration state for said hybrid deployment of an on-premise computing device and a cloud-based computing device from an operator;

collect a current configuration state of the on-premise computing device from the on-premise computing device;

collect a current configuration state of the cloud-based computing device from the cloud-based computing device;

determine a difference between the current configuration state of the on-premise computing device and the cloud-based computing device and the desired configuration state for said hybrid deployment of the on-premise computing device and the cloud-based computing device;

derive a configuration plan based on the one or more differences, the configuration plan including a sequence of configuration tasks to configure the hybrid deployment of the on-premise computing device and the cloud-based computing to achieve the desired configuration state for said hybrid deployment of the on-premise computing device and the cloud-based computing device;

execute said configuration plan to establish said hybrid deployment of the on-premise computing device and the cloud-based computing device; and

provide information about performing additional tasks to be performed in order to complete a configuration relationship.

11. The system of claim 10 characterized in that said hybrid configuration engine application is operable to:

execute a selected configuration task from said configuration plan;

obtain a result from executing said selected configuration task; and

verify that said result matches an intended result for said selected configuration task.

12. The system of claim 11 characterized in that said hybrid configuration engine application is operable to:

collect administrative credentials for connecting to the on-premise computing device;

connect to the on-premise computing device;

collect administrative credentials for connecting to the cloud-based computing device; and

connect to the cloud-based computing device.

13. The system of claim 10 characterized in that said hybrid configuration engine application is operable to create a set of hybrid configuration objects during execution of a first run configuration plan, each said hybrid configuration object corresponding to at least one hybrid deployment feature.

14. The system of claim 13 characterized in that said hybrid configuration engine application is operable to enable or disable a selected core hybrid deployment feature during a subsequent run of said hybrid configuration engine method within the target environment by modifying a corresponding said hybrid configuration object.

15. The system of claim 10 characterized in that said hybrid configuration engine application is operable to:

collect topology information for the target environment;

analyze said topology information to determine whether or not said hybrid configuration engine method analyzing has configured the target environment; and

select said first run configuration plan when said hybrid configuration engine application has not previously configured the target environment.

16. The system of claim 10 characterized in that said hybrid configuration engine application is operable to provide information about additional tasks to be completed in order finalize configuration of said configuration relationship.

17. The system of claim 10 characterized in that said hybrid configuration engine application is operable to perform a preflight check to determine whether or not the target environment meets a minimum set of prerequisites for the desired configuration state.

18. A computer readable storage device containing computer executable instructions which, when executed by a computer, perform a method to establish a hybrid deployment of an on-premise computing device and a cloud-based computing device in a target environment, said method comprising the steps of:

obtaining a hybrid configuration state for a hybrid deployment of an on-premise computing device and a cloud-based computing device from an operator;

collecting administrative credentials for connecting to the on-premise computing device;

connecting to a configuration endpoint of the on-premise computing device;

collecting a current configuration state of the on-premise computing device from the on-premise computing device;

collecting administrative credentials for connecting to the cloud-based computing device;

connecting to a configuration endpoint of the cloud-based computing device;

collecting a current configuration state of the cloud-based computing device from the cloud-based computing device;

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

determining a difference between the current configuration state of the on-premise computing device and the cloud-based computing device and the desired configuration state for said hybrid deployment of the on-premise computing device and the cloud-based computing device;

deriving a set of configuration tasks, based on the one or more differences, to configure said hybrid deployment of the on-premise computing device and the cloud-based computing device;

incorporating said set of configuration tasks into a configuration plan;

creating a set of configuration objects corresponding to a set of core hybrid deployment features during a first run of said method within the target environment;

executing a selected said configuration task of said configuration plan;

obtaining a result from executing said selected configuration task;

verifying said result matches an intended result for said selected configuration task;

repeating said step of executing a selected said configuration task on another said configuration task until each said configuration task of said configuration plan has been executed to establish said hybrid deployment of the on-premise computing device and the cloud-based computing device; and

providing information about additional tasks to be completed in order finalize configuration of a configuration relationship.

19. The computer readable storage device of claim 18 characterized in that said method further comprises the step of enabling or disabling a selected core hybrid deployment features during a subsequent run of said hybrid configuration engine method within the target environment.

20. The computer readable storage device of claim 18 characterized in that said method further comprises the steps of:

collecting topology information for the target environment;

analyzing said topology information to determine whether or not said hybrid configuration engine method analyzing has been previously executed; and

selecting said first run configuration plan when said hybrid configuration engine method has not been previously executed on the target environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2012
From: NELSON, JASON CRAIG; APPLEBY, BEN
To: MICROSOFT CORPORATION
Reel/Frame 027713/0600 →