IP Library Granted Patent US 7,124,289
Granted Patent B1
US 7,124,289 · App. 09/699,350 · Granted Oct 17, 2006

Automated provisioning framework for internet site servers

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 7,124,289
App. No.
09/699,350
Granted
Oct 17, 2006
Kind
B1
Abstract

A framework for automatically provisioning computing devices includes a central database system and a central file system. Information stored in the database comprises a model of the individual devices, as well as the interconnections of the devices. The central file system stores the software components to be installed on the devices. When provisioning is carried out, the database sends commands to agents located on each device which cause them to retrieve and install the software components from the file system, and to configure the components according to the stored model.

Claims (34)

1. A method for automatically configuring software on a plurality of computing devices having different respective sets of software and/or configurations of operating parameters, to enable said devices to perform predetermined operations, comprising the steps of:

storing in a database a model for each different type of device having a different respective set of software and/or configuration of operating parameters, said model including a description of software components installed on a device and operating parameter values for the software components;

installing an agent on each device that has the ability to manipulate software components installed on the device; and

transmitting messages, which contain data from a given one of said models, from said database to agents on only those devices which are associated with said given model, to cause said agents to manipulate operating parameters of software components on said devices in accordance with said data.

2. The method of claim 1 , further including the step of modifying a model stored in said database, and sending a message to all devices associated with said model to cause said agents to reconfigure software components in accordance with the change in the model.

3. The method of claim 1 , wherein said messages are transmitted by means of a gateway that provides an interface between the database and the devices, and further including the step of converting messages in said gateway from a first protocol associated with the database to a second protocol employed by said devices.

4. The method of claim 3 , wherein said second protocol includes remote procedure calls.

5. The method of claim 4 , wherein said second protocol comprises XML-RPC.

6. The method of claim 1 , further including the step of recognizing a change in configuration in one of said devices, and modifying said model in accordance with the change in configuration.

7. The method of claim 6 , further including the step of sending a message to all other devices of the same type as said one device, which causes the agents in said other devices to reconfigure software components in accordance with the change in the model.

8. The method of claim 1 , further including the step of sending messages from said database to said devices which cause said agents in said devices to retrieve software components from a source external to said devices and install said software components on the devices.

9. The method of claim 8 , further including the step of storing said software components in a file system, wherein said components are classified into multiple roles which respectively contain different categories of software.

10. The method of claim 9 , wherein the categories of software are determined in accordance with the probable frequency with which their respective components are likely to be changed during the service lifetime of a device.

11. The method of claim 9 , wherein the model of a device is stored in said database as one set of software components from each of said multiple roles.

12. The method of claim 11 , wherein one of said roles includes operating system software for the devices.

13. The method of claim 12 , wherein another of said roles includes application programs for said devices.

14. The method of claim 12 , wherein another of said roles includes data content associated with the devices.

15. The method of claim 1 , wherein the step of transmitting messages comprises the steps of storing commands in a queue in said database, sending a first message containing the first command in said queue, awaiting a report from a device that the first message has been executed, and sending the next command in the queue in response to said report.

16. The method of claim 1 , wherein said agents have a level of authority that enables them to manipulate operating system software installed on said devices.

17. A method for automatically installing software components on a plurality of computing devices having different respective sets of software, comprising the steps of:

storing in a database a model for each different type of device having a different respective set of software, said model including a description of software components installed on a device;

installing an agent on each device that has the ability to install and delete other software components on said device; and

transmitting messages, which contain data from a given one of said models, from said database to agents on only those devices which are associated with said given model, to cause said agents to retrieve software components from a source external to said devices and install said software components on the devices.

18. The method of claim 17 , wherein said messages are transmitted by means of a gateway that provides an interface between the database and the devices, and further including the step of converting messages in said gateway from a first protocol associated with the database to a second protocol employed by said devices.

19. The method of claim 18 , wherein said second protocol includes remote procedure calls.

20. The method of claim 19 , wherein said second protocol comprises XML-RPC.

21. The method of claim 17 , further including the step of storing said software components in a file system, wherein said components are classified into multiple roles which respectively contain different categories of software.

22. The method of claim 21 , wherein the categories of software are determined in accordance with the probable frequency with which their respective components are likely to be changed during the service lifetime of a device.

23. The method of claim 21 , wherein the model of a device is stored in said database as one set of software components from each of said multiple roles.

24. The method of claim 23 , wherein one of said roles includes operating system software for the devices.

25. The method of claim 24 , wherein another of said roles includes application programs for said devices.

26. The method of claim 24 , wherein another of said roles includes data content associated with the devices.

27. The method of claim 17 , wherein the step of transmitting messages comprises the steps of storing commands in a queue in said database, sending a first message containing the first command in said queue, awaiting a report from a device that the first message has been executed, and sending the next command in the queue in response to said report.

28. The method of claim 17 , wherein each agent has a level of authority that enables it to manipulate operating system software installed on said devices.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2008
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 020909/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2008
From: HEWLETT-PACKARD SOFTWARE, LLC
To: HEWLETT-PACKARD COMPANY
Reel/Frame 020897/0937 →
MERGER Recorded May 3, 2008
From: OPSWARE INC.
To: HEWLETT-PACKARD SOFTWARE, LLC
Reel/Frame 020897/0062 →
CHANGE OF NAME Recorded Sep 11, 2006
From: LOUDCLOUD, INC.
To: OPSWARE INC.
Reel/Frame 018281/0044 →