RMONMIB Working Group                                     Russell Dietz
                               TPM MIB                  Apptitude, Inc.
Internet-Draft                                             May 11, 2000



             Application Performance Measurement Framework
                   Transport Performance Metrics MIB



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


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of 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 November 11, 2000                                       [Page 1]


Internet-Draft                   TPM MIB                    May 11, 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 November 11, 2000                                       [Page 2]


Internet-Draft                   TPM MIB                    May 11, 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 Draft APMMON MIB . . . . . . . . . . . . . . .   9
5.9.  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  . . . . . . . . . . . . . . . . . . . . .  35
9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . .  35
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . .  36
11. Security Considerations  . . . . . . . . . . . . . . . . . . . .  38
12. Author's Address . . . . . . . . . . . . . . . . . . . . . . . .  39
A.  Full Copyright Statement . . . . . . . . . . . . . . . . . . . .  39
























Expires November 11, 2000                                       [Page 3]


Internet-Draft                   TPM MIB                    May 11, 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 [1].

    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 [2], and STD 16, RFC 1212 [3] and RFC 1215 [4].
        The second version, called SMIv2, is described in STD 58, RFC
        2578 [5], RFC 2579 [6] and RFC 2580 [7].

    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 [8]. A second version of the SNMP
        message protocol, which is not an Internet standards track pro-
        tocol, is called SNMPv2c and described in RFC 1901 [9] and RFC
        1906 [10]. The third version of the message protocol is called
        SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC
        2574 [12].

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

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

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

   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
   readable information is not considered to change the semantics of the



Expires November 11, 2000                                       [Page 4]


Internet-Draft                   TPM MIB                    May 11, 2000


   MIB.

5.  Overview

   This document continues the architecture created in the RMON MIB [17]
   by providing a major feature upgrade, primarily by providing new met-
   rics 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 [17] and uses the Protocol Directory as a key com-
   ponent 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 [21].

   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
        exactly as defined in the RMON-2 MIB [17].



Expires November 11, 2000                                       [Page 5]


Internet-Draft                   TPM MIB                    May 11, 2000


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

   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
       The total number of traffic flows during this period




Expires November 11, 2000                                       [Page 6]


Internet-Draft                   TPM MIB                    May 11, 2000


   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

       -- transport performance metric reports



Expires November 11, 2000                                       [Page 7]


Internet-Draft                   TPM MIB                    May 11, 2000


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 [20] 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 [19].  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 [17].  The protocol
   index values throughout the document are a direct reference to the
   same relationship that exists between the RMON-2 MIB [19] and the
   Protocol Identifier Reference document, RFC 2074 [17].

5.7.  Relationship to RMON MIB Performance Metric Identifiers

   This document uses the Performance Metric Indentifiers outlined in
   the current Performance Metric Reference document, [20].  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 Draft APMMON MIB

   This document was derived from the structure and concepts found in
   the current APMMON MIB [21].  The basic architecture has been changed
   to form a model for supplying transport relevant metrics.  The APMMON
   MIB will no longer be updated.

5.9.  Relationship to Application Performance Measurement MIB



Expires November 11, 2000                                       [Page 8]


Internet-Draft                   TPM MIB                    May 11, 2000


   This document uses the apmReportControlIndex and apmReportIndex as
   outlined in the current Application Performance Metric MIB draft doc-
   ument [22].  These objects are used to create a reference link for
   the purpose of reporting traffic flow details on application protocol
   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



Expires November 11, 2000                                       [Page 9]


Internet-Draft                   TPM MIB                    May 11, 2000


   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
   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.




Expires November 11, 2000                                      [Page 10]


Internet-Draft                   TPM MIB                    May 11, 2000


   The metric data structure contains five unsigned integer datum.

       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




Expires November 11, 2000                                      [Page 11]


Internet-Draft                   TPM MIB                    May 11, 2000


   The actual meaning of a specific metric datum is determined by the
   definition of the specific metric.  The following is a discussion of
   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.



Expires November 11, 2000                                      [Page 12]


Internet-Draft                   TPM MIB                    May 11, 2000


                Series A:    2,  6, 10,  6,  6,   6,   6,   6,   6,  6
                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 [1].  The statis-
        tical 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
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP



Expires November 11, 2000                                      [Page 13]


Internet-Draft                   TPM MIB                    May 11, 2000


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

tpmMIB MODULE-IDENTITY
    LAST-UPDATED    "200005111500Z"  -- 11-May-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        "200005111500Z"     -- 11-May-2000
    ::= { rmon xxx }                    -- 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 }




Expires November 11, 2000                                      [Page 14]


Internet-Draft                   TPM MIB                    May 11, 2000


tpmMetric           OBJECT IDENTIFIER
                    ::= { 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



Expires November 11, 2000                                      [Page 15]


Internet-Draft                   TPM MIB                    May 11, 2000


        combinations by the management application.

        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



Expires November 11, 2000                                      [Page 16]


Internet-Draft                   TPM MIB                    May 11, 2000


        notSupported(1) setting is only used to signify that other
        configuration parameters are causing the agent to currently not
        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 }



Expires November 11, 2000                                      [Page 17]


Internet-Draft                   TPM MIB                    May 11, 2000


tpmReportControlEntry OBJECT-TYPE
    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



Expires November 11, 2000                                      [Page 18]


Internet-Draft                   TPM MIB                    May 11, 2000


        "This index associates this TpmReportControlEntry directly with
        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



Expires November 11, 2000                                      [Page 19]


Internet-Draft                   TPM MIB                    May 11, 2000


        "The type of aggregation being performed for this set of
        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



Expires November 11, 2000                                      [Page 20]


Internet-Draft                   TPM MIB                    May 11, 2000


        "The interval in seconds over which data is accumulated before
        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



Expires November 11, 2000                                      [Page 21]


Internet-Draft                   TPM MIB                    May 11, 2000


        entries in the tpmMetric table if there is no more room
        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



Expires November 11, 2000                                      [Page 22]


Internet-Draft                   TPM MIB                    May 11, 2000


    MAX-ACCESS  read-only
    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



Expires November 11, 2000                                      [Page 23]


Internet-Draft                   TPM MIB                    May 11, 2000


    MAX-ACCESS  read-only
    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
--



Expires November 11, 2000                                      [Page 24]


Internet-Draft                   TPM MIB                    May 11, 2000


-- The following tables are all part of the TPM Study Group.  These
-- 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      PerfMetricEntry
    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



Expires November 11, 2000                                      [Page 25]


Internet-Draft                   TPM MIB                    May 11, 2000


        apmMetric table.  Each such entry defines a metric instance
        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



Expires November 11, 2000                                      [Page 26]


Internet-Draft                   TPM MIB                    May 11, 2000


    SYNTAX      PerfEntry
    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 and
        tpmReportClientAddress. 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 tpmReportClientAddress 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 and
        tpmReportClientAddress, via the tpmMetric table.

        An example of the indexing of this table is
        tpmReportStatisticN.3.15.34.18.4.128.2.6.7.4.128.2.6.6.30"
    INDEX {
            tpmReportControlIndex,
            tpmReportIndex,
            protocolLocalDirIndex,  -- Application Layer
            protocolLocalDirIndex,  -- Network Layer
            tpmReportServerAddress,
            tpmReportClientAddress,
            tpmReportMetricIndex    -- Metric and Protocol
          }



Expires November 11, 2000                                      [Page 27]


Internet-Draft                   TPM MIB                    May 11, 2000


    ::= { tpmReportTable 1 }

TpmReportEntry ::= SEQUENCE {
    tpmReportIndex                          Integer32,
    tpmReportServerAddress                  OCTET STRING,
    tpmReportClientAddress                  OCTET STRING,
    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.




Expires November 11, 2000                                      [Page 28]


Internet-Draft                   TPM MIB                    May 11, 2000


        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."
    ::= { tpmReportEntry 2 }

tpmReportClientAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The network layer address of the client 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
        octet of 4, followed by the 4 octets of the IP address,
        in network byte order."
    ::= { 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 }



Expires November 11, 2000                                      [Page 29]


Internet-Draft                   TPM MIB                    May 11, 2000


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
    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



Expires November 11, 2000                                      [Page 30]


Internet-Draft                   TPM MIB                    May 11, 2000


        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
    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 }



Expires November 11, 2000                                      [Page 31]


Internet-Draft                   TPM MIB                    May 11, 2000


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

tpmReportStatisticSumIX 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 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



Expires November 11, 2000                                      [Page 32]


Internet-Draft                   TPM MIB                    May 11, 2000


        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
        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      ApmCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the tpmCurrentTable.

        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



Expires November 11, 2000                                      [Page 33]


Internet-Draft                   TPM MIB                    May 11, 2000


        (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 and
        tpmReportClientAddress. 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 tpmReportClientAddress 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 and
        tpmReportClientAddress, via the tpmMetric table.

        An example of the indexing of this table is
        tpmReportStatisticN.34.18.4.128.2.6.7.4.128.2.6.6.23698.30"

    INDEX { tpmReportControlIndex,
            protocolLocalDirIndex,  -- Application Layer
            protocolLocalDirIndex,  -- Network Layer
            tpmReportServerAddress,
            tpmReportClientAddress,
            tpmReportMetricIndex,   -- Metric and Protocol
            tpmApmCurrentTransactionID
          }
    ::= { tpmCurrentTable 1 }

TpmCurrentEntry ::= SEQUENCE {
    tpmReportServerAddress                  OCTET STRING,
    tpmReportClientAddress                  OCTET STRING,
    tpmCurrentApmTransactionID              Integer32,
    tpmCurrentApmSuccess                    INTEGER,
    tpmCurrentStatisticN                    Counter32,
    tpmCurrentOverflowStatisticN            Counter32,



Expires November 11, 2000                                      [Page 34]


Internet-Draft                   TPM MIB                    May 11, 2000


    tpmCurrentHCStatisticN                  Counter64,
    tpmCurrentStatisticSumX                 Counter32,
    tpmCurrentOverflowStatisticSumX         Counter32,
    tpmCurrentHCStatisticSumX               Counter64,
    tpmCurrentStatisticMaximum              Gauge32,
    tpmCurrentStatisticMinimum              Gauge32,
    tpmCurrentStatisticSumSquared           Counter32,
    tpmCurrentOverflowStatisticSumSquared   Counter32,
    tpmCurrentHCStatisticSumSquared         Counter64,
    tpmCurrentStatisticSumIX                Counter32,
    tpmCurrentOverflowStatisticSumIX        Counter32,
    tpmCurrentHCStatisticSumIX              Counter64,
    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 }

tpmCurrentClientAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The network client 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,



Expires November 11, 2000                                      [Page 35]


Internet-Draft                   TPM MIB                    May 11, 2000


        in network byte order."
    ::= { 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)
                }
    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 }




Expires November 11, 2000                                      [Page 36]


Internet-Draft                   TPM MIB                    May 11, 2000


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
    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 }



Expires November 11, 2000                                      [Page 37]


Internet-Draft                   TPM MIB                    May 11, 2000


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
    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 }




Expires November 11, 2000                                      [Page 38]


Internet-Draft                   TPM MIB                    May 11, 2000


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
    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



Expires November 11, 2000                                      [Page 39]


Internet-Draft                   TPM MIB                    May 11, 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 19 }

tpmCurrentOverflowStatisticSumIXSquared OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times the associated
        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.


--
-- TPM Notifications
--


--
-- TPM Conformance
--

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



Expires November 11, 2000                                      [Page 40]


Internet-Draft                   TPM MIB                    May 11, 2000


--
-- TPM Compliance Statement
--

--
-- TPM MIB Groupings
--


END









































Expires November 11, 2000                                      [Page 41]


Internet-Draft                   TPM MIB                    May 11, 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 November 11, 2000                                      [Page 42]


Internet-Draft                   TPM MIB                    May 11, 2000


10.  References

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

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

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

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

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

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

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

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

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

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

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

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

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



Expires November 11, 2000                                      [Page 43]


Internet-Draft                   TPM MIB                    May 11, 2000


[14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC
     2573, SNMP Research, Inc., April 1999.

[15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Con-
     trol Model (VACM) for the Simple Network Management Protocol
     (SNMP)", RFC 2575, April 1999.

[16] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to
     Version 3 of the Internet-standard Network Management Framework",
     RFC 2570, April 1999.

[17] S. Waldbusser, "Remote Network Monitoring Management Information
     Base Version 2 using SMIv2", RFC 2021, January 1997.

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

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

[20] R. Dietz, "Transport Performance Metric Identifiers", draft-ietf-
     rmonmib-tpm-metrics-00.txt, April 2000.

[21] R. Dietz, "Transport Performance Metrics MIB", draft-dietz-tpm-
     mib-00.txt, March 2000.

[22] S. Waldbusser, "Application Performance Measurement MIB", draft-
     ietf-rmonmib-apm-mib-00.txt, May 7, 2000.

[23] A. Bierman, "Performance Measurement Capabilities MIB", draft-ietf-
     rmonmib-pmcaps-00.txt, May 11, 2000.



















Expires November 11, 2000                                      [Page 44]


Internet-Draft                   TPM MIB                    May 11, 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 [13] and the View-based Access
   Control Model RFC 2575 [15] 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 November 11, 2000                                      [Page 45]


Internet-Draft                   TPM MIB                    May 11, 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 November 11, 2000                                      [Page 46]