Subject: JMP> More readable Job Monitoring MIB and other info posted

From: Tom Hastings <[email-masked]>
Date: Fri, 28 Mar 1997 17:34:56 PST

I've posted the other forms of the Job Monitoring MIB in:

  ftp.pwg.org/pub/pwg/jmp/mibs/
-rw-r--r--   1 pwg      pwg       120628 Mar 29 01:29 jmp-mib.mib
-rw-r--r--   1 pwg      pwg       414326 Mar 29 01:26 jmp-mib.pdf
-rw-r--r--   1 pwg      pwg       458240 Mar 29 01:09 jmp-mibr.doc
-rw-r--r--   1 pwg      pwg       458389 Mar 29 01:16 jmp-mibr.pdf
-rw-r--r--   1 pwg      pwg       466991 Mar 29 01:22 jmp-mibr.pdr
-rw-r--r--   1 pwg      pwg         5955 Mar 29 01:27 jmp.dic
-rw-r--r--   1 pwg      pwg        13312 Mar 29 01:26 mibvaria.dot

These forms use the more readable Times Roman outside the BEGIN/END.
The jmp-mibr.doc is the MS-WORD file with revision marks since V0.7,
dated 3/14/97 that went into making the Internet Draft (V0.71),
dated 3/26/97.  I also added the change history for V6 to V7 and V7 to
V7.1 (included in this mail message as well).

The jmp-mibr.* stands for with Revision marks.  

jmp-mib.pdf is without revision marks and corresponds to the Internet Draft.
jmp-mib.mib is the compilable BEGIN/END block of the MIB stripped of 
               headers and footers.
jmp-mibr.doc is the MS-WORD 6.0 source for V0.71 with revision marks.
jmp-mibr.pdf is the PDF form with (BLACK) revision marks.
jmp-mibr.pdr is the PDF form with RED revisin marks.
jmp.dic is the spelling dictionary
mibvaria.dot is the job template with TimesRoman fonts for the styles
             that are used outside the BEGIN/END block.

The line numbers run continuously throughout the document, while in the
Internet Draft, they start over at each page in order to make them fit and
to make them distinguishable from this file, since now we have two versions
of the clean MIB, with line numbers:  the Internet Draft and the jmp-mib file.

The Internet Draft does not have the change history and does not have the
cover page.

In theory, the Internet Draft is produced by deleting some sections from
jmp-mibr.doc and attaching mibfixed.dot, instead of mibvaria.dot.

Unfortunately, MS-WORD and the generic text printer driver conspire to make
it much more difficult.  The generic text printer driver uses overstriking
to generate page numbers, cross references and table entries.  A simple
post processor that merges overstrikes (lines separate by CR, instead of LF
or CRLF), would make it easy to use MS-WORD to generate and maintain MIBs.

I'll publish the list of remaining issues shortly for our upcoming JMP
meeting next week in Austin, Friday April 4.  I'll also try to respond
to the mail messages to indicate whether I put something into the document
or added it to the issues list.

Send any comments to the [email-masked] DL.

Thanks,
Tom

18. Change History (not to be included in the Internet Draft)
All future changes will be recorded here in reverse chronological order by
version.

18.1 Changes to version 0.7, dated 3/13/97 to make version 0.71, dated 3/26/97

1. Made the formatting changes necessary to make an Internet Draft.

2. Replaced Figure 1 with a Job State Transition table.

3. Clarified that an agent shall not return an SNMP error for an
instrumented object, but shall return the identifies distinguished value.

4. Removed the IMPORT for PrtInterpreterLangFamilyTC, since the MIB doesn't
acutally use this enum.  In fact no enums used in the Attributes table
actually need their enum TC imported into the Job Monitoring MIB, making the
Job Monitoring MIB more extensible for adding new attributes that have
textual conventions.  The MIB now imports very little.  Only DateAndTime,
because it is used in the Queue table.  Even the TimeStamp TC which is used
in the attribute table, need not be imported into the Job Monitoring MIB.

5. Explained why there is both a jmJobState and a jmJobStateReasons object:
so that the reasons can be extended without the monitoring application
becoming confused as to what is happening, since the states won't be extended.

6. Clarified that retained is an optional state and its relationship to the
completed state.  Added conformance that only the processing,
needsAttention, and completed states are required for conformance.

7. Changed the name of the jmAttributeValueAsText object to
jmAttributeValueAsOctets, since the DateAndTime type is binary, not text.
Changed the tag in the TC from "Text:" to "Octets".

8. Changed the name of the mediaConsumed(33) to mediumConsumed(33), since
each entry is singular.

18.2 Changes to version 0.6, dated 1/23/97 to make version 0.7, dated 3/13/97

Changes to version 0.6, dated 1/23/97 to make version 0.7, dated 1/29/97:

1. Added PWG agreed boiler plate Status of this Memo.

2. Updated the Abstract from Ron's comments.

3. Incorporated Ron's re-written Introduction.

4. Explained the job set concept as representing a queue within a printer or
a server, if the printer or server has several or the entire set of jobs, if
the printer or server has only one queue. 
 
5. Introduced the terminology of "attribute" instead of resource, since our
table represents more than just resources now, as we agreed to move many
non-resource objects into it.  Changed the name of the group and table from
jmResource to jmAttribute.

6. Clarified that the JmAttributesTypeTC and jmAttributesTable contains
information about the job, such as file name, document name, , as well as
resources requested and/or consumed.  Re-organized the attributes into
groups of similar attributes.

7. Added more explanation about configuration 1 and 2 and added
Configuration 3 as agreed to cover the case of a monitoring application that
monitors a server not using SNMP while also monitoring using our MIB the
printer(s) that the server controls.

8. Added more explanation of the security, internationalization, and IANA
considerations.

9. Deleted the Job Set Group, since the monitoring application can find all
the job sets via a Get.

10. Removed the jmResourceUnits object and specified the units in each
jmAttributeTypeIndex enum.  This makes it clearer what the units are and
reduces the variability between agent implementations, thus making
monitoring applications easier.  Also cleanup the attribute names by adding
the data type to the attribute name for those attributes that have more than
one type that differs in the units (Index vs Name, Name vs. Enum,
DateAndTime vs TimeStamp).

11. Added the TimeStamp data type as an alternative to DateAndTime and
doubled the number of attributes that have to do with time.

12. Deleted the JmQueuingAlgorithmTC and RmResourceUnitsTC textual-conventions.

13. Added other(1) and unknown(2) to the JmJobTypesTC and moved the rest of
the bits over.

14. Added other(1) to the JmJobStatesTC.

15. Added jobPrinting(45) to the JmJobStateReasonsTC to align with IPP.

16. Move 9 objects from the jmJobTable to the JmAttributeTypeTC and
jmAttributeTable, making them attributes:  jobAccountName, jobComment,
jobSourceChannelIndex, physicalDeviceName, jobTotalKOctets,
jobKOctetsCompleted, jobSubmissionDateAndTime, jobSubmissionTimeStamp,
jobStartedProcessingDateAndTime, jobStartedProcessingTimeStamp,
jobCompletionDateAndTime, jobCompletionTimeStamp.  NOTE that some objects
became two attributes as we have two forms of time.  Also made the end of
each name indicate the data type.

17. Added Requested, Completed, and CompletedCurrentCopy forms for
impressions, sheets, and pages attributes.

18. Added: other(1), outputBin(9) attributes.

19. Added "CPU" to processingCPUTime attribute.

20. Added jmGeneralJobSetName so that the user could associate a name with a
job set when the implementation had more than one job set.  The name would
typically be the queue name in such a case.

21. Added jmGeneralNumberOfJobsCompleted and renamed
jmGeneralCurrentNumberOfJobs  to jmGeneralNumberOfJobsToComplete, so that a
monitoring application can find out how many jobs have completed for the
jmCompletedTable and how many are still to be comppleted.  Their sum in the
total number of jobs in the jmJobTable.

22. Clarified that jmQueueIndex shall be monitonically increasing which can
change as new job arrive or the configuration changes.

23. Added the word Queue to make jmQueueJobIndex in the Queue table.

24. Clarifed that the jmQueueJobIndex and jmJobIndex shall not be 0 as
required by SNMP for indexes.  This gives agents that want to use the
job-identifier that is generated by the system as the value for the
jmJobIndex and jmQueueJobIndex a problem, if 0 is a legal value, such as in LPD.

25. Clarified the distinction betwen jmJobName and jmJobComment (now
jobComment attribute): jmJobName is more of a name for identificaion
purposes while jobComment is free form text that often isn't present and is
intended to convey anything the submitting user wanted to convey usually to
him/herself.

26. Clarified that -2 (unknown) shall be returned if the value of
jmJobIndexNumber is unknown as in the Printer MIB convention.

27. Added "OrQueue" to make jmJobDeviceNameOrQueueRequested, since some
didn't know which object to use for a system in which the user specifies a
queue.

28. Added upper bound in jmJobIndex so that the MIB would compile.

29. Added "Index" to make jmAttributeTypeIndex object, since this object is
both a type and an index.

30. Changed the name of the jmResourceIndex to jmAttributeInstanceIndex,
since this index can be used for attributes that can have more than one
instance per job, such as fileName, documentFormat, outputBin, etc.

31. Clarified that the jmAttributeInstanceIndex shall be the document number
for those attributes that are one to one with a document, such as
fileName(3) and documentName(4).

32. Replaced the jmResourceAmount with jmAttributeValueAsInteger and
jmAttributeValueAsText