HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 02:00:20 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Fri, 13 Feb 1998 18:10:00 GMT ETag: "2ed7e5-77fe-34e48c78" Accept-Ranges: bytes Content-Length: 30718 Connection: close Content-Type: text/plain Internet-Draft Schedule MIB February 1998 Definitions of Managed Objects for Scheduling Management Operations February 10, 1998 David B. Levi SNMP Research, Inc. levi@snmp.com Juergen Schoenwaelder TU Braunschweig schoenw@ibr.cs.tu-bs.de Status of this Memo This document is an Internet-Draft. 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.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Copyright Notice Copyright (C) The Internet Society (1998). All Rights Reserved. Expires August 1998 [Page 1] Internet-Draft Schedule MIB February 1998 1. Abstract This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a set of managed objects that are used to schedule management operations periodically or at specified dates and times. This memo does not specify a standard for the Internet community. 2. The SNMPv2 Network Management Framework The SNMP Network Management Framework presently consists of three major components. They are: o the SMI, described in RFC 1902 [1] - the mechanisms used for describing and naming objects for the purpose of management. o the MIB-II, STD 17, RFC 1213 [2] - the core set of managed objects for the Internet suite of protocols. o the protocol, RFC 1157 [3] and/or RFC 1905 [4], - the protocol for accessing managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 2.1. Object Definitions Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) defined in the SMI[1]. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the object descriptor, to refer to the object type. Expires August 1998 [Page 2] Internet-Draft Schedule MIB February 1998 3. Overview The MIB defined in this memo allows to schedule actions periodically or at specified dates and times. The actions can be used to realize on-duty / off-duty schedules or to trigger management functions in a DISMAN application. Schedules can be enabled or disabled by modifying a control object. This allows to have pre-configured schedules available that are activated or de-activated by some other management functions. 3.1. Periodic Schedules Periodic schedules are based on fixed time periods between the initiation of scheduled actions. Periodic schedules are defined by specifying the number of seconds between two initiations. The time needed to complete the action is usually not known by the scheduler and does therefore not influence the next scheduling point. Implementations must guarantee that action invocations will not occur before their next scheduled time. However, implementations may be forced to delay invocations in the face of local constraints (e.g., a heavy load on higher-priority tasks). An accumulation of such delays would result in a drift of the scheduling interval with respect to time, and should be avoided. Scheduled actions collecting statistical data should retrieve time stamps from the data source and not rely on the accuracy of the periodic scheduler in order to obtain accurate statistics. 3.2. Calendar Schedules Calendar schedules trigger scheduled actions at specified dates and times. Calendar schedules are therefore aware of the notion of months, days, weekdays, hours and minutes. It is possible to specify multiple values for each calendar item. This allows to define a schedule which for example triggers the scheduled action every 15 minutes on a given weekday. Expires August 1998 [Page 3] Internet-Draft Schedule MIB February 1998 3.3. Actions Scheduled actions are modeled by SNMP set operations on local MIB variables. Scheduled actions described in this MIB are further restricted to variables that resolve to an ASN.1 primitive type of INTEGER. This simplification allows to realize on-duty / off-duty schedules for resources that have a status MIB object (e.g. ifAdminStatus). More complex actions can be realized by triggering a management script which is responsible to perform complex state transitions. A management script can also be used to perform SNMP set operations on remote SNMP engines. Expires August 1998 [Page 4] Internet-Draft Schedule MIB February 1998 4. Definitions SCHEDULE-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, BITS, Integer32, Unsigned32, Counter32, experimental FROM SNMPv2-SMI TimeStamp, RowStatus, StorageType, VariablePointer FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF Utf8String FROM SYSAPPL-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB; schedMIB MODULE-IDENTITY LAST-UPDATED "9802100000Z" ORGANIZATION "IETF DISMAN Working Group" CONTACT-INFO "David B. Levi SNMP Research, Inc. 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 U.S.A. Tel: +1 423 573 1434 E-mail: levi@snmp.com Juergen Schoenwaelder TU Braunschweig Bueltenweg 74/75 38106 Braunschweig Germany Tel: +49-531-391-3283 E-mail: schoenw@ibr.cs.tu-bs.de" DESCRIPTION "This MIB module defines a MIB which provides mechanisms to schedule SNMP set operations periodically or at a specified point in time." -- Get real registration number from IANA. -- ::= { mib-2 XXXX } ::= { experimental 6789 } Expires August 1998 [Page 5] Internet-Draft Schedule MIB February 1998 -- -- The various groups defined within this MIB definition: -- schedMIBObjects OBJECT IDENTIFIER ::= { schedMIB 1 } schedMIBNotifications OBJECT IDENTIFIER ::= { schedMIB 2 } schedMIBConformance OBJECT IDENTIFIER ::= { schedMIB 3 } -- -- The schedule table which controls the scheduler. -- schedTable OBJECT-TYPE SYNTAX SEQUENCE OF SchedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table defines scheduled actions triggered by a SNMP set operations." ::= { schedMIBObjects 2 } schedEntry OBJECT-TYPE SYNTAX SchedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describing a particular scheduled action." INDEX { schedOwner, schedIndex } ::= { schedTable 1 } SchedEntry ::= SEQUENCE { schedOwner SnmpAdminString, schedIndex Unsigned32, schedDescr Utf8String, schedInterval Unsigned32, schedWeekDay BITS, schedMonth BITS, schedDay BITS, schedHour BITS, schedMinute BITS, schedVariable VariablePointer, schedValue Integer32, schedAdminStatus INTEGER, schedOperStatus INTEGER, schedFailures Counter32, schedLastFailure INTEGER, schedLastFailed TimeStamp, Expires August 1998 [Page 6] Internet-Draft Schedule MIB February 1998 schedStorageType StorageType, schedRowStatus RowStatus } schedOwner OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The owner of this scheduling entry. The exact semantics of this string subject to the security policy defined by the security administrator." ::= { schedEntry 1 } schedIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The locally arbitrary but unique identifier associated with this scheduling entry." ::= { schedEntry 2 } schedDescr OBJECT-TYPE SYNTAX Utf8String MAX-ACCESS read-create STATUS current DESCRIPTION "The human readable description of the purpose of this scheduling entry." ::= { schedEntry 3 } schedInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of seconds between two action invocations of a periodic scheduler. Implementations must guarantee that action invocations will not occur before their next scheduled time. However, implementations may be forced to delay invocations in the face of loca constraints. A scheduled management function should however not rely on the accuracy provided by the scheduler implementation." ::= { schedEntry 4 } Expires August 1998 [Page 7] Internet-Draft Schedule MIB February 1998 schedWeekDay OBJECT-TYPE SYNTAX BITS { sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6) } MAX-ACCESS read-create STATUS current DESCRIPTION "The set of weekdays the scheduled action should take place. The action is scheduled for every weekday if no bit is set." ::= { schedEntry 5 } schedMonth OBJECT-TYPE SYNTAX BITS { january(0), february(1), march(2), april(3), may(4), june(5), july(6), august(7), september(8), october(9), november(10), december(11) } MAX-ACCESS read-create STATUS current DESCRIPTION "The set of months the scheduled action should take place. The action is scheduled for every month if no bit is set." ::= { schedEntry 6 } schedDay OBJECT-TYPE SYNTAX BITS { d0(0), d1(1), d2(2), d3(3), d4(4), d5(5), d6(6), d7(7), d8(8), d9(9), d10(10), d11(11), d12(12), d13(13), d14(14), d15(15), d16(16), d17(17), d18(18), d19(19), d20(20), d21(21), d22(22), d23(23), d24(24), d25(25), d26(26), d27(27), d28(28), d29(29), Expires August 1998 [Page 8] Internet-Draft Schedule MIB February 1998 d30(30), d31(31) } MAX-ACCESS read-create STATUS current DESCRIPTION "The set of days in a month at which a scheduled action should take place. The first day of the month has the number d0(0). The action is scheduled for every day of a month if no bit is set." ::= { schedEntry 7 } schedHour OBJECT-TYPE SYNTAX BITS { h0(0), h1(1), h2(2), h3(3), h4(4), h5(5), h6(6), h7(7), h8(8), h9(9), h10(10), h11(11), h12(12), h13(13), h14(14), h15(15), h16(16), h17(17), h18(18), h19(19), h20(20), h21(21), h22(22), h23(23) } MAX-ACCESS read-create STATUS current DESCRIPTION "The set of hours within a day the scheduled action should take place. The action is scheduled for every hour of a day if no bit is set." ::= { schedEntry 8 } schedMinute OBJECT-TYPE SYNTAX BITS { m0(0), m1(1), m2(2), m3(3), m4(4), m5(5), m6(6), m7(7), m8(8), m9(9), m10(10), m11(11), m12(12), m13(13), m14(14), m15(15), m16(16), m17(17), m18(18), m19(19), m20(20), m21(21), m22(22), m23(23), m24(24), m25(25), m26(26), m27(27), m28(28), m29(29), m30(30), m31(31), m32(32), m33(33), m34(34), m35(35), m36(36), m37(37), m38(38), m39(39), m40(40), m41(41), m42(42), m43(43), m44(44), m45(45), m46(46), m47(47), m48(48), m49(49), m50(50), m51(51), m52(52), m53(53), m54(54), m55(55), m56(56), m57(57), m58(58), m59(59) } MAX-ACCESS read-create STATUS current DESCRIPTION "The set of minutes within an hour the scheduled action should take place.The action is scheduled for every minute within Expires August 1998 [Page 9] Internet-Draft Schedule MIB February 1998 an hour if no bit is set." ::= { schedEntry 9 } schedVariable OBJECT-TYPE SYNTAX VariablePointer MAX-ACCESS read-create STATUS current DESCRIPTION "An object identifier pointing to a local MIB variable which resolves to an ASN.1 primitive type of INTEGER." ::= { schedEntry 10 } schedValue OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The value which is written to the MIB object pointed to by schedVariable when the scheduler invokes an action. The implementation has to enforce access control rules when performing the set operation on schedVariable." ::= { schedEntry 11 } schedAdminStatus OBJECT-TYPE SYNTAX INTEGER { periodic(1), calendar(2), disabled(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The desired state of the schedule. The periodic(1) state indicates this entry specifies a periodic schedule. The calendar(2) state indicates that this entry describes a calendar schedule. The disabled(2) state indicates that this entry is currently inactive." ::= { schedEntry 12 } schedOperStatus OBJECT-TYPE SYNTAX INTEGER { periodic(1), calendar(2), disabled(3), enabling(4), disabling(5) } Expires August 1998 [Page 10] Internet-Draft Schedule MIB February 1998 MAX-ACCESS read-only STATUS current DESCRIPTION "The current operational state of this schedule. The periodic(1) state indicates that the periodic schedule is active and the calendar(2) state indicates that the calendar schedule is active. The disabled(3) state indicates that the schedule is currently not active. The enabling(4) state is used to indicate that the schedAdminStatus has been set to periodic(1) or calendar(2), but the scheduler implementation did not yet finish to activate the schedule. The disabling(5) state indicates that the schedAdminStatus object has been set to disabled(3) and the scheduler implementation did not yet finish to de-activate the active schedule." ::= { schedEntry 13 } schedFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of failures while invoking the scheduled action." ::= { schedEntry 14 } schedLastFailure OBJECT-TYPE SYNTAX INTEGER { noError(0), genErr(5), noAccess(6), wrongType(7), wrongLength(8), wrongValue(10), noCreation(11), inconsistentValue(12), resourceUnavailable(13), commitFailed(14), undoFailed(15), authorizationError(16), notWritable(17), inconsistentName(18) } MAX-ACCESS read-only STATUS current DESCRIPTION "The most recent error that occured during the invocation of a scheduled action. The value noError(0) is returned Expires August 1998 [Page 11] Internet-Draft Schedule MIB February 1998 if no error happend so far. The failure codes have the meaning as defined in RFC 1905." ::= { schedEntry 15 } schedLastFailed OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when the last failure occured. The value 0 is returned if the last failure occured before the last re-initialization of sysUpTime." ::= { schedEntry 16 } schedStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines whether this scheduled action is kept in volatile storage and lost upon reboot or if this row is backed up by non-volatile or permanent storage." ::= { schedEntry 17 } schedRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this scheduled action. A control that allows entries to be added and removed from this table." ::= { schedEntry 18 } -- -- Notifications that are emitted to indicate failures. -- -- The schedMIBNotificationPrefix makes sure that the notification -- registration is reversible, which is needed for SNMPv1 to SNMPv2 -- or SNMPv3 proxies. schedMIBNotificationPrefix OBJECT IDENTIFIER ::= { schedMIBNotifications 0 } schedActionFailure NOTIFICATION-TYPE OBJECTS { schedLastFailure } STATUS current DESCRIPTION Expires August 1998 [Page 12] Internet-Draft Schedule MIB February 1998 "This notification is generated whenever the invocation of a scheduled action fails." ::= { schedMIBNotificationPrefix 1 } -- conformance information schedCompliances OBJECT IDENTIFIER ::= { schedMIBConformance 1 } schedGroups OBJECT IDENTIFIER ::= { schedMIBConformance 2 } -- compliance statements schedCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities which implement the scheduling MIB." MODULE -- this module MANDATORY-GROUPS { schedGroup, schedNotificationsGroup } GROUP schedCalendarGroup DESCRIPTION "The schedCalendarGroup is mandatory only for those implementations that support calendar based schedules." OBJECT schedAdminStatus DESCRIPTION "The value calendar(2) is not valid for implementations that do no implement the schedCalendarGroup. Such an implementation must return a noSuchInstance error responses for attempts to set schedAdminStatus to calendar(2)." ::= { schedCompliances 1 } schedGroup OBJECT-GROUP OBJECTS { schedDescr, schedInterval, schedVariable, schedValue, schedAdminStatus, schedOperStatus, schedFailures, schedLastFailure, schedLastFailed, schedStorageType, schedRowStatus } Expires August 1998 [Page 13] Internet-Draft Schedule MIB February 1998 STATUS current DESCRIPTION "A collection of objects providing scheduling capabilities." ::= { schedGroups 1 } schedCalendarGroup OBJECT-GROUP OBJECTS { schedWeekDay, schedMonth, schedDay, schedHour, schedMinute } STATUS current DESCRIPTION "A collection of objects providing calendar based schedules." ::= { schedGroups 2 } schedNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { schedActionFailure } STATUS current DESCRIPTION "The notifications emitted by the scheduler." ::= { schedGroups 3 } END 5. Security Considerations Scheduled SNMP set operations must use the security credentials that were present when the corresponding row in the scheduler was created. An implementation must therefore record and maintain the credentials for every schedule. An implementation must also ensure that access control rules are applied when doing the set operation. This MIB limits scheduled actions to objects in the local MIB. This avoids some security problems with delegated access rights. However, it might be possible that a user of this MIB owns some schedules that might trigger far in the future. This can cause security risks if the security administrator did not properly update the access control lists when a user is withdrawn from an SNMP engine. It is therefore suggested to cleanup entries in the schedTable whenever a user is withdrawn from an SNMP engine. Expires August 1998 [Page 14] Internet-Draft Schedule MIB February 1998 The MIB is structured according to the guidelines defined in the DISMAN framework. These guidelines allow to define access control rules that separate multiple users of this MIB from each other. 6. Acknowledgments This document was produced by the IETF Distributed Management (DISMAN) working group. 7. Editor's Address David B. Levi Email: levi@snmp.com SNMP Research, Inc. Tel: +1 423 573 1434 3001 Kimberlin Heights Road Knoxville, TN 37920-9716 U.S.A. Juergen Schoenwaelder Email: schoenw@ibr.cs.tu-bs.de TU Braunschweig Tel: +49 531 391-3283 Bueltenweg 74/75 38106 Braunschweig Germany 8. References [1] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC1902, SNMP Research,Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [2] McCloghrie, K., and M. Rose, Editors, "Management Information Base for Network Management of TCP/IP-based internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [3] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. Expires August 1998 [Page 15] Internet-Draft Schedule MIB February 1998 [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC1905, SNMP Research,Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC1903, SNMP Research,Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [10] F. Yergeau, "UTF-8, a transformation format of Unicode and ISO 10646", RFC 2044, October 1996. 9. Changes from o Clarifications about drifts between initiations of action in a periodic scheduler. o Made the registration of the notification reversible. o Changed the syntax of schedInterval from TimeInterval to Unsigned32. The maximum resolution is now seconds instead of hundreds of a second. o The conformance statement makes objects for the calendar-based scheduler optional. o Minor changes to make the MIB compile with smicng. 10. Full Copyright Statement Copyright (C) The Internet Society (1998). 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 Expires August 1998 [Page 16] Internet-Draft Schedule MIB February 1998 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 August 1998 [Page 17] Internet-Draft Schedule MIB February 1998 Table of Contents 1 Abstract ..................................................... 2 2 The SNMPv2 Network Management Framework ...................... 2 2.1 Object Definitions ......................................... 2 3 Overview ..................................................... 3 3.1 Periodic Schedules ......................................... 3 3.2 Calendar Schedules ......................................... 3 3.3 Actions .................................................... 4 4 Definitions .................................................. 5 5 Security Considerations ...................................... 14 6 Acknowledgments .............................................. 15 7 Editor's Address ............................................. 15 8 References ................................................... 15 9 Changes from ............. 16 10 Full Copyright Statement .................................... 16 Expires August 1998 [Page 18]