Subject: PWG> JMP> FWD: Job Monitoring MIB announced as an Internet Draft

From: Tom Hastings <[email-masked]>
Date: Sun, 4 May 1997 00:31:16 PDT

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.

Tom

>Return-Path: <[email-masked]>
>X-Sender: hastings@zazen
>Date: Wed, 30 Apr 1997 12:06:40 PDT
>To: [email-masked]
>From: Tom Hastings <[email-masked]>
>Subject: JMP> GWD: Job Monitoring MIB announced as an Internet Draft
>Sender: [email-masked]
>
>>Return-Path: <[email-masked]>
>>To: [email-masked]
>>Cc: [email-masked]
>>From: [email-masked]
>>Reply-To: [email-masked]
>>Subject: PWG> I-D ACTION:draft-ietf-printmib-job-monitor-00.txt
>>Date: Wed, 30 Apr 1997 07:19:49 PDT
>>Sender: [email-masked]
>>
>> 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            	
>>                 ftp.nis.garr.it                 
>>	                                                
>>     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:  [email-masked]. 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-Type: text/plain
>>Content-ID: <[email-masked]>
>>
>>ENCODING mime
>>FILE /internet-drafts/draft-ietf-printmib-job-monitor-00.txt
>>Content-Type: text/plain
>>Content-ID: <[email-masked]>
>>
>
>
>

Return-Path: <[email-masked]>
X-Sender: hastings@zazen
Date: Mon, 28 Apr 1997 18:19:46 PDT
To: [email-masked]
From: Tom Hastings <[email-masked]>
Subject: JMP> Job Monnitoring MIB I-D posted
Cc: "Chris Wellens" <[email-masked]>
Sender: [email-masked]

I've posted the Internet Draft based on our agreements at the Austin meeting
as version 0.81:

ftp://ftp.pwg.org/pub/pwg/jmp/internet-drafts/
-rw-r--r-- 1 pwg pwg 189247 Apr 29 01:00 draft-ietf-printmib-job-monitor-00.txt

and sent it off to [email-masked]

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,
jobStateReasons4
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
history
to show the changes.  Harry and Ron have fed back some comments which I've
incorporated,
but I'm sure they (and the rest of you) will have more.

I've also posted more readable versions as:

ftp://ftp.pwg.org/pub/pwg/jmp/mibs/
-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
(TimesRoman 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
meeting.

I'll post the issues list tommorrow.

I've also included the .doc file with the revision marks.  If you want to
make comments
by editing the .doc file, please accept revisions FIRST, and then turn on
revision
marks while editing, so we can see your changes.

Thanks,
Tom

P.S.

With Ira McDonald's tools, I was able to produce the flat ASCII text file
directly
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
thing with
other specs.  I also used his maxln to find that four lines had exceeded 72
characters
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
version.

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

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,
JmTonerDensityTC, JmMediumTypeTC.

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

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
wraps jmJobIndex.

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

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

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.