Operations & Management Area                                  Bob Moore
 INTERNET-DRAFT                                                      IBM
 Category: Standards Track                                  Kwok Ho Chan
                                                         Nortel Networks
                                                             March, 2001
 
            SNMP Textual Convention for Reusable Conceptual Rows
 
                   <draft-ietf-ops-rowpointer-tc-01.txt>
                      Friday, March 02, 2001, 1:20 PM
 
 Status of this Memo
 
   This document is an Internet-Draft and is in full conformance with all
   provisions of Section 10 of RFC2026.
 
   Internet-Drafts are working documents of the Internet Engineering Task
   Force (IETF), its areas, and its working groups.  Note that other
   groups may also distribute working documents as Internet-Drafts.
 
   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   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
 
 Copyright Notice
 
   Copyright (C) The Internet Society (2001).  All Rights Reserved.
 
 Abstract
 
   This document defines a textual convention, ReusableRow, similar to
   the RowStatus and StorageType textual conventions defined in RFC 2579
   [7].  Like these two textual conventions, ReusableRow characterizes
   the conceptual row of which it is a part.  It indicates whether, in
   the course of a cloning activity, the row should be duplicated (with,
   obviously, a different index value), or simply pointed to by one or
   more newly cloned objects.  This cloning may involve the scripting-
   based techniques defined under the SNMP Configuration umbrella, but it
   need not: cloning can also be realized with ordinary SNMP Get and Set
   operations.
 
 
 
 
 
 
 
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 1]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
   Table of Contents
 
   1. Introduction......................................................2
   2. Definitions.......................................................3
   3. Previous Approach.................................................5
   4. Intellectual Property.............................................6
   5. Acknowledgements..................................................7
   6. Security Considerations...........................................7
   7. References........................................................7
   8. Authors' Addresses................................................9
   9. Full Copyright Statement..........................................9
 
 
 
 1. Introduction
 
   This document defines a textual convention, ReusableRow, similar to
   the RowStatus and StorageType textual conventions defined in RFC 2579
   [7].  Like these two textual conventions, ReusableRow characterizes
   the conceptual row of which it is a part.  It indicates whether, in
   the course of a cloning activity, the row should be duplicated (with,
   obviously, a different index value), or simply pointed to by one or
   more newly cloned objects.  This cloning may involve the scripting-
   based techniques defined under the SNMP Configuration umbrella, but it
   need not: cloning can also be realized with ordinary SNMP Get and Set
   operations.
 
   The process of creating instance-specific configuration from an
   implementation-specific template is discussed in [18].  (EDITOR'S
   NOTE: Since this textual convention can also be used with "ordinary"
   SNMP Get and Set operations, I think we can treat this reference as
   non-normative for the purposes of advancing the textual convention to
   Proposed Standard.)  Briefly, a template involves rows in several
   tables, tied together with RowPointer objects.  To clone one of these
   RowPointers, the process doing the cloning needs to examine the
   conceptual row that it is pointing to.  If the row being pointed to
   contains an object with the syntax ReusableRow, this object will tell
   the cloning process how to do the cloning:
 
     o   If the value of the ReusableRow object is 'reusable(2)', then
         the new RowPointer is set to point to the existing conceptual
         row.
     o   If the value of the ReusableRow object is 'singleUse(3)', then
         the cloning process creates a copy of the entire conceptual
         row, and sets the RowPointer to point to this new row.  This is
         also the default behavior, which a cloning process would
         exhibit if the conceptual row being pointed to did not contain
         a ReusableRow object.
 
   Note that the "cloning process" described here need not be an SNMP
   Configuration script.  A different type of cloning can also benefit
   from this textual convention.  Using only SNMP Get and Set operations,
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 2]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
   it is possible to retrieve one instance-specific conceptual row, and
   then use the values that were retrieved to create another instance-
   specific row "just like it."  This textual convention tells the
   process doing the cloning whether a pointer in a newly created
   conceptual row may point to the same conceptual row pointed to by the
   object from which the pointer was cloned.
 
   A table may include a columnar object of type ReusableRow only if it
   makes sense for the rows of the table to be reused.  For example, a
   table containing operational data such as state variables, counters,
   and gauges would not have a ReusableRow object in it, because separate
   rows will always be needed for separate resources.  Configuration
   data, on the other hand, is a good candidate for reuse, since it is
   easier to change if it exists in only one place.
 
   Because it appears in each conceptual row of a table, rather than
   being a scalar object characterizing the table as a whole, it is
   possible for an object having the syntax ReusableRow to have different
   values in different rows.  Such an object represents a capability of
   the managed system.  So one would expect it to have the same value is
   every row of a given table, unless the table itself covers different
   implementation elements in the managed system.
 
   A ReusableRow object represents a capability of the managed system,
   rather than something that is configurable.  Thus it SHOULD have MAX-
   ACCESS of 'read-only'.  While the definition allows the managed system
   itself to change the value of a ReusableRow object, the implications
   of a managed system's doing this need further study.  For now, it is
   assumed that the value of a particular instance of a ReusableRow
   object does not change.
 
   In order for a cloning process to make use of a ReusableRow object, it
   must have knowledge of the MIB that defines the information it is
   cloning.  Otherwise it will be unaware that the ReusableRow object
   even exists.
 
   For definers of new MIBs, the process for using this textual
   convention is straightforward: simply include an object of type
   ReusableRow in those tables for which reusability makes sense.  It
   should also be possible to retrofit the textual convention into
   previously defined MIBs, by augmenting the appropriate tables.  If a
   cloning process has knowledge of the module containing the
   augmentation(s), then it can make use of the ReusableRow objects there
   just as it would in the case of a completely new MIB module.
 
 
 2. Definitions
 
   SNMP-REUSABLE-ROW-TC-MIB DEFINITIONS ::= BEGIN
 
 
      IMPORTS
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 3]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
        MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
        TEXTUAL-CONVENTION     FROM SNMPv2-TC;
 
      snmpReusableRowTCMIB MODULE-IDENTITY
        LAST-UPDATED "200103020000Z" -- March 2, 2001
        ORGANIZATION
            "IETF Operations & Management Area"
        CONTACT-INFO
            "Bob Moore
             IBM Corporation, BRQA/502
             PO Box 12195
             Research Triangle Park, NC 27709, USA
             Phone: +1 919 254 4436
             EMail: remoore@us.ibm.com
 
             Kwok Ho Chan
             Nortel Networks
             600 Technology Park Drive
             Billerica, MA 01821, USA
             E-mail: khchan@nortelnetworks.com
 
             Send comments to mibs@ops.ietf.org."
 
      DESCRIPTION
        "This MIB module defines a textual convention that indicates
         whether a conceptual row is reusable."
 
      REVISION     "200103020000Z" -- March 2, 2001
      DESCRIPTION
          "Initial version, published as RFCnnnn."
      ::= { mib-2 67890 } -- to be assigned by IANA
 
 
   ReusableRow ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "This textual convention characerizes a
               conceptual row as reusable or not reusable
               for the purposes of cloning a configuration
               template.  The objects being cloned may
               either be special ones that express
               configuration information at the
               mechanism-specific level, or simply
               instance-specific ones that already exist at
               the time the cloning is done.
 
               The following values are defined:
                 - other(1)
                 - reusable(2): the conceptual row is
                   available to be pointed to by mulitple
                   RowPointer objects.
                 - singleUse(3): a separate copy of the
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 4]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
                   conceptual row is needed for each
                   RowPointer object that points to it.
 
               Because it represents a capability of the
               managed sytsem, rather than something that
               is configurable, an object having this syntax
               SHOULD have MAX-ACCESS of 'read-only'."
 
       SYNTAX  INTEGER {
                 other(1),
                 reusable(2),
                 singleUse(3)
               }
 
   END
 
 3. Previous Approach
 
   The original version of this document included the following module,
   which defined a Textual Convention for characterizing the objects
   pointing to a reusable conceptual row.  It is retained here for the
   moment for comparison with the current approach.
 
   SNMP-ROWPOINTER-TC-MIB DEFINITIONS ::= BEGIN
 
 
      IMPORTS
        MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
        TEXTUAL-CONVENTION     FROM SNMPv2-TC;
 
 
      snmpRowPointerTCMIB MODULE-IDENTITY
        LAST-UPDATED "200012180000Z" -- December 18, 2000
        ORGANIZATION
            "SNMP Configuration WG"
        CONTACT-INFO
            "Bob Moore
             IBM Corporation, BRQA/502
             PO Box 12195
             Research Triangle Park, NC 27709, USA
             Phone: +1 919 254 4436
             EMail: remoore@us.ibm.com
 
             Kwok Ho Chan
             Nortel Networks
             600 Technology Park Drive
             Billerica, MA 01821, USA
             E-mail: khchan@nortelnetworks.com
 
             Send comments to snmpconf@ops.ietf.org."
 
      DESCRIPTION
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 5]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
        "This MIB module defines textual conventions similar to the
        RowPointer textual convention, with additional sementics."
 
      REVISION     "200012180000Z" -- December 18, 2000
      DESCRIPTION
          "Initial version, published as RFCnnnn."
      ::= { mib-2 67890 } -- to be assigned by IANA
 
 
   StaticRowPointer ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "Like a RowPointer, this textual convention
               represents a pointer to a conceptual row.
               The value is the name of the instance of the
               first accessible columnar object in the
               conceptual row.
 
               The additional semantics of this textual
               convention, relative to RowPointer, are
               related to the creation of instance-specific
               objects by cloning.  The objects being cloned
               may either be special ones that express
               configuration information at the
               mechanism-specific level, or simply
               instance-specific ones that already exist at
               the time the cloning is done.  When an object
               with the syntax StaticRowPointer is cloned, the
               StaticRowPointer in the newly cloned object is
               set to point to the same conceptual row that the
               StaticRowPointer in the cloned-from object
               pointed to. The cloning operations may be
               accomplished either with the script-based
               technique defined by SNMP Configuration, or by
               ordinary SNMP Get and Set operations.
 
               When cloning is not involved, this textual
               convention behaves identically to the RowPointer
               textual convention.  Specifically, once an object
               with this syntax has been created, either by
               cloning or by other means, its value may be
               updated in the same way that the value of any
               other object with read-write or read-create
               access may be updated."
       SYNTAX       OBJECT IDENTIFIER
 
   END
 
 4. Intellectual Property
 
   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to pertain
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 6]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
   to the implementation or use of the technology described in this
   document or the extent to which any license under such rights might or
   might not be available; neither does it represent that it has made any
   effort to identify any such rights.  Information on the IETF's
   procedures with respect to rights in standards-track and standards-
   related documentation can be found in BCP-11.
 
   Copies of claims of rights made available for publication and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this specification
   can be obtained from the IETF Secretariat.
 
   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.
 
 
 5. Acknowledgements
 
   This document grew out of the work of the SNMP Configuration working
   group.  Keith McCloghrie suggested the fundamental change in
   direction, from focusing on the RowPointers to focusing on the
   conceptual rows being pointed to.
 
 
 6. Security Considerations
 
   This module does not define any management objects. Instead, it
   defines a textual convention that may be used by other MIB modules to
   define management objects.
 
   Meaningful security considerations can only be written in the modules
   that define management objects.
 
 
 7. References
 
 [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
      Levels", BCP 14, RFC 2119, March 1997.
 
 [2]  Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for
      Describing SNMP Management Frameworks", RFC 2571, April 1999.
 
 [3]  Rose, M. and K. McCloghrie, "Structure and Identification of
      Management Information for TCP/IP-based Internets", STD 16, RFC
      1155, May 1990.
 
 [4]  Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
      RFC 1212, March 1991.
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 7]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
 [5]  Rose, M., "A Convention for Defining Traps for use with the
      SNMP", RFC 1215, March 1991.
 
 [6]  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.
 
 [7]  McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
      M. and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
      RFC 2579, April 1999.
 
 [8]  McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
      M. and S. Waldbusser, "Conformance Statements for SMIv2", STD
      58, RFC 2580, April 1999.
 
 [9]  Case, J., Fedor, M., Schoffstall, M. and J. Davin, "A Simple
      Network Management Protocol (SNMP)", STD 15, RFC 1157, May 1990.
 
 [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
      "Introduction to Community-based SNMPv2", RFC 1901, January
      1996.
 
 [11] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
      "Transport Mappings for Version 2 of the Simple Network
      Management Protocol (SNMPv2)", RFC 1906, January 1996.
 
 [12] Case, J., Harrington, D., Presuhn, R. and B. Wijnen, "Message
      Processing and Dispatching for the Simple Network Management
      Protocol (SNMP)", RFC 2572, April 1999.
 
 [13] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM)
      for version 3 of the Simple Network Management Protocol
      (SNMPv3)", RFC 2574, April 1999.
 
 [14] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
      "Protocol Operations for Version 2 of the Simple Network
      Management Protocol (SNMPv2)", RFC 1905, January 1996.
 
 [15] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC
      2573, April 1999.
 
 [16] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access
      Control Model (VACM) for the Simple Network Management
      Protocol (SNMP)", RFC 2575, April 1999.
 
 [17] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction
      to Version 3 of the Internet-standard Network Management
      Framework", RFC 2570, April 1999.
 
 [18] Hazewinkel, H. and D. Partain, "The DiffServ Policy MIB", work in
      progress, draft-ietf-snmpconf-diffpolicy-04.txt, March 2001.
 
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 8]


 Internet Draft    SNMP RowPointer Textual Conventions        March 2001
 
 
 8. Authors' Addresses
 
   Bob Moore
      IBM Corporation, BRQA/502
      4205 S. Miami Blvd.
      Research Triangle Park, NC 27709
      Phone:   +1 919-254-4436
      Fax:     +1 919-254-6243
      E-mail:  remoore@us.ibm.com
 
   Kwok Ho Chan
      Nortel Networks
      600 Technology Park Drive
      Billerica, MA 01821, USA
      E-mail: khchan@nortelnetworks.com
 
 
 9. Full Copyright Statement
 
   Copyright (C) The Internet Society (2001).  All Rights Reserved.
 
   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published and
   distributed, in whole or in part, without restriction of any kind,
   provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of developing
   Internet standards in which case the procedures for copyrights defined
   in the Internet Standards process must be followed, or as required to
   translate it into languages other than English.
 
   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.
 
   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
   NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
   WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 
 
 
 
 
 
 
 
 
 
 
 Moore and Chan        Expires: Mar 2001 + 6 months             [Page 9]