Definitions of Managed Objects for DLUR November 19, 1996 Bob Clouston (editor) Cisco Systems clouston@cisco.com Bob Moore (editor) IBM Corporation remoore@ralvm6.vnet.ibm.com 1. 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. Internet-Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet-Drafts as reference material or to cite them other than as a working draft or 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, nic.nordu.net, ftp.isi.edu, or munnari.oz.au. 2. Introduction This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for monitoring and controlling network Expires May 19, 1997 [Page 1] Internet Draft SNANAU DLUR MIB November 1996 devices with DLUR (Dependent LU Requester) capabilities. This memo identifies managed objects for the DLUR protocol. This memo does not specify a standard for the Internet community. 3. The SNMP Network Management Framework The SNMP Network Management Framework consists of several components. For the purpose of this specification, the applicable components of the Framework are the SMI and related documents [1, 2, 3], which define the mechanisms used for describing and naming objects for the purpose of management. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 4. Overview This document identifies the proposed set of objects for monitoring the configuration and active characteristics of devices with DLUR capabilities. Dependent LU requester/server (DLUR/S) is an extension to the Advanced Peer-to-Peer Networking (APPN) architecture that provides dependent LU services in APPN networks. See the SNANAU APPN MIB [4] for management of APPN networks. The base APPN architecture only provided for transport of data between independent logical units (LUs). However, customers have an enormous investment in applications based on dependent LU types. DLUR/S provides for support of dependent LU sessions in an APPN network. A dependent LU server (DLUS) is an APPN node that provides System Services Control Point (SSCP) services over an APPN network to remote secondary dependent LUs by using SSCP-PU and SSCP-LU sessions whose flows are encapsulated on LU 6.2 session flows between the DLUS node and the appropriate dependent LU requester (DLUR) node. The secondary dependent LUs may be local to the DLUR node, or in adjacent type 2.0 or 2.1 nodes. The LU 6.2 control sessions between a DLUS node and a DLUR node are referred to as a CPSVRMGR pipe. CPSVRMGR refers to the mode used for the sessions. In this document, we describe DLUR managed objects. Expires May 19, 1997 [Page 2] Internet Draft SNANAU DLUR MIB November 1996 The DLUR terms and overall architecture are described in [5]. Highlights of the management functions supported by the DLUR MIB module include the following: o Identifying the node's DLUR capabilities o Displaying the physical units (PUs) this node is supporting o Identification of Dependent LU Servers o Displaying the state of control sessions to Dependent LU Servers. This MIB module does not support: o Management of dependent LU servers o Configuration of DLUR nodes. o Changing the state of control session to the DLUS o Displaying the dependent LUs this node is supporting o Traps. The APPN MIB contains a trap for Alert conditions that may affect DLUR resources. 4.1. DLUR MIB Structure The DLUR MIB module contains the following groups of objects: o dlurNodeInfo--objects representing the capabilities and architecture options supported by the DLUR implementation, as well as default primary and backup DLUSs. o dlurPuInfo--objects describing the PUs that this APPN node is supporting with DLUR. o dlurDlusInfo--objects describing the control sessions with DLUSs. These groups are described below in more detail. Expires May 19, 1997 [Page 3] Internet Draft SNANAU DLUR MIB November 1996 4.1.1. dlurNodeInfo group The dlurNodeInfo group consists of the following objects and table: 1) dlurNodeCapabilities group These objects represent the capabilities and options of the DLUR implementation, such as the release level of the implementation 2) dlurDefaultDefBackupDlusTable This group identifies the list of defined backup DLUSs for all PUs served by this DLUR, if there is no specific DLUS backup list for the PU. The list is in descending order of preference as a backup DLUS. 4.1.2. dlurPuInfo group The dlurPuInfo group consists of the following table 1) dlurPuTable This table has an entry for each PU this node is supporting via DLUR, including the locally known name, the SSCP supplied name (if known), and the PU status. 4.1.3. dlurDlusInfo group This group consists of the following table: 1) dlurDlusTable This table contains information about the control sessions (CPSVRMGR pipes) with the DLUS, including the control point (CP) name of the DLUS and the status of the control session. Expires May 19, 1997 [Page 4] Internet Draft SNANAU DLUR MIB November 1996 5. Definitions APPN-DLUR-MIB DEFINITIONS ::= BEGIN IMPORTS DisplayString, TruthValue, TEXTUAL-CONVENTION FROM SNMPv2-TC OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF snanauMIB FROM SNA-NAU-MIB SnaControlPointName FROM APPN-MIB; dlurMIB MODULE-IDENTITY LAST-UPDATED "9611190000Z" ORGANIZATION "IETF SNA NAU MIB WG / AIW APPN/HPR MIBs SIG" CONTACT-INFO " Bob Clouston Cisco Systems 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709, USA Tel: 1 919 472 2333 E-mail: clouston@cisco.com Bob Moore IBM Corporation 800 Park Offices Drive RHJA/664 P.O. Box 12195 Research Triangle Park, NC 27709, USA Tel: 1 919 254 4436 E-mail: remoore@ralvm6.vnet.ibm.com " DESCRIPTION "This is the MIB module for objects used to manage network devices with DLUR capabilities. This MIB Expires May 19, 1997 [Page 5] Internet Draft SNANAU DLUR MIB November 1996 contains information that is useful for managing an APPN product that implements a DLUR (Dependent Logical Unit Requester). The DLUR product has a client/server relationship with an APPN product that implements a DLUS (Dependent Logical Unit Server)." ::= { snanauMIB 5 } -- snanauMIB ::= { mib-2 34 } -- ********************************************************************* -- Textual Convention -- --------------------------------------------------------------------- -- SnaControlPointName is imported from the APPN MIB -- ********************************************************************* dlurObjects OBJECT IDENTIFIER ::= { dlurMIB 1 } -- ********************************************************************* dlurNodeInfo OBJECT IDENTIFIER ::= { dlurObjects 1 } -- ********************************************************************* -- DLUR Capabilities of the node -- -- This group represents the capabilities and options of the DLUR -- implementation. -- ********************************************************************* dlurNodeCapabilities OBJECT IDENTIFIER ::= { dlurNodeInfo 1 } dlurNodeCpName OBJECT-TYPE SYNTAX SnaControlPointName MAX-ACCESS read-only STATUS current DESCRIPTION "Administratively assigned network name for the APPN node where this DLUR implementation resides. This object corresponds to the appnNodeCpName object in the APPN MIB." ::= { dlurNodeCapabilities 1 } dlurReleaseLevel OBJECT-TYPE SYNTAX DisplayString (SIZE (2)) MAX-ACCESS read-only STATUS current DESCRIPTION "The DLUR release level of this implementation. This is the value that is encoded in the DLUR/DLUS Capabilites (CV 51). Expires May 19, 1997 [Page 6] Internet Draft SNANAU DLUR MIB November 1996 To insure consistent display, this one-byte value is encoded here as two displayable characters that are equivalent to a hexadecimal display. For example, if the one-byte value as encoded in CV51 is X'01', this object will contain the displayable string '01'." ::= { dlurNodeCapabilities 2 } dlurAnsSupport OBJECT-TYPE SYNTAX INTEGER { continueOrStop(1), stopOnly(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Automatic Network Shutdown capability of this node. - 'continueOrStop' indicates that the DLUR implementation supports either ANS value (continue or stop) as specified by the DLUS on ACTPU for each PU. - 'stopOnly' indicates that the DLUR implementation only supports the ANS value of stop. ANS = continue means that the DLUR node will keep LU-LU sessions active even if SSCP-PU and SSCP-LU control sessions are interrupted. ANS = stop means that LU-LU sessions will be interrupted when the SSCP-PU and SSCP-LU sessions are interrupted." ::= { dlurNodeCapabilities 3 } dlurMultiSubnetSupport OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indication of whether this DLUR implementation can support CPSVRMGR sessions that cross NetId boundaries." ::= { dlurNodeCapabilities 4 } dlurDefaultDefPrimDlusName OBJECT-TYPE SYNTAX SnaControlPointName Expires May 19, 1997 [Page 7] Internet Draft SNANAU DLUR MIB November 1996 MAX-ACCESS read-only STATUS current DESCRIPTION "The SNA name of the defined default primary DLUS for all of the PUs served by this DLUR. This can be overridden for a particular PU by a defined primary DLUS for that PU, represented by the dlurPuDefPrimDlusName object." ::= { dlurNodeCapabilities 5 } -- ********************************************************************* -- DLUR default defined backup DLUS table -- ********************************************************************* dlurDefaultDefBackupDlusTable OBJECT-TYPE SYNTAX SEQUENCE OF DlurDefaultDefBackupDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains an ordered list of defined backup DLUSs for all of the PUs served by this DLUR. These can be overridden for a particular PU by a list of defined backup DLUSs for that PU, represented by the dlurPuDefBackupDlusNameTable. Entries in this table are ordered from most preferred backup DLUS to least preferred." ::= { dlurNodeInfo 2 } dlurDefaultDefBackupDlusEntry OBJECT-TYPE SYNTAX DlurDefaultDefBackupDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by an arbitrary integer-valued index." INDEX { dlurDefaultDefBackupDlusIndex } ::= { dlurDefaultDefBackupDlusTable 1 } DlurDefaultDefBackupDlusEntry ::= SEQUENCE { dlurDefaultDefBackupDlusIndex INTEGER, dlurDefaultDefBackupDlusName SnaControlPointName } dlurDefaultDefBackupDlusIndex OBJECT-TYPE SYNTAX INTEGER (1..255) Expires May 19, 1997 [Page 8] Internet Draft SNANAU DLUR MIB November 1996 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index for this table." ::= { dlurDefaultDefBackupDlusEntry 1 } dlurDefaultDefBackupDlusName OBJECT-TYPE SYNTAX SnaControlPointName MAX-ACCESS read-only STATUS current DESCRIPTION "Fully qualified name of a default backup DLUS for PUs served by this DLUR." ::= { dlurDefaultDefBackupDlusEntry 2 } -- ********************************************************************* -- DLUR-unique Information about PUs -- -- The following table carries DLUR-unique information about the PUs -- that this APPN node is supporting via DLUR. -- ********************************************************************* dlurPuInfo OBJECT IDENTIFIER ::= { dlurObjects 2 } dlurPuTable OBJECT-TYPE SYNTAX SEQUENCE OF DlurPuEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "DLUR-unique information about PUs supported by this DLUR." ::= { dlurPuInfo 1 } dlurPuEntry OBJECT-TYPE SYNTAX DlurPuEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry in table of DLUR-unique information about PUs" INDEX { dlurPuName } ::= { dlurPuTable 1 } DlurPuEntry ::= SEQUENCE { Expires May 19, 1997 [Page 9] Internet Draft SNANAU DLUR MIB November 1996 dlurPuName DisplayString, dlurPuSscpSuppliedName DisplayString, dlurPuStatus INTEGER, dlurPuAnsSupport INTEGER, dlurPuLocation INTEGER, dlurPuLsName DisplayString, dlurPuDlusSessnStatus INTEGER, dlurPuActiveDlusName DisplayString, dlurPuDefPrimDlusName DisplayString } dlurPuName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..17)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally administered name of the PU. If this object has the same value as the snaPu20Name object in the SNANAU MIB, then the two are identifying the same PU." ::= { dlurPuEntry 1 } dlurPuSscpSuppliedName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..17)) MAX-ACCESS read-only STATUS current DESCRIPTION "The SNA name of the PU. This value is supplied to a PU by the SSCP that activated it. If a value has not been supplied, a zero-length string is returned. If this object has the same value as the snaNodeSscpSuppliedName object in the SNANAU MIB, then the two are identifying the same PU." ::= { dlurPuEntry 2 } dlurPuStatus OBJECT-TYPE SYNTAX INTEGER { reset(1), pendReqActpuRsp(2), pendActpu(3), pendActpuRsp(4), active(5), pendLinkact(6), pendDactpuRsp(7), pendInop(8), Expires May 19, 1997 [Page 10] Internet Draft SNANAU DLUR MIB November 1996 pendInopActpu(9) } MAX-ACCESS read-only STATUS current DESCRIPTION "Status of the DLUR-support PU." ::= { dlurPuEntry 3 } dlurPuAnsSupport OBJECT-TYPE SYNTAX INTEGER { continue(1), stop(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The Automatic Network Shutdown (ANS) support configured for this PU. This value (as configured by the network administrator) is sent by DLUS with ACTPU for each PU. - 'continue' means that the DLUR node will attempt to keep LU-LU sessions active even if SSCP-PU and SSCP-LU control sessions are interrupted. - 'stop' means that LU-LU sessions will be interrupted when the SSCP-PU and SSCP-LU sessions are interrupted." ::= { dlurPuEntry 4 } dlurPuLocation OBJECT-TYPE SYNTAX INTEGER { internal(1), downstream(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Location of the DLUR-support PU: internal(1) - internal to the APPN node itself (no link) downstream(2) - downstream of the APPN node (connected via a link)." ::= { dlurPuEntry 5 } dlurPuLsName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..10)) Expires May 19, 1997 [Page 11] Internet Draft SNANAU DLUR MIB November 1996 MAX-ACCESS read-only STATUS current DESCRIPTION "Administratively assigned name of the link station through which a downstream PU is connected to this DLUR. A zero-length string is returned for internal PUs. If this object has the same value as the appnLsName object in the APPN MIB, then the two are identifying the same link station." ::= { dlurPuEntry 6 } dlurPuDlusSessnStatus OBJECT-TYPE SYNTAX INTEGER { reset(1), pendingActive(2), active(3), pendingInactive(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "Status of the control session to the DLUS identified in dlurPuActiveDlusName. This is a combination of the separate states for the contention-winner and contention-loser sessions: reset(1) - none of the cases below pendingActive(2) - either contention-winner session or contention-loser session is pending active active(3) - contention-winner and contention-loser sessions are both active pendingInactive(4) - either contention-winner session or contention-loser session is pending inactive - this test is made AFTER the 'pendingActive' test." ::= { dlurPuEntry 7 } dlurPuActiveDlusName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..17)) MAX-ACCESS read-only STATUS current DESCRIPTION "The SNA name of the active DLUS for this PU. If present, this name follows the SnaControlPointName textual convention. A zero-length string indicates that the PU does not currently have an active DLUS." Expires May 19, 1997 [Page 12] Internet Draft SNANAU DLUR MIB November 1996 ::= { dlurPuEntry 8 } dlurPuDefPrimDlusName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..17)) MAX-ACCESS read-only STATUS current DESCRIPTION "The SNA name of the defined primary DLUS for this PU, if one has been defined. If present, this name follows the SnaControlPointName textual convention. A zero-length string indicates that no primary DLUS has been defined for this PU, in which case the global default represented by the dlurDefaultDefPrimDlusName object is used." ::= { dlurPuEntry 9 } -- ***************************************** -- Defined backup DLUS table for a PU -- ***************************************** dlurPuDefBackupDlusTable OBJECT-TYPE SYNTAX SEQUENCE OF DlurPuDefBackupDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains an ordered list of defined backup DLUSs for those PUs served by this DLUR that have their own defined backup DLUSs. PUs that have no entries in this table use the global default backup DLUSs for the DLUR, represented by the dlurDefaultDefBackupDlusNameTable. Entries in this table are ordered from most preferred backup DLUS to least preferred for each PU." ::= { dlurPuInfo 2 } dlurPuDefBackupDlusEntry OBJECT-TYPE SYNTAX DlurPuDefBackupDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is indexed by PU name and by an arbitrary integer- valued index." INDEX { dlurPuDefBackupDlusPuName, dlurPuDefBackupDlusIndex } Expires May 19, 1997 [Page 13] Internet Draft SNANAU DLUR MIB November 1996 ::= { dlurPuDefBackupDlusTable 1 } DlurPuDefBackupDlusEntry ::= SEQUENCE { dlurPuDefBackupDlusPuName DisplayString, dlurPuDefBackupDlusIndex INTEGER, dlurPuDefBackupDlusName SnaControlPointName } dlurPuDefBackupDlusPuName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..17)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally administered name of the PU. If this object has the same value as the dlurPuName object, then the two are identifying the same PU." ::= { dlurPuDefBackupDlusEntry 1 } dlurPuDefBackupDlusIndex OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Secondary index for this table." ::= { dlurPuDefBackupDlusEntry 2 } dlurPuDefBackupDlusName OBJECT-TYPE SYNTAX SnaControlPointName MAX-ACCESS read-only STATUS current DESCRIPTION "Fully qualified name of a backup DLUS for this PU." ::= { dlurPuDefBackupDlusEntry 3 } -- ********************************************************************* -- DLUS Control Sessions (CPSVRMGR Pipes) -- -- This table contains information about DLUS control sessions, also -- known as CPSVRMGR pipes. Although DLUR uses a pair of CPSVRMGR -- sessions for communication, for the purpose of status, information -- about these two sessions is combined to yield a single status for the -- requester/server connection. -- ********************************************************************* Expires May 19, 1997 [Page 14] Internet Draft SNANAU DLUR MIB November 1996 dlurDlusInfo OBJECT IDENTIFIER ::= { dlurObjects 3 } dlurDlusTable OBJECT-TYPE SYNTAX SEQUENCE OF DlurDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about DLUS control sessions." ::= { dlurDlusInfo 1} dlurDlusEntry OBJECT-TYPE SYNTAX DlurDlusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This entry is indexed by the name of the DLUS." INDEX { dlurDlusName } ::= { dlurDlusTable 1 } DlurDlusEntry ::= SEQUENCE { dlurDlusName SnaControlPointName, dlurDlusSessnStatus INTEGER } dlurDlusName OBJECT-TYPE SYNTAX SnaControlPointName MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SNA name of a DLUS with which this DLUR currently has a CPSVRMGR pipe established." ::= { dlurDlusEntry 1 } dlurDlusSessnStatus OBJECT-TYPE SYNTAX INTEGER { reset(1), pendingActive(2), active(3), pendingInactive(4) } MAX-ACCESS read-only STATUS current Expires May 19, 1997 [Page 15] Internet Draft SNANAU DLUR MIB November 1996 DESCRIPTION "Status of the CPSVRMGR pipe between the DLUR and this DLUS. This is a combination of the separate states for the contention-winner and contention-loser sessions: reset(1) - none of the cases below pendingActive(2) - either contention-winner session or contention-loser session is pending active active(3) - contention-winner and contention-loser sessions are both active pendingInactive(4) - either contention-winner session or contention-loser session is pending inactive - this test is made AFTER the 'pendingActive' test." ::= { dlurDlusEntry 2 } -- *************************************************************** -- Conformance information -- *************************************************************** dlurConformance OBJECT IDENTIFIER ::= { dlurMIB 2 } dlurCompliances OBJECT IDENTIFIER ::= { dlurConformance 1 } dlurGroups OBJECT IDENTIFIER ::= { dlurConformance 2 } -- Compliance statements dlurCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the SNMPv2 entities which implement the DLUR MIB." MODULE -- this module -- Unconditionally mandatory groups MANDATORY-GROUPS { dlurConfGroup } ::= { dlurCompliances 1 } -- Units of conformance dlurConfGroup OBJECT-GROUP OBJECTS { dlurNodeCpName, Expires May 19, 1997 [Page 16] Internet Draft SNANAU DLUR MIB November 1996 dlurReleaseLevel, dlurAnsSupport, dlurMultiSubnetSupport, dlurDefaultDefPrimDlusName, dlurDefaultDefBackupDlusName, dlurPuSscpSuppliedName, dlurPuStatus, dlurPuAnsSupport, dlurPuLocation, dlurPuLsName, dlurPuDlusSessnStatus, dlurPuActiveDlusName, dlurPuDefPrimDlusName, dlurPuDefBackupDlusName, dlurDlusSessnStatus } STATUS current DESCRIPTION "A collection of objects providing information on an implementation of APPN DLUR." ::= { dlurGroups 1 } -- end of conformance statement END Expires May 19, 1997 [Page 17] Internet Draft SNANAU DLUR MIB November 1996 6. Acknowledgments This MIB module is the product of the IETF SNA NAU MIB WG and the AIW APPN/HPR MIBs SIG. 7. 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)", RFC 1902, January 1996. [2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996. [3] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996. [4] Clouston, B., and B. Moore, "Definition of Managed Objects for APPN", Cisco Systems, IBM Corporation, November 1996. [5] IBM, Systems Network Architecture Advanced Peer-to-Peer Networking Dependent LU Requester Architecture Reference, Version 1.2, December 1995. Expires May 19, 1997 [Page 18] Internet Draft SNANAU DLUR MIB November 1996 8. Security Considerations Security issues are not discussed in this memo. 9. Authors' Addresses Bob Clouston Cisco Systems 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709, USA Tel: 1 919 472 2333 E-mail: clouston@cisco.com Bob Moore IBM Corporation 800 Park Offices Drive CNMA/664 P.O. Box 12195 Research Triangle Park, NC 27709, USA Tel: 1 919 254 4436 E-mail: remoore@ralvm6.vnet.ibm.com Expires May 19, 1997 [Page 19] Internet Draft SNANAU DLUR MIB November 1996 10. Table of Contents 1. Status of this Memo .................................... 1 2. Introduction ........................................... 1 3. The SNMP Network Management Framework .................. 2 4. Overview ............................................... 2 4.1 DLUR MIB structure .................................... 3 5. Definitions ............................................ 5 6. Acknowledgments ........................................ 18 7. References ............................................. 18 8. Security Considerations ................................ 19 9. Author's Addresses ..................................... 19 Expires May 19, 1997 [Page 20]