idnits 2.17.1 draft-ietf-applmib-sysapplmib-08.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-26) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 46 has weird spacing: '...ble and sysAp...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 15, 1997) is 9873 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: '9' is defined on line 1964, but no explicit reference was found in the text == Unused Reference: '11' is defined on line 1970, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. '1' ** Obsolete normative reference: RFC 1902 (ref. '2') (Obsoleted by RFC 2578) ** Obsolete normative reference: RFC 1903 (ref. '3') (Obsoleted by RFC 2579) ** Obsolete normative reference: RFC 1904 (ref. '4') (Obsoleted by RFC 2580) ** Obsolete normative reference: RFC 1905 (ref. '5') (Obsoleted by RFC 3416) ** Obsolete normative reference: RFC 1906 (ref. '6') (Obsoleted by RFC 3417) ** Obsolete normative reference: RFC 1907 (ref. '7') (Obsoleted by RFC 3418) ** Obsolete normative reference: RFC 1908 (ref. '8') (Obsoleted by RFC 2576) ** Obsolete normative reference: RFC 1514 (ref. '9') (Obsoleted by RFC 2790) ** Obsolete normative reference: RFC 2044 (ref. '10') (Obsoleted by RFC 2279) -- Possible downref: Non-RFC (?) normative reference: ref. '11' Summary: 19 errors (**), 0 flaws (~~), 4 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Definitions of System-Level Managed Objects for Applications 3 April 15, 1997 5 7 Cheryl Krupczak 8 Empire Technologies, Inc. 9 cheryl@empiretech.com 11 Jonathan Saperia 12 BGS Systems Inc. 13 saperia@networks.bgs.com 15 Status of this Memo 17 This document is an Internet-Draft. Internet-Drafts are 18 working documents of the Internet Engineering Task Force 19 (IETF), its areas, and its working groups. Note that other 20 groups may also distribute working documents as Internet- 21 Drafts. 23 Internet-Drafts are draft documents valid for a maximum of six 24 months and may be updated, replaced, or obsoleted by other 25 documents at any time. It is inappropriate to use Internet- 26 Drafts as reference material or to cite them other than as 27 ``work in progress.'' 29 To learn the current status of any Internet-Draft, please 30 check the ``1id-abstracts.txt'' listing contained in the 31 Internet- Drafts Shadow Directories on ds.internic.net (US 32 East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West 33 Coast), or munnari.oz.au (Pacific Rim). 35 Table of Contents 37 1 Abstract .............................................. 3 38 2 The SNMPv2 Network Management Framework ............... 3 39 2.1 Object Definitions .................................. 4 40 3 Overview .............................................. 5 41 4 Architecture for Application Management ............... 6 42 5 The Structure of the MIB .............................. 7 43 5.1 System Application Installed Group .................. 7 44 5.2 System Application Run Group ........................ 8 45 5.2.1 sysApplRunTable and sysApplPastRunTable ........... 8 46 5.2.2 sysApplElmtRunTable and sysApplElmtPastRunTable 47 .................................................... 9 48 5.3 System Application Map Group ........................ 10 49 6 Definitions ........................................... 11 50 7 Implementation Issues ................................. 43 51 7.1 Implementation with Polling Agents .................. 43 52 7.2 sysApplElmtPastRunTable Entry Collisions ............ 44 53 8 Security Considerations ............................... 45 54 9 Acknowledgements ...................................... 46 55 10 Editor's Address ..................................... 46 56 11 References ........................................... 46 57 1. Abstract 59 This memo defines a portion of the Management Information Base 60 (MIB) for use with network management protocols in the 61 Internet community. In particular, it describes a basic set of 62 managed objects for fault, configuration and performance 63 management of applications from a systems perspective. More 64 specifically, the managed objects are restricted to 65 information that can be determined from the system itself and 66 which does not require special instrumentation within the 67 applications to make the information available. 69 This memo does not specify a standard for the Internet 70 community. 72 2. The SNMPv2 Network Management Framework 74 The SNMPv2 Network Management Framework consists of the 75 following major components: 77 o RFC 1902 Structure of Management Information for Version 78 2 of the Simple Network Management Protocol (SNMPv2) [2] 80 o RFC 1903 Textual Conventions for Version 2 of the Simple 81 Network Management Protocol (SNMPv2) [3] 83 o RFC 1904 Conformance Statements for Version 2 of the 84 Simple Network Management Protocol (SNMPv2) [4] 86 o RFC 1905 Protocol Operations for Version 2 of the Simple 87 Network Management Protocol (SNMPv2) [5] 89 o RFC 1906 Transport Mappings for Version 2 of the Simple 90 Network Management Protocol (SNMPv2) [6] 92 o RFC 1907 Management Information Base for Version 2 of the 93 Simple Network Management Protocol (SNMPv2) [7] 95 o RFC 1908 Coexistence between Version 1 and Version 2 of 96 the Internet-standard Network Management Framework [8] 98 The Framework permits new objects to be defined for the 99 purpose of experimentation and evaluation. 101 2.1. Object Definitions 103 Managed objects are accessed via a virtual information store, 104 termed the Management Information Base or MIB. Objects in the 105 MIB are defined using the subset of Abstract Syntax Notation 106 One (ASN.1) [1], defined in the Structure of Management 107 Information (SMI) (See RFC 1902 [2]). In particular, each 108 object type is named by an OBJECT IDENTIFIER, an 109 administratively assigned name. The object type together with 110 an object instance serves to uniquely identify a specific 111 instantiation of the object. For human convenience, we often 112 use a textual string, termed the object descriptor, to refer 113 to the object type. 115 3. Overview 117 The primary purpose of computing technologies is the execution 118 of application software. These applications, typically 119 specialized collections of executables, files, and 120 interprocess communications, exist to solve business, 121 scientific or other "problems". The configuration, fault 122 detection, performance monitoring and control of application 123 software across its life on a host computer is of great 124 economic importance. For the purposes of our work, we define 125 applications as one or more units of executable code and other 126 resources, installed on a single host system that a manager 127 may think of as a single object for management purposes. 129 The information described by the objects in the System 130 Application MIB support configuration, fault, and performance 131 management; they represent some of the basic attributes of 132 application software from a systems (non-application specific) 133 perspective. The information allows for the description of 134 applications as collections of executables and files installed 135 and executing on a host computer. 137 This draft is concerned primarily with, and defines a model 138 for, application information resident on a host computer which 139 can be determined from the system itself, and not from the 140 individual applications. This system-level view of 141 applications is designed to provide information about software 142 applications installed and running on the host system without 143 requiring modifications and code additions to the applications 144 themselves. This approach was taken to insure ease and speed 145 of implementation, while allowing room for future growth. 147 4. Architecture for Application Management 149 In the area of application management it is fully acknowledged 150 and even expected that additional MIB modules will be defined 151 over time to provide an even greater level of detail regarding 152 applications. This MIB module presents the most general case: 153 a set of management objects for providing generic information 154 about applications and whose object values can be determined 155 from the computer system itself without requiring 156 instrumentation within the application. 158 A finer-grained level of detail is planned for the future 159 "appl MIB" which will be a common set of management objects 160 relating to generic applications, but which require some type 161 of instrumentation in the application in order to be 162 determined. Since the applmib MIB module will provide a finer 163 level of detail, any connection to the sysAppl MIB should be 164 made by having references from the more detailed appl MIB back 165 to the more generic sysAppl MIB. Likewise, as application- 166 specific MIB modules such as the WWW MIB, etc., are developed 167 over time, these more specific MIBs should reference back to 168 the more generic MIBs. 170 While this MIB module does not attempt to provide every 171 detailed piece of information for managing applications, it 172 does provide a basic systems-level view of the applications 173 and their components on a single host system. 175 5. The Structure of the MIB 177 The System Application MIB structure models application 178 packages as a whole, and also models the individual elements 179 (files and executables) which collectively form an 180 application. The MIB is structured to model information 181 regarding installed application packages and the elements 182 which make up each application package. The MIB also models 183 activity information on applications (and in turn, their 184 components) that are running or have previously run on the 185 host system. In modeling applications and their elements, 186 this MIB module provides the necessary link for associating 187 executing processes with the applications of which they are a 188 part. 190 The objects are arranged into the following groups: 192 - System Application Installed Group 193 - sysApplInstallPkgTable 194 - sysApplInstallElmtTable 196 - System Application Run Group 197 - sysApplRunTable 198 - sysApplPastRunTable 199 - sysApplElmtRunTable 200 - sysApplElmtPastRunTable 201 - (scalars for restricting table sizes) 203 - System Application Map Group 204 - sysApplMapTable 206 As can be seen by the arrangement above, for each category, 207 the MIB first treats an application package as a whole, and 208 then breaks down the package to provide information about each 209 of the elements (executable and non-executable files) of the 210 package. 212 5.1. System Application Installed Group 214 The System Application Installed group consists of two tables. 215 Through these two tables, administrators will be able to 216 determine which applications have been installed on a system 217 and what their constituent components are. The first table, 218 the sysApplInstallPkgTable, lists the application packages 219 installed on a particular host. The second, the 220 sysApplInstallElmtTable, provides information regarding the 221 executables and non-executable files, or elements, which 222 collectively compose an application. 224 NOTE: This MIB is intended to work with applications that have 225 been installed on a particular host, where "installed" means 226 that the existence of the application and the association 227 between an application and its component files can be 228 discovered without requiring additional instrumentation of the 229 application itself. This may require that certain conventions 230 be used, such as using a central software installation 231 mechanism or registry, when installing application packages. 232 For example, many UNIX systems utilize a "pkgadd" utility to 233 track installed application packages, while many PC systems 234 utilize a global registry. 236 5.2. System Application Run Group 238 This group models activity information for applications that 239 have been invoked and are either currently running, or have 240 previously run, on the host system. Likewise, the individual 241 elements of an invoked application are also modeled to show 242 currently running processes, and processes that have run in 243 the past. This information is modeled using two pairs of 244 tables: a pair of tables for currently running applications 245 and past run applications, and a pair of tables for the 246 currently running elements and the past run elements. Seven 247 scalars are also defined to control the size of the past run 248 tables. 250 5.2.1. sysApplRunTable and sysApplPastRunTable 252 The sysApplRunTable and the sysApplPastRunTable make up the 253 first pair of tables. The sysApplRunTable contains the 254 application instances which are currently running on the host. 255 Each time an application is invoked, a new entry is created in 256 the sysApplRunTable to provide information about that 257 particular invocation of the application. An entry will 258 remain in this table until the application instance 259 terminates, at which time the entry will be deleted from the 260 sysApplRunTable and placed in the sysApplPastRunTable. 262 The sysApplPastRunTable maintains a history of instances of 263 applications which have previously executed on the host. 264 Entries to this table are made when an invoked application 265 from the sysApplRunTable terminates; the table entry which 266 represents the application instance is removed from the 267 SysApplRunTable and a corresponding entry is added to the 268 sysApplPastRunTable. 270 Because the sysApplPastRunTable will continuously grow as 271 applications are executed and terminate, two scalars are 272 defined to control the aging-out of table entries. The value 273 of sysApplPastRunMaxRows specifies the maximum number of 274 entries the table may contain, while the 275 sysApplPastRunTblTimeLimit specifies the maximum age of the 276 table entries. Oldest entries are removed first. 278 It is important to note that the sysApplRunTable and 279 sysApplPastRunTable contain entries for each INVOCATION of an 280 application. A single application package might be invoked 281 multiple times; each invocation is properly recorded by a 282 separate entry in the sysApplRunTable. 284 In order to implement this group, the agent must be able to 285 recognize that an application has been invoked, and be able to 286 determine when that invocation terminates. This poses a 287 complex problem since a single application invocation may 288 involve numerous processes, some of which may be required to 289 remain running throughout the duration of the application, 290 others which might come and go. The sysApplInstallElmtRole 291 columnar object in the sysApplInstallElmtTable is meant to 292 assist in this task by indicating which elements must be 293 running in order for the application to be running, which 294 elements are dependent on required elements, etc. See the 295 description of sysApplInstallElmtRole for more details. 297 5.2.2. sysApplElmtRunTable and sysApplElmtPastRunTable 299 While the sysApplRunTable and sysApplPastRunTable focus on 300 applications as a whole, the sysApplElmtRunTable and 301 sysApplElmtPastRunTable provide information regarding an 302 application's executable elements, (processes), which are 303 either currently executing or have executed in the past. 305 The sysApplElmtRunTable contains an entry for every process 306 currently running on the host. An entry is created in this 307 table for each process at the time it is started, and will 308 remain in the table until the process terminates. Note that 309 in order to provide complete information on the load on the 310 system, this table lists EVERY running process, not just those 311 processes that are running as part of an identified 312 application. However, when processes terminate, only 313 information from entries corresponding to elements of an 314 identified application are moved to the 315 sysApplElmtPastRunTable. 317 The sysApplElmtPastRunTable maintains a history of instances 318 of processes which have previously executed on the host as 319 part of an application. When a process from the 320 sysApplElmtRunTable terminates, the entry's information is 321 moved to this sysApplElmtPastRunTable provided that the 322 process was part of an identified application. If the process 323 cannot be associated with any 'parent' application, than it is 324 simply removed from the sysApplElmtRunTable. This allows for 325 processes like 'ps' or 'grep' to show up in the 326 sysApplElmtRunTable, (where they are consuming resources and 327 are thus, "interesting"), but not in the 328 sysApplElmtPastRunTable. 330 Because the sysApplElmtPastRunTable will continuously grow as 331 processes are executed and terminate, two scalars are defined 332 to control the aging-out of table entries. The value of 333 sysApplElmtPastRunMaxRows specifies the maximum number of 334 entries the table may contain, while the 335 sysApplElmtPastRunTblTimeLimit specifies the maximum age of 336 the table entries. Oldest entries are removed first. 338 5.3. System Application Map Group 340 The Map group contains a single table, the sysApplMapTable, 341 whose sole purpose is to provide a backwards mapping for 342 determining the invoked application, installed element, and 343 installed application package given a known process 344 identification number. 346 6. Definitions 348 SYSAPPL-MIB DEFINITIONS ::= BEGIN 350 IMPORTS 351 MODULE-IDENTITY, OBJECT-TYPE, 352 Unsigned32, TimeTicks, Counter32, Gauge32 353 FROM SNMPv2-SMI 354 DateAndTime, TEXTUAL-CONVENTION 355 FROM SNMPv2-TC 356 MODULE-COMPLIANCE, OBJECT-GROUP 357 FROM SNMPv2-CONF 358 mib-2 FROM RFC1213-MIB; 360 -- System Application MIB 362 sysApplMIB MODULE-IDENTITY 363 LAST-UPDATED "9704150000Z" 364 ORGANIZATION "IETF Applications MIB Working Group" 365 CONTACT-INFO 366 "Cheryl Krupczak (Editor, WG Advisor) 367 Postal: Empire Technologies, Inc. 368 541 Tenth Street NW 369 Suite 169 370 Atlanta, GA 30318 371 USA 372 Phone: (770) 384-0184 373 Email: cheryl@empiretech.com 375 Jon Saperia (WG Chair) 376 Postal: BGS Systems, Inc. 377 One First Avenue 378 Waltham, MA 02254-9111 379 USA 380 Phone: (617) 891-0000 381 Email: saperia@networks.bgs.com" 382 DESCRIPTION 383 "The MIB module defines management objects that model 384 applications as collections of executables and files 385 installed and executing on a host system. The MIB 386 presents a system-level view of applications; i.e., 387 objects in this MIB are limited to those attributes 388 that can typically be obtained from the system itself 389 without adding special instrumentation to the applications." 390 ::= { mib-2 9999 } 392 sysApplOBJ OBJECT IDENTIFIER ::= { sysApplMIB 1 } 393 sysApplInstalled OBJECT IDENTIFIER ::= { sysApplOBJ 1 } 394 sysApplRun OBJECT IDENTIFIER ::= { sysApplOBJ 2 } 395 sysApplMap OBJECT IDENTIFIER ::= { sysApplOBJ 3 } 396 sysApplNotifications OBJECT IDENTIFIER ::= { sysApplMIB 2 } 397 sysApplConformance OBJECT IDENTIFIER ::= { sysApplMIB 3 } 399 -- Textual Conventions 401 RunState ::= TEXTUAL-CONVENTION 402 STATUS current 403 DESCRIPTION 404 "This TC describes the current execution state of 405 a running application or process." 406 SYNTAX INTEGER { 407 running (1), 408 runnable (2), -- waiting for resource (CPU, etc.) 409 waiting (3), -- waiting for event 410 exiting (4), 411 other (5) -- other invalid state 412 } 414 LongUtf8String ::= TEXTUAL-CONVENTION 415 DISPLAY-HINT "1024a" 416 STATUS current 417 DESCRIPTION 418 "To facilitate internationalization, this TC 419 represents information taken from the ISO/IEC IS 420 10646-1 character set, encoded as an octet string 421 using the UTF-8 character encoding scheme described 422 in RFC 2044 [10]. For strings in 7-bit US-ASCII, 423 there is no impact since the UTF-8 representation 424 is identical to the US-ASCII encoding." 425 SYNTAX OCTET STRING (SIZE (0..1024)) 427 Utf8String ::= TEXTUAL-CONVENTION 428 DISPLAY-HINT "255a" 429 STATUS current 430 DESCRIPTION 431 "To facilitate internationalization, this TC 432 represents information taken from the ISO/IEC IS 433 10646-1 character set, encoded as an octet string 434 using the UTF-8 character encoding scheme described 435 in RFC 2044 [10]. For strings in 7-bit US-ASCII, 436 there is no impact since the UTF-8 representation 437 is identical to the US-ASCII encoding." 438 SYNTAX OCTET STRING (SIZE (0..255)) 440 -- sysApplInstalled Group 441 -- This group provides information about application packages 442 -- that have been installed on the host computer. The group 443 -- contains two tables. The first, the sysApplInstallPkgTable, 444 -- describes the application packages, the second, the 445 -- sysApplInstallElmtTable, describes the constituent elements 446 -- (files and executables) which compose an application package. 447 -- 448 -- In order to appear in this group, an application and its 449 -- component files must be discoverable by the system itself, 450 -- possibly through some type of software installation mechanism 451 -- or registry. 453 -- sysApplInstallPkgTable 454 -- The system installed application packages table provides 455 -- information on the software packages installed on a system. 456 -- These packages may consist of many different files including 457 -- executable and non-executable files. 459 sysApplInstallPkgTable OBJECT-TYPE 460 SYNTAX SEQUENCE OF SysApplInstallPkgEntry 461 MAX-ACCESS not-accessible 462 STATUS current 463 DESCRIPTION 464 "The table listing the software application packages 465 installed on a host computer. In order to appear in 466 this table, it may be necessary for the application 467 to be installed using some type of software 468 installation mechanism or global registry so that its 469 existence can be detected by the agent implementation." 470 ::= { sysApplInstalled 1 } 472 sysApplInstallPkgEntry OBJECT-TYPE 473 SYNTAX SysApplInstallPkgEntry 474 MAX-ACCESS not-accessible 475 STATUS current 476 DESCRIPTION 477 "The logical row describing an installed application 478 package." 479 INDEX { sysApplInstallPkgIndex } 480 ::= { sysApplInstallPkgTable 1 } 482 SysApplInstallPkgEntry ::= SEQUENCE { 483 sysApplInstallPkgIndex Unsigned32, 484 sysApplInstallPkgManufacturer Utf8String, 485 sysApplInstallPkgProductName Utf8String, 486 sysApplInstallPkgVersion Utf8String, 487 sysApplInstallPkgSerialNumber Utf8String, 488 sysApplInstallPkgDate DateAndTime, 489 sysApplInstallPkgLocation LongUtf8String 490 } 492 sysApplInstallPkgIndex OBJECT-TYPE 493 SYNTAX Unsigned32 (1..'ffffffff'h) 494 MAX-ACCESS not-accessible 495 STATUS current 496 DESCRIPTION 497 "An integer used only for indexing purposes. 498 Generally monotonically increasing from 1 as new 499 applications are installed. 501 The value for each installed application must 502 remain constant at least from one re-initialization of 503 the network management entity which implements this 504 MIB module to the next re-initialization. 506 The specific value is meaningful only within a given SNMP 507 entity. A sysApplInstallPkgIndex value must not be re-used 508 until the next agent entity restart in the event the 509 installed application entry is deleted." 510 ::= { sysApplInstallPkgEntry 1 } 512 sysApplInstallPkgManufacturer OBJECT-TYPE 513 SYNTAX Utf8String 514 MAX-ACCESS read-only 515 STATUS current 516 DESCRIPTION 517 "The Manufacturer of the software application package." 518 ::= { sysApplInstallPkgEntry 2 } 520 sysApplInstallPkgProductName OBJECT-TYPE 521 SYNTAX Utf8String 522 MAX-ACCESS read-only 523 STATUS current 524 DESCRIPTION 525 "The name provided to the software application package 526 by the Manufacturer." 527 ::= { sysApplInstallPkgEntry 3 } 529 sysApplInstallPkgVersion OBJECT-TYPE 530 SYNTAX Utf8String 531 MAX-ACCESS read-only 532 STATUS current 533 DESCRIPTION 534 "The version number assigned to the application package 535 by the manufacturer of the software." 536 ::= { sysApplInstallPkgEntry 4 } 538 sysApplInstallPkgSerialNumber OBJECT-TYPE 539 SYNTAX Utf8String 540 MAX-ACCESS read-only 541 STATUS current 542 DESCRIPTION 543 "The serial number of the software assigned by the 544 manufacturer." 545 ::= { sysApplInstallPkgEntry 5 } 547 sysApplInstallPkgDate OBJECT-TYPE 548 SYNTAX DateAndTime 549 MAX-ACCESS read-only 550 STATUS current 551 DESCRIPTION 552 "The date and time this software application was installed 553 on the host." 554 ::= { sysApplInstallPkgEntry 6 } 556 sysApplInstallPkgLocation OBJECT-TYPE 557 SYNTAX LongUtf8String 558 MAX-ACCESS read-only 559 STATUS current 560 DESCRIPTION 561 "The complete path name where the application package 562 is installed. For example, the value would be 563 '/opt/MyapplDir' if the application package was installed 564 in the /opt/MyapplDir directory." 565 ::= { sysApplInstallPkgEntry 7 } 567 -- sysApplInstallElmtTable 568 -- The table describing the individual application package 569 -- elements (files and executables) installed on the host computer. 571 sysApplInstallElmtTable OBJECT-TYPE 572 SYNTAX SEQUENCE OF SysApplInstallElmtEntry 573 MAX-ACCESS not-accessible 574 STATUS current 575 DESCRIPTION 576 "This table details the individual application package 577 elements (files and executables) which comprise the 578 applications defined in the sysApplInstallPkg Table. 579 Each entry in this table has an index to the 580 sysApplInstallPkg table to identify the application 581 package of which it is a part. As a result, there may 582 be many entries in this table for each instance in the 583 sysApplInstallPkg Table. 585 Table entries are indexed by sysApplInstallPkgIndex, 586 sysApplInstallElmtIndex to facilitate retrieval of 587 all elements associated with a particular installed 588 application package." 589 ::= { sysApplInstalled 2 } 591 sysApplInstallElmtEntry OBJECT-TYPE 592 SYNTAX SysApplInstallElmtEntry 593 MAX-ACCESS not-accessible 594 STATUS current 595 DESCRIPTION 596 "The logical row describing an element of an installed 597 application. The element may be an executable or 598 non-executable file." 599 INDEX {sysApplInstallPkgIndex, sysApplInstallElmtIndex} 600 ::= { sysApplInstallElmtTable 1 } 602 SysApplInstallElmtEntry ::= SEQUENCE { 603 sysApplInstallElmtIndex Unsigned32, 604 sysApplInstallElmtName Utf8String, 605 sysApplInstallElmtType INTEGER, 606 sysApplInstallElmtDate DateAndTime, 607 sysApplInstallElmtPath LongUtf8String, 608 sysApplInstallElmtSizeHigh Unsigned32, 609 sysApplInstallElmtSizeLow Unsigned32, 610 sysApplInstallElmtRole BITS, 611 sysApplInstallElmtModifyDate DateAndTime, 612 sysApplInstallElmtCurSizeHigh Unsigned32, 613 sysApplInstallElmtCurSizeLow Unsigned32 615 } 617 sysApplInstallElmtIndex OBJECT-TYPE 618 SYNTAX Unsigned32 (1..'ffffffff'h) 619 MAX-ACCESS not-accessible 620 STATUS current 621 DESCRIPTION 622 "An arbitrary integer used for indexing. The value 623 of this index is unique among all rows in this table 624 that exist or have existed since the last agent restart." 625 ::= { sysApplInstallElmtEntry 1 } 627 sysApplInstallElmtName OBJECT-TYPE 628 SYNTAX Utf8String 629 MAX-ACCESS read-only 630 STATUS current 631 DESCRIPTION 632 "The name of this element which is contained in the 633 application." 634 ::= { sysApplInstallElmtEntry 2 } 636 sysApplInstallElmtType OBJECT-TYPE 637 SYNTAX INTEGER { 638 unknown(1), 639 nonexecutable(2), 640 operatingSystem(3), -- executable 641 deviceDriver(4), -- executable 642 application(5) -- executable 643 } 644 MAX-ACCESS read-only 645 STATUS current 646 DESCRIPTION 647 "The type of element that is part of the installed 648 application." 649 ::= { sysApplInstallElmtEntry 3 } 651 sysApplInstallElmtDate OBJECT-TYPE 652 SYNTAX DateAndTime 653 MAX-ACCESS read-only 654 STATUS current 655 DESCRIPTION 656 "The date and time that this component was installed on 657 the system." 658 ::= { sysApplInstallElmtEntry 4 } 660 sysApplInstallElmtPath OBJECT-TYPE 661 SYNTAX LongUtf8String 662 MAX-ACCESS read-only 663 STATUS current 664 DESCRIPTION 665 "The full directory path where this element is installed. 666 For example, the value would be '/opt/EMPuma/bin' for an 667 element installed in the directory '/opt/EMPuma/bin'." 668 ::= { sysApplInstallElmtEntry 5} 670 sysApplInstallElmtSizeHigh OBJECT-TYPE 671 SYNTAX Unsigned32 672 MAX-ACCESS read-only 673 STATUS current 674 DESCRIPTION 675 "The installed file size in 2^32 byte blocks. This is 676 the size of the file on disk immediately after installation. 678 For example, for a file with a total size of 4,294,967,296 679 bytes, this variable would have a value of 1; for a file 680 with a total size of 4,294,967,295 bytes this variable 681 would be 0." 682 ::= { sysApplInstallElmtEntry 6 } 684 sysApplInstallElmtSizeLow OBJECT-TYPE 685 SYNTAX Unsigned32 686 MAX-ACCESS read-only 687 STATUS current 688 DESCRIPTION 689 "The installed file size modulo 2^32 bytes. This is 690 the size of the file on disk immediately after installation. 692 For example, for a file with a total size of 4,294,967,296 693 bytes this variable would have a value of 0; for a file with 694 a total size of 4,294,967,295 bytes this variable would be 695 4,294,967,295." 696 ::= { sysApplInstallElmtEntry 7 } 698 sysApplInstallElmtRole OBJECT-TYPE 699 SYNTAX BITS { 700 executable(0), 701 -- An application may have one or 702 -- more executable elements. The rest of the 703 -- bits have no meaning if the element is not 704 -- executable. 705 exclusive(1), 706 -- Only one copy of an exclusive element may be 707 -- running per invocation of the running 708 -- application. 709 primary(2), 710 -- The primary executable. The execution of 711 -- this element constitutes an invocation of 712 -- the application. This is used by the agent 713 -- implementation to determine the initiation of 714 -- an application. 715 required(3), 716 -- An application may have zero or more required 717 -- elements. All required elements must be running 718 -- in order for the application to be judged to be 719 -- running and healthy. 720 dependent(4), 721 -- An application may have zero or more 722 -- dependent elements. Dependent elements may 723 -- not be running unless required elements are. 724 unknown(5) 725 -- Default value for the case when an operator 726 -- has not yet assigned one of the other values. 727 -- When set, bits 1, 2, 3, and 4 have no meaning. 728 } 729 MAX-ACCESS read-write 730 STATUS current 731 DESCRIPTION 732 "An operator assigned value used in the determination of 733 application status. This value is used by the agent to 734 determine both the mapping of started processes to the 735 initiation of an application, as well as to allow for a 736 determination of application health. The default value, 737 unknown(5), is used when an operator has not yet assigned 738 one of the other values. If unknown(5) is set, bits 739 1 - 4 have no meaning." 740 DEFVAL { { unknown } } 741 ::= { sysApplInstallElmtEntry 8 } 743 sysApplInstallElmtModifyDate OBJECT-TYPE 744 SYNTAX DateAndTime 745 MAX-ACCESS read-only 746 STATUS current 747 DESCRIPTION 748 "The date and time that this element was last modified. 749 Modification of the sysApplInstallElmtRole columnar 750 object does NOT constitute a modification of the element 751 itself and should not affect the value of this object." 752 ::= { sysApplInstallElmtEntry 9 } 754 sysApplInstallElmtCurSizeHigh OBJECT-TYPE 755 SYNTAX Unsigned32 756 MAX-ACCESS read-only 757 STATUS current 758 DESCRIPTION 759 "The current file size in 2^32 byte blocks. 760 For example, for a file with a total size of 4,294,967,296 761 bytes, this variable would have a value of 1; for a file 762 with a total size of 4,294,967,295 bytes this variable 763 would be 0." 764 ::= { sysApplInstallElmtEntry 10 } 766 sysApplInstallElmtCurSizeLow OBJECT-TYPE 767 SYNTAX Unsigned32 768 MAX-ACCESS read-only 769 STATUS current 770 DESCRIPTION 771 "The current file size modulo 2^32 bytes. 772 For example, for a file with a total size of 4,294,967,296 773 bytes this variable would have a value of 0; for a file with 774 a total size of 4,294,967,295 bytes this variable would be 775 4,294,967,295." 776 ::= { sysApplInstallElmtEntry 11 } 778 -- sysApplRun Group 779 -- This group models activity information for applications 780 -- that have been invoked and are either currently running, 781 -- or have previously run on the host system. Likewise, 782 -- the individual elements of an invoked application are 783 -- also modeled to show currently running processes, and 784 -- processes that have run in the past. 786 -- sysApplRunTable 787 -- The sysApplRunTable contains the application instances 788 -- which are currently running on the host. Since a single 789 -- application might be invoked multiple times, an entry is 790 -- added to this table for each INVOCATION of an application. 791 -- The table is indexed by sysApplInstallPkgIndex, sysApplRunIndex 792 -- to enable managers to easily locate all invocations of 793 -- a particular application package. 795 sysApplRunTable OBJECT-TYPE 796 SYNTAX SEQUENCE OF SysApplRunEntry 797 MAX-ACCESS not-accessible 798 STATUS current 799 DESCRIPTION 800 "The table describes the applications which are executing 801 on the host. Each time an application is invoked, 802 an entry is created in this table. When an application ends, 803 the entry is removed from this table and a corresponding 804 entry is created in the SysApplPastRunTable. 806 The table is indexed by sysApplInstallPkgIndex, 807 sysApplRunIndex to enable managers to easily locate all 808 invocations of a particular application package." 809 ::= { sysApplRun 1 } 811 sysApplRunEntry OBJECT-TYPE 812 SYNTAX SysApplRunEntry 813 MAX-ACCESS not-accessible 814 STATUS current 815 DESCRIPTION 816 "The logical row describing an application which is 817 currently running on this host." 818 INDEX { sysApplInstallPkgIndex, sysApplRunIndex } 819 ::= { sysApplRunTable 1 } 821 SysApplRunEntry ::= SEQUENCE { 822 sysApplRunIndex Unsigned32, 823 sysApplRunStarted DateAndTime, 824 sysApplRunCurrentState RunState 825 } 827 sysApplRunIndex OBJECT-TYPE 828 SYNTAX Unsigned32 (1..'ffffffff'h) 829 MAX-ACCESS not-accessible 830 STATUS current 831 DESCRIPTION 832 "Part of the index for this table. An arbitrary 833 integer used only for indexing purposes. Generally 834 monotonically increasing from 1 as new applications are 835 started on the host, it uniquely identifies application 836 invocations. 838 The numbering for this index increases by 1 for each 839 INVOCATION of an application, regardless of which 840 installed application package this entry represents a 841 running instance of. 843 An example of the indexing for a couple of entries is 844 shown below. 846 : 847 sysApplRunStarted.17.14 848 sysApplRunStarted.17.63 849 sysApplRunStarted.18.13 850 : 852 In this example, the agent has observed 12 application 853 invocations when the application represented by entry 18 854 in the sysApplInstallPkgTable is invoked. The next 855 invocation detected by the agent is an invocation of 856 installed application package 17. Some time later, 857 installed application 17 is invoked a second time. 859 NOTE: this index is not intended to reflect a real-time 860 (wall clock time) ordering of application invocations; 861 it is merely intended to uniquely identify running 862 instances of applications. Although the 863 sysApplInstallPkgIndex is included in the INDEX clause 864 for this table, it serves only to ease searching of 865 this table by installed application and does not 866 contribute to uniquely identifying table entries." 867 ::= { sysApplRunEntry 1 } 869 sysApplRunStarted OBJECT-TYPE 870 SYNTAX DateAndTime 871 MAX-ACCESS read-only 872 STATUS current 873 DESCRIPTION 874 "The date and time that the application was started." 875 ::= { sysApplRunEntry 2 } 877 sysApplRunCurrentState OBJECT-TYPE 878 SYNTAX RunState 879 MAX-ACCESS read-only 880 STATUS current 881 DESCRIPTION 882 "The current state of the running application. The 883 possible values are running(1), runnable(2) but waiting 884 for a resource such as CPU, waiting(3) for an event, 885 exiting(4), or other(5)." 886 ::= { sysApplRunEntry 3 } 888 -- sysApplPastRunTable 889 -- The sysApplPastRunTable provides a history of applications 890 -- previously run on the host computer. Entries are removed from 891 -- the sysApplRunTable and corresponding entries are added to this 892 -- table when an application becomes inactive. Entries remain in 893 -- this table until they are aged out when either the table size 894 -- reaches a maximum as determined by the sysApplPastRunMaxRows, 895 -- or when an entry has aged to exceed a time limit as set be 896 -- sysApplPastRunTblTimeLimit. 897 -- 898 -- When aging out entries, the oldest entry, as determined by 899 -- the value of sysApplPastRunTimeEnded, will be removed first. 901 sysApplPastRunTable OBJECT-TYPE 902 SYNTAX SEQUENCE OF SysApplPastRunEntry 903 MAX-ACCESS not-accessible 904 STATUS current 905 DESCRIPTION 906 "A history of the applications that have previously run 907 on the host computer. An entry's information is moved to 908 this table from the sysApplRunTable when the invoked 909 application represented by the entry ceases to be running. 911 Entries remain in this table until they are aged out when 912 either the table size reaches a maximum as determined by 913 the sysApplPastRunMaxRows, or when an entry has aged to 914 exceed a time limit as set by sysApplPastRunTblTimeLimit. 916 Entries in this table are indexed by sysApplInstallPkgIndex, 917 sysApplPastRunIndex to facilitate retrieval of all past 918 run invocations of a particular installed application." 919 ::= { sysApplRun 2 } 921 sysApplPastRunEntry OBJECT-TYPE 922 SYNTAX SysApplPastRunEntry 923 MAX-ACCESS not-accessible 924 STATUS current 925 DESCRIPTION 926 "The logical row describing an invocation of an application 927 which was previously run and has terminated. The entry 928 is basically copied from the sysApplRunTable when the 929 application instance terminates. Hence, the entry's 930 value for sysApplPastRunIndex is the same as its value was 931 for sysApplRunIndex." 932 INDEX { sysApplInstallPkgIndex, sysApplPastRunIndex } 933 ::= { sysApplPastRunTable 1 } 935 SysApplPastRunEntry ::= SEQUENCE { 936 sysApplPastRunIndex Unsigned32, 937 sysApplPastRunStarted DateAndTime, 938 sysApplPastRunExitState INTEGER, 939 sysApplPastRunTimeEnded DateAndTime 940 } 942 sysApplPastRunIndex OBJECT-TYPE 943 SYNTAX Unsigned32 (1..'ffffffff'h) 944 MAX-ACCESS not-accessible 945 STATUS current 946 DESCRIPTION 947 "Part of the index for this table. An integer 948 matching the value of the removed sysApplRunIndex 949 corresponding to this row." 950 ::= { sysApplPastRunEntry 1 } 952 sysApplPastRunStarted OBJECT-TYPE 953 SYNTAX DateAndTime 954 MAX-ACCESS read-only 955 STATUS current 956 DESCRIPTION 957 "The date and time that the application was started." 958 ::= { sysApplPastRunEntry 2 } 960 sysApplPastRunExitState OBJECT-TYPE 961 SYNTAX INTEGER { 962 complete (1), -- normal exit at sysApplRunTimeEnded 963 failed (2), -- abnormal exit 964 other (3) 965 } 967 MAX-ACCESS read-only 968 STATUS current 969 DESCRIPTION 970 "The state of the application instance when it terminated." 971 ::= { sysApplPastRunEntry 3 } 973 sysApplPastRunTimeEnded OBJECT-TYPE 974 SYNTAX DateAndTime 975 MAX-ACCESS read-only 976 STATUS current 977 DESCRIPTION 978 "The DateAndTime the application instance was determined 979 to be no longer running." 980 ::= { sysApplPastRunEntry 4 } 982 -- sysApplElmtRunTable 983 -- The sysApplElmtRunTable contains an entry for each process that 984 -- is currently running on the host. An entry is created in 985 -- this table for each process at the time it is started, and will 986 -- remain in the table until the process terminates. 987 -- 988 -- The table is indexed by sysApplElmtRunInstallPkg, 989 -- sysApplElmtRunInvocID, and sysApplElmtRunIndex to make it easy 990 -- to locate all running elements of a particular invoked application 991 -- which has been installed on the system. 993 sysApplElmtRunTable OBJECT-TYPE 994 SYNTAX SEQUENCE OF SysApplElmtRunEntry 995 MAX-ACCESS not-accessible 996 STATUS current 997 DESCRIPTION 998 "The table describes the processes which are 999 currently executing on the host system. Each entry 1000 represents a running process and is associated with 1001 the invoked application of which that process is a part, if 1002 possible. This table contains an entry for every process 1003 currently running on the system, regardless of whether its 1004 'parent' application can be determined. So, for example, 1005 processes like 'ps' and 'grep' will have entries though they 1006 are not associated with an installed application package. 1008 Because a running application may involve 1009 more than one executable, it is possible to have 1010 multiple entries in this table for each application. 1012 Entries are removed from this table when the process 1013 terminates. 1015 The table is indexed by sysApplElmtRunInstallPkg, 1016 sysApplElmtRunInvocID, and sysApplElmtRunIndex to 1017 facilitate the retrieval of all running elements of a 1018 particular invoked application which has been installed on 1019 the system." 1020 ::= { sysApplRun 3 } 1022 sysApplElmtRunEntry OBJECT-TYPE 1023 SYNTAX SysApplElmtRunEntry 1024 MAX-ACCESS not-accessible 1025 STATUS current 1026 DESCRIPTION 1027 "The logical row describing a process currently 1028 running on this host. When possible, the entry is 1029 associated with the invoked application of which it 1030 is a part." 1031 INDEX { sysApplElmtRunInstallPkg, sysApplElmtRunInvocID, 1032 sysApplElmtRunIndex } 1033 ::= { sysApplElmtRunTable 1 } 1035 SysApplElmtRunEntry ::= SEQUENCE { 1036 sysApplElmtRunInstallPkg Unsigned32, 1037 sysApplElmtRunInvocID Unsigned32, 1038 sysApplElmtRunIndex Unsigned32, 1039 sysApplElmtRunInstallID Unsigned32, 1040 sysApplElmtRunTimeStarted DateAndTime, 1041 sysApplElmtRunState RunState, 1042 sysApplElmtRunName LongUtf8String, 1043 sysApplElmtRunParameters Utf8String, 1044 sysApplElmtRunCPU TimeTicks, 1045 sysApplElmtRunMemory Gauge32, 1046 sysApplElmtRunNumFiles Gauge32, 1047 sysApplElmtRunUser Utf8String 1048 } 1050 sysApplElmtRunInstallPkg OBJECT-TYPE 1051 SYNTAX Unsigned32 (0..'ffffffff'h) 1052 MAX-ACCESS not-accessible 1053 STATUS current 1054 DESCRIPTION 1055 "Part of the index for this table, this value 1056 identifies the installed software package for 1057 the application of which this process is a part. 1058 Provided that the process's 'parent' application can be 1059 determined, the value of this object is the same 1060 value as the sysApplInstallPkgIndex for the 1061 entry in the sysApplInstallPkgTable that corresponds 1062 to the installed application of which this process 1063 is a part. 1065 If, however, the 'parent' application cannot be 1066 determined, (for example the process is not part 1067 of a particular installed application), the value 1068 for this object is then '0', signifying that this 1069 process cannot be related back to an application, 1070 and in turn, an installed software package." 1071 ::= { sysApplElmtRunEntry 1 } 1073 sysApplElmtRunInvocID OBJECT-TYPE 1074 SYNTAX Unsigned32 (0..'ffffffff'h) 1075 MAX-ACCESS not-accessible 1076 STATUS current 1077 DESCRIPTION 1078 "Part of the index for this table, this value 1079 identifies the invocation of an application of which 1080 this process is a part. Provided that the 'parent' 1081 application can be determined, the value of this object 1082 is the same value as the sysApplRunIndex for the 1083 corresponding application invocation in the 1084 sysApplRunTable. 1086 If, however, the 'parent' application cannot be 1087 determined, the value for this object is then '0', 1088 signifying that this process cannot be related back 1089 to an invocation of an application in the 1090 sysApplRunTable." 1091 ::= { sysApplElmtRunEntry 2 } 1093 sysApplElmtRunIndex OBJECT-TYPE 1094 SYNTAX Unsigned32 (0..'ffffffff'h) 1095 MAX-ACCESS not-accessible 1096 STATUS current 1097 DESCRIPTION 1098 "Part of the index for this table. A unique value 1099 for each process running on the host. Wherever 1100 possible, this should be the system's native, unique 1101 identification number." 1103 ::= { sysApplElmtRunEntry 3 } 1105 sysApplElmtRunInstallID OBJECT-TYPE 1106 SYNTAX Unsigned32 (0..'ffffffff'h) 1107 MAX-ACCESS read-only 1108 STATUS current 1109 DESCRIPTION 1110 "The index into the sysApplInstallElmtTable. The 1111 value of this object is the same value as the 1112 sysApplInstallElmtIndex for the application element 1113 of which this entry represents a running instance. 1114 If this process cannot be associated to an installed 1115 executable, the value should be '0'." 1116 ::= { sysApplElmtRunEntry 4 } 1118 sysApplElmtRunTimeStarted OBJECT-TYPE 1119 SYNTAX DateAndTime 1120 MAX-ACCESS read-only 1121 STATUS current 1122 DESCRIPTION 1123 "The time the process was started." 1124 ::= { sysApplElmtRunEntry 5 } 1126 sysApplElmtRunState OBJECT-TYPE 1127 SYNTAX RunState 1128 MAX-ACCESS read-only 1129 STATUS current 1130 DESCRIPTION 1131 "The current state of the running process. The 1132 possible values are running(1), runnable(2) but waiting 1133 for a resource such as CPU, waiting(3) for an event, 1134 exiting(4), or other(5)." 1135 ::= { sysApplElmtRunEntry 6 } 1137 sysApplElmtRunName OBJECT-TYPE 1138 SYNTAX LongUtf8String 1139 MAX-ACCESS read-only 1140 STATUS current 1141 DESCRIPTION 1142 "The full path and filename of the process. 1143 For example, '/opt/MYYpkg/bin/myyproc' would 1144 be returned for process 'myyproc' whose execution 1145 path is '/opt/MYYpkg/bin/myyproc'." 1146 ::= { sysApplElmtRunEntry 7 } 1148 sysApplElmtRunParameters OBJECT-TYPE 1149 SYNTAX Utf8String 1150 MAX-ACCESS read-only 1151 STATUS current 1152 DESCRIPTION 1153 "The starting parameters for the process." 1154 ::= { sysApplElmtRunEntry 8 } 1156 sysApplElmtRunCPU OBJECT-TYPE 1157 SYNTAX TimeTicks 1158 MAX-ACCESS read-only 1159 STATUS current 1160 DESCRIPTION 1161 "The number of centi-seconds of the total system's 1162 CPU resources consumed by this process. Note that 1163 on a multi-processor system, this value may 1164 have been incremented by more than one centi-second 1165 in one centi-second of real (wall clock) time." 1166 ::= { sysApplElmtRunEntry 9 } 1168 sysApplElmtRunMemory OBJECT-TYPE 1169 SYNTAX Gauge32 1170 UNITS "Kbytes" 1171 MAX-ACCESS read-only 1172 STATUS current 1173 DESCRIPTION 1174 "The total amount of real system memory measured in 1175 Kbytes currently allocated to this process." 1176 ::= { sysApplElmtRunEntry 10 } 1178 sysApplElmtRunNumFiles OBJECT-TYPE 1179 SYNTAX Gauge32 1180 MAX-ACCESS read-only 1181 STATUS current 1182 DESCRIPTION 1183 "The number of files currently open by the 1184 process. Transport connections (sockets) 1185 should NOT be included in the calculation of 1186 this value." 1187 ::= { sysApplElmtRunEntry 11 } 1189 sysApplElmtRunUser OBJECT-TYPE 1190 SYNTAX Utf8String 1191 MAX-ACCESS read-only 1192 STATUS current 1193 DESCRIPTION 1194 "The process owner's login name (e.g. root)." 1195 ::= { sysApplElmtRunEntry 12 } 1197 -- sysApplElmtPastRunTable 1198 -- The sysApplElmtPastRunTable maintains a history of 1199 -- processes which have previously executed on 1200 -- the host as part of an application. Upon termination 1201 -- of a process, the entry representing the process is removed from 1202 -- the sysApplElmtRunTable and a corresponding entry is created in 1203 -- this table provided that the process was part of an 1204 -- identifiable application. If the process could not be associated 1205 -- with an invoked application, no corresponding entry is created. 1206 -- Hence, whereas the sysApplElmtRunTable contains an entry for 1207 -- every process currently executing on the system, the 1208 -- sysApplElmtPastRunTable only contains entries for processes 1209 -- that previously executed as part of an invoked application. 1210 -- 1211 -- Entries remain in this table until they are aged out when 1212 -- either the number of entries in the table reaches a 1213 -- maximum as determined by sysApplElmtPastRunMaxRows, or 1214 -- when an entry has aged to exceed a time limit as set by 1215 -- sysApplElmtPastRunTblTimeLimit. When aging out entries, 1216 -- the oldest entry, as determined by the value of 1217 -- sysApplElmtPastRunTimeEnded, will be removed first. 1218 -- 1219 -- The table is indexed by sysApplInstallPkgIndex (from the 1220 -- sysApplInstallPkgTable), sysApplElmtPastRunInvocID, and 1221 -- sysApplElmtPastRunIndex to make it easy to locate all 1222 -- previously executed processes of a particular invoked application 1223 -- that has been installed on the system. 1225 sysApplElmtPastRunTable OBJECT-TYPE 1226 SYNTAX SEQUENCE OF SysApplElmtPastRunEntry 1227 MAX-ACCESS not-accessible 1228 STATUS current 1229 DESCRIPTION 1230 "The table describes the processes which have previously 1231 executed on the host system as part of an application. 1232 Each entry represents a process which has previously 1233 executed and is associated with the invoked application 1234 of which it was a part. Because an invoked application 1235 may involve more than one executable, it is possible 1236 to have multiple entries in this table for 1237 each application invocation. Entries are added 1238 to this table when the corresponding process in the 1239 sysApplElmtRun Table terminates. 1241 Entries remain in this table until they are aged out when 1242 either the number of entries in the table reaches a 1243 maximum as determined by sysApplElmtPastRunMaxRows, or 1244 when an entry has aged to exceed a time limit as set by 1245 sysApplElmtPastRunTblTimeLimit. When aging out entries, 1246 the oldest entry, as determined by the value of 1247 sysApplElmtPastRunTimeEnded, will be removed first. 1249 The table is indexed by sysApplInstallPkgIndex (from the 1250 sysApplInstallPkgTable), sysApplElmtPastRunInvocID, 1251 and sysApplElmtPastRunIndex to make it easy to locate all 1252 previously executed processes of a particular invoked 1253 application that has been installed on the system." 1254 ::= { sysApplRun 4 } 1256 sysApplElmtPastRunEntry OBJECT-TYPE 1257 SYNTAX SysApplElmtPastRunEntry 1258 MAX-ACCESS not-accessible 1259 STATUS current 1260 DESCRIPTION 1261 "The logical row describing a process which was 1262 previously executed on this host as part of an 1263 installed application. The entry is basically copied 1264 from the sysApplElmtRunTable when the process 1265 terminates. Hence, the entry's value for 1266 sysApplElmtPastRunIndex is the same as its value 1267 was for sysApplElmtRunIndex. Note carefully: only those 1268 processes which could be associated with an 1269 identified application are included in this table." 1270 INDEX { sysApplInstallPkgIndex, sysApplElmtPastRunInvocID, 1271 sysApplElmtPastRunIndex } 1272 ::= { sysApplElmtPastRunTable 1 } 1274 SysApplElmtPastRunEntry ::= SEQUENCE { 1275 sysApplElmtPastRunInvocID Unsigned32, 1276 sysApplElmtPastRunIndex Unsigned32, 1277 sysApplElmtPastRunInstallID Unsigned32, 1278 sysApplElmtPastRunTimeStarted DateAndTime, 1279 sysApplElmtPastRunTimeEnded DateAndTime, 1280 sysApplElmtPastRunExitState INTEGER, 1281 sysApplElmtPastRunName LongUtf8String, 1282 sysApplElmtPastRunParameters Utf8String, 1283 sysApplElmtPastRunCPU TimeTicks, 1284 sysApplElmtPastRunMemory Unsigned32, 1285 sysApplElmtPastRunNumFiles Unsigned32, 1286 sysApplElmtPastRunUser Utf8String 1287 } 1289 sysApplElmtPastRunInvocID OBJECT-TYPE 1290 SYNTAX Unsigned32 (1..'ffffffff'h) 1291 MAX-ACCESS not-accessible 1292 STATUS current 1293 DESCRIPTION 1294 "Part of the index for this table, this value 1295 identifies the invocation of an application of which 1296 the process represented by this entry was a part. 1297 The value of this object is the same value as the 1298 sysApplRunIndex for the corresponding application 1299 invocation in the sysApplRunTable. If the invoked 1300 application as a whole has terminated, it will be the 1301 same as the sysApplPastRunIndex." 1302 ::= { sysApplElmtPastRunEntry 1 } 1304 sysApplElmtPastRunIndex OBJECT-TYPE 1305 SYNTAX Unsigned32 (0..'ffffffff'h) 1306 MAX-ACCESS not-accessible 1307 STATUS current 1308 DESCRIPTION 1309 "Part of the index for this table. An integer 1310 assigned by the agent equal to the corresponding 1311 sysApplElmtRunIndex which was removed from the 1312 sysApplElmtRunTable and moved to this table 1313 when the element terminated. 1315 Note: entries in this table are indexed by 1316 sysApplElmtPastRunInvocID, sysApplElmtPastRunIndex. 1317 The possibility exists, though unlikely, of a 1318 collision occurring by a new entry which was run 1319 by the same invoked application (InvocID), and 1320 was assigned the same process identification number 1321 (ElmtRunIndex) as an element which was previously 1322 run by the same invoked application. 1324 Should this situation occur, the new entry replaces 1325 the old entry. 1327 See Section: 'Implementation Issues - sysApplElmtPastRunTable 1328 Entry Collisions' for the conditions that would have to occur 1329 in order for a collision to occur." 1330 ::= { sysApplElmtPastRunEntry 2 } 1332 sysApplElmtPastRunInstallID OBJECT-TYPE 1333 SYNTAX Unsigned32 (1..'ffffffff'h) 1334 MAX-ACCESS read-only 1335 STATUS current 1336 DESCRIPTION 1337 "The index into the installed element table. The 1338 value of this object is the same value as the 1339 sysApplInstallElmtIndex for the application element 1340 of which this entry represents a previously executed 1341 process." 1342 ::= { sysApplElmtPastRunEntry 3 } 1344 sysApplElmtPastRunTimeStarted OBJECT-TYPE 1345 SYNTAX DateAndTime 1346 MAX-ACCESS read-only 1347 STATUS current 1348 DESCRIPTION 1349 "The time the process was started." 1350 ::= { sysApplElmtPastRunEntry 4 } 1352 sysApplElmtPastRunTimeEnded OBJECT-TYPE 1353 SYNTAX DateAndTime 1354 MAX-ACCESS read-only 1355 STATUS current 1356 DESCRIPTION 1357 "The time the process ended." 1358 ::= { sysApplElmtPastRunEntry 5 } 1360 sysApplElmtPastRunExitState OBJECT-TYPE 1361 SYNTAX INTEGER { 1362 completed (1), 1363 failed (2), 1364 other (3) 1365 } 1366 MAX-ACCESS read-only 1367 STATUS current 1368 DESCRIPTION 1369 "The state of the process when it exited." 1371 ::= { sysApplElmtPastRunEntry 6 } 1373 sysApplElmtPastRunName OBJECT-TYPE 1374 SYNTAX LongUtf8String 1375 MAX-ACCESS read-only 1376 STATUS current 1377 DESCRIPTION 1378 "The full path and filename of the process. 1379 For example, '/opt/MYYpkg/bin/myyproc' would 1380 be returned for process 'myyproc' whose execution 1381 path was '/opt/MYYpkg/bin/myyproc'." 1382 ::= { sysApplElmtPastRunEntry 7 } 1384 sysApplElmtPastRunParameters OBJECT-TYPE 1385 SYNTAX Utf8String 1386 MAX-ACCESS read-only 1387 STATUS current 1388 DESCRIPTION 1389 "The starting parameters for the process." 1390 ::= { sysApplElmtPastRunEntry 8 } 1392 sysApplElmtPastRunCPU OBJECT-TYPE 1393 SYNTAX TimeTicks 1394 MAX-ACCESS read-only 1395 STATUS current 1396 DESCRIPTION 1397 "The last known number of centi-seconds of the total 1398 system's CPU resources consumed by this process. 1399 Note that on a multi-processor system, this value may 1400 increment by more than one centi-second in one 1401 centi-second of real (wall clock) time." 1402 ::= { sysApplElmtPastRunEntry 9 } 1404 sysApplElmtPastRunMemory OBJECT-TYPE 1405 SYNTAX Unsigned32 (0..'ffffffff'h) 1406 UNITS "Kbytes" 1407 MAX-ACCESS read-only 1408 STATUS current 1409 DESCRIPTION 1410 "The last known total amount of real system memory 1411 measured in Kbytes allocated to this process before it 1412 terminated." 1413 ::= { sysApplElmtPastRunEntry 10 } 1415 sysApplElmtPastRunNumFiles OBJECT-TYPE 1416 SYNTAX Unsigned32 (0..'ffffffff'h) 1417 MAX-ACCESS read-only 1418 STATUS current 1419 DESCRIPTION 1420 "The last known number of files open by the 1421 process before it terminated. Transport 1422 connections (sockets) should NOT be included in 1423 the calculation of this value." 1424 ::= { sysApplElmtPastRunEntry 11 } 1426 sysApplElmtPastRunUser OBJECT-TYPE 1427 SYNTAX Utf8String 1428 MAX-ACCESS read-only 1429 STATUS current 1430 DESCRIPTION 1431 "The process owner's login name (e.g. root)." 1432 ::= { sysApplElmtPastRunEntry 12 } 1434 -- Additional Scalar objects to control table sizes 1436 sysApplPastRunMaxRows OBJECT-TYPE 1437 SYNTAX Unsigned32 (0..'ffffffff'h) 1438 MAX-ACCESS read-write 1439 STATUS current 1440 DESCRIPTION 1441 "The maximum number of entries allowed in the 1442 sysApplPastRunTable. Once the number of rows in 1443 the sysApplPastRunTable reaches this value, the 1444 management subsystem will remove the oldest entry 1445 in the table to make room for the new entry to be added. 1446 Entries will be removed on the basis of oldest 1447 sysApplPastRunTimeEnded value first. 1449 This object may be used to control the amount of 1450 system resources that can used for sysApplPastRunTable 1451 entries. A conforming implementation should attempt 1452 to support the default value, however, a lesser value 1453 may be necessary due to implementation-dependent issues 1454 and resource availability." 1455 DEFVAL { 500 } 1456 ::= { sysApplRun 5 } 1458 sysApplPastRunTableRemItems OBJECT-TYPE 1459 SYNTAX Counter32 1460 MAX-ACCESS read-only 1461 STATUS current 1462 DESCRIPTION 1463 "A counter of the number of entries removed from 1464 the sysApplPastRunTable because of table size limitations 1465 as set in sysApplPastRunMaxRows. This counter is the 1466 number of entries the management subsystem has had to 1467 remove in order to make room for new entries (so as not 1468 to exceed the limit set by sysApplPastRunMaxRows) since 1469 the last initialization of the management subsystem." 1470 ::= { sysApplRun 6 } 1472 sysApplPastRunTblTimeLimit OBJECT-TYPE 1473 SYNTAX Unsigned32 (0..'ffffffff'h) 1474 UNITS "seconds" 1475 MAX-ACCESS read-write 1476 STATUS current 1477 DESCRIPTION 1478 "The maximum time in seconds which an entry in the 1479 sysApplPastRunTable may exist before it is removed. 1480 Any entry that is older than this value will be 1481 removed (aged out) from the table. 1483 Note that an entry may be aged out prior to reaching 1484 this time limit if it is the oldest entry in the 1485 table and must be removed to make space for a new 1486 entry so as to not exceed sysApplPastRunMaxRows." 1487 DEFVAL { 7200 } 1488 ::= { sysApplRun 7 } 1490 sysApplElemPastRunMaxRows OBJECT-TYPE 1491 SYNTAX Unsigned32 (0..'ffffffff'h) 1492 MAX-ACCESS read-write 1493 STATUS current 1494 DESCRIPTION 1495 "The maximum number of entries allowed in the 1496 sysApplElmtPastRunTable. Once the number of rows in 1497 the sysApplElmtPastRunTable reaches this value, 1498 the management subsystem will remove the oldest entry 1499 to make room for the new entry to be added. Entries 1500 will be removed on the basis of oldest 1501 sysApplElmtPastRunTimeEnded value first. 1503 This object may be used to control the amount of 1504 system resources that can used for sysApplElemPastRunTable 1505 entries. A conforming implementation should attempt 1506 to support the default value, however, a lesser value 1507 may be necessary due to implementation-dependent issues 1508 and resource availability." 1509 DEFVAL { 500 } 1510 ::= { sysApplRun 8 } 1512 sysApplElemPastRunTableRemItems OBJECT-TYPE 1513 SYNTAX Counter32 1514 MAX-ACCESS read-only 1515 STATUS current 1516 DESCRIPTION 1517 "A counter of the number of entries removed from the 1518 sysApplElemPastRunTable because of table size limitations 1519 as set in sysApplElemPastRunMaxRows. This counter is the 1520 number of entries the management subsystem has had to 1521 remove in order to make room for new entries (so as not 1522 to exceed the limit set by sysApplElemPastRunMaxRows) since 1523 the last initialization of the management subsystem." 1524 ::= { sysApplRun 9 } 1526 sysApplElemPastRunTblTimeLimit OBJECT-TYPE 1527 SYNTAX Unsigned32 (0..'ffffffff'h) 1528 UNITS "seconds" 1529 MAX-ACCESS read-write 1530 STATUS current 1531 DESCRIPTION 1532 "The maximum time in seconds which an entry in the 1533 sysApplElemPastRunTable may exist before it is removed. 1534 Any entry that is older than this value will be 1535 removed (aged out) from the table. 1537 Note that an entry may be aged out prior to reaching 1538 this time limit if it is the oldest entry in the 1539 table and must be removed to make space for a new 1540 entry so as to not exceed sysApplElemPastRunMaxRows." 1541 DEFVAL { 7200 } 1542 ::= { sysApplRun 10 } 1544 sysApplAgentPollInterval OBJECT-TYPE 1545 SYNTAX Unsigned32 (0..'ffffffff'h) 1546 UNITS "seconds" 1547 MAX-ACCESS read-write 1548 STATUS current 1549 DESCRIPTION 1550 "The minimum interval in seconds that the management 1551 subsystem implementing this MIB will poll the status 1552 of the managed resources. Because of the non-trivial 1553 effort involved in polling the managed resources, 1554 and because the method for obtaining the status of 1555 the managed resources is implementation-dependent, 1556 a conformant implementation may chose a lower bound 1557 greater than 0. 1559 A value of 0 indicates that there is no delay 1560 in the passing of information from the managed 1561 resources to the agent." 1562 DEFVAL { 60 } 1563 ::= { sysApplRun 11 } 1565 -- sysApplMap Group 1566 -- This group contains a table, the sysApplMapTable, 1567 -- whose sole purpose is to provide a 'backwards' 1568 -- mapping so that, given a known sysApplElmtRunIndex 1569 -- (process identification number), the corresponding invoked 1570 -- application (sysApplRunIndex), installed element 1571 -- (sysApplInstallElmtIndex), and installed application 1572 -- package (sysApplInstallPkgIndex) can be quickly determined. 1573 -- 1574 -- The table will contain one entry for each process 1575 -- currently running on the system. 1576 -- 1577 -- A backwards mapping is extremely useful since the tables 1578 -- in this MIB module are typically indexed with the 1579 -- installed application package (sysApplInstallPkgIndex) 1580 -- as the primary key, and on down as required by the 1581 -- specific table, with the process ID number (sysApplElmtRunIndex) 1582 -- being the least significant key. 1583 -- 1584 -- It is expected that management applications will use 1585 -- this mapping table by doing a 'GetNext' operation with 1586 -- the known process ID number (sysApplElmtRunIndex) as the partial 1587 -- instance identifier. Assuming that there is an entry for 1588 -- the process, the result should return a single columnar value, 1589 -- the sysApplMapInstallPkgIndex, with the sysApplElmtRunIndex, 1590 -- sysApplRunIndex, and sysApplInstallElmtIndex contained in the 1591 -- instance identifier for the returned MIB object value. 1592 -- 1593 -- NOTE: if the process can not be associated back to an 1594 -- invoked application installed on the system, than the 1595 -- value returned for the columnar value sysApplMapInstallPkgIndex 1596 -- will be '0' and the instance portion of the object-identifier 1597 -- will be the process ID number (sysApplElmtRunIndex) followed 1598 -- by 0.0. 1600 sysApplMapTable OBJECT-TYPE 1601 SYNTAX SEQUENCE OF SysApplMapEntry 1602 MAX-ACCESS not-accessible 1603 STATUS current 1604 DESCRIPTION 1605 "The sole purpose of this table is to provide a 1606 'backwards' mapping so that, given a known 1607 sysApplElmtRunIndex (process identification number), 1608 the corresponding invoked application (sysApplRunIndex), 1609 installed element (sysApplInstallElmtIndex), and 1610 installed application package (sysApplInstallPkgIndex) 1611 can be quickly determined. 1613 This table will contain one entry for each process 1614 that is currently executing on the system. 1616 It is expected that management applications will use 1617 this mapping table by doing a 'GetNext' operation with 1618 the known process ID number (sysApplElmtRunIndex) as the 1619 partial instance identifier. Assuming that there is an 1620 entry for the process, the result should return a single 1621 columnar value, the sysApplMapInstallPkgIndex, with the 1622 sysApplElmtRunIndex, sysApplRunIndex, and 1623 sysApplInstallElmtIndex contained in the instance identifier 1624 for the returned MIB object value. 1626 NOTE: if the process can not be associated back to an 1627 invoked application installed on the system, than the 1628 value returned for the columnar value 1629 sysApplMapInstallPkgIndex will be '0' and the instance 1630 portion of the object-identifier will be the process ID 1631 number (sysApplElmtRunIndex) followed by 0.0." 1632 ::= { sysApplMap 1 } 1634 sysApplMapEntry OBJECT-TYPE 1635 SYNTAX SysApplMapEntry 1636 MAX-ACCESS not-accessible 1637 STATUS current 1638 DESCRIPTION 1639 "A logical row representing a process currently running 1640 on the system. This entry provides the index mapping from 1641 process identifier, back to the invoked application, 1642 installed element, and finally, the installed application 1643 package. The entry includes only one accessible columnar 1644 object, the sysApplMapInstallPkgIndex, but the 1645 invoked application and installed element can be 1646 determined from the instance identifier since they form 1647 part of the index clause." 1648 INDEX { sysApplElmtRunIndex, sysApplElmtRunInvocID, 1649 sysApplMapInstallElmtIndex } 1650 ::= { sysApplMapTable 1 } 1652 SysApplMapEntry ::= SEQUENCE { 1653 sysApplMapInstallElmtIndex Unsigned32, 1654 sysApplMapInstallPkgIndex Unsigned32 1655 } 1657 sysApplMapInstallElmtIndex OBJECT-TYPE 1658 SYNTAX Unsigned32 (0..'ffffffff'h) 1659 MAX-ACCESS not-accessible 1660 STATUS current 1661 DESCRIPTION 1662 "The index into the sysApplInstallElmtTable. The 1663 value of this object is the same value as the 1664 sysApplInstallElmtIndex for the application element 1665 of which this entry represents a running instance. 1666 If this process cannot be associated to an installed 1667 executable, the value should be '0'." 1668 ::= { sysApplMapEntry 1 } 1670 sysApplMapInstallPkgIndex OBJECT-TYPE 1671 SYNTAX Unsigned32 (0..'ffffffff'h) 1672 MAX-ACCESS read-only 1673 STATUS current 1674 DESCRIPTION 1675 "The value of this object identifies the installed 1676 software package for the application of which this 1677 process is a part. Provided that the process's 'parent' 1678 application can be determined, the value of this object 1679 is the same value as the sysApplInstallPkgIndex for the 1680 entry in the sysApplInstallPkgTable that corresponds 1681 to the installed application of which this process 1682 is a part. 1684 If, however, the 'parent' application cannot be 1685 determined, (for example the process is not part 1686 of a particular installed application), the value 1687 for this object is then '0', signifying that this 1688 process cannot be related back to an application, 1689 and in turn, an installed software package." 1690 ::= { sysApplMapEntry 2 } 1692 -- Conformance Macros 1694 sysApplMIBCompliances OBJECT IDENTIFIER ::= { sysApplConformance 1 } 1695 sysApplMIBGroups OBJECT IDENTIFIER ::= { sysApplConformance 2 } 1697 sysApplMIBCompliance MODULE-COMPLIANCE 1698 STATUS current 1699 DESCRIPTION 1700 "Describes the requirements for conformance to 1701 the System Application MIB" 1702 MODULE -- this module 1703 MANDATORY-GROUPS { sysApplInstalledGroup, 1704 sysApplRunGroup, sysApplMapGroup } 1705 ::= { sysApplMIBCompliances 1 } 1707 sysApplInstalledGroup OBJECT-GROUP 1708 OBJECTS { sysApplInstallPkgManufacturer, 1709 sysApplInstallPkgProductName, 1710 sysApplInstallPkgVersion, 1711 sysApplInstallPkgSerialNumber, 1712 sysApplInstallPkgDate, 1713 sysApplInstallPkgLocation, 1714 sysApplInstallElmtName, 1715 sysApplInstallElmtType, 1716 sysApplInstallElmtDate, 1717 sysApplInstallElmtPath, 1718 sysApplInstallElmtSizeHigh, 1719 sysApplInstallElmtSizeLow, 1720 sysApplInstallElmtRole, 1721 sysApplInstallElmtModifyDate, 1722 sysApplInstallElmtCurSizeHigh, 1723 sysApplInstallElmtCurSizeLow } 1724 STATUS current 1725 DESCRIPTION 1726 "The system application installed group contains 1727 information about applications and their constituent 1728 components which have been installed on the host system." 1729 ::= { sysApplMIBGroups 1 } 1731 sysApplRunGroup OBJECT-GROUP 1732 OBJECTS { sysApplRunStarted, 1733 sysApplRunCurrentState, 1734 sysApplPastRunStarted, 1735 sysApplPastRunExitState, 1736 sysApplPastRunTimeEnded, 1737 sysApplElmtRunInstallID, 1738 sysApplElmtRunTimeStarted, 1739 sysApplElmtRunState, 1740 sysApplElmtRunName, 1741 sysApplElmtRunParameters, 1742 sysApplElmtRunCPU, 1743 sysApplElmtRunMemory, 1744 sysApplElmtRunNumFiles, 1745 sysApplElmtRunUser, 1746 sysApplElmtPastRunInstallID, 1747 sysApplElmtPastRunTimeStarted, 1748 sysApplElmtPastRunTimeEnded, 1749 sysApplElmtPastRunExitState, 1750 sysApplElmtPastRunName, 1751 sysApplElmtPastRunParameters, 1752 sysApplElmtPastRunCPU, 1753 sysApplElmtPastRunMemory, 1754 sysApplElmtPastRunNumFiles, 1755 sysApplElmtPastRunUser, 1756 sysApplPastRunMaxRows, 1757 sysApplPastRunTableRemItems, 1758 sysApplPastRunTblTimeLimit, 1759 sysApplElemPastRunMaxRows, 1760 sysApplElemPastRunTableRemItems, 1761 sysApplElemPastRunTblTimeLimit, 1762 sysApplAgentPollInterval } 1763 STATUS current 1764 DESCRIPTION 1765 "The system application run group contains information 1766 about applications and associated elements which have 1767 run or are currently running on the host system." 1768 ::= { sysApplMIBGroups 2 } 1770 sysApplMapGroup OBJECT-GROUP 1771 OBJECTS { sysApplMapInstallPkgIndex } 1772 STATUS current 1773 DESCRIPTION 1774 "The Map Group contains a single table, sysApplMapTable, 1775 that provides a backwards mapping for determining the 1776 invoked application, installed element, and installed 1777 application package given a known process identification 1778 number." 1779 ::= { sysApplMIBGroups 3 } 1781 END 1783 7. Implementation Issues 1785 This section discusses implementation issues that are 1786 important for both an agent developer, and a management 1787 application developer or user to understand with regards to 1788 this MIB module. Although this section does not attempt to 1789 prescribe a particular implementation strategy, it does 1790 attempt to recognize some of the real world limitations that 1791 could effect an implementation of this MIB module. 1793 7.1. Implementation with Polling Agents 1795 Implementations of the System Application MIB on popular 1796 operating systems might require some considerable processing 1797 power to obtain status information from the managed resources. 1798 It might also be difficult to determine when an application or 1799 a process starts or finishes. Implementors of this MIB might 1800 therefore choose an implementation approach where the agent 1801 polls the managed resources at regular intervals. The 1802 information retrieved by every poll is used to update a cached 1803 version of this MIB maintained inside of the agent. SNMP 1804 request are processed based on the information found in this 1805 MIB cache. 1807 A scalar sysApplAgentPollInterval is defined to give the 1808 manager control over the polling frequency. There is a trade- 1809 off between the amount of resources consumed during every poll 1810 to update the MIB cache, and the accuracy of the information 1811 provided by the System Application MIB agent. A default value 1812 of 60 seconds is defined to keep the processing overhead low, 1813 while providing usable information for long-lived processes. A 1814 manager is expected to adjust this value if more accurate 1815 information about short-lived applications or processes is 1816 needed, or if the amount of resources consumed by the agent is 1817 too high. 1819 7.2. sysApplElmtPastRunTable Entry Collisions 1821 The sysApplElmtPastRunTable maintains a history of processes 1822 which have previously executed on the host as part of an 1823 application. Information is moved from the 1824 sysApplElmtRunTable to this PastRun table when the process 1825 represented by the entry terminates. 1827 The sysApplElmtPastRunTable is indexed by the tuple, 1828 (sysApplElmtPastRunInvocID, sysApplElmtPastRunIndex), where 1829 the first part identifies the application invocation of which 1830 the process was a part, and the second part identifies the 1831 process itself. 1833 Recall that the sysApplElmtRunIndex represents the system's 1834 unique identification number assigned to a running process and 1835 that this value is mapped to sysApplElmtPastRunIndex when the 1836 process terminates and the entry's information is moved from 1837 the sysApplElmtRunTable to the sysApplElmtPastRunTable. Many 1838 systems re-use process ID numbers which are no longer assigned 1839 to running processes; typically, the process numbers wrap and 1840 the next available process number is used. 1842 It is therefore possible for two entries in the 1843 sysApplElmtPastRun Table to have the same value for 1844 sysApplElmtPastRunIndex. For this reason, entries in the 1845 ElmtPastRun table are indexed by the tuple 1846 sysApplElmtPastRunInvocID, sysApplElmtPastRunIndex to reduce 1847 the chance of a collision by two past run elements with the 1848 same sysApplElmtPastRunIndex. 1850 However, it is still possible, though unlikely, for a 1851 collision to occur if the following happens: 1853 1) the invoked application (identified by InvocID), has an 1854 element which runs, terminates, and is moved into the 1855 sysApplElmtPastRun table (index: InvocID, RunIndex) 1857 2) the numbers used for the system's process identification 1858 numbering wrap 1860 3) that same invoked application (same InvocID), has another 1861 element process run, AND that process is assigned the 1862 same identification number as one of the processes 1863 previously run by that invoked application (same 1864 RunIndex), and finally, 1866 4) that element process terminates and is moved to the 1867 sysApplElmtPastRun table prior to the old, duplicate 1868 (InvocID, RunIndex) entry being aged out of the table by 1869 settings defined for sysApplElmtPastRunMaxRows and 1870 sysApplElmtPastRunTblTimeLimit. 1872 In the event that a collision occurs, the new entry will 1873 replace the old entry. 1875 8. Security Considerations 1877 In order to implement this MIB, an agent must make certain 1878 management information available about various logical and 1879 physical entities within a managed system which may be 1880 considered sensitive in some network environments. 1882 Therefore, a network administrator may wish to employ 1883 instance-level access control, and configure the access 1884 mechanism (i.e., community strings in SNMPv1 and SNMPv2C), 1885 such that certain instances within this MIB are excluded from 1886 particular MIB views. 1888 9. Acknowledgements 1890 This document was produced by the Application MIB working 1891 group. Special acknowledgement is made to: 1893 Rick Sturm 1894 Enterprise Management Professional Services, Inc. 1895 sturm@emi-summit.com 1896 For hosting the working group mailing list, and for his 1897 participation in the development of the initial draft. 1899 Jon Weinstock 1900 General Instrument Corporation 1901 jweinstock@gic.gi.com 1902 For his participation in the development of the initial drafts 1903 and for serving as editor for drafts 1 and 2. 1905 The editor would like to extend special thanks to the 1906 following working group members for their contributions 1907 to this effort. 1909 Harald Alvestrand, George Best, Ian Hanson, Harrie 1910 Hazewinkel, Carl Kalbfleisch, Bobby Krupczak, Randy 1911 Presuhn, Jon Saperia, Juergen Schoenwaelder 1913 10. Editor's Address 1915 Cheryl Krupczak 1916 Empire Technologies, Inc. 1917 541 Tenth Street, NW Suite 169 1918 Atlanta, GA 30318 1919 Phone: 770.384.0184 1920 Email: cheryl@empiretech.com 1922 11. References 1924 [1] Information processing systems - Open Systems 1925 Interconnection - Specification of Abstract Syntax 1926 Notation Once (ASN.1), International Organization for 1927 Standardization. International Standard 8824, (December, 1928 1987). 1930 [2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1931 and S. Waldbusser, "Structure of Management Information 1932 for Version 2 of the Simple Network Management Protocol 1933 (SNMPv2)", RFC 1902, January 1996. 1935 [3] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1936 and S. Waldbusser, "Textual Conventions for Version 2 of 1937 the Simple Network Management Protocol (SNMPv2)", RFC 1938 1903, January 1996. 1940 [4] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1941 and S. Waldbusser, "Conformance Statements for Version 2 1942 of the Simple Network Management Protocol (SNMPv2)", RFC 1943 1904, January 1996. 1945 [5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1946 and S. Waldbusser, "Protocol Operations for Version 2 of 1947 the Simple Network Management Protocol (SNMPv2)", RFC 1948 1905, January 1996. 1950 [6] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1951 and S. Waldbusser, "Transport Mappings for SNMPv2", RFC 1952 1906, January 1996. 1954 [7] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1955 and S. Waldbusser, "Management Information Base for 1956 Version 2 of the Simple Network Management Protocol 1957 (SNMPv2)", RFC 1907, January 1996. 1959 [8] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., 1960 and S. Waldbusser, "Coexistence between Version 1 and 1961 Version 2 of the Internet-standard Network Management 1962 Framework", RFC 1908, January 1996. 1964 [9] P. Grillo, S. Waldbusser, "Host Resources MIB", RFC 1514, 1965 September 1993. 1967 [10] F. Yergeau, "UTF-8, a transformation format of Unicode 1968 and ISO 10646", RFC 2044, October 1996. 1970 [11] C. Krupczak, S. Waldbusser, "Applicability of Host 1971 Resources MIB to Application Management", Application MIB 1972 working group report, October 1995.