Claims
- 1. A system for managing resources for a plurality of networked computer systems, the system comprising:
a plurality of computers coupled to a network, wherein each computer comprises:
a processor; and a memory medium coupled to the processor; wherein the memory medium of each computer of the plurality of computers stores program instructions which are executable by the processor of said each computer to:
collect data related to one or more of the plurality of computers; and analyze said data to determine one or more resource management operations for said one or more computers.
- 2. The system of claim 1, wherein said data comprises one or more of usage, performance, status, and load, for a component, process, and/or attribute of one or more computers.
- 3. The system of claim 2, wherein said data relates to one or more of a total memory size, a used memory size, a virtual memory size, peripheral type, available ports, processor type, processor speed, type of installed applications, whether a user is logged in, frequency of logins, a processor, a hard disk, network hardware installed, network usage and/or status, usage and/or status of installed applications, video specifications, a CD-ROM, a parameter stored in an inventory database, geographical information, a parameter exported by an operating system, and a parameter exported by a BIOS (Basic I/O Service).
- 4. The system of claim 1, wherein, the memory medium of each of the plurality of computers stores a collector agent, wherein the data collector agent is operable to provide said data for said analysis.
- 5. The system of claim 4, wherein, in providing said data for said analysis, the data collector agent is operable to send said data to a central database, and wherein said program instructions are further operable to retrieve said data from said central database for said analysis.
- 6. The system of claim 4, wherein, in providing said data for said analysis, the data collector agent is operable to send said data to a database, wherein said database is distributed over at least a subset of the plurality of computers.
- 7. The system of claim 1, wherein the program instructions are further executable to query each computer of the plurality of computers for said data.
- 8. The system of claim 7, wherein the program instructions are further executable to send said data to a central database, and wherein said program instructions are further executable to retrieve data including said data from said central database for said analysis.
- 9. The system of claim 7, wherein the program instructions are further executable to send said data to a database, wherein said database is distributed over at least a subset of the plurality of computers.
- 10. The system of claim 1, wherein, in analyzing said data to determine one or more resource management operations for the plurality of computers, the program instructions are executable to:
evaluate one or more operation rules using said data to determine said one or more resource management operations for the plurality of computers, wherein each operation rule specifies conditions for a resource management operation of the one or more resource management operations.
- 11. The system of claim 10, wherein, in evaluating the one or more operation rules, the program instructions are executable to calculate an operation indicator value for each operation rule, wherein said operation indicator value indicates a strength of said conditions for the resource management operation.
- 12. The system of claim 1, wherein, in analyzing said data to determine one or more resource management operations, the program instructions are further executable to analyze the calculated indicator values to determine a resultant indicator value for the resource management operation.
- 13. The system of claim 12, wherein, in determining a resultant indicator value for the resource management operation, the program instructions are executable to determine said resultant indicator value using one or more of:
a Bayesian decision-making network; weighted sum technique; predicate logic; fuzzy logic; an averaging technique; a percentage majorities technique; an at least one technique; and an at least none technique.
- 14. The system of claim 1, wherein the program instructions are further executable by processors on each of said one or more computers to broadcast respective data related to said each of said one or more computers to one or more others of said plurality of computers.
- 15. The system of claim 1, wherein the one or more resource management operations comprise one or more of:
a single computer switch; a computer swap; a cascading move; a configuration one or more computers of the plurality of computers; a backup of a storage medium for said one or more computers; an activation or deactivation of said one or more computers; a storage operation; an execution or termination of a program; and a transmission of a message related to usage, performance, status, and load, for a component, process, and/or attribute of said one or more computers.
- 16. The system of claim 15, wherein said single computer switch comprises:
a switch of a user from a first computer of said plurality of computers to a second computer of said plurality of computers, wherein said switch comprises a transfer of at least a portion of information from the first computer to the second computer, and a switch of at least one peripheral device from the first computer to the second computer.
- 17. The system of claim 16, wherein said computer swap comprises:
a swap of a first computer with a second computer, wherein said swap comprises a single computer switch from the first computer to the second computer, and a single computer switch from the second computer to the first computer.
- 18. The system of claim 16, wherein said cascading move comprises:
a plurality of single computer switches for a sequence of computers, wherein each respective user of a first computer through a penultimate computer of the sequence of computers is switched to a respective successor computer of the sequence of computers.
- 19. The system of claim 15, wherein said configuration comprises one or more of:
configuration of a fan speed for the one or more computers; installation or removal of one or more of a file or program; activation or deactivation a peripheral device; and format a storage medium.
- 20. The system of claim 1, wherein the program instructions are further executable to provide a graphical user interface, wherein said graphical user interface operates to display information related to said collecting and said analyzing and/or receive user input related to performing said one or more resource management operations.
- 21. The system of claim 1, wherein the program instructions are further executable to:
perform said one or more determined resource management operations for the plurality of computers based on said analysis.
- 22. The system of claim 21, wherein said program instructions are executable to perform said one or more determined resource management operations without human input.
- 23. The system of claim 21, wherein, in performing said one or more determined resource management operations, the program instructions are further executable to:
indicate said one or more resource management operations to a human; receive input from the human initiating said one or more resource management operations; and perform said one or more resource management operations in response to said received input.
- 24. The system of claim 21, wherein, in performing said one or more determined resource management operations, the program instructions are further executable to:
schedule said one or more resource management operations; and perform said one or more resource management operations in accordance with said schedule.
- 25. The system of claim 1, wherein said program instructions are further executable to:
schedule said collecting and said analyzing; and perform said collecting and said analyzing in accordance with said schedule.
- 26. The system of claim 1, wherein at least a subset of the plurality of computers comprise computer blades.
- 27. The system of claim 1, wherein at least two computers of said plurality of computers perform said analyzing substantially concurrently.
- 28. The system of claim 27, wherein, in performing said analyzing substantially concurrently, said program instructions are further executable by each of said at least two computers to:
transmit to the others of said at least two computers said determined one or more resource management operations; receive respective determined one or more resource management operations from each of said others of said at least two computers; and resolve conflicts between said determined one or more resource management operations and said received respective determined one or more resource management operations, thereby generating a modified one or more resource management operations.
- 29. The system of claim 28, wherein said program instructions are further executable by each of said at least two computers to:
transmit said modified one or more resource management operations to each of said others of said at least two computers.
- 30. The system of claim 1, wherein the program instructions are further executable by the processor of said each computer of the plurality of computers to:
perform an auto-discovery process to determine presence of at least a subset of said plurality of computers. Method
- 31. A computer-based method for managing resources for a plurality of networked computers, the method comprising each of said plurality of computers:
collecting data related to one or more of the plurality of computers; and analyzing said data to determine one or more resource management operations for said one or more computers.
- 32. The method of claim 31, wherein said data comprises one or more of usage, performance, status, and load, for a component, process, and/or attribute of said one or more computers.
- 33. The method of claim 32, wherein said data relates to one or more of a total memory size, a used memory size, a virtual memory size, peripheral type, available ports, processor type, processor speed, type of installed applications, whether a user is logged in, frequency of logins, a processor, a hard disk, network hardware installed, network usage and/or status, usage and/or status of installed applications, video specifications, a CD-ROM, a parameter stored in an inventory database, geographical information, a parameter exported by an operating system, and a parameter exported by a BIOS (Basic I/O Service).
- 34. The method of claim 31, wherein said collecting data related to one or more of the plurality of computers comprises:
a collector agent executing on each of said one or more computers providing said data for said analysis.
- 35. The method of claim 34, wherein providing said data for said analysis comprises:
the data collector agent sending said data to a central database; and retrieving said data from the central database for said analyzing.
- 36. The method of claim 34, wherein said providing said data for said analysis comprises:
the data collector agent sending said data to a database, wherein said database is distributed over at least a subset of the plurality of computers.
- 37. The method of claim 31, wherein said collecting data related to one or more of the plurality of computers comprises:
querying each computer of the one or more computers for said data.
- 38. The method of claim 37, further comprising:
sending said data to a central database; and retrieving said data from said central database for said analyzing.
- 39. The method of claim 37, further comprising:
sending said data to a database, wherein said database is distributed over at least a subset of the plurality of computers.
- 40. The method of claim 31, wherein said analyzing said data to determine one or more resource management operations for the plurality of computers comprises:
evaluating one or more operation rules using said data to determine said one or more resource management operations for the plurality of computers, wherein each operation rule specifies conditions for a resource management operation of the one or more resource management operations.
- 41. The method of claim 40, wherein said evaluating the one or more operation rules comprises:
calculating an operation indicator value for each operation rule, wherein said operation indicator value indicates a strength of said conditions for the resource management operation.
- 42. The method of claim 31, wherein said analyzing said data to determine one or more resource management operations comprises:
analyzing the calculated indicator values to determine a resultant indicator value for the resource management operation.
- 43. The method of claim 42, wherein said determining a resultant indicator value for the resource management operation comprises using one or more of:
a Bayesian decision-making network; weighted sum technique; predicate logic; fuzzy logic; an averaging technique; a percentage majorities technique; an at least one technique; and an at least none technique.
- 44. The method of claim 31, further comprising:
each of said one or more computers broadcasting respective data related to said each of said one or more computers to one or more others of said plurality of computers.
- 45. The method of claim 31, wherein the one or more resource management operations comprise one or more of:
a single computer switch; a computer swap; a cascading move; a configuration one or more computers of the plurality of computers; a backup of a storage medium for said one or more computers; an activation or deactivation of said one or more computers; and a storage operation; an execution or termination of a program a transmission of a message related to usage, performance, status, and load, for a component, process, and/or attribute of said one or more computers.
- 46. The method of claim 45, wherein said single computer switch comprises:
switching a user from a first computer of said plurality of computers to a second computer of said plurality of computers, wherein said switching comprises a transferring of at least a portion of information from the first computer to the second computer, and switching at least one peripheral device from the first computer to the second computer.
- 47. The method of claim 46, wherein said computer swap comprises:
swapping a first computer with a second computer, wherein said swapping comprises a single computer switch from the first computer to the second computer, and a single computer switch from the second computer to the first computer.
- 48. The method of claim 46, wherein said cascading move comprises:
a plurality of single computer switches for a sequence of computers, wherein each respective user of a first computer through a penultimate computer of the sequence of computers is switched to a respective successor computer of the sequence of computers.
- 49. The method of claim 45, wherein said configuration comprises one or more of:
configuration of a fan speed for the one or more computers; installation or removal of one or more of a file or program; activation or deactivation a peripheral device; and format a storage medium.
- 50. The method of claim 31, further comprising:
providing a graphical user interface, wherein said graphical user interface operates to display information related to said collecting and said analyzing and/or receive user input related to performing said one or more resource management operations.
- 51. The method of claim 31, further comprising:
performing said one or more determined resource management operations for the one or more computers based on said analysis.
- 52. The method of claim 51, wherein said one or more determined resource management operations are performed without human input.
- 53. The method of claim 51, wherein said performing said one or more determined resource management operations comprises:
indicating said one or more resource management operations to a human; receiving input from the human initiating said one or more resource management operations; and performing said one or more resource management operations in response to said received input.
- 54. The method of claim 51, wherein said performing said one or more determined resource management operations further comprises:
scheduling said one or more resource management operations; and performing said one or more resource management operations in accordance with said schedule.
- 55. The method of claim 31, further comprising:
scheduling said collecting and said analyzing; and performing said collecting and said analyzing in accordance with said schedule.
- 56. The method of claim 31, wherein at least a subset of the plurality of computers comprise computer blades.
- 57. The method of claim 31, wherein at least two computers of said plurality of computers perform said analyzing substantially concurrently.
- 58. The method of claim 57, wherein said performing said analyzing substantially concurrently comprises:
transmitting to the others of said at least two computers said determined one or more resource management operations; receiving respective determined one or more resource management operations from each of said others of said at least two computers; and resolving conflicts between said determined one or more resource management operations and said received respective determined one or more resource management operations, thereby generating a modified one or more resource management operations.
- 59. The method of claim 58, wherein said performing said analyzing substantially concurrently comprises:
transmitting said modified one or more resource management operations to each of said others of said at least two computers.
- 60. The method of claim 31, further comprising:
performing an auto-discovery process to determine presence of at least a subset of said plurality of computers. Carrier Medium
- 61. A carrier medium which stores program instructions for managing resources for a plurality of networked computers, wherein the program instructions are executable by the processor of each computer of the plurality of networked computers to perform:
collecting data related to one or more of the plurality of computers; and analyzing said data to determine one or more resource management operations for said one or more computers. Means
- 62. A system for managing resources for a plurality of networked computer systems, the system comprising:
means for each of the networked computers collecting data related to one or more of the plurality of computers; and means for each of the networked computers analyzing said data to determine one or more resource management operations for said one or more computers.
PRIORITY CLAIM
[0001] This application claims benefit of priority of provisional application Serial No. 60/332,143 titled “A Fail Forward Networked Storage System” filed on Nov. 21, 2001, whose inventor is Barry Thornton.
[0002] This application also claims benefit of priority of provisional application Serial No. 60/411,066 titled “Distributed Computing Infrastructure” filed on Sep. 16, 2002, whose inventors are Amir Husain, Todd Enright, and Barry Thornton.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60332143 |
Nov 2001 |
US |
|
60411066 |
Sep 2002 |
US |