Storage.com

Common Information Model (CIM)

By Gary Olsen

What is the Common Information Model (CIM)?

The Common Information Model (CIM) is a computer industry standard that defines device and application characteristics so system administrators and management programs can control devices and applications from different manufacturers. CIM was developed and is managed by the DMTF, a hardware and software manufacturer consortium formerly known as the Distributed Management Task Force.

CIM standards also cover IT infrastructure such as clouds, virtualization, networks, servers and storage. It is an open standard that grows as DMTF partners add new technology.

How does the Common Information Model work?

CIM is divided into a CIM Specification, CIM Schema and a CIM Metamodel. The CIM Specification defines the way that management models from different manufacturers, for example, can communicate with each other.

The CIM Schema contains classes such as computer and networking systems, middleware, databases, operating systems (OSes), services and storage. Each class contains properties that describe it with attributes such as network name, serial number, error codes and more. While DMTF defines the standard schema, major manufacturers like IBM, HP, Dell and others provide Extension Schemas that include their products. In addition, other organizations can extend the schema to build custom applications.

The CIM Metamodel defines the construction of new models and the schema that represents those models.

CIM Schema and specifications

Some common CIM Schema classes include the following:

The CIM classes for Windows are exposed using a PowerShell cmdlet.

     >get-cimclass

Figure 1 shows a partial output of the command.

Microsoft defines a CIM class as an "object oriented abstraction of the entity being managed through a [CIM Object Manager] CIMOM infrastructure like [Windows Management Instrumentation] WMI." In simple terms, objects such as a disk drive are identified by a class name, such as "device," and attributes in the CIM Schema. This information can be accessed by common programming languages and queried for information. This figure from DMTF shows the CIM Schema for "device" graphically. A disk drive manufacturer, for example, can provide this information in the schema, and developers can build applications to access information such as capacity, specifications, monitoring and error reporting.

Schema Class definitions are contained in Managed Object Format files. These are available on the DMTF site in zip archives for each schema version, currently version 2.46.0.

What is WBEM?

Web-Based Enterprise Management (WBEM) is a set of specifications that defines how objects may be discovered, accessed and manipulated across disparate systems. WBEM can take a request, such as from a GUI, and construct and then send the request to the WBEM server. The WBEM server then interprets the request using the CIM Schema definitions, passes it to the provider of the hardware being queried, and returns the status of the device or whatever the query asked for to the operator.

In the book A Practical Approach to WBEM/CIM Management by Chris Hobbs, a diagram of WBEM architecture shows the WBEM server, client and providers. There are several items of note in this model.

Windows, Linux OSes, IBM and even VMware provide a CIMOM with their own management interface to achieve a well-defined, managed environment. They also extend the CIM Schema for their purposes. Microsoft provides its CIMOM interface via WMI, which uses CIM Schema definitions for devices and software and then stores it in the WMI repository. WMI is an extension to the Windows Driver Model and is an interface that enables scripted access to hardware and software using common scripting languages. These languages include VBScript, PowerShell and a special command-line interface called WMI Command line (WMIC). As an original member of the DMTF, Microsoft has contributed many WMI providers in the Windows OS, including Windows 10 adding providers for its mobile device management service.

WMIC can be used to query for information on a Windows client or server. Just open a command prompt and enter the following command:

     >WMIC

At the WMIC prompt, enter /? for a list of switches to the command.

You can get the computer name and Windows version for that computer by using the following WMIC commands:

     >WMIC get name

     >WMIC os get version

For more information on WMIC, you can refer to Microsoft's WMIC document.

What are the advantages and disadvantages of using CIM?

There are two main advantages of using CIM and the WBEM infrastructure.

The only real disadvantage of CIM is for users who develop applications based on the CIM model and schema. For instance, a project called SmartGrid found that the multiple versions of CIM available or under development make it challenging to integrate them from a software design perspective. And while getting schema extensions into the CIM model has great value down the road, it takes time and sometimes involvement on an international level. That said, CIM is the standard, so challenges like these will have to be met and solved.

Examples of the Common Information Model

CIM-based devices and applications leverage CIM's repository, and via WBEM can query devices and software for attributes. They can also be used to build applications to exchange or gather information from disparate systems.

Some examples include the following:

The above examples demonstrate how integrated CIM is with native OS and third-party applications. Every manufacturer of computer devices has management interfaces that use CIM and the related WBEM infrastructure.

Thus, CIM and WEBM provide an instrumentation base that is widespread throughout the IT industry to permit hardware and software to query and report information required by users and applications alike. The CIM Schema is extensible and thus adaptable to new devices and technologies.

29 Apr 2022

All Rights Reserved, Copyright 2000 - 2024, TechTarget | Read our Privacy Statement