Claims
- 1. A method of managing an application environment having an operating state according to an operating objective, the application environment having a computing resource with a characteristic representative of an operating state of the computing resource, said method comprising:
(a) determining a future operating state of the application environment based on a current status of the characteristic of the computing resource; (b) determining a difference between the future operating state of the application environment and the operating objective; (c) generating a selected set of changes to the application environment for reducing the difference; and (d) repeating steps (a) to (c) to monitor the future operating state of the application environment.
- 2. The method according to claim 1 wherein step (a) includes:
estimating a future time-varying status of the characteristic based on a time-varying component of the current status; estimating a future time stationary status of the characteristic based on a time stationary component of the current status; combining the future time-varying status and the future time stationary status to form a future status of the characteristic; and determining a response of the application environment to the future status of the characteristic, wherein the future operating state of the application environment is based on the response.
- 3. The method according to claim 2 wherein the step of estimating a future time-varying status includes:
obtaining the time-varying component from the current status of the characteristic; determining a time-varying periodic model from the time-varying component; and extrapolating the future time-varying status from the time-varying periodic model based on periodicity of the time-varying periodic model.
- 4. The method according to claim 2 wherein the step of estimating a future time stationary status includes:
extracting the time-varying component from the current status of the characteristic to obtain the time stationary component of the current status; determining a time stationary periodic model from the time stationary component; and extrapolating the future time stationary status from the time stationary periodic model based on periodicity of the time stationary periodic model.
- 5. The method according to claim 1 wherein the operating state of the computing resource includes the characteristic representing a current demand for the computing resource, and a current performance state for the computing resource given the current demand and wherein the future operating state of the application environment includes a future demand for the application environment based on a future demand for the computing resource and a future performance state for the application environment given the future demand for the application environment.
- 6. The method according to claim 5 wherein the future performance state from the future operating state of the application environment is used to determine the difference.
- 7. The method according to claim 1 wherein step (c) includes:
creating a plurality of sets of changes to the application environment, each of the plurality of sets of changes resulting in a reduction of the difference; assessing each of the plurality of sets of changes to determine a quantitative preference for the effect on the future operating state of the application environment of each of the plurality of sets of changes; and effecting the selected set of changes on the application environment.
- 8. The method according to claim 7 wherein step (c) further includes:
determining the selected set of changes from the plurality of sets of changes based on the quantitative preference prior to effecting the selected set of changes.
- 9. The method according to claim 7 wherein the step of assessing includes:
determining a quantitative assessment of the effect on the future operating state of the application environment of a set of changes from the plurality of sets of changes for each of a plurality of properties wherein the plurality of properties includes the reduction of the difference and use of computing resources; combining the quantitative assessment from each of the plurality of properties for the set of changes to form the quantitative preference for the set of changes; and repeating the steps of determining a quantitative assessment and combining the quantitative assessment for each of the plurality of sets of changes.
- 10. The method according to claim 7 wherein the step of effecting includes:
forming a workflow for each change in the selected set of changes; and performing the workflow for each change in the selected set of changes to invoke the selected set of changes.
- 11. The method according to claim 10 wherein the step of forming a workflow includes:
decomposing each change in the selected set of changes into a set of steps that can be performed to invoke each change; assembling the workflow from the set of steps for each change in the selected set of changes.
- 12. The method according to claim 1 wherein each change in the selected set of changes to the application environment is one of adding a new computing resource to the application environment, removing the computing resource from the application environment or reconfiguring the computing resource in the application environment.
- 13. The method according to claim 1 wherein step (d) includes:
repeating steps (a) to (c) when a change in the current status of the characteristic of the computing resource is detected.
- 14. The method according to claim 1 wherein step (d) includes:
repeating steps (a) to (c) at a repeating time interval.
- 15. A method of managing a plurality of application environments according to an operating objective for each of the plurality of application environments, each of the plurality of application environments having an operating state and being assigned a computing resource from a plurality of computing resources, each of the plurality of computing resources having a characteristic representative of an operating state of the computing resource, said method comprising:
(a) estimating a future time-varying status of the characteristic of the assigned computing resource for the specific application environment based on a time-varying component of the current status; (b) estimating a future time stationary status of the characteristic of the assigned computing resource for the specific application environment based on a time stationary component of the current status; (c) combining the future time-varying status and the future time stationary status to form a future status of the characteristic of the assigned computing resource for specific application environment; (d) determining a response of the specific application environment to the future status of the characteristic of the assigned computing resource for the specific application environment, wherein the future operating state of the specific application environment is based on the response; (e) determining a difference between the future operating state of the specific application environment and the operating objective for the specific application environment; (f) creating a plurality of sets of changes to the specific application environment, each of the plurality of sets of changes resulting in a reduction of the difference; (g) assessing each of the plurality of sets of changes to determine a quantitative preference for the effect on the future operating state of the specific application environment of each of the plurality of sets of changes based a property of the effect; (h) determining the selected set of changes from the plurality of sets of changes based on the quantitative preference; (i) effecting the selected set of changes on the selected application environment; and (j) repeating steps (a) to (i) for each of the plurality of application environments to monitor the future operating state of each of the plurality of application environments.
- 16. The method according to claim 15 wherein the operating state of each of the plurality of computing resources includes the characteristic representing a current demand for the computing resource, and a current performance state for the computing resource given the current demand and wherein the future operating state of each of the plurality of application environment includes a future demand for the application environment based on a future demand for the computing resource assigned to the application environment and a future performance state for the application environment given the future demand for the application environment.
- 17. The method according to claim 15 wherein the step of effecting includes:
forming a workflow for each change in the selected set of changes including:
decomposing each change in the selected set of changes into a set of steps that can be performed to invoke each change; assembling the workflow from the set of steps for each change in the selected set of changes; and performing the workflow for each change in the selected set of changes to invoke the selected set of changes.
- 18. The method according to claim 15 wherein each change in the selected set of changes to the specific application environment is one of assigning one of the plurality of computing resources to the specific application environment, removing the assigned computing resource from the specific application environment or reconfiguring the assigned computing resource in the specific application environment.
- 19. A closed-loop system for managing an application environment having an operating state according to an operating objective, the application environment having a computing resource with a characteristics representative of an operating state of the computing resource, said system comprising:
a state determination mechanism for determining a difference between the operating objective and a future operating state of the application environment based on a current status of the characteristic of the computing resource; a resource change mechanism for creating a selected set of changes to the application environment to reduce of the difference; and a deployment mechanism for effecting the selected set of changes on the application environment.
- 20. The system according to claim 19 wherein the state determination mechanism includes:
a prediction mechanism for estimating a future status of the characteristic of the computing resource; a response modeling mechanism for determining a response of the application environment to the future status of the characteristic, wherein the future operating state of the application environment is based on the response; and an objective difference mechanism for determining the difference between the future operating state of the application environment and the operating objective.
- 21. The system according to claim 20 wherein the prediction mechanism includes:
a time-varying mechanism for estimating a future time-varying status of the characteristic based on a time-varying component of the current status; a time stationary mechanism for estimating a future time stationary status of the characteristic based on a time stationary component of the current status; and a combining mechanism for combining the future time-varying status and the future time stationary status to form a future status for the characteristic.
- 22. The system according to claim 21 wherein the time-varying mechanism includes:
a time-varying component mechanism for obtaining a time-varying component from the time-varying component of the current status of the characteristic; a time-varying trends mechanism for determining a time-varying periodic model from the time-varying component; and a time-varying extrapolation mechanism for extrapolating the future time-varying status from the time-varying periodic model based on periodicity of the time-varying periodic model.
- 23. The system according to claim 21 wherein the time stationary mechanism includes:
a time stationary component mechanism for extracting the time-varying component from the current status of the characteristic to obtain the time stationary of the current status; a time stationary trends mechanism for determining a time stationary periodic model from the time stationary component; and a time-stationary extrapolation mechanism for extrapolating the future time stationary status from the time stationary periodic model based on periodicity of the time stationary periodic model.
- 24. The system according to claim 19 wherein the resource change mechanism includes:
a decision creation mechanism for creating a plurality of sets of changes to the application environment, each of the plurality of sets of changes resulting in a reduction of the difference; a decision search mechanism for assessing each of the plurality of sets of changes to determine a quantitative preference for the effect on the future operating state of the application environment of each of the plurality of sets of changes based on a property of the effect; and a controller for determining the selected set of changes from the plurality of sets of changes based on the quantitative preference.
- 25. The system according to claim 24 wherein the decision search mechanism includes:
a plurality of property mechanism for determining a quantitative assessment of a set of changes from the plurality of sets of changes for one of a plurality of properties of the effect of the set of changes on the future operating state of the application environment; a decision analyzing mechanism for combining the quantitative assessment for the set of changes from each of the plurality of property mechanisms to form the quantitative preference for the set of changes.
- 26. The system according to claim 19 wherein the deployment mechanism includes:
a workflow formation mechanism for forming a workflow for each change in the set of selected changes; and a workflow execution mechanism for performing the workflow for each change in the set of selected changes to invoke the set of selected changes.
- 27. The system according to claim 26 wherein the workflow formation mechanism includes:
a workflow creation mechanism for decomposing each change in the set of selected changes into a set of steps that can be performed to invoke the changes; and a workflow assembly mechanism for assembling the workflow from the set of steps for each change in the selected set of changes.
- 28. A computer readable medium having stored thereon computer-executable instructions for managing an application environment having an operating state according to an operating objective, the application environment having a computing resource with a characteristic representative of an operating state of the computing resource, the computer-executable instructions comprising:
(a) determining a future operating state of the application environment based on a current status of the characteristic of the computing resource; (b) determining a difference between the future operating state of the application environment and the operating objective; (c) generating a selected set of changes to the application environment for reducing the difference; and (d) repeating steps (a) to (c) to monitor the future operating state of the application environment.
- 29. The computer-executable instructions according to claim 28 wherein step (a) includes:
estimating a future time-varying status of the characteristic based on a time-varying component of the current status; estimating a future time stationary status of the characteristic based on a time stationary component of the current status; combining the future time-varying status and the future time stationary status to form a future status of the characteristic; and determining a response of the application environment to the future status of the characteristic, wherein the future operating state of the application environment is based on the response.
- 30. The computer-executable instructions according to claim 29 wherein the step of estimating a future time-varying status includes:
obtaining the time-varying component from the current status of the characteristic; determining a time-varying periodic model from the time-varying component; and extrapolating the future time-varying status from the time-varying periodic model based on periodicity, of the time-varying periodic model.
- 31. The computer-executable instructions according to claim 29 wherein the step of estimating a future time stationary status includes:
extracting the time-varying component from the current status of the characteristic to obtain the time stationary component of the current status; determining a time stationary periodic model from the time stationary component; and extrapolating the future time stationary status from the time stationary periodic model based on periodicity of the time stationary periodic model.
- 32. The computer-executable instructions according to claim 28 wherein the operating state of the computing resource includes the characteristic representing a current demand for the computing resource, and a current performance state for the computing resource given the current demand and wherein the future operating state of the application environment includes a future demand for the application environment based on a future demand for the computing resource and a future performance state for the application environment given the future demand for the application environment and wherein the future performance state from the future operating state of the application environment is used to determine the difference.
- 33. The computer-executable instructions according to claim 28 wherein step (c) includes:
creating a plurality of sets of changes to the application environment, each of the plurality of sets of changes resulting in a reduction of the difference; assessing each of the plurality of sets of changes to determine a quantitative preference for the effect on the future operating state of the application environment of each of the plurality of sets of changes based a property of the effect; determining the selected set of changes from the plurality of sets of changes based on the quantitative preference; and effecting the selected set of changes on the application environment.
- 34. The computer-executable instructions according to claim 33 wherein the step of assessing includes:
determining a quantitative assessment of the effect on the future operating state of the application environment of a set of changes from the plurality of sets of changes for each of a plurality of properties wherein the plurality of properties includes the reduction of the difference and use of computing resources; combining the quantitative assessment from each of the plurality of properties for the set of changes to form the quantitative preference for the set of changes; and repeating the steps of determining a quantitative assessment and combining the quantitative assessment for each of the plurality of sets of changes.
- 35. The computer-executable instructions according to claim 28 wherein the step of effecting includes:
forming a workflow for each change in the selected set of changes; and performing the workflow for each change in the selected set of changes to invoke the selected set of changes.
- 36. The computer-executable instructions according to claim 35 wherein the step of forming a workflow includes:
decomposing each change in the selected set of changes into a set of steps that can be performed to invoke each change; forming the workflow from the set of steps for each change in the selected set of changes.
- 37. The computer-executable instructions according to claim 28 wherein each change in the selected set of changes to the application environment is one of adding a new computing resource to the application environment, removing the computing resource from the application environment or reconfiguring the computing resource in the application environment.
- 38. The computer-executable instructions according to claim 28 wherein step (d) includes:
repeating steps (a) to (c) when a change in the current status of the characteristic of the computing resource is detected.
- 39. The computer-executable instructions according to claim 28 wherein step (d) includes:
repeating steps (a) to (c) at a repeating time interval.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority from U.S. provisional patent application serial no. 60/354,328 filed on Feb. 7, 2002, hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60354328 |
Feb 2002 |
US |