1 kumpf 1.2 // ===================================================================
2 // Title: Device Cooling and Power 2.7
3 // Filename: Device27_CoolingAndPower.mof
4 // Version: 2.7.0
5 // Release: Final
6 // Date: 03/31/03
7 // ===================================================================
8 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
9 // All rights reserved.
10 // DMTF is a not-for-profit association of industry members dedicated
11 // to promoting enterprise and systems management and interoperability.
12 // DMTF specifications and documents may be reproduced for uses
13 // consistent with this purpose by members and non-members,
14 // provided that correct attribution is given.
15 // As DMTF specifications may be revised from time to time,
16 // the particular version and release date should always be noted.
17 //
18 // Implementation of certain elements of this standard or proposed
19 // standard may be subject to third party patent rights, including
20 // provisional patent rights (herein "patent rights"). DMTF makes
21 // no representations to users of the standard as to the existence
22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
23 // identify any or all such third party patent right, owners or
24 // claimants, nor for any incomplete or inaccurate identification or
25 // disclosure of such rights, owners or claimants. DMTF shall have no
26 // liability to any party, in any manner or circumstance, under any
27 // legal theory whatsoever, for failure to recognize, disclose, or
28 // identify any such third party patent rights, or for such party's
29 // reliance on the standard or incorporation thereof in its product,
30 // protocols or testing procedures. DMTF shall have no liability to
31 // any party implementing such standard, whether such implementation
32 // is foreseeable or not, nor to any patent owner or claimant, and shall
33 // have no liability or responsibility for costs or losses incurred if
34 // a standard is withdrawn or modified after publication, and shall be
35 // indemnified and held harmless by any party implementing the
36 // standard from any and all claims of infringement by a patent owner
37 // for such implementations.
38 //
39 // For information about patents held by third-parties which have
40 // notified the DMTF that, in their opinion, such patent may relate to
41 // or impact implementations of DMTF standards, visit
42 // http://www.dmtf.org/about/policies/disclosures.php.
43 kumpf 1.2 // ===================================================================
44 // Description: The Device Model extends the management concepts that
45 // are related to LogicalDevices. This file defines
46 // the concepts and classes to manage cooling and
47 // supply power to devices.
48 //
49 // The object classes below are listed in an order that
50 // avoids forward references. Required objects, defined
51 // by other working groups, are omitted.
52 // ==================================================================
53 // Change Log for v2.7
54 // CR621 - Deprecate PackageCooling
55 // CR622 - Fix the DMI mapping string to include the attribute number
56 // for Battery.BatteryStatus, .EstimatedRunTime, .Chemistry,
57 // .DesignCapacity, .FullChargeCapacity, .DesignVoltage,
58 // .SmartBatteryVersion, & .TimeToFullCharge,
59 // PowerSupply.Range1InputVoltageLow, .Range1InputVoltageHigh,
60 // .Range1InputFrequencyLow, .Range1InputFrequencyHigh,
61 // .Range2InputVoltageLow, .Range2InputVoltageHigh,
62 // .Range2InputFrequencyLow, .Range2InputFrequencyHigh,
63 // .ActiveInputVoltage, .TypeOfRangeSwitching, &
64 kumpf 1.2 // .TotalOutputPower
65 // ==================================================================
66
67 #pragma locale ("en_US")
68
69
70 // ===================================================================
71 // CoolingDevice
72 // ===================================================================
73 [Version ("2.6.0"), Description (
74 "Capabilities and management of CoolingDevices.") ]
75 class CIM_CoolingDevice : CIM_LogicalDevice {
76
77 [Description (
78 "ActiveCooling is a boolean indicating that the Cooling"
79 "Device provides active (as opposed to passive) cooling.") ]
80 boolean ActiveCooling;
81 };
82
83
84 // ===================================================================
85 kumpf 1.2 // Refrigeration
86 // ===================================================================
87 [Version ("2.6.0"), Description (
88 "Capabilities and management of a Refrigeration CoolingDevice.") ]
89 class CIM_Refrigeration : CIM_CoolingDevice {
90 };
91
92
93 // ===================================================================
94 // HeatPipe
95 // ===================================================================
96 [Version ("2.6.0"), Description (
97 "Capabilities and management of a HeatPipe CoolingDevice.") ]
98 class CIM_HeatPipe : CIM_CoolingDevice {
99 };
100
101
102 // ===================================================================
103 // Fan
104 // ===================================================================
105 [Version ("2.6.0"), Description (
106 kumpf 1.2 "Capabilities and management of a Fan CoolingDevice.") ]
107 class CIM_Fan : CIM_CoolingDevice {
108
109 [Description (
110 "Indication of whether the fan supports variable speeds.") ]
111 boolean VariableSpeed;
112
113 [Description (
114 "DesiredSpeed is the currently requested fan speed, "
115 "defined in Revolutions per Minute, when a variable speed fan "
116 "is supported (VariableSpeed boolean = TRUE). The current "
117 "speed is determined via a sensor (CIM_Tachometer) that is "
118 "associated with the Fan using the CIM_AssociatedSensor "
119 "relationship."),
120 Units ("Revolutions per Minute") ]
121 uint64 DesiredSpeed;
122
123 [Description (
124 "Requests that the Fan speed be set to the "
125 "value specified in the method's input parameter. The return "
126 "value should be 0 if the request was successfully executed, "
127 kumpf 1.2 "1 if the request is not supported and some other value if an "
128 "error occurred. In a subclass, the set of possible "
129 "return codes could be specified, using a ValueMap qualifier "
130 "on the method. The strings to which the ValueMap contents "
131 "are 'translated' may also be specified in the "
132 "subclass as a Values array qualifier.") ]
133 uint32 SetSpeed (
134 [IN] uint64 DesiredSpeed);
135 };
136
137
138 // ===================================================================
139 // AssociatedCooling
140 // ===================================================================
141 [Association, Version ("2.6.0"), Description (
142 "Many Devices, such as processors or power supplies, require "
143 "their own cooling devices. This association indicates where "
144 "fans or other CoolingDevices are specific to a Device, "
145 "versus providing enclosure or cabinet cooling.") ]
146 class CIM_AssociatedCooling : CIM_Dependency {
147
148 kumpf 1.2 [Override ("Antecedent"),
149 Description ("The CoolingDevice.") ]
150 CIM_CoolingDevice REF Antecedent;
151
152 [Override ("Dependent"),
153 Description ("The LogicalDevice being cooled.") ]
154 CIM_LogicalDevice REF Dependent;
155 };
156
157
158 // ===================================================================
159 // Battery
160 // ===================================================================
161 [Version ("2.7.0"), Description (
162 "Capabilities and management of the Battery LogicalDevice. "
163 "This class applies to both batteries in Laptop Systems and "
164 "other internal/external batteries, such as used in, "
165 "or as UPSs.") ]
166 class CIM_Battery : CIM_LogicalDevice {
167
168 [Description (
169 kumpf 1.2 "Description of the Battery's charge status. Values such "
170 "as \"Fully Charged\" (value=3) or \"Partially Charged\" "
171 "(11) can be specified. The value, 10, is "
172 "not valid in the CIM Schema since in DMI it represents "
173 "that no battery is installed. In this case, this object "
174 "should not be instantiated."),
175 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
176 "10", "11"},
177 Values {"Other", "Unknown", "Fully Charged",
178 "Low", "Critical", "Charging", "Charging and High",
179 "Charging and Low", "Charging and Critical",
180 // 10
181 "Undefined", "Partially Charged"},
182 MappingStrings {"MIF.DMTF|Portable Battery|003.14"} ]
183 uint16 BatteryStatus;
184
185 [Description (
186 "TimeOnBattery indicates the elapsed time in seconds "
187 "since the ComputerSystem, UPS, ... last switched to "
188 "battery power, or the time since the System or UPS "
189 "was last restarted, whichever is less. Zero shall "
190 kumpf 1.2 "be returned if the Battery is 'on line'."),
191 Units ("Seconds") ]
192 uint32 TimeOnBattery;
193
194 [Description (
195 "EstimatedRunTime is an estimate in minutes of the "
196 "time to battery charge depletion under the present "
197 "load conditions if the utility power is off, or lost "
198 "and remains off, or a Laptop is disconnected from a "
199 "power source."),
200 Units ("Minutes"),
201 MappingStrings {"MIF.DMTF|Portable Battery|003.15"} ]
202 uint32 EstimatedRunTime;
203
204 [Gauge, Description (
205 "An estimate of the percentage of full charge remaining."),
206 Units ("Percent") ]
207 uint16 EstimatedChargeRemaining;
208
209 [Description (
210 "An enumeration that describes the Battery's chemistry."),
211 kumpf 1.2 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
212 Values {"Other", "Unknown", "Lead Acid", "Nickel Cadmium",
213 "Nickel Metal Hydride", "Lithium-ion", "Zinc air",
214 "Lithium Polymer"},
215 MappingStrings {"MIF.DMTF|Portable Battery|003.7"} ]
216 uint16 Chemistry;
217
218 [Description (
219 "The design capacity of the battery in mWatt-hours. "
220 "If this property is not supported, enter 0."),
221 Units ("MilliWattHours"),
222 MappingStrings {"MIF.DMTF|Portable Battery|003.8"} ]
223 uint32 DesignCapacity;
224
225 [Description (
226 "The full charge capacity of the battery in mWatt-hours. "
227 "Comparison of this value to the Battery DesignCapacity "
228 "determines when the Battery requires replacement. A "
229 "Battery's end of life is typically when the FullCharge"
230 "Capacity falls below 80% of the DesignCapacity. "
231 "If this property is not supported, enter 0."),
232 kumpf 1.2 Units ("MilliWattHours"),
233 MappingStrings {"MIF.DMTF|Portable Battery|003.11"} ]
234 uint32 FullChargeCapacity;
235
236 [Description (
237 "The design voltage of the battery in mVolts. If "
238 "this attribute is not supported, enter 0."),
239 Units ("MilliVolts"),
240 MappingStrings {"MIF.DMTF|Portable Battery|003.9"} ]
241 uint64 DesignVoltage;
242
243 [MaxLen (64), Description (
244 "The Smart Battery Data Specification version number "
245 "supported by this Battery. If the Battery does not "
246 "support this function, the value should be left blank."),
247 MappingStrings {"MIF.DMTF|Portable Battery|003.10"} ]
248 string SmartBatteryVersion;
249
250 [Description (
251 "The remaining time to charge the battery fully in minutes "
252 "at the current charging rate and usage."),
253 kumpf 1.2 Units ("Minutes"),
254 MappingStrings {"MIF.DMTF|Portable Battery|003.16"} ]
255 uint32 TimeToFullCharge;
256
257 [Description (
258 "Indicates the Battery's expected lifetime in minutes, "
259 "assuming that the Battery is fully charged. This property "
260 "represents the total expected life of the Battery, not its "
261 "current remaining life, which is indicated by the "
262 "EstimatedRunTime property. "),
263 Units ("Minutes") ]
264 uint32 ExpectedLife;
265
266 [Description (
267 "MaxRechargeTime indicates the maximum time, in minutes, "
268 "to fully charge the Battery. This property represents the "
269 "time to recharge a fully depleted Battery, not the current "
270 "remaining charging time, which is indicated in the "
271 "TimeToFullCharge property. "),
272 Units ("Minutes") ]
273 uint32 MaxRechargeTime;
274 kumpf 1.2 };
275
276
277 // ===================================================================
278 // AssociatedBattery
279 // ===================================================================
280 [Association, Version ("2.6.0"), Description (
281 "A LogicalDevice may use or require one or more Batteries. This "
282 "relationship is described by the AssociatedBattery dependency. "
283 "It is also possible to model the individual Batteries that "
284 "comprise a UPS, using this association.") ]
285 class CIM_AssociatedBattery : CIM_Dependency {
286
287 [Override ("Antecedent"),
288 Description ("The Battery.") ]
289 CIM_Battery REF Antecedent;
290
291 [Override ("Dependent"),
292 Description (
293 "The LogicalDevice needing or associated with the Battery.") ]
294 CIM_LogicalDevice REF Dependent;
295 kumpf 1.2 };
296
297
298 // ===================================================================
299 // PowerSupply
300 // ===================================================================
301 [Version ("2.7.0"), Description (
302 "Capabilities and management of the PowerSupply LogicalDevice.") ]
303 class CIM_PowerSupply : CIM_LogicalDevice {
304
305 [Description (
306 "Boolean indicating that the PowerSupply is a switching "
307 "(vs linear) supply.") ]
308 boolean IsSwitchingSupply;
309
310 [Description (
311 "The low voltage of Input Voltage Range 1 for this Power"
312 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
313 Units ("MilliVolts"),
314 MappingStrings {"MIF.DMTF|Power Supply|004.7"} ]
315 uint32 Range1InputVoltageLow;
316 kumpf 1.2
317 [Description (
318 "The high voltage of Input Voltage Range 1 for this Power"
319 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
320 Units ("MilliVolts"),
321 MappingStrings {"MIF.DMTF|Power Supply|004.8"} ]
322 uint32 Range1InputVoltageHigh;
323
324 [Description (
325 "The frequency (in Hertz) at the low end of this Power"
326 "Supply's Input Frequency Range 1. A value of zero "
327 "implies DC."),
328 Units ("Hertz"),
329 MappingStrings {"MIF.DMTF|Power Supply|004.17"} ]
330 uint32 Range1InputFrequencyLow;
331
332 [Description (
333 "The frequency (in Hertz) at the high end of this Power"
334 "Supply's Input Frequency Range 1. A value of zero "
335 "implies DC."),
336 Units ("Hertz"),
337 kumpf 1.2 MappingStrings {"MIF.DMTF|Power Supply|004.18"} ]
338 uint32 Range1InputFrequencyHigh;
339
340 [Description (
341 "The low voltage of Input Voltage Range 2 for this Power"
342 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
343 Units ("MilliVolts"),
344 MappingStrings {"MIF.DMTF|Power Supply|004.11"} ]
345 uint32 Range2InputVoltageLow;
346
347 [Description (
348 "The high voltage of Input Voltage Range 2 for this Power"
349 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
350 Units ("MilliVolts"),
351 MappingStrings {"MIF.DMTF|Power Supply|004.12"} ]
352 uint32 Range2InputVoltageHigh;
353
354 [Description (
355 "The frequency (in Hertz) at the low end of this Power"
356 "Supply's Input Frequency Range 2. A value of zero "
357 "implies DC."),
358 kumpf 1.2 Units ("Hertz"),
359 MappingStrings {"MIF.DMTF|Power Supply|004.19"} ]
360 uint32 Range2InputFrequencyLow;
361
362 [Description (
363 "The frequency (in Hertz) at the high end of this Power"
364 "Supply's Input Frequency Range 2. A value of zero "
365 "implies DC."),
366 Units ("Hertz"),
367 MappingStrings {"MIF.DMTF|Power Supply|004.20"} ]
368 uint32 Range2InputFrequencyHigh;
369
370 [Description (
371 "ActiveInputVoltage indicates which input voltage range is "
372 "currently in use. Range 1, 2 or both can be specified "
373 "using the values 3, 4 or 5, respectively. If the Supply "
374 "is not currently drawing power, the value 6 (\"Neither\") "
375 "can be specified. This information is necessary in the "
376 "case of a UPS, a subclass of PowerSupply."),
377 ValueMap {"1", "2", "3", "4", "5", "6"},
378 Values {"Other", "Unknown", "Range 1", "Range 2", "Both",
379 kumpf 1.2 "Neither"},
380 MappingStrings {"MIF.DMTF|Power Supply|004.15"} ]
381 uint16 ActiveInputVoltage;
382
383 [Description (
384 "TypeOfRangeSwitching describes the kind of input voltage "
385 "range switching implemented in this PowerSupply. For "
386 "example, autoswitching can be specified (value=4)."),
387 ValueMap {"1", "2", "3", "4", "5", "6"},
388 Values {"Other", "Unknown", "Manual", "Autoswitch",
389 "Wide Range", "Not Applicable"},
390 MappingStrings {"MIF.DMTF|Power Supply|004.16"} ]
391 uint16 TypeOfRangeSwitching;
392
393 [Description (
394 "Represents the total output power of the PowerSupply in "
395 "milliWatts. 0 denotes 'unknown'."),
396 Units ("MilliWatts"),
397 MappingStrings {"MIF.DMTF|Power Supply|004.21"} ]
398 uint32 TotalOutputPower;
399 };
400 kumpf 1.2
401
402 // ===================================================================
403 // SuppliesPower
404 // ===================================================================
405 [Association, Version ("2.6.0"), Description (
406 "The SuppliesPower relationship indicates that a Device is in "
407 "the power domain of the referenced PowerSupply or UPS. "
408 "It indicates which Device(s) are dependent on the PowerSupply, "
409 "and hence, which Devices are affected if the Supply is lost.") ]
410 class CIM_SuppliesPower : CIM_Dependency {
411
412 [Override ("Antecedent"),
413 Description ("The Supply providing power.") ]
414 CIM_PowerSupply REF Antecedent;
415
416 [Override ("Dependent"),
417 Description (
418 "A LogicalDevice in the power domain of the Supply.") ]
419 CIM_LogicalDevice REF Dependent;
420 };
421 kumpf 1.2
422
423 // ===================================================================
424 // UninterruptiblePowerSupply
425 // ===================================================================
426 [Version ("2.6.0"), Description (
427 "Capabilities and management of an UninterruptiblePowerSupply. "
428 "The properties of the UPS Device indicate when incoming power "
429 "is trimmed or boosted, and the aggregated information of the "
430 "batteries, generators, etc. that comprise the Device. These "
431 "individual components (for example, multiple batteries) can "
432 "also be independently modeled and associated with the UPS.") ]
433 class CIM_UninterruptiblePowerSupply : CIM_PowerSupply {
434
435 [Override ("Range1InputVoltageLow"), Description (
436 "If the voltage (in millivolts) drops below the value "
437 "specified by Range1InputVoltageLow, the UPS will compensate "
438 "by boosting the voltage using its power source(s). A value "
439 "of 0 indicates that the voltage at which boosting occurs "
440 "is 'unknown'."),
441 Units ("MilliVolts") ]
442 kumpf 1.2 uint32 Range1InputVoltageLow;
443
444 [Override ("Range1InputVoltageHigh"), Description (
445 "If the voltage (in millivolts) rises above the value "
446 "specified by Range1InputVoltageHigh, the UPS will compensate "
447 "by trimming the voltage. A value of 0 indicates that the "
448 "voltage at which trimming occurs is 'unknown'."),
449 Units ("MilliVolts") ]
450 uint32 Range1InputVoltageHigh;
451
452 [Override ("Range2InputVoltageLow"), Description (
453 "If the voltage (in millivolts) drops below the value "
454 "specified by Range2InputVoltageLow, the UPS will compensate "
455 "by boosting the voltage using its power source(s). A value "
456 "of 0 indicates that the voltage at which boosting occurs "
457 "is 'unknown'."),
458 Units ("MilliVolts") ]
459 uint32 Range2InputVoltageLow;
460
461 [Override ("Range2InputVoltageHigh"), Description (
462 "If the voltage (in millivolts) rises above the value "
463 kumpf 1.2 "specified by Range2InputVoltageHigh, the UPS will compensate "
464 "by trimming the voltage. A value of 0 indicates that the "
465 "voltage at which trimming occurs is 'unknown'."),
466 Units ("MilliVolts") ]
467 uint32 Range2InputVoltageHigh;
468
469 [Description (
470 "The indication of the capacity remaining in the UPS' "
471 "batteries, generator, ... A value of \"Normal\" (2) "
472 "indicates that the remaining estimated minutes of run-time "
473 "is greater than the UPS' defined 'low power' state "
474 "(typically two minutes). A value of \"Low\" (3) indicates "
475 "that the remaining estimated minutes of run-time is less "
476 "than or equal to the UPS' defined 'low power' state. A "
477 "value of \"Depleted\" (4) indicates that the "
478 "UPS will be unable to sustain the present load when and if "
479 "the utility power is lost (including the possibility that "
480 "the utility power is currently absent)."),
481 ValueMap {"1", "2", "3", "4"},
482 Values {"Unknown", "Normal", "Low", "Depleted"},
483 MappingStrings {"MIF.DMTF|UPS Battery|001.1"} ]
484 kumpf 1.2 uint16 RemainingCapacityStatus;
485
486 [Description (
487 "TimeOnBackup indicates the elapsed time in seconds "
488 "since the UPS last switched to battery power, generator, ... "
489 "Or, the time since the UPS was last restarted, whichever is "
490 "less. Zero shall be returned if the UPS is 'on line'."),
491 Units ("Seconds"),
492 MappingStrings {"MIF.DMTF|UPS Battery|001.2"} ]
493 uint32 TimeOnBackup;
494
495 [Description (
496 "EstimatedRunTime is an estimate in minutes of the time to "
497 "battery, generator, ... depletion under the present load "
498 "conditions if the utility power is off, or lost and remains "
499 "off."),
500 Units ("Minutes"),
501 MappingStrings {"MIF.DMTF|UPS Battery|001.3"} ]
502 uint32 EstimatedRunTime;
503
504 [Gauge, Description (
505 kumpf 1.2 "An estimate of the percentage of full charge remaining for "
506 "a UPS (that uses battery technology)."),
507 Units ("Percent"),
508 MappingStrings {"MIF.DMTF|UPS Battery|001.4"} ]
509 uint16 EstimatedChargeRemaining;
510 };
511
512 // ==================================================================
513 // PackageCooling
514 // ==================================================================
515 [Association, Version ("2.7.0"),
516 Deprecated {"CIM_PackageDependency"}, Description (
517 "Often, a CoolingDevice is installed in a Package such as "
518 "a Chassis or a Rack, not for a specific Device, but to assist "
519 "in the cooling of the Package in general. The use of this "
520 "association has been deprecated. Instead, the more generic "
521 "PackageDependency relationship should be used.") ]
522 class CIM_PackageCooling : CIM_PackageDependency {
523
524 [Override ("Antecedent"),
525 Deprecated {"CIM_PackageDependency.Antecedent"},
526 kumpf 1.2 Description (
527 "The CoolingDevice for the Package.") ]
528 CIM_CoolingDevice REF Antecedent;
529
530 [Override ("Dependent"),
531 Deprecated {"CIM_PackageDependency.Dependent"},
532 Description (
533 "The PhysicalPackage whose environment is cooled.") ]
534 CIM_PhysicalPackage REF Dependent;
535 };
536
537
538 // ===================================================================
539 // end of file
540 // ===================================================================
|