Network Working Group H.K. Lam Document: draft-ietf-disman-conditionmib-10.txt Lucent Technologies Expiration: March 25, 2004 A. Huynh Category: Internet Draft Cetus Networks D. Perkins SNMPinfo September 25, 2003 Alarm Reporting Control MIB draft-ietf-disman-conditionmib-10.txt Status of this Memo This document is an Internet-Draft and is subject to 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 (2003). All Rights Reserved. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets. In particular, it defines objects for controlling the reporting of alarm conditions. Table of Contents 1 Introduction ............................................... xx 2 The Internet-Standard Management Framework .................. xx Lam, et al. Standards Track [Page 1] Alarm Reporting Control MIB July 2003 3 Conventions ................................................ xx 4 ARC MIB Overview ............................................ xx 4.1 Relationship between ARC mode and Alarm Reporting ...... xx 5 ARC MIB Object Definitions .................................. xx 6 Security Considerations ..................................... xx 7 Acknowledgments.............................................. xx 8 References .................................................. xx 9 Author's Address ............................................ xx 10 Intellectual Property ....................................... xx 11 Full Copyright Statement .................................... xx 1. Introduction The scope of this MIB is targeted for network operators responsible for managing the operations of network resources. This document defines an alarm reporting control (ARC) MIB module, which provides a mechanism for a manager to suppress or defer the reporting of alarm conditions based on the resource ID and alarm condition type. 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. ARC MIB Overview There is a need to provide a mechanism for controlling the reporting of alarm conditions of resources in a network device. For example, (a) inhibiting the reporting of alarm conditions of a resource until Lam, et al. Standards Track [Page 2] Alarm Reporting Control MIB July 2003 the resource is problem-free, (b) inhibiting the reporting of alarm conditions of a resource for a specified time period, or (c) inhibiting the reporting of alarm conditions of a resource indefinitely until explicitly allowed by the managing system at a later time. The alarm reporting control (ARC) feature provides an automatic in-service provisioning capability. It allows sufficient time for service setup, customer testing, and other maintenance activities in an "alarm-free" state. Once a resource is "problem-free", alarm reporting can be automatically or manually turned on (i.e., allowed). By putting a network resource in ARC mode, (i.e., in nalm, nalmTI, nalmQI, or nalmQICD states, as described in the MIB), the technicians and managing systems will not be flooded with unnecessary work items during operations activities such as service provisioning and network setup/teardown. This will reduce maintenance costs and improve the operation and maintenance of these systems. Putting a network resource in ARC mode shall not affect the availability of active alarm condition information for potential retrieval. ITU-T Recommendation M.3100 Amendment 3 [M.3100 Amd3] provides the business requirements, analysis, and design of the Alarm Reporting Control feature. This document defines the MIB objects to support a subset of the ARC functions described in M.3100 Amd3. In particular, it defines a table that can be used to specify the ARC settings for the resources in a system. The ARC MIB module defined in this document provides a way to control the reporting of alarm conditions. A set of applicable alarm conditions is defined in ITU-T Recommendation M.3100 [M.3100] and is named "probable causes". These probable causes (alarm conditions) have been included in the IANAItuProbableCause TC, which is defined in the IANA-ITU-ALARM-TC MIB module [RFCzzzz]. The IANA-ITU-ALARM-TC MIB module is maintained in the IANA web-site [ITUALARMTC]. [RFCzzzz]. -- RFC Ed.: replace zzzz with the actual RFC number of the Alarm MIB -- document and remove this notice. The ARC MIB module defines an IANAItuProbableCauseOrZero TC which can take any value of IANAItuProbableCause or 0. The ARC MIB module further uses IANAItuProbableCauseOrZero to define the ARC settings for the managed resource in the network elements. Specification of objects for defining and storing alarms, including Lam, et al. Standards Track [Page 3] Alarm Reporting Control MIB July 2003 active and history alarms, standing and transient alarms, and alarm notifications are out of the scope of this document. 4.1 Relationship between ARC mode and alarm reporting When the ARC MIB module is used in a managed system, the following rules apply: For alarm condition raised prior to entering ARC mode, reporting of alarm raised and alarm cleared will be sent as usual. For alarm condition raised after entering ARC mode and also cleared before exiting ARC mode, no reporting of alarm raised will be sent and no reporting of alarm cleared will be sent. For alarm condition raised after entering ARC mode and not cleared when exiting ARC mode, the reporting of alarm raised will be deferred until the moment of exiting ARC mode. The reporting of alarm cleared will be sent as usual (i.e., at the time of alarm cleared). Further details of the ARC function can be found in M.3100 Amd3 [M.3100 Amd3]. 5. ARC MIB Object Definition ARC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 FROM SNMPv2-SMI -- RFC2578 TEXTUAL-CONVENTION, RowStatus, StorageType FROM SNMPv2-TC -- RFC2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC2580 ResourceId FROM ALARM-MIB; -- RFCzzzz arcMibModule MODULE-IDENTITY LAST-UPDATED "200309250000Z" ORGANIZATION "IETF Distributed Management Working Group" CONTACT-INFO "WG EMail: disman@ietf.org Subscribe: disman-request@ietf.org http://www.ietf.org/html.charters/disman-charter.html Lam, et al. Standards Track [Page 4] Alarm Reporting Control MIB July 2003 Chair: Randy Presuhn E-mail: randy_presuhn@mindspring.com Editor: Hing-Kam Lam Lucent Technologies, 4C-616 101 Crawfords Corner Road Holmdel, NJ 07733 USA Tel: +1 732 949 8338 E-mail: hklam@lucent.com" DESCRIPTION "The MIB module describes the objects for controlling a resource in reporting alarm conditions that it detects. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC xxxx; see the RFC itself for full legal notices." -- RFC Ed.: replace xxxx with actual RFC number & remove this note REVISION "200309250000Z" DESCRIPTION "Initial version, published as RFC xxxx." -- RFC Ed.: replace xxxx with actual RFC number & remove this note ::={ mib-2 yy } -- to be assigned by IANA -- RFC Ed.: replace yy with IANA-assigned number & remove this note ------------------ -- TEXTUAL-CONVENTION ------------------ IANAItuProbableCauseOrZero ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This TC can take any value of IANAItuProbableCause or 0. IANAItuProbableCause is defined in the IANA-ITU-ALARM-TC module, which is maintained at the IANA web site and published in the Alarm MIB document (see RFC zzzz)." REFERENCE "IANA-ITU-ALARM-TC MIB module as maintained at the IANA web site. The initial module was also published in RFC zzzz." -- RFC Ed.: replace zzzz with the RFC number of the Alarm MIB document. -- SYNTAX INTEGER (0..2147483647) Lam, et al. Standards Track [Page 5] Alarm Reporting Control MIB July 2003 ------------------ -- MIB Objects ------------------ arcTimeIntervals OBJECT IDENTIFIER ::= { arcMibModule 1 } arcObjects OBJECT IDENTIFIER ::= { arcMibModule 2 } arcTITimeInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates the time interval used for the nalmTI state, in units of second. It is a pre-defined length of time in which the resource will stay in the nalmTI state before transition into the alm state. Instances of this object SHOULD persist across agent restarts." ::= { arcTimeIntervals 1 } arcCDTimeInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates the time interval used for the nalmQICD state, in units of second. It is a pre-defined length of time in which the resource will stay in the nalmQICD state before transition into the alm state after it is problem-free. Instances of this object SHOULD persist across agent restarts." ::= { arcTimeIntervals 2 } arcTable OBJECT-TYPE SYNTAX SEQUENCE OF ArcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of Alarm Reporting Control (ARC) settings on the system. Alarm Reporting Control is a feature that provides an automatic in-service provisioning capability. Alarm reporting is turned off on a per-resource basis for a selective set of potential alarm conditions to allow sufficient time for customer testing and other maintenance activities in an 'alarm free' state. Once a resource is ready for service, alarm reporting is automatically or manually turned on. Lam, et al. Standards Track [Page 6] Alarm Reporting Control MIB July 2003 Defined in M.3100 Amendment 3 [M.3100 Amd3], there are five ARC states: alm, nalm, nalmQI, nalmQICD and nalmTI. alm: Alarm reporting is turned on (i.e., is allowed). nalm: Alarm reporting is turned off (i.e., not allowed). nalmQI: nalm - Qualified Inhibit. Alarm reporting is turned off until the managed entity is qualified problem-free for a specified persistence interval. nalmQICD: nalmQI - Count down. This is a substate of nalmQI and performs the persistence timing countdown function when the managed entity is qualified problem-free. nalmTI: nalm - Timed Inhibit. Alarm reporting is turned off for a specified time interval. alm may transition to nalm, nalmQI or nalmTI by management request. nalm may transition to alm, nalmQI or nalmTI by management request. nalmQI may transition to nalm or alm by management request. nalmQI may transition to alm automatically if qualified problem-free (if nalmQICD is not supported) or if the CD timer expired (if nalmQICD is supported) nalmTI may transition to alm or nalm by management request. nalmTI may transition to alm automatically if the TI timer expired. Further details of ARC state transitions are defined in Figure 3 of M.3100 Amd3 [M.3100 Amd3]." REFERENCE "ITU Recommendation M.3100 Amendment 3, 'Generic Network Information Model', January 2001." ::= { arcObjects 1 } arcEntry OBJECT-TYPE SYNTAX ArcEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row that contains information about an ARC setting of a resource in the system. Implementation need to be aware that if the total size of arcIndex and arcNotificationId exceeds 114 sub-IDs, then OIDs of column instances in this table will have more than 128 sub-IDs and cannot be access using SNMPv1, SNMPv2c, or snmpv3." Lam, et al. Standards Track [Page 7] Alarm Reporting Control MIB July 2003 INDEX { arcIndex, arcAlarmType, arcNotificationId } ::= { arcTable 1 } ArcEntry ::= SEQUENCE { arcIndex ResourceId, arcAlarmType IANAItuProbableCauseOrZero, arcNotificationId OBJECT IDENTIFIER, arcState INTEGER, arcNalmTimeRemaining Unsigned32, arcRowStatus RowStatus, arcStorageType StorageType } arcIndex OBJECT-TYPE SYNTAX ResourceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object uniquely identifies a resource, which is under the arcState's control for the associated arcAlarmType. For example, if the resource is an interface, this object will point to an instance of interface, e.g., ifIndex.1." ::= { arcEntry 1 } arcAlarmType OBJECT-TYPE SYNTAX IANAItuProbableCauseOrZero MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the alarm condition type controlled by the arcState. It specifies the value 0 or a value of IANAItuProbableCause that is applicable to the resource. IANAItuProbableCause is defined in the IANA-ITU-ALARM-TC module in the Alarm MIB document. The value of zero (0) implies any probable causes that are applicable to the resource. Usually, the applicable probable causes of a resource are specified in the resource-specific mib." ::= { arcEntry 2 } arcNotificationId OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the type of notification to be suppressed. The notification type identified should be the one normally used Lam, et al. Standards Track [Page 8] Alarm Reporting Control MIB July 2003 by the resource for reporting its alarms. When the value of 0.0 is specified for this object, it implies all applicable notification types." ::= { arcEntry 3 } arcState OBJECT-TYPE SYNTAX INTEGER { nalm (1), nalmQI (2), nalmTI (3), nalmQICD (4) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object controls the alarm reporting of a resource. A manager can set the arcState to either nalm, nalmQI, or nalmTI. nalm: Alarm reporting is turned off. nalmTI: Alarm reporting is turned off for a time interval. (TI - Time Inhibit). nalmQI: Alarm reporting is turned off for a specified alarm type until the resource is qualified problem-free for an optional time interval. Problem-free means that the condition corresponding to the specified alarm type does not exist (i.e., cleared). (QI - Qualified Inhibit). nalmQICD: This is a substate of nalmQI and performs the persistence timing count down function after the resource is qualified problem-free. (CD - Count Down). According to the requirements in M.3100 Amd3, a resource supporting the ARC feature shall support the alm state and at least one of the nalm, nalmTI, and nalmQI states. nalmQICD is an optional substate of nalmQI. Note that the state alm (alarm reporting is allowed) is not listed in the enumeration of the value of this object. However, this state is implicitly supported by the mib. Once a resource enters the normal reporting mode (i.e., in the alm state) for the specified alarm type, the corresponding row will be automatically deleted from the arc table. Also the manual setting of arcState to alm can be achieved through setting the RowStatus object to 'destroy'. The nalamQICD state is a transitional state from nalmQI to alm. It is optional depending on the resource type and the implementation of the the resource. If it is supported, before the state Lam, et al. Standards Track [Page 9] Alarm Reporting Control MIB July 2003 transitions from nalmQI to alm, a count down period is activated for a duration set by the object arcNalmCDTimeInterval. When the time is up, the arcState transitions to alm." ::= { arcEntry 4 } arcNalmTimeRemaining OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This variable indicates the time remaining in the nalmTI state or the nalmQICD state, in units of second. At the moment the resource enters the nalmTI state, this variable will have the initial value equal to the value of arcNalmTITimeInterval and then starts decrementing as time goes by. Similarly at the moment the resource enters the nalmQICD state, this variable will have the initial value equal to the value of arcNalmCDTimeInterval and then starts decrementing as time goes by. This variable is read-create and thus will allow the manager to write (extend or shorten), as needed, the remaining time when the resource is in the nalmTI or nalmQICD state. If this variable is supported and the resource is currently not in the nalmTI nor nalmQICD state, the value of this variable shall equal to zero." ::= { arcEntry 5 } arcRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This columnar object is used for creating and deleting a conceptual row of the arcTable. It is used to create and delete an arc setting. Setting RowStatus to createAndGo or createAndWait implies creating a new ARC setting for the specified resource and alarm type. Setting RowStatus to destroy implies removing the ARC setting and thus has the effect of resuming normal reporting behaviour of the resource for the alarm type. Only the objects arcState, arcNalmTimeRemaining, and arcRowStatus can be updated when a row is active. All the objects, except arcNalmTimeRemaining, must be set before the row can be activated." ::= { arcEntry 6 } Lam, et al. Standards Track [Page 10] Alarm Reporting Control MIB July 2003 arcStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' must allow write-access at a minimum to arcState. Note that arcState must allow change by management request. Therefore, no row can be created with 'readOnly'. If a set operation tries to set the value to 'readOnly', then an 'inconsistentValue' error must be returned." DEFVAL { nonVolatile } ::= { arcEntry 7} -------------------------- -- conformance information -------------------------- arcConformance OBJECT IDENTIFIER ::= { arcMibModule 3 } arcCompliances OBJECT IDENTIFIER ::= { arcConformance 1 } arcCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for systems supporting the ARC MIB module." MODULE -- this module MANDATORY-GROUPS { arcSettingGroup } OBJECT arcStorageType WRITE-SYNTAX StorageType { volatile(2), nonVolatile(3), permanent(4) } DESCRIPTION "Support for value 'other' is not required. The arcState object must allow change by management request. Therefore, no row can be created with 'readOnly'." GROUP arcTIGroup DESCRIPTION "This group is REQUIRED for ARC settings Lam, et al. Standards Track [Page 11] Alarm Reporting Control MIB July 2003 that provide the Time Inhibit (TI) function." GROUP arcQICDGroup DESCRIPTION "This group is REQUIRED for ARC settings that provide the Quality Inhibit (QI) Count Down (CD) function." ::= { arcCompliances 1 } arcGroups OBJECT IDENTIFIER ::= { arcConformance 2 } arcSettingGroup OBJECT-GROUP OBJECTS { arcState, arcRowStatus, arcStorageType } STATUS current DESCRIPTION "A collection of objects applicable to basic ARC setting." ::= { arcGroups 1} arcTIGroup OBJECT-GROUP OBJECTS { arcTITimeInterval, arcNalmTimeRemaining } STATUS current DESCRIPTION "A collection of objects applicable to ARC setting that support the Time Inhibit (TI) function." ::= { arcGroups 2} arcQICDGroup OBJECT-GROUP OBJECTS { arcCDTimeInterval, arcNalmTimeRemaining } STATUS current DESCRIPTION "A collection of objects applicable to ARC setting that support the Quality Inhibit (QI) Count Down (CD) function." ::= { arcGroups 3} END Lam, et al. Standards Track [Page 12] Alarm Reporting Control MIB July 2003 6. Security Considerations 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: arcTITimeInterval, arcCDTimeInterval, arcState, arcNalmTimeRemaining, arcRowStatus, arcStorageType. Setting these objects may have disruptive effects on network operation that range from omission of alarm notifications to flooding of unwanted alarm notifications from the netowrk. Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability: arcTITimeInterval, arcCDTimeInterval, arcState, arcNalmTimeRemaining, arcRowStatus, arcStorageType. Reading these objects will provide information about the setting which affects alarm notification generation. 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). Lam, et al. Standards Track [Page 13] Alarm Reporting Control MIB July 2003 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. 7. Acknowledgements The authors wish to thank Brian Teer and Sharon Chisholm for reviewing and commenting on the draft of this document. 8. References 8.1 Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirements Levels", BCP 14, RFC 2119, March 1997. [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. [RFCzzzz] Chisholm, S. and D. Romascanu, "Alarm MIB", RFC zzzz, mmm 2003. -- RFC Ed.: replace zzzz with the RFC number of the Alarm MIB document, -- replace mmm with the actual month, and remove this notice. [ITUALARMTC] http://www.iana.org/assignments/ianaitualarmtc-mib [M.3100] ITU Recommendation M.3100, "Generic Network Information Model", July 1995. [M.3100 Amd3] ITU Recommendation M.3100 Amendment 3, "Generic Network Information Model", January 2001. 8.2 Informative References [RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet- Lam, et al. Standards Track [Page 14] Alarm Reporting Control MIB July 2003 Standard Management Framework", RFC 3410, December 2002. 9. Authors' Addresses Hing-Kam Lam Lucent Technologies 101 Crawfords Corner Road, Room 4C-616 Holmdel, NJ 07733 USA Phone: +1 732-949-8338 EMail: hklam@lucent.com An-ni Huynh Cetus Networks USA EMail: a_n_huynh@yahoo.com David T. Perkins SNMPinfo 3600 Benton Street, #24 Santa Clara, CA 95051 USA Phone: +1 408-394-8702 EMail: dperkins@dsperkins.com 10. 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 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. Lam, et al. Standards Track [Page 15] Alarm Reporting Control MIB July 2003 11. Full Copyright Statement Copyright (C) The Internet Society (2003). 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. Expires March 25, 2004 [Page 16]