Herein, related art may be discussed to put the invention in context. Related art labeled “prior art” is admitted prior art; related art not labeled “prior art” is not admitted prior art.
In data centers, computer systems are often reconfigured to expand capabilities or more effectively utilize existing resources. The performance, utilization, or other metric resulting from a proposed reconfiguration can be estimated by modeling the proposed reconfiguration and its operation. The model for the reconfiguration is typically reached by modifying a model of an actual configuration. However, the process of reconfiguring and evaluating models may extend over days, weeks, or months. In the meantime, some actual reconfigurations may have taken place, either due to an unplanned failure or some upgrade or modification that is not coordinated with the main reconfiguration planning processor. In that case, the reconfiguration process may have to be restarted from the new actual configuration. The present invention addresses this and other problems as is apparent from the description below with reference to the following drawings.
The following drawings are of embodiments of the invention and not of the invention itself. In the Figures, a dot-dash style border indicates a graphical representation generated in accordance with an embodiment of the present invention.
The present invention provides for recording an original series of changes made to an original model of a computer system in an original configuration. If, in the meantime, the computer system assumes a revised configuration, a model generator generates a resultant model corresponding to the computer system in a potential resultant configuration corresponding to the revised configuration with the series of changes applied. If the series of changes is inconsistent with the revised configuration, the series can be revised before being applied to the revised configuration.
A management computer system AP1, shown in
Media 13 stores software components including a graphic user interface P1, a configuration tracker P2, a configuration controller P3, a model generator P4, a simulator P5, and a model change recorder P6. Model generator P4 generates models of data center 20, including models M1, M2, M3, and M4. Recorder P6 records series of changes to the models, including change series CH1 and CH2. Collectively, these software components implement a program and method ME1, represented in
Method ME1 starts with a computer system, e.g., data center 20, in an original configuration, at method segment MS0. An original model M1 of data center 20 in its original configuration is generated at method segment MS1. At method segment MS2, the original model is changed, e.g., by user 17 using computer input devices such as a mouse and keyboard, to define a revised model M2. Model change recorder P6 records this original series of changes at method segment MS3 so as to generate recorded series of changes CH1.
Configuration tracker P2 detects a revised configuration of data center 20, at method segment MS4. In the illustrated embodiment, the actual system configuration is checked periodically. In alternative embodiments, the detection can be in response to a user action, e.g., either in response to a request to check the system configuration or in response to a user request to generate a new model.
At method segment MS5, model generator P4 determines whether or not the current actual system configuration is consistent with the recorded series of model changes CH1. If the actual configuration has changed since first model M1 was generated, the original series of changes applied to first model M1 may or may not be consistent with the revised configuration. For example, a change involving adding memory to a server that has failed in the interim is inconsistent with the revised configuration including the failed server. If it is inconsistent with the revised configuration, the stored series of changes CH1 can be revised to yield a revised series of changes CH2 at method segment MS6.
If at method segment MS5 the proposed changes are consistent or once they are made consistent at method segment MS6, model generator P4 generates a resultant model M4 corresponding to the revised configuration with the original or revised series of changes applied at method segment MS7. In the illustrated embodiment, model generator P4 first generates revision model M3, corresponding to data center 20 in its revised configuration; then, depending on the outcome of the consistency determination at method segment MS5, model generator P4 applies either original change series CH1 or revised change series CH2 to revision model M3 to obtain resultant model M4. In an alternative embodiment, a revision model is not explicitly generated.
The performance, utilization, or other metrics of the proposed reconfiguration is evaluated by simulation at method segment MS8. If the simulation results are positive, the proposed reconfiguration can be implemented on the actual computer system at method segment MS9. Alternatively, the new configuration can be implemented at method segment MS9 without first running the simulation of method segment MS8, as indicated by dashed arrow D between method segments MS7 and MS9.
A first scenario for method ME1 is depicted in
While this proposed change series was set aside and being considered, two gigabytes of memory is added to server S1 at method segment M20, yielding the revised configuration shown at 41. When the proposed change series is next displayed this new actual configuration is detected at method segment MS4 (
A second scenario for method ME1 is shown in
A third scenario for method ME1 is indicated in
The new series 60 is based on shifting work to still-licensed server S2 instead of using expired server S1. Series 60 includes adding two CPUs for server S2 at change 61, adding two gigabytes (2 GB) of memory to server S2 at change 63, and adding application A3 to server S2 at change 65. After a recheck of the current actual configuration of data center 20 (assuming no further actual configuration changes), this revised series 60 is applied to a newly generated model 73 of current actual data center 20 to yield resultant model 75. The simulation is applied to resultant model 75 at method segment MS8, and the configuration of model 75 is applied to data center 20 at MS9. Method ME1 can be applied recursively in that method segments MS2-MS7 can be applied to the intermediate or resultant model and, in general, to any model generated by model generator P4.
Herein, a “configuration” is an arrangement of computer elements, including hardware, software, and firmware, that specifies their nature, number, and other characteristics that affect system function and performance. Herein, one series of changes is a “revision” of an original series of changes if the revision is derived by adding, deleting and changing changes of the original series. A series of changes generated independently (i.e., “from scratch”) would not qualify as a “revision” as that term is used herein.
The invention applies to centrally managed multi-computer systems. Any number of computers can be involved; the computers can be complexes partitioned using partitioning solutions such as hard partitions or virtual partitions. The numbers of CPUs, the amount of memory, and the nature and quantity of I/O devices are different for different embodiments. The manner in which a system is represented graphically can vary, as can the methods used to manipulate the graphic images. These and other variations upon and modifications to the illustrated embodiments are provided for by the present invention, the scope of which is defined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5920873 | Van Huben et al. | Jul 1999 | A |
6088693 | Van Huben et al. | Jul 2000 | A |
6094654 | Van Huben et al. | Jul 2000 | A |
6393387 | Adriaans et al. | May 2002 | B1 |
7249347 | Chang et al. | Jul 2007 | B2 |
7356452 | Naamad et al. | Apr 2008 | B1 |
7376945 | Kakumani et al. | May 2008 | B1 |
7478149 | Joshi et al. | Jan 2009 | B2 |
7574343 | Levi et al. | Aug 2009 | B2 |
20020184365 | Lumley | Dec 2002 | A1 |
20030208284 | Stewart et al. | Nov 2003 | A1 |
20040051731 | Chang et al. | Mar 2004 | A1 |
20040054504 | Chang et al. | Mar 2004 | A1 |
20040054618 | Chang et al. | Mar 2004 | A1 |
20040054758 | Chang et al. | Mar 2004 | A1 |
20050125212 | Hunt et al. | Jun 2005 | A1 |
20060025985 | Vinberg et al. | Feb 2006 | A1 |
20060034263 | Outhred et al. | Feb 2006 | A1 |
20060149838 | Hunt et al. | Jul 2006 | A1 |
20060248159 | Polan | Nov 2006 | A1 |
20060271341 | Brown et al. | Nov 2006 | A1 |
20060294439 | Rolia et al. | Dec 2006 | A1 |
20070011330 | Dinker et al. | Jan 2007 | A1 |
20070067351 | Singh et al. | Mar 2007 | A1 |
20070112847 | Dublish et al. | May 2007 | A1 |
20070220481 | Gabel et al. | Sep 2007 | A1 |
20070281707 | Thomson et al. | Dec 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20080104389 A1 | May 2008 | US |