1 tony 1.1 // ===================================================================
2 // Title: Device Cooling and Power 2.8
3 // Filename: Device28_CoolingAndPower.mof
4 // Version: 2.8
5 // Release: Preliminary
6 // Date: 05/29/2003
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 tony 1.1 // 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 tony 1.1 // ===================================================================
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 2.8 - None
54 //
55 // Change Log for v2.7
56 // CR621 - Deprecate PackageCooling
57 // CR622 - Fix the DMI mapping string to include the attribute number
58 // for Battery.BatteryStatus, .EstimatedRunTime, .Chemistry,
59 // .DesignCapacity, .FullChargeCapacity, .DesignVoltage,
60 // .SmartBatteryVersion, & .TimeToFullCharge,
61 // PowerSupply.Range1InputVoltageLow, .Range1InputVoltageHigh,
62 // .Range1InputFrequencyLow, .Range1InputFrequencyHigh,
63 // .Range2InputVoltageLow, .Range2InputVoltageHigh,
64 tony 1.1 // .Range2InputFrequencyLow, .Range2InputFrequencyHigh,
65 // .ActiveInputVoltage, .TypeOfRangeSwitching, &
66 // .TotalOutputPower
67 // ==================================================================
68
69 #pragma locale ("en_US")
70
71
72 // ===================================================================
73 // CoolingDevice
74 // ===================================================================
75 [Version ("2.6.0"), Description (
76 "Capabilities and management of CoolingDevices.") ]
77 class CIM_CoolingDevice : CIM_LogicalDevice {
78
79 [Description (
80 "ActiveCooling is a boolean indicating that the Cooling "
81 "Device provides active (as opposed to passive) cooling.") ]
82 boolean ActiveCooling;
83 };
84
85 tony 1.1
86 // ===================================================================
87 // Refrigeration
88 // ===================================================================
89 [Version ("2.6.0"), Description (
90 "Capabilities and management of a Refrigeration CoolingDevice.") ]
91 class CIM_Refrigeration : CIM_CoolingDevice {
92 };
93
94
95 // ===================================================================
96 // HeatPipe
97 // ===================================================================
98 [Version ("2.6.0"), Description (
99 "Capabilities and management of a HeatPipe CoolingDevice.") ]
100 class CIM_HeatPipe : CIM_CoolingDevice {
101 };
102
103
104 // ===================================================================
105 // Fan
106 tony 1.1 // ===================================================================
107 [Version ("2.6.0"), Description (
108 "Capabilities and management of a Fan CoolingDevice.") ]
109 class CIM_Fan : CIM_CoolingDevice {
110
111 [Description (
112 "Indication of whether the fan supports variable speeds.") ]
113 boolean VariableSpeed;
114
115 [Description (
116 "DesiredSpeed is the currently requested fan speed, defined "
117 "in Revolutions per Minute, when a variable speed fan is "
118 "supported (VariableSpeed boolean = TRUE). The current "
119 "speed is determined via a sensor (CIM_Tachometer) that is "
120 "associated with the Fan using the CIM_AssociatedSensor "
121 "relationship."),
122 Units ("Revolutions per Minute") ]
123 uint64 DesiredSpeed;
124
125 [Description (
126 "Requests that the Fan speed be set to the value specified "
127 tony 1.1 "in the method's input parameter. The return value should "
128 "be 0 if the request was successfully executed, 1 if the "
129 "request is not supported and some other value if an error "
130 "occurred. In a subclass, the set of possible return codes "
131 "could be specified, using a ValueMap qualifier on the "
132 "method. The strings to which the ValueMap contents are "
133 "'translated' may also be specified in the subclass as a "
134 "Values array qualifier.") ]
135 uint32 SetSpeed (
136 [IN] uint64 DesiredSpeed);
137 };
138
139
140 // ===================================================================
141 // AssociatedCooling
142 // ===================================================================
143 [Association, Version ("2.6.0"), Description (
144 "Many Devices, such as processors or power supplies, require "
145 "their own cooling devices. This association indicates where "
146 "fans or other CoolingDevices are specific to a Device, versus "
147 "providing enclosure or cabinet cooling.") ]
148 tony 1.1 class CIM_AssociatedCooling : CIM_Dependency {
149
150 [Override ("Antecedent"), Description (
151 "The CoolingDevice.") ]
152 CIM_CoolingDevice REF Antecedent;
153
154 [Override ("Dependent"), Description (
155 "The LogicalDevice being cooled.") ]
156 CIM_LogicalDevice REF Dependent;
157 };
158
159
160 // ===================================================================
161 // Battery
162 // ===================================================================
163 [Version ("2.7.0"), Description (
164 "Capabilities and management of the Battery LogicalDevice. "
165 "This class applies to both batteries in Laptop Systems and "
166 "other internal/external batteries, such as used in, or as "
167 "UPSs.") ]
168 class CIM_Battery : CIM_LogicalDevice {
169 tony 1.1
170 [Description (
171 "Description of the Battery's charge status. Values such as "
172 "\"Fully Charged\" (value=3) or \"Partially Charged\" (11) "
173 "can be specified. The value, 10, is not valid in the CIM "
174 "Schema since in DMI it represents that no battery is "
175 "installed. In this case, this object should not be "
176 "instantiated."),
177 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
178 "11"},
179 Values {"Other", "Unknown", "Fully Charged", "Low", "Critical",
180 "Charging", "Charging and High", "Charging and Low",
181 "Charging and Critical",
182 // 10
183 "Undefined", "Partially Charged"},
184 MappingStrings {"MIF.DMTF|Portable Battery|003.14"} ]
185 uint16 BatteryStatus;
186
187 [Description (
188 "TimeOnBattery indicates the elapsed time in seconds since "
189 "the ComputerSystem, UPS, ... last switched to battery "
190 tony 1.1 "power, or the time since the System or UPS was last "
191 "restarted, whichever is less. Zero shall be returned if "
192 "the Battery is 'on line'."),
193 Units ("Seconds") ]
194 uint32 TimeOnBattery;
195
196 [Description (
197 "EstimatedRunTime is an estimate in minutes of the time to "
198 "battery charge depletion under the present load conditions "
199 "if the utility power is off, or lost and remains off, or a "
200 "Laptop is disconnected from a power source."),
201 Units ("Minutes"),
202 MappingStrings {"MIF.DMTF|Portable Battery|003.15"} ]
203 uint32 EstimatedRunTime;
204
205 [Description (
206 "An estimate of the percentage of full charge remaining."),
207 Units ("Percent"), Gauge ]
208 uint16 EstimatedChargeRemaining;
209
210 [Description (
211 tony 1.1 "An enumeration that describes the Battery's chemistry."),
212 ValueMap {"1", "2", "3", "4", "5", "6", "7", "8"},
213 Values {"Other", "Unknown", "Lead Acid", "Nickel Cadmium",
214 "Nickel Metal Hydride", "Lithium-ion", "Zinc air",
215 "Lithium Polymer"},
216 MappingStrings {"MIF.DMTF|Portable Battery|003.7"} ]
217 uint16 Chemistry;
218
219 [Description (
220 "The design capacity of the battery in mWatt-hours. If this "
221 "property is not supported, enter 0."),
222 Units ("MilliWattHours"),
223 MappingStrings {"MIF.DMTF|Portable Battery|003.8"} ]
224 uint32 DesignCapacity;
225
226 [Description (
227 "The full charge capacity of the battery in mWatt-hours. "
228 "Comparison of this value to the Battery DesignCapacity "
229 "determines when the Battery requires replacement. A "
230 "Battery's end of life is typically when the FullCharge "
231 "Capacity falls below 80% of the DesignCapacity. If this "
232 tony 1.1 "property is not supported, enter 0."),
233 Units ("MilliWattHours"),
234 MappingStrings {"MIF.DMTF|Portable Battery|003.11"} ]
235 uint32 FullChargeCapacity;
236
237 [Description (
238 "The design voltage of the battery in mVolts. If this "
239 "attribute is not supported, enter 0."),
240 Units ("MilliVolts"),
241 MappingStrings {"MIF.DMTF|Portable Battery|003.9"} ]
242 uint64 DesignVoltage;
243
244 [Description (
245 "The Smart Battery Data Specification version number "
246 "supported by this Battery. If the Battery does not support "
247 "this function, the value should be left blank."),
248 MaxLen (64),
249 MappingStrings {"MIF.DMTF|Portable Battery|003.10"} ]
250 string SmartBatteryVersion;
251
252 [Description (
253 tony 1.1 "The remaining time to charge the battery fully in minutes "
254 "at the current charging rate and usage."),
255 Units ("Minutes"),
256 MappingStrings {"MIF.DMTF|Portable Battery|003.16"} ]
257 uint32 TimeToFullCharge;
258
259 [Description (
260 "Indicates the Battery's expected lifetime in minutes, "
261 "assuming that the Battery is fully charged. This property "
262 "represents the total expected life of the Battery, not its "
263 "current remaining life, which is indicated by the "
264 "EstimatedRunTime property."),
265 Units ("Minutes") ]
266 uint32 ExpectedLife;
267
268 [Description (
269 "MaxRechargeTime indicates the maximum time, in minutes, to "
270 "fully charge the Battery. This property represents the "
271 "time to recharge a fully depleted Battery, not the current "
272 "remaining charging time, which is indicated in the "
273 "TimeToFullCharge property."),
274 tony 1.1 Units ("Minutes") ]
275 uint32 MaxRechargeTime;
276 };
277
278
279 // ===================================================================
280 // AssociatedBattery
281 // ===================================================================
282 [Association, Version ("2.6.0"), Description (
283 "A LogicalDevice may use or require one or more Batteries. "
284 "This relationship is described by the AssociatedBattery "
285 "dependency. It is also possible to model the individual "
286 "Batteries that comprise a UPS, using this association.") ]
287 class CIM_AssociatedBattery : CIM_Dependency {
288
289 [Override ("Antecedent"), Description (
290 "The Battery.") ]
291 CIM_Battery REF Antecedent;
292
293 [Override ("Dependent"), Description (
294 "The LogicalDevice needing or associated with the Battery.") ]
295 tony 1.1 CIM_LogicalDevice REF Dependent;
296 };
297
298
299 // ===================================================================
300 // PowerSupply
301 // ===================================================================
302 [Version ("2.7.0"), Description (
303 "Capabilities and management of the PowerSupply LogicalDevice.") ]
304 class CIM_PowerSupply : CIM_LogicalDevice {
305
306 [Description (
307 "Boolean indicating that the PowerSupply is a switching (vs "
308 "linear) supply.") ]
309 boolean IsSwitchingSupply;
310
311 [Description (
312 "The low voltage of Input Voltage Range 1 for this Power "
313 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
314 Units ("MilliVolts"),
315 MappingStrings {"MIF.DMTF|Power Supply|004.7"} ]
316 tony 1.1 uint32 Range1InputVoltageLow;
317
318 [Description (
319 "The high voltage of Input Voltage Range 1 for this Power "
320 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
321 Units ("MilliVolts"),
322 MappingStrings {"MIF.DMTF|Power Supply|004.8"} ]
323 uint32 Range1InputVoltageHigh;
324
325 [Description (
326 "The frequency (in Hertz) at the low end of this Power "
327 "Supply's Input Frequency Range 1. A value of zero implies "
328 "DC."),
329 Units ("Hertz"),
330 MappingStrings {"MIF.DMTF|Power Supply|004.17"} ]
331 uint32 Range1InputFrequencyLow;
332
333 [Description (
334 "The frequency (in Hertz) at the high end of this Power "
335 "Supply's Input Frequency Range 1. A value of zero implies "
336 "DC."),
337 tony 1.1 Units ("Hertz"),
338 MappingStrings {"MIF.DMTF|Power Supply|004.18"} ]
339 uint32 Range1InputFrequencyHigh;
340
341 [Description (
342 "The low voltage of Input Voltage Range 2 for this Power "
343 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
344 Units ("MilliVolts"),
345 MappingStrings {"MIF.DMTF|Power Supply|004.11"} ]
346 uint32 Range2InputVoltageLow;
347
348 [Description (
349 "The high voltage of Input Voltage Range 2 for this Power "
350 "Supply, in millivolts. A value of 0 denotes 'unknown'."),
351 Units ("MilliVolts"),
352 MappingStrings {"MIF.DMTF|Power Supply|004.12"} ]
353 uint32 Range2InputVoltageHigh;
354
355 [Description (
356 "The frequency (in Hertz) at the low end of this Power "
357 "Supply's Input Frequency Range 2. A value of zero implies "
358 tony 1.1 "DC."),
359 Units ("Hertz"),
360 MappingStrings {"MIF.DMTF|Power Supply|004.19"} ]
361 uint32 Range2InputFrequencyLow;
362
363 [Description (
364 "The frequency (in Hertz) at the high end of this Power "
365 "Supply's Input Frequency Range 2. A value of zero implies "
366 "DC."),
367 Units ("Hertz"),
368 MappingStrings {"MIF.DMTF|Power Supply|004.20"} ]
369 uint32 Range2InputFrequencyHigh;
370
371 [Description (
372 "ActiveInputVoltage indicates which input voltage range is "
373 "currently in use. Range 1, 2 or both can be specified "
374 "using the values 3, 4 or 5, respectively. If the Supply is "
375 "not currently drawing power, the value 6 (\"Neither\") can "
376 "be specified. This information is necessary in the case of "
377 "a UPS, a subclass of PowerSupply."),
378 ValueMap {"1", "2", "3", "4", "5", "6"},
379 tony 1.1 Values {"Other", "Unknown", "Range 1", "Range 2", "Both",
380 "Neither"},
381 MappingStrings {"MIF.DMTF|Power Supply|004.15"} ]
382 uint16 ActiveInputVoltage;
383
384 [Description (
385 "TypeOfRangeSwitching describes the kind of input voltage "
386 "range switching implemented in this PowerSupply. For "
387 "example, autoswitching can be specified (value=4)."),
388 ValueMap {"1", "2", "3", "4", "5", "6"},
389 Values {"Other", "Unknown", "Manual", "Autoswitch",
390 "Wide Range", "Not Applicable"},
391 MappingStrings {"MIF.DMTF|Power Supply|004.16"} ]
392 uint16 TypeOfRangeSwitching;
393
394 [Description (
395 "Represents the total output power of the PowerSupply in "
396 "milliWatts. 0 denotes 'unknown'."),
397 Units ("MilliWatts"),
398 MappingStrings {"MIF.DMTF|Power Supply|004.21"} ]
399 uint32 TotalOutputPower;
400 tony 1.1 };
401
402
403 // ===================================================================
404 // SuppliesPower
405 // ===================================================================
406 [Association, Version ("2.6.0"), Description (
407 "The SuppliesPower relationship indicates that a Device is in "
408 "the power domain of the referenced PowerSupply or UPS. It "
409 "indicates which Device(s) are dependent on the PowerSupply, "
410 "and hence, which Devices are affected if the Supply is lost.") ]
411 class CIM_SuppliesPower : CIM_Dependency {
412
413 [Override ("Antecedent"), Description (
414 "The Supply providing power.") ]
415 CIM_PowerSupply REF Antecedent;
416
417 [Override ("Dependent"), Description (
418 "A LogicalDevice in the power domain of the Supply.") ]
419 CIM_LogicalDevice REF Dependent;
420 };
421 tony 1.1
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 is "
440 "'unknown'."),
441 Units ("MilliVolts") ]
442 tony 1.1 uint32 Range1InputVoltageLow;
443
444 [Override ("Range1InputVoltageHigh"), Description (
445 "If the voltage (in millivolts) rises above the value "
446 "specified by Range1InputVoltageHigh, the UPS will "
447 "compensate by trimming the voltage. A value of 0 indicates "
448 "that the 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 is "
457 "'unknown'."),
458 Units ("MilliVolts") ]
459 uint32 Range2InputVoltageLow;
460
461 [Override ("Range2InputVoltageHigh"), Description (
462 "If the voltage (in millivolts) rises above the value "
463 tony 1.1 "specified by Range2InputVoltageHigh, the UPS will "
464 "compensate by trimming the voltage. A value of 0 indicates "
465 "that the 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 UPS will be "
478 "unable to sustain the present load when and if the utility "
479 "power is lost (including the possibility that the utility "
480 "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 tony 1.1 uint16 RemainingCapacityStatus;
485
486 [Description (
487 "TimeOnBackup indicates the elapsed time in seconds since "
488 "the UPS last switched to battery power, generator, ... Or, "
489 "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 [Description (
505 tony 1.1 "An estimate of the percentage of full charge remaining for "
506 "a UPS (that uses battery technology)."),
507 Units ("Percent"), Gauge,
508 MappingStrings {"MIF.DMTF|UPS Battery|001.4"} ]
509 uint16 EstimatedChargeRemaining;
510 };
511
512 // ==================================================================
513 // PackageCooling
514 // ==================================================================
515 [Association, Deprecated {"CIM_PackageDependency"},
516 Version ("2.7.0"), Description (
517 "Often, a CoolingDevice is installed in a Package such as a "
518 "Chassis or a Rack, not for a specific Device, but to assist in "
519 "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 [Deprecated {"CIM_PackageDependency.Antecedent"},
525 Override ("Antecedent"), Description (
526 tony 1.1 "The CoolingDevice for the Package.") ]
527 CIM_CoolingDevice REF Antecedent;
528
529 [Deprecated {"CIM_PackageDependency.Dependent"},
530 Override ("Dependent"), Description (
531 "The PhysicalPackage whose environment is cooled.") ]
532 CIM_PhysicalPackage REF Dependent;
533 };
534
535
536 // ===================================================================
537 // end of file
538 // ===================================================================
|