This paper summarizes my understanding of the current status of the
proposed objects for the Job Monitor project. I believe that this
document is necessary since the JMP minutes for the last two meeting
were never published.
I have also included a revised set of definitions for the objects to
replace the DPA set originally provided by Tom Hastings. My objective
in writing these descriptions was to develop a minimal definition that
could be expanded to a final form. I feel that the DPA definitions are
extremely restrictive and limiting in many areas. We need a concise set
of definitions that are applicable and useable with any job submission
protocol and model.
Since I will not be able to attend the NYC meeting, I trust that Tom
Hastings will make use of this document in the session devoted to the
Job Monitor Project. (Note that my absence is not due to a fear of the
Big Apple, the expense of the meeting or the limited attendance by
others. I was not able to attend the San Diego meeting due to a similar
situation. And that meeting had none of the above problems!) I hope to
see everyone in New Orleans!!!
------------------------------------------------------------------------
JOB IDENTIFICATION OBJECTS:
1. jobIdOnClient: (String, max TBD) This object identifies the job on
the device that initiated the job. The format and method of generating
this object is expected to be defined by the Job Submission protocol and
is beyond the scope of this document. This object must include
sufficient information to uniquely identify the job on the network
visible to the client and target device.
*** THE FOLLOWING TWO OBJECTS ARE OF QUESTIONABLE VALUE ***
2. jobDownsteamId: (String, max TBD) This object identfies the job on
the next downstream server.
3. jobUpstreamId: (String, max TBD) This object identfies the job on
the next upstream server.
*** PROPOSED ALTERNATIVES TO THE ABOVE TWO OBJECTS ***
2. jobIdOnPktSrc: (String, max TBD) This object specifies the
identifier as assigned by the entity that is currently sending the data
set. The value of this object will change as the data set moves from
server to server.
3. jobIdOnPktDest: (String, max TBD) This object specifies the
identifier as assigned by the entity that is currently receiving the
data set. The value of this object will change as the data set moves
from server to server.
*** ARE EITHER OF THESE PROPOSALS REALLY NECESSARY ??? ***
4. jobIdOnDevice: (String, max TBD) This object identifies the job on
the device which is currently processing the job. The processing device
includes, but is not limited to, printers, faxes, scanners, spoolers,
and files servers. The value of this object may change for systems that
include intermediate devices such as file servers and spoolers.
5. jobType: (enum) This object specifies the type of service requested
to process the job.
6. jobOwner: (String, max TBD) This object identifies the client that
submitted the job. The method of assigning this name will be system
and/or site specific but the method must insure that the name is unique
to the network visible to the client and target device.
7. jobChannel: (enum) This object defines an equivalent to the print
job delivery channel as defined in the Printer MIB.
8. jobMagicCookie: (??) This object defines the protocol path from the
physical layer to the jobChannel. The format of this object will be
similar to the work in process for the Printer MIB.
9. jobName: (String, max TBD) This object is an ASCII text string which
identifies the job. This is expected to be human readable form of
jobIdOnClient.
*** IS THIS OBJECT SIGNIFICANTLY UNIQUE TO BE OF VALUE ??? ***
10. jobDocument: (String, max TBD) This object defines a name for the
job. The name is typically expected to be the file or file/path name of
the source of the job. The name does not need to be globally unique.
(The name would typically be repeated if several jobs from the same file
are simultaneously in the jon queue.)
11. jobSubmissionTime: (DateAndTime) This object indicates the time and
date the job was submitted by the client.
12. jobComment: (String, max TBD) This object provides a user
defineable, application specific field. (Post-it note)
13. jobDeviceName: (String, max TBD) This object specifies the
administratively defined name of the target device.
JOB PARAMETERS:
*** THE VALUE OF THESE PARAMETERS HAS BEEN QUESTIONED, ***
*** SINCE THIS IS NOT A JOB SUBMISSION PROTOCOL ***
*** PROPOSE THAT ONLY THE ITEMS THAT INDICATE STATUS OR ***
*** PROVIDE ACCOUNTING INFORMATION BE RETAINED !!! ***
1. jobCopiesRequested (Integer32)
2. jobMediaPathRequested (enum)
3. jobPDLRequested (enum)
4. jobPriorityRequested (Integer)
5. jobResourceRequested (enum)
6. jobResourceNamesRequested (String)
7. jobDestinationRequested (String)
8. jobProcessAfterTime (TimeAndDate)
9. jobMessageToOperator (String)
STATUS AND ACCOUNTING PARAMETERS:
1. jobState (enum ?) This object defines the current state of the job.
(e.g. queued, printing, completed, etc.)
2. jobStateReason (bit map) This object provides additional information
regarding the the jobState.
3. jobDeviceUsed (hrDeviceIndex) This object identifies the physical
device or devices used to complete the job.
*** FURTHER WORK IS REQUIRED TO DEFINE THIS OBJECT AND ***
*** ITS RELATION TO THE REMAINING OBJECTS !!! ***
*** SHOULD A SEPARATE PACKET BE RETURNED FOR EACH DEVICE OR ***
*** TRY TO COMBINE ALL INTO ONE ??? ***
*** HOW IS ALL THIS INFORMATION TO BE COMBINED ??? ***
4. jobOctetsCompleted (Counter64) This object defines the number of
octetes currently processed by the device. For multiple copies
generated from a single data stream, the value shall be incremented as
if each copy was printed from a new data stream without resetting the
count between copies.
*** OBJECTS 5, 6, AND 7 WILL BE A TABLE WITH AN ENTRY FOR EACH ***
*** MEDIA TYPE USED. ***
5. jobMedia (?) This object indicates the media used for this table
entry. I propose that this be the prtInputIndex. Information regarding
the media can then be obtained from the Printer MIB.
6. jobImpressionsCompleted (Counter32) This object defines the total
number of sides that have been completed for this job. Each physical
sheet has two possible side. (i.e. For a duplex printing job, the
number of impressions will be 2 for each physical sheet printed on both
sides.)
7. jobMediaSheetsCompleted (Counter32) This object defines the total
number of physical sheets that have been completed for this job.
8. jobProcessingTimeCompleted (Counter32) This object defines the
processing time, in seconds, consumed by the job.
9. jobStartingTime (DateAndTime) This object indicates the time the job
started printing.
10. jobCompletionTime (DataAndTime) This object defines the time the job
finished printing.
11. jobWarningCount (Counter32) This object contains a count of the
number of warning events that occurred during the processing of the job.
12. jobErrorCount (Counter32) This object contains a count of the
number of error events that occurred during the processing of the job.
13. jobPositionInQueue (Counter32) This object indicates the number of
jobs preceeding this job in the print queue.
14. jobAccountName (String, max TBD) This object contains information
to be used by an accounting system to categorize charges.
*** OBJECTS 15, 16, 17 AND 18 WILL BE A TABLE WITH AN ENTRY ***
*** FOR EACH CONSUMABLE USED. ***
15. jobConsumableId (enum) This object defines the resource used.
16. jobConsumableName (String, max TBD) This object provides an ASCII
text string which describes the consumable.
17. jobConsumableUnit (enum) This objects defines the units of measure
for the consumable.
18. jobConsumableUsed (Integer32) This object indicates the amount of
the resource consumed.
19. pdlUsed (enum) This object defines the PDL(s) used by the job.