Common Information Model (computing)
Encyclopedia
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. This is intended to allow consistent management
of these managed elements, independent of their manufacturer or provider.
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.
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.
There is also a growing tools market around CIM.
CIM-XML is a protocol for performing sending CIM messages on top of HTTP. It has two message types: Operational messages, which provoke a response from the receiver (RPC
), and Export Messages, which are informational. It is a part of the WBEM protocol family, and is standardised by the DMTF.
XML-CIM (sometimes xmlCIM) is a method for serialising CIM payloads as XML
. It is used when transporting CIM messages through intermediate systems such as CIM-XML, where CIM messages are sent over HTTP. It is defined in the DMTF standard document DSP0203.
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....
that defines how managed elements in an IT environment
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
are represented as a common set of objects
Object (computer science)
In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...
and relationships between them. This is intended to allow consistent management
Systems management
Systems management refers to enterprise-wide administration of distributed systems including computer systems. Systems management is strongly influenced by network management initiatives in telecommunications....
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 in expressing that CIM not only represents these managed elements and the management information, but also provides means to actively control and manage these elements. 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
Distributed Management Task Force
Distributed Management Task Force is an industry organization that develops, maintains and promotes standards for systems management in enterprise IT environments. These standards allow for building systems management infrastructure components in a platform-independent and technology-neutral way...
(DMTF). A related standard is Web-Based Enterprise Management
Web-Based Enterprise Management
Web-Based Enterprise Management is a set of systems management technologies developed to unify the management of distributed computing environments. WBEM is based on Internet standards and Distributed Management Task Force open standards: Common Information Model infrastructure and schema,...
(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 SNMPSimple Network Management ProtocolSimple Network Management Protocol is an "Internet-standard protocol for managing devices on IP networks. Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks, and more." It is used mostly in network management systems to monitor...
. The CIM architecture is based upon UMLUnified Modeling LanguageUnified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
, so it is object-oriented: The managed elements are represented as CIM classClass (computer science)In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...
es and any relationships between them are represented as CIM associationAssociation (object-oriented programming)In object-oriented programming, association defines a relationship between classes of objects that allows one object instance to cause another to perform an action on its behalf...
s. InheritanceInheritance (computer science)In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
allows specialization of common base elements into more specific derived elements.
- CIM Schema
- The CIM Schema is a conceptual schemaConceptual schemaA conceptual schema or conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature...
which defines the specific set of objects and relationships between them that represent a common base for the managed elements in an IT environmentInformation technologyInformation technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
. The CIM Schema covers most of today's elements in an IT environment, for example computer systems, operating systemOperating systemAn operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s, networkComputer networkA computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....
s, middlewareMiddlewareMiddleware is computer software that connects software components or people and their applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact...
, serviceDaemon (computer software)In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...
s and storageComputer storageComputer data storage, often called storage or memory, refers to computer components and recording media that retain digital data. Data storage is one of the core functions and fundamental components of computers....
. 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.
CIM is the basis for most of the other DMTF standards (e.g. WBEM
Web-Based Enterprise Management
Web-Based Enterprise Management is a set of systems management technologies developed to unify the management of distributed computing environments. WBEM is based on Internet standards and Distributed Management Task Force open standards: Common Information Model infrastructure and schema,...
or SMASH
Systems Management Architecture for Server Hardware
The Systems Management Architecture for Server Hardware is a suite of specifications that deliver industry standard protocols to increase productivity of the management of a data center....
). It is also the basis for the SMI-S standard for storage management.
Versions
- The latest version (2.29.0) of the CIM Schema was published on May 3, 2011.
- Version 2.28.0 of the CIM Schema was published on February 2, 2011.
- Version 2.27.0 of the CIM Schema was published on November 15, 2010.
- Version 2.26.0 of the CIM Schema was published on July 21, 2010.
- Version 2.25.0 of the CIM Schema was published on March 31, 2010.
- Version 2.6 of the CIM Infrastructure Specification was published on March 31, 2010.
- Version 1.1 of the CIM Compliance Specification was published on December 15, 2003.
- Version 2.2 of the CIM Specification was published on June 14, 1999.
Implementations
Many vendors provide implementations of CIM in various forms:- Some operating systems provide a CIM implementation. For example, the Windows Management InstrumentationWindows Management InstrumentationWindows Management Instrumentation is a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification...
(WMI) APIApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
available in MicrosoftMicrosoftMicrosoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
Windows 2000Windows 2000Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
and higher implements CIM, and some GNU/Linux distributionsLinux distributionA Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
with the SBLIM project. - The Storage Networking Industry AssociationStorage Networking Industry AssociationAn association of producers and consumers of storage networking products, whose goal is to further storage networking technology and applications.The Storage Networking Industry Association, or SNIA, was incorporated in December, 1997, and is a registered 501 non-profit trade association...
(SNIA) has heavily bought into using CIM and WBEM: their usage of CIM is called Storage Management Initiative – Specification (SMI-S) which is a standard defined by the SNIASNIASNIA can refer to an industrial association or an Italian manufacturer:*Storage Networking Industry Association**SNIA Dictionary*SNIA S.p.A. – Italian firm headquartered in Milano....
. - Some serverServer (computing)In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...
manufacturers collaborate in the DMTF under the SMASHSystems Management Architecture for Server HardwareThe Systems Management Architecture for Server Hardware is a suite of specifications that deliver industry standard protocols to increase productivity of the management of a data center....
initiative to define CIM based management of servers. - The DASHDesktop and mobile Architecture for System HardwareDASH is a DMTF standard on requirements for implementing the Desktop and Mobile Architecture for System Hardware....
initiative in the DMTF attempts to define CIM based management of desktop computerDesktop computerA desktop computer is a personal computer in a form intended for regular use at a single location, as opposed to a mobile laptop or portable computer. Early desktop computers are designed to lay flat on the desk, while modern towers stand upright...
s.
There is also a growing tools market around CIM.
CIM-XML and XML-CIM
CIM-XML and XML-CIM are complementary technologies used to communicate CIM messages.CIM-XML is a protocol for performing sending CIM messages on top of HTTP. It has two message types: Operational messages, which provoke a response from the receiver (RPC
Remote procedure call
In computer science, a remote procedure call is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction...
), and Export Messages, which are informational. It is a part of the WBEM protocol family, and is standardised by the DMTF.
XML-CIM (sometimes xmlCIM) is a method for serialising CIM payloads as XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
. It is used when transporting CIM messages through intermediate systems such as CIM-XML, where CIM messages are sent over HTTP. It is defined in the DMTF standard document DSP0203.