IP Library Granted Patent US 8,250,355
Granted Patent B2
US 8,250,355 · App. 12/131,238 · Granted Aug 21, 2012

Method, system, and product for identifying provisioning operations via planning methods

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 8,250,355
App. No.
12/131,238
Granted
Aug 21, 2012
Kind
B2
Abstract

A method, system, and computer program product are disclosed for automatically determining a valid ordering of provisioning operations, and their needed parameters, so that a provisioning system can configure a desired resource state. This is accomplished by formally describing the pre-conditions and effects of provisioning operations, the current state of managed resources and the desired final state. A planning algorithm is then used to determine the provisioning operations, a valid ordering and appropriate parameters to bring the system from the current state to the desired state.

Claims (47)

1. A method for ordering operations to achieve a desired state of the resources managed by a provisioning system, comprising the steps of:

identifying provisioning operations for a provisioning system;

defining preconditions and effects of the provisioning operations;

mapping a current state of resources and a desired future state of resources into a form suitable for a planning algorithm, wherein the planning algorithm assigns costs to operations to decide a valid workflow order; and

applying the planning algorithm to automatically generate provisioning workflows for the provisioning system.

2. The method as recited in claim 1 , wherein applying includes ordering provisioning operations to determine the valid workflow order for the provisioning system to configure the current state of resources to implement a service or application.

3. The method according to claim 2 , further comprising the step of selecting an execution order consistent with an identified valid workflow order.

4. The method according to claim 2 , further comprising the step of executing the provisioning operations in an order consistent with the valid workflow order.

5. The method according to claim 4 , wherein the executing of the provisioning operations is performed serially.

6. The method according to claim 4 , wherein the executing of the provisioning operations is performed in parallel.

7. The method according to claim 6 , further comprising the step of alternating the steps of identifying the provisioning operations and executing the provisioning operations until a desired goal is obtained.

8. The method according to claim 1 , wherein the costs are used to optimize the selection of a valid set of provisioning operations and the order.

9. The method according to claim 1 , wherein the identifying provisioning operations is restricted to identify a subset of the provisioning operations to achieve a desired goal.

10. A computer program product comprising a non transitory computer readable medium including a computer readable program for ordering operations, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:

identifying provisioning operations to achieve a desired state of the resources managed by a provisioning system;

defining preconditions and effects of the provisioning operations;

mapping a current state of resources and a desired future state of resources into a form suitable for a planning algorithm, wherein the planning algorithm assigns costs to operations to decide a valid workflow order; and

applying the planning algorithm to automatically generate provisioning workflows for the provisioning system.

11. A method for determining a set of provisioning operations and a valid order for their execution in a provisioning system, comprising the steps of:

storing configuration criteria and a mapping function in a configuration mechanism;

mapping content from a configuration repository and a desired future state of resources into a form suitable for a planning algorithm by employing the mapping function, wherein content includes information about a current state of resources managed by the provisioning system; and

determining a workflow by employing the planning algorithm which receives as input the current state of resources and the desired future state of resources and plans a set of provisioning operations to automatically generate provisioning workflows for the provisioning system to achieve the desired future state in accordance with the configuration criteria, wherein the planning algorithm assigns costs to operations to decide a valid workflow order.

12. The method as recited in claim 11 , wherein determining includes ordering the provisioning operations to determine the valid workflow order for the provisioning system to configure the current state of resources to implement a service or application.

13. The method according to claim 12 , further comprising the step of executing the provisioning operations in an order consistent with the valid workflow order.

14. The method according to claim 13 , wherein the executing of the provisioning operations is performed serially.

15. The method according to claim 13 , wherein the executing of the provisioning operations is performed in parallel.

16. The method according to claim 13 , further comprising the step of alternating a step of identifying the provisioning operations in the workflow and executing the operations until the goal state is achieved.

17. The method according to claim 11 , wherein the costs are used to optimize the selection of a valid set of provisioning operations and the order.

18. The method according to claim 11 , wherein the provisioning operations selected for the workflow are restricted to a subset of provisioning operations.

19. A computer program product comprising a non transitory computer readable medium including a computer readable program for determining a set of provisioning operations and a valid order for their execution in a provisioning system, wherein the computer readable program when executed on a computer causes the computer to perform the steps of:

storing configuration criteria and a mapping function in a configuration mechanism;

mapping content from a configuration repository and a desired future state of resources into a form suitable for a planning algorithm by employing the mapping function, wherein content includes information about a current state of resources managed by the provisioning system; and

determining a workflow by employing the planning algorithm which receives as input the current state of resources and the desired future state of resources and plans a set of provisioning operations to automatically generate provisioning workflows for the provisioning system to achieve the desired future state in accordance with the configuration criteria, wherein the planning algorithm assigns costs to operations to decide a valid workflow order.

20. A system for determining a set of provisioning operations and a valid order for their execution in a provisioning system, comprising:

a configuration mechanism which stores configuration criteria and a mapping function;

a mapper which employs the mapping function to map content from a configuration repository and a desired future state of resources into a form suitable for a planning algorithm, wherein content includes information about a current state of resources managed by the provisioning system; and

the planning algorithm receives information on the current state of resources and the desired future state of resources and plans a set of provisioning operations to automatically generate provisioning workflows for the provisioning system to achieve the desired future state in accordance with the configuration criteria and outputs the workflow, wherein the planning algorithm includes a cost module which assigns costs to operations to decide a valid workflow order.

21. The system as recited in claim 20 , wherein the configuration criteria includes definitions for predicates, actions, preconditions and effects for operations to be ordered and selected.

22. The system as recited in claim 20 , wherein the configuration repository includes a model schema which describes the current state of resources managed by the provisioning system.

23. The system as recited in claim 20 , wherein the mapping function transforms the content of the configuration repository to a domain state expressed over a set of predicates.

24. The system as recited in claim 20 , further comprising a controller which controls and manages components of the system.

25. The system as recited in claim 20 , further comprising a repository reader which reads the content from the configuration repository for the mapper.

26. The system as recited in claim 20 , wherein the planning algorithm includes a domain definition based on the configuration criteria and determines the current states of resources to be managed needed to achieve the goal state.

27. The system as recited in claim 20 , wherein the workflow includes a failure notice when the goal state can not be achieved.

28. The system as recited in claim 20 , further comprising editing tools employed to change resource configurations.

29. The system as recited in claim 20 , wherein the goal state is input by a user.

30. The system as recited in claim 20 , further comprising a translator which translates the workflow from a planning modeler language to a language suitable for execution by the provisioning system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2016
From: EILAM, TAMAR; KALANTAR, MICHAEL HUSAYN; KONSTANTINOU, ALEXANDER; MAGHRAOUI, KAOUTAR EL; MENGHRAJANI, ALOK; MUMMERT, LILY BARKOVIC; PERSHING, JOHN ARTHUR, JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038379/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.
Reel/Frame 038218/0384 →