[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 03 04 05 06 07 08 09 10 11 12 13 14 RFC 4150

RMONMIB Working Group                                     Russell Dietz
                               TPM MIB                  Apptitude, Inc.
Internet-Draft                                            July 14, 2000



                   Transport Performance Metrics MIB



                  <draft-ietf-rmonmib-tpm-mib-01.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026 [RFC2026].

   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 mate-
   rial or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

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

   Distribution of this document is unlimited. Please send comments to
   the author, <rsdietz@apptitude.com>.

1.  Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

2.  Abstract




Expires January 14, 2001                                        [Page 1]

Internet-Draft                   TPM MIB                   July 14, 2000


   This memo defines an experimental portion of the Management Informa-
   tion Base (MIB) for use with network management protocols in the
   Internet community.  In particular, it describes managed objects used
   for monitoring selectable performance metrics and statistics derived
   from the monitoring of network packets and transport protocol states.














































Expires January 14, 2001                                        [Page 2]

Internet-Draft                   TPM MIB                   July 14, 2000


3.  Table of Contents

1.  Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . .   1
2.  Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
3.  Table of Contents  . . . . . . . . . . . . . . . . . . . . . . .   3
4.  The SNMP Management Framework  . . . . . . . . . . . . . . . . .   4
5.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
5.1.  Terms  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   5
5.2.  Report Aggregations  . . . . . . . . . . . . . . . . . . . . .   6
5.3.  Structure of the MIB . . . . . . . . . . . . . . . . . . . . .   8
5.4.  Performance Metric Conventions . . . . . . . . . . . . . . . .   8
5.5.  Relationship to the Remote Monitoring MIB  . . . . . . . . . .   8
5.6.  Relationship to RMON MIB Protocol Identifier Reference . . . .   8
5.7.  Relationship to RMON MIB Performance Metric Identifiers  . . .   8
5.8.  Relationship to Application Performance Measurement MIB  . . .   9
6.  Metrics Perspective  . . . . . . . . . . . . . . . . . . . . . .   9
6.1.  Metric Structure . . . . . . . . . . . . . . . . . . . . . . .  10
6.2.  Metric Analysis  . . . . . . . . . . . . . . . . . . . . . . .  11
6.3.  Metric Cutting Room Floor  . . . . . . . . . . . . . . . . . .  12
7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
8.  Intellectual Property  . . . . . . . . . . . . . . . . . . . . .  51
9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . .  51
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . .  52
11. Security Considerations  . . . . . . . . . . . . . . . . . . . .  54
12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . .  55
A.  Full Copyright Statement . . . . . . . . . . . . . . . . . . . .  55

























Expires January 14, 2001                                        [Page 3]

Internet-Draft                   TPM MIB                   July 14, 2000


4.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major compo-
   nents:

    o   An overall architecture, described in RFC 2571 [RFC2571].

    o   Mechanisms for describing and naming objects and events for the
        purpose of management.  The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
        1215 [RFC1215].  The second version, called SMIv2, is described
        in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and
        STD 58, RFC 2580 [RFC2580].

    o   Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [RFC1157].  A second version of
        the SNMP message protocol, which is not an Internet standards
        track protocol, is called SNMPv2c and described in RFC 1901
        [RFC1901] and RFC 1906 [RFC1906].  The third version of the mes-
        sage protocol is called SNMPv3 and described in RFC 1906
        [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574].

    o   Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of proto-
        col operations and associated PDU formats is described in RFC
        1905 [RFC1905].

    o   A set of fundamental applications described in RFC 2573
        [RFC2573] and the view-based access control mechanism described
        in RFC 2575 [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations.  The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64).  Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process.  However, this loss of machine



Expires January 14, 2001                                        [Page 4]

Internet-Draft                   TPM MIB                   July 14, 2000


   readable information is not considered to change the semantics of the
   MIB.

5.  Overview

   This document continues the architecture created in the RMON MIB
   [RFC2021] by providing a major feature upgrade, primarily by provid-
   ing new metrics and studies containing the metrics to assist in the
   analysis of performance for traffic flow in the network, in direct
   relationship to the transporting of application layer protocols.

   Performance monitoring agents have been widely used to analyze the
   parameters and metrics related to the perceived performance of dis-
   tributed applications and services in networks.  The metrics col-
   lected by these agents has ranged from basic response time to a com-
   bination of metrics related to the loss and re-transmission of data-
   grams and PDUs.  While the metrics are becoming more useful in the
   implementation of service level monitoring and troubleshooting tools,
   the lack of a standard method to report these in has limited the
   deployment to very specific customer needs and areas.

   This document is intended to create a general framework for the col-
   lection and reporting of performance related metrics on traffic flows
   in a network.  The MIB in this document in directly linked to the
   current RMON-2 MIB [RFC2021] and uses the Protocol Directory as a key
   component in reporting the layering involved in the traffic flows.

   While this document outlines the basic measurements of performance in
   regard to the transporting of application flows, it does not attempt
   to measure or provide a means to measure the actual perceived perfor-
   mance of the application transactions or quality.  The detailed mea-
   surements of end-user perceived performance is directly related to
   this document and may be found in the APM MIB [APM].

   The objects defined in this document are intended as an interface
   between an RMON agent and an RMON management application and are not
   intended for direct manipulation by humans.  While some users may
   tolerate the direct display of some of these objects, few will toler-
   ate the complexity of manually manipulating objects to accomplish row
   creation.  These functions should be handled by the management appli-
   cation.

5.1.  Terms

   This document uses some terms that need introduction:

   DataSource
        A source of data for monitoring purposes. This term is used



Expires January 14, 2001                                        [Page 5]

Internet-Draft                   TPM MIB                   July 14, 2000


        exactly as defined in the RMON-2 MIB [RFC2021].

   protocol
        A specific protocol encapsulation, as identified for monitoring
        purposes. This term is used exactly as defined in the RMON
        Protocol Identifiers document [RFC2074].

   performance metric
        A specific statistical reporting metric, as identified for
        monitoring purposes.  There can be several metrics reported by
        an agent in the same implementation.  The metrics are
        extensible based on the agent implementation.

5.2.  Report Aggregation

   This MIB provides functions to aggregate measurements into higher
   level summaries.

   Every traffic flow is identified by its protocol, server, and client
   and has one or more metrics related to the performance of the trans-
   port protocol for a given application flow. For example, in a 5
   minute period several transactions might be recorded:

       Protocol  Client  Server   Metric
       HTTP      Jim     Amazon   50
       SAP/R3    Jane    SAP      20
       HTTP      Joe     HR       35
       FTP       Jim     ietf     20
       HTTP      Joe     HR       15
       RealVideo Joe     CNN      18
       HTTP      Jane    HR       22

   These traffic flows can be aggregated in several ways, providing sta-
   tistical summaries - for example summarizing all HTTP transported
   flows, or all HTTP transported flows to the HR Server.  Note that
   data from different protocols may not be summarized because:

      1. The performance characteristics of different protocols
      differ widely enough to render statistical analysis
      meaningless.

      2. The transport metrics of different protocols may be
      different, making a statistical analysis impossible.

   Aggregating traffic flows collected over a period requires aggrega-
   tion algorithms. Several are provided:

   FlowCount



Expires January 14, 2001                                        [Page 6]

Internet-Draft                   TPM MIB                   July 14, 2000


       The total number of traffic flows during this period

   SuccessfulFlows
       The total number of traffic flows that were opened and
       closed

   For example, when aggregating the previous set of transactions by
   protocol we get (for simplicity the example only shows FlowCount,
   SuccessfulFlow, and a generic metric):

       Protocol  Count Metric
       HTTP      4     3
       SAP/R3    1     1
       FTP       1     1
       RealVideo 1     1

   There are four different types of aggregation.

      The flows(1) aggregation is the simplest. All traffic
      flows that share common protocol/server/client 3-tuples
      are aggregated together, resulting in a set of metrics
      for all such unique 3-tuples.

      The clients(2) aggregation results in somewhat more
      aggregation (i.e. fewer resulting records). All
      traffic flows that share common protocol/client tuples are
      aggregated together, resulting in a set of metrics for all
      such unique tuples.

      The servers(3) aggregation usually results in still more
      aggregation (i.e. fewer resulting records). All
      traffic flows that share common protocol/server tuples are
      aggregated together, resulting in a set of metrics for all
      such unique tuples.

      The protocols(4) aggregation results in the most
      aggregation (i.e. the fewest resulting records). All
      traffic flows that share a common protocol are aggregated
      together, resulting in a set of metrics for all such unique
      protocols.

5.3.  Structure of the MIB

   The objects are arranged in the following groups:

       -- transport performance metric to protocol directory

       -- transport performance metric studies



Expires January 14, 2001                                        [Page 7]

Internet-Draft                   TPM MIB                   July 14, 2000


       -- transport performance metric reports


5.4.  Performance Metric Conventions

   In order to properly measure the performance of traffic flows in a
   network, the proper analysis of a set of metrics is required.  Since
   a large majority of the metrics have a basis of time, the use of a
   simple statistical model is feasible.  Therefore, the MIB definitions
   within this document all use a basic set of statistical computed val-
   ues to assist in further analysis by a management application.

   The remaining subsections in this section detail the common struc-
   tured features the are applied to the performance metrics in the sta-
   tistical format described above.  The Transport Performance Metrics
   MIB Performance Metric Identifiers [PM] describes the basic set of
   metrics supported in this MIB-set framework.  Additional details on
   the method for analyzing these metrics is also found in the Indenti-
   fiers document.

5.5.  Relationship to the Remote Monitoring MIB

   This document describes the implementation of an additional MIB for
   the support of performance related metrics within the framework of
   the RMON-2 MIB [RFC2021].  The objects and table defined in this MIB
   are an extension to the existing framework for the support of both
   Client/Server and Server push related applications and services.

5.6.  Relationship to RMON MIB Protocol Identifier Reference

   This document uses the Protocol Indentifiers outlined in the current
   Protocol Identifier Reference document, RFC 2074 [RFC2074].  The pro-
   tocol index values throughout the document are a direct reference to
   the same relationship that exists between the RMON-2 MIB [RFC2021]
   and the Protocol Identifier Reference document, RFC 2074 [RFC2074].

5.7.  Relationship to RMON MIB Performance Metric Identifiers

   This document uses the Performance Metric Indentifiers outlined in
   the current Performance Metric Reference document, [PM].  The perfor-
   mance metric index values throughout the document are a direct refer-
   ence to the metrics defined in the reference.

5.8.  Relationship to Application Performance Measurement MIB

   This document uses the apmReportControlIndex and apmReportIndex as
   outlined in the current Application Performance Measurement MIB draft
   document [APM].  These objects are used to create a reference link



Expires January 14, 2001                                        [Page 8]

Internet-Draft                   TPM MIB                   July 14, 2000


   for the purpose of reporting traffic flow details on application pro-
   tocol measurements.

6.  Metrics Perspective

   When dealing with time based metrics on application data packets it
   would be ideal if all the timestamps and related data could be stored
   and forwarded for later analysis.  However when faced with thousands
   of conversations per second on ever faster networks, storing all the
   data, even if compressed, would take too much processing, memory, and
   manager download time to be practical.

   Fortunately there is a branch of mathematics that has studied methods
   for describing such sets of data.  Pick up any book on statistics and
   in the first several chapters techniques and methods will be pre-
   sented that can be applied to time based metrics.  As an added bene-
   fit, the study of statistics also has a large body of existing knowl-
   edge on analysis of the data derived data.

   It is important to note that in dealing with network data we will be
   dealing with statistical populations and not samples.  Statistics
   books deal with both because the math is similar.  In collecting
   agent data a population, i.e. all the data, must be processed.
   Because of the nature of application protocols just sampling some of
   the packets will not give good results.  Missing just one critical
   packet, such as one that specified an ephemeral port on which data
   will be transmitted, or what application will be run, can cause much
   valid data to be lost.

   The time-based metrics the agent collects will come from examining
   the entire group of data, i.e. the population. The population will be
   finite.  The agent will seek only to provide information that will
   describe the actual data. Analysis of that data will be left to the
   management station.

   The simplest form of representing a group of data is by frequency
   distributions, buckets.  Statistics provides a great many ways of
   analyzing this type of data and there are some rules in creating the
   buckets.  First the range needs to be known. Second a bucket size
   needs to be determined.  Fixed bucket sizes are best, while variable
   may be used if needed.  However the statistics texts tend to only
   refer to operations of fixed size buckets.  This method of describing
   data is expensive for a agent to implement.  First the agent must
   process a great amount of data at a time. In storing the data, deter-
   mine the range, then locating the buckets and then fill in the data
   after the fact takes too much storage and too much time.  Fixing the
   range and bucket sizes in the beginning can be problematical as the
   agent may have to adjust the values for each of the applications it



Expires January 14, 2001                                        [Page 9]

Internet-Draft                   TPM MIB                   July 14, 2000


   collects data on.  Such numbers can be in the thousands.  Additional
   complexity arises in adding new protocols and even in describing the
   buckets themselves to the management application.

   Frequency distribution statistics describes measurements such as mean
   and standard deviation that can be obtained by summation functions on
   the individual data elements in a population.  Analysis of the data
   described by these functions has been greatly studied and interpreta-
   tion of these values is available to anyone with an introduction to
   statistics.  In fact, frequency distributions are routinely analyzed
   to generate these varied numbers which are then used for further
   analysis.  Also note that frequency distributions by their very
   nature, buckets, introduce error factors that are not present with
   direct analysis by a summation type formulas.

   The agent metric will provide data that can be used to calculate the
   most basic and useful statistical measurements.  The agent will not
   perform the calculations and provide the statistical measurement
   directly.  There are several reason why this is not desired. The
   first is that to find the final measurement can be expensive in terms
   of computation and representation.  There are divisions and square
   roots and the measurements are expressed as floating point values.
   The second is that by providing the variables to the statistical
   functions, those variables are scalable.  It is possible to combine
   smaller intervals into larger ones.

   An example is the arithmetic mean or average.  This is the sum of the
   data divided by the number of data elements.

   The agent metric will provide 2 OIDs, the first the sum of the x, the
   second the number of elements N. The management station can perform
   the division to obtain the average.  Given two samples, they can be
   combined by adding the sum of the x's and by adding the number of
   elements to get a combined sum and number of elements.  The average
   formula then works just the same.  Also the sum of the x and the num-
   ber of element variables are used in calculating other statistical
   measurement values as well.

6.1.  Metric Structure

   The data structure elements, datum, of the metric have been chosen to
   maximize the amount of data available while minimizing the amount of
   memory needed to store the metric and minimizing the CPU processing
   requirement needed to generate the metric.

   The metric data structure contains five unsigned integer datum.





Expires January 14, 2001                                       [Page 10]

Internet-Draft                   TPM MIB                   July 14, 2000


       N       count of the number of data points for the metric
       S X     sum of all the data point values for the metric
       S (X2)  sum of all the data point values squared for the metric
       Xmax    maximum data point value for the metric
       Xmin    minimum data point value  for the metric
       S IX    sum of the datapoints multiplied by their order

   A performance metric is used to describe events over a time interval.
   The events, data points, can be processed immediately into the metric
   and do not have to be stored for later processing.  For example to
   count the number of events in a time interval it is sufficient to
   increment a counter for each event, it is not necessary to cache all
   the events and then count them at the end of the interval. The metric
   is also designed to be easily scalable in terms of combining adjacent
   intervals.  For example if an agent created a specific metric every
   30 seconds and a user table interval was set to 60 seconds, the 60
   second metric could be obtained by combining the two 30 second met-
   rics.  The following rules will be applied when combining adjacent
   metrics.

             N         SN
             SX        S(S (X))
             S (X2)    S(S (X2))
             Xmax      MAX(Xmax)
             Xmin      MIN(Xmin)
             S IX      SIX + NSX +SIX
             S (IX2)   SI(SI (X2))

   The following approximates the CPU processing requirements needed to
   update a specific metric.

       5 additions
       3 multiplication
       2 comparisons
       6 assignments.

   The metric structure gives a generic framework upon which the actual
   performance metrics will be defined.  Each specific performance met-
   ric definition must address the specific significance, if any, given
   to each of the metric datum.  While a specific metric definition
   should try to conform to the generic framework, it is ok for a metric
   datum to not be used, and to have no meaning, for a specific metric.
   In such cases the datum will default to a 0 value.

6.2.  Metric Analysis

   The actual meaning of a specific metric datum is determined by the
   definition of the specific metric.  The following is a discussion of



Expires January 14, 2001                                       [Page 11]

Internet-Draft                   TPM MIB                   July 14, 2000


   the operations and observations that can be performed on a generic
   metric.  This means that the following may or may not apply and/or
   have meaning when applied to any specific metric.

   The following observations and analysis techniques are not all inclu-
   sive.  Rather these are the ones we have come up with at the time of
   writing this document.

       Number.

       Frequency.

       The time interval is the time interval specified in the control
       table.  It is not a metric datum, but it is associated with the
       metric.

       Maximum

       Minimum

       Range

       Arithmetic Mean

       Root Mean Square

       Variance

       Standard Deviation

       Slope of a least-squares line


6.3.  Metric Cutting Room Floor

   During the design of the metric structure different data elements
   were proposed, examined, and then either put in the metric or left
   out of the metric.  The following is what was considered but did not
   make it into the metric.

    o   Sum of the deltas.  The trend enumeration can be based on this
        easy calculation.  It didn't make it because it could be nega-
        tive, which would have meant another MIB variable to specify
        sign information.  And the number is an ambiguous measure of
        slope as seen by comparing the following two series of values.
        The sum of the delta in both cases is 6-2 = 4.

                Series A:    2,  6, 10,  6,  6,   6,   6,   6,   6,  6



Expires January 14, 2001                                       [Page 12]

Internet-Draft                   TPM MIB                   July 14, 2000


                Series B:    2,  2,  2,  2,  6,  10,  10,  10,  10,  6

    o   Sum of the absolute values of the delta values.  This would pro-
        vide a measurement of the overall movement within an interval.
        A value for the average change could be calculated.  This mea-
        surement gives no indication of trend or grouping of data within
        the interval.  It usefulness in measuring Performance metric
        could not be determined.

    o   Sum of positive delta values and sum of the negative delta val-
        ues.  These did not give much more useful information than the
        sum of the deltas and took 2 data elements to represent.
        Expanding each of these with an associated count and maximum
        would give nice information, but at a total of 6 data elements
        for this data alone.  Therefore it was deemed too expensive in
        terms of memory.

    o   The statistical measurement of skew can be obtained by adding
        S(X3) to the existing metric.  This would have meant an addi-
        tional multiply, and additional MIB variable, and possibly over-
        flow problems if X is sufficiently large.

    o   An overall architecture, described in RFC 2571 [RFC2571].  The
        statistical measurement of kurtosis can be obtained by adding
        S(X3) and S(X4) to the existing metric.  This would have meant
        two additional multiplies, 2 additional MIB variables, and an
        even larger chance of overflow is X is sufficiently large.  And
        in this case large is really not so large.

7.  Definitions

--
-- RMON-2 Extensions for the Monitoring metrics related to the
-- performance of transporting traffic in networks.
--
--    TPM Metric Collection
--        * Metric-to-Protocol linkage
--        * Metric study control
--        * Metrics for Client/Server Conversations
--

TPM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF



Expires January 14, 2001                                       [Page 13]

Internet-Draft                   TPM MIB                   July 14, 2000


    RowStatus, TEXTUAL-CONVENTION, TimeStamp
        FROM SNMPv2-TC
    rmon, OwnerString
        FROM RMON-MIB
    protocolDirLocalIndex, LastCreateTime, DataSource, TimeFilter
        FROM RMON2-MIB
    pmMetricID
        FROM PMCAPS-MIB
    apmReportControlIndex, apmNameClientID
        FROM APM-MIB;

tpmMIB MODULE-IDENTITY
    LAST-UPDATED    "200007141500Z"  -- 14-Jul-2000
    ORGANIZATION    "IETF RMONMIB WG"
    CONTACT-INFO
            "        E-mail: rmonmib@cisco.com
                     Subscribe: majordomo@cisco.com
                        w/ msg body: subscribe rmonmib

                     Russell Dietz
                     Apptitude, Inc.
             Postal: 6330 San Ignacio Avenue
                     San Jose, CA 95119-1209
                     USA
                Tel: +1 408 574-2256
                Fax: +1 408 224-1038
             E-mail: rsdietz@apptitude.com"
    DESCRIPTION
            "This module defines managed objects for measuring traffic
            related transport performance metrics in networks.  In
            particular, it describes managed objects used for
            monitoring selectable performance metrics and statistics
            derived from the monitoring of network packets and
            transport protocol states."
    REVISION        "200007141500Z"     -- 14-Jul-2000
    ::= { rmon 30 }                     -- this has NOT been assigned

tpmObjects          OBJECT IDENTIFIER ::= { tpmMIB 1 }
tpmNotifications    OBJECT IDENTIFIER ::= { tpmMIB 2 }
tpmConformance      OBJECT IDENTIFIER ::= { tpmMIB 3 }

tpmDirObjects       OBJECT IDENTIFIER ::= { tpmObjects 1 }
tpmMetricObjects    OBJECT IDENTIFIER ::= { tpmObjects 2 }

tpmMetricProtocolDir    OBJECT IDENTIFIER
                    ::= { tpmDirObjects 2 }

tpmMetric           OBJECT IDENTIFIER



Expires January 14, 2001                                       [Page 14]

Internet-Draft                   TPM MIB                   July 14, 2000


                    ::= { tpmMetricObjects 1 }

--
-- Extensions to the RMON-2 MIB for the collection of Performance
-- Metrics related to application traffic in a network
--
-- In order to maintain the RMON 'look-and-feel', some of
-- the text from the RMON-2 and HC-RMON MIBs by
-- Steve Waldbusser have been used in this MIB.
--

--
-- Transport Performance Metric Protocol Directory
--
-- This table is used to describe and link a set of performance
-- metrics to an entry in the protocol directory.  The table is also
-- used to detail and configure the collection of each metric.
--

tpmMetricProtocolDirLastChange OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime at the time the performance
        metric protocol directory was last modified, through
        modifications of the tpmMetricProtocolDirConfig object."
    ::= { tpmMetricProtocolDir 1 }


tpmMetricProtocolDirTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmMetricProtocolDirEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the performance metrics that this agent
        has the capability to compute and collect, for the specified
        protocol.  There is one entry in this table for each such
        combination of metric and protocol.  The entries in this
        table represent the metrics that are collected for each
        protocol.  The agent should boot up with this table
        preconfigured with those combinations of metrics and
        protocols that it knows about and wishes to monitor.
        Implementations must populate the table with all possible
        metric and protocol combinations and have the default
        configuration objects set to supportedOff(2).  This table
        does not support the creation of new metric and protocol
        combinations by the management application.



Expires January 14, 2001                                       [Page 15]

Internet-Draft                   TPM MIB                   July 14, 2000


        The deletion of an entry in the protocolDirTable will cause
        the removal of entries from this table.  These entries must
        be removed because the protocolDirLocalIndex value will no
        longer be visible in the protocolDirTable.  When an entry
        is created in the protocolDirTable and the agent has the
        ability to support metrics for that protocol.  The appropriate
        entries must be made in the tpmMetricProtocol table."
    ::= { tpmMetricProtocolDir 2 }

tpmMetricProtocolDirEntry OBJECT-TYPE
    SYNTAX      TpmMetricProtocolDirEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmMetricProtocolDirTable.

        An example of the indexing of this entry is
        tpmMetricProtocolDirConfig.1.2.  Where 1 is the
        value of a valid and visible protocolDirLocalIndex object
        in the protocolDir table and 2 is the value of a valid
        pmMetricIndex in the pmMetricDir table."
    INDEX { protocolDirLocalIndex,      -- Protocol Index
            pmMetricIndex               -- Metric Index
          }
    ::= { tpmMetricProtocolDirTable 1 }

TpmMetricProtocolDirEntry ::= SEQUENCE {
    tpmMetricProtocolDirConfig  INTEGER
}


tpmMetricProtocolDirConfig OBJECT-TYPE
    SYNTAX      INTEGER {
                    notSupported(1),
                    supportedOff(2),
                    supportedOn(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object describes and configures the probe's support for
        this performance metric in relationship to the specified
        protocol.  The agent creates entries in this table for all
        metrics and protocol combinations that it can generate.
        Because the probe will only populate this table with supported
        entries, and the table cannot have entries added, the
        notSupported(1) setting is only used to signify that other
        configuration parameters are causing the agent to currently not



Expires January 14, 2001                                       [Page 16]

Internet-Draft                   TPM MIB                   July 14, 2000


        support the generation and collection of this metric for the
        specified protocol.  Also, the status of this object will
        not change to notSupported(1) due to a change to
        supportedOff(2) in the tpmMetricDir table.

        If the value of this object is notSupported(1), the probe
        will not perform computations for this performance metric and
        protocol combination and shall not allow this object to be
        changed to any other value. If the value of this object is
        supportedOn(3), the probe supports computations for this
        performance metric and protocol and is configured to perform
        the computations for this performance metric and protocol
        combination for all interfaces.  If the value of this object is
        supportedOff(2), the probe supports computations for this
        performance metric for the specified protocol, but is
        configured to not perform the computations for this performance
        metric and protocol for any interfaces.  Whenever this value
        changes from supportedOn(3) to supportedOff(2), the probe shall
        cause the deletion of all entries in the tpmReportTable,
        for all appropriate studies configured in the
        perfControl table."
    ::= { tpmMetricProtocolDirEntry 1 }

--
--
-- Transport Metric Report Group
--
-- The tpmReportControlTable is the controlling entry to manage
-- the population of studies in the Transport Performance Report
--

tpmReportControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table to control the collection of performance metric
        studies for selected interfaces, metrics and protocols.

        Note that this is not like the typical RMON
        controlTable and dataTable in which each entry creates
        its own data table.  Each entry in this table enables the
        creation of up to 3 data tables on a study basis.  For each
        interval, the study is updated in place and the current
        data content of the table becomes invalid."
    ::= { tpmMetric 1 }

tpmReportControlEntry OBJECT-TYPE



Expires January 14, 2001                                       [Page 17]

Internet-Draft                   TPM MIB                   July 14, 2000


    SYNTAX      TpmReportControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmReportControlTable.

        An example of the indexing of this entry is
        tpmReportControlDataSource.1"
    INDEX { tpmReportControlIndex }
    ::= { tpmReportControlTable 1 }

TpmReportControlEntry ::= SEQUENCE {
    tpmReportControlIndex               Integer32,
    tpmReportControlApmControlIndex     Integer32,
    tpmReportControlDataSource          DataSource,
    tpmReportControlMetrics             Integer32,
    tpmReportControlAggregationType     INTEGER,
    tpmReportControlInterval            Integer32,
    tpmReportControlRequestedSize       Integer32,
    tpmReportControlGrantedSize         Integer32,
    tpmReportControlRequestedReports    Integer32,
    tpmReportControlGrantedReports      Integer32,
    tpmReportControlStartTime           TimeStamp,
    tpmReportControlReportNumber        Integer32,
    tpmReportControlInsertsDenied       Integer32,
    tpmReportControlDroppedFrames       Counter32,
    tpmReportControlOwner               OwnerString,
    tpmReportControlStatus              RowStatus
}


tpmReportControlIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index that uniquely identifies an entry in the
        tpmReportControlTable.  Each such entry defines a unique
        report whose results are placed in the tpmReportTable on
        behalf of this tpmReportControlEntry."
    ::= { tpmReportControlEntry 1 }

tpmReportControlApmControlIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This index associates this TpmReportControlEntry directly with



Expires January 14, 2001                                       [Page 18]

Internet-Draft                   TPM MIB                   July 14, 2000


        an existing ApmReportControlEntry.  This link is used to
        syncronize reports in the associated tpmReportTable.

        A value of 0 (zero) enables an independent control table that
        will report entries to tpmReportTable based only on the other
        objects in this table.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    DEFVAL { 0 }
    ::= { tpmReportControlEntry 2 }

tpmReportControlDataSource OBJECT-TYPE
    SYNTAX      DataSource
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The source of the data for TPM Reports generated on
        behalf of this tpmReportControlEntry.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    ::= { tpmReportControlEntry 3 }

tpmReportControlMetrics OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The number of performance metric and protocol combinations
        to be collected in the portion of tpmReportTable associated
        with this tpmReportControlEntry.

        This object may not be modified if the associated instance
        of tpmReportControlStatus is equal to active(1)."
    ::= { tpmReportControlEntry 4 }

tpmReportControlAggregationType OBJECT-TYPE
    SYNTAX      INTEGER {
                    flows(1),       -- Least Aggregation
                    clients(2),
                    servers(3),
                    protocols(4)    -- Most Aggregation
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The type of aggregation being performed for this set of



Expires January 14, 2001                                       [Page 19]

Internet-Draft                   TPM MIB                   July 14, 2000


        reports.

        The metrics for a single traffic flow are selected in the
        perfTable by the tpmReportControlMetrics object.  When such
        metrics are aggregated in this MIB, these metrics are
        replaced by statistical representation of each metric.
        The metrics describing aggregates are constant no matter
        which type of aggregation is being performed. These
        metrics may be found in the tpmReportTable.

        The flows(1) aggregation is the simplest. All traffic
        flows that share common protocol/server/client 3-tuples
        are aggregated together, resulting in a set of metrics
        for all such unique 3-tuples.

        The clients(2) aggregation results in somewhat more
        aggregation (i.e. fewer resulting records). All traffic
        flows that share common protocol/client tuples are
        aggregated together, resulting in a set of metrics for
        all such unique tuples.

        The servers(3) aggregation usually results in still more
        aggregation (i.e. fewer resulting records). All traffic
        flows that share common protocol/server tuples are
        aggregated together, resulting in a set of metrics for
        all such unique tuples.

        The protocols(4) aggregation results in the most
        aggregation (i.e. the fewest resulting records). All
        traffic flows that share a common protocol are aggregated
        together, resulting in a set of metrics for all such unique
        protocols.

        Note that it is not meaningful to aggregate protocols, as
        different protocols have widely varying characteristics. As a
        result, this set of aggregations is complete.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    ::= { tpmReportControlEntry 5 }

tpmReportControlInterval OBJECT-TYPE
    SYNTAX      Integer32 (1..86400)
    UNITS       "Seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The interval in seconds over which data is accumulated before



Expires January 14, 2001                                       [Page 20]

Internet-Draft                   TPM MIB                   July 14, 2000


        being aggregated into a report in the tpmReportTable.  All
        reports with the same tpmReportControlIndex will be based on
        the same interval.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    DEFVAL { 3600 }
    ::= { tpmReportControlEntry 6 }

tpmReportControlRequestedSize OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of Client and Server combination
        entries requested for this report.

        When this object is created or modified, the probe
        should set tpmReportControlGrantedSize as closely to this
        object as is possible for the particular probe
        implementation and available resources.

        It is important to note that this value is the number of
        requested entries in the tpmReportTable only.  Since the
        probe can derive this table from the apmReportTable, the probe
        must make sure that sufficient resources exist to support the
        creation of the apmReportTable plus any additional resources
        required to convert or support this table."
    ::= { tpmReportControlEntry 7 }

tpmReportControlGrantedSize OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of performance entries in this report.

        When the associated tpmReportControlRequestedSize object is
        created or modified, the probe should set this
        object as closely to the requested value as is
        possible for the particular implementation and
        available resources. The probe must not lower this
        value except as a result of a set to the associated
        tpmReportControlRequestedSize object.

        Since the probe must support only the granted size,
        the probe should attempt to maintain the most recently active
        entries in the tpmMetric table if there is no more room



Expires January 14, 2001                                       [Page 21]

Internet-Draft                   TPM MIB                   July 14, 2000


        or until there are no more performance metric entries.

        It is an implementation-specific matter as to whether or not
        zero-valued entries are available."
    ::= { tpmReportControlEntry 8 }

tpmReportControlRequestedReports OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The number of saved reports requested to be allocated on
        behalf of this entry."
    ::= { tpmReportControlEntry 9 }

tpmReportControlGrantedReports OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of saved reports the agent has allocated
        based on the requested amount in
        tpmReportControlRequestedReports. Since each report can have
        many entries, the total number of entries allocated will be
        this number multiplied by the value of
        tpmReportControlGrantedSize, or 1 if that object doesn't
        exist.

        When the associated tpmReportControlRequestedReports object is
        created or modified, the agent should set this object as
        closely to the requested value as is possible for the
        particular implementation and available resources. When
        considering resources available, the agent must consider its
        ability to allocate this many reports each with the number of
        entries represented by tpmReportControlGrantedSize, or 1 if
        that object doesn't exist.

        Note that while the storage required for each report may
        fluctuate due to changing conditions, the agemt must continue
        to have storage available to satisfy the full report size for
        all reports when necessary. Further, the agent must not lower
        this value except as a result of a set to the associated
        tpmReportControlRequestedSize object."
    ::= { tpmReportControlEntry 10 }

tpmReportControlStartTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only



Expires January 14, 2001                                       [Page 22]

Internet-Draft                   TPM MIB                   July 14, 2000


    STATUS      current
    DESCRIPTION
        "The value of sysUpTime when the system began processing the
        report in progress. Note that the report in progress is not
        available.

        This object may be used by the management station to figure
        out the start time for all previous reports saved for this
        tpmReportControlEntry, as reports are started at fixed
        intervals."
    ::= { tpmReportControlEntry 11 }

tpmReportControlReportNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the report in progress. When an
        tpmReportControlEntry is activated, the first report will be
        numbered zero."
    ::= { tpmReportControlEntry 12 }

tpmReportControlInsertsDenied OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of failed attempts to add an entry to reports for
        this tpmReportControlEntry because the number of entries
        would have exceeded tpmReportControlGrantedSize.

        This number is valuable in determining if enough entries have
        been allocated for reports in light of fluctuating network
        usage. Note that an entry that is denied will often be
        attempted again, this number will not predict the exact number
        of additional entries needed, but can be used to understand
        the relative magnitude of the problem.

        Also note that there is no ordering specified for the entries
        in the report, thus there are no rules for which entries will
        be omitted when not enough entries are available. As a
        consequence, the agent is not required to delete 'least
        valuable' entries first."
    ::= { tpmReportControlEntry 13 }

tpmReportControlDroppedFrames OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only



Expires January 14, 2001                                       [Page 23]

Internet-Draft                   TPM MIB                   July 14, 2000


    STATUS      current
    DESCRIPTION
       "The total number of frames which were received by the agent
        and therefore not accounted for in the *StatsDropEvents, but
        for which the agent chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the agent
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that if the alMatrixTables are not implemented or are
        inactive because no protocols are enabled in the protocol
        directory, this value should be 0.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { tpmReportControlEntry 14 }

tpmReportControlOwner OBJECT-TYPE
    SYNTAX      OwnerString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The entity that configured this entry and is
        therefore using the resources assigned to it."
    ::= { tpmReportControlEntry 15 }

tpmReportControlStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this performance control entry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value.

        If this object is not equal to active(1), all associated
        entries in the tpmReportTable shall be deleted."
    ::= { tpmReportControlEntry 16 }


--
-- Transport Metric tables
--
-- The following tables are all part of the TPM Study Group.  These



Expires January 14, 2001                                       [Page 24]

Internet-Draft                   TPM MIB                   July 14, 2000


-- tables contain the results of the collected metrics.
--

tpmMetricTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmMetricEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of performance metric and protocol collection
        entries."
    ::= { tpmMetric 2 }

tpmMetricEntry OBJECT-TYPE
    SYNTAX      TpmMetricEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of metric and protocol index values for the statistics
        to be generated for a specific report in the tpmReportControl
        table."

        Entries in this table are created when an associated
        tpmControlMetrics object is created.

        The tpmReportControlIndex value in the index is
        that of the associated tpmControlEntry.

        For example, an instance of tpmMetricDirLocalIndex
        might be tpmMetricDirLocalIndex.1.3"
    INDEX {  tpmReportControlIndex,
             tpmMetricIndex
          }
    ::= { tpmMetricTable 1 }

TpmMetricEntry ::= SEQUENCE {
    tpmMetricIndex                  Integer32,
    tpmMetricPmMetricIndex          Integer32,
    tpmMetricProtocolDirLocalIndex  Integer32
}


tpmMetricIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index used to uniquely identify an entry in the
        apmMetric table.  Each such entry defines a metric instance



Expires January 14, 2001                                       [Page 25]

Internet-Draft                   TPM MIB                   July 14, 2000


        to be generated for a specific protocol periodically."
    ::= { tpmMetricEntry 1 }

tpmMetricPmMetricIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The pmMetricIndex of the particular metric to be generated.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    ::= { tpmMetricEntry 2 }

tpmMetricProtocolDirLocalIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The protocolDirLocalIndex of the particular protocol to
        be analyzed when computing and generating the selected metric.

        This object may not be modified if the associated
        tpmReportControlStatus object is equal to active(1)."
    ::= { tpmMetricEntry 3 }


--
-- Transport Performance Report Table
--
-- This table contains transport performance metric studies for each
-- of the control table entries in tpmReportControl table.  These
-- studies are provided based on the selections and parameters found
-- for the entry in the tpmReportControl table.
--

tpmReportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A study of performance metrics for those tpmReportMetric
        table entries specified in the tpmReportMetric table as
        indexed by tpmReportControlIndex and tpmReportMetricIndex."
    ::= { tpmMetric 3 }

tpmReportEntry OBJECT-TYPE
    SYNTAX      TpmReportEntry



Expires January 14, 2001                                       [Page 26]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmReportTable.

        The tpmReportControlIndex value in the index identifies the
        tpmReportControlEntry on whose behalf this entry was created.
        The tpmReportIndex value in the index identifies which report
        (in the series of reports) this entry is a part of.
        The first protocolDirLocalIndex value in the index identifies
        the application protocol that is begin reported.
        The second protocolDirLocalIndex value in the index identifies
        the network layer protocol of the tpmReportServerAddress. When
        the associated tpmReportControlAggregationType value is equal
        to protocol(4), this value will equal 0.
        The tpmReportServerAddress value in the index identifies the
        network layer address of the server in traffic flows
        aggregated in this entry.
        The tpmReportApmNameClientID value in the index identifies the
        network layer address of the client in traffic flows
        aggregated in this entry.
        The tpmReportMetricIndex value in the index identifies
        the transported application protocol of the traffic flows
        aggregated in this entry.

        Note that the order of protocolDirLocalIndex variables is
        the opposite of that in the RMON2 MIB (application.network
        instead of network.application) so that the report entries are
        sorted by application first, server second and client third.
        The tpmReportControlIndex value in the index identifies the
        tpmReportControlEntry on whose behalf this entry was created.
        The tpmReportMetricIndex value in the index identifies the
        metric and protocol of the tpmReportServerAddress, via the
        tpmMetric table.

        An example of the indexing of this table is
        tpmReportStatisticN.3.15.34.18.4.128.2.6.7.4.262.30"
    INDEX {
            tpmReportControlIndex,
            tpmReportIndex,
            protocolLocalDirIndex,  -- Application Layer
            protocolLocalDirIndex,  -- Network Layer
            tpmReportServerAddress,
            tpmReportClientID,
            tpmReportMetricIndex    -- Metric and Protocol
          }
    ::= { tpmReportTable 1 }




Expires January 14, 2001                                       [Page 27]

Internet-Draft                   TPM MIB                   July 14, 2000


TpmReportEntry ::= SEQUENCE {
    tpmReportIndex                          Integer32,
    tpmReportServerAddress                  OCTET STRING,
    tpmReportClientID                       Unsigned32,
    tpmReportStatisticN                     Counter32,
    tpmReportOverflowStatisticN             Counter32,
    tpmReportHCStatisticN                   Counter64,
    tpmReportStatisticSumX                  Counter32,
    tpmReportOverflowStatisticSumX          Counter32,
    tpmReportHCStatisticSumX                Counter64,
    tpmReportStatisticMaximum               Gauge32,
    tpmReportStatisticMinimum               Gauge32,
    tpmReportStatisticSumSquared            Counter32,
    tpmReportOverflowStatisticSumSquared    Counter32,
    tpmReportHCStatisticSumSquared          Counter64,
    tpmReportStatisticSumIX                 Counter32,
    tpmReportOverflowStatisticSumIX         Counter32,
    tpmReportHCStatisticSumIX               Counter64,
    tpmReportStatisticSumIXSquared          Counter32,
    tpmReportOverflowStatisticSumIXSquared  Counter32,
    tpmReportHCStatisticSumIXSquared        Counter64
}


tpmReportIndex  OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tpmReportControlNumber for the report to
        which this entry belongs."
    ::= { tpmReportEntry 1 }

tpmReportServerAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The network layer address of the server host in this
        conversation.

        This is represented as an octet string with
        specific semantics and length as identified
        by the associated tpmReportMetricProtocolDirLocalIndex from
        the tpmReportMetricIndex for this conversation.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of IP, this object is encoded as a length



Expires January 14, 2001                                       [Page 28]

Internet-Draft                   TPM MIB                   July 14, 2000


        octet of 4, followed by the 4 octets of the IP address,
        in network byte order."
    ::= { tpmReportEntry 2 }

tpmReportApmNameClientID OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "A unique ID assigned to the machine represented by this
         mapping. This ID is assigned by the agent using an
         implementation-specific algorithm."
    ::= { tpmReportEntry 3 }

tpmReportStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The count of the total number of data points for the
        specified metric.  This number always represents the
        total size of the statistical datum analyzed.  Each
        metric specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmReportEntry 4 }

tpmReportOverflowStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated tpmReportStatisticN
        counter has overflowed."
    ::= { tpmReportEntry 5 }

tpmReportHCStatisticN OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmReportStatisticN."
    ::= { tpmReportEntry 6 }

tpmReportStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32



Expires January 14, 2001                                       [Page 29]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the data point values for the specified
        metric.  This number always represents the total values
        of the statistical datum analyzed.  Each metric
        specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmReportEntry 7 }

tpmReportOverflowStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated tpmReportStatisticSumX
        counter has overflowed."
    ::= { tpmReportEntry 8 }

tpmReportHCStatisticSumX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmReportStatisticSumX."
    ::= { tpmReportEntry 9 }

tpmReportStatisticMaximum OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single maximum data point value observed during the
        study period for the specified metric.  This number always
        represents the maximum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmReportEntry 10 }

tpmReportStatisticMinimum OBJECT-TYPE
    SYNTAX      Gauge32



Expires January 14, 2001                                       [Page 30]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single minimum data point value observed during the
        study period for the specified metric.  This number always
        represents the minimum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmReportEntry 11 }

tpmReportStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the squared data point values for the
        specified metric.  This number always represents the
        total of the squared values of the statistical datum
        analyzed.  Each metric specifies the exact meaning of
        this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmReportEntry 12 }

tpmReportOverflowStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmReportStatisticSumSquared counter has overflowed."
    ::= { tpmReportEntry 13 }

tpmReportHCStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmReportStatisticSumSquared."
    ::= { tpmReportEntry 14 }

tpmReportStatisticSumIX OBJECT-TYPE



Expires January 14, 2001                                       [Page 31]

Internet-Draft                   TPM MIB                   July 14, 2000


    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmReportStatisticN. IX is the multiplication of the data point
        value with the current I.  This value along with the other
        statistics values allow the calculation of the slope of
        the least-squares line through the data points."
    ::= { tpmReportEntry 15 }

tpmReportOverflowStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmReportStatisticSumIX counter has overflowed."
    ::= { tpmReportEntry 16 }

tpmReportHCStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmReportStatisticSumIX."
    ::= { tpmReportEntry 17 }

tpmReportStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmReportStatisticN. IX is the multiplication of the data point
        value with the current I.  This value along with the other
        statistics values allow the calculation of the slope of
        the least-squares line through the data points."
    ::= { tpmReportEntry 18 }

tpmReportOverflowStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated



Expires January 14, 2001                                       [Page 32]

Internet-Draft                   TPM MIB                   July 14, 2000


        tpmReportStatisticSumIXSquared counter has overflowed."
    ::= { tpmReportEntry 19 }

tpmReportHCStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmReportStatisticSumIXSquared."
    ::= { tpmReportEntry 20 }

--
-- TPM Current Transaction Table
--
-- This table will contain entries ONLY if the tpmReport is associated
-- with an apmControlReportEntry.  These entries are a current
-- 'snapshot' of the metrics being collected in association with a set
-- of APM related application transactions.
--

tpmCurrentTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains all sub-flow metrics for transactions
        that have been started but have not yet finished."
    ::= { tpmMetric 4 }

tpmCurrentEntry OBJECT-TYPE
    SYNTAX      TpmCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmCurrentTable.

        The tpmCurrentReportControlIndex value in the index identifies
        the tpmReportControlEntry on whose behalf this entry was created.
        The first protocolDirLocalIndex value in the index identifies
        the application protocol that is begin reported.
        The second protocolDirLocalIndex value in the index identifies
        the network layer protocol of the tpmReportServerAddress.
        When the associated tpmReportControlAggregationType value is
        equal to protocol(4), this value will equal 0.
        The tpmCurrentServerAddress value in the index identifies the
        network layer address of the server in traffic flows
        aggregated in this entry.
        The tpmCurrentApmNameClientID value in the index identifies the



Expires January 14, 2001                                       [Page 33]

Internet-Draft                   TPM MIB                   July 14, 2000


        network layer address of the client in traffic flows
        aggregated in this entry.
        The tpmCurrentMetricIndex value in the index identifies
        the transported application protocol of the traffic flows
        aggregated in this entry.

        Note that the order of protocolDirLocalIndex variables is
        the opposite of that in the RMON2 MIB (application.network
        instead of network.application) so that the report entries are
        sorted by application first, server second and client third.
        The tpmCurrentReportControlIndex value in the index identifies
        the tpmReportControlEntry on whose behalf this entry was created.
        The tpmCurrentMetricIndex value in the index identifies the
        metric and protocol of the tpmCurrentServerAddress, via the
        tpmMetric table.

        An example of the indexing of this table is
        tpmCurrentStatisticN.3.34.18.4.128.2.6.6.262.23698.30"

    INDEX { tpmReportControlIndex,
            protocolLocalDirIndex,      -- Application Layer
            protocolLocalDirIndex,      -- Network Layer
            tpmCurrentServerAddress,
            tpmCurrentApmNameClientID,
            tpmCurrentMetricIndex,      -- Metric and Protocol
            tpmApmCurrentTransactionID
          }
    ::= { tpmCurrentTable 1 }

TpmCurrentEntry ::= SEQUENCE {
    tpmCurrentServerAddress                 OCTET STRING,
    tpmCurrentApmNameClientID               Unsigned32,
    tpmCurrentApmTransactionID              Integer32,
    tpmCurrentApmSuccess                    INTEGER,
    tpmCurrentStatisticN                    Counter32,
    tpmCurrentOverflowStatisticN            Counter32,
    tpmCurrentHCStatisticN                  Counter64,
    tpmCurrentStatisticSumX                 Counter32,
    tpmCurrentOverflowStatisticSumX         Counter32,
    tpmCurrentHCStatisticSumX               Counter64,
    tpmCurrentStatisticMaximum              Gauge32,
    tpmCurrentStatisticMinimum              Gauge32,
    tpmCurrentStatisticSumSquared           Counter32,
    tpmCurrentOverflowStatisticSumSquared   Counter32,
    tpmCurrentHCStatisticSumSquared         Counter64,
    tpmCurrentStatisticSumIX                Counter32,
    tpmCurrentOverflowStatisticSumIX        Counter32,
    tpmCurrentHCStatisticSumIX              Counter64,



Expires January 14, 2001                                       [Page 34]

Internet-Draft                   TPM MIB                   July 14, 2000


    tpmCurrentStatisticSumIXSquared         Counter32,
    tpmCurrentOverflowStatisticSumIXSquared Counter32,
    tpmCurrentHCStatisticSumIXSquared       Counter64
}

tpmCurrentServerAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The network server address for this tpmCurrentEntry.

        This is represented as an octet string with
        specific semantics and length as identified
        by the second protocolDirLocalIndex component of the index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { tpmCurrentEntry 1 }

tpmCurrentApmNameClientID OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "A unique ID assigned to the machine represented by this
         mapping. This ID is assigned by the agent using an
         implementation-specific algorithm."
    ::= { tpmCurrentEntry 2 }

tpmCurrentApmTransactionID OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A unique value for this transaction amongst other
        transactions sharing the same application layer protocol and
        server and client addresses. Implementations may choose to use
        the value of the client's source port, when possible."
    ::= { tpmCurrentEntry 3 }

tpmCurrentApmSuccess OBJECT-TYPE
    SYNTAX      INTEGER {
                    successful(1),
                    failed(2)
                }



Expires January 14, 2001                                       [Page 35]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The success of this transaction up to this time. A
        transaction that has failed may exist in this table until it
        is closed. Once a transaction has been marked as failed, it
        cannot move back into the successful state.

        Note that this value may change over the lifetime
        of the transaction and it is the final value of this metric
        that is recorded as the success of the transaction for use in
        other APM MIB functions."
    ::= { tpmCurrentEntry 4 }

tpmCurrentStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The count of the total number of data points for the
        specified metric.  This number always represents the
        total size of the statistical datum analyzed.  Each
        metric specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmCurrentEntry 5 }

tpmCurrentOverflowStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated tpmCurrentStatisticN
        counter has overflowed."
    ::= { tpmCurrentEntry 6 }

tpmCurrentHCStatisticN OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmCurrentStatisticN."
    ::= { tpmCurrentEntry 7 }

tpmCurrentStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32



Expires January 14, 2001                                       [Page 36]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the data point values for the specified
        metric.  This number always represents the total values
        of the statistical datum analyzed.  Each metric
        specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmCurrentEntry 8 }

tpmCurrentOverflowStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated tpmCurrentStatisticSumX
        counter has overflowed."
    ::= { tpmCurrentEntry 9 }

tpmCurrentHCStatisticSumX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmCurrentStatisticSumX."
    ::= { tpmCurrentEntry 10 }

tpmCurrentStatisticMaximum OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single maximum data point value observed during the
        study period for the specified metric.  This number always
        represents the maximum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmCurrentEntry 11 }

tpmCurrentStatisticMinimum OBJECT-TYPE
    SYNTAX      Gauge32



Expires January 14, 2001                                       [Page 37]

Internet-Draft                   TPM MIB                   July 14, 2000


    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single minimum data point value observed during the
        study period for the specified metric.  This number always
        represents the minimum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmCurrentEntry 12 }

tpmCurrentStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the squared data point values for the
        specified metric.  This number always represents the
        total of the squared values of the statistical datum
        analyzed.  Each metric specifies the exact meaning of
        this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmCurrentEntry 13 }

tpmCurrentOverflowStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmCurrentStatisticSumSquared counter has overflowed."
    ::= { tpmCurrentEntry 14 }

tpmCurrentHCStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmCurrentStatisticSumSquared."
    ::= { tpmCurrentEntry 15 }

tpmCurrentStatisticSumIX OBJECT-TYPE



Expires January 14, 2001                                       [Page 38]

Internet-Draft                   TPM MIB                   July 14, 2000


    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmCurrentStatisticN. IX is the multiplication of the data point
        value with the current I.  This value along with the other
        statistics values allow the calculation of the slope of
        the least-squares line through the data points."
    ::= { tpmCurrentEntry 16 }

tpmCurrentOverflowStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmCurrentStatisticSumIX counter has overflowed."
    ::= { tpmCurrentEntry 17 }

tpmCurrentHCStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmCurrentStatisticSumIX."
    ::= { tpmCurrentEntry 18 }

tpmCurrentStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmCurrentStatisticN. IX is the multiplication of the data point
        value with the current I.  This value along with the other
        statistics values allow the calculation of the slope of
        the least-squares line through the data points."
    ::= { tpmCurrentEntry 19 }

tpmCurrentOverflowStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated



Expires January 14, 2001                                       [Page 39]

Internet-Draft                   TPM MIB                   July 14, 2000


        tpmCurrentStatisticSumIXSquared counter has overflowed."
    ::= { tpmCurrentEntry 20 }

tpmCurrentHCStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmCurrentStatisticSumIXSquared."
    ::= { tpmCurrentEntry 21 }


--
-- TPM Exception Table
--
-- This table will contain the sub-flows related to an apmExceptionTable
-- entry.
--

tpmExceptionControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmExceptionControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table creates a link between the apmExceptionTable and
        the possible notifications that may occur based on any entries
        in the apmExceptionTables.

        Each tpmExceptionControlEntry is associated with a particular
        exception entry in the apmExceptionTable based on the value
        of tpmExceptionApmExceptionIndex.

        Because the quality of a transaction is not known until it is
        completed, these thresholds are only applied after the
        transaction has completed."
    ::= { tpmMetric 5 }

tpmExceptionControlEntry OBJECT-TYPE
    SYNTAX      TpmExceptionControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmExceptionControlTable."
    INDEX { protocolDirID,
            protocolDirParameters,
            tpmExceptionIndex
          }
    ::= { tpmExceptionControlTable 1 }



Expires January 14, 2001                                       [Page 40]

Internet-Draft                   TPM MIB                   July 14, 2000


TpmExceptionEntry ::= SEQUENCE {
    tpmExceptionIndex                       Integer32,
    tpmExceptionApmExceptionIndex           Integer32,
    tpmExceptionOwner                       OwnerString,
    tpmExceptionStatus                      RowStatus
}

tpmExceptionIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index that uniquely identifies an entry in the
        tpmExceptionTable.  Each such entry sets up a link to an
        entry in the apmExceptionTable.

        Note that even though the index of the tpmExceptionTable
        contains other objects (e.g. protocolDirID) that may
        disambiguate tpmExceptionEntries, no two tpmExceptionEntries
        may have the same value of tpmExceptionIndex."
    ::= { tpmExceptionControlEntry 1 }

tpmExceptionApmExceptionIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An index that creates the link to the uniquely identifies
        entry in the apmExceptionTable."
    ::= { apmExceptionControlEntry 2 }

tpmExceptionOwner OBJECT-TYPE
    SYNTAX     OwnerString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The entity that configured this entry and is
        therefore using the resources assigned to it."
    ::= { tpmExceptionControlEntry 3 }

tpmExceptionControlStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this tpmExceptionControlEntry."
    ::= { tpmExceptionControlEntry 4 }




Expires January 14, 2001                                       [Page 41]

Internet-Draft                   TPM MIB                   July 14, 2000


--
-- TPM Exception Notification Report Table
--
--

tpmExceptionReportTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TpmExceptionReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains all sub-flow metrics for transactions
        that have been started but have not yet finished."
    ::= { tpmMetric 6 }

tpmExceptionReportEntry OBJECT-TYPE
    SYNTAX      TpmExceptionReportEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmExceptionTable.

        The tpmExceptionControlIndex value in the index identifies the
        tpmExceptionControlEntry on whose behalf this entry was created.
        The tpmExceptionReportIndex value in the index identifies which
        report (in the series of reports) this entry is a part of.
        The first protocolDirLocalIndex value in the index identifies
        the application protocol that is begin reported.
        The second protocolDirLocalIndex value in the index identifies
        the network layer protocol of the tpmReportServerAddress. When
        the associated tpmReportControlAggregationType value is equal
        to protocol(4), this value will equal 0.
        The tpmExceptionReportServerAddress value in the index identifies
        the network layer address of the server in traffic flows
        aggregated in this entry.
        The tpmExceptionReportClientID value in the index identifies the
        network layer address of the client in traffic flows
        aggregated in this entry.
        The tpmExceptionReportMetricIndex value in the index identifies
        the transported application protocol of the traffic flows
        aggregated in this entry.

        Note that the order of protocolDirLocalIndex variables is
        the opposite of that in the RMON2 MIB (application.network
        instead of network.application) so that the report entries are
        sorted by application first, server second and client third.
        The tpmExceptionControlIndex value in the index identifies the
        tpmExceptionControlEntry on whose behalf this entry was created.
        The tpmExceptionMetricIndex value in the index identifies the



Expires January 14, 2001                                       [Page 42]

Internet-Draft                   TPM MIB                   July 14, 2000


        metric and protocol of the tpmExceptionReportServerAddress, via
        the tpmMetric table.

        An example of the indexing of this table is
        tpmExceptionReportStatisticN.3.34.18.4.128.2.6.7.4.262.11.23698.30"

    INDEX { tpmExceptionControlIndex,
            protocolLocalDirIndex,              -- Application Layer
            protocolLocalDirIndex,              -- Network Layer
            tpmExceptionReportServerAddress,
            tpmExceptionReportClientID,
            tpmExceptionReportMetricIndex,      -- Metric and Protocol
            tpmExceptionReportApmExceptionIndex,
            tpmExceptionReportApmTransactionID
          }
    ::= { tpmExceptionReportTable 1 }

TpmExceptionReportEntry ::= SEQUENCE {
    tpmExceptionReportServerAddress                 OCTET STRING,
    tpmExceptionReportClientID                      Unsigned32,
    tpmExceptionReportApmTransactionID              Integer32,
    tpmExceptionReportApmSuccess                    Integer32,
    tpmExceptionReportStatisticN                    Counter32,
    tpmExceptionReportOverflowStatisticN            Counter32,
    tpmExceptionReportHCStatisticN                  Counter64,
    tpmExceptionReportStatisticSumX                 Counter32,
    tpmExceptionReportOverflowStatisticSumX         Counter32,
    tpmExceptionReportHCStatisticSumX               Counter64,
    tpmExceptionReportStatisticMaximum              Gauge32,
    tpmExceptionReportStatisticMinimum              Gauge32,
    tpmExceptionReportStatisticSumSquared           Counter32,
    tpmExceptionReportOverflowStatisticSumSquared   Counter32,
    tpmExceptionReportHCStatisticSumSquared         Counter64,
    tpmExceptionReportStatisticSumIX                Counter32,
    tpmExceptionReportOverflowStatisticSumIX        Counter32,
    tpmExceptionReportHCStatisticSumIX              Counter64,
    tpmExceptionReportStatisticSumIXSquared         Counter32,
    tpmExceptionReportOverflowStatisticSumIXSquared Counter32,
    tpmExceptionReportHCStatisticSumIXSquared       Counter64
}

tpmExceptionReportServerAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The network server address for this tpmExceptionReportEntry.




Expires January 14, 2001                                       [Page 43]

Internet-Draft                   TPM MIB                   July 14, 2000


        This is represented as an octet string with
        specific semantics and length as identified
        by the second protocolDirLocalIndex component of the index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { tpmExceptionReportEntry 1 }

tpmExceptionReportApmNameClientID OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "A unique ID assigned to the machine represented by this
         mapping. This ID is assigned by the agent using an
         implementation-specific algorithm."
    ::= { tpmExceptionReportEntry 2 }

tpmExceptionReportApmTransactionID OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A unique value for this transaction amongst other
        transactions sharing the same application layer protocol and
        server and client addresses. Implementations may choose to use
        the value of the client's source port, when possible."
    ::= { tpmExceptionReportEntry 3 }

tpmExceptionReportCurrentApmSuccess OBJECT-TYPE
    SYNTAX      INTEGER {
                    successful(1),
                    failed(2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The success of this transaction up to this time. A
        transaction that has failed may exist in this table until it
        is closed. Once a transaction has been marked as failed, it
        cannot move back into the successful state.

        Note that this value may change over the lifetime
        of the transaction and it is the final value of this metric
        that is recorded as the success of the transaction for use in
        other APM MIB functions."



Expires January 14, 2001                                       [Page 44]

Internet-Draft                   TPM MIB                   July 14, 2000


    ::= { tpmExceptionReportEntry 4 }

tpmExceptionReportStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The count of the total number of data points for the
        specified metric.  This number always represents the
        total size of the statistical datum analyzed.  Each
        metric specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmExceptionReportEntry 5 }

tpmExceptionReportOverflowStatisticN OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated tpmExceptionReportStatisticN
        counter has overflowed."
    ::= { tpmExceptionReportEntry 6 }

tpmExceptionReportHCStatisticN OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmExceptionReportStatisticN."
    ::= { tpmExceptionReportEntry 7 }

tpmExceptionReportStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the data point values for the specified
        metric.  This number always represents the total values
        of the statistical datum analyzed.  Each metric
        specifies the exact meaning of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmExceptionReportEntry 8 }



Expires January 14, 2001                                       [Page 45]

Internet-Draft                   TPM MIB                   July 14, 2000


tpmExceptionReportOverflowStatisticSumX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmExceptionReportStatisticSumX counter has overflowed."
    ::= { tpmExceptionReportEntry 9 }

tpmExceptionReportHCStatisticSumX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmExceptionReportStatisticSumX."
    ::= { tpmExceptionReportEntry 10 }

tpmExceptionReportStatisticMaximum OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single maximum data point value observed during the
        study period for the specified metric.  This number always
        represents the maximum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmExceptionReportEntry 11 }

tpmExceptionReportStatisticMinimum OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The single minimum data point value observed during the
        study period for the specified metric.  This number always
        represents the minimum value of any single statistical
        datum analyzed.  Each metric specifies the exact meaning
        of this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmExceptionReportEntry 12 }



Expires January 14, 2001                                       [Page 46]

Internet-Draft                   TPM MIB                   July 14, 2000


tpmExceptionReportStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The sum of all the squared data point values for the
        specified metric.  This number always represents the
        total of the squared values of the statistical datum
        analyzed.  Each metric specifies the exact meaning of
        this object.

        This value represents the results of one metric and is
        related directly to the specific parameters of the metric
        and the Server and Client addresses involved."
    ::= { tpmExceptionReportEntry 13 }

tpmExceptionReportOverflowStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmExceptionReportStatisticSumSquared counter has overflowed."
    ::= { tpmExceptionReportEntry 14 }

tpmExceptionReportHCStatisticSumSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of
        tpmExceptionReportStatisticSumSquared."
    ::= { tpmExceptionReportEntry 15 }

tpmExceptionReportStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmExceptionReportStatisticSumIX is the multiplication of the
        data point value with the current I.  This value along with
        the other statistics values allow the calculation of the slope
        of the least-squares line through the data points."
    ::= { tpmExceptionReportEntry 16 }

tpmExceptionReportOverflowStatisticSumIX OBJECT-TYPE



Expires January 14, 2001                                       [Page 47]

Internet-Draft                   TPM MIB                   July 14, 2000


    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmExceptionReportStatisticSumIX counter has overflowed."
    ::= { tpmExceptionReportEntry 17 }

tpmExceptionReportHCStatisticSumIX OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of tpmExceptionReportStatisticSumIX."
    ::= { tpmExceptionReportEntry 18 }

tpmExceptionReportStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "For each interval, each data point is associated with a
        value I, I = 1..N where N is the number of data points,
        tpmExceptionReportStatisticN. IX is the multiplication of the data
        point value with the current I.  This value along with the other
        statistics values allow the calculation of the slope of
        the least-squares line through the data points."
    ::= { tpmExceptionReportEntry 19 }

tpmExceptionReportOverflowStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        tpmExceptionReportStatisticSumIXSquared counter has overflowed."
    ::= { tpmExceptionReportEntry 20 }

tpmExceptionReportHCStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The high-capacity version of
        tpmExceptionReportStatisticSumIXSquared."
    ::= { tpmExceptionReportEntry 21 }





Expires January 14, 2001                                       [Page 48]

Internet-Draft                   TPM MIB                   July 14, 2000


--
-- TPM Notifications
--

tpmTransactionResponsivenessAlarm NOTIFICATION-TYPE
    OBJECTS     {
                  tpmExceptionResponsivenessThreshold,
                  tpmCurrentResponsiveness
                }
    STATUS      current
    DESCRIPTION
        "Notification sent when a transaction exceeds a threshold
        defined in the apmException table. The index of the
        included apmExceptionResponsivenessThreshold object identifies
        the apmExceptionEntry that specified the threshold. The
        apmCurrentResponsiveness variable identifies the actual
        transaction and its responsiveness."
    ::= { tpmNotifications 1 }

tpmTransactionUnsuccessfulAlarm NOTIFICATION-TYPE
    OBJECTS     {
                  tpmExceptionResponsivenessThreshold
                }
    STATUS      current
    DESCRIPTION
        "Notification sent when a transaction is unsuccessful.
        The index of the included apmExceptionResponsivenessThreshold
        object identifies both the type of the transaction that caused
        this notification as well as the apmExceptionEntry that
        specified the threshold."
    ::= { tpmNotifications 2 }


--
-- TPM Conformance
--

tpmCompliances  OBJECT IDENTIFIER :== { tpmConformance 1 }
tpmGroups       OBJECT IDENTIFIER :== { tpmConformance 2 }

--
-- TPM Compliance Statement
--

--
-- TPM MIB Groupings
--




Expires January 14, 2001                                       [Page 49]

Internet-Draft                   TPM MIB                   July 14, 2000


END


















































Expires January 14, 2001                                       [Page 50]

Internet-Draft                   TPM MIB                   July 14, 2000


8.  Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to per-
   tain to the implementation or use of the technology described in this
   document or the extent to which any license under such rights might
   or might not be available; neither does it represent that it has made
   any effort to identify any such rights.  Information on the IETF's
   procedures with respect to rights in standards-track and standards-
   related documentation can be found in BCP-11.  Copies of claims of
   rights made available for publication and any assurances of licenses
   to be made available, or the result of an attempt made to obtain a
   general license or permission for the use of such proprietary rights
   by implementors or users of this specification can be obtained from
   the IETF Secretariat."

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

9.  Acknowledgements

   This memo has been produced with a great deal of assistance from
   David Craver, Joseph Maixner and John Metzger of Apptitude, Inc.

























Expires January 14, 2001                                       [Page 51]

Internet-Draft                   TPM MIB                   July 14, 2000


10.  References

[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, May 1990.

[RFC1212]   Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
            16, RFC 1212, March 1991.

[RFC1215]   M. Rose, "A Convention for Defining Traps for use with the
            SNMP", RFC 1215, March 1991.

[RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Structure of Management Infor-
            mation Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

[RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Textual Conventions for
            SMIv2", STD 58, RFC 2579, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, January
            1996.

[RFC1906]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Transport Mappings for Version 2 of the Simple Network Man-
            agement Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC2572]   Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
            Processing and Dispatching for the Simple Network Management
            Protocol (SNMP)", RFC 2572, April 1999.

[RFC2574]   Blumenthal, U., and B. Wijnen, "User-based Security Model
            (USM) for version 3 of the Simple Network Management Proto-
            col (SNMPv3)", RFC 2574, April 1999.





Expires January 14, 2001                                       [Page 52]

Internet-Draft                   TPM MIB                   July 14, 2000


[RFC1905]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Pro-
            tocol Operations for Version 2 of the Simple Network Manage-
            ment Protocol (SNMPv2)", RFC 1905, January 1996.

[RFC2573]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
            RFC 2573, April 1999.

[RFC2575]   Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
            Access Control Model (VACM) for the Simple Network Manage-
            ment Protocol (SNMP)", RFC 2575, April 1999.

[RFC2570]   Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduc-
            tion to Version 3 of the Internet-standard Network Manage-
            ment Framework", RFC 2570, April 1999.

[RFC2021]   S. Waldbusser, "Remote Network Monitoring Management Infor-
            mation Base Version 2 using SMIv2", RFC 2021, January 1997.

[HCRMON]    S. Waldbusser, "Remote Network Monitoring Management Infor-
            mation Base for High Capacity Networks", draft-ietf-rmonmib-
            hcrmon-04.txt, October 1998.

[RFC2074]   Bierman, A., and R. Iddon, "Remote Network Monitoring MIB
            Protocol Identifiers", RFC 2074, January 1997.

[APM]       S. Waldbusser, "Application Performance Measurement MIB",
            draft-ietf-rmonmib-apm-mib-01.txt, July 14, 2000.

[PM]        A. Bierman, "Performance Measurement Capabilities MIB",
            draft-ietf-rmonmib-pmcaps-01.txt, July 14, 2000.





















Expires January 14, 2001                                       [Page 53]

Internet-Draft                   TPM MIB                   July 14, 2000


11.  Security Considerations

   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write and/or read-create.  Such
   objects may be considered sensitive or vulnerable in some network
   environments.  The support for SET operations in a non-secure envi-
   ronment without proper protection can have a negative effect on net-
   work operations.

   There are a number of managed objects in this MIB that may contain
   sensitive information.

   It is thus important to control even GET access to these objects and
   possibly to even encrypt the values of these object when sending them
   over the network via SNMP.  Not all versions of SNMP provide features
   for such a secure environment.

   In order to implement this MIB, an agent must make certain management
   information available about protocols and network addresses used
   within a managed system, which may be considered sensitive in some
   network environments.

   Therefore, a network administrator may wish to employ instance-level
   access control, and configure the TPM MIB access (e.g., community
   strings in SNMPv1 and SNMPv2C), such that certain instances within
   this MIB (e.g., tpmReportMetricStatisticN), are excluded from partic-
   ular MIB views.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, there is no
   control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   It is recommended that the implementors consider the security fea-
   tures as provided by the SNMPv3 framework.  Specifically, the use of
   the User-based Security Model RFC 2574 [RFC2574] and the View-based
   Access Control Model RFC 2575 [RFC2575] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly config-
   ured to give access to the objects only to those principals (users)
   that have legitimate rights to indeed GET or SET (change/cre-
   ate/delete) them.








Expires January 14, 2001                                       [Page 54]

Internet-Draft                   TPM MIB                   July 14, 2000


12.  Author's Address

     Russell Dietz
     Apptitude, Inc.
     6330 San Ignacio Avenue
     San Jose, CA USA 95119
     Phone: +1 408-574-2256
     Email: rsdietz@apptitude.com

A.  Full Copyright Statement

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this doc-
   ument itself may not be modified in any way, such as by removing the
   copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of develop-
   ing Internet standards in which case the procedures for copyrights
   defined in the Internet Standards process must be followed, or as
   required to translate it into languages other than English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MER-
   CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
















Expires January 14, 2001                                       [Page 55]


Html markup produced by rfcmarkup 1.107, available from http://tools.ietf.org/tools/rfcmarkup/