Subject: JMP> JMP Suggestion to move 8 objects to the ResourcesTable

From: Tom Hastings <[email-masked]>
Date: Wed, 5 Feb 1997 01:38:38 PST

Subj:  JMP Suggestion to move 8 objects to the ResourcesTable
From:  Tom Hastings and Ira McDonald
File:  move8obj.txt
Date:  2/4/97

We have a suggestion to move 8 objects from the jmJobTable
to become enums in the jmResourceTable.  This would effectively
remove 8 objects from the MIB, while still providing the capability
to represent the same information.  However, we have
another suggestion that makes all of the objects in the
jmResourceTable directly addressable.  Then an application
need not copy all of the resource items, in order to find a
particular one.

The idea is to insert a fourth index between the current
second and third indexes.  The value of the new thrid index
will be the jmResourceType enum and the fourth index will be
the instance within that type.  For those resources that are
per-document, such as fileName(3), documentName(4), and
documentPages(new) the fourth index is the document number
within the job.  For the new resource, For those resources
that can have multiple values per job, but are not per
document, the fourth index is just an instance index.  For
example, interpreter(10), the fourth index is just an
instance index.

So the indexes for the jmResourceTable will be in order:

     1. jmJobSetIndex
     2. jmJobIndex
     3. jmResourceType        -- new
     4. jmResourceIndex

We propose that we move any object from the jmJobTable to
the jmResourceTable that:

     1. Is hard to implement, such as objects with syntax: DateAndTime
     2. May not be implemented in some implementations, such as jmAccountName.
     3. Take a lot of space and may not be implemented, such as jmJobComment.

We propose to move the following objects from the jmJobTable
to become enums in the jmResourceTable:

-- Job Identification (I) objects:
jmJobSourceChannel               Integer32(1..2147483647),
jmJobSubmissionTime              DateAndTime,
jmJobComment                     OCTET STRING(SIZE(0..63)),

-- Job Parameters (P) objects:
jmJobTotalKOctets                Integer32(0..2147483647),

-- Job Accounting (A) objects:
jmJobKOctetsCompleted            Counter32(0..2147483647),
jmJobStartedProcessingTime       DateAndTime,
jmJobCompletionTime              DateAndTime,
jmJobAccountName                 OCTET STRING(SIZE(0..63))

The resulting enum names are (dropping the jm and
lowercasing the first remaining letter:
jobSourceChannel
jobSubmissionTime
jobComment

-- Job Parameters (P) objects:
jobTotalKOctets

-- Job Accounting (A) objects:
jobKOctetsCompleted
jobStartedProcessingTime
jobCompletionTime
jobAccountName

This leaves the following 10 objects in the jmJobTable:

JmJobEntry ::= SEQUENCE {
-- Job Identification (I) objects:
jmJobIndex                       Integer32(0..2147483647),
jmJobName                        OCTET STRING(SIZE(0..63)),
jmJobIdName                      OCTET STRING(SIZE(0..63)),
jmJobIdNumber                    Integer32(0..2147483647),
jmJobTypes                       JmJobTypesTC,
jmJobOwner                       OCTET STRING(SIZE(0..63)),
jmJobDeviceNameRequested         OCTET STRING(SIZE(0..63)),
jmDeviceIndex                    Integer32(1..2147483647),

-- Job Status (S) objects:
jmJobCurrentState                JmJobStateTC,
jmJobStateReasons                OCTET STRING(SIZE(0..63)),
                                 -- encoded as a bit string
}

2. There is one object that we think should be added:

jmJobSetName which is a text string that could be the name
of the queue, server, or printer that the system
administrator may assign to each job set.  For a printer
that has only one job set, the jmJobSetName would most
likely be the printer name.  For a server that has only job
set, the jmJobSetName would most likely be the server name.
For a server or printer that has multiple job sets, each job
set would most likely be the name of the queue associated
with each job set.

jmJobSetName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is the human readable string name of
        the job set as assigned by the system adminstrator
        to help distinguish between multiple job sets.  This
        name does not need to be unique.
        
        If the agent is instrumting a printer and that
        printer has only one job set, this object could be
        the name of the printer.  If the agent is
        instrumenting a server and that server has only one
        job set, this object could be the name of the
        server.  If the printer or server has multiple job
        sets, this object could be the name of the queue
        associated with the job set."
    ::= { jmGeneralEntry 2 }