Abstract:
A data structure comprising a first set of data fields wherein each data field contains data representing a managed object of an object-oriented model; a second set of data fields wherein each data field contains data representing an instance of a collection class: a third set of data fields wherein each data field contains data representing an instance of a first association class; a fourth set of data fields wherein each data field contains data representing an instance of a data source class, and a fifth set of data fields wherein each data field contains data representing an instance of a second association class. At least one data field of the first set is associated with a data field of the second set by a data field of the third set and the data field of the second set is also associated with a data field of the fourth set by a data field of the fifth set. An information handling system readable medium having stored thereon said data structure. Methods for modifying data of the data structure.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    The present disclosure relates to information handling systems and more particularly to object-oriented management information models. 
         [0003]    2. Background Information 
         [0004]    As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. 
       SUMMARY 
       [0005]    The following presents a general summary of some of the many possible embodiments of this disclosure in order to provide a basic understanding of this disclosure. This summary is not an extensive overview of all embodiments of the disclosure. This summary is not intended to identify key or critical elements of the disclosure or to delineate or otherwise limit the scope of the claims. The following summary merely presents some concepts of the disclosure in a general form as a prelude to the more detailed description that follows. 
         [0006]    According to one non-limiting embodiment there is provided a method for modifying information, wherein the information describes at least one managed object of an object-oriented model. Generally the method is computer-implemented and comprises the steps of retrieving the information from a cache and modifying the information. The information is organized by at least one instance of the new collection class of the present disclosure which is associated with at least one managed object/element of the model by an instance of the new association class of the present disclosure. Each instance of the collection class is also associated with at least one instance of the new data source class of the present disclosure. Generally each instance of the data source class is associated with an instance of the collection class by an instance of a second association class. 
         [0007]    According to another non-limiting embodiment there is provided an information handling system readable medium having stored thereon a data structure comprising: a first set of data fields wherein each data field contains data representing a managed object of an object-oriented model; a second set of data fields wherein each data field contains data representing an instance of a collection class; a third set of data fields wherein each data field contains data representing an instance of a first association class a fourth set of data fields wherein each data field contains data representing an instance of a data source class; and a fifth set of data fields wherein each data field contains data representing an instance of a second association class. At least one data field of the first set is associated with a data field of the second set by a data field of the third set. Said data field of the second set is also associated with a data field of the fourth set by a data field of the fifth set. 
         [0008]    According to another embodiment there is provided an information handling system readable medium having stored thereon instructions that when executed on an information handling system, instruct the information handling system to retrieve information from a cache, and modify said information. Generally the information describes at least one managed object/element of an object-oriented model and is organized by at least one instance of the new collection class of the present disclosure wherein each instance of the collection class is associated with at least one managed object by an instance of the new association class of the present disclosure. Each instance of the collection class is also associated with an instance of the new data source class of the present disclosure by an instance of a second association class. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The following drawings illustrate some of the many possible embodiments of this disclosure in order to provide a basic understanding of this disclosure. These drawings do not provide an extensive overview of all embodiments of this disclosure. These drawings are not intended to identify key or critical elements of the disclosure or to delineate or otherwise limit the scope of the claims. The following drawings merely present some concepts of the disclosure in a general form. Thus, for a detailed understanding of this disclosure, reference should be made to the following detailed description, taken in conjunction with the accompanying drawings, in which like elements have been given like numerals. 
           [0010]      FIG. 1  is a non-limiting graph depicting illustrative instances and relationships of Common Information Model classes. 
           [0011]      FIG. 2  is a non-limiting flowchart depicting an example method for generating data source information, 
           [0012]      FIG. 3  is a non-limiting flowchart depicting an example method for modifying data sources. 
           [0013]      FIG. 4  provides non-limiting Managed Object Format (MOF) text representing illustrative CIM classes New_UberDataSourceCollection, New_UberDataSource, and New_AssociatedUberDataSources. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    For purposes of this disclosure, an embodiment of an Information Handling System (IHS) may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence or data for business, scientific, control, or other purposes. For example, an IHS may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The IHS may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic: ROM, and/or other types of nonvolatile memory. Additional components of the IHS may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The IHS may also include one or more buses operable to transmit data communications between the various hardware components. 
         [0015]    As the capabilities, diversity: and size of computer systems and networks continue to increase, the complexity of system management also increases. Developing and unifying management standards for desktop: enterprise and Internet environments is a main goal of the Distributed Management Task Force, Inc. (DMTF). DMTF standards are platform-independent and technology neutral, and facilitate cost effective system management. The DMTF&#39;s Common Information Model (CIM) standard is an object-oriented management information model that unifies and extends existing management standards, such as for example, Simple Network Management Protocol (SNMP), Desktop Management Interface (DMI), and Common Management Information Protocol (CMIP). The CIM specification defines the syntax and rules of the model and how CIM can be integrated with other management models, while the CIM schema comprises the descriptions of the models. The CIM schema currently defines thousands of classes with properties, methods and associations that represent components of a system such as, but not limited to fans power supplies, processors. The classes are organized by namespaces which function as logical databases. DMTF Profiles are specifications that define the CIM model and associated behavior for a management domain. The profiles define requirements regarding the classes and associations used to represent the management information in a given management domain. Generally, within a CIM Object Manager (CIMOM), profiles are implemented by different providers in one or more namespaces. 
         [0016]    In a multi-provider implementation situation, an Uber provider, also referred to as the consolidation provider, consolidates CIM instance data from multiple namespaces into an Uber namespace. While consolidating the data, the Uber provider makes its own choices on which CIM data to expose and which CIM data to leave out from the Uber namespace. These choices are typically inherent in the logic of the Uber provider, or are encoded in the external extensible Markup Language (XML) file and thus, the choices are generally made independently from the client. 
         [0017]    The methods, apparatus and products of the present disclosure provide flexibility to clients consuming interrelated CIM data from multiple namespaces, and allow the client to customize the source of CIM data in an Uber provider. In non-limiting embodiments, the methods, apparatus and products of the present disclosure provide clients with the ability to identify the source of CIM data in an Uber namespace. In other non-limiting embodiments, the methods, apparatus and products of the present disclosure provide clients with the ability to configure and manipulate the source of CIM data in the Uber namespace. Even other non-limiting embodiments of the methods, apparatus and products of the present disclosure provide extensions to the CIM schema with a new association class, a new collection class, and a new data source class respectively referred to herein as New_AssociatedUberDataSources, New_UberDataSourceCollection, and New_UberDataSource. It should be understood that the names given for these three new CIM classes are merely arbitrary, and that any suitable CIM name may be utilized as a non-limiting name herein. In the practice of the present disclosure, it is not the names of these three new CIM classes which are important, but rather the classes themselves as they are described herein. 
         [0018]    Referring now to  FIG. 1 , there is provided graph  10  which depicts non-limiting instances and relationships of the following CIM classes. ClassA, ClassB, New_AssociatedUberDataSources, New_UberDataSourceCollection, CIM_OrderedMemberOfCollection, and New_UberDataSource. The classes New_AssociatedUberDataSources, New_UberDataSourceCollection, and New_UberDataSource are the new CIM classes provided by the present disclosure. CIM_OrderedMemberOfCollection is an existing class, ClassA and ClassB are simply illustrative examples of CIM classes and may be any CIM class, for example any subclass of CIM_ManagedElement. 
         [0019]    More specifically in  FIG. 1 , new CIM class New_AssociatedUberDataSources  30  is an association class. In the non-limiting example depicted in  FIG. 1  two instances of the class ClassA are depicted, Instance 1 :ClassA (Box  20 ) and Instance 2 ;ClassA (Box  21 ). New_AssociatedUberDataSources  30  associates each of these instances of ClassA with an instance of New_UberDataSourceCollection, collection 1 :New_UberDataSourceCollection (Box  40 ). Instance  1  and Instance  2  of ClassA may be any managed element/object of an object-oriented model, for example but not limited to a fan, a power supply, a sensor, etc. As used herein, ClassA and ClassB are simply illustrative examples of CIM classes, and ClassA and ClassB may be any subclass of CIM_ManagedElement such as but not limited to CIM_Fan, CIM_PowerSupply, CIM_Sensor, etc. Generally, the class New_AssociatedUberDataSources may associate any one or more instances of any one or more subclasses of CIM_ManagedElement with any one or more instances of New_UberDataSourceCollection, Thus, in additional non-limiting embodiments Of the disclosure, an instance of New_AssociatedUberDataSources may associate any one or more subclass of CIM_ManagedElement, new or existing, for example but not limited to CIM_Fan, CIM_PowerSupply, CIM_Sensor to any one or more instances of New_UberDataSourceCollection, such as, for example but not limited to, collection  1 , collection  2 , collection  3 . 
         [0020]    Still referring to graph  10  of  FIG. 1 , existing CIM class CIM_OrderedMemberOfCollection is also an association class. In the non-limiting example depicted in  FIG. 1 , two instances of CIM_OrderedMemberOfCollection are shown, OrderedMemberOfCollection Assigned Sequence:  1  (indicated by numeral  50 ), and OrderedMemberOfCollection Assigned Sequence:  2  (indicated by numeral  51 ). Generally, an instance of association class CIM_OrderedMemberOfCollection may aggregate one or more instances of the class New_UberDataSource with an instance of New_UberDataSourceCollection. It is to be understood that although  FIG. 1  depicts the association class CIM_OrderedMemberOfCollection, any applicable association class known in the art may be used to aggregate one or more instances of the class New_UberDataSource with an instance of New_UberDataSourceCollection. In the example shown in  FIG. 1 , OrderedMemberOfCollection Assigned Sequence;  1  (indicated by numeral  50 ) associates one instance of New_UberDataSource (Box  60 ) with collection 1 :New_UberDataSourceCollection (Box  40 ), and OrderedMemberOfCollection Assigned Sequence:  2  (indicated by numeral  51 ) associates a second instance of New_UberDataSource (Box  61 ) with collection 1 :New_UberDataSourceCollection (Box  40 ). In the non-limiting example of  FIG. 1 , the Instance of New_UberDataSourceCollection is depicted comprising the property DataSourceClassNames having non-limiting values ClassA, and ClassB, and the property Criteria having non-limiting values Priority and Key. The Criteria property may also comprise the value All. 
         [0021]    Generally, a non-limiting method of the disclosure for generating data source information for CIM_A comprises finding all the profiles corresponding to CIM_A that are implemented by an Uber provider. As used herein, CIM_A is simply an illustrative example of a CIM class and it should be understood that CIM_A may be any CIM class. Generally, the method may be executed when a request is made to generate data source information. In one non-limiting embodiment, the method may be executed each time a new provider is installed in the CIM environment and classes are registered in the interop namespace. The interop namespace being the namespace that implements profile registering for interoperability. In another non-limiting embodiment, the method may be automatically executed by an Uber provider each time a new provider is installed in a CIM environment and classes are registered in the interop namespace. The method may further comprise forming a list of all the classes that are implemented by all the registered profile instances. For any non-abstract CIM_A class in the list, the method may further comprise checking a designated cache for a representation of an instance of a data source collection class, which covers CIM_A. The cache may be a file written in any language known in the art to be useful for encoding structured information and/or representing data. In one embodiment of the disclosure, the cache is a file written in Extensible Mark-up Language (XML). In another embodiment of the disclosure, the cache is an XML file named CIM Class Data Source Configuration (CCDSC) file. If a representation of an instance of a data source collection class corresponding to CIM_A exists in the cache, the instance path is saved for use in a subsequent step. If there is no representation of an instance of a data source collection class corresponding to CIM_A, one is created using data relevant to CIM_A. In one non-limiting embodiment, the data source collection class is New_UberDataSourceCollection. The method may further comprise enumerating all instances of CIM_RegisteredProfile that correspond to CIM_A from the interop namespace. Each instance of CIM_RegisteredProfile that corresponds to CIM_A is then iteratively selected and the following steps performed, i) find the referencing CIM_ElementConformsToProfile association instance; ii) parse the namespace information from the CIM_ElementConformsToProfile.ManagedElement property, iii) save the value of the namespace and save the trusted data source value. Using the namespace value and the trusted data source value, an instance of New_UberDataSource is created. Generally an instance of CIM_OrderedMemberOfCollection may be used to associate the newly created instance of New_UberDataSource with the newly created instance of New_UberDataSourceCollection. An instance of the New_AssociatedDataSources class may be used to associate each instance of CIM_A instantiated by the Uber provider to the newly created instance of New_UberDataSourceCollection. 
         [0022]    Referring now to  FIG. 2 , non-limiting flowchart  70  depicts an example method for generating data source information. The method starts in step  71  when the Uber provider receives a client request to generate data source information for CIM_A. In step  72 , the Uber provider checks a designated cache for a representation of an instance of New_UberDataSourceCollection associated with CIM_A. As described previously, the cache may be a file written in any language known in the art to be useful for encoding structured information and/or representing data. In one non-limiting embodiment of the disclosure, the cache is a file written in Extensible Markup Language (XML). In another non-limiting embodiment of the disclosure, the cache is an XML file named CIM Class Data Source Configuration (CCDSC) file. If an instance is found, the instance path may be saved in step  73  and may be used in future step  79 . If no instance of New_UberDataSourceCollection associated with CIM_A exists in the cache, then one may be created in step  74 . The instance of New_UberDataSourceCollection for CIM_A is created with a DataSourceClassName property value of “CIM_A” and a Criteria property value of “Priority” in step  74 . 
         [0023]    In step  75  of  FIG. 2 , all instances of CIM_RegisteredProfile relating to CIM_A are enumerated from the interop namespace. From this list each instance is iteratively selected in step  76 , and subject to steps  77   78 , and  79 . Thus, in step  76 , the first instance of CIM_RegisteredProfile relating to CIM_A is selected from the list and, in step  77 , the referencing CIM_ElementConformsToProfile association instance may be found. Also in step  77 , the namespace information may be parsed from the CIM_ElementConformsToProfile association instance&#39;s ManagedElement property, which is the reference to the instance of CIM_ComputerSystem in the data source namespace. Generally, the value of the namespace is saved and the TrustedDataSource property value of either “TRUE” or “FALSE” is saved. In step  78  the saved namespace and TrustedDataSource property values may be used to create an instance of New_UberDataSource. In step  79 , an instance of the association class CIM_OrderedMemberOfCollection may be created and may associate the instance of New_UberDataSource created in step  78  to the instance of New_UberDataSourceCollection which was either created in step  74 , or whose object path was saved in step  73 . 
         [0024]    In step  80  of the example method depicted by  FIG. 2 , it is determined whether or not the end of the list of CIM_RegisteredProfile instances (the list created in step  75 ) has been reached. If it is determined in step  80  that the end of the list has not been reached, then the next instance of the list may be accessed as described in step  76 , and steps  77 ,  78  and  79  executed. If it is determined in step  80  that the end of the list has been reached, then in step  81 , each instance of CIM_A instantiated by the Uber provider may be associated to the class New_UberDataSourceCollection using an instance of the class New_AssociatedUberDataSources and the method ends in step  82 . 
         [0025]    Referring now to both  FIGS. 1 and 2 , instantiation of the classes shown in the non-limiting example of in  FIG. 1  can be described by the non-limiting example method depicted in  FIG. 2 . For example, the instances of ClassA represented in  FIG. 1  by Box  20  and Box  21  are each a non-limiting example of CIM_A referenced throughout  FIG. 2 . The instance of AssociatedUberDataSources represented in  FIG. 1  by numeral  30  is a non-limiting example of an instance of New_AssociatedUberDataSources created in step  79  ( FIG. 2 ). The instance of New_UberDataSourceCollection represented by Box  40  (FIG,  1 ) is a non-limiting example of an instance of New_UberDataSourceCollection either created in step  74  or whose object path was saved in step  73  ( FIG. 2 ). For the instance of New_UberDataSourceCollection depicted by Box  40  ( FIG. 1 ), the values for the properties DataSourceClassName and Criteria are either obtained in step  74  or step  73 . Also in Box  40  ( FIG. 1 ), the values “ClassA” and “ClassB” declared for the property DataSourceClassNames are non-limiting examples, as are the values declared for the property “Criteria”. The instance of New_UberDataSource represented in  FIG. 1  by Box  60  and the instance represented by Box  61 , are each a non-limiting example of an instance of New_UberDataSource created in step  78  ( FIG. 2 ). The non-limiting properties and values for the instances of New_UberDataSource are deduced in step  77 . The instances of CIM_OrderedMemberOfCollection “AssignedSequence:1” and “AssignedSequence:2” depicted by numerals  50  and  51  in  FIG. 1 , each represent a non-limiting example of an instance of CIM_OrderedMemberOfCollection created in step  79  (FIG,  2 ). 
         [0026]    As further non-limiting embodiments, the present disclosure also provides methods, apparatus and products enabling configuration and modification of CIM data in the Uber namespace. The methods, apparatus and products provide an interface from which modifications to the CIM data can be made. The modifications are generally client-side modifications. Non-limiting examples of modifications that can be made to the CIM data include, but are not limited to, changing the criterion of the namespace selection, changing the priority order of the namespace, and changing the trust level of the data source. 
         [0027]    Generally, a non-limiting method of the present disclosure for modifying CIM data source information may be executed when an Uber provider receives a client request to select a CIM_A instance of interest to the client. The Uber provider may select the CIM_A instance by retrieving an instance of a data source collection class associated with the CIM_A instance. Generally, these instances may be stored in a cache. The cache may be a file written in any language known in the art to be useful for encoding structured information and/or representing data. In one non-limiting embodiment of the disclosure, the cache is a file written in Extensible Mark-up Language (XML). In another non-limiting embodiment of the disclosure, the cache is an XML file named CIM Class Data Source Configuration (CCDSC) file. Once the provider has retrieved the instance of the data source collection class associated with the instance of CIM_A of interest, the client is provided an interface from which modifications to the CIM data source information are made. The number of modification choices the interface provides to the client may be any number of categories of data source modification. The client may make any one or more modifications to any one or more property values corresponding to CIM_A data source information. The Uber provider updates the cache for all changes that are made to the data source information. 
         [0028]    Referring now to  FIG. 3 , non-limiting flowchart  90  depicts an example method for modifying CIM data source information. In step  91 , the method starts when the client sends a request to an Uber provider to select an instance of New_UberDataSourceCollection that is associated to a CIM_A instance of interest to the client. In step  92 , the Uber provider may select the instance of New_UberDataSourceCollection that is associated to the instance of CIM_A by the association class New_AssociatedUberDataSources by retrieving it from a cache. As described previously, the cache may be a file written in any language useful for encoding structured information and/or representing data. In one non-limiting embodiment of the disclosure, the cache is a file written in Extensible Mark-up Language (XML). In the present example the cache is an XML file named CIM Class Data Source Configuration (CCDSC) file. In step  93 , the client may choose the type of modification he wishes to make by selecting a category of data modification from a number of choices. In the non-limiting example depicted in FIG,  3 , the number of categories illustrated is three, 1) data source selection criterion, 2) namespace priority, and 3) data source trust level. 
         [0029]    In the example show in  FIG. 3 , at step  93  if the client wishes to change the data source information, then in step  94  the Criteria property value for the New_UberDataSourceCollection instance (selected in step  92 ) may be changed according to the client&#39;s preference by use of the ModifyInstance intrinsic operation. The Criteria property value may be any applicable value known in the art, such as, for example but not limited to, Priority, Key, All. The Uber provider updates the cache, in this case the CCDSC file, of any changes that are made. If the client has no additional modifications to make, the method ends in step  99 . 
         [0030]    At step  93  in the example shown in  FIG. 3 , if the client wishes to change the priority order of the namespaces, then in step  95  all the instances of New_UberDataSource that are associated through instances of the association class CIM_OrderedMemberOfCollection to the New_UberDataSourceCollection instance selected in step  92  may be selected. Generally, the priority order of a namespace is determined by the property value of the “AssignedSequence” property of the instance of CIM_OrderedMemberOfCollection associated with that namespace. In step  96 , using the ModifyInstance intrinsic operation, the AssignedSequence property value of the selected CIM_OrderedMemberOfCollection instance may be modified according to the client&#39;s preference. The AssignedSequence property value may be any member of the set of non-negative integers {0, 1, 2, 3, . . . , n} wherein n is equal to the total number of instances of New_UberDataSource aggregated to the instance of New_UberDataSourceCollection corresponding to CIM_A. An AssignedSequence property value of 0 is interpreted by the provider as disabling the data source. With the exception of the value 0, generally the value declared for an AssignedSequence property is unique to that particular instance of CIM_OrderedMemberOfCollection such that no two instances have the same AssignedSequence property value. 
         [0031]    Still referring to  FIG. 3 ; it the client wishes to change the trust level of a data source, the TrustedDataSource property value for the New_UberDataSource instance corresponding to CIM_A may be modified Thus, in step  97 , the instance of New_UberDataSource associated by the association class CIM_OrderedMemberOfCollection to the instance of New_UberDataSourceCollection (selected in step  92 ) may be selected. In step  98 , using the ModifyInstance intrinsic operation, the TrustedDataSource property for the New_UberDataSource instance may be set as either “TRUE” or “FALSE” according to the client&#39;s preference. “TRUE” indicates the source is trusted, “FALSE” indicates the source is not trusted, 
         [0032]    After making a modification to the data source information, such as a modification made in non-limiting example step  94 , step  96 , or step  98 , if the client is satisfied with the changes made and desires no further modifications, the method ends in step  99 . 
         [0033]    After making a modification to the data source information, such as a modification made in non-limiting example step  94 , step  96 , or step  98 , the client may choose to make an additional modification to data source information corresponding to the same instance of New_UberDataSourceCollection. In step  99 , it may be determined whether the client&#39;s modifications are complete. If yes, the modifications are complete, then the method ends in step  100 . If the answer to step  99  is no, the modifications are not complete, then the method returns to step  93  and the client may select a modification category. The client may make any one or more modifications, and there is no limit on the number of data modifications that can be made, nor on the number of times a particular value can be modified. For each modification made to the data source information, the Uber provider updates the cache, depicted in  FIG. 3  as the CCDSC file, to reflect the changes. 
         [0034]    The relationships, classes, class instances, properties, values and files provided in  FIGS. 1 ,  2  and  3  are illustrative and are not intended to limit the scope of the specification and claims of the present disclosure. 
         [0035]    Referring now to  FIG. 4 , three new CIM classes of the present disclosure are defined using Managed Object Format (MOF). MOF is known in the art and the information provided in  FIG. 4  should be well understood by one of skill in the art. The new classes listed in  FIG. 4  are New_UberDataSourceCollection, New_UberDataSource, and New_AssociatedUberDataSources. As stated previously, it should be understood that the names given for these three new CIM classes are merely arbitrary, and that any suitable CIM name may be utilized as a non-limiting name herein. In the practice of the present disclosure, it is not the names of these three new CIM classes that are important, but rather the classes themselves as they are described herein. 
         [0036]    As clear to one of skill in the art, in FIG,  4  the class New_UberDataSourceCollection is defined as a subclass of the class CIM_ConcreteCollection, and comprises the properties DataSourceClassName and Criteria. The property DataSourceClassName identifies the CIM class name of the instances, which are populated by the data sources that are aggregated in an instance of New_UberDataSourceCollection. In  FIG. 1  the DataSourceClassNames are listed simply as ClassA, ClassB, but it should be understood that these may be any of the subclasses of CIM_ManagedElement for example but not limited to CIM_Fans CIM_PowerSupply. CIM_Sensor, etc. The property Criteria defines the criteria used for consolidating the instances of CIM classes described in the DataSourceClassName property. The values for the Criteria property may be any one or more of All, Priority and Key. 
         [0037]    The second class listed in  FIG. 4  is New_UberDataSource and comprises the properties Namespace, ProviderVendor, and TrustedDataSource. The property Namespace identifies the namespace which serves as a data source for the associated Uber instance and is generally represented by “root/directory/vendor”. The property ProviderVendor identifies the vendor of the provider for the namespace identified in the Namespace property. In  FIG. 1  the ProviderVendor is listed simply as “Vendor 1” or “Vendor 2”, but it should be understood that the vendor may be any vendor in the art. Non-limiting examples of vendors include but are not limited to Dell, Microsoft, Hewlett Packard IBM, Intel, etc. The property TrustedDataSource defines whether the namespace identified in the Namespace property is a trusted data source for the associated instance. If TrustedDataSource is set to “TRUE”, the namespace identified in the Namespace property is a trusted data source for the associated instance. If the property value is set to “FALSE”, the namespace identified in the Namespace property is not a trusted data source for the associated instance. 
         [0038]    As clear to one of skill in the art, the third class listed in  FIG. 4 , New_AssociatedUberDataSources, is an association class. As indicated in  FIG. 4 . New_AssociatedUberDataSources associates the CIM_ManagedElement class with the New_UberDataSourceCollection class. 
         [0039]    In non-limiting embodiments, part or all of the data structures described herein may be stored on one or more information handling system readable media or transmitted in a propagated signal. In non-limiting embodiments, part or all of the methods described herein may be described as instructions for an information handling system, and stored on one or more information handling system readable media or transmitted by a propagated signal. 
         [0040]    The present disclosure is to be taken as illustrative rather than as limiting the scope or nature of the claims below. Numerous modifications and variations will become apparent to those skilled in the art after studying the disclosure, including use of equivalent functional and/or structural substitutes for elements described herein, use of equivalent functional couplings for couplings described herein, and/or use of equivalent functional actions for actions described herein. Any insubstantial variations are to be considered within the scope of the claims below.