[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MIB review of <draft-glenn-mo-aggr-mib-05.txt>



Review is attached. Comments marked in document with either "gww>" or
"bert>" at the beginning of the line.

There are a number of comments that require attention before
publication.

Both MIBs compiled clean with smilint. Both MIBs generated the following
error when compiled with smicng:

   E: f(taggr.mi2), (223,21) Default value for 
      "tAggrCompressionAlgorithm" must be a name and not a number

I don't understand why this error is generated, perhaps Dave can
comment.

Regards, /gww 





Network Working Group                        Glenn Mansfield Keeni
INTERNET-DRAFT                                Cyber Solutions Inc.
Expires: January 15, 2006                            July 16, 2005



                   The Managed Object Aggregation MIB
                    <draft-glenn-mo-aggr-mib-05.txt>

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

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

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

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

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

   Comments are solicited and should be addressed to the author.

   This Internet-Draft will expire on January 15, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).












Expires: January 15, 2006                                       [Page 1]






Internet Draft                                             July 16, 2005


Abstract

   This memo defines a portion of the Management Information Base (MIB),
   the Aggregation MIB modules, for use with network management
   protocols in the Internet community. In particular, the Aggregation
   MIB modules will be used to configure a network management agent to
   aggregate the values of a (user) specified set of Managed Object
   instances and to service queries related to the aggregated Managed
   Object instances.






Table of Contents

   1.  The Internet-Standard Management Framework .................... 3
   2.  Background .................................................... 3
   3.  MO Aggregation: The Concept ................................... 4
   4.  The Requirements for Managed Object Aggregation ............... 7
   5.  MIB Design .................................................... 8
   6.  The Aggregation MIB modules ................................... 9
   7.  Security Considerations .......................................30
   8.  IANA Considerations ...........................................32
   9.  References ....................................................32
   10. Acknowledgments ...............................................32
   11. Authors' Addresses ............................................32
   12. Full Copyright Statement ......................................33






















Expires: January 15, 2006                                       [Page 2]






Internet Draft                                             July 16, 2005


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

   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 BCP 14, RFC 2119
   [RFC2119].

2.  Background

   For the purpose of management it is necessary to access Managed
   Objects (MOs). The SNMP framework provides a mechanism for naming and
   describing managed objects.  These objects are accessed via a virtual
   information store termed a Management Information Base (MIB). MIBs
   have been defined by equipment, protocol and application developers
   to provide management access to the managed entities. We will call
   the MOs defined in these MIBs - simple MOs (SMO). Management
   applications will access one or more instances of these SMOs, one or
   more times, to monitor the target entity.

   There is a cost associated with accessing MOs. The cost is the
   network bandwidth and the packet header processing overhead at the
   command generator (manager) and the command responder (agent). This
   cost constrains the number of MO instances that can be polled and the
   interval at which polling can be carried out.

   The overhead reduction can be carried out by reducing the number of
   query-response packets. This will reduce the packet processing
   overhead and to some extent the bandwidth.

   The payload in a typical SNMP "get" packet and the corresponding
   response are as shown in Fig. 1. In this example polling is carried
   out for 'n' Managed Object instances OID1, OID2, .., OIDn. It is
   obvious that a substantial amount of the payload in an SNMP packet
   consists of the OIDs.



Expires: January 15, 2006                                       [Page 3]






Internet Draft                                             July 16, 2005


3. MO Aggregation: The Concept

   In this draft, a mechanism of MO aggregation for payload compression
   is defined.  The idea is simple: we introduce the concept of an
   Aggregate MO (AgMO). An AgMO is just another MO as far as the SNMP
   protocol is concerned. No new protocol operations will be required to
   handle these MOs. As in the case of any other MO, it requires
   additional instrumentation at the command responder (agent) and at
   the (command generator) manager.  In this mechanism the user defines
   an Aggregate MO (AgMO) corresponding to one or more (predefined) MO
   instances. Semantically, the value of an AgMO instance will be
   equivalent to the concatenation of the values of the corresponding MO
   instances. The order of the concatenation will be determined by the
   order in which the MO instances are specified in the AgMO definition.
   With the definitions done, the user can, as and when the necessity
   arises, do an SNMP 'get' on instances of the AgMO to fetch the value
   of the constituent MO instances.  There is substantial savings on
   bandwidth as only one instance object identifier is carried in the
   request and the response. In the normal case, instance object
   identifiers for each of the constituent MO instances would be carried
   in the requests and the responses.  This is the basic concept of
   Aggregate Managed Objects.  For every AgMO an ErrorStatus Managed
   Object is defined. This MO indicates errors, if any, that has been
   encountered while fetching the values of the constituent MO
   instances. The error indication comprises of the index of the MO
   instance and the corresponding error.  If there are no errors the
   ErrorStatus Managed Object instance will have a null value.  This is
   the basic concept of Aggregate Managed Objects.

   The concepts are explained in Fig. 2. An aggregate managed object
   AgMOx has been defined for MO instances MOI1, ... MOIn. The value of
   an instance of AgMOx will be a concatenation of the values of MOI1,
   ... MOIn, in that order.



     Polling for MO Instances [MOI1, MOI2, ... MOIn] :

               +--------+------+-------+... -+------+------+
        Query: |Get req | MOI1 | NULL  |     | MOIn | NULL |
               +--------+------+-------+... -+------+------+


               +--------+------+-------+... -+------+------+
     Response: |Get resp| MOI1 | Val1  |     | MOIn | Valn |
               +--------+------+-------+... -+------+------+

                       Fig. 1 Polling for MO instances



Expires: January 15, 2006                                       [Page 4]






Internet Draft                                             July 16, 2005


     Polling for an instance (AgMOIx) of an aggregate MO
     (AgMOx):
     AgMOx = aggr{AgMOI1, AgMOI2, ......AgMOIn}

               +--------+--------+-------+
        Query: |Get req | AgMOIx | NULL  |
               +--------+--------+-------+


               +--------+--------+------------------------+
     Response: |Get resp| AgMOIx |    Val1,Val2,...,Valn  |
               +--------+--------+------------------------+

                        Fig. 2 MO aggregation



   As a further refinement of the AgMO, we introduce the Time-based
   Aggregated Managed Object (TAgMO).  The TAgMO is an MO that
   represents the values of a (user) specified MO instance sampled at
   (user) specified intervals for a (user) specified number of times.
   In this case the user defines a TAgMO by specifying the MO instance
   that needs to be sampled, the sampling interval and the desired
   number of samples that will be included in one TAgMO. The value of a
   TAgMO instance will include the timestamp (sysUpTime) at which the
   first sample was taken.  The start time is not specified when the
   TAgMO is defined. Implementations may chose to align the start time
   with the appropriate time boundaries (e.g. seconds, minutes, hours
   etc.)  With the definitions done the user can do an SNMP "get" on an
   instance of the TAgMO to fetch the values of the constituent MO
   instance sampled at the specified intervals.  This is the concept of
   time-based aggregation.


  Polling for MO Instances [MOI1, MOI2, ... MOIn] :

            +--------+------+-------+... -+------+------+
     Query: |Get req | MOI1 | NULL  |     | MOIn | NULL |
            +--------+------+-------+... -+------+------+


            +--------+------+-------+... -+------+------+
  Response: |Get resp| MOI1 | Val1  |     | MOIn | Valn |
            +--------+------+-------+... -+------+------+

                    Fig. 3 Polling for MO instances





Expires: January 15, 2006                                       [Page 5]






Internet Draft                                             July 16, 2005


  Polling for an instance (TAgMOIx) of a time-based aggregate MO
  (TAgMOx):
  TAgMOx = aggr{'n' polled samples of an instance (MOI) of MO
                 at intervals       = 'i' microseconds}

            +--------+---------+-------+
     Query: |Get req | TAgMOIx | NULL  |
            +--------+---------+-------+


            +--------+---------+--------------------------------------+
  Response: |Get resp| TAgMOIx | t,Val(t),Val(t+i),.,Val(t + (n-1)*i) |
            +--------+---------+--------------------------------------+

gww> where do you distinguish between MOI1 through MOIn

                     Fig. 4 Time-based aggregation
   The TAgMO instance is a "bucket" of data representing the value of
   the corresponding MO instance sampled at 'i' microsecond intervals,
   'n' times i.e. over a 'n' X 'i' microsecond window. The TAgMO
   instance value gets updated at 'n' X 'i' microsecond intervals.































Expires: January 15, 2006                                       [Page 6]






Internet Draft                                             July 16, 2005


4.  The Requirements for Managed Object Aggregation

   The general requirements of managed object aggregation are as
   follows:

          o It should lead to lesser number of packets
          o It should lead to lesser bandwidth consumption
          o It should not lead to loss of information

   In the case of time-based aggregation there will be a delay involved
   in getting the actual data. The minimum delay in this case will be
   the duration of the aggregation.

   The manager application is expected to configure AgMOs (Aggregate
   MOs) and TAgMOs (Time based Aggregate MOs) with care so that the
   response size is not too large. In case the resultant response size
   is larger than the maximum acceptable message size of the originator
   or larger than the local maximum message size then the error-status
   field will be set to "tooBig".

   It must be noted that an aggregate MO can be defined only when all
   the constituent MO instances of interest are known.  This scheme
   cannot be employed if a manager/application does not know the
   specific MO instances (of interest) that are serviced by the
   management target. In such cases, the application may "discover" the
   MO instances of interest by some means e.g. by "walking" through the
   MIB tree on the agent. Based on the results of the "walk", the
   application can define an appropriate aggregate MO that will serve
   the purpose. Considering the cost involved in this exercise, this
   method is recommended only if the aggregate MO will be used
   repeatedly, so that the benefits of aggregation outweigh the costs of
   configuration.



















Expires: January 15, 2006                                       [Page 7]






Internet Draft                                             July 16, 2005


5.  MIB Design.

   The basic principle has been to keep the MIB as simple as possible
   and at the same time to make it flexible enough so that a large
   number of users and applications can use the MIB to configure
   aggregate MOs conveniently.

   Two separate MIB modules have been defined. The AggrMIB supports the
   aggregation of independent MO instances while TAggrMIB suports the
   aggregation of several samples of the same MO instance.

   The AggrMIB comprises of three tables described below.
    - The aggrCtlTable controls the aggregation process. Each row in
      this table defines the attributes of aggregate object defined in
      the aggrMOTable.

    - The aggrMOTable defines the primary MO-based aggregation
      i.e. the MOs that will be aggregated.

    - The aggrDataTable contains the details of the aggregated object.

   The TAggrMIB comprises of two tables described below.
    - The tAggrCtlTable controls the aggregation process. Each row in
      this table defines the attributes of the aggregate object defined
      in the aggrMOTable.

    - The tAggrDataTable contains the details of the aggregated object.
























Expires: January 15, 2006                                       [Page 8]






Internet Draft                                             July 16, 2005


6.  The Aggregation MIB modules.

      AGGREGATE-MIB DEFINITIONS ::= BEGIN
       IMPORTS
         MODULE-IDENTITY,  experimental, Unsigned32,
         OBJECT-TYPE, Opaque
                    FROM SNMPv2-SMI
         OwnerString
                    FROM RMON-MIB
         RowStatus, StorageType, TEXTUAL-CONVENTION
                    FROM SNMPv2-TC
         MODULE-COMPLIANCE, OBJECT-GROUP
                    FROM SNMPv2-CONF
         SnmpAdminString
                    FROM SNMP-FRAMEWORK-MIB;

     aggrMIB MODULE-IDENTITY
          LAST-UPDATED "200507160000Z"        --  16th July, 2005
          ORGANIZATION "Cyber Solutions Inc. NetMan Working Group"
          CONTACT-INFO
         "                      Glenn Mansfield Keeni
                        Postal: Cyber Solutions Inc.
                                6-6-3, Minami Yoshinari
                                Aoba-ku, Sendai, Japan 989-3204.
                           Tel: +81-22-303-4012
                           Fax: +81-22-303-4015
                        E-mail: glenn@cysols.com

             Support Group E-mail: mibsupport@cysols.com"

             DESCRIPTION
                     " The MIB for servicing aggregate objects.

                       Copyright (C) The Internet Society (2005). This
                       version of this MIB module is part of RFC XXXX;
                       see the RFC itself for full legal notices.
                     "
      -- RFC Ed.: replace XXXX with the actual RFC number & remove this
      -- note

             REVISION    "200507160000Z"      -- 16th July, 2005
             DESCRIPTION "Initial version, published as RFC XXXX."

      -- RFC Ed.: replace XXXX with the actual RFC number & remove this
      -- note

                  ::= { experimental xxx } -- will be assigned by IANA




Expires: January 15, 2006                                       [Page 9]






Internet Draft                                             July 16, 2005


      -- IANA Reg.: Please assign a value for "xxx" under the
      -- 'experimental' subtree and record the assignment in the SMI
      -- Numbers registry.

      -- RFC Ed.: When the above assignment has been made, please
      --     remove the above note
      --     replace "xxx" here with the assigned value and
      --     remove this note.


      AggrMOErrorStatus ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "This data type is used to model the error status of the
           constituent MO instances. The error status for a
           constituent MO instance is given in terms of two elements -
             o the moIndex which indicates the position of the MO
               instance (starting at 1) in the value of the aggregated
               MO instance.
             o the moError which indicates the error that was
               encountered in fetching that MO instance.
           The syntax in ASN.1 Notation will be
           ErrorStatus :: = SEQUENCE {
              moIndex  Integer32,
              moError  SnmpPduErrorStatus
           }
           AggrMOErrorStatus ::= SEQUENCE OF {
              ErrorStatus
           }
           Note1: the command responder will supply values for all
                  constituent MO instances and in the same order in
                  which the MO instances are specified for the AgMO.
                  If an error is encountered for an MO instance then
                  the corresponding value will have an ASN.1 value NULL
                  and, an error flagged in the corresponding
                  AggrMOErrorStatus object.
                  Only MOs for which errors have been encountered will
                  have the corresponding moIndex and moError values set.
           Note2: the error code for the component MO instances will be
                  in accordance with the SnmpPduErrorStatus TC defined
                  in the DISMAN-SCHEDULE-MIB[RFC3231].
           Note3: the command generator will need to know
                  constituent MO instances and their order to correctly
                  interpret AggrMOErrorStatus.
          "
        SYNTAX      Opaque (SIZE (0..1024))





Expires: January 15, 2006                                      [Page 10]






Internet Draft                                             July 16, 2005


      AggrMOValue ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "This data type is used to model the aggregate
           MOs. It will have a format dependent on the constituent
           MOs, a sequence of values. The syntax in  ASN.1 Notation will
           be
           MOValue :: = SEQUENCE {
                value ObjectSyntax
           }
           Where, 'value' is the value of a constituent MO instance.
           AggrMOValue :: = SEQUENCE OF {
               MOValue
           }

           Note: the command generator will need to know the
           the constituent MO instances and their order to
           correctly interpret AggrMOValue."
        SYNTAX      Opaque (SIZE (0..1024))

      CompressedAggrMOValue ::= TEXTUAL-CONVENTION
bert> For naming consistency this should be named some like AggrCompressedMOValue
bert> or AggrMOCompressedValue.
        STATUS       current
        DESCRIPTION
          "This data type is used to model the compressed
           aggregate MOs. "
        SYNTAX      OCTET STRING (SIZE (0..1024))

   --
   -- The aggregation control table
   -- There will be a row for each aggregate MO
   --
      aggrCtlTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF AggrCtlEntry
           MAX-ACCESS  not-accessible
           STATUS current
           DESCRIPTION
             " A table that controls the aggregation of the MOs."
           ::= {aggrMIB 1}













Expires: January 15, 2006                                      [Page 11]






Internet Draft                                             July 16, 2005


       aggrCtlEntry OBJECT-TYPE
           SYNTAX  AggrCtlEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             "A row of the control table that defines one aggregated
              MO.
              Entries in this table are required to survive a reboot
              of the managed entity depending on the value of the
              corresponding aggrEntryStorageType instance.
             "
           INDEX {aggrEntryID }
           ::= {aggrCtlTable 1 }

       AggrCtlEntry ::= SEQUENCE {
          aggrEntryID
                        SnmpAdminString,
          aggrAgMOIndex
                        Unsigned32,
          aggrAgMODescr
                        SnmpAdminString,
          aggrCompressionAlgorithm
                        INTEGER,
          aggrEntryOwner
                        OwnerString,
          aggrEntryStorageType
                        StorageType,
          aggrEntryStatus
                        RowStatus
       }
bert> For naming consistency all objects for this table should 
bert> start with aggrCtl

      aggrEntryID OBJECT-TYPE
           SYNTAX SnmpAdminString (SIZE(1..32))
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
             " A locally-unique administratively assigned name
               for this aggregated MO. It is used as an index to
               uniquely identify this row in the table."
           ::= { aggrCtlEntry 1 }











Expires: January 15, 2006                                      [Page 12]






Internet Draft                                             July 16, 2005


      aggrAgMOIndex OBJECT-TYPE
           SYNTAX Unsigned32 (1..2147483647)
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " A pointer to a group of MOs identified by aggrMOEntryID
               in the aggrMOTable. This is the group of MOs that will
               be aggregated."
           ::= { aggrCtlEntry 2 }
gww> Hmmmm. The indexing in the aggrMOTable is { aggrMOEntryID, aggrMOEntryMOID }
gww> which are both defined as 0..65535. Interesting way to "index" another table.
gww> I think I understand what is going on... the first two bytes of aggrAgMOIndex
gww> refer to aggrMOEntryID and the second two bytes refer to aggrMOEntryMOID. If
gww> this is indeed the case there should be some text describing this. I would 
gww> say this is unconventional and would strongly recommend that two objects 
gww> be defined in this table to break out the indices.

      aggrAgMODescr OBJECT-TYPE
           SYNTAX SnmpAdminString (SIZE(0..64))
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " A textual description of the object that is
               being aggregated."
           ::= {aggrCtlEntry 3}

      -- no compression algorithms are defined as of now.
      aggrCompressionAlgorithm OBJECT-TYPE
           SYNTAX INTEGER {
                  none      (1)
           }
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The compression algorithm that will be used by
               the agent to compress the value of the aggregated
               object."
           DEFVAL { 1 }
           ::= {aggrCtlEntry 4}

      aggrEntryOwner OBJECT-TYPE
           SYNTAX OwnerString
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The entity that created this entry."
           ::= {aggrCtlEntry 5}











Expires: January 15, 2006                                      [Page 13]






Internet Draft                                             July 16, 2005


      aggrEntryStorageType OBJECT-TYPE
           SYNTAX StorageType
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "This object defines whether the parameters defined in
               this row are kept in volatile storage and lost upon
               reboot or are backed up by non-volatile (permanent)
               storage.
gww> aggrCtlEntry has a comment that says entries "are required to survive reboot".
gww> This description implies otherwise. This needs to be fixed.

               Conceptual rows having the value ''permanent'' need not
               allow write-access to any columnar objects in the row.
              "
           ::= {aggrCtlEntry 6}

      aggrEntryStatus OBJECT-TYPE
           SYNTAX RowStatus
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "The row status variable, used according to row
               installation and removal conventions.
               Objects in a row can be modified only when the value of
               this object in the corresponding conceptual row is not
               ''active''.
               Thus to modify one or more of the objects in this
               conceptual row,
                 a. change the row status to ''notInService'',
                 b. change the values of the row
                 c. change the row status to ''active''
               The aggrEntryStatus may be changed to ''active'' iff
               all the MOs in the conceptual row have been assigned
               valid values.
              "
           ::= {aggrCtlEntry 7}
















Expires: January 15, 2006                                      [Page 14]






Internet Draft                                             July 16, 2005


   --
   -- The Table of primary(simple) MOs
   -- Each row in this table represents a MO which will be aggregated.
   -- The aggrMOEntryID index is used to identify the group of MOs
   -- that will be aggregated. The aggrMOIndex instance in the
   -- corresponding row of the aggrCtlTable will have value equal to
   -- the value of aggrMOEntryID.
   -- The aggrMOEntryMOID index is used to identify an MO in the group.
   --
bert> Move these comments into description clause for the table (and edit
bert> appropriately.
      aggrMOTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF AggrMOEntry
           MAX-ACCESS  not-accessible
           STATUS current
           DESCRIPTION
             " A table of the MOs that will be aggregated."
           ::= {aggrMIB 2}

       aggrMOEntry OBJECT-TYPE
           SYNTAX  AggrMOEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             "A row of the table that specifies one MO.
              Entries in this table are required to survive a reboot
              of the managed entity depending on the value of the
              corresponding aggrMOEntryStorageType instance.
             "
           INDEX { aggrMOEntryID, aggrMOEntryMOID }
           ::= {aggrMOTable 1 }

       AggrMOEntry ::= SEQUENCE {
          aggrMOEntryID
                        Unsigned32,
          aggrMOEntryMOID
                        Unsigned32,
          aggrMOInstance
                        OBJECT IDENTIFIER,
          aggrMODescr
                        SnmpAdminString,
          aggrMOEntryStorageType
                        StorageType,
          aggrMOEntryStatus
                        RowStatus
       }







Expires: January 15, 2006                                      [Page 15]






Internet Draft                                             July 16, 2005


      aggrMOEntryID OBJECT-TYPE
           SYNTAX Unsigned32 (0..65535)
bert> Index values normally start at 1. Only in rare cases should they start at 0.
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
             " An index uniquely identifying a group of MOs
               that will be aggregated."
           ::= { aggrMOEntry 1 }

      aggrMOEntryMOID OBJECT-TYPE
           SYNTAX Unsigned32 (0..65535)
bert> Index values normally start at 1. Only in rare cases should they start at 0.
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
             " An index to uniquely identify an MO instance in the
               group of MO instances that will be aggregated."
           ::= { aggrMOEntry 2 }

      aggrMOInstance OBJECT-TYPE
           SYNTAX OBJECT IDENTIFIER
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The OID of the MO instance - the value of which will
               be sampled by the agent."
           ::= { aggrMOEntry 3 }

      aggrMODescr OBJECT-TYPE
           SYNTAX SnmpAdminString (SIZE(0..64))
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " A textual description of the object that will
               be aggregated."
           ::= {aggrMOEntry 4}
















Expires: January 15, 2006                                      [Page 16]






Internet Draft                                             July 16, 2005


      aggrMOEntryStorageType OBJECT-TYPE
           SYNTAX StorageType
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "This object defines whether the parameters defined in
               this row are kept in volatile storage and lost upon
               reboot or are backed up by non-volatile (permanent)
               storage.
               Conceptual rows having the value ''permanent'' need not
               allow write-access to any columnar objects in the row.
              "
           ::= {aggrMOEntry 5}

      aggrMOEntryStatus OBJECT-TYPE
           SYNTAX RowStatus
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "The row status variable, used according to row
               installation and removal conventions.
               Objects in a row can be modified only when the value of
               this object in the corresponding conceptual row is not
               ''active''.
               Thus to modify one or more of the objects in this
               conceptual row,
                 a. change the row status to ''notInService'',
                 b. change the values of the row
                 c. change the row status to ''active''
               The aggrMOEntryStatus may be changed to ''active'' iff
               all the MOs in the conceptual row have been assigned
               valid values.
              "
           ::= {aggrMOEntry 6}

















Expires: January 15, 2006                                      [Page 17]






Internet Draft                                             July 16, 2005


      --
      -- aggrDataTable: The Table of Data. Each row represents a Data
      --                set. aggrEntryID is the key to the table. It is
      --                used to identify instances of the aggregated MO
      --                that are present in the table.
      --
      aggrDataTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF AggrDataEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             " Each row of this table contains information
               about an aggregateMO indexed by aggrEntryID."
           ::= {aggrMIB 3}

      aggrDataEntry OBJECT-TYPE
           SYNTAX  AggrDataEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             " Entry containing information pertaining to
               an aggregate MO."
           INDEX {aggrEntryID}
           ::= {aggrDataTable 1 }

      AggrDataEntry ::= SEQUENCE {
         aggrDataRec
gww> Recommend aggrDataRecord
                    AggrMOValue,
         aggrDataRecC
bert> Recommend aggrDataRecordCompressed
                    CompressedAggrMOValue,
         aggrErrorRec
bert> Recommend aggrDataErrorRecord
                    AggrMOErrorStatus
         }

      aggrDataRec OBJECT-TYPE
           SYNTAX AggrMOValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             "The snapshot value of the aggregated MO.
              Note that the access privileges to this object will be
              governed by the access privileges of the component
              objects. Thus, an entity attempting to access an instance
              of this MO MUST have access rights to all the component
              instance objects and this MO instance.
             "
gww> Hmmm. Does this mean that whenever this object is retrieved then the
gww> access to each MO will be checked? So, this is "legal" design, however,
gww> I cannot imagine many implementations actually performing this check.
gww> If indeed they do not check the access rights then we have broken the
gww> security model. I would recommend that this is clearly discussed in the
gww> security section below.

           ::= { aggrDataEntry 1}




Expires: January 15, 2006                                      [Page 18]






Internet Draft                                             July 16, 2005


      aggrDataRecC OBJECT-TYPE
           SYNTAX CompressedAggrMOValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             "The compressed value of the aggregated MO.
              The compression algorithm will depend on the
              aggrCompressionAlgorithm given in the corresponding
              aggrCtlEntry. In case the value of the corresponding
              aggrCompressionAlgorithm is (1) 'none' then this MO
              will be inaccessible.
gww> inaccessible is not good. I would recommend that this object is 
gww> accessible but empty. Since no compression algorithms are defined I
gww> would strongly recommend that any references to compression are removed 
gww> and issue a new version of this MIB module when compression algorithm(s)
gww> are required.

              Note that the access privileges to this object will be
              governed by the access privileges of the component
              objects. Thus, an entity attempting to access an instance
              of this MO MUST have access rights to all the component
              instance objects and this MO instance.
             "
           ::= { aggrDataEntry 2}

      aggrErrorRec OBJECT-TYPE
           SYNTAX AggrMOErrorStatus
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             " The error status corresponding to the MO instances
               aggregated in aggrDataRec (and aggrDataRecC)."
           ::= { aggrDataEntry 3}

       -- Conformance information
      aggrConformance OBJECT IDENTIFIER ::= { aggrMIB 4 }
      aggrGroups      OBJECT IDENTIFIER ::= { aggrConformance 1 }
      aggrCompliances OBJECT IDENTIFIER ::= { aggrConformance 2 }

       -- Compliance statements
      aggrDataCompliance MODULE-COMPLIANCE
bert> Prefer a name such as aggrMibCompliance
           STATUS  current
           DESCRIPTION
                   "The compliance statement for SNMP entities
                    which implement the
                               AGGREGATE-MIB."
           MODULE  -- this module
               MANDATORY-GROUPS { aggrDataGroup }
           ::= { aggrCompliances 1 }








Expires: January 15, 2006                                      [Page 19]






Internet Draft                                             July 16, 2005


       -- Units of conformance
      aggrDataGroup    OBJECT-GROUP
bert> Prefer a name such as aggrMibBasicGroup
           OBJECTS {
                      aggrAgMOIndex,
                      aggrAgMODescr,
                      aggrCompressionAlgorithm,
                      aggrEntryOwner,
                      aggrEntryStorageType,
                      aggrEntryStatus,
                      aggrMOInstance,
                      aggrMODescr,
                      aggrMOEntryStorageType,
                      aggrMOEntryStatus,
                      aggrDataRec,
                      aggrDataRecC,
                      aggrErrorRec
          }
           STATUS  current
           DESCRIPTION
                   " A collection of objects for aggregation of MOs."
           ::= { aggrGroups 1 }
      END





























Expires: January 15, 2006                                      [Page 20]






Internet Draft                                             July 16, 2005


      TIME-AGGREGATE-MIB DEFINITIONS ::= BEGIN
       IMPORTS
         MODULE-IDENTITY,  experimental,
         OBJECT-TYPE,      Opaque, Gauge32
                    FROM SNMPv2-SMI
         OwnerString
                    FROM RMON-MIB
         RowStatus, StorageType, TEXTUAL-CONVENTION
                    FROM SNMPv2-TC
         MODULE-COMPLIANCE, OBJECT-GROUP
                    FROM SNMPv2-CONF
         SnmpAdminString
                    FROM SNMP-FRAMEWORK-MIB;

     tAggrMIB MODULE-IDENTITY
          LAST-UPDATED "200507160000Z"        --  16th July 2005
          ORGANIZATION "Cyber Solutions Inc. NetMan Working Group"
          CONTACT-INFO
         "                      Glenn Mansfield Keeni
                        Postal: Cyber Solutions Inc.
                                6-6-3, Minami Yoshinari
                                Aoba-ku, Sendai, Japan 989-3204.
                           Tel: +81-22-303-4012
                           Fax: +81-22-303-4015
                        E-mail: glenn@cysols.com

             Support Group E-mail: mibsupport@cysols.com"

             DESCRIPTION
                     " The MIB for servicing time-based Aggregate objects.

                       Copyright (C) The Internet Society (2005). This
                       version of this MIB module is part of RFC NNNN;
                       see the RFC itself for full legal notices.
                     "
      -- RFC Ed.: Please replace NNNN with actual RFC number & remove
      --          this note

             REVISION    "200507160000Z"      -- 16th July, 2005
             DESCRIPTION "Initial version, published as RFC NNNN."

      -- RFC Ed.: Please replace NNNN with actual RFC number & remove
      --          this note

                  ::= { experimental nnn } -- will be assigned by IANA






Expires: January 15, 2006                                      [Page 21]






Internet Draft                                             July 16, 2005


      -- IANA Reg.: Please assign a value for "nnn" under the
      --            'experimental' subtree and record the assignment in
      --            the SMI Numbers registry.

      -- RFC Ed.: When the above assignment has been made, please
      --     remove the above note
      --     replace "nnn" here with the assigned value and
      --     remove this note.

      TAggrMOErrorStatus ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "This data type is used to model the error status of the
           sampled MO instance. The error status for a sampled MO
           instance is given in terms of two elements -
             o the moIndex which indicates the sample number of the MO
               instance (starting at 1) in the value of the time
               aggregated MO instance.
             o the moError which indicates the error that was
               encountered in sampling that MO instance.
           The syntax in ASN.1 Notation will be
           ErrorStatus :: = SEQUENCE {
              moIndex  Integer32,
              moError  SnmpPduErrorStatus
           }
           TAggrMOErrorStatus ::= SEQUENCE OF {
              ErrorStatus
           }
           Note1: the command responder will supply values for all
                  the samples of the MO instance. If an error is
                  encountered for a sample then the corresponding
                  value will have an ASN.1 value NULL and, an error
                  will be flagged in the corresponding
                  TAggrMOErrorStatus object.
                  Only MOs for which errors have been encountered will
                  have the corresponding moIndex and moError values set.
           Note2: the error code for the component MO instances will be
                  in accordance with the SnmpPduErrorStatus TC defined
                  in the DISMAN-SCHEDULE-MIB[RFC3231].
          "
        SYNTAX      Opaque (SIZE (0..1024))
gww> Any reason to define this again. This looks just like the AggrMOErrorStatus,
gww> recommend that AggrMOErrorStatus is reused.










Expires: January 15, 2006                                      [Page 22]






Internet Draft                                             July 16, 2005


      TimeAggrMOValue ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "This data type is used to model the time aggregated MOs. It
           will be a sequence of values. The syntax in ASN.1 Notation
           will be
           MOValue :: = SEQUENCE {
                value ObjectSyntax
           }
           TimeAggrMOValue ::= SEQUENCE OF {
                MOSampleValue
gww> I know this is just in a description clause but I don't see MOSampleValue
gww> defined anywhere in this document. Should be fixed.
           }
           Where, the first MOSampleValue will always be the timestamp
           of the first sample in the aggregated object. The subsequent
           values are the values of the MO instance sampled at the
           specified intervals for the specified number of times.
           Note: the command generator will need to know the
                 constituent MO instance and the sampling interval to
                 correctly interpret TimeAggrMOValue.
          "
        SYNTAX      Opaque (SIZE (0..1024))

      CompressedTimeAggrMOValue ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
          "This data type is used to model the compressed
           TAgMOs. "
        SYNTAX      Opaque (SIZE (0..1024))

   --
   -- The time-based aggregation control table
   -- There will be a row for each TAgMO
   --
gww> Move these comments into description clause for the table (and edit
gww> appropriately.
      tAggrCtlTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF TAggrCtlEntry
           MAX-ACCESS  not-accessible
           STATUS current
           DESCRIPTION
             " A table that controls the aggregation of the
               samples of the MO instances."
           ::= {tAggrMIB 1}










Expires: January 15, 2006                                      [Page 23]






Internet Draft                                             July 16, 2005


       tAggrCtlEntry OBJECT-TYPE
           SYNTAX  TAggrCtlEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             "A row of the control table that defines one time-based
              aggregate MO (TAgMO)."
           INDEX {tAggrEntryID }
           ::= {tAggrCtlTable 1 }

       TAggrCtlEntry ::= SEQUENCE {
          tAggrEntryID
gww> All entries in this table should start with tAggrCtl
                        SnmpAdminString,
          tAggrMOInstance
                        OBJECT IDENTIFIER,
          tAggrAgMODescr
                        SnmpAdminString,
          tAggrInterval
                        Gauge32,
          tAggrSamples
                        Gauge32,
          tAggrCompressionAlgorithm
                        INTEGER,
          tAggrEntryOwner
                        OwnerString,
          tAggrEntryStorageType
                        StorageType,
          tAggrEntryStatus
                        RowStatus
       }

      tAggrEntryID OBJECT-TYPE
           SYNTAX SnmpAdminString (SIZE(1..32))
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
             " A locally-unique administratively assigned name
               for this aggregated MO. It is used as an index to
               uniquely identify this row in the table."
           ::= { tAggrCtlEntry 1 }











Expires: January 15, 2006                                      [Page 24]






Internet Draft                                             July 16, 2005


      tAggrMOInstance OBJECT-TYPE
           SYNTAX OBJECT IDENTIFIER
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The sampled values of this MO instance will be
               aggregated by the TAgMO.
               "
           ::= { tAggrCtlEntry 2 }

      tAggrAgMODescr OBJECT-TYPE
           SYNTAX SnmpAdminString (SIZE(0..64))
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " A textual description of the aggregate object."
           ::= {tAggrCtlEntry 3}

      tAggrInterval OBJECT-TYPE
           SYNTAX Gauge32
gww> This should be an Integer32
           UNITS  "micro seconds"
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The interval in microseconds at which the MO instance
               pointed at by tAaggrInstance, will be sampled for
               time-based aggregation.
             "
           ::= {tAggrCtlEntry 4}

      tAggrSamples OBJECT-TYPE
           SYNTAX Gauge32
gww> This should be an Integer32
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The number of times at which the MO instance referred
               to by tAaggrInstance, will be sampled for time-based
               aggregation."
           ::= {tAggrCtlEntry 5}












Expires: January 15, 2006                                      [Page 25]






Internet Draft                                             July 16, 2005


      -- no compression algorithms are defined as of now.
      tAggrCompressionAlgorithm OBJECT-TYPE
           SYNTAX INTEGER {
                  none      (1)
           }
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " The compression algorithm that will be used by
               the agent to compress the value of the TAgMO.
             "
           DEFVAL { 1 }
           ::= {tAggrCtlEntry 6}

      tAggrEntryOwner OBJECT-TYPE
           SYNTAX OwnerString
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
             " A textual description of the entity that created
               this entry.
             "
           ::= {tAggrCtlEntry 7}


      tAggrEntryStorageType OBJECT-TYPE
           SYNTAX StorageType
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "This object defines whether the parameters defined in
               this row are kept in volatile storage and lost upon
               reboot or are backed up by non-volatile (permanent)
               storage.
               Conceptual rows having the value ''permanent'' need not
               allow write-access to any columnar objects in the row.
              "
           ::= {tAggrCtlEntry 8}













Expires: January 15, 2006                                      [Page 26]






Internet Draft                                             July 16, 2005


      tAggrEntryStatus OBJECT-TYPE
           SYNTAX RowStatus
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
              "The row status variable, used according to row
               installation and removal conventions.
               Objects in a row can be modified only when the value of
               this object in the corresponding conceptual row is not
               ''active''.
               Thus, to modify one or more of the objects in this
               conceptual row,
                 a. change the row status to ''notInService'',
                 b. change the values of the row
                 c. change the row status to ''active''
               The tAggrEntryStatus may be changed to ''active'' iff
               all the MOs in the conceptual row have been assigned
               valid values.
              "
           ::= {tAggrCtlEntry 9}


      --
      -- tAggrDataTable: The Table of Data. Each row represents a Data
      --                 set. tAggrEntryID is the key to the table. It
      --                 is used to identify instances of the
      --                 TAgMO that are present in the table.
      --
gww> Move these comments into description clause for the table (and edit
gww> appropriately.
      tAggrDataTable OBJECT-TYPE
           SYNTAX  SEQUENCE OF TAggrDataEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             " Each row of this table contains information
               about a TAgMO indexed by tAggrEntryID."
           ::= {tAggrMIB 2}















Expires: January 15, 2006                                      [Page 27]






Internet Draft                                             July 16, 2005


      tAggrDataEntry OBJECT-TYPE
           SYNTAX  TAggrDataEntry
           MAX-ACCESS  not-accessible
           STATUS  current
           DESCRIPTION
             " Entry containing information pertaining
               to a TAgMO."
           INDEX {tAggrEntryID}
           ::= {tAggrDataTable 1 }

      TAggrDataEntry ::= SEQUENCE {
         tAggrDataRec
                    TimeAggrMOValue,
         tAggrDataRecC
                    CompressedTimeAggrMOValue,
         tAggrErrorRec
                    TAggrMOErrorStatus
         }
gww> See comments about aggrDataEntry and rename these columns similarly.

      tAggrDataRec OBJECT-TYPE
           SYNTAX TimeAggrMOValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             "The snapshot value of the TAgMO."
           ::= { tAggrDataEntry 1}

      tAggrDataRecC OBJECT-TYPE
           SYNTAX CompressedTimeAggrMOValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             "The compressed value of the TAgMO.
              The compression algorithm will depend on the
              tAggrCompressionAlgorithm given in the corresponding
              tAggrCtlEntry. In case the value of the corresponding
              tAggrCompressionAlgorithm is (1) 'none' then this MO
              will be inaccessible.
              Note that the access privileges to this object will be
              governed by the access privileges of the corresponding MO
              instance. Thus an entity attempting to access an instance
              of this MO MUST have access rights to the instance object
              pointed at by tAggrMOInstance and this MO instance.
             "
           ::= { tAggrDataEntry 2}






Expires: January 15, 2006                                      [Page 28]






Internet Draft                                             July 16, 2005


      tAggrErrorRec OBJECT-TYPE
           SYNTAX TAggrMOErrorStatus
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
             " The error status corresponding to the MO instance
               samples aggregated in tAggrDataRec (and tAggrDataRecC)."
           ::= { tAggrDataEntry 3}


       -- Conformance information
      tAggrConformance OBJECT IDENTIFIER ::= { tAggrMIB 3 }
      tAggrGroups      OBJECT IDENTIFIER ::= { tAggrConformance 1 }
      tAggrCompliances OBJECT IDENTIFIER ::= { tAggrConformance 2 }

       -- Compliance statements
      tAggrDataCompliance MODULE-COMPLIANCE
gww> Rename to tAggrMibCompliance
           STATUS  current
           DESCRIPTION
                   "The compliance statement for SNMP entities
                    which implement the
                               TIME-AGGREGATE-MIB."
           MODULE  -- this module
               MANDATORY-GROUPS { tAggrDataGroup }
           ::= { tAggrCompliances 1 }

       -- Units of conformance
      tAggrDataGroup    OBJECT-GROUP
gww> Rename to tAggrMibBasicGroup
           OBJECTS {
                      tAggrMOInstance,
                      tAggrAgMODescr,
                      tAggrInterval,
                      tAggrSamples,
                      tAggrCompressionAlgorithm,
                      tAggrEntryOwner,
                      tAggrEntryStorageType,
                      tAggrEntryStatus,
                      tAggrDataRec,
                      tAggrDataRecC,
                      tAggrErrorRec
          }
           STATUS  current
           DESCRIPTION
                   " A collection of objects for time-based aggregation
                     of MOs."
           ::= { tAggrGroups 1 }
      END




Expires: January 15, 2006                                      [Page 29]






Internet Draft                                             July 16, 2005


7. Security Considerations

   There are management objects in the MIB modules defined in this
   document that have a MAX-ACCESS clause of 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.  The objects and corresponding vulnerabilities
   are discussed below.

   The following MOs are used to configure an agent that implements the
   aggregate MIB modules.
          aggrAgMOIndex,
          aggrAgMODescr,
          aggrCompressionAlgorithm,
          aggrEntryOwner,
          aggrEntryStorageType,
          aggrEntryStatus,
          aggrMOInstance,
          aggrMODescr,
          aggrMOEntryStorageType,
          aggrMOEntryStatus,
          tAggrMOInstance,
          tAggrAgMODescr,
          tAggrInterval,
          tAggrSamples,
          tAggrCompressionAlgorithm,
          tAggrEntryOwner,
          tAggrEntryStorageType,
          tAggrEntryStatus,

   Access to these objects may be abused to affect the operation of the
   data collection system. In particular,
         - by changing the value of an instance of aggrEntryStatus,
           tAggrEntryStatus, aggrMOEntryStatus or tAggrMOEntryStatus
           to 'notInService' or 'destroy', the data aggregation
           operation for the corresponding entry will become
           unavailable to the management system.
         - by changing the value of an instance of aggrMOInstance or
           tAggrMOInstance instance, the data aggregation operation
           may be subverted. This may result in wrong information
           being fed to the management system.
         - by adding several rows in the aggrMOTable corresponding
           to an aggregate MO it is possible to make the value of
           the aggregate MOs very large. A similar effect may be
           achieved by manipulating the value of the tAggrSamples
           instance corresponding to a time-based aggregate MO.
           This could result in very heavy management traffic and/or



Expires: January 15, 2006                                      [Page 30]






Internet Draft                                             July 16, 2005


           fragmentation of response packets. In some cases the
           responder may refuse to send the data and will simply
           respond with an error message indicating that the response
           packet size is too big.
   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   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),
gww> editorial: should be section 9

   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.





























Expires: January 15, 2006                                      [Page 31]






Internet Draft                                             July 16, 2005


8.  IANA Considerations

   IANA should assign a base arc each in the 'experimental' OID tree for
   the 'aggrMIB' MODULE-IDENTITY and the 'tAggrMIB' MODULE-IDENTITY
   defined in the AGGREGATE-MIB and the TIME-AGGREGATE-MIB respectively.
gww> Should have an editor's note here since the above text can be removed
gww> prior to publication. See mib review document section 3.5.3

9.  References

9.1 Normative References

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

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

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

[RFC3231]   Levi. D. and Schoenwaelder, J., "Definitions of Managed
            Objects for Scheduling Management Operations", RFC3231,
            January 2002
gww> Missing reference to RMON-MIB
gww> Missing reference to RFC3411

9.2 Informative References

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

10.  Acknowledgments

   This draft is the product of discussions and deliberations carried
   out in the WIDE-netman group.

11. Authors' Addresses

   Glenn Mansfield Keeni
   Cyber Solutions Inc.
   6-6-3 Minami Yoshinari
   Aoba-ku, Sendai 989-3204
   Japan

   Phone: +81-22-303-4012
   EMail: glenn@cysols.com



Expires: January 15, 2006                                      [Page 32]






Internet Draft                                             July 16, 2005


12.  Full Copyright Statement

   Copyright (C) The Internet Society (2005).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.


   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
   INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.



































Expires: January 15, 2006                                      [Page 33]






Internet Draft                                             July 16, 2005


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed
   to pertain to the implementation or use of the technology
   described in this document or the extent to which any license
   under such rights might or might not be available; nor does it
   represent that it has made any independent effort to identify any
   such rights.  Information on the procedures with respect to
   rights in RFC documents can be found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use
   of such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository
   at http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention
   any copyrights, patents or patent applications, or other
   proprietary rights that may cover technology that may be required
   to implement this standard.  Please address the information to the
   IETF at ietf-ipr@ietf.org.

Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.























Expires: January 15, 2006                                      [Page 34]






Internet Draft                                             July 16, 2005





















































Expires: January 15, 2006                                      [Page 35]