CMIP/CMIS - Object Oriented Network Management


With an Object Oriented Framework, CMIP/CMIS provides services to manage and observe objects throughout the Enterprise

This document shows several of the concepts involved in TMN including how the information is organized, how it is accessed, and the nature of some of the types of service areas included within TMN. As a foundation to the operation of a TMN, it is important to first develop an appreciation for the concepts applied to distributed object management systems and with the underlying CMIP/CMIS services.

Object Concepts

A central concept to understanding the operation of TMN is found in the area of object-oriented systems. For those of you come from a Computer Science background with significant exposure to object oriented systems, the concepts are very similar with some slight deviations in terminology. If you only have limited exposure to object oriented design and concepts, any foray into the world of TMN should probably be preceded with some study of object oriented design disciplines. A growing set of resources can be found in the literature. Information on Object Oriented design techniques is available from sources such as Booch, Rumbaugh and others. For getting a more complete description of the object oriented concepts as they apply to CMIP, Stalling's book on SNMP, SNMPv2 and CMIP contains a good section describing the nature of the concepts.

The OSI Management Information Structure (frequently referred to as the Structure of Managed Information, or SMI) is based on collections of objects, some defined in the ISO X.720 series of standards, others that can be found in the TMN M.3100 standards, along with application specific objects that describe the behavior and offer control points for the specific managed systems. Where the SNMP MIB consists solely of a collection of attributes, CMIP based MIBs are a collection of managed objects that contain attributes, exhibit some behaviors, can be created and deleted, and may optionally provide application specific actions that a manager can request. Each object can be viewed as possessing a certain set of behaviors, attributes, and actions. The behavior of an object is directly related to the resource that it represents. For example, a termination point may exhibit the behaviors associated with its relationship with other system components. Attributes contained in an object describe the state and condition of the objects behavior. Continuing with the termination point as an example, attributes can include references to other objects with which the termination point interacts such as a trail. Actions are services that the object can provide at the request of the management system. The templates for an objects behavior are defined with GDMO and ASN.1 for TMN. As objects are identified by the management system agent or manager, objects are instantiated (another term for created). Each class of objects defined in the MIB can be instantiated as many times as the equipment and environment warrant.

Object-oriented system concepts that are applied to the CMIP objects include containment, inheritance, and allomorphism. Containment refers to the characteristic of objects being a repository of other objects and or attributes. For example, a high-level object for a communications switch can contain several racks of equipment, each of which in turn can contain several slots for cards. Inheritance refers to the ability to define an object class that is used as the basis for deriving additional classes. For example, one might use the M.3100 base class for a circuit pack to define the general features of modules within a communications switch. Object classes can then in turn be defined to represent the specific modules. Items including line interface cards, switching elements and processors can be derived from the basic circuit pack definition. Each of these objects exhibits the behavior, actions, and attributes of both the derived classes and the base class. Allomorphism is a concept coined by the CMIP standards bodies to refer to the ability to interact with modules through a base set of interfaces, only to have the resulting behaviors coupled to the complete class definition. For example, disabling a power supply may have significantly different behavior than disabling a switching component.

Organizing the Objects - Multiple Relationships

As in any data intensive system, information must be maintained in some schema with which users (typically management systems) can access the information. Within the OSI management schema, there are three types of relationships between managed objects, including: Each of these relationships play an important role in defining and implementing MIBS for TMN.

As in the case of other object-oriented systems, inheritance provides an ability to define general, common information in base classes, and define more specific behaviors and attributes in the derived classes. As shown in Figure 1, the case of the OSI SMI, all classes are derived from the highest level of object class referred to as top. Following this inheritance hierarchy, you can see that system is derived from X.721:top, with specific types of systems being derived from the managed object class "system." As each more specific class type is added to the inheritance tree, the derived class adds information more specific to the type of object represented. For example, a multi-point connection may add information describing the specific connection points being included in the connection.

Figure 1 - Top Level OSI MIB Inheritance


Containment

Containment is a feature that allows managed objects to "contain" other managed objects within the system. For example, a packet switch may contain several shelves of equipment, each of which in turn contains one or more circuit packs. The containment relationship is a convenient mechanism to segment the organization of the managed systems information. The containment mechanism is realized through the inclusion of the subordinate (contained) object's object identifier in the superior (containing) class. The object identifiers are stored as attributes within the superior class. Only one superior object can contain any single subordinate managed object, enforcing that the MIB containment be realized through a tree (MIT - Managed Information Tree) structure.

Naming

One of the challenges in implementing CMIP based systems is in the naming, or identification of the objects within the system. Objects can be referenced through a variety of names, a Relative Distinguished Name (RDN), a Distinguished Name (DN, sometimes referred to as the Full Distinguished Name, or FDN), and a Local Distinguished Name (LDN). The RDN, identifies the object within the constraints of its superior (containing object), uniquely identifying the object within the parent object. The DN (or FDN) is the sequence of the RDN starting at the top of the global system root. The DN uniquely identifies the object within the global containment tree. Finally, the LDN is expressed as a sequence of RDN starting at the local system's root.

Object Composition

Managed objects are composed of several items. Base classes are defined with the referenced class being "derived from" the parent classes. At the most basic level, each managed object can include the following: When accessing managed objects, these parameters are the points of reference used by the CMIP managers. The mechanisms for accessing this information are described in more detail in the following sections.

CMIP - Common Management Information Protocol

Access to managed information in the managed objects is provided by the Common Management Information Service Element (CMISE) that uses CMIP to issue requests for management services. The management services provided by CMIP/CMISE can be organized into two distinct groups, management operation services initiated by a manager to request that an agent provide certain services or information, and notification services, used by the management agents to inform the managers that some event or set of events have occurred. Operations initiated by the manager include:



Figure 2 - Manager to Agent Relationship


CMIP Protocol Service Elements





Figure 3 - Detailed Manager to Agent Relationship


Scoping and Filtering

The CMISE makes use of the OSI Application layer service elements to complete the processing of these requests. The Association Control Service Element (ACSE) is used to establish application associations between managers and agents. The Remote Operations Service Element (ROSE) is used to frame the information requests and transfers, much as Remote Procedure Calls (RPC) are used on other systems.

CMISE applies some additional powerful features to the operations that help further distinguish CMISE from SNMP. The M-GET, M-SET, M-ACTION, and M-DELETE services can be applied to more than one managed object through the application of what are termed scoping, filtering, and synchronization.



Figure 4 - CMIP Protocol


CMISE requests can be scoped to apply to a range of managed objects. Four levels of scoping can be applied, with the request being applied to: Filtering is the application of a boolean expression to the request, with the request being applied to only those managed objects and attributes to which the expression is TRUE. The types of rules that can be applied to the request include equality, greater than or equal, less than or equal, and presence of an attribute. Other set and string based tests can be asserted, with combinations of the filters being grouped with the standard boolean terms of AND, OR, and NOT.

Once all of the requested objects have been identified (meeting both the scoping and filtering criteria), the performance of the request can be completed based on one of two synchronization schemes: atomic or best-effort. Atomic operations are only performed when all managed objects pertaining to the scoping/filtering are able to successfully complete the requested operation. Best-effort synchronization will direct the request to all applicable managed objects. The requested operation is completed by as many objects that can comply.