Common Information Model (computing)

The Common Information Model (CIM) is an open standard that defines how managed elements in an IT environment  are represented as a common set of objects and relationships between them.

The Distributed Management Task Force maintains the CIM to allow consistent management of these managed elements, independent of their manufacturer or provider.

Overview
One way to describe CIM is to say that it allows multiple parties to exchange management information about these managed elements. However, this falls short of fully capturing CIM's ability not only to describe these managed elements and the management information, but also to actively control and manage them.  By using a common model of information, management software can be written once and work with many implementations of the common model without complex and costly conversion operations or loss of information.

The CIM standard is defined and published by the Distributed Management Task Force (DMTF). A related standard is Web-Based Enterprise Management (WBEM, also defined by DMTF) which defines a particular implementation of CIM, including protocols for discovering and accessing such CIM implementations.

Schema and specifications
The CIM standard includes the CIM Infrastructure Specification and the CIM Schema:

CIM Infrastructure Specification
The CIM Infrastructure Specification defines the architecture and concepts of CIM, including a language by which the CIM Schema (including any extension schema) is defined, and a method for mapping CIM to other information models, such as SNMP. The CIM architecture is based upon UML, so it is object-oriented: The managed elements are represented as CIM classes and any relationships between them are represented as CIM associations. Inheritance allows specialization of common base elements into more specific derived elements.

CIM Schema
The CIM Schema is a conceptual schema which defines the specific set of objects and relationships between them that represent a common base for the managed elements in an IT environment. The CIM Schema covers most of today's elements in an IT environment, for example computer systems, operating systems, networks, middleware, services and storage. Classes can be, for example: CIM_ComputerSystem, CIM_OperatingSystem, CIM_Process, CIM_DataFile. The CIM Schema defines a common basis for representing these managed elements. Since most managed elements have product and vendor specific behavior, the CIM Schema is extensible in order to allow the producers of these elements to represent their specific features seamlessly together with the common base functionality defined in the CIM Schema.
Updates to the CIM Schema are published regularly.

CIM is the basis for most of the other DMTF standards (e.g. WBEM or SMASH). It is also the basis for the SMI-S standard for storage management.

Implementations

Infrastructure Implementations
Many vendors provide implementations of CIM in various forms:

 Some operating systems provide a CIM implementation, for example:
 the Windows Management Instrumentation (WMI) API available in Microsoft Windows 2000 and higher
the Windows Management Infrastructure (MI) API for Microsoft Windows 2012 and higher
 some Linux distributions with the SBLIM (Standards Based Linux Instrumentation for Manageability) project
Some implementations are Independent of the systems they support, for example:
Open Group's Pegasus
WSI's J WBEM Server

There is also a growing number of tools market around CIM.

Management Standards based on the CIM Schema
Standards organizations have defined management standards based on the CIM Schema:

 The Storage Networking Industry Association (SNIA) has heavily bought into using CIM and WBEM: they have defined their usage of CIM (called Storage Management Initiative – Specification or SMI-S) as a standard.
 Some server manufacturers collaborate in the DMTF under the SMASH initiative to define CIM-based management of servers.
 The DASH initiative in the DMTF attempts to define CIM-based management of desktop computers.

Communication protocols used
A number of protocols are defined for messages transmitted between clients and servers. The message protocols are transmitted on top of HTTP. There are two message types:

 operational messages, which provoke a response from the receiver (RPC)
 export messages, which are indications/events.

CIM Operations over HTTP (CIM-XML)
CIM-XML forms part of the WBEM protocol family, and is standardised by the DMTF.

CIM-XML comprises three specifications:

 CIM Operations over HTTP
 Representation of CIM using XML
 CIM DTD

WS-Management
WS-MAN forms part of the WBEM protocol family, and is standardised by the DMTF.

WS-MAN comprises 3 specifications:

 WS-CIM Mapping Specification
 WS-Management CIM Binding Specification
 Web Services for Management (WS- Management) Specification

CIM operations over RESTful services
CIM-RS forms part of the WBEM protocol family, and is standardised by the DMTF.

CIM-RS comprises three specifications:

 CIM Operations Over RESTful Services
 CIM-RS Protocol Specification
 CIM-RS Payload Representation in JSON

See also
Storage Management Initiative – Specification

References

External links
, including CIM Schema and CIM Infrastructure Specification.
.
.
.
.
.

DMTF standards
Open standards
Computer standards