PRIORITY CLAIMThis application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/065,935 filed on Feb. 15, 2008, which is incorporated herein by reference in its entirety.
STATEMENT UNDER 37 C.F.R. § 1.84(a)(2)The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.
BACKGROUNDThe present disclosure relates to systems and methods for managing computer equipment.
FIGURESEmbodiments of the present invention are described herein, by way of example, in conjunction with the following figures, wherein:
FIG. 1 illustrates one embodiment of a computer equipment management system;
FIG. 2 illustrates one embodiment of a management function that may be implemented by the system ofFIG. 1;
FIG. 3 illustrates a diagram of one embodiment of a server room floor showing an example method of classifying components by floor position;
FIG. 4 illustrates a representation of one embodiment of an example cabinet for housing computer equipment;
FIG. 5aillustrates one embodiment of a user interface for presenting temperature data to a user;
FIGS. 5band5cillustrate the interface ofFIG. 5aat animation points subsequent to the view shown inFIG. 5a;
FIGS. 6a,6band6cillustrate the interface ofFIG. 5aconfigured to display current;
FIGS. 7a,7band7cillustrate the interface ofFIG. 5aconfigured to display power consumption;
FIG. 8 illustrates a cross-sectional diagram of one embodiment of a cooling configuration in an example server room;
FIG. 9 illustrates a top view diagram of one embodiment of the server room ofFIG. 8;
FIG. 10 illustrates one embodiment of a user interface for receiving and presenting the results of calculations involving temperature variables;
FIG. 11 illustrates a user interface showing the server floor ofFIG. 3 and illustrating the affected units resulting from a failure of an example power tower;
FIG. 12 illustrates one embodiment of a process flow for handling placing; and
FIG. 13 illustrates one embodiment of a user interface showing an alert ticket.
DESCRIPTIONVarious embodiments are directed to systems and methods for managing computer equipment. Computer equipment may include any type of equipment used by a computer or computer system including, for example, processing components such as servers, and networking components such as switches, routers, etc., power components and even cooling units. The computer equipment may be housed in one or more dedicated server rooms or other similar facilities, where some equipment may be positioned on racks or in cabinets.
FIG. 1 illustrates one embodiment of a computerequipment management system100. Thesystem100 may comprisecomputer equipment112 as well as various other components for supporting theequipment112 and implementing management functions. It will be appreciated that all of the components of thesystem100 may be generally referred to as computer equipment. According to various embodiments,computer equipment112 may be housed in a plurality ofcabinets102 positioned within one or more server rooms. In addition tocomputer equipment112, eachcabinet102 may comprise one or more Cabinet Distribution Units (CDU's)114 for managing power provided to thecomputer equipment112 and one ormore temperature probes116. For example, eachcabinet102 may include afirst temperature probe116 near its top and asecond temperature probe116 near its bottom. Also, for example, eachcabinet102 may have at least one temperature probe on its inlet side and at least one temperature probe on its outlet side relative to the direction of cooling fans. In some embodiments, additional temperature probes (not shown) may be positioned outside of thecabinets102 to measure ambient temperature conditions. According to various embodiments, the CDU's114,probes116 andequipment112 may be configured to communicate with other components of thesystem100 over thenetwork118.
One ormore cooling units104 may be present in each server room and may be utilized to dissipate heat generated by thecomputer equipment112, keeping the server room or rooms cool.Cooling units104 may include one or more Computer Room Air Conditioners (CRAC's). Somecooling units104 may be configured to provide operational data and/or receive configuration data over thenetwork118.Various power components106 configured to manage power delivered to thevarious cabinets102, may be positioned inside or outside of the server room or rooms. For example,power components106 may include circuit breakers, power distribution units (PDU's), cabinet distribution units (CDU's), manual transfer switches (MTS's), static transfer switches (STS's), and/or other power conditioning equipment. Somepower components108 may also be configured to provide operational data and/or receive configuration data over thenetwork118.Power components106 may be housed at any suitable locations including, within cabinets (e.g., CDU's114), in walls, in stand-alone towers, etc.
User machines108 may be utilized by various users to provide input regarding the management of thecomputer equipment112 and also to receive results of various management functions.User machines108 may include any suitable type of input/output device including, for example, desktop computers, laptop computers, palm computers, cellular phones, etc. Thenetwork118 may be any suitable wired, wireless or mixed network. For example, thenetwork118 may comprise one or more local area networks (LAN's), one or more wide area networks (WAN's) or combinations thereof.
Thesystem100 may comprise aserver110 for implementing management functions, for example, as described herein below. Theserver110 may include one or more devices having processing capacity (e.g., at least one processor or equivalent hardware). Devices making up the server110 (e.g., computer equipment) may, but need not be stored at a common location. For example, devices making up theserver110 may be located in the server room or rooms. Theserver110 may also communicate over thenetwork118. For example, theserver110 may receive operational data from various components such as, CDU's114,temperature probes116,cooling units104,power components108 and other management systems (not shown). Also, in some embodiments, theserver110 may provide configuration data to various system components, allowing theserver110 to control the operation of these components.
Theserver110 may implement various management functions for managing thecomputer equipment112. For example,FIG. 2 illustrates one embodiment of amanagement module200 that may be implemented by theserver110 to managecomputer equipment112. Themanagement module200 may comprise various functional sub-modules including, for example, acontrol module202 and variousenvironmental monitoring modules204. Theenvironmental monitoring modules204 may monitor environmental conditions in the server room or rooms. These conditions may be monitored directly (e.g., utilizing sensors such as temperature probes116) or may be derived from other factors, as described herein below. Depending on the application, results of environmental monitoring may be provided to thecontrol module202 in real-time, or may be cataloged for future use. Not every implementation of thesystem100 and themodule200 will include all of theenvironmental monitoring modules204 shown. Some may have different combinations ofmodules204 and may include additional modules (not shown) as well.
Alocation module214 may monitor the physical location of each component of thesystem100. For example, the location of a given component may be recorded by building, room, and floor position. It will be appreciated that thelocation module214 may describe the floor position of system components in any suitable way. For example, any suitable classification or coordinate system may be used.FIG. 3 illustrates a diagram of one embodiment of aserver room floor300 showing an example method of classifying components by floor position. Theserver room floor300 is divided into a coordinate system, and eachcabinet102,power components106, coolingunit104, etc. is classified by a set of coordinates. As shown inFIG. 3, the coordinate system is described by numeric values on ahorizontal axis303 and alphabetical values on avertical axis301. According to various embodiments, thefloor300 may be further sub-divided into a series of zones, with each zone comprising a set of coordinate values. For example,zone308 comprises three rows ofcabinets102, four coolingunits104 andpower components106. Other example zones,310,312,314 are shown, and it will be appreciated that still other zones may be included, depending on the size and configuration of thefloor300.
According to various embodiments, the physical location ofvarious computer equipment112 may be further specified, for example, by cabinet position.FIG. 4 illustrates a representation of one embodiment of anexample cabinet400 for housing computer equipment. The vertical position of computer equipment within thecabinet400 may be expressed in Rack Mount Units (RMU's). For example, thecabinet400 comprises 42 RMU's, which are numbered 1-42. Each piece of computer equipment may be assigned to one or more RMU's. For example, computer equipment ZPPNTD071-D071 is positioned at RMU15-18. Some pieces of computer equipment take up the full-width of thecabinet400. Computer equipment that does not take up the full width of the cabinet400 (e.g., switches, network ports, blade servers, etc.) may be also classified by horizontal position.
Thelocation module214 may track the location of system components, for example, by receiving an initial characterization of a system component location and subsequent indications of changes in the location of the system component. For example, when a system component is initially placed, its location may be recorded. When a system component is moved, this may also be recorded. In some embodiments, as described below, the location of any given system component will be determined by thecontrol module202. According to various embodiments sensors may be used to determine the physical location of various components (radio frequency identification (RFID) sensors, etc.). The measured location may then be sent to thelocation module214.
Referring back toFIG. 2, atemperature module206 may monitor the temperature at various locations within a server room as well as, for example, the status of various coolingunits104. For example, thetemperature module206 may receive and record readings from the temperature probes116. Anairflow module205 may monitor the airflow and related characteristics. Apower monitoring module208 may monitor power-related signals fromsystem100 equipment. For example, the current drawn on all three phases of aCDU114 orother power components106 may be monitored. A weight monitoring module212 may also be included. The weight monitoring module212 may derive or be pre-programmed with the location of structural components (e.g., floor beams) as well as the locations of various computer equipment. The weight monitoring module212 may compute, or assist thecontrol module202 in computing, an assessment of the best location for a new piece of computer equipment, for example, based on the location of existing equipment and the location of structural features such as floor beams.
Thecontrol module202 may utilize the environmental readings provided by theenvironmental monitoring modules204 to perform various management functions for thecomputer equipment112. For example, thecontrol module202 may determine the physical placement ofcomputer equipment112 within a server room and/or within a givencabinet102, as described herein. Also, thecontrol module202 may detect failures or other anomalies of thecomputer equipment112 and/or various support equipment (e.g., CDU's114, temperature probes116, coolingunits104,power components106, etc.), as described herein. Once a failure or anomaly is detected, thecontrol module202 may take action to correct the problem, or provide support information to a technician, who may then fix the problem. In addition, thecontrol module202 may provide and/or set values for controllable factors to achieve desired environmental conditions. For example, as described herein, air flow characteristics may be manipulated to achieve a desired cooling profile.
According to various embodiments, thecontrol module202 may include functionality for providing a user interface including graphical representations of environmental conditions.FIG. 5aillustrates one embodiment of auser interface500 for presenting temperature data to a user. Temperature data may be received from and/or aggregated by thetemperature module208.
Theinterface500 comprises afield502 showing a graphical representation of all or a portion of a server room. For example, thefield502 may illustrate a zone of a server room comprising threerows504 of cabinets along with coolingunits506. Each of the cabinets shown at thefield502 may be colored to indicate its temperature. Although the temperature of cabinets is indicated, it will be appreciated that any other computer equipment location may be described. Any suitable color scheme or scale may be used. In the embodiment shown, cool to hot temperatures are indicated on a continuum from dark blue to dark red, with white indicating temperatures between blue and red. Also, any other suitable visual scale may be used. For example, different shapes or blink rates may be used to indicate different temperatures.
Thefield502 may also show a numerical indication oftemperature508 on each cabinet. The temperatures displayed at the field502 (e.g., the numerical temperatures and/or the temperatures indicated by color) may be absolute temperatures or relative temperatures. For example, the temperature for each cabinet may be normalized by comparison to other cabinets in the same row, or other cabinets in the displayed zone. Theinterface500 may also include a chart field510 showing temperature over time. For example, as shown inFIG. 5a, the chart field510 illustrates the zone average temperature over an eight hour period. Atime line511 may indicate which portion of the graph is illustrated atfield502.
According to various embodiments, theinterface500 may be configured to display an animation of temperature data over time. Theenvironmental monitoring modules204 may receive a chronological series of data from eachcabinet102 or other computer equipment location. Theinterface500 may be animated by chronologically displaying data from each of thecabinets102. For example,FIGS. 5a,5band5cillustrate shots in an animation sequence. The number of shots in any given animation may depend on the sampling rate (e.g., frequency of the series) and the desired length of the sequence in real time. The user may navigate through the animation, for example, utilizingbuttons532. Selectingbutton534 may cause the animation to begin.
Theinterface500 may include additional inputs allowing a user to customize an animation. TheSettings field508 may allow the user to enter additional parameters that may relate to the static display of theinterface500 as well as to a desired animation. For example, the user may select the a site and zone to be displayed atinputs512 and514. The desired duration of an animation in real time may be entered atinput516. The desired environmental factor (e.g., temperature, current draw, etc.) may be entered atinput518. Manipulatinginput520 may allow the user to specify how temperature or other data is to be presented. For example, as illustrated, the temperature (e.g., color) of each cabinet is illustrated based on its deviation from the average temperature of other cabinets in thesame row504.Sensor location input524 may allow the user to determine which sensors, or combinations of sensors, will have their output displayed. For example, as shown inFIG. 5, the sensors at the top of the various cabinets have been selected. In other embodiments, sensors located at other various places could be selected, as well as combinations of the outputs of multiple sensor locations.Inputs526 and528 allow the user to specify an ending date and time for the animation. Input550 may allow a user to recall a saved animation event. Ananimation delay field529 may allow the user to select a desired delay between frames in the animation.
FIGS. 6a,6band6cillustrate theinterface500 configured to display current drawn by the cabinets. Current data may be collected and/or aggregated by thepower monitoring module208. The color of each cabinet may indicate an amount of current drawn, again with a continuum of dark blue to white to dark red indicating increasing current. Current draw may also be animated in a manner similar to that described above. For example,FIGS. 6a,6band6cillustrate sequential shots during an animation.
FIGS. 7a,7band7cillustrate the interface of500 configured to display power consumption. Power consumption data may be collected and/or aggregated by thepower monitoring module208. For example, power consumption data may be derived from current data and the voltage level of various components, which may be assumed constant. As with temperature and current data, power consumption data may be animated as described above.FIGS. 7a,7band7cillustrate sequential shots during an animation. It will be appreciated that animations for additional environmental parameters may be generated in a similar manner.
Animation of computer equipment data, as illustrated inFIGS. 5a-c,6a-c, and7a-chas produced several unpredicted and unexpected results. For example, upon implementing the animation of temperature data, as shown inFIGS. 5a-c, the inventors discovered a potentially harmful problem with their cooling units. Viewing an animation of cabinet temperature by zone, as shown by theinterface500 the inventors discovered that the average zone temperature was periodically rising by as many as 4° F. per hour. Individual cabinet temperatures were rising by 10-12° F. during the same time period. The zone and individual cabinet temperatures would then drop back to standard levels. Because these events took place over a limited amount of time, they were not captured by existing, manual methods for temperature monitoring. The animation prompted the inventors to investigate the operation of their cooling units and discover that all of the cooling units were cycling off at the same time. While all of the cooling units were cycled off, the temperature in the zone rose quickly until the cooling units came back on-line. Upon modifying the cycling properties of the cooling units, this anomaly disappeared.
In another example, an animation of cabinet temperature by zone revealed a single cabinet with a temperature significantly higher than its neighbors. The inventors inspected the cabinet and found that a piece of computer equipment had been installed backwards, causing all of the other equipment in the cabinet to heat up. In yet another example, viewing an animation allowed the inventors to notice that a single cabinet had increased in temperature relative to its neighbors by 15° F. Upon inspection of the cabinet, the inventors realized that temperature probes in the cabinet had been misplaced. In still another example, viewing a temperature animation allowed the inventors to detect the failure of a cooling unit due to a coolant interruption.
According to various embodiments, thecontrol module202 may also include functionality for modeling and manipulating the environmental profile of a server room. Before discussing this functionality in detail, a description of an example server room cooling configuration is provided.FIG. 8 illustrates a cross-sectional diagram of one embodiment of a cooling configuration in anexample server room800. The diagram shows twocabinets102 and acooling unit104, which may be a computer room air conditioner or (CRAC). Thecabinets102 may housecomputer equipment112 as shown.Aisles806,808 between the cabinets may be classified ascold aisles808 andhot aisles806.FIG. 9 illustrates a top view diagram of one embodiment of theserver room800. Fourrows902 ofcabinets102 are shown separated bycold aisles808 andhot aisles806.
To cool theserver room800, thecooling unit104 may generate cold air, which is blown under thefloor812. As a result, static pressure under thefloor812 causes the cold air to flow up throughperforated tiles814 positioned in thefloor812 under thecold aisles808. The cold air may be pulled through thecabinets102 anddevices112, for example, by cooling fans located in thecabinets102 and/or thedevices112. As the cold air is pulled through thedevices112, it cools the devices and, as a result, heats up. The now hot air emerges on the opposite side of thecabinets112 into ahot aisle806. The hot air either rises or is pulled by fans into a hot air return vents in the ceiling over thehot aisles806. The hot air return vents channel the hot air back to thecooling unit104, where the cycle begins again.
According to various embodiments, thecontrol module202 may be programmed with functionality for managing the airflow characteristics of theserver room800. For example, theairflow module205 may monitor and/or estimate various airflow/cooling related factors including, for example, the number, type and placement ofperforated tiles814, the static pressure generated below thefloor814, and the difference in temperature betweenhot aisles806 and cold aisles808 (delta T). In various embodiments, the number, type and placement ofperforated tiles814 may be entered by a user, or may be monitored based on previous placement recommendations. The static pressure generated below thefloor814 may be actively monitored by sensors in communication with themanagement module200, or may be received from a user based on periodic manual measurements. It will be appreciated that the static pressure may not be constant under theentire floor814, but may vary based on, for example, distance from the coolingunits104, obstructions under thefloor814, etc. The delta T may be actively monitored by temperature probes in communication with themanagement module200, may be received from a user based on periodic manual measurements, or may be derived based on other variables.
Thecontrol module202 may manipulate and/or recommend changes to the airflow characteristics of theserver room800 in order to achieve adequate cooling and/or peak efficiency. For example, the airflow characteristics may be generally described by Equation (1) below:
Airflow may be derived from the static pressure under thefloor812 as well as the number and type ofperforated tiles814. Power may be the power dissipated by theequipment112 present in theserver room800, as measured by the power module208 (e.g., by monitoring current draw). Delta T may be a function of various factors including, the cooling characteristics of equipment actually present in theserver room800. According to various embodiments, delta T may be multiplied by a constant c, which may be equal to 0.317. It will be appreciated that airflow characteristics may be monitored and/or manipulated for theserver room800 as a whole, or for various sub-units thereof (e.g., zones, rows, cabinets.) If the airflow characteristics of a larger area are being monitored, then the various airflow characteristics may be aggregated according to any suitable method (e.g., average, etc.).
Utilizing the relationship between these airflow characteristics (e.g., Equation 1), thecontrol module202 may be programmed to calculate optimum values for each. Thecontrol module202 may then either program the various equipment according to these values, or provide the values to a technician or other personnel who may implement them manually.FIG. 10 illustrates one embodiment of auser interface1000 for receiving and presenting the results of calculations involving airflow characteristics.Field1002 illustrates a curve showing delta T versus airflow in a zone of theserver room800 assuming a given power dissipation in the zone. As shown, airflow is expressed in units of cubic feet per minute (CFM).Vertical line1004 indicates an expected delta T, which may be based on industry standards, set by the user or calculated by thecontrol module202 to optimize the values of other airflow characteristics.Horizontal line1006 indicates the airflow necessary to bring about the expected delta T, given the zone power dissipation.Horizontal line1008 indicates the airflow actually being delivered to the zone (e.g., the delivered airflow). A numerical value for actual airflow may also be provided, as shown atfield1010.
If the expected and actual values for airflow and/or delta T do not match, thecontrol module202 may calculate and display values for various controllable environmental factors to remedy the situation. For example, a difference between actual and target airflow may be indicated atfield1012. In the scenario illustrated byFIG. 10, this difference is a deficit, indicating that theactual airflow1008 is low. Recommended actions for solving a deficit or surplus of airflow may be presented atfields1014 and1016. In the example shown, the recommended remedy includes adding fourperforated tiles814 to theserver room800 at the locations indicated atfield1016. For example, if the amount of airflow is to be increased, the recommended location for new perforated tiles may be close to the hottest cabinets of the zone. On the other hand, if the amount of airflow is to be decreased, the recommended locations for removing perforated tiles may be near cabinets that are relatively cool.
Various other actions may be recommended by thecontrol module202 to remedy a surplus or deficit of airflow. For example, thecontrol module202 may recommend that the coolingunits104 be manipulated to increase or reduce the static pressure under thefloor812, thus increasing or decreasing airflow. Also, for example, the coolingunits104 may recommend thatcertain equipment112 be moved from the zone, thus reducing dissipated power.
According to various embodiments, thecontrol module202 may receive adjustments to some or all of the variables described above via theinterface1000. For example, atfield1018, a user may provide an adjusted expected delta T. Atfield1020, the user may indicate a change in the airflow supported by each perforated tile. Atfield1022, the user may indicate a change in the power dissipated by the relevant zone. These adjustments may be considered by thecontrol module202 in performing calculations, as described above.
According to various embodiments, thecontrol module202 may be configured to implement corrections automatically rather that merely making recommendations to a user. For example, someperforated tiles814 may have adjustable openings that may be manipulated by a servo or other motor. Thecontrol module202 may communicate with the various servos over thenetwork118 to individually manipulate the airflow at each perforated tile. Also, thecontrol module202 may be in communication with the various coolingunits104 or other coolingunits104, allowing thecontrol module202 to manipulate the static air pressure and/or air temperature.
According to various embodiments, thecontrol module202 may also include functionality for performing power failure analyses. For example, thecontrol module202 may derive thecomputer equipment112 that would be affected by a failure of a givenCDU114 orpower components106. This may be accomplished in any suitable way. For example, thecontrol module202 may maintain a database setting forth the power connectivity of each piece ofcomputer equipment112. Modeling the failure of aCDU114 orpower components106 may involve listing all of theequipment112 that is connected directly or indirectly to the failed unit.
The criticality of any given dependence may also be found. For example, some CDU's114 and/orpower components106 may be backed up with an Uninterruptible Power Supply (UPS), while other CDU's114 and/orpower components106 may be backed up by a typical normal/emergency (N/E) feeder. (It will be appreciated that many pieces ofcomputer equipment112 may be dual corded, allowing them to derive power from more than oneCDU114 and even more than one set ofpower components106.) In the event of a power failure,equipment112 deriving power from aUPS CDU114 orpower components106 may stay up while generator power is implemented. On the other hand,equipment112 deriving power solely from an N/E CDU114 orpower components106 may momentarily go down until generator power is implemented. Accordingly, the failure of aUPS CDU114 orpower components106 may be considered more critical than the failure of an N/E CDU114 orpower components106.
According to various embodiments, thecontrol module202 may be configured to present the results of a power failure analysis graphically. For example, referring back toFIG. 3, the diagram of theserver floor300 may be modified to illustrate only thosecabinets102 and other units that are affected by the failure of apower device114,106. For example,FIG. 11 illustrates a user interface showing theserver floor300 and illustrating theaffected units1102 resulting from a failure ofexample power components106. According to various embodiments the criticality of the failure of a givenaffected unit1102 may be indicated by its color or other visual indication. For example, affectedunits1102 having one or more UPS CDU's114 or other power sources still in operation may be least critical and may be assigned a first color or visual indication.Affected units1102 having only N/E CDU's114 or other power sources still available may be more critical and may be assigned a second color or visual indication. Affected units with no CDU's or power sources still available may be most critical and may be assigned a third color or visual indication. It will be appreciated thataffected units1102 may be found and indicated at the cabinet level, or at theindividual equipment112 level.
According to various embodiments, thecontrol module202 may also include functionality for placingequipment112 on a server floor.FIG. 12 illustrates one embodiment of aprocess flow1200 for placing equipment on a server floor, such as theserver floor300. Atbox1202, thecontrol module202 may receive a reservation request. The reservation request may specify the type ofequipment112 to be placed. Additional information regarding theequipment112 to be placed may be either included with the reservation request or derived from the equipment type. Examples of such additional information may include, the height of the equipment in RMU's, the width of the equipment, the power dissipation of the equipment, the weight of the equipment, whether the equipment is single or dual-corded, etc. Reservation requests may be entered manually and/or generated automatically in anticipation of future need.
Atbox1204, thecontrol module202 may identify portions of the server floor that have sufficient power capacity to handle theequipment112 to be placed. It will be appreciated that eachzone308,310,312,314 or other sub-unit of theserver floor300 may be designed with a given power capacity. The power capacity of a zone may be determined based on various factors including, for example, the number and/or capacity of coolingunits104, the heat capacity ofequipment112, etc. Different zones may have different power capacities. In some embodiments, thecontrol module202 may be configured to leave a safety margin in each zone (e.g., twenty percent of the total capacity). For example, a zone with a power capacity of 150 kW/ft2may not be considered to have excess capacity unless it is dissipating fewer than 135 kW/ft2.
Thecontrol module202 may determine whether a zone has sufficient power capacity to accept theequipment112 to be placed by comparing its present power dissipation with its capacity power dissipation as well as the power dissipation of theequipment112. For example, if the sum of the present power dissipation and the power dissipation of theequipment112 to be placed is less than the capacity, then the zone may have sufficient capacity to accept theequipment112.
According to various embodiments, some zones may includeequipment112 with variable power requirements. For example, a server running multiple virtual machine-type instances may dissipate power at a rate proportional to its processing load. Examples of software packages that may cause a server to dissipate power based on its processing load include, for example, VMWARE and Oracle VM virtual machine software for INTEL compatible platforms, M-SERIES software for SUN SPARCSTATION platforms, etc. One example variable power server may dissipate between 500 kW and 1000 kW, depending on load. Thecontrol module202 may be configured to considerequipment112 with variable power requirements when calculating both the existing power dissipation of a zone and the power dissipation of theequipment112 to be placed. According to various embodiments, variable power requirement equipment may be considered to always dissipate at its maximum dissipation, regardless of its present state. This may prevent zones from exceeding their power capacity as the power dissipation of variable equipment changes. According to other various embodiments, the historical power dissipation of variable dissipation equipment may be analyzed to determine an expected maximum dissipation for the equipment. The equipment may then be considered to dissipate at the expected maximum, again regardless of present state. Any other suitable method may be used to account for computer equipment with variable power requirements.
In addition to zone-level power capacity requirements, thecontrol module202 may also consider cabinet level requirements. For example, eachcabinet102 may have a maximum power capacity based, for example, on the power capacity of the zone and any other characteristics specific to the cabinet (e.g., cooling characteristics,CDU114 limitations, etc.). For example, the maximum power capacity of acabinet102 may be set to the power capacity of its zone divided by the number of cabinets therein.
Atbox1206, thecontrol module202 may identifycabinets102 that have free physical space sufficient to house theequipment112 to be placed. The cabinets identified atbox1206 may be within the zone or zones identified atbox1204. Each piece ofequipment112 to be placed may require a given number of contiguous RMU's for placement. For example, referring toFIG. 4, thecabinet400 comprises free space between RMU's25 and28. Accordingly, it has free physical space sufficient to housecomputer equipment112 up to four RMU's in height and no more than one cabinet width in width.
At box1208, thecontrol module202 may assign theequipment112 to be placed to an identified space in acabinet102, for example, based on the results ofboxes1204 and1206. According to various embodiments, thecontrol module202 may also consider weight factors. For example, thecontrol module202 may have access to diagrams of the structural components of thefloor300, or an indication of the weight capacity of different portions of thefloor300. Thecontrol module202 may also have access to the weight of various components placed on thefloor300 as well as the weight of theequipment112 that is the subject of the reservation request. Accordingly, thecontrol module202 may perform an analysis to determine whether placement of theequipment112 that is the subject of the reservation request would exceed the weight capacity of thefloor300 or any portion thereof.
According to various embodiments, thecontrol module202 may also include functionality for detecting and reporting anomalous events in thesystem100. For example, thecontrol module202 may monitor operational parameters of theequipment112, CDU's114, coolingunits104,power components106 and other components of thesystem100. Anomalous events may include any kind of event that is out of the ordinary or may signal a problem. For example, the loss of power to aCDU114 or other component may be an anomalous event. Also, for example, a failure of output from acooling unit104, piece ofcomputer equipment112, or other system component may be an anomalous event. Other anomalous events may be based on parameter thresholds. For example, acabinet102 or zone may trigger an anomalous event if its temperature and/or current draw exceeds a given threshold.
Upon detection of an anomalous event, thecontrol unit202 may prepare an alert ticket comprising an interface presenting information describing the event. The alert ticket may then be routed to appropriate personnel. For example, if the anomalous event is regarding a particular type of computer equipment, the alert ticket may be routed to a technician with responsibility for power components. Also, for example, if the anomalous event is related to a particular zone, floor, or other unit of a server facility, then the alert ticket may be routed to a technician with responsibility for the zone, floor or other server facility unit.
According to various embodiments the alert ticket may present multiple functionalities in a single interface. For example,FIG. 13 illustrates one embodiment of auser interface1300 showing an alert ticket. Theinterface1300 may comprise a field1104 indicating a ticket number, the affected system component and the nature of the problem. For example, the ticket shown byinterface1300 is regarding the loss of power to aCDU114.
Theinterface1300 may also include an environmental field1106 including environmental information that may be sensed or derived fromvarious temperature probes116, CDU's114 and other sensors, for example, as described herein. Ananimation field1308 may display an animation of temperature, current, power or some other variable, for example, as described above with respect toFIGS. 5a-c,6a-cand7a-c. Various other information may be included in theinterface1300 including, for example, a power impact analysis based on the system component that caused the anomalous event.
According to various embodiments, the specific functionalities presented by a single alert ticket may be determined based on a recipient of the alert ticket. For example, an alert ticket sent to a technician may include rich information describing the anomaly in a high level of detail. For example, animations and power impact analyses may be presented at the cabinet or even the individual component level. On the other hand, an alert ticket sent to a server room manager or other administrator may include more general, high-level information. For example, animations and power impact analyses may be presented at the zone or even server room level.
As used herein, a “computer” or “computer system” may be, for example and without limitation, either alone or in combination, a personal computer (PC), server-based computer, main frame, server, microcomputer, minicomputer, laptop, personal data assistant (PDA), cellular phone, pager, processor, including wireless and/or wireline varieties thereof, and/or any other computerized device capable of configuration for processing data for standalone application and/or over a networked medium or media. Computers and computer systems disclosed herein may include operatively associated memory for storing certain software applications used in obtaining, processing, storing and/or communicating data. It can be appreciated that such memory can be internal, external, remote or local with respect to its operatively associated computer or computer system. Memory may also include any means for storing software or other instructions including, for example and without limitation, a hard disk, an optical disk, floppy disk, ROM (read only memory), RAM (random access memory), PROM (programmable ROM), EEPROM (extended erasable PROM), and/or other like computer-readable media.
While several embodiments of the invention have been described, it should be apparent that various modifications, alterations and adaptations to those embodiments may occur to persons skilled in the art with the attainment of some or all of the advantages of the present invention. It is therefore intended to cover all such modifications, alterations and adaptations without departing from the scope and spirit of the present invention.