Subject: JMP> Some Editorial Comments on the Job Monitoring MIB

From: Tom Hastings <[email-masked]>
Date: Fri, 20 Jun 1997 14:02:48 PDT

I've posted the attached file as a .doc, .txt, and .pdf file as well.  They 
show the changes using revision marks.  I'll bring copies of this to the
meeting.

  ftp://ftp.pwg.org/pub/pwg/jmp/contributions/
-rw-r--r--   1 pwg      pwg        37888 Jun 20 20:56 edtcomth.doc
-rw-r--r--   1 pwg      pwg        19901 Jun 20 20:56 edtcomth.pdf
-rw-r--r--   1 pwg      pwg         8669 Jun 20 20:56 edtcomth.txt

Tom

Subj:  Some Editorial Comments on the Job Monitoring MIB
From: Tom Hastings
Date:     6/20/97
File:     edtcomth.doc

1. Page 39, fileName(34) - Clarify that the file name could
be a URI.  Need a reference to a URI.  So change the
description to:

     fileName(34),                    -- OCTET STRING(SIZE(0..63))
         -- OCTETS:  MULTI-ROW:  The coded character set file name or
         -- URI[9] of the document.
         -- 
         -- There is no restriction on the same file name in multiple
         -- rows.

2. Page 40, documentFormat(38), change "MIME type" to "media
types", since that is what IANA registers, but IANA also
calls them MIME content-type/subtype names and add a
reference to the IANA registry.

     documentFormat(38),              -- PrtInterpreterLangFamilyTC
                                      -- AND/OR
                                      -- OCTET STRING(SIZE(0..63))
         -- INTEGER:  MULTI-ROW:  The interpreter language family
         -- corresponding to the Printer MIB[1]
         -- prtInterpreterLangFamily object, that this job
         -- requires/uses.  A document or a job MAY use more than one
         -- PDL or control language.
         -- 
         -- NOTE - This attribute is represented by a type 2 enum
         -- defined in the draft Printer MIB[1], but is not in RFC
         -- 1759.
         -- 
         -- AND/OR
         -- 
         -- OCTETS:  MULTI-ROW:  The document format registered as a
         -- mediaMIME type[8], i.e., the name of the MIME content-
         -- type/subtype.  Examples: 'application/postscript',
         -- 'application/vnd.hp-PCL', and 'application/pdf'
         -- 
         -- NOTE - IPP[3] uses MIME content-type/subtype
         -- nameskeywords to identify document formats.

3. Add a reference to the documentFormat attribute in the
IANA Considerations section.

4. Clarify that the CPU time reproducibility is for the same
device:
     jobProcessingCPUTime(198)        -- Integer32(-2..2147483647)
         -- INTEGER:  The amount of CPU time that the job has been
         -- processing in seconds, i.e., in the processing job state.
         -- If the device stops and/or the job enters the
         -- processingStopped state, that elapsed time SHALL not be
         -- included.  In other words, the jobProcessingCPUTime value
         -- SHOULD be relatively repeatable when the same job is
         -- submitted again to the same device.

5. Page 47, timeSinceJobWasSubmittedToDevice(192) - units
should be the changed from seconds to milliseconds so at to
be the same as the other two timeSinceXxx attributes and as
IPP, if we keep these three attributes at all (see Harry's
issue 107).

6. If IPP changes the "printer-resolution" attribute from a
keyword to two integers, the Job Monitoring MIB should do
the same.  I suggest that we just make printerResolution
attribute be MULTI-ROW with integer data type.  If there is
only one value, it is the same for both x and y directions.
If the values are different then there are two entries, with
the first being the x (short edge direction) resolution.

7. I added the data type and range to the table of contents
which showed some inconsistencies on the lower bound.
Sometimes we have -2 and sometimes 0.  0 should remain for
copies of indexes meaning no index (or do we want -2 to
indicate unknown index?) and 1 should remain for actual
indexes.  However, I think that other 0 lower limits should
be changes to -2 for consistency and to get the unknown
value possible for them.  The ones to change from 0 to -2
lower bound are:

  numberOfDocuments   (Int32(0..))
  outputBin   (Int32(0..) and/or Octets63)
  timeSinceJobWasSubmittedToDevice   (Int32(0..))

Here is the full table of contents:

   JmAttributeTypeTC - attribute type definitions
      other   (Int32(-2..) and/or Octets63)
      unknown   (Int32(-2..) or Octets63)
     Job State attributes
      jobStateReasons2   (JmJobStateReasons2TC)
      jobStateReasons3   (JmJobStateReasons3TC)
      jobStateReasons4   (JmJobStateReasons4TC)
      deviceAlertCode   (PrtAlertCodeTC)
      processingMessage   (Octets63)
     Job Identification attributes
      jobOwner   (Octets63)   (MANDATORY)
      jobAccountName   (Octets63)
      serverAssignedJobName   (Octets63)
      jobName   (Octets63)
      jobServiceTypes   (JmJobServiceTypesTC)
      jobSourceChannelIndex   (Int32(0..))
      jobSourcePlatformType   (JmJobSourcePlatformTypeTC)
      submittingServerName   (Octets63)
      submittingApplicationName   (Octets63)
      jobOriginatingHost   (Octets63)
      deviceNameRequested   (Octets63)
      queueNameRequested   (Octets63)
      physicalDevice   (hrDeviceIndex and/or Octets63)
      numberOfDocuments   (Int32(0..))
      fileName   (Octets63)
      documentName   (Octets63)
      jobComment   (Octets63)
      documentFormatIndex   (Int32(0..))
      documentFormat   (PrtInterpreterLangFamilyTC and/or
      Octets63)
     Job Parameter attributes
      jobPriority   (Int32(1..100))
      jobProcessAfterDateAndTime   (DateAndTime)
      jobHoldUntil   (Int32(0..1))
      jobHoldUntil   (Octets63)
      outputBin   (Int32(0..) and/or Octets63)
      sides   (Int32(-2..1))
      finishing   (JmFinishingTC)
     Image Quality attributes (requested and used)
      printQualityRequested   (JmPrintQualityTC)
      printQualityUsed   (JmPrintQualityTC)
      printerResolutionRequested   (JmPrinterResolutionTC)
      printerResolutionUsed   (JmPrinterResolutionTC)
      tonerEcomonyRequested   (JmTonerEconomyTC)
      tonerEcomonyUsed   (JmTonerEconomyTC)
      tonerDensityRequested   (Int32(1..20))
      tonerDensityUsed   (Int32(1..20))
     Job Progress attributes (requested and consumed)
      jobCopiesRequested   (Int32(-2..))
      jobCopiesCompleted   (Int32(-2..))
      documentCopiesRequested   (Int32(-2..))
      documentCopiesCompleted   (Int32(-2..))
      jobKOctetsTransferred   (Int32(-2..))
     Impression attributes (requested and consumed)
      impressionsSpooled   (Int32(-2..))
      impressionsSentToDevice   (Int32(-2..))
      impressionsInterpreted   (Int32(-2..))
      impressionsCompletedCurrentCopy   (Int32(-2..))
      fullColorImpressionsCompleted   (Int32(-2..))
      highlightColorImpressionsCompleted   (Int32(-2..))
     Page attributes (requested and consumed)
      pagesRequested   (Int32(-2..))
      pagesCompleted   (Int32(-2..))
      pagesCompletedCurrentCopy   (Int32(-2..))
     Sheet attributes (requested and consumed)
      sheetsRequested   (Int32(-2..))
      sheetsCompleted   (Int32(-2..))
      sheetsCompletedCurrentCopy   (Int32(-2..))
     Resource attributes (requested and consumed)
      mediumRequested   (JmMediumTypeTC and/or Octets63)
      mediumConsumedName   (Octets63)
      colorantRequested   (Int32(0..) and/or Octets63)
      colorantConsumed   (Int32(0..) amd/or Octets63)
     Time attributes (set by server or device)
      jobSubmissionToServerTime   (JmTimeStampTC and/or
      DateAndTime)
      jobSubmissionToDeviceTime   (JmTimeStampTC and/or
      DateAndTime)
      timeSinceJobWasSubmittedToDevice   (Int32(0..))
      jobStartedBeingHeldTimeStamp   (JmTimeStampTC)
      jobStartedProcessingTime   (JmTimeStampTC and/or
      DateAndTime)
      timeSinceStartedProcessing   (Int32(-2..))
      jobCompletedTime   (JmTimeStampTC and/or DateAndTime)
      timeSinceCompleted   (Int32(-2..))
      jobProcessingCPUTime   (Int32(-2..))

 The General Group (Mandatory)
   jmGeneralNumberOfActiveJobs (Int32(0..))
   jmGeneralOldestActiveJobIndex (Int32(0..))
   jmGeneralNewestActiveJobIndex (Int32(0..))
   jmGeneralJobPersistence (Int32(0..))
   jmGeneralAttributePersistence (Int32(0..))
   jmGeneralJobSetName (Octets63)
 
 The Job ID Group (Mandatory)
   jmJobSubmissionID (OCTET STRING(SIZE(1..32)))
   jmJobSetIndex (Int32(1..32767))
   jmJobIndex (Int32(1..))
 
 The Job Group (Mandatory)
   jmJobState (JmJobStateTC)
   jmJobStateReasons1(JmJobStateReasons1TC)
   jmNumberOfInterveningJobs (Int32(-2..))
   jmJobKOctetsRequested (Int32(-2..))
   jmJobKOctetsProcessed (Int32(-2..))
   jmJobImpressionsRequested (Int32(-2..))
   jmJobImpressionsCompleted (Int32(-2..))
 
 The Attribute Group (Mandatory)
   jmAttributeTypeIndex (JmAttributeTypeTC)
   jmAttributeInstanceIndex (Int32(1..32767))
   jmAttributeValueAsInteger (Int32(-2..))
   jmAttributeValueAsOctets (Octets63)