RFC 3444 INFORMATIONAL MANAGEMENT · MODELING

On the Difference between Information Models and Data Models

Why a conceptual information model and an implementation-level data model are different things, with examples from IETF, ITU and DMTF.

On rfc-editor.org ↗
PUBLISHED
January 2003
AUTHORS
A. Pras, J. Schoenwaelder
STREAM
IETF
ORIGIN
8th NMRG workshop, Austin, December 2000
IM TO DM
One IM can yield multiple DMs
DOI
10.17487/RFC3444

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                            A. Pras
Request for Comments: 3444                          University of Twente
Category: Informational                                 J. Schoenwaelder
                                                University of Osnabrueck
                                                            January 2003


                       On the Difference between
                   Information Models and Data Models

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   There has been ongoing confusion about the differences between
   Information Models and Data Models for defining managed objects in
   network management.  This document explains the differences between
   these terms by analyzing how existing network management model
   specifications (from the IETF and other bodies such as the
   International Telecommunication Union (ITU) or the Distributed
   Management Task Force (DMTF)) fit into the universe of Information
   Models and Data Models.

   This memo documents the main results of the 8th workshop of the
   Network Management Research Group (NMRG) of the Internet Research
   Task Force (IRTF) hosted by the University of Texas at Austin.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
   3.  Information Models . . . . . . . . . . . . . . . . . . . . . . 3
   4.  Data Models  . . . . . . . . . . . . . . . . . . . . . . . . . 4
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 6
   6.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 6
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 6
   8.  Informative References . . . . . . . . . . . . . . . . . . . . 7
   9.  Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7
   10. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 8

1. Introduction

   Currently multiple languages exist to define managed objects.
   Examples of such languages are the Structure of Management
   Information (SMI) [1], the Structure of Policy Provisioning
   Information (SPPI) [2] and, within the DMTF, the Managed Object
   Format (MOF) [3].  Despite the fact that multiple languages exist, a
   number of people still believe that none of these languages really
   suits all needs.

   There have been many discussions to understand the advantages and
   disadvantages, as well as the main differences, between various
   languages.  For instance, the IETF organized a BoF on "Network
   Information Modeling" (NIM) at its 48th meeting (Pittsburgh, August
   2000).  During these discussions, it turned out that people had a
   different understanding of the main terms, which caused confusion and
   long arguments.  In particular, the meaning of the terms "Information
   Model" (IM) and "Data Model" (DM) turned out to be controversial.

   In an attempt to address this issue, the IRTF Network Management
   Research Group (NMRG) dedicated its 8th workshop (Austin, December
   2000) to harmonizing the terminology used in information and data
   modeling.  Attendees included experts from the IETF, DMTF and ITU, as
   well as academics who do research in this field (see the
   Acknowledgments section for a list of participants).  The main
   outcome of this successful workshop -- a better understanding of the
   terms "Information Model" and "Data Model" -- is presented in this
   document.

   Short definitions of these terms can also be found elsewhere (e.g.,
   in RFC 3198 [8]).  Compared to most other documents, this one
   explains the rationale behind the proposed definitions and provides
   examples.

2. Overview

   One of the key observations made at the NMRG workshop was that IMs
   and DMs are different because they serve different purposes.

   The main purpose of an IM is to model managed objects at a conceptual
   level, independent of any specific implementations or protocols used
   to transport the data.  The degree of specificity (or detail) of the
   abstractions defined in the IM depends on the modeling needs of its
   designers.  In order to make the overall design as clear as possible,
   an IM should hide all protocol and implementation details.  Another
   important characteristic of an IM is that it defines relationships
   between managed objects.

   DMs, conversely, are defined at a lower level of abstraction and
   include many details.  They are intended for implementors and include
   protocol-specific constructs.

             IM                --> conceptual/abstract model
              |                    for designers and operators
   +----------+---------+
   |          |         |
   DM        DM         DM     --> concrete/detailed model
                                   for implementors

   The relationship between an IM and DM is shown in the Figure above.
   Since conceptual models can be implemented in different ways,
   multiple DMs can be derived from a single IM.

   Although IMs and DMs serve different purposes, it is not always
   possible to precisely define what kind of details should be expressed
   in an IM and which ones belong in a DM.  There is a gray area where
   IMs and DMs overlap -- just like there are gray areas between the
   models produced during the analysis, high-level design and low-level
   design phases in object-oriented software engineering.  In some
   cases, it is very difficult to determine whether an abstraction
   belongs to an IM or a DM.

3. Information Models

   IMs are primarily useful for designers to describe the managed
   environment, for operators to understand the modeled objects, and for
   implementors as a guide to the functionality that must be described
   and coded in the DMs.  The terms "conceptual models" and "abstract
   models", which are often used in the literature, relate to IMs.  IMs
   can be implemented in different ways and mapped on different
   protocols.  They are protocol neutral.

   An important characteristic of IMs is that they can (and generally
   should) specify relationships between objects.  Organizations may use
   the contents of an IM to delimit the functionality that can be
   included in a DM.

   IMs can be defined in an informal way, using natural languages such
   as English.  An example of such an IM is provided by RFC 3290 [9],
   which describes a conceptual model of a Diffserv Router and specifies
   the relationships between the components of such a router that need
   to be managed.  Within the IETF, however, it is exceptional that an
   IM be explicitly described, and even more that the IM and DM be
   specified in separate RFCs.  In such cases, the document specifying
   the IM is usually an Informational RFC whereas the document defining
   the DM usually follows the Standards Track [4].  In general, most of
   the RFCs that define an SNMP Management Information Base (MIB) module
   also include some kind of informal description explaining parts of
   the model behind that MIB module.  Such a model can be considered as
   a document of an IM.  An example of this is RFC 2863, which defines
   "The Interfaces Group MIB" [10].  But most MIB modules published to
   date include only a rudimentary and incomplete description of the
   underlying IM.

   Alternatively, IMs can be defined using a formal language or a semi-
   formal structured language.  One of the possibilities to formally
   specify IMs is to use class diagrams of the Unified Modeling Language
   (UML).  Although such diagrams are still rarely used within the IETF,
   several other organizations routinely use them for defining IMs,
   including the DMTF, the ITU-T SG 4, 3GPP SA5, the TeleManagement
   Forum, and the ATM Forum.  An important advantage of UML class
   diagrams is that they represent objects and the relationships between
   them in a standard graphical way.  Because of this graphical
   representation, designers and operators may find it easier to
   understand the underlying management model.  Although there are other
   techniques to graphically represent objects and relationships (e.g.,
   Entity-Relationship (ER) diagrams), UML presents the advantage of
   being widely adopted in the industry and taught in universities.
   Also, many tools for editing UML diagrams are now available.  UML is
   standardized by the Object Management Group (OMG) [5].

   In general, it seems advisable to use object-oriented techniques to
   describe an IM.  In particular, the notions of abstraction and
   encapsulation, as well as the possibility that object definitions
   include methods, are considered to be important.

4. Data Models

   Compared to IMs, DMs define managed objects at a lower level of
   abstraction.  They include implementation- and protocol-specific
   details, e.g. rules that explain how to map managed objects onto
   lower-level protocol constructs.

   Most of the management models standardized to date are DMs.  Examples
   include:

   o  Management Information Base (MIB) modules defined within the IETF.
      The language (syntax) used to define these DMs is called the
      "Structure of Management Information" (SMI) [1] and is derived
      from ASN.1 [6].

   o  Policy Information Base (PIB) modules, developed within the IETF.
      Their syntax is defined by the "Structure of Policy Provisioning
      Information" (SPPI) [2], which is close to SMI and is also derived
      from ASN.1 [6].

   o  Management Information Base (MIB) modules, originally defined by
      the ISO and currently maintained and enhanced by the ITU-T.  The
      syntax of these DMs is specified in the "Guidelines for the
      Definition of Managed Objects" (GDMO) [7].  GDMO MIB modules make
      use of object-oriented principles.

   o  CIM Schemas, developed within the DMTF.  The DMTF publishes them
      in two forms: graphical and textual.  The graphical forms use UML
      diagrams and are not normative (because not all details can be
      represented graphically).  They can be downloaded from the DMTF
      Web site in PDF and Visio formats.  (Visio is a tool to draw UML
      class diagrams.)  The textual forms are normative and written in a
      language called the "Managed Object Format" (MOF) [3].  CIM
      Schemas are object-oriented.

   Because CIM Schemas support a graphical notation whereas IETF MIB
   modules do not, designers and operators may find it easier to
   understand CIM Schemas than IETF MIB modules.  One could therefore
   argue that CIM Schemas are closer to IMs than IETF MIB modules.

   The Figure below summarizes these examples.  The languages that are
   used to define the DMs are shown between brackets.

                       IM                              --> IM
                        |
     +----------+-------+-------+--------------+
     |          |               |              |
    MIB        PIB          CIM schema      OSI-MIB    --> DM
   (SMI)      (SPPI)          (MOF)          (GDMO)

   To illustrate what details are included in a DM, let us consider the
   example of IETF MIB modules.  As opposed to IMs, IETF MIB modules
   include details such as OID assignments and indexing structures.  The
   relationships defined in the IM are implemented as OID pointers or
   realized through indexing relationships specified in INDEX clauses.
   Many other implementation-specific details are included, such as MAX-
   ACCESS and STATUS clauses and conformance statements.

   A special kind of DM language is the SMIng language defined by the
   NMRG.  This language was designed at a higher conceptual level than
   SMIv1/SMIv2 and SPPI.  In fact, one of the intentions behind SMIng
   was to stop the proliferation of different DM languages within the
   IETF and to harmonize the various models.  As a result, MIB and PIB
   modules defined in SMIng can be mapped on different underlying
   protocols.  There is a mapping on SNMP and another mapping on COPS-
   PR.  SMIng is therefore more protocol neutral than other IETF
   approaches.  It also supports some object-oriented principles and
   provides extension mechanisms that allow the addition of new features
   (e.g., the support for methods).  New features can then be used when
   they are supported by the underlying protocols, without breaking
   SMIng implementations.  Still, SMIng should be considered a DM.  For
   instance, to express relationships between managed objects,
   techniques such as UML and ER diagrams still give better results
   because these diagrams are easier to understand.

   Note that the IETF SMING Working Group took a different approach and
   decided not to use the SMIng language defined by the NMRG.  Instead,
   the SMING Working Group is developing a third version of SMI (SMIv3)
   that is primarily targeted towards SNMP, and which incorporates only
   some of the ideas developed within the NMRG.

5. Security Considerations

   The meaning of the terms Information Model and Data Model has no
   direct security impact on the Internet.

6. Acknowledgments

   The authors would like to thank everyone who participated in the 8th
   NMRG workshop (in alphabetic order): Szabolcs Boros, Marcus Brunner,
   David Durham, Dave Harrington, Jean-Philippe Martin-Flatin, George
   Pavlou, Robert Parhonyi, David Perkins, David Sidor, Andrea
   Westerinen and Bert Wijnen.

7. Normative References

   [1]  McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of
        Management Information Version 2 (SMIv2)", STD 58, RFC 2578,
        April 1999.

   [2]  McCloghrie, K., Fine, M., Seligson, J., Chan, K., Hahn, S.,
        Sahita, R., Smith, A. and F. Reichmeyer, "Structure of Policy
        Provisioning Information (SPPI)", RFC 3159, August 2001.

   [3]  Distributed Management Task Force, "Common Information Model
        (CIM) Specification Version 2.2", DSP 0004, June 1999.

   [4]  Bradner, S., "The Internet Standards Process -- Revision 3", BCP
        9, RFC 2026, October 1996.

   [5]  Object Management Group, "Unified Modeling Language (UML),
        Version 1.4", formal/2001-09-67, September 2001.

   [6]  International Organization for Standardization, "Information
        processing systems - Open Systems Interconnection -
        Specification of Abstract  Syntax Notation One (ASN.1)",
        International Standard 8824, December 1987.

   [7]  International Telecommunication Union, "Information technology -
        Open Systems Interconnection  - Structure of Management
        Information:  Guidelines for the Definition of Managed Objects",
        Recommendation X.722, 1992.

8. Informative References

   [8]  Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M.,
        Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, J. and S.
        Waldbusser, "Terminology for Policy-Based Management", RFC 3198,
        November 2001.

   [9]  Bernet, Y., Blake, S., Grossman, D. and A. Smith, "An Informal
        Management Model for Diffserv Routers", RFC 3290, May 2002.

   [10] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB",
        RFC 2863, June 2000.

9. Authors' Addresses

   Aiko Pras
   University of Twente
   PO Box 217
   7500 AE Enschede
   The Netherlands

   Phone: +31 53 4893778
   EMail: pras@ctit.utwente.nl


   Juergen Schoenwaelder
   University of Osnabrueck
   Albrechtstr. 28
   49069 Osnabrueck
   Germany

   Phone: +49 541 969-2483
   EMail: schoenw@informatik.uni-osnabrueck.de

10.  Full Copyright Statement

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

AI ELI5

On this page
PROBLEMPeople used the terms Information Model and Data Model differently, which caused confusion and long arguments about languages for defining managed objects.
MECHANISMThe note, from an IRTF NMRG workshop, defines an information model as a conceptual, protocol-neutral model and a data model as a detailed, protocol-specific one, and sorts MIBs, PIBs, CIM schemas and others accordingly.
WHY IT MATTERSOne information model can lead to several data models, though there is a gray area between the two.

§1Why the Terms Needed Defining

Several languages exist for defining managed objects, such as the Structure of Management Information (SMI), the Structure of Policy Provisioning Information (SPPI) and the DMTF's Managed Object Format (MOF). Discussions about their merits, including an IETF BoF on Network Information Modeling in August 2000, showed that people understood "Information Model" (IM) and "Data Model" (DM) differently.

The IRTF Network Management Research Group (NMRG) dedicated its 8th workshop (Austin, December 2000) to harmonizing the terms, with experts from the IETF, DMTF and ITU. This document presents the outcome and, unlike short definitions elsewhere such as RFC 3198, explains the rationale and gives examples.

People kept using two words to mean different things and arguing. So a group got together to agree on what each word means.

§2Two Models for Two Purposes

The key observation is that IMs and DMs differ because they serve different purposes. An information model models managed objects at a conceptual level, independent of any specific implementation or transport protocol. It should hide protocol and implementation details, and it defines relationships between managed objects.

A data model sits at a lower level of abstraction, is intended for implementors and includes protocol-specific constructs. Since a conceptual model can be implemented in different ways, multiple DMs can be derived from a single IM.

The line is not always sharp. There is a gray area where the two overlap, like the gray areas between analysis, high-level design and low-level design models in object-oriented software engineering.

An information model is the idea drawing of a treehouse. A data model is the exact plan with every nail. One idea drawing can lead to many plans.

§3Information Models

IMs help designers describe the managed environment, help operators understand the modeled objects, and guide implementors on what the DMs must describe. They are protocol neutral and can generally and should specify relationships between objects.

An IM can be informal, in natural language. An example is RFC 3290, a conceptual model of a Diffserv router. Within the IETF it is exceptional for an IM to be explicit, and more so for the IM and DM to be in separate RFCs. Then the IM is usually Informational and the DM usually Standards Track. Most RFCs defining an SNMP MIB module include some informal description of the model behind it, as RFC 2863 does for the Interfaces Group MIB, but most are rudimentary and incomplete.

IMs can also be formal or semi-formal, for example with UML class diagrams, which the DMTF, ITU-T SG 4, 3GPP SA5, the TeleManagement Forum and the ATM Forum routinely use. The note advises object-oriented techniques, especially abstraction, encapsulation and methods.

Information models can be written in plain words or drawn as boxes and arrows. Both show what things exist and how they connect.

§4Data Models and Where Real Specifications Fall

DMs define managed objects with implementation and protocol details, such as rules for mapping objects onto lower-level protocol constructs. Most management models standardized so far are DMs:

  • IETF MIB modules, written in SMI (derived from ASN.1).
  • IETF PIB modules, written in SPPI (close to SMI, also derived from ASN.1).
  • OSI MIB modules from ISO, now maintained by the ITU-T, written in GDMO.
  • DMTF CIM Schemas, with a non-normative graphical UML form and a normative textual form in MOF.

IETF MIB modules include details such as OID assignments, indexing structures, MAX-ACCESS and STATUS clauses and conformance statements. Because CIM Schemas have a graphical notation, one could argue they are closer to IMs than IETF MIB modules.

SMIng, a language defined by the NMRG, was designed at a higher conceptual level and can map onto SNMP and COPS-PR, so it is more protocol neutral. It is still a DM, since UML and ER diagrams express relationships better. The IETF SMING Working Group chose instead to develop SMIv3, aimed primarily at SNMP.

Data models are the detailed rule books each group wrote for its own system. Some come with pictures, some do not, but all of them have the nitty-gritty details.

ONE IM, SEVERAL DMS (AFTER THE FIGURE IN RFC 3444)
  • Information Model conceptual, protocol neutral
    • MIB SMI
    • PIB SPPI
    • CIM schema MOF
    • OSI-MIB GDMO

§5Security Considerations

The note states that the meaning of the terms Information Model and Data Model has no direct security impact on the Internet. It is a terminology document and defines no protocol.

Agreeing on what two words mean does not make the internet any less safe.

§6References