ISO/IEC 10164-11 Monitor Metric Objects and Attributes
======================================================

Overview
--------
ISO has defined the "Metric Objects and Attributes" (formerly Workload
Monitoring Function) MIB [ISO10164-11] as part of Systems Management.
A Monitor Object can perform the following activities on data contained in
the attributes of other Managed Objects (MOs):
  - data capture
  - data conversion
  - data enhancement
  - data analysis
  - generate notifications
This allows a great deal of flexibility at run-time, as a Management
Application can define and instantiate a set of Monitor Objects to perform
these generically useful activities on other existing MOs.

Basically, a Monitor Object is used to periodically observe (called a "scan")
an attribute that exists in another "observed MO".  The "observed attribute"
inside the observed MO must be of type Counter or Gauge.  The observed
information is stored internally to the Monitor Object in a local Gauge
attribute.  The Monitor Object converts observed Counter attributes
internally to a rate Gauge.  Depending upon the Monitor Object's behaviour,
internal threshold's may be used to determine if a "Quality of Service Alarm"
[ISO10164-4] Notification should be emitted, when the observed attribute
exceeds certain threshold boundaries.  The remote Management Application can
set/change the threshold boundaries used in the Monitor Objects, and turn
them on/off at run-time.

The Monitor Object managed object classes defined in [ISO10164-11] have
the following inheritance heirarchy:

  "REC.X.721|ISO/IEC 10165-2:1992":Top
                 |
              scanner
                 |
           MonitorMetric
                 |
           MeanMonitor
            |      |
            |     AlgorithmIndicatingMeanMonitor
            |
  MovingAverageMeanMonitor
   |        |        |
   |        |     MeanAndMinMaxMonitor
   |        | 
   |      MeanAndVarianceMonitor
   |      
  MeanAndPercentileMonitor

The base class "scanner" defines the scheduling/polling behaviour used
to periodically scan observed MOs.  The base Monitor Object MonitorMetric
merely monitors raw data from observed MOs.  The derived Monitor Object
class MeanMonitor allows various smoothing algorithms (i.e. Estimated Weighted
Moving Average or Universal Weighted Moving Average) to be applied to the
measured raw data.  Other derived classes provided features for data conversion
such as : mean, mean and variance, mean and percentile, mean and
minimum/maximum.

Associated with each Monitor Object derived class are
various Gauges/GaugeThresholds for emitting different types notifications
(e.g MonitorMetric's raw data measurement exceeds some threshold vs.
MovingAverageMeanMonitor's smoothed measurement exceeds different threshold).

Use of the Monitor Metric MIB in a Q-adaptor function (QAF), allows an
OSI Manager greater flexibility.  Notifications need not be specified in
the MIB description for all MOs defined there.  Instead, at run-time the
Management Application can instantiate an appropriate Monitor Object to
perform this function.  This moves more work into the Management Application,
but in a generically usable fashion.

Another use of Monitor Objects is that they can also be used to eliminate
some amount of "polling traffic" in the network attached to an OSI manager,
when for example an M-interface such as SNMP is used to communicate to the
real resource.  When the real resource uses an interface like SNMP,
it is possible to use a Generic CMIP/SNMP Gateway [ICM93] as the QAF.  However,
because of the simplicity of SNMP and SNMP MIBs converted to OSI GDMO
MIBs, a Manager must "poll" the SNMP agent to get information from the real
resource (without use of Monitor Objects).

   +--------------+
   | OSI Manager  |
   +--------------+
        || 
        ||  CMIP-polling
        ||
   +--------------+
   |    QAF       |
   | CMIP/SNMP    |
   |  Gateway     |
   +--------------+
        ||     
        ||  SNMP-polling
        ||     
   +--------------+
   |   SNMP       |
   |   agent      |
   |              |
   | Real Resource|
   +--------------+

However, if one uses Monitor Objects in the above QAF, then all polling
is isolated to the SNMP-agent's local network, as the Monitor Objects
can take care of polling (i.e. scanning internally to the QAF) and only
emit notifications to the Manager when appropriate.  This helps eliminate
unnecessary traffic on the Manger's network, which is a fundamental aim
of all good Network Management systems.

   +-----------------------+
   |      OSI Manager      |
   +---------------/|\-----+
                    | 
                    |     CMIP-notification
                    |
   +----------------|------+
   |    QAF     +---|---+  |
   |            |Monitor|  |
   | CMIP/SNMP  |Objects|  |
   |  Gateway   +--||---+  |
   +---------------||------+
                   ||
                   ||  SNMP-polling
                   ||    
            +------||------+
            |   SNMP       |
            |   agent      |
            |              |
            | Real Resource|
            +--------------+

In ICM, we have so far implemented a simple "scanner" base managed object
class, and also MetricMonitor and MovingAverageMeanMonitor Monitor Objects.
They have been found to be quite useful when creating generic Managent
Application facilities, especially when combined with other functionality
such as Summarization Objects.  As they are generically defined objects,
they can be reused in many different projects in a variety of ways.

References
==========

[ICM93]       J. DeSouza, N. Agoulmine, K. McCarthy, G.Pavlou, CMIP/SNMPv1
              Translation Through Application Level Gateways using the
              OSIMIS/ISODE Platform, IS&N Conference 1993.

[ISO10164-4]  ISO/IEC 10164-4: Information Technology - Open Systems
              Interconnection - Systems Management - Part 4: Alarm Reporting
              Function, 1991.

[ISO10164-11] ISO/IEC DIS 10164-11: Information Technology - Open Systems
              Interconnection - Systems Management - Part 11: Metric Objects
              and Attributes (formerly Workload Monitoring Function).
