For those not following the JMP DL, the first Internet-Draft Job Monitoring
MIB was announced.
Easier to read versions are posted on the PWG ftp server, as indicated in the
e-mail attached at the end of this message.
>Return-Path: <jmp-owner at pwg.org>
>X-Sender: hastings at zazen>Date: Wed, 30 Apr 1997 12:06:40 PDT
>To: jmp at pwg.org>From: Tom Hastings <hastings at cp10.es.xerox.com>
>Subject: JMP> GWD: Job Monitoring MIB announced as an Internet Draft
>Sender: jmp-owner at pwg.org>>>Return-Path: <pwg-owner at pwg.org>
>>To: IETF-Announce at ietf.org>>Cc: pwg at pwg.org>>From: Internet-Drafts at ietf.org>>Reply-To: Internet-Drafts at ietf.org>>Subject: PWG> I-D ACTION:draft-ietf-printmib-job-monitor-00.txt
>>Date: Wed, 30 Apr 1997 07:19:49 PDT
>>Sender: owner-pwg at pwg.org>>>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories. This draft is a work item of the Printer MIB Working Group of
>> the IETF.
>>>> Title : Job Monitoring MIB - V0.81
>> Author(s) : R. Bergman, T. Hastings, S. Isaacson, H. Lewis
>> Filename : draft-ietf-printmib-job-monitor-00.txt
>> Pages : 78
>> Date : 04/29/1997
>>>>This Internet-Draft specifies a set of 13 SNMP MIB objects for (1)
>>monitoring the status and progress of print jobs (2) obtaining resource
>>requirements before a job is processed, (3) monitoring resource consumption
>>while a job is being processed and (4) collecting resource accounting data
>>after the completion of a job. This MIB is intended to be implemented (1)
>>in a printer or (2) in a server that supports one or more printers. Use of
>>the object set is not limited to printing. However, support for services
>>other than printing is outside the scope of this Job Monitoring MIB.
>>Future extensions to this MIB may include, but are not limited to, fax
>>machines and scanners.
>>>>Internet-Drafts are available by anonymous FTP. Login with the username
>>"anonymous" and a password of your e-mail address. After logging in,
>>type "cd internet-drafts" and then
>> "get draft-ietf-printmib-job-monitor-00.txt".
>>A URL for the Internet-Draft is:
>>ftp://ds.internic.net/internet-drafts/draft-ietf-printmib-job-monitor-00.txt>>>>Internet-Drafts directories are located at:
>>>> o Africa: ftp.is.co.za
>>>> o Europe: ftp.nordu.net
>>>> o Pacific Rim: munnari.oz.au
>>>> o US East Coast: ds.internic.net
>>>> o US West Coast: ftp.isi.edu
>>>>Internet-Drafts are also available by mail.
>>>>Send a message to: mailserv at ds.internic.net. In the body type:
>> "FILE /internet-drafts/draft-ietf-printmib-job-monitor-00.txt".
>>>>NOTE: The mail server at ds.internic.net can return the document in
>> MIME-encoded form by using the "mpack" utility. To use this
>> feature, insert the command "ENCODING mime" before the "FILE"
>> command. To decode the response(s), you will need "munpack" or
>> a MIME-compliant mail reader. Different MIME-compliant mail readers
>> exhibit different behavior, especially when dealing with
>> "multipart" MIME messages (i.e., documents which have been split
>> up into multiple messages), so check your local documentation on
>> how to manipulate these messages.
>>>>>>>>Below is the data which will enable a MIME compliant mail reader
>>implementation to automatically retrieve the ASCII version
>>of the Internet-Draft.
>>Content-ID: <19970429141239.I-D at ietf.org>
>>Content-ID: <19970429141239.I-D at ietf.org>
Return-Path: <jmp-owner at pwg.org>
X-Sender: hastings at zazen
Date: Mon, 28 Apr 1997 18:19:46 PDT
To: jmp at pwg.org
From: Tom Hastings <hastings at cp10.es.xerox.com>
Subject: JMP> Job Monnitoring MIB I-D posted
Cc: "Chris Wellens" <chrisw at iwl.com>
Sender: jmp-owner at pwg.org
I've posted the Internet Draft based on our agreements at the Austin meeting
as version 0.81:
-rw-r--r-- 1 pwg pwg 189247 Apr 29 01:00 draft-ietf-printmib-job-monitor-00.txt
and sent it off to internet-drafts at ietf.org
It compiles with one warning with SMICng, Epilogue, and Mosy compilers.
I avoided using the new BITS data type, by assigning four 31-bit attributes
to jobStateReasons: jobStateReason1, jobStateReason2, jobStateReasons3,
and defining the bit values as hexadecimal in the DESCRIPTION,
so that we aren't forced into newer versions of the compilers.
The one warning is about the assignment of the experimental OID which happens
between the BEGIN and the MODULE-IDENTITY where nothing is supposed to be.
I kept the original 00 file name that didn't quite make the deadline. We made
a lot of changes following Harry's suggestions. I've attached the change
to show the changes. Harry and Ron have fed back some comments which I've
but I'm sure they (and the rest of you) will have more.
I've also posted more readable versions as:
-rw-r--r-- 1 pwg pwg 422912 Apr 29 00:34 jmp-mibr.doc
-rw-r--r-- 1 pwg pwg 348534 Apr 29 00:35 jmp-mibr.pdf
-rw-r--r-- 1 pwg pwg 275477 Apr 29 00:36 jmp-mibv.pdf
-rw-r--r-- 1 pwg pwg 6595 Apr 29 00:36 jmp.dic
-rw-r--r-- 1 pwg pwg 13312 Apr 29 00:36 mibvaria.dot
The jmp-mibv.pdf is without revision marks and has all variable pitch font
See what a MIB looks like with a variable pitch font.
The jmp-mibr.pdf is with revision marks to show the changes since the Austin
I'll post the issues list tommorrow.
I've also included the .doc file with the revision marks. If you want to
by editing the .doc file, please accept revisions FIRST, and then turn on
marks while editing, so we can see your changes.
With Ira McDonald's tools, I was able to produce the flat ASCII text file
from the jmp-mibr.doc file using the generic text printer driver. I'll write up
the steps as to how for those other PWG editors that are doing the same
other specs. I also used his maxln to find that four lines had exceeded 72
by 1 character (I have to move the right margin on a table in by a character).
15. Change History (not to be included in the Internet Draft)
All future changes will be recorded here in reverse chronological order by
15.1 Changes to version 0.8, dated 4/4/97 to make version 0.81, dated 4/24/97
1. Deleted the JmTimeIntervalTC and used just Integer with the spec saying
seconds for jmGeneralJobPersistence and jmGeneralAttributePersistence and
2. Changed the name of JmTimeTC to JmTimeStampTC to following the name in
SMIv2, but for which we need to define in our spec because its in seconds
and is defined as an integer, not an APPLICATION 3 IMPLICIT INTEGER, so that
it can be a value of jmAttribteValueAsInteger.
3. Removed repetitious and redunant material as per Ron Bergman's suggestions.
4. Add the following textual conventions in order to add some attributes
suggested by Harry: JmFinishingTC, JmPrintQualityTC, JmTonerEconomyTC,
5. Added unknown(2) to JmJobStateTC and renumberd the states.
6. Added the following attributes: jobHoldUntil to align with IPP
7. Removed "jmJob" and "OrQueue" from jmJobDeviceNameOrQueueRequested to
yield deviceNameRequested and added queueNameRequested, so that they are
separate and so an application can give the best display to the user.
8. Added the following attributes from Harry's list: serverAssignedJobName,
jobSourcePlatformType, submittingServerName, submittingApplicationName,
finishing, printQualityRequested, printQualityUsed, tonerEcomonyRequested,
tonerEcomonyUsed, tonerDensityRequested, tonerDensityUsed.
9. Added mediumRequestedType and added "Name" to mediumConsumedName, so that
implementation could use enums or strings as with other attributes.
10. Added numberOfDocuments object.
11. Changed documentFormatEnum to documentFormatType, to be consistent with
other attributes that define types using enums.
12. Added jobKOctetsTransferred per Ron's request, since some implementation
don't really know when Octets have been processed or printed.
13. Split up jobSubmissionDateAndTime into jobSubmissionToServerDateAndTime
and jobSubmissionToDeviceDateAndTime and aded "ToDevice" to make
14. Indicated that -2 can be used to mean unknow for integer values, or the
attribute can be omitted from the table.
15. Broke jobStateReasons attribute into four: jobStateReasons1,
jobStateReasons2, jobStateReasons3, and jobStateReasons4 attributes, with
corresponding JmJobStateReasons1TC, JmJobStateReasons1TC,
JmJobStateReasons1TC, and JmJobStateReasons1TC, textual conventions that
define the bits in a 32-bit integer, so that we don't need to use the new
BITS data type in RFC 1903 which most implementors are not yet using.
16. Defined JmJobServiceTypesTC as bits in an integer as well, so that we
don't need to use BITS data type.
17. Clarified that it is jmGeneralNewestActiveJobIndex that needs to be
persistent across power cycles, not all of the values of jmJobIndex. Thus
after power up, old jmJobIndex values are not used until the implementation
15.2 Changes to version 0.71, dated 3/26/97 to make version 0.8, dated 4/4/97
1. Corresponds to the changes agreed to at the JMP meeting, 04/04/97 in
Austin. Harry Lewis's changes to eliminate the Queue and Completed tables
and to replace the Job table with the Job ID and Job State table have been
2. Added more of a summary to the Introduction
3. Added section 1.2, Types of Job Montoring Applications talked about in
Austin and described (1) monitoring a single job, (2) monitoring all active
jobs, (3) collect usage data for accounting or system utilization.
4. Clarified that an implementation with only a single job set can hard code
the Job Set Index as 1.
5. Deleted redundant material that is also within the BEGIN END, such as the
definitions of the job states. Also deleted the copy of the picture that is
in the Printer MIB and just made a reference to it in Section 3.
6. Changed section 4 on Job Identification to reflect the new Job ID table
and the Job Submission ID mechanism that allows a client to directly find
the jmJobIndex for a particular job, form the Job Submission ID, without
having to scan the whole job table.
7. Added the following TC: JmTimeTC, JmTimeIntervalTC
8. Simplified the job states by removing: preProcessing, printing, paused,
interrupted and retained. Add job state reasons to represent these
sub-states of held and completed.
9. Renamed the terminating job state to canceled and clarifed that a job
winds up in either completed or canceled, as per Harry's proposal that we
reviewed in Austin.
10. Made each of the objects in the jmJobStateTable also appear as
attributes in the jmAttributeTable, so that an accounting or usage
application can make a single sweep through one table. Also moved the
objects from the deleted tables that we agreed to keep in Austin. So the
following attributes were added: jobState, jobStateAssociatedValue,
jobStateReasons, numberOfInterveningJobs, deviceAlertCode, jobName,
jobServiceTypes, jobOwner, jobDeviceNameOrQueueRequested, jobPriority,
jobProcessafterDateAndTime, jobKOctetsRequested, jobKOctetsCompleted, and
11. Moved jmJobSetIndex and jmJobIndex to the jmJobIDTable
12. Changed the name of the jmGeneralJobCompletedPolicy object to
jmGeneralJobPersistence as per Harry's proposal and added the
jmGeneralAttributePersistence object, so that the length of time for the
accounting program to poll is clear and the time that the mandatory
attributes and jmJobStateTable and jmJobIdTable data stay around.
13. Deleted the jmGeneralMaxNumberOfJobs, since not needed
14. Added jmGeneralOldestActiveJobIndex and jmGeneralNewestActiveJobIndex to
help applications find the active jobs more quickly without having to scan
over the completed/canceled jobs.
15. Deleted the JmQueueGroup and table and the jmCompleterGroup and table.
The jmJobID and jmJobState group/table are simpler and do the job with the
deleted objects moving to the attribute table.
16. Added the jmJobIdGroup and table.
17. Added the jmJobStateGroup and table.
18. Fixed the conformance to agree with the above changes with all groups
being mandatory and some attributes being mandatory (as comments).
19. Added the monitoring application conformance requirement to accept
either form of time attribute, if it supports a time attribute.