[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

1987.0. "Custom Access Module vs. SNMP Private MIB" by PJWL::LAMB (Peter Lamb - GSG Santa Clara MAIL=MUTTON::LAMB) Mon Dec 23 1991 22:55

Hello,

I am wondering if someone could please give me some reasons why a customer that
wants to monitor the availability of their own applications (say plant process
control monitoring) would choose using a "custom Access Module" in DECmcc vs
writing their own private MIB extension and using SNMP??

Any and all ideas/suggestions on this would be greatly appreciated...  Ideally,
I would love to find some sort of a white paper that contrasts the differences
between the two possible implemenations.

Thank you and regards,

Peter Lamb
T.RTitleUserPersonal
Name
DateLines
1987.1Best answer availableTOOK::MATTHEWSTue Dec 24 1991 08:5771
    The primary consideration is the protocol. If they are dealing with
    existing agents that are not SNMP, OSI CMIP, or DEC CMIP (which
    isn't likely) then they have to write a minimal AM just for
    communications.
    
    If they are actually developing the agent and have the choice of
    the protocol, then SNMP is probably their best bet. It does have
    some restrictions that they have to live with. The restrictions
    are more in the SMI (structure of management information) than
    in the protocol itself. If the process they want to model can
    be modeled with the IETF SMI then SNMP is a good choice. 
    
    SNMP provides fairly primitive services (SHOW, SET, and TRAP) but
    they provide generally acceptable levels of service. The SMI is
    limited in that it is rather flat and is very limited in dealing
    with complex structures. 
    
    The basic problems are not apparent until you want to develop
    applications (ie. FMs). At the basic access level you can do anything
    with SNMP that you need to. The problem is when you want to simplify
    the obect at the UI, it takes a lot of code and effort because the
    SMI is so primitive. If your application has a structure that is
    intuitive to the object, it is likely not to fit the SMI. That means
    you write a lot of glue software to get access via SNMP that could
    be reduced with a custom AM.
    
    That is why most of the SNMP management systems UIs are not intuitive.
    The SNMP SMI forces operators to know about the SMI and forces 
    implementers to abandon intuitive models of applications and
    processes because they do not fit the SMI. 
    
    If you really want to understand this area, pick an object that has
    some complexity. Read the Simple Book by Marshall Rose. There are
    only 50 or so pages of tutorial material. The majority of the book
    is appendices. Now try to define the MIB for your object. When you
    get through compare your conceptual model to the MIB and note all
    the compromises you made. Now imagine building management applications
    or a UI that provides the user with your conceptual model. You have
    to provide all the glue software on your workstation to provide a
    reasonable model.
    
    If you had the ability to develop a new access method between
    the manager and the agent, you could reduce the complexity of the
    manager and the agent software POTENTIALLY. Now we are at the
    root of the SIMPLE MODEL. It is simple for the access method but
    at a cost. For many complex applications it makes the application
    and the agent more complex than it has to be. So it is like the
    bag or dough. You squeeze it at the access method level and force
    all the dough into the application and/or agent.
    
    You are a winner for simple objects and a majority of the things
    we want to model are simple so that is why SNMP is such a powerful
    tool and has unlocked a new area of growth. However, for complex
    objects it creates as many problems as it solves.
    
    I hope this provides you with an insight into the issue you raised.
    If you are looking for a cookbook list of things to tell a customer,
    forget it. They will not be convinced until they have gone through
    the process of modelling a complex object with the IETF SMI. The
    list will sound like a bunch of excuses until they do it once and
    have to live with the results.
    
    Save yourself a lot of grief. Recommend SNMP now. IF they come
    back a year from now, it will be because they have learned and they
    have a more complex problem. Then we can recommend CMIP rather than
    a custom protocol. For most objects, they will be satisfied with
    SNMP and learn to live with its ugly features. Who knows they may
    actually believe Marshall Rose's bullshit and become devout SNMP
    bigots.
    
    wally
1987.2THANK YOU!!!MUTTON::LAMBPeter Lamb - GSG Santa ClaraFri Dec 27 1991 16:2012
Nice work!  And, thanks for the quick answer!

Have you ever seen anything like this written up into a white paper??

I'm thinking about taking your reply and rewording it a little (like taking
out the b word...) to make it suitable for giving to a customer.  If anyone
has already seen something like this please let me know... Otherwise I'll
assume it doesn't exist and post my version here.

Thanks again!!

Peter
1987.3White Paper OfferedMUTTON::LAMBPeter Lamb - GSG Santa ClaraMon Jan 06 1992 17:4626
Hello,

I have taken the information offered by Wally Matthews (offered in .1 of this 
note and put it into a "White Paper" which I will make available to anyone 
that needs it.

Both the Postscript version and the DECwrite .DOC file can be found on 
the default decnet directory on node MUTTON.  

Dir MUTTON""::DECmcc*.* returns the following...

Directory MUTTON""::SYS$SPECIFIC:[FAL$SERVER]

DECMCC_CUSTOM_AM.DOC;1                  DECMCC_CUSTOM_AM.PS;1

Total of 2 files.

Enjoy!!

Regards,

Peter Lamb

P.S.  If anyone has any recommendations or suggestions for improvements
please let me know.  I believe the paper is reasonably accurate but please
don't hesitate to let me know if I have some grave error in it.
1987.4Text Only version of White PaperMUTTON::LAMBPeter Lamb - GSG Santa ClaraTue Jan 07 1992 11:52307
To whom it may concern...

Included below is an ascii version (pictures removed) version of the white
paper available on MUTTON"":: which discusses Custom Access Modules vs
SNMP MIB extensions.








          DECmcc - Application Management




                          Developing Custom Access Modules
                                         vs
                             SNMP Private MIB Extensions
                             for Application Management








                                   A White Paper










                                             Written By:
                                             Peter Lamb & Glen Sitz
                                             Digital Equipment Corporation
                                             January 6, 1992








                                 Network Management
                Custom Access Modules vs SNMP Private MIB Extensions


          Introduction

          This paper will briefly discuss some of the considerations of
          when to use a custom DECmcc Access Module and Management Agent
          vs when it may make more sense to write an SNMP 1 MIB2 extension
          to support the management of "higher level" computer
          applications (such as "Mission Critical" Process Control
          systems, Financial Applications, etc.) over an extended network.

          Protocol

          A primary consideration is which protocol is being run on the
          remote system which will be the target of Application
          Management.  For example, if the remote system is only capable
          of running DECnet or even an older version of TCP/IP that
          doesn't support SNMP, it is probably unrealistic to consider
          attempting to manage this system using SNMP and private MIB
          extensions.  To do this, one would have to first commit
          significant resources simply to write the lower level
          communications access routines.

          Management Complexity

          Providing the system to be managed:
            �  Supports TCP/IP.

            �  Supports SNMP and has an SNMP Agent..
            �  The application management requirements are fairly simple
               and straight forward; i.e.,  they can be met with simple
               set, show & trap directives.

          Using a private MIB extension and SNMP may be the easiest way to
          proceed.   Many manageable candidates meet this criteria.   This
          is why SNMP is often used as a management protocol.
          If on the other hand, the management requirements are more
          complex or are in anyway hierarchical in nature, the rather flat
          nature of the SMI3 will seriously limit the capabilities of the
          MIB extension that is developed.  These limitations of the SMI
          will also make it much more difficult to develop the MIB
          extension (again, providing the object to be managed is fairly
          complex) and will also contribute to making the overall
          management interface counter-intuitive and thus difficult to
          use.


          SNMP: Simple Network Management Protocol as defined by RFC 1156

          MIB: Management Information Base as defined by RFC 1157 and 1158
          SMI: Structure of Management Information as defined by RFC 1155








          In the words of one of our software engineers who has done both
          (written custom MIBs and DECmcc access modules),  the basic
          problems are not apparent until you attempt to develop the
          applications (i.e., the things that will actually manage the
          remote agents).  At the basic access level, you can do anything
          with SNMP that you need to.  The problem is when you want to
          simplify the object at the UI, it takes a lot of code and effort
          because the SMI is so primitive.  If your application has a
          structure that is intuitive to the object, it is likely not to
          fit the SMI.  That means you write a lot of glue software to get
          access via SNMP that could be reduced with a custom Access
          Module."

          Possible Scenarios

          Non-custom Example

          It is possible to determine whether or not a particular node is
          "alive" without writing any custom code simply by querying or
          "pinging" over the network with DECmcc.  This can be accomplished
          in at least three different ways.  These are...
            1. Using the DECnet IV access module to communicate with the
               embedded NCP agent present on all DECnet phase IV nodes
               (pictured below).

            2. Using the SNMP access module to communicate with the TCP/IP
               protocol stack present on any TCP/IP systems on the network
               (regardless of whether they are running SNMP).
            3. Using the Ethernet access module to communicate directly
               with the remote system's Ethernet controller to determine
               whether it is "alive" and communicating.

          For an illustration of the DECnet Phase IV example, please see
          figure 1 below.


            Management System

               DECmcc
               Director
                                                    Remote System
              Presentation Module

                                 DECnet +
              Functional Module
                                 Management    NCP        Operating System
              DECnet Phase IV    Protocol

              Access Module








                                     Figure 1


          Custom SNMP MIB Extension
          Illustrated in the figure below is an example of the mechanism
          required to manage an object using MIB extensions.

           Management System                         Managed Entity

              DECmcc             TCP/IP Only!
              Director                                 SNMP agent

             Presentation Module


             Functional Module
                                              Standard MIB

             SNMP Access
             Module                           Private MIB extensions




                                                        Managed Object





                                     Figure 2

          Minimally, the following steps are required...
            1. Define the interface between the Managed Object and the MIB
               extension.

            2. Define a MIB extension using the SMI as a guide.
            3. Modify the SNMP agent by registering the extension.

            4. Add MIB extensions to the Management System using the  MIB
               compiler.
          Integral to this design must be the communications mechanism
          between the MIB extension and the Managed Object.  It is very
          important that a clearly defined mechanism be developed to enable
          the SNMP agent to access the database (health and status, etc.)
          of the Managed object.


          Custom Access Module for DECmcc
          Illustrated in the figure below is an example of the mechanism
          required to manage an object using a DECmcc Custom Access








          Module.

               Management System



                DECmcc
                Director

               Presentation Module


               Functional Module                   Remote System


               Custom Access
               Module                                       Managed
                                    Any       Agent
                                    Protocol                Object





                                     Figure 3

          The following steps are required to develop a "custom" Access
          Module and Agent...
            1. Define interface between the Agent and the Managed Object

            2. Develop the custom Access Module using the DECmcc Toolkit
            3. Develop the custom Agent

            4. Register custom Access Module with DECmcc
          The key advantages of this approach as opposed to the custom MIB
          extension are...

            �  Protocol Independence
            �  Verbs and Management Interface not limited to simple Set,
               Show & Trap Commands

          Note:  Much like the SNMP example, integral to this design must
          be the communications mechanism between the Agent and the
          Managed Object.  It is very important that a clearly defined
          mechanism be developed to enable the Agent to access the
          database (health and status, etc.) of the Managed object.

          Conclusion

          It is very important when considering or prototyping a custom
          access module vs. an SNMP custom MIB that one consider the
          following...
            �  If possible, prototype/evaluate all of the management








               requirements.  If your intention is to develop a MIB
               extension, it is important that you model the complex
               object against the SMI.  A good reference for helping with
               this is the "Simple Book" by Marshall Rose.  Failure to do
               a complete modeling job risks making an invalid evaluation
               based on the relative ease of developing a simple MIB
               extension for a simple management application vs the task
               of developing a MIB extension for a complex management
               application.
            �  Evaluate not only the task of developing the MIB extension
               but also the relative complexity of the user interface of
               the two solutions (i.e., how difficult it is to query
               and/or status the remote application through the network
               management tool for the custom MIB extension vs the custom
               Access Module).

1987.5?STAR::DANIELETue Jan 07 1992 13:5448
>          In the words of one of our software engineers who has done both
>          (written custom MIBs and DECmcc access modules),  the basic
>          problems are not apparent until you attempt to develop the
>          applications (i.e., the things that will actually manage the
>          remote agents).  At the basic access level, you can do anything
>          with SNMP that you need to.  The problem is when you want to
>          simplify the object at the UI, it takes a lot of code and effort
>          because the SMI is so primitive.  If your application has a
>          structure that is intuitive to the object, it is likely not to
>          fit the SMI.  That means you write a lot of glue software to get
>          access via SNMP that could be reduced with a custom Access
>          Module."

	But if you are using DECmcc, and the SNMP AM, aren't these moot points?
	The application structure is defined, it's DECmcc's implementation
	of the entity model.  The "glue software" is already written, it's in
	the guts of the AM.  (For instance, the code that transforms a 
	request like MCC> show snmp fred.nac.dec.com interface * all char
	into a series of GetNext Requests, and handles the reponses, and
	the errors, and the UDP retries, packages up an MCC response, etc.)


>
                                     Figure 2

>          Minimally, the following steps are required...
>            1. Define the interface between the Managed Object and the MIB
>               extension.

>            2. Define a MIB extension using the SMI as a guide.
>            3. Modify the SNMP agent by registering the extension.

>            4. Add MIB extensions to the Management System using the  MIB
>               compiler.
>          Integral to this design must be the communications mechanism
>          between the MIB extension and the Managed Object.  It is very
>          important that a clearly defined mechanism be developed to enable
>          the SNMP agent to access the database (health and status, etc.)
>          of the Managed object.

	Now assuming you use the common agent, aren't these all moot points?
	An calling interface exists to register objects and transfer data
	between the agent and the managed object module (the code you would
	have to write).

	My 2 cents,
	Mike