Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / SYSAPPL-MIB
1   SYSAPPL-MIB DEFINITIONS ::= BEGIN
2
3   IMPORTS
4       MODULE-IDENTITY, OBJECT-TYPE,
5       Unsigned32, TimeTicks, Counter32, Gauge32
6           FROM SNMPv2-SMI
7       DateAndTime, TEXTUAL-CONVENTION
8           FROM SNMPv2-TC
9       MODULE-COMPLIANCE, OBJECT-GROUP
10           FROM SNMPv2-CONF
11       mib-2 FROM SNMPv2-SMI;
12
13   -- System Application MIB
14
15   sysApplMIB MODULE-IDENTITY
16       LAST-UPDATED "9710200000Z"
17       ORGANIZATION "IETF Applications MIB Working Group"
18       CONTACT-INFO
19             "Cheryl Krupczak (Editor, WG Advisor)
20              Postal: Empire Technologies, Inc.
21              541 Tenth Street NW
22              Suite 169
23              Atlanta, GA 30318
24              USA
25              Phone: (770) 384-0184
26              Email: cheryl@empiretech.com
27
28              Jon Saperia (WG Chair)
29              Postal:  BGS Systems, Inc.
30              One First Avenue
31              Waltham, MA 02254-9111
32              USA
33              Phone: (617) 891-0000
34              Email: saperia@networks.bgs.com"
35       DESCRIPTION
36           "The MIB module defines management objects that model
37           applications as collections of executables and files
38           installed and executing on a host system.  The MIB
39           presents a system-level view of applications; i.e.,
40           objects in this MIB are limited to those attributes
41           that can typically be obtained from the system itself
42           without adding special instrumentation to the applications."
43       ::= { mib-2 54  }
44
45
46   sysApplOBJ               OBJECT IDENTIFIER ::= { sysApplMIB 1 }
47   sysApplInstalled         OBJECT IDENTIFIER ::= { sysApplOBJ 1 }
48   sysApplRun               OBJECT IDENTIFIER ::= { sysApplOBJ 2 }
49   sysApplMap               OBJECT IDENTIFIER ::= { sysApplOBJ 3 }
50   sysApplNotifications     OBJECT IDENTIFIER ::= { sysApplMIB 2 }
51   sysApplConformance       OBJECT IDENTIFIER ::= { sysApplMIB 3 }
52
53   -- Textual Conventions
54
55   RunState ::= TEXTUAL-CONVENTION
56       STATUS      current
57       DESCRIPTION
58           "This TC describes the current execution state of
59           a running application or process.  The possible
60           values are:
61             running(1),
62             runnable(2),  - waiting for a resource (CPU, etc.)
63             waiting(3),   - waiting for an event
64             exiting(4),
65             other(5)      - other invalid state"
66       SYNTAX      INTEGER {
67                   running (1),
68                   runnable (2), -- waiting for resource (CPU, etc.)
69                   waiting (3),  -- waiting for event
70                   exiting (4),
71                   other (5)     -- other invalid state
72                   }
73
74 LongUtf8String ::= TEXTUAL-CONVENTION
75         DISPLAY-HINT "1024a"
76         STATUS  current
77         DESCRIPTION
78                 "To facilitate internationalization, this TC
79                  represents information taken from the ISO/IEC IS
80                  10646-1 character set, encoded as an octet string
81                  using the UTF-8 character encoding scheme described
82                  in RFC 2044 [10].  For strings in 7-bit US-ASCII,
83                  there is no impact since the UTF-8 representation
84                  is identical to the US-ASCII encoding."
85         SYNTAX  OCTET STRING (SIZE (0..1024))
86
87 Utf8String ::= TEXTUAL-CONVENTION
88         DISPLAY-HINT "255a"
89         STATUS  current
90         DESCRIPTION
91                 "To facilitate internationalization, this TC
92                  represents information taken from the ISO/IEC IS
93                  10646-1 character set, encoded as an octet string
94                  using the UTF-8 character encoding scheme described
95                  in RFC 2044 [10].  For strings in 7-bit US-ASCII,
96                  there is no impact since the UTF-8 representation
97                  is identical to the US-ASCII encoding."
98         SYNTAX  OCTET STRING (SIZE (0..255))
99
100
101
102   -- sysApplInstalled Group
103   -- This group provides information about application packages
104   -- that have been installed on the host computer.  The group
105   -- contains two tables.  The first, the sysApplInstallPkgTable,
106   -- describes the application packages, the second, the
107   -- sysApplInstallElmtTable, describes the constituent elements
108   -- (files and executables) which compose an application package.
109
110   --
111   -- In order to appear in this group, an application and its
112   -- component files must be discoverable by the system itself,
113   -- possibly through some type of software installation mechanism
114   -- or registry.
115
116   -- sysApplInstallPkgTable
117   -- The system installed application packages table provides
118   -- information on the software packages installed on a system.
119   -- These packages may consist of many different files including
120   -- executable and non-executable files.
121
122   sysApplInstallPkgTable OBJECT-TYPE
123       SYNTAX      SEQUENCE OF SysApplInstallPkgEntry
124       MAX-ACCESS  not-accessible
125       STATUS      current
126       DESCRIPTION
127           "The table listing the software application packages
128           installed on a host computer. In order to appear in
129           this table, it may be necessary for the application
130           to be installed using some type of software
131           installation mechanism or global registry so that its
132           existence can be detected by the agent implementation."
133
134       ::= { sysApplInstalled 1 }
135
136   sysApplInstallPkgEntry OBJECT-TYPE
137       SYNTAX      SysApplInstallPkgEntry
138       MAX-ACCESS  not-accessible
139       STATUS      current
140       DESCRIPTION
141           "The logical row describing an installed application
142           package."
143       INDEX    { sysApplInstallPkgIndex }
144       ::= { sysApplInstallPkgTable 1 }
145
146   SysApplInstallPkgEntry ::= SEQUENCE {
147       sysApplInstallPkgIndex               Unsigned32,
148       sysApplInstallPkgManufacturer        Utf8String,
149       sysApplInstallPkgProductName         Utf8String,
150       sysApplInstallPkgVersion             Utf8String,
151       sysApplInstallPkgSerialNumber        Utf8String,
152       sysApplInstallPkgDate                DateAndTime,
153       sysApplInstallPkgLocation            LongUtf8String
154   }
155
156   sysApplInstallPkgIndex OBJECT-TYPE
157       SYNTAX      Unsigned32 (1..'ffffffff'h)
158       MAX-ACCESS  not-accessible
159       STATUS      current
160       DESCRIPTION
161           "An integer used only for indexing purposes.
162           Generally monotonically increasing from 1 as new
163           applications are installed.
164
165           The value for each installed application must
166           remain constant at least from one re-initialization of
167           the network management entity which implements this
168           MIB module to the next re-initialization.
169
170           The specific value is meaningful only within a given SNMP
171           entity. A sysApplInstallPkgIndex value must not be re-used
172           until the next agent entity restart in the event the
173           installed application entry is deleted."
174       ::= { sysApplInstallPkgEntry 1 }
175
176   sysApplInstallPkgManufacturer OBJECT-TYPE
177       SYNTAX      Utf8String
178       MAX-ACCESS  read-only
179       STATUS      current
180       DESCRIPTION
181           "The Manufacturer of the software application package."
182       ::= { sysApplInstallPkgEntry 2 }
183
184   sysApplInstallPkgProductName OBJECT-TYPE
185       SYNTAX      Utf8String
186       MAX-ACCESS  read-only
187       STATUS      current
188       DESCRIPTION
189           "The name assigned to the software application package
190           by the Manufacturer."
191       ::= { sysApplInstallPkgEntry 3 }
192
193   sysApplInstallPkgVersion OBJECT-TYPE
194       SYNTAX      Utf8String
195       MAX-ACCESS  read-only
196       STATUS      current
197       DESCRIPTION
198           "The version number assigned to the application package
199           by the manufacturer of the software."
200       ::= { sysApplInstallPkgEntry 4 }
201
202   sysApplInstallPkgSerialNumber OBJECT-TYPE
203       SYNTAX      Utf8String
204       MAX-ACCESS  read-only
205       STATUS      current
206       DESCRIPTION
207           "The serial number of the software assigned by the
208           manufacturer."
209       ::= { sysApplInstallPkgEntry 5 }
210
211   sysApplInstallPkgDate OBJECT-TYPE
212       SYNTAX      DateAndTime
213       MAX-ACCESS  read-only
214       STATUS      current
215       DESCRIPTION
216           "The date and time this software application was installed
217           on the host."
218       ::= { sysApplInstallPkgEntry 6 }
219
220   sysApplInstallPkgLocation OBJECT-TYPE
221       SYNTAX      LongUtf8String
222       MAX-ACCESS  read-only
223       STATUS      current
224       DESCRIPTION
225           "The complete path name where the application package
226           is installed.  For example, the value would be
227           '/opt/MyapplDir' if the application package was installed
228           in the /opt/MyapplDir directory."
229       ::= { sysApplInstallPkgEntry 7 }
230
231
232   -- sysApplInstallElmtTable
233   -- The table describing the individual application package
234   -- elements (files and executables) installed on the host computer.
235
236   sysApplInstallElmtTable OBJECT-TYPE
237       SYNTAX      SEQUENCE OF SysApplInstallElmtEntry
238       MAX-ACCESS  not-accessible
239       STATUS      current
240       DESCRIPTION
241           "This table details the individual application package
242           elements (files and executables) which comprise the
243           applications defined in the sysApplInstallPkg Table.
244           Each entry in this table has an index to the
245           sysApplInstallPkg table to identify the application
246           package of which it is a part. As a result, there may
247           be many entries in this table for each instance in the
248           sysApplInstallPkg Table.
249
250           Table entries are indexed by sysApplInstallPkgIndex,
251           sysApplInstallElmtIndex to facilitate retrieval of
252           all elements associated with a particular installed
253           application package."
254       ::= { sysApplInstalled 2 }
255
256   sysApplInstallElmtEntry OBJECT-TYPE
257       SYNTAX      SysApplInstallElmtEntry
258       MAX-ACCESS  not-accessible
259       STATUS      current
260       DESCRIPTION
261           "The logical row describing an element of an installed
262           application.  The element may be an executable or
263           non-executable file."
264       INDEX    {sysApplInstallPkgIndex, sysApplInstallElmtIndex}
265       ::= { sysApplInstallElmtTable 1 }
266
267   SysApplInstallElmtEntry ::= SEQUENCE {
268       sysApplInstallElmtIndex                 Unsigned32,
269       sysApplInstallElmtName                  Utf8String,
270       sysApplInstallElmtType                  INTEGER,
271       sysApplInstallElmtDate                  DateAndTime,
272       sysApplInstallElmtPath                  LongUtf8String,
273       sysApplInstallElmtSizeHigh              Unsigned32,
274       sysApplInstallElmtSizeLow               Unsigned32,
275       sysApplInstallElmtRole                  BITS,
276       sysApplInstallElmtModifyDate            DateAndTime,
277       sysApplInstallElmtCurSizeHigh           Unsigned32,
278       sysApplInstallElmtCurSizeLow            Unsigned32
279
280   }
281
282   sysApplInstallElmtIndex OBJECT-TYPE
283       SYNTAX      Unsigned32 (1..'ffffffff'h)
284       MAX-ACCESS  not-accessible
285       STATUS      current
286       DESCRIPTION
287           "An arbitrary integer used for indexing.  The value
288           of this index is unique among all rows in this table
289           that exist or have existed since the last agent restart."
290       ::= { sysApplInstallElmtEntry 1 }
291
292
293   sysApplInstallElmtName OBJECT-TYPE
294       SYNTAX      Utf8String
295       MAX-ACCESS  read-only
296       STATUS      current
297       DESCRIPTION
298           "The name of this element which is contained in the
299           application."
300       ::= { sysApplInstallElmtEntry 2 }
301
302   sysApplInstallElmtType OBJECT-TYPE
303       SYNTAX      INTEGER {
304                   unknown(1),
305                   nonexecutable(2),
306                   operatingSystem(3),  -- executable
307                   deviceDriver(4),     -- executable
308                   application(5)       -- executable
309                   }
310       MAX-ACCESS  read-only
311       STATUS      current
312       DESCRIPTION
313           "The type of element that is part of the installed
314           application."
315       ::= { sysApplInstallElmtEntry 3 }
316
317   sysApplInstallElmtDate OBJECT-TYPE
318       SYNTAX      DateAndTime
319       MAX-ACCESS  read-only
320       STATUS      current
321       DESCRIPTION
322           "The date and time that this component was installed on
323           the system."
324       ::= { sysApplInstallElmtEntry 4 }
325
326   sysApplInstallElmtPath OBJECT-TYPE
327       SYNTAX      LongUtf8String
328       MAX-ACCESS  read-only
329       STATUS      current
330       DESCRIPTION
331           "The full directory path where this element is installed.
332           For example, the value would be '/opt/EMPuma/bin' for an
333           element installed in the directory '/opt/EMPuma/bin'.
334           Most application packages include information about the
335           elements contained in the package. In addition, elements
336           are typically installed in sub-directories under the
337           package installation directory.  In cases where the
338           element path names are not included in the package
339           information itself, the path can usually be determined
340           by a simple search of the sub-directories.  If the
341           element is not installed in that location and there is
342           no other information available to the agent implementation,
343           then the path is unknown and null is returned."
344       ::= { sysApplInstallElmtEntry 5}
345
346   sysApplInstallElmtSizeHigh OBJECT-TYPE
347       SYNTAX      Unsigned32
348       MAX-ACCESS  read-only
349       STATUS      current
350       DESCRIPTION
351           "The installed file size in 2^32 byte blocks. This is
352           the size of the file on disk immediately after installation.
353
354           For example, for a file with a total size of 4,294,967,296
355           bytes, this variable would have a value of 1; for a file
356           with a total size of 4,294,967,295 bytes this variable
357           would be 0."
358       ::= { sysApplInstallElmtEntry 6 }
359
360   sysApplInstallElmtSizeLow OBJECT-TYPE
361       SYNTAX      Unsigned32
362       MAX-ACCESS  read-only
363       STATUS      current
364       DESCRIPTION
365           "The installed file size modulo 2^32 bytes.  This is
366           the size of the file on disk immediately after installation.
367
368           For example, for a file with a total size of 4,294,967,296
369           bytes this variable would have a value of 0; for a file with
370           a total size of 4,294,967,295 bytes this variable would be
371           4,294,967,295."
372       ::= { sysApplInstallElmtEntry 7 }
373
374   sysApplInstallElmtRole  OBJECT-TYPE
375       SYNTAX      BITS {
376                   executable(0),
377                      -- An application may have one or
378                      -- more executable elements.  The rest of the
379                      -- bits have no meaning if the element is not
380                      -- executable.
381                   exclusive(1),
382                      -- Only one copy of an exclusive element may be
383                      -- running per invocation of the running
384                      -- application.
385                   primary(2),
386                      -- The primary executable.  An application can
387                      -- have one, and only one element that is designated
388                      -- as the primary executable.  The execution of
389                      -- this element constitutes an invocation of
390                      -- the application.  This is used by the agent
391                      -- implementation to determine the initiation of
392                      -- an application.  The primary executable must
393                      -- remain running long enough for the agent
394                      -- implementation to detect its presence.
395                   required(3),
396                      -- An application may have zero or more required
397                      -- elements. All required elements must be running
398
399                      -- in order for the application to be judged to be
400                      -- running and healthy.
401                   dependent(4),
402                      -- An application may have zero or more
403                      -- dependent elements. Dependent elements may
404                      -- not be running unless required elements are.
405                   unknown(5)
406                      -- Default value for the case when an operator
407                      -- has not yet assigned one of the other values.
408                      -- When set, bits 1, 2, 3, and 4 have no meaning.
409                   }
410       MAX-ACCESS  read-write
411       STATUS      current
412       DESCRIPTION
413           "An operator assigned value used in the determination of
414           application status. This value is used by the agent to
415           determine both the mapping of started processes to the
416           initiation of an application, as well as to allow for a
417           determination of application health. The default value,
418           unknown(5), is used when an operator has not yet assigned
419           one of the other values.  If unknown(5) is set, bits
420           1 - 4 have no meaning.  The possible values are:
421
422                   executable(0),
423                       An application may have one or
424                       more executable elements.  The rest of the
425                       bits have no meaning if the element is not
426                       executable.
427                   exclusive(1),
428                       Only one copy of an exclusive element may be
429                       running per invocation of the running
430                       application.
431                   primary(2),
432                       The primary executable.  An application can
433                       have one, and only one element that is designated
434                       as the primary executable.  The execution of
435                       this element constitutes an invocation of
436                       the application.  This is used by the agent
437                       implementation to determine the initiation of
438                       an application.  The primary executable must
439                       remain running long enough for the agent
440                       implementation to detect its presence.
441                   required(3),
442                       An application may have zero or more required
443                       elements. All required elements must be running
444                       in order for the application to be judged to be
445                       running and healthy.
446                   dependent(4),
447                       An application may have zero or more
448                       dependent elements. Dependent elements may
449                       not be running unless required elements are.
450                   unknown(5)
451                       Default value for the case when an operator
452                       has not yet assigned one of the other values.
453                       When set, bits 1, 2, 3, and 4 have no meaning.
454
455            sysApplInstallElmtRole is used by the agent implementation
456            in determining the initiation of an application, the
457            current state of a running application (see
458            sysApplRunCurrentState), when an application invocation is
459            no longer running, and the exit status of a terminated
460            application invocation (see sysApplPastRunExitState)."
461
462       DEFVAL { { unknown } }
463       ::= { sysApplInstallElmtEntry 8 }
464
465   sysApplInstallElmtModifyDate OBJECT-TYPE
466       SYNTAX      DateAndTime
467       MAX-ACCESS  read-only
468       STATUS      current
469       DESCRIPTION
470           "The date and time that this element was last modified.
471           Modification of the sysApplInstallElmtRole columnar
472           object does NOT constitute a modification of the element
473           itself and should not affect the value of this object."
474       ::= { sysApplInstallElmtEntry 9 }
475
476   sysApplInstallElmtCurSizeHigh OBJECT-TYPE
477       SYNTAX      Unsigned32
478       MAX-ACCESS  read-only
479       STATUS      current
480       DESCRIPTION
481           "The current file size in 2^32 byte blocks.
482           For example, for a file with a total size of 4,294,967,296
483           bytes, this variable would have a value of 1; for a file
484           with a total size of 4,294,967,295 bytes this variable
485           would be 0."
486       ::= { sysApplInstallElmtEntry 10 }
487
488   sysApplInstallElmtCurSizeLow OBJECT-TYPE
489       SYNTAX      Unsigned32
490       MAX-ACCESS  read-only
491       STATUS      current
492       DESCRIPTION
493           "The current file size modulo 2^32 bytes.
494           For example, for a file with a total size of 4,294,967,296
495           bytes this variable would have a value of 0; for a file with
496           a total size of 4,294,967,295 bytes this variable would be
497           4,294,967,295."
498       ::= { sysApplInstallElmtEntry 11 }
499
500
501
502   -- sysApplRun Group
503   -- This group models activity information for applications
504   -- that have been invoked and are either currently running,
505   -- or have previously run on the host system.  Likewise,
506   -- the individual elements of an invoked application are
507   -- also modeled to show currently running processes, and
508   -- processes that have run in the past.
509
510   -- sysApplRunTable
511   -- The sysApplRunTable contains the application instances
512   -- which are currently running on the host.  Since a single
513   -- application might be invoked multiple times, an entry is
514   -- added to this table for each INVOCATION of an application.
515   -- The table is indexed by sysApplInstallPkgIndex, sysApplRunIndex
516   -- to enable managers to easily locate all invocations of
517   -- a particular application package.
518
519   sysApplRunTable OBJECT-TYPE
520       SYNTAX      SEQUENCE OF SysApplRunEntry
521       MAX-ACCESS  not-accessible
522       STATUS      current
523       DESCRIPTION
524           "The table describes the applications which are executing
525           on the host.  Each time an application is invoked,
526           an entry is created in this table. When an application ends,
527           the entry is removed from this table and a corresponding
528                   entry is created in the SysApplPastRunTable.
529
530           A new entry is created in this table whenever the agent
531           implementation detects a new running process that is an
532           installed application element whose sysApplInstallElmtRole
533           designates it as being the application's primary executable
534           (sysApplInstallElmtRole = primary(2) ).
535
536           The table is indexed by sysApplInstallPkgIndex,
537           sysApplRunIndex to enable managers to easily locate all
538           invocations of a particular application package."
539       ::= { sysApplRun 1 }
540
541   sysApplRunEntry OBJECT-TYPE
542       SYNTAX      SysApplRunEntry
543       MAX-ACCESS  not-accessible
544       STATUS      current
545       DESCRIPTION
546           "The logical row describing an application which is
547           currently running on this host."
548       INDEX    { sysApplInstallPkgIndex, sysApplRunIndex }
549       ::= { sysApplRunTable   1 }
550
551   SysApplRunEntry ::= SEQUENCE {
552       sysApplRunIndex                         Unsigned32,
553       sysApplRunStarted                       DateAndTime,
554       sysApplRunCurrentState                  RunState
555   }
556
557   sysApplRunIndex OBJECT-TYPE
558       SYNTAX      Unsigned32 (1..'ffffffff'h)
559       MAX-ACCESS  not-accessible
560       STATUS      current
561       DESCRIPTION
562           "Part of the index for this table. An arbitrary
563           integer used only for indexing purposes. Generally
564           monotonically increasing from 1 as new applications are
565           started on the host, it uniquely identifies application
566           invocations.
567
568           The numbering for this index increases by 1 for each
569           INVOCATION of an application, regardless of which
570           installed application package this entry represents a
571           running instance of.
572
573           An example of the indexing for a couple of entries is
574           shown below.
575
576                         :
577                    sysApplRunStarted.17.14
578                    sysApplRunStarted.17.63
579                    sysApplRunStarted.18.13
580                         :
581
582           In this example, the agent has observed 12 application
583           invocations when the application represented by entry 18
584           in the sysApplInstallPkgTable is invoked.  The next
585           invocation detected by the agent is an invocation of
586           installed application package 17.  Some time later,
587           installed application 17 is invoked a second time.
588
589           NOTE: this index is not intended to reflect a real-time
590           (wall clock time) ordering of application invocations;
591           it is merely intended to uniquely identify running
592           instances of applications.  Although the
593           sysApplInstallPkgIndex is included in the INDEX clause
594           for this table, it serves only to ease searching of
595           this table by installed application and does not
596           contribute to uniquely identifying table entries."
597       ::= { sysApplRunEntry 1 }
598
599   sysApplRunStarted OBJECT-TYPE
600       SYNTAX      DateAndTime
601       MAX-ACCESS  read-only
602       STATUS      current
603       DESCRIPTION
604           "The date and time that the application was started."
605       ::= { sysApplRunEntry 2 }
606
607   sysApplRunCurrentState OBJECT-TYPE
608       SYNTAX      RunState
609       MAX-ACCESS  read-only
610       STATUS      current
611       DESCRIPTION
612           "The current state of the running application instance.
613           The possible values are running(1), runnable(2) but waiting
614           for a resource such as CPU, waiting(3) for an event,
615           exiting(4), or other(5). This value is based on an evaluation
616           of the running elements of this application instance (see
617           sysApplElmRunState) and their Roles as defined by
618           sysApplInstallElmtRole.  An agent implementation may
619           detect that an application instance is in the process of
620           exiting if one or more of its REQUIRED elements are no
621           longer running.  Most agent implementations will wait until
622           a second internal poll has been completed to give the
623           system time to start REQUIRED elements before marking the
624           application instance as exiting."
625       ::= { sysApplRunEntry 3 }
626
627
628   -- sysApplPastRunTable
629   -- The sysApplPastRunTable provides a history of applications
630   -- previously run on the host computer. Entries are removed from
631   -- the sysApplRunTable and corresponding entries are added to this
632   -- table when an application becomes inactive. Entries remain in
633   -- this table until they are aged out when either the table size
634   -- reaches a maximum as determined by the sysApplPastRunMaxRows,
635   -- or when an entry has aged to exceed a time limit as set be
636   -- sysApplPastRunTblTimeLimit.
637   --
638   -- When aging out entries, the oldest entry, as determined by
639
640   -- the value of sysApplPastRunTimeEnded, will be removed first.
641
642   sysApplPastRunTable OBJECT-TYPE
643       SYNTAX      SEQUENCE OF SysApplPastRunEntry
644       MAX-ACCESS  not-accessible
645       STATUS      current
646       DESCRIPTION
647           "A history of the applications that have previously run
648           on the host computer.  An entry's information is moved to
649           this table from the sysApplRunTable when the invoked
650           application represented by the entry ceases to be running.
651
652           An agent implementation can determine that an application
653           invocation is no longer running by evaluating the running
654           elements of the application instance and their Roles as
655           defined by sysApplInstallElmtRole.  Obviously, if there
656           are no running elements for the application instance,
657           then the application invocation is no longer running.
658           If any one of the REQUIRED elements is not running,
659           the application instance may be in the process of exiting.
660           Most agent implementations will wait until a second internal
661           poll has been completed to give the system time to either
662           restart partial failures or to give all elements time to
663           exit.  If, after the second poll, there are REQUIRED
664           elements that are not running, then the application
665           instance may be considered by the agent implementation
666           to no longer be running.
667
668           Entries remain in the sysApplPastRunTable until they
669           are aged out when either the table size reaches a maximum
670           as determined by the sysApplPastRunMaxRows, or when an entry
671           has aged to exceed a time limit as set by
672           sysApplPastRunTblTimeLimit.
673
674           Entries in this table are indexed by sysApplInstallPkgIndex,
675           sysApplPastRunIndex to facilitate retrieval of all past
676           run invocations of a particular installed application."
677       ::= { sysApplRun 2 }
678
679   sysApplPastRunEntry OBJECT-TYPE
680       SYNTAX      SysApplPastRunEntry
681       MAX-ACCESS  not-accessible
682       STATUS      current
683       DESCRIPTION
684           "The logical row describing an invocation of an application
685           which was previously run and has terminated.  The entry
686           is basically copied from the sysApplRunTable when the
687           application instance terminates.  Hence, the entry's
688           value for sysApplPastRunIndex is the same as its value was
689           for sysApplRunIndex."
690       INDEX    { sysApplInstallPkgIndex, sysApplPastRunIndex }
691       ::= { sysApplPastRunTable   1 }
692
693   SysApplPastRunEntry ::= SEQUENCE {
694       sysApplPastRunIndex                     Unsigned32,
695       sysApplPastRunStarted                   DateAndTime,
696       sysApplPastRunExitState                 INTEGER,
697       sysApplPastRunTimeEnded                 DateAndTime
698   }
699
700   sysApplPastRunIndex OBJECT-TYPE
701       SYNTAX      Unsigned32 (1..'ffffffff'h)
702       MAX-ACCESS  not-accessible
703       STATUS      current
704       DESCRIPTION
705           "Part of the index for this table. An integer
706           matching the value of the removed sysApplRunIndex
707           corresponding to this row."
708       ::= { sysApplPastRunEntry 1 }
709
710   sysApplPastRunStarted OBJECT-TYPE
711       SYNTAX      DateAndTime
712       MAX-ACCESS  read-only
713       STATUS      current
714       DESCRIPTION
715           "The date and time that the application was started."
716       ::= { sysApplPastRunEntry 2 }
717
718   sysApplPastRunExitState OBJECT-TYPE
719       SYNTAX      INTEGER {
720                   complete (1), -- normal exit at sysApplRunTimeEnded
721                   failed (2),   -- abnormal exit
722                   other (3)
723                   }
724       MAX-ACCESS  read-only
725       STATUS      current
726       DESCRIPTION
727         "The state of the application instance when it terminated.
728          This value is based on an evaluation of the running elements
729          of an application and their Roles as defined by
730          sysApplInstallElmtRole.  An application instance is said to
731          have exited in a COMPLETE state and its entry is removed
732          from the sysApplRunTable and added to the sysApplPastRunTable
733          when the agent detects that ALL elements of an application
734          invocation are no longer running.  Most agent implementations
735          will wait until a second internal poll has been completed to
736          give the system time to either restart partial failures or
737          to give all elements time to exit.  A failed state occurs if,
738          after the second poll, any elements continue to run but
739          one or more of the REQUIRED elements are no longer running.
740          All other combinations MUST be defined as OTHER."
741       ::= { sysApplPastRunEntry 3 }
742
743   sysApplPastRunTimeEnded OBJECT-TYPE
744       SYNTAX      DateAndTime
745       MAX-ACCESS  read-only
746       STATUS      current
747       DESCRIPTION
748           "The DateAndTime the application instance was determined
749           to be no longer running."
750       ::= { sysApplPastRunEntry 4 }
751
752   -- sysApplElmtRunTable
753   -- The sysApplElmtRunTable contains an entry for each process that
754   -- is currently running on the host.  An entry is created in
755   -- this table for each process at the time it is started, and will
756   -- remain in the table until the process terminates.
757   --
758   -- The table is indexed by sysApplElmtRunInstallPkg,
759   -- sysApplElmtRunInvocID, and sysApplElmtRunIndex to make it easy
760   -- to locate all running elements of a particular invoked application
761   -- which has been installed on the system.
762
763
764   sysApplElmtRunTable OBJECT-TYPE
765       SYNTAX      SEQUENCE OF SysApplElmtRunEntry
766       MAX-ACCESS  not-accessible
767       STATUS      current
768       DESCRIPTION
769           "The table describes the processes which are
770           currently executing on the host system. Each entry
771           represents a running process and is associated with
772           the invoked application of which that process is a part, if
773           possible.  This table contains an entry for every process
774           currently running on the system, regardless of whether its
775           'parent' application can be determined.  So, for example,
776           processes like 'ps' and 'grep' will have entries though they
777           are not associated with an installed application package.
778
779           Because a running application may involve
780           more than one executable, it is possible to have
781           multiple entries in this table for each application.
782           Entries are removed from this table when the process
783           terminates.
784           The table is indexed by sysApplElmtRunInstallPkg,
785           sysApplElmtRunInvocID, and sysApplElmtRunIndex to
786           facilitate the retrieval of all running elements of a
787           particular invoked application which has been installed on
788           the system."
789       ::= { sysApplRun 3 }
790
791   sysApplElmtRunEntry OBJECT-TYPE
792       SYNTAX      SysApplElmtRunEntry
793       MAX-ACCESS  not-accessible
794       STATUS      current
795       DESCRIPTION
796           "The logical row describing a process currently
797           running on this host.  When possible, the entry is
798           associated with the invoked application of which it
799           is a part."
800       INDEX    { sysApplElmtRunInstallPkg, sysApplElmtRunInvocID,
801                  sysApplElmtRunIndex }
802       ::= { sysApplElmtRunTable   1 }
803
804   SysApplElmtRunEntry ::= SEQUENCE {
805       sysApplElmtRunInstallPkg        Unsigned32,
806       sysApplElmtRunInvocID           Unsigned32,
807       sysApplElmtRunIndex             Unsigned32,
808       sysApplElmtRunInstallID         Unsigned32,
809       sysApplElmtRunTimeStarted       DateAndTime,
810       sysApplElmtRunState             RunState,
811       sysApplElmtRunName              LongUtf8String,
812       sysApplElmtRunParameters        Utf8String,
813       sysApplElmtRunCPU               TimeTicks,
814       sysApplElmtRunMemory            Gauge32,
815       sysApplElmtRunNumFiles          Gauge32,
816       sysApplElmtRunUser              Utf8String
817   }
818
819   sysApplElmtRunInstallPkg OBJECT-TYPE
820       SYNTAX      Unsigned32 (0..'ffffffff'h)
821       MAX-ACCESS  not-accessible
822       STATUS      current
823       DESCRIPTION
824           "Part of the index for this table, this value
825           identifies the installed software package for
826           the application of which this process is a part.
827           Provided that the process's 'parent' application can be
828           determined, the value of this object is the same
829           value as the sysApplInstallPkgIndex for the
830           entry in the sysApplInstallPkgTable that corresponds
831           to the installed application of which this process
832           is a part.
833
834           If, however, the 'parent' application cannot be
835           determined, (for example the process is not part
836           of a particular installed application), the value
837           for this object is then '0', signifying that this
838           process cannot be related back to an application,
839           and in turn, an installed software package."
840       ::= { sysApplElmtRunEntry 1 }
841
842   sysApplElmtRunInvocID OBJECT-TYPE
843       SYNTAX      Unsigned32 (0..'ffffffff'h)
844       MAX-ACCESS  not-accessible
845       STATUS      current
846       DESCRIPTION
847           "Part of the index for this table, this value
848           identifies the invocation of an application of which
849           this process is a part.  Provided that the 'parent'
850           application can be determined, the value of this object
851           is the same value as the sysApplRunIndex for the
852           corresponding application invocation in the
853           sysApplRunTable.
854
855           If, however, the 'parent' application cannot be
856           determined, the value for this object is then '0',
857           signifying that this process cannot be related back
858           to an invocation of an application in the
859           sysApplRunTable."
860       ::= { sysApplElmtRunEntry 2 }
861
862   sysApplElmtRunIndex OBJECT-TYPE
863       SYNTAX      Unsigned32 (0..'ffffffff'h)
864       MAX-ACCESS  not-accessible
865       STATUS      current
866       DESCRIPTION
867           "Part of the index for this table.  A unique value
868           for each process running on the host.  Wherever
869           possible, this should be the system's native, unique
870           identification number."
871       ::= { sysApplElmtRunEntry 3 }
872
873
874   sysApplElmtRunInstallID OBJECT-TYPE
875       SYNTAX      Unsigned32 (0..'ffffffff'h)
876       MAX-ACCESS  read-only
877       STATUS      current
878       DESCRIPTION
879           "The index into the sysApplInstallElmtTable. The
880           value of this object is the same value as the
881           sysApplInstallElmtIndex for the application element
882           of which this entry represents a running instance.
883           If this process cannot be associated with an installed
884           executable, the value should be '0'."
885       ::= { sysApplElmtRunEntry 4 }
886
887   sysApplElmtRunTimeStarted OBJECT-TYPE
888       SYNTAX      DateAndTime
889       MAX-ACCESS  read-only
890       STATUS      current
891       DESCRIPTION
892           "The time the process was started."
893       ::= { sysApplElmtRunEntry 5 }
894
895   sysApplElmtRunState OBJECT-TYPE
896       SYNTAX      RunState
897       MAX-ACCESS  read-only
898       STATUS      current
899       DESCRIPTION
900           "The current state of the running process. The
901           possible values are running(1), runnable(2) but waiting
902           for a resource such as CPU, waiting(3) for an event,
903           exiting(4), or other(5)."
904       ::= { sysApplElmtRunEntry 6 }
905
906   sysApplElmtRunName OBJECT-TYPE
907       SYNTAX      LongUtf8String
908       MAX-ACCESS  read-only
909       STATUS      current
910       DESCRIPTION
911           "The full path and filename of the process.
912           For example, '/opt/MYYpkg/bin/myyproc' would
913           be returned for process 'myyproc' whose execution
914           path is '/opt/MYYpkg/bin/myyproc'."
915       ::= { sysApplElmtRunEntry 7 }
916
917   sysApplElmtRunParameters OBJECT-TYPE
918       SYNTAX      Utf8String
919       MAX-ACCESS  read-only
920       STATUS      current
921       DESCRIPTION
922           "The starting parameters for the process."
923   ::= { sysApplElmtRunEntry 8 }
924
925   sysApplElmtRunCPU OBJECT-TYPE
926       SYNTAX      TimeTicks
927       MAX-ACCESS  read-only
928       STATUS      current
929       DESCRIPTION
930            "The number of centi-seconds of the total system's
931            CPU resources consumed by this process.  Note that
932            on a multi-processor system, this value may
933            have been incremented by more than one centi-second
934            in one centi-second of real (wall clock) time."
935       ::= { sysApplElmtRunEntry 9 }
936
937   sysApplElmtRunMemory OBJECT-TYPE
938       SYNTAX      Gauge32
939       UNITS       "Kbytes"
940       MAX-ACCESS  read-only
941       STATUS      current
942       DESCRIPTION
943           "The total amount of real system memory measured in
944           Kbytes currently allocated to this process."
945
946       ::= { sysApplElmtRunEntry 10 }
947
948   sysApplElmtRunNumFiles OBJECT-TYPE
949       SYNTAX      Gauge32
950       MAX-ACCESS  read-only
951       STATUS      current
952       DESCRIPTION
953           "The number of regular files currently open by the
954           process.  Transport connections (sockets)
955           should NOT be included in the calculation of
956           this value, nor should operating system specific
957           special file types."
958       ::= { sysApplElmtRunEntry 11 }
959
960   sysApplElmtRunUser OBJECT-TYPE
961       SYNTAX      Utf8String
962       MAX-ACCESS  read-only
963       STATUS      current
964       DESCRIPTION
965           "The process owner's login name (e.g. root)."
966       ::= { sysApplElmtRunEntry 12 }
967
968   -- sysApplElmtPastRunTable
969   -- The sysApplElmtPastRunTable maintains a history of
970   -- processes which have previously executed on
971   -- the host as part of an application. Upon termination
972   -- of a process, the entry representing the process is removed from
973   -- the sysApplElmtRunTable and a corresponding entry is created in
974   -- this table provided that the process was part of an
975   -- identifiable application.  If the process could not be associated
976
977   -- with an invoked application, no corresponding entry is created.
978   -- Hence, whereas the sysApplElmtRunTable contains an entry for
979   -- every process currently executing on the system, the
980   -- sysApplElmtPastRunTable only contains entries for processes
981   -- that previously executed as part of an invoked application.
982   --
983   -- Entries remain in this table until they are aged out when
984   -- either the number of entries in the table reaches a
985   -- maximum as determined by sysApplElmtPastRunMaxRows, or
986   -- when an entry has aged to exceed a time limit as set by
987   -- sysApplElmtPastRunTblTimeLimit.  When aging out entries,
988   -- the oldest entry, as determined by the value of
989   -- sysApplElmtPastRunTimeEnded, will be removed first.
990   --
991   -- The table is indexed by sysApplInstallPkgIndex (from the
992   -- sysApplInstallPkgTable), sysApplElmtPastRunInvocID, and
993   -- sysApplElmtPastRunIndex to make it easy to locate all
994   -- previously executed processes of a particular invoked application
995   -- that has been installed on the system.
996
997
998   sysApplElmtPastRunTable OBJECT-TYPE
999       SYNTAX      SEQUENCE OF SysApplElmtPastRunEntry
1000       MAX-ACCESS  not-accessible
1001       STATUS      current
1002       DESCRIPTION
1003           "The table describes the processes which have previously
1004           executed on the host system as part of an application.
1005           Each entry represents a process which has previously
1006           executed and is associated with the invoked application
1007           of which it was a part.  Because an invoked application
1008           may involve more than one executable, it is possible
1009           to have multiple entries in this table for
1010           each application invocation. Entries are added
1011           to this table when the corresponding process in the
1012           sysApplElmtRun Table terminates.
1013
1014           Entries remain in this table until they are aged out when
1015           either the number of entries in the table reaches a
1016           maximum as determined by sysApplElmtPastRunMaxRows, or
1017           when an entry has aged to exceed a time limit as set by
1018           sysApplElmtPastRunTblTimeLimit.  When aging out entries,
1019           the oldest entry, as determined by the value of
1020           sysApplElmtPastRunTimeEnded, will be removed first.
1021
1022           The table is indexed by sysApplInstallPkgIndex (from the
1023           sysApplInstallPkgTable), sysApplElmtPastRunInvocID,
1024           and sysApplElmtPastRunIndex to make it easy to locate all
1025           previously executed processes of a particular invoked
1026           application that has been installed on the system."
1027       ::= { sysApplRun 4 }
1028
1029   sysApplElmtPastRunEntry OBJECT-TYPE
1030       SYNTAX      SysApplElmtPastRunEntry
1031       MAX-ACCESS  not-accessible
1032       STATUS      current
1033       DESCRIPTION
1034           "The logical row describing a process which was
1035           previously executed on this host as part of an
1036           installed application.  The entry is basically copied
1037           from the sysApplElmtRunTable when the process
1038           terminates.  Hence, the entry's value for
1039           sysApplElmtPastRunIndex is the same as its value
1040           was for sysApplElmtRunIndex.  Note carefully: only those
1041           processes which could be associated with an
1042           identified application are included in this table."
1043       INDEX    { sysApplInstallPkgIndex, sysApplElmtPastRunInvocID,
1044                  sysApplElmtPastRunIndex }
1045       ::= { sysApplElmtPastRunTable   1 }
1046
1047   SysApplElmtPastRunEntry ::= SEQUENCE {
1048       sysApplElmtPastRunInvocID           Unsigned32,
1049       sysApplElmtPastRunIndex             Unsigned32,
1050       sysApplElmtPastRunInstallID         Unsigned32,
1051       sysApplElmtPastRunTimeStarted       DateAndTime,
1052       sysApplElmtPastRunTimeEnded         DateAndTime,
1053       sysApplElmtPastRunName              LongUtf8String,
1054       sysApplElmtPastRunParameters        Utf8String,
1055       sysApplElmtPastRunCPU               TimeTicks,
1056       sysApplElmtPastRunMemory            Unsigned32,
1057       sysApplElmtPastRunNumFiles          Unsigned32,
1058       sysApplElmtPastRunUser              Utf8String
1059   }
1060
1061   sysApplElmtPastRunInvocID OBJECT-TYPE
1062       SYNTAX      Unsigned32 (1..'ffffffff'h)
1063       MAX-ACCESS  not-accessible
1064       STATUS      current
1065       DESCRIPTION
1066           "Part of the index for this table, this value
1067           identifies the invocation of an application of which
1068           the process represented by this entry was a part.
1069           The value of this object is the same value as the
1070           sysApplRunIndex for the corresponding application
1071           invocation in the sysApplRunTable.  If the invoked
1072           application as a whole has terminated, it will be the
1073           same as the sysApplPastRunIndex."
1074       ::= { sysApplElmtPastRunEntry 1 }
1075
1076   sysApplElmtPastRunIndex OBJECT-TYPE
1077       SYNTAX      Unsigned32 (0..'ffffffff'h)
1078       MAX-ACCESS  not-accessible
1079       STATUS      current
1080       DESCRIPTION
1081           "Part of the index for this table. An integer
1082           assigned by the agent equal to the corresponding
1083           sysApplElmtRunIndex which was removed from the
1084           sysApplElmtRunTable and moved to this table
1085           when the element terminated.
1086
1087           Note: entries in this table are indexed by
1088           sysApplElmtPastRunInvocID, sysApplElmtPastRunIndex.
1089           The possibility exists, though unlikely, of a
1090           collision occurring by a new entry which was run
1091           by the same invoked application (InvocID), and
1092           was assigned the same process identification number
1093           (ElmtRunIndex) as an element which was previously
1094           run by the same invoked application.
1095
1096           Should this situation occur, the new entry replaces
1097           the old entry.
1098
1099           See Section: 'Implementation Issues -
1100           sysApplElmtPastRunTable Entry Collisions' for the
1101           conditions that would have to occur in order for a
1102           collision to occur."
1103       ::= { sysApplElmtPastRunEntry 2 }
1104
1105
1106   sysApplElmtPastRunInstallID OBJECT-TYPE
1107       SYNTAX      Unsigned32 (1..'ffffffff'h)
1108       MAX-ACCESS  read-only
1109       STATUS      current
1110       DESCRIPTION
1111           "The index into the installed element table. The
1112           value of this object is the same value as the
1113           sysApplInstallElmtIndex for the application element
1114           of which this entry represents a previously executed
1115           process."
1116       ::= { sysApplElmtPastRunEntry 3 }
1117
1118   sysApplElmtPastRunTimeStarted OBJECT-TYPE
1119       SYNTAX      DateAndTime
1120       MAX-ACCESS  read-only
1121       STATUS      current
1122       DESCRIPTION
1123           "The time the process was started."
1124       ::= { sysApplElmtPastRunEntry 4 }
1125
1126   sysApplElmtPastRunTimeEnded OBJECT-TYPE
1127       SYNTAX      DateAndTime
1128       MAX-ACCESS  read-only
1129       STATUS      current
1130       DESCRIPTION
1131           "The time the process ended."
1132       ::= { sysApplElmtPastRunEntry 5 }
1133
1134   sysApplElmtPastRunName OBJECT-TYPE
1135       SYNTAX      LongUtf8String
1136       MAX-ACCESS  read-only
1137       STATUS      current
1138       DESCRIPTION
1139           "The full path and filename of the process.
1140           For example, '/opt/MYYpkg/bin/myyproc' would
1141           be returned for process 'myyproc' whose execution
1142           path was '/opt/MYYpkg/bin/myyproc'."
1143       ::= { sysApplElmtPastRunEntry 6 }
1144
1145   sysApplElmtPastRunParameters OBJECT-TYPE
1146       SYNTAX      Utf8String
1147       MAX-ACCESS  read-only
1148       STATUS      current
1149       DESCRIPTION
1150           "The starting parameters for the process."
1151       ::= { sysApplElmtPastRunEntry 7 }
1152
1153   sysApplElmtPastRunCPU OBJECT-TYPE
1154       SYNTAX      TimeTicks
1155       MAX-ACCESS  read-only
1156       STATUS      current
1157       DESCRIPTION
1158            "The last known number of centi-seconds of the total
1159            system's CPU resources consumed by this process.
1160            Note that on a multi-processor system, this value may
1161            increment by more than one centi-second in one
1162            centi-second of real (wall clock) time."
1163       ::= { sysApplElmtPastRunEntry 8 }
1164
1165   sysApplElmtPastRunMemory OBJECT-TYPE
1166       SYNTAX      Unsigned32 (0..'ffffffff'h)
1167       UNITS       "Kbytes"
1168       MAX-ACCESS  read-only
1169       STATUS      current
1170       DESCRIPTION
1171           "The last known total amount of real system memory
1172           measured in Kbytes allocated to this process before it
1173           terminated."
1174       ::= { sysApplElmtPastRunEntry 9 }
1175
1176   sysApplElmtPastRunNumFiles OBJECT-TYPE
1177       SYNTAX      Unsigned32 (0..'ffffffff'h)
1178       MAX-ACCESS  read-only
1179       STATUS      current
1180       DESCRIPTION
1181           "The last known number of files open by the
1182           process before it terminated.  Transport
1183           connections (sockets) should NOT be included in
1184           the calculation of this value."
1185       ::= { sysApplElmtPastRunEntry 10 }
1186
1187   sysApplElmtPastRunUser OBJECT-TYPE
1188       SYNTAX      Utf8String
1189       MAX-ACCESS  read-only
1190       STATUS      current
1191       DESCRIPTION
1192           "The process owner's login name (e.g. root)."
1193       ::= { sysApplElmtPastRunEntry 11 }
1194
1195
1196   -- Additional Scalar objects to control table sizes
1197
1198   sysApplPastRunMaxRows OBJECT-TYPE
1199       SYNTAX      Unsigned32 (0..'ffffffff'h)
1200       MAX-ACCESS  read-write
1201       STATUS      current
1202       DESCRIPTION
1203           "The maximum number of entries allowed in the
1204           sysApplPastRunTable.  Once the number of rows in
1205           the sysApplPastRunTable reaches this value, the
1206           management subsystem will remove the oldest entry
1207           in the table to make room for the new entry to be added.
1208           Entries will be removed on the basis of oldest
1209           sysApplPastRunTimeEnded value first.
1210
1211           This object may be used to control the amount of
1212           system resources that can used for sysApplPastRunTable
1213           entries. A conforming implementation should attempt
1214           to support the default value, however, a lesser value
1215           may be necessary due to implementation-dependent issues
1216           and resource availability."
1217       DEFVAL      { 500 }
1218       ::= { sysApplRun 5 }
1219
1220   sysApplPastRunTableRemItems OBJECT-TYPE
1221       SYNTAX      Counter32
1222       MAX-ACCESS  read-only
1223       STATUS      current
1224       DESCRIPTION
1225           "A counter of the number of entries removed from
1226           the sysApplPastRunTable because of table size limitations
1227           as set in sysApplPastRunMaxRows.  This counter is the
1228           number of entries the management subsystem has had to
1229           remove in order to make room for new entries (so as not
1230           to exceed the limit set by sysApplPastRunMaxRows) since
1231           the last initialization of the management subsystem."
1232       ::= { sysApplRun 6 }
1233
1234   sysApplPastRunTblTimeLimit OBJECT-TYPE
1235       SYNTAX      Unsigned32 (0..'ffffffff'h)
1236       UNITS       "seconds"
1237       MAX-ACCESS  read-write
1238       STATUS      current
1239       DESCRIPTION
1240           "The maximum time in seconds which an entry in the
1241            sysApplPastRunTable may exist before it is removed.
1242            Any entry that is older than this value will be
1243            removed (aged out) from the table.
1244
1245            Note that an entry may be aged out prior to reaching
1246            this time limit if it is the oldest entry in the
1247            table and must be removed to make space for a new
1248            entry so as to not exceed sysApplPastRunMaxRows."
1249       DEFVAL      { 7200 }
1250       ::= { sysApplRun 7 }
1251
1252   sysApplElemPastRunMaxRows OBJECT-TYPE
1253       SYNTAX      Unsigned32 (0..'ffffffff'h)
1254       MAX-ACCESS  read-write
1255       STATUS      current
1256       DESCRIPTION
1257           "The maximum number of entries allowed in the
1258           sysApplElmtPastRunTable.  Once the number of rows in
1259           the sysApplElmtPastRunTable reaches this value,
1260           the management subsystem will remove the oldest entry
1261           to make room for the new entry to be added.  Entries
1262           will be removed on the basis of oldest
1263           sysApplElmtPastRunTimeEnded value first.
1264           This object may be used to control the amount of
1265           system resources that can used for sysApplElemPastRunTable
1266           entries. A conforming implementation should attempt
1267           to support the default value, however, a lesser value
1268           may be necessary due to implementation-dependent issues
1269           and resource availability."
1270       DEFVAL      { 500 }
1271       ::= { sysApplRun 8 }
1272
1273   sysApplElemPastRunTableRemItems OBJECT-TYPE
1274       SYNTAX      Counter32
1275       MAX-ACCESS  read-only
1276       STATUS      current
1277       DESCRIPTION
1278           "A counter of the number of entries removed from the
1279           sysApplElemPastRunTable because of table size limitations
1280           as set in sysApplElemPastRunMaxRows.  This counter is the
1281           number of entries the management subsystem has had to
1282           remove in order to make room for new entries (so as not
1283           to exceed the limit set by sysApplElemPastRunMaxRows) since
1284           the last initialization of the management subsystem."
1285       ::= { sysApplRun 9 }
1286
1287   sysApplElemPastRunTblTimeLimit OBJECT-TYPE
1288       SYNTAX      Unsigned32 (0..'ffffffff'h)
1289       UNITS       "seconds"
1290       MAX-ACCESS  read-write
1291       STATUS      current
1292       DESCRIPTION
1293           "The maximum time in seconds which an entry in the
1294            sysApplElemPastRunTable may exist before it is removed.
1295            Any entry that is older than this value will be
1296            removed (aged out) from the table.
1297
1298            Note that an entry may be aged out prior to reaching
1299            this time limit if it is the oldest entry in the
1300            table and must be removed to make space for a new
1301            entry so as to not exceed sysApplElemPastRunMaxRows."
1302       DEFVAL      { 7200 }
1303       ::= { sysApplRun 10 }
1304
1305   sysApplAgentPollInterval  OBJECT-TYPE
1306       SYNTAX      Unsigned32 (0..'ffffffff'h)
1307       UNITS       "seconds"
1308       MAX-ACCESS  read-write
1309       STATUS      current
1310       DESCRIPTION
1311           "The minimum interval in seconds that the management
1312           subsystem implementing this MIB will poll the status
1313           of the managed resources. Because of the non-trivial
1314           effort involved in polling the managed resources,
1315           and because the method for obtaining the status of
1316           the managed resources is implementation-dependent,
1317           a conformant implementation may chose a lower bound
1318           greater than 0.
1319
1320           A value of 0 indicates that there is no delay
1321           in the passing of information from the managed
1322           resources to the agent."
1323       DEFVAL      { 60 }
1324       ::= { sysApplRun 11 }
1325
1326
1327   -- sysApplMap Group
1328   -- This group contains a table, the sysApplMapTable,
1329   -- whose sole purpose is to provide a 'backwards'
1330   -- mapping so that, given a known sysApplElmtRunIndex
1331   -- (process identification number), the corresponding invoked
1332   -- application (sysApplRunIndex), installed element
1333   -- (sysApplInstallElmtIndex), and installed application
1334   -- package (sysApplInstallPkgIndex) can be quickly determined.
1335   --
1336   -- The table will contain one entry for each process
1337   -- currently running on the system.
1338   --
1339   -- A backwards mapping is extremely useful since the tables
1340   -- in this MIB module are typically indexed with the
1341   -- installed application package (sysApplInstallPkgIndex)
1342   -- as the primary key, and on down as required by the
1343   -- specific table, with the process ID number (sysApplElmtRunIndex)
1344   -- being the least significant key.
1345   --
1346   -- It is expected that management applications will use
1347   -- this mapping table by doing a 'GetNext' operation with
1348   -- the known process ID number (sysApplElmtRunIndex) as the partial
1349   -- instance identifier.  Assuming that there is an entry for
1350   -- the process, the result should return a single columnar value,
1351   -- the sysApplMapInstallPkgIndex, with the sysApplElmtRunIndex,
1352   -- sysApplRunIndex, and sysApplInstallElmtIndex contained in the
1353   -- instance identifier for the returned MIB object value.
1354   --
1355   -- NOTE: if the process can not be associated back to an
1356   -- invoked application installed on the system, then the
1357   -- value returned for the columnar value sysApplMapInstallPkgIndex
1358   -- will be '0' and the instance portion of the object-identifier
1359   -- will be the process ID number (sysApplElmtRunIndex) followed
1360
1361   -- by 0.0.
1362
1363   sysApplMapTable OBJECT-TYPE
1364       SYNTAX      SEQUENCE OF SysApplMapEntry
1365       MAX-ACCESS  not-accessible
1366       STATUS      current
1367       DESCRIPTION
1368           "The sole purpose of this table is to provide a
1369           'backwards' mapping so that, given a known
1370           sysApplElmtRunIndex (process identification number),
1371           the corresponding invoked application (sysApplRunIndex),
1372           installed element (sysApplInstallElmtIndex), and
1373           installed application package (sysApplInstallPkgIndex)
1374           can be quickly determined.
1375
1376           This table will contain one entry for each process
1377           that is currently executing on the system.
1378
1379           It is expected that management applications will use
1380           this mapping table by doing a 'GetNext' operation with
1381           the known process ID number (sysApplElmtRunIndex) as the
1382           partial instance identifier.  Assuming that there is an
1383           entry for the process, the result should return a single
1384           columnar value, the sysApplMapInstallPkgIndex, with the
1385           sysApplElmtRunIndex, sysApplRunIndex, and
1386           sysApplInstallElmtIndex contained in the instance identifier
1387           for the returned MIB object value.
1388
1389           NOTE: if the process can not be associated back to an
1390           invoked application installed on the system, then the
1391           value returned for the columnar value
1392           sysApplMapInstallPkgIndex will be '0' and the instance
1393           portion of the object-identifier will be the process ID
1394           number (sysApplElmtRunIndex) followed by 0.0."
1395       ::= { sysApplMap 1 }
1396
1397   sysApplMapEntry OBJECT-TYPE
1398       SYNTAX      SysApplMapEntry
1399       MAX-ACCESS  not-accessible
1400       STATUS      current
1401       DESCRIPTION
1402           "A logical row representing a process currently running
1403            on the system.  This entry provides the index mapping from
1404            process identifier, back to the invoked application,
1405            installed element, and finally, the installed application
1406            package.  The entry includes only one accessible columnar
1407            object, the sysApplMapInstallPkgIndex, but the
1408            invoked application and installed element can be
1409            determined from the instance identifier since they form
1410            part of the index clause."
1411       INDEX  { sysApplElmtRunIndex, sysApplElmtRunInvocID,
1412                sysApplMapInstallElmtIndex }
1413       ::= { sysApplMapTable 1 }
1414
1415   SysApplMapEntry ::= SEQUENCE {
1416       sysApplMapInstallElmtIndex    Unsigned32,
1417       sysApplMapInstallPkgIndex     Unsigned32
1418   }
1419
1420   sysApplMapInstallElmtIndex OBJECT-TYPE
1421       SYNTAX      Unsigned32 (0..'ffffffff'h)
1422       MAX-ACCESS  not-accessible
1423       STATUS      current
1424       DESCRIPTION
1425           "The index into the sysApplInstallElmtTable. The
1426           value of this object is the same value as the
1427           sysApplInstallElmtIndex for the application element
1428           of which this entry represents a running instance.
1429           If this process cannot be associated to an installed
1430           executable, the value should be '0'."
1431       ::= { sysApplMapEntry 1 }
1432
1433   sysApplMapInstallPkgIndex OBJECT-TYPE
1434       SYNTAX      Unsigned32 (0..'ffffffff'h)
1435       MAX-ACCESS  read-only
1436       STATUS      current
1437       DESCRIPTION
1438           "The value of this object identifies the installed
1439           software package for the application of which this
1440           process is a part.  Provided that the process's 'parent'
1441           application can be determined, the value of this object
1442           is the same value as the sysApplInstallPkgIndex for the
1443           entry in the sysApplInstallPkgTable that corresponds
1444           to the installed application of which this process
1445           is a part.
1446
1447           If, however, the 'parent' application cannot be
1448           determined, (for example the process is not part
1449           of a particular installed application), the value
1450           for this object is then '0', signifying that this
1451           process cannot be related back to an application,
1452           and in turn, an installed software package."
1453       ::= { sysApplMapEntry 2 }
1454
1455
1456   -- Conformance Macros
1457   sysApplMIBCompliances  OBJECT IDENTIFIER ::= { sysApplConformance 1 }
1458   sysApplMIBGroups       OBJECT IDENTIFIER ::= { sysApplConformance 2 }
1459
1460   sysApplMIBCompliance MODULE-COMPLIANCE
1461       STATUS  current
1462       DESCRIPTION
1463           "Describes the requirements for conformance to
1464           the System Application MIB"
1465       MODULE  -- this module
1466           MANDATORY-GROUPS { sysApplInstalledGroup,
1467                              sysApplRunGroup, sysApplMapGroup }
1468       ::= { sysApplMIBCompliances 1 }
1469
1470   sysApplInstalledGroup OBJECT-GROUP
1471       OBJECTS { sysApplInstallPkgManufacturer,
1472                 sysApplInstallPkgProductName,
1473                 sysApplInstallPkgVersion,
1474                 sysApplInstallPkgSerialNumber,
1475                 sysApplInstallPkgDate,
1476                 sysApplInstallPkgLocation,
1477                 sysApplInstallElmtName,
1478                 sysApplInstallElmtType,
1479                 sysApplInstallElmtDate,
1480                 sysApplInstallElmtPath,
1481                 sysApplInstallElmtSizeHigh,
1482                 sysApplInstallElmtSizeLow,
1483                 sysApplInstallElmtRole,
1484                 sysApplInstallElmtModifyDate,
1485                 sysApplInstallElmtCurSizeHigh,
1486                 sysApplInstallElmtCurSizeLow }
1487       STATUS  current
1488       DESCRIPTION
1489           "The system application installed group contains
1490           information about applications and their constituent
1491           components which have been installed on the host system."
1492       ::= { sysApplMIBGroups 1 }
1493
1494   sysApplRunGroup OBJECT-GROUP
1495       OBJECTS { sysApplRunStarted,
1496                 sysApplRunCurrentState,
1497                 sysApplPastRunStarted,
1498                 sysApplPastRunExitState,
1499                 sysApplPastRunTimeEnded,
1500                 sysApplElmtRunInstallID,
1501                 sysApplElmtRunTimeStarted,
1502                 sysApplElmtRunState,
1503                 sysApplElmtRunName,
1504                 sysApplElmtRunParameters,
1505                 sysApplElmtRunCPU,
1506                 sysApplElmtRunMemory,
1507                 sysApplElmtRunNumFiles,
1508                 sysApplElmtRunUser,
1509                 sysApplElmtPastRunInstallID,
1510                 sysApplElmtPastRunTimeStarted,
1511                 sysApplElmtPastRunTimeEnded,
1512                 sysApplElmtPastRunName,
1513                 sysApplElmtPastRunParameters,
1514                 sysApplElmtPastRunCPU,
1515                 sysApplElmtPastRunMemory,
1516                 sysApplElmtPastRunNumFiles,
1517                 sysApplElmtPastRunUser,
1518                 sysApplPastRunMaxRows,
1519                 sysApplPastRunTableRemItems,
1520                 sysApplPastRunTblTimeLimit,
1521                 sysApplElemPastRunMaxRows,
1522                 sysApplElemPastRunTableRemItems,
1523                 sysApplElemPastRunTblTimeLimit,
1524                 sysApplAgentPollInterval }
1525       STATUS  current
1526       DESCRIPTION
1527           "The system application run group contains information
1528           about applications and associated elements which have
1529           run or are currently running on the host system."
1530       ::= { sysApplMIBGroups 2 }
1531
1532   sysApplMapGroup OBJECT-GROUP
1533       OBJECTS { sysApplMapInstallPkgIndex }
1534       STATUS  current
1535       DESCRIPTION
1536           "The Map Group contains a single table, sysApplMapTable,
1537           that provides a backwards mapping for determining the
1538           invoked application, installed element, and installed
1539           application package given a known process identification
1540           number."
1541   ::= { sysApplMIBGroups 3 }
1542
1543   END