RFC 3444
On the Difference between Information Models and Data Models
RFC 3444: On the Difference between Information Models and Data Models π
Okay bestie, let's get into it! β¨ This is RFC 3444, and it's called On the Difference between Information Models and Data Models. It was written by A. Pras from the University of Twente and J. Schoenwaelder from the University of Osnabrueck, and it came out in January 2003 πΈ. It was published by the Network Working Group and is labelled Informational, so it's giving "here's some info for the Internet community" energy, not "here's a standard you must follow." π It doesn't obsolete or update any other RFCs.
Status of This Memo π
Quick heads up π: this memo just 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 β¨
Okay so here's the tea π΅: people have been super confused about the difference between Information Models and Data Models when it comes to defining managed objects in network management π. This doc clears that up by looking at how existing network management model specs fit into the universe of Information Models and Data Models. It covers specs from the IETF and from other bodies too, like the International Telecommunication Union (ITU) and the Distributed Management Task Force (DMTF) π.
It also documents the main results of the 8th workshop of the Network Management Research Group (NMRG) of the Internet Research Task Force (IRTF), which was hosted by the University of Texas at Austin π. Iconic π.
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 β¨
So, there are a bunch of languages out there for defining managed objects π§. Some examples are the Structure of Management Information (SMI) [1], the Structure of Policy Provisioning Information (SPPI) [2] and, inside the DMTF, the Managed Object Format (MOF) [3]. Even with all of these, a lot of people still think none of them really suits all needs π.
People have had tons of discussions about the pros and cons of each language, and about the main differences between them π¬. For example, the IETF ran a BoF on "Network Information Modeling" (NIM) at its 48th meeting (Pittsburgh, August 2000) π. During those chats it became clear that people had different ideas about the main terms, and that caused a lot of confusion and long arguments π. The meanings of "Information Model" (IM) and "Data Model" (DM) were especially controversial.
To fix this, the IRTF Network Management Research Group (NMRG) gave its 8th workshop (Austin, December 2000) a glow-up focused on harmonizing the terminology used in information and data modeling π . Experts from the IETF, DMTF and ITU came, along with academics who research this stuff (see the Acknowledgments section for the list of participants) π«Ά. The main outcome of this very successful workshop was a much better understanding of the terms "Information Model" and "Data Model", and that's what this document presents πΈ.
Short definitions of these terms can also be found elsewhere (e.g., in RFC 3198 [8]). Compared to most other docs, this one explains the reasoning behind the proposed definitions and gives examples π¦.
2. Overview π¦
One of the big takeaways from 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. It doesn't depend on any specific implementations or on the protocols used to transport the data π. How detailed or specific the abstractions in an IM are depends on what its designers need β¨. To keep the overall design as clear as possible, an IM should hide all protocol and implementation details π. Another key thing about an IM is that it defines relationships between managed objects π.
DMs, on the other hand, sit at a lower level of abstraction and include lots of details π. They're meant for implementors, and they include protocol-specific constructs π οΈ.
IM --> conceptual/abstract model
| for designers and operators
+----------+---------+
| | |
DM DM DM --> concrete/detailed model
for implementors
The figure above shows how an IM and a DM relate. Since conceptual models can be implemented in different ways, multiple DMs can be derived from a single IM π.
Here's the tricky part β οΈ: even though IMs and DMs have different jobs, it's not always possible to say exactly which details belong in an IM and which belong in a DM. There's a gray area where they overlap π«οΈ. It's kind of like the gray areas between the analysis, high-level design and low-level design phases in object-oriented software engineering π§ . Sometimes it's really hard to tell whether an abstraction belongs to an IM or a DM π©.
3. Information Models π
IMs are mainly useful for three groups π. Designers use them to describe the managed environment. Operators use them to understand the modeled objects. Implementors use them as a guide to the functionality that must be described and coded in the DMs π«Ά. The terms "conceptual models" and "abstract models", which pop up a lot in the literature, are about IMs π. IMs can be implemented in different ways and mapped onto different protocols, so they're protocol neutral πΈ.
A really important thing about IMs is that they can (and generally should) specify relationships between objects π. Organizations may use the contents of an IM to set the boundaries of the functionality that can be included in a DM π§.
IMs can be defined informally, using natural languages like English π¬. RFC 3290 [9] is an example of this. It describes a conceptual model of a Diffserv Router and specifies the relationships between the router components that need to be managed π¦. Within the IETF, though, it's pretty rare to explicitly describe an IM, and even rarer to have the IM and DM specified in separate RFCs π³. When that does happen, the document specifying the IM is usually an Informational RFC, while the document defining the DM usually follows the Standards Track [4] π.
Most 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 π§©. That model can be considered an IM document. RFC 2863, which defines "The Interfaces Group MIB" [10], is an example of this β¨. Still, most MIB modules published so far include only a rudimentary and incomplete description of the underlying IM π.
IMs can also be defined formally or semi-formally π€. One way to formally specify an IM is with class diagrams from the Unified Modeling Language (UML) π. These are still rarely used within the IETF, but several other organizations use them all the time to define IMs. Those include the DMTF, the ITU-T SG 4, 3GPP SA5, the TeleManagement Forum, and the ATM Forum π. A big advantage of UML class diagrams is that they show objects and the relationships between them in a standard graphical way π¨. Because of that picture-based format, designers and operators may find the underlying management model easier to understand π. There are other ways to draw objects and relationships graphically too, like Entity-Relationship (ER) diagrams π§Ύ. But UML has the edge because it's widely adopted in industry, taught in universities, and there are lots of tools for editing UML diagrams π οΈ. UML is standardized by the Object Management Group (OMG) [5] ποΈ.
In general, it seems advisable to use object-oriented techniques to describe an IM π. Abstraction and encapsulation, along with the possibility that object definitions include methods, are considered really important π.
Part 1 wraps up here, bestie! π Part 2 picks up right after this with the rest of the doc, so stay tuned π.
4. Data Models π β¨
Okay, so compared to IMs, DMs are way more zoomed in. They define managed objects at a lower level of abstraction, which means they get into the implementation and protocol-specific details π€. They even include rules that explain how to map managed objects onto lower-level protocol constructs. Lowkey the most detailed stuff in the whole vibe π
Most of the management models that have been standardized so far are DMs π Here are the big ones:
- 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 it's derived from ASN.1 [6] π
- Policy Information Base (PIB) modules, developed within the IETF. Their syntax is defined by the "Structure of Policy Provisioning Information" (SPPI) [2]. It's close to SMI and is also derived from ASN.1 [6] πΈ
- 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 π¦
- 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). You can download them 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 and IETF MIB modules don't, designers and operators may find CIM Schemas easier to understand than IETF MIB modules π One could therefore argue that CIM Schemas are closer to IMs than IETF MIB modules. Honestly, that's a whole mood π«Ά
The Figure below sums all of this up. The languages used to define the DMs are shown between brackets β¨
IM --> IM
|
+----------+-------+-------+--------------+
| | | |
MIB PIB CIM schema OSI-MIB --> DM
(SMI) (SPPI) (MOF) (GDMO)
Let's look at IETF MIB modules to see what a DM actually includes π Compared to IMs, IETF MIB modules include details like OID assignments and indexing structures. The relationships defined in the IM get implemented as OID pointers, or they're realized through indexing relationships specified in INDEX clauses. There's also a bunch of other implementation-specific stuff, like MAX-ACCESS and STATUS clauses and conformance statements π
Now for the SMIng language, which is a special kind of DM language defined by the NMRG π It was designed at a higher conceptual level than SMIv1/SMIv2 and SPPI. One of the big intentions behind SMIng was to stop the proliferation of different DM languages within the IETF and to harmonize the various models. The result is that MIB and PIB modules defined in SMIng can be mapped onto different underlying protocols. There's a mapping on SNMP and another mapping on COPS-PR. That makes SMIng more protocol neutral than other IETF approaches π§ββοΈ It also supports some object-oriented principles and provides extension mechanisms that allow new features to be added (for example, support for methods). New features can then be used when the underlying protocols support them, without breaking SMIng implementations. Still, SMIng should be considered a DM π For expressing relationships between managed objects, techniques like UML and ER diagrams still give better results, because they're easier to understand β¨
Also, 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). It's primarily targeted towards SNMP and only incorporates some of the ideas developed within the NMRG π
5. Security Considerations π
Okay, bestie, pay attention π¨ The meaning of the terms Information Model and Data Model has no direct security impact on the Internet. That's the whole security section, and it's still iconic π
6. Acknowledgments π«Ά
The authors want to thank everyone who participated in the 8th NMRG workshop. Here they are, 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 π
π¦ where this page comes from
- ietf: rfc3444 2003-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms