Claims
- 1. In a computer network, a method, comprising:
maintaining at a controller at least one set, each set comprising a grouping of at least one computing device; providing at the controller a selection corresponding to at least one computing device; providing at the controller a job corresponding to at least one operation to perform on the selection; sending a message from the controller to each computing device in the selection, the message instructing the computing device that receives the message to execute the job; and at the controller, storing results of the job from each computing device in the selection.
- 2. The method of claim 1 wherein providing at the controller the selection comprises providing data corresponding to at least one set of computing devices.
- 3. The method of claim 1 wherein providing at the controller the job comprises providing data corresponding to a script to run on the selection.
- 4. The method of claim 1 wherein providing at the controller the job comprises providing data corresponding to a binary program to run on the selection.
- 5. The method of claim 4 wherein the data corresponding to a binary program to run on the selection comprises a network address.
- 6. The method of claim 1 further comprising, receiving the message at an agent on a computing device identified in the selection, and executing the job in response to the message.
- 7. The method of claim 6 wherein executing the job in response to the message comprises running a script.
- 8. The method of claim 6 wherein executing the job in response to the message comprises running a binary program.
- 9. The method of claim 8 wherein running a binary program comprises retrieving the program based on a network address in the message.
- 10. The method of claim 1 further comprising, receiving at the controller discovery information indicating that a node computing device is operational so as to be controlled by the controller.
- 11. The method of claim 10 further comprising, recognizing that the node computing device is already controlled by the controller.
- 12. The method of claim 10 further comprising, recognizing that the node computing device is not controlled by the controller, and controlling the node computing device.
- 13. The method of claim 12 further comprising, adding information identifying the node computing device to a data store maintained by the controller.
- 14. The method of claim 10 further comprising, automatically configuring the node computing device based on receiving the discovery information.
- 15. The method of claim 1 wherein storing results of the job comprises collecting the results in a storage.
- 16. The method of claim 1 wherein storing results of the job comprises persisting the results.
- 17. In a computer network, a data structure comprising:
a schema, the schema configured to enable a plurality of computing nodes to be controlled by a controller computer, the schema including:
a plurality of device objects, each device object identifying a computing node capable of being controlled by the controller; at least one set object, each set object identifying a group of at least one computing node identified by a device object; and a job object, the job object specifying data corresponding to an operation to be executed by each computing node grouped together via a set object.
- 18. The data structure of claim 17 further comprising, a job log object, the job log object comprising information corresponding to a result of a job object operation executed by a least one computing node identified in the set object.
- 19. The data structure of claim 17 wherein the set object includes a method for adding a device to a set.
- 20. The data structure of claim 17 wherein the set object includes a method for removing a device from a set.
- 21. The data structure of claim 17 wherein the set object includes a method for running a job on the set.
- 22. The data structure of claim 17 wherein the device object includes associations to other objects.
- 23. The data structure of claim 17 further comprising a job invocation object that is created wherein when the job is executed.
- 24. The data structure of claim 17 wherein the schema further comprises an alerts object for communicating information from computing node the to the controller.
- 25. In a computer network, a system, comprising:
a controller, the controller configured to receive a selection corresponding to at least one node; a node identified in the selection, the node including agent software connected for communication with controller software on the controller; a job maintained by the controller, the job corresponding to at least one operation to perform on the selection; a transport configured to communicate a message containing data corresponding to the job from the controller software to the agent software of the node, the message instructing the agent software to execute the job, the agent software of the node executing the job and returning results to the controller in response to receiving the message; and a data store at the controller, the controller storing the results from the agent software in the data store.
- 26. The system of claim 25 further comprising a schema interface configured to provide access to information in the data store.
- 27. The system of claim 25 further comprising an execution engine at the node computer, the agent software communicating with the execution engine to perform the at least one operation corresponding to the job.
- 28. The system of claim 27 wherein the execution engine comprises a script engine, and wherein the agent software communicates with the execution engine to run a script.
- 29. The system of claim 27 wherein the execution engine software for executing a binary program, and wherein the agent software communicates with the execution engine to run the binary program.
- 30. The system of claim 25 further comprising software on the node that performs a set of at least one special operation requested by the controller.
- 31. The system of claim 30 wherein the set of at least one special operation comprises a reboot operation.
- 32. The system of claim 30 wherein the set of at least one special operation comprises a suspend operation.
- 33. The system of claim 30 wherein the set of at least one special operation comprises a shutdown operation.
- 34. The system of claim 25 further comprising a discovery listening process at the controller that detects discovery information provided by nodes on the network.
- 35. The system of claim 34 wherein the controller includes software for automatically configuring a node that provides the discovery information.
- 36. The system of claim 34 wherein each node includes a discovery component for automatically providing the discovery information.
- 37. The system of claim 36 wherein each node automatically provides the discovery information following a reboot of that node.
- 38. In a computer network, a method comprising:
selecting, as a selected set, a set comprising a plurality of computing devices; and instructing a controller to perform an operation to the set, the controller communicating with each computing device in the set to request performance of the operation and receive a result of the requested operation, the controller logging the result.
- 39. The method of claim 38 further comprising, arranging the plurality of computing devices into the set.
- 40. The method of claim 38 further comprising, analyzing the result.
- 41. The method of claim 40 wherein analyzing the result indicates the operation failed on a given computing device, and further comprising, requesting that performance of the operation be retried on that computing device.
- 42. In a computer network, a method comprising:
defining a set; editing the set to add at least one controlled computing device to the set; storing the set; and at the controller, using the set to control each controlled computing device of the set.
- 43. The method of claim 42 further comprising, editing the set to remove at least one controlled computing device from the set.
- 44. The method of claim 42 wherein defining a set comprises, identifying a set object.
- 45. The method of claim 44 wherein editing the set comprises, calling a method of the set object.
- 46. The method of claim 42 wherein storing the set comprises, storing the set on a data store accessible to the controller.
- 47. The method of claim 42 wherein using the set to control each controlled computing device of the set comprises, selecting the set, and instructing the controller to perform an operation to the set, the controller communicating with each computing device in the set to request performance of the operation.
- 48. The method of claim 47 further comprising, at the controller, receiving a result of the requested operation from each computing device, and storing the result.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Patent application Serial No. 60/297,473 Filed Jun. 11, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60297473 |
Jun 2001 |
US |