Internet Engineering Task Force                                  R. Cole
Internet-Draft                                            US Army CERDEC
Intended status: Experimental                                  J. Macker
Expires: May 4, 2013 June 10, 2015                         Naval Research Laboratory
                                                              A. Bierman
                                                         YumaWorks, Inc.
                                                       November 05, 2012
                                                        December 7, 2014

        Definition of Managed Objects for Performance Reporting
                     draft-ietf-manet-report-mib-03
                     draft-ietf-manet-report-mib-04

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 and
   gauge objects that
   resolve to type Integer32 (i.e., Integer32, Counter, Gauge, or
   TimeTicks). to be used for performance monitoring.  This allows a
   management station to instruct a device to build off-line reports to
   be collected either through notifications to the management station
   or queried asynchronously by the management station.  Further, this
   REPORT-SAMPLED-MIB can be configured in a proxy configuration where
   the report generation is performed on a device in close network
   proximity to the device containing the referenced counter objects.  Hence, this
   capability allows network operators to reduce the SNMP polling
   traffic burden on Mobile Ad-Hoc and Disruption Tolerant Networks
   which is typical problematic of SNMP performance management applications.

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on May 4, 2013. June 10, 2015.

Copyright Notice

   Copyright (c) 2012 2014 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The Internet-Standard Management Framework . . . . . . . . . .  3
   3.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     4.1.  REPORT-SAMPLED-MIB  reportSampledMIB Module Management Model . . . . . . . . . . .  4
     4.2.  Terms  . . . . . . . . . . . . . . . . . . . . . . . . . .  6  5
   5.  Structure of the MIB Module  . . . . . . . . . . . . . . . . .  6
     5.1.  Textual Conventions  . . . . . . . . . . . . . . . . . . .  6  7
     5.2.  The Sampled Group  .  Tables and Indexing  . . . . . . . . . . . . . . . . . . .  7
     5.3.  The Notifications Group  . . . . . . . .
   6.  Relationship to Other MIB Modules  . . . . . . . . .  7
     5.4.  Tables and Indexing . . . . .  8
     6.1.  Relationship to the SNMPv2-MIB . . . . . . . . . . . . . .  7
   6.  8
     6.2.  Relationship to Other MIB Modules the RMON2-MIB  . . . . . . . . . . . . . .  8
     6.1.  9
     6.3.  Relationship to the SNMPv2-MIB . . . DISMAN-EVENT-MIB . . . . . . . . . . .  9
     6.2.
     6.4.  Relationship to the RMON2-MIB  . . . . DISMAN-EXPRESSION-MIB  . . . . . . . . . .  9
     6.3. 10
     6.5.  MIB modules required for IMPORTS . . . . . . . . . . . . .  9 10
   7.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  9 11
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 21 26
   9.  Applicability Statement  . . . . . . . . . . . . . . . . . . . 24 29
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 25 30
   11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 25 30
   12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 30
   13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 30
     13.1. Normative References . . . . . . . . . . . . . . . . . . . 25 30
     13.2. Informative References . . . . . . . . . . . . . . . . . . 26 31
   Appendix A.  Change Log  . . . . . . . . . . . . . . . . . . . . . 26 31
   Appendix B.  Open Issues . . . . . . . . . . . . . . . . . . . . . 28 33
   Appendix C.    . . . . . . . . . . . . . . . . . . . . . . . . . . 28 34

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 for performance monitoring on any device
   supporting MIBs containing variables that resolve to type Integer32
   (i.e., Integer32, Counter, Gauge, or TimeTicks).  This REPORT-
   SAMPLED-MIB
   reportSampledMIB module allows for the report generation to occur on
   the same device as containing the referenced counter object or on a device in
   close network proximity to the device with the referenced counter object.  This
   should be useful to devices or networks where efficient use of
   bandwidth is of concern or where intermittent connectivity is common.
   Hence, the REPORT-SAMPLED-MIB reportSampledMIB module is useful for devices managed over
   some Mobile Ad-Hoc Networks (MANETs) or Disruption Tolerant Networks
   (DTNs).

   This version of the REPORT-SAMPLED-MIB reportSampledMIB module offers one type of off-line off-
   line reporting.  The MIB offers a means to collect sampled data
   measurements related to defined MIB objects.  This type of reporting
   is contained in the
   reportSampledGroup. reportSampledMibObjects.  Other types of report
   data are possible, including statistical data and historical data.  However, it was felt
   wise to focus on a more limited scope off-line reporting capability
   and gain experimental use and application prior to expending energy
   developing a more extensive off line reporting capability.

   For the collection of sampled data,

   The reportSampledMIB module relies upon the REPORT-SAMPLED-MIB draws
   directly from dismanEventMIB module RFC
   2981 [RFC2981] to monitor the usrHistoryGroup from RMON 2 [RFC2021] through
   application progress of reports being developed
   within the 'AUGMENTS' clause. .  Here reportSampledMIB module and to trigger an events, i.e.,
   notifications containing reports, at the
   reportSampledControlTable allows appropriate times.  This is
   discussed below in more detail in the user section entitled 'Relationship
   to define aspects of the
   report DISMAN-EVENT-MIB'.  Further, more sophisticated performance
   objects for sampled data, including monitoring from the number of MIB objects to reportSampledMIB module can be
   sampled and
   defined through the nature of the sampling frequency and overall report
   duration.  This group uses the notion of buckets, which contain
   sampled data from a set of identified MIB objects sampled at the same
   time point.  The report consists of the buckets, each containing sets
   of sampled data from the selected MIB objects but at the specific
   sampling times.  The reportSampledObjectTable allows the user to
   identify the multiple MIB objects to be sampled.  The
   reportSampledDataTable contains the storage of the reported sampled
   data contained within buckets, one bucket for each time sampling
   instance.

2.  The Internet-Standard Management Framework

   For a detailed overview dismanExpressionMIB module RFC 2982 [RFC2982]

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 REPORT-SAMPLED-MIB reportSampledMIB module references performance objects in other
   MIBs
   (and in other devices) and generates off-line performance reports related to those
   referenced objects.  The REPORT-SAMPLED-MIB reportSampledMIB module can be coincident
   with the other MIB or can reside modules on another device in
   close network proximity to the same device containing the
   referenced performance related object.

4.1.  REPORT-SAMPLED-MIB  reportSampledMIB Module Management Model

   This section describes the management model for the REPORT-SAMPLED-
   MIB reportSampledMIB
   module process.

   Figure 1 illustrates a potential use of the REPORT-SAMPLED-MIB for
   the generation of off-line, remotely generated reports.

   The
   management station on reportSampledMIB module objects are primarily contained within
   four tables.  These are:

   o  reportSampledControlTable - this is the left hand side of control table within the illustration
   instructs
      reportSampledMIB module.  This identifies the remote device OIDs to create reports through manipulation of
   the ReportCntrl Objects in be monitored
      which define the REPORT-SAMPLED-MIB resident on core of the
   remote device. Reports.  The reports instruct control table sets the device to monitor
      sampling frequency for the status
   of specified counters (on other MIBs Measurements and potentially on other devices
   in close network proximity) periodically.  The reports are stored
   locally until the management station decides to pull them off number of
      Measurements that will define each Report.

   o  reportSampledCurrentReportsStatusTable - This table tracks the
   device.  The figure shows a case where
      status, i.e., the REPORT-SAMPLED-MIB
   generates current number of collected Measurements per
      each Study.  This information can be used by the dismanEventMIB
      module to determine when to trigger a notification that Report_2 has completed, prompting the
   management station to pull Report_2 from the device.

   Mgmt       Device
   Station
                          REPORT-SAMPLED-MIB         MIB_1
                          +---------+        +-----+
                          |         |        |     |
    Build_Rep_1           |+-------+|        +--+  |
       +----------------->||cntrl_1||<------>|PC|  |
                          |+-------+|<-+     +--+--+
                          |         |  |
                          |         |  |     MIB_2
                          |         |  |     +-----+ Report
      owner containing the Measurements and associated data comprising
      the just completed Report.

   o  reportSampledCurrentReportsTable - This table holds the
      Measurements for the Reports which are in current development.

   o  reportSampledHistoricalReportsTable - This table holds the
      completed Reports for each Study for archival purposes, i.e., the
      Study owners can perform table walks to retrieve archived Reports
      or Studies.

   The below figure illustrates the four main tables within the
   reportSampledMIB module.  Further, if the dismanEventMIB module is so
   configured to generate triggered notifications, the below figure
   highlights the 'boolean trigger' and the notification generation.
   The figure further illustrates the movement of completed Reports from
   the reportSampledCurrentReportsTable to the
   reportSampledHistoricalReportsTable upon Report Completion.

 +---------------------------------------------------+
 | reportSampledControlEntry                         |
 |    { reportSampledStudyStudyIndex }               |
 |                                                   |
 |                                                   |
 |       reportSampledStudyNumberReportMeasurements------>----+
 +---------------------------------------------------+        |     +--+
                                                         (boolean
    +---------------------------------------------------+ trigger)->--+
    | reportSampledCurrentReportsStatusEntry            |     |  +---->|PC|       |
    Build_Rep_2           |+-------+|    +-->+--+--+
       +----------------->||cntrl_2||<---+
                          |+-------+|
    |    { reportSampledStudyStudyIndex }               |     |       |
    Build_Rep_3           |+-------+|
       +----------------->||cntrl_3||<---+   MIB_n
                          |+-------+|
    |   +-----+                                                   |     |       |
    |                                                   |
                          |+-----+     |       |   +--+
    |
                          ||Rep_1| reportSampledNumberOfMeasurementsForCurrentReport--->---+       |    +-->|PC|
    +---------------------------------------------------+             |
                          |+-----+
                                                                      V
    +---------------------------------------------------+             |        +--+--+
    | reportSampledCurrentReportsEntry                  |
                          |+-----+             |
       <------------------||Rep_2|
    |
    Notf_Rep_2            |+-----+    { reportSampledStudyStudyIndex,                |---->--------+
    |      reportSampledCurrentMeasurementIndex }       |             |
                          |+-----+
    |
                          ||Rep_3|                                                   |-->---+      |
                          |+-----+
    +---------------------------------------------------+      |
    Get_Rep_2      |
                                                             (move)   |
       +----------------->|
       +---------------------------------------------------+   |      |
       |
       <-----------------+| reportSampledHistoricalReportsEntry               |
    Send_Rep_2            +---------+

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

   This version   |      |
       |    { reportSampledStudyStudyIndex,                |   |      |
       |      reportSampledHistoricalReportIndex,          |<--+      |
       |      reportSampledHistoricalMeasurementIndex }    |          |
       |                                                   |          |
       +---------------------------------------------------+          |
                                                                      V
                                                         (notifications)

4.2.  Terms

   The following definitions apply throughout this document:

   o  Sampled - periodic measurement of the REPORT-SAMPLED-MIB provides for the target OIDs.

   o  Measurement - a single instance of a sampling event.

   o  Report - a collection of
   sampled data instead consecutive Measurements on the same
      Sampled target OID.

   o  Study - a series of statistical data.  It does this by augmenting Reports on the usrHistory group from RMON2 [RFC2021] same Sampled target OID.

   o  Current Report - a Report which allows for is in the
   generation process of reports collecting the sampled object values binned for
   the purpose being
      developed.

   o  A Completed Report - contains a pre-defined number of aggregation Sampled
      Measurements.

   o  Historical Report - a Report which has previously Completed, and efficiency of collection.  These are
   defined within the reportSampledGroup.  The model used for this type
   of report generation
      is based upon three tables.  The
   reportSampledControlTable defines aspects of the report generation
   related to duration of the reporting interval, the bin (or bucket)
   sizes being stored locally for archival purposes.

5.  Structure of the report, and MIB Module

   This section presents the number structure of object values collected for
   each bucket.  The reportUsrHistoryObjectTable identifies the specific
   MIB reportSampledMIB module.
   The objects whose values are binned within the report.  And the
   reportSampledDataTable contains the binned data values collected for arranged into the report.

4.2.  Terms

   The following definitions apply throughout this document: groups:

   o  Control  reportSampledMibNotifications - Objects defined within this document defines the notifications
      associated with the reportSampledMIB module.  These objects define
      notifications which set track the
      parameters for specific reports to be generated offline on behavior of the reportSampledMib
      module.  A single notification is defined in the
      remote managed device.

   o  Data - Objects reportSampledMIB
      module which hold reports a series of failed measurement attempts in
      the sampled report data.

5.  Structure process of building a Report.  Associated with this
      notification is a control object which defines a threshold of
      failures which would initiate the MIB Module

   This section presents notification.  These
      notifications do not cover the structure of triggered notifications which carry
      the REPORT-SAMPLED-MIB performance Reports generated by the reportSampledMib module.
   The objects
      These triggered notifications are arranged into the following groups:

   o  reportSampledMIBNotifications - defines defined through the notifications
      associated with use of the REPORT-SAMPLED-MIB.
      dismanEventMIB module.

   o  reportSampledMIBObjects  reportSampledMibObjects - defines the objects forming the basis
      for the REPORT-SAMPLED-MIB. reportSampledMIB module.  These objects are basically
      divided up by function into the following groups (currently only one group is
      defined):

   o four tables:

      *  Sampled Group  reportSampledControlTable - This group contains the objects
         which support the generation (collection) of reports Studies comprising
         of Reports exposing sampled data Measurement values.

      *  reportSampledCurrentReportsStatusTable - This group contains
         the objects which track the collection of Measurements for
         current (in-progress) Reports.  This table allows the
         dismanEventMIB module to set triggers for Completed Reports
         which it can then send to the report owner through triggered
         notifications.

      *  reportSampledCurrentReportsTable - This group contains the
         objects which represent the Measurement data associated with
         Current (in-progress) Reports.  Once the Report completes, it
         is moved to the reportSampledHistoricalReportsTable for
         archival purposes.

      *  reportSampledHistoricalReportsTable - This group contains the
         objects which represent archived Completed Reports.  This
         allows the report owners to asynchronously retrieve Reports via
         table walks if so desired.

   o  reportSampledMIBConformance  reportSampledMibConformance - Defines a variety of single basic conformance
      of implementations of this REPORT-SAMPLED-MIB. reportSampledMIB module.

5.1.  Textual Conventions

   No textual conventions are used defined in the REPORT-SAMPLED-MIB. reportSampledMIB module.

5.2.  Tables and Indexing

   The Sampled Group

   The Sampled Group reportSampledMIB module contains four tables which allows for control and
   record data related to the development creation, notification and storage of
   reports based upon sampling
   Reports.  Specifically:

   o  the referenced counter objects at
   specified intervals.  The development control and generation of this group within the
   REPORT-SAMPLED-MIB which augments the User History group from the
   RMON 2 MIB [RFC2021].  The Sampled Group is composed of:

   o remote performance Reports, i.e.,
      reportSampledControlTable - allows for the setting of the
      parameters of the report.

   o  reportSampledObjectTable - sets the referenced objects to be
      sampled during the test.  With this capability,  the management
      application can reference multiple objects, all status of which are
      sampled during the test and reported out through the
      reportSampledData Table. Current Reports' development, i.e.,
      reportSampledCurrentReportsStatusTable,

   o  reportSampledDataTable - contains the reports.

5.3.  The Notifications Group

   The Notifications Sub-tree contains the list of notifications
   supported within the REPORT-SAMPLED-MIB and their intended purpose or
   utility.  The single notification defined within this MIB module is
   the 'reportSampledNewDataReport'.  This notification is sent by the
   agent upon completion of a given report on the device.  The
   notification contains the following objects:
   'usrHistoryControlOwner', the entity that configured this report
   entry, and the 'reportSampledReportIndex', the index of the data
   table for this report.  Collectively, these objects allow the
   management application to pull the completed report from  the agent.

5.4.  Tables Current Reports development and Indexing

   The REPORT-SAMPLED-MIB module contains a number of tables which
   record data related to:

   o  the control interim data, i.e.,
      reportSampledCurrentReportsTable, and generation of remote performance reports,

   o  the historical storage of remote performance reports, and

   o  the notification of remote report completion. Reports, i.e.
      reportSampledHistoricalReportsTable.

   The REPORT-SAMPLED-MIB reportSampledMIB module's tables are indexed via the following
   constructs:

   o  usrHistoryControlIndex  reportSampledStudyIndex - from the RMON2-MIB [RFC2021], an index that uniquely identifies an entry in the usrHistoryControlTable.
      Each such entry defines a set of samples at a
      particular interval
      for a specified set Study.  The Study is comprised of MIB instances available from multiple Reports, the managed
      system.
      number of Reports being stored is defined by the
      reportSampledStudyMaximumNumberOfHistoricalReports object.

   o  usrHistoryObjectIndex  reportSampledCurrentMeasurementIndex - from the RMON2-MIB, an index used to that uniquely identify
      identifies an entry in the usrHistoryObject table from the
      RMON2-MIB.  Each such entry defines atomic Measurement associated with a MIB instance to be collected
      periodically. Report.

   o  reportSampledReportIndex  reportSampledHistoricalReportIndex - an index that uniquely
      identifies the
      particular report an entry is associated with among the set of
      reports requested through the reportSampledControlNumber in archived Completed Report resident within the
      reportSampledControlEntry.
      reportSampledHistoricalReportsTable.

   o  reportSampledSampleIndex  reportSampledHistoricalMeasurementIndex - an index that uniquely
      identifies the
      particular sample this entry represents among all samples
      associated with the same reportSampledControlEntry. an atomic Measurement comprising an archived Completed
      Report.

   These tables and their indexing are:

   o  reportSampledControlTable - this table contains a list of data-
      collection configuration entries defining aspects of the reports. studies
      and their reports to be generated.  These include, e.g., number of reports, their start and stop
      times,
      reports per study, the number Reports to be archived, etc.  This
      table 'AUGMENTS has 'INDEX { usrHistoryControlEntry reportSampledStudyIndex }'.

   o  reportSampledObjectTable  reportSampledCurrentReportsStatusTable - this table contains a list
      objects which track the development of data-
      collection configuration entries current Reports, e.g., the
      number of current Measurements collected for each Report under
      development.  This table has 'INDEX { reportSampledStudyIndex }'.
      For each (active) Study, there exists only one Current Report
      under development.

   o  reportSampledCurrentReportsTable - this table contains the
      Measurements which identify specific MIB
      entries on other devices to monitor. are developing the Current Reports.  This table 'AUGMENTS
      has 'INDEX {
      usrHistoryObjectEntry reportSampledStudyIndex,
      reportSampledCurrentMeasurementIndex }'.

   o  reportSampledTable  reportSampledHistoricalReportsTable - this table contains a list of historical
      samples collected for the report.
      Reports which have completed.  This table has 'INDEX {
      usrHistoryControlIndex, reportSampledReportIndex,
      reportSampledSampleIndex, usrHistoryObjectIndex
      reportSampledStudyIndex, reportSampledHistoricalReportIndex,
      reportSampledHistoricalMeasurementIndex }'.

6.  Relationship to Other MIB Modules

   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-SAMPLED-MIB reportSampledMIB
   module does not duplicate those objects.

6.2.  Relationship to the RMON2-MIB

   The REPORT-SAMPLED-MIB reportSampledMIB module is closely related to and was inspired by
   the the RMON2-MIB module [RFC2021] usrHistoryGroup.  Specifically,  The use of
   control tables to establish the reportSampledGroup is a direct
   copy periodic collection of measurement
   data for creation of performance reports was pulled from earlier work
   on the RMON2 User History Group, with RMON2-MIB module.

6.3.  Relationship to the names changed DISMAN-EVENT-MIB

   The reportSampledMIB module was developed to
   comply fundamentally work with
   the naming conventions within the REPORT-SAMPLED-MIB.
   Further, the design dismanEventMIB module RFC 2981 [RFC2981] in order to offer a
   complete and use of the control tables efficient off-line reporting capability for bandwidth
   challenged networks such as Mobile Ad-Hoc Networks (MANETs).  This is
   accomplished through defining trigger test and associated
   notification actions indexed by mteOwner, mteTriggerName,
   mteObjectsName and mteEventName within the REPORT-
   SAMPLED-MIB draw exactly from dismanEventMIB module.
   Specifically (within the definition of these table
   structures in dismanEventMIB module):

   In the earlier RMON MIBs through mteTriggerTable and specifically by setting

   o  'mteTriggerTest == boolean(1)',

   o  'mteTriggerSampleType == absoluteValue(1)',

   o  'mteTriggerValueID ==
      reportSampledNumberOfMeasurementsForCurrentReport',

   o  'mteTriggerValueIDWildcard == false(1)',

   o  'mteTriggerFrequency == 0.5*reportSampledStudySamplingInterval',
      and

   o  'mteTriggerEnabled == true'.

   In the use mteTriggerBooleanTable and specifically by setting

   o  'mteTriggerBooleanComparison == equal(2)',

   o  'mteTriggerBooleanValue == value of
      reportSampledStudyNumberReportMeasurements', and

   o  'mteTriggerBooleanStartup == false'.

   In the 'AUGMENTS'
   clause within mteObjectsTable and specifically by setting
   o  'mteObjectsID == reportSampledCurrentMeasurementValue' and
      reportSampledCurrentMeasurementTime' and
      reportSampledCurrentMeasurementStatus' with

   o  'mteObjectsIDWildcard == true' // for each.

   In the mteEventTable and specifically by setting

   o  'mteEventActions == notification(0)' and

   o  'mteEventEnabled == true' // for each.

   In the 'reportSampledControlTable' mteEventNotificationTable and specifically by setting

   o  'mteEventNotification == mteTriggerFired' and the
   'reportSampledTable' in this MIB module.

6.3.  MIB modules required appropriate
      names for IMPORTS

   Citations are not permitted the

   o  'mteEventNotificationObjectOwner == mteOwner' and

   o  'mteEventNotificationObjects == mteObjectsName'.

   These settings within a MIB module, the dismanEventMIB module will result in
   notifications generated by the dismanEventMIB module which will carry
   the recently completed reportSampledMIB module reports.

   Set up properly, the dismanEventMIB module will trigger a
   notification each time the reportSampledCurrentTable contains a
   completed Report.  This Report will be sent in a notification
   containing three columns of the reportSampledCurrentTable, i.e., the
   Value, the Time and the Status, due to the use of wildcarding within
   the dismanEventMIB module.

   Simultaneously, the reportSampledMIB module will move the completed
   Current Report into the reportSampledHistoricalReportsTable and
   restart collection for the next Report within the
   reportSampledCurrentReportsTable.

6.4.  Relationship to the DISMAN-EXPRESSION-MIB

   In conjunction with the dismanExpressionMIB module RFC 2982
   [RFC2982], the reportSampledMIB module can be used to develop reports
   on relatively sophisticated object expressions.

6.5.  MIB modules required for IMPORTS

   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.  Therefore, the imported items in this MIB
   module, such as Textual Conventions, that are not already cited, are
   cited in this section.  Since relationships to other MIB modules
   should be described in the narrative text, this section will cite
   modules from which Textual Conventions are imported.

   The REPORT-SAMPLED-MIB reportSampledMIB module IMPORTS objects from SNMPv2-SMI
   [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB
   [RFC2863], SNMP-
   FRAMEWORK-MIB [RFC3411], and INET-ADDRESS-MIB [RFC4001].  Significantly, the
   REPORT-SAMPLED-MIB module also IMPORTS objects from the RMON2-MIB
   module [RFC2021]. SNMPv2-MIB [RFC3418].

7.  Definitions

REPORT-SAMPLED-MIB DEFINITIONS ::= BEGIN

IMPORTS

   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   Gauge32, Integer32, experimental
      FROM SNMPv2-SMI                          -- [RFC2578]

   TimeStamp
      FROM SNMPv2-TC                           -- [RFC2579]

   sysUpTime
      FROM SNMPv2-MIB                          -- [RFC3418]

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

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

     usrHistoryControlEntry, usrHistoryObjectEntry,
     usrHistoryControlIndex, usrHistoryControlOwner,
     usrHistoryObjectIndex
  --   usrHistoryControlObjects, usrHistoryControlBucketsRequested,
  --   usrHistoryControlBucketsGranted, usrHistoryControlInterval,
  --   usrHistoryControlStatus,
  --   usrHistoryObjectVariable, usrHistoryObjectSampleType
        FROM RMON2-MIB                           -- [RFC2021]

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

reportSampledMIB MODULE-IDENTITY
   LAST-UPDATED "201211051300Z" "201412011300Z"  -- November 05, 2012 December 01, 2014
   ORGANIZATION "IETF MANET Working Group"
   CONTACT-INFO
      "WG E-Mail: manet@ietf.org

       WG Chairs: sratliff@cisco.com
                  jmacker@nrl.navy.mil

       Editors:   Robert G. Cole
                  US Army CERDEC
                  6010 Frankford Road
                  Aberdeen Proving Ground, MD 21005
                  USA
                  +1 443 395-8744
                  robert.g.cole@us.army.mil

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

                  Andy Bierman
                  YumaWorks, Inc.
                  andy@yumaworks.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
       of this MIB module is part of RFC xxxx; see the RFC
       itself for full legal notices."

     -- Revision History
     REVISION    "201412011300Z"   -- December 01, 2014
     DESCRIPTION
        "The ninth draft of this MIB module published as
         draft-ietf-manet-report-mib-04.txt.

         Revisions to this draft include
         a) A major restructuring of the MIB module in order
            to leverage the dismanEventMIB module for the
            automatic notification of Completed Reports.
         b) Efforts to incorporate this MIB module
            into the DISMAN management architecture.
        "
     REVISION    "201211051300Z"   -- November 05, 2012
     DESCRIPTION
        "The seventh draft of this MIB module published as
         draft-ietf-manet-report-mib-03.txt.

         Revisions to this draft include
         a) Added a 'Tables and Indexing' section to the
            body of this document.
         b) Added an 'Applicability Statement' section
            to the body of this document."
     REVISION    "201201311300Z"   -- January 31, 2012
     DESCRIPTION
        "The sixth draft of this MIB module published as
           draft-ietf-manet-report-mib-02.txt.
         Revisions to this draft include
         a) Pulled the statistical and historical reporting
            from the MIB module and left only the sampled
            reporting, in order to greatly simplify the
            first instance of this reporting MIB module.
         b) Renamed the module, the REPORT-SAMPLED-MIB reportSampledMIB module.
         c) Leveraged the RMON2-MIB module more effectively
            through the use of the AUGMENTS clause.
         d) Changed the module to 'experimental'."
     REVISION    "201102171300Z"   -- February 17, 2011
     DESCRIPTION
        "The fifth draft of this MIB module published as
         draft-ietf-manet-report-mib-01.txt.  This document
         has been promoted to a MANET Working Group
         draft.

         Revisions to this draft include
         a) Proposed changes to the statsReport table to
            simplify communications between device and
            mgmt application,
         b) Added Notifications,
         c) Changed the reporting structure of the
            Sampled and the History reporting
            to align with the structure of the
            Statistics reports for the purpose of
            allowing for efficient notification and
            collection of data reports.
         d) Ran through smilint to clean up all errors
            and most warning.  A few still remain."
     REVISION    "201007051300Z"   -- July 05, 2010
     DESCRIPTION
        "The fourth draft of this MIB module published as
         draft-ietf-manet-report-mib-00.txt.  This document
         has been promoted to a MANET Working Group
         draft.

         Significant revisions to this draft include
         a) added support for proxy configurations through
         the addition of address objects associated with
         the referenced counter objects associated with the
         performance reports."
     REVISION    "201003021300Z"   -- March 02, 2010
     DESCRIPTION
        "The third draft of this MIB module published as
         draft-cole-manet-report-mib-02.txt.  Significant
         revisions to this draft include a) changed naming
         of usrHistoryGroup to sampledGroup and  b) added
         a historyGroup."
     REVISION    "200910251300Z"   -- October 25, 2009
     DESCRIPTION
        "The second draft of this MIB module published as
         draft-cole-manet-report-mib-01.txt.  Significant
         revisions to this draft include a) the inclusion of
         raw data collection borrow blatently from the
         usrHistory Group within RMON2, b) the deletion of
         the CurrentHistoryTable from version -00,
         c) modifications to the overall structure of the
         MIB, and d) the definition of various Compliance
         options for implementations related to this MIB."
     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
     ::= { experimental 998 }   -- to be assigned by IANA

-- TEXTUAL CONVENTIONs
-- None

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

  reportSampledMIBNotifications
reportSampledMibNotifications OBJECT IDENTIFIER
                              ::= { reportSampledMIB 0 }
  reportSampledMIBObjects
reportSampledMibObjects       OBJECT IDENTIFIER
                              ::= { reportSampledMIB 1 }
  reportSampledMIBConformance
reportSampledMibConformance   OBJECT IDENTIFIER
                              ::= { reportSampledMIB 2 }

  reportSampledGroup            OBJECT IDENTIFIER
                                ::= { reportSampledMIBObjects 1 }

--      Then, the reportSampledGroup The reportSampledMibObjects assignments are :
--        reportSampledControlTable               - 1
--             reportSampledObjectTable        reportSampledCurrentReportsStatusTable  - 2
--             reportSampledDataTable        reportSampledCurrentReportsTable        - 3
--        reportSampledHistoricalReportsTable     - 4

--
-- The Control Table
--
reportSampledControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SampledControlEntry reportSampledControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of data-collection configuration entries.
           This table augments the 'usrHistoryControlTable'
           from RMON2-MIB (RFC 2021)." to configure measurement Studies which
         are comprised of multiple Reports."
    REFERENCE
          "RFC 2021 - Remote Network Monitoring Management
           Information Base Version 2 (RMON2-MIB),
           Waldbusser, S., January 1997."
        "tbd."
    ::= { reportSampledGroup reportSampledMibObjects 1 }

reportSampledControlEntry OBJECT-TYPE
    SYNTAX SampledControlEntry      ReportSampledControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of parameters that set up a group control the creation of user-defined
          MIB
         off-line performance Studies.

         The objects in this table are persistent and when
         written the device SHOULD save the change to be sampled periodically (called a
          bucket-group).
         non-volatile storage.  For example, an instance of reportSampledControlInterval
          might be named reportSampledControlInterval.1"
      AUGMENTS { usrHistoryControlEntry }
      ::= { reportSampledControlTable 1 }

  SampledControlEntry ::= SEQUENCE {
      reportSampledControlRequestedNumber   Integer32,
      reportSampledControlReportNumber      Integer32
  }

  reportSampledControlRequestedNumber OBJECT-TYPE
      SYNTAX Integer32 (1..127)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "The number of reports further information
         on the storage behavior for these objects, refer
         to be generated and stored by this
           agent the description for this report request.

          This object may not be modified if the associated
          reportSampledControlStatus object is equal to active(1)."
      DEFVAL reportSampledStudyEntryStatus
         object."
    INDEX       { 1 reportSampledStudyIndex }
    ::= { reportSampledControlEntry reportSampledControlTable 1 }

  reportSampledControlReportNumber

ReportSampledControlEntry ::= SEQUENCE {
    reportSampledStudyIndex                             Integer32,
    reportSampledStudyOwner                             SnmpAdminString,
    reportSampledStudyName                              SnmpAdminString,
    reportSampledStudyOid                               Integer32,
    reportSampledStudySamplingInterval                  Integer32,
    reportSampledStudyNumberReportMeasurements          Integer32,
    reportSampledStudyMaximumNumberOfHistoricalReports  Integer32,
    reportSampledStudyEntryStatus                       RowStatus
}

reportSampledStudyIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..127)
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
          "The number of the current report in progress.  The first
           report is assigned
        "A unique index that identifies a number equal to '1'. specific performace
         Study.  Each successive
           report number is incremented by unity.  When the last report Study is completed, this value comprised of multiple
         Reports.  Each Report is set to
           reportSampledControlRequestedNumber + 1." comprised of multiple
         atomic Measurements on a specified object."
    ::= { reportSampledControlEntry 2 1 }

  -- Object table

  reportSampledObjectTable

reportSampledStudyOwner OBJECT-TYPE
    SYNTAX SEQUENCE OF SampledObjectEntry      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS not-accessible  read-create
    STATUS      current
    DESCRIPTION
          "A list
        "The owner of data-collection configuration entries.
           This table augments the 'usrHistoryObjectTable'
           from the RMON2-MIB (RFC 2021)."
      REFERENCE
          "RFC 2021 - Remote Network Monitoring Management
           Information Base Version 2 (RMON2-MIB),
           Waldbusser, S., January 1997." Study."
    DEFVAL      { ''H }
    ::= { reportSampledGroup reportSampledControlEntry 2 }

  reportSampledObjectEntry

reportSampledStudyName OBJECT-TYPE
    SYNTAX SampledObjectEntry      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS not-accessible  read-create
    STATUS      current
    DESCRIPTION
          "A list of MIB instances to be sampled periodically.

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

          The usrHistoryControlIndex value in the index is
          that
        "The name of the associated reportSampledControlEntry.

          For example, an instance of reportSampledObjectVariable
          might be reportSampledObjectVariable.1.3"
      AUGMENTS { usrHistoryObjectEntry }
      ::= Study."
    DEFVAL      { reportSampledObjectTable 1 ''H }

  SampledObjectEntry
    ::= SEQUENCE {
      reportSampledObjectIpAddrType        InetAddressType,
      reportSampledObjectIPAddress         InetAddress reportSampledControlEntry 3 }

  reportSampledObjectIpAddrType

reportSampledStudyOid OBJECT-TYPE
    SYNTAX      InetAddressType      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
          "This identifies the IP address type
        "The target OID of the IP address associated with the
          secondary counter Study.  Each Study makes
         periodic Measurements on a specified object
         which is local to be
          monitored within this report.

          Only device.  Currently, the values ipv4(1) and
          ipv6(2)
         objects of study are supported.

          This object may not be modified if the associated
          reportStatsControlStatus object is equal limited to objects that
         resolve to active(1)." Integer32 (i.e., Integer32, Counter,
         Gauge, or TimeTicks)."
    ::= { reportSampledObjectEntry 1 reportSampledControlEntry 4 }

  reportSampledObjectIPAddress

reportSampledStudySamplingInterval OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))      Integer32 (1..2147483647)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
          "This identifies the IP addree of the
          secondary counter object to be
          monitored within this report.

          This object may not be modified if the associated
          reportStatsControlStatus object is equal to active(1)."
        "The time (in seconds) between sampled Measurement
        instances."
    DEFVAL      { 10 }
    ::= { reportSampledObjectEntry 2 reportSampledControlEntry 5 }

  -- data table
  reportSampledTable

reportSampledStudyNumberReportMeasurements OBJECT-TYPE
    SYNTAX SEQUENCE OF SampledEntry      Integer32 (1..2147483647)
    UNITS       "count"
    MAX-ACCESS not-accessible  read-create
    STATUS      current
    DESCRIPTION
          "A list
        "The number of user defined history entries." Meaurements per Report for this Study."

    DEFVAL      { 10 }
    ::= { reportSampledGroup 3 reportSampledControlEntry 6 }

  reportSampledEntry

reportSampledStudyMaximumNumberOfHistoricalReports OBJECT-TYPE
    SYNTAX SampledEntry      Integer32 (1..2147483647)
    UNITS       "count"
    MAX-ACCESS not-accessible  read-create
    STATUS      current
    DESCRIPTION
          "A historical sample
        "The number of user-defined variables.  This sample
          is associated with the reportSampledControlEntry which set
          up the parameters Historical Reports to archive locally
         for a regular collection of these samples.

          The usrHistoryControlIndex value, from the RMON2-MIB
          (RFC 2021), in the index identifies the
          reportSampledControlEntry on whose behalf this entry
          was created. specific Study.  The usrHistoryObjectIndex value Historical Reports are
         archived locally in the index identifies
          the reportSampledObjectEntry on whose behalf this entry
          was created.

          For example, an instance of reportSampledAbsValue, which
          represents the 14th sample of a variable collected as
          specified by reportSampledControlEntry.1 and
          reportSampledObjectEntry.1.5, would be named
          reportSampledAbsValue.1.14.5"
      REFERENCE
          "RFC 2021 - Remote Network Monitoring Management
           Information Base Version 2 (RMON2-MIB),
           Waldbusser, S., January 1997."
      INDEX { usrHistoryControlIndex, reportSampledReportIndex,
              reportSampledSampleIndex, usrHistoryObjectIndex }
      ::=
         reportSampledHistoricalReportsTable (below)."
    DEFVAL      { reportSampledTable 1 10 }

  SampledEntry
    ::= SEQUENCE {
      reportSampledReportIndex   Integer32,
      reportSampledReportID      Integer32,
      reportSampledSampleIndex   Integer32,
      reportSampledIntervalStart TimeStamp,
      reportSampledIntervalEnd   TimeStamp,
      reportSampledAbsValue      Gauge32,
      reportSampledValStatus     INTEGER reportSampledControlEntry 7 }

  reportSampledReportIndex

reportSampledStudyEntryStatus OBJECT-TYPE
    SYNTAX     Integer32 (1..127)      RowStatus
    MAX-ACCESS not-accessible  read-create
    STATUS current
    DESCRIPTION
          "An index that uniquely identifies the particular report
        "This object permits management of this entry is associated with among the set table
         by facilitating actions such as row creation,
         construction, and destruction. The value of reports
          requested through the reportSampledControlNumber
         this object has no effect on whether other
         objects in this conceptual row can be
         modified.

         An entry may not exist in the
          reportSampledControlEntry. This index starts at 1 and
          increases by one as each new report is generated."
      ::= { reportSampledEntry 1 }

  reportSampledReportID OBJECT-TYPE
      SYNTAX     Integer32 (1..127)
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
          "An ID that uniquely identifies 'active' state unless all
         objects in the particular report
          this entry is associated have a defined appropriate value.  For
         objects with among DEFVAL clauses, the set of reports
          requested through management station
         does not need to specify the reportSampledControlNumber value of these objects in order
         for the
          reportSampledControlEntry. This ID is set row to transit to equal the
          value of 'active' state; the reportSampledReportIndex."
      ::= { reportSampledEntry 2 }

  reportSampledSampleIndex OBJECT-TYPE
      SYNTAX     Integer32 (1..2147483647)
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
          "An index default
         value for these objects is used.  For objects that uniquely identifies do not
         have DEFVAL clauses, then the particular sample network manager MUST
         specify the value of these objects prior to this
          entry represents among row
         transitioning to the 'active' state.

         When this object transitions to 'active', all samples associated objects
         in this row SHOULD be written to non-volatile (stable)
         storage.  Read-create objects in this row MAY be modified.
         When an object in a row with smfCfgIfRowStatus of 'active'
         is changed, then the same
          reportSampledControlEntry. This index starts at 1 updated value MUST be reflected in SMF
         and
          increases by one as each this new sample object value MUST be written to non-volatile
         storage.

         If this object is taken." not equal to 'active', all associated
         entries in the reportSampledCurrentReportsStatusTable,
         the reportSampledCurrentReportsTable, and the
         reportSampledHistoricalReportsTable MUST be deleted."
    ::= { reportSampledEntry 3 reportSampledControlEntry 8 }

  reportSampledIntervalStart

--
-- the Current Reports Status Table
--
reportSampledCurrentReportsStatusTable OBJECT-TYPE
    SYNTAX TimeStamp      SEQUENCE OF reportSampledCurrentReportsStatusEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
          "The value of sysUpTime at the start of the interval over
          which this sample was measured.  If the probe keeps track of
          the time of day, it should start
        "A table to tracking the first sample progress of the
          history at a time such that when the next hour measurements of the day
          begins, a sample current
         reports in development.  Of particular note is started at that instant.

          Note that following this rule may require the probe object
         reportSampledNumberOfMeasurementsForCurrentReport which
         can be compared to delay
          collecting the first sample value of the history, as each sample
          must be of object
         reportSampledStudyNumberReportMeasurements by the same interval. Also note that
         dismanEventMIB module and generate triggered
         notifications to the sample which
          is currently being collected is not accessible in this table
          until Study owner containing the end of its interval."
         recently Completed Reports."
    REFERENCE
        "tbd."
    ::= { reportSampledEntry 4 reportSampledMibObjects 2 }

  reportSampledIntervalEnd

reportSampledCurrentReportsStatusEntry OBJECT-TYPE
    SYNTAX TimeStamp      ReportSampledCurrentReportsStatusEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
          "The value
        "A list of sysUpTime at parameters that track the end status of the interval over which
          this sample was measured."
         current Reports in development."
    INDEX       { reportSampledStudyIndex }
    ::= { reportSampledEntry 5 reportSampledCurrentReportsStatusTable 1 }

ReportSampledCurrentReportsStatusEntry ::= SEQUENCE {
    reportSampledNumberOfCurrentReport                 Integer32,
    reportSampledNumberOfMeasurementsForCurrentReport  Integer32
}

  reportSampledAbsValue

reportSampledNumberOfCurrentReport OBJECT-TYPE
    SYNTAX Gauge32      Integer32 (1..2147483647)
    UNITS       "count"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The absolute value (i.e. unsigned value) of the
          user-specified statistic during the last sampling period. The
          value during number within the Study series of this
         current sampling period is not made available
          until the period is completed.

          To obtain Report.  For each new Report within
         the true Study, this value for MIUST increment by
         one.  For the first Report in this sampling interval, Study,
         the
          associated instance initial value of reportSampledValStatus must
          be checked, and reportSampledAbsValue adjusted as necessary.

          If the MIB instance could not be accessed during the sampling
          interval, then this object will have a value of zero and the
          associated instance of reportSampledValStatus will MUST be
         set to
          'valueNotAvailable(1)'." one.  The value MUST wrap back to one
         when the value has reached the maximum."
    ::= { reportSampledEntry 6 reportSampledCurrentReportsStatusEntry 1 }

  reportSampledValStatus

reportSampledNumberOfMeasurementsForCurrentReport OBJECT-TYPE
    SYNTAX INTEGER {
          valueNotAvailable(1),
          valuePositive(2),
          valueNegative(3)
      }      Integer32 (1..2147483647)
    UNITS       "count"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
          "This object indicates the validity and sign
        "The number of the data in
          the associated instance Measurements collected so far for
         for this specific Report.  The initial value
         of reportSampledAbsValue.

          If the MIB instance could not this object MUST be accessed during the sampling
          interval, then 'valueNotAvailable(1)' will one.  The value MUST
         increment be returned.

          If the sample one for each attempted Measurement.
         The maximum value for this object is valid and actual
         reportSampledStudyNumberReportMeasurements.
         Once this value of the sample is
          greater than or equal to zero then 'valuePositive(2)' reached and the next
         Measurement is
          returned.

          If attempted, the sample Current Report is valid
         considered Completed, the agent MUST copy
         the Completed Report's data from the
         reportSampledCurrentReportsTable into the
         reportSampledHistoricalReportsTable, and the actual value of
         next Measurement (strating the sample is
          less than zero, 'valueNegative(3)' will be returned. The
          associated instance of reportSampledAbsValue should next Report in the
         Study series) MUST be
          multiplied by -1 to obtain numbered with the true sample value." value of
         this object as one."
    ::= { reportSampledEntry 7 reportSampledCurrentReportsStatusEntry 2 }

--
-- Notifications
  --

  reportSampledNotificationObjects OBJECT IDENTIFIER
                                   ::= {reportSampledMIBNotifications 0}

     -- reportSampledNotificationObjects

     reportSampledNewDataReport NOTIFICATION-TYPE
            OBJECTS { usrHistoryControlOwner, -- The entity that
                               --   configured this entry
                      reportSampledReportID   -- The ID of the Current Reports Table
--   data table
reportSampledCurrentReportsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ReportSampledCurrentReportsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of measurements being collected for this report active
         Reports."
    REFERENCE
        " TBD."
    ::= { reportSampledMibObjects 3 }

reportSampledCurrentReportsEntry OBJECT-TYPE
    SYNTAX      ReportSampledCurrentReportsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
               "reportSampledNewDataReport is a notification sent
                when a new report is completed
        "A list of entries storing the measurements from
         active Reports.  Once an active, current Report
         completes (when the
                reportSampledControlTable.  The notification carries value of the index from associated
         reportSampledNumberOfMeasurementsForCurrentReport
         equals the control table that established
                this report and value of the index from associated
         reportSampledStudyNumberReportMeasurements), the
         agent MUST move the Report's data table that
                holds this report.  Indication of from the new report
                is when
         reportSampledCurrentReportsTable to the reportSampledControlReportNumber
                is incremented."
            ::=
         reportSampledHistoricalReportTable."
    INDEX       { reportSampledNotificationObjects 1 reportSampledStudyIndex,
                  reportSampledCurrentMeasurementIndex }

  --
  -- Compliance Statements
  --

  -- Mandatory for Sampled will include all.

  reportSampledCompliances  OBJECT IDENTIFIER
    ::= { reportSampledMIBConformance reportSampledCurrentReportsTable 1 }
  reportSampledMIBGroups    OBJECT IDENTIFIER

ReportSampledCurrentReportsEntry ::= SEQUENCE { reportSampledMIBConformance 2
    reportSampledCurrentMeasurementIndex  Integer32,
    reportSampledCurrentMeasurementValue  Integer32,
    reportSampledCurrentMeasurementTime   sysUpTime,
    reportSampledCurrentMeasurementStatus INTEGER
}

  reportSampledCompliance  MODULE-COMPLIANCE

reportSampledCurrentMeasurementIndex  OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The Sampled basic implementation requirements
        "An index for
                  managed network entities that implement this table which represents
         the REPORT Sampled process."
     MODULE  -- number of Measurements collected so far for
         for this module
     MANDATORY-GROUPS { reportSampledLocalGroup } current Report.  The initial value
         of this object MUST be one.  The value MUST
         increment be one for each attempted Measurement.
         The maximum value for this object is
         reportSampledStudyNumberReportMeasurements.
         Once this value is reached and the next
         Measurement is attempted, the Current Report is
         considered Completed, the agent MUST copy
         the Completed Report's data from the
         reportSampledCurrentReportsTable into the
         reportSampledHistoricalReportsTable, and the
         next Measurement (strating the next Report in the
         Study series) MUST be numbered with the value of
         this object as one."
    ::= { reportSampledCompliances reportSampledCurrentReportsEntry 1 }

  reportSampledNotificationCompliance  MODULE-COMPLIANCE

reportSampledCurrentMeasurementValue  OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The Sampled Notification implementation
                  requirements
        "A single measurement for managed network entities
                  that implement this Study for
         this Current Report.  The objects identifying
         the REPORT process."
     MODULE  -- measurement MUST resolve to type Integer32
         (i.e., Integer32, Counter, Gauge, or TimeTicks).
         to be used for performance monitoring on this module
     MANDATORY-GROUPS { reportSampledNotificationObjectGroup } device."
    ::= { reportSampledCompliances reportSampledCurrentReportsEntry 2 }

  -- Units of Conformance

  reportSampledLocalGroup  OBJECT-GROUP
     OBJECTS {
              reportSampledControlRequestedNumber,
              reportSampledControlReportNumber,
              reportSampledObjectIpAddrType,
              reportSampledObjectIPAddress,
              reportSampledReportID,
              reportSampledIntervalStart,
              reportSampledIntervalEnd,
              reportSampledAbsValue,
              reportSampledValStatus
     }

reportSampledCurrentMeasurementTime  OBJECT-TYPE
    SYNTAX      sysUpTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Set
        "The systemUpTime of REPORT state objects implemented
         in the device on which the
         measurement was made for this module." Measurement."
    ::= { reportSampledMIBGroups 1 reportSampledCurrentReportsEntry 3 }

  --reportSampledImportedGroup  OBJECT-GROUP
  --   OBJECTS

reportSampledCurrentMeasurementStatus OBJECT-TYPE
    SYNTAX INTEGER {
  --            usrHistoryControlObjects,
  --            usrHistoryControlBucketsRequested,
  --            usrHistoryControlBucketsGranted,
  --            usrHistoryControlInterval,
  --            usrHistoryControlOwner,
  --            usrHistoryControlStatus,
  --            usrHistoryObjectVariable,
  --            usrHistoryObjectSampleType
  --
        valueNotAvailable(1),
        valuePositive(2),
        valueNegative(3)
    }
  --
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the validity and sign of the
         data in the associated value recorded by the
         reportSampledCurrentMeasurementValue object."
    ::= { reportSampledCurrentReportsEntry 4 }

--
-- Historical Reports Table
--
reportSampledHistoricalReportsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ReportSampledHistoricalReportsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table archiving non-active Reports for each
         defined Study up to a maximum number of Reports
         per Study."
    ::= { reportSampledMibObjects 4 }

reportSampledHistoricalReportsEntry OBJECT-TYPE
    SYNTAX      ReportSampledHistoricalReportsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of entries storing the measurements from
         Completed Reports.  Once an active, current Report
         completes (when the value of the associated
         reportSampledNumberOfMeasurementsForCurrentReport
         equals the value of the associated
         reportSampledStudyNumberReportMeasurements), the
         agent MUST move the Report's data from the
         reportSampledCurrentReportsTable to this
         reportSampledHistoricalReportTable."
    REFERENCE
        " TBD. "
    INDEX       { reportSampledStudyIndex,
                  reportSampledHistoricalReportIndex,
                  reportSampledHistoricalMeasurementIndex }
    ::= { reportSampledHistoricalReportsTable 1 }

ReportSampledHistoricalReportsEntry ::= SEQUENCE {
    reportSampledHistoricalReportIndex        Integer32,
    reportSampledHistoricalMeasurementIndex   Integer32,
    reportSampledHistoricalMeasurementValue   Integer32,
    reportSampledHistoricalMeasurementTime    sysUpTime,
    reportSampledHistoricalMeasurementStatus  INTEGER
}

reportSampledHistoricalReportIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies the particular Report
         archived in this table for the specific Study
         (identified by the reportSampledStudyIndex)."
    ::= { reportSampledHistoricalReportsEntry 1 }

reportSampledHistoricalMeasurementIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies a Measurement for
         a specific Report achived in this table for a
         Specific Study."
    ::= { reportSampledHistoriclReportsEntry 2 }

reportSampledHistoricalReportsValue OBJECT-TYPE
    SYNTAX      Integer32(1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A single measurement for this Study for
         this Completed Report.  The objects identifying
         the measurement MUST resolve to type Integer32
         (i.e., Integer32, Counter, Gauge, or TimeTicks).
         to be used for performance monitoring on this device."
    ::= { reportSampledHistoriclReportsEntry 3 }

reportSampledHistoricalMeasurementTime OBJECT-TYPE
    SYNTAX      sysUpTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The systemUpTime of the device on which the
         measurement was made for this Measurement."
    ::= { reportSampledHistoriclReportsEntry 5 }

reportSampledHistoricalMeasurementStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        valueNotAvailable(1),
        valuePositive(2),
        valueNegative(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the validity and sign of the
         data in the associated value recorded by the
         reportSampledHistoricalMeasurementValue object."
    ::= { reportSampledHistoriclReportsEntry 5 }

--
-- Notifications
--

-- The following notification objects to define issues with making
-- and storing measurements.

-- Actions which report data, i.e., Reports, are to be handled by
-- the dismanEventMIB module.

reportSampledNotificationObjects OBJECT IDENTIFIER
                            ::= {reportSampledMibNotifications 0}
reportSampledNotificationControl OBJECT IDENTIFIER
                            ::= {reportSampledMibNotifications 1}

--
-- reportSampledNotificationObjects
--
reportSampledDataCollectionFailure NOTIFICATION-TYPE
    OBJECTS     { reportSampledStudyOwner, -- The entity that
                                           -- configured this Study
                  reportSampledStudyName,  -- The name of the Study
                                           -- that is failing to
                                           -- collect measurement data
                  reportSampledStudyOid    -- The Object ID being
                                           -- monitored in this Study
                }
    STATUS      current
    DESCRIPTION
        "The reportSampledDataCollectionFailure is a notification
         sent when the number of consecutive measurement failures
         within a Current Report, as indicated by consecutive values
         of the reportSampledCurrentMeasurementStatus being set
         to 'valueNotAvailable(1)', exceeds the value of the
         threshold value defined in the
         reportSampledDataCollectionFailureThreshold object."
    ::= { reportSampledNotificationObjects 1 }

--
-- nhdpNotificationsControl
--
reportSampledDataCollectionFailureThreshold OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    UNITS       "count"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A threshold value for the number of
         consecutive measurement failures within a
         Current Report as indicated by consecutive values
         of the reportSampledCurrentMeasurementStatus being
         being set to 'valueNotAvailable(1)' which
         exceed the value of this threshold.  A value of
         '255' for this threshold indicates that the
         reportSampledDataCollectionFailure notification
         is never to be sent. "
    DEFVAL      { 10 }
    ::= { nhdpNotificationsControl 1 }

--
-- Compliance Statements
--

-- Mandatory compliance for the reportSampledMIB module will
-- include all objects defined within the module.
reportSampledCompliances  OBJECT IDENTIFIER
                          ::= { reportSampledMIBConformance 1 }
reportSampledMIBGroups    OBJECT IDENTIFIER
                          ::= { reportSampledMIBConformance 2 }

reportSampledCompliance  MODULE-COMPLIANCE
   STATUS current
  --
   DESCRIPTION
  --      "Set of "The reportSampled basic implementation requirements
                for managed network entities that implement
                the REPORT state objects implemented Sampled process."
   MODULE  --       in this module."
  --::= module
   MANDATORY-GROUPS { reportSampledMIBGroups 2 reportSampledLocalGroup }

  reportSampledNotificationObjectGroup  NOTIFICATION-GROUP
     NOTIFICATIONS
::= { reportSampledCompliances 1 }

--
-- Units of Conformance
--
reportSampledLocalGroup  OBJECT-GROUP
   OBJECTS {
              reportSampledNewDataReport
            reportSampledStudyOwner,
            reportSampledStudyName,
            reportSampledStudyOid,
            reportSampledStudySamplingInterval,
            reportSampledStudyNumberReportMeasurements,
            reportSampledStudyMaximumNumberOfHistoricalReports,
            reportSampledStudyEntryStatus,

            reportSampledNumberOfCurrentReport,
            reportSampledNumberOfMeasurementsForCurrentReport,

            reportSampledCurrentMeasurementValue,
            reportSampledCurrentMeasurementTime,
            reportSampledCurrentMeasurementStatus,

            reportSampledHistoricalMeasurementValue,
            reportSampledHistoricalMeasurementTime,
            reportSampledHistoricalMeasurementStatus,

            reportSampledDataCollectionFailure,
            reportSampledDataCollectionFailureThreshold
   }
   STATUS  current
   DESCRIPTION
        "Set
      "The basic set of REPORT notifications implemented objects in this thie reportSampledMIB module for
       to be implemented in order to meet the Sampled reports." minimal compliance
       conditions."
::= { reportSampledMIBGroups 3 1 }

END

8.  Security Considerations

   This REPORT-SAMPLED-MIB reportSampledMIB module defines a capability where the local
   device may poll other remote devices to collect performance data accessible
   through other MIB modules on the remote devices. device to collect
   performance data.  These capabilities defined within the REPORT-SAMPLED-MIB
   reportSampledMIB module are control-able by a network management
   application through SNMP.  As such, a network management application
   could potentially use the REPORT-SAMPLED-MIB reportSampledMIB module as a mechanism to
   implement a limited Distributed Denial-of-Service (DDoS) attack
   against remote devices. devices by overloading their SNMP processing.  Care
   should be taken to secure access to the
   REPORT-SAMPLED-MIB reportSampledMIB module
   agent.  Specifically, access control mechanisms and authentication
   mechanisms (via SNMPv3) should always be used for SNMP SET
   operations.  Further, some objects may contain data deemed sensitive
   and authentication and encryption mechanisms (via SNMPv3) should be
   used for SNMP GET operations.

   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  The reportSampledControlTable is a writable table whose columnar
      objects are read-create.  The following objects with MAX ACCESS writable table whose columnar
      objects are read-create.  The following objects with MAX ACCESS of
      read-create and their security sensitivities are:

   o

      *  reportSampledStudyOwner - this object is an administrative
         string which identifies the the owner of the Study.

      *  reportSampledStudyName - this object is an administrative
         string which gives a name to the Study defined by the objects
         in this table.

      *  reportSampledStudyOid - this object identifies the the Object
         ID from another MIB module resident on this local device which
         forms the measurement basis for the Study.  Depending upon the
         object and the associated process responsible for its
         maintenance, polling this object too frequently may place an
         undo burden on the process resulting in diminishing its overall
         ability to perform its operation.

      *  reportSampledStudySamplingInterval - this object identifies the
         time interval being sampling events.  If set too low, the
         device may not be able to sample the object on remote devices
         fast enough to satisfy the requested interval.  Further,
         setting this value too low could be used to overwhelm the
         processing capabilities of the remote agent, resulting in a
         form of
      read-create and their security sensitivities are:

   o Denial-of-Service (DoS) attack.

      *  usrHistoryControlBucketRequested  reportSampledStudyNumberReportsMeasurements - this object
         identifies the requested number of buckets (or intervals) requested measurements (and associated
         storage/memory) for each identified object for each report Study
         instance.  As such, this related to the total device memory
         necessary to hold the collected data for the identified
         reports.  The device must determine whether it has the
         necessary storage.  If not, the device can indicate the available storage through the
         usrHistoryControlBucketGranted object within reject this table.  The
         device value
         when requested by returning the .... to protect itself against
         memory overruns.

      *  usrHistoryControlInterval  reportSampledStudyMaximumNumberOfHistoricalReports - this
         object identifies the time
         interval being sampling events.  If set too low, requested number of Reports for each
         identified object for each Study instance.  As such, this
         related to the total device may
         not be able memory necessary to sample hold the object on remote devices fast enough
         to satisfy
         collected data for the requested interval.  Further, setting identified reports.  The device must
         determine whether it has the necessary storage.  If not, the
         device can reject this value
         too low could be used to overwhelm the processing capabilities
         of when requested by returning the remote agent, resulting in a Denial-of-Service (DoS)
         attack.
         .... to protect itself against memory overruns.

      *  reportSampledControlRequestedNumber  reportSampledStudyEntryStatus - this is the RowStatus object identifies
         controlling the requested number of consecutive reports configuration of this type to be
         generated and stored table row.

   o  The reportSampledCurrentReportsStatusTable is a read-only table
      containing state information.  The information in this device.  When, Table
      relates to performance measurements on the value underlying Mobile Ad-
      Hoc Network (MANET).  As such, some of this
         object should information may be considered in the local device's estimates of
         memory consumption related
      deemed sensitive to this control table row.

      *  usrHistoryControlOwner - this objects provides a name
         associated with the presumed identity overall performance of the application
         configuring this report.  If MANET and to
      the local device or management
         applications attribute any authority organization to which the values contained MANET belongs.

   o  The reportSampledCurrentReportsTable is a read-only table
      containing state information.  The information in this object, then it is critical Table
      relates to secure access performance measurements on the underlying Mobile Ad-
      Hoc Network (MANET).  As such, some of this information may be
      deemed sensitive to setting or
         modifying the value overall performance of this object.

      *  usrHistoryControlStatus - this is the RowStatus object
         controlling MANET and to
      the configuration of this table row. organization to which the MANET belongs.

   o  The reportSampledObjectTable reportSampledHistoricalReportsStatusTable is a writable read-only table whose columnar
      objects are read-create.
      containing state information.  The following objects with MAX ACCESS of
      read-create and their security sensitivities are:

   o

      *  usrHistoryObjectVariable - information in this object identifies the specific
         OID on a (potentially) remote agent whose counter or gauge
         values are Table
      relates to be collected for the reports.  If, for whatever
         reason, performance measurements on the values underlying Mobile Ad-
      Hoc Network (MANET).  As such, some of this OID collected within the report is information may be
      deemed sensitive, then the SNMP GET operations issued to
         collect these values should use SNMPv3 authentication and
         encryption mechanisms sensitive to protect.

      *  reportSampledObjectIpAddrType - this object identifies the
         address type associated with the address overall performance of the agent whose OID
         data is being collected for MANET and to
      the report.

      *  reportSampledObjectIpAddress - this object identifies organization to which the
         address associated with MANET belongs.

   o  The reportSampledDataCollectionFailure notification object reports
      information regarding the address inability of the agent whose OID data
         is being collected for the report.  If reportSampledMIB module
      from completing its configured reporting mission, including the address of
      specific information that the
         remote devices module is deemed sensitive, then the SNMP SETs which
         write or the SNMP GET which collect failing to collect.  To
      some organizations this information should may be
         protected using SNMPv3 authentication deemed sensitive to its
      mission and may want to protect this information through
      encryption mechanisms.

      *  usrHistoryObjectSampleType - this

   o  The reportSampledDataCollectionFailureThreshold object identifies controls
      the ability of the way
         in which data values are device to report information regarding the
      inability of the reportSampledMIB module from completing its
      configured reporting mission.  If set to low, notifications may be
      produced too frequently causing processor burdens to the agent and
      the collecting manager, and generating too much management traffic
      for a bandwidth constrained MANET to support.  If set too high,
      notifications may not be produced frequently enough for the
      collecting manager to be stored within properly track the reports. MANET system performance.

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

   This document describes objects for configuring parameters of the
   remote report generation process on a router or close other device.  This
   MIB module, denoted REPORT-SAMPLED-MIB, reportSampledMIB module, also reports performance
   information and notifications.  The REPORT-SAMPLED-MIB reportSampledMIB module provides
   for the remote control, collection and notification of performance
   reports on devices.  As such, it eliminates the need for periodic
   polling for counters from remote management stations as a means for
   generating performance reports.  This is hoped to greatly reduce
   management overhead on the MANET.  This sections provides some
   examples of how this MIB module can be used in MANET network
   deployments.  A fuller discussion of MANET network management use
   cases and challenges will be provided elsewhere.

   In the following, two scenarios are listed identified where this MIB module
   is
   useful, i.e., useful.  This list is not complete and other scenarios are
   possible.

   o  For Mobile vehicles with Low Bandwidth Satellite Link to a Fixed
      NOC
      Network Operations Center (NOC) - Here the vehicles carrying the
      MANET routers carry multiple wireless interfaces, one of which is
      a relatively low-bandwidth on-the-move satellite connection which
      interconnects a fix NOC to the nodes of the MANET.  Standards-based  Standards-
      based methods for monitoring and fault management from the fixed
      NOC are necessary for this deployment option.  However, to reduce
      polling overhead over the low bandwidth communications links, the REPORT-SAMPLED-MIB
      reportSampledMIB module can be deployed the remote MANET nodes for
      the remote generation of performance reports.

   o  For Fixed NOC and Mobile Local Manager in Larger Vehicles - for
      larger vehicles, a hierarchical network management arrangement is
      useful.  Centralized network management is performed from a fixed
      NOC while local management management, as provided by this reportSampledMIB
      module is performed locally from within the vehicles.  Standards-based  Standards-
      based methods for configuration, monitoring, fault and performance
      management are necessary for this deployment option.

10.  IANA Considerations

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

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

        reportSampledMIB  { experimental XXX }

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

12.  Acknowledgements

   We would like to thank Bert Wijnen for pointing out the existence of
   the usrHistory group within RMON2 and in answering our numerous
   questions on the usrHistory group.  Further, we wish to thank U.
   Herberg for promoting additions to this MIB through his thoughtful
   consideration of performance monitoring requirements for other MIBs
   within the MANET WG, e.g., NHDP and OLSR MIBs.

13.  References

13.1.  Normative References

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

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

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

   [RFC4001]  Daniele, M., Haberman, B., Routhier, S.,

   [RFC2981]  Kavasseri, R., "Event MIB", RFC 2981, October 2000.

   [RFC2982]  Kavasseri, R., "Distributed Management Expression MIB",
              RFC 2982, October 2000.

   [RFC3411]  Harrington, D., Presuhn, R., and J.
              Schoenwaelder, "Textual Conventions B. Wijnen, "An
              Architecture for Internet Describing Simple Network Management
              Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
              December 2002.

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

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

   Changes from draft-ietf-manet-report-mib-03 to
   draft-ietf-manet-report-mib-04 draft.

   1.  This version 04 of the reportSampledMIB module represents a
       fairly significant restructuring of the MIB module.  This
       restructuring was necessary in order to align the remote
       distributed reporting capabilities of this MIB module with the
       prior DISMAN Working Group (WG) efforts at the IETF.

   2.  The reportSampledCurrentReportsStatusTable was added to allow a
       network manager to automate notifications of completed reports
       from this MIB module using the dismanEventMIB module.

   3.  The notifications in this reportSampledMIB module were reduced to
       only notifications related to the operation of the data
       collections and no longer addressing the reporting of the
       performance data itself.  This later data is now carried in
       notifications under the control of the dismanEventMIB module.

   Changes from draft-ietf-manet-report-mib-01 to
   draft-ietf-manet-report-mib-02 draft.

   1.  Stripped the Statistical and the Historical Reports from this
       draft in order to greatly simplify the initial development and
       experiments of this MIB module.

   2.  Changed the RFC category to Experimental.

   3.  Completed the Security section.

   4.  Relied upon the AUGMENTS statement to simplify further this MIB
       definition.

   Changes from draft-ietf-manet-report-mib-00 to
   draft-ietf-manet-report-mib-01 draft.

   1.  Proposed additions to the statsReports in order to potentially
       simplify data transmission to management applications.

   2.  Added some Notification definitions and their relationship to the
       three reports' structure, i.e., statsReports, sampledReports, and
       historyReports.

   3.  In the process of adding notifications for the Sampled and the
       History reports, decided to restructure the reports from their
       previously rolling storage model to the fixed interval reporting
       used all along in the Statistics reporting.  This allows the
       agent to notify the management application that a report has
       completed and that it is ready to be pulled from the agent
       storage.

   4.  Ran MIB through smilint checker and cleaned up all errors and
       most warnings.  A few warnings remain to be addressed.

   5.  Cleaned up textual material.

   Changes from draft-cole-manet-report-mib-02 to
   draft-ietf-manet-report-mib-00 draft.

   1.  Major change was the incorporation of the IP address objects
       associated with all objects of type 'OBJECT IDENTIFIER'.  This
       allows the REPORT-SAMPLED-MIB reportSampledMIB module to exist as a proxy report
       generation capability on a device separate but in close proximity
       to the device monitoring the referenced object.

   2.  Cleaned up the up front text, reducing the repetition with the
       object descriptions in the MIB.

   3.  Worked on and added sections discussing the relationship to other
       MIBs.

   Changes from draft-cole-manet-report-mib-01 to
   draft-cole-manet-report-mib-02 draft.

   1.  Restructured the MIB somewhat to now offer the three reporting
       capabilities in increasing order of detail: a) statistical
       reports, b) sampled reports, and c) historical reports.

   2.  Renamed the usrHistoryGroup and elements to samplingGroup.  This
       is in line with its actual capabilities.

   3.  Added a new historyGroup which provides a history of change
       events.

   4.  Updated the4 Conformance section to reflect the above changes and
       additions.  But did not yet run smilint to check MIB syntax.

   Changes from draft-cole-manet-report-mib-00 to
   draft-cole-manet-report-mib-01 draft.

   1.  Added (copied) the usrHistory group from RMON2 into the REPORT-
       SAMPLED-MIB.
       reportSampledMIB module.

   2.  Restructured the MIB to account for the inclusion of the
       reportSampledGroup.
       reportSampledMibObjects.

   3.  Dropped the reportCurReportsTable as this did not make sense
       within the context of the REPORT-SAMPLED-MIB. reportSampledMIB module.

   4.  Added the Compliance and Conformance material.  Defined several
       Compliance Groups to all for base implementations of the REPORT-
       SAMPLED-MIB
       reportSampledMIB module for only statistical reports, for only
       historical reports or for both.  Allow for enhanced
       implementations to address higher capacity issues and extension
       to metric reporting for statistical reporting.

   5.  Ran the MIB through the smilint checker and in the process
       corrected numerous typos, omissions, TEXTUAL CONVENTIONS,
       IMPORTS, etc.

   6.  Updated main text to reflect changes.

Appendix B.  Open Issues

   This section contains the set of open issues related to the
   development and design of the REPORT-SAMPLED-MIB. reportSampledMIB module.  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.  Provide references within the REFERENCE clauses in the MIB
       module.

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

   3.  Request an initial review of this MIB module by a MIB Doctor
       familiar with the work of the DISMAN WG, preferably an author of
       the dismanEventMIB module.

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
   US Army CERDEC
   6010 Frankford Road
   Aberdeen Proving Ground, Maryland  21005
   USA

   Phone: +1 443 395 8744
   EMail: robert.g.cole@us.army.mil
   URI:   http://www.cs.jhu.edu/~rgcole/

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

   EMail: macker@itd.nrl.navy.mil
   Andy Bierman
   YumaWorks, Inc.
   Redwood City, CA  94065

   EMail: andy@yumaworks.com