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