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. 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 }