IP Library Granted Patent US 8,839,223
Granted Patent B2
US 8,839,223 · App. 13/448,473 · Granted Sep 16, 2014

Validation of current states of provisioned software products in a cloud environment

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,839,223
App. No.
13/448,473
Granted
Sep 16, 2014
Kind
B2
Abstract

In one aspect, a state file is received that describes a desired state of a provisioned software product started in a cloud environment. The state file defines the bundles to be installed and their desired state. The desired states of the bundles are read from the state file. Currently installed bundles, from the provisioned software product, are analyzed together with current states of the currently installed bundles. The specified bundles in the state file are compared to the currently installed bundles. The current states of the currently installed bundles are compared to the desired states from the state file to determine whether a current state of the provisioned software product corresponds to the desired state.

Claims (61)

1. A computer implemented method to execute on a processor to validate a current state of a provisioned software product started in a cloud environment, the method comprising:

receiving a state file describing a desired state of the provisioned software product, the state file specifying bundles to be installed along with corresponding desired states of the bundles in the provisioned software product;

reading the desired states of the specified bundles to be installed;

analyzing currently installed bundles and current states of the currently installed bundles in the provisioned software product;

the processor, comparing the bundles specified in the state file to the currently installed bundles and the current states of the currently installed bundles with the desired states of the bundles to determine whether the current state of the provisioned software product corresponds to the desired state of the provisioned software product; and

upon determining that the current state of the provisioned software product does not correspond to the desired state of the provisioned software product, repair the provisioned software product to be in the desired state using the specified bundles in the state file.

2. The method of claim 1 , wherein the provisioned software product is started on an application server associated with the cloud environment.

3. The method of claim 2 , wherein analyzing the currently installed bundles and the current states of the currently installed bundles in the provisioned product comprises:

analyzing a server state of the application server used for the provisioned product, wherein the server state comprises the current states of the currently installed bundles; and

reading the current states of the currently installed bundles from the server state.

4. The method of claim 1 , further comprising:

determining the current state of the provisioned software product to be in an undesired state when the specified bundles in the current state file differ from the currently installed bundles or when the current states of the currently installed bundles differ from the desired states.

5. The method of claim 1 , further comprising:

determining the current state of the provisioned software product to be the desired state when the specified bundles from the state file correspond to the currently installed bundles and the current states of the currently installed bundles correspond to the desired states.

6. The method of claim 4 , further comprising:

identifying one or more currently installed bundles whose current states differ from the desired states, when the current state of the provisioned software product is in the undesired state.

7. The method of claim 6 , further comprising:

sending a notification informing a monitoring system about the current state of the started provisioned software product and specifying the identified one or more currently installed bundles.

8. An article of manufacture to validate a current state of a provisioned software product started in a cloud environment, comprising a non-transitory computer readable storage medium including executable instructions, which when executed by a computer, cause the computer to:

receive a state file describing a desired state of the provisioned software product, the state file specifying bundles to be installed along with corresponding desired states of the bundles in the provisioned software product;

read the desired states of the specified bundles to be installed;

analyze currently installed bundles and current states of the currently installed bundles in the provisioned software product;

compare the bundles specified in the state file to the currently installed bundles and the current states of the currently installed bundles with the desired states of the bundles to determine whether the current state of the provisioned software product corresponds to the desired state of the provisioned software product; and

upon determining that the current state of the provisioned software product does not correspond to the desired state of the provisioned software product, repair the provisioned software product to be in the desired state using the specified bundles in the state file.

9. The article of manufacture of claim 8 , wherein the provisioned software product is started on an application server associated with the cloud environment.

10. The article of manufacture of claim 9 , wherein the instructions to analyze the currently installed bundles and the current states of the currently installed bundles in the provisioned product comprise instructions which when executed by a computer, cause the computer to:

analyze a server state of the application server used for the provisioned product, wherein the server state comprises the current states of the currently installed bundles; and

read the current states of the currently installed bundles from the server state.

11. The article of manufacture of claim 8 , further comprising instructions, which when executed by a computer, cause the computer to determine the current state of the provisioned software product to be in an undesired state when the specified bundles in the state file differ from the currently installed bundles or when the current states of the currently installed bundles differ from the desired states.

12. The article of manufacture of claim 8 , further comprising instructions, which when executed by a computer, cause the computer to determine the current state of the provisioned software product to be the desired state when the specified bundles from the state file correspond to the currently installed bundles and the current states of the currently installed bundles correspond to the desired states.

13. The article of manufacture of claim 12 , further comprising instructions, which when executed by a computer, cause the computer to identify one or more currently installed bundles whose current states differ from the desired states, when the current state of the provisioned software product is in the undesired state.

14. The article of manufacture of claim 13 , further comprising instructions, which when executed by a computer, cause the computer to send a notification informing a monitoring system about the current state of the started provisioned software product and specifying the identified one or more currently installed bundles.

15. A system comprising:

one or more computing machine resources for provisioning of a software product;

a processor;

a platform repository for storing a plurality of bundles;

a platform infrastructure comprising instructions that, when executed on the processor:

receive a descriptor comprising information about the provisioned software product to be started on available computing machine resources from the one or more computing machine resources;

select the available computing machine resources;

select bundles from the platform repository specified in the descriptor for the provisioned software product;

install the selected bundles comprising:

installing a bundle specifying a server to host the provisioned software product on the available computing resources;

creating a state file describing a desired state of the provisioned software product, the state file specifying the selected bundles to be installed along with corresponding desired states of the bundles in the provisioned software product;

installing the rest of the bundles on the installed server; and

applying the desired states described in the state file; and

install a validation module on the installed server to validate a current state of the provisioned software product.

16. The system of claim 15 , wherein the validation module comprises instructions that, when executed on the processor:

read the desired states of the specified bundles to be installed from the state file;

analyze currently installed bundles and current states of the currently installed bundles in the provisioned software product;

compare the bundles specified in the state file to the currently installed bundles and the current states of the currently installed bundles with the desired states of the bundles to determine whether the current state of the provisioned software product corresponds to the desired state of the provisioned software product;

identify bundles from the state file whose current states differ from the desired states, when the current state of the provisioned software product is in an undesired state;

send notifications to a monitoring system about the current state of the provisioned software product started on the available computing machine resources; and

the monitoring system in relation to the platform infrastructure and the one or more computing machine resources to receive notifications from the validation module about the current state of the provisioned software product.

17. The system of claim 15 , wherein analyzing the currently installed bundles and the current states of the currently installed bundles in the provisioned product further comprises instructions to:

analyze a server state of the application server used for the provisioned software product, wherein the server state comprises the current states of the currently installed bundles; and

read the current states of the currently installed bundles from the server state.

18. The system of claim 15 , further comprises instructions when executed on the processor:

determine the current state of the provisioned software product to be in the undesired state when the specified bundles in the state file differ from the currently installed bundles or when the current states of the currently installed bundles differ from the desired states.

19. The system of claim 15 , further comprises instructions when executed on the processor:

determine the current state of the provisioned software product to be the desired state when the specified bundles from the state file correspond to the currently installed bundles and the current states of the currently installed bundles correspond to the desired states.

20. The system of claim 15 , wherein upon determining that the current state of the provisioned software product does not correspond to the desired state of the provisioned software product, repair the provisioned software product to be in a desired state using the specified bundles in the state file.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2012
From: KIRCHEV, LAZAR; STANEV, GEORGI
To: SAP AG
Reel/Frame 028390/0453 →