CIM Object Namespaces
To access a CIM object directly, you must know the namespace in which the object is stored. A managed server can have several CIM namespaces. This guide uses the Interop namespace and the Implementation namespace.
Most CIM objects are stored in the Implementation namespace. If you know the URL and the Implementation namespace in advance, you can enumerate objects directly by connecting to that namespace.
The Interop namespace contains a few CIM objects, particularly instances of CIM_RegisteredProfile. One of these instances exists for each CIM profile that is fully implemented on the managed server.
CIM_RegisteredProfile acts as a repository of information that can be used to identify and access objects in the Implementation namespace. For each registered CIM profile, the CIM server has an association that you can follow to move from the Interop namespace to the Implementation namespace.
Some profiles in the VMware implementation are only partially implemented. The implementation does not include all the mandatory properties and methods for those profiles. The Interop namespace does not contain instances of CIM_RegisteredProfile for profiles that are only partially implemented. To access unregistered profiles, you must know the Implementation namespace.
Crossing Between Namespaces
The ElementConformsToProfile association crosses the boundary between the Interop namespace and the Implementation namespace. The association is instantiated in both namespaces, so you can enumerate it in either namespace.
The endpoint references in any instance of the ElementConformsToProfile association include the namespace for the endpoint. If you access the referenced endpoint, such as with a GetInstance() method, the request is directed to the provider in the correct namespace.
For example, if you enumerate the class OMC_ElementConformsToRecordLogProfile in the Interop namespace, you get an object that associates an instance of OMC_RegisteredRecordLogProfile in the Interop namespace with an instance of OMC_IpmiRecordLog in the Implementation namespace. The endpoint references look similar to these:
ConformantStandard =   root/interop:OMC_RegisteredRecordLogProfile.InstanceID=”IPMI:vmware-host SEL Log”
ManagedElement =
  root/cimv2:OMC_IpmiRecordLog.InstanceID=”IPMI:vmware-host SEL Log (Node 0)”
If you enumerate the class OMC_ElementConformsToRecordLogProfile in the Implementation namespace, you get an object in the Implementation namespace that is otherwise identical to the object in the Interop namespace.
Regardless of which namespace provides the ElementConformsToProfile instance, the endpoint references work the same. If you do a GetInstance() for the ConformantStandard endpoint, the CIM server returns an instance of OMC_RegisteredRecordLogProfile in the Interop namespace. If you do a GetInstance() for the ManagedElement endpoint, the CIM server returns an instance of OMC_IpmiRecordLog in the Implementation namespace.
To simplify the diagrams in this document, the ElementConformsToProfile association is pictured as a single object on the boundary between namespaces, rather than as two objects, one in each namespace. See Base Server Scoping Instance Associated with Profile Registration for an example diagram.
Determining the Namespaces in Your Installation
You can hard-code namespaces in the client, or specify them at run time, or you can obtain the namespaces from a Service Location Protocol (SLP) Service Agent. ESXi Namespaces lists the namespaces used by ESXi.
You can obtain both the Interop namespace and the Implementation namespace for your managed server from SLP. You can identify the Interop namespace more conveniently than the Implementation namespace in the SLP output.
The approach preferred in this document is to use SLP to obtain the Interop namespace and the URL to enumerate CIM_RegisteredProfile, and then move to the Scoping Instance of the Base Server profile in the Implementation namespace. The Scoping Instance represents the managed server and is associated with many other objects in the Implementation namespace. The Scoping Instance provides a reliable point from which to navigate to CIM objects that represent any part of the managed server.