OSIMIS version 3.0 release note

This is to announce that the latest OSIMIS package version 3.0 is publicly available.

WHAT IS IT

This is UCL's OSI management system, known as the OSI Management Information Service (OSIMIS). OSIMIS does not intend to provide a comprehensive set of OSI management facilities but rather to show how the rich OSI Management functionality can be exploited and to serve as a generic OSI management platform. In particular, extended support through an object-oriented (in C++) Application Program Interface (API) is provided to implementors of management applications in agent and manager roles, which hides the details of management information access through the OSI Common Management Information Service/Protocol (CMIS/P).

The system has been developed using the ISO Development Environment (ISODE) and has generic and specific parts. The generic parts are object-oriented infrastructure for the development of OSI agents and managers and a set of generic manager applications i.e. independent of specific management information bases. The specific parts are agents supporting specific MIBs and associated managing applications. It should be added that the emphasis is on generic infrastructure rather than specific applications, the latter have been developed in order to exercise the generic infrastructure and verify the concepts.

There is only a small team involved in the OSIMIS work at UCL and the system has been a side product of our involvement in European research projects (see below). Although we will try to answer questions about the system and rectify bugs as they are reported, we cannot give guarantees about any level of support. A primary motivation for us in putting OSIMIS in the public domain has been to provide other developers with a platform on which they can build their implementations. We hope, for example, that others will be encouraged to develop additional MIB support and managing applications (particularly nice graphical ones) and that these will be placed in the public domain on the same basis as OSIMIS. We would be glad to hear of any such developments and interworking experiences as well as bug reports (and fixes!) via the OSIMIS list .

OSIMIS has been developed as part of UCL's participation in the following European research projects:

ESPRIT I INCA - Integrated Network Communications Architecture
This had as target the design and development of OSI infrastructure and applications. Parts of ISODE, the QUIPU Directory Service and the very first version of OSIMIS that comprised an embryonic version of CMIS/P and agent/managers specific to the management of the ISO Transport Protocol were developed then.
ESPRIT II PROOF - Primary Rate ISDN OSI Office Facilities
This had as target the research, design and development of IP / X.25 to Primary Rate ISDN gateways and related OSI management tools. The first version of the OSIMIS Generic Managed System (GMS) was developed while log control and the OSI Internet MIB were later added. Special agents and managers for managing those gateways were also developed.
RACE I NEMESYS - Network Management using Expert Systems
This had as target the research into Traffic and Quality of Service Management for Integrated Broadband Communications and the evaluation of Advanced Information Processing (AIP) techniques. The GMS was developed much further, manager support such as shadow MIB concepts were investigated and a layered QoS management prototype was produced based on the Telecommunications Management Network (TMN) principles, with hybrid units (agents/managers) organised in a hierarchical fashion.
RACE II ICM - Integrated Communications Management
This is the continuation of NEMESYS with more functions and real IBCN (ATM) infrastructure as opposed to the latter where the IBC network and services were simulated. Work is in progress.
ESPRIT III MIDAS - Management In a Distributed Application/Service environment
This has as target to show that the OSI management model is equally suitable to the management of distributed applications by producing management systems for the OSI Directory (X.500) and Mail (X.400) services. Work is in progress.

SUPPORTED MIBs

In the current version there are the following implemented MIBs:
  1. a MIB for the ISO/CCITT Transport Protocol management which is used to manage (monitor) the ISODE implementation of the latter. This is non-standard though the relevant managed objects are similar to the ones specified in the (draft) ISO/IEC 10737 "Transport Layer Management". Incarnations of the transport protocol run as user space processes (code linked with OSI applications) and information in them is reported to the agent through UDP datagrams as the local interprocess communication mechanism ("loosely-coupled real resources with asynchronous reporting").
  2. a trivial example UNIX MIB with one managed object showing the number of users in a UNIX system with an associated threshold and tide-mark, whose purpose is to serve as an example of the interface to the generic parts of the system. Information on the number of users is obtained by executing the UNIX "users" command and reading its output through a pipe to it, either upon external CMIS request or periodically to support notifications ("loosely-coupled resource with a fetch-on-request/polling access")
  3. an implementation of the OSI Internet MIB (OIM - OSI view of the TCP/IP SNMP MIB-II) as in the RFC1214 without the EGP and SNMP groups. This is a non-proxy implementation in the sense that real resource information is retrieved by accessing the UNIX kernel either upon external CMIS request or periodically to support notifications ("tightly-coupled resources with a fetch-on-request/polling access").
It should be added that though not in this release, we also have at UCL a proxy implementation of the OSI Internet MIB which talks at the back-end to the ISODE SNMP agent ("loosely-coupled resources with a fetch-on-request access and asynchronous reports i.e. SNMP traps"). This will find its way to OSIMIS in a future release.

MANAGING APPLICATIONS

The following managing applications are provided:

  1. a set of programs that allow any operation to be performed to a management agent with any CMIS parameter apart from access control information. These work from the command line and are namely mibdump, mset, maction, mcreate and mdelete.
  2. two programs that allow event reports to be requested and received or logged. These work from the command line and are namely evsink and evlog.
  3. a X-Windows based MIB browser which enables one to browse through a remote management information tree, set management attributes and also "monitor" managed objects at regular intervals.
  4. a program specific to the OSI Internet MIB which allows one to manipulate IP routing tables. This works from the command line and is called iproute.

GENERIC INFRASTRUCTURE

The basic common infrastructure comprises a CMIS/P implementation together with infrastructure for writing applications using an event-driven approach by exercising centralised control / providing polling support and also infrastructure for hiding ASN.1 manipulation.

Then there is extensive infrastructure for developing management agents. Development support for these is provided through the Generic Managed System (GMS) which hides completely CMIS access details such as managed object addressing, scoping, filtering and error handling and allows MIB implementors to concentrate on issues related to real resource access. A GDMO compiler is planned for the near future which will minimise even further the code that needs to be written. The GMS also provides support for the systems management functions, event reporting and logging being supported at present. Object management, access control and others are planned for the future.

As far as generic manager infrastructure is concerned, there exists at the moment an (non-complete) implementation of a "Remote MIB (RMIB)" which offers an object-oriented abstraction of a management association, assembles linked replies, hides the manipulation of ASN.1 and in general offers a higher level CMIS interface - this will be completed in the near future. As a longer term project, there are plans of providing a higher level abstraction of a "Shadow MIB (SMIB)", which will enable to access managed objects in remote MIBs as if they existed in the local address space.

CMIP AND STACK PROFILES

The OSIMIS CMIP implementation conforms fully to the IS version 2 (the one also adopted by the NM Forum) and uses the ISODE upper layer OSI stack. The latter allows the following stack profiles (transport and network protocol combinations to provide the OSI Transport Service):

  -- OSI TS ---       ---------------        --------        --------
  | Transport |       | TP0/RFC1006 |        | TP0  |        | TP4  |
  -------------       ---------------        --------        --------
  | Network   |       | TCP/IP      |        | X.25 |        | CLNP |
  -------------       ---------------        --------        --------

OSI TS  OSI Transport Service
TPx     Transport Protocol Class x
CLNP    ConnectionLess Network Protocol
TCP/IP  Transmission Control Protocol / Internet Protocol

Applications on any of these stacks can interoperate through transport service bridging. ISODE also provides an implementation of the Lightweight Presentation Protocol (LPP) which enables CMIP to run directly on top of TCP which offers the connection-oriented Internet Transport Service. This approach known as CMOT (CMIP over TCP/IP - RFC 1189).

The complete upper layer stacks for CMIP and CMOT are:


                Full CMIP stack          CMOT stack

            CMIS -------------          ------------- CMIS
                 | CMIP      |          | CMIP      |
                 -------------          -------------
                 | ACSE/ROSE |          | ACSE/ROSE |
                 -------------          -------------
                 | OSI PP    |          | LPP       |
                 -------------          ------------- Internet TS
                 | OSI SP    |
          OSI TS -------------

ACSE:  Association Control Service Element
ROSE:  Remote Operations Service Element
(L)PP: (Lightweight) Presentation Protocol
SP:    Session Protocol

The OSI Transport Service can be provided by any of the stacks shown above. Applications over the lightweight CMOT stack can NOT interoperate with applications over the full CMIP stack but applications are portable across the two stacks (in fact, all that is involved is linking the applications with a different stack library as the CMIS interface remains the same).

(*) As background to the previous discussion, we mention here the OSI
    notion of protocol and service: the protocol provides the service,
    the latter being independent of the protocol's internal operation.
    There may be more than one approaches to producing APIs for an abstract
    service e.g. sockets and streams for TCP/IP, OSIMIS CMIS and the X/Open
    XMP etc. The concept is shown below using CMIS and CMIP as an example:

               --- service ---          ---- CMIS ----
               |             |          |            |
               |   protocol  |          |    CMIP    |
               |             |          |            |
               ---------------          --------------

INTEROPERABILITY

Although we have never done any conformance or interoperability testing ourselves, third parties have tested the OSIMIS CMIP (over ISODE) against the Retix and IBM NetView CMIP successfully. No interoperability testing was done at the GMS (agent) level regarding linked replies, error handling etc. Such interoperability tests will be conducted in the future.

USE OF ISODE

OSIMIS uses the following ISODE interfaces/support:


(*)  In OSI management, plain ASN.1 is used to describe the CMIP Protocol
     Data Units (PDUs) and also the syntax of attribute, action and
     notification values of managed objects.

(**) Please note the term "broadly equivalent" regarding the resemblance
     of the ISODE ASN.1 and OSIMIS CMIS APIs to the X/Open XOM/XMP ones.
     As somebody put it "we should be ashamed of any resemblance
     that does exist" as the latter are simply horrific.

IMPLEMENTATION INFORMATION

The system can be used with the ISODE versions 7.0 or 8.0 .

The management protocol layer (CMIP) has been developed using the C programming language in order to be easily integrated from different programming environments.

The generic management infrastructure and applications have been developed in C++ to exploit the object oriented nature of the OSI Management model.

The C++ compilers used for the development were the GNU C++ version 2.1 and the ATT (Sun) C++ compiler version 2.1 . Later GNU versions will work but later ATT ones will NOT. We intend to get port the software to the latest ATT C++ version in a future release.

The browser has been implemented using the InterViews library version 2.6 (with both GNU and ATT C++). This InterViews version is now superseeded but UCL still provides it since it is needed for the MIB browser. The reason we have not switched to versions 3.0 or later is that these are very different to 2.6 in both concepts and APIs - we may switch over in a future release.

No other object libraries have been used in order to minimise tool dependencies.

Note that GNU C++ does not work with shared libraries. If you use it, make sure that ISODE libraries have NOT been configured as shared.

PORTABILITY

OSIMIS is (potentially) portable on every platform ISODE is and the later runs on many, mainly UNIX, platforms (Sun, IBM, DEC, HP etc.) The only portability problems could be related to the C++ compiler / system header files and should be easily resolved. This version is known to work for the Sun SunOS, IBM AIX and PC 386BSD versions of UNIX, we would welcome extensions that will provide portability to other systems.

HOW TO GET A COPY

OSIMIS is not a supported package and no guarantees are offered about its operation. You may use it and adapt it to your own use but this is entirely at your own risk. The current OSIMIS User's Manual is in version 1.0 as opposed to version 3.0 of the software: this is because the documentation, though sufficient, is not yet complete. It is expected to converge to version 3.0 in the next months.

We welcome discussion of this software on the osimis list (osimis@cs.ucl.ac.uk) and will be interested to hear of any developments, additional managed objects etc. that others produce. We may be able to help with any problems you have but we can offer no guarantees - there is very little effort to spare for this at UCL.

1. Internet
If you can FTP to the Internet, you can use anonymous FTP to cs.ucl.ac.uk [128.16.5.31] and retrieve the files osimis/osimis-3.tar.Z (a 2.2 Mb compressed tar image), osimis/osimis-manual-1.ps.Z (0.4 Mb of compressed postrcript). If you do not have InterViews-2.6, you may also retrieve the files osimis/InterViews-2.6.tar.Z (a 3.4 Mb compressed tar image) and osimis/InterViews.README (a text file).
2. FTAM on the IPSS, JANET or IXI
If you can use FTAM over X.25, you can use anonymous FTAM to the host 23421920030013 through IPSS, 00000511160013 through JANET or 20433450420113 through IXI with TSEL 259 (acsii encoding). You should log in as "anon" and retrieve the files osimis/osimis-3.tar.Z (a 2.2 Mb compressed tar image) and osimis/osimis-manual-1.ps.Z (0.4 Mb of compressed postrcript). If you do not have InterViews-2.6, you may also retrieve the files osimis/InterViews-2.6.tar.Z (a 3.4 Mb compressed tar image) and osimis/InterViews.README (a text file).
   For information only:
        Telephone:	+44-71-380-7215 (George Pavlou)
			+44-71-380-7366 (Graham Knight)
        Fax:		+44-71-387-1397
        Telex:		28722
        Internet:	osimis@cs.ucl.ac.uk