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