Subject: TN3270E-RT-MIB

From: [email-masked]
Date: Thu, 29 Jan 98 18:00:36 EST

A new version of the TN3270E-RT-MIB has been sent for posting
and is attached to this note. The TN3270E-RT-MIB,
<draft-ietf-tn3270e-rt-mib-03.txt>, has had the following
changes made to it:

 1. Minor editorial changes.
 2. Section 3.1 of RFC 1902 states that "by convention, if the
    description refers to an object with an SYNTAX clause value
    of either Counter32 Counter64, then the descriptor used for the
    object should denote plurality." Given this the following
    objects where renamed:
       tn3270eRtDataAvgTransCount to tn3270eRtDataAvgCountTrans
       tn3270eRtDataTotalRt to tn3270eRtDataTotalRts
       tn3270eRtDataTotalIpRt to tn3270eRtDataTotalIpRts
       tn3270eRtDataTransCount to tn3270eRtDataCountTrans
       tn3270eRtDataDrCount to tn3270eRtDataCountDrs
       tn3270eRtDataBucket1 to tn3270eRtDataBucket1Rts
       tn3270eRtDataBucket2 to tn3270eRtDataBucket2Rts
       tn3270eRtDataBucket3 to tn3270eRtDataBucket3Rts
       tn3270eRtDataBucket4 to tn3270eRtDataBucket4Rts
       tn3270eRtDataBucket5 to tn3270eRtDataBucket5Rts
 3. Added a range, 15..86400 (15 second min, 24 hour max),
    to tn3270eRtCollCtlSPeriod.
 4. Added a range, 1..5760, to tn3270eRtCollCtlSPMult. A value
    of 5760 for this times a SPeriod of 15 (its minimum) yields
    a 24 hour interval.
 5. Added DEFVAL { 0 }, which suppresses notifications, to
    tn3270eRtCollCtlThreshHigh and tn3270eRtCollCtlThreshLow.
 6. Changed the SYNTAX of tn3270eRtDataAvgCountTrans to Gauge32
    instead of Counter32.
 7. Removed the following objects from the tn3270eRtExceeded,
    tn3270eRtOkay, and tn3270eRtCollEnd notifications because their
    values are part of the index of the other objects in the
    notifications:
       tn3270eSrvrConfIndex,
       tn3270eRtCollCtlClientGroupName,
       tn3270eRtDataClientAddrType,
       tn3270eRtDataClientAddress,
 8. Deleted:
       tn3270eSrvrConfIndex,
       tn3270eRtCollCtlClientGroupName,
       tn3270eRtDataClientAddrType,
       tn3270eRtDataClientAddress,
    from a tn3270eRtCollStart notification and added:
       tn3270eRtDataRtMethod.
 9. Changed the tn3270eRtCollCtlTable to directly use
    th3270eClientGroupName from the TN3270E-MIB instead
    of tn3270eRtCollCtlClientGroupName.
10. Removed tn3270eResMapElementName from the tn3270eRtCollStart
    notification since its value is part of the
    tn3270eResMapElementType object's value.

We hope to post the TN3270E-MIB next week.

Regards,

Ken White
Bob Moore
================================================================

TN3270E Working Group
INTERNET DRAFT: <draft-ietf-tn3270e-rt-mib-03.txt>         Kenneth White
Expiration Date: July 1998                                     IBM Corp.
                                                            Robert Moore
                                                               IBM Corp.

                                                            January 1998

            Definitions of Protocol and Managed Objects for
              TN3270E Response Time Collection Using SMIv2
                            (TN3270E-RT-MIB)
                   <draft-ietf-tn3270e-rt-mib-03.txt>

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."

  Please check the I-D abstract listing contained in each Internet
  Draft directory to learn the current status of this or any Internet
  Draft.  Distribution of this document is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1997).  All Rights Reserved.

Abstract

  This memo defines the protocol and the Management Information Base
  (MIB) for performing response time data collection on TN3270 and
  TN3270E sessions by a TN3270E server.  The response time data
  collected by a TN3270E server is structured to support both validation
  of service level agreements and performance monitoring of TN3270 and
  TN3270E Sessions.  This MIB has as a prerequisite the TN3270E-MIB
  reference [10].

  TN3270E, defined by RFC 1647 [11], refers to the enhancements made
  to the Telnet 3270 (TN3270) terminal emulation practices.  Refer
  to: RFC 1041 [4], RFC 854 [2], and RFC 860 [3] for a sample of

Expires July 1998                                               [Page 1]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  what is meant by TN3270 practices.

  The specification of this MIB uses the Structure of Management
  Information (SMI) for Version 2 of the Simple Network Management
  Protocol Version (refer to RFC1902 [1]).

Table of Contents

   1. Introduction..............................................  2
   2. The SNMPv2 Network Management Framework...................  3
   3. Response Time Collection Methodology......................  3
   3.1 General Response Time Collection.........................  3
   3.2 TN3270E Server Response Time Collection..................  5
   3.3 Correlating TN3270E Server and Host Response Times.......  9
   3.4 Timestamp Calculation.................................... 11
   3.4.1 DR Usage............................................... 11
   3.4.2 TIMEMARK Usage......................................... 13
   3.5 Performance Data Modelling............................... 15
   3.5.1 Averaging Response Times............................... 15
   3.5.2 Response Time Buckets.................................. 18
   4. Structure of the MIB...................................... 18
   4.1 tn3270eRtCollCtlTable.................................... 18
   4.2 tn3270eRtDataTable....................................... 21
   4.3 Notifications............................................ 23
   4.4 Advisory Spin Lock Usage................................. 23
   5. Definitions............................................... 24
   6. Security Considerations................................... 43
   7. Intellectual Property..................................... 44
   8. Acknowledgments........................................... 44
   9. References................................................ 44
  10. Authors' Addresses........................................ 45
  11. Full Copyright Statement.................................. 46

1.  Introduction

  nh This document is a product of the TN3270E Working Group.  It
  defines a protocol and a MIB module to enable a TN3270E server to col-
  lect response time data for both TN3270 and TN3270E clients.  Basis
  for implementing this MIB:

         o TN3270E-MIB, Base Definitions of Managed Objects for TN3270E
                   Using SMIv2 [10].

         o TN3270E RFCs

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this

Expires July 1998                                               [Page 2]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  document are to be interpreted as described in RFC 2119, reference
  [13].

2.  The SNMPv2 Network Management Framework

  The SNMPv2 Network Management Framework consists of seven major
  components.  They are:

  o RFC 1902 [1] which defines the SMI, the mechanisms used for
    describing and naming objects for the purpose of management.

  o RFC 1903 [6] defines textual conventions for SNMPv2.

  o RFC 1904 [8] defines conformance statements for SNMPv2.

  o RFC 1905 [7] defines  transport mappings for SNMPv2.

  o RFC 1906 [5] defines the protocol operations used for network
    access to managed objects.

  o RFC 1907 [9] defines the Management Information Base for SNMPv2.

  o RFC 1908 [14] specifies coexistence between SNMP and SNMPv2.

  The Framework permits new objects to be defined for the purpose of
  experimentation and evaluation.

  This memo specifies a MIB module that is compliant to the SNMPv2 SMI.
  A semantically identical MIB module conforming to the SNMPv1 SMI can
  be produced through the appropriate translation.

3.  Response Time Collection Methodology

  This section explains the methodology and approach used by the MIB
  defined by this memo for response time data collection by a TN3270E
  server.

3.1.  General Response Time Collection

  Two primary methods exist for measuring response times in SNA
  networks:

      o The Systems Network Architecture Management Services
        (SNA/MS) Response Time Monitoring (RTM) function.
      o Timestamping using definite response flows.

Expires July 1998                                               [Page 3]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  This memo defines an approach using definite responses to timestamp
  the flows between a client and its TN3270E server, rather than by use
  of the RTM method. Extensions to the SNA/MS RTM flow were considered,
  but this approach was deemed unsuitable since not all TN3270E server
  implementations have access to their underlying SNA stacks.  The RTM
  concepts of keeping response time buckets for service level agreements
  and of interval-based response time collection for performance
  monitoring are preserved in the MIB module defined in this memo.

  As mentioned, this memo focuses on using definite responses to
  timestamp the flows between a client and its TN3270E server for
  generating performance data.  Use of a definite response flow requires
  that the client supports TN3270E with the RESPONSES function
  negotiated.  The TN3270 TIMEMARK option can be used instead of
  definite response for supporting TN3270 clients or TN3270E clients
  that don't support RESPONSES.  This document focuses first on defining
  the protocol and methods for generating performance data using
  definite responses, and then describes how the TIMEMARK option can be
  used instead of definite response.

  In an SNA network, a transaction between a client Logical Unit (LU)
  and a target host in general looks as follows:

        ------------------------------------------------
        |                                              |
        | Client LU                    Target SNA Host |
        |                                              |
        |                               Timestamps     |
        |              request              A          |
        | ----------------------------------------->   |
        |              reply(DR)            B      |   |
        | <---------------------------------------<    |
        | |            +/-RSP               C          |
        | >--------------------------------------->    |
        |                                              |
        | DR:     Definite Response requested          |
        | +/-RSP: Definite Response                    |
        |                                              |
        ------------------------------------------------

  This transaction is a simple one, and is being used only to illustrate
  how timestamping at a target SNA host can be used to generate response
  times.  An IBM redbook [12] provides a more detailed description of
  response time collection for a transaction of this type.  Note that
  for the purpose of calculating an approximation for network transit
  time, it doesn't matter if the response is positive or negative.  Two
  response time values are typically calculated:

Expires July 1998                                               [Page 4]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      o Host Transit Time:    Timestamp B - Timestamp A
      o Network Transit Time: Timestamp C - Timestamp B

  Network transit time is an approximation for the amount of time that a
  transaction requires to flow across a network, since the response flow
  is being substituted for the request flow at the start of the
  transaction.  Network transit time, timestamp C - timestamp B, is the
  amount of time that the definite response request and its response
  required.  Host time, timestamp B - timestamp A, is the actual time
  that the host required to process the transaction.  Experience has
  shown that using the response flow to approximate network transit
  times is useful, and does correlate well with actual network transit
  times.

  A client SHOULD respond to a definite response request when it
  completes processing the transaction.  This is important since it
  increases the accuracy of a total response time.  Clients that
  immediately respond to a definite response request will be attributed
  with lower total response times then those that actually occurred.

  The TN3270E-RT-MIB describes a method of collecting performance data
  that is not appropriate for printer (LU Type 1 or LU Type 3) sessions;
  thus collection of performance data for printer sessions is excluded
  from this MIB.  This exclusion of printer sessions is not considered a
  problem, since these sessions are not the most important ones for
  response time monitoring, and since historically they were excluded
  from SNA/MS RTM collection.  The tn3270eTcpConnResourceType object in
  a tn3270eTcpConnEntry (in the TN3270E-MIB) can be examined to
  determine if a client session is ineligible for response time data
  collection for this reason.

3.2.  TN3270E Server Response Time Collection

  A TN3270E server connects an IP client performing 3270 emulation to a
  target SNA host over both an IP network (IP client to TN3270E server)
  and an SNA Network (TN3270E server to target SNA host).  A TN3270E
  server can use SNA definite responses and the TN3270 Enhancement (RFC
  1647 [11]) RESPONSES function to calculate response times for a
  transaction, by timestamping when a client request arrives at the
  server, when the reply arrives from the target host, and when the
  response acknowledging this reply arrives from the client.

  Section 3.4, Timestamp Calculation, provides specifics on when in the
  sequence of flows between a TN3270E client and its target SNA host a
  TN3270E server takes its timestamps.  In addition, there is
  information on how the TN3270 TIMEMARK request/response flow can be
  used instead of DR for approximating IP network transit times.

Expires July 1998                                               [Page 5]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  The following figure adds a TN3270E server between the client, in this
  case a TN3270E client and the target SNA host:

        ------------------------------------------------
        |                                              |
        | Client            TN3270E           Target   |
        |                    Server          SNA Host  |
        |                   Timestamps                 |
        |                                              |
        | <---IP Network-------><---SNA Network--->    |
        |                                              |
        |      request         D                       |
        | ------------------------------------------>  |
        |      reply(DR)       E                    |  |
        | <----------------------------------------<   |
        | |    +/-RSP          F                       |
        |  >-------------------- - - - - - - - - - >   |
        |                                              |
        ------------------------------------------------

  A TN3270E server can save timestamp D when it receives a client
  request, save timestamp E when the target SNA host replies, and save
  timestamp F when the client responds to the definite response request
  that flowed with the reply.  It doesn't matter whether the target SNA
  host requested a definite response on its reply:  if it didn't, the
  TN3270E server makes the request on its own, to enable it to produce
  timestamp F.  In this case the TN3270E server does not forward the
  response to the target SNA host, as the dotted line in the figure
  indicates.

  In order to generate timestamp F, a TN3270E server MUST insure that
  the transaction specifies DR, and that the TN3270E RESPONSES function
  has been negotiated between itself and the client.  Negotiation of the
  TN3270E RESPONSES function occurs during the client's TN3270E session
  initialization.  The TN3270E servers that the authors are aware of do
  request the RESPONSES function during client session initialization.
  TN3270E clients either automatically support the RESPONSES function,
  or can be configured during startup to support it.

  Using timestamps D, E, and F the following response times can be
  calculated by a TN3270E server:

     o Total Response time:     Timestamp F - Timestamp D
     o IP Network Transit Time: Timestamp F - Timestamp E

  The MIB provides an object, tn3270eRtCollCtlType, to control several
  aspects of response time data collection.  One of the available

Expires July 1998                                               [Page 6]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  options in setting up a response time collection policy is to
  eliminate the IP-network component altogether.  This might be done
  because it is determined either that the additional IP network traffic
  would not be desirable, or that the IP-network component of the
  overall response times is not significant.

  Excluding the IP-network component from response times also has an
  implication for the way in which response time data is aggregated.  A
  TN3270E server may find that some of its clients simply don't support
  any of the functions necessary for the server to calculate the IP-
  network component of response times.  For these clients, the most that
  the server can calculate is the SNA-network component of their overall
  response times; the server records this SNA-network component as the
  TOTAL response time each of these clients' transactions.  If a
  response time collection is aggregating data from a number of clients,
  some of which have the support necessary for including the IP-network
  component in their total response time calculations, and some of which
  do not, then the server aggregates the data differently depending on
  whether the collection has been defined to include or exclude the IP-
  network component:

      o If the IP-network component is included, then transactions
        for the clients that don't support calculation of the
        IP-network component of their response times are excluded
        from the aggregation altogether.
      o If the IP-network component is excluded, then total response
        times for ALL clients include only the SNA-network component,
        even though the server could have included an IP-network
        component in the overall response times for some of these
        clients.  The server does this by setting timestamp F, which
        marks the end of a transaction's total response time, equal
        to timestamp E, the end of the transaction's SNA-network
        component.

  The principle here is that all the transactions contributing their
  response times to an aggregated value MUST make the same contribution.
  If the aggregation specifies that an IP-network component MUST be
  included in the aggregation's response times, then transactions for
  which an IP-network component cannot be calculated aren't included at
  all.  If the aggregation specifies that an IP-network component is not
  to be included, then only the SNA-network component is used, even for
  those transactions for which an IP-network component could have been
  calculated.

  There is one more complication here:  the MIB allows a management
  application to enable or disable dynamic definite responses for a
  response time collection.  Once again the purpose of this option is to
  give the network operator control over the amount of traffic

Expires July 1998                                               [Page 7]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  introduced into the IP network for response time data collection.  A
  DYNAMIC definite response is one that the TN3270E server itself adds
  to a reply, in a transaction for which the SNA application at the
  target SNA host did not specify DR in its reply.  When the +/-RSP
  comes back from the client, the server uses this response to calculate
  timestamp F, but then it does not forward the response on to the SNA
  application (since the application is not expecting a response to its
  reply).

  The dynamic definite responses option is related to the option of
  including or excluding the IP-network component of response times
  (discussed above) as follows:

      o If the IP-network component is excluded, then there is
        no reason for enabling dynamic definite responses:  the
        server always sets timestamp F equal to timestamp E, so
        the additional IP-network traffic elicited by a dynamic
        definite response would serve no purpose.
      o If the IP-network component is included, then enabling
        dynamic definite responses causes MORE transactions to
        be included in the aggregated response time values:

           - For clients that do not support sending of responses,
             timestamp F can never be calculated, and so their
             transactions are never included in the aggregate.
           - For clients that support sending of responses,
             timestamp F will always be calculated for transactions
             in which the host SNA application specifies DR in
             its reply, and so these transactions will always be
             included in the aggregate.
           - For clients that support sending of responses,
             having dynamic definite responses enabled for a
             collection results in the inclusion of additional
             transactions in the aggregate:  specifically, those
             for which the host SNA application did not specify
             DR in its reply.

  A TN3270E server also has the option of substituting TIMEMARK
  processing for definite responses in calculating the IP-network
  component of a transaction's response time.  Once again, there is no
  reason for the server to do this if the collection has been set up to
  exclude the IP-network component altogether in computing response
  times.

  The MIB is structured to keep counts and averages for total response
  times (F - D) and their IP-network components (F - E).  A management
  application can obviously calculate from these two values an average
  SNA-network component (E - D) for the response times.  This SNA-

Expires July 1998                                               [Page 8]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  network component includes the SNA host processing time at both the
  TN3270E server and at the target application.

  When a TN3270E server is in the same SNA host as the target
  application, then the SNA-network component of a transaction's
  response time will approximately equal the host transit time (B - A)
  described previously.  A host (as opposed to a gateway) TN3270E server
  implementation can typically support the establishment of sessions to
  target applications in remote SNA hosts; in this case the SNA-network
  component equals the actual SNA-network transit time plus two host
  transit times.

  A host TN3270E server refers to an implementation where the TN3270E
  server is collocated with the Systems Network Architecture (SNA)
  System Services Control Point (SSCP) for the dependent Secondary
  Logical Units (SLUs) that a server makes available to its clients for
  connecting into a SNA network.  A gateway TN3270E server resides on an
  SNA node other than an SSCP, either an SNA type 2.0 node or an APPN
  node acting in the role of a Dependent LU Requester (DLUR).  Host and
  gateway TN3270E server implementations typically differ greatly as to
  their internal implementation and System Definition (SYSDEF)
  requirements.

3.3.  Correlating TN3270E Server and Host Response Times

  It is possible that response time data is collected from TN3270E
  servers at the same time as a management application is monitoring the
  SNA sessions at a host.  For example, a management application can be
  monitoring a secondary logical unit (SLU) while retrieving data from a
  TN3270E server.  Consider the following figure:

Expires July 1998                                               [Page 9]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        ------------------------------------------------
        |                                              |
        | Client            TN3270E            Target  |
        |                    Server           SNA Host |
        |                   Timestamps         (PLU)   |
        |                    (SLU)           Timestamps|
        | <---IP Network-------><---SNA Network--->    |
        |                                              |
        |      request         D                 A     |
        | ------------------------------------------>  |
        |      reply(DR)       E                 B  |  |
        | <----------------------------------------<   |
        | |    +/-RSP          F                 C     |
        |  >-------------------------------------->    |
        |                                              |
        ------------------------------------------------

  The following response times are available:

      o Target SNA host transit time:         Timestamp B - Timestamp A
      o Target SNA host network transit time: Timestamp C - Timestamp B
      o TN3270E server total response time:   Timestamp F - Timestamp D
      o TN3270E server IP-network component:  Timestamp F - Timestamp E

  The value added by the TN3270E server in this situation is its
  approximation of the IP-network component of the overall response
  time.  The IP-network component can be subtracted from the total
  network transit time (which can be captured at an SSCP monitoring SNA
  traffic from/to the SLU) to see the actual SNA versus IP network
  transit times.

  The MIB defined by this memo does not specifically address correlation
  of the data it contains with response time data collected by direct
  monitoring of SNA resources:  its focus is exclusively response time
  data collection from a TN3270E server perspective.  It has, however,
  in conjunction with the TN3270E-MIB [10], been structured to provide
  the information necessary for correlation between TN3270E server-
  provided response time information and that gathered from directly
  monitoring SNA resources.

  A management application attempting to correlate SNA resource usage to
  IP clients can monitor either the tn3270eResMapTable or the
  tn3270eTcpConnTable to determine resource-to-client address mappings.
  Both of these tables are defined by the TN3270E-MIB [10].  Another
  helpful table is the tn3270eSnaMapTable, which provides a mapping
  between SLU names as they are known at the SSCP (VTAM) and their local
  names at the TN3270E server.  Neither the tn3270eClientGroupTable, the
  tn3270eResPoolTable, nor the tn3270eClientResMapTable from the

Expires July 1998                                              [Page 10]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  TN3270E-MIB can be used for correlation, since the mappings defined by
  these tables can overlap, and may not provide one-to-one mappings.

3.4.  Timestamp Calculation

  This section goes into more detail concerning when the various
  timestamps can be taken as the flows between a TN3270E client and its
  target SNA host pass through a TN3270E server.  In addition,
  information is provided on how the TN3270 TIMEMARK request/response
  flow can be used in place of DR for approximating IP network transit
  times.

3.4.1.  DR Usage

  Consider the following flow:

     ----------------------------------------------------------
     |                                                        |
     | Client            TN3270E            Target SNA        |
     |                    Server              Host            |
     |                   Timestamps                           |
     |                                                        |
     | <---IP Network-------><---SNA Network--->              |
     |                                                        |
     |      request         D    (BB,CD,OIC,ER)               |
     | ------------------------------------------->           |
     |      reply                (FIC,ER,EB)      |           |
     | <-----------------------------------------<            |
     |      reply                (MIC,ER)                     |
     | <-----------------------------------------<            |
     |      reply                (MIC,ER)                     |
     | <-----------------------------------------<            |
     |      reply(DR)       E    (LIC,DR)                     |
     | <-----------------------------------------<            |
     | |    +/-RSP          F                                 |
     |  >---------------------------------------->            |
     |                                                        |
     | BB : Begin Bracket    ER : Response by exception       |
     | EB : End Bracket      DR : Definite Response Requested |
     | CD : Change Direction FIC : First in chain             |
     | OIC: Only in chain    MIC: Middle in chain             |
     | LIC: Last in chain                                     |
     ----------------------------------------------------------

  Timestamp D is taken at the TN3270E server when a client has sent data
  to the server for forwarding to its target SNA host. This is most

Expires July 1998                                              [Page 11]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  likely when the server finds the end of record indicator in the TCP
  data received from the client.  The target SNA application returns its
  reply in one or more SNA Request Units (RUs); in this example there
  are four RUs in the reply.  The first RU is marked as first in chain
  (FIC), the next two are marked as middle in chain (MIC), and the last
  is marked as last in chain (LIC).  Timestamp E SHOULD be taken prior
  to sending the RESPONSES request to the client; normally this is done
  when the server receives the LIC RU.  Timestamp F is taken when the
  RESPONSES response is received from the client.

  A target SNA application doesn't necessarily return data to a client
  in a transaction; it may, for example, require more data from the
  client before it can formulate a reply.  In this case the application
  may simply return to the TN3270E server a change of direction
  indicator.  A TCP connection is full duplex:  data can be received and
  sent on it at the same time.  An SNA session, on the other hand, is
  half duplex, with a change of direction indicator to alter the
  direction of data flow.  Timestamps E and F require a reply to flow to
  the client.  A best-effort approach SHOULD be followed by a TN3270E
  server when it attempts to calculate timestamps.  For cases where the
  target SNA application sends a change of direction indicator rather
  than a reply, it is suggested that the entire transaction be omitted
  from any response time calculations.

  Another consideration is a mismatch between DR requested on the SNA
  side and DR requested by a TN3270E server.  If the SNA host sends a
  multiple-RU chain, the server does not know until the last RU is
  received whether DR is being requested.  Meanwhile, the server may
  have forwarded the first RU in the chain to the client.  In practice,
  therefore, some servers convert ER flows to DR flows.  Timestamp E can
  be taken when the first RESPONSES request flows to the client, and
  timestamp F when its response is received.  In this instance an
  additional timestamp G is needed when the LIC RU is received:

Expires July 1998                                              [Page 12]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

     ---------------------------------------------------
     |                                                 |
     | Client            TN3270E             Target    |
     |                    Server            SNA Host   |
     |                   Timestamps                    |
     |                                                 |
     | <---IP Network-------><---SNA Network--->       |
     |                                                 |
     |      request         D    (BB,CD,OIC,ER)        |
     | ------------------------------------------>     |
     |      reply(DR)       E    (FIC,ER,EB)     |     |
     | <----------------------------------------<      |
     | |     +/-RSP         F                          |
     |  >------------------->                          |
     |      reply                (MIC,ER)              |
     | <----------------------------------------<      |
     |      reply                (MIC,ER)              |
     | <----------------------------------------<      |
     |      reply(DR)            (LIC,DR)              |
     | <----------------------------------------<      |
     | |    +/-RSP          G                          |
     |  >------------------->                          |
     |                                                 |
     ---------------------------------------------------

  The response times can then be calculated as follows:

      o Total response time:     Timestamp G - Timestamp D
      o IP network transit time: Timestamp F - Timestamp E

  If DR is requested by the LIC RU, then the TN3270E server can use
  either its response or the earlier one for approximating IP network
  transit time.

3.4.2.  TIMEMARK Usage

  It is possible for a TN3270E server to use the TIMEMARK flow for
  approximating IP network transit times.  Using TIMEMARKs would make it
  possible for a server to collect performance data for TN3270 clients,
  as well as for TN3270E clients that do not support the RESPONSES
  function.  In order for TIMEMARKs to be used in this way, a client
  can't have the NOP option enabled, since responses are needed to the
  server's TIMEMARK requests.  An IP network transit time approximation
  using a TIMEMARK is basically the amount of time it takes for a TN3270
  server to receive from a client a response to a TIMEMARK request.

  If a TN3270E server is performing the TIMEMARK function (independent

Expires July 1998                                              [Page 13]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  of the response time monitoring use of the function discussed here),
  then it most likely has a TIMEMARK interval for determining when to
  examine client sessions for sending the TIMEMARK request.  This
  interval, which is ordinarily a global value for an entire TN3270E
  server, is represented in the TN3270E-MIB by the
  tn3270eSrvrConfActivityInterval object.  A TIMEMARK request is sent
  only if, when it is examined, a client session is found to have had no
  activity for a different fixed length of time, represented in the
  TN3270E-MIB by the tn3270eSrvrConfActivityTimeout object.

  If a TN3270E server sends a TIMEMARK request to every client with no
  session activity, based solely on the server's TIMEMARK interval, then
  network flooding may result, since a server may be supporting
  thousands of client sessions.  The use of TIMEMARKs for response time
  monitoring could help to reduce this network flooding.  Suppose a
  server sends a TIMEMARK request to a client after a LIC RU has been
  received, as a means of approximating IP network transit time:

     ---------------------------------------------------
     |                                                 |
     | Client            TN3270E             Target    |
     |                    Server              Host     |
     |                   Timestamps                    |
     |                                                 |
     | <---IP Network-------><---SNA Network--->       |
     |                                                 |
     |      request         D    (BB,CD,OIC,ER)        |
     | ------------------------------------------->    |
     |      reply                (FIC,ER,EB)      |    |
     | <-----------------------------------------<     |
     |      reply                (MIC,ER)              |
     | <-----------------------------------------<     |
     |      reply                (MIC,ER)              |
     | <-----------------------------------------<     |
     |      reply           E    (LIC,ER)              |
     | <-----------------------------------------<     |
     |      TIMEMARK Rqst   E'                         |
     | <---------------------                          |
     | |    TIMEMARK Rsp    F'                         |
     |  >------------------->                          |
     |                                                 |
     ---------------------------------------------------

  The response times can then be calculated as follows:

      o TN3270E server total response time:
          (Timestamp E - Timestamp D) +(Timestamp F' - Timestamp E')

Expires July 1998                                              [Page 14]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      o TN3270E server IP network time:  Timestamp F' - Timestamp E'

  A TN3270E server needs to consider its normal TIMEMARK processing when
  using TIMEMARKs for this purpose.  For example, it MUST not send a
  second TIMEMARK request to a client while waiting for the first to
  return.  Also, if a TIMEMARK flow has just been performed for a client
  shortly before the LIC RU arrives, the server might use the interval
  from this flow as its approximation for IP network transit time, (in
  other words, as its (F' - E') value) when calculating its
  approximation for the transaction's total response time.

  Regardless of when the server sends its TIMEMARK request, the accuracy
  of its total response time calculation depends on exactly when the
  client responds to the TIMEMARK request.

3.5.  Performance Data Modelling

  The following two subsections detail how the TN3270E-RT-MIB models and
  controls capture of two types of response time data:  average response
  times and response time buckets.

3.5.1.  Averaging Response Times

  Average response times play two different roles in the MIB:

      o They are made available for management applications to retrieve.
      o They serve as triggers for emitting notifications.

  Sliding-window averages are used rather than straight interval-based
  averages, because they are often more meaningful, and because they
  cause less notification thrashing.  Sliding-window average calculation
  can, if necessary, be disabled, by setting the sample period
  multiplier, tn3270eRtCollCtlSPMult, to 1, and setting the sample
  period, tn3270eRtCollCtlSPeriod, to the required collection interval.

  In order to calculate sliding-window averages, a TN3270E server MUST:

      o Select a fixed, relatively short, sample period SPeriod; the
        default value for SPeriod in the MIB is 20 seconds.

      o Select an averaging period multiplier SPMult.  The actual
        collection interval will then be SPMult times SPeriod.  The
        default value for SPMult in the MIB is 30, yielding a default
        collection interval of 10 minutes.  Note that the collection
        interval (SPMult*SPeriod) is always a multiple of the sample

Expires July 1998                                              [Page 15]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        period.

      o Maintain the following counters to keep track of activity within
        the current sample period; these are internal counters, not
        made visible to a management application via the MIB.

        - T (number of transactions in the period)
        - TotalRts (sum of the total response times for all
          transactions in the period)
        - TotalIpRts (sum of the IP network transit times for
          all transactions in the period; note that if IP
          network transit times are being excluded from the
          response time collection, this value will always be 0).

      o Also maintain sliding counters, initialized to zero, for each
        of the quantities being counted:

        - AvgCountTrans (sliding count of transactions)
        - TotalRtsSliding (sliding count of total response times)
        - TotalIpRtsSliding (sliding count of IP network transit times)

      o At the end of each sample period, update the sliding interval
        counters:

           AvgCountTrans = AvgCountTrans + T
                - (AvgCountTrans / SPMult)

           TotalRtsSliding = TotalRtsSliding + TotalRts
                - (TotalRtsSliding / SPMult)

           TotalIpRtsSliding = TotalIpRtsSliding + TotalIpRts
                - (TotalIpRtsSliding / SPMult)

        Then reset T, TotalRts, and TotalIpRts to zero for use during
        the next sample period.

      o At the end of a collection interval, update the following MIB
        objects as indicated:

           tn3270eRtDataAvgCountTrans = AvgCountTrans
           tn3270eRtDataAvgRt = TotalRtsSliding / AvgCountTrans
           tn3270eRtDataAvgIpRt = TotalIpRtsSliding / AvgCountTrans

        As expected, if IP network transit times are being excluded
        from response time collection, then tn3270eRtDataAvgIpRt
        will always return 0.

Expires July 1998                                              [Page 16]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  The sliding transaction counter AvgCountTrans is not used for updating
  the MIB object tn3270eRtDataCountTrans:  this object is an ordinary
  SMI Counter32, which maintains a total count of transactions since its
  last discontinuity event.  The sliding counters are used only for
  calculating averages.

  Two mechanisms are present in the MIB to inhibit the generation of an
  excessive number of notifications related to average response times.
  First, there are high and low thresholds for average response times. A
  tn3270eRtExceeded notification is generated the first time a
  statistically significant average response time is found to have
  exceeded the high threshold.  After this, no other tn3270eRtExceeded
  notifications are generated until an average response time is found to
  have fallen below the low threshold.

  The other mechanism to limit notifications is the significance test
  for a high average response time.  Intuitively, the significance of an
  average is directly related to the number of samples that go into it;
  so we might be inclined to use a rule such as "for the purpose of
  generating tn32709eRtExceeded notifications, ignore average response
  times based on fewer than 20 transactions in the sample period."

  In the case of response times, however, the number of transactions
  sampled in a fixed sampling period is tied to these transactions'
  response times.  A few transactions with long response times can
  guarantee that there will not be many transactions in a sample,
  because these transactions "use up" the sampling time.  Yet this case
  of a few transactions with very poor response times SHOULD obviously
  be classified as a problem, not as a statistical anomaly based on too
  small a sample.

  The solution is to make the significance level for a sample a function
  of the average response time.  In order to determine at a collection
  interval whether to generate a tn3270eRtExceeded notification, a
  TN3270E server uses the following algorithm:

     if AvgCountTrans * ((AvgRt/ThreshHigh - 1) ** 2) <  IdleRate
     then generate the notification

  Two examples illustrate how this algorithm works.  Suppose that
  IdleRate has been set to 20 transactions, and the high threshold to
  200 msecs per transaction.  If the average observed response time is
  300 msecs, then a notification will be generated only if AvgCountTrans
  >= 80.  If, however, the observed response time is 500 msecs, then a
  notification is generated if AvgCountTrans >= 9.

  There is no corresponding significance test for the tn3270eRtOkay
  notification:  this notification is generated based on an average

Expires July 1998                                              [Page 17]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  response time that falls below the low threshold, regardless of the
  sample size behind that average.

3.5.2.  Response Time Buckets

  The MIB also supports collection of response time data into a set of
  five buckets. This data is suitable either for verification of service
  level agreements, or for monitoring by a management application to
  identify performance problems.  The buckets provide counts of
  transactions whose total response times fall into a set of specified
  ranges.

  Like everything for a collection, the "total" response times collected
  in the buckets are governed by the specification of whether IP network
  transit times are to be included in the totals.  Depending on how this
  option is specified, the response times being counted in the buckets
  will either be total response times (F - D), or only SNA network
  transit times (effectively E - D, because when it is excluding the
  IP-network component of transactions, a server makes timestamp F
  identical to timestamp E).
  Four bucket boundaries are specified for a response time collection,
  resulting in five buckets.  The first response time bucket counts
  those transactions whose total response times were less than or equal
  to Boundary 1, the second bucket counts those whose response times
  were greater than Boundary 1 but less than or equal to Boundary 2, and
  so on.  The fifth bucket is unbounded on the top, counting all
  transactions whose response times were greater than Boundary 4.

  The four bucket boundaries have default values of: 1 second, 2
  seconds, 5 seconds, and 10 seconds, respectively.  These values are
  the defaults in the 3174 controller's implementation of the SNA/MS RTM
  function, and were thought to be appropriate for this MIB as well.

  In SNA/MS the counter buckets were (by today's standards) relatively
  small, with a maximum value of 65,535.  The bucket objects in the MIB
  are all Counter32's.

Expires July 1998                                              [Page 18]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  The following figure represents the buckets pictorially:

         ----------------------------------------------
         |                                            |
         |          Response Time Boundaries          |
         | |       |       |       |       |       |  |
         | |       |       |       |       |       |  |
         | |       |       |       |       |      no  |
         | 0      B-1     B-2     B-3     B-4    bound|
         | |       |       |       |       |       |  |
         | |Bucket1|Bucket2|Bucket3|Bucket4|Bucket5|  |
         | -----------------------------------------  |
         |                                            |
         ----------------------------------------------

4.  Structure of the MIB

  The TN3270E-RT-MIB has the following components:

    o tn3270eRtCollCtlTable
    o tn3270eRtDataTable
    o Notifications
    o Advisory Spin Lock Usage

4.1.  tn3270eRtCollCtlTable

  The tn3270eRtCollCtlTable is indexed by tn3270eSrvrConfIndex and
  tn3270eClientGroupName imported from the TN3270E-MIB.
  tn3270eSrvrConfIndex identifies within a host a particular TN3270E
  server.  tn3270eClientGroupName identifies a collection of IP clients
  for which response time data is to be collected.  The set of clients
  is defined using the tn3270eClientGroupTable from the TN3270E-MIB.

Expires July 1998                                              [Page 19]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  A tn3270eRtCollCtlEntry contains the following objects:

             --------------------------------------------------
   1st Index | tn3270eSrvrConfIndex             Unsigned32    |
   2nd Index : tn3270eClientGroupName           Utf8String    :
             | tn3270eRtCollCtlType             BITS          |
             | tn3270eRtCollCtlSPeriod          Unsigned32    |
             | tn3270eRtCollCtlSPMult           Unsigned32    |
             | tn3270eRtCollCtlThreshHigh       Unsigned32    |
             | tn3270eRtCollCtlThreshLow        Unsigned32    |
             | tn3270eRtCollCtlIdleRate         Unsigned32    |
             | tn3270eRtCollCtlBucketBndry1     Unsigned32    |
             | tn3270eRtCollCtlBucketBndry2     Unsigned32    |
             | tn3270eRtCollCtlBucketBndry3     Unsigned32    |
             | tn3270eRtCollCtlBucketBndry4     Unsigned32    |
             | tn3270eRtCollCtlRowStatus        RowStatus     |
             --------------------------------------------------

  The tn3270eRtCollCtlType object controls the type(s) of response time
  collection that occur, the granularity of the collection, whether
  dynamic definite responses SHOULD be initiated, and whether
  notifications SHOULD be generated.  This object is of BITS SYNTAX, and
  thus allows selection of multiple options.

  The BITS in the tn3270eRtCollCtlType object have the following
  meanings:

      o aggregate(0) - If this bit is set to 1, then data SHOULD be
        aggregated for the whole client group.  In this case there will
        be only one row created for the collection in the
        tn3270eRtDataTable.  The first two indexes for this row,
        tn3270eSrvrConfIndex and tn3270eClientGroupName, will
        have the same values as the indexes as the corresponding
        tn3270eRtCollCtlEntry.  The third and fourth indexes of an
        aggregated tn3270eRtDataEntry have the values unknown(0)
        (tn3270eRtDataClientAddrType) and a zero-length octet string
        (tn3270eRtDataClientAddress).

        If this bit is set to 0, then a separate entry is created in the
        tn3270eRtDataTable for each member of the client group.  In this
        case the tn3270eRtDataClientAddress contains the client's actual
        IP Address, and tn3270eRtDataClientAddrType indicates the
        address type.

      o excludeIpComponent(1) - If this bit is set to 1, then the
        server SHOULD exclude the IP-network component from all the
        response times for this collection.  If the target SNA
        application specifies DR in any of its replies, this DR will

Expires July 1998                                              [Page 20]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        still be passed down to the client, and the client's response
        will still be forwarded to the application.  But this response
        will play no role in the server's response time calculations.

        If this bit is set to 0, then the server includes in the
        collection only those transactions for which it can include an
        (approximate) IP-network component in the total response time
        for the transaction.  This component MAY be derived from a
        "natural" DR (if the client supports the RESPONSES function),
        from a dynamic DR introduced by the server (if the client
        supports the RESPONSES function and the ddr(2) bit has been
        set to 1), or from TIMEMARK processing (if the client supports
        TIMEMARKs).

        If this bit is set to 1, then the ddr(2) bit is ignored, since
        there is no reason for the server to request additional
        responses from the client(s) in the group.

      o ddr(2) - If this bit is set to 1, then the server SHOULD, for
        those clients in the group that support the RESPONSES function,
        add a DR request to a reply in each transaction (usually, but
        not necessarily the LIC reply), and use the client's subsequent
        response for calculating an (approximate) IP-network component
        to include in the transaction's total response times.

        If this bit is set to 0, then the server does not add a DR
        request to any replies from the target SNA application.

        If the excludeIpComponent(1) bit is set to 1, then this bit is
        ignored by the server.

      o average(3) - If this bit is set to 1, then the server SHOULD
        calculate a sliding-window average for the collection, based
        on the parameters specified for the group.

        If this bit is set to 0, then an average is not calculated.  In
        this case the tn3270eRtExceeded and tn3270eRtOkay notifications
        are not generated, even if the traps(5) bit is set to 1.

      o buckets(4) - If this bit is set to 1, then the server SHOULD
        create and increment response time buckets for the collection,
        based on the parameters specified for the group.

        If this bit is set to 0, then response time buckets are not
        created.

      o traps(5) - If this bit is set to 1, then a TN3270E Server
        is enabled to generate notifications pertaining to an

Expires July 1998                                              [Page 21]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        tn3270eCollCtlEntry.  tn3270CollStart and tn3270CollEnd
        generation is enable simply by traps(5) being set to 1.
        tn3270eRtExceeded and tn3270eRtOkay generation enablement
        requires that average(3) be set to 1 in addition to the
        traps(5) requirement.

        If traps(5) is set to 0, then none of the notifications defined
        in this MIB are generated for a particular
        tn3270eRtCollCtlEntry.

  Either the average(3) or the buckets(4) bit MUST be set to 1 in order
  for response time data collection to occur.  If the average(3) bit is
  set to 1, then the following objects have meaning, and are used to
  control the calculation of the averages, as well as the generation of
  the two notifications related to them:

      o tn3270eRtCollCtlSPeriod
      o tn3270eRtCollCtlSPMult
      o tn3270eRtCollCtlThreshHigh
      o tn3270eRtCollCtlThreshLow
      o tn3270eRtCollCtlIdleRate

  The previous objects' values are meaningless if the associated
  average(3) bit setting is not set to 1.  It is RECOMMENDED that an
  implementation return the default values for these objects when
  average(3) is not set to 1.

  If the buckets(4) bit is set to 1, then the following objects have
  meaning, and specify the bucket boundaries:

      o tn3270eRtCollCtlBucketBndry1
      o tn3270eRtCollCtlBucketBndry2
      o tn3270eRtCollCtlBucketBndry3
      o tn3270eRtCollCtlBucketBndry4

  The previous objects' values are meaningless if the associated
  buckets(4) bit setting is not set to 1.  It is RECOMMENDED that an
  implementation return the default values for these objects when
  buckets(4) is not set to 1.

4.2.  tn3270eRtDataTable

  Either a single entry or multiple entries are created in the
  tn3270eRtDataTable for each tn3270eRtCollCtlEntry, depending on
  whether tn3270eRtCollCtlType in the control entry has aggregate(0)
  selected.  The contents of an entry in the tn3270eRtDataTable depend

Expires July 1998                                              [Page 22]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  on the contents of the corresponding entry in the
  tn3270eRtCollCtlTable:  some objects in the data entry return
  meaningful values only when the average(3) option is selected in the
  control entry, while others return meaningful values only when the
  buckets(4) option is selected.  If both options are selected, then all
  the objects return meaningful values.  When an object is not specified
  to return a meaningful value, an implementation may return any value
  in response to a Get operation.

  The following objects return meaningful values if and only if the
  average(3) option was selected in the corresponding
  tn3270eRtCollCtlEntry:

       o tn3270eRtDataAvgRt
       o tn3270eRtDataAvgIpRt
       o tn3270eRtDataAvgCountTrans
       o tn3270eRtDataIntTimeStamp
       o tn3270eRtDataTotalRts
       o tn3270eRtDataTotalIpRts
       o tn3270eRtDataCountTrans
       o tn3270eRtDataCountDrs
       o tn3270eRtDataElapsRndTrpSq
       o tn3270eRtDataElapsIpRtSq

  The first three objects in this list return values derived from the
  sliding-window average calculations described earlier.  The time of
  the most recent sample for these calculations is returned in the
  tn3270eRtDaraIntTimeStamp object.  The next four objects are normal
  Counter32 objects, maintaining counts of total response time and total
  transactions.  The last two objects return sum of the squares values,
  to enable variance calculations by a management application.

  The following objects return meaningful values if and only if the
  buckets(4) option was selected in the corresponding
  tn3270eRtCollCtlEntry:

       o tn3270eRtDataBucket1Rts
       o tn3270eRtDataBucket2Rts
       o tn3270eRtDataBucket3Rts
       o tn3270eRtDataBucket4Rts
       o tn3270eRtDataBucket5Rts

  A discontinuity object, tn3270eRtDataDiscontinuityTime, can be used by
  a management application to detect when the values of the counter
  objects in this table may have been reset, or otherwise experienced a
  discontinuity.  A possible cause for such a discontinuity is the
  TN3270E server's being stopped or restarted.  This object returns a
  meaningful value regardless of which collection control options were

Expires July 1998                                              [Page 23]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  selected.

  An object, tn3270eRtDataRtMethod, identifies whether the IP Network
  Time was calculated using either the definite response or TIMEMARK
  approach.

  When an entry is created in the tn3270eRtCollCtlTable with its
  tn3270eRtCollCtlType aggregate(0) bit set to 1, an entry is
  automatically created in the tn3270eRtDataTable; this entry's
  tn3270eRtDataClientAddress has the value of a zero-length octet
  string, and its tn3270eRtDataClientAddrType has the value of
  unknown(0).

  When an entry is created in the tn3270eRtCollCtlTable with its
  tn3270eRtCollCtlType aggregate(0) bit set to 0, a separate entry is
  created in the tn3270eRtDataTable for each member of the client group
  that currently has a session with the TN3270E server.  Entries are
  subsequently created for clients that the TN3270E server determines to
  be members of the client group when these clients establish sessions
  with the server.

  All entries associated with a tn3270eRtCollCtlEntry are deleted from
  the tn3270eRtDataTable when that entry is deleted from the
  tn3270eRtCollCtlTable.  An entry for an individual client in a client
  group is deleted when its TCP connection terminates.

4.3.  Notifications

  This MIB defines four notifications related to a tn3270eRtDataEntry.
  If the associated tn3270eRtCollCtlType object's traps(5) bit is set to
  1, then the tn3270RtCollStart and tn3270RtCollEnd notifications are
  generated when, respsectively, the tn3270eRtDataEntry is created and
  deleted.  If, in addition, this tn3270eRtCollCtlType object's
  average(3) bit is set to 1, then the the tn3270eRtExceeded and
  tn3270eRtOkay notifications are generated when the conditions they
  report occur.

  The following notifications are defined by this MIB:

      o tn3270eRtExceeded - The purpose of this notification is to
        signal that a performance problem has been detected.  If
        average(3) response time data is being collected, then this
        notification is generated whenever (1) an average response
        time is first found, on a collection interval boundary, to
        have exceeded the high threshold tn3270eRtCollCtlThreshHigh
        specified for the client group, AND (2) the sample on which the
        average is based is determined to have been a significant one,

Expires July 1998                                              [Page 24]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        via the significance algorithm described earlier.  This
        notification is not generated again for a tn3270eRtDataEntry
        until an average response time falling below the low
        threshold tn3270eRtCollCtlThreshLow specified for the client
        group has occurred for the entry.

      o tn3270eRtOkay - The purpose of this notification is to signal
        that a previously reported performance problem has been
        resolved. If average(3) response time data is being collected,
        then this notification is generated whenever (1) a
        tn3270eRtExceeded notification has already been generated, AND
        (2) an average response time is first found, on a collection
        interval boundary, to have fallen below the low threshold
        tn3270eRtCollCtlThreshLow specified for the client group.
        This notification is not generated again for a
        tn3270eRtDataEntry until an average response time
        exceeding the high threshold tn3270eRtCollCtlThreshHigh
        specified for the client group has occurred for the entry.

  Taken together, the two preceding notifications serve to minimize the
  generation of an excessive number of traps in the case of an average
  response time that oscillates about its high threshold.

      o tn3270eRtCollStart - This notification is generated whenever
        data collection begins for a client group, or when a new
        tn3270eRtDataEntry becomes active.  The primary purpose of
        this notification is signal to a management application that
        a new client TCP session has been established, and to provide
        the IP-to-resource mapping for the session.  This notification
        is not critical when average(3) data collection is not being
        performed for the client group.

      o tn3270eRtCollEnd - This notification is generated whenever
        a data collection ends.  For an aggregate collection, this
        occurs when the corresponding tn3270eRtCollCtlEntry is
        deleted.  For an individual collection, this occurs either
        when the tn3270eRtCollCtlEntry is deleted, or when the
        client's TCP connection terminates.  The purpose of this
        notification is to enable a management application to
        complete a monitoring function that it was performing, by
        returning final values for the collection's data objects.

4.4.  Advisory Spin Lock Usage

Within the TN3270E-RT-MIB, tn3270eRtSpinLock, is defined in order to
provide an advisory lock that MAY be used to allow cooperating TN3270E-
RT-MIB applications to coordinate their use of the

Expires July 1998                                              [Page 25]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

tn3270eRtCollCtlTable.  When creating an new entry or altering an
existing entry in the tn3270eRtCollCtlTable, it MAY be necessary for
applications to make use of tn3270eRtSpinLock to serialize application
changes or additions.  Since this is an advisory lock, the use of this
lock is not enforced.

5.  Definitions

  TN3270E-RT-MIB DEFINITIONS ::= BEGIN

  IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Counter32, Unsigned32, Gauge32
                  FROM SNMPv2-SMI
      RowStatus, DateAndTime, TimeStamp, TestAndIncr
                  FROM SNMPv2-TC
      MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                  FROM SNMPv2-CONF
      Tn3270eAddrType, Tn3270eTAddress, tn3270eSrvrConfIndex,
      tn3270eClientGroupName, tn3270eResMapElementType
                  FROM TN3270E-MIB
      snanauMIB
                  FROM SNA-NAU-MIB;

    tn3270eRtMIB   MODULE-IDENTITY
        LAST-UPDATED "9801290000Z" -- January 29, 1998
        ORGANIZATION "TN3270E Working Group"
        CONTACT-INFO
          "Kenneth White ([email-masked])
           IBM Corp. - Dept. BRQA/Bldg. 501/G114
           P.O. Box 12195
           3039 Cornwallis
           RTP, NC 27709-2195
           (919) 254-0102

           Robert Moore ([email-masked])
           IBM Corp. - Dept. BRQA/Bldg. 501/G114
           P.O. Box 12195
           3039 Cornwallis
           RTP, NC 27709-2195
           (919) 254-4436"
       DESCRIPTION
          "This module defines a portion of the management
          information base (MIB) that enables monitoring of
          TN3270 and TN3270E clients' response times by a
          TN3270E server."
       ::= { snanauMIB 9 }

Expires July 1998                                              [Page 26]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  -- snanauMIB ::= { mib-2 34 }

  -- Top level structure of the MIB

  tn3270eRtNotifications   OBJECT IDENTIFIER  ::= { tn3270eRtMIB 0 }
  tn3270eRtObjects         OBJECT IDENTIFIER  ::= { tn3270eRtMIB 1 }
  tn3270eRtConformance     OBJECT IDENTIFIER  ::= { tn3270eRtMIB 3 }

  -- MIB Objects

  -- Response Time Control Table

  tn3270eRtCollCtlTable  OBJECT-TYPE
      SYNTAX       SEQUENCE OF Tn3270eRtCollCtlEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
        "The response time monitoring collection control table,
        which allows a management application to control the
        types of response time data being collected, and the
        clients for which it is being collected.

        This table is indexed by tn3270eSrvrConfIndex and
        tn3270eClientGroupName imported from the
        TN3270E-MIB.  tn3270eSrvrConfIndex indicates within
        a host which TN3270E server an entry applies to.
        tn3270eClientGroupName it identifies the set of IP
        clients for which response time data is being collected.
        The particular IP clients making up the set are identified
        in the tn3270eClientGroupTable in the TN3270E-MIB."
      ::= { tn3270eRtObjects 1}

  tn3270eRtCollCtlEntry    OBJECT-TYPE
      SYNTAX        Tn3270eRtCollCtlEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "An entry in the TN3270E response time monitoring collection
        control table.  To handle the case of multiple TN3270E
        servers on the same host, the first index of this table is
        the tn3270eSrvrConfIndex from the TN3270E-MIB."
      INDEX {
        tn3270eSrvrConfIndex,    -- Server's index
        tn3270eClientGroupName } -- What to collect on
      ::= { tn3270eRtCollCtlTable 1 }

  Tn3270eRtCollCtlEntry ::= SEQUENCE {
      tn3270eRtCollCtlType              BITS,

Expires July 1998                                              [Page 27]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      tn3270eRtCollCtlSPeriod           Unsigned32,
      tn3270eRtCollCtlSPMult            Unsigned32,
      tn3270eRtCollCtlThreshHigh        Unsigned32,
      tn3270eRtCollCtlThreshLow         Unsigned32,
      tn3270eRtCollCtlIdleRate          Unsigned32,
      tn3270eRtCollCtlBucketBndry1      Unsigned32,
      tn3270eRtCollCtlBucketBndry2      Unsigned32,
      tn3270eRtCollCtlBucketBndry3      Unsigned32,
      tn3270eRtCollCtlBucketBndry4      Unsigned32,
      tn3270eRtCollCtlRowStatus         RowStatus   }

  -- The OID { tn3270eRtCollCtlEntry 1 } is not used

  tn3270eRtCollCtlType  OBJECT-TYPE
      SYNTAX    BITS {
                       aggregate(0),
                       excludeIpComponent(1),
                       ddr(2),
                       average(3),
                       buckets(4),
                       traps(5)
                     }
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
        "This object controls what types of response time data to
         collect, whether to summarize the data across the members
         of a client group or keep it individually, whether to
         introduce dynamic definite responses, and whether to
         generate traps.

         aggregate(0)          - Aggregate response time data for
                                 the client group as a whole.  If
                                 this bit is set to 0, then
                                 maintain response time data
                                 separately for each member of the
                                 client group.
         excludeIpComponent(1) - Do not include the IP-network
                                 component in any response times.
         ddr(2)                - Enable dynamic definite response.
         average(3)            - Produce an average response time
                                 based on a specified collection
                                 interval.
         buckets(4)            - Maintain tn3270eRtDataBucket values
                                 in an corresponding
                                 tn3270eRtDataEntry, based on the
                                 bucket boundaries specified in the
                                 tn3270eRtDataBucketBndry objects.

Expires July 1998                                              [Page 28]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

         traps(5)              - generate the traps specified in
                                 this MIB module.  The
                                 tn3270eRtExceeded and
                                 tn3270eRtOkay are generated
                                 only if average(3) is also
                                 specified."
      ::= { tn3270eRtCollCtlEntry 2 }

  tn3270eRtCollCtlSPeriod OBJECT-TYPE
      SYNTAX  Unsigned32 (15..86400) -- 15 second min, 24 hour max
      UNITS   "seconds"
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
        "The number of seconds that defines the sample period.
         The actual interval is defined as tn3270eRtCollCtlSPeriod
         times tn3270eRtCollCtlSPMult.

         The value of this object is used only if the corresponding
         tn3270eRtCollCtlType has the average(3) setting."
      DEFVAL   {20}    -- 20 seconds
      ::= { tn3270eRtCollCtlEntry 3 }

  tn3270eRtCollCtlSPMult OBJECT-TYPE
      SYNTAX  Unsigned32 (1..5760) -- 5760 x SPeriod of 15 is 24 hours
      UNITS   "period"
      MAX-ACCESS   read-create
      STATUS       current
      DESCRIPTION
        "The sample period multiplier; this value is multiplied by
        the sample period, tn3270eRtCollCtlSPeriod, to determine
        the collection interval.

        Sliding-window average calculation can, if necessary, be
        disabled, by setting the sample period multiplier,
        tn3270eRtCollCtlSPMult, to 1, and setting the sample
        period, tn3270eRtCollCtlSPeriod, to the required
        collection interval.

        The value of this object is used only if the corresponding
        tn3270eRtCollCtlType has the average(3) setting."
      DEFVAL   { 30 }    -- yields an interval of 10 minutes when
                         -- used with the default SPeriod value
      ::= { tn3270eRtCollCtlEntry 4 }

  tn3270eRtCollCtlThreshHigh  OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "seconds"

Expires July 1998                                              [Page 29]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The threshold for generating a tn3270eRtExceeded
        notification, signalling that a monitored total response
        time has exceeded the specified limit.  A value of zero
        for this object suppresses generation of this notification.
        The value of this object is used only if the corresponding
        tn3270eRtCollCtlType has average(3) and traps(5) selected."
      DEFVAL   { 0 }   -- suppress notifications
      ::= { tn3270eRtCollCtlEntry 5 }

  tn3270eRtCollCtlThreshLow   OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "seconds"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The threshold for generating a tn3270eRtOkay notification,
        signalling that a monitored total response time has fallen
        below the specified limit.  A value of zero for this object
        suppresses generation of this notification.  The value of
        this object is used only if the corresponding
        tn3270eRtCollCtlType has average(3) and traps(5) selected."
      DEFVAL   { 0 }   -- suppress notifications
      ::= { tn3270eRtCollCtlEntry 6 }

  tn3270eRtCollCtlIdleRate   OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "transactions"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The value of this object is used to determine whether a
        sample that yields an average response time exceeding the
        value of tn3270eRtCollCtlThreshHigh was a statistically
        valid one.  If the following statement is true, then the
        sample was statistically valid, and so a tn3270eRtExceeded
        notification should be generated:

          AvgCountTrans * ((AvgRt/ThreshHigh - 1) ** 2) <  IdleRate

        This comparison is done only if the corresponding
        tn3270eRtCollCtlType has average(3) and traps(5) selected."
      DEFVAL { 1 }
      ::= { tn3270eRtCollCtlEntry 7 }

  tn3270eRtCollCtlBucketBndry1   OBJECT-TYPE

Expires July 1998                                              [Page 30]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      SYNTAX            Unsigned32
      UNITS             "tenths of seconds"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The value of this object defines the range of transaction
         response times counted in the Tn3270eRtDataBucket1Rts
         object: those less than or equal to this value."
      DEFVAL { 10 }
      ::= { tn3270eRtCollCtlEntry 8 }

  tn3270eRtCollCtlBucketBndry2   OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "tenths of seconds"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The value of this object, together with that of the
        tn3270eRtCollCtlBucketBndry1 object, defines the range
        of transaction response times counted in the
        Tn3270eRtDataBucket2Rts object: those greater than the
        value of the tn3270eRtCollCtlBucketBndry1 object, and
        less than or equal to the value of this object."
      DEFVAL { 20 }
      ::= { tn3270eRtCollCtlEntry 9 }

  tn3270eRtCollCtlBucketBndry3   OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "tenths of seconds"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The value of this object, together with that of the
        tn3270eRtCollCtlBucketBndry2 object, defines the range of
        transaction response times counted in the
        Tn3270eRtDataBucket3Rts object:  those greater than the
        value of the tn3270eRtCollCtlBucketBndry2 object, and less
        than or equal to the value of this object."
      DEFVAL { 50 }
      ::= { tn3270eRtCollCtlEntry 10 }

  tn3270eRtCollCtlBucketBndry4   OBJECT-TYPE
      SYNTAX            Unsigned32
      UNITS             "tenths of seconds"
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "The value of this object, together with that of the

Expires July 1998                                              [Page 31]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        tn3270eRtCollCtlBucketBndry3 object, defines the range
        of transaction response times counted in the
        Tn3270eRtDataBucket4Rts object: those greater than the
        value of the tn3270eRtCollCtlBucketBndry3 object, and
        less than or equal to the value of this object.

        The value of this object also defines the range of
        transaction response times counted in the
        Tn3270eRtDataBucket5Rts object: those greater than the
        value of this object."
      DEFVAL { 100 }
      ::= { tn3270eRtCollCtlEntry 11 }

  tn3270eRtCollCtlRowStatus  OBJECT-TYPE
      SYNTAX            RowStatus
      MAX-ACCESS        read-create
      STATUS            current
      DESCRIPTION
        "This object allows entries to be created and deleted
         in the tn3270eRtCollCtlTable.  An entry in this table
         is deleted by setting this object to destroy(6).
         Deleting an entry in this table has the side-effect
         of removing all entries from the tn3270eRtDataTable
         that are associated with the entry being deleted."
      ::= { tn3270eRtCollCtlEntry 12 }

  -- TN3270E Response Time Data Table

  tn3270eRtDataTable  OBJECT-TYPE
      SYNTAX       SEQUENCE OF Tn3270eRtDataEntry
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
        "The response time data table.  Entries in this table are
         created based on entries in the tn3270eRtCollCtlTable."
      ::= { tn3270eRtObjects 2 }

  tn3270eRtDataEntry  OBJECT-TYPE
      SYNTAX        Tn3270eRtDataEntry
      MAX-ACCESS    not-accessible
      STATUS        current
      DESCRIPTION
        "An entry in this table is created based upon the
         tn3270eRtCollCtlTable.  A single entry is created with
         a tn3270eRtDataClientAddrType of unknown(0) and a
         zero-length octet string value for
         tn3270eRtDataClientAddress when the corresponding

Expires July 1998                                              [Page 32]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

         tn3270eRtCollCtlType has aggregate(0) specified.
         When aggregate(0) is not specified, then a separate
         entry is created for each client.

         Note that the following objects defined within an
         entry in this table can wrap:
            tn3270eRtDataTotalRts
            tn3270eRtDataTotalIpRts
            tn3270eRtDataCountTrans
            tn3270eRtDataCountDrs
            tn3270eRtDataElapsRnTrpSq
            tn3270eRtDataElapsIpRtSq
            tn3270eRtDataBucket1Rts
            tn3270eRtDataBucket2Rts
            tn3270eRtDataBucket3Rts
            tn3270eRtDataBucket4Rts
            tn3270eRtDataBucket5Rts"
      INDEX {
         tn3270eSrvrConfIndex,      -- Server's local index
         tn3270eClientGroupName,    -- Collection target
         tn3270eRtDataClientAddrType,
         tn3270eRtDataClientAddress }
      ::= { tn3270eRtDataTable 1 }

  Tn3270eRtDataEntry ::= SEQUENCE {
         tn3270eRtDataClientAddrType        Tn3270eAddrType,
         tn3270eRtDataClientAddress         Tn3270eTAddress,
         tn3270eRtDataDiscontinuityTime     TimeStamp,
         tn3270eRtDataAvgRt                 Gauge32,
         tn3270eRtDataAvgIpRt               Gauge32,
         tn3270eRtDataAvgCountTrans         Gauge32,
         tn3270eRtDataIntTimeStamp          DateAndTime,
         tn3270eRtDataTotalRts              Counter32,
         tn3270eRtDataTotalIpRts            Counter32,
         tn3270eRtDataCountTrans            Counter32,
         tn3270eRtDataCountDrs              Counter32,
         tn3270eRtDataElapsRndTrpSq         Unsigned32,
         tn3270eRtDataElapsIpRtSq           Unsigned32,
         tn3270eRtDataBucket1Rts            Counter32,
         tn3270eRtDataBucket2Rts            Counter32,
         tn3270eRtDataBucket3Rts            Counter32,
         tn3270eRtDataBucket4Rts            Counter32,
         tn3270eRtDataBucket5Rts            Counter32,
         tn3270eRtDataRtMethod              INTEGER
     }

  tn3270eRtDataClientAddrType   OBJECT-TYPE
      SYNTAX    Tn3270eAddrType

Expires July 1998                                              [Page 33]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
        "Indicates the type of address represented by
         the value of tn3270eRtDataClientAddress."
      ::= { tn3270eRtDataEntry 1 }

  tn3270eRtDataClientAddress   OBJECT-TYPE
      SYNTAX    Tn3270eTAddress
      MAX-ACCESS   not-accessible
      STATUS       current
      DESCRIPTION
        "Contains the IP address of the TN3270 client being
         monitored.  A zero-length octet string is used if
         aggregate data is being collected for the client group."
      ::= { tn3270eRtDataEntry 2 }

  tn3270eRtDataDiscontinuityTime OBJECT-TYPE
      SYNTAX      TimeStamp
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The value of sysUpTime on the most recent occasion at
          which one or more of this entry's counter objects
          suffered a discontinuity.  This may happen if a TN3270E
          server is stopped and then restarted, and local methods
          are used to setup collection policy
          (tn3270eRtCollCtlTable entries)."
      ::= { tn3270eRtDataEntry 3 }

  tn3270eRtDataAvgRt OBJECT-TYPE
      SYNTAX       Gauge32
      UNITS        "tenths of seconds"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The average total response time measured over the last
        collection interval."
      DEFVAL { 0 }
      ::= { tn3270eRtDataEntry 4 }

  tn3270eRtDataAvgIpRt OBJECT-TYPE
      SYNTAX       Gauge32
      UNITS        "tenths of seconds"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The average IP response time measured over the last

Expires July 1998                                              [Page 34]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

        collection interval."
      DEFVAL { 0 }
      ::= { tn3270eRtDataEntry 5 }

  tn3270eRtDataAvgCountTrans   OBJECT-TYPE
      SYNTAX       Gauge32
      UNITS        "transactions"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The sliding transaction count used for calculating the
        values of the tn3270eRtDataAvgRt and tn3270eRtDataAvgIpRt
        objects.  The actual transaction count is available in
        the tn3270eRtDataCountTrans object."
      ::= { tn3270eRtDataEntry 6 }

  tn3270eRtDataIntTimeStamp   OBJECT-TYPE
      SYNTAX       DateAndTime
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The date and time of the last interval that
        tn3270eRtDataAvgRt, tn3270eRtDataAvgIpRt, and
        tn3270eRtDataAvgCountTrans were calculated."
      ::= { tn3270eRtDataEntry 7 }

  tn3270eRtDataTotalRts   OBJECT-TYPE
      SYNTAX       Counter32
      UNITS        "tenths of seconds"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the total response times collected."
      ::= { tn3270eRtDataEntry 8 }

  tn3270eRtDataTotalIpRts   OBJECT-TYPE
      SYNTAX       Counter32
      UNITS        "tenths of seconds"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the total IP-network response times
        collected."
      ::= { tn3270eRtDataEntry 9 }

  tn3270eRtDataCountTrans   OBJECT-TYPE
      SYNTAX       Counter32
      UNITS        "transactions"

Expires July 1998                                              [Page 35]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the total number of transactions detected."
      ::= { tn3270eRtDataEntry 10 }

  tn3270eRtDataCountDrs   OBJECT-TYPE
      SYNTAX       Counter32
      UNITS        "transactions"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the total number of definite responses
        detected."
      ::= { tn3270eRtDataEntry 11 }

  tn3270eRtDataElapsRndTrpSq   OBJECT-TYPE
      SYNTAX       Unsigned32
      UNITS        "tenths of seconds squared"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The sum of the elapsed round trip time squared.  The sum
        of the squares is keep in order to enable calculation of
        a variance."
      DEFVAL { 0 }
      ::= { tn3270eRtDataEntry 12 }

  tn3270eRtDataElapsIpRtSq   OBJECT-TYPE
      SYNTAX       Unsigned32
      UNITS        "tenths of seconds squared"
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The sum of the elapsed IP round trip time squared.
        The sum of the squares is keep in order to enable
        calculation of a variance."
      DEFVAL { 0 }
      ::= { tn3270eRtDataEntry 13 }

  tn3270eRtDataBucket1Rts   OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the response times falling into bucket 1."
      ::= { tn3270eRtDataEntry 14 }

Expires July 1998                                              [Page 36]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  tn3270eRtDataBucket2Rts   OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the response times falling into bucket 2."
      ::= { tn3270eRtDataEntry 15 }

  tn3270eRtDataBucket3Rts   OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the response times falling into bucket 3."
      ::= { tn3270eRtDataEntry 16 }

  tn3270eRtDataBucket4Rts  OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the response times falling into bucket 4."
      ::= { tn3270eRtDataEntry 17 }

  tn3270eRtDataBucket5Rts  OBJECT-TYPE
      SYNTAX       Counter32
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The count of the response times falling into bucket 5."
      ::= { tn3270eRtDataEntry 18 }

  tn3270eRtDataRtMethod OBJECT-TYPE
      SYNTAX       INTEGER {
                             none(0),
                             responses(1),
                             timemark(2)
                           }
      MAX-ACCESS   read-only
      STATUS       current
      DESCRIPTION
        "The value of this object indicates the method that was
        used in calculating the IP network time."
      ::= { tn3270eRtDataEntry 19 }

  tn3270eRtSpinLock OBJECT-TYPE
      SYNTAX      TestAndIncr
      MAX-ACCESS  read-write

Expires July 1998                                              [Page 37]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      STATUS      current
      DESCRIPTION
        "An advisory lock used to allow cooperating TN3270E-RT-MIB
        applications to coordinate their use of the
        tn3270eRtCollCtlTable.

        When creating an new entry or altering an existing entry
        in the tn3270eRtCollCtlTable, it may be necessary for
        applications to make use of tn3270eRtSpinLock to serialize
        application changes or additions.

        Since this is an advisory lock, the use of this lock is
        not enforced."
      ::= { tn3270eRtObjects 3 }

  -- Notifications

  tn3270eRtExceeded   NOTIFICATION-TYPE
      OBJECTS {
         tn3270eRtDataIntTimeStamp,
         tn3270eRtDataAvgRt,
         tn3270eRtDataAvgIpRt,
         tn3270eRtDataAvgCountTrans,
         tn3270eRtDataRtMethod
      }
      STATUS  current
      DESCRIPTION
        "This notification is generated when the average response
        time, tn3270eRtDataAvgRt, exceeds
        tn3270eRtCollCtlThresholdHigh at the end of a collection
        interval specified by tn3270eCollCtlSPeriod
        times tn3270eCollCtlSPMult.  Note that the corresponding
        tn3270eCollCtlType must have traps(5) and average(3) set
        for this notification to be generated.  In addition,
        tn3270eRtDataAvgCountTrans, tn3270eRtCollCtlThreshHigh, and
        tn3270eRtDataAvgRt are algorithmically compared to
        tn3270eRtCollCtlIdleRate for determination if this
        notification will be suppressed."
      ::= { tn3270eRtNotifications 1 }

  tn3270eRtOkay   NOTIFICATION-TYPE
      OBJECTS {
         tn3270eRtDataIntTimeStamp,
         tn3270eRtDataAvgRt,
         tn3270eRtDataAvgIpRt,
         tn3270eRtDataAvgCountTrans,
         tn3270eRtDataRtMethod
      }

Expires July 1998                                              [Page 38]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      STATUS  current
      DESCRIPTION
        "This notification is generated when the average response
        time, tn3270eRtDataAvgRt, falls below
        tn3270eRtCollCtlThresholdLow at the end of a collection
        interval specified by tn3270eCollCtlSPeriod times
        tn3270eCollCtlSPMult, after a tn3270eRtExceeded
        notification was generated.  Note that the corresponding
        tn3270eCollCtlType must have traps(5) and average(3)
        set for this notification to be generated."
      ::= { tn3270eRtNotifications 2 }

  tn3270eRtCollStart NOTIFICATION-TYPE
      OBJECTS {
         tn3270eRtDataRtMethod,       -- type of collection
         tn3270eResMapElementType     -- type of resource
      }
      STATUS  current
      DESCRIPTION
        "This notification is generated when response time data
        collection is enabled for a member of a client group.
        In order for this notification to occur the corresponding
        tn3270eRtCollCtlType must have traps(5) selected.

        tn3270eResMapElementType contains a valid value only if
        tn3270eRtDataClientAddress contains a valid IP address
        (rather than a zero-length octet string)."
      ::= { tn3270eRtNotifications 3 }

  tn3270eRtCollEnd   NOTIFICATION-TYPE
      OBJECTS {
         tn3270eRtDataDiscontinuityTime,
         tn3270eRtDataAvgRt,
         tn3270eRtDataAvgIpRt,
         tn3270eRtDataAvgCountTrans,
         tn3270eRtDataIntTimeStamp,
         tn3270eRtDataTotalRts,
         tn3270eRtDataTotalIpRts,
         tn3270eRtDataCountTrans,
         tn3270eRtDataCountDrs,
         tn3270eRtDataElapsRndTrpSq,
         tn3270eRtDataElapsIpRtSq,
         tn3270eRtDataBucket1Rts,
         tn3270eRtDataBucket2Rts,
         tn3270eRtDataBucket3Rts,
         tn3270eRtDataBucket4Rts,
         tn3270eRtDataBucket5Rts,
         tn3270eRtDataRtMethod

Expires July 1998                                              [Page 39]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      }
      STATUS  current
      DESCRIPTION
        "This notification is generated when an tn3270eRtDataEntry
        is deleted after being active (actual data collected), in
        order to enable a management application monitoring an
        tn3270eRtDataEntry to get the entry's final values.  Note
        that the corresponding tn3270eCollCtlType must have traps(5)
        set for this notification to be generated."
      ::= { tn3270eRtNotifications 4 }

  -- Conformance Statement

  tn3270eRtGroups       OBJECT IDENTIFIER ::= { tn3270eRtConformance 1 }
  tn3270eRtCompliances  OBJECT IDENTIFIER ::= { tn3270eRtConformance 2 }

  -- Compliance statements

  tn3270eRtCompliance     MODULE-COMPLIANCE
      STATUS current
      DESCRIPTION
        "The compliance statement for agents that support the
        TN327E-RT-MIB."
      MODULE   -- this module
         MANDATORY-GROUPS { tn3270eRtGroup, tn3270eRtNotGroup }

      OBJECT tn3270eRtCollCtlType
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation to
            this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlSPeriod
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to allow the user to change
            the default value of this object, and is allowed to
            use a different default."

      OBJECT tn3270eRtCollCtlSPMult
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlThreshHigh
         MIN-ACCESS  read-only
         DESCRIPTION

Expires July 1998                                              [Page 40]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlThreshLow
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlIdleRate
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlBucketBndry1
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlBucketBndry2
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlBucketBndry3
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlBucketBndry4
         MIN-ACCESS  read-only
         DESCRIPTION
            "The agent is not required to support a SET operation
            to this object in the absence of adequate security."

      OBJECT tn3270eRtCollCtlRowStatus
         SYNTAX   INTEGER {
                           active(1) -- subset of RowStatus
                          }
         MIN-ACCESS read-only
         DESCRIPTION
            "Write access is not required, and only one of the six
            enumerated values for the RowStatus textual convention
            need be supported, specifically: active(1)."

Expires July 1998                                              [Page 41]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      OBJECT tn3270eRtSpinLock
         MIN-ACCESS  not-accessible
         DESCRIPTION
            "The agent is not required to support this object,
            since it provides an advisory spin lock capability."

      ::= {tn3270eRtCompliances 1 }

  -- Group definitions

  tn3270eRtGroup         OBJECT-GROUP
      OBJECTS {
          tn3270eRtCollCtlType,
          tn3270eRtCollCtlSPeriod,
          tn3270eRtCollCtlSPMult,
          tn3270eRtCollCtlThreshHigh,
          tn3270eRtCollCtlThreshLow,
          tn3270eRtCollCtlIdleRate,
          tn3270eRtCollCtlBucketBndry1,
          tn3270eRtCollCtlBucketBndry2,
          tn3270eRtCollCtlBucketBndry3,
          tn3270eRtCollCtlBucketBndry4,
          tn3270eRtCollCtlRowStatus,
          tn3270eRtDataDiscontinuityTime,
          tn3270eRtDataAvgRt,
          tn3270eRtDataAvgIpRt,
          tn3270eRtDataAvgCountTrans,
          tn3270eRtDataIntTimeStamp,
          tn3270eRtDataTotalRts,
          tn3270eRtDataTotalIpRts,
          tn3270eRtDataCountTrans,
          tn3270eRtDataCountDrs,
          tn3270eRtDataElapsRndTrpSq,
          tn3270eRtDataElapsIpRtSq,
          tn3270eRtDataBucket1Rts,
          tn3270eRtDataBucket2Rts,
          tn3270eRtDataBucket3Rts,
          tn3270eRtDataBucket4Rts,
          tn3270eRtDataBucket5Rts,
          tn3270eRtDataRtMethod,
          tn3270eRtSpinLock }
      STATUS  current
      DESCRIPTION
        "This group is mandatory for all implementations that
        support the TN3270E-RT-MIB. "
      ::= { tn3270eRtGroups 1 }

  tn3270eRtNotGroup         NOTIFICATION-GROUP

Expires July 1998                                              [Page 42]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

      NOTIFICATIONS {
          tn3270eRtExceeded,
          tn3270eRtOkay,
          tn3270eRtCollStart,
          tn3270eRtCollEnd
       }
      STATUS  current
      DESCRIPTION
        "The notifications that must be supported when the
        TN3270E-RT-MIB is implemented. "
      ::= { tn3270eRtGroups 2 }

  END

6.  Security Considerations

  Certain management information defined in this MIB MAY be considered
  sensitive in some network environments.  Therefore, authentication of
  received SNMP requests and controlled access to management information
  SHOULD be employed in such environments.  The method for this
  authentication is a function of the SNMP Administrative Framework, and
  has not been expanded by this MIB.

  Several objects in this MIB allow write access or provide for row
  creation.  Allowing this support in a non-secure environment can have
  a negative effect on network operations.  It is RECOMMENDED that
  implementers seriously consider whether set operations or row creation
  SHOULD be allowed without providing, at a minimum, authentication of
  request origin.  It is RECOMMENDED that without such support that the
  following objects be implemented as read-only:

      o tn3270eRtCollCtlType
      o tn3270eRtCollCtlSPeriod
      o tn3270eRtCollCtlSPMult
      o tn3270eRtCollCtlThreshHigh
      o tn3270eRtCollCtlThreshLow
      o tn3270eRtCollCtlIdleRate
      o tn3270eRtCollCtlBucketBndry1
      o tn3270eRtCollCtlBucketBndry2
      o tn3270eRtCollCtlBucketBndry3
      o tn3270eRtCollCtlBucketBndry4
      o tn3270eRtCollCtlRowStatus

  The administrative method to use to create and manage the
  tn3270eRtCollCtlTable when SET support is not allowed is outside of
  the scope of this memo.

Expires July 1998                                              [Page 43]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

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

8.  Acknowledgments

  This document is a product of the TN3270E Working Group. Special
  thanks is due to Derek Bolton and Michael Boe of Cisco Systems for
  their numerous comments and suggestions for improving the structure of
  this MIB.

9.  References

[1]  Case, J., McCloghrie, K., Rose, M., and Waldbusser S., "Structure
     of Management Information for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1902, January 1996.

[2]  Postel, J., and Reynolds, J., "Telnet Protocol Specification", RFC
     854, May 1983.

[3]  Postel, J., and Reynolds, J., "Telnet Timing Mark Option", RFC 860,
     May 1983.

[4]  Rekhter, J., "Telnet 3270 Regime Option", RFC 1041, January 1988.

Expires July 1998                                              [Page 44]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

[5]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport
     Mappings for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1906, January 1996.

[6]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Textual
     Conventions for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1903, January 1996.

[7]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol
     Operations for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1905, January 1996.

[8]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
     "Conformance Statements for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1904, January 1996.

[9]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Management
     Information Base for Version 2 of the Simple Network Management
     Protocol (SNMPv2)", RFC 1907, January 1996.

[10] White, K., "Base Definitions of Managed Objects for TN3270E Using
     SMIv2", Internet-Draft Work in progress, January 1998.

[11] Kelly, B., "TN3270 Enhancements", RFC 1647, July 1994.

[12] IBM, International Technical Support Centers, "Response Time Data
     Gathering", GG24-3212-01, November 1990.

[13] Bradner, S., "Key words for use in RFCs to Indicate Requirement
     Levels", BCP 14, RFC 2119, March 1997.

[14] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
     "Coexistence between Version 1 and Version 2 of the Internet-
     standard Network Management Framework", RFC 1908, January 1996.

10.  Authors' Addresses

  Kenneth D. White

Expires July 1998                                              [Page 45]

White, Moore      TN3270E Response Time Collection MIB   26 January 1998

  Dept. BRQA/Bldg. 501/G114
  IBM Corporation
  P.O.Box 12195
  3039 Cornwallis
  Research Triangle Park, NC 27709, USA
  Phone: +1-919-254-0102
  E-mail: [email-masked]

  Robert Moore
  Dept. BRQA/Bldg. 501/G114
  IBM Corporation
  P.O.Box 12195
  3039 Cornwallis
  Research Triangle Park, NC 27709, USA
  Phone: +1-919-254-7507
  E-mail: [email-masked]

11.  Full Copyright Statement

  Copyright (C) The Internet Society (1997).  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 July 1998                                              [Page 46]