(file) Return to Core28_Redundancy.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim28

  1 tony  1.1 // ===================================================================
  2           // Title:       Core Redundancy 2.8
  3           // Filename:    Core28_Redundancy.mof
  4           // Version:     2.8
  5           // Release:     Preliminary
  6           // Date:        05/22/2003
  7           // ===================================================================
  8           // Copyright 1999-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 Core Model defines basic management concepts.
 45           //              This file defines the concepts and classes to support
 46           //              Redundancy.
 47           // 
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.8
 53           // CR1019 - CIM Versioning for 2.8 Preliminary
 54           // CR1071 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 55           //          and ExtraCapacitySet.
 56           // 
 57           // Change Log for v2.7.1
 58           //       - Remove aggregate qualifier from the PartComponent of
 59           //         RedundancyComponent.
 60           // 
 61           // Change Log for v2.7 Final
 62           // CR940 - Fix Value/ValueMap mismatch in StorageRedundancySet.
 63           //         TypeOfAlgorithm
 64 tony  1.1 // CR968 - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 65           //         and ExtraCapacitySet experimental for 2.8
 66           // 
 67           // Change Log for v2.7
 68           // CR722 - Update description for StorageRedundancyGroup
 69           // CR752 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 70           //         and ExtraCapacitySet
 71           //       - Update the description for RedundancyGroup
 72           // ==================================================================
 73           
 74           #pragma locale ("en_US")
 75           
 76           
 77           // ===================================================================
 78           // RedundancySet
 79           // ===================================================================
 80              [Experimental, Version ("2.7.1000"), Description (
 81                  "A class derived from SystemSpecificCollection that is a "
 82                  "special collection of ManagedElements.  This collection "
 83                  "indicates that the aggregated elements together provide "
 84                  "redundancy, or that redundancy is provided via sparing.  All "
 85 tony  1.1        "elements collected in a RedundancySet should be instantiations "
 86                  "of the same object class.\n"
 87                  "Note that the CIM_RedundancySet class is very similar to "
 88                  "CIM_RedundancyGroup, yet both classes are present in the "
 89                  "model.  This is because some implementations have successfully "
 90                  "used CIM_RedundancyGroup.  However, issues have arisen that "
 91                  "could not be resolved without defining a new class.  "
 92                  "Therefore, until a new major release occurs, both classes will "
 93                  "exist in the model.  Refer to the Core White Paper for "
 94                  "additional information.") ]
 95           class CIM_RedundancySet : CIM_SystemSpecificCollection {
 96           
 97                 [Required, Override ("ElementName"), Description (
 98                     "The user friendly name for this instance of RedundancySet.  "
 99                     "In addition, the user friendly name can be used as a "
100                     "property for a search or query.  (Note: InstanceName does "
101                     "not have to be unique within a namespace.)") ]
102              string ElementName;
103           
104                 [Description (
105                     "RedundancyStatus provides information on the state of the "
106 tony  1.1           "RedundancySet.\n"
107                     "- Fully Redundant (=2) means that all of the configured "
108                     "redundancy is still available.\n"
109                     "- Degraded Redundancy (=3) means that some failures have "
110                     "been experienced but some reduced amount of redundancy is "
111                     "still available\n"
112                     "- Redundancy Lost (=4) means that a sufficient number of "
113                     "failures have been experienced such that no redundancy is "
114                     "available and the next failure experienced will cause "
115                     "overall failure."), 
116                  ValueMap {"0", "1", "2", "3", "4"}, 
117                  Values {"Unknown", "Other", "Fully Redundant",
118                      "Degraded Redundancy", "Redundancy Lost"} ]
119              uint16 RedundancyStatus;
120           };
121           
122           
123           // ===================================================================
124           // SparedSet
125           // ===================================================================
126              [Experimental, Version ("2.7.1000"), Description (
127 tony  1.1        "A class derived from RedundancySet indicating that the "
128                  "collected elements can be spared.  (The actual spares are "
129                  "defined using the IsSpare association.) An example is the use "
130                  "of redundant network adapters in a ComputerSystem - where one "
131                  "adapter is Primary and the other is Spare.  The 'primary' "
132                  "adapter would be a member of the SparedSet (associated using "
133                  "MemberOfCollection) and the 'other' adapter would be "
134                  "associated to the SparedSet using the IsSpare relationship.") ]
135           class CIM_SparedSet : CIM_RedundancySet {
136           
137                 [Description (
138                     "The type of failover algorithms that are supported."), 
139                  ValueMap {"0", "1", "2", "3"}, 
140                  Values {"Unknown", "Other", "Automatic", "Manual"} ]
141              uint16 FailoverSupported;
142           
143                 [Description (
144                     "This method forces a failover from one ManagedElement to "
145                     "another.  There are two parameters to the Failover method.\n"
146                     "- FailoverFrom is a reference to an 'active' ManagedElement "
147                     "that will become inactive after the method.  This element "
148 tony  1.1           "should be part of the SparedSet via a MemberOfCollection "
149                     "relationship.\n"
150                     "- FailoverTo is a reference to the ManagedElement that will "
151                     "take over for the FailoverFrom element.  This element "
152                     "should be associated with the SparedSet via an IsSpare "
153                     "relationship.\n"
154                     "Once the failover has occurred, the MemberOfCollection and "
155                     "IsSpare associations are updated to reflect the current "
156                     "state.  For example, the MemberOfCollection association for "
157                     "the FailoverFrom element is deleted.  The IsSpare "
158                     "association for the FailoverTo element is replaced with "
159                     "MemberOfCollection.\n"
160                     "The method should return 0 if successful, 1 if the request "
161                     "is not supported, and some other value if any other error "
162                     "occurred.  In a subclass, the set of possible return codes "
163                     "could be specified, using Value and ValueMap qualifiers on "
164                     "the method.") ]
165              uint32 Failover(
166                  [IN] CIM_ManagedElement REF FailoverFrom,
167                  [IN] CIM_ManagedElement REF FailoverTo);
168           };
169 tony  1.1 
170           
171           // ===================================================================
172           // IsSpare
173           // ===================================================================
174              [Association, Experimental, Version ("2.7.1000"), Description (
175                  "The IsSpare association indicates an element that can spare or "
176                  "replace one of the elements in the referenced SparedSet.  If "
177                  "the 'spare' is itself a Collection, this indicates that each "
178                  "of the 'spare' members can replace one of the elements in the "
179                  "SparedSet.  The fact that a spare can operate in 'hot standby' "
180                  "mode is specified on an element by element basis - i.e., in "
181                  "this association.") ]
182           class CIM_IsSpare : CIM_Dependency {
183           
184                 [Override ("Antecedent"), Description (
185                     "A ManagedElement or Collection of elements acting as a "
186                     "spare.") ]
187              CIM_ManagedElement REF Antecedent;
188           
189                 [Override ("Dependent"), Description (
190 tony  1.1           "The set of elements that ARE spared.") ]
191              CIM_SparedSet REF Dependent;
192           
193                 [Description (
194                     "HotStandby is a boolean indicating that the 'spare' is "
195                     "operating as a hot standby.") ]
196              boolean HotStandby;
197           };
198           
199           
200           // ===================================================================
201           // StorageRedundancySet
202           // ===================================================================
203              [Experimental, Version ("2.7.1000"), Description (
204                  "A class derived from RedundancySet describing storage-related "
205                  "redundancy information.  StorageRedundancySets are used to "
206                  "protect user data.  They aggregate on one or more underlying "
207                  "StorageExtents, associated via MemberOfCollection, and produce "
208                  "one or more higher-level Extents.  The Extents are related to "
209                  "each other via a BasedOn association.  And, the higher level "
210                  "Extent is related to the StorageRedundancy Set via the "
211 tony  1.1        "LogicalIdentity association.\n"
212                  "Note that StorageRedundancySets may overlap in their "
213                  "aggregation of members.  If this occurs, the overlapping "
214                  "Extents should not contain any check data.") ]
215           class CIM_StorageRedundancySet : CIM_RedundancySet {
216           
217                 [Description (
218                     "TypeOfAlgorithm specifies the algorithm used for storage "
219                     "data redundancy and reconstruction.  For example, 'P+Q' "
220                     "(=5) or 'P+S' (=7) may be specified."), 
221                  ValueMap {"0", "1", "3", "4", "5", "6", "7" }, 
222                  Values {"Unknown", "Other", "Copy", "XOR", "P+Q", "S", "P+S"}, 
223                  MappingStrings {"MIF.DMTF|Redundancy Group|001.2"}, 
224                  ModelCorrespondence {"StorageRedundancySet.OtherAlgorithm"} ]
225              uint16 TypeOfAlgorithm;
226           
227                 [Description (
228                     "A string describing the redundancy algorithm when the "
229                     "TypeOfAlgorithm is set to 1 'Other'."), 
230                  ModelCorrespondence { "StorageRedundancySet.TypeOfAlgorithm"} ]
231              string OtherAlgorithm;
232 tony  1.1 };
233           
234           
235           // ===================================================================
236           // ExtraCapacitySet
237           // ===================================================================
238              [Experimental, Version ("2.7.1000"), Description (
239                  "A class derived from RedundancySet to describe that the "
240                  "aggregated elements have more capacity or capability than is "
241                  "needed.  Some examples of this type of redundancy are "
242                  "clusters, or the installation of N+1 power supplies or fans in "
243                  "a computer.") ]
244           class CIM_ExtraCapacitySet : CIM_RedundancySet {
245           
246                 [Description (
247                     "MinNumberNeeded indicates the smallest number of elements "
248                     "that must be operational in order to function.  For "
249                     "example, in an N+1 redundancy relationship, the "
250                     "MinNumberNeeded property is set equal to N."), 
251                  MinValue (1) ]
252              uint32 MinNumberNeeded;
253 tony  1.1 
254                 [Description (
255                     "MaxNumberSupported indicates the largest number of elements "
256                     "that can participate in the ExtraCapacitySet.  A value of 0 "
257                     "indicates there is no limit on the number of elements.") ]
258              uint32 MaxNumberSupported;
259           
260                 [Description (
261                     "Boolean indicating whether load balancing is supported by "
262                     "the ExtraCapacitySet.") ]
263              boolean LoadBalancedSet;
264           };
265           
266           
267           // ===================================================================
268           // RedundancyGroup
269           // ===================================================================
270              [Version ("2.7.1000"), Description (
271                  "A class derived from LogicalElement that is a special "
272                  "collection of ManagedSystemElements.  This collection "
273                  "indicates that the aggregated components together provide "
274 tony  1.1        "redundancy.  All elements aggregated in a RedundancyGroup "
275                  "should be instantiations of the same object class.\n"
276                  "Note that the CIM_RedundancySet class is very similar to "
277                  "CIM_RedundancyGroup, yet both classes are present in the "
278                  "model.  This is because some implementations have successfully "
279                  "used CIM_RedundancyGroup.  However, issues have arisen that "
280                  "could not be resolved without defining a new class.  "
281                  "Therefore, until a new major release occurs, both classes will "
282                  "exist in the model.  instantiations of the same object class.") ]
283           class CIM_RedundancyGroup : CIM_LogicalElement {
284           
285                 [Key, Description (
286                     "CreationClassName indicates the name of the class or the "
287                     "subclass used in the creation of an instance.  When used "
288                     "with the other key properties of this class, this property "
289                     "allows all instances of this class and its subclasses to be "
290                     "uniquely identified."), 
291                  MaxLen (256) ]
292              string CreationClassName;
293           
294                 [Key, Override ("Name"), Description (
295 tony  1.1           "The RedundancyGroup Name serves as the key for the Group's "
296                     "instance in an enterprise environment."), 
297                  MaxLen (256) ]
298              string Name;
299           
300                 [Description (
301                     "RedundancyStatus provides information on the state of the "
302                     "RedundancyGroup.  \"Fully Redundant\" (value=2) means that "
303                     "all of the configured redundancy is still available; "
304                     "\"Degraded Redundancy\" (3) means that some failures have "
305                     "been experienced but some reduced amount of redundancy is "
306                     "still available; \"Redundancy Lost\" (4) means that a "
307                     "sufficient number of failures have been experienced such "
308                     "that no redundancy is available and the next failure "
309                     "experienced will cause overall failure.  Also, the values, "
310                     "\"Other\" (1) and \"Unknown\" (0), are defined."), 
311                  ValueMap {"0", "1", "2", "3", "4"}, 
312                  Values {"Unknown", "Other", "Fully Redundant",
313                      "Degraded Redundancy", "Redundancy Lost"} ]
314              uint16 RedundancyStatus;
315           };
316 tony  1.1 
317           
318           // ===================================================================
319           // RedundancyComponent
320           // ===================================================================
321              [Association, Aggregation, Version ("2.7.1"), Description (
322                  "A RedundancyGroup aggregates Managed System Elements and "
323                  "indicates that these elements, taken together, provide "
324                  "redundancy.  All elements aggregated in a RedundancyGroup "
325                  "should be instantiations of the same object class.") ]
326           class CIM_RedundancyComponent : CIM_Component {
327           
328                 [Aggregate, Override ("GroupComponent"), Description (
329                     "The RedundancyComponent association indicates that 'this "
330                     "set of fans' or 'these physical extents' participate in a "
331                     "single RedundancyGroup.") ]
332              CIM_RedundancyGroup REF GroupComponent;
333           
334                 [Override ("PartComponent"), Description (
335                     "The component of the redundancy group.") ]
336              CIM_ManagedSystemElement REF PartComponent;
337 tony  1.1 };
338           
339           
340           // ===================================================================
341           // SpareGroup
342           // ===================================================================
343              [Version ("2.6.0"), Description (
344                  "A class derived from RedundancyGroup indicating that one or "
345                  "more of the aggregated elements can be spared.  (The actual "
346                  "Spares are defined using the ActsAsSpare association.) An "
347                  "example is the use of redundant NICs in a ComputerSystem - "
348                  "where one NIC is primary and the other is Spare.  The "
349                  "'primary' NIC would be a member of the SpareGroup (associated "
350                  "using the RedundancyComponent class) and the 'other' NIC would "
351                  "be associated using the ActsAsSpare relationship.") ]
352           class CIM_SpareGroup : CIM_RedundancyGroup {
353           
354                 [Description (
355                     "This method is forces a failover from one ManagedSystem "
356                     "Element to another.  There are two parameters to the "
357                     "Failover method, FailoverFrom and FailoverTo.  The "
358 tony  1.1           "FailoverFrom parameter is a reference to the primary "
359                     "ManagedSystemElement that will become inactive after the "
360                     "method.  This Element should be associated with the "
361                     "SpareGroup through the RedundancyComponent relationship.  "
362                     "The FailoverTo parameter is a reference to the "
363                     "ManagedSystemElement that will take over for the primary.  "
364                     "This Element should be associated with the SpareGroup "
365                     "through the ActsAsSpare association.  Once the failover has "
366                     "occurred, the SpareGroup and the Redundancy Component and "
367                     "ActsAsSpare associations will be updated with current "
368                     "status.  For example, the ActsAsSpare association that "
369                     "contained the FailoverTo Element will be deleted and a new "
370                     "RedundancyComponent association instantiated in its place.  "
371                     "The method should return 0 if successful, 1 if the request "
372                     "is not supported, and some other value if any other error "
373                     "occurred.  In a subclass, the set of possible return codes "
374                     "could be specified, using a ValueMap qualifier on the "
375                     "method.  The strings to which the ValueMap contents are "
376                     "'translated' may also be specified in the subclass as a "
377                     "Values array qualifier.") ]
378              uint32 Failover(
379 tony  1.1        [IN] CIM_ManagedSystemElement REF FailoverFrom,
380                  [IN] CIM_ManagedSystemElement REF FailoverTo);
381           };
382           
383           
384           // ===================================================================
385           // ActsAsSpare
386           // ===================================================================
387              [Association, Version ("2.6.0"), Description (
388                  "The ActsAsSpare association indicates which elements can spare "
389                  "or replace the other aggregated elements.  The fact that a "
390                  "spare can operate in \"hot standby\" mode is specified on an "
391                  "element by element basis.") ]
392           class CIM_ActsAsSpare {
393           
394                 [Key, Description (
395                     "The SpareGroup.") ]
396              CIM_SpareGroup REF Group;
397           
398                 [Key, Description (
399                     "A ManagedSystemElement acting as a spare and participating "
400 tony  1.1           "in the SpareGroup.") ]
401              CIM_ManagedSystemElement REF Spare;
402           
403                 [Description (
404                     "HotStandby is a boolean indicating that the spare is "
405                     "operating as a hot standby.") ]
406              boolean HotStandby;
407           };
408           
409           
410           // ===================================================================
411           // StorageRedundancyGroup
412           // ===================================================================
413              [Version ("2.7.0"), Description (
414                  "A class derived from RedundancyGroup containing mass "
415                  "storage-related redundancy information.  StorageRedundancy "
416                  "Groups are used to protect user data.  They act on one or more "
417                  "underlying StorageExtents, associated via "
418                  "ExtentRedundancyComponent and produce one or more protected "
419                  "StorageExtents that are associated to the underlying "
420                  "StorageExtents via ProtectedExtentBasedOn or "
421 tony  1.1        "CompositeExtentBasedOn.  StorageRedundancyGroups may overlap.  "
422                  "However, the underlying StorageExtents within the overlap "
423                  "should not contain any check data.") ]
424           class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {
425           
426                 [Description (
427                     "The TypeOfAlgorithm specifies the algorithm used for data "
428                     "redundancy and reconstruction.  For example, \"P+Q\" (value "
429                     "=5) or \"P+S\" (7) may be specified.  The value of 0, is "
430                     "defined as \"None\" to indicate that data redundancy is not "
431                     "active.  An inactive redundancy should only be instantiated "
432                     "if data striping or concatenation are active.  These are "
433                     "indicated by the IsStriped or IsConcatentated boolean "
434                     "properties of this RedundancyGroup."), 
435                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, 
436                  Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q", "S",
437                     "P+S"}, 
438                  MappingStrings {"MIF.DMTF|Redundancy Group|001.2"} ]
439              uint16 TypeOfAlgorithm;
440           
441                 [Description (
442 tony  1.1           "StorageRedundancy provides additional information on the "
443                     "state of the RedundancyGroup, beyond the RedundancyStatus "
444                     "property.  Information like \"Reconfig In Progress\" (value "
445                     "=1) or \"Redundancy Disabled\" can be specified using this "
446                     "property."), 
447                  ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, 
448                  Values {"No Additional Status", "Reconfig In Progress",
449                      "Data Lost", "Not Currently Configured",
450                      "Protected Rebuild", "Redundancy Disabled",
451                      "Unprotected Rebuild", "Recalculating", "Verifying"} ]
452              uint16 StorageRedundancy;
453           
454                 [Description (
455                     "True indicates that the data is striped across the various "
456                     "StorageExtents in the Group.") ]
457              boolean IsStriped;
458           
459                 [Description (
460                     "True indicates that the data is concatenated across the "
461                     "various StorageExtents in the Group.") ]
462              boolean IsConcatenated;
463 tony  1.1 };
464           
465           
466           // ===================================================================
467           // ExtraCapacityGroup
468           // ===================================================================
469              [Version ("2.6.0"), Description (
470                  "A class derived from RedundancyGroup indicating that the "
471                  "aggregated elements have more capacity or capability than is "
472                  "needed.  An example of this type of redundancy is the "
473                  "installation of N+1 power supplies or fans in a system.") ]
474           class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
475           
476                 [Description (
477                     "MinNumberNeeded indicates the smallest number of elements "
478                     "that must be operational in order to have redundancy.  For "
479                     "example, in an N+1 redundancy relationship, the "
480                     "MinNumberNeeded property should be set equal to N.") ]
481              uint32 MinNumberNeeded;
482           
483                 [Description (
484 tony  1.1           "Boolean indicating whether load balancing is supported by "
485                     "the ExtraCapacityGroup.") ]
486              boolean LoadBalancedGroup;
487           };
488           
489           
490           // ===================================================================
491           // ExtentRedundancyComponent
492           // ===================================================================
493              [Association, Aggregation, Version ("2.6.0"), Description (
494                  "Describes the StorageExtents participating in a Storage "
495                  "RedundancyGroup.") ]
496           class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
497           
498                 [Aggregate, Override ("GroupComponent"), Description (
499                     "The StorageRedundancyGroup.") ]
500              CIM_StorageRedundancyGroup REF GroupComponent;
501           
502                 [Override ("PartComponent"), Description (
503                     "The StorageExtent participating in the RedundancyGroup.") ]
504              CIM_StorageExtent REF PartComponent;
505 tony  1.1 };
506           
507           
508           // ===================================================================
509           // end of file
510           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2