Internet Engineering Task Force                                  R. Cole
Internet-Draft                                  Johns Hopkins University
Intended status: Standards Track                               J. Macker
Expires: October 30, 2009                      Naval Research Laboratory
                                                               A. Morton
                                                       AT&T Laboratories
                                                          April 28, 2009


   Definition of Managed Objects for Reporting Performance Counters'
                               Statistics
                     draft-cole-manet-report-mib-00

Status of This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

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

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

   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 Internet-Draft will expire on October 30, 2009.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.





Cole, et al.            Expires October 30, 2009                [Page 1]


Internet-Draft               The REPORT MIB                   April 2009


Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects for configuring autonomous report
   generation on any device that supports MIBs containing counter
   objects for performance monitoring.  This allows a management station
   to instruct a device to build off-line reports to be collected
   asynchronously by the management station.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The Internet-Standard Management Framework . . . . . . . . . .  3
   3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
     4.1.  Report MIB Management Model  . . . . . . . . . . . . . . .  3
     4.2.  Terms  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   5.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  7
     5.1.  Textual Conventions  . . . . . . . . . . . . . . . . . . .  8
     5.2.  The Capabilities Group . . . . . . . . . . . . . . . . . .  8
     5.3.  The Reports Control Group  . . . . . . . . . . . . . . . .  8
     5.4.  The Reports Group  . . . . . . . . . . . . . . . . . . . .  8
     5.5.  The Notifications Group  . . . . . . . . . . . . . . . . .  9
   6.  Relationship to Other MIB Modules  . . . . . . . . . . . . . .  9
     6.1.  Relationship to the SNMPv2-MIB . . . . . . . . . . . . . .  9
     6.2.  Relationship to the IF-MIB . . . . . . . . . . . . . . . . 10
     6.3.  MIB modules required for IMPORTS . . . . . . . . . . . . . 10
   7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 37
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 38
   10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 39
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 39
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 39
     12.2. Informative References . . . . . . . . . . . . . . . . . . 40
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 40
   Appendix B.  Open Issues . . . . . . . . . . . . . . . . . . . . . 40
   Appendix C.    . . . . . . . . . . . . . . . . . . . . . . . . . . 41












Cole, et al.            Expires October 30, 2009                [Page 2]


Internet-Draft               The REPORT MIB                   April 2009


1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes objects for configuring autonomous, off-
   line report generation on any device supporting MIBs containing
   counter objects for performance monitoring.  The Reporting MIB
   borrows from the RMON ReportsControl and Reports Tables.  Here the
   ReportsControlTable specifies the report metric, the counter Object
   ID to monitor and other aspects of the report development and
   storage.

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

3.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

4.  Overview

   The Reporting MIB ... and notifications.

4.1.  Report MIB Management Model

   This section describes the management model for the Reporting MIB
   process.

   Figure 1 illustratrates a potential use of the Report-MIB for the
   generation of off-line, remotely generated reports.  The management
   station on the left hand side of the illustration instructs the
   remote device to create reports through manipulation of the
   ReportCntrl Objects in the Report-MIB resident on the remote device.
   The reports instruct the device to monitor the status of speicified



Cole, et al.            Expires October 30, 2009                [Page 3]


Internet-Draft               The REPORT MIB                   April 2009


   counters (on other MIBs) periodically and to generate a set of
   metrics describing the temporal behavior of those counter values.
   The reports are stored locally until the management station decides
   to pull them off the device.  The figure shows a case where the
   Report-MIB generates a notification that Report_2 has completed,
   prompting the management station to pull Report_2 from the device.













































Cole, et al.            Expires October 30, 2009                [Page 4]


Internet-Draft               The REPORT MIB                   April 2009


   Mgmt       Device
   Station
                          REPORT-MIB         MIB_1
                          +---------+        +-----+
                          |         |        |     |
    Build_Rep_1           |+-------+|        +--+  |
       +----------------->||cntrl_1||<------>|PC|  |
                          |+-------+|<-+     +--+--+
                          |         |  |
                          |         |  |     MIB_2
                          |         |  |     +-----+
                          |            |     |     |
                          |         |  |     +--+  |
                          |         |  +---->|PC|  |
    Build_Rep_2           |+-------+|    +-->+--+--+
       +----------------->||cntrl_2||<---+
                          |+-------+|
                          |         |
                          |         |
    Build_Rep_3           |+-------+|
       +----------------->||cntrl_3||<---+   MIB_n
                          |+-------+|    |   +-----+
                          |         |    |   |     |
                          |+-----+  |    |   +--+  |
                          ||Rep_1|  |    +-->|PC|  |
                          |+-----+  |        +--+--+
                          |         |
                          |+-----+  |
       <------------------||Rep_2|  |
    Notf_Rep_2            |+-----+  |
                          |         |
                          |+-----+  |
                          ||Rep_3|  |
                          |+-----+  |
    Get_Rep_2             |         |
       +----------------->|         |
                          |         |
       <-----------------+|         |
    Send_Rep_2            +---------+


   Figure 1: REPORT MIB front-end report generation process.

   The Report-MIB defines specifically a set of metrics which are
   computed within all reports.  It also allows for the specification of
   metric extensions which are local to the specific implementation of
   the Report-MIB.  These are identified in the reportCapabilitiesGroup
   metricExtension Table.



Cole, et al.            Expires October 30, 2009                [Page 5]


Internet-Draft               The REPORT MIB                   April 2009


   Each metric has an associated Object ID of type counter associated
   with it.  The control table specifies a report interval and a bin
   interval.  The report interval is an integral multiple of the bin
   interval.  For each bin interval, the device identifies the change in
   the counter value over the bin interval (called x_i) and then
   computes the associated metric, e.g., sum, sum of the square, etc,
   over the set {x_i}.  It maintains the sum of these computations
   within the metric objects in the 'reportAggrReportsTable'.  Once the
   report interval is complete, the management station has enough
   information to compute a set of interesting and useful statistics.

   The computational model of the REPORT-MIB is illustrated in the
   figure below.  The important controls are a) the contrlInterval, b)
   the cntrlBinInterval, c) the specific counterObjectId, and d) the
   metric.  In the figure x_i represents the ith value of the counter
   change, i.e., x_i = counterValue(t_i+1) - counterValue(t_i).  The
   metrics reported are then computed from the set (x_i).  Three
   examples are identified in the figure, e.g., StatSumX, StatSumSq and
   StatMaxX.  Other existing and potential metrics are discussed below.



  |
  |<--------------------- cntrlInterval ---------------------------->|
  |                                                                  |

  |     |     |     |     |                              |     |     |
  | x_0 | x_1 | x_2 | x_3 |            ...               |x_n-2|x_n-1|
  +-----+-----+-----+-----+---                        ---+-----+-----+

  ^     ^     ^     ^     ^                              ^     ^     ^
  t_0   t_1   t_2   t_3   t_4                            t_n-2 t_n-1 t_n


  where t_i - t_i-1 = cntrlBinInterval
        n = cntrlInterval / cntrlBinInterval

        StatSumX = Sum(x_i)  from i=0, ..., n-1
        StatSumSq = Sum((x_i)^2) from i=0, ..., n-1
        StatMaxX = Max(x_i) for i=0, ..., n-1


  Figure 2: REPORT MIB computation process.

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




Cole, et al.            Expires October 30, 2009                [Page 6]


Internet-Draft               The REPORT MIB                   April 2009


   o  Number -

   o  Frequency -

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

   o  Maximum -

   o  Minimum -

   o  Range -

   o  Arithmetic Mean -

   o  Root Mean Square -

   o  Variance -

   o  Standard Deviation -

   o  Slope of a least-squares line -

   o  These are accessible from the statistical datum provided by this
      MIB module.

4.2.  Terms

   The following definitions apply throughout this document:

   o  Capabilities - TBD.

   o  Report Control - TBD.

   o  Reports - TBD.

5.  Structure of the MIB Module

   This section presents the structure of the REPORT MIB module.  The
   objects are arranged into the following groups:

   o  reportMIBNotifications - defines the notifications associated with
      the REPORT MIB.

   o  reportMIBObjects - defines the objects forming the basis for the
      REPORT MIB.  These objects are divided up by function into the
      following groups:




Cole, et al.            Expires October 30, 2009                [Page 7]


Internet-Draft               The REPORT MIB                   April 2009


   o

      *  Capabilities Group - This group contains the objects which
         describe the clock and metric extensions to the local device...

      *  Reports Control Group - Contains tables allowing a network
         management station to configure a specific set of reports to be
         generated and stored locally on the device...

      *  Reports Group - Contains tables holding the finished and
         current reports' information...

   o  reportMIBConformance - defines minimal and full conformance of
      implementations to this REPORT MIB.

5.1.  Textual Conventions

   The textual conventions used in the REPORT MIB are as follows.  The
   RowStatus textual convention is imported from RFC 2579 [RFC2579].

5.2.  The Capabilities Group

   The REPORT-MIB device has a ....

   o  Clock Information - ...

5.3.  The Reports Control Group

   The Reports Control Group contains tables which ....

   o  reportReportsCntrlTable -

5.4.  The Reports Group

   The Reports Group contains .....

   As and example of how the metrics are to be computed within the
   Report-MIB, consider the standard metric object
   'reportAggrReportsStatSumX'.  For each bin interval defined by the
   object reportCntrlReportsBinInterval, the change in the value of the
   counter pointed to by the Object ID reportCntrlReportsPriObjID is
   calculated.  Then this (delta) value is added to the current value of
   the value contained in the object 'reportAggrReportsStatSumX'.  Then,
   if interested in computing the average change in this object (sampled
   each bin interval) for the duration of the report, the management
   station simply divides reportAggrReportsStatSumX by
   reportAggrReportsStatN.  Although this is a trivial example because
   the value of reportAggrReportStatSumX is simple the difference in the



Cole, et al.            Expires October 30, 2009                [Page 8]


Internet-Draft               The REPORT MIB                   April 2009


   counter reportCntrolReportsPriObjID at the start and the end of the
   total report interval, the other metrics defined are not as trival.

   The objects 'reportAggrReportsOverflowStatSumX' and
   'reportAggrReportsHCSumX' are borrowed from ROMN and exist to handle
   integer overflow situations where, e.g., 'reportAggrReportsStatSumX'
   overruns its maximum vary numerous times.

   Computations and utility of the other standard metrics are as
   follows:

   o  reportAggrReportsStatSumXSq -

   o  reportAggrReportsStatMaximum -

   o  reportAggrReportsStatMinimum -

   o  reportAggrReportsStatSumSq -

   o  reportAggrReportsStatSumIX -

   o  reportAggrReportsStatSumIXSq -

5.5.  The Notifications Group

   The Notifications Subtree contains the list of notifications
   supported within the REPORT-MIB and their intended purpose or
   utility.  This group is currently empty.

6.  Relationship to Other MIB Modules

   [TODO]: The text of this section specifies the relationship of the
   MIB modules contained in this document to other standards,
   particularly to standards containing other MIB modules.  Definitions
   imported from other MIB modules and other MIB modules that SHOULD be
   implemented in conjunction with the MIB module contained within this
   document are identified in this section.

6.1.  Relationship to the SNMPv2-MIB

   The 'system' group in the SNMPv2-MIB [RFC3418] is defined as being
   mandatory for all systems, and the objects apply to the entity as a
   whole.  The 'system' group provides identification of the management
   entity and certain other system-wide data.  The REPORT-MIB does not
   duplicate those objects.






Cole, et al.            Expires October 30, 2009                [Page 9]


Internet-Draft               The REPORT MIB                   April 2009


6.2.  Relationship to the IF-MIB

   [TODO] This section is included as an example; If the MIB module is
   not an adjunct of the Interface MIB, then this section should be
   removed.

6.3.  MIB modules required for IMPORTS

   [TODO]: Citations are not permitted within a MIB module, but any
   module mentioned in an IMPORTS clause or document mentioned in a
   REFERENCE clause is a Normative reference, and must be cited
   someplace within the narrative sections.  If there are imported items
   in the MIB module, such as Textual Conventions, that are not already
   cited, they can be cited in text here.  Since relationships to other
   MIB modules should be described in the narrative text, this section
   is typically used to cite modules from which Textual Conventions are
   imported.

   The following REPORT-MIB module IMPORTS objects from SNMPv2-SMI
   [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], and IF-MIB
   [RFC2863]

7.  Definitions



   REPORT-MIB DEFINITIONS ::= BEGIN

   IMPORTS

      ZeroBasedCounter32
         FROM RMON2-MIB                           -- [RFC2021]

      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Counter32, Unsigned32, Integer32, mib-2
         FROM SNMPv2-SMI                          -- [RFC2578]

      TEXTUAL-CONVENTION, RowStatus, TruthValue,
      TimeStamp, StorageType
         FROM SNMPv2-TC                           -- [RFC2579]

      MODULE-COMPLIANCE, OBJECT-GROUP,
      NOTIFICATION-GROUP
         FROM SNMPv2-CONF                         -- [RFC2580]

      OwnerString
         FROM RMON-MIB                            -- [RFC2819]




Cole, et al.            Expires October 30, 2009               [Page 10]


Internet-Draft               The REPORT MIB                   April 2009


      InterfaceIndexOrZero
         FROM IF-MIB                              -- [RFC2863]

      SnmpAdminString
         FROM SNMP-FRAMEWORK-MIB                  -- [RFC3411]

      InetAddress, InetAddressType,
      InetAddressPrefixLength
         FROM INET-ADDRESS-MIB                    -- [RFC4001]
      ;

   report-MIB MODULE-IDENTITY
      LAST-UPDATED "200904281300Z"  -- April 28, 2009
      ORGANIZATION "IETF MANET Working Group"
      CONTACT-INFO
         "WG E-Mail: manet@ietf.org

          WG Chairs: ian.chakeres@gmail.com
                     jmacker@nrl.navy.mil


          Editors:   Robert G. Cole
                     Johns Hopkins University
                     Applied Physics Lab and
                     Department of Computer Science
                     11000 Johns Hopkins Road
                     Room 02-257
                     Laurel, MD 22014
                     USA
                     +1 443 778-6951
                     robert.cole@jhuapl.edu

                     Joseph Macker
                     Naval Research Laboratory
                     Washington, D.C. 20375
                     USA
                     macker@itd.nrl.navy.mil

                     Al Morton
                     AT&T Laboratories
                     Middletown, N.J. 07724
                     USA
                     amorton@att.com"
      DESCRIPTION
         "This MIB module contains managed object definitions for
          the autonmous reporting of performance object counters.

          Copyright (C) The IETF Trust (2009). This version



Cole, et al.            Expires October 30, 2009               [Page 11]


Internet-Draft               The REPORT MIB                   April 2009


          of this MIB module is part of RFC xxxx; see the RFC
          itself for full legal notices."

        -- Revision History
        REVISION    "200904281300Z"   -- April 28, 2009
        DESCRIPTION
           "Initial draft of this MIB module published as
            draft-cole-manet-report-mib-00.txt."
        -- RFC-Editor assigns XXXX
        ::= { mib-2 998 }   -- to be assigned by IANA



   --
   -- TEXTUAL CONVENTIONs
   --



   --
   -- Top-Level Object Identifier Assignments
   --

   reportMIBNotifications OBJECT IDENTIFIER ::= { reportMIB 0 }
   reportMIBObjects       OBJECT IDENTIFIER ::= { reportMIB 1 }
   reportMIBConformance   OBJECT IDENTIFIER ::= { reportMIB 2 }



   --
   -- reportMIBObjects Assignments:
   --      reportCapabilitiesGroup    - 1
   --      reportReportsControlGroup  - 2
   --      reportReportsGroup         - 3
   --


   --
   -- reportCapabilitiesGroup
   --
   --    This group contains the REPORT objects that identify specific
   --    capabilities within this device related to REPORT functions.
   --

   reportCapabilitiesGroup  OBJECT IDENTIFIER ::= { reportMIBObjects 1 }

   reportClockResolution OBJECT-TYPE
       SYNTAX      SspmMicroSeconds



Cole, et al.            Expires October 30, 2009               [Page 12]


Internet-Draft               The REPORT MIB                   April 2009


       MAX-ACCESS  read-only
       STATUS      current
       -- UNITS       Microseconds
       DESCRIPTION
           "A read-only variable indicating the resolution
            of the measurements possible by this device."
       ::= { reportCapabilitiesGroup 1 }

   reportClockMaxSkew OBJECT-TYPE
       SYNTAX      SspmClockMaxSkew
       MAX-ACCESS  read-only
       STATUS      current
       -- UNITS       Seconds
       DESCRIPTION
           "A read-only variable indicating the maximum
            offset error due to skew of the local clock
            over the time interval 86400 seconds, in seconds."
       ::= { reportCapabilitiesGroup 2 }

   reportClockSource OBJECT-TYPE
       SYNTAX      SspmClockSource
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A read-only variable indicating the source of the clock.
            This is provided to allow a user to determine how accurate
            the timing mechanism is compared with other devices."
       ::= { reportCapabilitiesGroup 3 }

   reportMetricDirLastChange OBJECT-TYPE
       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime at the time the
           reportTransMetricDirTable was last modified, through
           modifications of the reportTransMetricDirConfig object."
       ::= { reportCapabilitiesGroup 4 }


   --
   -- REPORT Metric Extensions Definition Table
   --

   reportMetricExtDefTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF ReportMetricExtDefEntry
       MAX-ACCESS  not-accessible
       STATUS      current



Cole, et al.            Expires October 30, 2009               [Page 13]


Internet-Draft               The REPORT MIB                   April 2009


       DESCRIPTION
           "The reportMetricExtDefTable describes the metrics
           available to the REPORT-MIB.  The reportMetricExtDefTable
           can define metrics by referencing existing IETF,
           ITU, and other standards organizations' documents,
           including enterprise-specific documents.
           Examples of appropriate references include the
           ITU-T Recommendation Y.1540 [Y.1540] on IP
           packet transfer performance metrics and the
           IETF documents from the IPPM WG; e.g., RFC2681
           on the round trip delay metric [RFC2681] or
           RFC3393 on the delay variation metric [RFC3393].
           Other examples include RFC2679 [RFC2679], RFC2680
           [RFC2680], and RFC3432 [RFC3432].  Although no
           specific metric is mandatory, implementations
           should, at a minimum, support a round-trip delay
           and a round-trip loss metric.

           This table contains one row per metric supported by this
           agent, and it should be populated during system
           initialization."
       ::= { reportCapabilitiesGroup 5 }

   reportMetricExtDefEntry OBJECT-TYPE
       SYNTAX      ReportMetricExtDefEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about a particular metric."
       INDEX   { reportMetricExtDefID }
       ::= { reportMetricExtDefTable 1 }

   ReportMetricExtDefEntry ::= SEQUENCE {
         reportMetricExtDefID             ReportMetricExtDefID,
         reportMetricExtDefType           INTEGER,
         reportMetricExtDefName           SnmpAdminString,
         reportMetricExtDefOperation      SnmpAdminString,
         reportMetricExtDefReference      SnmpAdminString
   }

   reportMetricExtDefID     OBJECT-TYPE
       SYNTAX      ReportMetricExtDefID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The index for this entry.  This object identifies
            the particular metric in this MIB module."
       ::= { reportMetricExtDefEntry 1 }



Cole, et al.            Expires October 30, 2009               [Page 14]


Internet-Draft               The REPORT MIB                   April 2009


   reportMetricExtDefType   OBJECT-TYPE
       SYNTAX      INTEGER  {
                             other(1),
                             singleObjMetric(2),
                             multipleObjMetric(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The basic type of metric indicated by this entry.

           The value 'other(1)' indicates that this metric cannot be
           characterized by any of the remaining enumerations specified
           for this object.

           The value 'connectMetric(2)' indicates that this metric
           measures connectivity characteristics.

           The value 'delayMetric(3)' indicates that this metric
           measures delay characteristics.
           "
       ::= { reportMetricExtDefEntry 2 }

   reportMetricExtDefName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The textual name of this metric.  For example, if
           this reportMetricDefEntry identified the IPPM metric for
           round trip delay, then this object should contain
           the value, e.g., 'Type-P-Round-Trip-Delay'."
       ::= { reportMetricExtDefEntry 4 }

   reportMetricExtDefOperation OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The textual description of the operations necessary
           to compute this metric.  For example, if
           this reportMetricDefEntry identified the IPPM metric for
           round trip delay, then this object should contain
           the value, e.g., 'Type-P-Round-Trip-Delay'."
       ::= { reportMetricExtDefEntry 4 }

   reportMetricExtDefReference OBJECT-TYPE
       SYNTAX      SnmpAdminString



Cole, et al.            Expires October 30, 2009               [Page 15]


Internet-Draft               The REPORT MIB                   April 2009


       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains a reference to the document that
           defines this metric.  If this document is available online
           via electronic download, then a de-referencable URL
           should be specified in this object.  The implementation
           must support an HTTP URL type and may support additional
           types of de-referencable URLs such as an FTP type.

           For example, if this reportMetricDefName identified the IPPM
           metric 'Type-P-Round-Trip-Delay', then this object should
           contain the value, e.g.,
           'http://www.ietf.org/rfc/rfc2681.txt'."
       ::= { reportMetricExtDefEntry 5 }



   --
   -- Reports Control Group
   --     This and the following tables are modeled
   --     after the report control and collection
   --     capabilities found in RMON II, RFC XXXX

   --
   -- Note: Starting down this road only for general performance
   -- measures first.  If desireable, then will add reports for
   -- IF specific measurements.
   --

   reportReportsControlGroup OBJECT IDENTIFIER ::= {reportMIBObjects 2}

   reportGenReportCntrlTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF ReportGenReportCntrlEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The reportGenReportCntrlTable is the controlling entry
           that manages the population of studies in the
           Report for selected time intervals.

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




Cole, et al.            Expires October 30, 2009               [Page 16]


Internet-Draft               The REPORT MIB                   April 2009


           The control table entries are persistent across
           system reboots."
       ::= { reportReportsControlGroup 1 }

   reportGenReportCntrlEntry OBJECT-TYPE
       SYNTAX      ReportGenReportCntrlEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A conceptual row in the reportGenReportCntrlTable.

           An example of the indexing of this entry is
           reportGenReportCntrInterval.1"
       INDEX { reportGenReportCntrlIndex }
       ::= { reportGenReportsCntrlTable 1 }

   ReportGenReportCntrlEntry ::= SEQUENCE {
       reportGenReportsCntrlIndex            Unsigned32,
       reportGenReportsCntrlInterval         Unsigned32,
       reportGenReportsCntrlBinInterval      Unsigned32,
       reportGenReportsCntrlPriObjID         ObjectID,
       reportGenReportsCntrlSecObj1ID        ObjectID,
       reportGenReportsCntrlSecObj2ID        ObjectID,
       reportGenReportsCntrlSecObj3ID        ObjectID,
       reportGenReportsCntrlSecObj4ID        ObjectID,
       reportGenReportsCntrlSecObj5ID        ObjectID,
       reportGenReportsCntrlMetricExt1       ReportMetricExtID,
       reportGenReportsCntrlMetricExt2       ReportMetricExtID,
       reportGenReportsCntrlMetricExt3       ReportMetricExtID,
       reportGenReportsCntrlMetricExt4       ReportMetricExtID,
       reportGenReportsCntrlMetricExt5       ReportMetricExtID,
       reportGenReportsCntrlReqReports       Unsigned32,
       reportGenReportsCntrlGrantedReports   Unsigned32,
       reportGenReportsCntrlStartTime        TimeStamp,
       reportGenReportsCntrlReportNumber     Unsigned32,
       reportGenReportsCntrlInsertsDenied    Counter32,
       reportGenReportsCntrlOwner            OwnerString,
       reportGenReportsCntrlStorageType      StorageType,
       reportGenReportsCntrlStatus           RowStatus
   }

   reportGenReportsCntrlIndex OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An index that uniquely identifies an entry in the
           reportGenReportCntrlTable.  Each such entry defines a unique



Cole, et al.            Expires October 30, 2009               [Page 17]


Internet-Draft               The REPORT MIB                   April 2009


           report whose results are placed in the reportGenReportTable
           on behalf of this reportGenReportCntrlEntry."
       ::= { reportGenReportsCntrlEntry 1 }


   reportGenReportsCntrlInterval OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "Seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "The interval in seconds over which data is accumulated before
           being aggregated into a report in the reportGenReportTable.
           All reports with the same reportGenReportCntrlIndex will be
           based on the same interval.

           The value of the reportGenReportsCntrlInterval should be
           an integral multiple of the value of the
           reportGenReportsCntrlBinInterval.

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

   reportGenReportsCntrlBinInterval OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "Seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "The interval in seconds between which the value of the
           reportGenReportsCntrlPriObjID and SecObjIDs are polled
           for the purpose of generating the metric values associated
           with this report.  All reports with the same
           reportGenReportCntrlIndex will be based on the
           same bin interval.

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

   reportGenReportsCntrlPriObjID OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION



Cole, et al.            Expires October 30, 2009               [Page 18]


Internet-Draft               The REPORT MIB                   April 2009


           "This identifies the primary counter object to be
           monitored within this report.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 4 }

   reportGenReportsCntrlSecObj1ID OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the secondary counter object to be
           monitored within this report associated with the
           specified reportGenReportCntrlMetricExt1.  If the
           reportGenReportCntrlMetricExt1 is a simple metric, then
           the value of this reportGenReportCntrlSecObj1ID is
           set to '0'.

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

   reportGenReportsCntrlSecObj2ID  OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the secondary counter object to be
           monitored within this report associated with the
           specified reportGenReportCntrlMetricExt2.  If the
           reportGenReportCntrlMetricExt2 is a simple metric, then
           the value of this reportGenReportCntrlSecObj2ID is
           set to '0'.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 6 }

   reportGenReportsCntrlSecObj3ID  OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the secondary counter object to be
           monitored within this report associated with the
           specified reportGenReportCntrlMetricExt3.  If the
           reportGenReportCntrlMetricExt3 is a simple metric, then



Cole, et al.            Expires October 30, 2009               [Page 19]


Internet-Draft               The REPORT MIB                   April 2009


           the value of this reportGenReportCntrlSecObj3ID is
           set to '0'.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 7 }

   reportGenReportsCntrlSecObj4ID  OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the secondary counter object to be
           monitored within this report associated with the
           specified reportGenReportCntrlMetricExt4.  If the
           reportGenReportCntrlMetricExt4 is a simple metric, then
           the value of this reportGenReportCntrlSecObj4ID is
           set to '0'.

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

   reportGenReportsCntrlSecObj5ID  OBJECT-TYPE
       SYNTAX      ObjectID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the secondary counter object to be
           monitored within this report associated with the
           specified reportGenReportCntrlMetricExt5.  If the
           reportGenReportCntrlMetricExt5 is a simple metric, then
           the value of this reportGenReportCntrlSecObj5ID is
           set to '0'.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 8 }


   reportGenReportsCntrlMetricExt1  OBJECT-TYPE
       SYNTAX      ReportMetricExtID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the first metric extension placed
           in the reportGenReportTable.  If no metric extension
           is requested, then this object value is set to '0'.



Cole, et al.            Expires October 30, 2009               [Page 20]


Internet-Draft               The REPORT MIB                   April 2009


           If this metric is defined on a single counter object,
           then only the reportGenReportCntrlPriObjID is set, while
           the value of the reportGenReportCntrlSecObjID is
           set to '0'.  Else, the reportGenReportCntrlSecObjID
           is set in accoradance with the instruction in the
           definition of the metric extension found in the
           reportCapabilitiesMetwircExtTable above.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 9 }

   reportGenReportsCntrlMetricExt2  OBJECT-TYPE
       SYNTAX      ReportMetricExtID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the first metric extension placed
           in the reportGenReportTable.  If no metric extension
           is requested, then this object value is set to '0'.

           If this metric is defined on a single counter object,
           then only the reportGenReportCntrlPriObjID is set, while
           the value of the reportGenReportCntrlSecObjID is
           set to '0'.  Else, the reportGenReportCntrlSecObjID
           is set in accoradance with the instruction in the
           definition of the metric extension found in the
           reportCapabilitiesMetwircExtTable above.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 10 }

   reportGenReportsCntrlMetricExt3  OBJECT-TYPE
       SYNTAX      ReportMetricExtID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the first metric extension placed
           in the reportGenReportTable.  If no metric extension
           is requested, then this object value is set to '0'.

           If this metric is defined on a single counter object,
           then only the reportGenReportCntrlPriObjID is set, while
           the value of the reportGenReportCntrlSecObjID is
           set to '0'.  Else, the reportGenReportCntrlSecObjID
           is set in accoradance with the instruction in the
           definition of the metric extension found in the



Cole, et al.            Expires October 30, 2009               [Page 21]


Internet-Draft               The REPORT MIB                   April 2009


           reportCapabilitiesMetwircExtTable above.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 11 }

   reportGenReportsCntrlMetricExt4  OBJECT-TYPE
       SYNTAX      ReportMetricExtID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the first metric extension placed
           in the reportGenReportTable.  If no metric extension
           is requested, then this object value is set to '0'.

           If this metric is defined on a single counter object,
           then only the reportGenReportCntrlPriObjID is set, while
           the value of the reportGenReportCntrlSecObjID is
           set to '0'.  Else, the reportGenReportCntrlSecObjID
           is set in accoradance with the instruction in the
           definition of the metric extension found in the
           reportCapabilitiesMetwircExtTable above.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 12 }

   reportGenReportsCntrlMetricExt5  OBJECT-TYPE
       SYNTAX      ReportMetricExtID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This identifies the first metric extension placed
           in the reportGenReportTable.  If no metric extension
           is requested, then this object value is set to '0'.

           If this metric is defined on a single counter object,
           then only the reportGenReportCntrlPriObjID is set, while
           the value of the reportGenReportCntrlSecObjID is
           set to '0'.  Else, the reportGenReportCntrlSecObjID
           is set in accoradance with the instruction in the
           definition of the metric extension found in the
           reportCapabilitiesMetwircExtTable above.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 13 }




Cole, et al.            Expires October 30, 2009               [Page 22]


Internet-Draft               The REPORT MIB                   April 2009


   reportGenReportsCntrlReqReports OBJECT-TYPE
       SYNTAX      Unsigned32 (1..65535)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of saved reports requested to be allocated on
           behalf of this entry.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 14 }

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

           When the associated reportGenReportCntrlReqReports 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 available resources, the agent must consider its
           ability to allocate this many reports, each with the number
           of entries represented by reportGenReportCntrlGrantedSize, or
           by 1 if that object doesn't exist.

           Note that although the storage required for each report may
           fluctuate due to changing conditions, the agent 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 reportGenReportCntrlReqSize object."
       ::= { reportGenReportsCntrlEntry 15 }

   reportGenReportCntrlStartTime OBJECT-TYPE
       SYNTAX      TimeStamp
       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



Cole, et al.            Expires October 30, 2009               [Page 23]


Internet-Draft               The REPORT MIB                   April 2009


           available.

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

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

   reportGenReportsCntrlInsertsDenied OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of attempts to add an entry to reports for
           this ReportGenReportCntrlEntry that failed because the
           number of entries would have exceeded
           reportGenReportCntrlGrantedSize.

           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, so this number will
           not predict the exact number of additional entries
           needed, but it 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."
       ::= { reportGenReportsCntrlEntry 18 }

   reportGenReportsCntrlOwner OBJECT-TYPE
       SYNTAX      OwnerString
       MAX-ACCESS  read-create



Cole, et al.            Expires October 30, 2009               [Page 24]


Internet-Draft               The REPORT MIB                   April 2009


       STATUS      current
       DESCRIPTION
           "The entity that configured this entry and is
           therefore using the resources assigned to it.

           This object may not be modified if the associated
           reportGenReportCntrlStatus object is equal to active(1)."
       ::= { reportGenReportsCntrlEntry 19 }

   reportGenReportsCntrlStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this reportGenReportCntrlEntry.  If the
           value of this object is 'permanent', no objects in this row
           need to be writable."
       ::= { reportGenReportsCntrlEntry 20 }

   reportGenReportsCntrlStatus 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 each
           object in the entry has an appropriate value.

           Once this object is set to active(1), no objects in the
           reportGenReportCntrlTable can be changed.

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




   --
   -- Reports Group
   --

   reportReportsGroup  OBJECT IDENTIFIER ::= { reportMIBObjects 3 }


   --
   -- Report Aggregate Reports Table



Cole, et al.            Expires October 30, 2009               [Page 25]


Internet-Draft               The REPORT MIB                   April 2009


   --

   reportAggrReportsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF ReportAggrReportsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains completed
           studies for each of the control table entries in
           reportAggrReportCntrlTable.  These studies are
           provided based on the selections and parameters
           found for the entry in the
           reportAggregateReportsCntrlTable.

           The performance statistics are specified in the
           reportTransMetricDirTable associated with the
           application in question and indexed by
           appLocalIndex and reportTransMetricIndex."
       ::= { reportReportsGroup 1 }

   reportAggrReportsEntry OBJECT-TYPE
       SYNTAX      ReportAggrReportsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A conceptual row in the reportAggrReportsTable.

           The reportAggrReportsCntrlIndex value in the
           index identifies the reportAggrReportsCntrlEntry
           on whose behalf this entry was created.

           The reportAggrReportsIndex value in the index
           identifies which report
           (in the series of reports) this entry is a part of.

           The reportAggrReportsServerAddress value in the
           index identifies the network layer address of the
           device generatung this report.

           An example of the indexing of this entry is
           reportAggrReportsStatN.3.15.34.262.18.4.128.2.6.7.3256521"
       INDEX { reportAggrReportsCntrlIndex,
               reportAggrReportsIndex
             }
       ::= { reportAggrReportsTable 1 }

   ReportAggrReportsEntry ::= SEQUENCE {
       reportAggrReportsIndex                 Unsigned32,



Cole, et al.            Expires October 30, 2009               [Page 26]


Internet-Draft               The REPORT MIB                   April 2009


       reportAggrReportsServerAddress         OCTET STRING,
       reportAggrReportsStatN                 ZeroBasedCounter32,
       reportAggrReportsStatSumX              ZeroBasedCounter32,
       reportAggrReportsOverflowStatSumX      ZeroBasedCounter32,
       reportAggrReportsHCStatSumX            ZeroBasedCounter64,
       reportAggrReportsStatMaximum           ZeroBasedCounter32,
       reportAggrReportsStatMinimum           ZeroBasedCounter32,
       reportAggrReportsStatSumSq             ZeroBasedCounter32,
       reportAggrReportsOverflowStatSumSq     ZeroBasedCounter32,
       reportAggrReportsHCStatSumSq           ZeroBasedCounter64,
       reportAggrReportsStatSumIX             ZeroBasedCounter32,
       reportAggrReportsOverflowStatSumIX     ZeroBasedCounter32,
       reportAggrReportsHCStatSumIX           ZeroBasedCounter64,
       reportAggrReportsStatSumIXSq           ZeroBasedCounter32,
       reportAggrReportsOverflowStatSumIXSq   ZeroBasedCounter32,
       reportAggrReportsHCStatSumIXSq         ZeroBasedCounter64,
       reportAggrReportsStatMetricExt1        ZeroBasedCounter32,
       reportAggrReportsStatMetricExt2        ZeroBasedCounter32,
       reportAggrReportsStatMetricExt3        ZeroBasedCounter32,
       reportAggrReportsStatMetricExt4        ZeroBasedCounter32,
       reportAggrReportsStatMetricExt5        ZeroBasedCounter32
   }

   reportAggrReportsIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The value of reportAggrReportCntrlNumber for the report to
           which this entry belongs."
       ::= { reportAggrReportsEntry 1 }

   reportAggrReportsServerAddress OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..108))
       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
           protocolDirLocalIndex component of the index.

           Because this object is an index variable, it is encoded in
           the index according to the index encoding rules.  For
           example, if the protocolDirLocalIndex indicates an
           encapsulation of IPv4, this object is encoded as a length



Cole, et al.            Expires October 30, 2009               [Page 27]


Internet-Draft               The REPORT MIB                   April 2009


           octet of 4, followed by the 4 octets of the IPv4 address,
           in network byte order.

           If the associated reportAggrReportCntrlAggrType is equal to
           application(4) or client(2), then this object will be a null
           string and will be encoded simply as a length octet of 0."
       ::= { reportAggrReportsEntry 2 }

   reportAggrReportsStatN OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The count of the total number of data points for the
           specified metric.  This number is simply the value of
           reportCntrlReportsInterval divied by the value of
           reportCntrlReportsBinInterval, which should be integer
           valued.
           "
       ::= { reportAggrReportsEntry 3 }

   reportAggrReportsStatSumX OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       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."
       ::= { reportAggrReportsEntry 4 }

   reportAggrReportsOverflowStatSumX OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of times the associated
           reportAggrReportStatSumX counter has overflowed.
           Note that this object will only be instantiated if the
           associated reportAggrReportHCStatSumX object is also
           instantiated for a particular dataSource."
       ::= { reportAggrReportsEntry 5 }

   reportAggrReportsHCStatSumX OBJECT-TYPE



Cole, et al.            Expires October 30, 2009               [Page 28]


Internet-Draft               The REPORT MIB                   April 2009


       SYNTAX      ZeroBasedCounter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The high-capacity version of reportAggrReportStatSumX.
           Note that this object will only be instantiated if the
           agent supports High Capacity monitoring for a particular
           dataSource."
       ::= { reportAggrReportsEntry 6 }

   reportAggrReportsStatMaximum OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       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."
       ::= { reportAggrReportsEntry 7 }

   reportAggrReportsStatMinimum OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       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."
       ::= { reportAggrReportsEntry 8 }

   reportAggrReportsStatSumSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The sum of all the squared data point values for the



Cole, et al.            Expires October 30, 2009               [Page 29]


Internet-Draft               The REPORT MIB                   April 2009


           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."
       ::= { reportAggrReportsEntry 9 }

   reportAggrReportsOverflowStatSumSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of times the associated
           reportAggrReportStatSumSq counter has overflowed.
           Note that this object will only  be instantiated if
           the associated reportAggrReportHCStatSumSq object
           is also instantiated for a particular dataSource."
       ::= { reportAggrReportsEntry 10 }

   reportAggrReportsHCStatSumSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The high-capacity version of reportAggrReportStatSumSq.
           Note that this object will only be instantiated if the
           agent supports High Capacity monitoring for a particular
           dataSource."
       ::= { reportAggrReportsEntry 11 }

   reportAggrReportsStatSumIX OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       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;
           reportAggrReportStatSumIX 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."
       ::= { reportAggrReportsEntry 12 }

   reportAggrReportsOverflowStatSumIX OBJECT-TYPE



Cole, et al.            Expires October 30, 2009               [Page 30]


Internet-Draft               The REPORT MIB                   April 2009


       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of times the associated
           reportAggrReportStatSumIX counter has overflowed.
           Note that this object will only be instantiated if the
           associated reportAggrReportHCStatSumIX object is also
           instantiated for a particular dataSource."
       ::= { reportAggrReportsEntry 13 }

   reportAggrReportsHCStatSumIX OBJECT-TYPE
       SYNTAX      ZeroBasedCounter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The high-capacity version of reportAggrReportStatSumIX.
           Note that this object will only be instantiated if the
           agent supports High Capacity monitoring for a particular
           dataSource."
       ::= { reportAggrReportsEntry 14 }

   reportAggrReportsStatSumIXSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       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;
           reportAggrReportStatSumIXSq 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."
       ::= { reportAggrReportsEntry 15 }

   reportAggrReportsOverflowStatSumIXSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of times the associated
           reportAggrReportStatSumIXSq counter has overflowed.
           Note that this object will only be instantiated if the
           associated reportAggrReportHCStatSumIXSq object is also
           instantiated for a particular dataSource."
       ::= { reportAggrReportsEntry 16 }




Cole, et al.            Expires October 30, 2009               [Page 31]


Internet-Draft               The REPORT MIB                   April 2009


   reportAggrReportsHCStatSumIXSq OBJECT-TYPE
       SYNTAX      ZeroBasedCounter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The high-capacity version of reportAggrReportStatSumIXSq.
           Note that this object will only be instantiated if the
           agent supports High Capacity monitoring for a particular
           dataSource."
       ::= { reportAggrReportsEntry 17 }

   reportAggrReportsStatMetricExt1 OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The .... for the MetricExt1.
           "
       ::= { reportAggrReportsEntry 18 }

   reportAggrReportsStatMetricExt2 OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The .... for the MetricExt2.
           "
       ::= { reportAggrReportsEntry 19 }

   reportAggrReportsStatMetricExt3 OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The .... for the MetricExt3.
           "
       ::= { reportAggrReportsEntry 20 }

   reportAggrReportsStatMetricExt4 OBJECT-TYPE
       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The .... for the MetricExt4.
           "
       ::= { reportAggrReportsEntry 21 }

   reportAggrReportsStatMetricExt5 OBJECT-TYPE



Cole, et al.            Expires October 30, 2009               [Page 32]


Internet-Draft               The REPORT MIB                   April 2009


       SYNTAX      ZeroBasedCounter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The .... for the MetricExt5.
           "
       ::= { reportAggrReportsEntry 22 }




   --
   -- The reportCurReportsTable
   --

   reportCurReportsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF ReportCurReportsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table will contain entries associated with an
           apmReportControlEntry that consitute a current 'snapshot'
           of the metrics being collected in association with
           a set of REPORT-related application transactions.
           This table contains all sub-flow metrics for transactions
           that have been started but have not yet finished (i.e.,
           current) and a history of those that have finished (i.e.,
           completed).  It may not always be obvious from the context
           whether a transaction is currently in-progress or has
           been completed.  Therefore, the completion status of a
           transaction is indicated by the value of
           the reportCurReportCompletion object."
       ::= { reportReportsGroup 2 }

   reportCurReportsEntry OBJECT-TYPE
       SYNTAX      ReportCurReportEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTIOf
           "A conceptual row in the reportCurReportTable.

           The reportAggrReportControlIndex value in the
           index identifies the reportAggrReportCntrlEntry
           on whose behalf this entry was created.
           The reportCurReportServerAddress value in the
           index identifies the network layer address of the
           device generating this entry.




Cole, et al.            Expires October 30, 2009               [Page 33]


Internet-Draft               The REPORT MIB                   April 2009


           The reportCurReportCntrIndex value in the
           index identifies the reportAggrReportCntrlEntry
           on whose behalf this entry was created.

           An example of the indexing of this table is
           reportCurReportStatisticN.3.34.262.18.4.128.29667"
       INDEX { reportAggrReportsCntrlIndex,
               reportCurReportsServerAddress
             }
       ::= { reportCurReportsTable 1 }

   ReportCurReportEntry ::= SEQUENCE {
       reportCurReportServerAddress              OCTET STRING,
       reportCurReportCompletion                 INTEGER
   }

   reportCurReportsServerAddress OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE (0..108))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The network server address for this reportCurReportEntry.

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

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

   reportCurReportsCompletion OBJECT-TYPE
       SYNTAX      INTEGER {
                       current(1),
                       completed(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The status of this transaction.  It is not always obvious
           from context whether a transaction is ongoing or
           completed.  E.g., an ftp-GET transaction may last several
           minutes or hours, and a value found in the
           reportCurReportMetricValue object lists to observed
           throughput for the transaction up to this point in time.
           The value of the reportCurReportCompletion indicates



Cole, et al.            Expires October 30, 2009               [Page 34]


Internet-Draft               The REPORT MIB                   April 2009


           whether the transaction has been completed."
       ::= { reportCurReportEntry 2 }

       ::= { reportReports 4 }




   --
   -- Notifications
   --

   -- Note:  What notifications do we want for this MIB?
   --        Checkout what is done in the APM-MIB for Notifications?


   --
   -- Compliance Statements
   --

   -- Note: need to update the Compliance section once the mib
   --       objects stablize.


   reportCompliances  OBJECT IDENTIFIER ::= { reportMIBConformance 1 }
   reportMIBGroups    OBJECT IDENTIFIER ::= { reportMIBConformance 2 }

   reportBasicCompliance  MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The basic implementation requirements for
                   managed network entities that implement
                   the REPORT RSSA process."
      MODULE  -- this module
      MANDATORY-GROUPS { reportCapabObjectsGroup,
                         reportConfigObjectsGroup }
   ::= { reportCompliances 1 }

   reportFullCompliance MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION "The full implementation requirements for
                   managed network entities that implement
                   the REPORT RSSA process."
      MODULE  -- this module
      MANDATORY-GROUPS { reportCapabObjectsGroup,
                         reportConfigObjectsGroup,
                         reportStateObjectsGroup,
                         reportPerfObjectsGroup,
                         reportRepObjectsGroup }



Cole, et al.            Expires October 30, 2009               [Page 35]


Internet-Draft               The REPORT MIB                   April 2009


   ::= { reportCompliances 2 }

   --
   -- Units of Conformance
   --

   reportCapabilitiesObjectsGroup OBJECT-GROUP
      OBJECTS {
              reportTbd,
              reportTbd
      }
      STATUS  current
      DESCRIPTION
         "Set of REPORT configuration objects implemented
          in this module."
   ::= { reportMIBGroups 1 }

   reportReportsCntrlObjectsGroup OBJECT-GROUP
      OBJECTS {
              reportTbd,
              reportTbd,
              reportTbd
      }
      STATUS  current
      DESCRIPTION
         "Set of REPORT configuration objects implemented
          in this module."
   ::= { reportMIBGroups 2 }

   reportReportsObjectsGroup  OBJECT-GROUP
      OBJECTS {
              reportTbd,
              reportTbd
      }
      STATUS  current
      DESCRIPTION
         "Set of REPORT state objects implemented
          in this module."
   ::= { reportMIBGroups 3 }



   END








Cole, et al.            Expires October 30, 2009               [Page 36]


Internet-Draft               The REPORT MIB                   April 2009


8.  Security Considerations

   [TODO] Each specification that defines one or more MIB modules MUST
   contain a section that discusses security considerations relevant to
   those modules.  This section MUST be patterned after the latest
   approved template (available at
   http://www.ops.ietf.org/mib-security.html).  Remember that the
   objective is not to blindly copy text from the template, but rather
   to think and evaluate the risks/vulnerabilities and then state/
   document the result of this evaluation.

   [TODO] if you have any read-write and/or read-create objects, please
   include the following boilerplate paragraph.

   There are a number of management objects defined in this MIB module
   with 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
   environment without proper protection can have a negative effect on
   network operations.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  [TODO] writable MIB objects that could be especially disruptive if
      abused MUST be explicitly listed by name and the associated
      security risks MUST be spelled out; RFC 2669 has a very good
      example.

   o  [TODO] list the writable tables and objects and state why they are
      sensitive.

   [TODO] else if there are no read-write objects in your MIB module,
   use the following boilerplate paragraph.

   There are no management objects defined in this MIB module that have
   a MAX-ACCESS clause of read-write and/or read-create.  So, if this
   MIB module is implemented correctly, then there is no risk that an
   intruder can alter or create any management objects of this MIB
   module via direct SNMP SET operations.

   [TODO] if you have any sensitive readable objects, please include the
   following boilerplate paragraph.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.  These are the tables and objects and their



Cole, et al.            Expires October 30, 2009               [Page 37]


Internet-Draft               The REPORT MIB                   April 2009


   sensitivity/vulnerability:

   o  [TODO] you must explicitly list by name any readable objects that
      are sensitive or vulnerable and the associated security risks MUST
      be spelled out (for instance, if they might reveal customer
      information or violate personal privacy laws such as those of the
      European Union if exposed to unauthorized parties)

   o  [TODO] list the tables and objects and state why they are
      sensitive.

   [TODO] discuss what security the protocol used to carry the
   information should have.  The following three boilerplate paragraphs
   should not be changed without very good reason.  Changes will almost
   certainly require justification during IESG review.

   SNMP versions prior to SNMPv3 did not include adequate security.
   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 module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

9.  IANA Considerations

   [TODO] In order to comply with IESG policy as set forth in
   http://www.ietf.org/ID-Checklist.html, every Internet-Draft that is
   submitted to the IESG for publication MUST contain an IANA
   Considerations section.  The requirements for this section vary
   depending what actions are required of the IANA. see RFC4181 section 
   3.5 for more information on writing an IANA clause for a MIB module
   document.

   [TODO] select an option and provide the necessary details.

   Option #1:



Cole, et al.            Expires October 30, 2009               [Page 38]


Internet-Draft               The REPORT MIB                   April 2009


        The MIB module in this document uses the following IANA-assigned
        OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

        Descriptor        OBJECT IDENTIFIER value
        ----------        -----------------------

        sampleMIB  { mib-2 XXX }

   Option #2:

   Editor's Note (to be removed prior to publication): the IANA is
   requested to assign a value for "XXX" under the 'mib-2' subtree and
   to record the assignment in the SMI Numbers registry.  When the
   assignment has been made, the RFC Editor is asked to replace "XXX"
   (here and in the MIB module) with the assigned value and to remove
   this note.

   Note well: prior to official assignment by the IANA, a draft document
   MUST use placeholders (such as "XXX" above) rather than actual
   numbers.  See RFC4181 Section 4.5 for an example of how this is done
   in a draft MIB module.

   Option #3:

   This memo includes no request to IANA.

10.  Contributors

   This MIB document uses the template authored by D. Harrington which
   is based on contributions from the MIB Doctors, especially Juergen
   Schoenwaelder, Dave Perkins, C.M.Heard and Randy Presuhn.

11.  Acknowledgements

12.  References

12.1.  Normative References

   [RFC2863]  McCloghrie, K. and F. Kastenholz, "The Interfaces Group
              MIB", RFC 2863, June 2000.

   [RFC3418]  Presuhn, R., "Management Information Base (MIB) for the
              Simple Network Management Protocol (SNMP)", STD 62,
              RFC 3418, December 2002.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.




Cole, et al.            Expires October 30, 2009               [Page 39]


Internet-Draft               The REPORT MIB                   April 2009


   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Textual Conventions for SMIv2",
              STD 58, RFC 2579, April 1999.

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

12.2.  Informative References

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.

Appendix A.  Change Log

   Not applicable to draft 00

   1.

Appendix B.  Open Issues

   This section contains the set of open issues related to the
   development and design of the REPORT-MIB.  This section will not be
   present in the final version of the MIB and will be removed once all
   the open issues have been resolved.

   1.   Specify the set of metrics for default support.

   2.   Clean up the Table indexing.  Specifically, what uniquily
        defines a report?

   3.   Complete notification group.

   4.   Complete conformance group.

   5.   Work on the relationship to other MIBs, IF-MIB, NHDP-MIB.

   6.   Update the text of the document to reflect the final state of
        the MIB.

   7.   Identify all objects requiring non-volatile storage in their
        DESCRIPTION clauses.




Cole, et al.            Expires October 30, 2009               [Page 40]


Internet-Draft               The REPORT MIB                   April 2009


   8.   Incorporate parameter relationship conditions into their
        DESCRIPTION clauses.

   9.   Complete the security analysis and section.

   10.  Cleanup all the [TODOs] from the MIB template.

Appendix C.


   ***************************************************************
   * Note to the RFC Editor (to be removed prior to publication) *
   *                                                             *
   * 1) The reference to RFCXXXX within the DESCRIPTION clauses  *
   * of the MIB module point to this draft and are to be         *
   * assigned by the RFC Editor.                                 *
   *                                                             *
   * 2) The reference to RFCXXX2 throughout this document point  *
   * to the current draft-ietf-manet-report-xx.txt.  This        *
   * need to be replaced with the XXX RFC number.                *
   *                                                             *
   ***************************************************************

Authors' Addresses

   Robert G. Cole
   Johns Hopkins University
   11100 Johns Hopkins Road, Room 257
   Laurel, Maryland  21073
   USA

   Phone: +1 443 778 6951
   EMail: robert.cole@jhuapl.edu
   URI:   http://www.cs.jhu.edu/~rgcole/


   Joseph Macker
   Naval Research Laboratory
   Washington, D.C.  20375
   USA

   EMail: macker@itd.nrl.navy.mil









Cole, et al.            Expires October 30, 2009               [Page 41]


Internet-Draft               The REPORT MIB                   April 2009


   Al Morton
   AT&T Laboratories
   Middletown, N.J.  07724
   USA

   EMail: amorton@att.com













































Cole, et al.            Expires October 30, 2009               [Page 42]