INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 Harrie Hazewinkel DESIRE / MUSIQ CEO Programme Joint Research Centre of the E.C. harrie.hazewinkel@jrc.it July 17 1997 Survey of Defined Managed Objects for Applications Management 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 harrie.hazewinkel@jrc.it. Epires January 18, 1998 [Page 1] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 Abstract This document was produced as the result of a survey on MIBs related to application management. The goal was to identify overlapping or duplicated objects and discover problems within the relationships between those MIBs. The survey covered MIBs already defined and those currently being defined with in IETF WGs, namely: * the SYSAPPL-MIB, * teh APPLICATION-MIB, * the WWW MIB, * the NSM-MIB, * the DSA-MIB, * the HR-MIB, and * the RDBMS-MIB. It is interesting to note that both the SYSAPPL-MIB and NSM-MIB claim to be generic MIBs (the SYSAPPL-MIB under an OS/host perspective and the NSM-MIB under a networked/distributed perspective). The HR-MIB describes a host as a set of hardware and software groups. On the other hand, either the DSA-MIB, the RDBMS-MIB and the WWW-MIB are application specific MIBs. There are many overlapping and duplicated objects in the surveyed MIBs. For example, the software groups of the HR-MIB can be replaced with the recently defined SYSAPPL-MIB. Other overlaps or duplications consist mainly of object which have more detail. The current MIB definitions pose two major problems: 1) indexing with managed objects of other MIBs, and 2) mapping of applications on both in the SYSAPPL-MIB and the NSM-MIB. Implementation problems arise when indexes from other MIBs are used. Is implementation of the MIB containing the objects used for indexes required? Within the current SNMP framework there are no rules or hints given to these questions. If an agent implementor decides not to implement the referred MIB he has to choose his own index values in such a way that no conflicts will occur. At the moment, host-based applications map cleanly onto the SYSAPPL-MIB and networked applications fit onto the NSM-MIB. However, an application can be made of multiple elements and processes while being a multiple networked applications (services) at the same time. Although a mapping into both MIBs is possible, their relation is not specified anyware in the existing MIBs. A relationship table is, therefore, required to supplement the existing MIBs. Otherwise, no coherence between the SYSAPPL-MIB and the NSM-MIB exists. Epires January 18, 1998 [Page 2] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 What's new or updated. A) The WWW-MIB sections are changed due to changes of the document itself. B) The Application Management MIB is added. C) A possible solution with an integration MIB to bind application of the SYSAPPL-MIB and NSM-MIB is added in the conclusions. D) The indexing scheme of the RDBMS-MIB is added. 1. Introduction Distributed applications became increasingly important for organisations. Companies are more geographically spread and their core applications are often connected together across computer networks. The need for instrumentation that provides realtime monitoring and configuration capabilites for these systems is of critical importance. The Simple Network Management Protocol (SNMP) framework can be used to provide this infrastructure. The SNMP framework is used by operators to manage physical or logical device remotely. The devices are represented through managed objects which are accessed via a virtual information store, termed the Management Information Base or MIB. This MIB (and the SNMP framework) allows extensions of new defined managed objects according to a standard scheme. The IETF continues to make efforts leading to the definition of MIBs that can be used for applications. This internet draft analysis those efforts and describes: 1) contents of application MIBs, 2) duplicated and overlapping objects and the 3) indexing scheme of application related MIBs. The following MIBs are analysed: * the SYSAPPL-MIB, * the APPLCIATION-MIB, * the WWW MIB, * the NSM-MIB, * the DSA-MIB, * the HR-MIB, and * the RDBMS-MIB. Epires January 18, 1998 [Page 3] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 1.1 How to read this internet draft. This document relates the continuing IETF efforts in application MIB definition with the related. This internet-draft is organised as follows: * Section 2 describes the Working Groups (WG) of the surveyed MIBs. * Section 3 describes a summary of the surveyed MIBs. * Section 4 describes the similarities of the MIBs. * Section 5 describes the indexing scheme within the current MIBs 2. The Working Groups of Application Related MIBs In this section we provide a short description of the IETF Working Groups working application management related MIBs and present the current status of their work. At this moment only the SYSAPPL WG and the MADMAN WG are defining management objects to manage applications. The APPLMIB WG is chartered to define managed objects for the monitoring and control of distributed applications. The desire was to support distributed applications, but not at the expense of creating a MIB which cannot or will not be implemented. Consensus was reached on the fact that the APPLMIB WG would focus initially on applications resident in a single host, but that there should be a possibility of additional growth. Features for distributed applications will be added unless the required support would make the MIB over complex. The current status is that the first MIB, the SYSAPPL-MIB which does not require instrumentation of the applications for its population, is ready. Currently, the APPLMIB WG works on two MIBs, an application management MIB requiring instrumentation within applications and a WWW-MIB for monitoring and control of Web servers. The MADMAN WG is chartered to review the managed objects already defined by the WG in January 1994. The WG in 1994 finished their work under the Network Management Area and resulted in 4 internet drafts which are the Network Services Monitoring MIB, the X.500 Directory Monitoring MIB, the Mail Monitoring MIB and Directory Alarms MIB. In this survey only the first two MIBs are described. The review is currently in its final stage and some changes have been done the original documents. The Host Resources WG was chartered to define a set of managed objects useful for management of host computers, the Host Resources (HR) MIB. Host computers were defined as a system independent of the operating system, the network service and the applications running on the host. An important requirement during the definition of the HR MIB was that the managed object had to be system independent. The HR WG has finished their work and results are in RFC 1514. The Relational DataBase Management System WG was chartered to define a set of managed objects useful for the management of database systems. The work is finished and results published in RFC 1697. Epires January 18, 1998 [Page 4] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 3. The application related MIBs. This section is a summary of the documents describing the definition of application related MIBs. 3.1 The System Application MIB The SYSAPPL-MIB is designed to provide the requirements for monitoring the behaviour, the faults and the performance of applications. The design is made in such a way that no instrumentation of an application is required. The MIB defines managed objects under an operating system and a file-system perspective. The structure of the SYSAPPL-MIB reflects four groups of applications within a system 1) the installed applications 2) the applications that are currently running on the system 3) the applications that have run on the system in the past 4) the mapping from running towards the installed elements The Installed Applications Group. --- --------- ------------ ------ The installed applications group provides information on the software installed on a system. This group has a highly static character, since installed applications tend to not change very fast. The group makes a distinction between an application and the elements from which it is composed. By using the information provided by this group a user can obtain information about the currently running elements (processes) or those elements (processes) that have run in applications. The group consists of: * "sysApplInstallPkgTable" provides information on the installed packages such as name, version, location and installed date. * "sysApplInstallElmtTable" provides detailed information on the application by means of a set of elements acting together as an application. Each element is described in an entry and provides information such as whether the element is executable, name, installed date. The Applications Run Group. --- ------------ --- ------ The applications run group reflects the dynamic information from the applications on a system. It describes applications that are currently running or that have run on a system. The elements provide historic information about the applications. The group is divided in the same fashion as the installed application group, i.e. an application table and an element table. Besides that division, the tables are also divided into applications which are running or have been run. Epires January 18, 1998 [Page 5] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 Due to the historical character of this group, the 'have run' tables can consume an unlimited size and number of resources. Therefore, managed objects are added to control and limit the amount of used resources. The group defines the following objects: * "sysApplRunTable" provides information on applications currently running on the system. For instance, the time an application started running, the number files it has open and the number of connections it has. * "sysApplPastRunTable" provides historical information about applications that have been running. For instance, the time an application started running, the time it stopped and the last known number of connections. * "sysApplElmtRunTable" provides information on all processes running and (if known) to which application a process belongs. For instance, the time the process started running and the number of connections the process has. * "sysApplElmtPastRunTable" provides information on processes that have been running. For instance, the time a process started running and the time it stopped running. * "sysApplPastRunTableSizeLimit" provides the maximum number of entries in the "sysApplPastRunTable". When this limit is reached the oldest entry will be removed. * "sysApplPastRunTableItemsRem" provides a count of the number of items removed from the "sysApplPastRunTable". * "sysApplPastRunTimeLimit" provides the minimum time that should pass before an entry may be removed from the "sysApplPastRunTable". * "sysApplElemPastRunSizeLimit" provides the maximum size of entry growth of the "sysApplElmtPastRunTable" before the oldest entry will be removed. * "sysApplElmtPastRunTableItemsRem" provides a count of the number of items removed from the "sysApplElmtPastRunTable". * "sysApplPastRunTimeLimit" provid the minimum amount of time before an entry may be removed from the "sysApplPastRunTable". * "sysApplPollInterval" provides the minimum time in seconds that an agent will poll the status of the managed resources. The Mapping Group --- ------- ----- The mapping group provides an easy mapping from running elements in the running element table towards the installed elements table. The managed objects are: * "sysApplMapTable" provides the mapping from a running element entry to an installed element entry. Epires January 18, 1998 [Page 6] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 3.2 The Application Management MIB The Application Management MIB defines a set of managed object to monitor 'internal' application behavior. This requires that applications has to be instrumented in order to populate this MIB. This is in contrast of the SYSAPPL-MIB which does not require the instrumentation of applications. This MIB focusses on the management of running elements. Therefore, this MIB should be used in conjunction with SYSAPPL-MIB. The structure of the MIB reflects the throughput, reports of unit of work, and generic resource management and can be grouped like: 1) relations group, 2) files group, 3) connections group, 4) transaction statistics group, 5) running element behavior. The Relation Group --- -------- ----- The relation group connects the 'active' running elements of an application to the networked applications as defined in the NSM-MIB. This mapping is required, since there is no 1:1 relationship between the networked applcation and the running element. Multiple relations (both ways) are possible. The managed objects are: * "nsmToSysApplElmtRunTable" provides a linking between running elements as managed in this MIB and both the NSM-MIB and SYSAPPL-MIB. The files group --- ----- ----- This group provides information about the use of files. The group is organised per running application element and connects them to the open files. The managed objects of this group are: * "applOpenFileTable" provides management information about the file and in perticular the activity of the application element with this file. The table consists of objects like the number of read requests, last time the file was read and the numebr of bytes associated with the read requests. * "applOpenFileXrefTable" provides an alternative for the indexing used in the "applOpenFileTable". Epires January 18, 1998 [Page 7] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The connections group --- ----------- ----- The connections group maintains usefull management information about the current and previous network connections at a per running element sorting. Although, the description of the group implies a very tight connection to the NSM-MIB. The managed objects of this group are: * "applOpenConnectionTable" provides information about connections of a running element. This table explicitly provides only managed information of the connections and it doesn't interpret the passed information in any form. * "applExConnectionControlTable" allows a manager to set the boundaries of the "applExConnectionTable". The boundaries are the amount and the 'time-to-live' of the entries in the "applExConnectionTable". * "applExConnectionTable" provides a history of the connection of the running elements. Entries exists only in this table after the connection is closed and existed in the "applOpenConnectionTable". The Transaction Group --- ----------- ----- The transaction group provides besides the connection group also network traffic related management information. This group looks with detail to the traffic past at the connections of the running element. The managed objects are: * "applTransactionControltable" provides a manager a to set up for which open files or connections transactions are defined and the unit of work. * "applTransactionStreamTable" provides information about units of work in streams, such as number of requests, number of responses and the accumulated time between tehm seen from the running element. The running element behavior group --- ------- ------- -------- ----- This group provides monitor and control functionality for the running elements within the system. The managed objects are: * "applElmtRunStatusTable" provides the ability to monitor the behavior of the running element. * "applElmtRunControlTable" provides the control to, for instance, suspend or reconfigure the running element. Epires January 18, 1998 [Page 8] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 3.3 The World Wide Web MIB The WWW-MIB is designed to fulfil the requirements to manage entities responsible for documents exchange over the World Wide Web. The emphasis of the definitions is at the service provided by the entity. An entity is defined as a logical device which can behave as a client, a server, a proxy or a cached-proxy accessible via an unique fully qualified domain name and service port. Between the entities documents are transported through a 'Document Transfer Protocol' (DTP) which is based on the request/response paradigm and abstracts from the actual used protocol. Therefore, the WWW-MIB can be used in a wide range of document transfer protocols and also allows the introduction of new DTPs based on the client-server paradigm. HTTP, FTP and NNTP are examples of such protocols. The structure of the WWW-MIB reflects the four major groups: 1) entity administration ("wwwSystem"), 2) DTP traffic ("wwwServiceStatistics"), 3) accessed or stored document ("wwwDocuments"). The System Group --- ------ ----- The system group provides general information on the WWW entities in the system. Those entities exchange messages (PDUs) between each other with the abstract defined 'Document Transfer Protocol'. The group consists of one table. * "wwwEntityTable" provides general administrative information of an entity. For instance, contact address, the used 'DTP' protocol and the fully qulified domain name the entity listens to. The index used to uniquely define the entities is an WWW-MIB internal arbitrary number. The Service Statistics Group --- ------- ---------- ----- The service statistics group provides network management information on network traffic transmitted and/or received by the WWW-entity. The group consists of the following tables. * "wwwSummaryTable" provides a summary on the network traffic statistics of the associated entity. The index used is equal to the "wwwEntityTable". For instance, the number of requests received or transmitted and the number of unknown protocol type messages. * "wwwRequestInTable" provides the statistics on the received requests whereby for each request type statistics is maintained. The indexing of this table is defined by the "wwwRequestInIndex" and the "wwwEntityIndex" which associates the requesttype with an entity. For instance, a recieved GET-request of HTTP is kept in an entry. * "wwwRequestOutTable" provides the statistics on the transmitted Epires January 18, 1998 [Page 9] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 responses whereby for each response type statistics is maintained. The indexing of this table is defined by the "wwwRequestInIndex" and the "wwwEntityIndex" which associates the requesttype with an entity. For instance, a transmitted GET-request of HTTP is kept in an entry. * "wwwResponseInTable" provides the statistics on the received responses whereby for each response type statistics is maintained. The indexing of this table is defined by the "wwwResponseInIndex" and the "wwwEntityIndex" which associates the responsetype with an entity. For instance, a received 200-reply (OK) of HTTP is kept in an entry. * "wwwResponseOutTable" provides the statistics on the transmitted responses whereby for each response type statistics is maintained. The indexing of this table is defined by the "wwwResponseOutIndex" and the "wwwEntityIndex" which associates the responsetype with an entity. For instance, a transmitted 200-reply (OK) of HTTP is kept in an entry. The Document Group --- -------- ----- The "wwwDocumentGroup" defines management information on the documents which in the past were attempted to read. The management information is ordered by the entities and has a bucket approach. The bucket approach is used to reduce unmeaningfull information, but document statistics should still be possible. The document group has the following defined objects: * "wwwDocCtrlTable" provides the manager the possiblity to configure the document statistics tables, such as table size and bucket creation time. * "wwwDocLastNTable" provides a list of the last N documents which were attempted to read. * "wwwDocBucketTable" provides the summary statistics of the read attempts which were captured by the bucket. * "wwwDocBucketTopNtable" provides a 'top N' of the documents which were attempted to read. The sort order with which the 'top N' is created can be configured with the "wwwDocCtrlTable". 3.4 The Network Services Monitoring MIB The NSM-MIB is designed to monitor the behaviour of networked applications. No application specific objects are defined in the NSM-MIB. Therefore, it can be used for a wide range of applications which make use of network services and are distributed. The structure of the NSM-MIB reflects the coherent behavior of applications in conjunction with the network service on which the applications rely. Epires January 18, 1998 [Page 10] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The NSM-MIB definitions consists of the following objects. * "applTable" provides information on the networked application. For instance, the name of the application, the number of inbound and outbound connections. * "assocTable" provides information on the associations with the other/remote applications. For instance, the remote address and the duration. 3.5 The X.500 Directory Monitoring MIB The X.500 Directory Monitoring MIB (DSA-MIB) is designed to manage a Directory Systems Agent (DSA), a component of the OSI Directory Framework. The MIB allows managers to monitor operational aspects and performance of a DSA. The DSA-MIB is an application specific and relies on the NSM-MIB. The structure of the DSA-MIB reflects only the DSA-applications specific parts in 3 defined object groups the DSA operations, the DSA statistics and cache performance and the interaction with peer DSAs. The DSA-MIB definitions consist of the following objects. * "dsaOpsTable" provides the summary information on accesses, operations and errors occurred within the DSA. * "dsaEntriesTable" provides statistical and cache performance information on DSA applications. * "dsaIntTable" provides some information on interactions done with their respective peer DSAs. These interaction are done in the past by the monitored DSAs. 3.6 The Host Resources MIB The Host Resources MIB (HR-MIB) contains a set of management objects useful for hosts system. The term 'host' refers to any type of computer connected with other computers via a network. Although MIB-II is especially defined for the protocol stacks used in the host, the HR-MIB supplies additional information on the hardware, operating system, installed and running software. The HR-MIB is structured by three hardware groups ("hrSystem", "hrStorage" and "hrDevice") and three software groups ("hrSWRun", "hrSWRunPerf" and "hrSWInstalled"). NOTE: The operating system is seen as having both hardware and software components. Epires January 18, 1998 [Page 11] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The Hardware Groups --- -------- ------ The system group, "hrSystem", provides additional system information besides the system group of MIB-II. The group provides general hardware variables and OS parameters. The definitions consists of the following scalars. * "hrSystemUpTime" provides the amount of time since the host was last initialized. The difference with the "sysUpTime" is that the "hrSystemUpTime" provides the host up time and the "sysUpTime" the SNMP-entity uptime. * "hrSystemDate" provides the date and time of the system. * "hrSystemInitialLoadDevice" provides a pointer to the device in the "hrDevicetable" from which the system is booted. * "hrSystemInitialLoadParameters" provides the parameters with which the system is booted. * "hrSystemNumUsers" provides the number of user on the system. * "hrSystemProcesses" provides the number of processes currently loaded or running * "hrSystemMaxProcesses" provides the maximum number of processes which the context can support. The storage group, "hrStorage", describes all logical components which can store data. The group definitions abstracts from the implemented storage techniques; it only provides a clustering of those techniques. The group definitions consist of: * the definitions of storage types, "hrStorageTypes". For instance, the type `floppy-disc' is defined. * "hrMemorySize" provides the amount of main memory contained by the system. * "hrStorageTable" provides information of all data storage components of the system. For example, if the system contains a floppy-disc the storage table has an entry describing that floppy-disc. The device group, "hrDevice", contains information of all hardware components of the system. This group is useful for identifying and diagnosing faulty devices on a system. The group definitions consist of the following objects: * the definitions of device types, "hrDeviceTypes". For instance, types are defined for processor and co-processor. * "hrDeviceTable" provides general information on the devices such as type, description and status. The table also references if a more detailed table of the device is available. * "hrProcessorTable" provides additional information on the device type "hrDeviceProcessor". * "hrNetworkTable" provides the relationship between the network devices of the "hrDeviceTable" and the associating interface in Epires January 18, 1998 [Page 12] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 the "ifTable". * "hrPrintertable" provides additional information on printer devices. * "hrDiskStorageTable" provides additional type information on the disk storage devices. * "hrPartitionsTable" provides information on partitions in a storage device used for long-term storage in a system. * "hrFSTable" provides information on the local or remotely mounted file system components. * the definitions of file system types ("hrFSTypes"). For instance, the Andrew file system and Windows NT file system. The Software Groups --- -------- ------ The software groups define management information on the software used in the system. The information provided is grouped in (1) the currently running, (2) the performance and (3) the installed applications. The software run group, "hrSWRun", contains information of each software part that is running or loaded into the physical or virtual memory in preparation of running. The group definitions consist of the following objects: * "hrSWOSIndex" provides the index of the entry of the "hrSWRunTable" which represents the operating system. * "hrSWRunTable" provides detailed information on each piece of software which runs or will be loaded in preparation of running on the system. The software run performance group, "hrSWRunPerf", consists of objects providing the performance of the running software. The group consists of one table: * "hrSWRunTable" provides performance information on every piece of software running on the system. The entries of the table are link to the "hrSWRunTable" by "hrSWRunIndex". The HR software installed group, "hrSWInstalled", is useful for identifying and inventoring software installed on the system. This does not include software loadable remotely from the network. The group definitions consist of the following objects: * "hrSWInstalledlastChange" provides the "sysUpTime" of the last change of an entry in the "hrSWInstalledtable". * "hrSWInstalledlastChange" provides the "sysUpTime" of the last complete change of the "hrSWInstalledtable". * "hrSWinstalledTable" provides information on the installed software. Epires January 18, 1998 [Page 13] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 3.7 The Relational Database Management System MIB The Relational Database Management System MIB (RDBMS-MIB) consists of a set of management objects for relational databases. In this MIB a separation is made between a database which is seen as a collection of interrelated data organized according a relational schema and an entity which provides access to the database, termed the database server. The database server may exist independently of the database, but this condition is not required. The server can be seen as an extra layer with a well defined API through which the data is accessed. The structure of the RDBMS-MIB reflects the separation of (1) the database - where the actual data is stored - , (2) the server - access mechanism to the data and (3) the relationship between a database and an access mechanism. The Database Group --- -------- ----- Meaningful information on the databases installed on the system. The group consists of the following 4 tables: * "rdbmsDbTable" provides the general management information on the database. General parameters such as vendor name and contact for the database. * "rdbmsDbInfoTable" provides administrative information required when the database is actively opened on a host. * "rdbmsDbParamTable" describes the parameter for the configuration of the database (This table describes on a per entry basis for each parameter). * "rdbmsDbLimitedResourceTable" provides the limitations in resources per database (The provision of this information may only be done if the database is in operation (actively open)). The Database Server Group --- -------- ------ ----- This group provides more detailed information on the servers used for accessing of the databases: The group consists of the following 4 tables: * "rdbmsSrvTable" provides general administrative information on running or installed database servers on a system. * "rdbmsSrvInfoTable" provides database server specific information which requires additional semantics then defined in the "applTable" of the NSM-MIB. (An entry may only available in this table if the associated "applOperStatus" has the value "up(1)"). * "rdbmsSrvParamTable" provides the configuration parameters of the Epires January 18, 1998 [Page 14] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 database server. * "rdbmsSrvLimitedResourceTable" provides the limitations of resources used by the database server. The Relations Group --- --------- ----- A relationship between database servers and databases is not uniquely defined. The design of the MIB allows cross connections between different databases and database servers. The group consists of the following object: * "rdbmsRelTable" provides the relationship by the index of the "rdbmsDbIndex" and the "applTable". the supported relationships are 1:1, 1:many, many:1 and many:many. The table also provides the status of the relationship. Traps ----- Two traps are defined to inform the manager of urgent matters concerning databases. The following traps can be generated: * "rdbmsStateChange" provides that a certain relationship between a database server and a database has hanged in state and the state change made it less accessible for use. * "rdbmsOutOfSpace" provides that one of the databases is unable to allocate more space for its operation. 4 The overlapping objects of the MIBs All of the surveyed MIBs in this document define managed objects for applications. That makes it possible to have certain overlaps duplications in their defintions. This section describes duplications or overlaps recognized between the surveyed MIBs. NOTE: Whenever there is an overlap or duplication recognized between MIBs both are are mentioned in the title of the section. In these sections is then a detailed comparison made on scalar- or columnar-object level (the managed objects). The arrows between the objects express the relation and scaled in a certain level. If an arrow is draw with a '=' symbol object objects can be seen as equal. If an '~' symbol is used there is no real duplication, but only more detail is provided. It is also possible that multiple object can express something similar than other objects. Epires January 18, 1998 [Page 15] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 4.1 The SYSAPPL-MIB and the HR-MIB. The SYSAPPL-MIB provides information on installed applications and monitoring of processes which are running or have been running on a system. Basically the software groups of the HR-MIB provide the same kind of information. Both do not require instrumentation of applications in order to populate the MIBs. Therefore, both MIBs could be interchanged without loosing the ability to manage the processes/applications in a system. However, there is also a huge difference between both MIBs. The HR-MIB also provides information on hardware, not available in the SYSAPPL-MIB. The Installed Software --- --------- -------- The "hrSWInstalledTable" is somehow a subset of the "sysApplCfgElmtTable". The reasoning behind this is that the "hrSWInstalledTable" has an entry for each installed piece of runnable software which is also provided by the "sysApplCfgElmntTable", but the "sysApplCfgElmntTable" has also information of non runnable elements of an applications. Below a detailed comparison at the level of the objects instances is shown in figure 1. SYSAPPL-MIB HR-MIB sysApplInstalledTable hrSWInstalledLastChange sysApplInstalledEntry hrSWInstalledLastUpdateTime sysApplInstalledIndex<----------+ hrSWInstalledTable sysApplInstalledManufacturer<-+ | hrSWInstalledEntry sysApplInstalledProductName<--+ +-- = --->hrSWInstalledIndex sysApplInstalledVersion<------+ | +->hrSWInstalledName sysApplInstalledSerialNumber<-+-|-- ~ -+->hrSWInstalledID sysApplInstalledDate<-------+ | | +- = -->hrSWInstalledType sysApplInstalledLocation +------ ~ --->hrSWInstalledDate | | | | sysApplInstallElmtTable | | | | sysApplInstallElmtEntry | | | | sysApplInstallElmtIndex<----|---+ | sysApplInstallElmtName<-----|-+ | sysApplInstallElmtType<-----|-----+ sysApplInstallElmtDate<-----+ sysApplInstallElmtPath sysApplInstallElmtSize sysApplInstallElmtRole sysApplInstallElmtModifyDate Figure 1: Installed package overlap of the SYSAPPL-MIB and HR-MIB. Although the HR-MIB has two objects to provide a time indication of the change in the "hrSWInstaledTable", the information can be seen as a subset provided of the SYSAPPL-MIB. Epires January 18, 1998 [Page 16] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The Running Processes --- ------- --------- The "sysApplRunTable" and the "sysApplElmntRunTable" of the SYSAPPL-MIB and the "hrSWRunTable" of the HR-MIB provide information about the running processes. In grounds the "hrSWRunTable" provides the same information as the "sysApplRunTable". The difference is that in the SYSAPPL-MIB the running processes can also be grouped into (if the information is available) applications built of multiple processes, through the "sysApplRunTable". Thus, a conclusion could be that the "hrSWOSRunTable" could be obsoleted and replaced by the associated objects of the SYSAPPL-MIB. SYSAPPL-MIB HR-MIB sysApplRunTable hrSWOSIndex sysApplRunEntry sysApplRunIndex hrSWRunTable sysApplRunInstalledIndex hrSWRunEntry sysApplRunLastStarted +-------------->hrSWRunIndex sysApplRunCurrentState | hrSWRunName sysApplRunEnded | hrSWRunID | +----------->hrSWRunPath sysApplElmtRunTable | | +-------->hrSWRunParameters sysApplElmtRunEntry | | | hrSWRunType sysApplElmtRunInvocID<- ~ -+ | | +----->hrSWRunStatus sysApplElmtRunIndex | | | sysApplElmtRunInstallID = = ~ sysApplElmtRunTimeStarted | | | sysApplElmtRunState<----------------+ sysApplElmtRunName<-----------+ | sysApplElmtRunParameters<--------+ sysApplElmtRunCPU sysApplElmtRunMemory sysApplElmtRunNumTCon sysApplElmtRunNumFiles Figure 2: Running processes overlap of the SYSAPPL-MIB and HR-MIB. The figure above shows that there isn't a complete overlap or duplication, but certain information can be retrieved otherwise. The "hrSWRunType" expresses for instance whether the process of the entry is running. This sort of information can also be retrieved from the SYSAPPL-MIB. In that MIB the process is in the "sysApplElmtRunTable" or "sysApplElmtPastRunTable". One difference is that in the HR-MIB you can set the type to `invalid' causing that it is unloaded from the system. This is not possible in the SYSAPPL-MIB. The "hrSWRunName" and "hrSWRunID" do not have similar objects in the run groups of the SYSAPPL-MIB, but this information can be retrieved from the SYSAPPL-MIB through the "sysApplElmtRunInstallID", which points to the "sysApplInstallElmtTable". Epires January 18, 1998 [Page 17] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 Although the overlap is here not direct recognisable, the software run group is contained by the more recent SYSAPPL-MIB. The exception is the "hrSWOSIndex" providing the index of the process which instantiates the OS (kernel). 4.2 The SYSAPPL-MIB and the NSM-MIB. The NSM-MIB provides a subset of applications of the SYSAPPL-MIB. That is, the subset consists of only those applications which have networked associations with other applications. Currently, the SYSAPPL-MIB is defined as the MIB with which the basic management operations can be done in respect of applications management. Strangely enough the NSM-MIB is the same, but the only for networked applications. The overlap between these MIBs consists of some general administrative data and some basic objects providing some running information. The Administrative Application Objects --- -------------- ----------- ------- Since both MIBs are seen as the basis and generic platform on which other MIBs should be based, both define some administrative managed objects. In fact, there is no complete overlap, only partial overlap as it can be seen from figure 3. SYSAPPL-MIB NSM-MIB sysApplInstalledTable applTable sysApplInstalledEntry applEntry sysApplInstalledIndex applIndex sysApplInstalledManufacturer +->applName sysApplInstalledProductName<-+ ~ -+->applDirectoryName sysApplInstalledVersion<-----|-- = ->applVersion sysApplInstalledSerialNumber | applUptime sysApplInstalledDate | applOperStatus sysApplInstalledLocation<----+ applLastChange | applInboundAssociations sysApplInstallElmtTable | applOutboundAssociations sysApplInstallElmtEntry | applAccumulatedInboundAss.. sysApplInstallElmtIndex | applAccumulatedOutboundAss.. sysApplInstallElmtName<------+ applLastInboundActivity sysApplInstallElmtType applLastOutboundActivity sysApplInstallElmtDate applRejectedInboundAssoc.. sysApplInstallElmtPath applFailedOutboundAssiations sysApplInstallElmtSize applDescription sysApplInstallElmtRole applURL Figure 3: Administrative overlap of the SYSAPPL-MIB and NSM-MIB. Epires January 18, 1998 [Page 18] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The Overlap Of Runtime Objects --- ------- -- ------- ------- Since both MIBs are seen as the basis and generic platform on which other MIBs should be based, both define some administrative managed objects. In fact, there is no complete overlap only partial overlap which can be seen in the figure 4. SYSAPPL-MIB NSM-MIB sysApplRunTable applTable sysApplRunEntry applEntry sysApplRunIndex applIndex sysApplRunInstalledIndex applName sysApplRunLastStarted<----------+ applDirectoryName sysApplRunCurrentState<-------+ | applVersion | +- ~ ->applUptime sysApplElmtRunTable +--- ~ ->applOperStatus sysApplElmtRunEntry | | applLastChange sysApplElmtRunInvocId | | applInboundAssociations sysApplElmtRunIndex | | applOutboundAssociations sysApplElmtRunInstallID | | applAccumulatedInbound.. sysApplElmtRunTimeStarted<----|-+ applAccumulatedOutbound.. sysApplElmtRunState<----------+ applLastInboundActivity sysApplElmtRunName applLastOutboundActivity sysApplElmtRunParameters applRejectedInbound.. sysApplElmtRunCPU applFailedOutbound.. sysApplElmtRunMemory applDescription sysApplElmtRunNumTCon applURL sysApplElmtRunNumFiles Figure 4: Runtime overlap of the SYSAPPL-MIB and NSM-MIB. Overlap in runtime information exists only for the objects expressing the state of the application and time it is running. 4.3 The HR-MIB and the NSM-MIB. The Host Resources MIB was the early start in which managed objects are defined to manage applications. In relation with the NSM they both provide management information of applications/software. The HR-MIB does this with respect to the running processes and the installed software in the system. The NSM-MIB shows only a part of this information with the extension of network related issues. The overlap consists only in some general administrative objects describing the application. Epires January 18, 1998 [Page 19] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 HR-MIB NSM-MIB hrSWOSIndex applTable applEntry hrSWRunTable applIndex hrSWRunEntry +--- ~ ->applName hrSWRunIndex +----- = ->applDirectoryName hrSWRunName<----------|-+ +- ~ ->applVersion hrSWRunID<------------|-|-+ applUptime hrSWRunPath<----------+ | | applOperStatus hrSWRunParameters | | applLastChange hrSWRunType | | applInboundAssociations | | applOutboundAssociations hrSWInstalledLastChange | | applAccumulatedInboundAss.. | | applAccumulatedOutboundAss.. hrSWInstalledLastUpdateTime | | applLastInboundActivity | | applLastOutboundActivity hrSWInstalledTable | | applRejectedInboundAssociations hrSWInstalledentry | | applFailedOutboundAssociations hrSWInstalledIndex | | applDescription hrSWInstalledName<------+ | applURL hrSWInstalledID<----------+ hrSWInstalledType hrSWInstalledDate Figure 5: Runtime overlap of the HR-MIB and NSM-MIB. 4.4 The WWW-MIB and the SYSAPPL-MIB The WWW-MIB is defined at almost the same period as the SYSAPPL-MIB. Therefore, certain objects can be overlapping or redundant. This is due to changes made to the SYSAPPL-MIB. Both MIBs have more groups, but the only groups with some overlap are the "wwwSystem" and the "sysApplInstalled" group. WWW-MIB SYSAPPL-MIB wwwEntityTable sysApplInstalledTable wwwEntityEntry sysApplInstalledEntry wwwEntityDescription<------+ sysApplInstalledIndex wwwEntityContact +-- ~ --->sysApplInstalledManufacturer wwwEntityProtocol +-- ~ --->sysApplInstalledProductName wwwEntityProtocolVersion +-- ~ --->sysApplInstalledVersion wwwEntityName sysApplInstalledSerialNumber wwwEntityAddress sysApplInstalledDate wwwEntityType sysApplInstalledLocation wwwEntityUptime wwwEntityOperStatus wwwEntityLastChange Figure 6: Administrative overlap of the WWW-MIB and SYSAPPL-MIB. Epires January 18, 1998 [Page 20] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 As seen above (in figure 6) there is no big overlap in information. Only a sort of summarizing object within the WWW-MIB to describe an installed package. 4.5 The WWW-MIB and the NSM-MIB These MIBs are related since they both provide network management information concerning network traffic with a certain underlying services. The Administrative Objects --- -------------- ------- In the tables which describe the general information only the version describing objects can be seen as overlapping. This is not completely true, because an application can have a total different version then its protocol. Also a newer version of an application can still implement the same protocol version. WWW-MIB NSM-MIB wwwEntityTable applTable wwwEntityEntry applEntry wwwEntityDescription<-------+ applIndex wwwEntityContact +--- ~ -->applName wwwEntityProtocol<----------+ applDirectoryName wwwEntityName +--- ~ -->applVersion wwwEntityType +-------- = -->applUptime wwwEntityUpTime<-------+ +---- = -->applOperStatus wwwEntityOperStatus<-------+ + = -->applLastChange wwwEntityLastChange<-----------+ applInboundAssociations applOutboundAssociations applAccumulatedInboundAs.. applAccumulatedOutboundAs.. applLastInboundActivity applLastOutboundActivity applRejectedInboundAss.. applFailedOutboundAss.. applDescription applURL Figure 7: Administrative overlap of the WWW-MIB and NSM-MIB. The "wwwEntityTable" defines more detail on the networked application. Overlap does not really exists. In the "wwwEntityTable" is an entry uniquely defined through its Fully Qualified Domain Name which is not reuiqred for the applTable. Epires January 18, 1998 [Page 21] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The Network Traffic Objects --- ------- ------- ------- The overlap at the network traffic level is far obvious. Within the WWW-MIB a summary table is providing a quick view of the network traffic. This is almost similar to the network information which is provided by the application table of the NSM-MIB. WWW-MIB NSM-MIB wwwSummaryTable applTable wwwSummaryEntry applEntry wwwSummaryInRequests<----+ applIndex wwwSummaryOutRequest<------+ applName wwwSummaryInResponses<---+ | applDirectoryName wwwSummaryOutResponses<----+ applVersion wwwSummaryInBytes | | applUptime wwwSummaryOutBytes | | applOperStatus | | applLastChange | | applInboundAssociations | | applOutboundAssociations +-|- (sum) ->applAccumulatedInboundAs.. +- (sum) ->applAccumulatedOutboundAs.. applLastInboundActivity applLastOutboundActivity applRejectedInboundAss.. applFailedOutboundAss.. applDescription applURL Figure 8: Network traffic overlap of the WWW-MIB and NSM-MIB. All indexes could be coupled between both MIBs. The difference is that the WWW-MIB is much more detailed information concerning the used document transfer protocol. This is due to the fact that the WWW-MIB describes network management information for the instantiated protocol providing a certain service. On the contrary, the NS-MIB defines the network management information of the provided service and abstract from protocol issues. The relation between the WWW MIB and the NSM MIB isnot very explicit and built on the fact that a certain service is provided both by a protocol and an underlying service ( a stack of protocol layers). Although entities and services are distributed, these MIBs define only information for one specific point (address/ host). To fill the gap for the remote relations/ connections the NSM-MIB has an association table in which the information of the current connections are kept. In a certain way the network service information at a service access point can be seen as a summary of the underlying protocol information. Epires January 18, 1998 [Page 22] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 4.6 The WWWW-MIB and the HR-MIB The overlap between the WWW-MIB and the HR MIB is similar as between the WWW-MIB and the SYSAPPL-MIB. WWW-MIB HR-MIB wwwEntityTable hrSWOSIndex wwwEntityEntry wwwEntityDescription<--------+ hrSWRunTable wwwEntityContact | hrSWRunEntry wwwEntityProtocol<-----------+ hrSWRunIndex wwwEntityName +--- ~ ---->hrSWRunName wwwEntityType | hrSWRunID wwwEntityUpTime | hrSWRunPath wwwEntityOperStatus | hrSWRunParameters wwwEntityLastChange | hrSWRunType | hrSWRunStatus | | hrSWInstalledTable | hrSWInstalledEntry | hrSWInstalledIndex +--- ~ ----->hrSWInstalledName hrSWInstalledID hrSWInstalledType hrSWInstalledDate Figure 9: Administrative overlap of the WWW-MIB and HR-MIB. Some way all indexes could be coupled, but the Host Resources Software tables are similar to the system application MIB. Therefore, I propose that no links towards this MIB will be added. If the HR-MIB will be implemented the Software parts (which are optional) will not be implemented. 5. Relationships/Indexing between managed objects. Managed objects or groupings of managed objects (such as entries) are sometimes related. The most common technique to relate such objects is indexing. The index is an auxiliar managed object which uniquely identifies a group of objects (entry). If another group of objects is related you can use the same index value and they are all uniquely related. The other technique is the use of pointers which are managed objects referring to a managed object by containing an object identifier or unique `reference' number. This technique can be used if there is a possibility that the referred object/entry doesn't exist. In this section all the index links, pointers within one of the surveyed MIBs or between two of them are described. Mostly these pointers or indexes are quite straightforward, but it provides also Epires January 18, 1998 [Page 23] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 great difficulties for agent implementors to implement all the indexes and pointers in the correct way. NOTE: The managed objects preceeded by '*' are indexes and preceeded by an '&' are pointers. The arrows indicate the indexes or pointers between the managed objects. In a table where '(no object)' is used is no object defined there, but the value of the referred object is used. In this internet-draft such links are called 'direct index'. 5.1 The SYSAPPL-MIB. The SYSAPPL-MIB has no external indexes or pointers. The reason is that the SYSAPPL-MIB is the generic MIB for management of applications. Other MIBs should refer to the SYSAPPL-MIB and the SYSAPPL-MIB in the centre aroung the application specific MIBs should be implemented. The internal indexes shown in the following figure 10. (The MIB prefix "sysAppl" is deleted for the columnar objects) +-------------------------+ +-------------------------+ |sysApplInstallPkgTable | |sysApplInstallElmtTable | +-------------------------+ +-------------------------+ |* InstallPkgIndex |<----+---<----<------ (no object) | | | ^ +------>* InstallElmtIndex | | | | | | | +-------------------------+ | ^ +-------------------------+ | | ^ | +-------------------------+ | | +-------------------------+ |sysApplRunTable | | ^ |sysApplRunElmtTable | +-------------------------+ | | +-------------------------+ | (no object) ----------->+<---------* ElmtRunInvocID | |* RunIndex | ^ | |* ElmtRunIndex | | | | +----<----ElmtRunInstallID | +-------------------------+ | ^ +-------------------------+ | | ^ | +-------------------------+ | | +-------------------------+ |sysApplRunPastTable | | ^ |sysApplRunPastElmtTable | +-------------------------+ | | +-------------------------+ | (no object) ----------->+<---------* ElmtPastRunInvocID | |* PastRunIndex | | |* ElmtPastRunIndex | | | +----<----ElmtPastRunInstallID | +-------------------------+ +-------------------------+ Figure 10: Links within the SYSAPPL-MIB. As figure 10 (above) shows, all indexes (except one) are made with pointers. The reason for this is that in the RunTables and RunPastTables every process should be shown and if possible grouped by application. The direct index is only possible between the Epires January 18, 1998 [Page 24] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 "sysApplInstallPackageTable" and the "sysApplInstallElementTable" because it is not required that every process is registered within an "sysApplInstallPackageTable". A problem with this MIB (especially under an implementing point of view) is the grouping of the elements into a composite application. This could be done by reading the element organisation from a configuration file. The configuration file should also provide the information on what element is from which application during runtime. The element could be a part of an already started application (an entry already exists in the "sysApplRunTable") or a complete new application (a new entry has to be inserted in the "sysApplRunTable"). +-------------------------+ |sysApplMapTable | +-------------------------+ +-------------------------+ | (no object) ---------->-----+ |sysApplInstallElmtTable | | (no object) ----------<-----|--+ +-------------------------+ | (no object) ----------<--------|-<-- * InstallElmtIndex | | MapInstallElmntIndex ----->+ | | | | +-------------------------+ | ^ ^ +-------------------------+ | | | V | | +-------------------------+ | | | +-------------------------+ |sysApplInstallElmtTable | | ^ ^ |sysApplRunElmtTable | +-------------------------+ V | | +-------------------------+ |* sysApplInstallPkgIndex <---+ | +<--- * ElmtRunInvocID | |* RunIndex | +------- * ElmtRunIndex | | | | | +-------------------------+ +-------------------------+ Figure 11: Links sysApplMapTable. Although the linkage for this table is very complex, it provides the manager an easy mapping between running elements and the installed elements. The burden for this table is, therefore, put in the SNMP-agent and not in the SNMP-manager application. Epires January 18, 1998 [Page 25] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 5.2 The Application Management MIB The Application Management MIB provides the management information per running element for which it requires instrumentation inside the running element. +-----------------------------------------+ |nsmToSysApplElmtRunTable | +-----------------------------------------+ |* nsmToSysApplElmtRunIndex | | nsmToSysApplElmtRunApplIndex <----------------+ | nsmToSysApplElmtRunSysApplRunIndex <-----------+ | | nsmToSysApplElmtRunSysApplRunElmtIndex <------+ | | | | | | | +-----------------------------------------+ | | | | | | - - - - - - - - - - - - - - - - - - - - - - + | | | SYSAPPL-MIB | | | | +------------------------+ | | | |sysApplRunElmtTable | | | | | +------------------------+ | | | |* sysApplRunElmtIndex ----->----------->--|-----+ | | | | | | +------------------------+ | | | | | +------------------------+ | | | |sysApplRunTable | | | +------------------------+ | | | |* sysApplRunIndex ----->----------->-------------+ | | | | | +------------------------+ | | | - - - - - - - - - - - - - - - - - - - - - - + | NSM-MIB | +------------------------+ | | |applTable | | +------------------------+ | | |* applIndex ----->----------->------------------+ | | | +------------------------+ - - - - - - - - - - - - - - - - - - - - - - + Figure 12: The relationships with the SYSAPPL-MIB and NSM-MIB. The indexing scheme within this MIB relies on the existance of the "sysapplElmtRunIndex" of the SYSAPPL-MIB. Therefore, it is required to at least implement this object. Seen from the goals for as well the SYSAPPL-MIB as the Application Management MIB you should use/implement the framework which exists of the indexing scheme. An overview of the relationships of the Application Management MIB is given in Figure 13. As seen in the MIB definitions of the Application MIB most of the Epires January 18, 1998 [Page 26] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 tables are combined for counter of both Counter32 and Counter64 application types. It is the editor's view that in order to create less overhead and a more clearly structure the tables should be split in a table defining the Counter32 counters and a table for the Counter64 counters. The Implementor should teh be able to choose via MODULE-COMPLIANCE statements which complaince he selects. of course, this choice depends highly on the used SNMP version and the architecture the MIB is implemented on. | +------------------------+ +-------------------------+ |sysApplElmtRunTable | | |applOpenFileTable | +------------------------+ +-------------------------+ |* sysApplElmtRunIndex |<-|------+--<---< -----(no object) | | | ^ +-->* applOpenFileId | +------------------------+ | +----------> applOpenFileName | SYSAPPL-MIB | | | | | - - - - - - - - - - - - -- - + | | | +-------------------------+ | | | +------------------------+ ^ | | |applOpenFileXRefTable | | | | +-------------------------+ +------------------------+ | | | |applOpenConnectionTable | | (no object) --->--->+ | | +-------------------------+ | (no object) ----->----->+<--|--- (no object) | | (no object) ----->----------+ |* applOpenIndex | | | | | | +------------------------+ | +-------------------------+ | +-----------------------------+ ^ +-------------------------+ |applExConnectionControlTable | | |applExConnectionTable | +-----------------------------+ | +-------------------------+ | (no object) ----->----->+<---<--- (no object) | | | | |* applExConnectionId | +-----------------------------+ | | | | +-------------------------+ | +----------------------------+ ^ +---------------------------+ |applTransactionControlTable | | |applTransactionStreamTable | +----------------------------+ | +---------------------------+ | (no object) ----->----->+<----- (no object) | |* applTransactionStreamId <-------------- (no object) | | | | | | +----------------------------+ | +---------------------------+ | +----------------------------+ ^ +---------------------------+ |applAlmtRunStatusTable | | |applElmtRunControlTable | +----------------------------+ | +---------------------------+ | (no object) ----->----->+<------ (no object) | | | | | +----------------------------+ +---------------------------+ Figure 13: The Application Management MIB indexing scheme. Epires January 18, 1998 [Page 27] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 5.3 The WWW-MIB. The WWW-MIB is a specific MIB of a network and distributed application (in the sense of the NSM-MIB), but it is also an normal application (in terms of the SYSAPPL-MIB). And since both generic application MIBs lack consistency in there defintions of an application, the core of the WWW-MIB is made independently of both MIBs. +------------------------+ +-------------------------+ |wwwEntityTable | |wwwSummaryTable | +------------------------+ +-------------------------+ |* wwwEntityIndex |<------+--<---<-----(no object) | | | ^ | | +------------------------+ | +-------------------------+ | +------------------------+ ^ +-------------------------+ |wwwRequestInTable | | |wwwRequestOutTable | +------------------------+ | +-------------------------+ | (no object) ----->--->+<---<------- (no object) | |* wwwRequestInIndex | | |* wwwRequestOutIndex | | | | | | +------------------------+ | +-------------------------+ | +------------------------+ ^ +-------------------------+ |wwwResponseInTable | | |wwwResponseOutTable | +------------------------+ | +-------------------------+ | (no object) ----->--->+<---<------- (no object) | |* wwwResponseInIndex | | |* wwwresponseOutIndex | | | | | | +------------------------+ | +-------------------------+ | +------------------------+ ^ +-------------------------+ |wwwDocCtrlTable | | |wwwDocLastNTable | +------------------------+ | +-------------------------+ | (no object) ----->--->+<---<-------- (no object) | | | | |* wwwDocLastNIndex | | | | | | +------------------------+ | +-------------------------+ | +------------------------+ ^ +-------------------------+ |wwwDocBucketTable | | |wwwDocBucketTopNTable | +------------------------+ | +-------------------------+ | (no object) ----->--->+<--<-------- (no object) | |* wwwDocBucketIndex | |* wwwDocBucketTopNIndex | | | | | +------------------------+ +-------------------------+ Figure 14: Links within the core of the WWW-MIB. Epires January 18, 1998 [Page 28] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 In the latest version of the WWW-MIB is the defined relationship (with "applIndex") taken away and a internal indexing scheme is used. This solution is choosen because the NSM-MIB is not precise enough in what is a networked service and how can they be distinguished. This solution benefits also that no instrumentation is required from the NSM-MIB to implement the WWW-MIB. 5.4 The NSM-MIB This MIB does not have pointers to other MIBs, due to its generic nature for management of networked applications. Compared with the SYSAPPL-MIB the NSM-MIB is much simpler, consisting only of two tables. One of the tables provides more detailed information on the application and the other tables provides the associations with remote (other) applications. Figure 15 shows the internal linking structure of the NSM-MIB. +------------------------+ +-------------------------+ |applTable | |assocTable | +------------------------+ +-------------------------+ |* applIndex |<------<------<------ (no object) | | | |* assocIndex | | | | | +------------------------+ +-------------------------+ Figure 15: Links within the NSM MIB. 5.5 The X.500 DSA-MIB. This MIB consists of three tables providing application specific information for a networked and distributed application. Therefore, the DSA MIB is connected to the NSM-MIB through the "applIndex". As figure 17 shows (next page), the core of the WWW MIB is defined without using external indexes. Previously, the indexing of the WWW-MIB was done by means of the "applIndex" defined in the NSM-MIB. Due to no clear definitions used in the NSM-MIB and indexing problems. The WWW-MIB will not be defined with the indexing scheme of the NSM-MIB. The problem is that unclaer definitions makes it possible to have lots of non-unique relations between both MIBs. During the implementation of the WWW-MIB the problem is how to uniquely define the index. Questions such as "May I choose my own index number?" or "Is it required to implement the NSM-MIB?" can be raised. Unfortenately, the SNMP-framework doesn't give an concrete answer based on arguments consistent with the SNMP framework documents. A solution is only to implement the "applIndex" of the "applTable", due to the maximum access cluase of "not-accessible" the "applIndex"-instance can never be retrieved. Epires January 18, 1998 [Page 29] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 +------------------------+ +-------------------------+ |applTable | | |dsaOpsTable | +------------------------+ +-------------------------+ |* applIndex |<--------+<------(no object) | | | ^ | | +------------------------+ | | +-------------------------+ NSM-MIB | - - - - - - - - - - - - - - - - + | | +------------------------+ ^ +-------------------------+ |dsaEntriesTable | | |dsaIntTable | +------------------------+ | +-------------------------+ | (no object) --->------->+<------- (no object) | | | |* dsaIntIndex | | | | | +------------------------+ +-------------------------+ Figure 16: Links within the DSA MIB. 5.6 The HR-MIB. The Host resources MIB was one of the first MIBs for management of applications or software on a host. It is generic and has almost no external pointers. The only external pointer not internal for this MIB is the "hrNetworkIfIndex", referring to the "ifIndex" of the IF-MIB. Figure 17 (next page) shows a lot of links of indexes within the HR-MIB. These links are quite straigthforward, except the "hrNetworkIfIndex". The "hrNetworkIfIndex" links the network devices with the interfaces defined in the "iftable". Due to this two-step link of a Device -> Network Device -> Interface, there is no requirement for the "ifTable" to be implemented. In case the "iftable" is not implemented the "hrNetworktable" can be left as not implemented. Epires January 18, 1998 [Page 30] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The hardware groups --- -------- ------ +-------------------------+ |hrDeviceTable | +---------------------------+ +-------------------------+ |hsSystemInitialLoadDevice ----->+------->* hrDeviceIndex | +---------------------------+ | | | | +-------------------------+ | +------------------------+ | +-------------------------+ |hrStorageTable | | |hrNetworkTable | +------------------------+ | +-------------------------+ | (no object) ------------>+<---------- (no object) | | index of table <-----+ | +----> hrNetworkIfIndex | +------------------------+ | | | +-------------------------+ | | | +------------------------+ | | | +-------------------------+ |hrProcessorTable | | | | |hrDiskStorageTable | +------------------------+ | | | +-------------------------+ | (no object) ---------|-->+<--|------- (no object) | | | | ^ ^ | | +------------------------+ | | | +-------------------------+ | | | +------------------------+ | | | +-------------------------+ |hrPrinterTable | | | | |hrPartitionTable | +------------------------+ | | | +-------------------------+ | (no object) ---------|-->+<--|------- (no object) | | | | | |* hrPartitionIndex | | | | +---|----> hrPartitionFSIndex | +------------------------+ | | | +-------------------------+ | | | | | | + - - - - - - - - - - - - - - +------------------------+ | | | IF-MIB |hrFSTable | | | | | -------------------------+ +------------------------+ | | | |interfaceTable | |* hrFSIndex <-------|---+ | | +-------------------------+ | hrFSStorageIndex --------+ +----* ifIndex | | | | | | +------------------------+ +-------------------------+ | Figure 17: Links of the hardware groups within the HR MIB. Epires January 18, 1998 [Page 31] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The software groups --- -------- ------ +-------------------------+ |hrSWRunPerfTable | +------------------------+ +-------------------------+ |hrSWOSIndex ------------>+------->*hrSWRunIndex | +------------------------+ | | | | +-------------------------+ ^ +------------------------+ | +-------------------------+ |hrSWRunPerfTable | | |hrSWInstalledTable | +------------------------+ | +-------------------------+ | (no object) ------------>+ |* hrSWInstalledIndex | | | | | +------------------------+ +-------------------------+ Figure 18: Links of the software within the HR MIB. The above figure (18) shows that there are a few links between the tables and that no connection is made to other MIBs. Therefore, the software groups can be implemented without big difficulties, not requiring instrumentation of other MIBs, whether or not available. 5.7 The RDBMS-MIB. The RDBMS-MIB is an application specific MIB which is used for DataBase Management. +------------------------+ +-------------------------+ |rdbmsDbTable | |rdbmsDbInfoTable | +------------------------+ +-------------------------+ |* rdbmsDbIndex |<------+--- * <--------(no object) | | | ^ | | +------------------------+ | +-------------------------+ | +------------------------+ ^ +----------------------------+ |rdbmsDbParamTable | | |rdbmsDbLimitedResourceTable | +------------------------+ | +----------------------------+ | (no object) --------->+<---<----- (no object) | |* rdbmsDbParamName | |* rdbmsDbLimitedResourceName| |* rdbmsDbParamSubIndex | | | | | | | +------------------------+ +----------------------------+ Figure 19: Links within the database group of the RDBMS MIB. The database group complete depends of the rdbmsDbTable in which general management data is defined for a database. Epires January 18, 1998 [Page 32] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 | +------------------------+ +-------------------------+ |applTable | | |rdbmsSrvTable | +------------------------+ +-------------------------+ |* applIndex |<--------+--<----------(no object) | | | ^ | | +------------------------+ | | +-------------------------+ NSM-MIB | - - - - - - - - - - - - - - - + | | +------------------------+ ^ +-------------------------+ |rdbmsServerInfoTable | | |rdbmsSrvParamTable | +------------------------+ | +-------------------------+ | (no object) --->------->+<------- (no object) | | | | |* rdbmsSrvParamName | | | | |* rdbmsSrvParamSubIndex | | | | | | +------------------------+ | +-------------------------+ | +-----------------------------+ | |rdbmsSrvLimitedResourceTable | | +-----------------------------+ | | (no object) --->---+ |* rdbmsSrvLimitedResourceName| | | +-----------------------------+ Figure 20: Links within the database server group of the RDBMS MIB. This figure (20) shows that the database server is seen in terms of a network service, since its indexing shceme depends on the applIndex. The applIndex is defined withi the NSM-MIB. +------------------------+ +-------------------------+ |rdbmsRelTable | |rdbmsDbTable | +------------------------+ +-------------------------+ | (no object) <-------------<----- rdbmsDbIndex | | (no object) <----------+ | | +------------------------+ | +-------------------------+ | - - - - - - - - - - - - - - + | NSM-MIB | +------------------------+ | | |applTable | | +------------------------+ | | |* applIndex --->------->+ | | | +------------------------+ | Figure 21: Links connecting the database and database server group. Epires January 18, 1998 [Page 33] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 In order to have full control of which database is used by which database server a relations table is added. An advantage of this method is that a user can decide which database and/or which database server he uses and at the same time the manager has enough information for proper management. 6 Conclusions This section presents the major conclusions found during this study. The study analysed the currently existing MIBs defined in IETF WGs which can be used for application management. The investigated MIBs were: * the SYSAPPL-MIB, * the APLICATION-MIB, * the WWW MIB, * the NSM-MIB, * the DSA-MIB, * the HR-MIB, and * the RDBMS-MIB. The objective of the analyses was to identify: a) the contents of the MIBs, b) the duplications and the overlaps of the MIBs, and c) the indexing scheme of the MIBs. The SYSAPPL-MIB framework --- ----------- --------- Within the APPLMIB WG a complete framework is defined for proper management of applications using SNMP. The output of this WG will be 3 MIBs which are the SYSAPPL-MIB, Application Management MIB, and the WWW-MIB. This also requires that a complete indexing scheme must be setup and except for the WWW-MIB the MIBs have a complex network of indexing. Especially, the indexing scheme with in the SYSAPPL-MIB. A good reason for this is that an application only once installed may only be once in the 'installed'-tables, but they certainly can be run multiple times and spin-off multple running elements. Although, the WWW-MIB is defined within the APPLMIB WG and therefore must fullfill the requirements of the framework, a service view is selected for this MIB. The service view allows the WWW-MIB to be independent of the others. Managers of application software, and in perticular WWW-servers, do not have to implement the full framework and carry the burden which comes with it. Epires January 18, 1998 [Page 34] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The NSM-MIB --- ------- Although a definition of a networked application in the NSM-MIB is provided, but it defines not properly a service on which the definition depends. Questions like `Is a networked application only listening to one single transport address or listening to multiple?' or `What mapping into the "applTable" has to be used in case of a networked application using the "multi-home-host" approach?' can be raised. This last question presents an arbitrary choice for MIB implementors to define the "applTable" entries for such a networked application. For example, a "multi-homed-host" with a networked application can be defined in one entry, but also in multiple entries. It is not even required that in case of multiple host and entries the relation is 1:1. SYSAPPL MIB overlapping the HR MIB software groups ------- --- ----------- --- -- --- -------- ------ The managed objects in the software groups of the HR MIB are almost completely overlap by the newer SYSAPPL MIB. Although the HR MIB is more process oriented, this information can extracted from the SYSAPPL-MIB which even combines the processes into a coherent application. Linking with other MIBs ------- ---- ----- ---- There are two general approaches in linking objects across different MIBs. The first approach is to define an object which contain a value, object identifier (OID) of the refered object. This approach is simple and even possible to use whenever the referred object is not defined in the SNMP agent, where the zero pointer can be used. The second approach is to use the value of the referred object as an index (is in this draft called a "direct index"). This approach is more consistent since links are uniquely defined. On the contrary, it raises problems when the referred object is not implemented in the SNMP agent. In such a case, the referred index cannot be discovered and the agent implementor has to make his own decision regarding the index values. Mapping between the SYSAPPL-MIB and the NSM-MIB ------- ------- --- ----------- --- --- ------- Nowadays two 'major' MIBs, SYSAPPL-MIB and NSM-MIB, are available for application management. Both claim to be generic and could, therefore, be used as platform to hook on other application specific MIBs. Epires January 18, 1998 [Page 35] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 The definition of an application within the SYSAPPL-MIB is: "An application is 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." The definition of an application (or networked application) within the NSM-MIB is not really defined, but implicit within the draft as: "A networked application is a unit (executable code) within a single host which operates in conjunction with other units over a network." Unfortunately, the mapping between both types of applications is not well and uniquely defined. This is what we directly see taking WWW-servers as an example. Normally, the mapping between an application in the SYSAPPL-MIB and an application in the NSM-MIB should be no problem. However, when using virtual hosts on a single machine the application components are going to behave very differently. WWW-servers, like Apache, is one application (as seen from a SYSAPPL-MIB point of view), but it are also multiple networked applications (as seen from a NSM-MIB point of view) by using virtual hosts. Epires January 18, 1998 [Page 36] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 7 References [] 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-08.txt, BGS Systems, Empire Technologies, Enterprise Management Professional Services, Bellcore, April 1997. [] Kalbfleisch, C., C. Krupczak, R. Presuhn, J. Saperia, "Application Management MIB", draft-ietf-applmib-mib-03.txt, September 1997. [] Kalbfleisch, C., Hazewinkel, H., Schoenwaelder, J., "Definitions of Managed Objects for WWW Servers", draft-ietf-applmib-wwwmib-03.txt, June 1997. [] 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. [] Mansfield, G., and S. Kille, "X.500 Directory Monitoring MIB", RFC 1567, AIC Systems Laboratory, ISODE Consortium, January 1994. [] Mansfield, G., and S. Kille, "X.500 Directory Monitoring MIB", RFC 1567, AIC Systems Laboratory, ISODE Consortium, January 1994. [] brower, D., Purvy, B., Daniel, A., Sinykin, M., Smith, J., "Relational Database management System (RDBMS) Management Information Base (MIB) using SMIv2", RFC1697, INGRES DBMS Development, August 1994. [] Kalbfleisch, C., "Applicability of Standards Track MIBs to Management of World Wide Web Servers", RFC-2039, OnRamp Technologies, November 1996. Epires January 18, 1998 [Page 37] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 8 Authors address Harrie Hazewinkel postal: CEO Programme Joint Research Centre of the E.C TP 950 21020 Ispra Italy email: harrie.hazewinkel@jrc.it www: http://porto.jrc.it/~harrie 9 Acknowledgements This document benefited from the comments of the following persons: Eric van Hengstum Carl Kalbfleish Cheryl Krupczak Rui Meneses Aiko Pras randy Presuhn Jon Saperia Jeurgen Schoenwaelder Epires January 18, 1998 [Page 38] INTERNET-DRAFT draft-hazewinkel-appl-mib-01.txt July 18, 1997 10. Table of Contents Abstract ...........................................................2 1. Introduction ....................................................3 1.1 How to read this internet draft ................................4 2. The Working Groups of Application Related MIBs .................4 3. The application related MIBs ...................................5 3.1 The System Application MIB .....................................5 3.2 The Application Management MIB .................................7 3.3 The World Wide Web MIB .........................................9 3.4 The Network Services Monitoring MIB ...........................10 3.5 The X.500 Directory Monitoring MIB ............................11 3.6 The Host Resources MIB ........................................11 3.7 The Relational Database Management System MIB .................14 4. The overlapping objects of the MIBs ...........................15 4.1 The SYSAPPL-MIB and the HR-MIB ................................16 4.2 The SYSAPPL-MIB and the NSM-MIB ...............................18 4.3 The HR-MIB and the NSM-MIB ....................................19 4.4 The WWWW-MIB and the SYSAPPL-MIB ..............................20 4.5 The WWWW-MIB and the NSM-MIB ..................................21 4.6 The WWW-MIB and the HR-MIB ....................................23 5. Relationships/Indexing between managed objects ................23 5.1 The SYSAPPL-MIB ...............................................24 5.2 The Application Management MIB ................................26 5.3 The WWW-MIB ...................................................28 5.4 The NSM-MIB ...................................................29 5.5 The X.500 DSA-MIB .............................................29 5.6 The HR-MIB ....................................................30 5.7 The RDBMS-MIB .................................................32 6. Conclusions ...................................................34 7. References ....................................................37 8. Author's address ..............................................38 9. Acknowledgements ..............................................38 10. Table of Contents ..............................................39 Epires January 18, 1998 [Page 39]