INTERNET DRAFT                 WWW MIB                December 1, 1996

            Definitions of Managed Objects for WWW Servers


                   <draft-ietf-applmib-wwwmib-00.txt>



                          Carl W. Kalbfleisch
                       OnRamp Technologies, Inc.
                            cwk@onramp.net



                           Harrie Hazewinkel
                            DESIRE / MUSIQ
                   Joint Research Centre of the E.C.
                       harrie.hazewinkel@jrc.it



                        Juergen Schoenwaelder
                         University of Twente
                        schoenw@cs.utwente.nl


                          December 1, 1996



                         Status of this Memo

  This document is an Internet-Draft.  Internet-Drafts are working
  documents of the Internet Engineering Task Force (IETF), its
  areas, and its working groups.  Note that other groups may also
  distribute working documents as Internet-Drafts.

  Internet-Drafts are draft documents valid for a maximum of six
  months and may be updated, replaced, or obsoleted by other
  documents at any time.  It is inappropriate to use Internet-
  Drafts as reference material or to cite them other than as
  ``work in progress.''

  To learn the current status of any Internet-Draft, please check
  the ``1id-abstracts.txt'' listing contained in the Internet-
  Drafts Shadow Directories on ftp.is.co.za (Africa),
  nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).

  Distribution of this document is unlimited. Please send comments
  to the HTTP-MIB mailing list <http-mib@onramp.net>. Discussions of
  the mailing list are archived at
  <URL:http://http-mib.onramp.net/archive/> General discussions about
  application MIBs should take place on the Application MIB Working

Expires June 1, 1997                                      [Page 1]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  Group, <applmib@emi-summit.com>, mailing list.

1. Abstract

  This memo defines an experimental portion of the Management
  Information Base (MIB) for use with network management
  protocols in the Internet Community. In particular it
  describes a set of managed objects for WWW servers. These
  objects include extensions to Network Services Monitoring
  MIB, extensions to sysApplMIB, error reporting and document
  storage information. Some portions of this information are
  not yet defined and will be added to this document in future
  revisions.  These attributes are applicable to the HTTP
  protocol of WWW but may also be applicable to other information
  retrieval services like ftp, nntp, gopher and wais.

2. The SNMPv2 Network Management Framework

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

  o  STD 17, RFC 1213 [1] defines MIB-II, the core set of managed
     objects for the Internet suite of protocols.

  o  RFC 1902 Structure of Management Information for Version 2 of
     the Simple Network Management Protocol (SNMPv2)

  o  RFC 1903 Textual Conventions for Version 2 of the Simple
     Network Management Protocol (SNMPv2)

  o  RFC 1904 Conformance Statements for Version 2 of the Simple
     Network Management Protocol (SNMPv2)

  o  RFC 1905 Protocol Operations for Version 2 of the Simple
     Network Management Protocol (SNMPv2)

  o  RFC 1906 Transport Mappings for Version 2 of the Simple
     Network Management Protocol (SNMPv2)

  o  RFC 1907 Management Information Base for Version 2 of the
     Simple Network Management Protocol (SNMPv2)

  o  RFC 1908 Coexistence between Version 1 and Version 2 of the
     Internet-standard Network Management Framework

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

2.1. Object Definitions

  Managed objects are accessed via a virtual information store,
  termed the Management Information Base or MIB. Objects in the MIB
  are defined using the subset of Abstract Syntax Notation One
  (ASN.1) defined in the SMI [ref]. In particular, each object type is

Expires June 1, 1997                                      [Page 2]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  named by an OBJECT IDENTIFIER, an administratively assigned name.
  The object type together with an object instance serves to
  uniquely identify a specific instantiation of the object. For
  human convenience, we often use a textual string, termed the
  object descriptor, to refer to the object type.

3. Notation

  This notation [## .. ##] delineates editorial text. This
  information will either be removed in the final document or
  replaced with real text at those points.

4. A Note on Terminology

  This section defines the terminology used throughout this draft.

  The 'World Wide Web' (WWW) is the name of a world wide information
  system which is based on the concept of documents that can be linked
  together by embedding references to documents located at local or
  remote locations. References to a document are made using Uniform
  Resource Locators (URL) as defined in RFC 1738 [?].

  A 'WWW-site' is defined as a host in the Internet that embodies
  the WWW.

  A 'document' is defined like a coherent piece of information/data.
  No assumptions are made about the content or type.

  A 'Document Transport Protocol' (DTP) is defined as a generic name
  for all protocols that allow to perform operations on 'documents'
  stored on WWW-sites.

  A 'Uniform Resource Locator' (URL) is defined as formatted string
  representation for a 'document' available via the Internet.
  The 'URL' maps onto a certain 'DTP' and 'WWW-site' of where and how
  to retrieve a 'document'.
  For the syntax and semantics of the string representation is
  referred to rfc1630 [?] and rfc1738 [?]

  A 'request' is defined as a protocol operation which is targeted to
  a 'document' and invokes an action on the target document. The
  'request type' specifies the action that should be performed and
  a 'request' can have a document attached to it.

  A 'response' is defined as a protocol operation which is returned as
  a result of a previous (and associated) request. The 'response
  status' indicates if the requested action was successful or if
  errors occurred. A 'response' can have a document attached to it.

  An 'application' is defined as one or more units of executable code
  and other resources, installed on a single host system that a manager
  may think of as a single object for management purposes.

  A 'networked application' is defined as an application type which

Expires June 1, 1997                                      [Page 3]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  is not neccesaryly installed an a single host, but makes use of an
  underlying transport protocol in order to behave as a single object
  in the eyes of an operator.

  A 'server' is defined as the networked application invoking the DTP
  operations. A 'server' provides access facilty to 'documents' and/or
  storage facilty of 'documents'. The 'document' resides on locally
  accessible disks or in applications processing the DTP operations.

  A 'client' is defined as the networked application invoking the DTP
  operations. A 'clients issues the 'requests' and interprets the
  'responses'.

  A 'proxy' is defined as a networked application acting both as
  server and client for the purpose of making request for other
  clients. 'Requests' and 'responses' are passed by the 'proxy' with
  possible mapping between different DTP's. The 'proxy doesn't
  change the 'document' transferred.

  A 'caching proxy' is defined as a proxy with the capability of
  locally storing 'responses' to associated 'requests' in order to
  respond with the local stored 'response' to the associated 'request'.

  An 'entity' is defined as a 'server', a 'client', a 'proxy' or ' a
  'caching proxy' which can be accessed by an unique transport address.

5. Introduction

  The World Wide Web (WWW) is a network of information, accessible
  via a simple easy to use interface. The information is often
  presented in HyperText and/or multi-media. The information is
  provided by servers which are located all around the world and
  are linked to each other via hyperlinks.
  The protocol these servers listen to is the Hypertext Transfer
  Protocol performing the actual transfer of the information.
  The usability of the web depends largely on the performance of
  these servers. WWW servers are typically monitored through log
  files. This becomes a difficult task when a single organization is
  responsible for a number of servers. Since many organizations
  currently use the Internet Standard SNMP to manage their network
  devices, it is desirable to treat these WWW servers as additional
  devices within this framework. This will allow a single Network
  Management Station (NMS) to automate the management of a number of
  WWW servers as well as the entire enterprise. Defining a standard for
  this purpose allows a single management application to manage a
  number of servers from a variety of vendors.  Additionally, a formal
  definition of what has to be managed and how to manage it tends to
  lead to integrated and improved performance and fault management.

6. WWW Entities

  The focus of this MIB is the management of WWW entities. These
  entities are servers, clients and proxies which communicate with
  each other using the HyperText transfer Protocol (HTTP). This is a

Expires June 1, 1997                                      [Page 4]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  stateless protocol based on the Client/ Server paradigm. Therefore,
  this MIB includes WWW Server, client and proxy role of the WWW
  entity. The following section describe what is meant by server,
  client and proxy entities.

  Due to the similarity of HTTP to other information retrieval
  protocols, it is anticipated that this MIB may be directly useful to
  the management of applications processing other types of protocols
  such ftp, nntp, gopher and wais. An appendix is provided to describe
  how such application of this MIB might be made to other protocols.

6.1. WWW Server

  A WWW server is a proprietor of a general store of information. It
  waits for a client to come with a request for information and then
  returns the requested information to the client.

  The coverage of this MIB is suitable for WWW server although certain
  variables are not relevant in case the MIB is used for WWW server
  management. In that case the not relevant objects should return the
  zero-value.

6.2. WWW Client

  A WWW client, or also called a browser, is a application which can
  request information from server and present the returned information
  in the appropriate format. Whenever, the client application cannot
  display the proper format of the retrieved information helper
  applications assist the WWW client with presenting the information.

  The coverage of this MIB is primerly for WWW servers, but clients
  can be managed by it as well. In case of managing the client certain
  variables are not relevant which should than return the zero-value.


6.3. WWW Proxy

  Proxies are used to provide transformations of information passed
  between systems/ applications. The proxies are inside the chain of
  the client and the server handling the request for the operator.
  That server is not necesarrily an WWW server, but can also be an
  other type of application providing information requested. Such an
  application can be, for instance, a database which can be examined
  with SQL. In this particular case the proxy transfers the
  HTTP-request into SQL request and performs the other way around on
  the SQL respond by transferring it into an HTTP-request. Another
  way of using the proxy is to create some extra fire-wall whereby
  the proxy takes care of security issues. Although, this is not a
  real proxy.

  To have useful management information about proxies the MIB
  definition contains objects for outgoing and incoming of any
  particular request or response. Derived information from these so
  called low-level values are dependant on the use. For instance, if

Expires June 1, 1997                                      [Page 5]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  request are transformed into database requests you can have
  information on successful transformations. Whenever the proxy is
  used inside the fire-wall you can see how many attempts of
  breaking the fire-wall were made. This last one can mean there is
  someone trying to break a way into your network.

6.4. WWW Cached Proxy

  A special kind of proxies are the cached proxies. They are not
  always requesting information from the server lying behind. The
  cache contains already information made by earlier requests. The
  cached proxy uses that information to return the appropriate
  information without asking the real information provider.

  The useful network management information is here to know how
  many requests were already inside the cache of the proxy. This can
  also be explained as the so called 'hits/miss'-ratio. Although that
  this variable contained explicitly by this MIB and is inside the
  MIB. This ratio can be calculated by the two objects incoming
  requests and outgoing requests or even by the responses.

7. HTTP Message

  The WWW server, client and proxy described above communicate with
  each other using HTTP Messages. A HTTP message consist of request
  from clients to servers and responses from servers to clients. The
  message types use the generic format of RFC 822 [## ref TBD ##].

        generic-message = ( Request-Line | Status-Line)
                          *message-header
                          CRLF
                          [ message-body ]

  The mapping of the message onto the byte counter need some special
  attention. All bytes before the optional message-body are in this MIB
  are counted as header bytes and the bytes of the message body are
  named the data bytes.

  [## is this sufficiently clear to understand the *HeaderBytes and
  *DataBytes attributes defined in the MIB ##]

8. Relationship to other Standards Efforts

  WWW servers are seen as a specific type of generic application as
  well as a specific type of networked application. For this reason,
  their management can be viewed either in terms of the operational
  model of the sysApplMIB or the service model of the NSM MIB. Since
  organizations have members of their staff interested in one and/or
  both of these models, this MIB is designed to address viewing the
  WWW server from one and/or both models simultaneously.

  Additionally, users interested in both sets of data are interested in
  the relationship between sysApplMIB and NSM. At the time of writing
  this document, it is assumed that sysApplMIB will not address this

Expires June 1, 1997                                      [Page 6]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  relationship, so it is defined within this MIB. [## a conformance
  statement which provides just the implementation of this relationship
  is likely since other implementers may be interested in NSM, sysAppl
  and their relationship without the attributes defined in this MIB.
  For instance, any of the existing extentions to NSM could fit this
  category. ##]

  These attributes are intended to address the requirements specified
  in the document "Applicability of Standards Track MIBs to Management
  of World Wide Web Servers" [ref].

8.1. Relationship to NSM
  The Network Services Monitoring MIB is defined as the base set of
  attributes for managing network applications. This MIB extends that
  set of attributes for items specific to WWW.

8.2. Relationship to sysAppl and applMib

  The sysApplMIB defines attributes for management of applications
  which can be realized without instrumenting an application. The
  ApplMIB extends that framework to include additional attributes
  which will require instrumentation. This MIB extends the framework
  again with attributes specific to WWW.

8.3. Document relation to sysApplInstall

  This MIB treats documents on the WWW server as packages installed
  on the server. Any collection of documents can be defined as a
  package. The wwwDocInstallPkg and wwwDocInstallElmt attributes
  provide details of a document on the server.

8.4. Usage example for NSM to sysApplMIB relationship

  The nsmToSysApplElmtRunTable is defined in the applMib to
  relate NSM and sysApplMIB. The relationship between services
  defined in the NSM and the applications and elements implementing
  them in the sysAppl/applMIB framework depends on the implementation
  of the software. The manager needs to be know about this so that a
  management application can understand the ramification of such things
  that effect instances in the various tables.

  WWW supporting "virtual hosts" on a single machine may implement to
  NSM and sysAppl components quite differently. Two such
  implementations are Apache and Netscape.

  Apache implements a set of processes each capable of servicing
  requests for any of the virtual domains configured for the host.
  In comparison, the Netscape server implements a set of processes
  for each virtual domain.

  So if a machine were configured as the virtual domain servers for
  www.a.com and www.b.com, then the following entries in NSM and
  sysApplMIB would make sense:


Expires June 1, 1997                                      [Page 7]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  Apache

  applTable
      1) www.a.com
      2) www.b.com

  sysApplRunTable
      1) httpd

  sysApplElmtRunTable
      1.1-1.N (where N is max simultaneous requests)

  Netscape

  applTable
      1) www.a.com
      2) www.b.com

  sysApplRunTable
      1) httpd
      2) httpd

  sysApplElmtRunTable
      1.1 - 1.N ( N is max simultaneous for www.a.com)
      2.1 - 2.M ( M is max simultaneous for www.a.com)

  With the definition of the nsmToSysApplElmtRunTable, the
  relationships between the applTable and sysApplRunElmtTable
  can be defined.  If N and M are both fixed to 2, then the
  Apache and Netscape examples above would have the following
  entries in the nsmToSysApplElmtRunTable:

  NOTE:  Entries in the following tables are of the form:

        index) applIndex <-> sysApplRunIndex.sysAppRunElmtIndex

  Apache
        nsmToSysApplElmtRunTable
                1) 1 <-> 1.1
                2) 1 <-> 1.2
                3) 2 <-> 1.1
                4) 2 <-> 1.2

  Netscape
                1) 1 <-> 1.1
                2) 1 <-> 1.2
                3) 2 <-> 2.1
                4) 2 <-> 2.2

  The management application would read this table.  It would determine
  if non-unique sysApplRunIndex.sysAppRunElmtIndex occur for different
  values of applIndex and if so, know that control of those entries
  would also effect the other entries.


Expires June 1, 1997                                      [Page 8]


INTERNET DRAFT                 WWW MIB                December 1, 1996
9. Structure of the MIB

  This document defines a MIB for management of WWW servers.  The
  MIB has the following portions:

  -Extensions to NSM [ref]
  -Extensions to sysAppl [ref] framework
  -error reporting
  -document storage and statistics
  -relationships to other MIBs

9.1. The systems group

  The System group consists of a table describing all the entities
  operated by this host. The table contains not only basic network
  management information for (potentially) multiple entities running
  on a single host, but also information for all entities within
  virtual domains of the host. The columnar objects in the table
  can be divided into two main groups:

  1. global administrative information of the entity, such as entity
     contact person, and
  2. network information, such as the transport address to which the
     entity listens.

  [## see appendix todo list for discussion of the indexing of this
  table ##]

9.2. The Statistics group

  The statistics group provides network management information about
  the traffic received or transmitted by an entity. This group contains
  all network traffic related counters and consists of three tables,
  which are the summary table, the request table and the response
  table.

9.2.1. SummaryTable

  The SummaryTable, containing a set of network traffic related
  counters. The table provides a summarization of the network
  traffic which is also found in the request and response table as
  well as counters of discarded and unknown incoming traffic. It is
  well recognized that certain variables are redundant with respect
  to the request and response tables, but they are added to provide
  an operator a quick network overview and reduce SNMP network
  traffic.

9.2.2. RequestTable

  The RequestTable contains the set of detailed information of
  incoming and outgoing requests. Here every particular request type
  can be counted seperately.

9.2.3. ResponseTable

Expires June 1, 1997                                      [Page 9]


INTERNET DRAFT                 WWW MIB                December 1, 1996

  The ResponseTable contains the set of detailed information of
  incoming and outgoing requests. Here every particular response type
  can be counted seperately.

9.3. The Document group

  The document group contains the network management information about
  the accessed data. The group consists of the following tables.

9.3.1. wwwDocNameTable

  The wwwDocNameTbale provides a means for fast indexing to an entry
  into the document table given the name of the document.

9.3.2. wwwDocTable

  The wwwDocTable defines the attributes maintained about a given
  document. The statistics are defined based on the view of the
  document from the service. The wwwDocInstallPkg and
  wwwDocInstallElmt are provided to map to a file on the servers disk
  and provide information via the sysAppl package framework on the
 specifics of the file.

9.3.3. wwwDocFilterTable
  The wwwDocFilterTable is provided so that the manager can configure
  which documents are stored into the other two tables. The filtering
  is based on regular expressions [## need to define reference ##].
  This allows the manage to customize the statistics that are gathered
  to the most relevant documents that he is interested in.

9.4. The Error group

  [## TBD ##]

9.5. The Application group

  The application group defines those attributes which extend the
  sysAppl/applMIB framework for WWW. For each table in the sysApplMIB,
  a table is defined utilizing the defined indexing scheme to extend
  the table for WWW specific attributes.

  [## additional sections can be added here when we define attributes
  within the skeleton tables ##]

9.6. The Relation group

  This group of objects defines how this MIB relates to other MIBs.

10. Definitions


WWW-MIB DEFINITIONS ::= BEGIN


Expires June 1, 1997                                      [Page 10]


INTERNET DRAFT                 WWW MIB                December 1, 1996
IMPORTS
    applIndex                           FROM APPLICATION-MIB
    sysApplInstallPkgIndex,
    sysApplInstallElmtIndex,
    sysApplRunIndex,
    sysApplPastRunIndex, sysApplElmtRunIndex,sysApplElmtPastRunIndex,
    sysApplElmtRunInvocID,
    sysApplElmtPastRunInvocID           FROM SYSAPPL-MIB
    ZeroBasedCounter32, TimeFilter      FROM RMON2-MIB
    mib-2                               FROM RFC1213-MIB
    MODULE-IDENTITY, OBJECT-TYPE,
    Counter32, Integer32                FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString,
    TimeStamp, TAddress, DateAndTime,
    RowStatus                           FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP     FROM SNMPv2-CONF;

wwwMIB MODULE-IDENTITY
    LAST-UPDATED "9611190000Z"
    ORGANIZATION "Application MIB Working Group"
    CONTACT-INFO
            "        Carl W. Kalbfleisch

             Postal: On-Ramp Technologies
                     1950 Stemmons Freeway
                     Suite 2026 - INFOMART
                     Dallas, TX 75207
                     US

                Tel: +1 214 672-RAMP
                Fax: +1 214 672-7275

             E-mail: cwk@onramp.net"

    DESCRIPTION
            "The MIB module for WWW enities. The MIB is named www-mib
             although it should be applicable to include a wide family
             of 'Networked Information Retrieval' protocols such as
             http, nntp, ftp, gopher and wais."

    REVISION "9611190000Z"
    DESCRIPTION
            "Add skelton tables for extending sysApplMib framework
             within the wwwAppl branch."

    REVISION "9609240000Z"
    DESCRIPTION
            "Update a number of descriptions to make MIB less www
             specific and more general. Remove wwwEntityObjectID.
             Move wwwDocNamePkg and wwwDocNameElmt to wwwDocInstallElmt
             and wwwDocInstallPkg in wwwDocTable."

    REVISION "9609230000Z"
    DESCRIPTION

Expires June 1, 1997                                      [Page 11]


INTERNET DRAFT                 WWW MIB                December 1, 1996
            "Update a number of descriptions to make MIB less www
             specific and more general. Changed names of Header/Data
             byte attributes to Control/Content byte attributes."

    REVISION "9608160000Z"
    DESCRIPTION
            "Initial Internet Draft Release. This is based on two
             previous revisions, neither of which were internet drafts.
             See http://http-mib.onramp.net/ for archives, mailing
             list, etc."

    ::= { mib-2 8080 }

--
--  Object Identifiers for the www-MIB
--
wwwMIBObjects     OBJECT IDENTIFIER ::= { wwwMIB 1 }
wwwMIBConformance OBJECT IDENTIFIER ::= { wwwMIB 2 }
wwwMIBCompliances OBJECT IDENTIFIER ::= { wwwMIBConformance 1 }
wwwMIBGroups      OBJECT IDENTIFIER ::= { wwwMIBConformance 2 }

--
-- Textual Conventions
--
WwwRequestType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The WwwRequestType describes the types of requests.
             The value of this type is exactly the same textual
             identification of request types used in the information
             transport protocol.

             For the proper values is refered to the specific protocol
             specification."
    SYNTAX       DisplayString (SIZE (1..40))


WwwResponseType ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The WwwResponseType defines the different response values
             used by information transport protocols.
             The value of this type are the 3-digit codes used in the
             information transport protocol.

             For the proper values is refered to the specific protocol
             specification."
    SYNTAX       INTEGER (100..999)

--
-- The following textual conventions are used for document
-- storage.
--
WwwDocType::= TEXTUAL-CONVENTION

Expires June 1, 1997                                      [Page 12]


INTERNET DRAFT                 WWW MIB                December 1, 1996
    STATUS       current
    DESCRIPTION
            "This data type is used to describe the document type.
             It differentiates between 'static' and 'dynamic'
             documents. A document is said to be 'static' if subsequent
             accesses of the same document cause the same data to
             be sent to the requestor. The document is not changed
             during the processing of the request by the server and
             transport towards the client. A document is said to be
             'dynamic' if subsequent accesses of the file may produce
             various response data depending on various input
             parameters or run-time conditions."
    SYNTAX INTEGER
        {
                wwwDocStatic (1),
                wwwDocDynamic (2)
        }

WwwDocName ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "The server relative name of a document. If the URL were
             http://www.x.org/standards/search/search.cgi?string=test
             then the value of this textual convention would resolve
             to '/standards/search/search.cgi'."
    SYNTAX DisplayString

WwwDocIndex ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION
            "This data type is used to index documents. Index values
             are monotonically increasing from 1. Index values are
             not reused unless the value wraps. This means that if a
             documents entry in the table is deleted, then re-added in
             the document table because it is accessed again, then the
             document will have a new index value."
    SYNTAX INTEGER (1..2147483647)

--
-- The www System Group
--
-- The www System group contains information about the www protocol
-- entities.
--
wwwSystem OBJECT IDENTIFIER ::= { wwwMIBObjects 1 }

wwwEntityTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF WwwEntityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The table of the entities present on the system."
    ::= { wwwSystem 1 }


Expires June 1, 1997                                      [Page 13]


INTERNET DRAFT                 WWW MIB                December 1, 1996
wwwEntityEntry OBJECT-TYPE
    SYNTAX      WwwEntityEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Details of a particular entity which can be a
             Server, a Client, a Proxy or a Caching-Proxy."
    INDEX   { applIndex }
    ::= { wwwEntityTable 1 }

WwwEntityEntry ::= SEQUENCE {
        wwwEntityDescription            DisplayString,
        wwwEntityContact                DisplayString,
        wwwEntityProtocol               OBJECT IDENTIFIER,
        wwwEntityProtocolVersion        DisplayString,
        wwwEntityName                   DisplayString,
        wwwEntityAddress                TAddress,
        wwwEntityType                   INTEGER
    }


wwwEntityDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Textual description of the entity.  This shall include
             at least the vendor and version number of the application.
             In a minimal case, this might be the Product Token for
             the application."
    ::= { wwwEntityEntry 1 }

wwwEntityContact OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The textual identification of the contact person
             for this entity, together with information on how
             to contact this person.  For instance, this might
             be 'webmaster@domain.name'."
    ::= { wwwEntityEntry 2 }

wwwEntityProtocol OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An identification of the primary protocol in use by this
             entity. For Internet applications, the IANA maintains
             a registry of the OIDs which correspond to well-known
             applications.  If the application protocol is not listed
             in the registry, an OID value of the form {applTCPProtoID
             port} or {applUDProtoID port} are used for TCP-based and

Expires June 1, 1997                                      [Page 14]


INTERNET DRAFT                 WWW MIB                December 1, 1996
             UDP-based protocols, respectively. In either case 'port'
             corresponds to the primary port number being used by the
             protocol."
    ::= { wwwEntityEntry 3 }

wwwEntityProtocolVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Textual description of the version of the information
             transport protocol implemented.
             For HTTP version 1.1, the value shall be the 'HTTP/1.1'."
    ::= { wwwEntityEntry 4 }

wwwEntityName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The fully qualified domain name by which this entity is
             known.  This may be different than applName since that
             value is only a textual name for the application."
    ::= { wwwEntityEntry 5 }

wwwEntityAddress OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The Transport Address at which the entity listens for
             Requests or Responses."
    ::= { wwwEntityEntry 6 }

wwwEntityType OBJECT-TYPE
    SYNTAX      INTEGER {
                    server(1),
                    client(2),
                    proxy(3),
                    cachingProxy(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Identification of the role of the entity."
    ::= { wwwEntityEntry 7 }

-- The www Statistics Group
--
-- The www Statistics group contains information concerning the
-- utilisation of the www protocol entity.

wwwStatistics OBJECT IDENTIFIER ::= { wwwMIBObjects 2 }


Expires June 1, 1997                                      [Page 15]


INTERNET DRAFT                 WWW MIB                December 1, 1996
--
-- wwwSummaryTable
--
--
wwwSummaryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF WwwSummaryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "The table providing overview statistics for the
             entities on this system."
    ::= { wwwStatistics 1 }

wwwSummaryEntry        OBJECT-TYPE
    SYNTAX      WwwSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Overview statistics for an individual entity."
    INDEX        { applIndex }
    ::= { wwwSummaryTable 1 }


WwwSummaryEntry ::= SEQUENCE {
        wwwSummaryInRequests            Counter32,
        wwwSummaryOutRequests           Counter32,
        wwwSummaryRequestErrors         Counter32,
        wwwSummaryRequestDiscards       Counter32,
        wwwSummaryInResponses           Counter32,
        wwwSummaryOutResponses          Counter32,
        wwwSummaryResponseDiscards      Counter32,
        wwwSummaryInUnknowns            Counter32,
        wwwSummaryInControlBytes        Counter32,
        wwwSummaryInContentBytes        Counter32,
        wwwSummaryOutControlBytes       Counter32,
        wwwSummaryOutContentBytes       Counter32
    }

wwwSummaryInRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests received by this entity."
    ::= { wwwSummaryEntry 1 }

wwwSummaryOutRequests OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests generated by this entity."
    ::= { wwwSummaryEntry 2 }


Expires June 1, 1997                                      [Page 16]


INTERNET DRAFT                 WWW MIB                December 1, 1996
wwwSummaryRequestErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests containing errors and detected
             by this entity"
    ::= { wwwSummaryEntry 3 }

wwwSummaryRequestDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests discarded by this entity."
    ::= { wwwSummaryEntry 4 }

wwwSummaryInResponses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of responses received by this entity."
    ::= { wwwSummaryEntry 5 }

wwwSummaryOutResponses OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of responses generated by this entity."
    ::= { wwwSummaryEntry 6 }

wwwSummaryResponseDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of responses discarded by this entity."
    ::= { wwwSummaryEntry 7 }

wwwSummaryInUnknowns OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of unknown messages detected by this entity."
    ::= { wwwSummaryEntry 8 }

wwwSummaryInControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION

Expires June 1, 1997                                      [Page 17]


INTERNET DRAFT                 WWW MIB                December 1, 1996
            "The number of protocol control bytes received by this
             entity."
    ::= { wwwSummaryEntry 9 }

wwwSummaryInContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content bytes received by this
             entity."
    ::= { wwwSummaryEntry 10 }

wwwSummaryOutControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol control bytes generated by this
             entity."
    ::= { wwwSummaryEntry 11 }

wwwSummaryOutContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content bytes generated by this
             entity."
    ::= { wwwSummaryEntry 12 }

--
-- wwwRequestTable
--
--
--
--
wwwRequestTable        OBJECT-TYPE
    SYNTAX        SEQUENCE OF WwwRequestEntry
    MAX-ACCESS        not-accessible
    STATUS        current
    DESCRIPTION
            "The table providing detailed request statistics for the
             entities on this system."
    ::= { wwwStatistics 2 }

wwwRequestEntry        OBJECT-TYPE
    SYNTAX      WwwRequestEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Request statistics for an individual entity."
    INDEX        { applIndex, wwwRequestIndex }
    ::= { wwwRequestTable 1 }

Expires June 1, 1997                                      [Page 18]


INTERNET DRAFT                 WWW MIB                December 1, 1996

WwwRequestEntry ::= SEQUENCE {
        wwwRequestIndex                 WwwRequestType,
        wwwRequestInCount               Counter32,
        wwwRequestInControlBytes        Counter32,
        wwwRequestInContentBytes        Counter32,
        wwwRequestInLastTime            TimeStamp,
        wwwRequestOutCount              Counter32,
        wwwRequestOutControlBytes       Counter32,
        wwwRequestOutContentBytes       Counter32,
        wwwRequestOutLastTime           TimeStamp
    }

wwwRequestIndex OBJECT-TYPE
    SYNTAX      WwwRequestType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The particular request type the statistics apply to."
    ::= { wwwRequestEntry 1 }

wwwRequestInCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests of this type received by
             this entity."
    ::= { wwwRequestEntry 2 }

wwwRequestInControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol control bytes of this type
             received by this entity."
    ::= { wwwRequestEntry 3 }

wwwRequestInContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content data bytes received
             with this type by this entity."
    ::= { wwwRequestEntry 4 }

wwwRequestInLastTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime when the last byte of the last

Expires June 1, 1997                                      [Page 19]


INTERNET DRAFT                 WWW MIB                December 1, 1996
             complete request of this type was received by this
      entity."
    ::= { wwwRequestEntry 5 }

wwwRequestOutCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of requests of this type generated by this
             entity."
    ::= { wwwRequestEntry 6 }

wwwRequestOutControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol control bytes of this type
             generated by this entity."
    ::= { wwwRequestEntry 7 }

wwwRequestOutContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content bytes generated by
      this type of request by this entity."
    ::= { wwwRequestEntry 8 }

wwwRequestOutLastTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime when the first byte of the
      last request of this type was send by this entity."
    ::= { wwwRequestEntry 9 }

--
-- wwwResponseTable
--
--
--
--
wwwResponseTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF WwwResponseEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
            "The table providing detailed response statistics for the
             entities on this system."
    ::= { wwwStatistics 3 }

Expires June 1, 1997                                      [Page 20]


INTERNET DRAFT                 WWW MIB                December 1, 1996

wwwResponseEntry        OBJECT-TYPE
    SYNTAX      WwwResponseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Response statistics for an individual entity."
    INDEX        { applIndex, wwwResponseIndex }
    ::= { wwwResponseTable 1 }

WwwResponseEntry ::= SEQUENCE {
        wwwResponseIndex                WwwResponseType,
        wwwResponseInCount              Counter32,
        wwwResponseInControlBytes       Counter32,
        wwwResponseInContentBytes       Counter32,
        wwwResponseInLastTime           TimeStamp,
        wwwResponseOutCount             Counter32,
        wwwResponseOutControlBytes      Counter32,
        wwwResponseOutContentBytes      Counter32,
        wwwResponseOutLastTime          TimeStamp
    }

wwwResponseIndex OBJECT-TYPE
    SYNTAX      WwwResponseType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The particular response type the statistics apply to."
    ::= { wwwResponseEntry 1 }

wwwResponseInCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of responses of this type received by this
             entity."
    ::= { wwwResponseEntry 2 }

wwwResponseInControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol control bytes of this type
             received by this entity."
    ::= { wwwResponseEntry 3 }

wwwResponseInContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content bytes received

Expires June 1, 1997                                      [Page 21]


INTERNET DRAFT                 WWW MIB                December 1, 1996
             by this type of response by this entity."
    ::= { wwwResponseEntry 4 }

wwwResponseInLastTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime when the last byte of the last
             complete response of this type was received by this
             entity."
    ::= { wwwResponseEntry 5 }

wwwResponseOutCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of responses of this type generated by this
             entity."
    ::= { wwwResponseEntry 6 }

wwwResponseOutControlBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol control bytes of this type
             generated by this entity."
    ::= { wwwResponseEntry 7 }

wwwResponseOutContentBytes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of protocol content bytes generated by this
      type of response by this entity."
    ::= { wwwResponseEntry 8 }

wwwResponseOutLastTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of sysUpTime when the first byte of the
      last response of this type was sent by this entity."
    ::= { wwwResponseEntry 9 }

--
--  wwwDocument
--
--  This portion of the MIB defines objects for the document store.
--

Expires June 1, 1997                                      [Page 22]


INTERNET DRAFT                 WWW MIB                December 1, 1996
--  The document store is view from two perspectives:
--
--    -as seen from clients of the entity from a service perspective
--    -as viewed by the collection of files in the filesystem
--
--  The first case is defined as a table of statistics as seen from
--  the service perspective. This wwwDocTable is indexed by applIndex
--  and a unique value for that entity for each document. The entries
--  in this table defines statistics and information from this service
--  perspective.
--
--  The second case is defined using the sysApplInstallPkgTable and the
--  sysApplInstallElmtTable. An entry in the sysApplInstallPkgTable can
--  be defined for the entire collection of document resources the
--  service provides, or any subset of those document resources. For
--  instance, an Internet service provider may configure a separate
--  entry in the sysApplInstallPkgTable for each customer on a server
--  supporting multiple virtual servers, for each user name of a
--  domain, etc.
--
--  Entries in the sysApplInstallElmtTable correspond to each file in
--  the filesystem which are mapped to entries in wwwDocTable. These
--  entries in sysApplInstallElmtTable may be loaded by the agent when
--  the file is first accessed, or be pre-loaded even with entries of
--  files that have never been accessed by the service.
--
--  The wwwDocNameTable provides a mapping from the name of the
--  document resource from the service perspective to the indices
--  of the wwwDocTable, the sysApplInstallPkgTable and the
--  sysApplInstallElmtTable.
--

wwwDocument        OBJECT IDENTIFIER ::= { wwwMIBObjects 3 }

--
--  wwwDocNameTable
--

-- [## Note that SMI limits the max. number of elements in an
--     object identifier to 128. This means that a wwwDocNameName is
--     more or less limited to 100 characters. ##]

wwwDocNameTable OBJECT-TYPE
    SYNTAX SEQUENCE OF WwwDocNameEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table of document name to index mappings. This table is
       provided so that if the document name is known, the index
       into the wwwDocTable can be obtained without having to
       traverse the entire wwwDocTable. Entries are indexed by
       the URL path without any possible arguments.

       If the value of wwwEntityName.1 is www.a.org, then the

Expires June 1, 1997                                      [Page 23]


INTERNET DRAFT                 WWW MIB                December 1, 1996
       wwwDocTable entry for http://www.a.org/foo/bar.html can be
       obtained by retrieving
   wwwDocNameIndex.1.13.47.102.111.111.47.98.97.114.46.104.116.109.108"
    ::= {wwwDocument 1}

wwwDocNameEntry OBJECT-TYPE
    SYNTAX WwwDocNameEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry associated with a particular mapping
       in the wwwDocNameTable."
    INDEX {applIndex, wwwDocNameName}
    ::= {wwwDocNameTable 1}

WwwDocNameEntry ::= SEQUENCE
    {
      wwwDocNameName     WwwDocName,
      wwwDocNameIndex    WwwDocIndex
    }

wwwDocNameName OBJECT-TYPE
    SYNTAX WwwDocName
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Auxilary object used along with applIndex to uniquely identify
       a wwwDocNameEntry for a wwwEntityEntry. applIndex is the table
       index value from the Network Services Monitoring MIB."
    ::= {wwwDocNameEntry 1}

wwwDocNameIndex OBJECT-TYPE
    SYNTAX WwwDocIndex
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A value that can be used along with applIndex to access the
       wwwDocNameName document information in the wwwDocTable.
       applIndex is the table index value from the Network Services
       Monitoring MIB."
    ::= {wwwDocNameEntry 2}

--
--  wwwDocFilterTable
--
wwwDocFilterTable OBJECT-TYPE
    SYNTAX SEQUENCE OF WwwDocFilterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "This table is used to filter out entries that should not appear
       in the wwwDocNameTable. A document name is matched against the
       expressions listed in this table. A successful match will stop
       further processing of this entry so that this document name will

Expires June 1, 1997                                      [Page 24]


INTERNET DRAFT                 WWW MIB                December 1, 1996
       not appear in the wwwDocNameTable."
    ::= { wwwDocument 2 }

wwwDocFilterEntry OBJECT-TYPE
    SYNTAX WwwDocFilterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry that filters documents that match a specific regular
       expression."
    INDEX { applIndex, wwwDocFilterIndex }
    ::= { wwwDocFilterTable 1}

WwwDocFilterEntry ::= SEQUENCE {
    wwwDocFilterIndex Integer32,
    wwwDocFilterRegexp DisplayString,
    wwwDocFilterStatus RowStatus
}

wwwDocFilterIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..10000)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "An arbitrary integer used only for indexing purposes."
    ::= { wwwDocFilterEntry 1 }

wwwDocFilterRegexp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "A regular expression that is matched against the document
       name. [## Definition of a regular expression missing. ##]"
    ::= { wwwDocFilterEntry 2 }

wwwDocFilterStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "An object used to create and remove entries in the
       wwwDocFilterTable."
    ::= { wwwDocFilterEntry 3 }


--
--  wwwDocTable
--
--
--
--
wwwDocTable OBJECT-TYPE
    SYNTAX SEQUENCE OF WwwDocEntry

Expires June 1, 1997                                      [Page 25]


INTERNET DRAFT                 WWW MIB                December 1, 1996
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table of documents accessible from any entity configured
       in the wwwEntityTable. The agent minimally adds entries to this
       table to correspond with documents that have been accessed.
       It may choose to add entries for documents which have not yet
       been accessed as well."
    ::= { wwwDocument 3 }

wwwDocEntry OBJECT-TYPE
    SYNTAX WwwDocEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "An entry associated with a particular mapping in the
       wwwDocTable."
    INDEX {applIndex, wwwDocNameIndex, wwwDocTimeMark}
    ::= {wwwDocTable 1}

WwwDocEntry ::= SEQUENCE
    {
      wwwDocTimeMark                  TimeFilter,
      wwwDocInstallPkg                Integer32,
      wwwDocInstallElmt               Integer32,
      wwwDocName                      WwwDocName,
      wwwDocType                      WwwDocType,
      wwwDocFirstAccessTimeStamp      DateAndTime,
      wwwDocLastAccessTimeStamp       DateAndTime,
      wwwDocLastAccessResponseType    WwwResponseType,
      wwwDocInBytes                   ZeroBasedCounter32,
      wwwDocOutBytes                  ZeroBasedCounter32,
      wwwDocInCount                   ZeroBasedCounter32,
      wwwDocOutCount                  ZeroBasedCounter32,
      wwwDocSpecific                  OBJECT IDENTIFIER,
      wwwDocStatus                    RowStatus
    }

wwwDocTimeMark OBJECT-TYPE
    SYNTAX TimeFilter
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "A TimeFilter for this entry by which the real accesses
       are counted between two sequential retrievals of this table.
       The TimeFilter is a textual convention in RMON-2,
       draft-ietf-rmonmib-rmonmib-v2-03.txt.
       For the appropriate behaviour is referred to that MIB.
       The values during startup time are exactly the same
       during the last actions of the HTTP-server before the
       server went down.

       [## we do not actually want to purge
       this table when sysUptime resets.  We need to consider

Expires June 1, 1997                                      [Page 26]


INTERNET DRAFT                 WWW MIB                December 1, 1996
       whether this is still an acceptable use of TimeFilter.
       The reasoning is that we want these attributes to be
       maintained across restarts of the http software, the
       management software and the host computer.  In other words,
       we want the data in the table to be persistent. At the
       same time, since the table is likely very large, we want
       the ability to read the updates since a given time. I would
       prefer the following.  Rather than purging the table when
       sysUptime is zero (wrap or restart), return all entries in
       the table.  For instance wwwDocName.x.y.0 would return
       all documents for all valid values of x and y. ##]"
    ::= {wwwDocEntry 1}

-- [## A TC for this index has been requested from the application MIB
--     WG. If added, we should insure that 0 is in the valid range. ##]

wwwDocInstallPkg OBJECT-TYPE
    SYNTAX  Integer32 (0..'7fffffff'h)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "This value can be used to index into the sysApplInstallPkgTable
       which defines the documents for this wwwEntity. Entries in the
       sysApplInstallPkgTable can be allocated so that the documents
       that the web server provides are viewed as an installed package.
       There might be a single package for the entire server, a package
       for each virtual host on the server, or entries for each user.
       For instance, the documents that make up www.a.org could be
       viewed as a package. Additionally, users whose pages show up as
       www.a.org/~user could be separate packages or part of the main
       package. If there is no file on the filesystem which corresponds
       to this URL (for instance it is handled internally to the web
       server) and there is no corresponding  entry in the
       sysApplInstallPkgTable, then the value of this object is 0."
    ::= {wwwDocEntry 2}

-- [## A TC for this index has been requested from the application MIB
--     WG. If added, we should insure that 0 is in the valid range. ##]

wwwDocInstallElmt OBJECT-TYPE
    SYNTAX  Integer32 (0..'7fffffff'h)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "This value can be used along with the corresponding value for
       wwwDocNamePkg to index into the sysApplInstallElmtTable to find
       specific information about the representation of this document
       on the fileservers disk. The sysApplInstallPkgTable should
       contain an entry for every document, file, and script utilized
       by the web server, even if those entries correspond to items
       that have never been accessed. This means that there may be
       items in the sysApplInstallElmt tables that are not referenced
       from this table. If there is no corresponding file on the
       fileserver, then the value of this object is 0. This can occur

Expires June 1, 1997                                      [Page 27]


INTERNET DRAFT                 WWW MIB                December 1, 1996
       if the URL is handled internally to the web server, or if all
       accesses to the URL indicate a failed requests such as document
       not found."
    ::= {wwwDocEntry 3}

wwwDocName OBJECT-TYPE
    SYNTAX WwwDocName
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The name of this document relative to the www entity
       name as seen from the web. For instance if the www
       entity name is www.a.org and this file is accessible
       on the web as http://www.a.org/foo.html, then the
       value of this object would be '/foo.html'."
    ::= {wwwDocEntry 4}

wwwDocType OBJECT-TYPE
    SYNTAX WwwDocType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "Indicates the type of the document. If the document is 'static',
       then the related sysApplInstallElmtSize refers to the size that
       is transmitted when this document is requested. If the document
       is 'dynamic', then the related sysApplInstallElmtSize is 0 and
       the amount of data transmitted on access is not known, but
       understood to be variable."
    ::= {wwwDocEntry 5}

wwwDocFirstAccessTimeStamp OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The date and time that this document was first accessed
       since being inserted into this table or being modified. If
       entries are inserted on access, then this also corresponds
       to the date and time of being placed into this table.  If
       entries are inserted into the table prior to being accessed,
       then this value should be all zero. When a document is accessed
       following being modified on the servers disk, this value is
       reset to the timestamp of such access. [## do we want to use
       the RowStatus 'notInService' to indicate rows that are
       inserted prior to use? ##]"
    ::= {wwwDocEntry 6}

wwwDocLastAccessTimeStamp OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The date and time that this document was last accessed."
    ::= {wwwDocEntry 7}

Expires June 1, 1997                                      [Page 28]


INTERNET DRAFT                 WWW MIB                December 1, 1996

wwwDocLastAccessResponseType OBJECT-TYPE
    SYNTAX WwwResponseType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The protocol response type which was sent to the client
       the last time this document was accessed."
    ::= {wwwDocEntry 8}

wwwDocInBytes OBJECT-TYPE
    SYNTAX ZeroBasedCounter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The number of bytes received by this entity while transporting
       references to this document."
    ::= {wwwDocEntry 9}

wwwDocOutBytes OBJECT-TYPE
    SYNTAX ZeroBasedCounter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The number of content bytes while transmitting this document."
    ::= {wwwDocEntry 10}

wwwDocInCount OBJECT-TYPE
    SYNTAX ZeroBasedCounter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The number of times this document has been received."
    ::= {wwwDocEntry 11}

wwwDocOutCount OBJECT-TYPE
    SYNTAX ZeroBasedCounter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "The number of times this document has been transmitted."
    ::= {wwwDocEntry 12}

wwwDocSpecific OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A reference to MIB definitions specific to the particular
       document being realized by this entry.  For example, if this
       entry corresponds to a CGI based URL, then this value might
       refer to a table specific to the usage of that URL with
       various parameter combinations. If this information is not
       present, its value should be set to the OBJECT IDENTIFIER

Expires June 1, 1997                                      [Page 29]


INTERNET DRAFT                 WWW MIB                December 1, 1996
       { 0 0 }, which is a syntactically valid object identifier,
       and any conformant implementation of ASN.1 and BER must be
       able to generate and recognize this value. Agents that do
       not support any extensions return { 0 0 } for all entries
       in this table. [## Is this a sufficient way to allow extension
       to support parameters? ##]"
    ::= {wwwDocEntry 13}

wwwDocStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
      "The status of this row.  Rows are added to this table by the
       agent, normally when a resource is first requested. Writing
       'Destroy' to this object removes this entry from the
       wwwDocTable as well as removing the associated entry in the
       wwwDocNameTable. No other value is supported."
    ::= {wwwDocEntry 14}


--
--  wwwError
--
--  Objects which define error reporting conditions
--
wwwError        OBJECT IDENTIFIER ::= { wwwMIBObjects 4 }

--
--  wwwAppl
--
--  Objects which extend sysApplMIB/applMIB framework
--
wwwAppl            OBJECT IDENTIFIER ::= { wwwMIBObjects 5 }
wwwApplInstalled   OBJECT IDENTIFIER ::= { wwwAppl 1 }
wwwApplRun         OBJECT IDENTIFIER ::= { wwwAppl 2 }

--
--  wwwApplInstallPkgTable
--
wwwApplInstallPkgTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplInstallPkgEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table listing the www software application packages
           installed on a host computer. In order to appear in
           this table, it may be necessary for the application
           to be installed using some type of software
           installation mechanism or global registry so that its
           existence can be detected by the agent implementation.

           This table extends the sysApplInstallPkgTable of the
           sysApplMib/applMib framework with attributes specific

Expires June 1, 1997                                      [Page 30]


INTERNET DRAFT                 WWW MIB                December 1, 1996
           to www applications."
       ::= { wwwApplInstalled 1 }

wwwApplInstallPkgEntry OBJECT-TYPE
       SYNTAX      WwwApplInstallPkgEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing an installed www application
           package."
       INDEX    { sysApplInstallPkgIndex }
       ::= { wwwApplInstallPkgTable 1 }

WwwApplInstallPkgEntry ::= SEQUENCE
   {
       wwwApplInstallPkgBogus Integer32
   }

wwwApplInstallPkgBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplInstallPkgEntry 1}

--
-- wwwApplInstallElmtTable
--
wwwApplInstallElmtTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplInstallElmtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table details the individual application package
           elements (files and executables) which comprise the
           www applications defined in the wwwApplInstallPkgTable.

           Table entries are indexed by sysApplInstallPkgIndex,
           sysApplInstallElmtIndex to facilitate retrieval of
           all elements associated with a particular installed
           application package.

           This table extends the sysApplInstallElmtTable of the
           sysApplMib/applMib framework with attributes specific
           to www applications."
       ::= { wwwApplInstalled 2 }

wwwApplInstallElmtEntry OBJECT-TYPE
       SYNTAX      WwwApplInstallElmtEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing an element of an installed

Expires June 1, 1997                                      [Page 31]


INTERNET DRAFT                 WWW MIB                December 1, 1996
           www application. The element may be an executable or
           non-executable file."
       INDEX    {sysApplInstallPkgIndex, sysApplInstallElmtIndex}
       ::= { wwwApplInstallElmtTable 1 }

WwwApplInstallElmtEntry ::= SEQUENCE
   {
 wwwApplInstallElmtBogus    Integer32
   }

wwwApplInstallElmtBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplInstallElmtEntry 1}


--
-- wwwApplRunTable
--
wwwApplRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table describes the www applications which are
           executing on the host.  Each time an application is
           invoked, an entry is created in this table. When an
           application ends, the entry is removed from this table and
           placed in the wwwApplPastRunTable. Note that the
           corresponding entry in sysApplRunTable is moved to
           sysAPplPastRunTable at the same time.

           The table is indexed by sysApplInstallPkgIndex,
           sysApplRunIndex to enable managers to easily locate all
           invocations of a particular application package.

           This table extends the sysApplRunTable of the
           sysApplMib/applMib framework with attributes specific
           to www applications."
       ::= { wwwApplRun 1 }

wwwApplRunEntry OBJECT-TYPE
       SYNTAX      WwwApplRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing a www application which is
           currently running on this host."
       INDEX    { sysApplInstallPkgIndex, sysApplRunIndex }
       ::= { wwwApplRunTable   1 }


Expires June 1, 1997                                      [Page 32]


INTERNET DRAFT                 WWW MIB                December 1, 1996
WwwApplRunEntry ::= SEQUENCE {
 wwwApplRunBogus    Integer32
   }

wwwApplRunBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplRunEntry 1}

--
-- wwwApplPastRunTable
--
wwwApplPastRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplPastRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A history of the www applications that have previously run
           on the host computer.  An entry is moved to this table
           from the wwwApplRunTable when the invoked application
           represented by the entry ceases to be running.

           Entries remain in this table until they are aged out when
           either the table size reaches a maximum as determined by
           the sysApplPastRunMaxRows, or when an entry has aged to
           exceed a time limit as set by sysApplPastRunTblTimeLimit.

           Entries in this table are indexed by sysApplInstallPkgIndex,
           sysApplPastRunIndex to facilitate retrieval of all past
           run invocations of a particular installed application.

           This table extends the sysApplPastRunTable of the
           sysApplMib/applMib framework with attributes specific
           to www applications."
       ::= { wwwApplRun 2 }

wwwApplPastRunEntry OBJECT-TYPE
       SYNTAX      WwwApplPastRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing an invocation of a www
           application which was previously run and has terminated.
           The entry is basically copied from the wwwApplRunTable
           when the application instance terminates.  Hence, the
           entry's value for sysApplPastRunIndex is the same as its
           value was for sysApplRunIndex."
       INDEX    { sysApplInstallPkgIndex, sysApplPastRunIndex }
       ::= { wwwApplPastRunTable 1 }

WwwApplPastRunEntry ::= SEQUENCE

Expires June 1, 1997                                      [Page 33]


INTERNET DRAFT                 WWW MIB                December 1, 1996
   {
        wwwApplPastRunBogus        Integer32
   }

wwwApplPastRunBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplPastRunEntry 1}

--
-- wwwApplElmtRunTable
--
wwwApplElmtRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplElmtRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table describes the processes which are
           currently executing on the host system which are
           associated with an invoked www application.

           The table is indexed by sysApplElmtRunInvocID,
           sysApplElmtRunIndex to make it easy to locate all running
           elements of a particular invoked application.

           This table extends the sysApplElmtRunTable of the
           sysApplMib/applMib framework with attributes specific
           to www applications."
       ::= { wwwApplRun 3 }

wwwApplElmtRunEntry OBJECT-TYPE
       SYNTAX      WwwApplElmtRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing a process currently
           running on this host which is associated with an
           invoked www application."
       INDEX    { sysApplElmtRunInvocID, sysApplElmtRunIndex }
       ::= { wwwApplElmtRunTable   1 }

WwwApplElmtRunEntry ::= SEQUENCE
   {
        wwwApplElmtRunBogus    Integer32
   }

wwwApplElmtRunBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION

Expires June 1, 1997                                      [Page 34]


INTERNET DRAFT                 WWW MIB                December 1, 1996
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplElmtRunEntry 1}

--
-- wwwApplElmtPastRunTable
--
wwwApplElmtPastRunTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF WwwApplElmtPastRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table describes the processes which have previously
           executed on the host system as part of a www application.

           Entries are added to this table when the corresponding
           process in the wwwApplElmtRun Table terminates. Just as
           the sysApplElmtRun entry is copied to sysApplElmtPastRun,
           the wwwApplElmtRun entry is copied to wwwApplElmntPastRun.

           Entries remain in this table until they are aged out when
           either the number of entries in the table reaches a
           maximum as determined by sysApplElmtPastRunMaxRows, or
           when an entry has aged to exceed a time limit as set by
           sysApplElmtPastRunTblTimeLimit.  When aging out entries,
           the oldest entry, as determined by the value of
           sysApplElmtPastRunTimeEnded, will be removed first.

           The table is indexed by sysApplElmtPastRunInvocID,
           sysApplElmtPastRunIndex to make it easy to locate all
           previously executed processes of a particular invoked
           application.

           This table extends the sysApplElmtPastRunTable of the
           sysApplMib/applMib framework with attributes specific
           to www applications."
       ::= { wwwApplRun 4 }

wwwApplElmtPastRunEntry OBJECT-TYPE
       SYNTAX      WwwApplElmtPastRunEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The logical row describing a process which was
           previously executed on this host as part of a
           www application.  The entry is basically copied
           from the wwwApplElmtRunTable when the process
           terminates.  Hence, the entry's value for
           sysApplElmtPastRunIndex is the same as its value
           was for sysApplElmtRunIndex.  Only those
           processes which could be associated with an
           identified application are included in this table."
       INDEX    { sysApplElmtPastRunInvocID, sysApplElmtPastRunIndex }
       ::= { wwwApplElmtPastRunTable   1 }


Expires June 1, 1997                                      [Page 35]


INTERNET DRAFT                 WWW MIB                December 1, 1996
WwwApplElmtPastRunEntry ::= SEQUENCE
   {
        wwwApplElmtPastRunBogus        Integer32
   }

wwwApplElmtPastRunBogus OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
      "A place holder to satisfy the MIB compiler."
    ::= { wwwApplElmtPastRunEntry 1}

--
--  wwwRelate
--
--  Objects which define relationships to other MIB modules.
--
wwwRelate        OBJECT IDENTIFIER ::= { wwwMIBObjects 6 }

--
--
-- Conformance and compliance definitions.
--
--
wwwMIBEntityGroup OBJECT-GROUP
    OBJECTS
        {
        wwwEntityDescription,
        wwwEntityContact,
        wwwEntityProtocol,
        wwwEntityProtocolVersion,
        wwwEntityName,
        wwwEntityAddress,
        wwwEntityType
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 1 }

wwwMIBSummaryGroup OBJECT-GROUP
    OBJECTS
        {
        wwwSummaryInRequests,
        wwwSummaryOutRequests,
        wwwSummaryRequestErrors,
        wwwSummaryRequestDiscards,
        wwwSummaryInResponses,
        wwwSummaryOutResponses,
        wwwSummaryResponseDiscards,
        wwwSummaryInUnknowns,
        wwwSummaryInControlBytes,
        wwwSummaryInContentBytes,

Expires June 1, 1997                                      [Page 36]


INTERNET DRAFT                 WWW MIB                December 1, 1996
        wwwSummaryOutControlBytes,
        wwwSummaryOutContentBytes
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 2 }

wwwMIBRequestGroup OBJECT-GROUP
    OBJECTS
        {
        wwwRequestInCount,
        wwwRequestInControlBytes,
        wwwRequestInContentBytes,
        wwwRequestInLastTime,
        wwwRequestOutCount,
        wwwRequestOutControlBytes,
        wwwRequestOutContentBytes,
        wwwRequestOutLastTime
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 3 }

wwwMIBResponseGroup OBJECT-GROUP
    OBJECTS
        {
        wwwResponseInCount,
        wwwResponseInControlBytes,
        wwwResponseInContentBytes,
        wwwResponseInLastTime,
        wwwResponseOutCount,
        wwwResponseOutControlBytes,
        wwwResponseOutContentBytes,
        wwwResponseOutLastTime
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 4 }

wwwMIBDocumentGroup OBJECT-GROUP
    OBJECTS
        {
        wwwDocNameIndex,
 wwwDocFilterRegexp,
 wwwDocFilterStatus,
        wwwDocInstallPkg,
        wwwDocInstallElmt,
        wwwDocName,
        wwwDocType,
        wwwDocFirstAccessTimeStamp,
        wwwDocLastAccessTimeStamp,

Expires June 1, 1997                                      [Page 37]


INTERNET DRAFT                 WWW MIB                December 1, 1996
        wwwDocLastAccessResponseType,
        wwwDocInBytes,
        wwwDocOutBytes,
        wwwDocInCount,
        wwwDocOutCount,
        wwwDocSpecific,
        wwwDocStatus
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 5 }

-- wwwMIBRelateGroup OBJECT-GROUP
--    OBJECTS
--        {
--        }
--    STATUS  current
--    DESCRIPTION
--            ""
--    ::= { wwwMIBGroups 6 }

wwwMIBApplGroup OBJECT-GROUP
    OBJECTS
        {
       wwwApplInstallPkgBogus,
       wwwApplInstallElmtBogus,
       wwwApplRunBogus,
       wwwApplPastRunBogus,
       wwwApplElmtRunBogus,
       wwwApplElmtPastRunBogus
        }
    STATUS  current
    DESCRIPTION
            ""
    ::= { wwwMIBGroups 7 }


--
-- [## need to define remaining attributes here. ##]
--

wwwCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SNMP entities
             which implement the WWW-MIB."
    MODULE  -- this module
        MANDATORY-GROUPS
                {
                wwwMIBEntityGroup,
                wwwMIBSummaryGroup,
                wwwMIBRequestGroup,
                wwwMIBResponseGroup,

Expires June 1, 1997                                      [Page 38]


INTERNET DRAFT                 WWW MIB                December 1, 1996
                wwwMIBDocumentGroup,
--                wwwMIBRelateGroup,
  wwwMIBApplGroup
                }
    ::= { wwwMIBCompliances 1 }

END


11. Verification

The MIB module is verified using the SMICng MIB compiler by
Dave Perkins.  The following include file can be used along
with the SMICng compiler. Besides the standard MIBs released
with the SMICng distribution, the RMON2-MIB and SYSAPPL-MIB
are require for the compilation.

11.1. SMICng Include File


12. References

 [] Kalbfleisch, C., "Applicability of Standards Track MIBs to
     Management of World Wide Web Servers", RFC-2039, OnRamp
     Technologies, November 1996

 [] Anonymous, "Logging in the W3C httpd",
     http://www.w3.org/hypertext/WWW/Daemon/User/Config/Logging.html,
     W3C, July 1995

 [] McCloghrie, K., and M. Rose, Editors, "Management Information
     Base for Network Management of TCP/IP-based internets: MIB-
     II", STD 17, RFC 1213, Hughes LAN Systems, Performance
     Systems International, March 1991.

 [] Grillo, P., and S. Waldbusser, "Host Resources MIB", RFC 1514,
     Network Innovations, Intel Corporation, Carnegie Mellon
     University, September 1993

 [] Kille, S., and N. Freed, "Network Services Monitoring MIB",
     RFC 1565, ISODE Consortium, Innosoft, January 1994

 [] Saperia, J., C. Krupczak, R. Sturm, and J. Weinstock, "Definition
     of Managed Objects for Applications",
     draft-ietf-applmib-sysapplmib-02.txt, BGS Systems, Empire
     Technologies, Enterprise Management Professional Services,
     Bellcore, May 1996

 [] Krupczak, C. and S. Waldbusser, "Applicability of Host Resources
     MIB to Application Management", Empire Technologies, Inc.,
     International Network Services, October 1995.

 [] Kille, S., and N. Freed, "Mail Monitoring MIB", RFC 1566, ISODE
     Consortium, Innosoft, January 1994

Expires June 1, 1997                                      [Page 39]


INTERNET DRAFT                 WWW MIB                December 1, 1996

 [] Mansfield, G., and S. Kille, "X.500 Directory Monitoring MIB",
     RFC 1567, AIC Systems Laboratory, ISODE Consortium, January 1994

 [] Postel, J., and Reynolds, J.K., "File TransferProtocol (FTP).",
     RFC 959, USC/ISI, October 1985.

 [] Kantor, B., and P. Lapsley, "Network News Transfer Protocol: A
   Proposed Standard for the Stream-Based Transmission of News", RFC
   977, UC San Diego & UC Berkeley, February 1986.

 [] Horton, M., and R. Adams, "Standard for interchange of USENET
   messages", RFC 1036, AT&T Bell Laboratories, Center for Seismic
   Studies, December 1987.

 [## Addition references are needed here for RMON-2, FTP, NNTP, GOPHER,
     WAIS, HTTP 1.1 ##]

13. Acknowledgments

  This document was produced by the Application MIB working group and
  the members of the http-mib@onramp.net mailing list.

  The authors gratefully acknowledges the comments of the following
  individuals:

             Randy Preshun
             John Saperia
             Cheryl Krupczak

14. Security Considerations

  Security issues are not discussed in this memo.

15. Appendix - Applicability to other services

  This MIB is defined solely for the management of WWW servers, clients
  and proxies. It is realized however that the MIB may be directly
  applicable to other network information retrieval services. This
  appendix outlines how the MIB might be utilized for a number of
  other services. This may or may not provide the desired level of
  management of these types of applications. In some instances, a
  separate MIB may need to be defined for the service.

15.1. FTP

  The File Transfer Protocol allows people to transfer file from one
  system to another system. The protocol is connection-oriented
  established by TCP. The client is responsible to generate requests
  and interpreted the responses from the server.
  The server interpreted requests and generate responses.

  The protocol consists two channels:


Expires June 1, 1997                                      [Page 40]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  o Control connection on which the traffic consists of service
    commands (the requests) and of replies (responses). The service
    commands reflect the operations such as the authentication
    (login-procedure), the actual file transfer and the
    logout-procedure. The replies are used to ensure the
    synchronisation of requests, actions in the file transfer process
    and guarantee that the user always knows the current state of the
    server. There is at least one reply to each service command.

  o Data connection on which the actual data transfer takes place.

  The mapping of an FTP-entity onto the WWW-MIB is straight forward.
  Global and administrative FTP-entity information can be mapped onto
  the entity table. The network traffic can be map onto the tables
  in the statistics group whereby the service commands are mapped on
  requests and the replies are mapped on responses. With respect to the
  byte counters the bytes transferred in the control connection is
  counted in the HeaderByte counters and the bytes transferred at the
  data connection is counted in the DataByte counters. The parameters
  with respect to the transferred files can be mapped onto the document
  table.


15.2. NNTP

  The Network News Transfer Protocol is used for distribution,
  inquiry, retrieval, and posting of news articles. The news articles
  are stored in a central database allowing a subscriber to select
  only those items he wishes to read. Indexing, cross-referencing,
  and expiration of aged messages are also provided.

  The protocol consists of the same Request/Response paradigm like
  HTTP and FTP. Commands are given as requests and can be followed by
  parameters. The responses consist of two different types, a status
  response and a text responses.

  The mapping of a NNTP-entity is a little more complex than FTP,
  but still possible. Global and administrative information can be
  mapped onto the entity table. The network traffic can be map onto
  the tables in the statistics group whereby the commands are mapped
  on the requests and the status responses are mapped on the responses.
  The implementor should take special care of the mapping of the byte
  counters. All 'ControlByte' counters are counting the bytes which are
  not the body part of a message. The body part bytes has to be mapped
  onto the 'DataByte' counters. For details about the syntax of a
  message is referred to RFC 1036 [## ref TBD ##]. The text responses
  has to be mapped on the document table by seeing them as the
  transferred information.

15.3. GOPHER

  The Gopher protocol is a distributed document search and retrieval
  protocol and is also based on the Request/Response paradigm.
  The protocol is stateless whereby faults the user does not force

Expires June 1, 1997                                      [Page 41]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  to start over.

  Clients with the Gopher protocol connect themselves to servers
  and generate requests. The servers respond with the requested
  informations which is displayed by the gopher client. This type
  of interaction in gopher is called transactions.

  The commands within gopher are determined by the server, because
  he responds with the information of which command is used for a
  particular information retrieval command. This feature gives gopher
  a wide variaty of possible commands.

  The mapping of the Gopher entity is almost straight forward. Global
  and administrative information can be mapped onto the entity table.
  The network traffic needs special attention to map it onto the tables
  in the statistics group whereby the transaction of the message
  towards the server is mapped on the requests and the transaction
  message coming from the server is mapped on the responses. Although
  the variaty of requests can be enormous the mapping can be done
  straight forward, but if requests are directly getting documents
  you can map them in the document table. For this MIB it is preferred
  to map them on the responses.

15.4. WAIS

  [## TBD ##]

15.5. Archie

  [## TBD ##]

16. Appendix - Todo List

  [## This section will be removed when the document is complete
  because all items that are "to do" will have been done! ##]

16.1. Resolve wwwDocName usage and TC definition
  The wwwDocNameName value likely needs to be limited to around 100
  bytes in length because it is an index. The wwwDocName could however
  represent a longer number of bytes.  One option is to define it as
  OCTET STRING so it can be as long as necessary, but rfc-1902
  indicates there may be interoperability issues with OCTET STRING
  greater than 255 bytes.

16.2. Terminology
  Flush out section on terminology

16.3. Handle illegal index values
  Determine what to do with illegal index values for pointers to
  other tables, specifically for sysAppl.

16.4. Handle NSM to sysApplMIB relationship
  Determine where nsmToSysApplElmtRunTable should be defined.
  Options appear to be sysApplMIB, this MIB or a separate document.

Expires June 1, 1997                                      [Page 42]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  Currently the definition has been moved to applMib.

16.5. Handle applIndex
  Currently the wwwEntityTable is indexed with applIndex from
  NSM. This causes potential problems in certain implementations and
  configuration if the WWW-MIB implementer does not implement the
  applTable and on the same machine an NSM agent is provided by
  the OS or other vendor. In this case, there is potential for
  applTable indexes to conflict with wwwEntityTable indexes which
  do not actually extend the applTable information. The NSM indicates
  it is to be the base for all network service applications.  WWW-MIB
  clearly fits this definition. Unfortunately, a number of implementers
  have indicated that they do not plan to implement NSM. So, the
  options seem to be to clearly document the situation and perhaps
  propose some suggested index values for applIndex in the
  wwwEntityTable, or require NSM to be implemented. The document
  currently indicates that "wording" for the applIndex usage in
  wwwEntityTable needs to be defined.

  The editor beleive that the applIndex should be used for this table
  and that either the applTable should be required, or index values
  should be suggested for the wwwEntityTable such that conflicts can
  be avoided.

16.6. Identify attributes for sysAppl framework
  Currently a skeleton of tables has been defined that extend the
  sysAppl/applMib framework. The idea is that the sysAppl framework
  will apply to a portion of the MIB. Attributes that are desired
  for www, but not defined in either sysAppl or applMib will be
  placed within these skeleton tables.

16.7. Regular Expression
  Pick as standard definition for regular expressions for the
  wwwDocFilter.

16.8. Proxy Entity
  Determine additional attributes that are needed to handle proxy in
  terms of an entity.

16.9. Proxy Documents
  Determine whether the represenation of the wwwDoc tables is
  sufficient or necessary for proxy.

16.10. Handle all [##...##]
  Remove and resolve all [##...##] notation.

17. Authors' Address

  Carl W. Kalbfleisch
  OnRamp Technologies, Inc.
  Email: cwk@onramp.net
  1950 Stemmons Frwy
  2026 INFOMART
  Dallas, TX 75207

Expires June 1, 1997                                      [Page 43]


INTERNET DRAFT                 WWW MIB                December 1, 1996
  USA                                 Tel: (214) 672-7246
  cwk@onramp.net                      Fax: (214) 672-7275


  Harrie Hazewinkel
  Centre for Earth Observation
  Institute for Space Applications
  Joint Research Centre of the E.C.
  TP. 950
  Ispra 21020 (VA) Italy              Tel: +39+(0)332+789384
  harrie.hazewinkel@jrc.it            Fax: +39+(0)332+785500


  Juergen Schoenwaelder
  Computer Science Department
  University of Twente
  P.O. Box 217, NL-7500 AE Enschede
  The Netherlands.                    Tel: +31-53-489-3678
  schoenw@cs.utwente.nl               Fax: +31-53-489-3247




































Expires June 1, 1997                                      [Page 44]


INTERNET DRAFT                 WWW MIB                December 1, 1996
Table of Contents

  1. Abstract..........2
  2. The SNMPv2 Network Management Framework..........2
  2.1. Object Definitions..........2
  3. Notation..........3
  4. A Note on Terminology..........3
  5. Introduction..........4
  6. WWW Entities..........4
  6.1. WWW Server..........5
  6.2. WWW Client..........5
  6.3. WWW Proxy..........5
  6.4. WWW Cached Proxy..........6
  7. HTTP Message..........6
  8. Relationship to other Standards Efforts..........6
  8.1. Relationship to NSM..........7
  8.2. Relationship to sysAppl and applMib..........7
  8.3. Document relation to sysApplInstall..........7
  8.4. Usage example for NSM to sysApplMIB relationship..........7
  9. Structure of the MIB..........8
  9.1. The systems group..........9
  9.2. The Statistics group..........9
  9.2.1. SummaryTable..........9
  9.2.2. RequestTable..........9
  9.2.3. ResponseTable..........9
  9.3. The Document group..........10
  9.3.1. wwwDocNameTable..........10
  9.3.2. wwwDocTable..........10
  9.3.3. wwwDocFilterTable..........10
  9.4. The Error group..........10
  9.5. The Application group..........10
  9.6. The Relation group..........10
  10. Definitions..........10
  11. Verification..........39
  11.1. SMICng Include File..........39
  12. References..........39
  13. Acknowledgments..........40
  14. Security Considerations..........40
  15. Appendix - Applicability to other services..........40
  15.1. FTP..........40
  15.2. NNTP..........41
  15.3. GOPHER..........41
  15.4. WAIS..........42
  15.5. Archie..........42
  16. Appendix - Todo List..........42
  16.1. Resolve wwwDocName usage and TC definition..........42
  16.2. Terminology..........42
  16.3. Handle illegal index values..........42
  16.4. Handle NSM to sysApplMIB relationship..........42
  16.5. Handle applIndex..........43
  16.6. Identify attributes for sysAppl framework..........43
  16.7. Regular Expression..........43
  16.8. Proxy Entity..........43
  16.9. Proxy Documents..........43
  16.10. Handle all [##...##]..........43
  17. Authors' Address..........43

INTERNET DRAFT                 WWW MIB                December 1, 1996

Expires June 1, 1997                                      [Page 46]