INTERNET-DRAFT                                            C. Kalbfleisch
                                                             Verio, Inc.
                                                             C. Krupczak
                                               Empire Technologies, Inc.
                                                              R. Presuhn
                                                      BMC Software, Inc.
                                                              J. Saperia
                                                       BGS Systems, Inc.
                                                           21 March 1997


                       Application Management MIB
                    <draft-ietf-applmib-mib-02.txt>

Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet- Drafts
   Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

Abstract

   This memo defines an experimental portion of the Management
   Information Base (MIB) for use with network management protocols in
   the Internet Community.  In particular, it defines objects used for
   the management of applications.  This MIB complements the System
   Application MIB, providing for the management of applications' common
   aspects which could not typically be observed without the cooperation
   of the software being managed.


1. Introduction

   This draft furthers the work begun in the systems application mib
   [11].  See the issues list at the end of this document for issues
   that remain to be worked out.



Applmib Working Group    Expires September 1997                 [Page 1]


Internet Draft         Application Management MIB          21 March 1997


   The development of [1], [2], [3], [4], [8] and [9] provides us with a
   base of experience in making a variety of applications visible to
   management; this specification abstracts out the common aspects of
   applications management and provides a generic base usable for the
   management of almost any application.

2. Overview

   Many important topics were not handled in system application MIB
   [11].  The following topics are within the scope of the this
   document:


        -    Support for generic application throughput measurements;

        -    Providing MIB definitions that allow managed entities to
             report what they considered to be units of work;

        -    Providing support for generic application response time
             monitoring capabilities;

        -    Provide explicit support for the management of applications
             distributed within a single managed system ("local"
             distribution);

        -    Address generic resource management issues, including:

             -    files in use;

             -    I/O statistics (from the application's perspective,
                  not at the operating system or device driver level);

             -    other resources are open to discussion, possibilities
                  include:

                  -    various system calls;

                  -    heap usage;

                  -    stack penetration;

                  -    networking resources.

             -    Providing access to dependency information, both in
                  the form of MIB objects to report dependencies on
                  "mission critical" processes, as well as the logging
                  of failures due to dependencies.




Applmib Working Group    Expires September 1997                 [Page 2]


Internet Draft         Application Management MIB          21 March 1997


        -    Provide a generic logging (stderr) capability:

             -    Identify common application log entries interest;

             -    Permit use of specialized log entries where
                  appropriate;

             -    Provide generic facility for the management of this
                  log;

             -    Provide generic facility to control notification
                  generation by the application;

        -    Facilities for the control of applications, including:

             -    Starting and stopping applications and their elements;

             -    Suspending and resuming applications and their
                  elements;

             -    Configuration of application parameters;

             -    A "mission critical process" MIB to identify processes
                  that are of particular interest;

             -    Reconfiguration (e.g., SIGHUP) request capability.

   Note that these issues are addressed at least in part by other
   standards work, including [12] and [13].

   Some topics were identified as being of interest to the applmib
   working group, but outside the scope of this document.

     -    Providing MIB definitions that allow management to define what
          is to be considered an error.  This includes mechanisms for
          filtering and selective forwarding of information from
          notifications or log entries.

   Topics identified as specifically out of scope include:


     -    Providing MIB definitions to allow dynamic control of the
          definition of units of work;

     -    Explicit support for the management of applications
          distributed across multiple systems; (The indexing structure
          and semantics of the system application MIB [11] are not
          sufficient for this task.)



Applmib Working Group    Expires September 1997                 [Page 3]


Internet Draft         Application Management MIB          21 March 1997


     -    Issues of backup and recovery;

     -    Issues of software request, delivery, installation,
          activation, patching, version update, reversion, and removal;

     -    Issues of software validation and integrity checks;

     -    Issues of software licensing.

3. Architecture

     To emulate the object-oriented modeling techniques of subclassing
     and multiple inheritance, the SNMP information model provides for
     the use of tables with common indexes.  The challenge for the
     developer of management applications is to recognize those
     situations in which various aspects of a single logical resource
     are represented in several different tables, possibly defined in
     different MIBs.

     Most of the management information defined here may pertain to any
     number of applications in a managed system.  The simplest way of
     supporting this requirement within the SNMP information model is to
     use tables.  This means that the management information for a
     particular resource may be found in one or more rows of one or more
     tables; the fact that this information pertains to a single
     resource may be deduced from the index values used, possibly with
     the support of mapping tables.  This also means that a single table
     may contain management information relevant to a number of
     applications.  This has significant implementation implications;
     see the implementation issues section below for more information.

     Relationships to other MIBs

     This section will outline the relationships of the components of
     this MIB (usually in the form of common indexing structures) to:

     -    the systems applications MIB [11]

     -    the host resources MIB [1]

     -    the entity MIB [8]

     -    the network services monitoring MIB [2]

   Relationship to NSM

   The Network Services Monitoring MIB is defined as the base set of
   attributes for managing network applications.  This MIB extends that



Applmib Working Group    Expires September 1997                 [Page 4]


Internet Draft         Application Management MIB          21 March 1997


   set of attributes to include information normally obtainable only
   from the managed resource itself, rather than the supporting system.

   The nsmToSysApplElmtRunTable is defined to provide the relationship
   between the NSM and system application MIB frameworks.

   Relationship to the system application MIB

   The system application MIB defines attributes for management of
   applications which can be realized without instrumenting an
   application.  This specification extends that framework to include
   additional attributes which will typically require instrumentation
   within the managed resource.  The sysApplRunElmtIndex is the key
   connection between these two MIBs; it is essential that
   implementations of this MIB and of the system applications MIB
   running concurrently on a given platform employ a consistent policy
   for assigning this value to running application elements.

4. MIB Structure

   The open files table

   The open files table contains one entry for file in use by a
   manageable running application element.  The purpose of this table is
   to identify the files in use and to record I/O activity on each file
   attributable to a particular running application element.

   If multiple running application elements open the same file, there
   will be an entry for each running application element opening that
   file.  Similarly, if a running application element opens a file
   multiple times, there will be an entry in this table for the file
   corresponding to each open.

   The task of combining the information for file activity from this
   table (organized by running application element) into per-application
   statistics can be accomplished by a manager using the System
   Application MIB's [11] sysApplInstallPkgTable to find the installed
   application, the sysApplRunTable to find the running instances of
   that application, and the sysApplElmtRunTable to find the relevant
   values of sysApplElmtRunIndex.  The manager, armed with a set of
   values for sysApplElmtRunIndex, is now able to retrieve the relevant
   portions of the applOpenFileTable and other tables in this MIB.

   Entries in this table are indexed by the application run index and an
   arbitrary integer, chosen so that taken together the application run
   index and this integer yield a unique key for each open file.  The
   following information is available in this table:




Applmib Working Group    Expires September 1997                 [Page 5]


Internet Draft         Application Management MIB          21 March 1997


     -    file name

     -    number of read requests

     -    number of bytes read

     -    timestamp of last read operation

     -    number of write requests

     -    number of bytes written

     -    timestamp of last write operation

     -    number of seek operations

     -    file size

     -    permissions with which file was opened

   Special cases to consider: stdin, stdout, stderr, etc. may require
   some special handling.

   The open files cross-reference table

   This table provides a way to efficiently determine which processes
   are currently holding a file open.  It introduces no new attributes
   of its own, and merely provides an alternative indexing to the open
   file table.

   The open connections table

   This table extends the capabilities provided by the network services
   monitoring MIB [2].  It includes:

     -    time the connection was opened

     -    identification of the transport protocol in use

     -    near-end address and port

     -    far-end address and port

     -    identification of the application layer protocol in use

     -    number of read requests

     -    number of bytes received



Applmib Working Group    Expires September 1997                 [Page 6]


Internet Draft         Application Management MIB          21 March 1997


     -    time of last read request

     -    number of write requests

     -    number of bytes transmitted

     -    time of last write request

   The transaction statistics tables

   Entries in the transaction statistics table are indexed by the
   application element run index and an arbitrary integer, chosen so
   that taken together the application run index and this integer yield
   a unique key for each transaction stream associated with the running
   application element.  A transaction stream may be a file or a
   connection; a column in this table contains the OBJECT IDENTIFIER of
   the instance of applOpenConnectionOpenTime or applOpenFileOpenTime,
   in the open files table or open connections table respectively.  The
   information recorded in the entries of this table includes:

     -    Number of requests issued

     -    Bytes of requests issued

     -    Time of last request issued

     -    Number of responses issued

     -    Bytes of responses issued

     -    Time of last response issued

     -    Number of requests received

     -    Bytes of requests received

     -    Time of last request received

     -    Number of responses received

     -    Bytes of responses received

     -    Time of last response received

     -    Cumulative time between transmission of requests and receipt
          of corresponding responses

     -    Cumulative time between receipt of requests and transmission



Applmib Working Group    Expires September 1997                 [Page 7]


Internet Draft         Application Management MIB          21 March 1997


          of corresponding responses

     The running application element status table

     This table provides information for a running application element.
     Indexed by the sysApplElmtRunIndex, an entry in this table reports
     useful information on that running element's resource usage.
     Entries in this table contain:

     -    current heap usage for this running application element

     -    current number of open network connections for this running
          application element

     Note that other information, such as the current number of open
     files for this running application element, is available from the
     sysapplElmtRunTable in [11].

     The running application element control table

     This table provides rudimentary control over a running application
     element.  Indexed by the sysApplElmtRunIndex, an entry in this
     table gives a manager with appropriate permissions the ability to
     suspend and resume processing by this running element, the ability
     to request reconfiguration, and the ability to terminate the
     running element.

     Variables in this table include:

     -    a suspend/resume control

     -    a reconfiguration request control

     -    a termination request control

     The application component details table

     This table provides time stamps, current size, ownership, and other
     information as it extends the sysApplInstallElmt table.

5. Definitions

     (The SCCS comments immediately following will be stripped from the
     final version; they are merely an artifact of the editor's work
     environment.)

     APPLICATION-MIB DEFINITIONS ::= BEGIN




Applmib Working Group    Expires September 1997                 [Page 8]


Internet Draft         Application Management MIB          21 March 1997


     IMPORTS
         MODULE-IDENTITY, OBJECT-TYPE,
             Counter32, Gauge32, mib-2,
             Unsigned32                      FROM SNMPv2-SMI

         DateAndTime, RowPointer,
             TestAndIncr, TimeStamp,
             TruthValue                      FROM SNMPv2-TC

         MODULE-COMPLIANCE, OBJECT-GROUP
                                              FROM SNMPv2-CONF

         LongUtf8String,
              sysApplElmtRunIndex,
              Utf8String                      FROM SYSAPPL-MIB;

     applicationMib MODULE-IDENTITY
         LAST-UPDATED "9703202153Z"
         ORGANIZATION "Application MIB Working Group"
         CONTACT-INFO
             "Randy Presuhn
              BMC Software, Inc.
              1190 Saratoga Avenue, Suite 100
              San Jose, CA 95129
              USA

              Telephone: +1 800 841-2031
              Facsimile: +1 408 556-0735
              Email: rpresuhn@bmc.com
             "
         DESCRIPTION
             "This MIB defines objects representing generic
              aspects of applications that are of interest to
              management but typically require instrumentation
              within the managed application element.
             "
         ::= { mib-2 3333333333 }
     --ISSUE: need to get assignment for registration

     --
     --      Registration hierarchy for this MIB
     --
     applicationMibObjects OBJECT IDENTIFIER ::=
                              { applicationMib 1 }

     applicationMibTraps OBJECT IDENTIFIER ::=
                              { applicationMib 2 }




Applmib Working Group    Expires September 1997                 [Page 9]


Internet Draft         Application Management MIB          21 March 1997


     applicationMibConformance OBJECT IDENTIFIER ::=
                              { applicationMib 3 }


     --
     --      Groups defined in this MIB
     --
     nsmToSysAppl OBJECT IDENTIFIER ::=
                              { applicationMibObjects 1 }

     applFileGroup OBJECT IDENTIFIER ::=
                              { applicationMibObjects 2 }

     applConnectionGroup OBJECT IDENTIFIER ::=
                              { applicationMibObjects 3 }

     applExConnectionGroup OBJECT IDENTIFIER ::=
                              { applicationMibObjects 4 }

     applTransactionGroup OBJECT IDENTIFIER ::=
                              { applicationMibObjects 5 }

     applElmtRunControlGroup OBJECT IDENTIFIER ::=
                              { applicationMibObjects 6 }

     --
     --  nsmToSysApplElmtRunTable
     --
     --  The table that defines relationships between NSM's applTable
     --  and sysApplMIB's sysApplRunElmtTable.
     --
     nsmToSysApplElmtRunTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF NsmToSysApplElmtRunEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
               "The table that defines relationships between the
                applTable of the Network Services Monitoring MIB
                [2] and the sysApplElmtRunTable of the System
                Application MIB [11]."
             ::= { nsmToSysAppl 1 }

     nsmToSysApplElmtRunEntry OBJECT-TYPE
             SYNTAX  NsmToSysApplElmtRunEntry
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION
               "An entry in the table that defines relationships



Applmib Working Group    Expires September 1997                [Page 10]


Internet Draft         Application Management MIB          21 March 1997


                between the applTable of the Network Services
                Monitoring MIB [2] and the sysApplElmtRunTable
                of the System Application MIB [11]."
             INDEX { nsmToSysApplElmtRunIndex }
             ::= { nsmToSysApplElmtRunTable 1 }

     NsmToSysApplElmtRunEntry ::= SEQUENCE {
             nsmToSysApplElmtRunIndex                Unsigned32,
             nsmToSysApplElmtRunApplIndex            Unsigned32,
             nsmToSysApplElmtRunSysApplRunIndex      Unsigned32,
             nsmToSysApplElmtRunSysApplRunElmtIndex  Unsigned32 }

     nsmToSysApplElmtRunIndex OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An arbitrary integer used for indexing purposes.
                Each entry in this table represents a relationship
                between an entry in applTable of NSM and
                sysApplRunElmtTable of sysApplMIB."
             ::= { nsmToSysApplElmtRunEntry 1 }

     nsmToSysApplElmtRunApplIndex OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The index into the applTable of NSM.  This is used to
                identify an entry in applTable which relates to an
                entry in sysApplRunElmtTable which is indexed by
                nsmToSysApplElmtSysApplRunIndex and
                nsmToSysApplElmtSysApplRunElmtIndex"
             ::= { nsmToSysApplElmtRunEntry 2 }

     nsmToSysApplElmtRunSysApplRunIndex OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The application index into the sysApplRunTable of
                sysApplMIB.  This is also one of the primary
                indices of the sysApplRunElmtTable.  This is used
                in conjunction with the value of
                nsmToSysApplElmtSysApplRunElmtIndex to identify an
                entry in the sysApplRunElmtTable that is related
                to an entry in the applTable."
             ::= { nsmToSysApplElmtRunEntry 3 }



Applmib Working Group    Expires September 1997                [Page 11]


Internet Draft         Application Management MIB          21 March 1997


     nsmToSysApplElmtRunSysApplRunElmtIndex OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The element index into the sysApplRunElmntTable of
                sysApplMIB.  This is used in conjunction with the
                value of nsmToSysApplElmtSysApplRunIndex to identify
                an entry in the sysApplRunElmtTable that is related
                to an entry in the applTable."
             ::= { nsmToSysApplElmtRunEntry 4 }


     -- *************************************************************
     --
     --      applOpenFileTable - Table of Open Files
     --
     -- *************************************************************

     applOpenFileTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplOpenFileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applOpenFileTable reports information on open
                files for running application elements.   This table
                is indexed by sysApplElmtRunIndex [11], effectively
                grouping all entries for a given running application
                element together, and by applOpenFileId, uniquely
                identifying an open file within the context of a
                particular running application element."
             ::= { applFileGroup 1 }

     ApplOpenFileEntry  ::= SEQUENCE
             {
                     applOpenFileId                  Unsigned32,
                     applOpenFileOpenTime            TimeStamp,
                     applOpenFileName                LongUtf8String,
                     applOpenFileReadRequests        Counter32,
                     applOpenFileBytesRead           Counter32,
                     applOpenFileLastReadTime        DateAndTime,
                     applOpenFileWriteRequests       Counter32,
                     applOpenFileBytesWritten        Counter32,
                     applOpenFileLastWriteTime       DateAndTime,
                     applOpenFileSeekRequests        Counter32,
                     applOpenFileSizeHigh            Unsigned32,
                     applOpenFileSizeLow             Unsigned32,
                     applOpenFileOpenMode            OCTET STRING



Applmib Working Group    Expires September 1997                [Page 12]


Internet Draft         Application Management MIB          21 March 1997


             }

     applOpenFileEntry       OBJECT-TYPE
             SYNTAX          ApplOpenFileEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applOpenFileEntry indicates that a file has been
                opened by this running application element and is
                still open.  Note that if a file has been opened
                multiple times, even by the same process, it may
                have multiple entries."
             INDEX           { sysApplElmtRunIndex, applOpenFileId }
             ::= { applOpenFileTable 1 }

     applOpenFileId          OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "This attribute serves to uniquely identify this
                open file in the context of the running application
                element.  Where suitable, the native file descriptor
                number may be used."
             ::= { applOpenFileEntry 1 }

     applOpenFileOpenTime    OBJECT-TYPE
             SYNTAX          TimeStamp
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute records the value of sysUptime.0
                when this file was opened and this entry was
                added to this table.  This attribute serves as a
                discontinuity indicator for the counter attributes
                in this entry."
             ::= { applOpenFileEntry 2 }

     applOpenFileName        OBJECT-TYPE
             SYNTAX          LongUtf8String
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the name of this open file.
                Wherever practical, a fully qualified path name
                should be reported."
     --ISSUE: how to report stdin, stdout, stderr in reasonably
     --ISSUE: platform-independent way?



Applmib Working Group    Expires September 1997                [Page 13]


Internet Draft         Application Management MIB          21 March 1997


             ::= { applOpenFileEntry 3 }

     applOpenFileReadRequests        OBJECT-TYPE
             SYNTAX          Counter32
     --ISSUE: counter64?
             UNITS           "read requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of read requests
                for this file made by this running application
                element.  All read requests for this file by
                this running application element, regardless of
                completion status, are included in this count.

                Discontinuities in this counter can be detected
                by monitoring the applOpenFileOpenTime value for
                this entry."
             ::= { applOpenFileEntry 4 }

     applOpenFileBytesRead   OBJECT-TYPE
             SYNTAX          Counter32
     --ISSUE: counter64?
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes read
                from this file by this running application element.
                Only bytes successfully read are included in
                this count.

                Discontinuities in this counter can be detected
                by monitoring the applOpenFileOpenTime value for
                this entry."
             ::= { applOpenFileEntry 5 }

     applOpenFileLastReadTime        OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the time of the most
                recent read request made by this running application
                element, regardless of completion status, for this
                open file.

                If no read requests have been made by this running



Applmib Working Group    Expires September 1997                [Page 14]


Internet Draft         Application Management MIB          21 March 1997


                application element, the value of this attribute
                shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applOpenFileEntry 6 }

     applOpenFileWriteRequests       OBJECT-TYPE
             SYNTAX          Counter32
     --ISSUE: counter64?
             UNITS           "write requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of write requests
                for this file made by this running application
                element.  All write requests for this file by
                this running application element, regardless of
                completion status, are included in this count.

                Discontinuities in this counter can be detected
                by monitoring the applOpenFileOpenTime value for
                this entry."
             ::= { applOpenFileEntry 7 }

     applOpenFileBytesWritten        OBJECT-TYPE
             SYNTAX          Counter32
     --ISSUE: counter64?
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes written
                to this this file by this running application
                element.  Only bytes successfully written (no errors
                reported by the API in use by the application)
                are included in this count.

                Discontinuities in this counter can be detected
                by monitoring the applOpenFileOpenTime value for
                this entry."
             ::= { applOpenFileEntry 8 }

     applOpenFileLastWriteTime       OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the time of the most
                recent write request made by this running



Applmib Working Group    Expires September 1997                [Page 15]


Internet Draft         Application Management MIB          21 March 1997


                application element, regardless of completion
                status, for this open file.

                If no write requests have been made by this running
                application element, the value of this attribute
                shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applOpenFileEntry 9 }

     applOpenFileSeekRequests        OBJECT-TYPE
             SYNTAX          Counter32
     --ISSUE: counter64?
             UNITS           "seek requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of seek requests
                made on this open file.

                Discontinuities in this counter can be detected
                by monitoring the applOpenFileOpenTime value for
                this entry."
             ::= { applOpenFileEntry 10 }

     applOpenFileSizeHigh    OBJECT-TYPE
             SYNTAX          Unsigned32
             UNITS           "2^32 byte blocks"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This file's current size in 2^32 byte blocks.

                For example, for a file with a total size of
                4,294,967,296 bytes, this attribute would have
                a value of 1; for a file with a total size of
                4,294,967,295 bytes this attribute's value would
                be 0."
             ::= { applOpenFileEntry 11 }

     applOpenFileSizeLow     OBJECT-TYPE
             SYNTAX          Unsigned32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This file's current size modulo 2^32 bytes.

                For example, for a file with a total size of



Applmib Working Group    Expires September 1997                [Page 16]


Internet Draft         Application Management MIB          21 March 1997


                4,294,967,296 bytes this attribute would have
                a value of 0; for a file with a total size of
                4,294,967,295 bytes this attribute's value would
                be 4,294,967,295."
             ::= { applOpenFileEntry 12 }

     applOpenFileOpenMode    OBJECT-TYPE
             SYNTAX          BITS { read(0),
                                    truncateWrite(1),
                                    append(2),
                                    update(3),
                                    binary(4) }
     --ISSUE: the flags of open() may be appropriate, but hard
     --ISSUE: to explain...
     --ISSUE:        +-      read
     --ISSUE:        +-      write
     --ISSUE:        +-      append
     --ISSUE:        +-      create
     --ISSUE:        +-      excl
     --ISSUE:        +-      o_ndelay
     --ISSUE:        +-      n_noctty
     --ISSUE:        +-      nonblock
     --ISSUE:        +-      trunc
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the mode in which the file
                was opened.

                These bits correspond to the Posix/ANSI C library
                function fopen() 'type' parameter, using the
                following mappings:

                     r -> read(0)
                     w -> truncateWrite(1)
                     a -> append(2)
                     + -> update(3)
                     b -> binary(4)

                These bits have the following meanings:

                     read(0) - the file was opened for reading
                     truncateWrite(1) - the file was opened for
                       write, with implicit truncation/creation
                     append(2) - the file was opened for
                       append/creation
                     update(3) - the file was opened for update
                       (selective overwrite)/creation



Applmib Working Group    Expires September 1997                [Page 17]


Internet Draft         Application Management MIB          21 March 1997


                     binary(4) - the file was opened in binary mode.

                The read(0), truncateWrite(1), and append(2) bits
                are mutually exclusive."
             ::= { applOpenFileEntry 13 }



     -- *************************************************************
     --
     --      applOpenFileXrefTable - Open File cross-reference table
     --
     -- *************************************************************

     applOpenFileXrefTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplOpenFileXrefEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applOpenFileXrefTable provides an alternative
                indexing to the information in the
                applOpenFileTable.  Rather than grouping entries by
                sysApplElmtRunIndex, it groups them by their names
                (applOpenFileName).  Since in many environments
                multiple processes may concurrently open a file,
                and a single process may open a file multiple
                times, entries in this table are also indexed by
                sysApplElmtRunIndex and applOpenFileXrefId.  (The
                applOpenFileXrefId is really just applOpenFileId,
                but is needed as a distinct accessible OBJECT-TYPE
                in order to make it possible to answer queries of
                this table.)"
             ::= { applFileGroup 2 }

     ApplOpenFileXrefEntry  ::= SEQUENCE
             {
                     applOpenFileXrefId      Unsigned32
             }

     applOpenFileXrefEntry   OBJECT-TYPE
             SYNTAX          ApplOpenFileXrefEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applOpenFileXrefEntry indicates that a file
                has been opened by a running application element.
                Note that if a file has been opened multiple
                times, even by the same process, it may have



Applmib Working Group    Expires September 1997                [Page 18]


Internet Draft         Application Management MIB          21 March 1997


                multiple entries."
             INDEX           { applOpenFileName,
     --ISSUE: The potential length of applOpenFileName may be a
     --ISSUE: problem given the limitations on OBJECT IDENTIFIERS
     --ISSUE: in SNMP protocol
                               sysApplElmtRunIndex,
                               applOpenFileId }
             ::= { applOpenFileXrefTable 1 }

     applOpenFileXrefId      OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute serves to uniquely identify this
                open file in the context of the running application
                element.  Where suitable, the native file descriptor
                number may be used.  This attribute is like
                applOpenFileId, only accessible."
             ::= { applOpenFileXrefEntry 1 }


     -- *************************************************************
     --
     --      applOpenConnectionTable - Open Connection Table
     --
     -- *************************************************************

     applOpenConnectionTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplOpenConnectionEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionTable provides information
                about open connections from the perspective of
                the running application element.  Entries in this
                table are indexed by sysApplElmtRunIndex and by
                applOpenConnectionId, which serves to uniquely
                identify each connection in the context of a
                running application element."
             ::= { applConnectionGroup 1 }

     ApplOpenConnectionEntry  ::= SEQUENCE
             {
                     applOpenConnectionId            Unsigned32,
                     applOpenConnectionOpenTime      TimeStamp,
                     applOpenConnectionTransport     Utf8String,
                     applOpenConnectionNearEnd       Utf8String,



Applmib Working Group    Expires September 1997                [Page 19]


Internet Draft         Application Management MIB          21 March 1997


                     applOpenConnectionFarEnd        Utf8String,
                     applOpenConnectionApplication   Utf8String,
                     applOpenConnectionReadRequests  Counter32,
                     applOpenConnectionBytesRead     Counter32,
                     applOpenConnectionLastReadTime  DateAndTime,
                     applOpenConnectionWriteRequests Counter32,
                     applOpenConnectionBytesWritten  Counter32,
                     applOpenConnectionLastWriteTime DateAndTime
             }

     applOpenConnectionEntry OBJECT-TYPE
             SYNTAX          ApplOpenConnectionEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applOpenConnectionEntry indicates that a
                running application element has an open connection.
                The entry has information describing that
                connection."
             INDEX           { sysApplElmtRunIndex,
                               applOpenConnectionId }
             ::= { applOpenConnectionTable 1 }

     applOpenConnectionId    OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "This attribute serves to uniquely identify this open
                connection in the context of the running application
                element.  Where suitable, the application's native
                descriptor number may be used."
             ::= { applOpenConnectionEntry 1 }

     applOpenConnectionOpenTime      OBJECT-TYPE
             SYNTAX          TimeStamp
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute records the value of sysUptime.0
                when this connection was opened and this entry was
                added to this table.  This attribute serves as a
                discontinuity indicator for the counter attributes
                in this entry."
             ::= { applOpenConnectionEntry 2 }

     applOpenConnectionTransport     OBJECT-TYPE
             SYNTAX          Utf8String



Applmib Working Group    Expires September 1997                [Page 20]


Internet Draft         Application Management MIB          21 March 1997


     --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionTransport attribute
                identifies the transport protocol in use for
                this connection."
             ::= { applOpenConnectionEntry 3 }

     applOpenConnectionNearEnd       OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: would a simple OCTET STRING be better?
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionFarEnd attribute reports
                the transport address and port information for
                the near end of this connection."
             ::= { applOpenConnectionEntry 4 }

     applOpenConnectionFarEnd        OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: would a simple OCTET STRING be better?
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionFarEnd attribute reports
                the transport address and port information for
                the far end of this connection.

                If not known, as in the case of a connectionless
                transport, the value of this attribute shall be
                a zero-length string."
             DEFVAL { "" }
             ::= { applOpenConnectionEntry 5 }

     applOpenConnectionApplication   OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionApplication attribute
                identifies the application layer protocol in use.
                If not known, the value of this attribute shall
                be a zero-length string."
             DEFVAL { "" }
             ::= { applOpenConnectionEntry 6 }



Applmib Working Group    Expires September 1997                [Page 21]


Internet Draft         Application Management MIB          21 March 1997


     applOpenConnectionReadRequests  OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "read requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of read requests
                for this connection made by this running application
                element.  All read requests for this connection
                by this running application element, regardless
                of completion status, are included in this count.

                Discontinuities in this counter can be detected by
                monitoring the applOpenConnectionOpenTime attribute
                for this entry."
             ::= { applOpenConnectionEntry 7 }

     applOpenConnectionBytesRead     OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes read
                from this connection by this running application
                element.  Only bytes successfully read are included
                in this count.

                Discontinuities in this counter can be detected by
                monitoring the applOpenConnectionOpenTime attribute
                for this entry."
             ::= { applOpenConnectionEntry 8 }

     applOpenConnectionLastReadTime  OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the time of the most
                recent read request made by this running application
                element, regardless of completion status, for this
                open connection.

                If no read requests have been made by this running
                application element for this connection, the value
                of this attribute shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applOpenConnectionEntry 9 }



Applmib Working Group    Expires September 1997                [Page 22]


Internet Draft         Application Management MIB          21 March 1997


     applOpenConnectionWriteRequests OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "write requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenconnectionWriteRequests attribute
                reports the number of write requests, regardless of
                completion status, made by this running application
                element for this open connection.

                Discontinuities in this counter can be detected by
                monitoring the applOpenConnectionOpenTime attribute
                for this entry."
             ::= { applOpenConnectionEntry 10 }

     applOpenConnectionBytesWritten  OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes written
                to this this connection by this running application
                element.  Only bytes successfully written (no errors
                reported by the API in use by the application)
                are included in this count.

                Discontinuities in this counter can be detected by
                monitoring the applOpenConnectionOpenTime attribute
                for this entry."
             ::= { applOpenConnectionEntry 11 }

     applOpenConnectionLastWriteTime OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applOpenConnectionLastWriteTime attribute
                reports the time of the most recent write request
                made by this running application element, regardless
                of completion status, for this open connection.

                If no write requests have been made by this running
                application element for this connection, the value
                of this attribute shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applOpenConnectionEntry 12 }



Applmib Working Group    Expires September 1997                [Page 23]


Internet Draft         Application Management MIB          21 March 1997


     -- *************************************************************
     --
     --      applExConnectionGroup - history information for former
     --      connections.  These tables control the collection of
     --      of connection history information and represent the
     --      accumlated historical data.
     --
     -- *************************************************************


     applExConnectionControlTable    OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplExConnectionControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applExConnectionControlTable controls the
                accumulation of history information about
                connections from the perspective of the running
                application element.  Entries in this table are
                indexed by sysApplElmtRunIndex, giving control
                of connection history accumulation at the at the
                level of each running application element."
             ::= { applExConnectionGroup 1 }

     ApplExConnectionControlEntry  ::= SEQUENCE
             {
                     applExConnectionControlCollect  INTEGER,
                     applExConnectionControlMaxRows  Unsigned32,
                     applExConnectionControlTimeLimit Unsigned32,
                     applExConnectionControlRemItems Counter32
             }

     applExConnectionControlEntry    OBJECT-TYPE
             SYNTAX          ApplExConnectionControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applExConnectionControlEntry provides the
                ability to control the retention of connection
                history information by a running application."
             INDEX           { sysApplElmtRunIndex }
             ::= { applExConnectionControlTable 1 }

     applExConnectionControlCollect  OBJECT-TYPE
             SYNTAX          INTEGER { enabled (1),
                                       frozen (2),
                                       disabled (3) }
             MAX-ACCESS      read-write



Applmib Working Group    Expires September 1997                [Page 24]


Internet Draft         Application Management MIB          21 March 1997


             STATUS          current
             DESCRIPTION
               "When the value of applExConnectionControlCollect is
                'enabled', each time the corresponding running
                application element closes an open connection a new
                entry will be added to the applExConnectionTable.

                When the value of applExConnectionControlCollect
                is 'frozen', no new entries are added to the
                applExConnectionTable for this running application
                element, and old entries are not aged out.

                When the value of applExConnectionControlCollect
                is 'disabled', all entries are removed from
                applExConnectionTable for this running application,
                and no new entries are added."
             ::= { applExConnectionControlEntry 1 }

     applExConnectionControlMaxRows  OBJECT-TYPE
             SYNTAX          Unsigned32
             UNITS           "connection history entries"
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "The maximum number of entries allowed in the
                applExConnectionTable for this running application
                element.  Once the number of rows for this running
                application element in the applExConnectionTable
                reaches this value, the management subsystem will
                remove the oldest entry to make room for the new
                entry to be added.  Entries will be removed on
                the basis of oldest applExconnectionCloseTime
                value first."
             DEFVAL          { 500 }
             ::= { applExConnectionControlEntry 2 }

     applExConnectionControlTimeLimit        OBJECT-TYPE
             SYNTAX          Unsigned32
             UNITS           "seconds"
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "The maximum time in seconds which an entry for this
                running application elementmay exist in the
                applExconnectionTable before it is removed.
                Any entry that is older than this value will be
                removed (aged out) from the table, unless the
                applExConnectionControlCollect is set to 'frozen'.



Applmib Working Group    Expires September 1997                [Page 25]


Internet Draft         Application Management MIB          21 March 1997


                Note that an entry may be aged out prior to
                reaching this time limit if it is the oldest
                entry in the table and must be removed to
                make space for a new entry so as to not
                exceed applExconnectionControlMaxRows, or if
                the applExConnectionControlCollect is set to
                'disabled'."
             DEFVAL          { 7200 }
             ::= { applExConnectionControlEntry 3 }

     applExConnectionControlRemItems OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "connection history entries"
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "The applExConnectionControlRemItems attribute
                reports the number of applExConnectionControlTable
                entries for this running application element
                that were deleted in order to make room for a new
                history entry.

                This count does NOT include entries deleted for the
                following reasons:
                     - the corresponding
                       applExConnectionControlCollect attribute
                       has been set to 'disabled'

                     - the entry has been in the table longer
                       that the time limit indicated
                       by the corresponding
                       applExConnectionControlTimeLimit.
               "
             ::= { applExConnectionControlEntry 4 }


     -- *************************************************************
     --
     --      applExConnectionTable - Table of former connections
     --
     -- *************************************************************

     applExConnectionTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplExConnectionEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applExConnectionTable provides history



Applmib Working Group    Expires September 1997                [Page 26]


Internet Draft         Application Management MIB          21 March 1997


                information about connections from the perspective
                of the running application element.  Entries in
                this table are indexed by sysApplElmtRunIndex and
                by applExConnectionId, which serves to uniquely
                identify each former connection in the context of
                a running application element.

                Entries for closed connections for a given running
                application element can be added to this table only
                if the running application element's entry in the
                applExConnectionControlTable has the value 'enabled'
                for the attribute applExConnectionControlCollect.

                Entries for closed connections are removed under
                the following circumstances:

                     - the running application element no longer
                       exists

                     - the corresponding
                       applExConnectionControlCollect attribute
                       has been set to 'disabled'

                     - the entry has been in the table longer
                       that the time limit
                       indicated by the corresponding
                       applExConnectionControlTimeLimit and the
                       value of applExConnectionControlCollect is
                       not 'frozen'

                     - this is the oldest entry for the running
                       application element in question and the
                       addition of a new element would otherwise
                       cause applExConnectionControlMaxRows to
                       be exceeded for this running application
                       element.

                Removal of an entry under the last condition causes
                the corresponding applExConnectionControlRemItems
                to be incremented."
             ::= { applExConnectionGroup 2 }

     ApplExConnectionEntry  ::= SEQUENCE
             {
                     applExConnectionId              Unsigned32,
                     applExConnectionOpenTime        DateAndTime,
                     applExConnectionCloseTime       DateAndTime,
                     applExConnectionTransport       Utf8String,



Applmib Working Group    Expires September 1997                [Page 27]


Internet Draft         Application Management MIB          21 March 1997


                     applExConnectionNearEnd         Utf8String,
                     applExConnectionFarEnd          Utf8String,
                     applExConnectionApplication     Utf8String,
                     applExConnectionReadRequests    Counter32,
                     applExConnectionBytesRead       Counter32,
                     applExConnectionLastReadTime    DateAndTime,
                     applExConnectionWriteRequests   Counter32,
                     applExConnectionBytesWritten    Counter32,
                     applExConnectionLastWriteTime   DateAndTime
             }

     applExConnectionEntry   OBJECT-TYPE
             SYNTAX          ApplExConnectionEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applExConnectionEntry indicates that a running
                application element once had an open connection,
                which is now closed.  The entry has information
                describing that connection."
             INDEX           { sysApplElmtRunIndex,
                               applExConnectionId }
             ::= { applExConnectionTable 1 }

     applExConnectionId      OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute serves to uniquely identify this
                closed connection in the context of the running
                application element.  This attribute has no other
                semantics."
             ::= { applExConnectionEntry 1 }

     applExConnectionOpenTime        OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute records the time when this
                connection was originally opened."
             ::= { applExConnectionEntry 2 }

     applExConnectionCloseTime       OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current



Applmib Working Group    Expires September 1997                [Page 28]


Internet Draft         Application Management MIB          21 March 1997


             DESCRIPTION
               "This attribute records the time when this
                connection was closed."
             ::= { applExConnectionEntry 3 }

     applExConnectionTransport       OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applExConnectionTransport attribute identifies
                the transport protocol that was in use for this
                former connection."
             ::= { applExConnectionEntry 4 }

     applExConnectionNearEnd OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: ordinary OCTET STRING good enough?
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applExConnectionFarEnd attribute reports
                the transport address and port information for
                the near end of this former connection."
             ::= { applExConnectionEntry 5 }

     applExConnectionFarEnd  OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: ordinary OCTET STRING good enough?
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applExConnectionFarEnd attribute reports
                the transport address and port information for
                the far end of this former connection.

                If not known, as in the case of a connectionless
                transport, the value of this attribute shall be
                a zero-length string."
             DEFVAL { "" }
             ::= { applExConnectionEntry 6 }

     applExConnectionApplication     OBJECT-TYPE
             SYNTAX          Utf8String
     --ISSUE: OBJECT IDENTIFIER and enumeration are alternatives
             MAX-ACCESS      read-only
             STATUS          current



Applmib Working Group    Expires September 1997                [Page 29]


Internet Draft         Application Management MIB          21 March 1997


             DESCRIPTION
               "The applExConnectionApplication attribute
                identifies the application layer protocol that was
                in use.  If not known, the value of this attribute
                shall be a zero-length string."
             DEFVAL { "" }
             ::= { applExConnectionEntry 7 }

     applExConnectionReadRequests    OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "read requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of read requests
                for this connection made by this running application
                element.  All read requests for this connection
                by this running application element, regardless
                of completion status, are included in this count."
             ::= { applExConnectionEntry 8 }

     applExConnectionBytesRead       OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes read
                from this connection by this running application
                element.  Only bytes successfully read are included
                in this count. "
             ::= { applExConnectionEntry 9 }

     applExConnectionLastReadTime    OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the time of the most
                recent read request made by this running application
                element, regardless of completion status, for this
                former connection.

                If no read requests have been made by this running
                application element for this connection, the value
                of this attribute shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applExConnectionEntry 10 }



Applmib Working Group    Expires September 1997                [Page 30]


Internet Draft         Application Management MIB          21 March 1997


     applExConnectionWriteRequests   OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "write requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applExconnectionWriteRequests attribute
                reports the number of write requests, regardless of
                completion status, made by this running application
                element for this former connection."
             ::= { applExConnectionEntry 11 }

     applExConnectionBytesWritten    OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "This attribute reports the number of bytes written
                to this former connection by this running
                application element.  Only bytes successfully
                written (no errors reported by the API in use by
                the application) are included in this count."
             ::= { applExConnectionEntry 12 }

     applExConnectionLastWriteTime   OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applExConnectionLastWriteTime attribute reports
                the time of the most recent write request made by
                this running application element, regardless of
                completion status, for this former connection.

                If no write requests have been made by this running
                application element for this connection, the value
                of this attribute shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applExConnectionEntry 13 }


     -- *************************************************************
     --
     --      applTransactionControlTable - common and control
     --      information for transaction stream monitoring
     --
     -- *************************************************************



Applmib Working Group    Expires September 1997                [Page 31]


Internet Draft         Application Management MIB          21 March 1997


     applTransactionControlTable     OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplTransactionControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "The applTransactionControlTable contains common
                information for the control of transaction
                statistic accumulation."
             ::= { applTransactionGroup 1 }

     ApplTransactionControlEntry ::= SEQUENCE {
             applTransactionStreamId         Unsigned32,
             applTransactionStreamPointer    RowPointer,
             applTransactionStreamDescr      Utf8String,
             applTransactionStreamUnitOfWork Utf8String
                                                             }

     applTransactionControlEntry OBJECT-TYPE
             SYNTAX  ApplTransactionControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applTransactionControlentry contains control
                information for a single transaction stream.  A
                transaction stream can be a network connection,
                file, or other source of transactions."
             INDEX           { sysApplElmtRunIndex,
                               applTransactionStreamId }
             ::= { applTransactionControlTable 1 }

     applTransactionStreamId OBJECT-TYPE
             SYNTAX          Unsigned32
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applTransactionStreamId serves to uniquely
                identify a transaction stream in the context of
                a given running application element."
             ::= { applTransactionControlEntry 1 }

     applTransactionStreamPointer            OBJECT-TYPE
             SYNTAX          RowPointer
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamPointer attribute
                identifies the network connection or file
                I/O stream over which these transactions are



Applmib Working Group    Expires September 1997                [Page 32]


Internet Draft         Application Management MIB          21 March 1997


                carried.  This will normally point to an entry
                in the applOpenFilesTable or to an entry in the
                applOpenConnectionsTable.  If this transaction
                stream is no associated with a specific file or
                connection, this attribute's value shall be
                { 0 0 }."
             ::= { applTransactionControlEntry 2 }

     applTransactionStreamDescr              OBJECT-TYPE
             SYNTAX          Utf8String
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamDescr attribute provides
                a human-readable description of this transaction
                stream.

                If no descriptive information is available, this
                attribute's value shall be a zero-length string."
             DEFVAL { "" }
             ::= { applTransactionControlEntry 3 }

     applTransactionStreamUnitOfWork         OBJECT-TYPE
             SYNTAX          Utf8String
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamUnitOfWork attribute
                provides a human-readable definition of what the
                unit of work is for this transaction stream.

                If no descriptive information is available, this
                attribute's value shall be a zero-length string."
             DEFVAL { "" }
             ::= { applTransactionControlEntry 4 }



     -- *************************************************************
     --
     --      applTransactionStreamTable
     --
     -- *************************************************************

     applTransactionStreamTable      OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplTransactionStreamEntry
             MAX-ACCESS      not-accessible
             STATUS          current



Applmib Working Group    Expires September 1997                [Page 33]


Internet Draft         Application Management MIB          21 March 1997


             DESCRIPTION
               "The applTransactionStreamTable contains entries,
                organized by running application element, for each
                open transaction stream.

                The simple model of a transaction used here looks
                like this:

                     invoker  |   Request     | performer
                              | - - - - - - > |
                              |               |
                              |   Response    |
                              | < - - - - - - |
                              |               |

                Since in some protocols it is possible for an entity
                to take on both the invoker and performer roles,
                information here is accumulated for transmitted
                and received requests, as well as for transmitted
                and received responses.  Counts are maintained
                for both transactions and bytes transferred."
             ::= { applTransactionGroup 2 }

     ApplTransactionStreamEntry ::= SEQUENCE {
             applTransactionStreamUpTime     TimeStamp,
             applTransactionStreamTxReqs     Counter32,
             applTransactionStreamTxReqBytes Counter32,
             applTransactionStreamTxReqTime  DateAndTime,
             applTransactionStreamTxRsps     Counter32,
             applTransactionStreamTxRspBytes Counter32,
             applTransactionStreamTxRspTime  DateAndTime,
             applTransactionStreamRxReqs     Counter32,
             applTransactionStreamRxReqBytes Counter32,
             applTransactionStreamRxReqTime  DateAndTime,
             applTransactionStreamRxRsps     Counter32,
             applTransactionStreamRxRspBytes Counter32,
             applTransactionStreamRxRspTime  DateAndTime,
             applTransactionStreamInvCumTime Counter32,
             applTransactionStreamPrfCumTime Counter32       }


     applTransactionStreamEntry OBJECT-TYPE
             SYNTAX  ApplTransactionStreamEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applTransactionStreamEntry reports transaction
                throughput information for a transaction stream.



Applmib Working Group    Expires September 1997                [Page 34]


Internet Draft         Application Management MIB          21 March 1997


                Entries in this table are indexed identically to
                those in the applTransactionControlTable."

             INDEX           { sysApplElmtRunIndex,
                               applTransactionStreamId }
             ::= { applTransactionStreamTable 1 }

     applTransactionStreamUpTime             OBJECT-TYPE
             SYNTAX          TimeStamp
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamUpTime attribute records
                the value of sysUpTime.0 when this transaction
                stream entry was created and serves as a
                discontinuity indicator for all of the counters
                in this row."
             ::= { applTransactionStreamEntry 2 }


     applTransactionStreamTxReqs             OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxReqs attribute reports
                the number of requests transmitted by this running
                application element over this transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 4 }


     applTransactionStreamTxReqBytes         OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxReqBytes attribute
                reports the number of bytes transmitted by this
                running application element in requests over this
                transaction stream.

                Discontinuities in this counter can be detected



Applmib Working Group    Expires September 1997                [Page 35]


Internet Draft         Application Management MIB          21 March 1997


                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 5 }

     applTransactionStreamTxReqTime          OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxReqTime attribute reports
                the time of the most recent transmission of a
                request over this transaction stream.

                If no requests have been sent by this running
                application element over this transaction
                stream, the value of this attribute shall be
                '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applTransactionStreamEntry 6 }

     applTransactionStreamTxRsps             OBJECT-TYPE
             SYNTAX          Counter32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxRsps attribute reports
                the number of responses sent by this running
                application element over this transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 7 }

     applTransactionStreamTxRspBytes         OBJECT-TYPE
             SYNTAX          Counter32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxRspBytes attribute
                reports the number of bytes sent by this running
                application element in responses over this
                transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 8 }



Applmib Working Group    Expires September 1997                [Page 36]


Internet Draft         Application Management MIB          21 March 1997


     applTransactionStreamTxRspTime          OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamTxRspTime attribute
                reports the time the most recent response was
                transmitted over this transaction stream by this
                running application element.

                If no responses have been sent by this running
                application element over this transaction
                stream, the value of this attribute shall be
                '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applTransactionStreamEntry 9 }

     applTransactionStreamRxReqs             OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "requests"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxReqs attribute reports
                the number requests received by this running
                application element over this transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 10 }

     applTransactionStreamRxReqBytes         OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxReqBytes attribute
                reports the number of bytes received by his
                running application element in requests on this
                transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 11 }




Applmib Working Group    Expires September 1997                [Page 37]


Internet Draft         Application Management MIB          21 March 1997


     applTransactionStreamRxReqTime          OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxReqTime attribute reports
                the time of the most recent receipt by this
                running application element of a request on this
                transaction stream.

                If no requests have been received by this running
                application element over this transaction
                stream, the value of this attribute shall be
                '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applTransactionStreamEntry 12 }

     applTransactionStreamRxRsps             OBJECT-TYPE
             SYNTAX          Counter32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxRsps attribute reports
                the number of responses received by this running
                application element on this transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 13 }

     applTransactionStreamRxRspBytes         OBJECT-TYPE
             SYNTAX          Counter32
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxRspBytes attributes
                reports the number of bytes in responses received
                by this running application element on this
                transaction stream.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 14 }

     applTransactionStreamRxRspTime          OBJECT-TYPE
             SYNTAX          DateAndTime



Applmib Working Group    Expires September 1997                [Page 38]


Internet Draft         Application Management MIB          21 March 1997


             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamRxRspTime attribute records
                the time of the receipt by this running application
                element of the most recent response on this
                transaction stream.

                If no responses have been received by this
                running application element over this transaction
                stream, the value of this attribute shall be
                '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applTransactionStreamEntry 15 }

     applTransactionStreamInvCumTime         OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "milliseconds"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamInvCumTime attribute
                reports the cumulative sum of the times measured
                between the transmission of requests and the
                receipt of the corresponding responses.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 16 }

     applTransactionStreamPrfCumTime         OBJECT-TYPE
             SYNTAX          Counter32
             UNITS           "milliseconds"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applTransactionStreamPrfCumTime attribute
                reports the cumulative sum of the times measured
                between receipt of requests and the transmission
                of the corresponding responses.

                Discontinuities in this counter can be detected
                by monitoring the applTransactionStreamUpTime for
                this row."
             ::= { applTransactionStreamEntry 17 }





Applmib Working Group    Expires September 1997                [Page 39]


Internet Draft         Application Management MIB          21 March 1997


     --
     --ISSUE: More detailed statistics from the ARM mib to come...
     --


     -- *************************************************************
     --
     --      applElmtRunControlGroup - monitor and control running
     --      application elements
     --
     -- *************************************************************

     applElmtRunStatusTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplElmtStatusEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "This table provies information on running
                application elements, complementing information
                avilable in the correspondingly indexed
                sysApplelmtRunTable [11]."
             ::= { applElmtRunControlGroup 1 }

     ApplElmtRunStatusEntry ::= SEQUENCE {
             applElmtRunStatusSuspended              TruthValue,
             applElmtRunStatusHeapUsage              Gauge32,
             applElmtRunStatusOpenConnections        Gauge32,
             applElmtRunStatusLastErrorMsg           Utf8String,
             applElmtRunStatusLastErrorTime          DateAndTime }

     applElmtRunStatusEntry OBJECT-TYPE
             SYNTAX          ApplElmtRunStatusEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applElmtRunStatusEntry contains information
                to support the control and monitoring of a single
                running application element."
             INDEX { sysApplElmtRunIndex }
             ::= { applElmtRunStatusTable 1 }

     applElmtRunStatusSuspended      OBJECT-TYPE
             SYNTAX          TruthValue
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applElmtRunStatusSuspended attribute reports
                whether processing by this running application



Applmib Working Group    Expires September 1997                [Page 40]


Internet Draft         Application Management MIB          21 March 1997


                element has been suspended, whether by management
                request or by other means."
             ::= { applElmtRunStatusEntry 1 }

     applElmtRunStatusHeapUsage      OBJECT-TYPE
             SYNTAX          Gauge32
             UNITS           "bytes"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applElmtRunStatusHeapUsage reports the
                current approximate heap usage by this running
                application element.
               "
             ::= { applElmtRunStatusEntry 2 }

     applElmtRunStatusOpenConnections        OBJECT-TYPE
             SYNTAX          Gauge32
             UNITS           "connections"
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applElmtRunStatusOpenConnections reports
                the current number of open connections in use
                by this running application element."
             ::= { applElmtRunStatusEntry 3 }

     applElmtRunStatusLastErrorMsg   OBJECT-TYPE
             SYNTAX          Utf8String
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applElmtRunStatusLastErrorMessage attribute
                reports the most recent error message (typically
                written to stderr or a system error logging
                facility) from this running application element.
                If no such message has yet been generated, the value
                of this attribute shall be a zero-length string."
             DEFVAL { "" }
             ::= { applElmtRunStatusEntry 4 }

     applElmtRunStatusLastErrorTime  OBJECT-TYPE
             SYNTAX          DateAndTime
             MAX-ACCESS      read-only
             STATUS          current
             DESCRIPTION
               "The applElmtRunStatusLastErrorTime attribute
                reports the time of the most recent error message



Applmib Working Group    Expires September 1997                [Page 41]


Internet Draft         Application Management MIB          21 March 1997


                in applElmtRunStatusLastErrorMsg.

                If no such message has yet been generated, the value
                of this attribute shall be '0000000000000000'H "
             DEFVAL { '0000000000000000'H }
             ::= { applElmtRunStatusEntry 5 }



     applElmtRunControlTable OBJECT-TYPE
             SYNTAX          SEQUENCE OF ApplElmtRunControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "This table provides the ability to control
                application elements, complementing information
                avilable in the correspondingly indexed
                sysApplelmtRunTable [11]."
             ::= { applElmtRunControlGroup 2 }

     ApplElmtRunControlEntry ::= SEQUENCE {
                     applElmtRunControlSuspend       TruthValue,
                     applElmtRunControlReconfigure   TestAndIncr,
                     applElmtRunControlTerminate     TruthValue }

     applElmtRunControlEntry OBJECT-TYPE
             SYNTAX          ApplElmtRunControlEntry
             MAX-ACCESS      not-accessible
             STATUS          current
             DESCRIPTION
               "An applElmtRunControlEntry contains information
                to support the control of a single running
                application element."
             INDEX { sysApplElmtRunIndex }
             ::= { applElmtRunControlTable 1 }

     applElmtRunControlSuspend       OBJECT-TYPE
             SYNTAX          TruthValue
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "Setting this variable to 'true' requests the
                suspension of processing by this running application
                element.  Setting this variable to 'false' requests
                that processing be resumed.  The effect, if any,
                will be reported by the applElmtRunStatusSuspended
                attribute."
             DEFVAL { false }



Applmib Working Group    Expires September 1997                [Page 42]


Internet Draft         Application Management MIB          21 March 1997


             ::= { applElmtRunControlEntry 1 }

     applElmtRunControlReconfigure   OBJECT-TYPE
             SYNTAX          TestAndIncr
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "Changing the value of this variable requests
                that the running application element re-load
                its configuration (like SIGHUP for many
                UNIX-based daemons)."
             ::= { applElmtRunControlEntry 2 }

     applElmtRunControlTerminate     OBJECT-TYPE
             SYNTAX          TruthValue
             MAX-ACCESS      read-write
             STATUS          current
             DESCRIPTION
               "Setting the value of applElmtRunControlTerminate
                to 'true' requests that the running application
                element terminate processing and exit in an
                orderly manner.  This is a 'polite' shutdown
                request."
             DEFVAL { false }
             ::= { applElmtRunControlEntry 3 }


     END


6. Implementation Issues

   Unlike the system application MIB [11], in many environments support
   for much of this MIB requires instrumentation built into the managed
   resource.  Some tables may be implemented by a single monitor
   process; for others, the implementation may be distributed within the
   managed system with the resources being managed.

   As a practical matter, this means that the management infrastructure
   of the managed system must support different subagents taking
   responsibility for different rows of a single table.  This can be
   supported by Agentx [14] as well as other subagent protocols [15].

   The sysApplRunElmtIndex is the key connection between this MIB and
   the systems application MIB.  It is essential that implementations of
   this two running concurrently on a given platform employ a consistent
   policy for assigning this value to running application elements.




Applmib Working Group    Expires September 1997                [Page 43]


Internet Draft         Application Management MIB          21 March 1997


7. Security Considerations

   By making potentially sensitive information externally accessible,
   the capabilities supported by the MIB have the potential of becoming
   security problems.

   The tables in this MIB are organized to separate sensitive control
   capabilities from less sensitive usage information.  The MIB is
   structured to be useful for managers with read-only access rights.

   The capabilities supported by this MIB include several that may be of
   value to a security administrator.  These include the ability to
   monitor the level of usage of a given application, to verify
   licenses, and to check the integrity of application components.

8. Acknowledgements

   This document was produced by the Application MIB working group.

   The author gratefully acknowledges the comments and contributions of
   the following individuals:

             Carl Kalbfleisch
             John Saperia
             Cheryl Krupczak

9. Editors' Addresses

   Carl Kalbfleisch
   Verio, Inc.
   1950 Stemmons Frwy
   2026 INFOMART
   Dallas, TX 75207
   USA

   Phone: +1 972 238-8303
   Fax:   +1 214 672-7275

   E-Mail: cwk@verio.net


   Cheryl Krupczak
   Empire Technologies, Inc.
   541 Tenth Street, NW Suite 169
   Atlanta, GA 30318

   Phone: +1 770 384-0184




Applmib Working Group    Expires September 1997                [Page 44]


Internet Draft         Application Management MIB          21 March 1997


   E-Mail: cheryl@empiretech.com


   Randy Presuhn
   BMC Software, Inc.
   PEER Networks Division
   1190 Saratoga Avenue
   San Jose, CA 95129
   USA

   Phone: +1 408 556-0720
   Fax:   +1 408 556-0735

   E-Mail: rpresuhn@bmc.com


   Jon Saperia
   BGS Systems, Inc.
   128 Technology Center
   Waltham, MA 02254
   USA

   Phone: +1 617 891-0000 ext 340

   E-Mail: saperia@networks.bgs.com

10. References

   [1]  Grillo, P., and S. Waldbusser, "Host Resources MIB", RFC 1514,
        September 1993.

   [2]  Freed, N., and S. Kille, "Network Services Monitoring MIB", RFC
        1565, January 1994.

   [3]  Freed, N., and S. Kille, "Mail Monitoring MIB", RFC 1566, January
        1994.

   [4]  Brower, D., Purvy, R., Daniel, A., Sinykin, M., and J. Smith,
        "Relational Database Management System (RDBMS) Management
        Information Base (MIB) using SMIv2", RFC 1697, August 1994.

   [5]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
        of Management Information for Version 2 of the Simple Network
        Management Protocol (SNMPv2)", RFC 1902, January 1996.

   [6]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
        Conventions for Version 2 of the Simple Network Management Protocol
        (SNMPv2)", RFC 1903, January 1996.



Applmib Working Group    Expires September 1997                [Page 45]


Internet Draft         Application Management MIB          21 March 1997


   [7]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Conformance
        Statements for Version 2 of the Simple Network Management Protocol
        (SNMPv2)", RFC 1904, January 1996.

   [8]  McCloghrie, K. and A. Bierman, "Entity MIB", RFC 2037, October
        1996.

   [9]  C. Kalbfleisch, "Applicability of Standards Track MIBs to
        Management of World Wide Web Servers", RFC 2039, November 1996.

   [10] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
        10646", RFC 2044, October 1996.

   [11] Krupczak, C., Saperia, J., and R. Sturm, "Definitions of Managed
        Objects for Applications", <draft-ietf-applmib-sysapplmib-05.txt>,
        November 1996.

   [12] ITU-T Recommendation X.744 | ISO/IEC IS 10164-18:1996, Information
        Technology - Open Systems Interconnection - Systems Management:
        Software Management Function, 1996.

   [13] IEEE P1387.2, POSIX System Administration - Part 2: Software
        Administration.  (Draft)

   [14] Francisco, D., Daniele, M., and B. Wijnen, "Agent Extensibility
        (AgentX) Protocol", <draft-ietf-agentx-pro-01.txt>, November, 1995.

   [15] Rose, M.  "SNMP MUX Protocol and MIB", RFC 1227, May 1991.























Applmib Working Group    Expires September 1997                [Page 46]


Internet Draft         Application Management MIB          21 March 1997


11. Issues and List of Things Left To Be Done


        -    Decide which object definitions should be borrowed or
             reference from the ARM work.

        -    Resolve whether file I/O counters should be Counter32 or
             Counter64.

        -    Resolve how names for files like stdin, stdout, stderr and
             redirected streams should be be reported.

        -    For the file mode bits, should the open() model be used or
             should we go with the fopen() model?

        -    Do we need to report current mode in addition to open mode?
             For example, fcntl() can change append mode.

        -    The indexing of applOpenFileXrefTable by file name is
             problematic given the SNMP constraints on OBJECT IDENTIFIER
             length.

        -    The syntax for the identifiers for transport and
             application protocol identifiers should be narrowed down a
             bit.

        -    MIB definitions to support the following capabilities are
             still needed:

             -    system calls ?

             -    stack penetration ?

             -    other networking resources

             -    dependency information

             -    logging capability

        -    align with stdguide requirements

        -    add conformance clauses









Applmib Working Group    Expires September 1997                [Page 47]